> base app目前还处于内测阶段,内测QQ群号:869926521,欢迎大家加入!内测期间享受有疑问实时解答的福利。
### 介绍
`base app`,是一个云端一体的、集成了商用项目开发常见功能的项目模板。
如果说uniCloud admin是管理端项目的基础模板,那么base app则是用户端、尤其是移动端的基础模板。
在HBuilderX新建项目时选择base app项目模板,在这个模板基础之上快速填充自己的业务,即可很快完成一个应用。
地址:[https://gitee.com/dcloud/base-app](https://gitee.com/dcloud/base-app)
#### 项目背景
我们一直想出一个结合uni-app、uniCloud和openDB以及uni-id和uniCloud admin等,uni全家桶的项目模板;
为了照顾各类应用的开发者,我们取交集最终罗列了如下功能,发现这些就是除业务逻辑外的项目基本功能并把它命名为`base app`。
### 界面效果
cloudfunctions ├─────common 公共模块 │ └─uni-config-center // baseapp的服务端配置中心,项目所有云函数的配置在这里填写 │ ├─index.js // config-center入口文件 │ └─uni-id // 插件uni-id对应的目录 │ ├─config.json // uni-id对应的配置文件 │ └─file.cert // uni-id依赖的其他文件,假如你使用微信发红包功能,需要的证书文件就是放到这里 ├─ baseconfig // baseapp的前端的配置文件,项目所有模块的配置在这里填写。详见该文件的代码注释。 └─ manifest.json // 配置应用名称、appid、logo、版本等打包信息,[详情](https://uniapp.dcloud.io/collocation/manifest)完整的uni-app目录结构[详情](https://uniapp.dcloud.io/frame?id=%e7%9b%ae%e5%bd%95%e7%bb%93%e6%9e%84) #### 按功能模块 - 登陆模块 + `manifest.json` App模块配置 --> OAuth(登录鉴权)--> 勾选并配置你所需要的模块 + 登陆方式的优先级和登陆项(支持多平台条件编译)详情配置文件:`baseconfig`的`router -> login` + 服务端配置详情:`/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json` + 更多`uni-config-center`的介绍 [详情](https://ext.dcloud.net.cn/plugin?id=4425) - 分享模块 + `manifest.json` App模块配置 --> Share(分享)--> 勾选并配置你所需要的模块 + 分享功能配置参数,随着应用的业务场景决定,在各场景调用的时候配置。参考base app的`/pages/list/detail.vue`的`methods -> shareClick` + 更多`uni-share`的介绍 [详情](https://ext.dcloud.net.cn/plugin?id=4860) - 升级中心相关 + `manifest.json` 基础配置 --> 应用版本名称 和 应用版本号 + 更多`uni-upgrade-center`的介绍 [详情](https://uniapp.dcloud.io/uniCloud/upgrade-center) ### 时序介绍 1. 初始化应用执行appInit 1. 读取baseapp.config并挂载到globalData的config下 2. 读取应用版本号,并存到globalData下。 3. 检查是否有可更新的应用版本。 4. 使用[拦截器](https://uniapp.dcloud.io/api/interceptor?id=addinterceptor) 实现了, - 强制登陆路由拦截。 - 摄像头/相册权限,引导跳到设置界面 2. 全局监听 1. 网络的变化与toast方式提醒 2. clientDB的err事件, - 判断是否为token过期失效等需要重新登陆的问题。自动跳转到登陆页面 - 检测本地的token是否有效(存在且并未过期)否则跳转到登陆页面 3. 预登陆一键登录功能 ## 快速体验部署流程 #### 1. 开通uniCloud - 开通`uniCloud`:本项目是云端一体的,它的云端代码需要部署在uniCloud云服务空间里,需要开通uniCloud。在[https://unicloud.dcloud.net.cn/](https://unicloud.dcloud.net.cn/)登录,按云厂商要求进行实名认证。 - 在uniCloud认证通过后,创建一个服务空间给本项目使用。选择阿里云或腾讯云均可。[参考](https://uniapp.dcloud.net.cn/uniCloud/price) - 使用HBuilderX 3.1以上版本(最好是最新版),把本项目导入到HBuilderX中,在项目根目录uniCloud上点右键菜单,关联服务空间 -> 选择之前创建的服务空间 #### 2. 关联项目与云服务空间