提交 6c5869dc 编写于 作者: C chenruilong

docs: update uni-id-pages.md

上级 f5471411
......@@ -37,7 +37,7 @@
- 用户服务协议和隐私政策条款授权
# 目录结构
## 目录结构
<pre v-pre="" data-lang="">
<code class="lang-" style="padding:0">
├─uni_modules 存放[uni_module](/uni_modules)规范的插件。
......@@ -103,10 +103,10 @@
│ └─readme.md 插件自述文件
</code>
</pre>
完整的uni-app目录结构[详情查看](https://uniapp.dcloud.io/frame?id=%e7%9b%ae%e5%bd%95%e7%bb%93%e6%9e%84)
**完整的uni-app目录结构[详情查看](https://uniapp.dcloud.io/frame?id=%e7%9b%ae%e5%bd%95%e7%bb%93%e6%9e%84)
# 前端页面
## 初始化
## 前端页面
### 初始化
需要在App.vue中初始化`uni-id-pages``init.js`文件
示例代码如下:
......@@ -128,7 +128,7 @@
</script>
```
## 配置@config
### 配置@config
路径:`/uni_modules/uni-id-pages/config.js`
|字段 |类型 |描述 |
......@@ -261,7 +261,7 @@ export default {
|medium |String |中:密码必须为字母、数字和特殊符号任意两种的组合,长度范围:8-16位之间|
|weak |String |弱:密码必须包含字母和数字,长度范围:6-16位之间 |
## 页面介绍
### 页面介绍
`uni-id-pages`包含:账号注册、免密登录、头像更换、修改昵称、绑定手机号码、找回密码、注销账号等页面。[插件地址](https://ext.dcloud.net.cn/plugin?name=uni-id-pages)
项目中常有打开登录页面的需求,这里对登录页面展开介绍;包括两类登录方式:
......@@ -281,7 +281,7 @@ uni.navigateTo({
可以配套使用[uniIdRouter](uni-id-summary.md#uni-id-router);当用户未登录,但访问了需强制登录的页面,或接口提示token无效或过期(响应体以TOKEN_INVALID开头)时均需要打开登录页面。你需要把以上两个路径路径定义为`loginPage`
# 云对象(uni-id-co)
## 云对象(uni-id-co)
uni-id-co是uni-id-pages的核心云对象,包含了诸多用户相关的接口。作为uni-id体系的一部分,uni-id-co也使用uni-id的配置文件(`cloudfunctions/common/uni-config-center/uni-id/config.json`)。**目前此云对象依赖了一些客户端信息,暂不支持url化调用,后续会提供url化方案。**
......@@ -291,7 +291,7 @@ uni-id-co是uni-id-pages的核心云对象,包含了诸多用户相关的接
const uniIdCo = uniCloud.importObject('uni-id-co')
```
## 目录说明
### 目录说明
```text
├─common // 公用逻辑
......@@ -305,7 +305,7 @@ const uniIdCo = uniCloud.importObject('uni-id-co')
└─module // 分模块存放的云对象方法
```
## 公共响应参数@co-public-response
### 公共响应参数@co-public-response
`uni-id-co`所有api返回值均满足[uniCloud响应体规范](cf-functions.md#resformat)
......@@ -327,7 +327,55 @@ const uniIdCo = uniCloud.importObject('uni-id-co')
- 需要校验token的接口在token即将过期时也会返回newToken,token即将过期的阈值由开发者自行配置
## API列表
### 适配URL化@adapter-http
`uni-id-pages@1.0.29`版本起支持URL化 [什么是URL化](uniCloud/http.html#cloudobject)
调用规范:
1. HTTP 请求头中的`Content-Type`必须为`application/json`,请求方法必须是`POST`, 如不满足条件将会返回 `uni-id-unsupported-request` 错误码
2. 请求体需按照以下格式:
```json
{
"clientInfo": {},
"uniIdToken": "",
"params": {}
}
```
字段说明
|字段|说明|
|--|--|
|clientInfo|客户端信息; `uni.getSystemInfo`返回的字段|
|uniIdToken|用户Token; 用户登录后必填|
|params|API接口参数字段|
假设已在uniCloud 控制台已设置URL化域名PATH,以PATH为`/http/uni-id-co`为例,演示登录示例:
```javascript
uni.request({
url: 'https://{云函数Url化域名}/http/uni-id-co/login',
method: 'POST',
data: {
clientInfo: uni.getSystemInfoSync(),
uniIdToken: '用户Token',
params: {
username:"username",
password:"password"
}
},
header: {
'Content-Type': 'application/json'
},
success: (res) => {
// 返回值
}
})
```
**注意**
请不要添加 Query 参数,URL化后将忽略 Query 参数
### API列表
|API |描述 |
|-- |-- |
......@@ -1646,7 +1694,7 @@ await uniIdCo.setAuthorizedApp({
- 此接口为管理端接口
- 仅在用户token即将过期时返回新newToken
## 其他功能@extra-function
### 其他功能@extra-function
### 覆盖或新增校验规则@custom-validator
......@@ -1704,17 +1752,17 @@ module.exports = {
}
```
# 登录服务开通与配置
## 登录服务开通与配置
服务端`uni-id`的密钥信息统一在`uni-config-center`中配置,路径:`uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/uni-id/config.json`
以下简称:`uni-id配置文件`,完整的配置信息[详情查看](uni-id-summary.md#config)
## 一键登录
### 一键登录
一键登录是运营商提供的、比短信验证码更方便、更安全、更便宜的方案。[详见](https://uniapp.dcloud.net.cn/univerify)
- 使用本功能需要在[DCloud开发者中心 -> ](https://dev.dcloud.net.cn/pages/uniLogin/index)开通并充值
- 模块配置:`manifest.json`-->`App模块配置` -->`OAuth(登录鉴权)`-->` 一键登录`,点击后面的`开通配置`,在随后打开的web界面中,同意协议,并点击充值按钮充值。如只是测试,可以只充值1元钱。如果你已经确定包名,则可以在web界面点击“添加应用”,提交审核。这个是正式打包必须的。真机运行可以跳过此环节。记住页面上展示的`apiKey``apiSecret`,下一步需要用到。
- uni-id配置:`uni-id配置文件` --> `service` --> `univerify`,填写`appid``apiKey``apiSecret``appid`就是`manifest`里的`appid``apiKey``apiSecret`则是从上一步的web界面得来的。
## 微信登录@weixinLogin
### 微信登录@weixinLogin
uni-id-pages已全面支持:app、小程序、web(uni-id-pages 版本号1.0.8起),三端的微信登录。
......@@ -1791,18 +1839,18 @@ host文件路径: Windows系统一般为:`C:\Windows\System32\drivers\etc`
用HBuilderX打开hosts文件,在末尾添加一行 `127.0.0.1 你的域名`保存即可。
此时访问域名,如果就能看到和你的项目运行到浏览器一样的效果,说明已经成功了。
## 苹果登录集成指南
### 苹果登录集成指南
- 模块配置:`manifest.json` --> `App模块配置` --> OAuth(登录鉴权)勾选`苹果登录`[IOS苹果授权登录参考文档](https://ask.dcloud.net.cn/article/36651)。如不发布到Appstore,不需要配置此项
- uni-id配置:`uni-id配置文件` --> `app` --> `oauth` --> `apple` 填写`bundleId`
- 关联域配置:`manifest.json` --> `App常用其他设置` --> `iOS设置` --> `关联域(Associated Domains)` 填写配置 [参考教程](https://ask.dcloud.net.cn/article/36393)。如不发布到Appstore,不需要配置此项
## 短信验证码
### 短信验证码
为了方便开发调试,`uni-id-pages`未配置短信登录时,自动启动测试模式;直接使用:123456作为短信验证码即可。
- 使用本功能需要在[DCloud开发者中心 -> 短信验证码](https://dev.dcloud.net.cn/pages/sms/base)开通并充值
- 教程参考[短信服务开通指南](https://ask.dcloud.net.cn/article/37534)
- 密钥配置:`uni-id配置文件` --> `service` --> `sms` 填写相关密钥信息。
# 从老版uni-id公共模块升级到uni-id-pages
## 从老版uni-id公共模块升级到uni-id-pages
在HBuilderX 3.5之前,DCloud提供了一个公共模块[uni-id](https://ext.dcloud.net.cn/plugin?id=2116)(注意别和uni-id-common混淆)和一个示例性云函数uni-id-cf(集成在uni-starter和uni-admin中)。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册