xframelib 1.1.1 → 1.1.3

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 (35) hide show
  1. package/README.md +181 -189
  2. package/dist/assets/worker-iconv-KS7y7NCM.js +5405 -0
  3. package/dist/assets/worker-webcache-C22MEJ3V.js +956 -0
  4. package/dist/assets/worker-xmath-CbuRtVJ1.js +450 -0
  5. package/dist/controls/ADivider.vue.d.ts +8 -12
  6. package/dist/controls/ScaleContainer/index.vue.d.ts +13 -0
  7. package/dist/controls/ScrollSnapContainer/index.vue.d.ts +25 -0
  8. package/dist/controls/index.d.ts +4 -1
  9. package/dist/controls/layoutcontainer/LayoutManager.d.ts +8 -2
  10. package/dist/controls/layoutcontainer/layout.vue.d.ts +22 -35
  11. package/dist/controls/popover/index.vue.d.ts +33 -0
  12. package/dist/controls/routertransition/RouterTransition.vue.d.ts +2 -1
  13. package/dist/controls/routertransition/RouterTransitionAnimate.vue.d.ts +2 -1
  14. package/dist/controls/routertransition/SuspenseWithError.vue.d.ts +3 -2
  15. package/dist/controls/splitpanes/pane.vue.d.ts +3 -2
  16. package/dist/controls/splitpanes/splitpanes.vue.d.ts +3 -2
  17. package/dist/controls/xwindow/XWindow.vue.d.ts +10 -19
  18. package/dist/controls/xwindow/XWindowManager.d.ts +3 -3
  19. package/dist/controls/xwindow/index.d.ts +2 -2
  20. package/dist/directives/dbClickDirective.d.ts +5 -0
  21. package/dist/directives/index.d.ts +5 -2
  22. package/dist/directives/mediaDirective.d.ts +7 -0
  23. package/dist/index.css +1 -408
  24. package/dist/index.js +1 -12
  25. package/dist/utils/H5Tool.d.ts +18 -7
  26. package/dist/utils/IsTool.d.ts +4 -0
  27. package/dist/utils/Screen.d.ts +30 -0
  28. package/dist/utils/WebCacheTool.d.ts +1 -1
  29. package/dist/utils/index.d.ts +1 -0
  30. package/dist/workers/index.d.ts +3 -9
  31. package/package.json +25 -23
  32. package/dist/assets/worker-iconv-BsNle8M5.js +0 -22
  33. package/dist/assets/worker-webcache-CkCFZE0-.js +0 -6
  34. package/dist/assets/worker-xmath-AxRk6MsK.js +0 -6
  35. /package/dist/directives/{repeatClick.d.ts → repeatClickDirective.d.ts} +0 -0
package/README.md CHANGED
@@ -2,153 +2,112 @@
2
2
 
3
3
  <p>
4
4
  <a href="https://www.npmjs.com/package/xframelib" target="_blank">
5
- <img src="https://img.shields.io/npm/v/xframelib?color=orange&logo=npm" />
5
+ <img src="https://img.shields.io/npm/v/xframelib?color=orange&logo=npm" />
6
6
  </a>
7
7
  <a href="https://www.npmjs.com/package/xframelib" target="_blank">
8
- <img src="https://img.shields.io/npm/dt/xframelib?logo=npm"/>
8
+ <img src="https://img.shields.io/npm/dt/xframelib?logo=npm" />
9
9
  </a>
10
10
  </p>
11
11
 
