feat: 补齐客户端/管理端服务模块与数据库 schema,完善登录短信、法大大签署及公共函数

This commit is contained in:
2026-10-14 21:55:08 +08:00
parent 3481fda7a0
commit 55bcf96889
545 changed files with 28151 additions and 415 deletions
@@ -1,19 +1,20 @@
module.exports = {
/**
* 添加单条数据
* @url template/db_api/pub/add 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
/**
* 添加单条数据
* @url template/db_api/pub/add 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, pubFun, vk , db, _ } = util;
let { uid } = data;
let res = { code : 0, msg : 'ok' };
// 业务逻辑开始-----------------------------------------------------------
// 随机定位开始-----------------------------------------------------------
// 业务逻辑开始-----------------------------------------------------------
let startTime = Date.now();
// 为了方便测试,这里固定在杭州市西湖区附近
let longitude = 120.12792 + Math.floor(Math.random() * 500) / 10000;
let latitude = 30.228932 + Math.floor(Math.random() * 500) / 10000;
@@ -30,7 +31,10 @@ module.exports = {
},
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
let endTime = Date.now();
res.runTime = (endTime - startTime);
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -14,9 +14,9 @@ module.exports = {
let res = { code : 0, msg : 'ok' };
// 业务逻辑开始-----------------------------------------------------------
let dbName = "vk-test";
let runTime1 = new Date().getTime();
let startTime = Date.now();
let addNum = 10;
console.log(new Date(runTime1),"开始运行,添加"+addNum+"条数据");
console.log("开始运行,添加"+addNum+"条数据");
// 承载所有读操作的 promise 的数组
let dataArr = [];
@@ -41,10 +41,9 @@ module.exports = {
dataJson:dataArr
});
let runTime2 = new Date().getTime();
let runTime = ((runTime2 - runTime1) / 1000 + "秒");
console.log(new Date(runTime2),"运行结束,耗时:"+runTime);
res.runTime = runTime;
let endTime = Date.now();
res.runTime = endTime - startTime;
console.log("运行结束,耗时:"+res.runTime/1000 + "秒");
// 业务逻辑结束-----------------------------------------------------------
return res;
}
@@ -13,12 +13,17 @@ module.exports = {
let { uid } = data;
let res = { code : 0, msg : 'ok' };
// 业务逻辑开始-----------------------------------------------------------
let startTime = Date.now();
res.num = await vk.baseDao.count({
dbName:"vk-test",
whereJson:{
}
});
let endTime = Date.now();
res.runTime = (endTime - startTime);
// 对应的sql:
// count * from vk-test
// 业务逻辑结束-----------------------------------------------------------
@@ -13,7 +13,7 @@ module.exports = {
let { uid } = data;
let res = { code : 0, msg : 'ok' };
// 业务逻辑开始-----------------------------------------------------------
let startTime = new Date().getTime();
let startTime = Date.now();
res.item = await vk.baseDao.findById({
dbName:"vk-test",
id:data._id,
@@ -21,7 +21,7 @@ module.exports = {
}
});
let endTime = new Date().getTime();
let endTime = Date.now();
res.runTime = (endTime - startTime);
// 上面的 fieldJson 可以设置 显示什么字段或设置不显示什么字段 如 money:false 代表不显示money字段
// 对应的sql:
@@ -13,6 +13,8 @@ module.exports = {
let { uid } = data;
let res = { code : 0, msg : 'ok' };
// 业务逻辑开始-----------------------------------------------------------
let startTime = Date.now();
res.item = await vk.baseDao.findByWhereJson({
dbName:"vk-test",
fieldJson:{
@@ -22,6 +24,10 @@ module.exports = {
_id:data._id,
}
});
let endTime = Date.now();
res.runTime = (endTime - startTime);
// 上面的 fieldJson 可以设置 显示什么字段或设置不显示什么字段 如 money:false 代表不显示money字段
// 对应的sql:
// select * from vk-test where _id = "5f3a125b3d11c6000106d338"
@@ -21,7 +21,9 @@ module.exports = {
location: _.geoNear({
geometry: new db.Geo.Point(120.12792, 30.228932), // 点的地理位置,为了方便测试,这里固定在杭州市西湖区
maxDistance: 4000, // 选填,最大距离,米为单位
minDistance: 0 // 选填,最小距离,米为单位
minDistance: 0 ,// 选填,最小距离,米为单位
distanceMultiplier:1, // 返回时在距离上乘以该数字 1代表米 100 代表厘米 0.001 代表千米
distanceField:"distance", // 输出的每个记录中 distance 即是与给定点的距离
})
},
});
@@ -26,7 +26,7 @@ module.exports = {
// 主表字段显示规则
fieldJson:{ token:false, password:false },
// 主表排序规则
sortArr:[{ "name":"_id", "type":"desc" }],
sortArr: [{"name": "_add_time", "type":"desc" }],
// 副表列表
foreignDB:[
{
@@ -0,0 +1,45 @@
module.exports = {
/**
* 多表查询
* @url template/db_api/pub/selects_inviter_uid 前端调用的url参数地址
* data 请求参数 说明
* res 返回参数说明
* @params {Number} code 错误码,0表示成功
* @params {String} msg 详细信息
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { uniID, pubFun, vk, db, _, $ } = util;
let { uid } = data;
let res = { code: 0, msg: 'ok' };
// 业务逻辑开始-----------------------------------------------------------
/**
* 此为演示 使用数组下标对应的值进行连表,如用户表根据inviter_uid的第一个值进行连表查出第一个上级的用户信息
*/
res = await vk.baseDao.selects({
dbName: "uni-id-users",
getCount: false,
pageIndex: 1,
pageSize: 5,
fieldJson: {
token: false,
password: false
},
// 副表列表
foreignDB: [{
dbName: "uni-id-users",
localKey: $.arrayElemAt(['$inviter_uid', 0]),
foreignKey: "_id",
as: "inviterUserInfo",
limit: 1,
fieldJson: {
token: false,
password: false
},
}]
});
console.log(11, res.rows);
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
@@ -0,0 +1,36 @@
'use strict';
module.exports = {
/**
* XXXnameXXX
* @url template/db_api/pub/tree 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
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: "" };
// 业务逻辑开始-----------------------------------------------------------
res = await vk.baseDao.getTableData({
dbName: "opendb-admin-menus",
whereJson:{
enable: true,
parent_id: null
},
// 树状结构参数
treeProps: {
id: "menu_id", // 唯一标识字段,默认为 _id
parent_id: "parent_id", // 父级标识字段,默认为 parent_id
children: "children", // 自定义返回的下级字段名,默认为 children
level: 3, // 查询返回的树的最大层级。超过设定层级的节点不会返回。默认10级,最大15,最小1
limit: 500, // 每一级最大返回的数据。
whereJson: {
enable: true
}
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}