yxuse 3.0.59 → 3.0.60

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 (53) hide show
  1. package/lib/index.cjs12.js +1 -1
  2. package/lib/index.cjs12.js.gz +0 -0
  3. package/lib/index.cjs12.js.map +1 -1
  4. package/lib/index.cjs2.js +1 -1
  5. package/lib/index.cjs2.js.map +1 -1
  6. package/lib/index.cjs3.js +1 -1
  7. package/lib/index.cjs3.js.map +1 -1
  8. package/lib/index.cjs5.js +2 -2
  9. package/lib/index.cjs5.js.gz +0 -0
  10. package/lib/index.cjs5.js.map +1 -1
  11. package/lib/index.cjs6.js +2 -2
  12. package/lib/index.cjs6.js.gz +0 -0
  13. package/lib/index.cjs6.js.map +1 -1
  14. package/lib/index.cjs7.js +1 -16
  15. package/lib/index.cjs7.js.map +1 -1
  16. package/lib/index.es12.js +6 -0
  17. package/lib/index.es12.js.gz +0 -0
  18. package/lib/index.es12.js.map +1 -1
  19. package/lib/index.es2.js +1 -0
  20. package/lib/index.es2.js.map +1 -1
  21. package/lib/index.es3.js +1 -0
  22. package/lib/index.es3.js.map +1 -1
  23. package/lib/index.es5.js +9 -4
  24. package/lib/index.es5.js.gz +0 -0
  25. package/lib/index.es5.js.map +1 -1
  26. package/lib/index.es6.js +2 -1
  27. package/lib/index.es6.js.gz +0 -0
  28. package/lib/index.es6.js.map +1 -1
  29. package/lib/index.es7.js +1 -5361
  30. package/lib/index.es7.js.map +1 -1
  31. package/lib/mqtt.min.cjs.js +1 -1
  32. package/lib/mqtt.min.cjs.js.gz +0 -0
  33. package/lib/mqtt.min.cjs.js.map +1 -1
  34. package/lib/mqtt.min.es.js +2 -1
  35. package/lib/mqtt.min.es.js.gz +0 -0
  36. package/lib/mqtt.min.es.js.map +1 -1
  37. package/lib/style.css +1 -1
  38. package/lib/theme.cjs.js +1 -1
  39. package/lib/theme.es.js +4 -0
  40. package/lib/theme.es.js.map +1 -1
  41. package/lib/translate.cjs.js +1 -1
  42. package/lib/translate.es.js +6 -1
  43. package/lib/translate.es.js.map +1 -1
  44. package/lib/yxIcon.cjs.js +1 -1
  45. package/lib/yxIcon.es.js +1 -0
  46. package/lib/yxIcon.es.js.map +1 -1
  47. package/lib/yxi18n.cjs.js +1 -1
  48. package/lib/yxi18n.es.js +2 -1
  49. package/lib/yxi18n.es.js.map +1 -1
  50. package/package.json +4 -4
  51. package/lib/index.cjs7.js.gz +0 -0
  52. package/lib/index.es7.js.gz +0 -0
  53. package/lib/style.css.gz +0 -0
