yxuse 2.0.35 → 2.0.37

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 (80) hide show
  1. package/README.md +75 -54
  2. package/lib/dayjs.min.es.js.gz +0 -0
  3. package/lib/index.cjs.js.map +1 -1
  4. package/lib/index.cjs10.js.map +1 -1
  5. package/lib/index.cjs11.js.map +1 -1
  6. package/lib/index.cjs12.js +1 -1
  7. package/lib/index.cjs12.js.gz +0 -0
  8. package/lib/index.cjs12.js.map +1 -1
  9. package/lib/index.cjs13.js.map +1 -1
  10. package/lib/index.cjs2.js +1 -1
  11. package/lib/index.cjs2.js.map +1 -1
  12. package/lib/index.cjs3.js.map +1 -1
  13. package/lib/index.cjs4.js.map +1 -1
  14. package/lib/index.cjs5.js +3 -3
  15. package/lib/index.cjs5.js.gz +0 -0
  16. package/lib/index.cjs5.js.map +1 -1
  17. package/lib/index.cjs6.js +1 -1
  18. package/lib/index.cjs6.js.gz +0 -0
  19. package/lib/index.cjs6.js.map +1 -1
  20. package/lib/index.cjs7.js.gz +0 -0
  21. package/lib/index.cjs7.js.map +1 -1
  22. package/lib/index.cjs8.js.map +1 -1
  23. package/lib/index.es.js.map +1 -1
  24. package/lib/index.es10.js.map +1 -1
  25. package/lib/index.es11.js.map +1 -1
  26. package/lib/index.es12.js +7 -3
  27. package/lib/index.es12.js.gz +0 -0
  28. package/lib/index.es12.js.map +1 -1
  29. package/lib/index.es13.js.map +1 -1
  30. package/lib/index.es2.js +2 -1
  31. package/lib/index.es2.js.map +1 -1
  32. package/lib/index.es3.js.map +1 -1
  33. package/lib/index.es4.js.map +1 -1
  34. package/lib/index.es5.js +21 -17
  35. package/lib/index.es5.js.gz +0 -0
  36. package/lib/index.es5.js.map +1 -1
  37. package/lib/index.es6.js +16 -7
  38. package/lib/index.es6.js.gz +0 -0
  39. package/lib/index.es6.js.map +1 -1
  40. package/lib/index.es7.js.gz +0 -0
  41. package/lib/index.es7.js.map +1 -1
  42. package/lib/index.es8.js.map +1 -1
  43. package/lib/mqtt.min.cjs.js +1 -1
  44. package/lib/mqtt.min.cjs.js.gz +0 -0
  45. package/lib/mqtt.min.cjs.js.map +1 -1
  46. package/lib/mqtt.min.es.js +6 -2
  47. package/lib/mqtt.min.es.js.gz +0 -0
  48. package/lib/mqtt.min.es.js.map +1 -1
  49. package/lib/style.css +1 -1
  50. package/lib/style.css.gz +0 -0
  51. package/lib/utils.cjs.js +1 -1
  52. package/lib/utils.es.js +3 -2
  53. package/lib/version.json +12 -12
  54. package/lib/vue.runtime.esm-bundler.cjs.js.gz +0 -0
  55. package/lib/vue.runtime.esm-bundler.es.js.gz +0 -0
  56. package/package.json +176 -176
  57. package/types/api/modules/auth/index.d.ts +13 -13
  58. package/types/bc/index.d.ts +7 -0
  59. package/types/components/LogoTitle/index.vue.d.ts +9 -0
  60. package/types/components/LogoTitle/type.d.ts +4 -0
  61. package/types/components/SearchForm/index.d.ts +3 -3
  62. package/types/components/SearchForm/index.vue.d.ts +2 -2
  63. package/types/components/YxForm/form.type.d.ts +183 -183
  64. package/types/components/YxForm/form.vaildator.d.ts +57 -57
  65. package/types/components/YxForm/form.vue.d.ts +66 -66
  66. package/types/components/YxFormV2/index.d.ts +3 -3
  67. package/types/components/YxFormV2/index.vue.d.ts +46 -46
  68. package/types/components/YxFormV2/type.d.ts +54 -54
  69. package/types/components/YxFrom/form.type.d.ts +179 -179
  70. package/types/components/YxFrom/form.vaildator.d.ts +57 -57
  71. package/types/components/YxFrom/form.vue.d.ts +66 -66
  72. package/types/components/YxFrom/index.d.ts +3 -3
  73. package/types/components/YxIcon/index.vue.d.ts +22 -22
  74. package/types/components/YxTable/index.vue.d.ts +2 -2
  75. package/types/components/YxTable/type.d.ts +5 -1
  76. package/types/components/YxTable3/index.d.ts +1 -1
  77. package/types/components/YxTable3/src/index.d.ts +31 -31
  78. package/types/icons/index.d.ts +1 -1
  79. package/types/icons/src/index.d.ts +4 -4
  80. package/types/utils/common/index.d.ts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.es13.js","sources":["../packages/api/modules/assets/index.ts"],"sourcesContent":["/*\n * @Author: WangXin\n * @Date: 2024-04-11 11:09:04\n * @LastEditors: WangXin\n * @LastEditTime: 2024-08-16 10:16:23\n * @FilePath: /yxuse/packages/api/modules/assets/index.ts\n * @Description:\n *\n * Copyright (c) 2024 by YuXing, All Rights Reserved.\n */\nimport http from \"@packages/utils/http\";\nimport { URL } from \"@packages/config\";\n\nexport const uploadResourceApi = (params: FormData, config?: Object) =>\n\thttp.post(`${URL[\"ttc\"].INTEGRATED_BASE_URL}/file/upload`, params, config);\n\n//获取资源分组\nexport const getGroupListApi = () =>\n\thttp.get(\n\t\t`${URL[\"ttc\"].INTEGRATED_BASE_URL}/resource/group/list`,\n\t\t{},\n\t\t{\n\t\t\theaders: { noLoading: true }\n\t\t}\n\t);\n//获取icon的配置\nexport const getResourceListApi = (groupUuid: string, sign: number) =>\n\thttp.get(`${URL[\"ttc\"].INTEGRATED_BASE_URL}/resource/file/list/${sign}/${groupUuid}`, {}, { headers: { noLoading: true } });\n"],"names":[],"mappings":";AAaO,MAAM,oBAAoB,CAAC,QAAkB,WACnD,KAAK,KAAK,GAAG,IAAI,KAAK,EAAE,mBAAmB,gBAAgB,QAAQ,MAAM;AAG7D,MAAA,kBAAkB,MAC9B,KAAK;AAAA,EACJ,GAAG,IAAI,KAAK,EAAE,mBAAmB;AAAA,EACjC,CAAC;AAAA,EACD;AAAA,IACC,SAAS,EAAE,WAAW,KAAK;AAAA,EAAA;AAE7B;AAEY,MAAA,qBAAqB,CAAC,WAAmB,SACrD,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE,mBAAmB,uBAAuB,IAAI,IAAI,SAAS,IAAI,CAAA,GAAI,EAAE,SAAS,EAAE,WAAW,OAAQ,CAAA;;;;;;;"}
