@ganwei-web/ganwei-pc-cli 6.3.6 → 6.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/public/static/css/ElementPlusAdapter.css +89 -443
  2. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/public/static/fonts/font/iconfont.css +7 -3
  3. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/public/static/fonts/font/iconfont.js +1 -1
  4. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/public/static/fonts/font/iconfont.json +7 -0
  5. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/public/static/fonts/font/iconfont.ttf +0 -0
  6. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/public/static/fonts/font/iconfont.woff +0 -0
  7. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/public/static/fonts/font/iconfont.woff2 +0 -0
  8. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/public/static/themes/dark-6-1.css +15 -0
  9. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/public/static/themes/green-6-1.css +24 -0
  10. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/public/static/themes/light-6-1.css +16 -1
  11. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/src/components/layouts/Navigation/TopNav.vue +10 -18
  12. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-index/src/views/index.js +4 -5
  13. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-login/public/static/themes/light-6-1.css +1 -1
  14. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-login/src/views/ssoLogin.vue +15 -11
  15. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-template/env.d.ts +7 -0
  16. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-template/package.json +3 -3
  17. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-template/public/static/themes/dark-6-1.css +443 -3
  18. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-template/public/static/themes/light-6-1.css +435 -1
  19. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-template/src/main.ts +2 -2
  20. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-template/src/utils/dom.ts +3 -11
  21. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-template/src/utils/performance.ts +2 -2
  22. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-template/src/utils/signalr.ts +49 -22
  23. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-template/src/utils/string.ts +0 -14
  24. package/ganwei-iotcenter-index-6.2.3/packages/ganwei-iotcenter-template/vite.config.ts +10 -0
  25. package/package.json +1 -1
  26. package/ganwei-iotcenter-index-6.2.3/pnpm-lock.yaml +0 -9063
@@ -5,6 +5,13 @@
5
5
  "css_prefix_text": "icon-",
6
6
  "description": "",
