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