Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
2c4b6258
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3598
Star
108
Fork
921
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
120
列表
看板
标记
里程碑
合并请求
109
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
120
Issue
120
列表
看板
标记
里程碑
合并请求
109
合并请求
109
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
2c4b6258
编写于
11月 09, 2023
作者:
DCloud_JSON
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新 拆分uni-id-pages 文档为:客户端-uni-app、客户端-uni-app x、云对象
上级
0bc2f118
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
608 addition
and
3029 deletion
+608
-3029
docs/uniCloud/_sidebar.md
docs/uniCloud/_sidebar.md
+3
-1
docs/uniCloud/uni-id-app-x.md
docs/uniCloud/uni-id-app-x.md
+255
-0
docs/uniCloud/uni-id-app.md
docs/uniCloud/uni-id-app.md
+322
-0
docs/uniCloud/uni-id-co.md
docs/uniCloud/uni-id-co.md
+24
-295
docs/uniCloud/uni-id-pages.md
docs/uniCloud/uni-id-pages.md
+4
-2733
未找到文件。
docs/uniCloud/_sidebar.md
浏览文件 @
2c4b6258
...
@@ -48,7 +48,9 @@
...
@@ -48,7 +48,9 @@
*
[
阿里云CDN安全策略
](
cdn-security-policy.md
)
*
[
阿里云CDN安全策略
](
cdn-security-policy.md
)
*
uni-id用户体系
*
uni-id用户体系
*
[
综述
](
uni-id-summary.md
)
*
[
综述
](
uni-id-summary.md
)
*
[
uni-id-pages
](
uni-id-pages.md
)
*
[
客户端-uni-app
](
uni-id-app.md
)
*
[
客户端-uni-app x
](
uni-id-app-x.md
)
*
[
云对象
](
uni-id-co.md
)
*
[
uni-id-common
](
uni-id-common.md
)
*
[
uni-id-common
](
uni-id-common.md
)
*
[
老版uni-id 3.x文档
](
uni-id.md
)
*
[
老版uni-id 3.x文档
](
uni-id.md
)
*
uni手机号一键登录
*
uni手机号一键登录
...
...
docs/uniCloud/uni-id-app-x.md
0 → 100644
浏览文件 @
2c4b6258
> uni-id-pages-x 是 uni-id-pages 的[uni-app x](/docs/uni-app-x/README.md)版,目前 uni-app x仅支持Android 端
# 概述
`uni-id-pages-x`
,是
`uni-id`
体系的一部分。
它基于
`uni-id-common`
提供了一批现成的、开源的、登录注册账户管理相关的前端页面和云端云对象。
它是一个云端一体页面组的
[
uni_modules
](
https://uniapp.dcloud.net.cn/plugin/uni_modules.html
)
,含前端页面和后端云对象(uni-id-co)。
开发者在项目中引入
`uni-id-pages-x`
,账户管理的功能无需自己再开发。由于源码的开放性和层次结构清晰,有二次开发需求也很方便调整。
下载地址:
[
https://ext.dcloud.net.cn/plugin?name=uni-id-pages-x
](
https://ext.dcloud.net.cn/plugin?name=uni-id-pages-x
)
`uni-id-pages-x`
的功能包括:
-
注册账号:
+
用户名和密码
-
免密登录(首次登录自动注册):
+
[
app一键登录
](
https://uniapp.dcloud.io/univerify.html
)
+
短信验证码登录
-
密码登录
+
用户名/手机号和密码登录
-
账户管理
+
头像更换
+
修改昵称
+
绑定手机号码
*
短信验证码校验
*
App端支持:
[
一键绑定
](
https://uniapp.dcloud.io/univerify.html
)
+
修改密码(仅账号有设置密码时可见)
+
找回密码(仅账号有绑定手机号码可见)
+
退出登录
+
注销账号(上架国内App应用市场必备)
-
用户服务协议和隐私政策条款授权
## 目录结构
<pre
v-pre=
""
data-lang=
""
>
<code
class=
"lang-"
style=
"padding:0"
>
├─uni_modules 存放
[
uni_module
](
/uni_modules
)
规范的插件。
│ ├─其他module
│ └─uni-id-pages-x
│ ├─uniCloud
│ │ └─cloudfunctions 云函数目录
│ │ └─uni-id-co 集成调用uni-id方法的云对象
│ │ ├─common 公用逻辑
│ │ ├─config 配置
│ │ │ └─permission.js 调用接口所需的权限配置
│ │ ├─lang 国际化目录
│ │ ├─lib 基础功能,不建议修改此目录下文件
│ │ │ ├─third-party 三方平台接口
│ │ │ └─utils 基础功能
│ │ ├─middleware 中间件
│ │ └─module 分模块存放的云对象方法
│ ├── README.md 插件自述文件
│ ├── changelog.md 更变日志
│ ├── common 公共文件目录
│ │ ├── common.scss 通用样式
│ │ └── common.uts 通用脚本
│ ├── components 组件目录
│ │ ├── cloud-image uniCloud云存储图片解析组件
│ │ ├── my-input uni-id-pages x自定义的输入宽组件
│ │ ├── uni-id-pages-x-agreements 隐私政策协议授权组件
│ │ ├── uni-id-pages-x-avatar 头像组件(展示、设置头像)
│ │ ├── uni-id-pages-x-fab-login 悬浮的登录组件(固定在页面便于切换登录方式)
│ │ ├── uni-id-pages-x-icon 图标组件
│ │ ├── uni-id-pages-x-loginByPwd 密码登录组件
│ │ ├── uni-id-pages-x-loginBySmsCode 短信验证码登录组件
│ │ ├── uni-id-pages-x-popup-dialog 弹窗对话框组件
│ │ └── uni-id-pages-x-smsCode 发送短信验证码组件
│ ├── config.uts 【重要】配置文件
│ ├── package.json 包描述文件
│ ├── pages 页面目录
│ │ ├── common 公共页面
│ │ │ └── webview 网页查看页面(用于实现应用内浏览《用户协议和隐私协议》的URL链接页面)
│ │ ├── login 登录页面
│ │ ├── register 注册页面
│ │ ├── retrieve 找回密码页面
│ │ └── userinfo 用户信息页面
│ │ ├── bindMobile 绑定手机号码页面
│ │ ├── deactivate 注销账号页面
│ │ └─ setNickname 设置昵称页面
│ ├── static 静态资源目录
│ │ ├── app-plus App专用资源目录
│ │ ├── fonts 字体资源目录
│ │ └── login 登录方式图标资源目录
│ ├── store.uts 状态管理文件
</code>
</pre>
**
完整的uni-app目录结构
[
详情查看
](
https://uniapp.dcloud.io/frame?id=%e7%9b%ae%e5%bd%95%e7%bb%93%e6%9e%84
)
## 前端页面
### 初始化
需要在App.uvue中初始化
`uni-id-pages-x`
的
`init.uts`
文件
示例代码如下:
```
js
<
script
>
import
uniIdPageInit
from
'
@/uni_modules/uni-id-pages-x/init.uts
'
;
export
default
{
onLaunch
:
function
(){
console
.
log
(
'
App Launch
'
)
uniIdPageInit
()
},
onShow
:
function
()
{
console
.
log
(
'
App Show
'
)
},
onHide
:
function
()
{
console
.
log
(
'
App Hide
'
)
}
}
<
/script>
```
### 配置@config
路径:
`/uni_modules/uni-id-pages-x/config.uts`
|字段 |类型 |描述 |
|-- |-- |-- |
|debug |Boolean |调试模式
[
详情
](
#debug
)
|
|loginTypes |Array |登录方式
[
详情
](
#loginTypes
)
|
|agreements |Array |隐私政策
[
详情
](
#agreements
)
|
|passwordStrength |Object |密码配置
[
详情
](
#strength
)
|
完整示例:
```
js
export
default
{
//调试模式
"
debug
"
:
true
,
/*
登录类型 未列举到的或运行环境不支持的,将被自动隐藏。
如果需要在不同平台有不同的配置,直接用条件编译即可
*/
"
loginTypes
"
:
[
"
univerify
"
,
"
weixin
"
,
"
username
"
,
"
apple
"
,
"
smsCode
"
],
//政策协议
"
agreements
"
:
{
"
serviceUrl
"
:
"
https://xxx
"
,
//用户服务协议链接
"
privacyUrl
"
:
"
https://xxx
"
,
//隐私政策条款链接
// 哪些场景下显示,1.注册(包括注册并登录,如:微信登录、苹果登录、短信验证码登录)、2.登录(如:用户名密码登录)
"
scopeList
"
:
[
'
register
'
,
'
login
'
]
},
/**
* 密码强度
* super(超强:密码必须包含大小写字母、数字和特殊符号,长度范围:8-16位之间)
* strong(强: 密密码必须包含字母、数字和特殊符号,长度范围:8-16位之间)
* medium (中:密码必须为字母、数字和特殊符号任意两种的组合,长度范围:8-16位之间)
* weak(弱:密码必须包含字母和数字,长度范围:6-16位之间)
* 为空或false则不验证密码强度
*/
"
passwordStrength
"
:
"
medium
"
,
/**
* 登录后允许用户设置密码(只针对未设置密码得用户)
* 开启此功能将 setPasswordAfterLogin 设置为 true 即可
* "setPasswordAfterLogin": false
*
* 如果允许用户跳过设置密码 将 allowSkip 设置为 true
* "setPasswordAfterLogin": {
* "allowSkip": true
* }
* */
}
```
#### 调试模式@debug
debug模式下,启动应用会自动发起一次网络请求(调用
`uni-id-co`
的
`getSupportedLoginType`
)。
检查:uni-id-pages-x客户端配置的登录方式,是否未在uniCloud服务端配置正确,否则抛出异常。
#### 登录方式@loginTypes
|字段 |描述 |平台差异 |
|-- |-- |-- |
|univerify|
[
一键登录
](
https://uniapp.dcloud.io/univerify.html
)
|App 3.0.0+ |
|smsCode |短信验证码登录 | |
|username |用户名密码登录 | |
##### 配置示例
```
js
export
default
{
"
loginTypes
"
:
[
"
username
"
,
"
smsCode
"
]
}
```
如上示例配置,表示启用:账号密码登录、验证码登录。
同理配置为:
```
js
export
default
{
"
loginTypes
"
:
[
"
univerify
"
,
"
username
"
,
"
smsCode
"
]
}
```
则表示启用:一键登录、验证码登录、账号密码登录。
平台差异性配置:如果你希望在不同的平台有不同的登录方式,直接使用
[
条件编译
](
https://uniapp.dcloud.io/platform?id=%e6%9d%a1%e4%bb%b6%e7%bc%96%e8%af%91
)
即可。如下配置,即表示仅在APP端启用
`短信验证码登录`
```
js
export
default
{
"
loginTypes
"
:
[
"
username
"
,
"
univerify
"
// #ifdef APP-PLUS
,
"
smsCode
"
// #endif
]
}
```
以上配置仅开启前端登录入口,实现功能还需:开通对应登录方式服务,获得服务密钥,并在服务端
`uni-id`
模块的配置文件中完成配置。详情查看:
[
登录服务开通与配置
](
#登录服务开通与配置
)
#### 隐私政策@agreements
|字段 |类型 |描述 |
|-- |-- |-- |
|serviceUrl |String | 用户服务协议网络链接 |
|privacyUrl |String | 隐私政策网络链接 |
|scopeList |Object | 作用于哪些场景 |
**scopeList 说明:**
|字段 |类型 |描述 |
|-- |-- |-- |
|register |String |注册(包括注册并登录,如:微信登录、苹果登录、短信验证码登录) |
|login |String |登录(如:用户名密码登录) |
要上架到国内应用商店必须提供《隐私政策和用户使用协议》,参考模版:
[
隐私权政策模板.zip
](
https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/%E9%9A%90%E7%A7%81%E6%9D%83%E6%94%BF%E7%AD%96%E6%A8%A1%E6%9D%BF.zip
)
更多合规问题
[
详情参考
](
https://uniapp.dcloud.io/tutorial/android-store.html#app%E5%9B%A0%E5%90%88%E8%A7%84%E9%97%AE%E9%A2%98%E6%97%A0%E6%B3%95%E4%B8%8A%E6%9E%B6
)
推荐使用:HBuilderX编辑器,以markdown文档格式编辑《隐私政策和用户使用协议》,通过在文档中鼠标右键
[
一键分享
](
https://hx.dcloud.net.cn/Tutorial/extension/markdown_share
)
上传到
[
前端网页托管
](
hosting.md
)
获得链接
#### 密码强度@strength
|字段 |类型 |描述 |
|-- |-- |-- |
|为空或false | - |不验证密码强度 |
|super |String |超强:密码必须包含大小写字母、数字和特殊符号,长度范围:8-16位之间 |
|strong |String |强: 密密码必须包含字母、数字和特殊符号,长度范围:8-16位之间 |
|medium |String |中:密码必须为字母、数字和特殊符号任意两种的组合,长度范围:8-16位之间 |
|weak |String |弱:密码必须包含字母和数字,长度范围:6-16位之间 |
### 登录页面介绍
-
路径:
`/uni_modules/uni-id-pages-x/pages/login/login`
-
执行
`uni.navigateTo`
打开登录页面,会默认使用配置中
`loginTypes`
值的第一项为登录方式。
例如
`loginTypes`
:
`["smsCode","univerify","username"]`
会以
`smsCode`
,即
`短信验证码`
为默认登录方式
-
支持通过传递参数
`type`
,指定登录方式。例如:指定用户名密码登录,使用如下代码即可
```
js
uni
.
navigateTo
({
"
url
"
:
"
/uni_modules/uni-id-pages-x/pages/login/login?type=username
"
})
```
配套使用
[
uniIdRouter
](
uni-id-summary.md#uni-id-router
)
;当用户未登录,但访问了你配置的需强制登录的页面,或接口提示token无效或过期(响应体以TOKEN_INVALID开头)时 会自动重定向到登录页面。
\ No newline at end of file
docs/uniCloud/uni-id-app.md
0 → 100644
浏览文件 @
2c4b6258
# 概述
`uni-id-pages`
,是
`uni-id`
体系的一部分。
它基于
`uni-id-common`
提供了一批现成的、开源的、登录注册账户管理相关的前端页面和云端云对象。
它是一个云端一体页面组的
[
uni_modules
](
https://uniapp.dcloud.net.cn/plugin/uni_modules.html
)
,含前端页面和后端云对象(uni-id-co)。
开发者在项目中引入
`uni-id-pages`
,账户管理的功能无需自己再开发。由于源码的开放性和层次结构清晰,有二次开发需求也很方便调整。
下载地址:
[
https://ext.dcloud.net.cn/plugin?name=uni-id-pages
](
https://ext.dcloud.net.cn/plugin?name=uni-id-pages
)
`uni-id-pages`
的功能包括:
-
注册账号:
+
用户名和密码
-
免密登录(首次登录自动注册):
+
[
app一键登录
](
https://uniapp.dcloud.io/univerify.html
)
+
短信验证码登录
+
微信登录(自动获取头像和昵称)
+
苹果登录
+
支付宝小程序登录(暂未实现)
-
密码登录
+
用户名/手机号和密码登录
-
账户管理
+
个人中心
+
头像更换
+
修改昵称
+
绑定手机号码
*
App端支持:
[
一键绑定
](
https://uniapp.dcloud.io/univerify.html
)
*
微信小程序端支持:
[
获取微信绑定的手机号
](
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html
)
*
全端支持:短信验证码校验
+
修改密码(仅账号有设置密码时可见)
+
找回密码(仅账号有绑定手机号码可见)
+
退出登录
+
注销账号(上架国内App应用市场必备)
-
用户服务协议和隐私政策条款授权
## 目录结构
<pre
v-pre=
""
data-lang=
""
>
<code
class=
"lang-"
style=
"padding:0"
>
├─uni_modules 存放
[
uni_module
](
/uni_modules
)
规范的插件。
│ ├─其他module
│ └─uni-id-pages
│ ├─uniCloud
│ │ └─cloudfunctions 云函数目录
│ │ └─uni-id-co 集成调用uni-id方法的云对象
│ │ ├─common 公用逻辑
│ │ ├─config 配置
│ │ │ └─permission.js 调用接口所需的权限配置
│ │ ├─lang 国际化目录
│ │ ├─lib 基础功能,不建议修改此目录下文件
│ │ │ ├─third-party 三方平台接口
│ │ │ └─utils 基础功能
│ │ ├─middleware 中间件
│ │ └─module 分模块存放的云对象方法
│ ├─common
│ │ ├─login-page.scss 登录页面公共样式
│ │ ├─login-page.mixin.js 登录页面公共mixin文件
│ │ └─loginSuccess.js 登录成功后执行的文件
│ ├─components
│ │ ├─cloud-image uniCloud云存储图片解析组件
│ │ │ └─cloud-image.vue
│ │ ├─uni-id-pages-agreements 同意用户服务协议&隐私政策条款组件
│ │ │ └─uni-id-pages-agreements.vue
│ │ ├─uni-id-pages-avatar 用户头像组件
│ │ │ └─uni-id-pages-avatar.vue
│ │ ├─uni-id-pages-bind-mobile 通过微信获取手机号码绑定个人资料
│ │ │ └─uni-id-pages-bind-mobile.vue
│ │ ├─uni-id-pages-email-form 邮箱验证码组件
│ │ │ └─uni-id-pages-email-form.vue
│ │ ├─uni-id-pages-fab-login 悬浮的切换登录方式组件
│ │ │ └─uni-id-pages-fab-login.vue
│ │ ├─uni-id-pages-sms-form 获取短信验证码组件
│ │ │ └─uni-id-pages-sms-form.vue
│ │ └─uni-id-pages-user-profile 获取用户信息组件
│ │ └─uni-id-pages-user-profile.vue
│ ├─pages
│ │ ├─common
│ │ │ └─webview 用于实现应用内浏览或打开《用户协议和隐私协议》URL链接页面
│ │ │ └─webview.vue
│ │ ├─login
│ │ │ ├─login-smscode.vue 短信验证码登录
│ │ │ ├─login-withoutpwd.vue 免密码登录
│ │ │ └─login-withpwd.vue 密码登录
│ │ ├─register
│ │ │ ├─register.vue 通过用户名密码注册账号
│ │ │ ├─register-admin.vue 创建超级管理员
│ │ │ ├─register-by-email.vue 通过邮箱验证码注册账号
│ │ │ └─validator.js 注册账号页的表单验证规则文件
│ │ ├─retrieve
│ │ │ ├─retrieve-by-email.vue 通过邮箱验证码重置密码
│ │ │ └─retrieve.vue 通过手机验证码重置密码
│ │ └─userinfo
│ │ ├─bind-mobile.vue 绑定手机号码
│ │ ├─change_pwd.vue 修改密码
│ │ ├─cropImage.vue 裁剪图片
│ │ ├─deactivate.vue 注销账号
│ │ ├─set-pwd.vue 设置密码
│ │ └─userinfo.js 注册账号页的表单验证规则文件
│ ├─static 静态资源目录
│ ├─changelog.md 更新日志
│ ├─config.js uni-id-pages的配置文件
│ ├─init.js 初始化文件
│ ├─package.json 包管理文件
│ └─readme.md 插件自述文件
</code>
</pre>
**
完整的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`
文件
示例代码如下:
```
js
<
script
>
import
uniIdPageInit
from
'
@/uni_modules/uni-id-pages/init.js
'
;
export
default
{
onLaunch
:
async
function
()
{
console
.
log
(
'
App Launch
'
)
await
uniIdPageInit
()
},
onShow
:
function
()
{
console
.
log
(
'
App Show
'
)
},
onHide
:
function
()
{
console
.
log
(
'
App Hide
'
)
}
}
<
/script>
```
### 配置@config
路径:
`/uni_modules/uni-id-pages/config.js`
|字段 |类型 |描述 |
|-- |-- |-- |
|debug |Boolean|调试模式
[
详情
](
#debug
)
|
|loginTypes |Array |登录方式
[
详情
](
#loginTypes
)
|
|agreements |Array |隐私政策
[
详情
](
#agreements
)
|
|appid |Object |接入各类服务(如微信登录服务)的应用id
[
详情
](
#appid
)
|
|passwordStrength |Object |密码配置
[
详情
](
#strength
)
|
|setPasswordAfterLogin|Boolean/Object|登录后设置密码
[
详情
](
#set-pwd-after-login
)
|
完整示例:
```
js
export
default
{
//调试模式
"
debug
"
:
true
,
/*
登录类型 未列举到的或运行环境不支持的,将被自动隐藏。
如果需要在不同平台有不同的配置,直接用条件编译即可
*/
"
loginTypes
"
:
[
"
univerify
"
,
"
weixin
"
,
"
username
"
,
"
apple
"
,
"
smsCode
"
],
//政策协议
"
agreements
"
:
{
"
serviceUrl
"
:
"
https://xxx
"
,
//用户服务协议链接
"
privacyUrl
"
:
"
https://xxx
"
,
//隐私政策条款链接
// 哪些场景下显示,1.注册(包括注册并登录,如:微信登录、苹果登录、短信验证码登录)、2.登录(如:用户名密码登录)
"
scope
"
:
[
'
register
'
,
'
login
'
]
},
// 提供各类服务接入(如微信登录服务)的应用id
"
appid
"
:{
"
weixin
"
:{
// 微信公众号的appid,来源:登录微信公众号(https://mp.weixin.qq.com)-> 设置与开发 -> 基本配置 -> 公众号开发信息 -> AppID
"
h5
"
:
"
wx111111111111111
"
,
// 微信开放平台的appid,来源:登录微信开放平台(https://open.weixin.qq.com) -> 管理中心 -> 网站应用 -> 选择对应的应用名称,点击查看 -> AppID
"
web
"
:
"
wx22222222222222
"
}
},
/**
* 密码强度
* super(超强:密码必须包含大小写字母、数字和特殊符号,长度范围:8-16位之间)
* strong(强: 密密码必须包含字母、数字和特殊符号,长度范围:8-16位之间)
* medium (中:密码必须为字母、数字和特殊符号任意两种的组合,长度范围:8-16位之间)
* weak(弱:密码必须包含字母和数字,长度范围:6-16位之间)
* 为空或false则不验证密码强度
*/
"
passwordStrength
"
:
"
medium
"
,
/**
* 登录后允许用户设置密码(只针对未设置密码得用户)
* 开启此功能将 setPasswordAfterLogin 设置为 true 即可
* "setPasswordAfterLogin": false
*
* 如果允许用户跳过设置密码 将 allowSkip 设置为 true
* "setPasswordAfterLogin": {
* "allowSkip": true
* }
* */
"
setPasswordAfterLogin
"
:
false
}
```
#### 调试模式@debug
debug模式下,启动应用会自动发起一次网络请求(调用
`uni-id-co`
的
`getSupportedLoginType`
)。
检查:uni-id-pages客户端配置的登录方式,是否未在uniCloud服务端配置正确,否则抛出异常。
#### 登录方式@loginTypes
|字段 |描述|平台差异|
|-- |-- |-- |
|univerify |
[
一键登录
](
https://uniapp.dcloud.io/univerify.html
)
|App 3.0.0+|
|smsCode |短信验证码登录 ||
|weixin |微信登录 |App,微信小程序,Web(uni-id-pages 版本号1.0.8起支持) |
|apple |苹果登录
[
Apple登录
](
https://uniapp.dcloud.io/tutorial/app-oauth-apple
)
| iOS13+支持,App 2.4.7+|
|username |用户名密码登录 ||
##### 配置示例
```
js
export
default
{
"
loginTypes
"
:
[
"
username
"
,
"
smsCode
"
]
}
```
如上示例配置,表示启用:账号密码登录、验证码登录。
同理配置为:
```
js
export
default
{
"
loginTypes
"
:
[
"
weixin
"
,
"
username
"
,
"
smsCode
"
]
}
```
则表示启用:微信登录、验证码登录、账号密码登录。
平台差异性配置:如果你希望在不同的平台有不同的登录方式,直接使用
[
条件编译
](
https://uniapp.dcloud.io/platform?id=%e6%9d%a1%e4%bb%b6%e7%bc%96%e8%af%91
)
即可。如下配置,即表示仅在APP端启用
`短信验证码登录`
```
js
export
default
{
"
loginTypes
"
:
[
"
username
"
,
"
univerify
"
,
"
weixin
"
,
"
apple
"
// #ifdef APP-PLUS
,
"
smsCode
"
// #endif
]
}
```
**注意:**
iOS 的 AppStore 规则:应用若支持三方社交登录服务(如:一键登录、微信登录等),则必须同时向用户提供“以苹果账号登录”的选项。即:如果你的应用不支持三方登录,那么可以不带上苹果登录,如果你的应用支持三方登录,那必须同时把苹果登录也带上。
以上配置仅开启前端登录入口,实现功能还需:
1.
开通对应登录方式服务,获得服务密钥,并在服务端
`uni-id`
模块的配置文件中完成配置。详情查看:
[
登录服务开通与配置
](
#登录服务开通与配置
)
2.
如果是APP端,
`一键登录`
、
`微信登录`
、
`苹果登录`
,需要在
`manifest.json`
中勾选对应模块(微信登录必须配置:微信开发平台申请应用appID的值),并完成打包后才可用(自定义调试基座包和正式包均可)。
#### 隐私政策@agreements
|字段 |类型 |描述 |
|-- |-- |-- |
|serviceUrl |String | 用户服务协议网络链接 |
|privacyUrl |String | 隐私政策网络链接 |
|scope |Object | 作用于哪些场景 |
**scope 说明:**
|字段 |类型 |描述 |
|-- |-- |-- |
|register |String |注册(包括注册并登录,如:微信登录、苹果登录、短信验证码登录) |
|login |String |登录(如:用户名密码登录) |
一款规范的小程序或App要上架到国内应用商店必须提供《隐私政策和用户使用协议》,参考模版:
[
隐私权政策模板.zip
](
https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/%E9%9A%90%E7%A7%81%E6%9D%83%E6%94%BF%E7%AD%96%E6%A8%A1%E6%9D%BF.zip
)
更多合规问题
[
详情参考
](
https://uniapp.dcloud.io/tutorial/android-store.html#app%E5%9B%A0%E5%90%88%E8%A7%84%E9%97%AE%E9%A2%98%E6%97%A0%E6%B3%95%E4%B8%8A%E6%9E%B6
)
推荐使用:HBuilderX编辑器,以markdown文档格式编辑《隐私政策和用户使用协议》,通过在文档中鼠标右键
[
一键分享
](
https://hx.dcloud.net.cn/Tutorial/extension/markdown_share
)
上传到
[
前端网页托管
](
hosting.md
)
获得链接
#### 接入各类服务(如微信登录服务)的应用id@appid
|字段 |类型 |描述|
|-- |-- |-- |
|weixin |Object |微信|
|
|
-
h5 |String |微信公众号的appid
</br>
来源:
[
微信公众号
](
https://mp.weixin.qq.com
)
-> 设置与开发 -> 基本配置 -> 公众号开发信息 -> AppID|
|
|
-
web |String |微信开放平台的appid
</br>
来源:
[
微信开放平台
](
https://open.weixin.qq.com
)
-> 管理中心 -> 网站应用 -> 选择对应的应用名称,点击查看 -> AppID|
#### 密码强度@strength
|字段 |类型 |描述 |
|-- |-- |-- |
|为空或false| - |不验证密码强度 |
|super |String |超强:密码必须包含大小写字母、数字和特殊符号,长度范围:8-16位之间 |
|strong |String |强: 密密码必须包含字母、数字和特殊符号,长度范围:8-16位之间 |
|medium |String |中:密码必须为字母、数字和特殊符号任意两种的组合,长度范围:8-16位之间|
|weak |String |弱:密码必须包含字母和数字,长度范围:6-16位之间 |
#### 登录后设置密码@set-pwd-after-login
用户如果没有设置密码,在登录后会跳转设置密码页面
此功能默认不开启, 开启请将
`setPasswordAfterLogin`
设置为
`true`
,如下:
```
javascript
{
setPasswordAfterLogin
:
true
,
// setPasswordAfterLogin: {
// allowSkip: false
// }
}
```
如果不需要强制设置密码可以将
`allowSkip`
设置为
`true`
用户可以选择跳过设置密码。
### 页面介绍
`uni-id-pages`
包含:账号注册、免密登录、头像更换、修改昵称、绑定手机号码、找回密码、注销账号等页面。
[
插件地址
](
https://ext.dcloud.net.cn/plugin?name=uni-id-pages
)
项目中常有打开登录页面的需求,这里对登录页面展开介绍;包括两类登录方式:
-
密码登录(账号密码登录),页面路径:
`/uni_modules/uni-id-pages/pages/login/login-withpwd`
-
免密登录(一键登录,短信验证码登录,微信登录,苹果登录),页面路径:
`/uni_modules/uni-id-pages/pages/login/login-withoutpwd`
执行
`uni.navigateTo`
打开登录页面,会默认使用配置中
`loginTypes`
值的第一项为登录方式。
例如
`loginTypes`
:
`["weixin","apple","univerify"]`
会以
`weixin`
,即
`微信登录`
为默认登录方式
`uni-id-pages`
支持通过传递参数
`type`
,指定登录方式。例如:指定苹果登录,使用如下代码即可
```
js
uni
.
navigateTo
({
"
url
"
:
"
/uni_modules/uni-id-pages/pages/login/login-withoutpwd?type=apple
"
})
```
可以配套使用
[
uniIdRouter
](
uni-id-summary.md#uni-id-router
)
;当用户未登录,但访问了需强制登录的页面,或接口提示token无效或过期(响应体以TOKEN_INVALID开头)时均需要打开登录页面。你需要把以上两个路径路径定义为
`loginPage`
。
\ No newline at end of file
docs/uniCloud/uni-id-
pages-x
.md
→
docs/uniCloud/uni-id-
co
.md
浏览文件 @
2c4b6258
此差异已折叠。
点击以展开。
docs/uniCloud/uni-id-pages.md
浏览文件 @
2c4b6258
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录