This commit is contained in:
2026-10-08 18:19:39 +08:00
parent 25b8d0104f
commit 75527ae81d
425 changed files with 53925 additions and 2645 deletions
@@ -0,0 +1,32 @@
module.exports = {
/**
* 分页查询
* @url admin/system_uni/admin-log/sys/getList 前端调用的url参数地址
* data 请求参数 说明
* @param {Number} pageIndex 当前页码
* @param {Number} pageSize 每页显示数量
* @param {Array<Object>} sortRule 排序规则
* @param {object} formData 查询条件数据源
* @param {Array<Object>} columns 查询条件规则
* 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 dbName = "opendb-admin-log";
res = await vk.baseDao.getTableData({
dbName,
data,
whereJson:{
}
});
return res;
}
}
@@ -0,0 +1,61 @@
module.exports = {
/**
* 添加
* @url admin/system_uni/components-dynamic/sys/add 前端调用的url参数地址
* data 请求参数 说明
* @param {String} data_id 组件数据id
* @param {String} title 数据标题
* @param {Object} data 组件数据
* 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 {
data_id,
data: dynamicData,
title,
description,
type,
sort = 0,
show = true,
name
} = data;
// 参数非空检测
if (vk.pubfn.isNull(data_id)) return { code: -1, msg: 'data_id不能为空' };
let dbName = "vk-components-dynamic";
// 检测key是否已存在
let num = await vk.baseDao.count({
dbName: dbName,
whereJson: {
data_id,
}
});
if (num > 0) {
return { code: -1, msg: `组件数据id不能重复!` };
}
// 执行数据库API请求
res.id = await vk.baseDao.add({
dbName,
dataJson: {
data: dynamicData,
data_id,
title,
description,
type,
sort,
show,
name
}
});
return res;
}
}
@@ -0,0 +1,32 @@
module.exports = {
/**
* 删除
* @url admin/system_uni/components-dynamic/sys/delete 前端调用的url参数地址
* data 请求参数 说明
* @param {String} _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不能为空' };
}
// 执行数据库API请求
let num = await vk.baseDao.del({
dbName:"vk-components-dynamic",
whereJson:{
_id
}
});
return res;
}
}
@@ -0,0 +1,32 @@
module.exports = {
/**
* 分页查询
* @url admin/system_uni/components-dynamic/sys/getList 前端调用的url参数地址
* data 请求参数 说明
* @param {Number} pageIndex 当前页码
* @param {Number} pageSize 每页显示数量
* @param {Array<Object>} sortRule 排序规则
* @param {object} formData 查询条件数据源
* @param {Array<Object>} columns 查询条件规则
* 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 dbName = "vk-components-dynamic";
res = await vk.baseDao.getTableData({
dbName,
data,
whereJson:{
}
});
return res;
}
}
@@ -0,0 +1,69 @@
module.exports = {
/**
* 修改
* @url admin/system_uni/components-dynamic/sys/update 前端调用的url参数地址
* data 请求参数 说明
* @param {String} data_id 组件数据id
* @param {String} title 数据标题
* @param {Object} data 组件数据
* @param {Object} description 数据描述
* 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_id,
data: dynamicData,
title,
description,
type,
sort,
show,
name
} = data;
// 参数非空检测
if (vk.pubfn.isNull(_id)) return { code: -1, msg: 'id不能为空' };
let dbName = "vk-components-dynamic";
if (vk.pubfn.isNotNull(data_id)) {
// 检测data_id是否已存在
let num = await vk.baseDao.count({
dbName,
whereJson: {
data_id,
_id: _.neq(_id)
}
});
if (num > 0) {
return { code: -1, msg: `组件数据id不能重复!` };
}
}
// 执行数据库API请求
res.num = await vk.baseDao.updateById({
dbName,
id: _id,
dataJson: {
data: dynamicData,
data_id,
title,
description,
type,
sort,
show,
name
}
});
return res;
}
}
@@ -0,0 +1,59 @@
const formRules = require('../util/formRules.js');
module.exports = {
/**
* 添加
* @url admin/system_uni/global-data/sys/add 前端调用的url参数地址
* data 请求参数 说明
* @param {String} key 键名
* @param {any} value 键值
* @param {time} expired_at 过期时间
* @param {String} comment 备注
* 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 {
key,
value,
expired_at,
comment
} = data;
if (!expired_at) expired_at = 0;
// 参数合法校验
let formRulesRes = await formRules.add(event);
if (formRulesRes.code !== 0) {
return formRulesRes;
}
let dbName = "vk-global-data";
// 检测key是否已存在
let num = await vk.baseDao.count({
dbName,
whereJson: {
key
}
});
if (num > 0) {
return { code: -1, msg: `键值【${key}】不能重复!` };
}
// 执行数据库API请求
res.id = await vk.baseDao.add({
dbName,
dataJson: {
_id: key, // 此处将_id也设置为key,方便使用doc查询提高性能
key,
value,
expired_at,
comment
}
});
return res;
}
}
@@ -0,0 +1,33 @@
module.exports = {
/**
* 删除
* @url admin/system_uni/global-data/sys/delete 前端调用的url参数地址
* data 请求参数 说明
* @param {String} _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 dbName = "vk-global-data";
// 执行数据库API请求
let num = await vk.baseDao.del({
dbName:dbName,
whereJson:{
_id
}
});
return res;
}
}
@@ -0,0 +1,32 @@
module.exports = {
/**
* 分页查询
* @url admin/system_uni/global-data/sys/getList 前端调用的url参数地址
* data 请求参数 说明
* @param {Number} pageIndex 当前页码
* @param {Number} pageSize 每页显示数量
* @param {Array<Object>} sortRule 排序规则
* @param {object} formData 查询条件数据源
* @param {Array<Object>} columns 查询条件规则
* 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 dbName = "vk-global-data";
res = await vk.baseDao.getTableData({
dbName,
data,
whereJson:{
}
});
return res;
}
}
@@ -0,0 +1,52 @@
const formRules = require('../util/formRules.js');
module.exports = {
/**
* 修改
* @url admin/system_uni/global-data/sys/update 前端调用的url参数地址
* data 请求参数 说明
* @param {String} key 键名
* @param {any} value 键值
* @param {time} expired_at 过期时间
* @param {any} comment 备注
* @param {String} _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,
key,
value,
expired_at,
comment
} = data;
if (typeof expired_at !== "undefined" && !expired_at) expired_at = 0;
// 参数合法校验
let formRulesRes = await formRules.update(event);
if (formRulesRes.code !== 0) {
return formRulesRes;
}
let dbName = "vk-global-data";
// 执行数据库API请求
res.num = await vk.baseDao.update({
dbName: dbName,
whereJson: {
_id: key
},
dataJson: {
value,
expired_at,
comment
}
});
return res;
}
}
@@ -0,0 +1,64 @@
'use strict';
/**
* 表单验证
*/
class Util {
constructor() {
}
/**
* 添加
*/
async add(event) {
let { data = {}, userInfo, util } = event;
let { vk } = util;
let res = { code: 0, msg: '' };
// 验证规则开始 -----------------------------------------------------------
let rules = {
key: [
{ required: true, message: '键名不能为空', trigger: 'blur' },
],
value: [
{ required: true, message: '键值不能为空', trigger: 'change' }
]
};
// 验证规则结束 -----------------------------------------------------------
// 开始进行验证
res = vk.pubfn.formValidate({
data: data,
rules: rules
});
// 返回验证结果
return res;
}
/**
* 修改
*/
async update(event) {
let { data = {}, userInfo, util } = event;
let { vk } = util;
let res = { code: 0, msg: '' };
// 验证规则开始 -----------------------------------------------------------
let rules = {
key: [
{ required: true, message: '键名不能为空', trigger: 'blur' },
],
value: [
{ required: true, message: '键值不能为空', trigger: 'change' }
]
};
// 验证规则结束 -----------------------------------------------------------
// 开始进行验证
res = vk.pubfn.formValidate({
data: data,
rules: rules
});
// 返回验证结果
return res;
}
}
module.exports = new Util
@@ -0,0 +1,117 @@
'use strict';
module.exports = {
/**
* 重新执行回调通知
* @url admin/system_uni/pay-orders/sys/afreshNotice 前端调用的url参数地址
* data 请求参数
* @param {String} params1 参数1
*/
main: async (event) => {
let { data = {}, userInfo, util, originalParam } = event;
let { config, pubFun, vk, db, _ } = util;
let { uid } = data;
let res = { code: 0, msg: "" };
// 业务逻辑开始-----------------------------------------------------------
let {
_id, // 订单id
} = data;
let dbName = "vk-pay-orders";
// 获取异步回调配置
let spaceId = originalParam.context.SPACEINFO.spaceId; // 服务空间ID
let currentNotifyUrl = getNotifyUrl(config, spaceId);
if (!currentNotifyUrl || currentNotifyUrl.indexOf("http") !== 0) {
return { code: -1, msg: "请先配置正确的异步回调URL,参考配置文档:https://vkdoc.fsq.pub/vk-uni-pay/config.html" }
}
// 获取订单信息
let orderInfo = await vk.baseDao.findById({
dbName,
id: _id
});
if (vk.pubfn.isNull(orderInfo)) return { code: -1, msg: "订单不存在" };
if (orderInfo.status !== 1) return { code: -1, msg: "订单状态错误" };
if (orderInfo.user_order_success) return { code: -1, msg: "无需重新通知" };
// 先将订单的状态改为未支付(重新回调需要)
let updateNum = await vk.baseDao.update({
dbName,
whereJson: {
_id,
status: 1
},
dataJson: {
status: 0,
user_order_success: _.remove()
}
});
if (!updateNum) {
return { code: -1, msg: "订单状态错误" };
}
let { original_data, out_trade_no } = orderInfo;
try {
// 执行回调
let requestRes = await vk.request({
url: `${currentNotifyUrl}${original_data.path}`,
method: "POST",
dataType: "text",
header: original_data.headers,
content: original_data.body
});
} catch (err) {}
// 再次获取订单信息,判断是否回调成功
let payOrderInfo = await vk.baseDao.findById({
dbName,
id: _id
});
if (payOrderInfo.status === 1) {
// 等待回调全部执行完成,最大等待20秒
let await_max_time = 20;
if (typeof payOrderInfo.user_order_success == "undefined") {
let whileTime = 0; // 当前循环已执行的时间(毫秒)
let whileInterval = 1000; // 每次循环间隔时间(毫秒)
let maxTime = await_max_time * 1000; // 循环执行时间超过此值则退出循环(毫秒)
while (typeof payOrderInfo.user_order_success == "undefined" && whileTime <= maxTime) {
await vk.pubfn.sleep(whileInterval);
whileTime += whileInterval;
// 查询最新的订单信息
payOrderInfo = await vk.baseDao.findById({
dbName,
id: _id
});
}
}
}
// 还原部分信息(如支付时间不可被重新回调修改)
await vk.baseDao.updateById({
dbName,
id: _id,
dataJson: {
status: orderInfo.status,
pay_date: orderInfo.pay_date,
original_data: orderInfo.original_data,
}
});
// 业务逻辑结束-----------------------------------------------------------
return res;
}
}
// 获取异步回调配置
function getNotifyUrl(config, spaceId) {
const payConifg = config["uni-pay"];
const { notifyUrl } = payConifg;
let currentNotifyUrl = notifyUrl[spaceId]; // 异步回调地址
// 兼容正式版阿里云与公测版阿里云spaceId开始-----------------------------------------------------------
if (!currentNotifyUrl) {
if (spaceId.indexOf("mp-") === 0) {
currentNotifyUrl = notifyUrl[spaceId.substring(3)];
} else {
currentNotifyUrl = notifyUrl[`mp-${spaceId}`];
}
}
// 兼容正式版阿里云与公测版阿里云spaceId结束-----------------------------------------------------------
return currentNotifyUrl;
}
@@ -0,0 +1,29 @@
module.exports = {
/**
* vk-pay支付插件支付订单查询
* @url admin/system_uni/pay-orders/sys/getList 前端调用的url参数地址
* data 请求参数 说明
* @param {Number} pageIndex 当前页码
* @param {Number} pageSize 每页显示数量
* @param {Array<Object>} sortRule 排序规则
* @param {object} formData 查询条件数据源
* @param {Array<Object>} columns 查询条件规则
* 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 dbName = "vk-pay-orders";
res = await vk.baseDao.getTableData({
dbName,
data
});
return res;
}
}
@@ -0,0 +1,33 @@
module.exports = {
/**
* 分页查询
* @url admin/system_uni/uni-id-files/categories/kh/getList 前端调用的url参数地址
* data 请求参数 说明
* @param {Number} pageIndex 当前页码
* @param {Number} pageSize 每页显示数量
* @param {Array<Object>} sortRule 排序规则
* @param {object} formData 查询条件数据源
* @param {Array<Object>} columns 查询条件规则
* 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 dbName = "vk-files-categories";
res = await vk.baseDao.getTableData({
dbName,
data,
whereJson:{
},
sortArr:[{ name:"_id", type:"asc" }]
});
return res;
}
}
@@ -0,0 +1,51 @@
module.exports = {
/**
* 添加
* @url admin/system_uni/uni-id-files/categories/sys/add 前端调用的url参数地址
* data 请求参数 说明
* @param {String} name 分类名称
* @param {String} description 数据描述
* @param {Number} sort 排序值
* 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 {
name,
description,
sort,
} = data;
// 参数非空检测
if(vk.pubfn.isNull(name)){
return { code : -1, msg : '名称不能为空' };
}
let dbName = "vk-files-categories";
// 检测key是否已存在
let num = await vk.baseDao.count({
dbName,
whereJson:{
name,
}
});
if(num > 0){
return { code : -1, msg : `名称【${name}】不能重复!` };
}
// 执行数据库API请求
res.id = await vk.baseDao.add({
dbName,
dataJson:{
name,
description,
sort
}
});
return res;
}
}
@@ -0,0 +1,30 @@
module.exports = {
/**
* 删除
* @url admin/system_uni/uni-id-files/categories/sys/delete 前端调用的url参数地址
* data 请求参数 说明
* @param {String} _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 dbName = "vk-files-categories";
await vk.baseDao.deleteById({
dbName,
id:_id
});
return res;
}
}
@@ -0,0 +1,57 @@
module.exports = {
/**
* 修改
* @url admin/system_uni/uni-id-files/categories/sys/update 前端调用的url参数地址
* data 请求参数 说明
* @param {String} _id id
* @param {String} name 分类名称
* @param {String} description 数据描述
* @param {Number} sort 排序值
* @param {String} parent_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,
name,
description,
sort
} = data;
// 参数非空检测
if(vk.pubfn.isNull(name)){
return { code : -1, msg : '名称不能为空' };
}
let dbName = "vk-files-categories";
// 检测data_id是否已存在
let num = await vk.baseDao.count({
dbName,
whereJson:{
name,
_id : _.neq(_id)
}
});
if(num > 0){
return { code : -1, msg : `名称【${name}】不能重复!` };
}
// 执行数据库API请求
res.num = await vk.baseDao.updateById({
dbName,
id:_id,
dataJson:{
name,
description,
sort
}
});
return res;
}
}
@@ -0,0 +1,60 @@
module.exports = {
/**
* 删除
* @url admin/system_uni/uni-id-files/files/kh/delete 前端调用的url参数地址
* data 请求参数 说明
* @param {String,Array<String>} _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;
}
}
@@ -0,0 +1,40 @@
module.exports = {
/**
* 分页查询
* @url admin/system_uni/uni-id-files/files/kh/getList 前端调用的url参数地址
* data 请求参数 说明
* @param {Number} pageIndex 当前页码
* @param {Number} pageSize 每页显示数量
* @param {Array<Object>} sortRule 排序规则
* @param {object} formData 查询条件数据源
* @param {Array<Object>} columns 查询条件规则
* 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 dbName = "vk-files";
let whereJson = {};
let { role = [] } = userInfo;
let { formData = {} } = data;
let { category_id } = formData;
if (category_id == "null") {
whereJson["category_id"] = null;
}
if (role.indexOf("admin") === -1) {
// 如果不是admin角色用户,则只能查看自己上传的
whereJson["user_id"] = uid;
}
res = await vk.baseDao.getTableData({
dbName,
data,
whereJson
});
return res;
}
}
@@ -0,0 +1,64 @@
module.exports = {
/**
* 修改
* @url admin/system_uni/uni-id-files/files/kh/update 前端调用的url参数地址
* data 请求参数 说明
* @param {String} display_name 显示在后台的文件名称
* @param {String} category_id 分类id
* @param {Number} status 0:未审核 1:已审核通过 2:审核不通过
* 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,
display_name,
category_id,
cover_image,
status = 0
} = data;
// 参数非空检测
if (vk.pubfn.isNullOne(_id)) {
return { code: -1, msg: '_id不能为空' };
}
let dbName = "vk-files";
let whereJson = {};
let dataJson = {
display_name,
category_id,
cover_image,
status
};
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);
}
if (category_id == "null" || category_id === "") {
dataJson["category_id"] = _.remove();
}
// 执行数据库API请求
res.num = await vk.baseDao.update({
dbName: dbName,
whereJson,
dataJson
});
return res;
}
}
@@ -0,0 +1,66 @@
module.exports = {
/**
* 分页查询
* @url admin/system_uni/uni-id-log/sys/getList 前端调用的url参数地址
* data 请求参数 说明
* @param {Number} pageIndex 当前页码
* @param {Number} pageSize 每页显示数量
* @param {Array<Object>} sortRule 排序规则
* @param {object} formData 查询条件数据源
* @param {Array<Object>} columns 查询条件规则
* 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 { dcloud_appid, appids } = data.formData || {};
let whereJson = {};
if (dcloud_appid) {
if (dcloud_appid === "___empty-array___") {
whereJson["dcloud_appid"] = [];
} else if (dcloud_appid === "___error___") {
whereJson["dcloud_appid"] = _.and(_.exists(true), _.nin(appids));
} else if (dcloud_appid === "___non-existent___") {
whereJson["dcloud_appid"] = _.exists(false);
} else {
whereJson["dcloud_appid"] = _.or(_.eq(dcloud_appid), _.exists(false));
}
}
let dbName = "uni-id-log";
res = await vk.baseDao.getTableData({
dbName,
data,
whereJson,
// 副表列表
foreignDB: [{
dbName: "opendb-app-list",
localKey: "dcloud_appid",
foreignKey: "appid",
localKeyType: "array",
as: "appList",
limit: 500
},
{
dbName: "uni-id-users",
localKey: "user_id",
foreignKey: "_id",
as: "userInfo",
limit: 1,
fieldJson: {
_id: true,
avatar: true,
nickname: true,
gender: true
}
}
],
});
return res;
}
}