广州矛调粤政易端
edit | blame | history | raw

项目必读

项目运行

npm install // 项目初始化下载,运行过慢时可选择执行yarn,运行前如有package-lock.json请删除

npm start // 运行

npm run build // 打包

注意事项

  • 项目的运行环境是node@14.17.4版本下下载的。(版本过高可能会存在问题)

  • TODO 标签代表可运行但后续变化可修改

  • 打包代码需注意api地址访问,需修改utils - utility.js文件的 isDebug 变量,true为正式环境。

  • 引入dingtalk-jsapi包是为了钉钉ui组件引入,未使用到钉钉的jsapi接口, 此项目为政务钉钉jsApi调用是用gdt-jsapi

  • 引入海口地图服务注意:

  1. 海口地图引入了public的map,主要在index.html里面中引入了:

```




```

  1. 修改了map地图内以下地址的源码,添加了自己的服务器资源地址替换原有的地址,将源代码中的[HOSTNAME_AND_PATH_TO_JSAPI] 替换为global中的arcgisUrl。

D:\CodeWeb\hztGrid\mobile\public\map\arcgis_js_v332_api\arcgis_js_api\library\3.32\3.32 地图路径需要修改

```
static-server\public\arcgis-3.32\init.js // 38行处

static-server\public\arcgis-3.32\dojo\dojo.js // 36行处
```

  1. 海口地图参考:ArcGIS API for JavaScript3.x版本。

  2. 项目运行地图服务(ArcGIS)时调用的是以下地址(global.js)内的请求链接,如项目存放的服务器地址变更注意此(global.js)也需要考虑是否变更。

static-server\public\arcgis-3.32\global.js

  • gdt-jsapi海口“海政通”接口调用的包。

  • 项目中使用了“react-router-cache-route”路由缓存,可以缓存路由页面,不进行二次刷新页面,刷新页面通过status->router.js内的spinPage变量控制。

  • building,room,task,mediate/eventList模块页面(index.jsx)和搜索页面(Search.jsx)有共同的操作代码,如要改其中一个,另一个也需要注意是否需要更改,后续这一部分逻辑可优化(当时设计是为了独立性)。

  • 项目中曾使用react-virtual虚拟滚动,但因与react-router-cache-route配合使用时产生滚动条复位的问题未能解决,现已屏蔽react-virtual相关代码,后续不需要则可删除。

项目目录

├── public
│   ├── favicon.ico
│   ├── index.html
│   ├── loader.css  项目初始空白过渡动画
│   ├── map_dot.png  地图服务的打点标记图片icon
│   ├── marker.png  地图服务的marker标记图片icon
│   ├── dayjs.min.js  时间,日期处理的js,moment的替代
│   ├── regionData2.js  海口市地址js
│   ├── regionData.js  省市区地址js
│   └── map  海口政务地图服务的js库
├── src
    ├── api  项目api接口
    ├── assets  项目图片,icon等资源
    ├── components  公共组件,页面组件(页面组件多数情况下都是其页面单独使用)库
    ├── router  路由
    ├── status  数据,状态,工具类
    ├── styles  样式
    ├── utils  公共方法
    ├── views  页面
    └── index.js  入口文件
└── craco.config.js  craco的配置文件,用于加载less
README 4 KB
public/robots 67 b