Files
t/uniCloud-alipay/cloudfunctions/ext-storage-co/index.obj.js
T
root 50f8a89d51 fix: 云函数鉴权加固与投票数据防护
- follow/cms-vote/cms-articles-like/cms-articles-collect 云对象写操作强制 checkToken,uid 以服务端令牌为准,杜绝客户端伪造身份
- user-info.getIP 仅允许查询本人登录 IP(get_user_info 公开资料保持不变)
- ext-storage-co 上传凭证需登录,删除文件仅限 admin 角色(原为完全裸奔)
- cms-vote/cms-vote-info/user_select_vote 三表 schema 写权限全部关闭(投票读写均走云对象)
- 修复 follow.reFollow 中 total<0 永假导致的逻辑错误
- 各云对象 package.json 补 uni-id-common 依赖声明
- main.js 登录过期跳转修正为实际页面路径 /pages/login/login
2026-09-10 21:31:25 +08:00

69 lines
1.9 KiB
JavaScript

const uniID = require('uni-id-common');
const extStorageManager = uniCloud.getExtStorageManager({
provider: "qiniu",
domain:"qnycdn.mymoyu.top",
bucketName:"dc-qiniu-alipay-env-00jxt5y29hrd-85e",
bucketSecret:"suyB1I04aREl5shtiow2dJlbUQaxowYX6Juxd4pyy208A8kJ8zdYObFW9YAwpzZg/1H6zsFdH+DgNtSx13l034a/tgoEV6+o1+V/mRp48zVeQraMwD/PaUel8k9bJtFMpIDMVWMrEOhCjq9NRPkR0xFPfIAOMilkJDDSZIr5eaJAR6pQL0A/wAYLVokw9xOBUovH6311FMxzEZWlpceVyA=="
});
module.exports = {
_before: function() {
},
async getUploadFileOptions(data = {}) {
const { errCode } = await uniID.createInstance({ context: this.getClientInfo() }).checkToken(this.getUniIdToken());
if (errCode) throw new Error('请先登录后再上传文件');
let {
cloudPath
} = data;
console.log(data);
let uploadFileOptionsRes = extStorageManager.getUploadFileOptions({
cloudPath: `${cloudPath}`,
allowUpdate: false,
});
return uploadFileOptionsRes;
},
getTempFileURL(data = {}) {
let {
src
} = data;
let res = extStorageManager.getTempFileURL({
fileList: [src], // 文件地址列表
});
console.log('getTempFileURL: ', res);
return res;
},
// // 下载文件
// async downloadFile(data = {}) {
// let {
// fileID,
// domain,
// } = data;
// const extStorageManager = uniCloud.getExtStorageManager({
// provider, // 扩展存储供应商
// domain, // 自定义域名
// });
// let res = extStorageManager.downloadFile({
// fileID
// });
// return res;
// },
// // 删除文件
async deleteFile(data = {}) {
const { role, errCode } = await uniID.createInstance({ context: this.getClientInfo() }).checkToken(this.getUniIdToken());
if (errCode || !(role || []).includes('admin')) throw new Error('仅管理员可删除文件');
let {
fileList
} = data;
console.log(fileList)
let res = await extStorageManager.deleteFile({
fileList
});
console.log('deleteFile: ', res);
return res;
}
}