|
|
|
|
* git代码仓库
|
|
|
|
|
```
|
|
|
|
|
http://146.56.199.25:3000/zhuibobo/EnforcementCode-NOS-2.0.git
|
|
|
|
|
```
|
|
|
|
|
* 数据库
|
|
|
|
|
* 开发时使用227上的库zfjd2.0-nos作为开发数据库
|
|
|
|
|
* 通过视图的方式引入了表,以进行必要功能的开发
|
|
|
|
|
```
|
|
|
|
|
efcode_virtual_unit
|
|
|
|
|
srz_dept
|
|
|
|
|
srz_user
|
|
|
|
|
sys_dept
|
|
|
|
|
sys_user
|
|
|
|
|
```
|
|
|
|
|
* 部署时将合并2个库的表结构,现场和非现场的使用同一个数据库
|
|
|
|
|
* 表结构的维护全部采用sql,存入[nos](script/sql/nos)文件夹中,后续会通过脚本多次重建数据库
|
|
|
|
|
* 非现场执法的表明全部采用 nos_开头,方便后续区分
|
|
|
|
|
* 所有表和字段都需要加上中文的comment说明
|
|
|
|
|
* 将所有非现场执法的表的都加入租户的[application.yml](zdxt-web-server/zdxt-admin-web-server/src/main/resources/application.yml)yml的排除表配置中
|
|
|
|
|
```
|
|
|
|
|
# 多租户配置
|
|
|
|
|
tenant:
|
|
|
|
|
# 是否开启
|
|
|
|
|
enable: false
|
|
|
|
|
# 排除表
|
|
|
|
|
excludes:
|
|
|
|
|
- sys_menu
|
|
|
|
|
- sys_tenant
|
|
|
|
|
- sys_tenant_package
|
|
|
|
|
```
|
|
|
|
|
* 非现场的所有数据库表,需要增加以下字段:
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
* 使用[install-to-maven.ps1](Libs/install-to-maven.ps1)将jar包注册到本地的maven仓库中,后续如果需要更新,也
|
|
|
|
|
* 后端的功能全部写入[zdxt-enforcement-nos](zdxt-modules/zdxt-enforcement-nos)中
|
|
|
|
|
* 前端分为3个
|
|
|
|
|
* 非现场企业端
|
|
|
|
|
* [zdxt-efcode-nos-enterprise-app](zdxt-web-client/zdxt-efcode-nos-enterprise-app)
|
|
|
|
|
* 非现场执法端
|
|
|
|
|
* [zdxt-efcode-nos-enforcement-app](zdxt-web-client/zdxt-efcode-nos-enforcement-app)
|
|
|
|
|
* 非现场监督端
|
|
|
|
|
* [zdxt-efcode-nos-supervision-app](zdxt-web-client/zdxt-efcode-nos-supervision-app)
|
|
|
|
|
* 代码生成
|
|
|
|
|
* 将设计好的表,创建到执法码二期的库中,可以使用现有的代码生成的模块,生成统一风格的代码格式,方便后续维护
|
|
|
|
|
* 关于包名的修改,生成代码的地方,导入表后,点击编辑,生成信息中可以修改导出的包名,设置为com.zdxt.enforcementnos,这样导出后,代码和现有的功能目录一致
|
|
|
|
|
* 前端接入方法
|
|
|
|
|
* 开发时
|
|
|
|
|
```mermaid
|
|
|
|
|
graph TD
|
|
|
|
|
A[开发时 App 登录页面] -->|Vite 代理转发登录请求| B["现场执法后台 /api 前缀请求(现场执法)"]
|
|
|
|
|
B -->|返回访问 Token| C[后续接口访问]
|
|
|
|
|
C --> D["/api 前缀请求(现场执法)"]
|
|
|
|
|
C --> E["/nosapi 前缀请求(非现场执法)"]
|
|
|
|
|
D -->|Vite 代理转发| F[现场执法后台]
|
|
|
|
|
E -->|Vite 代理转发| F
|
|
|
|
|
```
|
|
|
|
|
* 部署时
|
|
|
|
|
* 从主页面进入非现场的页面时,会携带token,凭借token可以调用监督码的后台接口,获取相关的信息
|
|
|
|
|
```mermaid
|
|
|
|
|
graph TD
|
|
|
|
|
A[从主页面进入非现场的页面时] -->|携带token进入| B["路由守卫拦截,获取token,存入$globalStore"]
|
|
|
|
|
B -->|返回访问 Token| C[后续接口访问]
|
|
|
|
|
C --> D["/api 前缀请求(现场执法)"]
|
|
|
|
|
C --> E["/nosapi 前缀请求(非现场执法)"]
|
|
|
|
|
D -->|NG 代理转发| F[现场执法后台]
|
|
|
|
|
E -->|NG 代理转发| F
|
|
|
|
|
```
|
|
|
|
|
* 后端接入方法.
|
|
|
|
|
* 现场执法提供给非现场执法的接口,所需的参数通过接口参数传递,不要凭借token去获取数据.
|
|
|
|
|
* 非现场执法的接口,只验证token,不要再做其他权限设置,等后边合并的时候在考虑
|
|
|
|
|
* 前端进入后,先请求一次后端,将token提交给后端,后端自行存储,本次session中,凭借改token去调用后端接口
|
|
|
|
|
* 后续如何将非现场的代码合入现场执法的代码中
|
|
|
|
|
* 前端
|
|
|
|
|
* 前端分为3个独立的工程,每个都需要独立合并一次
|
|
|
|
|
* [zdxt-efcode-nos-enterprise-app](zdxt-web-client/zdxt-efcode-nos-enterprise-app)
|
|
|
|
|
* [zdxt-efcode-nos-supervision-app](zdxt-web-client/zdxt-efcode-nos-supervision-app)
|
|
|
|
|
* 后端
|
|
|
|
|
* 将[zdxt-enforcement-nos](zdxt-modules/zdxt-enforcement-nos)模块的代码拷贝到现场执法的代码中,应该就可以直接使用
|