xframelib 0.8.0 → 0.8.2

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.
package/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # xframelib
2
+
2
3
  <p>
3
4
  <a href="https://www.npmjs.com/package/xframelib" target="_blank">
4
5
  <img src="https://img.shields.io/npm/v/xframelib?color=orange&logo=npm" />
@@ -7,9 +8,14 @@
7
8
  <img src="https://img.shields.io/npm/dt/xframelib?logo=npm"/>
8
9
  </a>
9
10
  </p>
10
- **基于 VUE3+Hprose+Typescript 的前端框架**
11
11
 
12
- - v0.8.0 更新LayoutContainer各层的默认样式,默认空白区域鼠标可以穿越,各元素鼠标可点击;更新依赖库版本
12
+ ## XFramelib前端基础库
13
+
14
+ > 基于 VUE3+Hprose+Typescript 的前端框架,与ElementUI、AntDesign VUE、Quasar等界面库无关,一直是来源于项目和服务于项目。
15
+
16
+ - v0.8.2 修改VueWindow组件(VWindow)拖动定位错误;弃用DownloadByUrl方法;移除窗体同步库WSynchro.js;更新依赖库版本;
17
+ - v0.8.1 修改RouterTransition组件,增加具有默认动画的RouterTransitionAnimate组件;widget组件配置对象(IWidgetConfig)启用layout属性(IWidgetLayout布局样式),增加cssClass外部配置样式类名;更新依赖库版本;
18
+ - v0.8.0 更新LayoutContainer各层的默认样式,默认空白区域鼠标可以穿越,各元素鼠标可点击;更新依赖库版本;
13
19
  - *v0.7.9 给H5Tool增加常用DOM操作方法;为SysEvents增加LayoutContainerLoaded,每个LayoutManager对象自动加载到Global.LayoutMap里,为Global默认增加CesiumViewer对象;强化Widget链式排队加载,必须先afterid对应的widget加载成功,然后才加载当前widget。
14
20
  - v0.7.8 更新依赖库版本;增加SysConfig默认配置项;controls增加XWindow和XWindowManager取代VWindow;增加全局的Global.WidgetConfigList数组和getLayoutManager方法;删除VCollapsiblePanel、 VCollapsiblePanelGroup组件。
15
21
  - v0.7.7 增加hprose二进制序列化方法serialize和deserialize;修改Global默认自带LayoutMap和默认为console的Message;为LayoutManager增加静态方法getLayoutManager;增加RouterTransition控件,并应用于layoutcontainer中;更新依赖库版本。
@@ -70,29 +76,59 @@
70
76
  - v0.2.5 减小发布包大小,外部依赖 hprose
71
77
  - v0.2.4 正式应用于项目中,提供.d.ts 声明文件。
72
78
 
73
- ## What Works:
79
+ ## 主要功能:
80
+
81
+ - 网站系统配置Sysconfig.js对应的Global.Config
82
+ - 公共事件总线Global.EventBus
83
+
84
+ - Layout布局容器和Widget机制实现
85
+
86
+ - Axios的Http请求封装实现Global.Axios、AxiosHelper{get, post, requestPost, requestGet, getData, requestPostBody}
87
+
88
+ - Hprose Proxy方式调用后台Hprose服务实现
89
+
90
+ - 与用户系统后台服务适配的Token验证/刷新和角色权限过滤
91
+
92
+ - 大文件下载BigFileDownload
93
+
94
+ - 普通文件下载FileDownload封装{ Download, SaveAs, JsonDownload, HttpDownload, DownloadByUrl }
95
+
96
+ - 大文件上传FileUpload
97
+
98
+ - H5Tool常用小功能
99
+
100
+ - SignalrClient
74
101
 
