Files
jjx-web-sign-only/uniCloud-aliyun/cloudfunctions/router/service/client/pub.test.js
T
2023-11-07 17:11:57 +08:00

106 lines
3.7 KiB
JavaScript

/**
* 此为云对象模式,可以在这一个对象中写多个函数,具体文档请查看
* https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html
*/
'use strict';
var vk; // 全局vk实例
// 涉及的表名
const dbName = {
//test: "vk-test", // 测试表
};
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 client/pub.test.getInfo 前端调用的url参数地址
*/
getInfo: async function(data) {
let { uid } = this.getClientInfo(); // 获取客户端信息
let userInfo = await this.getUserInfo(); // 获取当前登录的用户信息
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
console.log("getInfo请求参数", data);
res.userInfo = userInfo; // 返回前端当前登录的用户信息
// 业务逻辑结束-----------------------------------------------------------
return res;
},
/**
* 模板函数
* @url client/pub.test.getList 前端调用的url参数地址
*/
getList: async function(data) {
let { uid, filterResponse, originalParam } = this.getClientInfo(); // 获取客户端信息
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
console.log("getList请求参数", data);
// 业务逻辑结束-----------------------------------------------------------
return res;
},
/**
* 云对象调用自身函数
* @url client/pub.test.test1 前端调用的url参数地址
*/
test1: async function(data) {
let { uid, filterResponse, originalParam } = this.getClientInfo(); // 获取客户端信息
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
console.log("test1请求参数", data);
let res1 = await this.getInfo(data);
console.log("res1", res1);
// 业务逻辑结束-----------------------------------------------------------
return res;
},
/**
* 云对象调用任意云对象或云函数
* @url client/pub.test.test2 前端调用的url参数地址
*/
test2: async function(data) {
let { uid, filterResponse, originalParam } = this.getClientInfo(); // 获取客户端信息
let res = { code: 0, msg: '' };
// 业务逻辑开始-----------------------------------------------------------
console.log("test2请求参数", data);
let callRes = await vk.callFunction({
url: 'client/pub.test.getInfo',
clientInfo: this.getClientInfo(),
data: {
a:1
},
});
console.log("callRes", callRes);
// 业务逻辑结束-----------------------------------------------------------
return res;
}
};
module.exports = cloudObject;