Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
言程序plus
uni-starter
提交
349ccbc1
U
uni-starter
项目概览
言程序plus
/
uni-starter
与 Fork 源项目一致
Fork自
DCloud / uni-starter
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-starter
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
349ccbc1
编写于
5月 10, 2021
作者:
DCloud_JSON
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
进一步完善文档
上级
ba30b3ab
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
44 addition
and
33 deletion
+44
-33
README.md
README.md
+44
-33
未找到文件。
README.md
浏览文件 @
349ccbc1
...
...
@@ -11,7 +11,9 @@
#### 项目背景
我们一直想出一个结合uni-app、uniCloud和openDB以及uni-id和uniCloud admin等,uni全家桶的项目模板;
为了照顾各类应用的开发者,我们取交集最终罗列了如下功能,发现这些就是除业务逻辑外的项目基本功能并把它命名为
`uni-starter`
。
uni-starter将节省开发者大量的时间,让开发者集中精力在自己的特色业务上。
有了uni-starter,再加上schema2code生成前端页面,一个简单应用就可以快速完成。
uni-starter + uniCloud admin,应用开发从未如此简单快捷!
### 界面效果
<img
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e/c2362519-8131-4071-b08a-8175e11b9341.jpg"
/>
<img
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e/61e0f3d3-d726-4973-865c-e6ee0bdd0870.jpg"
/>
...
...
@@ -32,24 +34,20 @@ img{
</style>
### uni-starter集成的功能包括:
1.
个人中心:登录注册(含用户名密码登录、手机号验证码登录、app一键登陆、微信登录、Apple登录、
支付宝小程序登录)、修改密码、忘记密码、头像更换、昵称修改、积分查看、指纹绑定、退出
1.
个人中心:登录注册(含用户名密码登录、手机号验证码登录、app一键登陆、微信登录、Apple登录、
微信小程序登录)、修改密码、忘记密码、头像更换、昵称修改、积分查看、指纹绑定、退出登陆
2.
设置:App更新(整包升级、wgt升级、强制升级,后台搭配uniCloud admin的升级中心插件管理)、权限引导(app)、推送开关(app)、清除缓存(app)、用户协议、隐私协议(app)、问题与反馈、分享推荐、关于
3.
启动引导:iOS初次启动被用户禁止网络权限后引导开启、Android弹出隐私协议后再申请权限
4.
首页集成banner(后台搭配uniCloud admin的banner插件管理)、搜索、列表、详情、分享,均为云端一体。实际使用中将clientDB的表名更改为自己业务表名即可
5.
首页采用nvue,fast编译模式,加快App端启动速度
6.
内置联网失败的重试页面(不是错误弹框,页面有重试按钮)、更漂亮的分享菜单页面
7.
内置拦截器:
-
网络拦截
-
页面路由拦截,需要登录才能用的,自动跳转到登陆页,登陆后自动继续
-
权限拦截,定位、拍照、相册涉及隐私权限和设备是否开关
8.
h5版支持在页面顶部引导下载App
-
页面路由拦截,配置需强制登陆的页面;打开时检测,如果token无效就自动跳转到登陆页
-
优雅实现:自动引导打开
`选择图片`
所需要的权限。当调用
`uni.chooseImage`
时检测到无权限自动开启引导。并不是在每次调用接口时处理这类问题,你可以参考该例子做更多该类场景的处理。uni-starter也会持续完善
8.
h5版在页面顶部引导用户
`点击下载App`
uni-starter将节省开发者大量的时间,让开发者集中精力在自己的特色业务上。
有了uni-starter,再加上schema2code生成前端页面,一个简单应用就可以快速完成。
uni-starter + uniCloud admin,应用开发从未如此简单快捷!
uni-starter提供了uni-starter.config.js,可指定该应用是否强制登录才能进入首页,可配置选择登录注册方式以及不同方式的优先级等。
配置项内容如下:
#### 应用配置
##### 配置文件
uni-starter提供了uni-starter.config.js,可指定该应用是否强制登录才能进入首页,可配置选择登录注册方式以及不同方式的优先级等。配置项内容如下:
```
module.exports = {
"h5": {
...
...
@@ -67,21 +65,21 @@ module.exports = {
"mp": {
"weixin": {
//微信小程序原始id,微信小程序分享时
"id": "gh_
33446d7f7a26
"
"id": "gh_
132465798
"
}
},
"router": {
//配置需要路由拦截的页面地址,在打开这些页面之前会自动检查(
不联网)uni_id_token的值是否存在/过期等
//配置需要路由拦截的页面地址,在打开这些页面之前会自动检查(
无需联网)uni_id_token的值,如果token无效就自动跳转到登陆页
"needLogin": [
"/pages/ucenter/userinfo/userinfo",
"/uni_modules/uni-news-favorite/pages/uni-news-favorite/list",
"/pages/ucenter/userinfo/uploadCutImageToUnicloud"
],
"login": ["smsCode","uni
V
erify", "username", "weixin", "apple"],
"login": ["smsCode","uni
v
erify", "username", "weixin", "apple"],
/*
根据数组的第0项,决定登陆方式的第一优先级
。
未列举到的,或设备环境不支持的选项,
将被隐藏。
如果你需要在不同平台有不同的配置,直接用条件编译即可
这里会根据数组的第0项,决定登陆方式的第一优先级是哪种登陆方式
。
所有你希望拥有的登陆方式这里都需要一一列举,未列举到的或设备环境不支持的登陆方式
将被隐藏。
如果你需要在不同平台有不同的配置,直接用条件编译即可
。
*/
},
//关于应用
...
...
@@ -115,8 +113,15 @@ module.exports = {
}
```
##### 模块配置
为了你可以快速体验uni-starter需要配置以下模块
1.
Fingerprint 指纹识别
2.
push消息推送
3.
OAuth登陆模块
1.
一键登陆univerify
2.
苹果登陆 Sign in with Apple
3.
微信登陆
### 应用配置
#### 目录结构
<pre>
uni-starter
...
...
@@ -216,6 +221,8 @@ uni-starter
-
升级中心相关
+
`manifest.json`
基础配置 --> 应用版本名称 和 应用版本号
+
更多
`uni-upgrade-center`
的介绍
[
详情
](
https://uniapp.dcloud.io/uniCloud/upgrade-center
)
-
开通一键登录
### 应用启动时序介绍
文件路径: App.vue
...
...
@@ -227,19 +234,20 @@ uni-starter
}
}
```
1.
onLaunch还执行了initApp()包含以下操作
onLaunch生命周期执行了
1.
全局监听clientDB的err事件,
-
判断是否为token过期失效等需要重新登陆的问题。自动跳转到登陆页面
-
检测本地的token是否有效(存在且并未过期)否则跳转到登陆页面
2.
预登陆一键登录功能
3.
执行了initApp()包含以下操作
1.
读取uni-starter.config并挂载到globalData的config下
2.
读取应用版本号,并存到globalData下。
3.
检查是否有可更新的应用版本。
4.
网络的变化与toast方式提醒
5.
使用
[
拦截器
](
https://uniapp.dcloud.io/api/interceptor?id=addinterceptor
)
实现了,
-
强制登陆路由拦截。
-
摄像头/相册权限,引导跳到设置界面
2.
onLaunch还执行了:
1.
全局监听clientDB的err事件,
-
判断是否为token过期失效等需要重新登陆的问题。自动跳转到登陆页面
-
检测本地的token是否有效(存在且并未过期)否则跳转到登陆页面
2.
预登陆一键登录功能
2.
读取应用版本号,并存到globalData下
3.
检查是否有可更新的应用版本,决定是否启动在线更新版本
4.
监听设备的网络变化并以uni.showToast APi的方式提醒用户
5.
使用
[
拦截器
](
https://uniapp.dcloud.io/api/interceptor?id=addinterceptor
)
实现
-
页面路由拦截,配置需强制登陆的页面;打开时检测,如果token无效就自动跳转到登陆页
-
优雅实现:自动引导打开
`选择图片`
所需要的权限。当调用
`uni.chooseImage`
时检测到无权限自动开启引导。并不是在每次调用接口时处理这类问题,你可以参考该例子做更多该类场景的处理。uni-starter也会持续完善
## 快速体验部署流程
#### 1. 开通uniCloud
-
开通
`uniCloud`
:本项目是云端一体的,它的云端代码需要部署在uniCloud云服务空间里,需要开通uniCloud。在
[
https://unicloud.dcloud.net.cn/
](
https://unicloud.dcloud.net.cn/
)
登录,按云厂商要求进行实名认证。
...
...
@@ -259,8 +267,11 @@ img.cloud{
float:left
}
</style>
#### 3. 真机运行
注意:真机运行需要制作自定义基座,制作后选择运行到自定义基座.
### 注意事项
1.
真机运行需要制作自定义基座,制作后选择运行到自定义基座
2.
苹果登陆的图标,需要满足苹果应用市场的审核规范请勿随便修改;如需修改请先阅读:
[
Human Interface Guidelines
](
https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/overview/buttons/
)
3.
应用登陆功能,默认不勾选同意隐私权限是响应安卓应用市场的规范;请勿修改该逻辑。
### FAQ:常见问题
1.
提示“公共模块uni-id缺少配置信息”解决方案:在cloudfunctions右键‘上传所有云函数、公共模块及actions’之后,需要在cloudfunctions--》common--》uni-config-center 目录单独上传一次,右键‘上传公共模块’。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录