1
+ {"version":3,"file":"index.es13.js","sources":["../packages/api/modules/assets/index.ts"],"sourcesContent":["/*\r\n * @Author: WangXin\r\n * @Date: 2024-04-11 11:09:04\r\n * @LastEditors: WangXin\r\n * @LastEditTime: 2024-08-16 10:16:23\r\n * @FilePath: /yxuse/packages/api/modules/assets/index.ts\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by YuXing, All Rights Reserved.\r\n */\r\nimport http from \"@packages/utils/http\";\r\nimport { URL } from \"@packages/config\";\r\n\r\nexport const uploadResourceApi = (params: FormData, config?: Object) =>\r\n\thttp.post(`${URL[\"ttc\"].INTEGRATED_BASE_URL}/file/upload`, params, config);\r\n\r\n//获取资源分组\r\nexport const getGroupListApi = () =>\r\n\thttp.get(\r\n\t\t`${URL[\"ttc\"].INTEGRATED_BASE_URL}/resource/group/list`,\r\n\t\t{},\r\n\t\t{\r\n\t\t\theaders: { noLoading: true }\r\n\t\t}\r\n\t);\r\n//获取icon的配置\r\nexport const getResourceListApi = (groupUuid: string, sign: number) =>\r\n\thttp.get(`${URL[\"ttc\"].INTEGRATED_BASE_URL}/resource/file/list/${sign}/${groupUuid}`, {}, { headers: { noLoading: true } });\r\n"],"names":[],"mappings":";AAaO,MAAM,oBAAoB,CAAC,QAAkB,WACnD,KAAK,KAAK,GAAG,IAAI,KAAK,EAAE,mBAAmB,gBAAgB,QAAQ,MAAM;AAG7D,MAAA,kBAAkB,MAC9B,KAAK;AAAA,EACJ,GAAG,IAAI,KAAK,EAAE,mBAAmB;AAAA,EACjC,CAAC;AAAA,EACD;AAAA,IACC,SAAS,EAAE,WAAW,KAAK;AAAA,EAAA;AAE7B;AAEY,MAAA,qBAAqB,CAAC,WAAmB,SACrD,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE,mBAAmB,uBAAuB,IAAI,IAAI,SAAS,IAAI,CAAA,GAAI,EAAE,SAAS,EAAE,WAAW,OAAQ,CAAA;;;;;;;"}
package/lib/index.es2.js CHANGED
@@ -36,7 +36,7 @@ var __async = (__this, __arguments, generator) => {
36
36
  });
37
37
  };
38
38
  import { g as getToken, s as showFullScreenLoading, h as hideFullScreenLoading, c as checkStatus, a as http } from "./index.es12.js";
