| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 'use strict';
- module.exports = app => {
- class WeappFileController extends app.BaseController {
- /**
- * 获取文件列表页面数据
- *
- * @param {Object} ctx - 上下文对象
- */
- async file(ctx) {
- try {
- const { id } = ctx.query;
- if (!id) {
- ctx.body = { code: -1, msg: '缺少子项目ID', data: null };
- return;
- }
- // 获取子项目信息
- const subProject = await ctx.service.subProject.getDataById(id);
- if (!subProject) {
- ctx.body = { code: -1, msg: '子项目不存在', data: null };
- return;
- }
- // 获取有效的归档分类
- const filing = await ctx.service.filing.getValidFiling(id, subProject.permission.filing_type);
- // 获取所有分类数据
- const categoryData = await ctx.service.category.getAllCategory(subProject);
- // 检查权限
- const canFiling = subProject.permission.file_permission.indexOf(ctx.service.subProjPermission.PermissionConst.file.filing.value) >= 0;
- const canUpload = subProject.permission.file_permission.indexOf(ctx.service.subProjPermission.PermissionConst.file.upload.value) >= 0;
- const canEdit = subProject.permission.file_permission.indexOf(ctx.service.subProjPermission.PermissionConst.file.editfile.value) >= 0;
- // 获取文件引用列表
- const fileReferenceList = await ctx.service.subProject.getFileReference(subProject, ctx.service.subProject.FileReferenceType.file);
- ctx.body = {
- code: 0,
- msg: '获取成功',
- data: {
- filing,
- categoryData,
- canFiling,
- canUpload,
- canEdit,
- fileReferenceList,
- },
- };
- } catch (err) {
- this.log(err);
- ctx.body = { code: -1, msg: err.toString(), data: null };
- }
- }
- }
- return WeappFileController;
- };
|