75
- - HproseClient 服务调用封装
76
- - 消息事件总线
77
- - Global 全局对象
78
- - Message 提示信息
79
- - SplitSpanes 封装
80
- - LayoutContainer 封装
81
- - XWindow 封装
82
- - 增加 utils 里的 Color、FileDownload、StorageHelper
102
+ - JQuery工具 (hasClass 、addClass、removeClass、toggleClass、setCssProperty)
83
103
 
84
- ## Installation
104
+ - StorageHelper 本地缓存对象
85
105
 
86
- `yarn add xframelib`
106
+ - IsTool类型判断工具(数字、字符串、对象、数组、函数等)
107
+
108
+ - ValidateTool验证工具(身份证、手机号、IP地址、邮箱、密码强度判断、URL、车牌号等)
109
+
110
+ - 与后端配合使用的加密解密算法XXTEA
111
+
112
+ ## 使用
113
+
114
+ `pnpm add xframelib`
87
115
 
88
116
  or
89
117
 
90
118
  `npm i xframelib`
91
119
 
92
- ## Usage
120
+ 全局引入库样式:
121
+
122
+ import 'xframelib/dist/index.css';
123
+
124
+ - **应用案例:前端开发模板 vue-widget-template**
93
125
 
94
- main.ts 文件
95
- In Typescript:
126
+ https://github.com/zorrowm/vue-widget-template
127
+
128
+ 全面基于XFramelib和Widget思想的开发模板
129
+
130
+ - **main.ts 文件**
131
+ In Typescript:
96
132
 
97
133
  ```js
98
134
  import { createApp } from 'vue';
@@ -141,6 +177,67 @@ app.mount('#app');
141
177
 
142
178
  ```
143
179
 
144
- ### Working with hprose
180
+ - **Quasar boot 使用示例**
181
+
182
+ ```vue
183
+ import { boot } from 'quasar/wrappers';
184
+ import { addAPIProvider, Icon } from '@iconify/vue';
185
+ import { Dropdown } from 'floating-vue';
186
+ import { EmitLoadingInfo } from 'src/events/index';
187
+ import { autoRefresh } from 'src/utils/autoUpdate';
188
+ import { message } from 'src/utils/MessageNotify';
189
+ //封装的消息提示
190
+ import { getSystemID, getSystemPKG } from 'src/utils/sysTool';
191
+ import { Global, init } from 'xframelib';
192
+ function preInit() {
193
+ if (window.global === undefined) {
194
+ window.global = globalThis;
195
+ }
196
+ //系统ID,唯一标识
197
+ const sysID = getSystemID();
198
+ //分组名,工程名
199
+ const sysGroup = getSystemPKG().name;
200
+ init(message, sysID, sysGroup);
201
+ //挂载进度通知方法
202
+ Global.Loading = EmitLoadingInfo;
203
+ //注册自己的IconAPIProvider
204
+ if (Global.Config.ServiceURL.IconServiceURL)
205
+ addAPIProvider('', {
206
+ resources: [Global.Config.ServiceURL.IconServiceURL]
207
+ });
208
+ else {
209
+ //离线使用图标:生效,IconServiceURL配置为空
210
+ import('../components/IconOffline').then((it) => {
211
+ it.default();
212
+ });
213
+ }
214
+ }
215
+ export default boot(({ app }) => {
216
+ EmitLoadingInfo('XFramelib库');
217
+ //初始化Xframelib
218
+ preInit();
219
+ //启动热更新监测
220
+ if (!import.meta.env.DEV) autoRefresh();
221
+ // 创建pinia 实例——20240221这里不需要了,在src/stores/index.ts里挂接的
222
+ // const pinia = createPinia();
223
+ // app.use(pinia);
224
+ //注册全局组件
225
+ app.component('Icon', Icon);
226
+ app.component('VDropdown', Dropdown);
227
+ // app.component('VTooltip', Tooltip);
228
+ // app.component('VMenu', Menu);
229
+
230
+ //开发时,全局注册tiny组件
231
+ // if (import.meta.env.DEV) {
232
+ // // import('@opentiny/vue').then((it) => {
233
+ // // const TinyVue = it.default;
234
+ // // app.use(TinyVue);
235
+ // // });
236
+ // }
237
+ console.log('环境变量',process.env);
238
+ //保存网站根地址
239
+ app.config.globalProperties.$AppURL=process.env.APP_URL;
240
+ });
241
+
242
+ ```
145
243
 
