# 3、强制重置admin账号密码
# 如何强制重置admin账号密码?
1、在
uniCloud/cloudfunctions/router/service/user/pub/
目录新建forceResetAdminPassword.js
文件将下方的代码全部复制到新建的文件内
module.exports = {
/**
* 强制重置admin密码
* @url user/pub/forceResetAdminPassword 前端调用的url参数地址
*/
main: async (event) => {
let { data = {}, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
let params = {
username: "admin",
password: "123456"
};
let userInfo = await vk.baseDao.findByWhereJson({
dbName: "uni-id-users",
whereJson: {
username: params.username,
}
});
if (!userInfo) {
return { code: -1, msg: `${params.username}账号未注册` };
}
// 重置密码
res = await uniID.resetPwd({
uid: userInfo._id,
password: params.password
});
await vk.baseDao.updateById({
dbName:"uni-id-users",
id: userInfo._id,
dataJson:{
login_ip_limit: _.remove()
}
});
if(res.code === 0){
res.msg = `密码已重置为:${params.password}`;
}
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
- 2、将下方的代码全部复制到
uniCloud/cloudfunctions/router/router.param.json
文件内(如果没有此文件则新建)
{
"uni_id_token":"",
"$url":"user/pub/forceResetAdminPassword",
"data":{
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
- 3、右键
uniCloud/cloudfunctions/router
目录,点击本地运行云函数
4、当看到控制显示密码已重置为
123456
时,则代表重置成功。5、重置成功后,请立即删除刚刚创建的
uniCloud/cloudfunctions/router/service/user/pub/forceResetAdminPassword.js
文件(如不删除,会有安全隐患)
其中 `uniCloud/cloudfunctions/router/router.param.json` 这个文件没有必要删除。
1