@ibiz-template/runtime 0.3.4 → 0.3.5
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.esm.js +308 -163
- package/dist/index.system.min.js +2 -2
- package/dist/index.system.min.js.map +1 -1
- package/out/constant/index.d.ts +1 -0
- package/out/constant/index.d.ts.map +1 -1
- package/out/constant/index.js +1 -0
- package/out/constant/platform-type.d.ts +43 -0
- package/out/constant/platform-type.d.ts.map +1 -0
- package/out/constant/platform-type.js +44 -0
- package/out/constant/view-call-tag.d.ts +5 -1
- package/out/constant/view-call-tag.d.ts.map +1 -1
- package/out/constant/view-call-tag.js +4 -0
- package/out/controller/control/chart/generator/funnel-series-generator.js +1 -1
- package/out/controller/control/chart/generator/pie-series-generator.js +1 -1
- package/out/index.d.ts +1 -0
- package/out/index.d.ts.map +1 -1
- package/out/index.js +1 -0
- package/out/install.d.ts.map +1 -1
- package/out/install.js +6 -0
- package/out/interface/provider/i-platform-provider.d.ts +49 -0
- package/out/interface/provider/i-platform-provider.d.ts.map +1 -0
- package/out/interface/provider/i-platform-provider.js +1 -0
- package/out/interface/provider/index.d.ts +1 -0
- package/out/interface/provider/index.d.ts.map +1 -1
- package/out/interface/service/service/i-auth.service.d.ts +1 -1
- package/out/interface/service/service/i-auth.service.d.ts.map +1 -1
- package/out/platform/index.d.ts +3 -0
- package/out/platform/index.d.ts.map +1 -0
- package/out/platform/index.js +2 -0
- package/out/platform/platform-util.d.ts +11 -0
- package/out/platform/platform-util.d.ts.map +1 -0
- package/out/platform/platform-util.js +50 -0
- package/out/platform/provider/browser-platform-provider.d.ts +13 -0
- package/out/platform/provider/browser-platform-provider.d.ts.map +1 -0
- package/out/platform/provider/browser-platform-provider.js +12 -0
- package/out/platform/provider/index.d.ts +12 -0
- package/out/platform/provider/index.d.ts.map +1 -0
- package/out/platform/provider/index.js +17 -0
- package/out/platform/provider/platform-provider-base.d.ts +18 -0
- package/out/platform/provider/platform-provider-base.d.ts.map +1 -0
- package/out/platform/provider/platform-provider-base.js +42 -0
- package/out/register/helper/index.d.ts +1 -0
- package/out/register/helper/index.d.ts.map +1 -1
- package/out/register/helper/index.js +1 -0
- package/out/register/helper/platform-register.d.ts +23 -0
- package/out/register/helper/platform-register.d.ts.map +1 -0
- package/out/register/helper/platform-register.js +44 -0
- package/out/service/app-data-entity/app-data-entity.d.ts.map +1 -1
- package/out/service/app-data-entity/app-data-entity.js +9 -2
- package/out/service/service/auth/v7-auth.service.d.ts +1 -1
- package/out/service/service/auth/v7-auth.service.d.ts.map +1 -1
- package/out/service/service/auth/v7-auth.service.js +6 -2
- package/out/types.d.ts +10 -1
- package/out/types.d.ts.map +1 -1
- package/out/ui-action/provider/front-ui-action-provider.d.ts +1 -1
- package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
- package/out/ui-action/provider/front-ui-action-provider.js +8 -9
- package/package.json +3 -3
- package/src/constant/index.ts +1 -0
- package/src/constant/platform-type.ts +50 -0
- package/src/constant/view-call-tag.ts +4 -0
- package/src/controller/control/chart/generator/funnel-series-generator.ts +1 -1
- package/src/controller/control/chart/generator/pie-series-generator.ts +1 -1
- package/src/index.ts +1 -0
- package/src/install.ts +6 -0
- package/src/interface/provider/i-platform-provider.ts +55 -0
- package/src/interface/provider/index.ts +1 -0
- package/src/interface/service/service/i-auth.service.ts +5 -1
- package/src/platform/index.ts +2 -0
- package/src/platform/platform-util.ts +57 -0
- package/src/platform/provider/browser-platform-provider.ts +12 -0
- package/src/platform/provider/index.ts +19 -0
- package/src/platform/provider/platform-provider-base.ts +50 -0
- package/src/register/helper/index.ts +1 -0
- package/src/register/helper/platform-register.ts +56 -0
- package/src/service/app-data-entity/app-data-entity.ts +9 -2
- package/src/service/service/auth/v7-auth.service.ts +10 -2
- package/src/types.ts +11 -0
- package/src/ui-action/provider/front-ui-action-provider.ts +23 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v7-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/auth/v7-auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,YAAY;IAC1C,KAAK,
|
|
1
|
+
{"version":3,"file":"v7-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/auth/v7-auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,YAAY;IAC1C,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC;IAyBb,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAcjC"}
|
|
@@ -9,10 +9,14 @@ import { clearCookie, setCookie } from 'qx-util';
|
|
|
9
9
|
* @class AuthService
|
|
10
10
|
*/
|
|
11
11
|
export class V7AuthService {
|
|
12
|
-
async login(loginname, password) {
|
|
12
|
+
async login(loginname, password, rememberme) {
|
|
13
13
|
// eslint-disable-next-line no-useless-catch
|
|
14
14
|
try {
|
|
15
|
-
const res = await ibiz.net.post('/v7/login', {
|
|
15
|
+
const res = await ibiz.net.post('/v7/login', {
|
|
16
|
+
loginname,
|
|
17
|
+
password,
|
|
18
|
+
rememberme,
|
|
19
|
+
});
|
|
16
20
|
const { data } = res;
|
|
17
21
|
if (data && data.token) {
|
|
18
22
|
setCookie(CoreConst.TOKEN, data.token, 0, true);
|
package/out/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { I18n } from '@ibiz-template/core/src/interface';
|
|
2
2
|
import { EngineFactory } from './engine';
|
|
3
3
|
import { GlobalUtil } from './global';
|
|
4
|
-
import { IMessageUtil, INotificationUtil, IOpenViewUtil, IModalUtil, IConfirmUtil, ILoadingUtil, IPluginFactory, IOverlayController, IGlobalConfig, IAppHubService, IAuthService, IAsyncActionService } from './interface';
|
|
4
|
+
import { IMessageUtil, INotificationUtil, IOpenViewUtil, IModalUtil, IConfirmUtil, ILoadingUtil, IPluginFactory, IOverlayController, IGlobalConfig, IAppHubService, IAuthService, IAsyncActionService, IPlatformProvider } from './interface';
|
|
5
5
|
import { LogicSchedulerCenter } from './logic-scheduler';
|
|
6
6
|
import { RegisterCenter } from './register/register-center';
|
|
7
7
|
declare module '@ibiz-template/core' {
|
|
@@ -145,6 +145,15 @@ declare module '@ibiz-template/core' {
|
|
|
145
145
|
* @type {LogicSchedulerCenter}
|
|
146
146
|
*/
|
|
147
147
|
scheduler: LogicSchedulerCenter;
|
|
148
|
+
/**
|
|
149
|
+
* 搭载平台
|
|
150
|
+
*
|
|
151
|
+
* @author zk
|
|
152
|
+
* @date 2023-11-23 09:11:37
|
|
153
|
+
* @type {IPlatformProvider}
|
|
154
|
+
* @memberof IBizSys
|
|
155
|
+
*/
|
|
156
|
+
platform: IPlatformProvider;
|
|
148
157
|
}
|
|
149
158
|
interface IEnvironment {
|
|
150
159
|
/**
|
package/out/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,mBAAmB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf;;;;;;WAMG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;WAMG;QACH,GAAG,EAAE,cAAc,CAAC;QAEpB;;;;;;;WAOG;QACH,KAAK,EAAE,UAAU,CAAC;QAElB;;;;;;;WAOG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;;WAOG;QACH,OAAO,EAAE,YAAY,CAAC;QAEtB;;;;;;;WAOG;QACH,YAAY,EAAE,iBAAiB,CAAC;QAEhC;;;;;;;WAOG;QACH,QAAQ,EAAE,aAAa,CAAC;QAExB;;;;;;WAMG;QACH,OAAO,EAAE,kBAAkB,CAAC;QAE5B;;;;;;WAMG;QACH,MAAM,EAAE,cAAc,CAAC;QAEvB;;;;;;WAMG;QACH,QAAQ,EAAE,cAAc,CAAC;QAEzB;;;;;;WAMG;QACH,MAAM,EAAE,aAAa,CAAC;QAEtB;;;;;;WAMG;QACH,IAAI,EAAE,YAAY,CAAC;QAEnB;;;;;;WAMG;QACH,WAAW,EAAE,mBAAmB,CAAC;QAEjC;;;;;WAKG;QACH,MAAM,EAAE,aAAa,CAAC;QAEtB;;;;;;WAMG;QACH,IAAI,EAAE,UAAU,CAAC;QAEjB;;;;;;WAMG;QACH,IAAI,EAAE,IAAI,CAAC;QAEX;;;;;WAKG;QACH,SAAS,EAAE,oBAAoB,CAAC;QAEhC;;;;;;;WAOG;QACH,QAAQ,EAAE,iBAAiB,CAAC;KAC7B;IAED,UAAU,YAAY;QACpB;;;;;;;WAOG;QACH,YAAY,CAAC,EAAE,aAAa,CAAC;KAC9B;CACF"}
|
|
@@ -45,6 +45,6 @@ export declare class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
45
45
|
* @param {IUILogicParams} args
|
|
46
46
|
* @return {*}
|
|
47
47
|
*/
|
|
48
|
-
protected executeDataExport(action: IAppDEUIAction,
|
|
48
|
+
protected executeDataExport(action: IAppDEUIAction, args: IUILogicParams): Promise<void>;
|
|
49
49
|
}
|
|
50
50
|
//# sourceMappingURL=front-ui-action-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"front-ui-action-provider.d.ts","sourceRoot":"","sources":["../../../src/ui-action/provider/front-ui-action-provider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAc,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;IACvD,UAAU,CACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"front-ui-action-provider.d.ts","sourceRoot":"","sources":["../../../src/ui-action/provider/front-ui-action-provider.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAc,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;IACvD,UAAU,CACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;IA+D3B;;;;;;;;OAQG;IAEH,SAAS,CAAC,OAAO,CACf,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,eAAe;IAalB;;;;;;OAMG;cACa,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC;IA4ChB;;;;;;OAMG;cACa,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,eAAe,CAAC;IA8B3B;;;;;;OAMG;cACa,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC;CAoDjB"}
|
|
@@ -15,7 +15,6 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
15
15
|
async execAction(action, args) {
|
|
16
16
|
const { context, params, data, event, noWaitRoute } = args;
|
|
17
17
|
let actionResult = {};
|
|
18
|
-
// todo
|
|
19
18
|
switch (action.frontProcessType) {
|
|
20
19
|
case 'OPENHTMLPAGE': {
|
|
21
20
|
const url = StringUtil.fill(action.htmlPageUrl, context, data === null || data === void 0 ? void 0 : data[0]);
|
|
@@ -87,6 +86,8 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
87
86
|
*/
|
|
88
87
|
async executePrint(action, args) {
|
|
89
88
|
var _a, _b;
|
|
89
|
+
// 处理参数
|
|
90
|
+
const { resultParams } = await this.handleParams(action, args.context, args.data, args.params);
|
|
90
91
|
const appDataEntity = await ibiz.hub.getAppDataEntity(action.appDataEntityId);
|
|
91
92
|
const appDEPrint = (_a = appDataEntity.appDEPrints) === null || _a === void 0 ? void 0 : _a.find(print => {
|
|
92
93
|
return print.id === action.appDEPrintId;
|
|
@@ -96,7 +97,7 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
96
97
|
const { context } = args;
|
|
97
98
|
if (context && context[appDataEntity.codeName.toLowerCase()]) {
|
|
98
99
|
// TODO 临时写死printdata, 非标准,后续优化
|
|
99
|
-
requestUrl += `/${(_b = appDataEntity.codeName2) === null || _b === void 0 ? void 0 : _b.toLowerCase()}/printdata/${context[appDataEntity.codeName.toLowerCase()]}
|
|
100
|
+
requestUrl += `/${(_b = appDataEntity.codeName2) === null || _b === void 0 ? void 0 : _b.toLowerCase()}/printdata/${context[appDataEntity.codeName.toLowerCase()]}`;
|
|
100
101
|
}
|
|
101
102
|
else {
|
|
102
103
|
throw new RuntimeError('没有找到数据主键');
|
|
@@ -104,6 +105,7 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
104
105
|
const res = await ibiz.net.request(requestUrl, {
|
|
105
106
|
method: 'get',
|
|
106
107
|
responseType: 'blob',
|
|
108
|
+
params: Object.assign({ srfprinttag: appDEPrint.codeName }, resultParams),
|
|
107
109
|
});
|
|
108
110
|
if (res.ok) {
|
|
109
111
|
const link = window.URL.createObjectURL(res.data);
|
|
@@ -153,8 +155,10 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
153
155
|
* @param {IUILogicParams} args
|
|
154
156
|
* @return {*}
|
|
155
157
|
*/
|
|
156
|
-
async executeDataExport(action,
|
|
158
|
+
async executeDataExport(action, args) {
|
|
157
159
|
var _a, _b;
|
|
160
|
+
// 处理参数
|
|
161
|
+
const { resultParams } = await this.handleParams(action, args.context, args.data, args.params);
|
|
158
162
|
const appDataEntity = await ibiz.hub.getAppDataEntity(action.appDataEntityId);
|
|
159
163
|
const appDEDataExport = (_a = appDataEntity.appDEDataExports) === null || _a === void 0 ? void 0 : _a.find(dataExport => {
|
|
160
164
|
return dataExport.id === action.appDEDataExportId;
|
|
@@ -163,15 +167,10 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
163
167
|
// TODO 临时写死fetchdefault,应该从appDEDataExport的主表格上获取加载行为,但现在缺主表格模型,后续优化
|
|
164
168
|
const url = `/${(_b = appDataEntity.codeName2) === null || _b === void 0 ? void 0 : _b.toLowerCase()}/exportdata/fetchdefault?srfexporttag=${appDEDataExport.codeName}`;
|
|
165
169
|
// 参数
|
|
166
|
-
const params = {
|
|
167
|
-
page: 0,
|
|
168
|
-
size: appDEDataExport.maxRowCount ? appDEDataExport.maxRowCount : 1000,
|
|
169
|
-
responseType: 'blob',
|
|
170
|
-
};
|
|
170
|
+
const params = Object.assign(Object.assign({ page: 0, size: appDEDataExport.maxRowCount ? appDEDataExport.maxRowCount : 1000 }, args.params), resultParams);
|
|
171
171
|
const res = await ibiz.net.request(url, {
|
|
172
172
|
method: 'post',
|
|
173
173
|
data: params,
|
|
174
|
-
responseType: 'blob',
|
|
175
174
|
});
|
|
176
175
|
if (res.status === 200) {
|
|
177
176
|
let fileName = `${appDataEntity.logicName}表.xlsx`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"author": "chitanda",
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@ibiz-template/core": "^0.3.
|
|
32
|
+
"@ibiz-template/core": "^0.3.5",
|
|
33
33
|
"@ibiz/model-core": "^0.0.20",
|
|
34
34
|
"@types/path-browserify": "^1.0.2",
|
|
35
35
|
"@types/qs": "^6.9.10",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"qx-util": "^0.4.8",
|
|
60
60
|
"ramda": "^0.29.0"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "63087e7d7a9566137cdad2d40b2d37263194a752"
|
|
63
63
|
}
|
package/src/constant/index.ts
CHANGED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/* eslint-disable no-shadow */
|
|
2
|
+
/**
|
|
3
|
+
* 搭载平台类型
|
|
4
|
+
*
|
|
5
|
+
* @author zk
|
|
6
|
+
* @date 2023-11-20 03:11:28
|
|
7
|
+
* @export
|
|
8
|
+
* @enum {number}
|
|
9
|
+
*/
|
|
10
|
+
export enum PlatformType {
|
|
11
|
+
/**
|
|
12
|
+
* IOS
|
|
13
|
+
*/
|
|
14
|
+
IOS = 'IOS',
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 安卓
|
|
18
|
+
*/
|
|
19
|
+
ANDROID = 'Android',
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 微信
|
|
23
|
+
*/
|
|
24
|
+
WECHAT = 'WeChat',
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* 腾讯QQ
|
|
28
|
+
*/
|
|
29
|
+
QQ = 'QQ',
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 钉钉
|
|
33
|
+
*/
|
|
34
|
+
DINGTALK = 'DingTalk',
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* 浏览器
|
|
38
|
+
*/
|
|
39
|
+
BROWSER = 'Browser',
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* 微信小程序
|
|
43
|
+
*/
|
|
44
|
+
WCMP = 'WeChatMiniProgram',
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* 桌面端
|
|
48
|
+
*/
|
|
49
|
+
DESKTOP = 'Desktop',
|
|
50
|
+
}
|
|
@@ -19,7 +19,7 @@ export class FunnelSeriesGenerator extends BaseSeriesGenerator<IChartSeriesFunne
|
|
|
19
19
|
protected calcStaticOptions(): SeriesOption {
|
|
20
20
|
const options = super.calcStaticOptions() as FunnelSeriesOption;
|
|
21
21
|
|
|
22
|
-
options.label!.formatter = '{b}: {d}%
|
|
22
|
+
options.label!.formatter = '{b}: {d}%';
|
|
23
23
|
options.label!.position = 'outer';
|
|
24
24
|
|
|
25
25
|
return options;
|
|
@@ -19,7 +19,7 @@ export class PieSeriesGenerator extends BaseSeriesGenerator<IChartSeriesPie> {
|
|
|
19
19
|
protected calcStaticOptions(): SeriesOption {
|
|
20
20
|
const options = super.calcStaticOptions() as PieSeriesOption;
|
|
21
21
|
|
|
22
|
-
options.label!.formatter = '{b}: {d}%
|
|
22
|
+
options.label!.formatter = '{b}: {d}%';
|
|
23
23
|
options.label!.position = 'outside';
|
|
24
24
|
|
|
25
25
|
return options;
|
package/src/index.ts
CHANGED
package/src/install.ts
CHANGED
|
@@ -11,6 +11,8 @@ import { EngineFactory } from './engine';
|
|
|
11
11
|
import { GlobalUtil } from './global';
|
|
12
12
|
import { presetUIActionProvider } from './ui-action';
|
|
13
13
|
import { installLogicSchedule } from './logic-scheduler';
|
|
14
|
+
import { install as installPlatformProvider } from './platform/provider';
|
|
15
|
+
import { getPlatformProvider } from './register';
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
18
|
* 安装运行时
|
|
@@ -43,4 +45,8 @@ export function install(): void {
|
|
|
43
45
|
presetAppCounterProvider();
|
|
44
46
|
// 安装逻辑调度器
|
|
45
47
|
installLogicSchedule();
|
|
48
|
+
// 注册搭载平台适配器
|
|
49
|
+
installPlatformProvider();
|
|
50
|
+
// 搭载平台 - 先注册 后挂载
|
|
51
|
+
ibiz.platform = getPlatformProvider();
|
|
46
52
|
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 搭载平台适配器接口
|
|
3
|
+
*
|
|
4
|
+
* @author zk
|
|
5
|
+
* @date 2023-11-20 02:11:24
|
|
6
|
+
* @export
|
|
7
|
+
* @interface IPlatformProvider
|
|
8
|
+
*/
|
|
9
|
+
export interface IPlatformProvider {
|
|
10
|
+
/**
|
|
11
|
+
* 登录
|
|
12
|
+
*
|
|
13
|
+
* @author zk
|
|
14
|
+
* @date 2023-11-20 03:11:10
|
|
15
|
+
* @param {string} loginName 账号!
|
|
16
|
+
* @param {string} passWord 密码!
|
|
17
|
+
* @param {string} [verificationCode] 验证码?
|
|
18
|
+
* @return {*} {Promise<boolean>}
|
|
19
|
+
* @memberof IPlatformProvider
|
|
20
|
+
*/
|
|
21
|
+
login(
|
|
22
|
+
loginName: string,
|
|
23
|
+
passWord: string,
|
|
24
|
+
verificationCode?: string,
|
|
25
|
+
): Promise<boolean>;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 下载
|
|
29
|
+
*
|
|
30
|
+
* @author zk
|
|
31
|
+
* @date 2023-11-20 04:11:54
|
|
32
|
+
* @param {string} url 下载地址
|
|
33
|
+
* @param {string} name 文件名称
|
|
34
|
+
* @memberof IPlatformProvider
|
|
35
|
+
*/
|
|
36
|
+
download(url: string, name: string): Promise<boolean>;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* 初始化
|
|
40
|
+
*
|
|
41
|
+
* @author zk
|
|
42
|
+
* @date 2023-11-21 11:11:57
|
|
43
|
+
* @memberof IPlatformProvider
|
|
44
|
+
*/
|
|
45
|
+
init(): Promise<void>;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* 返回
|
|
49
|
+
*
|
|
50
|
+
* @author zk
|
|
51
|
+
* @date 2023-11-21 08:11:36
|
|
52
|
+
* @memberof IPlatformProvider
|
|
53
|
+
*/
|
|
54
|
+
back(): void;
|
|
55
|
+
}
|
|
@@ -11,3 +11,4 @@ export type * from './i-portlet.provider';
|
|
|
11
11
|
export type { IAppCounterProvider } from './i-app-counter.provider';
|
|
12
12
|
export type { IUILogicNodeProvider } from './i-ui-login-node.provider';
|
|
13
13
|
export type { IAsyncActionProvider } from './i-async-action.provider';
|
|
14
|
+
export type { IPlatformProvider } from './i-platform-provider';
|
|
@@ -16,7 +16,11 @@ export interface IAuthService {
|
|
|
16
16
|
* @param {string} password
|
|
17
17
|
* @return {*} {Promise<boolean>}
|
|
18
18
|
*/
|
|
19
|
-
login(
|
|
19
|
+
login(
|
|
20
|
+
loginName: string,
|
|
21
|
+
password: string,
|
|
22
|
+
rememberme?: boolean,
|
|
23
|
+
): Promise<boolean>;
|
|
20
24
|
|
|
21
25
|
/**
|
|
22
26
|
* 登出
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { PlatformType } from '../constant';
|
|
2
|
+
|
|
3
|
+
const ua = window.navigator.userAgent.toLowerCase();
|
|
4
|
+
|
|
5
|
+
// android平台
|
|
6
|
+
function isAndroid(): boolean {
|
|
7
|
+
return /Android|Adr/i.test(ua);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// ios平台
|
|
11
|
+
function isIos(): boolean {
|
|
12
|
+
return /iPhone|iPod|iPad/i.test(ua);
|
|
13
|
+
}
|
|
14
|
+
// 微信生态
|
|
15
|
+
function isWeChat(): boolean {
|
|
16
|
+
return /MicroMessenger/i.test(ua);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// 钉钉环境
|
|
20
|
+
function isDingDing(): boolean {
|
|
21
|
+
return /DingTalk/i.test(ua);
|
|
22
|
+
}
|
|
23
|
+
// 微信小程序
|
|
24
|
+
function isWxMp(): boolean {
|
|
25
|
+
return (
|
|
26
|
+
/miniProgram/i.test(ua) ||
|
|
27
|
+
(window as IData).__wxjs_environment === 'miniprogram'
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 获取搭载平台名称
|
|
33
|
+
*
|
|
34
|
+
* @author zk
|
|
35
|
+
* @date 2023-11-21 02:11:28
|
|
36
|
+
* @export
|
|
37
|
+
* @return {*} {PlatformType}
|
|
38
|
+
*/
|
|
39
|
+
export function getPlatformType(): PlatformType {
|
|
40
|
+
if (isAndroid()) {
|
|
41
|
+
return PlatformType.ANDROID;
|
|
42
|
+
}
|
|
43
|
+
if (isIos()) {
|
|
44
|
+
return PlatformType.IOS;
|
|
45
|
+
}
|
|
46
|
+
if (isWeChat()) {
|
|
47
|
+
return PlatformType.WECHAT;
|
|
48
|
+
}
|
|
49
|
+
if (isDingDing()) {
|
|
50
|
+
return PlatformType.DINGTALK;
|
|
51
|
+
}
|
|
52
|
+
if (isWxMp()) {
|
|
53
|
+
return PlatformType.WCMP;
|
|
54
|
+
}
|
|
55
|
+
// 默认为浏览器
|
|
56
|
+
return PlatformType.BROWSER;
|
|
57
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PlatformProviderBase } from './platform-provider-base';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 浏览器搭载平台适配器
|
|
5
|
+
*
|
|
6
|
+
* @author zk
|
|
7
|
+
* @date 2023-11-20 03:11:25
|
|
8
|
+
* @export
|
|
9
|
+
* @class BrowserPlatformProvider
|
|
10
|
+
* @extends {PlatformProviderBase}
|
|
11
|
+
*/
|
|
12
|
+
export class BrowserPlatformProvider extends PlatformProviderBase {}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PlatformType } from '../../constant';
|
|
2
|
+
import { registerPlatformProvider } from '../../register';
|
|
3
|
+
import { BrowserPlatformProvider } from './browser-platform-provider';
|
|
4
|
+
import { PlatformProviderBase } from './platform-provider-base';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 预置搭载平台适配器
|
|
8
|
+
*
|
|
9
|
+
* @author zk
|
|
10
|
+
* @date 2023-11-20 03:11:00
|
|
11
|
+
* @export
|
|
12
|
+
*/
|
|
13
|
+
export function install(): void {
|
|
14
|
+
// 预制浏览器搭载平台
|
|
15
|
+
const browserPlatformProvider = new BrowserPlatformProvider();
|
|
16
|
+
registerPlatformProvider(PlatformType.BROWSER, () => browserPlatformProvider);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { BrowserPlatformProvider, PlatformProviderBase };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { downloadFileFromBlob, RuntimeError } from '@ibiz-template/core';
|
|
2
|
+
import { IPlatformProvider } from '../../interface';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 搭载平台处理器基类
|
|
6
|
+
*
|
|
7
|
+
* @author zk
|
|
8
|
+
* @date 2023-11-20 03:11:13
|
|
9
|
+
* @export
|
|
10
|
+
* @abstract
|
|
11
|
+
* @class PlatformProviderBase
|
|
12
|
+
* @implements {IPlatformProvider}
|
|
13
|
+
*/
|
|
14
|
+
export abstract class PlatformProviderBase implements IPlatformProvider {
|
|
15
|
+
back(): void {
|
|
16
|
+
throw new Error('Method not implemented.');
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
init(): Promise<void> {
|
|
20
|
+
throw new Error('Method not implemented.');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async login(
|
|
24
|
+
loginName: string,
|
|
25
|
+
passWord: string,
|
|
26
|
+
_verificationCode?: string | undefined,
|
|
27
|
+
): Promise<boolean> {
|
|
28
|
+
return ibiz.auth.login(loginName, passWord);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
async download(url: string, name: string): Promise<boolean> {
|
|
32
|
+
// 发送get请求
|
|
33
|
+
const response = await ibiz.net.request(url, {
|
|
34
|
+
method: 'get',
|
|
35
|
+
responseType: 'blob',
|
|
36
|
+
});
|
|
37
|
+
if (response.status !== 200) {
|
|
38
|
+
throw new RuntimeError('下载文件失败');
|
|
39
|
+
}
|
|
40
|
+
// 请求成功,后台返回的是一个文件流
|
|
41
|
+
if (!response.data) {
|
|
42
|
+
throw new RuntimeError('文件流数据不存在');
|
|
43
|
+
} else {
|
|
44
|
+
// 获取文件名
|
|
45
|
+
const fileName = name;
|
|
46
|
+
downloadFileFromBlob(response.data as Blob, fileName);
|
|
47
|
+
return Promise.resolve(true);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { IPlatformProvider } from '../../interface';
|
|
2
|
+
|
|
3
|
+
import { PlatformType } from '../../constant';
|
|
4
|
+
import { getPlatformType } from '../../platform';
|
|
5
|
+
|
|
6
|
+
/** 搭载平台适配器前缀 */
|
|
7
|
+
export const PLATFORM_PROVIDER_PREFIX = 'PLATFORM';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 注册搭载平台适配器
|
|
11
|
+
* @author zk
|
|
12
|
+
* @date 2023-11-20 02:11:36
|
|
13
|
+
* @export
|
|
14
|
+
* @param {string} key
|
|
15
|
+
* @param {() => IPlatformProvider} callback 生成搭载平台适配器的回调
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
export function registerPlatformProvider(
|
|
19
|
+
key: PlatformType,
|
|
20
|
+
callback: () => IPlatformProvider,
|
|
21
|
+
): void {
|
|
22
|
+
ibiz.register.register(`${PLATFORM_PROVIDER_PREFIX}_${key}`, callback);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 获取适配器
|
|
27
|
+
*
|
|
28
|
+
* @author zk
|
|
29
|
+
* @date 2023-11-20 02:11:00
|
|
30
|
+
* @param {string} key
|
|
31
|
+
* @return {*} {(IPlatformProvider | undefined)}
|
|
32
|
+
*/
|
|
33
|
+
function getProvider(key: PlatformType): IPlatformProvider | undefined {
|
|
34
|
+
return ibiz.register.get(
|
|
35
|
+
`${PLATFORM_PROVIDER_PREFIX}_${key}`,
|
|
36
|
+
) as IPlatformProvider;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* 获取搭载平台适配器
|
|
41
|
+
* @author zk
|
|
42
|
+
* @date 2023-11-20 02:11:38
|
|
43
|
+
* @export
|
|
44
|
+
* @param {IAppView} model
|
|
45
|
+
* @return {*} {Promise<IPlatformProvider>}
|
|
46
|
+
*/
|
|
47
|
+
export function getPlatformProvider(): IPlatformProvider {
|
|
48
|
+
// 搭载平台类型
|
|
49
|
+
const platformType = getPlatformType();
|
|
50
|
+
const provider: IPlatformProvider | undefined = getProvider(platformType);
|
|
51
|
+
if (!provider) {
|
|
52
|
+
// 默认返回浏览器搭载平台适配器
|
|
53
|
+
return getProvider(PlatformType.BROWSER)!;
|
|
54
|
+
}
|
|
55
|
+
return provider;
|
|
56
|
+
}
|
|
@@ -192,11 +192,18 @@ export class AppDataEntity implements IDataEntity {
|
|
|
192
192
|
* @return {*} {AppDataEntity}
|
|
193
193
|
*/
|
|
194
194
|
assign(data: IData | AppDataEntity): AppDataEntity {
|
|
195
|
+
let _data: IData = {};
|
|
195
196
|
if (data instanceof AppDataEntity) {
|
|
196
|
-
|
|
197
|
+
_data = data._data;
|
|
197
198
|
} else {
|
|
198
|
-
|
|
199
|
+
_data = data;
|
|
199
200
|
}
|
|
201
|
+
Object.keys(_data).forEach(key => {
|
|
202
|
+
if (_data[key] === undefined) {
|
|
203
|
+
delete _data[key];
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
Object.assign(this._data, _data);
|
|
200
207
|
return this;
|
|
201
208
|
}
|
|
202
209
|
|
|
@@ -11,10 +11,18 @@ import { IAuthService } from '../../../interface';
|
|
|
11
11
|
* @class AuthService
|
|
12
12
|
*/
|
|
13
13
|
export class V7AuthService implements IAuthService {
|
|
14
|
-
async login(
|
|
14
|
+
async login(
|
|
15
|
+
loginname: string,
|
|
16
|
+
password: string,
|
|
17
|
+
rememberme?: boolean,
|
|
18
|
+
): Promise<boolean> {
|
|
15
19
|
// eslint-disable-next-line no-useless-catch
|
|
16
20
|
try {
|
|
17
|
-
const res = await ibiz.net.post('/v7/login', {
|
|
21
|
+
const res = await ibiz.net.post('/v7/login', {
|
|
22
|
+
loginname,
|
|
23
|
+
password,
|
|
24
|
+
rememberme,
|
|
25
|
+
});
|
|
18
26
|
const { data } = res;
|
|
19
27
|
if (data && data.token) {
|
|
20
28
|
setCookie(CoreConst.TOKEN, data.token, 0, true);
|
package/src/types.ts
CHANGED
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
IAppHubService,
|
|
15
15
|
IAuthService,
|
|
16
16
|
IAsyncActionService,
|
|
17
|
+
IPlatformProvider,
|
|
17
18
|
} from './interface';
|
|
18
19
|
import { LogicSchedulerCenter } from './logic-scheduler';
|
|
19
20
|
import { RegisterCenter } from './register/register-center';
|
|
@@ -175,6 +176,16 @@ declare module '@ibiz-template/core' {
|
|
|
175
176
|
* @type {LogicSchedulerCenter}
|
|
176
177
|
*/
|
|
177
178
|
scheduler: LogicSchedulerCenter;
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* 搭载平台
|
|
182
|
+
*
|
|
183
|
+
* @author zk
|
|
184
|
+
* @date 2023-11-23 09:11:37
|
|
185
|
+
* @type {IPlatformProvider}
|
|
186
|
+
* @memberof IBizSys
|
|
187
|
+
*/
|
|
188
|
+
platform: IPlatformProvider;
|
|
178
189
|
}
|
|
179
190
|
|
|
180
191
|
interface IEnvironment {
|