39
- import { m as mqtt_minExports, a as areColorsSimilar, c as copyText, e as enumToArray, g as getCownDownTime, b as getSelectOptions, i as isColorEqual, d as isDarkColor, n as notifyMessageToSystems, r as receiveMessage, y as yxMessage, f as yxSubscribe } from "./mqtt.min.es.js";
39
+ import { m as mqtt_minExports, a as areColorsSimilar, c as copyText, e as enumToArray, g as getCownDownTime, b as getSelectOptions, i as isColorEqual, d as isDarkColor, f as isTabActive, n as notifyMessageToSystems, r as receiveMessage, y as yxMessage, h as yxSubscribe } from "./mqtt.min.es.js";
40
40
  function buildQuery(params) {
41
41
  if (!params) return "";
42
42
  const query = new URLSearchParams();
@@ -332,6 +332,7 @@ const utils2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
332
332
  http,
333
333
  isColorEqual,
334
334
  isDarkColor,
335
+ isTabActive,
335
336
  notifyMessageToSystems,
336
337
  receiveMessage,
337
338
  yxFecth,
@@ -1 +1 @@
1
- {"version":3,"file":"index.es2.js","sources":["../packages/utils/fecth/index.ts","../packages/utils/mqtt/index.ts","../packages/utils/socket/index.ts"],"sourcesContent":["import { ElMessage } from \"element-plus\";\nimport type { HttpMethod, RequestConfig } from \"./interface\";\nimport { auth } from \"@packages/api\";\nimport { checkStatus, showFullScreenLoading, hideFullScreenLoading } from \"../http/config\";\nfunction buildQuery(params?: Record<string, any>): string {\n\tif (!params) return \"\";\n\tconst query = new URLSearchParams();\n\tObject.entries(params).forEach(([key, value]) => {\n\t\tif (value !== undefined && value !== null) {\n\t\t\tquery.append(key, String(value));\n\t\t}\n\t});\n\treturn `?${query.toString()}`;\n}\n\nasync function baseRequest<T = any>(url: string, method: HttpMethod, data?: any, config: RequestConfig = {}): Promise<T> {\n\tconst { headers = {}, responseType = \"json\", signal, noAuth = false } = config;\n\tconst fullUrl = method === \"GET\" ? `${url}${buildQuery(data)}` : `${url}`;\n\tconst token = auth.getToken();\n\tif (!config.noLoading) {\n\t\tshowFullScreenLoading();\n\t}\n\tconst res = await fetch(fullUrl, {\n\t\tmethod,\n\t\theaders: {\n\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t...(token && !noAuth ? { token: token } : \"\"),\n\t\t\t...headers\n\t\t},\n\t\tbody: method !== \"GET\" && data ? JSON.stringify(data) : undefined,\n\t\tsignal\n\t});\n\thideFullScreenLoading();\n\t// 统一错误处理\n\tif (!res.ok) {\n\t\tlet errorMessage = \"\";\n\t\ttry {\n\t\t\tconst errorData = await res.json();\n\t\t\tif (errorData?.resultMsg) {\n\t\t\t\terrorMessage = errorData.resultMsg;\n\t\t\t}\n\t\t} catch (_) {}\n\t\tcheckStatus(res.status, errorMessage);\n\t\tthrow new Error(errorMessage);\n\t}\n\n\tswitch (responseType) {\n\t\tcase \"text\":\n\t\t\treturn res.text() as Promise<T>;\n\t\tcase \"blob\":\n\t\t\treturn res.blob() as Promise<T>;\n\t\tdefault:\n\t\t\treturn res.json() as Promise<T>;\n\t}\n}\n\nexport const yxFecth = {\n\tget: <T = any>(url: string, params?: Record<string, any>, config?: RequestConfig) => baseRequest<T>(url, \"GET\", params, config),\n\n\tpost: <T = any>(url: string, data?: any, config?: RequestConfig) => baseRequest<T>(url, \"POST\", data, config),\n\n\tput: <T = any>(url: string, data?: any, config?: RequestConfig) => baseRequest<T>(url, \"PUT\", data, config),\n\n\tdelete: <T = any>(url: string, data?: any, config?: RequestConfig) => baseRequest<T>(url, \"DELETE\", data, config)\n};\n","/*\n * @Author: WangXin\n * @Date: 2023-06-28 10:33:54\n * @LastEditors: WangXin\n * @LastEditTime: 2025-04-25 18:35:47\n * @FilePath: /yxuse/packages/utils/mqtt/index.ts\n * @Description:\n *\n * Copyright (c) 2023 by YuXing, All Rights Reserved.\n */\nimport * as mqtt from \"mqtt/dist/mqtt.min\";\nimport type { ClientOptions, CusOptions } from \"./interface\";\nconst clientOptions: ClientOptions = {\n\tmqttVersion: 5,\n\tclean: true, // true: 清除会话, false: 保留会话\n\tconnectTimeout: 4000, // 超时时间\n\tkeepAlive: 60, // 认证信息\n\tclientId: \"mqttjs_\" + Date.now(),\n\t// username: \"xxxx\",\n\t// password: \"xxxx\",\n\tqos: 1\n};\nconst subscribeMap = new Map();\nclass MQ {\n\tclient: any;\n\tconstructor(url: string, options: CusOptions) {\n\t\tthis.client = null;\n\t\tthis.subscribe = this.subscribe;\n\t\tthis.unsubscribe = this.unsubscribe;\n\t\tthis.publish = this.publish;\n\t\tthis.destroyed = this.destroyed;\n\t\tthis.createClient(url, { ...clientOptions, ...options });\n\t}\n\tcreateClient(url: string, options: CusOptions) {\n\t\tthis.client = mqtt.connect(url, options);\n\t\tthis.client.on(\"connect\", this.onConnect);\n\t\tthis.client.on(\"reconnect\", this.onReconnect);\n\t\tthis.client.on(\"error\", this.onError);\n\t\tthis.client.on(\"message\", this.onMessage);\n\t}\n\tpublish(topic: string, message: any) {\n\t\tthis.client.publish(topic, message, { qos: clientOptions.qos }, (e: any) => {\n\t\t\tif (e) {\n\t\t\t\tconsole.log(`客户端: ${clientOptions.clientId}, 发送主题为: ${topic} 的消息, 发送失败: `, e);\n\t\t\t}\n\t\t});\n\t}\n\tsubscribe(topic, callback) {\n\t\tthis.client.subscribe(topic, error => {\n\t\t\tif (!error) {\n\t\t\t\tsubscribeMap.set(topic, callback);\n\t\t\t\tconsole.log(`客户端: ${clientOptions.clientId},主题:${topic}, 订阅成功`);\n\t\t\t} else {\n\t\t\t\tthrow new Error(error);\n\t\t\t}\n\t\t});\n\t}\n\tunsubscribe(topic) {\n\t\tthis.client.unsubscribe(topic, {}, error => {\n\t\t\tif (error) {\n\t\t\t\tconsole.log(`客户端: ${clientOptions.clientId}, 取消订阅主题: ${topic}失败: `, error);\n\t\t\t} else {\n\t\t\t\tconsole.log(`客户端: ${clientOptions.clientId}, 取消订阅主题: ${topic}成功`);\n\t\t\t}\n\t\t});\n\t}\n\tonConnect(e) {\n\t\tconsole.log(`客户端: ${clientOptions.clientId}, 连接emqx服务器成功:`, e);\n\t}\n\tonReconnect(error) {\n\t\tconsole.log(`客户端: ${clientOptions.clientId}, 正在重连:`, error);\n\t}\n\tonError(error) {\n\t\tconsole.log(`客户端: ${clientOptions.clientId}, 连接失败:`, error);\n\t}\n\tonMessage(topic, message) {\n\t\tconst data = message.toString();\n\t\tsubscribeMap.get(topic)(JSON.parse(data));\n\t}\n\tdestroyed() {\n\t\tif (this.client.end) this.client.end();\n\t\tconsole.log(`客户端: ${clientOptions.clientId}, 关闭连接`);\n\t}\n}\nexport default MQ;\n","import type { SocketParams, HeartMessage } from \"./interface\";\nexport default class Ws {\n\turl: string;\n\tprotocols: any;\n\twebSocketState: boolean;\n\tisCustomClose: boolean;\n\treconnectTime: number;\n\theartBeatTime: number;\n\twaitBeatTime: number;\n\tcallback: Function;\n\tHEART_KEY?: string;\n\tHEART_VALUE?: string | number;\n\tws: WebSocket | null;\n\tisReconnectionLoading: boolean;\n\ttimeId: any;\n\teventCenter: any;\n\terrorStack: any;\n\theartMessage?: HeartMessage;\n\tmsgDataPreHandler?: Function;\n\tconstructor(options: SocketParams, protocols?: string) {\n\t\tthis.url = options.url;\n\t\tthis.protocols = protocols;\n\t\tthis.webSocketState = false;\n\t\tthis.isCustomClose = true;\n\t\tthis.reconnectTime = options.reconnectTime; //断线重连时间间隔\n\t\tthis.heartBeatTime = options.heartBeatTime; //心跳间隔时间\n\t\tthis.waitBeatTime = options.waitBeatTime; //心跳等待时间\n\t\tthis.callback = options.callback;\n\t\tif (options.msgDataPreHandler) {\n\t\t\tthis.msgDataPreHandler = options.msgDataPreHandler;\n\t\t}\n\t\tthis.onmessage = this.onmessage;\n\t\tthis.heartMessage = options.heartMessage;\n\t\tthis.HEART_KEY = options.HEART_KEY; //心跳响应key\n\t\tthis.HEART_VALUE = options.HEART_VALUE; //心跳响应value\n\t\tthis.ws = null;\n\t\tthis.isReconnectionLoading = false;\n\t\tthis.createWs();\n\t}\n\n\tcreateWs() {\n\t\tif (\"WebSocket\" in window) {\n\t\t\t// 实例化\n\t\t\tthis.ws = null;\n\t\t\tthis.ws = new WebSocket(this.url, this.protocols);\n\t\t\t// 监听事件\n\t\t\tthis.onopen();\n\t\t\tthis.onerror();\n\t\t\tthis.onclose();\n\t\t\tthis.onmessage();\n\t\t} else {\n\t\t\tconsole.warn(\"你的浏览器不支持 WebSocket\");\n\t\t}\n\t}\n\n\t// 监听成功\n\tonopen() {\n\t\tthis.ws.onopen = () => {\n\t\t\tconsole.info(\"socket已连接成功\");\n\t\t\tthis.webSocketState = true;\n\t\t\tthis.startHeartBeat(this.heartBeatTime);\n\t\t};\n\t}\n\tstartHeartBeat(time: any) {\n\t\tsetTimeout(() => {\n\t\t\tthis.heartMessage && (this.heartMessage.data = new Date().getTime() + \"\");\n\t\t\tthis.send(this.heartMessage ? this.heartMessage : this.HEART_KEY);\n\t\t\tthis.waitingServer();\n\t\t}, time);\n\t}\n\t//延时等待服务端响应,通过webSocketState判断是否连线成功\n\twaitingServer() {\n\t\tthis.webSocketState = false;\n\t\tsetTimeout(() => {\n\t\t\tif (this.webSocketState) {\n\t\t\t\tthis.startHeartBeat(this.heartBeatTime);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconsole.warn(\"warning\", \"心跳无响应,已断线\");\n\t\t\ttry {\n\t\t\t\tthis.close();\n\t\t\t\tif (this.ws) {\n\t\t\t\t\tthis.start();\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tconsole.info(\"连接已关闭,无需关闭\");\n\t\t\t}\n\t\t}, this.waitBeatTime);\n\t}\n\t// 监听错误\n\tonerror() {\n\t\tif (!this.ws) return;\n\t\tthis.ws.onerror = err => {\n\t\t\tconsole.log(err);\n\n\t\t\tthis.isCustomClose = false;\n\t\t\tthis.isReconnectionLoading = false;\n\t\t};\n\t}\n\n\t// 监听关闭\n\tonclose() {\n\t\tif (!this.ws) return;\n\t\tthis.ws.onclose = () => {\n\t\t\tconsole.info(\"success\", \"socket关闭成功\");\n\t\t\t// 用户手动关闭的不重连\n\t\t\tif (this.isCustomClose) return;\n\t\t\tif (this.ws) {\n\t\t\t\tconsole.log(\"重连\");\n\n\t\t\t\tthis.reconnection();\n\t\t\t\tthis.isReconnectionLoading = false;\n\t\t\t}\n\t\t};\n\t}\n\n\t// 接收 WebSocket 消息,增加二进制数据支持\n\tasync onmessage() {\n\t\tif (!this.ws) return;\n\t\tthis.ws.onmessage = async event => {\n\t\t\ttry {\n\t\t\t\tlet rawData = event.data;\n\t\t\t\tif (this.msgDataPreHandler) {\n\t\t\t\t\tawait this.msgDataPreHandler(rawData);\n\t\t\t\t}\n\t\t\t\t// 处理心跳消息\n\t\t\t\tif (rawData === this.HEART_VALUE) {\n\t\t\t\t\tthis.webSocketState = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// 解析 JSON 数据\n\t\t\t\tconst data = JSON.parse(rawData);\n\t\t\t\tthis.callback(data);\n\t\t\t} catch (error) {\n\t\t\t\tconsole.log(error);\n\t\t\t\tthis.callback(event.data);\n\t\t\t}\n\t\t};\n\t}\n\n\t// 重连\n\treconnection() {\n\t\t// 防止重复\n\t\tif (this.isReconnectionLoading) return;\n\t\tthis.isReconnectionLoading = true;\n\t\tclearTimeout(this.timeId);\n\t\tthis.timeId = null;\n\t\tthis.timeId = setTimeout(() => {\n\t\t\tthis.createWs();\n\t\t}, this.reconnectTime);\n\t}\n\n\t// 发送消息\n\tsend(message: any) {\n\t\tif (this.webSocketState && this.ws) {\n\t\t\tthis.ws.send(message);\n\t\t}\n\t}\n\n\t// 手动关闭\n\tclose() {\n\t\tthis.isCustomClose = true;\n\t\tthis.isReconnectionLoading = false;\n\t\t// if (this.ws.readyState === WebSocket.OPEN) this.ws?.close();\n\t\tif (this.ws && this.ws.close) this.ws?.close();\n\t}\n\n\t// 手动开启\n\tstart() {\n\t\tthis.isCustomClose = false;\n\t\tthis.reconnection();\n\t}\n\n\t// 订阅\n\tsubscribe(eventName: string, cb: Function) {\n\t\tthis.eventCenter.on(eventName, cb);\n\t}\n\n\t// 取消订阅\n\tunsubscribe(eventName: string, cb: Function) {\n\t\tthis.eventCenter.off(eventName, cb);\n\t}\n\n\t// 销毁\n\tdestroy() {\n\t\tclearTimeout(this.timeId);\n\t\tthis.close();\n\t\tthis.ws = null;\n\t\tthis.errorStack = null;\n\t\tthis.eventCenter = null;\n\t\t// this.isCustomClose = true;\n\t\tthis.webSocketState = false;\n\t}\n}\n"],"names":["auth.getToken","mqtt.connect"],"mappings":"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"}
1
+ {"version":3,"file":"index.es2.js","sources":["../packages/utils/fecth/index.ts","../packages/utils/mqtt/index.ts","../packages/utils/socket/index.ts"],"sourcesContent":["import { ElMessage } from \"element-plus\";\r\nimport type { HttpMethod, RequestConfig } from \"./interface\";\r\nimport { auth } from \"@packages/api\";\r\nimport { checkStatus, showFullScreenLoading, hideFullScreenLoading } from \"../http/config\";\r\nfunction buildQuery(params?: Record<string, any>): string {\r\n\tif (!params) return \"\";\r\n\tconst query = new URLSearchParams();\r\n\tObject.entries(params).forEach(([key, value]) => {\r\n\t\tif (value !== undefined && value !== null) {\r\n\t\t\tquery.append(key, String(value));\r\n\t\t}\r\n\t});\r\n\treturn `?${query.toString()}`;\r\n}\r\n\r\nasync function baseRequest<T = any>(url: string, method: HttpMethod, data?: any, config: RequestConfig = {}): Promise<T> {\r\n\tconst { headers = {}, responseType = \"json\", signal, noAuth = false } = config;\r\n\tconst fullUrl = method === \"GET\" ? `${url}${buildQuery(data)}` : `${url}`;\r\n\tconst token = auth.getToken();\r\n\tif (!config.noLoading) {\r\n\t\tshowFullScreenLoading();\r\n\t}\r\n\tconst res = await fetch(fullUrl, {\r\n\t\tmethod,\r\n\t\theaders: {\r\n\t\t\t\"Content-Type\": \"application/json\",\r\n\t\t\t...(token && !noAuth ? { token: token } : \"\"),\r\n\t\t\t...headers\r\n\t\t},\r\n\t\tbody: method !== \"GET\" && data ? JSON.stringify(data) : undefined,\r\n\t\tsignal\r\n\t});\r\n\thideFullScreenLoading();\r\n\t// 统一错误处理\r\n\tif (!res.ok) {\r\n\t\tlet errorMessage = \"\";\r\n\t\ttry {\r\n\t\t\tconst errorData = await res.json();\r\n\t\t\tif (errorData?.resultMsg) {\r\n\t\t\t\terrorMessage = errorData.resultMsg;\r\n\t\t\t}\r\n\t\t} catch (_) {}\r\n\t\tcheckStatus(res.status, errorMessage);\r\n\t\tthrow new Error(errorMessage);\r\n\t}\r\n\r\n\tswitch (responseType) {\r\n\t\tcase \"text\":\r\n\t\t\treturn res.text() as Promise<T>;\r\n\t\tcase \"blob\":\r\n\t\t\treturn res.blob() as Promise<T>;\r\n\t\tdefault:\r\n\t\t\treturn res.json() as Promise<T>;\r\n\t}\r\n}\r\n\r\nexport const yxFecth = {\r\n\tget: <T = any>(url: string, params?: Record<string, any>, config?: RequestConfig) => baseRequest<T>(url, \"GET\", params, config),\r\n\r\n\tpost: <T = any>(url: string, data?: any, config?: RequestConfig) => baseRequest<T>(url, \"POST\", data, config),\r\n\r\n\tput: <T = any>(url: string, data?: any, config?: RequestConfig) => baseRequest<T>(url, \"PUT\", data, config),\r\n\r\n\tdelete: <T = any>(url: string, data?: any, config?: RequestConfig) => baseRequest<T>(url, \"DELETE\", data, config)\r\n};\r\n","/*\r\n * @Author: WangXin\r\n * @Date: 2023-06-28 10:33:54\r\n * @LastEditors: WangXin\r\n * @LastEditTime: 2025-04-25 18:35:47\r\n * @FilePath: /yxuse/packages/utils/mqtt/index.ts\r\n * @Description:\r\n *\r\n * Copyright (c) 2023 by YuXing, All Rights Reserved.\r\n */\r\nimport * as mqtt from \"mqtt/dist/mqtt.min\";\r\nimport type { ClientOptions, CusOptions } from \"./interface\";\r\nconst clientOptions: ClientOptions = {\r\n\tmqttVersion: 5,\r\n\tclean: true, // true: 清除会话, false: 保留会话\r\n\tconnectTimeout: 4000, // 超时时间\r\n\tkeepAlive: 60, // 认证信息\r\n\tclientId: \"mqttjs_\" + Date.now(),\r\n\t// username: \"xxxx\",\r\n\t// password: \"xxxx\",\r\n\tqos: 1\r\n};\r\nconst subscribeMap = new Map();\r\nclass MQ {\r\n\tclient: any;\r\n\tconstructor(url: string, options: CusOptions) {\r\n\t\tthis.client = null;\r\n\t\tthis.subscribe = this.subscribe;\r\n\t\tthis.unsubscribe = this.unsubscribe;\r\n\t\tthis.publish = this.publish;\r\n\t\tthis.destroyed = this.destroyed;\r\n\t\tthis.createClient(url, { ...clientOptions, ...options });\r\n\t}\r\n\tcreateClient(url: string, options: CusOptions) {\r\n\t\tthis.client = mqtt.connect(url, options);\r\n\t\tthis.client.on(\"connect\", this.onConnect);\r\n\t\tthis.client.on(\"reconnect\", this.onReconnect);\r\n\t\tthis.client.on(\"error\", this.onError);\r\n\t\tthis.client.on(\"message\", this.onMessage);\r\n\t}\r\n\tpublish(topic: string, message: any) {\r\n\t\tthis.client.publish(topic, message, { qos: clientOptions.qos }, (e: any) => {\r\n\t\t\tif (e) {\r\n\t\t\t\tconsole.log(`客户端: ${clientOptions.clientId}, 发送主题为: ${topic} 的消息, 发送失败: `, e);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tsubscribe(topic, callback) {\r\n\t\tthis.client.subscribe(topic, error => {\r\n\t\t\tif (!error) {\r\n\t\t\t\tsubscribeMap.set(topic, callback);\r\n\t\t\t\tconsole.log(`客户端: ${clientOptions.clientId},主题:${topic}, 订阅成功`);\r\n\t\t\t} else {\r\n\t\t\t\tthrow new Error(error);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tunsubscribe(topic) {\r\n\t\tthis.client.unsubscribe(topic, {}, error => {\r\n\t\t\tif (error) {\r\n\t\t\t\tconsole.log(`客户端: ${clientOptions.clientId}, 取消订阅主题: ${topic}失败: `, error);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(`客户端: ${clientOptions.clientId}, 取消订阅主题: ${topic}成功`);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tonConnect(e) {\r\n\t\tconsole.log(`客户端: ${clientOptions.clientId}, 连接emqx服务器成功:`, e);\r\n\t}\r\n\tonReconnect(error) {\r\n\t\tconsole.log(`客户端: ${clientOptions.clientId}, 正在重连:`, error);\r\n\t}\r\n\tonError(error) {\r\n\t\tconsole.log(`客户端: ${clientOptions.clientId}, 连接失败:`, error);\r\n\t}\r\n\tonMessage(topic, message) {\r\n\t\tconst data = message.toString();\r\n\t\tsubscribeMap.get(topic)(JSON.parse(data));\r\n\t}\r\n\tdestroyed() {\r\n\t\tif (this.client.end) this.client.end();\r\n\t\tconsole.log(`客户端: ${clientOptions.clientId}, 关闭连接`);\r\n\t}\r\n}\r\nexport default MQ;\r\n","import type { SocketParams, HeartMessage } from \"./interface\";\r\nexport default class Ws {\r\n\turl: string;\r\n\tprotocols: any;\r\n\twebSocketState: boolean;\r\n\tisCustomClose: boolean;\r\n\treconnectTime: number;\r\n\theartBeatTime: number;\r\n\twaitBeatTime: number;\r\n\tcallback: Function;\r\n\tHEART_KEY?: string;\r\n\tHEART_VALUE?: string | number;\r\n\tws: WebSocket | null;\r\n\tisReconnectionLoading: boolean;\r\n\ttimeId: any;\r\n\teventCenter: any;\r\n\terrorStack: any;\r\n\theartMessage?: HeartMessage;\r\n\tmsgDataPreHandler?: Function;\r\n\tconstructor(options: SocketParams, protocols?: string) {\r\n\t\tthis.url = options.url;\r\n\t\tthis.protocols = protocols;\r\n\t\tthis.webSocketState = false;\r\n\t\tthis.isCustomClose = true;\r\n\t\tthis.reconnectTime = options.reconnectTime; //断线重连时间间隔\r\n\t\tthis.heartBeatTime = options.heartBeatTime; //心跳间隔时间\r\n\t\tthis.waitBeatTime = options.waitBeatTime; //心跳等待时间\r\n\t\tthis.callback = options.callback;\r\n\t\tif (options.msgDataPreHandler) {\r\n\t\t\tthis.msgDataPreHandler = options.msgDataPreHandler;\r\n\t\t}\r\n\t\tthis.onmessage = this.onmessage;\r\n\t\tthis.heartMessage = options.heartMessage;\r\n\t\tthis.HEART_KEY = options.HEART_KEY; //心跳响应key\r\n\t\tthis.HEART_VALUE = options.HEART_VALUE; //心跳响应value\r\n\t\tthis.ws = null;\r\n\t\tthis.isReconnectionLoading = false;\r\n\t\tthis.createWs();\r\n\t}\r\n\r\n\tcreateWs() {\r\n\t\tif (\"WebSocket\" in window) {\r\n\t\t\t// 实例化\r\n\t\t\tthis.ws = null;\r\n\t\t\tthis.ws = new WebSocket(this.url, this.protocols);\r\n\t\t\t// 监听事件\r\n\t\t\tthis.onopen();\r\n\t\t\tthis.onerror();\r\n\t\t\tthis.onclose();\r\n\t\t\tthis.onmessage();\r\n\t\t} else {\r\n\t\t\tconsole.warn(\"你的浏览器不支持 WebSocket\");\r\n\t\t}\r\n\t}\r\n\r\n\t// 监听成功\r\n\tonopen() {\r\n\t\tthis.ws.onopen = () => {\r\n\t\t\tconsole.info(\"socket已连接成功\");\r\n\t\t\tthis.webSocketState = true;\r\n\t\t\tthis.startHeartBeat(this.heartBeatTime);\r\n\t\t};\r\n\t}\r\n\tstartHeartBeat(time: any) {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.heartMessage && (this.heartMessage.data = new Date().getTime() + \"\");\r\n\t\t\tthis.send(this.heartMessage ? this.heartMessage : this.HEART_KEY);\r\n\t\t\tthis.waitingServer();\r\n\t\t}, time);\r\n\t}\r\n\t//延时等待服务端响应,通过webSocketState判断是否连线成功\r\n\twaitingServer() {\r\n\t\tthis.webSocketState = false;\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (this.webSocketState) {\r\n\t\t\t\tthis.startHeartBeat(this.heartBeatTime);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tconsole.warn(\"warning\", \"心跳无响应,已断线\");\r\n\t\t\ttry {\r\n\t\t\t\tthis.close();\r\n\t\t\t\tif (this.ws) {\r\n\t\t\t\t\tthis.start();\r\n\t\t\t\t}\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.info(\"连接已关闭,无需关闭\");\r\n\t\t\t}\r\n\t\t}, this.waitBeatTime);\r\n\t}\r\n\t// 监听错误\r\n\tonerror() {\r\n\t\tif (!this.ws) return;\r\n\t\tthis.ws.onerror = err => {\r\n\t\t\tconsole.log(err);\r\n\r\n\t\t\tthis.isCustomClose = false;\r\n\t\t\tthis.isReconnectionLoading = false;\r\n\t\t};\r\n\t}\r\n\r\n\t// 监听关闭\r\n\tonclose() {\r\n\t\tif (!this.ws) return;\r\n\t\tthis.ws.onclose = () => {\r\n\t\t\tconsole.info(\"success\", \"socket关闭成功\");\r\n\t\t\t// 用户手动关闭的不重连\r\n\t\t\tif (this.isCustomClose) return;\r\n\t\t\tif (this.ws) {\r\n\t\t\t\tconsole.log(\"重连\");\r\n\r\n\t\t\t\tthis.reconnection();\r\n\t\t\t\tthis.isReconnectionLoading = false;\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\t// 接收 WebSocket 消息,增加二进制数据支持\r\n\tasync onmessage() {\r\n\t\tif (!this.ws) return;\r\n\t\tthis.ws.onmessage = async event => {\r\n\t\t\ttry {\r\n\t\t\t\tlet rawData = event.data;\r\n\t\t\t\tif (this.msgDataPreHandler) {\r\n\t\t\t\t\tawait this.msgDataPreHandler(rawData);\r\n\t\t\t\t}\r\n\t\t\t\t// 处理心跳消息\r\n\t\t\t\tif (rawData === this.HEART_VALUE) {\r\n\t\t\t\t\tthis.webSocketState = true;\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t// 解析 JSON 数据\r\n\t\t\t\tconst data = JSON.parse(rawData);\r\n\t\t\t\tthis.callback(data);\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.log(error);\r\n\t\t\t\tthis.callback(event.data);\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\t// 重连\r\n\treconnection() {\r\n\t\t// 防止重复\r\n\t\tif (this.isReconnectionLoading) return;\r\n\t\tthis.isReconnectionLoading = true;\r\n\t\tclearTimeout(this.timeId);\r\n\t\tthis.timeId = null;\r\n\t\tthis.timeId = setTimeout(() => {\r\n\t\t\tthis.createWs();\r\n\t\t}, this.reconnectTime);\r\n\t}\r\n\r\n\t// 发送消息\r\n\tsend(message: any) {\r\n\t\tif (this.webSocketState && this.ws) {\r\n\t\t\tthis.ws.send(message);\r\n\t\t}\r\n\t}\r\n\r\n\t// 手动关闭\r\n\tclose() {\r\n\t\tthis.isCustomClose = true;\r\n\t\tthis.isReconnectionLoading = false;\r\n\t\t// if (this.ws.readyState === WebSocket.OPEN) this.ws?.close();\r\n\t\tif (this.ws && this.ws.close) this.ws?.close();\r\n\t}\r\n\r\n\t// 手动开启\r\n\tstart() {\r\n\t\tthis.isCustomClose = false;\r\n\t\tthis.reconnection();\r\n\t}\r\n\r\n\t// 订阅\r\n\tsubscribe(eventName: string, cb: Function) {\r\n\t\tthis.eventCenter.on(eventName, cb);\r\n\t}\r\n\r\n\t// 取消订阅\r\n\tunsubscribe(eventName: string, cb: Function) {\r\n\t\tthis.eventCenter.off(eventName, cb);\r\n\t}\r\n\r\n\t// 销毁\r\n\tdestroy() {\r\n\t\tclearTimeout(this.timeId);\r\n\t\tthis.close();\r\n\t\tthis.ws = null;\r\n\t\tthis.errorStack = null;\r\n\t\tthis.eventCenter = null;\r\n\t\t// this.isCustomClose = true;\r\n\t\tthis.webSocketState = false;\r\n\t}\r\n}\r\n"],"names":["auth.getToken","mqtt.connect"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.es3.js","sources":["../packages/yxIcon/index.ts"],"sourcesContent":["/*\n * @Author: WangXin\n * @Date: 2024-04-11 14:07:04\n * @LastEditors: WangXin\n * @LastEditTime: 2024-04-15 15:34:49\n * @FilePath: /yxuse/packages/yxIcon/index.ts\n * @Description:\n *\n * Copyright (c) 2024 by YuXing, All Rights Reserved.\n */\nimport type { App } from \"vue\";\nimport { assets } from \"@packages/api\";\nconst ICON_GROUP_NAME = \"yxIcon\";\nconst initYxIcon = () => {\n\tgetYxIconGroupUuid();\n\t// combineYxIconStr();\n};\nconst getYxIconGroupUuid = async () => {\n\tconst { data } = await assets.getGroupListApi();\n\tconst groupUuid = data.find((item: any) => item.groupName === ICON_GROUP_NAME)?.groupUuid;\n\tgetYxIconFileContent(groupUuid);\n};\nconst getYxIconFileContent = async (groupUuid: string) => {\n\tconst { data } = await assets.getResourceListApi(groupUuid, 1);\n\tcombineYxIconStr(data);\n\treturn data;\n};\nconst combineYxIconStr = (data: any) => {\n\tconst svg = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n\tsvg.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n\tsvg.setAttribute(\"xmlns:xlin\", \"http://www.w3.org/1999/xlink\");\n\tlet svgHtml = \"\";\n\tdata.forEach((svgElement: any) => {\n\t\tsvgHtml += svgElement.text\n\t\t\t.replace(/\\\\/g, \"\")\n\t\t\t.trim()\n\t\t\t.replace(/^\"(.*)\"$/, \"$1\");\n\t});\n\tsvg.innerHTML = svgHtml;\n\tsvg.style.position = \"absolute\";\n\tsvg.style.width = \"0\";\n\tsvg.style.height = \"0\";\n\tdocument.head.appendChild(svg);\n};\nexport default {\n\tinstall: function (app: App<Element>) {\n\t\tinitYxIcon();\n\t}\n};\n"],"names":["assets.getGroupListApi","assets.getResourceListApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,kBAAkB;AACxB,MAAM,aAAa,MAAM;AACL,qBAAA;AAEpB;AACA,MAAM,qBAAqB,MAAY;;AACtC,QAAM,EAAE,SAAS,MAAMA,gBAAuB;AACxC,QAAA,aAAY,UAAK,KAAK,CAAC,SAAc,KAAK,cAAc,eAAe,MAA3D,mBAA8D;AAChF,uBAAqB,SAAS;AAC/B;AACA,MAAM,uBAAuB,CAAO,cAAsB;AACzD,QAAM,EAAE,KAAK,IAAI,MAAMC,mBAA0B,WAAW,CAAC;AAC7D,mBAAiB,IAAI;AACd,SAAA;AACR;AACA,MAAM,mBAAmB,CAAC,SAAc;AACvC,QAAM,MAAM,SAAS,gBAAgB,8BAA8B,KAAK;AACpE,MAAA,aAAa,SAAS,4BAA4B;AAClD,MAAA,aAAa,cAAc,8BAA8B;AAC7D,MAAI,UAAU;AACT,OAAA,QAAQ,CAAC,eAAoB;AACtB,eAAA,WAAW,KACpB,QAAQ,OAAO,EAAE,EACjB,KAAK,EACL,QAAQ,YAAY,IAAI;AAAA,EAAA,CAC1B;AACD,MAAI,YAAY;AAChB,MAAI,MAAM,WAAW;AACrB,MAAI,MAAM,QAAQ;AAClB,MAAI,MAAM,SAAS;AACV,WAAA,KAAK,YAAY,GAAG;AAC9B;AACA,MAAe,QAAA;AAAA,EACd,SAAS,SAAU,KAAmB;AAC1B,eAAA;AAAA,EAAA;AAEb;;;;;"}
1
+ {"version":3,"file":"index.es3.js","sources":["../packages/yxIcon/index.ts"],"sourcesContent":["/*\r\n * @Author: WangXin\r\n * @Date: 2024-04-11 14:07:04\r\n * @LastEditors: WangXin\r\n * @LastEditTime: 2024-04-15 15:34:49\r\n * @FilePath: /yxuse/packages/yxIcon/index.ts\r\n * @Description:\r\n *\r\n * Copyright (c) 2024 by YuXing, All Rights Reserved.\r\n */\r\nimport type { App } from \"vue\";\r\nimport { assets } from \"@packages/api\";\r\nconst ICON_GROUP_NAME = \"yxIcon\";\r\nconst initYxIcon = () => {\r\n\tgetYxIconGroupUuid();\r\n\t// combineYxIconStr();\r\n};\r\nconst getYxIconGroupUuid = async () => {\r\n\tconst { data } = await assets.getGroupListApi();\r\n\tconst groupUuid = data.find((item: any) => item.groupName === ICON_GROUP_NAME)?.groupUuid;\r\n\tgetYxIconFileContent(groupUuid);\r\n};\r\nconst getYxIconFileContent = async (groupUuid: string) => {\r\n\tconst { data } = await assets.getResourceListApi(groupUuid, 1);\r\n\tcombineYxIconStr(data);\r\n\treturn data;\r\n};\r\nconst combineYxIconStr = (data: any) => {\r\n\tconst svg = document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\r\n\tsvg.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\r\n\tsvg.setAttribute(\"xmlns:xlin\", \"http://www.w3.org/1999/xlink\");\r\n\tlet svgHtml = \"\";\r\n\tdata.forEach((svgElement: any) => {\r\n\t\tsvgHtml += svgElement.text\r\n\t\t\t.replace(/\\\\/g, \"\")\r\n\t\t\t.trim()\r\n\t\t\t.replace(/^\"(.*)\"$/, \"$1\");\r\n\t});\r\n\tsvg.innerHTML = svgHtml;\r\n\tsvg.style.position = \"absolute\";\r\n\tsvg.style.width = \"0\";\r\n\tsvg.style.height = \"0\";\r\n\tdocument.head.appendChild(svg);\r\n};\r\nexport default {\r\n\tinstall: function (app: App<Element>) {\r\n\t\tinitYxIcon();\r\n\t}\r\n};\r\n"],"names":["assets.getGroupListApi","assets.getResourceListApi"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYA,MAAM,kBAAkB;AACxB,MAAM,aAAa,MAAM;AACL,qBAAA;AAEpB;AACA,MAAM,qBAAqB,MAAY;;AACtC,QAAM,EAAE,SAAS,MAAMA,gBAAuB;AACxC,QAAA,aAAY,UAAK,KAAK,CAAC,SAAc,KAAK,cAAc,eAAe,MAA3D,mBAA8D;AAChF,uBAAqB,SAAS;AAC/B;AACA,MAAM,uBAAuB,CAAO,cAAsB;AACzD,QAAM,EAAE,KAAK,IAAI,MAAMC,mBAA0B,WAAW,CAAC;AAC7D,mBAAiB,IAAI;AACd,SAAA;AACR;AACA,MAAM,mBAAmB,CAAC,SAAc;AACvC,QAAM,MAAM,SAAS,gBAAgB,8BAA8B,KAAK;AACpE,MAAA,aAAa,SAAS,4BAA4B;AAClD,MAAA,aAAa,cAAc,8BAA8B;AAC7D,MAAI,UAAU;AACT,OAAA,QAAQ,CAAC,eAAoB;AACtB,eAAA,WAAW,KACpB,QAAQ,OAAO,EAAE,EACjB,KAAK,EACL,QAAQ,YAAY,IAAI;AAAA,EAAA,CAC1B;AACD,MAAI,YAAY;AAChB,MAAI,MAAM,WAAW;AACrB,MAAI,MAAM,QAAQ;AAClB,MAAI,MAAM,SAAS;AACV,WAAA,KAAK,YAAY,GAAG;AAC9B;AACA,MAAe,QAAA;AAAA,EACd,SAAS,SAAU,KAAmB;AAC1B,eAAA;AAAA,EAAA;AAEb;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.es4.js","sources":["../packages/api/index.ts"],"sourcesContent":["/*\n * @Author: WangXin\n * @Date: 2023-08-17 09:30:47\n * @LastEditors: WangXin\n * @LastEditTime: 2024-08-15 18:45:26\n * @FilePath: /yxuse/packages/api/index.ts\n * @Description:\n *\n * Copyright (c) 2023 by YuXing, All Rights Reserved.\n */\nimport * as auth from \"./auth/index\";\nimport * as assets from \"./modules/assets/index\";\nexport { auth, assets };\nimport http from \"@packages/utils/http\";\nimport { URL } from \"@packages/config\";\n\n/**\n * 获取用户可选择的星\n *\n */\nexport const getUserSelectSatelliteList = async (systemName = \"ttc\") => {\n\tconst data = await http.get<any>(`${URL[systemName].INTEGRATED_BASE_URL}/basic/data/satellite/select`);\n\treturn data;\n};\n\n/**\n * 获取用户可选择的测站\n *\n */\nexport const getUserSelectAnteList = async (systemName = \"ttc\") => {\n\tconst data = await http.get<any>(`${URL[systemName].INTEGRATED_BASE_URL}/basic/data/ante/select`);\n\treturn data;\n};\n\n/**\n * 获取用户可选择的主题\n *\n */\nexport const getUserThemeList = async (systemName = \"ttc\") => {\n\treturn await http.get<any>(`${URL[systemName].INTEGRATED_BASE_URL}/theme/list`, {}, { headers: { noLoading: true } });\n};\n\nexport const getCommentUntreatedCount = async (systemName = \"ttc\") => {\n\treturn await http.get<any>(`${URL[systemName].INTEGRATED_BASE_URL}/workorder/comment/untreated/count`);\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoBa,MAAA,6BAA6B,CAAO,aAAa,UAAU;AACjE,QAAA,OAAO,MAAM,KAAK,IAAS,GAAG,IAAI,UAAU,EAAE,mBAAmB,8BAA8B;AAC9F,SAAA;AACR;AAMa,MAAA,wBAAwB,CAAO,aAAa,UAAU;AAC5D,QAAA,OAAO,MAAM,KAAK,IAAS,GAAG,IAAI,UAAU,EAAE,mBAAmB,yBAAyB;AACzF,SAAA;AACR;AAMa,MAAA,mBAAmB,CAAO,aAAa,UAAU;AAC7D,SAAO,MAAM,KAAK,IAAS,GAAG,IAAI,UAAU,EAAE,mBAAmB,eAAe,IAAI,EAAE,SAAS,EAAE,WAAW,KAAA,GAAQ;AACrH;AAEa,MAAA,2BAA2B,CAAO,aAAa,UAAU;AAC9D,SAAA,MAAM,KAAK,IAAS,GAAG,IAAI,UAAU,EAAE,mBAAmB,oCAAoC;AACtG;;;;;;;;;;"}
1
+ {"version":3,"file":"index.es4.js","sources":["../packages/api/index.ts"],"sourcesContent":["/*\r\n * @Author: WangXin\r\n * @Date: 2023-08-17 09:30:47\r\n * @LastEditors: WangXin\r\n * @LastEditTime: 2024-08-15 18:45:26\r\n * @FilePath: /yxuse/packages/api/index.ts\r\n * @Description:\r\n *\r\n * Copyright (c) 2023 by YuXing, All Rights Reserved.\r\n */\r\nimport * as auth from \"./auth/index\";\r\nimport * as assets from \"./modules/assets/index\";\r\nexport { auth, assets };\r\nimport http from \"@packages/utils/http\";\r\nimport { URL } from \"@packages/config\";\r\n\r\n/**\r\n * 获取用户可选择的星\r\n *\r\n */\r\nexport const getUserSelectSatelliteList = async (systemName = \"ttc\") => {\r\n\tconst data = await http.get<any>(`${URL[systemName].INTEGRATED_BASE_URL}/basic/data/satellite/select`);\r\n\treturn data;\r\n};\r\n\r\n/**\r\n * 获取用户可选择的测站\r\n *\r\n */\r\nexport const getUserSelectAnteList = async (systemName = \"ttc\") => {\r\n\tconst data = await http.get<any>(`${URL[systemName].INTEGRATED_BASE_URL}/basic/data/ante/select`);\r\n\treturn data;\r\n};\r\n\r\n/**\r\n * 获取用户可选择的主题\r\n *\r\n */\r\nexport const getUserThemeList = async (systemName = \"ttc\") => {\r\n\treturn await http.get<any>(`${URL[systemName].INTEGRATED_BASE_URL}/theme/list`, {}, { headers: { noLoading: true } });\r\n};\r\n\r\nexport const getCommentUntreatedCount = async (systemName = \"ttc\") => {\r\n\treturn await http.get<any>(`${URL[systemName].INTEGRATED_BASE_URL}/workorder/comment/untreated/count`);\r\n};\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoBa,MAAA,6BAA6B,CAAO,aAAa,UAAU;AACjE,QAAA,OAAO,MAAM,KAAK,IAAS,GAAG,IAAI,UAAU,EAAE,mBAAmB,8BAA8B;AAC9F,SAAA;AACR;AAMa,MAAA,wBAAwB,CAAO,aAAa,UAAU;AAC5D,QAAA,OAAO,MAAM,KAAK,IAAS,GAAG,IAAI,UAAU,EAAE,mBAAmB,yBAAyB;AACzF,SAAA;AACR;AAMa,MAAA,mBAAmB,CAAO,aAAa,UAAU;AAC7D,SAAO,MAAM,KAAK,IAAS,GAAG,IAAI,UAAU,EAAE,mBAAmB,eAAe,IAAI,EAAE,SAAS,EAAE,WAAW,KAAA,GAAQ;AACrH;AAEa,MAAA,2BAA2B,CAAO,aAAa,UAAU;AAC9D,SAAA,MAAM,KAAK,IAAS,GAAG,IAAI,UAAU,EAAE,mBAAmB,oCAAoC;AACtG;;;;;;;;;;"}
package/lib/index.es5.js CHANGED
@@ -45,15 +45,10 @@ var _elId;
45
45
  import { g as getCommentUntreatedCount, b as getUserThemeList } from "./index.es4.js";
46
46
  import { j as createElementBlock, o as openBlock, C as createStaticVNode, e as createBaseVNode, D as withDirectives, x as toDisplayString, a as resolveComponent, c as createBlock, w as withCtx, A as normalizeClass, k as createCommentVNode, z as normalizeStyle, F as Fragment, l as renderList, m as resolveDynamicComponent, f as createVNode, B as version$1 } from "./vue.runtime.esm-bundler.es.js";
47
47
  import { c as commonjsGlobal, g as getAugmentedNamespace, a as getDefaultExportFromCjs } from "./dayjs.min.es.js";
48
- import { h as commonjsRequire, f as yxSubscribe, i as isColorEqual } from "./mqtt.min.es.js";
48
+ import { j as commonjsRequire, h as yxSubscribe, i as isColorEqual } from "./mqtt.min.es.js";
49
49
  import { f as changeSystemConfig, i as getSystemConfig, a as http, B as BC_LANG_NAME, v as vShow, T as Transition, u as useCssVars, d as createApp, k as BC_THEME_NAME, l as setSystemConfig } from "./index.es12.js";
50
50
  import "./index.es7.js";
51
51
  import "./index.es11.js";
52
- const YX_TITLE = "@font-face {font-family: 'YX-TITLE';font-size: 16px; src: url('https://yx-picture.obs.cn-north-4.myhuaweicloud.com/ttc/bucket/1699612675710_ALIBABAPUHUITI-2-105-HEAVY.TTF') format('woff'), url('https://yx-picture.obs.cn-north-4.myhuaweicloud.com/ttc/bucket/1699612675710_ALIBABAPUHUITI-2-105-HEAVY.TTF') format('woff2'); font-style: normal;font-display: swap;}";
53
- const YX_SP_TITLE = "@font-face { font-family: 'YX-SP-TITLE'; font-size: 16px; src: url('https://yx-picture.obs.cn-north-4.myhuaweicloud.com/ttc/bucket/1699844184489_bt.ttf') format('woff'),url('https://yx-picture.obs.cn-north-4.myhuaweicloud.com/ttc/bucket/1699844184489_bt.ttf') format('woff2');font-style: normal; font-display: swap}";
54
- const YX_TEXT = "@font-face {font-family: 'YX-TEXT'; font-size: 16px;src: url('https://yx-picture.obs.cn-north-4.myhuaweicloud.com/ttc/bucket/1699611032932_ALIBABAPUHUITI-2-65-MEDIUM.TTF') format('woff'),url('https://yx-picture.obs.cn-north-4.myhuaweicloud.com/ttc/bucket/1699611032932_ALIBABAPUHUITI-2-65-MEDIUM.TTF') format('woff2'); font-style: normal; font-display: swap;}";
55
- const YX_TEXT_HK = "@font-face {font-family: 'PingFang SC'; font-size: 16px;src: url('https://yx-picture.obs.cn-north-4.myhuaweicloud.com/ttc/bucket/苹方-繁 中黑体.otf') format('woff'),url('https://yx-picture.obs.cn-north-4.myhuaweicloud.com/ttc/bucket/苹方-繁 中黑体.otf') format('woff2'); font-style: normal; font-display: swap}";
56
- const ttcFontFamily = YX_TITLE + YX_SP_TITLE + YX_TEXT + YX_TEXT_HK;
57
52
  const defaultConfig = {
58
53
  loginUrl: "/ttc/cloud/#/login",
59
54
  homeUrl: "/ttc/cloud/#/cloud",
@@ -24884,7 +24879,7 @@ function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
24884
24879
  [vShow, $props.value > 0]
24885
24880
  ]);
24886
24881
  }
24887
- const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$2], ["__scopeId", "data-v-588a1297"]]);
24882
+ const Badge = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$2], ["__scopeId", "data-v-181eafdb"]]);
24888
24883
  const _sfc_main = {
24889
24884
  components: { theme, issue, Badge, lang },
24890
24885
  props: {
@@ -25010,7 +25005,7 @@ const _hoisted_3 = { class: "tool-icon relative flex justify-center items-center
25010
25005
  const _hoisted_4 = {
25011
25006
  class: "yx-icon",
25012
25007
  style: { "color": "var(--color-main-100)" },
25013
- color: "var(--color-main-100) \n ",
25008
+ color: "var(--color-main-100) \r\n ",
25014
25009
  size: "24"
25015
25010
  };
25016
25011
  const _hoisted_5 = { class: "mt-10 text-center" };
@@ -25113,7 +25108,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
25113
25108
  _: 1
25114
25109
  });
25115
25110
  }
