# 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、将下方的代码全部复制到uniCloud/cloudfunctions/router/router.param.json文件内(如果没有此文件则新建)
{
  "uni_id_token":"",
  "$url":"user/pub/forceResetAdminPassword",
  "data":{
    
  }
}
1
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