7
7
  "glyphs": [
8
+ {
9
+ "icon_id": "46768117",
10
+ "name": "更新配置",
11
+ "font_class": "gengxinpeizhi",
12
+ "unicode": "ea0f",
13
+ "unicode_decimal": 59919
14
+ },
8
15
  {
9
16
  "icon_id": "46566483",
10
17
  "name": "gw-icon-iot-access-record",
@@ -94,11 +94,19 @@
94
94
  --frame-main-background-3: var(--gw-color-Neutrals21);
95
95
  /* 任务库 popover 背景 */
96
96
  --frame-main-background-4: var(--gw-color-Neutrals20);
97
+ --frame-main-background-primary: var(--gw-color-primary);
98
+ --frame-main-background-success: var(--gw-color-success);
99
+ --frame-main-background-waning: var(--gw-color-waning);
100
+ --frame-main-background-danger: var(--gw-color-danger);
97
101
  /* 主要字体色 */
98
102
  --frame-main-color: var(--gw-color-Neutrals2);
99
103
  /* 稍浅字体色 */
100
104
  --frame-main-color-1: var(--gw-color-Neutrals12);
101
105
  --frame-main-color-2: var(--gw-color-waning4);
106
+ --frame-main-color-primary: var(--gw-color-primary);
107
+ --frame-main-color-success: var(--gw-color-success);
108
+ --frame-main-color-waning: var(--gw-color-waning);
109
+ --frame-main-color-danger: var(--gw-color-danger);
102
110
  /* 主要边框色 */
103
111
  /* --bor-default => --border-color-2 =>*/
104
112
  --frame-main-border: var(--gw-color-Neutrals18);
@@ -385,6 +393,13 @@
385
393
  --collapse-color__hover: var(--frame-main-color);
386
394
  --collapse-content-background: transparent;
387
395
 
396
+ /* descriptions */
397
+ --descriptions-border: var(--gw-color-Neutrals18);
398
+ --descriptions-label-color: var(--frame-main-color);
399
+ --descriptions-label-background: var(--gw-color-Neutrals21);
400
+ --descriptions-content-color: var(--frame-main-color);
401
+ --descriptions-content-background: var(--frame-main-background-2);
402
+
388
403
  /* 穿梭框 */
389
404
  --transfer-background: var(--gw-color-Neutrals25);
390
405
  --transfer-border: var(--gw-color-Neutrals18);
@@ -84,11 +84,19 @@
84
84
  --frame-main-background-3: var(--gw-color-Neutrals22);
85
85
  /* 任务库 popover 背景 */
86
86
  --frame-main-background-4: var(--gw-color-Neutrals20);
87
+ --frame-main-background-primary: var(--gw-color-primary);
88
+ --frame-main-background-success: var(--gw-color-success);
89
+ --frame-main-background-waning: var(--gw-color-waning);
90
+ --frame-main-background-danger: var(--gw-color-danger);
87
91
  /* 主要字体色 */
88
92
  --frame-main-color: var(--gw-color-Neutrals2);
89
93
  /* 稍浅字体色 */
90
94
  --frame-main-color-1: var(--gw-color-Neutrals12);
91
95
  --frame-main-color-2: var(--gw-color-waning4);
96
+ --frame-main-color-primary: var(--gw-color-primary);
97
+ --frame-main-color-success: var(--gw-color-success);
98
+ --frame-main-color-waning: var(--gw-color-waning);
99
+ --frame-main-color-danger: var(--gw-color-danger);
92
100
  /* 主要边框色 */
93
101
  /* --bor-default => --border-color-2 =>*/
94
102
  --frame-main-border: var(--gw-color-Neutrals18);
@@ -315,6 +323,22 @@
315
323
  --transfer-border: var(--gw-color-Neutrals18);
316
324
  --transfer-header-background: var(--gw-color-Neutrals21);
317
325
 
326
+ /* collapse */
327
+ --collapse-header-background: var(--gw-color-Neutrals21);
328
+ --collapse-header-background__hover: var(--gw-color-Neutrals29);
329
+ --collapse-header-background__active: var(--gw-color-Neutrals29);
330
+ --collapse-color: var(--frame-main-color);
331
+ --collapse-color__hover: var(--frame-main-color);
332
+ --collapse-content-background: transparent;
333
+
334
+ /* descriptions */
335
+ --descriptions-border: var(--gw-color-Neutrals18);
336
+ --descriptions-label-color: var(--frame-main-color);
337
+ --descriptions-label-background: var(--gw-color-Neutrals21);
338
+ --descriptions-content-color: var(--frame-main-color);
339
+ --descriptions-content-background: var(--frame-main-background-2);
340
+
341
+
318
342
  /* fullcalendar 日历 */
319
343
  --fc-color: var(--gw-color-Neutrals2);
320
344
  --fc-color__active: var(--gw-color-Neutrals27);
@@ -94,11 +94,19 @@
94
94
  --frame-main-background-3: var(--gw-color-Neutrals22);
95
95
  /* 任务库 popover 背景 */
96
96
  --frame-main-background-4: var(--gw-color-Neutrals20);
97
+ --frame-main-background-primary: var(--gw-color-primary);
98
+ --frame-main-background-success: var(--gw-color-success);
99
+ --frame-main-background-waning: var(--gw-color-waning);
100
+ --frame-main-background-danger: var(--gw-color-danger);
97
101
  /* 主要字体色 */
98
102
  --frame-main-color: var(--gw-color-Neutrals2);
99
103
  /* 稍浅字体色 */
100
104
  --frame-main-color-1: var(--gw-color-Neutrals12);
101
105
  --frame-main-color-2: var(--gw-color-waning4);
106
+ --frame-main-color-primary: var(--gw-color-primary);
107
+ --frame-main-color-success: var(--gw-color-success);
108
+ --frame-main-color-waning: var(--gw-color-waning);
109
+ --frame-main-color-danger: var(--gw-color-danger);
102
110
  /* 主要边框色 */
103
111
  /* --bor-default => --border-color-2 =>*/
104
112
  --frame-main-border: var(--gw-color-Neutrals18);
@@ -214,7 +222,7 @@
214
222
 
215
223
  /*el-input 基础*/
216
224
  --input-color: var(--gw-color-Neutrals2);
217
- --input-background: var(--gw-color-Neutrals19);
225
+ --input-background: var(--gw-color-Neutrals25);
218
226
  --input-background__disabled: var(--gw-color-Neutrals20);
219
227
  --input-placeholder: var(--gw-color-Neutrals13);
220
228
  --input-border: var(--gw-color-Neutrals18);
@@ -391,6 +399,13 @@
391
399
  --collapse-color__hover: var(--frame-main-color);
392
400
  --collapse-content-background: transparent;
393
401
 
402
+ /* descriptions */
403
+ --descriptions-border: var(--gw-color-Neutrals18);
404
+ --descriptions-label-color: var(--frame-main-color);
405
+ --descriptions-label-background: var(--gw-color-Neutrals21);
406
+ --descriptions-content-color: var(--frame-main-color);
407
+ --descriptions-content-background: var(--frame-main-background-2);
408
+
394
409
  /* 穿梭框 */
395
410
  --transfer-background: var(--gw-color-Neutrals25);
396
411
  --transfer-border: var(--gw-color-Neutrals18);
@@ -163,25 +163,21 @@ watch(
163
163
  console.log('TopNav routesMap 数据尚未加载,跳过路由匹配')
164
164
  return
165
165
  }
166
-
167
166
  const map = routesMap.value
168
167
  const decodedPath = decodeURIComponent(fullPath as string)
169
- let routeBase = decodedPath
170
-
171
- // 移除查询参数获取基础路径
172
- if (routeBase.indexOf('?') != -1) {
173
- routeBase = routeBase.split('?')[0]
174
- }
175
-
176
- // 优先精确匹配
168
+ // 判断fullPath是否存在映射地址中map[decodedPath]
177
169
  if (decodedPath in map) {
178
170
  const index = map[decodedPath]
179
171
  if (index !== props.modelValue) {
180
172
  emit('update:modelValue', index)
181
173
  }
182
174
  } else {
183
- // 如果精确匹配失败,遍历 routesMap 查找匹配的基础路径(适用于外部链接)
175
+ // 去除映射键值参数和去除fullPath参数地址对比
184
176
  let matchedIndex = -1
177
+ let routeBase = decodedPath
178
+ if (routeBase.indexOf('?') != -1) {
179
+ routeBase = routeBase.split('?')[0]
180
+ }
185
181
  for (const [mapKey, index] of Object.entries(map)) {
186
182
  const mapKeyBase = mapKey.indexOf('?') != -1 ? mapKey.split('?')[0] : mapKey
187
183
  // 移除可能存在的空格后比较
@@ -192,8 +188,6 @@ watch(
192
188
  }
193
189
  if (matchedIndex !== -1 && matchedIndex !== props.modelValue) {
194
190
  emit('update:modelValue', matchedIndex)
195
- } else {
196
- console.log('TopNav 未匹配到菜单:', { decodedPath, routeBase })
197
191
  }
198
192
  }
199
193
  },
@@ -211,12 +205,6 @@ watch(
211
205
  }
212
206
  const fullPath = route.fullPath
213
207
  const decodedPath = decodeURIComponent(fullPath as string)
214
- let routeBase = decodedPath
215
-
216
- if (routeBase.indexOf('?') != -1) {
217
- routeBase = routeBase.split('?')[0]
218
- }
219
-
220
208
  if (decodedPath in newMap) {
221
209
  const index = newMap[decodedPath]
222
210
  if (index !== props.modelValue) {
@@ -224,6 +212,10 @@ watch(
224
212
  }
225
213
  } else {
226
214
  let matchedIndex = -1
215
+ let routeBase = decodedPath
216
+ if (routeBase.indexOf('?') != -1) {
217
+ routeBase = routeBase.split('?')[0]
218
+ }
227
219
  for (const [mapKey, index] of Object.entries(newMap)) {
228
220
  const mapKeyBase = mapKey.indexOf('?') != -1 ? mapKey.split('?')[0] : mapKey
229
221
  if (mapKeyBase.trim() === routeBase.trim()) {
@@ -173,7 +173,6 @@ export default {
173
173
  * 从服务器获取菜单数据,处理并设置菜单样式
174
174
  */
175
175
  getMenus() {
176
-
177
176
  this.loading = true
178
177
  this.$api
179
178
  .GetMenus()
@@ -190,7 +189,7 @@ export default {
190
189
  this.correctMenuLevel(data)
191
190
  this.allMenus = data
192
191
  let menesIndex = this.getMenusIndex()
193
- this.navTopActive = menesIndex == -1 ? 0 : menesIndex;
192
+ this.navTopActive = menesIndex == -2 ? 0 : menesIndex;
194
193
  window.sessionStorage.asideList = JSON.stringify(this.allMenus)
195
194
  }
196
195
  } else {
@@ -361,7 +360,7 @@ export default {
361
360
  return i
362
361
  }
363
362
  }
364
- return -1
363
+ return -2
365
364
  }
366
365
  },
367
366
  watch: {
@@ -371,8 +370,8 @@ export default {
371
370
  this.isHideMenu = window.getParameterMap().get("isHideMenu") === 'true'
372
371
  this.isHideHead = window.getParameterMap().get("isHideHead") === 'true'
373
372
  // 路由变化时更新 navTopActive,确保左侧菜单正确显示
374
- const menesIndex = this.getMenusIndex()
375
- this.navTopActive = menesIndex == -1 ? (this.allMenus.length > 0 ? 0 : -1) : menesIndex
373
+ // const menesIndex = this.getMenusIndex()
374
+ // this.navTopActive = menesIndex == -1 ? (this.allMenus.length > 0 ? 0 : -1) : menesIndex
376
375
  },
377
376
  deep: true,
378
377
  immediate: true
@@ -212,7 +212,7 @@
212
212
 
213
213
  /*el-input 基础*/
214
214
  --input-color: var(--gw-color-Neutrals2);
215
- --input-background: var(--gw-color-Neutrals27);
215
+ --input-background: var(--gw-color-Neutrals25);
216
216
  --input-background__disabled: var(--gw-color-Neutrals20);
217
217
  --input-placeholder: var(--gw-color-Neutrals13);
218
218
  --input-border: var(--gw-color-Neutrals18);
@@ -138,17 +138,21 @@ export default {
138
138
  }
139
139
  })
140
140
  } else {
141
- let url = new URL(window.location.origin);
142
- const search = url.href.indexOf('?') > -1 ? url.href.split('?')[1] : ''
143
- const urlSearchParams = new URLSearchParams(search)
144
- const searchParams = new URLSearchParams(this.query)
145
- const mergedParams = this.mergeURLSearchParams(searchParams, urlSearchParams)
146
- mergedParams.delete('url')
147
- mergedParams.delete('code')
148
- mergedParams.delete('state')
149
- let urlString = url.origin + '/#/Index' + url.hash.split('?')[0] + '?' + mergedParams.toString()
150
-
151
- window.location.href = urlString;
141
+ if (this.urlConfig.api) {
142
+ window.location.href = this.urlConfig.api;
143
+ } else {
144
+ let url = new URL(window.location.origin);
145
+ const search = url.href.indexOf('?') > -1 ? url.href.split('?')[1] : ''
146
+ const urlSearchParams = new URLSearchParams(search)
147
+ const searchParams = new URLSearchParams(this.query)
148
+ const mergedParams = this.mergeURLSearchParams(searchParams, urlSearchParams)
149
+ mergedParams.delete('url')
150
+ mergedParams.delete('code')
151
+ mergedParams.delete('state')
152
+ let urlString = url.origin + '/#/Index' + url.hash.split('?')[0] + '?' + mergedParams.toString()
153
+
154
+ window.location.href = urlString;
155
+ }
152
156
  }
153
157
  }
154
158
 
@@ -8,4 +8,11 @@ declare module '*.vue' {
8
8
 
9
9
  interface ImportMeta {
10
10
  readonly env: ImportMetaEnv
11
+ }
12
+
13
+ interface Window {
14
+ packageId: string
15
+ routeName: string
16
+ permissionList: () => Promise<void>
17
+ getParameterMap: () => Map<string, string>
11
18
  }
@@ -13,8 +13,8 @@
13
13
  "@babel/core": "^7.26.0",
14
14
  "@babel/eslint-parser": "^7.25.9",
15
15
  "@element-plus/icons-vue": "^2.3.1",
16
- "@ganwei-web/gw-base-api-plus": "^1.0.1",
17
- "@ganwei-web/gw-base-components-plus": "^1.0.22",
16
+ "@ganwei-web/gw-base-api-plus": "^1.0.2",
17
+ "@ganwei-web/gw-base-components-plus": "^1.0.24",
18
18
  "@ganwei-web/gw-base-style-plus": "^1.0.0",
19
19
  "@ganwei-web/gw-base-utils-plus": "^1.0.1",
20
20
  "@types/lodash-es": "^4.17.12",
@@ -75,7 +75,7 @@
75
75
  "postcss-pxtorem": "^6.1.0",
76
76
  "qs": "^6.14.1",
77
77
  "rollup-plugin-visualizer": "^5.12.0",
78
- "typescript": "^4.9.5",
78
+ "typescript": "^6.0.2",
79
79
  "unplugin-auto-import": "^0.13.0",
80
80
  "vite": "^4.5.5",
81
81
  "vite-plugin-html": "^3.2.2",