@cloudbase/framework-plugin-low-code 0.7.8-beta.1 → 0.7.8
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/builder/core/generate.d.ts.map +1 -1
- package/lib/builder/core/generate.js +0 -2
- package/lib/builder/service/builder/generate.d.ts.map +1 -1
- package/lib/builder/service/builder/generate.js +4 -0
- package/lib/builder/util/common.d.ts +1 -0
- package/lib/builder/util/common.d.ts.map +1 -1
- package/lib/builder/util/common.js +25 -1
- package/lib/weapps-core/utils/style.js +8 -0
- package/package.json +1 -1
- package/template/src/handlers/utils/common.js +24 -36
- package/template/src/index.jsx +6 -5
- package/template/src/utils/index.js +17 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/builder/core/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAe5C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkBnD,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,EAC3B,cAAc,kCAA2B,EACzC,YAAY,6BAAsB,EAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,SAAS,EAAE,EAC1B,UAAU,EAAE,WAAW,EACvB,OAAO,qBAAwB,EAC/B,aAAa,qBAAiB,EAC9B,SAAS;iBACM,OAAO;eACT,GAAG;aAIf,EACD,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/builder/core/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAe5C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkBnD,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,EAC3B,cAAc,kCAA2B,EACzC,YAAY,6BAAsB,EAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,SAAS,EAAE,EAC1B,UAAU,EAAE,WAAW,EACvB,OAAO,qBAAwB,EAC/B,aAAa,qBAAiB,EAC9B,SAAS;iBACM,OAAO;eACT,GAAG;aAIf,EACD,MAAM,EAAE,MAAM,iBA6Gf;AACD,wBAAsB,mBAAmB,CACvC,YAAY,oBAAa,EACzB,WAAW,EAAE,MAAM,EACnB,MAAM,KAAA,iBASP"}
|
|
@@ -53,7 +53,6 @@ function runGenerateCore(appBuildDir, appData, subAppDataList = [], dependencies
|
|
|
53
53
|
}
|
|
54
54
|
});
|
|
55
55
|
yield Promise.all(allAppDataList.map((data) => __awaiter(this, void 0, void 0, function* () {
|
|
56
|
-
var _a;
|
|
57
56
|
const { pageInstanceList, rootPath = '' } = data;
|
|
58
57
|
const appName = rootPath ? 'Sub app ' + rootPath : 'Main app';
|
|
59
58
|
console.log(chalk_1.default.blue.bold('Generating files for ' + appName));
|
|
@@ -69,7 +68,6 @@ function runGenerateCore(appBuildDir, appData, subAppDataList = [], dependencies
|
|
|
69
68
|
appConfig: (0, util_1.JsonToStringWithVariableName)({
|
|
70
69
|
id: appKey,
|
|
71
70
|
envId: appData.envId,
|
|
72
|
-
clientId: (_a = appData.extra) === null || _a === void 0 ? void 0 : _a.clientId,
|
|
73
71
|
staticResourceDomain: domain || '',
|
|
74
72
|
envVersion: deployMode === types_1.DEPLOY_MODE.UPLOAD ? 'production' : 'preview',
|
|
75
73
|
pages: pageInstanceList
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/builder/service/builder/generate.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAGxD,OAAO,EACL,aAAa,EACb,aAAa,EACb,iBAAiB,EAEjB,oBAAoB,EACpB,eAAe,EAEf,aAAa,EAEb,kBAAkB,EAWlB,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../../src/builder/service/builder/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -719,6 +719,7 @@ exports.writeLowCodeFilesForCompositeComp = writeLowCodeFilesForCompositeComp;
|
|
|
719
719
|
function generateCodeFromTpl(appData, appBuildDir, dependencies, appKey, rootPath, deployMode, buildTypeList, extraData) {
|
|
720
720
|
var _a;
|
|
721
721
|
return __awaiter(this, void 0, void 0, function* () {
|
|
722
|
+
const componentsScope = yield (0, util_1.getScopeComponents)(appBuildDir, dependencies);
|
|
722
723
|
const computedPageIds = [];
|
|
723
724
|
const pageModules = {};
|
|
724
725
|
(0, weapps_core_1.loopDealWithFn)(appData.pageInstanceList, (p) => {
|
|
@@ -767,6 +768,9 @@ function generateCodeFromTpl(appData, appBuildDir, dependencies, appKey, rootPat
|
|
|
767
768
|
isAdminPortal: (0, common_1.buildAsAdminPortalByBuildType)(buildTypeList),
|
|
768
769
|
isXPage: (0, common_1.buildAsXPageByBuildType)(buildTypeList),
|
|
769
770
|
},
|
|
771
|
+
'utils/index.js': {
|
|
772
|
+
componentsInfoMap: JSON.stringify(componentsScope),
|
|
773
|
+
},
|
|
770
774
|
};
|
|
771
775
|
if (!rootPath) {
|
|
772
776
|
templatesData['index.jsx'] = Object.assign(Object.assign({}, yyptConfig), { adminPortalKey: deployMode === types_1.DEPLOY_MODE.PREVIEW ? `${appKey}-preview` : appKey });
|
|
@@ -13,6 +13,7 @@ export declare function requireUncached(module: any): any;
|
|
|
13
13
|
export declare function removeRequireUncached(path?: string): void;
|
|
14
14
|
export declare function getInputProps(componentsMetaMap: IComponentsInfoMap): IComponentInputProps;
|
|
15
15
|
export declare function getComponentsInfo(appBuildDir: string, dependencies: IMaterialItem[]): Promise<IComponentsInfoMap>;
|
|
16
|
+
export declare function getScopeComponents(appBuildDir: string, dependencies: IMaterialItem[]): Promise<IComponentsInfoMap>;
|
|
16
17
|
export declare function getYyptConfigInfo(extraData: any): Promise<{
|
|
17
18
|
yyptAppKey: any;
|
|
18
19
|
reportUrl: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/builder/util/common.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,aAAa,EACd,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EACL,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAMrC,oBAAY,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAClE,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAQjE;AAOD,wBAAgB,qBAAqB;;;cAUpC;AAED,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,SAAS,CAI7D;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAWlE;AAED,wBAAgB,eAAe,CAAC,MAAM,KAAA,OAIrC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,SAAK,QAI9C;AAED,wBAAgB,aAAa,CAC3B,iBAAiB,EAAE,kBAAkB,GACpC,oBAAoB,CA2BtB;AAED,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,aAAa,EAAE,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CA2D7B;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,GAAG;;;;GA2BrD;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,iBAgChB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,KAAA,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,UAAU,EAAE;QACV,CAAC,aAAa,EAAE,MAAM,GAAG;YACvB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;CACH,GAAG,IAAI,CA0BP;AAOD,wBAAgB,sBAAsB,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA,GAAG,OAAO,CAK7D"}
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/builder/util/common.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,aAAa,EACd,MAAM,kCAAkC,CAAC;AAI1C,OAAO,EACL,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,QAAQ,EACR,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAMrC,oBAAY,aAAa,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAClE,wBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAQjE;AAOD,wBAAgB,qBAAqB;;;cAUpC;AAED,wBAAgB,kBAAkB,IAAI,YAAY,GAAG,SAAS,CAI7D;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,GAAG,GAAG,MAAM,CAWlE;AAED,wBAAgB,eAAe,CAAC,MAAM,KAAA,OAIrC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,SAAK,QAI9C;AAED,wBAAgB,aAAa,CAC3B,iBAAiB,EAAE,kBAAkB,GACpC,oBAAoB,CA2BtB;AAED,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,aAAa,EAAE,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CA2D7B;AAKD,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,aAAa,EAAE,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAiB7B;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,GAAG;;;;GA2BrD;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,iBAgChB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,KAAA,GAAG;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC7C,UAAU,EAAE;QACV,CAAC,aAAa,EAAE,MAAM,GAAG;YACvB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;CACH,GAAG,IAAI,CA0BP;AAOD,wBAAgB,sBAAsB,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA,GAAG,OAAO,CAK7D"}
|
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.isOfficialComponentLib = exports.readComponentLibMata = exports.writeLibCommonRes2file = exports.getYyptConfigInfo = exports.getComponentsInfo = exports.getInputProps = exports.removeRequireUncached = exports.requireUncached = exports.JsonToStringWithVariableName = exports.getSelfPackageJson = exports.getCurrentPackageJson = exports.promiseWrapper = exports.getFileNameByUrl = exports.deepDealSchema = exports.simpleDeepClone = exports.deepDeal = exports.isPlainObject = exports.isArray = exports.getMetaInfoBySourceKey = void 0;
|
|
15
|
+
exports.isOfficialComponentLib = exports.readComponentLibMata = exports.writeLibCommonRes2file = exports.getYyptConfigInfo = exports.getScopeComponents = exports.getComponentsInfo = exports.getInputProps = exports.removeRequireUncached = exports.requireUncached = exports.JsonToStringWithVariableName = exports.getSelfPackageJson = exports.getCurrentPackageJson = exports.promiseWrapper = exports.getFileNameByUrl = exports.deepDealSchema = exports.simpleDeepClone = exports.deepDeal = exports.isPlainObject = exports.isArray = exports.getMetaInfoBySourceKey = void 0;
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
17
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
18
18
|
const style_1 = require("./style");
|
|
@@ -151,6 +151,30 @@ function getComponentsInfo(appBuildDir, dependencies) {
|
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
153
|
exports.getComponentsInfo = getComponentsInfo;
|
|
154
|
+
function getScopeComponents(appBuildDir, dependencies) {
|
|
155
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
const componentsScope = {};
|
|
157
|
+
try {
|
|
158
|
+
const components = yield getComponentsInfo(appBuildDir, dependencies);
|
|
159
|
+
Object.entries(components).map(([key, value]) => {
|
|
160
|
+
var _a;
|
|
161
|
+
const dataForm = (value === null || value === void 0 ? void 0 : value.dataForm) || ((_a = value === null || value === void 0 ? void 0 : value.data) === null || _a === void 0 ? void 0 : _a.properties);
|
|
162
|
+
if (typeof dataForm === 'object') {
|
|
163
|
+
const dataFormOmit = Object.keys(dataForm).reduce((acc, prop) => {
|
|
164
|
+
var _a;
|
|
165
|
+
((_a = dataForm[prop]) === null || _a === void 0 ? void 0 : _a['x-slot-scope']) && (acc[prop] = dataForm[prop]);
|
|
166
|
+
return acc;
|
|
167
|
+
}, {});
|
|
168
|
+
Object.keys(dataFormOmit).length &&
|
|
169
|
+
(componentsScope[key] = { dataForm: dataFormOmit });
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
catch (e) { }
|
|
174
|
+
return componentsScope;
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
exports.getScopeComponents = getScopeComponents;
|
|
154
178
|
function getYyptConfigInfo(extraData) {
|
|
155
179
|
return __awaiter(this, void 0, void 0, function* () {
|
|
156
180
|
let configJson;
|
|
@@ -214,7 +214,14 @@ function translateStyleByHandler(style = {}, handler) {
|
|
|
214
214
|
setStyleValue(result, key, value);
|
|
215
215
|
}
|
|
216
216
|
else if (value !== undefined && value !== null) {
|
|
217
|
+
try {
|
|
218
|
+
|
|
217
219
|
setStyleValue(result, key, handler(value));
|
|
220
|
+
}catch(e){
|
|
221
|
+
console.log(style,key,value)
|
|
222
|
+
console.log(e)
|
|
223
|
+
throw e
|
|
224
|
+
}
|
|
218
225
|
}
|
|
219
226
|
return result;
|
|
220
227
|
}, {});
|
|
@@ -257,6 +264,7 @@ function toREM(cssLen) {
|
|
|
257
264
|
return calPxToREM(cssLen);
|
|
258
265
|
}
|
|
259
266
|
else {
|
|
267
|
+
console.log(cssLen)
|
|
260
268
|
throw new Error('cssLen type error');
|
|
261
269
|
}
|
|
262
270
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/framework-plugin-low-code",
|
|
3
|
-
"version": "0.7.8
|
|
3
|
+
"version": "0.7.8",
|
|
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",
|
|
@@ -218,44 +218,29 @@ export async function checkAnonymous() {
|
|
|
218
218
|
return isAnonymous;
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
-
let loginConfig;
|
|
222
|
-
export async function getLoginConfig() {
|
|
223
|
-
if (loginConfig !== undefined) {
|
|
224
|
-
return loginConfig;
|
|
225
|
-
}
|
|
226
|
-
const { staticResourceDomain, id } = app.__internal__.getConfig();
|
|
227
|
-
const url = `https://${staticResourceDomain}/${id}/login.config.json?t=${Date.now()}`;
|
|
228
|
-
try {
|
|
229
|
-
let response = await fetch(url);
|
|
230
|
-
loginConfig = await response.json();
|
|
231
|
-
} catch (e) {
|
|
232
|
-
loginConfig = {};
|
|
233
|
-
console.error(`加载登录配置${url}失败`, e);
|
|
234
|
-
}
|
|
235
|
-
return loginConfig;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
221
|
/**
|
|
239
222
|
* 检查页面权限
|
|
240
223
|
**/
|
|
241
224
|
export async function checkAuth(app, appId, $page) {
|
|
242
225
|
<% if (isAdminPortal || isXPage) { %>return true;<% } %>
|
|
243
|
-
|
|
244
|
-
|
|
226
|
+
const loginPage = findLoginPage(app);
|
|
227
|
+
if (loginPage?.id === $page.id) {
|
|
228
|
+
return true
|
|
229
|
+
}
|
|
230
|
+
app.showNavigationBarLoading();
|
|
245
231
|
const requestList = [getAccessPermission(app, appId, $page.id)];
|
|
246
|
-
//
|
|
247
|
-
if (
|
|
232
|
+
// 暂时先认为有登录页则自定义登录功能开启且生效
|
|
233
|
+
if (loginPage) {
|
|
248
234
|
requestList.push(getAuthConfig(app));
|
|
249
235
|
requestList.push(checkAnonymous());
|
|
250
|
-
requestList.push(getLoginConfig()); // 提前并行加载
|
|
251
236
|
}
|
|
252
237
|
const [isAccess, authConfig, isAnonymous] = await Promise.all(requestList);
|
|
253
238
|
app.hideNavigationBarLoading();
|
|
254
239
|
|
|
255
|
-
if (
|
|
240
|
+
if (loginPage && isAnonymous) {
|
|
256
241
|
if (authConfig.NeedLogin || (!isAccess && authConfig.RejectStrategy === 'to_login')) {
|
|
257
242
|
redirectToLogin($page);
|
|
258
|
-
return
|
|
243
|
+
return isAccess;
|
|
259
244
|
}
|
|
260
245
|
}
|
|
261
246
|
|
|
@@ -268,22 +253,25 @@ export async function checkAuth(app, appId, $page) {
|
|
|
268
253
|
return isAccess;
|
|
269
254
|
}
|
|
270
255
|
|
|
271
|
-
export
|
|
256
|
+
export function redirectToLogin(currentPage) {
|
|
272
257
|
// 去登录则清空权限缓存。
|
|
273
258
|
_AUTH_CACHE_MAP = {};
|
|
274
259
|
const app = window.app;
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
260
|
+
const loginPage = findLoginPage(app);
|
|
261
|
+
if (!currentPage) {
|
|
262
|
+
currentPage = app.utils.getCurrentPage() || {};
|
|
263
|
+
}
|
|
264
|
+
if (loginPage?.id === currentPage.id) {
|
|
265
|
+
return true
|
|
266
|
+
}
|
|
267
|
+
if (loginPage) {
|
|
282
268
|
app.redirectTo({
|
|
283
|
-
|
|
284
|
-
params: {
|
|
285
|
-
|
|
286
|
-
|
|
269
|
+
pageId: loginPage.id,
|
|
270
|
+
params: {
|
|
271
|
+
sourcePageId: currentPage.id,
|
|
272
|
+
sourcePageParams: currentPage.dataset.params
|
|
273
|
+
}
|
|
274
|
+
})
|
|
287
275
|
} else {
|
|
288
276
|
app.showToast({
|
|
289
277
|
title: '用户未登录',
|
package/template/src/index.jsx
CHANGED
|
@@ -12,7 +12,7 @@ import attachFastClick from 'fastclick'
|
|
|
12
12
|
import { initWebConfig } from 'handlers/lifecycle'
|
|
13
13
|
const AppConfig = require('../webpack/miniprogram.config')
|
|
14
14
|
import { app } from './app/global-api'
|
|
15
|
-
import { redirectToLogin, getAuthConfig, checkAnonymous
|
|
15
|
+
import { redirectToLogin, findLoginPage, getAuthConfig, checkAnonymous } from './handlers/utils'
|
|
16
16
|
// app 中注册配置页面以及app的全局配置miniprogram.config,h5里分app以及web页分别处理,使用process.env.isApp 区分判断
|
|
17
17
|
if (process.env.isApp) {
|
|
18
18
|
initWebConfig(app, AppConfig);
|
|
@@ -26,7 +26,8 @@ setConfig({
|
|
|
26
26
|
},
|
|
27
27
|
beforeCallFunction: async (params) => {
|
|
28
28
|
try{
|
|
29
|
-
const
|
|
29
|
+
const loginPage = findLoginPage();
|
|
30
|
+
|
|
30
31
|
let skip = false;
|
|
31
32
|
switch (params?.data?.methodName) {
|
|
32
33
|
case 'callWedaApi': {
|
|
@@ -38,7 +39,7 @@ setConfig({
|
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
// 后续做过滤处理
|
|
41
|
-
if (!
|
|
42
|
+
if (!loginPage || (params?.data?.mode === 'c' && skip)) {
|
|
42
43
|
return params;
|
|
43
44
|
}
|
|
44
45
|
const { accessToken } = await getAccessToken();
|
|
@@ -59,8 +60,8 @@ setConfig({
|
|
|
59
60
|
},
|
|
60
61
|
async afterCallFunction(params, error, res) {
|
|
61
62
|
if(params?.data?.params?.action != 'DescribeRuntimeResourceStrategy' && ['InnerError.AuthFailure','InvalidAccessToken'].includes(res?.result?.code)) {
|
|
62
|
-
const
|
|
63
|
-
if (
|
|
63
|
+
const loginPage = findLoginPage();
|
|
64
|
+
if (loginPage) {
|
|
64
65
|
const authConfig = await getAuthConfig();
|
|
65
66
|
const isAnonymous = await checkAnonymous();
|
|
66
67
|
if (isAnonymous && authConfig.RejectStrategy == 'to_login') {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { get as lodashGet, set as lodashSet } from 'lodash';
|
|
2
2
|
|
|
3
|
+
const componentsInfoMap = <%= componentsInfoMap %>;
|
|
4
|
+
|
|
3
5
|
export function createComputed(funcs, bindContext = null) {
|
|
4
6
|
const obj = {};
|
|
5
7
|
for (const name in funcs) {
|
|
@@ -54,11 +56,24 @@ const SCOPE_SLOT_MAP = SCOPE_SLOT_COMPONENT_LIB.reduce((map, lib) => {
|
|
|
54
56
|
return map;
|
|
55
57
|
}, {});
|
|
56
58
|
|
|
57
|
-
export function isScopeSlot(comp, slot) {
|
|
59
|
+
export function isScopeSlot(comp, slot, context={componentsInfoMap}) {
|
|
58
60
|
const { 'x-props': xProps } = comp;
|
|
59
61
|
const sourceKey = xProps && xProps.sourceKey;
|
|
62
|
+
|
|
63
|
+
let hasXslotScope = false;
|
|
64
|
+
try {
|
|
65
|
+
const component = context?.componentsInfoMap?.[sourceKey];
|
|
66
|
+
const dataForm = component?.dataForm || component?.data?.properties;
|
|
67
|
+
if (typeof dataForm === 'object') {
|
|
68
|
+
hasXslotScope = Object.keys(dataForm).some(
|
|
69
|
+
(prop) =>
|
|
70
|
+
slot.startsWith(`${prop}_`) && dataForm[prop]?.['x-slot-scope']
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
} catch (e) {}
|
|
74
|
+
|
|
60
75
|
const map = SCOPE_SLOT_MAP[sourceKey];
|
|
61
|
-
return map && map[slot];
|
|
76
|
+
return hasXslotScope || (map && map[slot]);
|
|
62
77
|
}
|
|
63
78
|
|
|
64
79
|
export function _isMobile() {
|