Files
jjx-web-sign-only/uniCloud-tcb/cloudfunctions/router/service/admin/system/user/sys/batchUpdateAppLogin.js
T
2026-10-08 18:20:51 +08:00

79 lines
2.1 KiB
JavaScript

'use strict';
module.exports = {
/**
* 批量修改用户可登录的客户端
* @url admin/system/user/sys/batchUpdateAppLogin 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { uniID, customUtil, config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
// 可写与数据库的交互逻辑等等
let {
user_ids,
allow_login_background = false,
dcloud_appid,
login_appid_type,
mode
} = data;
if(vk.pubfn.isNullOne(user_ids, login_appid_type, mode)){
return { code: -1, msg: "参数错误" };
}
if(mode !== 1 && typeof dcloud_appid !== "string"){
return { code: -1, msg: "新增和移除模式下,dcloud_appid只能是字符串" };
}
let dataJson = {};
dataJson["allow_login_background"] = allow_login_background;
if(login_appid_type === 0){
// 可登录全部应用
dataJson["dcloud_appid"] = _.remove();
} else{
res.successNum = 0;
res.failNum = 0;
for(let i=0; i<user_ids.length; i++){
let user_id = user_ids[i];
let updateRes;
try {
if(mode === 1){
// 可登录部分应用
updateRes = await uniID.setAuthorizedAppLogin({
uid: user_id,
dcloudAppidList: dcloud_appid
});
}else if(mode === 2){
// 可登录部分应用
updateRes = await uniID.authorizeAppLogin({
uid: user_id,
dcloudAppid: dcloud_appid
});
}else if(mode === 3){
// 可登录部分应用
updateRes = await uniID.forbidAppLogin({
uid: user_id,
dcloudAppid: dcloud_appid
});
}
}catch(err){}
if(updateRes.code === 0){
res.successNum ++;
}else{
res.failNum ++;
}
}
}
res.num = await vk.baseDao.update({
dbName:"uni-id-users",
whereJson:{
_id: _.in(user_ids)
},
dataJson
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}