众包后台管理系统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级