@cloudbase/lowcode-builder 1.8.83 → 1.8.84

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/lowcode-builder",
3
- "version": "1.8.83",
3
+ "version": "1.8.84",
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",
@@ -8,6 +8,8 @@ import lodashGet from 'lodash.get';
8
8
  import lodashSet from 'lodash.set';
9
9
  import { getWedaAPI } from '@cloudbase/weda-client'
10
10
 
11
+ let LOGIN_CONFIG = <%= customLoginConfig %>
12
+
11
13
  /**
12
14
  * Convert abcWordSnd -> abc-word-snd
13
15
  */
@@ -519,7 +521,12 @@ export function formatErrorMsg(e) {
519
521
  export async function checkAuth(app, appId, $page) {
520
522
  <% if(skipCheckAuth){ %> return true <% } %>
521
523
 
524
+ const loginConfig = await getLoginConfig();
525
+ const hasPhoneLoginType = loginConfig?.miniprogram?.find(v => v.type === 'miniprogram_phone');
526
+ const hasOpenIdLoginType = loginConfig?.miniprogram?.find(v => v.type === 'openid_login');
527
+
522
528
  const loginPage = findLoginPage(app);
529
+ const judgePhoneLogin = loginPage && hasPhoneLoginType;
523
530
  const loginPageUUID = loginPage?.uuid || loginPage?.id
524
531
  const currentUUID = $page.uuid || $page.id
525
532
  if (loginPageUUID === currentUUID) {
@@ -532,35 +539,49 @@ export async function checkAuth(app, appId, $page) {
532
539
  wx.showNavigationBarLoading();
533
540
  const requestList = [getAccessPermission(app, appId, $page.__internal__.packageName, $page.id)];
534
541
  // 暂时先认为有登录页则自定义登录功能开启且生效
535
- if (loginPage) {
542
+ if (judgePhoneLogin || hasOpenIdLoginType) {
536
543
  requestList.push(getAuthConfig(app));
537
544
  }
538
545
  try {
539
546
  const [accessData, authConfig] = await Promise.all(requestList);
540
547
 
541
548
  const isAnonymousUser = await checkAnonymous();
542
-
549
+ // 如果当前页面匿名用户无权限访问
543
550
  if (!accessData?.isAccess) {
544
- if (isAnonymousUser && loginPage && (authConfig.NeedLogin || authConfig.RejectStrategy == 'to_login')) {
545
- redirectToLogin($page);
551
+ // 当前匿名情况下,且需要登录后访问应用
552
+ if (isAnonymousUser && (authConfig?.NeedLogin || authConfig?.RejectStrategy == 'to_login')) {
553
+ // 开启了手机号授权登录,则判断是否跳转到登录页面
554
+ if (judgePhoneLogin) {
555
+ redirectToLogin($page);
556
+ } else if (hasOpenIdLoginType){
557
+ // 开启了openId静默登录,则进行openid登录
558
+ return await app.cloud.openIdLoginInWxApp();
559
+ }
546
560
  } else {
547
561
  app.showToast({
548
562
  title: ['-2', '-4'].includes(accessData?.roleId) ? '默认访客无权限' : '页面无访问权限',
549
563
  icon: 'error',
550
564
  });
551
565
  }
552
- } else if (loginPage && authConfig.NeedLogin) {
553
- // 此分支逻辑本不应该前端判断是否登录,历史原因后端短期内搞不定,后续后端优化后删除
554
- try {
555
- if (isAnonymousUser) {
566
+ } else if (authConfig?.NeedLogin) {
567
+ // 如果当前页面匿名用户有权限访问,且需要登录后访问应用,则按配置进行登录
568
+ if (judgePhoneLogin) {
569
+ // 此分支逻辑本不应该前端判断是否登录,历史原因后端短期内搞不定,后续后端优化后删除
570
+ try {
571
+ if (isAnonymousUser) {
572
+ redirectToLogin($page);
573
+ return false;
574
+ }
575
+ } catch (e) {
556
576
  redirectToLogin($page);
557
577
  return false;
558
578
  }
559
- } catch (e) {
560
- redirectToLogin($page);
561
- return false;
579
+ } else if (hasOpenIdLoginType) {
580
+ // openId静默登录
581
+ return await app.cloud.openIdLoginInWxApp();;
562
582
  }
563
583
  }
584
+
564
585
  return accessData?.isAccess;
565
586
  } catch (e) {
566
587
  if(app.__internal__?.activePage?.id === $page.id) {
@@ -871,7 +892,6 @@ export function reportEvent(tag) {
871
892
  } catch (e) {}
872
893
  }
873
894
 
874
- let LOGIN_CONFIG = <%= customLoginConfig %>
875
895
  export async function getLoginConfig() {
876
896
  <% if(loginConfigPathname){ %>
877
897
  const { staticResourceDomain, loginConfigVersion, id } = app.__internal__?.getConfig() || {};
@@ -5,8 +5,8 @@
5
5
  "dependencies": {<% if(importJSSDK) {%>
6
6
  "@cloudbase/js-sdk": "2.5.6-beta.1",<% } %>
7
7
  "@cloudbase/oauth": "0.1.1-alpha.5",
8
- "@cloudbase/weda-client": "1.0.22",
9
- "@cloudbase/weda-cloud-sdk": "1.0.56",
8
+ "@cloudbase/weda-client": "1.0.23",
9
+ "@cloudbase/weda-cloud-sdk": "1.0.57",
10
10
  "mobx": "^5.15.4",
11
11
  "lodash.get": "^4.4.2",
12
12
  "lodash.set": "^4.3.2",
@@ -129,6 +129,6 @@ Component({
129
129
  const config = settingData || this.data.settingData
130
130
  return !!config.miniprogram.find(function (item) { return item.type === 'miniprogram_phone' }
131
131
  )
132
- }
132
+ },
133
133
  }
134
134
  })