25116
- const ToolbarContainer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render$1], ["__scopeId", "data-v-b8083f17"]]);
25111
+ const ToolbarContainer = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render$1], ["__scopeId", "data-v-69cff9bc"]]);
25117
25112
  const _hoisted_1$1 = {
25118
25113
  xmlns: "http://www.w3.org/2000/svg",
25119
25114
  width: "50",
@@ -25226,8 +25221,8 @@ const __default__ = {
25226
25221
  };
25227
25222
  const __injectCSSVars__ = () => {
25228
25223
  useCssVars((_ctx) => ({
25229
- "7d9b552a": _ctx.panelWidthPX,
25230
- "53d65213": _ctx.panelHeightPX
25224
+ "c18d3f3e": _ctx.panelWidthPX,
25225
+ "65f9adbc": _ctx.panelHeightPX
25231
25226
  }));
25232
25227
  };
25233
25228
  const __setup__ = __default__.setup;
@@ -25270,7 +25265,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
25270
25265
  }, null, 8, ["badgeValue", "showTool"])
25271
25266
  ]);
25272
25267
  }
25273
- const ToolbarApp = /* @__PURE__ */ _export_sfc(__default__, [["render", _sfc_render], ["__scopeId", "data-v-1d4b1d0f"]]);
25268
+ const ToolbarApp = /* @__PURE__ */ _export_sfc(__default__, [["render", _sfc_render], ["__scopeId", "data-v-61b5e9fe"]]);
25274
25269
  const _Toolbar = class _Toolbar {
25275
25270
  constructor(config2) {
25276
25271
  /** 工具挂载domId */
@@ -25343,7 +25338,6 @@ const install = (config2) => __async(void 0, null, function* () {
25343
25338
  location.reload();
25344
25339
  };
25345
25340
  } catch (err) {
25346
- initTtcFont();
25347
25341
  updateTheme();
25348
25342
  }
25349
25343
  });
