uni-app,Vue、SASS、Vue CLI、Webpack、miniprogram-ci等
Studio | UED |
---|---|
浅子艺术工作室,一个致力于视觉影像与工程研究的实验室、工作室(以下微信扫码或搜一搜)
Miniprogram | Home | Creative | Works | About |
---|---|---|---|---|
一页日历 • 精美壁纸库 RSS
AI 精选全球视觉与摄影艺术,伴你每天好心情 ?
Miniprogram | Home | About | Creator | AI日报 |
---|---|---|---|---|
悦读精致生活,亲手DIY你的家 ?
Miniprogram | Home | About |
---|---|---|
一款集齐才华(规范)与颜值(专业)的用户体验设计语言
Miniprogram | Home | Components | About |
---|---|---|---|
仓库 | 百度版 | 头条版 | 微信版 |
---|---|---|---|
内网 |
VSCode + 小程序IDE + HbuilderX(可选,可通过修改目录,与cli方式切换) VSCode开发,HbuilderX实时编译(可视化菜单操作),小程序IDE实时预览 cd projectName => git clone 此项目 => 基于此项目进行业务开发;
工具,先下载各平台开发工具(IDE)https://uniapp.dcloud.io/quickstart
在 Hbuilder 中导入当前项目(uni-app 类型),修改或更新当前配置,manifest.json 和 pages.json(尤其注意要添加对应平台的 appid,在开发者后台配置 request、downloadFile 域名);
配置插件,菜单栏点击插件管理可以安装当前项目所需要的插件和 loader,(scss、babel、es6 等),yarn(步骤 3 不分先后);
菜单栏【运行】到对应开发的平台,不习惯当前IDE的可以切换到VSCode,同步开发,实时编译;
持续集成参考文档:https://ask.dcloud.net.cn/article/35750
vue-cli 版更新频率较高,当需要使用一些新特性时可以转换为 vue-cli 工程
步骤:
小程序方向会有主包、子包、插件(后续支持)的不同产物,h5方向会有不同路由模式(history、hash)的配置
一:主包模式
二:子包模式 在 HBuilderX 3.1.0+ 中点击发行小程序的菜单,勾选发行混合分包,填写分包目录名称,打包后,将对应目录文件拷贝至已有小程序中,需要自己补充原小程序app.json中的页面或分包配置 注意:
vue.config.js 里可以定制相关环境产物路径
一:主包模式 yarn build:mp-weixin
二:子包模式
备注:npm run均可以换成yarn使用
├── uniapp-scaffold # your project name
│ ├── /config/ # 业务基础/全局/国际化/皮肤配置等
│ ├── /components/ # 公共组件库: 基础 + 部分高复用业务组件
│ ├── /mixins/ # index已默认全局混入,其他可按需业务自行注入
│ ├── /pages/ # 主要业务页面(index.vue + index.scss)
│ ├── /services/ # 服务Service,建议按照业务模块拆分
│ ├── /styles/ # 全局样式 => core + mixin + function + theme...
│ ├── /store/ # 数据流(globalApp、业务数据等)
│ ├── /static/ # 项目图片、图标、字体及静态资源CDN、tabBar等
│ ├── /utils/ # lib、request、tool等
│ ├── /node_modules/ # npm依赖包
│ ├── /uni_modules/ # 存放[uni_module](/uni_modules)规范的插件
│ ├── /unpackage/ # 编译后多个平台的源码(dev开发版、dist生产版)
│ ├── /wxcomponents/ # 存放小程序组件的目录
│ ├── /platforms/ # 存放各平台专用页面的目录,[详见](https://uniapp.dcloud.io/platform?id=整体目录条件编译)
│ │──page.json # 配置页面路由、导航条、选项卡等页面类信息
│ │──manifest.json # 配置应用名称、appid、logo、版本等打包信息
│ │──main.js # Vue初始化入口文件
│ │──App.vue # 应用配置,用来配置App全局样式以及监听应用生命周期
?
AdUI:Asako(浅子,作者的Home) Design(用户体验设计中心)旗下的UI组件库
一款集才华(规范)与颜值(专业)的用户体验设计组件库(基于微信视觉规范进一步封装的组件)
全局组件(@/components目录下)已开启easycom模式,可以不用像传统vue组件那样安装、引用、注册,可以直接在业务中使用(ad-xxx)
* 基础组件
+ ad-button
+ ad-avatar
+ ad-icon
+ ad-badge
+ ad-mask(遮罩,可自定义slot content及position)
+ ad-tag
+ ad-tips
+ ad-actionsheet(浮动面板,支持更强大的配置和淡入淡出动画)
+ ad-card
+ ad-spin(支持svg、img、css loading)
+ ad-calender(日历)
+ ad-text-animate(文字渐变动画)
+ ad-countup(数字递增及动画)
+ ad-tree(树结构)
* 业务组件
+ ad-author(一条数据/一个作者的丰富场景,头像、title、描述、额外插槽等)
+ ad-skeleton(骨架屏)
+ ad-status(状态结果页)
+ ad-swiper(3D画廊幻灯片)
+ ad-sticky(滑动固定器)
+ ad-navbar(自定义导航栏)
+ ad-clock(计时器)
+ ad-interact(互动)
+ ad-map(个性化地图)
+ Poster(分享海报插件/wxcomponents/wxa-plugin-canvas)
+ more...
* 图表组件
+ ad-charts(支持个性化配置config/charts,类型支持折线图、柱状图、饼图等10+种)
// 使用方式
可以在任何视图层页面以ad-xxx引用
// 使用方式
* services层(新建yourpage.js)
import config from "@/config";
import http from "@/utils/request";
const { request } = http;
/* request层做了统一api host拼接url,若覆盖只需自定义baseUrl或在config/index.js自定义hostKey,业务层传参使用 */
// 某推荐列表
export function getAlbumListSvc(query = {}) {
return request({
// hostKey: 'monkey' // @/config hosts下配置对应key(自定义host时推荐方式,优于baseUrl)
// baseUrl: config.yourkey, // 自定义请求host,不指定会走默认api
url: "/your-api-path",
method: "post", // 'get'可省略
data: {
page: 1,
size: 10
...query
}
});
}
* pages业务层
import * as Services from "@/services/home";
export default {
data() {
return {
entry: []
}
},
onLoad(options) {
// 若需要参数可从options取然后传入query
this.getAlbumList(query = {})
},
methods() {
async getAlbumList() {
let res = await Services.getAlbumListSvc();
if(res.ok) {
this.entry = res.data;
}
}
}
}
如果您有相关疑问和反馈,请移步Github提issue,开发者会第一时间收到通知并及时跟进问题; 如果您有业务或技术设计合作意向,或者日常交流意向,可以联系下方开发者,备注uniapp社区,进群;
Creator | Group | Sponsor |
---|---|---|
MIT