146
- 暂无
@@ -1,6 +1,6 @@
1
1
  import { PropType } from "vue";
2
2
  import { IWidgetConfig } from "../../model/Layout";
3
- declare const _default: import("vue").DefineComponent<{
3
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
4
  widgetConfig: {
5
5
  type: PropType<IWidgetConfig[]>;
6
6
  required: true;
@@ -17,24 +17,24 @@ declare const _default: import("vue").DefineComponent<{
17
17
  type: BooleanConstructor;
18
18
  default: boolean;
19
19
  };
20
- }, {
21
- topContainerComponents: import("vue").Ref<Map<string, Object>>;
22
- centerbackComponents: import("vue").Ref<Map<string, Object>>;
23
- centerfrontComponents: import("vue").Ref<Map<string, Object>>;
24
- leftContainerComponents: import("vue").Ref<Map<string, Object>>;
25
- rightContainerComponents: import("vue").Ref<Map<string, Object>>;
26
- bottomContainerComponents: import("vue").Ref<Map<string, Object>>;
20
+ }>, {
21
+ topContainerComponents: import("vue").Ref<Map<string, Object>, Map<string, Object>>;
22
+ centerbackComponents: import("vue").Ref<Map<string, Object>, Map<string, Object>>;
23
+ centerfrontComponents: import("vue").Ref<Map<string, Object>, Map<string, Object>>;
24
+ leftContainerComponents: import("vue").Ref<Map<string, Object>, Map<string, Object>>;
25
+ rightContainerComponents: import("vue").Ref<Map<string, Object>, Map<string, Object>>;
26
+ bottomContainerComponents: import("vue").Ref<Map<string, Object>, Map<string, Object>>;
27
27
  containerStyle: import("vue").ComputedRef<Record<string, any> | undefined>;
28
- isEnableRouterView: import("vue").Ref<boolean>;
28
+ isEnableRouterView: import("vue").Ref<boolean, boolean>;
29
29
  setItemRef: (el: any, key: string) => void;
30
- topContainer?: import("vue").Ref<HTMLElement | undefined> | undefined;
31
- centerBackContainer?: import("vue").Ref<HTMLElement | undefined> | undefined;
32
- centerMainContainer?: import("vue").Ref<HTMLElement | undefined> | undefined;
33
- centerFrontContainer?: import("vue").Ref<HTMLElement | undefined> | undefined;
34
- bottomContainer?: import("vue").Ref<HTMLElement | undefined> | undefined;
35
- leftContainer?: import("vue").Ref<HTMLElement | undefined> | undefined;
36
- rightContainer?: import("vue").Ref<HTMLElement | undefined> | undefined;
37
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "containerLoaded"[], "containerLoaded", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
30
+ topContainer?: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined> | undefined;
31
+ centerBackContainer?: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined> | undefined;
32
+ centerMainContainer?: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined> | undefined;
33
+ centerFrontContainer?: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined> | undefined;
34
+ bottomContainer?: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined> | undefined;
35
+ leftContainer?: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined> | undefined;
36
+ rightContainer?: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined> | undefined;
37
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "containerLoaded"[], "containerLoaded", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
38
38
  widgetConfig: {
39
39
  type: PropType<IWidgetConfig[]>;
40
40
  required: true;
@@ -51,11 +51,13 @@ declare const _default: import("vue").DefineComponent<{
51
51
  type: BooleanConstructor;
52
52
  default: boolean;
53
53
  };
54
- }>> & {
54
+ }>> & Readonly<{
55
55
  onContainerLoaded?: ((...args: any[]) => any) | undefined;
56
- }, {
56
+ }>, {
57
57
  widgetConfig: IWidgetConfig[];
58
58
  layoutID: string;
59
59
  enableRouterView: boolean;
60
- }, {}>;
60
+ }, {}, {
61
+ RouterTransition: import("vue").DefineComponent<{}, {}, any>;
62
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
61
63
  export default _default;
@@ -1,4 +1,4 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
2
2
  [key: string]: any;
3
- }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
3
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
4
4
  export default _default;
@@ -0,0 +1,29 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ enterActive: {
3
+ type: StringConstructor;
4
+ required: false;
5
+ default: string;
6
+ };
7
+ leaveActive: {
8
+ type: StringConstructor;
9
+ required: false;
10
+ default: string;
11
+ };
12
+ }>, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
13
+ [key: string]: any;
14
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
+ enterActive: {
16
+ type: StringConstructor;
17
+ required: false;
18
+ default: string;
19
+ };
20
+ leaveActive: {
21
+ type: StringConstructor;
22
+ required: false;
23
+ default: string;
24
+ };
25
+ }>> & Readonly<{}>, {
26
+ enterActive: string;
27
+ leaveActive: string;
28
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
29
+ export default _default;
@@ -1,4 +1,4 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- error: import("vue").Ref<any>;
3
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
2
+ error: import("vue").Ref<any, any>;
3
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
4
4
  export default _default;
@@ -1,3 +1,4 @@
1
1
  import RouterTransition from './RouterTransition.vue';
2
2
  import SuspenseWithError from './SuspenseWithError.vue';
3
- export { RouterTransition, SuspenseWithError };
3
+ import RouterTransitionAnimate from './RouterTransitionAnimate.vue';
4
+ export { RouterTransition, SuspenseWithError, RouterTransitionAnimate };
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- declare const _default: import("vue").DefineComponent<{
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  disabled: {
4
4
  type: PropType<boolean>;
5
5
  default: boolean;
@@ -8,13 +8,13 @@ declare const _default: import("vue").DefineComponent<{
8
8
  type: ObjectConstructor;
9
9
  required: true;
10
10
  };
11
- }, {
12
- hover: import("vue").Ref<boolean>;
13
- active: import("vue").Ref<boolean>;
11
+ }>, {
12
+ hover: import("vue").Ref<boolean, boolean>;
13
+ active: import("vue").Ref<boolean, boolean>;
14
14
  style: () => any;
15
15
  mouseup: (e: MouseEvent & TouchEvent) => void;
16
16
  mousedown: (e: MouseEvent & TouchEvent) => void;
17
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
17
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
18
18
  disabled: {
19
19
  type: PropType<boolean>;
20
20
  default: boolean;
@@ -23,7 +23,7 @@ declare const _default: import("vue").DefineComponent<{
23
23
  type: ObjectConstructor;
24
24
  required: true;
25
25
  };
26
- }>>, {
26
+ }>> & Readonly<{}>, {
27
27
  disabled: boolean;
28
- }, {}>;
28
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
29
29
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- declare const _default: import("vue").DefineComponent<{
2
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
3
3
  windowStyle: {
4
4
  type: ObjectConstructor;
5
5
  required: true;
@@ -90,18 +90,18 @@ declare const _default: import("vue").DefineComponent<{
90
90
  type: PropType<number>;
91
91
  required: false;
92
92
  };
93
- }, {
94
- isOpen: import("vue").Ref<boolean>;
95
- windowEl: import("vue").Ref<any>;
96
- titlebar: import("vue").Ref<any>;
97
- content: import("vue").Ref<any>;
93
+ }>, {
94
+ isOpen: import("vue").Ref<boolean, boolean>;
95
+ windowEl: import("vue").Ref<any, any>;
96
+ titlebar: import("vue").Ref<any, any>;
97
+ content: import("vue").Ref<any, any>;
98
98
  activate: () => void;
99
- styleWindow: import("vue").Ref<any>;
99
+ styleWindow: import("vue").Ref<any, any>;
100
100
  styleTitlebar: import("vue").ComputedRef<any>;
101
101
  styleContent: import("vue").ComputedRef<any>;
102
102
  closeButtonClick: () => void;
103
103
  fixPosition: () => void;
104
- } | undefined, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
104
+ } | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
105
105
  windowStyle: {
106
106
  type: ObjectConstructor;
107
107
  required: true;
@@ -192,7 +192,7 @@ declare const _default: import("vue").DefineComponent<{
192
192
  type: PropType<number>;
193
193
  required: false;
194
194
  };
195
- }>>, {
195
+ }>> & Readonly<{}>, {
196
196
  isOpen: boolean;
197
197
  title: string;
198
198
  closeButton: boolean;
@@ -207,5 +207,7 @@ declare const _default: import("vue").DefineComponent<{
207
207
  minHeight: number;
208
208
  maxWidth: number;
209
209
  maxHeight: number;
210
- }, {}>;
210
+ }, {}, {
211
+ myButton: import("vue").DefineComponent<{}, {}, any>;
212
+ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
211
213
  export default _default;
@@ -1,4 +1,4 @@
1
- declare const _default: import("vue").DefineComponent<{
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
2
  top: {
3
3
  type: (StringConstructor | NumberConstructor)[];
4
4
  default: number;
@@ -51,9 +51,9 @@ declare const _default: import("vue").DefineComponent<{
51
51
  type: (StringConstructor | NumberConstructor | ArrayConstructor | ObjectConstructor)[];
52
52
  default: string;
53
53
  };
54
- }, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
54
+ }>, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
55
55
  [key: string]: any;
56
- }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "open" | "loaded" | "minimize")[], "close" | "open" | "loaded" | "minimize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
56
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "open" | "loaded" | "minimize")[], "close" | "open" | "loaded" | "minimize", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
57
57
  top: {
58
58
  type: (StringConstructor | NumberConstructor)[];
59
59
  default: number;
@@ -106,12 +106,12 @@ declare const _default: import("vue").DefineComponent<{
106
106
  type: (StringConstructor | NumberConstructor | ArrayConstructor | ObjectConstructor)[];
107
107
  default: string;
108
108
  };
109
- }>> & {
109
+ }>> & Readonly<{
110
110
  onClose?: ((...args: any[]) => any) | undefined;
111
111
  onOpen?: ((...args: any[]) => any) | undefined;
112
112
  onLoaded?: ((...args: any[]) => any) | undefined;
113
113
  onMinimize?: ((...args: any[]) => any) | undefined;
114
- }, {
114
+ }>, {
115
115
  top: string | number;
116
116
  left: string | number;
117
117
  nWidth: string | number;
@@ -125,5 +125,5 @@ declare const _default: import("vue").DefineComponent<{
125
125
  isDark: boolean;
126
126
  pid: string;
127
127
  tag: string | number | Record<string, any> | unknown[];
128
- }, {}>;
128
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
129
129
  export default _default;
@@ -15,7 +15,7 @@ export declare const WindowsMap: Map<string, IPanelData>;
15
15
  /**
16
16
  * 最小化窗体Map集合
17
17
  */
18
- export declare const MinWindowMap: import("vue").Ref<Map<string, number> & Omit<Map<string, number>, keyof Map<any, any>>>;
18
+ export declare const MinWindowMap: import("vue").Ref<Map<string, number> & Omit<Map<string, number>, keyof Map<any, any>>, Map<string, number> | (Map<string, number> & Omit<Map<string, number>, keyof Map<any, any>>)>;
19
19
  declare class XWindowManager {
20
20
  /**
21
21
  * 注册添加窗体对象