12
- ## XFramelib前端基础库
13
-
14
- > 基于 VUE3+Hprose+Typescript+Widget 的前端框架,与ElementUI、AntDesign VUE、Quasar等界面库无关,一直是来源于项目和服务于项目。
15
-
16
- - v1.1.1 增加基于fetch流式方式请求数据的相关方法(例如:streamFetch**);给IWidgetConfig增加componentProps属性支持配置widget组件外部绑定属性对象;
17
- - v1.1.0 增加traverseXYArrayFromInsideOut从内到外遍历;增加NavigatorPlugin工具插件提供全局浏览器API方法(如:电池电量、通知、振动等);规范workers将worker-bigimage和worker-XXTEA合并到worker-xmath中,将iconv编码转码独立为worker-iconv;更新依赖库版本;
18
- - v1.0.9 增加LocalForage二次导出等;解决iconv-lite库升级的代码更新问题;更新依赖库版本;
19
- - v1.0.8 优化LayoutContainer组件,增加属性(默认值为false):noTop、noMain、noBack、noFront、noLeft、noRight、noBottom来支持移除无用布局层,用noMain来取代enableRouterView属性;优化XWindow组件,增加right和bottom属性来进行窗体初始化定位;更新依赖库版本;
20
- - v1.0.7 解决LayoutContainer与LayoutManager生命周期不一致导致的BUG;为LayoutManager增加dispose释放资源方法;更新依赖库版本;
21
- - v1.0.6 移除vuewindow组件;修改XWindow组件:默认不显示最小化按钮和窗体图标,对外暴露updatePosition方法允许代码修改位置;更新基础依赖库版本;
22
- - v1.0.5 补充积累CommonTool公共方法;新增Grid计算工具类;更新基础依赖库版本;
23
- - v1.0.4 新增支持大图前端分片加载展示的webworker;增加默认mitt导出;更新基础依赖库版本;
24
- - v1.0.3 新增支持Webworker Service开发模式(取代vite-plugin-webworker-service功能,解决插件与@quasar/app-vite不兼容);增加基于lru-cache的前端缓存工具类WebCacheTool和webCacheWorker;批量使用globThis代替window全局对象,以支持node和webworker里使用本库;更新基础依赖库版本;
25
- - v1.0.2 更新依赖库版本;解决XWindow图标离线化问题,修改窗体图标间距;
26
- - v1.0.1 更新依赖库版本,修改复制粘贴与textarea粘贴功能冲突问题;
27
- - v0.9.9 修改init方法,使用Global.Config?.ServiceURL.IconServiceURL注册自己的IconAPIProvider(解决内网时xwindow组件无按钮符号) ;
28
- - v0.9.8 移除streamsaver依赖库,改为内部引用,解决弹框请求mitm.html导致无法下载文件的问题(http下的IP:端口请求会出现域安全问题);
29
- - v0.9.7 解决v0.9.6使用useTemplateRef后导致LayoutManager不断报警告问题:client-entry.js:313 [Vue warn] Set operation on key "value" failed: target is readonly. RefImpl
30
- - *v0.9.6 改用vite打包;解决存在的循环引用问题;引入webworker,增加xmathWorker和xxteaWorker;XWindow增加点击header栏置顶窗体;优化widgetConfig加载,提升优化LayoutContainer和LayoutManager内部处理效率(保留旧方法,兼容旧开发模板);更新依赖库版本;
31
- - v0.9.5 SysConfig.js引入UI.OnlyUserVerify配置可以启用“只验证用户,不验证功能”;uuid方法改为小写;解决存在的循环引用问题;更新依赖库版本;
32
- - v0.9.4 修改ADivider组件线样式问题;修改XWindow组件拖拽位置计算不对的BUG;更新js依赖版本;
33
- - v0.9.3 更新依赖;提升单个大文件上传速度,对应后端服务并发写排队模式(前端默认并发3个请求);
34
- - v0.9.2 精简更新依赖;升级增强内部功能控制;积累与完善部分基础功能;匹配最新简化模板;
35
- - v0.9.1 增加a-divider组件;升级BigFileDownload方法(与新版文件服务匹配);解决GlobalHprose.getDefaultClient()为空对象问题;
36
- - v0.9.0 给LayoutContainer增加id属性;ZipTool使用扩展promise方法时,出现内部this指向不明错误,增加saveZipFromFiles文件数组压缩和saveZipFileSync同步压缩方法;引入iconv-lite字符编码库,可直接使用iconv里所有方法;
37
- - v0.8.9 为Function扩展promise方法(事件异步方法将按Promise异步执行);修改isElement判断错误;~~增加ZipTool用于文件在线压缩和解压(存在问题,不要使用)~~;H5Tool增加blockEvent停止冒泡bindDropFileHanlder拖拽文件、readFilePromise异步读取文件、优化readFileBytes为bytes二进制数组;IsTool增加isStringLikeJson、isStringLikeKml方法;H5Tool增加了onPasteHandler和offPasteHandler使用document绑定粘贴事件(不是任意div元素都可以绑定paste事件,只有设置了 contenteditable="true" 的元素,才会触发该事件);FileDownload增加SaveToSelectedFile方法,将文件保存到选定路径;
38
- - v0.8.7 修改0.8.6版的getDownload内部错误(与HttpDownload方法共存使用);
39
- - v0.8.6 修改get方法支持:业务服务API请求、请求网站public下资源、http完整URL请求; ~~增加getDownload方法下载文件(废弃HttpDownload方法);~~
40
- - v0.8.5 动态加载Widget时绑定更多IWidgetConfig属性(如:id,layoutID等);加载widget报错,输出更多异常信息;
41
- - v0.8.4 为widget权限对象,增加layoutid属性;修改LockHelper锁屏功能BUG;去掉DownloadByUrl(可改用HttpDownload方法);为H5Tool增加readFileBytes方法(读取前端文件,为bytes二进制数组/字符串);更新依赖库版本;
42
- - v0.8.3 增加HproseRPC过程的请求字符串和返回字符串的外部解码类HproseRPCCodec;
43
- - v0.8.2 修改VueWindow组件(VWindow)拖动定位错误;弃用DownloadByUrl方法;移除窗体同步库WSynchro.js;更新依赖库版本;
44
- - v0.8.1 修改RouterTransition组件,增加具有默认动画的RouterTransitionAnimate组件;widget组件配置对象(IWidgetConfig)启用layout属性(IWidgetLayout布局样式),增加cssClass外部配置样式类名;更新依赖库版本;
45
- - v0.8.0 更新LayoutContainer各层的默认样式,默认空白区域鼠标可以穿越,各元素鼠标可点击;更新依赖库版本;
46
- - *v0.7.9 给H5Tool增加常用DOM操作方法;为SysEvents增加LayoutContainerLoaded,每个LayoutManager对象自动加载到Global.LayoutMap里,为Global默认增加CesiumViewer对象;强化Widget链式排队加载,必须先afterid对应的widget加载成功,然后才加载当前widget。
47
- - v0.7.8 更新依赖库版本;增加SysConfig默认配置项;controls增加XWindow和XWindowManager取代VWindow;增加全局的Global.WidgetConfigList数组和getLayoutManager方法;删除VCollapsiblePanel、 VCollapsiblePanelGroup组件。
48
- - v0.7.7 增加hprose二进制序列化方法serialize和deserialize;修改Global默认自带LayoutMap和默认为console的Message;为LayoutManager增加静态方法getLayoutManager;增加RouterTransition控件,并应用于layoutcontainer中;更新依赖库版本。
49
- - v0.7.6 为LayoutManager增加卸载全部组件unloadAllWidgets、批量卸载组件unloadWidgets、获得已经加载组件ID列表getWidgetLoadedIDList;解决H5Tool的windowResizeHandler和offWindowResizeHandler内部调用错误方法的问题。
50
- - ~~v0.7.5 解决上一版LayoutContainer存在问题:CSS样式对应上,调整层级顺序;加入组件引用,changeWidgetVisible能控制Widget组件可见性;修改getWidgetComponent方法,实现对Widget组件的defineExpose方法调用;增加isWidgetVisible判断组件是否可见。~~
51
- - ~~v0.7.4 完善Axios异常捕捉(对接后端Furion包装异常);更新完善LayoutContainer;H5Tool增加removeHandler和offWindowResizeHandler方法;升级依赖基础库。~~
52
- - v0.7.3 升级依赖库;loadWidget失败输出日志和事件SysEvents.WidgetLoadedErrorEvent;优化系统权限相关模型;增加GetSignalRClient、ValidateTool、WaterMark等工具。
53
- - v0.7.2 解决v0.7.0的deepMerge方法存在复制对象的BUG。
54
- - v0.7.0 修改requestPost无法使用FormData参数;修改deepMerge方法;修改isObjectX方法;更新rollup-plugin-scss应用版本。
55
- - ~~v0.6.9 默认引入loglevel,为Global增加Logger()方法,使用例如:Global.Logger().warn('123')。~~
56
- - v0.6.8 解决Axios 0.x升级为1.x后,序列化时带来的AxiosError: options must be an object错误
57
- - v0.6.7 解决ExitLogin时报415错误;SysEvents.AxiosRequestErrorEvent、SysEvents.WebAPIErrorEvent、SysEvents.HproseServiceErrorEvent改为默认为后台记录,不主动弹框提示,需要提示使用Global.EventBus自主监听事件;升级依赖库版本;
58
- - v0.6.6 解决requestGet里params参数为数组解析错误问题;更改Layout布局层次为100;解决提示XXTEA未导出的问题;copyText默认改用Clipboard方式,支持根据元素ID复制内容;
59
- - v0.6.5 copyText默认改用Clipboard方式,支持根据元素ID复制内容;
60
- - v0.6.4 调整LayoutContainer层级;修改centerDiv的默认pointer-events
61
- - v0.6.3
62
- 升级基础库;完善LayoutContainer增加enableRouterView控制是否启用内置的RouterView;H5Tool增加dispatchWindowResize和dispatchElementEvent主动触发元素事件
63
- - v0.6.2 增加计算完整MD5值和文件上传导出问题;部分小问题修改;增加窗体同步消息库WSynchro.js;
64
- - v0.6.1 增加全局捕捉Axios请求报错信息;Token认证时间BUG:客户端为过去时间或未来时间;
65
- - v0.6.0 解决requestPost支持FormData数组参数问题;IMapKeys支持地图Key配置为数组;ServiceURL配置增加IconServiceURL、UILoginURL等
66
- - v0.5.9 重构用户模型和登录验证,对接用户权限管理系统;增加XXTEA加密算法;增加http network error错误捕捉
67
- - v0.5.8 修改 VueWindow 报 fixPosition 错误;重构升级 widget 加载过程;升级依赖基础库版本
68
- - v0.5.7 修改 init 初始化增加 sysGroup 参数;增加 Global.SystemGroup 字段,Axios 和 Hprose 的 Http 请求头加入 sysgroup 系统分组名;解决 Global 变量的循环引用,增加 SysConfig 的 UI 下的 GrayMode 参数、部分 ServiceURL 下参数,修改一些小 BUG;
69
- - v0.5.6 修改 init 初始化方法增加 sysID 参数;增加 Global.SystemID 字段,Axios 和 Hprose 的 Http 请求头加入 sysid;
70
- - v0.5.5 截取捕捉后台返回的有用异常信息,重新抛出;异常警告输出统一模型增加 isExceptionInfo 字段;更新依赖库;
71
- - v0.5.4 解决 IRole 相关模型类型未导出;LayoutManager.d.ts 输出两遍问题;完善 axios http 请求异常警告输出统一模型,发送 SysEvents.AxiosRequestErrorEvent 系统事件;
72
- - v0.5.3 撤销的版本
73
- - v0.5.2 撤销的版本
74
- - v0.5.1 路由权限过滤只比较 path;修改返回权限结果判断错误问题
75
- - v0.5.0 增加用户权限管理组;增加 CodeHelper 来辅助生成部分代码的方法;解决大文件下载路径传递、全屏时不传对象报错等问题;引入 axios 对象外部化 axios
76
- - v0.4.9 解决 Global.User 对象赋值错误导致 0.4.8 无法登录的问题
77
- - v0.4.8 解决 UserToken 里没有 appkey 信息;刷新 token 时丢失 appkey 信息(弃用该版本)
78
- - v0.4.7 解决 Hprose 使用 ClientContext 进行公共传参问题,默认 headers 自带 token 值
79
- - v0.4.6 解决文件分片下载并发请求过多的超时问题;AxiosHelper 增加超时时间参数,请求出错不默认弹框
80
- - v0.4.5 解决大文件下载的问题(修复 0.4.4 版本问题);增加库依赖资源 public 文件夹
81
- - v0.4.4 修改单个文件(单片)下载报错问题;(废弃不要使用)
82
- - v0.4.3 修改组件卸载事件的错误;增加用于大屏的浅灰色窗体样式
83
- - v0.4.2 重要修改:修改打包方式;支持组件导出;新增布局组件及管理方法;requestFullScreen 不传要素窗体全屏
84
- - v0.4.1 解决补充遗漏的 BigFileDownload 类;
85
- - v0.4.0 增加 isTool 的相关函数,修改补充方法,增加导出 IUser;
86
- - v0.3.9 init 方法需要传入 axios 对象(不能将 axios 打包进去,因为存在错误);
87
- - v0.3.8 取消 init 方法传入 axios 对象(改为内部自带 Global.Axios);完善 AxiosHelper 工具类;增加大文件分片/断点续传下载类 BigFileDownload;
88
- - v0.3.7 增加 LockHelper 长时间操作退出登录,增加 SystemConfig.UI.LockTime 可选配置和接口 onLockListener、 unLockListener、getLockState;
89
- - v0.3.6 H5Tool 增加基于 SparkMD5 的 MD5 计算;解决 TokenHelper 与 Global 循环引用问题;增加模仿 JQuery 的 HTML 元素 Style 类名操作 hasClass、addClass、removeClass、toggleClass;完善 getProxyClient 支持 Map 缓存 HproseProxy 对象
90
- - v0.3.5 增加大文件切片上传 FileUpload;增加 newGuid 方法;
91
- 修改 requestPost 使用 FormData 方式提交数据,增加 requestPostBody 使用 JSON 方式提交;
92
- 移除 UserCookies 和 JS-js-cookie 依赖;
93
- H5Tool 增加 getFileShortMD5 获取文件 MD5 值,增加 getObjectURL 获取 File 对象的路径;
94
- - v0.3.4 增加统一用户登录和 Token 支持;解决类循环引用问题;增加系统配置参数为具体接口
95
- - v0.3.3 解决 支持 Hprose 旧版本不支持 useServiceAsync 的问题
96
- - v0.3.2 解决 0.3.1 版本更新错误(导致 HproseClient 无法实例化的问题)
97
- - v0.3.1 修改系统 DefaultProxyClient 初始化弹框报错问题(DefaultHproseAPI 配置项可为空或不设置);增加 getProxyClient 和 initDefaultProxyClient 全局方法。
98
- - v0.3.0 修改 UserCookies 支持自定义 KEY;修改 H5Tool 增强全屏操作功能方法;升级依赖的基础库
99
- - v0.2.9 删除 uuid 的 NPM 包,增加 uuid 工具类,解决类型问题
100
- - v0.2.8 删除对 axios 的依赖(因 axios 使用了 process 对象,vue 中报错)
101
- - v0.2.7 增加 VUE WINDOW,FileDownload 等,打包入 axios(出现问题)
102
- - v0.2.6 新建前端 xframelib,支持 VUE 组件打包基于 ESbuild
103
- - v0.2.5 减小发布包大小,外部依赖 hprose
104
- - v0.2.4 正式应用于项目中,提供.d.ts 声明文件。
105
-
106
- ## 主要功能:
107
-
108
- - 网站系统配置Sysconfig.js对应的Global.Config
109
- - 公共事件总线Global.EventBus
110
- - Layout布局容器和Widget机制实现
111
- - Axios的Http请求封装实现Global.Axios、AxiosHelper{get, post, requestPost, requestGet, getData, requestPostBody}
112
- - Hprose Proxy方式调用后台Hprose服务实现
113
- - 与用户系统后台服务适配的Token验证/刷新和角色权限过滤
114
- - 大文件下载BigFileDownload
115
- - 普通文件下载FileDownload封装{ Download, SaveAs, JsonDownload, HttpDownload, DownloadByUrl }
116
- - 大文件上传FileUpload
117
- - H5Tool常用小功能
118
- - SignalrClient
119
- - JQuery工具 (hasClass 、addClass、removeClass、toggleClass、setCssProperty)
120
- - StorageHelper 本地缓存对象
121
- - IsTool类型判断工具(数字、字符串、对象、数组、函数等)
122
- - ValidateTool验证工具(身份证、手机号、IP地址、邮箱、密码强度判断、URL、车牌号等)
123
- - 与后端配合使用的加密解密算法XXTEA
124
- - 前端缓存功能(WebCacheTool和webCacheWorker)
125
- - maplibre加载大图展示(使用bigImageWorker)
126
-
127
- ## 使用
12
+ ## XFramelib Front-End Basic Library
13
+
14
+ > The core implementation is an enterprise-level micro-front-end architecture based on a Widget mechanism. It accumulates basic functions and components independent of UI interface libraries, improves the stability and high reusability of the basic code, and adheres to the philosophy of originating from and serving projects.
15
+
16
+ [README中文.md](https://share.note.youdao.com/s/bnDqvnDw) | [更新日志-中文](https://share.note.youdao.com/s/MrahKIVA)
17
+
18
+ ## Main Functions:
19
+
20
+ - System configuration Sysconfig.js, corresponding Global.Config object
21
+
22
+ - LayoutManager: Implements the Widget scheduling mechanism
23
+
24
+ - Global.EventBus: Public event bus
25
+
26
+ - UI Components:
27
+ - LayoutContainer (Layout container)
28
+
29
+ - ScaleContainer (Scale container)
30
+
31
+ - XWindow (Window-like component)
32
+
33
+ - SplitPanes (Page area splitting panel)
34
+
35
+ - Popover (Floating panel)
36
+
37
+ - RouterTransition related components
38
+
39
+ - Backend Service Calls:
40
+ - HTTP Web Requests: Axios encapsulation implementation Global.Axios, AxiosHelper{get, post, requestPost, requestGet, getData, requestPostBody}
41
+
42
+ - Hprose Service: Hprose Proxy method to call the backend hprose service
43
+
44
+ - Common Basic Functions:
45
+ - H5Tool :General functions
46
+
47
+ - IsTool :type detection tool (number, string, object, array, function, etc.)
48
+
49
+ - ValidateTool: verification tool (ID card, mobile phone number, IP address, email, password strength judgment, URL, license plate number, etc.)
50
+
51
+ - jQuery:jquery tools (hasClass, addClass, removeClass, toggleClass, setCssProperty)
52
+
53
+ - Compression and decompression tools: ZipTool and GzipTool
54
+
55
+ - Caching functions: StorageHelper for operating local cache objects, WebCacheTool for front-end caching
56
+
57
+ - XXTEA encryption and decryption algorithm
58
+
59
+ - Commands: (Register and load commands using setupDirectives)
60
+ - v-wow tiled scrolling display
61
+
62
+ - v-media adaptive style
63
+
64
+ - v-drag draggable
65
+
66
+ - v-repeatClick to avoid repeated clicks
67
+
68
+ - v-dc double-click command
69
+
70
+ - File upload and download:
71
+ - BigFileDownload: large file download
72
+
73
+ - FileUpload: large file upload
74
+
75
+ - FileDownload Encapsulated for regular file downloads, including { Download, SaveAs, JsonDownload, HttpDownload, DownloadByUrl }
76
+
77
+ - WebWorkers:
78
+ - iconvWorker: Text encoding/decoding
79
+
80
+ - webCacheWorker: Front-end caching layer
81
+
82
+ - xmathWorker: General mathematical calculations, large front-end images, tiled loading
83
+
84
+ - NavigatorPlugin :Browser plugin(provides general browser global method encapsulation)
85
+
86
+ ## Usage
128
87
 
129
88
  `pnpm add xframelib`
130
89
 
131
90
  or
132
-
133
91
  `npm i xframelib`
134
92
 
135
- 全局引入库样式:
93
+ Globally import library styles:
136
94
 
137
95
  import 'xframelib/dist/index.css';
138
96
 
139
- - **应用案例:前端开发模板 vue-widget-template**
97
+ - Open source application example: **Front-end development template vue-widget-template**
140
98
 
141
99
  https://github.com/zorrowm/vue-widget-template
142
100
 
143
- 全面基于XFramelibWidget思想的开发模板
101
+ A development template fully based on XFramelib and Widget concepts
144
102
 
145
- - **main.ts 文件**
146
- In Typescript:
103
+ - **main.ts file**
147
104
 
148
- ```js
105
+ In Typescript:
106
+
107
+ ```ts
149
108
  import { createApp } from 'vue';
150
109
  import App from './App.vue';
151
- //模板添加的
110
+ //added by template
152
111
  import { setupRouter } from './router/index';
153
112
  import {setupGlobDirectives} from './directives/index';
154
113
  import { init, Global } from 'xframelib';
@@ -157,101 +116,134 @@ import { getSystemPKG, getSystemID } from '@/utils/sysTool';
157
116
  import { createPinia } from 'pinia';
158
117
  import { message } from 'ant-design-vue';
159
118
  import {Icon} from '@iconify/vue';
160
- //dev阶段打开,build注销
119
+ //dev phase opens, build logs out
161
120
  import 'ant-design-vue/dist/antd.css';
162
121
 
163
122
 
164
- message.config({
165
- top: `100px`,
166
- duration: 1,
167
- maxCount: 3
123
+ message.config({
124
+ top: `100px`,
125
+ duration: 1, maxCount: 3
126
+
168
127
  });
169
- //绑定消息和初始化xframe
170
- //系统ID,唯一标识
128
+ // Bind messages and initialize xframe
129
+
130
+ // System ID, unique identifier
131
+
171
132
  const sysID = getSystemID();
172
- //分组名,工程名
133
+
134
+ // Group name, project name
135
+
173
136
  const sysGroup = getSystemPKG().name;
137
+
174
138
  init(message, sysID, sysGroup);
175
139
 
176
- // 创建pinia 实例
140
+ // Create a pinia instance
141
+
177
142
  const pinia = createPinia();
143
+
178
144
  const app = createApp(App);
179
- // 挂载到 Vue 根实例上
145
+
146
+ // Mount to the Vue root instance
147
+
180
148
  app.use(pinia);
181
- //定义v-drag命令
149
+
150
+ // Define v-drag commands
151
+
182
152
  setupGlobDirectives(app);
153
+
183
154
  setupRouter(app);
184
- //注册全局组件
185
- app.component('Icon',Icon);
186
155
 
187
- app.mount('#app');
156
+ // Register global components
157
+
158
+ app.component('Icon', Icon);
188
159
 
160
+ app.mount('#app');
189
161
  ```
190
162
 
191
- - **Quasar boot 使用示例**
163
+ - **Quasar boot usage example**
192
164
 
193
- ```vue
165
+ ```ts
194
166
  import { boot } from 'quasar/wrappers';
195
167
  import { addAPIProvider, Icon } from '@iconify/vue';
196
168
  import { Dropdown } from 'floating-vue';
197
169
  import { EmitLoadingInfo } from 'src/events/index';
198
170
  import { autoRefresh } from 'src/utils/autoUpdate';
199
171
  import { message } from 'src/utils/MessageNotify';
200
- //封装的消息提示
172
+
173
+ // Encapsulated message notification
174
+
201
175
  import { getSystemID, getSystemPKG } from 'src/utils/sysTool';
176
+
202
177
  import { Global, init } from 'xframelib';
178
+
203
179
  function preInit() {
204
180
 
205
- //系统ID,唯一标识
206
- const sysID = getSystemID();
207
- //分组名,工程名
208
- const sysGroup = getSystemPKG().name;
209
- init(message, sysID, sysGroup);
210
- //挂载进度通知方法
211
- Global.Loading = EmitLoadingInfo;
212
- //注册自己的IconAPIProvider
213
- if (Global.Config?.ServiceURL.IconServiceURL)
214
- addAPIProvider('', {
215
- resources: [Global.Config?.ServiceURL.IconServiceURL]
216
- });
217
- else {
218
- //离线使用图标:生效,IconServiceURL配置为空
219
- import('../components/IconOffline').then((it) => {
220
- it.default();
221
- });
222
- }
181
+ // System ID, unique identifier
182
+
183
+ const sysID = getSystemID();
184
+
185
+ // Group name, project name
186
+
187
+ const sysGroup = getSystemPKG().name;
188
+
189
+ init(message, sysID, sysGroup);
190
+
191
+ // Mounting progress notification method
192
+
193
+ Global.Loading = EmitLoadingInfo;
194
+
195
+ // Register your own IconAPIProvider
196
+
197
+ if (Global.Config?.ServiceURL.IconServiceURL)
198
+
199
+ addAPIProvider('', {
200
+
201
+ resources: [Global.Config?.ServiceURL.IconServiceURL]
202
+
203
+ });
204
+
205
+ else {
206
+
207
+ //Offline icon usage: Enabled, IconServiceURL configuration is empty
208
+
209
+ import('../components/IconOffline').then((it) => {
210
+
211
+ it.default();
212
+
213
+ });
214
+
215
+ }
223
216
  }
224
217
  export default boot(({ app }) => {
225
- EmitLoadingInfo('XFramelib库');
226
- //初始化Xframelib
227
- preInit();
228
- //启动热更新监测
229
- if (import.meta.env.DEV) autoRefresh();
230
- // 创建pinia 实例——20240221这里不需要了,在src/stores/index.ts里挂接的
231
- // const pinia = createPinia();
232
- // app.use(pinia);
233
- //注册全局组件
234
- app.component('Icon', Icon);
235
- app.component('VDropdown', Dropdown);
236
- // app.component('VTooltip', Tooltip);
237
- // app.component('VMenu', Menu);
238
-
239
- //开发时,全局注册tiny组件
240
- // if (import.meta.env.DEV) {
241
- // // import('@opentiny/vue').then((it) => {
242
- // // const TinyVue = it.default;
243
- // // app.use(TinyVue);
244
- // // });
245
- // }
246
- console.log('环境变量',process.env);
247
- //保存网站根地址
248
- app.config.globalProperties.$AppURL=process.env.APP_URL;
249
- });
250
218
 
219
+ EmitLoadingInfo('XFramelib library');
220
+
221
+ //Initialize Xframelib
222
+
223
+ preInit();
224
+
225
+ //Start hot update monitoring
226
+
227
+ if (import.meta.env.DEV) autoRefresh();
228
+
229
+ // Create pinia instance — 20240221 is not needed here, it is attached in src/stores/index.ts
230
+
231
+ // Register global component
232
+ app.component('Icon', Icon); app.component('VDropdown', Dropdown);
233
+ // app.component('VTooltip', Tooltip);
234
+ // app.component('VMenu', Menu);
235
+
236
+ console.log('Environment Variables',process.env);
237
+ // Save the website root address
238
+ app.config.globalProperties.$AppURL=process.env.APP_URL;
239
+
240
+ });
251
241
  ```
252
242
 
253
- ## 应用示例
254
243
 
255
- ![开发模版](https://zorrowm.github.io/npm/xframelib.png)
256
244
 
257
- ![maplibre加载大图](https://zorrowm.github.io/npm/bigImageWorkerExample.png)
245
+ ## Application Examples
246
+
247
+ ![Development Template](https://zorrowm.github.io/npm/xframelib.png)
248
+
249
+ ![MapLibre Loading Large Images](https://zorrowm.github.io/npm/bigImageWorkerExample.png)