79 lines
2.1 KiB
JavaScript
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;
|
|
}
|
|
}
|