Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
言程序plus
uni-starter
提交
91f7dc9c
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看板
提交
91f7dc9c
编写于
5月 07, 2021
作者:
DCloud_JSON
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
继续完善文档
上级
af23fac3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
182 addition
and
23 deletion
+182
-23
README.md
README.md
+182
-23
未找到文件。
README.md
浏览文件 @
91f7dc9c
> base app目前还处于内测阶段,内测QQ群号:869926521,欢迎大家加入!内测期间享受有疑问实时解答的福利。
### ps:文档处于完善过程中
### 介绍
`base app`
,是一个云端一体的、集成了商用项目开发常见功能的项目模板。
如果说uniCloud admin是管理端项目的基础模板,那么base app则是用户端、尤其是移动端的基础模板。
...
...
@@ -42,23 +44,165 @@ img{
-
权限拦截,定位、拍照、相册涉及隐私权限和设备是否开关
8.
h5版支持在页面顶部引导下载App
base app提供了baseapp.config.js,可指定该应用是否强制登录才能进入首页,可配置选择登录注册方式以及不同方式的优先级。
base app将节省开发者大量的时间,让开发者集中精力在自己的特色业务上。
有了base app,再加上schema2code生成前端页面,一个简单应用就可以快速完成。
base app + uniCloud admin,应用开发从未如此简单快捷!
base app提供了baseapp.config.js,可指定该应用是否强制登录才能进入首页,可配置选择登录注册方式以及不同方式的优先级等。
```
module.exports = {
"h5": {
"url": "https://static-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e.bspapp.com", // 前端网页托管的域名
// 在h5端全局悬浮引导用户下载app的功能 更多自定义要求在/common/openApp.js中修改
"openApp": {
//点击悬浮下载栏后打开的网页链接
"openUrl": 'https://sj.qq.com/myapp/detail.htm?apkName=com.tencent.android.qqdownloader&info=6646FD239A6EBA9E2DEE5DFC7E18D867',
//左侧显示的应用名称
"appname": 'base-app',
//应用的图标
"logo": './static/logo.png',
}
},
"mp": {
"weixin": {
//微信小程序原始id,微信小程序分享时
"id": "gh_33446d7f7a26"
}
},
"router": {
//配置需要路由拦截的页面地址,在打开这些页面之前会自动检查(不联网)uni_id_token的值是否存在/过期等
"needLogin": [
"/pages/ucenter/userinfo/userinfo",
"/uni_modules/uni-news-favorite/pages/uni-news-favorite/list",
"/pages/ucenter/userinfo/uploadCutImageToUnicloud"
],
"login": ["smsCode","uniVerify", "username", "weixin", "apple"],
/*
根据数组的第0项,决定登陆方式的第一优先级。
未列举到的,或设备环境不支持的选项,将被隐藏。
如果你需要在不同平台有不同的配置,直接用条件编译即可
*/
},
//关于应用
"about": {
//应用名称
"appName": "base-app",
//应用logo
"logo": "/static/logo.png",
//公司名称
"company": "数字天堂(北京)网络技术有限公司",
//口号
"slogan": "为开发而生",
//政策协议
"agreements": [{
"title": "用户服务协议", //协议名称
"url": "https://ask.dcloud.net.cn/protocol.html" //对应的网络链接
},
{
"title": "隐私政策",
"url": "https://ask.dcloud.net.cn/protocol.html"
}
],
//应用的链接,用于分享到第三方平台和生成关于我们页的二维码
"download": "https://m3w.cn/uniapp"
},
//用于打开应用市场评分界面
"marketId":{
"ios":"id1417078253",
"android":"123456"
}
}
```
### 应用配置
#### 目录结构
<pre>
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
)
base-app
├─uniCloud-aliyun
│ ├─cloudfunctions 云函数目录
│ | ├─common 公共模块
│ │ | ├─uni-config-center baseapp的服务端配置中心,项目所有云函数的配置在这里填写
│ │ | | ├─index.js config-center入口文件
│ │ | | └─uni-id uni-id模块配置目录
│ │ | | ├─config.json uni-id对应的配置数据
│ │ | | └─file.cert uni-id依赖的配置文件,假如你使用微信发红包功能,需要的证书文件就是放到这里
│ | | └───uni-id uni-id用户体系
<a
target=
"_blank"
href=
"https://uniapp.dcloud.io/uniCloud/uni-id"
>
详情
</a>
│ | ├─uni-analyse-searchhot 云端一体搜索模板依赖的云函数
<a
target=
"_blank"
href=
"https://ext.dcloud.net.cn/plugin?id=3851"
>
详情
</a>
│ | └─user-center 用户中心云函数,实现用户注册、修改密码、发送验证码、快捷登录(微信、短信、账户、一键登录)
│ └──database 云数据目录
│ ├─db_init.json db_init.json初始化数据库文件,其中不再包含schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/hellodb?id=db-init"
>
详情
</a>
│ ├─opendb-app-versions.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─opendb-banner.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─opendb-feedback.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─opendb-news-articles.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─opendb-news-categories.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─opendb-news-comments.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─opendb-news-favorite.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─opendb-search-hot.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─opendb-search-log.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─opendb-verify-codes.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─read-news-log.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─uni-id-log.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ ├─uni-id-scores.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
│ └─uni-id-users.schema.json 数据表xxx的DB Schema
<a
target=
"_blank"
href=
"https://uniapp.dcloud.net.cn/uniCloud/schema"
>
详情
</a>
├─pages 业务页面文件存放的目录
│ ├─common
│ │ └─webview webview目录
│ │ └─webview.vue webview页面 用于实现跨端的web页面浏览
│ ├─grid
│ │ └─grid.vue grid页面
│ ├─list
│ │ ├─list.vue list页面
│ │ ├─search
│ │ │ └─search
│ │ └─detail.vue
│ ├─ucenter
│ │ ├─about
│ │ │ └─about
│ │ ├─login-page 登陆模块
│ | | ├─common
│ │ │ │ ├─login-page.css
│ │ │ │ ├─login-page.mixin.js
│ │ │ │ └─loginSuccess.js
│ | | ├─index
│ | | ├─phone-code
│ | | ├─pwd-login
│ | | ├─pwd-retrieve
│ | | ├─pwd-retrieve
│ │ │ └─register
│ │ │ ├─validator.js
│ │ │ └─register.vue
│ │ ├─read-news-log
│ │ │ └─read-news-log
│ │ ├─settings
│ │ │ ├─dc-push
│ │ │ │ └─push.js
│ │ │ └─settings.vue
│ │ ├─userinfo
│ │ │ ├─bind-mobile
│ │ │ │ └─bind-mobile.vue
│ │ │ ├─limeClipper
│ │ │ │ ├─images
│ │ │ │ │ ├─photo.svg
│ │ │ │ │ └─rotate.svg
│ │ │ │ ├─index.css
│ │ │ │ ├─limeClipper.vue
│ │ │ │ ├─README.md
│ │ │ │ └─utils.js
│ │ │ ├─main.js
│ │ │ ├─uploadCutImageToUnicloud.vue
│ │ │ └─userinfo.vue
│ | └─ucenter.vue
│ |
├─static 存放应用引用的本地静态资源(如图片、视频等)的目录,
<b>
注意:
</b>
静态资源只能存放于此
├─uni_modules 存放
[
uni_module
](
/uni_modules
)
规范的插件。
├─main.js Vue初始化入口文件
├─App.vue 应用配置,用来配置App全局样式以及监听
<a
href=
"/collocation/frame/lifecycle?id=应用生命周期"
>
应用生命周期
</a>
├─baseconfig baseapp的前端的配置文件,项目所有模块的配置在这里填写。详见该文件的代码注释。
├─manifest.json 配置应用名称、appid、logo、版本等打包信息,
<a
href=
"/collocation/manifest"
>
详见
</a>
└─pages.json 配置页面路由、导航条、选项卡等页面类信息,
<a
href=
"/collocation/pages"
>
详见
</a>
</pre>
完整的uni-app目录结构
[
详情
](
https://uniapp.dcloud.io/frame?id=%e7%9b%ae%e5%bd%95%e7%bb%93%e6%9e%84
)
#### 按功能模块
...
...
@@ -76,19 +220,28 @@ cloudfunctions
+
更多
`uni-upgrade-center`
的介绍
[
详情
](
https://uniapp.dcloud.io/uniCloud/upgrade-center
)
### 应用启动时序介绍
1.
初始化应用执行appInit
文件路径: App.vue
```
import initApp from '@/common/appInit.js';
export default {
onLaunch: function() {
initApp();
}
}
```
1.
onLaunch还执行了initApp()包含以下操作
1.
读取baseapp.config并挂载到globalData的config下
2.
读取应用版本号,并存到globalData下。
3.
检查是否有可更新的应用版本。
4.
使用
[
拦截器
](
https://uniapp.dcloud.io/api/interceptor?id=addinterceptor
)
实现了,
4.
网络的变化与toast方式提醒
5.
使用
[
拦截器
](
https://uniapp.dcloud.io/api/interceptor?id=addinterceptor
)
实现了,
-
强制登陆路由拦截。
-
摄像头/相册权限,引导跳到设置界面
2.
全局监听
1.
网络的变化与toast方式提醒
2.
clientDB的err事件,
2.
onLaunch还执行了:
1.
全局监听clientDB的err事件,
-
判断是否为token过期失效等需要重新登陆的问题。自动跳转到登陆页面
-
检测本地的token是否有效(存在且并未过期)否则跳转到登陆页面
3
.
预登陆一键登录功能
2
.
预登陆一键登录功能
## 快速体验部署流程
#### 1. 开通uniCloud
-
开通
`uniCloud`
:本项目是云端一体的,它的云端代码需要部署在uniCloud云服务空间里,需要开通uniCloud。在
[
https://unicloud.dcloud.net.cn/
](
https://unicloud.dcloud.net.cn/
)
登录,按云厂商要求进行实名认证。
...
...
@@ -96,13 +249,19 @@ cloudfunctions
-
使用HBuilderX 3.1以上版本(最好是最新版),把本项目导入到HBuilderX中,在项目根目录uniCloud上点右键菜单,关联服务空间 -> 选择之前创建的服务空间
#### 2. 关联项目与云服务空间
<img
style=
"width:50vw"
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e/f3f36e4a-77e6-495c-bb85-5fc6999e29e1.jpg"
/>
<img
style=
"width:50vw"
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e/dd39dfcc-60c8-4f9f-a4d7-6b08f39e737e.jpg"
/>
<img
style=
"width:50vw"
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e/350f5e46-976e-4c5b-be49-e5c3908b03f4.jpg"
/>
#### 5. 真机运行
<img
class=
"cloud"
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e/f3f36e4a-77e6-495c-bb85-5fc6999e29e1.jpg"
/>
<img
class=
"cloud"
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e/dd39dfcc-60c8-4f9f-a4d7-6b08f39e737e.jpg"
/>
<img
class=
"cloud"
src=
"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-76ce2c5e-31c7-4d81-8fcf-ed1541ecbc6e/350f5e46-976e-4c5b-be49-e5c3908b03f4.jpg"
/>
<div
style=
"clear: both;"
></div>
<style>
img.cloud{
box-shadow:0 0 2px #eeeeee;
width:400px;
margin:15px 5vw 0 0;
float:left
}
</style>
#### 3. 真机运行
注意:真机运行需要制作自定义基座,制作后选择运行到自定义基座.
### FAQ:常见问题
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录