@ibiz-template/vue3-util 0.7.38-alpha.33 → 0.7.38-alpha.57
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/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/es/common/badge/badge.d.ts +9 -0
- package/es/common/badge/badge.d.ts.map +1 -1
- package/es/common/badge/badge.mjs +5 -1
- package/es/common/code-list/code-list.d.ts +1 -1
- package/es/common/code-list/code-list.d.ts.map +1 -1
- package/es/common/code-list/code-list.mjs +1 -1
- package/es/common/control-base/control-base.css +1 -1
- package/es/common/control-base/control-base.d.ts.map +1 -1
- package/es/common/control-base/control-base.mjs +65 -2
- package/es/common/custom-render/custom-render.css +1 -0
- package/es/common/custom-render/custom-render.d.ts +18 -0
- package/es/common/custom-render/custom-render.d.ts.map +1 -0
- package/es/common/custom-render/custom-render.mjs +85 -0
- package/es/common/icon/icon.d.ts.map +1 -1
- package/es/common/icon/icon.mjs +5 -0
- package/es/common/index.d.ts +1 -0
- package/es/common/index.d.ts.map +1 -1
- package/es/common/index.mjs +1 -0
- package/es/common/view-shell/view-shell.d.ts.map +1 -1
- package/es/common/view-shell/view-shell.mjs +63 -62
- package/es/index.mjs +4 -1
- package/es/locale/en/index.d.ts +2 -0
- package/es/locale/en/index.d.ts.map +1 -1
- package/es/locale/en/index.mjs +3 -1
- package/es/locale/zh-CN/index.d.ts +2 -0
- package/es/locale/zh-CN/index.d.ts.map +1 -1
- package/es/locale/zh-CN/index.mjs +3 -1
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.d.ts +126 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.d.ts.map +1 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.mjs +193 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.css +1 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.d.ts +27 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.d.ts.map +1 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.mjs +68 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.d.ts +15 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.d.ts.map +1 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.mjs +15 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.d.ts +54 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.d.ts.map +1 -0
- package/es/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.mjs +7 -0
- package/es/panel-component/auth-wxmp-qrcode/index.d.ts +24 -0
- package/es/panel-component/auth-wxmp-qrcode/index.d.ts.map +1 -0
- package/es/panel-component/auth-wxmp-qrcode/index.mjs +19 -0
- package/es/panel-component/index.d.ts +1 -0
- package/es/panel-component/index.d.ts.map +1 -1
- package/es/panel-component/index.mjs +1 -0
- package/es/panel-component/multi-data-container/multi-data-container.controller.d.ts +9 -0
- package/es/panel-component/multi-data-container/multi-data-container.controller.d.ts.map +1 -1
- package/es/panel-component/multi-data-container/multi-data-container.controller.mjs +15 -2
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.d.ts +8 -0
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.d.ts.map +1 -1
- package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.mjs +14 -2
- package/es/panel-component/nav-pos/nav-pos.controller.d.ts.map +1 -1
- package/es/panel-component/nav-pos/nav-pos.controller.mjs +4 -2
- package/es/panel-component/single-data-container/single-data-container.controller.d.ts +8 -0
- package/es/panel-component/single-data-container/single-data-container.controller.d.ts.map +1 -1
- package/es/panel-component/single-data-container/single-data-container.controller.mjs +14 -2
- package/es/props/editor/common.d.ts +2 -2
- package/es/props/editor/common.d.ts.map +1 -1
- package/es/props/editor/common.mjs +2 -2
- package/es/use/index.mjs +1 -0
- package/es/use/view/index.d.ts +1 -0
- package/es/use/view/index.d.ts.map +1 -1
- package/es/use/view/index.mjs +1 -0
- package/es/use/view/use-view-operation/use-view-operation.d.ts +11 -0
- package/es/use/view/use-view-operation/use-view-operation.d.ts.map +1 -0
- package/es/use/view/use-view-operation/use-view-operation.mjs +27 -0
- package/es/util/index.mjs +1 -1
- package/es/util/render/render.d.ts +10 -0
- package/es/util/render/render.d.ts.map +1 -1
- package/es/util/render/render.mjs +8 -1
- package/es/util/route/route.d.ts.map +1 -1
- package/es/util/route/route.mjs +10 -4
- package/es/view/common/view.d.ts.map +1 -1
- package/es/view/common/view.mjs +2 -0
- package/lib/common/badge/badge.cjs +5 -1
- package/lib/common/code-list/code-list.cjs +1 -1
- package/lib/common/control-base/control-base.cjs +64 -1
- package/lib/common/control-base/control-base.css +1 -1
- package/lib/common/custom-render/custom-render.cjs +87 -0
- package/lib/common/custom-render/custom-render.css +1 -0
- package/lib/common/icon/icon.cjs +5 -0
- package/lib/common/index.cjs +2 -0
- package/lib/common/view-shell/view-shell.cjs +63 -62
- package/lib/index.cjs +30 -23
- package/lib/locale/en/index.cjs +3 -1
- package/lib/locale/zh-CN/index.cjs +3 -1
- package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.cjs +70 -0
- package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.cjs +195 -0
- package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.css +1 -0
- package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.cjs +17 -0
- package/lib/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.cjs +9 -0
- package/lib/panel-component/auth-wxmp-qrcode/index.cjs +24 -0
- package/lib/panel-component/index.cjs +2 -0
- package/lib/panel-component/multi-data-container/multi-data-container.controller.cjs +14 -1
- package/lib/panel-component/multi-data-container-raw/multi-data-container-raw.controller.cjs +13 -1
- package/lib/panel-component/nav-pos/nav-pos.controller.cjs +4 -2
- package/lib/panel-component/single-data-container/single-data-container.controller.cjs +13 -1
- package/lib/props/editor/common.cjs +2 -2
- package/lib/use/index.cjs +2 -0
- package/lib/use/view/index.cjs +2 -0
- package/lib/use/view/use-view-operation/use-view-operation.cjs +29 -0
- package/lib/util/index.cjs +1 -0
- package/lib/util/render/render.cjs +8 -0
- package/lib/util/route/route.cjs +10 -4
- package/lib/view/common/view.cjs +2 -0
- package/package.json +5 -5
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { RouteLocationNormalizedLoaded } from 'vue-router';
|
|
2
|
+
import { IPanelRawItem } from '@ibiz/model-core';
|
|
3
|
+
import { PanelItemController } from '@ibiz-template/runtime';
|
|
4
|
+
import { AuthWxmpQrcodeState } from './auth-wxmp-qrcode.state';
|
|
5
|
+
/**
|
|
6
|
+
* 微信公众号扫码登录控制器
|
|
7
|
+
*
|
|
8
|
+
* @export
|
|
9
|
+
* @class AuthWxmpQrcodeController
|
|
10
|
+
* @extends {PanelItemController<IPanelRawItem>}
|
|
11
|
+
*/
|
|
12
|
+
export declare class AuthWxmpQrcodeController extends PanelItemController<IPanelRawItem> {
|
|
13
|
+
/**
|
|
14
|
+
* 微信公众号扫码登录UI状态对象
|
|
15
|
+
*
|
|
16
|
+
* @type {AuthWxmpQrcodeState}
|
|
17
|
+
* @memberof AuthWxmpQrcodeController
|
|
18
|
+
*/
|
|
19
|
+
state: AuthWxmpQrcodeState;
|
|
20
|
+
/**
|
|
21
|
+
* 过期定时器
|
|
22
|
+
*
|
|
23
|
+
* @private
|
|
24
|
+
* @type {(NodeJS.Timeout | undefined)}
|
|
25
|
+
* @memberof AuthWxmpQrcodeController
|
|
26
|
+
*/
|
|
27
|
+
private expirationTimer;
|
|
28
|
+
/**
|
|
29
|
+
* 轮询定时器
|
|
30
|
+
*
|
|
31
|
+
* @private
|
|
32
|
+
* @type {(NodeJS.Timeout | undefined)}
|
|
33
|
+
* @memberof AuthWxmpQrcodeController
|
|
34
|
+
*/
|
|
35
|
+
private pollingTimer;
|
|
36
|
+
/**
|
|
37
|
+
* 轮询时间(秒)
|
|
38
|
+
* - 默认2秒
|
|
39
|
+
* @private
|
|
40
|
+
* @type {number}
|
|
41
|
+
* @memberof AuthWxmpQrcodeController
|
|
42
|
+
*/
|
|
43
|
+
private pollingTime;
|
|
44
|
+
/**
|
|
45
|
+
* 自定义补充参数
|
|
46
|
+
*
|
|
47
|
+
* @type {IData}
|
|
48
|
+
* @memberof AuthWxmpQrcodeController
|
|
49
|
+
*/
|
|
50
|
+
rawItemParams: IData;
|
|
51
|
+
/**
|
|
52
|
+
* Route 对象
|
|
53
|
+
*
|
|
54
|
+
* @type {RouteLocationNormalizedLoaded}
|
|
55
|
+
* @memberof AuthWxmpQrcodeController
|
|
56
|
+
*/
|
|
57
|
+
route: RouteLocationNormalizedLoaded;
|
|
58
|
+
/**
|
|
59
|
+
* 创建状态对象
|
|
60
|
+
*
|
|
61
|
+
* @protected
|
|
62
|
+
* @return {*} {AuthWxmpQrcodeState}
|
|
63
|
+
* @memberof AuthWxmpQrcodeController
|
|
64
|
+
*/
|
|
65
|
+
protected createState(): AuthWxmpQrcodeState;
|
|
66
|
+
/**
|
|
67
|
+
* 初始化
|
|
68
|
+
*
|
|
69
|
+
* @protected
|
|
70
|
+
* @return {*} {Promise<void>}
|
|
71
|
+
* @memberof AuthWxmpQrcodeController
|
|
72
|
+
*/
|
|
73
|
+
protected onInit(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* 设置 Route 对象
|
|
76
|
+
*
|
|
77
|
+
* @param {RouteLocationNormalizedLoaded} route
|
|
78
|
+
* @memberof AuthWxmpQrcodeController
|
|
79
|
+
*/
|
|
80
|
+
setRouter(route: RouteLocationNormalizedLoaded): void;
|
|
81
|
+
/**
|
|
82
|
+
* 处理自定义补充参数
|
|
83
|
+
*
|
|
84
|
+
* @protected
|
|
85
|
+
* @memberof AuthWxmpQrcodeController
|
|
86
|
+
*/
|
|
87
|
+
protected handleRawItemParams(): void;
|
|
88
|
+
/**
|
|
89
|
+
* 初始化参数
|
|
90
|
+
*
|
|
91
|
+
* @protected
|
|
92
|
+
* @memberof AuthWxmpQrcodeController
|
|
93
|
+
*/
|
|
94
|
+
protected initParams(): void;
|
|
95
|
+
/**
|
|
96
|
+
* 加载二维码
|
|
97
|
+
*
|
|
98
|
+
* @protected
|
|
99
|
+
* @return {*} {Promise<void>}
|
|
100
|
+
* @memberof AuthWxmpQrcodeController
|
|
101
|
+
*/
|
|
102
|
+
loadQrcode(): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* 设置定时器
|
|
105
|
+
*
|
|
106
|
+
* @protected
|
|
107
|
+
* @memberof AuthWxmpQrcodeController
|
|
108
|
+
*/
|
|
109
|
+
protected setTimer(): void;
|
|
110
|
+
/**
|
|
111
|
+
* 轮询登录
|
|
112
|
+
*
|
|
113
|
+
* @protected
|
|
114
|
+
* @return {*} {Promise<void>}
|
|
115
|
+
* @memberof AuthWxmpQrcodeController
|
|
116
|
+
*/
|
|
117
|
+
protected pollingLogin(): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* 销毁方法
|
|
120
|
+
*
|
|
121
|
+
* @return {*} {Promise<void>}
|
|
122
|
+
* @memberof AuthWxmpQrcodeController
|
|
123
|
+
*/
|
|
124
|
+
destroy(): Promise<void>;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=auth-wxmp-qrcode.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-wxmp-qrcode.controller.d.ts","sourceRoot":"","sources":["../../../src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAW,MAAM,0BAA0B,CAAC;AAExE;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,mBAAmB,CAAC,aAAa,CAAC;IAC9E;;;;;OAKG;IACK,KAAK,EAAE,mBAAmB,CAAC;IAEnC;;;;;;OAMG;IACH,OAAO,CAAC,eAAe,CAA6B;IAEpD;;;;;;OAMG;IACH,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,CAAa;IAEhC;;;;;OAKG;IACH,aAAa,EAAE,KAAK,CAAM;IAE1B;;;;;OAKG;IACH,KAAK,EAAG,6BAA6B,CAAC;IAEtC;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,IAAI,mBAAmB;IAI5C;;;;;;OAMG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,6BAA6B,GAAG,IAAI;IAIrD;;;;;OAKG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAYrC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,IAAI,IAAI;IAY5B;;;;;;OAMG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBjC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,IAAI,IAAI;IAe1B;;;;;;OAMG;cACa,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C7C;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAW/B"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { setAppCookie, CoreConst, clearAppCookie } from '@ibiz-template/core';
|
|
2
|
+
import { notNilEmpty } from 'qx-util';
|
|
3
|
+
import { PanelItemController } from '@ibiz-template/runtime';
|
|
4
|
+
import { AuthWxmpQrcodeState } from './auth-wxmp-qrcode.state.mjs';
|
|
5
|
+
|
|
6
|
+
"use strict";
|
|
7
|
+
class AuthWxmpQrcodeController extends PanelItemController {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
/**
|
|
11
|
+
* 轮询时间(秒)
|
|
12
|
+
* - 默认2秒
|
|
13
|
+
* @private
|
|
14
|
+
* @type {number}
|
|
15
|
+
* @memberof AuthWxmpQrcodeController
|
|
16
|
+
*/
|
|
17
|
+
this.pollingTime = 2;
|
|
18
|
+
/**
|
|
19
|
+
* 自定义补充参数
|
|
20
|
+
*
|
|
21
|
+
* @type {IData}
|
|
22
|
+
* @memberof AuthWxmpQrcodeController
|
|
23
|
+
*/
|
|
24
|
+
this.rawItemParams = {};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 创建状态对象
|
|
28
|
+
*
|
|
29
|
+
* @protected
|
|
30
|
+
* @return {*} {AuthWxmpQrcodeState}
|
|
31
|
+
* @memberof AuthWxmpQrcodeController
|
|
32
|
+
*/
|
|
33
|
+
createState() {
|
|
34
|
+
var _a;
|
|
35
|
+
return new AuthWxmpQrcodeState((_a = this.parent) == null ? void 0 : _a.state);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* 初始化
|
|
39
|
+
*
|
|
40
|
+
* @protected
|
|
41
|
+
* @return {*} {Promise<void>}
|
|
42
|
+
* @memberof AuthWxmpQrcodeController
|
|
43
|
+
*/
|
|
44
|
+
async onInit() {
|
|
45
|
+
await super.onInit();
|
|
46
|
+
this.handleRawItemParams();
|
|
47
|
+
this.initParams();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 设置 Route 对象
|
|
51
|
+
*
|
|
52
|
+
* @param {RouteLocationNormalizedLoaded} route
|
|
53
|
+
* @memberof AuthWxmpQrcodeController
|
|
54
|
+
*/
|
|
55
|
+
setRouter(route) {
|
|
56
|
+
this.route = route;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 处理自定义补充参数
|
|
60
|
+
*
|
|
61
|
+
* @protected
|
|
62
|
+
* @memberof AuthWxmpQrcodeController
|
|
63
|
+
*/
|
|
64
|
+
handleRawItemParams() {
|
|
65
|
+
var _a;
|
|
66
|
+
let params = {};
|
|
67
|
+
const rawItemParams = (_a = this.model.rawItem) == null ? void 0 : _a.rawItemParams;
|
|
68
|
+
if (notNilEmpty(rawItemParams)) {
|
|
69
|
+
params = rawItemParams.reduce((param, item) => {
|
|
70
|
+
param[item.key.toLowerCase()] = item.value;
|
|
71
|
+
return param;
|
|
72
|
+
}, {});
|
|
73
|
+
}
|
|
74
|
+
Object.assign(this.rawItemParams, params);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 初始化参数
|
|
78
|
+
*
|
|
79
|
+
* @protected
|
|
80
|
+
* @memberof AuthWxmpQrcodeController
|
|
81
|
+
*/
|
|
82
|
+
initParams() {
|
|
83
|
+
const isNumeric = (str) => {
|
|
84
|
+
return !!str && isFinite(Number(str));
|
|
85
|
+
};
|
|
86
|
+
this.pollingTime = isNumeric(this.rawItemParams.pollingtime) ? Number(this.rawItemParams.pollingtime) : 2;
|
|
87
|
+
this.state.tips = this.model.caption || ibiz.i18n.t("vue3Util.panelComponent.wxQrcodeCaption");
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* 加载二维码
|
|
91
|
+
*
|
|
92
|
+
* @protected
|
|
93
|
+
* @return {*} {Promise<void>}
|
|
94
|
+
* @memberof AuthWxmpQrcodeController
|
|
95
|
+
*/
|
|
96
|
+
async loadQrcode() {
|
|
97
|
+
try {
|
|
98
|
+
const res = await ibiz.net.get(
|
|
99
|
+
"/uaa/open/wxmp/createqrcode",
|
|
100
|
+
{},
|
|
101
|
+
{ srfdcsystem: ibiz.env.dcSystem }
|
|
102
|
+
);
|
|
103
|
+
if (res.ok && res.data) {
|
|
104
|
+
this.state.qrcode = res.data;
|
|
105
|
+
this.setTimer();
|
|
106
|
+
}
|
|
107
|
+
} catch (error) {
|
|
108
|
+
ibiz.log.error(error.message);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* 设置定时器
|
|
113
|
+
*
|
|
114
|
+
* @protected
|
|
115
|
+
* @memberof AuthWxmpQrcodeController
|
|
116
|
+
*/
|
|
117
|
+
setTimer() {
|
|
118
|
+
this.expirationTimer = setInterval(() => {
|
|
119
|
+
if (this.state.qrcode && this.state.qrcode.expirein > 0) {
|
|
120
|
+
this.state.qrcode.expirein -= 1;
|
|
121
|
+
} else {
|
|
122
|
+
clearInterval(this.expirationTimer);
|
|
123
|
+
}
|
|
124
|
+
}, 1e3);
|
|
125
|
+
this.pollingTimer = setInterval(async () => {
|
|
126
|
+
await this.pollingLogin();
|
|
127
|
+
}, this.pollingTime * 1e3);
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* 轮询登录
|
|
131
|
+
*
|
|
132
|
+
* @protected
|
|
133
|
+
* @return {*} {Promise<void>}
|
|
134
|
+
* @memberof AuthWxmpQrcodeController
|
|
135
|
+
*/
|
|
136
|
+
async pollingLogin() {
|
|
137
|
+
try {
|
|
138
|
+
if (this.state.qrcode && this.state.qrcode.expirein > 0) {
|
|
139
|
+
if (this.state.visible) {
|
|
140
|
+
const res = await ibiz.net.get(
|
|
141
|
+
"/uaa/open/wxmp/qrcode/".concat(this.state.qrcode.ticket),
|
|
142
|
+
{},
|
|
143
|
+
{ srfdcsystem: ibiz.env.dcSystem }
|
|
144
|
+
);
|
|
145
|
+
const { data, ok } = res;
|
|
146
|
+
if (ok && (data == null ? void 0 : data.token)) {
|
|
147
|
+
clearInterval(this.pollingTimer);
|
|
148
|
+
const cacheDay = 30;
|
|
149
|
+
setAppCookie(CoreConst.TOKEN_REMEMBER, "1", cacheDay);
|
|
150
|
+
setAppCookie(CoreConst.TOKEN, data.token, cacheDay);
|
|
151
|
+
const expiredDate = (/* @__PURE__ */ new Date()).getTime() + (data.expirein || 7199) * 1e3;
|
|
152
|
+
setAppCookie(CoreConst.TOKEN_EXPIRES, "".concat(expiredDate), cacheDay);
|
|
153
|
+
if (data.refresh_token) {
|
|
154
|
+
setAppCookie(
|
|
155
|
+
CoreConst.REFRESH_TOKEN,
|
|
156
|
+
data.refresh_token,
|
|
157
|
+
cacheDay
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
clearAppCookie(CoreConst.IS_ANONYMOUS);
|
|
161
|
+
const ru = this.route.query.ru || "/";
|
|
162
|
+
window.location.hash = ru || "/";
|
|
163
|
+
window.history.pushState({}, "");
|
|
164
|
+
window.location.reload();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
} else {
|
|
168
|
+
clearInterval(this.pollingTimer);
|
|
169
|
+
}
|
|
170
|
+
} catch (error) {
|
|
171
|
+
ibiz.log.error(error.message);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* 销毁方法
|
|
176
|
+
*
|
|
177
|
+
* @return {*} {Promise<void>}
|
|
178
|
+
* @memberof AuthWxmpQrcodeController
|
|
179
|
+
*/
|
|
180
|
+
async destroy() {
|
|
181
|
+
await super.destroy();
|
|
182
|
+
if (this.pollingTimer) {
|
|
183
|
+
clearInterval(this.pollingTimer);
|
|
184
|
+
this.pollingTimer = void 0;
|
|
185
|
+
}
|
|
186
|
+
if (this.expirationTimer) {
|
|
187
|
+
clearInterval(this.expirationTimer);
|
|
188
|
+
this.expirationTimer = void 0;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export { AuthWxmpQrcodeController };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-auth-wxmp-qrcode{width:100%;height:100%}.ibiz-auth-wxmp-qrcode__content{position:relative;width:100%;height:100%}.ibiz-auth-wxmp-qrcode__qrcode{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.ibiz-auth-wxmp-qrcode__caption{font-size:var(--ibiz-font-size-small);text-align:center}.ibiz-auth-wxmp-qrcode__mask{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--ibiz-color-primary);background-color:rgba(255,255,255,.9)}.ibiz-auth-wxmp-qrcode__mask--icon{font-size:var(--ibiz-font-size-header-1);cursor:pointer}.ibiz-auth-wxmp-qrcode__mask--icon:hover{color:var(--ibiz-color-primary-hover)}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { IPanelRawItem } from '@ibiz/model-core';
|
|
3
|
+
import { AuthWxmpQrcodeController } from './auth-wxmp-qrcode.controller';
|
|
4
|
+
import './auth-wxmp-qrcode.scss';
|
|
5
|
+
export declare const AuthWxmpQrcode: import("vue").DefineComponent<{
|
|
6
|
+
modelData: {
|
|
7
|
+
type: PropType<IPanelRawItem>;
|
|
8
|
+
required: true;
|
|
9
|
+
};
|
|
10
|
+
controller: {
|
|
11
|
+
type: PropType<AuthWxmpQrcodeController>;
|
|
12
|
+
required: true;
|
|
13
|
+
};
|
|
14
|
+
}, {
|
|
15
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
16
|
+
loadQrcode: () => Promise<void>;
|
|
17
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
18
|
+
modelData: {
|
|
19
|
+
type: PropType<IPanelRawItem>;
|
|
20
|
+
required: true;
|
|
21
|
+
};
|
|
22
|
+
controller: {
|
|
23
|
+
type: PropType<AuthWxmpQrcodeController>;
|
|
24
|
+
required: true;
|
|
25
|
+
};
|
|
26
|
+
}>>, {}, {}>;
|
|
27
|
+
//# sourceMappingURL=auth-wxmp-qrcode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-wxmp-qrcode.d.ts","sourceRoot":"","sources":["../../../src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAS,QAAQ,EAAgC,MAAM,KAAK,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,yBAAyB,CAAC;AAEjC,eAAO,MAAM,cAAc;;;;;;;;;;;sBAuBM,QAAQ,IAAI,CAAC;;;;;;;;;;YAmD5C,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { defineComponent, watch, onUnmounted, createVNode } from 'vue';
|
|
2
|
+
import { useRoute } from 'vue-router';
|
|
3
|
+
import '../../use/index.mjs';
|
|
4
|
+
import './auth-wxmp-qrcode.css';
|
|
5
|
+
import { useNamespace } from '../../use/namespace/namespace.mjs';
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
const AuthWxmpQrcode = /* @__PURE__ */ defineComponent({
|
|
9
|
+
name: "IBizAuthWxmpQrcode",
|
|
10
|
+
props: {
|
|
11
|
+
modelData: {
|
|
12
|
+
type: Object,
|
|
13
|
+
required: true
|
|
14
|
+
},
|
|
15
|
+
controller: {
|
|
16
|
+
type: Object,
|
|
17
|
+
required: true
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
setup(props) {
|
|
21
|
+
const ns = useNamespace("auth-wxmp-qrcode");
|
|
22
|
+
const {
|
|
23
|
+
state
|
|
24
|
+
} = props.controller;
|
|
25
|
+
const route = useRoute();
|
|
26
|
+
props.controller.setRouter(route);
|
|
27
|
+
const loadQrcode = async () => {
|
|
28
|
+
await props.controller.loadQrcode();
|
|
29
|
+
};
|
|
30
|
+
watch(() => state.visible, () => {
|
|
31
|
+
var _a;
|
|
32
|
+
if (state.visible && (state.keepAlive && !((_a = state.qrcode) == null ? void 0 : _a.expirein) || !state.keepAlive)) {
|
|
33
|
+
loadQrcode();
|
|
34
|
+
}
|
|
35
|
+
}, {
|
|
36
|
+
immediate: true
|
|
37
|
+
});
|
|
38
|
+
onUnmounted(() => {
|
|
39
|
+
props.controller.destroy();
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
ns,
|
|
43
|
+
loadQrcode
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
render() {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
return createVNode("div", {
|
|
49
|
+
"class": this.ns.b()
|
|
50
|
+
}, [createVNode("div", {
|
|
51
|
+
"class": this.ns.e("content")
|
|
52
|
+
}, [this.controller.state.qrcode && createVNode("img", {
|
|
53
|
+
"class": this.ns.e("qrcode"),
|
|
54
|
+
"src": (_a = this.controller.state.qrcode) == null ? void 0 : _a.url
|
|
55
|
+
}, null), !((_b = this.controller.state.qrcode) == null ? void 0 : _b.expirein) && createVNode("div", {
|
|
56
|
+
"class": this.ns.e("mask")
|
|
57
|
+
}, [createVNode("ion-icon", {
|
|
58
|
+
"title": ibiz.i18n.t("vue3Util.panelComponent.refresh"),
|
|
59
|
+
"name": "reload-outline",
|
|
60
|
+
"onClick": this.loadQrcode,
|
|
61
|
+
"class": this.ns.em("mask", "icon")
|
|
62
|
+
}, null)])]), createVNode("div", {
|
|
63
|
+
"class": this.ns.e("caption")
|
|
64
|
+
}, [this.controller.state.tips])]);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
export { AuthWxmpQrcode };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IPanelItem } from '@ibiz/model-core';
|
|
2
|
+
import { IPanelItemProvider, PanelController, PanelItemController } from '@ibiz-template/runtime';
|
|
3
|
+
import { AuthWxmpQrcodeController } from './auth-wxmp-qrcode.controller';
|
|
4
|
+
/**
|
|
5
|
+
* 微信公众号扫码登录适配器
|
|
6
|
+
*
|
|
7
|
+
* @export
|
|
8
|
+
* @class AuthWxmpQrcodeProvider
|
|
9
|
+
* @implements {IPanelItemProvider}
|
|
10
|
+
*/
|
|
11
|
+
export declare class AuthWxmpQrcodeProvider implements IPanelItemProvider {
|
|
12
|
+
component: string;
|
|
13
|
+
createController(panelItem: IPanelItem, panel: PanelController, parent: PanelItemController | undefined): Promise<AuthWxmpQrcodeController>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=auth-wxmp-qrcode.provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-wxmp-qrcode.provider.d.ts","sourceRoot":"","sources":["../../../src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D,SAAS,EAAE,MAAM,CAAwB;IAEnC,gBAAgB,CACpB,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC,OAAO,CAAC,wBAAwB,CAAC;CAKrC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AuthWxmpQrcodeController } from './auth-wxmp-qrcode.controller.mjs';
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
class AuthWxmpQrcodeProvider {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.component = "IBizAuthWxmpQrcode";
|
|
7
|
+
}
|
|
8
|
+
async createController(panelItem, panel, parent) {
|
|
9
|
+
const c = new AuthWxmpQrcodeController(panelItem, panel, parent);
|
|
10
|
+
await c.init();
|
|
11
|
+
return c;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { AuthWxmpQrcodeProvider };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { PanelItemState } from '@ibiz-template/runtime';
|
|
2
|
+
/**
|
|
3
|
+
* 二维码数据接口
|
|
4
|
+
*
|
|
5
|
+
* @export
|
|
6
|
+
* @interface IQrcode
|
|
7
|
+
*/
|
|
8
|
+
export interface IQrcode {
|
|
9
|
+
/**
|
|
10
|
+
* 过期时间(秒)
|
|
11
|
+
*
|
|
12
|
+
* @type {number}
|
|
13
|
+
* @memberof IQrcode
|
|
14
|
+
*/
|
|
15
|
+
expirein: number;
|
|
16
|
+
/**
|
|
17
|
+
* 票据
|
|
18
|
+
*
|
|
19
|
+
* @type {string}
|
|
20
|
+
* @memberof IQrcode
|
|
21
|
+
*/
|
|
22
|
+
ticket: string;
|
|
23
|
+
/**
|
|
24
|
+
* 二维码地址
|
|
25
|
+
*
|
|
26
|
+
* @type {string}
|
|
27
|
+
* @memberof IQrcode
|
|
28
|
+
*/
|
|
29
|
+
url: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 微信公众号扫码登录UI状态对象
|
|
33
|
+
*
|
|
34
|
+
* @export
|
|
35
|
+
* @class AuthWxmpQrcodeState
|
|
36
|
+
* @extends {PanelItemState}
|
|
37
|
+
*/
|
|
38
|
+
export declare class AuthWxmpQrcodeState extends PanelItemState {
|
|
39
|
+
/**
|
|
40
|
+
* 二维码
|
|
41
|
+
*
|
|
42
|
+
* @type {IQrcode}
|
|
43
|
+
* @memberof AuthWxmpQrcodeState
|
|
44
|
+
*/
|
|
45
|
+
qrcode?: IQrcode;
|
|
46
|
+
/**
|
|
47
|
+
* 提示
|
|
48
|
+
*
|
|
49
|
+
* @type {string}
|
|
50
|
+
* @memberof AuthWxmpQrcodeState
|
|
51
|
+
*/
|
|
52
|
+
tips?: string;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=auth-wxmp-qrcode.state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-wxmp-qrcode.state.d.ts","sourceRoot":"","sources":["../../../src/panel-component/auth-wxmp-qrcode/auth-wxmp-qrcode.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const IBizAuthWxmpQrcode: import("../../util").TypeWithInstall<import("vue").DefineComponent<{
|
|
2
|
+
modelData: {
|
|
3
|
+
type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
|
|
4
|
+
required: true;
|
|
5
|
+
};
|
|
6
|
+
controller: {
|
|
7
|
+
type: import("vue").PropType<import("./auth-wxmp-qrcode.controller").AuthWxmpQrcodeController>;
|
|
8
|
+
required: true;
|
|
9
|
+
};
|
|
10
|
+
}, {
|
|
11
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
12
|
+
loadQrcode: () => Promise<void>;
|
|
13
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
14
|
+
modelData: {
|
|
15
|
+
type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
|
|
16
|
+
required: true;
|
|
17
|
+
};
|
|
18
|
+
controller: {
|
|
19
|
+
type: import("vue").PropType<import("./auth-wxmp-qrcode.controller").AuthWxmpQrcodeController>;
|
|
20
|
+
required: true;
|
|
21
|
+
};
|
|
22
|
+
}>>, {}, {}>>;
|
|
23
|
+
export default IBizAuthWxmpQrcode;
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/panel-component/auth-wxmp-qrcode/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;aAS9B,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { registerPanelItemProvider } from '@ibiz-template/runtime';
|
|
2
|
+
import '../../util/index.mjs';
|
|
3
|
+
import { AuthWxmpQrcode } from './auth-wxmp-qrcode.mjs';
|
|
4
|
+
import { AuthWxmpQrcodeProvider } from './auth-wxmp-qrcode.provider.mjs';
|
|
5
|
+
import { withInstall } from '../../util/install.mjs';
|
|
6
|
+
|
|
7
|
+
"use strict";
|
|
8
|
+
const IBizAuthWxmpQrcode = withInstall(
|
|
9
|
+
AuthWxmpQrcode,
|
|
10
|
+
function(v) {
|
|
11
|
+
v.component(AuthWxmpQrcode.name, AuthWxmpQrcode);
|
|
12
|
+
registerPanelItemProvider(
|
|
13
|
+
"RAWITEM_AUTH_WXMP_QRCODE",
|
|
14
|
+
() => new AuthWxmpQrcodeProvider()
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
export { IBizAuthWxmpQrcode, IBizAuthWxmpQrcode as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/panel-component/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/panel-component/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC"}
|
|
@@ -15,6 +15,7 @@ export { IBizPanelItemRender } from './panel-item-render/index.mjs';
|
|
|
15
15
|
export { IBizTeleportPlaceholder } from './teleport-placeholder/index.mjs';
|
|
16
16
|
export { IBizPanelContainerTabs } from './panel-container-tabs/index.mjs';
|
|
17
17
|
export { IBizPanelCtrlViewPageCaption } from './panel-ctrl-view-page-caption/index.mjs';
|
|
18
|
+
export { IBizAuthWxmpQrcode } from './auth-wxmp-qrcode/index.mjs';
|
|
18
19
|
export { PanelContainerState } from './panel-container/panel-container.state.mjs';
|
|
19
20
|
export { PanelContainerController } from './panel-container/panel-container.controller.mjs';
|
|
20
21
|
export { PanelCtrlPosController } from './panel-ctrl-pos/panel-ctrl-pos.controller.mjs';
|
|
@@ -40,6 +40,15 @@ export declare class MultiDataContainerController extends PanelItemController<IP
|
|
|
40
40
|
get data(): IData;
|
|
41
41
|
protected createState(): MultiDataContainerState;
|
|
42
42
|
protected onInit(): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* 面板状态变更通知
|
|
45
|
+
*
|
|
46
|
+
* @author tony001
|
|
47
|
+
* @date 2024-12-11 11:12:24
|
|
48
|
+
* @param {PanelNotifyState} _state
|
|
49
|
+
* @return {*} {Promise<void>}
|
|
50
|
+
*/
|
|
51
|
+
panelStateNotify(_state: PanelNotifyState): Promise<void>;
|
|
43
52
|
/**
|
|
44
53
|
* 初始化面板成员控制器
|
|
45
54
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-data-container.controller.d.ts","sourceRoot":"","sources":["../../../src/panel-component/multi-data-container/multi-data-container.controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,6BAA6B,EAC7B,kBAAkB,EAElB,eAAe,EAEf,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,4BACX,SAAQ,mBAAmB,CAAC,eAAe,CAC3C,YAAW,6BAA6B;IAEhC,KAAK,EAAE,uBAAuB,CAAC;IAEvC,QAAQ,CAAC,eAAe,QAAQ;IAEhC;;;;;;OAMG;IACH,SAAS,EAAE,gCAAgC,EAAE,CAAM;IAEnD;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;KAAE,CAAM;IAEtD;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED,SAAS,CAAC,WAAW,IAAI,uBAAuB;cAIhC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"multi-data-container.controller.d.ts","sourceRoot":"","sources":["../../../src/panel-component/multi-data-container/multi-data-container.controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,6BAA6B,EAC7B,kBAAkB,EAElB,eAAe,EAEf,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;;;;;GAMG;AACH,qBAAa,4BACX,SAAQ,mBAAmB,CAAC,eAAe,CAC3C,YAAW,6BAA6B;IAEhC,KAAK,EAAE,uBAAuB,CAAC;IAEvC,QAAQ,CAAC,eAAe,QAAQ;IAEhC;;;;;;OAMG;IACH,SAAS,EAAE,gCAAgC,EAAE,CAAM;IAEnD;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;KAAE,CAAM;IAEtD;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED,SAAS,CAAC,WAAW,IAAI,uBAAuB;cAIhC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvC;;;;;;;OAOG;IACG,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D;;;;;;OAMG;cACa,sBAAsB,CACpC,UAAU,GAAE,UAAU,EAAE,GAAG,SAAiC,GAC3D,OAAO,CAAC,IAAI,CAAC;IAkChB;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,IAAI,KAAK;IAgBnC;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IA0EnC;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAMlD;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAOlC;;;;;OAKG;IACG,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB5C;;;;;;OAMG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgCjD;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,IAAI,IAAI;IAYzC;;;;;;OAMG;cACa,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BlD;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA2BrE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,OAAO,IAAI,IAAI;CAMhB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ModelError, RuntimeModelError, RuntimeError } from '@ibiz-template/core';
|
|
2
|
-
import { PanelItemController, getPanelItemProvider, isDataContainer, convertNavData, ScriptFactory, getAllPanelField, PanelData,
|
|
2
|
+
import { PanelItemController, PanelNotifyState, getPanelItemProvider, isDataContainer, convertNavData, ScriptFactory, getAllPanelField, PanelData, execDELogicById } from '@ibiz-template/runtime';
|
|
3
3
|
import { MultiDataContainerItemController } from './multi-data-container-item.controller.mjs';
|
|
4
4
|
import { MultiDataContainerState } from './multi-data-container.state.mjs';
|
|
5
5
|
|
|
@@ -42,7 +42,20 @@ class MultiDataContainerController extends PanelItemController {
|
|
|
42
42
|
async onInit() {
|
|
43
43
|
await super.onInit();
|
|
44
44
|
await this.initPanelItemProviders();
|
|
45
|
-
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 面板状态变更通知
|
|
48
|
+
*
|
|
49
|
+
* @author tony001
|
|
50
|
+
* @date 2024-12-11 11:12:24
|
|
51
|
+
* @param {PanelNotifyState} _state
|
|
52
|
+
* @return {*} {Promise<void>}
|
|
53
|
+
*/
|
|
54
|
+
async panelStateNotify(_state) {
|
|
55
|
+
super.panelStateNotify(_state);
|
|
56
|
+
if (_state === PanelNotifyState.LOAD) {
|
|
57
|
+
this.initContainerData();
|
|
58
|
+
}
|
|
46
59
|
}
|
|
47
60
|
/**
|
|
48
61
|
* 初始化面板成员控制器
|
package/es/panel-component/multi-data-container-raw/multi-data-container-raw.controller.d.ts
CHANGED
|
@@ -38,6 +38,14 @@ export declare class MultiDataContainerRawController extends PanelItemController
|
|
|
38
38
|
get data(): IData;
|
|
39
39
|
protected createState(): MultiDataContainerRawState;
|
|
40
40
|
protected onInit(): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* 面板状态变更通知
|
|
43
|
+
*
|
|
44
|
+
* @param {PanelNotifyState} _state
|
|
45
|
+
* @return {*} {Promise<void>}
|
|
46
|
+
* @memberof MultiDataContainerRawController
|
|
47
|
+
*/
|
|
48
|
+
panelStateNotify(_state: PanelNotifyState): Promise<void>;
|
|
41
49
|
/**
|
|
42
50
|
* 初始化面板子项控制器
|
|
43
51
|
*
|