@@ -25351,9 +25345,7 @@ const handleSystemConfig = (config2) => {
25351
25345
  setSystemConfig(__spreadValues({}, config2));
25352
25346
  };
25353
25347
  const initTtcFont = () => {
25354
- const style = document.createElement("style");
25355
- style.innerHTML = ttcFontFamily;
25356
- document.head.appendChild(style);
25348
+ return;
25357
25349
  };
25358
25350
  const saveCssVar = ({ themeCssVar, themeId }) => {
25359
25351
  const ttcGlobalState = localStorage.getItem("ttcGlobalState") || "{}";
@@ -25506,15 +25498,27 @@ class BC {
25506
25498
  constructor(channelName) {
25507
25499
  __publicField(this, "onmessage");
25508
25500
  __publicField(this, "postMessage");
25501
+ BC.init();
25509
25502
  const broadcastChannel = new BroadcastChannel(channelName);
25510
25503
  this.onmessage = (event) => event;
25511
25504
  broadcastChannel.onmessage = (event) => {
25512
- this.onmessage(event);
25505
+ const { type } = event.data;
25506
+ if (type === "router") {
25507
+ if (window.pageActive) return this.onmessage(event);
25508
+ } else {
25509
+ this.onmessage(event);
25510
+ }
25513
25511
  };
25514
25512
  this.postMessage = (message) => {
25515
25513
  return broadcastChannel.postMessage(message);
25516
25514
  };
25517
25515
  }
25516
+ static init() {
25517
+ window.pageActive = document.visibilityState === "visible";
25518
+ document.addEventListener("visibilitychange", () => {
25519
+ window.pageActive = document.visibilityState === "visible";
25520
+ });
25521
+ }
25518
25522
  }
25519
25523
  const BC$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
25520
25524
  __proto__: null,
Binary file