package/lib/index.cjs2.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var t=Object.defineProperty,e=(e,s,i)=>((e,s,i)=>s in e?t(e,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[s]=i)(e,"symbol"!=typeof s?s+"":s,i);const s=require("./index.cjs12.js"),i=require("./mqtt.min.cjs.js");async function n(t,e,i,n={}){const{headers:o={},responseType:r="json",signal:a,noAuth:h=!1}=n,c="GET"===e?`${t}${function(t){if(!t)return"";const e=new URLSearchParams;return Object.entries(t).forEach((([t,s])=>{null!=s&&e.append(t,String(s))})),`?${e.toString()}`}(i)}`:`${t}`,l=s.getToken();n.noLoading||s.showFullScreenLoading();const u=await fetch(c,{method:e,headers:{"Content-Type":"application/json",...l&&!h?{token:l}:"",...o},body:"GET"!==e&&i?JSON.stringify(i):void 0,signal:a});if(s.hideFullScreenLoading(),!u.ok){let t="";try{const e=await u.json();(null==e?void 0:e.resultMsg)&&(t=e.resultMsg)}catch(m){}throw s.checkStatus(u.status,t),new Error(t)}switch(r){case"text":return u.text();case"blob":return u.blob();default:return u.json()}}require("element-plus");const o={get:(t,e,s)=>n(t,"GET",e,s),post:(t,e,s)=>n(t,"POST",e,s),put:(t,e,s)=>n(t,"PUT",e,s),delete:(t,e,s)=>n(t,"DELETE",e,s)},r={mqttVersion:5,clean:!0,connectTimeout:4e3,keepAlive:60,clientId:"mqttjs_"+Date.now(),qos:1},a=new Map;class h{constructor(t,s){e(this,"client"),this.client=null,this.subscribe=this.subscribe,this.unsubscribe=this.unsubscribe,this.publish=this.publish,this.destroyed=this.destroyed,this.createClient(t,{...r,...s})}createClient(t,e){this.client=i.mqtt_minExports.connect(t,e),this.client.on("connect",this.onConnect),this.client.on("reconnect",this.onReconnect),this.client.on("error",this.onError),this.client.on("message",this.onMessage)}publish(t,e){this.client.publish(t,e,{qos:r.qos},(t=>{}))}subscribe(t,e){this.client.subscribe(t,(s=>{if(s)throw new Error(s);a.set(t,e)}))}unsubscribe(t){this.client.unsubscribe(t,{},(t=>{}))}onConnect(t){}onReconnect(t){}onError(t){}onMessage(t,e){const s=e.toString();a.get(t)(JSON.parse(s))}destroyed(){this.client.end&&this.client.end()}}class c{constructor(t,s){e(this,"url"),e(this,"protocols"),e(this,"webSocketState"),e(this,"isCustomClose"),e(this,"reconnectTime"),e(this,"heartBeatTime"),e(this,"waitBeatTime"),e(this,"callback"),e(this,"HEART_KEY"),e(this,"HEART_VALUE"),e(this,"ws"),e(this,"isReconnectionLoading"),e(this,"timeId"),e(this,"eventCenter"),e(this,"errorStack"),e(this,"heartMessage"),e(this,"msgDataPreHandler"),this.url=t.url,this.protocols=s,this.webSocketState=!1,this.isCustomClose=!0,this.reconnectTime=t.reconnectTime,this.heartBeatTime=t.heartBeatTime,this.waitBeatTime=t.waitBeatTime,this.callback=t.callback,t.msgDataPreHandler&&(this.msgDataPreHandler=t.msgDataPreHandler),this.onmessage=this.onmessage,this.heartMessage=t.heartMessage,this.HEART_KEY=t.HEART_KEY,this.HEART_VALUE=t.HEART_VALUE,this.ws=null,this.isReconnectionLoading=!1,this.createWs()}createWs(){"WebSocket"in window&&(this.ws=null,this.ws=new WebSocket(this.url,this.protocols),this.onopen(),this.onerror(),this.onclose(),this.onmessage())}onopen(){this.ws.onopen=()=>{this.webSocketState=!0,this.startHeartBeat(this.heartBeatTime)}}startHeartBeat(t){setTimeout((()=>{this.heartMessage&&(this.heartMessage.data=(new Date).getTime()+""),this.send(this.heartMessage?this.heartMessage:this.HEART_KEY),this.waitingServer()}),t)}waitingServer(){this.webSocketState=!1,setTimeout((()=>{if(this.webSocketState)this.startHeartBeat(this.heartBeatTime);else try{this.close(),this.ws&&this.start()}catch(t){}}),this.waitBeatTime)}onerror(){this.ws&&(this.ws.onerror=t=>{this.isCustomClose=!1,this.isReconnectionLoading=!1})}onclose(){this.ws&&(this.ws.onclose=()=>{this.isCustomClose||this.ws&&(this.reconnection(),this.isReconnectionLoading=!1)})}async onmessage(){this.ws&&(this.ws.onmessage=async t=>{try{let e=t.data;if(this.msgDataPreHandler&&await this.msgDataPreHandler(e),e===this.HEART_VALUE)return void(this.webSocketState=!0);const s=JSON.parse(e);this.callback(s)}catch(e){this.callback(t.data)}})}reconnection(){this.isReconnectionLoading||(this.isReconnectionLoading=!0,clearTimeout(this.timeId),this.timeId=null,this.timeId=setTimeout((()=>{this.createWs()}),this.reconnectTime))}send(t){this.webSocketState&&this.ws&&this.ws.send(t)}close(){var t;this.isCustomClose=!0,this.isReconnectionLoading=!1,this.ws&&this.ws.close&&(null==(t=this.ws)||t.close())}start(){this.isCustomClose=!1,this.reconnection()}subscribe(t,e){this.eventCenter.on(t,e)}unsubscribe(t,e){this.eventCenter.off(t,e)}destroy(){clearTimeout(this.timeId),this.close(),this.ws=null,this.errorStack=null,this.eventCenter=null,this.webSocketState=!1}}const l=Object.freeze(Object.defineProperty({__proto__:null,MQ:h,WS:c,areColorsSimilar:i.areColorsSimilar,copyText:i.copyText,enumToArray:i.enumToArray,getCownDownTime:i.getCownDownTime,getSelectOptions:i.getSelectOptions,http:s.http,isColorEqual:i.isColorEqual,isDarkColor:i.isDarkColor,notifyMessageToSystems:i.notifyMessageToSystems,receiveMessage:i.receiveMessage,useConfirm:i.useConfirm,yxFecth:o,yxMessage:i.yxMessage,yxSubscribe:i.yxSubscribe},Symbol.toStringTag,{value:"Module"}));exports.MQ=h,exports.Ws=c,exports.utils2=l,exports.yxFecth=o;
1
+ "use strict";var e=Object.defineProperty,t=(t,s,i)=>((t,s,i)=>s in t?e(t,s,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[s]=i)(t,"symbol"!=typeof s?s+"":s,i);const s=require("./index.cjs12.js"),i=require("./mqtt.min.cjs.js");async function n(e,t,i,n={}){const{headers:o={},responseType:r="json",signal:a,noAuth:h=!1}=n,c="GET"===t?`${e}${function(e){if(!e)return"";const t=new URLSearchParams;return Object.entries(e).forEach((([e,s])=>{null!=s&&t.append(e,String(s))})),`?${t.toString()}`}(i)}`:`${e}`,l=s.getToken();n.noLoading||s.showFullScreenLoading();const u=await fetch(c,{method:t,headers:{"Content-Type":"application/json",...l&&!h?{token:l}:"",...o},body:"GET"!==t&&i?JSON.stringify(i):void 0,signal:a});if(s.hideFullScreenLoading(),!u.ok){let e="";try{const t=await u.json();(null==t?void 0:t.resultMsg)&&(e=t.resultMsg)}catch(m){}throw s.checkStatus(u.status,e),new Error(e)}switch(r){case"text":return u.text();case"blob":return u.blob();default:return u.json()}}require("element-plus"),require("element-plus/es/components/message/style/index");const o={get:(e,t,s)=>n(e,"GET",t,s),post:(e,t,s)=>n(e,"POST",t,s),put:(e,t,s)=>n(e,"PUT",t,s),delete:(e,t,s)=>n(e,"DELETE",t,s)},r={mqttVersion:5,clean:!0,connectTimeout:4e3,keepAlive:60,clientId:"mqttjs_"+Date.now(),qos:1},a=new Map;class h{constructor(e,s){t(this,"client"),this.client=null,this.subscribe=this.subscribe,this.unsubscribe=this.unsubscribe,this.publish=this.publish,this.destroyed=this.destroyed,this.createClient(e,{...r,...s})}createClient(e,t){this.client=i.mqtt_minExports.connect(e,t),this.client.on("connect",this.onConnect),this.client.on("reconnect",this.onReconnect),this.client.on("error",this.onError),this.client.on("message",this.onMessage)}publish(e,t){this.client.publish(e,t,{qos:r.qos},(e=>{}))}subscribe(e,t){this.client.subscribe(e,(s=>{if(s)throw new Error(s);a.set(e,t)}))}unsubscribe(e){this.client.unsubscribe(e,{},(e=>{}))}onConnect(e){}onReconnect(e){}onError(e){}onMessage(e,t){const s=t.toString();a.get(e)(JSON.parse(s))}destroyed(){this.client.end&&this.client.end()}}class c{constructor(e,s){t(this,"url"),t(this,"protocols"),t(this,"webSocketState"),t(this,"isCustomClose"),t(this,"reconnectTime"),t(this,"heartBeatTime"),t(this,"waitBeatTime"),t(this,"callback"),t(this,"HEART_KEY"),t(this,"HEART_VALUE"),t(this,"ws"),t(this,"isReconnectionLoading"),t(this,"timeId"),t(this,"eventCenter"),t(this,"errorStack"),t(this,"heartMessage"),t(this,"msgDataPreHandler"),this.url=e.url,this.protocols=s,this.webSocketState=!1,this.isCustomClose=!0,this.reconnectTime=e.reconnectTime,this.heartBeatTime=e.heartBeatTime,this.waitBeatTime=e.waitBeatTime,this.callback=e.callback,e.msgDataPreHandler&&(this.msgDataPreHandler=e.msgDataPreHandler),this.onmessage=this.onmessage,this.heartMessage=e.heartMessage,this.HEART_KEY=e.HEART_KEY,this.HEART_VALUE=e.HEART_VALUE,this.ws=null,this.isReconnectionLoading=!1,this.createWs()}createWs(){"WebSocket"in window&&(this.ws=null,this.ws=new WebSocket(this.url,this.protocols),this.onopen(),this.onerror(),this.onclose(),this.onmessage())}onopen(){this.ws.onopen=()=>{this.webSocketState=!0,this.startHeartBeat(this.heartBeatTime)}}startHeartBeat(e){setTimeout((()=>{this.heartMessage&&(this.heartMessage.data=(new Date).getTime()+""),this.send(this.heartMessage?this.heartMessage:this.HEART_KEY),this.waitingServer()}),e)}waitingServer(){this.webSocketState=!1,setTimeout((()=>{if(this.webSocketState)this.startHeartBeat(this.heartBeatTime);else try{this.close(),this.ws&&this.start()}catch(e){}}),this.waitBeatTime)}onerror(){this.ws&&(this.ws.onerror=e=>{this.isCustomClose=!1,this.isReconnectionLoading=!1})}onclose(){this.ws&&(this.ws.onclose=()=>{this.isCustomClose||this.ws&&(this.reconnection(),this.isReconnectionLoading=!1)})}async onmessage(){this.ws&&(this.ws.onmessage=async e=>{try{let t=e.data;if(this.msgDataPreHandler&&await this.msgDataPreHandler(t),t===this.HEART_VALUE)return void(this.webSocketState=!0);const s=JSON.parse(t);this.callback(s)}catch(t){this.callback(e.data)}})}reconnection(){this.isReconnectionLoading||(this.isReconnectionLoading=!0,clearTimeout(this.timeId),this.timeId=null,this.timeId=setTimeout((()=>{this.createWs()}),this.reconnectTime))}send(e){this.webSocketState&&this.ws&&this.ws.send(e)}close(){var e;this.isCustomClose=!0,this.isReconnectionLoading=!1,this.ws&&this.ws.close&&(null==(e=this.ws)||e.close())}start(){this.isCustomClose=!1,this.reconnection()}subscribe(e,t){this.eventCenter.on(e,t)}unsubscribe(e,t){this.eventCenter.off(e,t)}destroy(){clearTimeout(this.timeId),this.close(),this.ws=null,this.errorStack=null,this.eventCenter=null,this.webSocketState=!1}}const l=Object.freeze(Object.defineProperty({__proto__:null,MQ:h,WS:c,areColorsSimilar:i.areColorsSimilar,copyText:i.copyText,enumToArray:i.enumToArray,getCownDownTime:i.getCownDownTime,getSelectOptions:i.getSelectOptions,http:s.http,isColorEqual:i.isColorEqual,isDarkColor:i.isDarkColor,notifyMessageToSystems:i.notifyMessageToSystems,receiveMessage:i.receiveMessage,useConfirm:i.useConfirm,yxFecth:o,yxMessage:i.yxMessage,yxSubscribe:i.yxSubscribe},Symbol.toStringTag,{value:"Module"}));exports.MQ=h,exports.Ws=c,exports.utils2=l,exports.yxFecth=o;
2
2
  //# sourceMappingURL=index.cjs2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs2.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":["async","baseRequest","url","method","data","config","headers","responseType","signal","noAuth","fullUrl","params","query","URLSearchParams","Object","entries","forEach","key","value","append","String","toString","buildQuery","token","auth.getToken","noLoading","showFullScreenLoading","res","fetch","body","JSON","stringify","hideFullScreenLoading","ok","errorMessage","errorData","json","resultMsg","_","status","Error","text","blob","yxFecth","get","post","put","delete","clientOptions","mqttVersion","clean","connectTimeout","keepAlive","clientId","Date","now","qos","subscribeMap","Map","MQ","constructor","options","__publicField","this","client","subscribe","unsubscribe","publish","destroyed","createClient","mqtt.connect","on","onConnect","onReconnect","onError","onMessage","topic","message","e","callback","error","set","parse","end","Ws","protocols","webSocketState","isCustomClose","reconnectTime","heartBeatTime","waitBeatTime","msgDataPreHandler","onmessage","heartMessage","HEART_KEY","HEART_VALUE","ws","isReconnectionLoading","createWs","window","WebSocket","onopen","onerror","onclose","startHeartBeat","time","setTimeout","getTime","send","waitingServer","close","start","err","reconnection","event","rawData","clearTimeout","timeId","_a","eventName","cb","eventCenter","off","destroy","errorStack"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs2.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":["async","baseRequest","url","method","data","config","headers","responseType","signal","noAuth","fullUrl","params","query","URLSearchParams","Object","entries","forEach","key","value","append","String","toString","buildQuery","token","auth.getToken","noLoading","showFullScreenLoading","res","fetch","body","JSON","stringify","hideFullScreenLoading","ok","errorMessage","errorData","json","resultMsg","_","status","Error","text","blob","yxFecth","get","post","put","delete","clientOptions","mqttVersion","clean","connectTimeout","keepAlive","clientId","Date","now","qos","subscribeMap","Map","MQ","constructor","options","__publicField","this","client","subscribe","unsubscribe","publish","destroyed","createClient","mqtt.connect","on","onConnect","onReconnect","onError","onMessage","topic","message","e","callback","error","set","parse","end","Ws","protocols","webSocketState","isCustomClose","reconnectTime","heartBeatTime","waitBeatTime","msgDataPreHandler","onmessage","heartMessage","HEART_KEY","HEART_VALUE","ws","isReconnectionLoading","createWs","window","WebSocket","onopen","onerror","onclose","startHeartBeat","time","setTimeout","getTime","send","waitingServer","close","start","err","reconnection","event","rawData","clearTimeout","timeId","_a","eventName","cb","eventCenter","off","destroy","errorStack"],"mappings":"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"}
package/lib/index.cjs3.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";require("./index.cjs12.js"),require("element-plus");const e=require("./index.cjs13.js"),t=async()=>{var t;const{data:r}=await e.getGroupListApi(),i=null==(t=r.find((e=>"yxIcon"===e.groupName)))?void 0:t.groupUuid;n(i)},n=async t=>{const{data:n}=await e.getResourceListApi(t,1);return r(n),n},r=e=>{const t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.setAttribute("xmlns:xlin","http://www.w3.org/1999/xlink");let n="";e.forEach((e=>{n+=e.text.replace(/\\/g,"").trim().replace(/^"(.*)"$/,"$1")})),t.innerHTML=n,t.style.position="absolute",t.style.width="0",t.style.height="0",document.head.appendChild(t)},i={install:function(e){t()}},s=Object.freeze(Object.defineProperty({__proto__:null,default:i},Symbol.toStringTag,{value:"Module"}));exports.index=i,exports.yxIcon2=s;
1
+ "use strict";require("./index.cjs12.js"),require("element-plus"),require("element-plus/es/components/message/style/index");const e=require("./index.cjs13.js"),t=async()=>{var t;const{data:n}=await e.getGroupListApi(),r=null==(t=n.find((e=>"yxIcon"===e.groupName)))?void 0:t.groupUuid;s(r)},s=async t=>{const{data:s}=await e.getResourceListApi(t,1);return n(s),s},n=e=>{const t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.setAttribute("xmlns:xlin","http://www.w3.org/1999/xlink");let s="";e.forEach((e=>{s+=e.text.replace(/\\/g,"").trim().replace(/^"(.*)"$/,"$1")})),t.innerHTML=s,t.style.position="absolute",t.style.width="0",t.style.height="0",document.head.appendChild(t)},r={install:function(e){t()}},i=Object.freeze(Object.defineProperty({__proto__:null,default:r},Symbol.toStringTag,{value:"Module"}));exports.index=r,exports.yxIcon2=i;
2
2
  //# sourceMappingURL=index.cjs3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs3.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":["getYxIconGroupUuid","async","data","assets.getGroupListApi","groupUuid","_a","find","item","groupName","getYxIconFileContent","assets.getResourceListApi","combineYxIconStr","svg","document","createElementNS","setAttribute","svgHtml","forEach","svgElement","text","replace","trim","innerHTML","style","position","width","height","head","appendChild","index","install","app"],"mappings":"qGAiBMA,EAAqBC,gBAC1B,MAAMC,KAAEA,SAAeC,oBACjBC,EAAY,OAAAC,IAAKC,MAAMC,GAPN,WAOoBA,EAAKC,kBAAgC,EAAAH,EAAAD,UAChFK,EAAqBL,EAAS,EAEzBK,EAAuBR,MAAOG,IACnC,MAAMF,KAAEA,SAAeQ,EAAAA,mBAA0BN,EAAW,GAErD,OADPO,EAAiBT,GACVA,CAAA,EAEFS,EAAoBT,IACzB,MAAMU,EAAMC,SAASC,gBAAgB,6BAA8B,OAC/DF,EAAAG,aAAa,QAAS,8BACtBH,EAAAG,aAAa,aAAc,gCAC/B,IAAIC,EAAU,GACTd,EAAAe,SAASC,IACFF,GAAAE,EAAWC,KACpBC,QAAQ,MAAO,IACfC,OACAD,QAAQ,WAAY,KAAI,IAE3BR,EAAIU,UAAYN,EAChBJ,EAAIW,MAAMC,SAAW,WACrBZ,EAAIW,MAAME,MAAQ,IAClBb,EAAIW,MAAMG,OAAS,IACVb,SAAAc,KAAKC,YAAYhB,EAAG,EAEfiB,EAAA,CACdC,QAAS,SAAUC,GA/BA/B,GAgCP"}
1
+ {"version":3,"file":"index.cjs3.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":["getYxIconGroupUuid","async","data","assets.getGroupListApi","groupUuid","_a","find","item","groupName","getYxIconFileContent","assets.getResourceListApi","combineYxIconStr","svg","document","createElementNS","setAttribute","svgHtml","forEach","svgElement","text","replace","trim","innerHTML","style","position","width","height","head","appendChild","index","install","app"],"mappings":"+JAiBMA,EAAqBC,gBAC1B,MAAMC,KAAEA,SAAeC,oBACjBC,EAAY,OAAAC,IAAKC,MAAMC,GAPN,WAOoBA,EAAKC,kBAAgC,EAAAH,EAAAD,UAChFK,EAAqBL,EAAS,EAEzBK,EAAuBR,MAAOG,IACnC,MAAMF,KAAEA,SAAeQ,EAAAA,mBAA0BN,EAAW,GAErD,OADPO,EAAiBT,GACVA,CAAA,EAEFS,EAAoBT,IACzB,MAAMU,EAAMC,SAASC,gBAAgB,6BAA8B,OAC/DF,EAAAG,aAAa,QAAS,8BACtBH,EAAAG,aAAa,aAAc,gCAC/B,IAAIC,EAAU,GACTd,EAAAe,SAASC,IACFF,GAAAE,EAAWC,KACpBC,QAAQ,MAAO,IACfC,OACAD,QAAQ,WAAY,KAAI,IAE3BR,EAAIU,UAAYN,EAChBJ,EAAIW,MAAMC,SAAW,WACrBZ,EAAIW,MAAME,MAAQ,IAClBb,EAAIW,MAAMG,OAAS,IACVb,SAAAc,KAAKC,YAAYhB,EAAG,EAEfiB,EAAA,CACdC,QAAS,SAAUC,GA/BA/B,GAgCP"}