@cloudbase/framework-plugin-low-code 0.7.12 → 0.7.13
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 +2 -0
- package/lib/weapps-core/utils/style.js +0 -8
- package/package.json +1 -1
- package/template/html/index.html.ejs +1 -1
- package/template/mp/package.json +1 -1
- package/template/package.json +1 -1
- package/template/src/handlers/utils/common.js +36 -24
- package/template/src/index.jsx +5 -6
|
@@ -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;AAgBnD,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,qBAAQ,EACrB,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;AAgBnD,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,qBAAQ,EACrB,SAAS;iBACM,OAAO;eACT,GAAG;aAIf,EACD,MAAM,EAAE,MAAM,iBAuEf;AACD,wBAAsB,mBAAmB,CAAC,YAAY,oBAAa,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,KAAA,iBAM/F"}
|
|
@@ -53,6 +53,7 @@ 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;
|
|
56
57
|
const { pageInstanceList, rootPath = '' } = data;
|
|
57
58
|
const appName = rootPath ? `Sub app ${rootPath}` : 'Main app';
|
|
58
59
|
console.log(chalk_1.default.blue.bold(`Generating files for ${appName}`));
|
|
@@ -68,6 +69,7 @@ function runGenerateCore(appBuildDir, appData, subAppDataList = [], dependencies
|
|
|
68
69
|
appConfig: (0, util_1.JsonToStringWithVariableName)({
|
|
69
70
|
id: appKey,
|
|
70
71
|
envId: appData.envId,
|
|
72
|
+
clientId: (_a = appData.extra) === null || _a === void 0 ? void 0 : _a.clientId,
|
|
71
73
|
staticResourceDomain: domain || '',
|
|
72
74
|
envVersion: deployMode === types_1.DEPLOY_MODE.UPLOAD ? 'production' : 'preview',
|
|
73
75
|
pages: pageInstanceList
|
|
@@ -214,14 +214,7 @@ function translateStyleByHandler(style = {}, handler) {
|
|
|
214
214
|
setStyleValue(result, key, value);
|
|
215
215
|
}
|
|
216
216
|
else if (value !== undefined && value !== null) {
|
|
217
|
-
try {
|
|
218
|
-
|
|
219
217
|
setStyleValue(result, key, handler(value));
|
|
220
|
-
}catch(e){
|
|
221
|
-
console.log(style,key,value)
|
|
222
|
-
console.log(e)
|
|
223
|
-
throw e
|
|
224
|
-
}
|
|
225
218
|
}
|
|
226
219
|
return result;
|
|
227
220
|
}, {});
|
|
@@ -264,7 +257,6 @@ function toREM(cssLen) {
|
|
|
264
257
|
return calPxToREM(cssLen);
|
|
265
258
|
}
|
|
266
259
|
else {
|
|
267
|
-
console.log(cssLen)
|
|
268
260
|
throw new Error('cssLen type error');
|
|
269
261
|
}
|
|
270
262
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/framework-plugin-low-code",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.13",
|
|
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",
|
|
@@ -439,7 +439,7 @@
|
|
|
439
439
|
src="https://qbase.cdn-go.cn/lcap/lcap-resource-cdngo/-/release/_npm/@cloudbase/weda-cloud-sdk@1.0.10/dist/h5.browser.js"
|
|
440
440
|
></script>
|
|
441
441
|
<script>
|
|
442
|
-
// zxing polifill
|
|
442
|
+
// zxing polifill
|
|
443
443
|
if (!this.globalThis) {
|
|
444
444
|
this.globalThis = this;
|
|
445
445
|
}
|
package/template/mp/package.json
CHANGED
package/template/package.json
CHANGED
|
@@ -214,29 +214,44 @@ export async function checkAnonymous() {
|
|
|
214
214
|
return isAnonymous;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
+
let loginConfig;
|
|
218
|
+
export async function getLoginConfig() {
|
|
219
|
+
if (loginConfig !== undefined) {
|
|
220
|
+
return loginConfig;
|
|
221
|
+
}
|
|
222
|
+
const { staticResourceDomain, id } = app.__internal__.getConfig();
|
|
223
|
+
const url = `https://${staticResourceDomain}/${id}/login.config.json?t=${Date.now()}`;
|
|
224
|
+
try {
|
|
225
|
+
let response = await fetch(url);
|
|
226
|
+
loginConfig = await response.json();
|
|
227
|
+
} catch (e) {
|
|
228
|
+
loginConfig = {};
|
|
229
|
+
console.error(`加载登录配置${url}失败`, e);
|
|
230
|
+
}
|
|
231
|
+
return loginConfig;
|
|
232
|
+
}
|
|
233
|
+
|
|
217
234
|
/**
|
|
218
235
|
* 检查页面权限
|
|
219
236
|
**/
|
|
220
237
|
export async function checkAuth(app, appId, $page) {
|
|
221
238
|
<% if (isAdminPortal || isXPage) { %>return true;<% } %>
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
return true
|
|
225
|
-
}
|
|
226
|
-
app.showNavigationBarLoading();
|
|
239
|
+
app.showNavigationBarLoading();
|
|
240
|
+
const loginConfig = await getLoginConfig();
|
|
227
241
|
const requestList = [getAccessPermission(app, appId, $page.id)];
|
|
228
|
-
//
|
|
229
|
-
if (
|
|
242
|
+
// 登录配置内有web登录项则认为开启web登录
|
|
243
|
+
if (loginConfig.web?.length > 0) {
|
|
230
244
|
requestList.push(getAuthConfig(app));
|
|
231
245
|
requestList.push(checkAnonymous());
|
|
246
|
+
requestList.push(getLoginConfig()); // 提前并行加载
|
|
232
247
|
}
|
|
233
248
|
const [isAccess, authConfig, isAnonymous] = await Promise.all(requestList);
|
|
234
249
|
app.hideNavigationBarLoading();
|
|
235
250
|
|
|
236
|
-
if (
|
|
251
|
+
if (loginConfig.web?.length > 0 && isAnonymous) {
|
|
237
252
|
if (authConfig.NeedLogin || (!isAccess && authConfig.RejectStrategy === 'to_login')) {
|
|
238
253
|
redirectToLogin($page);
|
|
239
|
-
return
|
|
254
|
+
return false;
|
|
240
255
|
}
|
|
241
256
|
}
|
|
242
257
|
|
|
@@ -249,25 +264,22 @@ export async function checkAuth(app, appId, $page) {
|
|
|
249
264
|
return isAccess;
|
|
250
265
|
}
|
|
251
266
|
|
|
252
|
-
export function redirectToLogin(currentPage) {
|
|
267
|
+
export async function redirectToLogin(currentPage) {
|
|
253
268
|
// 去登录则清空权限缓存。
|
|
254
269
|
_AUTH_CACHE_MAP = {};
|
|
255
270
|
const app = window.app;
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
if (loginPage) {
|
|
271
|
+
|
|
272
|
+
const loginConfig = await getLoginConfig();
|
|
273
|
+
if (loginConfig.web?.length > 0) {
|
|
274
|
+
const { staticResourceDomain, envId, id, clientId } = app.__internal__.getConfig();
|
|
275
|
+
const url = `${location.origin}/__auth/?redirect_uri=${encodeURIComponent(
|
|
276
|
+
location.href,
|
|
277
|
+
)}&app_id=${id}&env_id=${envId}&client_id=${clientId}`;
|
|
264
278
|
app.redirectTo({
|
|
265
|
-
|
|
266
|
-
params: {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
}
|
|
270
|
-
})
|
|
279
|
+
mode: 'web',
|
|
280
|
+
params: {},
|
|
281
|
+
url,
|
|
282
|
+
});
|
|
271
283
|
} else {
|
|
272
284
|
app.showToast({
|
|
273
285
|
title: '用户未登录',
|
package/template/src/index.jsx
CHANGED
|
@@ -11,7 +11,7 @@ import '@babel/polyfill/noConflict'
|
|
|
11
11
|
import { initWebConfig } from 'handlers/lifecycle'
|
|
12
12
|
const AppConfig = require('../webpack/miniprogram.config')
|
|
13
13
|
import { app } from './app/global-api'
|
|
14
|
-
import { redirectToLogin,
|
|
14
|
+
import { redirectToLogin, getAuthConfig, checkAnonymous, getLoginConfig } from './handlers/utils'
|
|
15
15
|
// app 中注册配置页面以及app的全局配置miniprogram.config,h5里分app以及web页分别处理,使用process.env.isApp 区分判断
|
|
16
16
|
if (process.env.isApp) {
|
|
17
17
|
initWebConfig(app, AppConfig);
|
|
@@ -25,8 +25,7 @@ WEDA_CLOUD_SDK.setConfig({
|
|
|
25
25
|
},
|
|
26
26
|
beforeCallFunction: async (params) => {
|
|
27
27
|
try{
|
|
28
|
-
const
|
|
29
|
-
|
|
28
|
+
const loginConfig = await getLoginConfig();
|
|
30
29
|
let skip = false;
|
|
31
30
|
switch (params?.data?.methodName) {
|
|
32
31
|
case 'callWedaApi': {
|
|
@@ -38,7 +37,7 @@ WEDA_CLOUD_SDK.setConfig({
|
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
// 后续做过滤处理
|
|
41
|
-
if (!
|
|
40
|
+
if (!(loginConfig.web?.length > 0) || (params?.data?.mode === 'c' && skip)) {
|
|
42
41
|
return params;
|
|
43
42
|
}
|
|
44
43
|
const { accessToken } = await auth.getAccessToken();
|
|
@@ -59,8 +58,8 @@ WEDA_CLOUD_SDK.setConfig({
|
|
|
59
58
|
},
|
|
60
59
|
async afterCallFunction(params, error, res) {
|
|
61
60
|
if(params?.data?.params?.action != 'DescribeRuntimeResourceStrategy' && ['InnerError.AuthFailure','InvalidAccessToken'].includes(res?.result?.code)) {
|
|
62
|
-
const
|
|
63
|
-
if (
|
|
61
|
+
const loginConfig = await getLoginConfig();
|
|
62
|
+
if (loginConfig.web?.length > 0) {
|
|
64
63
|
const authConfig = await getAuthConfig();
|
|
65
64
|
const isAnonymous = await checkAnonymous();
|
|
66
65
|
if (isAnonymous && authConfig.RejectStrategy == 'to_login') {
|