@cloudbase/framework-plugin-low-code 0.6.64 → 0.6.67
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/lib/index.d.ts.map +1 -1
- package/lib/index.js +46 -13
- package/lib/weapps-core/utils/file.d.ts +1 -1
- package/package.json +1 -1
- package/template/mp/app/weapps-api.js +3 -1
- package/template/mp/common/util.js +46 -1
- package/template/src/app/global-api.js +4 -1
- package/template/src/utils/formatEnum.js +42 -0
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -613,6 +613,7 @@ class LowCodePlugin extends framework_core_1.Plugin {
|
|
|
613
613
|
});
|
|
614
614
|
}
|
|
615
615
|
deploy() {
|
|
616
|
+
var _a;
|
|
616
617
|
return __awaiter(this, void 0, void 0, function* () {
|
|
617
618
|
try {
|
|
618
619
|
this._time("DEPLOY");
|
|
@@ -627,19 +628,27 @@ class LowCodePlugin extends framework_core_1.Plugin {
|
|
|
627
628
|
else {
|
|
628
629
|
yield this._postProcessWebsiteConfig();
|
|
629
630
|
}
|
|
630
|
-
|
|
631
|
-
.
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
631
|
+
try {
|
|
632
|
+
let publishAppCustomNavRes = yield this.api.cloudbaseManager
|
|
633
|
+
.commonService('lowcode', '2021-01-08')
|
|
634
|
+
.call({
|
|
635
|
+
Action: 'PublishAppCustomNav',
|
|
636
|
+
Param: {
|
|
637
|
+
WeAppId: this._resolvedInputs.appId,
|
|
638
|
+
EnvId: this.api.envId,
|
|
639
|
+
PublishType: this._resolvedInputs.deployOptions.mode === types_1.DEPLOY_MODE.UPLOAD
|
|
640
|
+
? 'product'
|
|
641
|
+
: 'preview',
|
|
642
|
+
},
|
|
643
|
+
});
|
|
644
|
+
this.api.logger.info(`${this.api.emoji('🚀')} custom publish success: ${JSON.stringify(publishAppCustomNavRes)}`);
|
|
645
|
+
}
|
|
646
|
+
catch (e) {
|
|
647
|
+
this.api.logger.error(`${this.api.emoji('🚀')} custom publish fail: ${JSON.stringify(e)}`);
|
|
648
|
+
if (((_a = e) === null || _a === void 0 ? void 0 : _a.code) !== 'ResourceNotFound') {
|
|
649
|
+
throw e;
|
|
650
|
+
}
|
|
651
|
+
}
|
|
643
652
|
try {
|
|
644
653
|
const { deployOptions, appId } = this._resolvedInputs;
|
|
645
654
|
const isPreview = (deployOptions === null || deployOptions === void 0 ? void 0 : deployOptions.mode) === types_1.DEPLOY_MODE.PREVIEW;
|
|
@@ -962,6 +971,7 @@ class LowCodePlugin extends framework_core_1.Plugin {
|
|
|
962
971
|
});
|
|
963
972
|
}
|
|
964
973
|
_postProcessAdminPortal() {
|
|
974
|
+
var _a, _b;
|
|
965
975
|
return __awaiter(this, void 0, void 0, function* () {
|
|
966
976
|
const { appId, buildTypeList, mainAppSerializeData, deployOptions, } = this._resolvedInputs;
|
|
967
977
|
if (common_2.buildAsAdminPortalByBuildType(buildTypeList)) {
|
|
@@ -997,6 +1007,23 @@ class LowCodePlugin extends framework_core_1.Plugin {
|
|
|
997
1007
|
catch (e) {
|
|
998
1008
|
this.api.logger.error('门户路由注册失败: ', e);
|
|
999
1009
|
}
|
|
1010
|
+
try {
|
|
1011
|
+
if (((_b = (_a = this._resolvedInputs) === null || _a === void 0 ? void 0 : _a.deployOptions) === null || _b === void 0 ? void 0 : _b.mode) === types_1.DEPLOY_MODE.UPLOAD) {
|
|
1012
|
+
yield this.api.cloudbaseManager
|
|
1013
|
+
.commonService('lowcode', '2021-01-08')
|
|
1014
|
+
.call({
|
|
1015
|
+
Action: 'PublishAppCustomUrl',
|
|
1016
|
+
Param: {
|
|
1017
|
+
EnvId: this.api.envId,
|
|
1018
|
+
WeAppId: this._resolvedInputs.appId,
|
|
1019
|
+
},
|
|
1020
|
+
});
|
|
1021
|
+
}
|
|
1022
|
+
this.api.logger.info('PublishAppCustomUrl成功');
|
|
1023
|
+
}
|
|
1024
|
+
catch (e) {
|
|
1025
|
+
this.api.logger.error('PublishAppCustomUrl失败: ', e);
|
|
1026
|
+
}
|
|
1000
1027
|
}
|
|
1001
1028
|
});
|
|
1002
1029
|
}
|
|
@@ -1068,6 +1095,12 @@ class LowCodePlugin extends framework_core_1.Plugin {
|
|
|
1068
1095
|
WeAppId: this._resolvedInputs.appId,
|
|
1069
1096
|
IndexPath: this._getWebRootPath(),
|
|
1070
1097
|
},
|
|
1098
|
+
})
|
|
1099
|
+
.catch((e) => {
|
|
1100
|
+
this.api.logger.error('自定义域名发布失败: ', e);
|
|
1101
|
+
if ((e === null || e === void 0 ? void 0 : e.code) !== 'ResourceNotFound') {
|
|
1102
|
+
throw e;
|
|
1103
|
+
}
|
|
1071
1104
|
})
|
|
1072
1105
|
: Promise.resolve(),
|
|
1073
1106
|
hostingService.setWebsiteDocument({
|
|
@@ -6,7 +6,7 @@ export declare function originJsonToFileList(appData: IWeAppData): (import("../t
|
|
|
6
6
|
code: string;
|
|
7
7
|
pageId: string;
|
|
8
8
|
})[];
|
|
9
|
-
export declare function getExtByType(type: CodeType): ".
|
|
9
|
+
export declare function getExtByType(type: CodeType): ".less" | ".js" | ".json";
|
|
10
10
|
export declare function HACK_FIX_LOWCODE_IN(code?: string): string;
|
|
11
11
|
export declare function HACK_FIX_LOWCODE_OUT(code?: string): string;
|
|
12
12
|
//# sourceMappingURL=file.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/framework-plugin-low-code",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.67",
|
|
4
4
|
"description": "云开发 Tencent CloudBase Framework Low Code Plugin,将低码配置生成完整项目并一键部署云开发资源。",
|
|
5
5
|
"author": "yhsunshining@gmail.com",
|
|
6
6
|
"homepage": "https://github.com/TencentCloudBase/cloudbase-framework#readme",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { observable } from 'mobx'
|
|
2
|
-
import { createComputed, formatDate, getter, setter } from '<%= subLevelPath %>../common/util'
|
|
2
|
+
import { createComputed, formatDate, getter, setter, formatEnum, enumOptions} from '<%= subLevelPath %>../common/util'
|
|
3
3
|
import process from '<%= subLevelPath %>../common/process'
|
|
4
4
|
import { DS_SDK, CLOUD_SDK, createDataset, EXTRA_API } from '<%= subLevelPath %>../datasources/index'
|
|
5
5
|
import appGlobal from '<%= subLevelPath %>../app/app-global'
|
|
@@ -33,6 +33,7 @@ function createGlboalApi() {
|
|
|
33
33
|
//request: sdk.request,
|
|
34
34
|
//getSessionId: sdk.getSessionId,
|
|
35
35
|
},
|
|
36
|
+
enumOptions: enumOptions,
|
|
36
37
|
state: observable(state),
|
|
37
38
|
computed: createComputed(computed),
|
|
38
39
|
common,
|
|
@@ -51,6 +52,7 @@ function createGlboalApi() {
|
|
|
51
52
|
},
|
|
52
53
|
utils: {
|
|
53
54
|
formatDate,
|
|
55
|
+
formatEnum,
|
|
54
56
|
get: getter,
|
|
55
57
|
set: setter,
|
|
56
58
|
_getConfig: function () {
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
import { findForItemsOfWidget, mpCompToWidget } from './widget'
|
|
4
4
|
import lodashGet from 'lodash.get';
|
|
5
5
|
import lodashSet from 'lodash.set';
|
|
6
|
-
|
|
6
|
+
import { observable } from 'mobx';
|
|
7
|
+
import { app } from '../app/weapps-api'
|
|
7
8
|
/**
|
|
8
9
|
* Convert abcWordSnd -> abc-word-snd
|
|
9
10
|
*/
|
|
@@ -549,8 +550,52 @@ class CustomDate {
|
|
|
549
550
|
|
|
550
551
|
const dataInstance = new CustomDate();
|
|
551
552
|
export const formatDate = new CustomDate().format.bind(dataInstance);
|
|
553
|
+
|
|
554
|
+
let loading = {};
|
|
555
|
+
export let enumOptions = observable({});
|
|
556
|
+
export function formatEnum(path, optionname) {
|
|
557
|
+
// 判断是单选还是多选
|
|
558
|
+
let isSingle = Array.isArray(path);
|
|
559
|
+
// 获取到options
|
|
560
|
+
let parseOptions = getEnumOptions(optionname);
|
|
561
|
+
if (parseOptions === '') {
|
|
562
|
+
return !isSingle ? path : path.join(',');
|
|
563
|
+
}
|
|
564
|
+
let multiTmp = [];
|
|
565
|
+
let value = !isSingle
|
|
566
|
+
? JSON.parse(parseOptions)?.find((item) => item?.key === path)?.value
|
|
567
|
+
: JSON.parse(parseOptions)
|
|
568
|
+
?.filter((item) => path.some((pathValue) => item?.key === pathValue))
|
|
569
|
+
.map((item) => multiTmp.push(item?.value));
|
|
570
|
+
// 对多选或者单选有不同处理
|
|
571
|
+
return !isSingle ? value : multiTmp?.join(',');
|
|
572
|
+
}
|
|
573
|
+
function getEnumOptions(optionName) {
|
|
574
|
+
if (enumOptions[optionName]) {
|
|
575
|
+
return enumOptions[optionName];
|
|
576
|
+
}
|
|
577
|
+
if (!loading[optionName]) {
|
|
578
|
+
loading[optionName] = true;
|
|
579
|
+
getGeneralOptions(optionName).then((data) => {
|
|
580
|
+
enumOptions[optionName] = data?.Items[0]?.Config;
|
|
581
|
+
});
|
|
582
|
+
}
|
|
583
|
+
return '';
|
|
584
|
+
}
|
|
585
|
+
export async function getGeneralOptions(optionName) {
|
|
586
|
+
return app.cloud.callWedaApi({
|
|
587
|
+
action: 'DescribeGeneralOptionsDetailList',
|
|
588
|
+
data: {
|
|
589
|
+
PageSize: 1,
|
|
590
|
+
PageIndex: 1,
|
|
591
|
+
LikeNameOrTitle: optionName,
|
|
592
|
+
},
|
|
593
|
+
});
|
|
594
|
+
}
|
|
595
|
+
|
|
552
596
|
export const utils = {
|
|
553
597
|
formatDate,
|
|
554
598
|
get: getter,
|
|
555
599
|
set: setter,
|
|
600
|
+
formatEnum
|
|
556
601
|
};
|
|
@@ -5,6 +5,7 @@ import store, { subPackageName } from '../store';
|
|
|
5
5
|
import computed from '../store/computed';
|
|
6
6
|
import common from './common';
|
|
7
7
|
import { formatDate } from '../utils/date';
|
|
8
|
+
import { formatEnum, enumOptions } from '../utils/formatEnum';
|
|
8
9
|
import { getter, setter, _isMobile } from '../utils';
|
|
9
10
|
import actionMap from './material-actions';
|
|
10
11
|
import { scanCodeApi } from '../utils/scan-code-action';
|
|
@@ -31,6 +32,7 @@ function createGlboalApi() {
|
|
|
31
32
|
request: sdk.request,
|
|
32
33
|
getSessionId: sdk.getSessionId,
|
|
33
34
|
},
|
|
35
|
+
enumOptions: enumOptions,
|
|
34
36
|
state: store,
|
|
35
37
|
computed: createComputed(computed.global),
|
|
36
38
|
common,
|
|
@@ -45,6 +47,7 @@ function createGlboalApi() {
|
|
|
45
47
|
},
|
|
46
48
|
utils: {
|
|
47
49
|
formatDate,
|
|
50
|
+
formatEnum,
|
|
48
51
|
get: getter,
|
|
49
52
|
set: setter,
|
|
50
53
|
_getConfig: function () {
|
|
@@ -52,7 +55,7 @@ function createGlboalApi() {
|
|
|
52
55
|
},
|
|
53
56
|
getWXContext: function() {
|
|
54
57
|
return Promise.resolve({})
|
|
55
|
-
}
|
|
58
|
+
},
|
|
56
59
|
},
|
|
57
60
|
|
|
58
61
|
// ... other sdk apis & apis from mp
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { observable } from 'mobx';
|
|
2
|
+
let loading = {};
|
|
3
|
+
export let enumOptions = observable({});
|
|
4
|
+
export function formatEnum(path, optionname) {
|
|
5
|
+
// 判断是单选还是多选
|
|
6
|
+
let isSingle = Array.isArray(path);
|
|
7
|
+
// 获取到options
|
|
8
|
+
let parseOptions = getEnumOptions(optionname);
|
|
9
|
+
if (parseOptions === '') {
|
|
10
|
+
return !isSingle ? path : path.join(',');
|
|
11
|
+
}
|
|
12
|
+
let multiTmp = [];
|
|
13
|
+
let value = !isSingle
|
|
14
|
+
? JSON.parse(parseOptions)?.find((item) => item?.key === path)?.value
|
|
15
|
+
: JSON.parse(parseOptions)
|
|
16
|
+
?.filter((item) => path.some((pathValue) => item?.key === pathValue))
|
|
17
|
+
.map((item) => multiTmp.push(item?.value));
|
|
18
|
+
// 对多选或者单选有不同处理
|
|
19
|
+
return !isSingle ? value : multiTmp?.join(',');
|
|
20
|
+
}
|
|
21
|
+
function getEnumOptions(optionName) {
|
|
22
|
+
if (enumOptions[optionName]) {
|
|
23
|
+
return enumOptions[optionName];
|
|
24
|
+
}
|
|
25
|
+
if (!loading[optionName]) {
|
|
26
|
+
loading[optionName] = true;
|
|
27
|
+
getGeneralOptions(optionName).then((data) => {
|
|
28
|
+
enumOptions[optionName] = data?.Items[0]?.Config;
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return '';
|
|
32
|
+
}
|
|
33
|
+
export async function getGeneralOptions(optionName) {
|
|
34
|
+
return app.cloud.callWedaApi({
|
|
35
|
+
action: 'DescribeGeneralOptionsDetailList',
|
|
36
|
+
data: {
|
|
37
|
+
PageSize: 1,
|
|
38
|
+
PageIndex: 1,
|
|
39
|
+
LikeNameOrTitle: optionName,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
}
|