'use strict'; var vk; // 全局vk实例 // 涉及的表名 const dbName = { role: "uce-vip-role", // 测试表 }; var db = uniCloud.database(); // 全局数据库引用 var _ = db.command; // 数据库操作符 var $ = _.aggregate; // 聚合查询操作符 /** * 权限注意:访问以下链接查看 * 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#内置权限 */ var cloudObject = { isCloudObject: true, // 标记为云对象模式 /** * 请求前处理,主要用于调用方法之前进行预处理,一般用于拦截器、统一的身份验证、参数校验、定义全局对象等。 * 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#before-预处理 */ _before: async function() { vk = this.vk; // 将vk定义为全局对象 // let { customUtil, uniID, config, pubFun } = this.getUtil(); // 获取工具包 }, /** * 请求后处理,主要用于处理本次调用方法的返回结果或者抛出的错误 * 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#after-后处理 */ _after: async function(options) { let { err, res } = options; if (err) { return; // 如果方法抛出错误,直接return;不处理 } return res; }, /** * 模板函数 * @url admin/vip_roles/sys/roles.getInfo 前端调用的url参数地址 */ getInfo: async function(data) { let { uid } = this.getClientInfo(); // 获取客户端信息 let userInfo = await this.getUserInfo(); // 获取当前登录的用户信息 let res = { code: 0, msg: '' }; // 业务逻辑开始----------------------------------------------------------- console.log("请求参数", data); res.userInfo = userInfo; // 返回前端当前登录的用户信息 // 业务逻辑结束----------------------------------------------------------- return res; }, /** * 模板函数 * @url admin/vip_roles/sys/roles.getList 前端调用的url参数地址 */ getList: async function(data) { let { uid, filterResponse, originalParam } = this.getClientInfo(); // 获取客户端信息 let res = { code: 0, msg: '' }; // 业务逻辑开始----------------------------------------------------------- res = await vk.baseDao.getTableData({ dbName: dbName.role, data, sortArr: [ { "name": "weight", "type": "desc" } ] }); // 业务逻辑结束----------------------------------------------------------- return res; }, /** * 模板函数 * @url admin/vip_roles/sys/roles.add 前端调用的url参数地址 */ add: async function(data) { let { uid, filterResponse, originalParam } = this.getClientInfo(); // 获取客户端信息 let res = { code: 0, msg: '' }; // 业务逻辑开始----------------------------------------------------------- let { name, role_type, charge, expire_days, weight, description, status } = data; res.id = await vk.baseDao.add({ dbName: dbName.role, dataJson: { name, role_type, charge, expire_days, weight, description, status } }); // 业务逻辑结束----------------------------------------------------------- return res; }, /** * 模板函数 * @url admin/vip_roles/sys/roles.update 前端调用的url参数地址 */ update: async function(data) { let { uid, filterResponse, originalParam } = this.getClientInfo(); // 获取客户端信息 let res = { code: 0, msg: '' }; // 业务逻辑开始----------------------------------------------------------- let { _id, name, role_type, charge, expire_days, weight, description, status } = data; await vk.baseDao.updateById({ dbName: dbName.role, id: _id, dataJson: { name, role_type, charge, expire_days, weight, description, status } }); // 业务逻辑结束----------------------------------------------------------- return res; }, /** * 模板函数 * @url admin/vip_roles/sys/roles.delete 前端调用的url参数地址 */ delete: async function(data) { let { uid, filterResponse, originalParam } = this.getClientInfo(); // 获取客户端信息 let res = { code: 0, msg: '' }; // 业务逻辑开始----------------------------------------------------------- let { _id } = data; if (vk.pubfn.isNull(_id)) { return { code: -1, msg: 'id不能为空' }; } await vk.baseDao.deleteById({ dbName: dbName.role, id: _id }); // 业务逻辑结束----------------------------------------------------------- return res; }, }; module.exports = cloudObject;