diff --git a/README.md b/README.md index 674468db9534e4172a523c01e4582b9c51ebd506..b85abbab86049d9da667b3b8ab275e03d87982d7 100644 --- a/README.md +++ b/README.md @@ -4,38 +4,49 @@ #### 简介 -`uni-starter`,是一个集成了大量商用项目常见功能的,云端一体应用快速开发基本项目模版。 +`uni-starter`是一个集成了大量商用项目常见功能的,云端一体应用快速开发基本项目模版。 -APP有很多通用的功能,比如登录注册、头像、设置、拦截器、banner...`uni-starter`将这些功能都已经集成好。 +APP有很多通用的功能,比如登录注册、头像、设置、banner、...`uni-starter`将这些功能都已经集成好。 -在hbuilderx新建项目选择`uni-starter`模板,即可在此基础上快速开发自己的特色业务。 +直接在`hbuilderx`新建项目选择`uni-starter`模板,即可在此基础上快速开发自己的特色业务。 -有了uni-starter,再加上schema2code生成前端页面,一个简单应用就可以快速完成。 +有了`uni-starter`,再加上`schema2code`生成前端页面,一个简单应用就可以快速完成。 -如果说[uniCloud admin](https://uniapp.dcloud.io/uniCloud/admin)是管理端项目的基础模板,那么uni-starter则是用户端、尤其是移动端的基础项目模板。 +如果说[uniCloud admin](https://uniapp.dcloud.io/uniCloud/admin)是管理端项目的基本项目模版,那么uni-starter则是用户端、尤其是移动端的基础项目模板。 -uni-starter + uniCloud admin,提供了用户端和管理端的基础模板,应用开发从未如此简单快捷! +`uni-starter` + `uniCloud admin` 提供了用户端和管理端的基本项目模版,应用开发从未如此简单快捷! ##### 扫码体验:h5版演示效果(链接:[https://uni-starter.dcloud.net.cn](https://uni-starter.dcloud.net.cn)) ### uni-starter集成的功能包括: - 1. 用户账户:登录注册(含用户名密码登录、手机号验证码登录、app一键登录、微信登录、Apple登录、微信小程序登录)、修改密码、忘记密码、头像更换(集成图片裁剪)、昵称修改、积分查看、退出登录 - 2. 设置:App更新(整包升级、wgt升级、强制升级,后台搭配uniCloud admin的升级中心插件管理)、推送开关(app)、指纹解锁(app)、人脸解锁(app)、清除缓存(app)、用户协议、隐私协议、问题与反馈、分享推荐、关于 - 3. 启动引导:iOS初次启动被用户禁止网络权限后引导开启、Android弹出隐私协议后再申请权限 - 4. 权限引导:应用无访问摄像头/相册权限,引导跳到设置界面 - 5. 首页集成banner(后台搭配uniCloud admin的banner插件管理)、搜索、列表、详情、分享,均为云端一体。实际使用中将clientDB的表名更改为自己业务表名即可 + 1. 用户管理: + - 登录注册(用户名密码登录、手机号验证码登录、APP一键登录、微信登录、Apple登录、微信小程序登录) + - 修改密码、忘记密码、头像更换(集成图片裁剪)、昵称修改、积分查看、退出登录 + 2. 系统设置: + - App更新(整包升级、wgt升级、强制升级,后台搭配uniCloud admin的升级中心插件管理) + - 推送开关(app)、指纹解锁(app)、人脸解锁(app)、清除缓存(app) + - 用户协议、隐私协议、问题与反馈、分享推荐、关于 + 3. 隐私权限:内置Android先弹出隐私协议对话框,然后再向用户申请设备权限 + 4. 权限引导: 摄像头、相册、获取GPS定位、网络2/3/4/5G和Wi-Fi + - 更好的用户体验:当应用缺某个权限时,实现引导用户可通过“一键跳转至手机系统设置”中开启。而不是报错让用户自己去找解决方案 + - 高内聚低耦合:直接在应用启动时,应用拦截器中实现。免去在每个业务代码中处理这类问题,更优雅更方便。 + * 你可以参考这些实现,做更多该类场景的处理。uni-starter也会持续完善 + 5. 实用功能 + - `banner`(后台搭配uniCloud admin的banner插件管理) + - 新闻的搜索、列表、详情、分享。通过`clientDB`实现,开发者直接修改定义的表名等参数,即可轻松改为自己的业务 + - 可覆盖原生层的`分享菜单` + - 营销裂变:点击“分销推荐”,生成带用户inviteCode参数的应用下载页(H5),一键分享到微信或微信朋友圈等。被邀请人打开下载页面点击下载,设备剪贴板的内容会被设置为邀请者的inviteCode。被邀请人下载app之后通过任何方式登陆(含:注册并登陆),uni-starter框架会自动获取设备剪切板中的inviteCode提交到服务端绑定关联关系。 6. 首页采用nvue,fast编译模式,加快App端启动速度 - 7. 内置联网失败的重试页面(不是错误弹框,页面有重试按钮)、更漂亮的分享菜单页面 - 8. 内置拦截器: + 7. 内置拦截器: - 页面路由拦截,配置需强制登录的页面;打开时检测,如果token无效就自动跳转到登录页 - - 优雅实现:自动引导打开`选择图片`所需要的权限。当调用`uni.chooseImage`时检测到无权限自动开启引导。并不是在每次调用接口时处理这类问题,你可以参考该例子做更多该类场景的处理。uni-starter也会持续完善 - 9. h5版在页面顶部(全局悬浮)引导用户`点击下载App` - 10. 营销裂变:点击“分销推荐”,生成带用户inviteCode参数的应用下载页(H5),一键分享到微信或微信朋友圈等。被邀请人打开下载页面点击下载,设备剪贴板的内容会被设置为邀请者的inviteCode。被邀请人下载app之后通过任何方式登陆(含:注册并登陆),uni-starter框架会自动获取设备剪切板中的inviteCode提交到服务端绑定关联关系。 - 11. 自动完成: - - 自动重连由网络导致失败的请求。操作注册/登陆操作自动获取客户端设备:push_clientid、imei、oaid、idfa新增/更新到数据表uni-id-device + - 调用云函数(callFunction)拦截器,自动携带必要参数、自动处理响应体。详见9.自动完成1-2 + 8. h5版在页面顶部(全局悬浮)引导用户`点击下载App` + 9. 自动完成: + - 分析uniCloud.callfunction和clientDB操作的响应体,判断code执行对应的操作如跳转到登陆页,自动续期token + - 操作注册/登陆操作自动获取客户端设备:push_clientid、imei、oaid、idfa新增/更新到数据表uni-id-device + - 异常恢复处理:断网恢复后自动重连“因网络错误导致的”网络请求 - 为迎合苹果App Store的规则,登陆与分享功能项显示之前自动检测是否安装了对应客户端。比如:设备未安装微信则不显示微信快捷登陆和微信分享选项 - - 分析uniCloud.callfunction和clientDB操作的响应体,判断code执行对应的操作如跳转到登陆页,自动续期token * 更多功能模块会不断更新,请持续关注本插件 @@ -296,6 +307,7 @@ uni-starter + uniCloud admin,提供了用户端和管理端的基础模板, - 插件升级 非项目类型的uni_modules插件,是项目根目录下的uni_modules目录下。以插件ID为插件文件夹命名,在该目录右键也会看到“从插件市场更新”选项,点击即可更新该插件。 + #### 13.多语言国际化 uni-starter支持多语言国际化。默认开启,可以在`uni-starter.config.js`->`i18n`->`enable`中配置