众包后台管理系统V1.0.0开发规范

系统开发

系统架构设计


浏览:888 次

众包后台管理系统开发规范

写在前面

app对用户来说很舒适,管理系统对我们来说也很舒适。该app致力于改善用户体验。还应改进管理制度,以提高工作人员的效率。

工程结构

模块化

区分模块边界并建立不同的目录。不要看基本框架上的常见问题。让我们看看我们下载代码时写的地方。

服务器交互的第一个目录。

src/api根据业务命名,可以创建单独的目录来表示不同的业务模块。例如,src/api/task/rule js src/api/task/index.js

第二个目录,页面路由配置

目前,它是静态的。将来,它必须通过服务器控制权限,然后动态返回路由进行渲染<;br/>Static management before purpose
router
根据服务创建路由,然后将其放入router/routerCollection。不再需要将其添加到索引中。航线的爆炸式增长是可怕的!!!此外,多人发展也容易发生冲突。

实例

图像.png

城市规则路线.js

导出常量cityRuleOuter=[

{

路径:'/city',

name:'城市',

component:()=>import('@/views/city/index'),

元:{title:“城市列表”}

}

];

函数addCityRuleRouter(arr){

城市规则路由器。forEach(值=>arr.push(值));

}

导出默认addCityRuleRouter;

routerCollection.js

从“../router/cityRuleRouter”导入addCityRuleRouter

//只需导入自己定义的路线并加入下面的输入组。

让路由器=[addCityRuleRouter];

导出默认函数执行(路由器){

路由器。forEach(回调=>回调(路由器))

}

第三个目录视图

根据不同的业务创建不同的目录模块。

分为三部分

视图层(xxx.vue)

视图控制层(xxxController.vue)

通用逻辑处理,通用可变层服务层(xxxService.vue)

(如果有一些或多个模块是通用的,请提及底层目录)

举个例子

城市/索引视图层:index.vue

<脚本>

从“./indexController”导入indexController

导出默认indexController;

查看控制层indexController.js

从“@/components/Pagination”导入分页;

从'../../components/CrowdsourceExport'导入CrowdsourceExport;

从“@/api/city”导入{queryCityList};

从“./indexServices”导入{taskType,userCity};

导出默认值{

组件:{分页、众包导出},

过滤器:{},

数据(){

返回{

showExportDialog:true,

列表:空,

城市选项:userCity,

条件表单:{

城市代码:“”

},

listLoading:true,

childTaskTypeList:任务类型,

页面信息:{

列表:[]

}

}

},

创建(){

如果(this.cityOptions&&this.city Options.length!==0){

此条件表单。cityCode=this.cityOptions[0].value;

}

this.query()

},

方法:{

查询(){

queryCityList(this.conditionForm)。则((res)=>{

此页面信息。列表=res.result;

}). 捕获(原因=>{

})

},

至(href,cityCode){

这.$router.push({

路径:href,

查询:{

城市代码:cityCode,

}

})

}

}

}

通用逻辑处理,通用变量层服务层indexService.js

从“@/utils/commonOptions”导入{getUserCity};

导出常量任务类型=[

{

标签:“清洁工作单”,

值:“03-01”,

href=“/city/taskRule/clean”

},

{

标签:“超停派工单”,

值:“02-03”,

href=“/city/taskRule/overDispatch”

},

{

标签:“指定调度工单”,

值:“02-01”,

href=“/city/taskRule/assignDiskPatch”

},

];

export const userCity=getUserCity();

关于添加、详细信息、修改页面

简单的事情,简单的事情。

一页可以做一件事。不要制作详细信息、编辑、添加或创建页面,然后根据页面中的不同输入参数决定要显示的内容。因为,如果有很多页面元素,或者有需要权限控制的按钮等等,如果所有这些元素都使用一个页面,那么调试工作量是巨大的。实际的呼叫成本远高于花在两个页面上的时间。但也是“无模式”。

页面内容可以重复,控制器可以大致相同,通用逻辑可以放在服务中。

接口布局

合一

所有组件都是size=“mini”每页都必须有标题。II级或III级