module.exports = { /** * 删除 * @url admin/system_uni/uni-id-files/files/kh/delete 前端调用的url参数地址 * data 请求参数 说明 * @param {String,Array} _id id 或id数组 * 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 { _id } = data; // 参数非空检测 if (vk.pubfn.isNullOne(_id)) { return { code: -1, msg: '_id不能为空' }; } let whereJson = {}; let { role = [] } = userInfo; if (role.indexOf("admin") === -1) { // 如果不是admin角色用户,则只能删除自己上传的 whereJson["user_id"] = uid; } if (typeof _id === "string") { // 单条删除 whereJson["_id"] = _id; } else if (typeof _id === "object") { // 批量删除 whereJson["_id"] = _.in(_id); } let selectRes = await vk.baseDao.select({ dbName: "vk-files", pageIndex: 1, pageSize: 500, getMain: true, whereJson, fieldJson: { file_id: true } }); if (selectRes.length > 0) { try { let fileList = vk.pubfn.arrayObjectGetArray(selectRes, "file_id"); await uniCloud.deleteFile({ fileList }); } catch (err) {} // 执行数据库API请求 res.num = await vk.baseDao.del({ dbName: "vk-files", whereJson }); } res.msg = "ok"; return res; } }