@cloudbase/lowcode-builder 1.8.45 → 1.8.48
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/config/index.d.ts +1 -1
- package/lib/builder/config/index.js +1 -1
- package/lib/builder/core/index.js +13 -2
- package/lib/builder/h5/index.js +6 -5
- package/lib/builder/h5/webpack.d.ts +1 -2
- package/lib/builder/h5/webpack.js +1 -8
- package/lib/builder/mp/BuildContext.d.ts +8 -0
- package/lib/builder/mp/index.js +30 -15
- package/lib/builder/mp/lowcode.js +1 -1
- package/lib/builder/mp/materials.js +2 -1
- package/lib/builder/mp/mixMode.js +3 -3
- package/lib/builder/mp/mp_config.js +5 -4
- package/lib/builder/mp/wxml.d.ts +1 -1
- package/lib/builder/mp/wxml.js +102 -80
- package/lib/builder/service/webpack.d.ts +0 -7
- package/lib/builder/service/webpack.js +1 -191
- package/lib/builder/util/common.d.ts +1 -0
- package/lib/builder/util/common.js +12 -1
- package/lib/builder.web.js +1 -1
- package/package.json +5 -4
- package/template/html/index.html.ejs +3 -3
- package/template/mp/common/info/index.js +52 -8
- package/template/mp/common/info/index.wxml +29 -12
- package/template/mp/common/info/index.wxss +27 -10
- package/template/mp/common/util.js +18 -5
- package/template/mp/common/weapp-page.js +19 -1
- package/template/mp/package.json +2 -2
- package/dist/builder.web.js +0 -71
- package/template/.DS_Store +0 -0
- package/template/mp/.DS_Store +0 -0
- package/template/mp/common/.DS_Store +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/lowcode-builder",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.48",
|
|
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",
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
"dev:web:serve": "rm -rf dist && node ./webpack/scripts/web.pre.js && cross-env NODE_ENV=development webpack-dev-server --config ./webpack/web.config.js",
|
|
34
34
|
"dev:web": "rm -rf dist && node ./webpack/scripts/web.pre.js && cross-env NODE_ENV=development webpack --config ./webpack/web.config.js && node ./webpack/scripts/web.post.js",
|
|
35
35
|
"build:web": "rm -rf dist && node ./webpack/scripts/web.pre.js && cross-env NODE_ENV=production webpack --config ./webpack/web.config.js && node ./webpack/scripts/web.post.js",
|
|
36
|
-
"build:template": "./scripts/buildTemplate.sh"
|
|
36
|
+
"build:template": "./scripts/buildTemplate.sh",
|
|
37
|
+
"publish:web": "node ./scripts/publish.ide.js"
|
|
37
38
|
},
|
|
38
39
|
"bugs": {
|
|
39
40
|
"url": "https://github.com/TencentCloudBase/cloudbase-framework/issues"
|
|
@@ -41,8 +42,8 @@
|
|
|
41
42
|
"dependencies": {
|
|
42
43
|
"@babel/core": "7.21.4",
|
|
43
44
|
"@babel/preset-env": "7.21.4",
|
|
44
|
-
"@cloudbase/cals": "
|
|
45
|
-
"@cloudbase/lowcode-generator": "
|
|
45
|
+
"@cloudbase/cals": "workspace:^",
|
|
46
|
+
"@cloudbase/lowcode-generator": "workspace:^",
|
|
46
47
|
"axios": "^0.21.0",
|
|
47
48
|
"browserfs": "^1.4.3",
|
|
48
49
|
"browserify-zlib": "^0.2.0",
|
|
@@ -514,11 +514,11 @@
|
|
|
514
514
|
crossorigin="anonymous"
|
|
515
515
|
src="<%=
|
|
516
516
|
cdnEndpoints.cdngo
|
|
517
|
-
%>/lcap/lcap-resource-cdngo/-/release/_npm/@cloudbase/weda-cloud-sdk@1.0.
|
|
517
|
+
%>/lcap/lcap-resource-cdngo/-/release/_npm/@cloudbase/weda-cloud-sdk@1.0.47/dist/h5.browser.js"
|
|
518
518
|
></script>
|
|
519
519
|
<script
|
|
520
520
|
crossorigin
|
|
521
|
-
src="<%= cdnEndpoints.cdngo %>/lcap/lcap-resource-cdngo/-/release/_npm/acorn@8.0
|
|
521
|
+
src="<%= cdnEndpoints.cdngo %>/lcap/lcap-resource-cdngo/-/release/_npm/acorn@8.10.0/dist/acorn.js"
|
|
522
522
|
></script>
|
|
523
523
|
<script>
|
|
524
524
|
// zxing polifill
|
|
@@ -540,7 +540,7 @@
|
|
|
540
540
|
crossorigin
|
|
541
541
|
src="<%=
|
|
542
542
|
cdnEndpoints.cdngo
|
|
543
|
-
%>/lcap/lcap-resource-cdngo/-/0.1.4/_files/static/weda-render/main.
|
|
543
|
+
%>/lcap/lcap-resource-cdngo/-/0.1.4/_files/static/weda-render/main.8d5af6de1f01bbd759cc.bundle.js"
|
|
544
544
|
></script>
|
|
545
545
|
</body>
|
|
546
546
|
</html>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { redirectToLogin,
|
|
1
|
+
import { redirectToLogin, findStatusPage } from '../util';
|
|
2
2
|
|
|
3
3
|
Component({
|
|
4
4
|
/**
|
|
@@ -7,7 +7,17 @@ Component({
|
|
|
7
7
|
properties: {
|
|
8
8
|
type: String,
|
|
9
9
|
message: String,
|
|
10
|
-
toLogin: Boolean
|
|
10
|
+
toLogin: Boolean,
|
|
11
|
+
enableCustom: {
|
|
12
|
+
type: Boolean,
|
|
13
|
+
value: false
|
|
14
|
+
},
|
|
15
|
+
pageCodeContext: Object,
|
|
16
|
+
pageUUID: String,
|
|
17
|
+
error: {
|
|
18
|
+
type: Object,
|
|
19
|
+
value: null
|
|
20
|
+
}
|
|
11
21
|
},
|
|
12
22
|
|
|
13
23
|
/**
|
|
@@ -15,7 +25,7 @@ Component({
|
|
|
15
25
|
*/
|
|
16
26
|
data: {
|
|
17
27
|
message: '',
|
|
18
|
-
visible: false
|
|
28
|
+
visible: false,
|
|
19
29
|
},
|
|
20
30
|
|
|
21
31
|
/**
|
|
@@ -23,7 +33,7 @@ Component({
|
|
|
23
33
|
*/
|
|
24
34
|
methods: {
|
|
25
35
|
login() {
|
|
26
|
-
if(this.data.toLogin) {
|
|
36
|
+
if (this.data.toLogin) {
|
|
27
37
|
redirectToLogin()
|
|
28
38
|
} else {
|
|
29
39
|
getApp()?.app?.relaunchHome()
|
|
@@ -32,14 +42,48 @@ Component({
|
|
|
32
42
|
},
|
|
33
43
|
lifetimes: {
|
|
34
44
|
attached() {
|
|
35
|
-
this.
|
|
36
|
-
|
|
37
|
-
|
|
45
|
+
if (this.data.enableCustom) {
|
|
46
|
+
const status = findStatusPage();
|
|
47
|
+
const $page = this.data.pageCodeContext || getApp()?.app?.utils.getCurrentPage();
|
|
48
|
+
const uuid = this.data.pageUUID || $page.uuid;
|
|
49
|
+
if (status && status.id !== uuid) {
|
|
50
|
+
switch (this.data.type) {
|
|
51
|
+
case 'auth': {
|
|
52
|
+
getApp().app?.redirectTo({
|
|
53
|
+
pageId: status.id,
|
|
54
|
+
params: {
|
|
55
|
+
statusCode: "403",
|
|
56
|
+
sourcePageId: $page?.id,
|
|
57
|
+
sourcePageParams: $page?.dataset?.params,
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
case 'notfound': {
|
|
63
|
+
getApp().app?.redirectTo({
|
|
64
|
+
pageId: status.id,
|
|
65
|
+
params: {
|
|
66
|
+
statusCode: "404",
|
|
67
|
+
// path,
|
|
68
|
+
// sourcePageParams: query,
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 暂不启用 redirto login
|
|
78
|
+
*/
|
|
79
|
+
// this.setData({
|
|
80
|
+
// toLogin: findLoginPage()
|
|
81
|
+
// })
|
|
38
82
|
setTimeout(() => {
|
|
39
83
|
const data = {
|
|
40
84
|
visible: true
|
|
41
85
|
}
|
|
42
|
-
if(this.data.type === 'loading') {
|
|
86
|
+
if (this.data.type === 'loading') {
|
|
43
87
|
data.message = '登录鉴权中...'
|
|
44
88
|
}
|
|
45
89
|
this.setData(data)
|
|
@@ -1,14 +1,31 @@
|
|
|
1
|
-
<view
|
|
2
|
-
<view
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
<view class="wd-status" wx:if="{{visible}}">
|
|
2
|
+
<view style="transform: translateY(-20px);">
|
|
3
|
+
<view class="wd-status__img {{type === 'notfound'?'wd-status--notfound':''}}">
|
|
4
|
+
<view
|
|
5
|
+
class="icon"
|
|
6
|
+
wx:if="{{type !== 'loading'}}"
|
|
7
|
+
/>
|
|
8
|
+
<view wx:if="{{type === 'loading'}}" class="sp sp-circle"></view>
|
|
9
|
+
</view>
|
|
10
|
+
<view class="wd-status__content">
|
|
11
|
+
<view class="wd-status__title" style="text-align: center; margin-bottom: 5px; font-size: 28rpx; font-weight: 600;">
|
|
12
|
+
{{message}}
|
|
13
|
+
</view>
|
|
14
|
+
<view class="tea-status__detail" wx:if="{{error}}">
|
|
15
|
+
<view class="stack">
|
|
16
|
+
<view>
|
|
17
|
+
<text style="font-weight: 600; font-size:14px;">错误信息:</text>
|
|
18
|
+
<text user-select="true">{{error.message}}</text>
|
|
19
|
+
</view>
|
|
20
|
+
<!-- <view wx:if="{{error.stack}}">
|
|
21
|
+
<text style="font-weight: 600;">错误堆栈:</text>
|
|
22
|
+
<text>{{error.stack}}</text>
|
|
23
|
+
</view> -->
|
|
24
|
+
</view>
|
|
25
|
+
</view>
|
|
26
|
+
</view>
|
|
27
|
+
<view wx:if="{{type == 'auth'}}" class="wd-status__operate" style="display: flex;">
|
|
28
|
+
<button style="margin-top: 10px; width: 200rpx; border: 1px solid #DCDCDC; border-radius: 3px;" variant="outline" type="default" size="mini" plain="true" bind:tap="login">{{toLogin?'登录':'返回首页'}}</button>
|
|
29
|
+
</view>
|
|
9
30
|
</view>
|
|
10
|
-
<view class="text" id="message">
|
|
11
|
-
{{message}}
|
|
12
|
-
</view>
|
|
13
|
-
<button wx:if="{{type == 'auth' && toLogin}}" style="margin-top: 10px; width: 200rpx;" variant="outline" type="default" size="mini" plain="true" bind:tap="login">{{toLogin?'登录':'刷新'}}</button>
|
|
14
31
|
</view>
|
|
@@ -1,34 +1,39 @@
|
|
|
1
|
-
.
|
|
1
|
+
.wd-status {
|
|
2
2
|
position: fixed;
|
|
3
3
|
left:0;
|
|
4
|
-
top:0;
|
|
4
|
+
top: 0;
|
|
5
5
|
width: 100%;
|
|
6
6
|
display: flex;
|
|
7
7
|
justify-content: center;
|
|
8
8
|
align-items: center;
|
|
9
9
|
flex-direction: column;
|
|
10
10
|
height:100%;
|
|
11
|
-
padding:
|
|
11
|
+
padding: 40rpx;
|
|
12
12
|
}
|
|
13
|
-
.
|
|
13
|
+
.wd-status .wd-status__img {
|
|
14
14
|
width: 100%;
|
|
15
15
|
display: flex;
|
|
16
16
|
justify-content: center;
|
|
17
17
|
text-align: center;
|
|
18
|
-
margin-
|
|
19
|
-
margin-bottom: 50rpx;
|
|
18
|
+
margin-bottom: 10px;
|
|
20
19
|
}
|
|
21
20
|
|
|
22
|
-
.
|
|
23
|
-
|
|
21
|
+
.wd-status .wd-status__img > view.icon {
|
|
22
|
+
width: 120px;
|
|
23
|
+
height: 80px;
|
|
24
|
+
background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwIiBoZWlnaHQ9IjgwIiB2aWV3Qm94PSIwIDAgMTIwIDgwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMTkgOEg5OVYyM0gxMTNWMjVIMTA2VjI3VjMzVjQySDk5VjU4SDI1VjI1SDMzVjIzSDE5VjhaIiBmaWxsPSIjRUVFRUVFIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2JfNTQ2Ml84MjkyMikiPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU2LjE2MTcgNDQuNzI3Nkw1OS4wMDE0IDM0LjEyOTRINTQuMDA5NFYzMy4xMjk0SDU5LjI2OTRINjAuMDA5NEg2MC4zMDQ3TDU3LjEyNzYgNDQuOTg2NEw1Ni4xNjE3IDQ0LjcyNzZaTTYwLjU3MjYgMzIuMTI5NEg1OS41MzczTDYwLjkxMTggMjdMNjEuODc3NyAyNy4yNTg4TDYwLjU3MjYgMzIuMTI5NFpNNzAuMzEyNSAzNS45OTI5TDY3LjQ0OSAzMy4xMjk0SDY4LjUwOTRINjguODYzMkg3Ny4wMDk0VjM0LjEyOTRINjkuODYzMkw3MS43MjY3IDM1Ljk5MjlMNjYuNDMyIDQxLjI4NzdMNjUuNzI0OSA0MC41ODA1TDcwLjMxMjUgMzUuOTkyOVpNNjYuNDQ5IDMyLjEyOTRINjcuODYzMkw2Ni40MzIgMzAuNjk4Mkw2NS43MjQ5IDMxLjQwNTNMNjYuNDQ5IDMyLjEyOTRaTTUyLjMxNDMgMzEuNDA1M0w1MS42MDcyIDMwLjY5ODJMNDYuMzEyNSAzNS45OTI5TDQ4LjQ0OSAzOC4xMjk0SDQ5Ljg2MzJMNDcuNzI2NyAzNS45OTI5TDUyLjMxNDMgMzEuNDA1M1pNNTIuMzE0MyA0MC41ODA1TDUwLjg2MzIgMzkuMTI5NEg0OS40NDlMNTEuNjA3MiA0MS4yODc3TDUyLjMxNDMgNDAuNTgwNVoiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuOSIvPgo8L2c+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2JfNTQ2Ml84MjkyMikiPgo8cGF0aCBkPSJNMTkgOEg5OVYxNEgxOVY4WiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC45Ii8+CjwvZz4KPHBhdGggZD0iTTI0IDExSDIzIiBzdHJva2U9IndoaXRlIi8+CjxwYXRoIGQ9Ik0yOCAxMUgyNyIgc3Ryb2tlPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMzIgMTFIMzEiIHN0cm9rZT0id2hpdGUiLz4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjJfYl81NDYyXzgyOTIyKSI+CjxjaXJjbGUgY3g9Ijk5IiBjeT0iNTQiIHI9IjE1IiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfNTQ2Ml84MjkyMikiIGZpbGwtb3BhY2l0eT0iMC45Ii8+CjwvZz4KPHBhdGggZD0iTTk5IDQ3LjVWNTciIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1vcGFjaXR5PSIwLjkiLz4KPHBhdGggZD0iTTk5IDU5VjYwLjUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1vcGFjaXR5PSIwLjkiIHN0cm9rZS13aWR0aD0iMS41Ii8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIzX2JfNTQ2Ml84MjkyMikiPgo8ZyBmaWx0ZXI9InVybCgjZmlsdGVyNF9iXzU0NjJfODI5MjIpIj4KPHBhdGggZD0iTTM3LjcxMDIgNjhMNDAuMjgxMiA1NC4yODU3TDAuMDAxNDgzOTIgMzhMMzcuNzEwMiA2OFoiIGZpbGw9IiNDNUM1QzUiLz4KPC9nPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTM1LjE0NzcgNTcuNzE0M0wzNy43MTg4IDY4TDI4LjYzOTkgNjAuNzc3MUwzNS4xNDY3IDU3LjcxNDdMMC4wMTQxMDY4IDM4LjAwMzJMMC4wMTIwNzM1IDM4LjAwMTZMMC4wMTUxMjUzIDM4LjAwMjlMMzUuMTQ3NyA1Ny43MTQzWk0wLjAxMjA2MjEgMzguMDAxMUwwLjAxMTE5NjEgMzguMDAwOUwwLjAxMDAzNjUgMzhMMC4wMTIwNjIxIDM4LjAwMTFaIiBmaWxsPSIjRUVFRUVFIi8+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXI1X2JfNTQ2Ml84MjkyMikiPgo8cGF0aCBkPSJNMC4wMDk0NDUxOSAzOEwyMC41Nzc4IDY0LjU3MTRMMzUuMTQ3MSA1Ny43MTQzTDAuMDA5NDQ1MTkgMzhMNDAuMjg5MiA1NC4yODU3TDQ4Ljg1OTQgNTBMMC4wMDk0NDUxOSAzOFoiIGZpbGw9IiNEQ0RDREMiLz4KPC9nPgo8L2c+CjxkZWZzPgo8ZmlsdGVyIGlkPSJmaWx0ZXIwX2JfNTQ2Ml84MjkyMiIgeD0iNDIuMzEyNSIgeT0iMjMiIHdpZHRoPSIzOC42OTUzIiBoZWlnaHQ9IjI1Ljk4NjUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlR2F1c3NpYW5CbHVyIGluPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHN0ZERldmlhdGlvbj0iMiIvPgo8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9ImluIiByZXN1bHQ9ImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfNTQ2Ml84MjkyMiIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfNTQ2Ml84MjkyMiIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPGZpbHRlciBpZD0iZmlsdGVyMV9iXzU0NjJfODI5MjIiIHg9IjE1IiB5PSI0IiB3aWR0aD0iODgiIGhlaWdodD0iMTQiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlR2F1c3NpYW5CbHVyIGluPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHN0ZERldmlhdGlvbj0iMiIvPgo8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9ImluIiByZXN1bHQ9ImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfNTQ2Ml84MjkyMiIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfNTQ2Ml84MjkyMiIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPGZpbHRlciBpZD0iZmlsdGVyMl9iXzU0NjJfODI5MjIiIHg9Ijc4LjY2NjciIHk9IjMzLjY2NjciIHdpZHRoPSI0MC42NjY3IiBoZWlnaHQ9IjQwLjY2NjciIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KPGZlR2F1c3NpYW5CbHVyIGluPSJCYWNrZ3JvdW5kSW1hZ2VGaXgiIHN0ZERldmlhdGlvbj0iMi42NjY2NyIvPgo8ZmVDb21wb3NpdGUgaW4yPSJTb3VyY2VBbHBoYSIgb3BlcmF0b3I9ImluIiByZXN1bHQ9ImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfNTQ2Ml84MjkyMiIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfYmFja2dyb3VuZEJsdXJfNTQ2Ml84MjkyMiIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPGZpbHRlciBpZD0iZmlsdGVyM19iXzU0NjJfODI5MjIiIHg9Ii0yLjMyMzYzIiB5PSIzNS42NzY0IiB3aWR0aD0iNTMuNTA2NiIgaGVpZ2h0PSIzNC42NDczIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUdhdXNzaWFuQmx1ciBpbj0iQmFja2dyb3VuZEltYWdlRml4IiBzdGREZXZpYXRpb249IjEuMTYxODIiLz4KPGZlQ29tcG9zaXRlIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJpbiIgcmVzdWx0PSJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzU0NjJfODI5MjIiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzU0NjJfODI5MjIiIHJlc3VsdD0ic2hhcGUiLz4KPC9maWx0ZXI+CjxmaWx0ZXIgaWQ9ImZpbHRlcjRfYl81NDYyXzgyOTIyIiB4PSItMi4zMjM2MyIgeT0iMzUuNjc2NCIgd2lkdGg9IjQ0LjkyODUiIGhlaWdodD0iMzQuNjQ3MyIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVHYXVzc2lhbkJsdXIgaW49IkJhY2tncm91bmRJbWFnZUZpeCIgc3RkRGV2aWF0aW9uPSIxLjE2MTgyIi8+CjxmZUNvbXBvc2l0ZSBpbjI9IlNvdXJjZUFscGhhIiBvcGVyYXRvcj0iaW4iIHJlc3VsdD0iZWZmZWN0MV9iYWNrZ3JvdW5kQmx1cl81NDYyXzgyOTIyIi8+CjxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iZWZmZWN0MV9iYWNrZ3JvdW5kQmx1cl81NDYyXzgyOTIyIiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8ZmlsdGVyIGlkPSJmaWx0ZXI1X2JfNTQ2Ml84MjkyMiIgeD0iLTYuNjU4MzkiIHk9IjMxLjMzMzgiIHdpZHRoPSI2Mi4xODQiIGhlaWdodD0iMzkuOTAzOCIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVHYXVzc2lhbkJsdXIgaW49IkJhY2tncm91bmRJbWFnZUZpeCIgc3RkRGV2aWF0aW9uPSIzLjMzMzEiLz4KPGZlQ29tcG9zaXRlIGluMj0iU291cmNlQWxwaGEiIG9wZXJhdG9yPSJpbiIgcmVzdWx0PSJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzU0NjJfODI5MjIiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2JhY2tncm91bmRCbHVyXzU0NjJfODI5MjIiIHJlc3VsdD0ic2hhcGUiLz4KPC9maWx0ZXI+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl81NDYyXzgyOTIyIiB4MT0iOTcuNTQ4NCIgeTE9IjQyLjkxMyIgeDI9Ijk3LjU0ODQiIHkyPSI2Ny43NTc4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNDNUM1QzUiIHN0b3Atb3BhY2l0eT0iMC43Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0U3RTdFNyIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=")
|
|
24
25
|
}
|
|
25
26
|
|
|
26
|
-
.
|
|
27
|
+
.wd-status .wd-status__img.wd-status--notfound > view.icon {
|
|
28
|
+
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAABQCAMAAADlRUG7AAAA21BMVEUAAAARFhsTGB0SFhwTFhwRGBvHx8cSFxvExMTFxcUYGyARFhvFxcXFxcXFxcUTGBwUFhzFxcXFxcXFxcURFxy/v78SFh3GxsbDw8PGxsbPz8/GxsbFxcUSFh0SFh4RGhrKysru7u4YGBj////i4uLQ0NBZWVnf39/4+PjMzMzJyck8PDweHh7T09QAAADp6enx8fH7+/vb29vm5uZ3d3fFxcXBwcG3uLmysrKUlJTt7e0tLS3X19eLi4tKTFD19fWgoKEvMTVydXcQEhWpq6yBgoRYWl2GhoZoaGjBHIikAAAAIXRSTlMA3yCgYDAgv+9gEIKAv0BAz6CQcHAQ79+AUBDvz69QUDCqAbKDAAAC3ElEQVRo3uzTsQpCMQwFUH8lQpKhIVMoLUUQHPT/v8hG6ur0XlBfLjTDXU5pySmTyfxlzhvnN+DL+xwGPtYfw8ZJOOGEDwR/yTXCYdhJTDjhT3CtPrlfeRWthsBdy5woQwTBc1eKgFmKw2Vio3iBQ0Lgh9H0WK+AqjwL6iUCRgGHm1YYNgd0gRBY+oKxF9QGKBgCG8GCm6DDRBACK5kNMa5aDKo29kKG7Q7TjAgxq/hiMXtxE9oZXvhrnQby8jZ66mf7dbbcJgyFARgDYTF4ydJsXW3QaEk0IJiUqcdjx87y/o9UBCoUTwVFSXzFfyHB1Yd0BBK3P1zf92/SDhjcPz3dgfeDpxMHEJwQgAmNFq35CRZ90sHSlCGMgogGKMFSWk2UxydREAQJzBsaBwEKSXgU+BSgIA/mbZrwyxjDI8BngBUY5S0jAQ/C8MPhc8wKK4RFB7ZFt8XRB8OWg4Ii61XRJWl5mwJ1Mtu/bjavpt5e4JAz9VBTKO5pqMpudi/PWfZsLI0W2iJIQA9lt1qL+1hxyL/uH8VU68ZILruJcBCuehGiVOWXHa1rfCGXJyvBxFTA5A+cJAou5a6AuWzLYIdVcDXlIhFVgO8em6vaNv/tfqrGt1rXsHqRs92iCc9s2doKRdZAXDyEIpD0h/f7A1i71I8Cb7JD+Ov3jqmOkrapVocN8xiLSw7LX6ctKHtWv06u1iMyxp5JtghYfUCqBxDBVn/4wtCa0Zdj2fvEqiluTnk00fpnPDpwTKNzk8CouUlgV1OI5zUHLP9mWp8l2+IXBZYPuVHluddyEADs76GCuCy507/CYoy1NbaXJ/979EGkdPGNAirk+axkvUvvZNQuI44RVn1HYuJq6jHnI9sw8iZ/gHb5Gke5Bvkyw3mlGbyaam+K/s00Z3x9d8nWFY5QcaDH/FR9dqu9T7plbXrKf2Egodi5tpQAuWx3/T65vn/uWtqQIUOGDGnkN1enWD6JI9eiAAAAAElFTkSuQmCC")
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.wd-status .sp{
|
|
27
32
|
width: 48px;
|
|
28
33
|
height:48px;
|
|
29
34
|
}
|
|
30
35
|
|
|
31
|
-
.
|
|
36
|
+
.wd-status .sp-circle {
|
|
32
37
|
border: 6px rgba(0,82,217,0.25) solid;
|
|
33
38
|
border-top: 6px rgba(0,82,217,1) solid;
|
|
34
39
|
border-radius: 50%;
|
|
@@ -43,3 +48,15 @@
|
|
|
43
48
|
from { transform: rotate(0deg); }
|
|
44
49
|
to { transform: rotate(359deg); }
|
|
45
50
|
}
|
|
51
|
+
|
|
52
|
+
.stack {
|
|
53
|
+
display: block;
|
|
54
|
+
padding: 12px;
|
|
55
|
+
width: 100%;
|
|
56
|
+
white-space: pre-line;
|
|
57
|
+
word-break: break-all;
|
|
58
|
+
border-radius: 6px;
|
|
59
|
+
border: 1px solid #dcdcdc;
|
|
60
|
+
max-height: 350px;
|
|
61
|
+
overflow: scroll;
|
|
62
|
+
}
|
|
@@ -387,6 +387,12 @@ export function findLoginPage() {
|
|
|
387
387
|
return pages.find((item) => item.type === 'login');
|
|
388
388
|
}
|
|
389
389
|
|
|
390
|
+
export function findStatusPage() {
|
|
391
|
+
const { app } = getApp();
|
|
392
|
+
const { pages = [] } = app.__internal__.getConfig();
|
|
393
|
+
return pages.find((item) => item.type === 'status');
|
|
394
|
+
}
|
|
395
|
+
|
|
390
396
|
let _AUTH_CONFIG_CACHE = null;
|
|
391
397
|
|
|
392
398
|
export async function getAuthConfig() {
|
|
@@ -481,6 +487,10 @@ export async function checkAuth(app, appId, $page) {
|
|
|
481
487
|
if (loginPage?.id === $page.id) {
|
|
482
488
|
return true;
|
|
483
489
|
}
|
|
490
|
+
const status = findStatusPage(app);
|
|
491
|
+
if (status?.id === $page.id) {
|
|
492
|
+
return true;
|
|
493
|
+
}
|
|
484
494
|
wx.showNavigationBarLoading();
|
|
485
495
|
const requestList = [getAccessPermission(app, appId, $page.id)];
|
|
486
496
|
// 暂时先认为有登录页则自定义登录功能开启且生效
|
|
@@ -515,11 +525,14 @@ export async function checkAuth(app, appId, $page) {
|
|
|
515
525
|
}
|
|
516
526
|
return accessData?.isAccess;
|
|
517
527
|
} catch (e) {
|
|
518
|
-
app.
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
528
|
+
if(app.__internal__?.activePage?.id === $page.id) {
|
|
529
|
+
throw new Error(formatErrorMsg(e))
|
|
530
|
+
app.showModal({
|
|
531
|
+
title: '页面鉴权失败',
|
|
532
|
+
content: formatErrorMsg(e),
|
|
533
|
+
showCancel: false,
|
|
534
|
+
});
|
|
535
|
+
}
|
|
523
536
|
return false;
|
|
524
537
|
} finally {
|
|
525
538
|
wx.hideNavigationBarLoading();
|
|
@@ -101,11 +101,20 @@ export function createPage({
|
|
|
101
101
|
_isCheckingAtuh: false,
|
|
102
102
|
_expiredMessage: '',
|
|
103
103
|
weDaHasLogin: null,
|
|
104
|
+
loginError: null
|
|
104
105
|
},
|
|
105
106
|
lifetimes: {
|
|
106
107
|
attached() {
|
|
107
108
|
this._disposers = [];
|
|
108
109
|
const $page = this._getInstance();
|
|
110
|
+
const instance = $page.__internal__.mpInstance?.()
|
|
111
|
+
if( instance !== this ){
|
|
112
|
+
const currentMpInstance = this
|
|
113
|
+
$page.__internal__.mpInstance = () => {
|
|
114
|
+
console.warn('debug 获取当前 mp page 实例,禁止在生产环境使用');
|
|
115
|
+
return currentMpInstance
|
|
116
|
+
}
|
|
117
|
+
}
|
|
109
118
|
this._pageActive = true;
|
|
110
119
|
/**
|
|
111
120
|
* @deprecated
|
|
@@ -134,6 +143,10 @@ export function createPage({
|
|
|
134
143
|
},
|
|
135
144
|
detached() {
|
|
136
145
|
const $page = this._getInstance();
|
|
146
|
+
const instance = $page.__internal__.mpInstance?.()
|
|
147
|
+
if( instance === this ){
|
|
148
|
+
$page.__internal__.mpInstance = () => null
|
|
149
|
+
}
|
|
137
150
|
this._pageActive = false;
|
|
138
151
|
$page.__internal__.active = this._pageActive;
|
|
139
152
|
|
|
@@ -172,11 +185,16 @@ export function createPage({
|
|
|
172
185
|
weDaHasLogin: true,
|
|
173
186
|
});
|
|
174
187
|
createStateDataSourceVar($page.uuid, generateParamsParser({ app, $page, $w: $page.__internal__?.$w }));
|
|
175
|
-
}else {
|
|
188
|
+
} else {
|
|
176
189
|
this.setData({
|
|
177
190
|
weDaHasLogin: false,
|
|
178
191
|
});
|
|
179
192
|
}
|
|
193
|
+
} catch(e) {
|
|
194
|
+
this.setData({
|
|
195
|
+
weDaHasLogin: false,
|
|
196
|
+
loginError: { message: e.message }
|
|
197
|
+
});
|
|
180
198
|
} finally {
|
|
181
199
|
this.setData({ _isCheckingAtuh: false });
|
|
182
200
|
}
|
package/template/mp/package.json
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
"@cloudbase/js-sdk": "2.5.6-beta.1",<%
|
|
7
7
|
} %>
|
|
8
8
|
"@cloudbase/oauth": "0.1.1-alpha.5",
|
|
9
|
-
"@cloudbase/weda-client": "1.0.
|
|
10
|
-
"@cloudbase/weda-cloud-sdk": "1.0.
|
|
9
|
+
"@cloudbase/weda-client": "1.0.12",
|
|
10
|
+
"@cloudbase/weda-cloud-sdk": "1.0.46",
|
|
11
11
|
"mobx": "^5.15.4",
|
|
12
12
|
"lodash.get": "^4.4.2",
|
|
13
13
|
"lodash.set": "^4.3.2",
|