最新动态
快速实现创建用户账号的功能
2024-12-29 23:33

目标:

通常情况下,用户账号的新增是平台自带的,管理员只需切换到“用户管理”界面即可新增,如果用户表额外新增了一些字段,平台自带的用户新增功能就无法满足需求,这种情况下可以另行设计一个用户新增的功能。

实现步骤:

1、为用户表添加账号、密码等额外属性。

2、创建“新增用户”的功能,添加新增用户表步骤

快速实现创建用户账号的功能

3、点击“设置”进入属性选择项卡,设置属性填写规则

姓名:必填

账号:必填,正则表达式(^[a-zA-Z][0-9a-zA-Z#!*.@_]{5,15}$),正则提示(账号以英文开头,6到16位的数字/字母/下划线),输入提示(以英文开头,6到16位的数字/字母/下划线)

密码:必填,正则表达式(^[a-zA-Z0-9!@#]{6,16}$),正则提示(6~16位数字/字母),输入提示(6~16位数字/字母)

角色:必填

其他属性根据需求设置。

 

4、添加编程步骤,编写以下代码

async function runProcess($model = model, $plugin = plugin, $params) {

    let info = $params.info; //新增用户表步骤数据

    let userEntity = "5fa4cf9e996d7677664eae25";//自行获取用户表entity

    //将创建的用户数据删除(此数据没有_user属性,为无效用户,使用接口创建用户后会新建一条有效记录)

    await $plugin.data.removeData(userEntity, info._id);

 

    let roleField = info["5fa4cf9e996d7677664eae27"]; //用户表的角色属性field自行获取

    let roleEntity = "5fa4cf9e996d7677664eae22";//自行获取角色表id

    let role = await $plugin.data.getData(roleEntity, roleField); //查询角色信息

    let roleId = role._role; //角色id,注意:此id非角色表的数据_id

    

    let _user = await $plugin.admin.createUser(

        info["60580e1f746bcb7068746e1a"],//accountfield自行获取

        roleId,//role

        info["60580e24746bcb7068746e1b"],//pwqfield自行获取

        info["60580de44ae8b87062fdf6b0"],//namefield自行获取

    );

    //根据返回的_user 查询接口创建的用户数据

    let userQuery = await $plugin.data.queryData(userEntity, { _user });

    if (userQuery.length > 0) {

        let user = userQuery[0];

        info["60580e24746bcb7068746e1b"] = "";//密码属性清空,一般不显示出来field自行获取

        //更新额外添加的属性

        await $plugin.data.updateData(userEntity, user._id, info);

    } else {

        //创建失败,抛出错误提示

        await $model.error(-1, "账号或手机号已存在!");

    }

}

 

5、保存代码,将功能发布上线即可,需要特别注意的是:此功能只能由系统管理员账号使用,否则无法创建用户。

 

效果:

 

有兴趣的可以研究更新用户接口,同理仅管理员可调用

$plugin.admin.createUser(account, updated)

 

    以上就是本篇文章【快速实现创建用户账号的功能】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/quote/15950.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站https://sicmodule.kub2b.com/mobile/,查看更多   
发表评论
0评