首頁>科技>

通常情況下,使用者賬號的新增是平臺自帶的,管理員只需切換到“使用者管理”介面即可新增,如果使用者表額外新增了一些欄位,白碼低程式碼平臺自帶的使用者新增功能就無法滿足需求,這種情況下可以另行設計一個使用者新增的功能。

實現步驟:

1、為使用者表新增賬號、密碼等額外屬性。

2、建立“新增使用者”的功能,新增新增使用者表步驟

姓名:必填

賬號:必填,正則表示式(^[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    /**     * $plugin.admin.createUser(account,pwd,name,phone)     * 建立使用者介面     * 此介面僅管理員有許可權呼叫     * @params account 賬號 必填     * @params pwd 密碼 必填     * @params name 暱稱 非必填     * @params phone 手機 非必填     * @return  成功返回使用者_user     */    let _user = await $plugin.admin.createUser(        info["60580e1f746bcb7068746e1a"],//account,field自行獲取        roleId,//role        info["60580e24746bcb7068746e1b"],//pwq,field自行獲取        info["60580de44ae8b87062fdf6b0"],//name,field自行獲取    );    //根據返回的_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) /** * 更新使用者介面 * 此介面僅管理員有許可權呼叫 * @params account 賬號 必填 * @params updated  更新資料json {account,pwd,name,phone} * @return  成功返回 true*/

6
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 再侃帳號頁面