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 | + |