module.exports = {
|
/**
|
* 查询用户列表(用于后端用户选择器的搜索数据)
|
* @url admin/select/kh/user 前端调用的url参数地址
|
* data 请求参数 说明
|
* @param {String} searchvalue 搜索内容
|
* res 返回参数说明
|
* @param {Number} code 错误码,0表示成功
|
* @param {String} msg 详细信息
|
*/
|
main: async (event) => {
|
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
|
let { customUtil, uniID, config, pubFun, vk , db, _ } = util;
|
let { uid } = data;
|
let res = { code : 0, msg : '' };
|
// 业务逻辑开始-----------------------------------------------------------
|
// 可写与数据库的交互逻辑等等
|
let { searchvalue } = data;
|
if(!searchvalue){
|
return { code : 0, list:[] };
|
}
|
let dbName = "uni-id-users";
|
let fieldJson = {
|
_id:true,
|
username:true,
|
nickname:true,
|
mobile:true,
|
};
|
let whereJson = {};
|
let sortArr = [];
|
// 排序规则开始-----------------------------------------------------------
|
sortArr.push({
|
"name":"register_date",
|
"type":"desc"
|
});
|
|
// 排序规则结束-----------------------------------------------------------
|
// 查询条件开始-----------------------------------------------------------
|
let andArr = [];
|
if(searchvalue){
|
// 查询searchvalue开头的数据
|
try{
|
let regExp = new RegExp(searchvalue);
|
let orObj = _.or([
|
{
|
"username": regExp
|
},
|
{
|
"nickname": regExp
|
},
|
{
|
"mobile": regExp
|
},
|
{
|
"_id": searchvalue
|
}
|
]);
|
andArr.push(orObj);
|
}catch(err){
|
return { code : -1, msg : '请输入合法的查询内容' };
|
}
|
}
|
if(andArr.length > 0){
|
whereJson = _.and(andArr);
|
}
|
// 查询条件结束-----------------------------------------------------------
|
let selectRes = await vk.baseDao.select({
|
dbName:dbName,
|
pageIndex:1,
|
pageSize:10,
|
fieldJson:fieldJson,
|
whereJson:whereJson,
|
sortArr:sortArr
|
}, util);
|
let list = [];
|
for(let i in selectRes.rows){
|
let item = selectRes.rows[i];
|
let value = item._id;
|
let label = item.nickname || "未设置昵称";
|
if(item.mobile){
|
item.mobile = vk.pubfn.hidden(item.mobile, 3, 4);
|
label += `(${item.mobile})`;
|
}else if(item.username){
|
item.username = vk.pubfn.hidden(item.username, 2, 3);
|
label += `(${item.username})`;
|
}
|
list.push({
|
value:value,
|
label:label
|
});
|
}
|
res.list = list;
|
// 业务逻辑结束-----------------------------------------------------------
|
return res;
|
}
|
|
}
|