Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello_uni-id-pages
提交
d2de1fff
H
hello_uni-id-pages
项目概览
DCloud
/
hello_uni-id-pages
通知
1054
Star
31
Fork
43
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
2
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello_uni-id-pages
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
d2de1fff
编写于
8月 24, 2022
作者:
C
chenruilong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add update-user api for uni-id-co
上级
d855d685
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
149 addition
and
3 deletion
+149
-3
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/index.obj.js
...i-id-pages/uniCloud/cloudfunctions/uni-id-co/index.obj.js
+20
-2
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/admin/index.js
...s/uniCloud/cloudfunctions/uni-id-co/module/admin/index.js
+2
-1
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/admin/update-user.js
...loud/cloudfunctions/uni-id-co/module/admin/update-user.js
+127
-0
未找到文件。
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/index.obj.js
浏览文件 @
d2de1fff
...
...
@@ -18,7 +18,8 @@ const {
registerUser
}
=
require
(
'
./module/register/index
'
)
const
{
addUser
addUser
,
updateUser
}
=
require
(
'
./module/admin/index
'
)
const
{
login
,
...
...
@@ -216,6 +217,23 @@ module.exports = {
* @returns
*/
addUser
,
/**
* 修改用户
* @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#update-user
* @param {Object} params
* @param {String} params.id 要更新的用户id
* @param {String} params.username 用户名
* @param {String} params.password 密码
* @param {String} params.nickname 昵称
* @param {Array} params.authorizedApp 允许登录的AppID列表
* @param {Array} params.role 用户角色列表
* @param {String} params.mobile 手机号
* @param {String} params.email 邮箱
* @param {Array} params.tags 用户标签
* @param {Number} params.status 用户状态
* @returns
*/
updateUser
,
/**
* 授权用户登录应用
* @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#authorize-app-login
...
...
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/admin/index.js
浏览文件 @
d2de1fff
module
.
exports
=
{
addUser
:
require
(
'
./add-user
'
)
addUser
:
require
(
'
./add-user
'
),
updateUser
:
require
(
'
./update-user
'
)
}
uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co/module/admin/update-user.js
0 → 100644
浏览文件 @
d2de1fff
const
{
findUser
}
=
require
(
'
../../lib/utils/account
'
)
const
{
ERROR
}
=
require
(
'
../../common/error
'
)
const
{
userCollection
}
=
require
(
'
../../common/constants
'
)
const
PasswordUtils
=
require
(
'
../../lib/utils/password
'
)
/**
* 修改用户
* @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#update-user
* @param {Object} params
* @param {String} params.id 要更新的用户id
* @param {String} params.username 用户名
* @param {String} params.password 密码
* @param {String} params.nickname 昵称
* @param {Array} params.authorizedApp 允许登录的AppID列表
* @param {Array} params.role 用户角色列表
* @param {String} params.mobile 手机号
* @param {String} params.email 邮箱
* @param {Array} params.tags 用户标签
* @param {Number} params.status 用户状态
* @returns
*/
module
.
exports
=
async
function
(
params
=
{})
{
const
schema
=
{
username
:
'
username
'
,
password
:
{
required
:
false
,
type
:
'
password
'
},
authorizedApp
:
{
required
:
false
,
type
:
'
array<string>
'
},
// 指定允许登录的app,传空数组或不传时表示可以不可以在任何端登录
nickname
:
{
required
:
false
,
type
:
'
nickname
'
},
role
:
{
require
:
false
,
type
:
'
array<string>
'
},
mobile
:
{
required
:
false
,
type
:
'
mobile
'
},
email
:
{
required
:
false
,
type
:
'
email
'
},
tags
:
{
required
:
false
,
type
:
'
array<string>
'
},
status
:
{
required
:
false
,
type
:
'
number
'
}
}
this
.
middleware
.
validate
(
params
,
schema
)
const
{
id
,
username
,
password
,
authorizedApp
,
nickname
,
role
,
mobile
,
email
,
tags
,
status
}
=
params
// 更新的用户数据字段
const
collection
=
{
username
,
dcloud_appid
:
authorizedApp
||
[],
nickname
,
role
:
role
||
[],
mobile
,
email
,
tags
:
tags
||
[],
status
}
// 更新用户名时验证用户名是否重新
if
(
username
)
{
const
userMatched
=
await
findUser
({
userQuery
:
{
username
},
authorizedApp
})
if
(
userMatched
.
filter
(
user
=>
user
.
_id
!==
id
).
length
)
{
throw
{
errCode
:
ERROR
.
ACCOUNT_EXISTS
}
}
}
if
(
password
)
{
const
passwordUtils
=
new
PasswordUtils
({
passwordSecret
:
this
.
config
.
passwordSecret
})
const
{
passwordHash
,
version
}
=
passwordUtils
.
generatePasswordHash
({
password
})
collection
.
passwordHash
=
passwordHash
collection
.
password
=
password
}
await
userCollection
.
where
({
_id
:
id
}).
update
(
collection
)
return
{
errCode
:
0
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录