Showing
1 changed file
with
366 additions
and
0 deletions
README-DEFAULT.md
0 → 100644
| 1 | +## 准备 | |
| 2 | + | |
| 3 | +- [node](http://nodejs.org/) 和 [git](https://git-scm.com/) -项目开发环境 | |
| 4 | +- [Vite](https://vitejs.dev/) - 熟悉 vite 特性 | |
| 5 | +- [Vue3](https://v3.vuejs.org/) - 熟悉 Vue 基础语法 | |
| 6 | +- [TypeScript](https://www.typescriptlang.org/) - 熟悉`TypeScript`基本语法 | |
| 7 | +- [Es6+](http://es6.ruanyifeng.com/) - 熟悉 es6 基本语法 | |
| 8 | +- [Vue-Router](https://next.router.vuejs.org/) - 熟悉 vue-router 基本使用 | |
| 9 | +- [Ant-Design-Vue](https://2x.antdv.com/docs/vue/introduce-cn/) - ui 基本使用 | |
| 10 | + | |
| 11 | +## 目录结构及重要文件说明 | |
| 12 | + | |
| 13 | +### 目录结构 | |
| 14 | + | |
| 15 | +此项目大致结构如下 | |
| 16 | + | |
| 17 | +```txt | |
| 18 | +. | |
| 19 | +├── build # 打包脚本相关 | |
| 20 | +│ ├── config # 配置文件 | |
| 21 | +│ ├── generate # 生成器 | |
| 22 | +│ ├── script # 脚本 | |
| 23 | +│ └── vite # vite配置 | |
| 24 | +├── mock # mock文件夹 | |
| 25 | +├── public # 公共静态资源目录 | |
| 26 | +├── src # 主目录 | |
| 27 | +│ ├── api # 接口文件 | |
| 28 | +│ ├── assets # 资源文件 | |
| 29 | +│ │ ├── icons # icon sprite 图标文件夹 | |
| 30 | +│ │ ├── images # 项目存放图片的文件夹 | |
| 31 | +│ │ └── svg # 项目存放svg图片的文件夹 | |
| 32 | +│ ├── components # 公共组件 | |
| 33 | +│ ├── design # 样式文件 | |
| 34 | +│ ├── directives # 指令 | |
| 35 | +│ ├── enums # 枚举/常量 | |
| 36 | +│ ├── hooks # hook | |
| 37 | +│ │ ├── component # 组件相关hook | |
| 38 | +│ │ ├── core # 基础hook | |
| 39 | +│ │ ├── event # 事件相关hook | |
| 40 | +│ │ ├── setting # 配置相关hook | |
| 41 | +│ │ └── web # web相关hook | |
| 42 | +│ ├── layouts # 布局文件 | |
| 43 | +│ │ ├── default # 默认布局 | |
| 44 | +│ │ ├── iframe # iframe布局 | |
| 45 | +│ │ └── page # 页面布局 | |
| 46 | +│ ├── locales # 多语言 | |
| 47 | +│ ├── logics # 逻辑 | |
| 48 | +│ ├── main.ts # 主入口 | |
| 49 | +│ ├── router # 路由配置 | |
| 50 | +│ ├── settings # 项目配置 | |
| 51 | +│ │ ├── componentSetting.ts # 组件配置 | |
| 52 | +│ │ ├── designSetting.ts # 样式配置 | |
| 53 | +│ │ ├── encryptionSetting.ts # 加密配置 | |
| 54 | +│ │ ├── localeSetting.ts # 多语言配置 | |
| 55 | +│ │ ├── projectSetting.ts # 项目配置 | |
| 56 | +│ │ └── siteSetting.ts # 站点配置 | |
| 57 | +│ ├── store # 数据仓库 | |
| 58 | +│ ├── utils # 工具类 | |
| 59 | +│ └── views # 页面 | |
| 60 | +├── test # 测试 | |
| 61 | +│ └── server # 测试用到的服务 | |
| 62 | +│ ├── api # 测试服务器 | |
| 63 | +│ ├── upload # 测试上传服务器 | |
| 64 | +│ └── websocket # 测试ws服务器 | |
| 65 | +├── types # 类型文件 | |
| 66 | +├── vite.config.ts # vite配置文件 | |
| 67 | +└── windi.config.ts # windcss配置文件 | |
| 68 | +``` | |
| 69 | + | |
| 70 | +### 配置文件 | |
| 71 | + | |
| 72 | +#### 项目页面目录说明 | |
| 73 | + | |
| 74 | +``` | |
| 75 | +. | |
| 76 | +├── src | |
| 77 | +│ └── views | |
| 78 | +│ ├── alarm // 告警管理 | |
| 79 | +│ │ ├── config // 告警配置 | |
| 80 | +│ │ ├── contacts // 告警联系人 | |
| 81 | +│ │ └── log // 告警记录 | |
| 82 | +│ ├── camera // 视频管理 | |
| 83 | +│ │ ├── manage // 视频配置 | |
| 84 | +│ │ └── streaming // 流媒体配置 | |
| 85 | +│ ├── common // 公共 | |
| 86 | +│ │ └── organizationIdTree // 组织树 | |
| 87 | +│ ├── configuration // 组态 | |
| 88 | +│ │ └── center // 组态中心 | |
| 89 | +│ ├── dashboard // 仪表盘 | |
| 90 | +│ │ └── workbench // 首页 | |
| 91 | +│ ├── device // 设备管理 | |
| 92 | +│ │ ├── list // 设备列表 | |
| 93 | +│ │ ├── localtion // 地理位置 | |
| 94 | +│ │ └── profiles // 产品 | |
| 95 | +│ ├── message // 消息管理 | |
| 96 | +│ │ ├── config // 消息配置 | |
| 97 | +│ │ ├── log // 消息记录 | |
| 98 | +│ │ └── template // 消息模版 | |
| 99 | +│ ├── notice // 平台通知 | |
| 100 | +│ │ ├── manager // 通知管理 | |
| 101 | +│ │ └── myNotices // 我的通知 | |
| 102 | +│ ├── operation // 运维管理 | |
| 103 | +│ │ ├── onlinerecord // 上下线记录 | |
| 104 | +│ │ └── ota // OTA升级 | |
| 105 | +│ ├── report // 报表管理 | |
| 106 | +│ │ ├── config // 报表配置 | |
| 107 | +│ │ └── export // 报表导出 | |
| 108 | +│ ├── rule // 规则引擎 | |
| 109 | +│ │ ├── dataFlow // 数据流转 | |
| 110 | +│ │ ├── linkedge // 场景联动 | |
| 111 | +│ │ └── script // 转换脚本 | |
| 112 | +│ ├── scriptmanage // 脚本管理 | |
| 113 | +│ │ └── converscript // 转换函数 | |
| 114 | +│ ├── sys // 系统 | |
| 115 | +│ │ ├── error-log // 错误页面 | |
| 116 | +│ │ ├── exception // 异常页面 | |
| 117 | +│ │ ├── iframe // iframe页面 | |
| 118 | +│ │ ├── lock // 锁屏页面 | |
| 119 | +│ │ ├── login // 登录页面 | |
| 120 | +│ │ └── redirect // 重定向页面 | |
| 121 | +│ ├── system // 系统管理 | |
| 122 | +│ │ ├── account // 账号管理 | |
| 123 | +│ │ ├── changePassword // 修改密码 | |
| 124 | +│ │ ├── customize // 平台定制 | |
| 125 | +│ │ ├── dict // 字典管理 | |
| 126 | +│ │ ├── feedback // 意见反馈 | |
| 127 | +│ │ ├── log // 日志管理 | |
| 128 | +│ │ ├── menu // 菜单管理 | |
| 129 | +│ │ ├── organization // 组织管理 | |
| 130 | +│ │ ├── role // 角色管理 | |
| 131 | +│ │ └── scheduled // 定时任务 | |
| 132 | +│ ├── tenant // 租户管理 | |
| 133 | +│ │ ├── config // 租户配置 | |
| 134 | +│ │ ├── list // 租户列表 | |
| 135 | +│ │ └── role // 租户角色 | |
| 136 | +│ └── visual // 可视化管理 | |
| 137 | +│ └── board // 看板管理 | |
| 138 | +``` | |
| 139 | + | |
| 140 | +#### 页面目录创建示例 | |
| 141 | + | |
| 142 | +##### 项目文件创建 | |
| 143 | + | |
| 144 | +``` | |
| 145 | +. | |
| 146 | +├── src | |
| 147 | +│ └── api | |
| 148 | +| | └── 菜单目录 | |
| 149 | +│ | │ ├── 菜单一 | |
| 150 | +│ | │ ├── model // 数据模型 typescript 类型 | |
| 151 | +│ | │ | └── index.ts // 类型文件 | |
| 152 | +│ | │ └── index.ts // http请求 | |
| 153 | +│ | │ ├── 菜单二 | |
| 154 | +│ | │ └── 菜单三 | |
| 155 | +│ └── views | |
| 156 | +│ ├── 菜单目录 | |
| 157 | +│ │ ├── 菜单一 | |
| 158 | +| | | ├── config.ts // 配置文件 | |
| 159 | +| | | ├── cpns // 菜单组件 | |
| 160 | +| | | | └── xxx.vue // 组件 | |
| 161 | +| | | └── index.vue // 菜单页面入口 | |
| 162 | +│ │ ├── 菜单二 | |
| 163 | +│ │ └── 菜单三 | |
| 164 | +``` | |
| 165 | + | |
| 166 | +##### 菜单创建 | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | +> 注意: 登录系统管理员,进入菜单管理 新增对应目录及菜单 | |
| 171 | + | |
| 172 | +#### 基础配置 | |
| 173 | + | |
| 174 | +##### 文件位置 | |
| 175 | + | |
| 176 | +``` | |
| 177 | +. | |
| 178 | +├── .env | |
| 179 | +``` | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | +##### 项目启动端口配置示例 | |
| 184 | + | |
| 185 | +```yaml | |
| 186 | +# port | |
| 187 | +VITE_PORT = 8083 | |
| 188 | +``` | |
| 189 | + | |
| 190 | +> 注意:这里可以修改为其他端口,8083 并不是固定不变的 | |
| 191 | + | |
| 192 | +##### 项目标题配置示例 | |
| 193 | + | |
| 194 | +```yaml | |
| 195 | +# spa-title | |
| 196 | +VITE_GLOB_APP_TITLE = xxxxxxxx | |
| 197 | +``` | |
| 198 | + | |
| 199 | +#### 开发/生产环境配置 | |
| 200 | + | |
| 201 | +> 开发/生产环境配置文件: | |
| 202 | +> | |
| 203 | +> 开发环境 **.env.devlopment** | |
| 204 | +> | |
| 205 | +> 生产环境 **.env.production** | |
| 206 | + | |
| 207 | +##### 文件位置 | |
| 208 | + | |
| 209 | +``` | |
| 210 | +. | |
| 211 | +├── .env.devlopment | |
| 212 | +├── .env.procution | |
| 213 | +``` | |
| 214 | + | |
| 215 | +<img src="https://oss.yuntengcloud.com//iotdocs/img/image-20230109172030928.png"/> | |
| 216 | + | |
| 217 | +```yaml | |
| 218 | +# Whether to open mock | |
| 219 | +# VITE_GLOB_USE_MOCK = true | |
| 220 | + | |
| 221 | +# public path | |
| 222 | +VITE_GLOB_PUBLIC_PATH = / | |
| 223 | + | |
| 224 | +# Cross-domain proxy, you can configure multiple | |
| 225 | +# Please note that no line breaks | |
| 226 | + | |
| 227 | +# 本地 | |
| 228 | +# VITE_PROXY = [["/api","http://localhost:8080/api"]] | |
| 229 | + | |
| 230 | +# 线上测试环境 | |
| 231 | +VITE_PROXY = [["/api","http://222.180.200.114:48080/api"],["/thingskit-drawio","http://localhost:63942/"]] | |
| 232 | + | |
| 233 | +# 实时数据的ws地址 | |
| 234 | +VITE_GLOB_WEB_SOCKET = ws://222.180.200.114:48080/api/ws/plugins/telemetry?token= | |
| 235 | + | |
| 236 | +# Delete console | |
| 237 | +VITE_GLOB_DROP_CONSOLE = true | |
| 238 | + | |
| 239 | +# Basic interface address SPA | |
| 240 | +VITE_GLOB_API_URL=/api | |
| 241 | + | |
| 242 | +# File upload address, optional | |
| 243 | +VITE_GLOB_UPLOAD_URL=/api/yt/oss/upload | |
| 244 | + | |
| 245 | +# Interface prefix | |
| 246 | +VITE_GLOB_API_URL_PREFIX=/yt | |
| 247 | + | |
| 248 | +#configuration | |
| 249 | +VITE_GLOB_CONFIGURATION = /thingskit-drawio | |
| 250 | + | |
| 251 | +# Content Security Policy | |
| 252 | +VITE_GLOB_CONTENT_SECURITY_POLICY = false | |
| 253 | + | |
| 254 | +# Alarm Notify Polling Interval Time | |
| 255 | +VITE_GLOB_ALARM_NOTIFY_POLLING_INTERVAL_TIME = 500000 | |
| 256 | + | |
| 257 | +# Alarm Notify Auto Close Time Unit is Second | |
| 258 | +VITE_GLOB_ALARM_NOTIFY_DURATION = 5 | |
| 259 | + | |
| 260 | +``` | |
| 261 | + | |
| 262 | +##### 代理服务器配置示例 | |
| 263 | + | |
| 264 | +```json | |
| 265 | +# 代理服务器配置 | |
| 266 | +VITE_PROXY = [["/api","http://xxx.xxx.xxx.xxx:xxxxx/api"],["/thingskit-drawio","http://localhost:3000/"]] | |
| 267 | + | |
| 268 | +``` | |
| 269 | + | |
| 270 | +> 注意:协议属于 http/https | |
| 271 | + | |
| 272 | +##### Socket 配置 | |
| 273 | + | |
| 274 | +```json | |
| 275 | +# 实时数据的ws地址 | |
| 276 | +VITE_WEB_SOCKET = ws://localhost:8080/api/ws/plugins/telemetry?token= | |
| 277 | +``` | |
| 278 | + | |
| 279 | +> 注意: 协议属于 ws/wss | |
| 280 | + | |
| 281 | +##### 附件上传 URL | |
| 282 | + | |
| 283 | +```json | |
| 284 | +# 附件 | |
| 285 | +VITE_GLOB_UPLOAD_URL=/api/yt/oss/upload | |
| 286 | +``` | |
| 287 | + | |
| 288 | +##### 组态配置示例 | |
| 289 | + | |
| 290 | +```json | |
| 291 | +#configuration 组态地址 | |
| 292 | +VITE_GLOB_CONFIGURATION = /thingskit-drawio | |
| 293 | +``` | |
| 294 | + | |
| 295 | +##### 内容安全策略配置示例 | |
| 296 | + | |
| 297 | +```json | |
| 298 | +# 内容安全策略配置 | |
| 299 | +VITE_GLOB_CONTENT_SECURITY_POLICY = false | |
| 300 | + | |
| 301 | +``` | |
| 302 | + | |
| 303 | +> 注意:设置为 false,则是 http,设置为 true,则是 https | |
| 304 | + | |
| 305 | +##### 告警弹窗请求配置示例 | |
| 306 | + | |
| 307 | +```json | |
| 308 | +# Alarm Notify Polling Interval Time | |
| 309 | +VITE_GLOB_ALARM_NOTIFY_POLLING_INTERVAL_TIME = 500000 //定时请求告警轮询时间 | |
| 310 | + | |
| 311 | +# Alarm Notify Auto Close Time Unit is Second | |
| 312 | +VITE_GLOB_ALARM_NOTIFY_DURATION = 5 //告警弹窗自动关闭时间 | |
| 313 | + | |
| 314 | +``` | |
| 315 | + | |
| 316 | +##### 公共路径配置示例 | |
| 317 | + | |
| 318 | +```json | |
| 319 | +# public path | |
| 320 | +VITE_GLOB_PUBLIC_PATH = / | |
| 321 | + | |
| 322 | +``` | |
| 323 | + | |
| 324 | +> 注意:公共路径也是可以修改的,不是固定不变的,根据您公司项目具体来修改即可 | |
| 325 | + | |
| 326 | +## 开发环境搭建及源码运行 | |
| 327 | + | |
| 328 | +### 开发环境搭建 | |
| 329 | + | |
| 330 | +- [Node.js]([Node.js (nodejs.org)](https://nodejs.org/en/))安装 | |
| 331 | +- [yarn]([首页 | Yarn - JavaScript 软件包管理器 | Yarn 中文文档 - Yarn 中文网 (yarnpkg.cn)](https://www.yarnpkg.cn/))安装(完成 Node.js 安装后使用终端命令: npm install -g yarn 进行全局安装) | |
| 332 | + | |
| 333 | +> 注意: | |
| 334 | +> | |
| 335 | +> 建议 node 版本 16+,项目中使用版本为 16.15.0 | |
| 336 | + | |
| 337 | +### 源码运行 | |
| 338 | + | |
| 339 | +```sh | |
| 340 | +# 安装yarn 包管理工具 | |
| 341 | +npm install -g yarn | |
| 342 | + | |
| 343 | +# 安装依赖 | |
| 344 | +yarn install | |
| 345 | + | |
| 346 | +# 运行开发环境 | |
| 347 | +yarn dev | |
| 348 | + | |
| 349 | +``` | |
| 350 | + | |
| 351 | +## 打包部署 | |
| 352 | + | |
| 353 | +### 打包配置 | |
| 354 | + | |
| 355 | +根据需求修改环境变量 | |
| 356 | + | |
| 357 | +### 打包命令 | |
| 358 | + | |
| 359 | +```sh | |
| 360 | +# 打开终端 输入打包命令 | |
| 361 | +yarn build | |
| 362 | +``` | |
| 363 | + | |
| 364 | +### 打包位置 | |
| 365 | + | |
| 366 | + | ... | ... |