@smart100/spu-web-plugin 1.0.6 → 1.0.7

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.
@@ -1,4 +1,4 @@
1
- var version = "1.0.6";
1
+ var version = "1.0.7";
2
2
 
3
3
  /** Detect free variable `global` from Node.js. */
4
4
  var freeGlobal$2 = typeof global == 'object' && global && global.Object === Object && global;
@@ -16626,10 +16626,20 @@ function singleLogin(_x3) {
16626
16626
  }
16627
16627
  function _singleLogin() {
16628
16628
  _singleLogin = _asyncToGenerator$1( /*#__PURE__*/_regeneratorRuntime$1().mark(function _callee6(query) {
16629
- var flag, token, refreshtoken, tokenexpires, envname, context, isneedlogin, loginRole, refreshTokenUser, tokenUser, nowEnvname, envData;
16629
+ var flag, token, refreshtoken, tokenexpires, envname, context, setBaseInfo, isneedlogin, loginRole, refreshTokenUser, tokenUser, nowEnvname, envData;
16630
16630
  return _regeneratorRuntime$1().wrap(function _callee6$(_context6) {
16631
16631
  while (1) switch (_context6.prev = _context6.next) {
16632
16632
  case 0:
16633
+ setBaseInfo = function _setBaseInfo() {
16634
+ setToken(token);
16635
+ setUserByToken(token); // 解析token为用户信息存入
16636
+ refreshtoken ? setRefreshToken(refreshtoken) : removeRefreshToken();
16637
+ tokenexpires ? setTokenExpires(tokenexpires) : removeTokenExpires();
16638
+ envname ? setQueryEnvname(envname) : removeQueryEnvname();
16639
+ // context 上下文字段 产品运营中心安装 卸载 配置 和 产品配置中心业务配置 页面需要用到
16640
+ // web 端有传 app没传 需要做兼容
16641
+ context && lsProxy.setItem('context', decodeURIComponent(context));
16642
+ };
16633
16643
  query = cloneDeep$1(query);
16634
16644
  flag = false; // 是否登录成功
16635
16645
  token = query.token;
@@ -16638,7 +16648,7 @@ function _singleLogin() {
16638
16648
  envname = query.envname;
16639
16649
  context = query.context;
16640
16650
  if (!checkLoginByToken(token)) {
16641
- _context6.next = 52;
16651
+ _context6.next = 48;
16642
16652
  break;
16643
16653
  }
16644
16654
  isneedlogin = true; // 是否需要走单点登录流程
@@ -16660,17 +16670,10 @@ function _singleLogin() {
16660
16670
  // isneedlogin = true
16661
16671
  // debugger
16662
16672
  if (!isneedlogin) {
16663
- _context6.next = 50;
16673
+ _context6.next = 46;
16664
16674
  break;
16665
16675
  }
16666
- setToken(token);
16667
- setUserByToken(token); // 解析token为用户信息存入
16668
- refreshtoken ? setRefreshToken(refreshtoken) : removeRefreshToken();
16669
- tokenexpires ? setTokenExpires(tokenexpires) : removeTokenExpires();
16670
- envname ? setQueryEnvname(envname) : removeQueryEnvname();
16671
- // context 上下文字段 产品运营中心安装 卸载 配置 和 产品配置中心业务配置 页面需要用到
16672
- // web 端有传 app没传 需要做兼容
16673
- context && lsProxy.setItem('context', decodeURIComponent(context));
16676
+ setBaseInfo();
16674
16677
  // 单点登录写入 token 之后 换取完整的 refreshtoken
16675
16678
  try {
16676
16679
  if (checkLogin()) {
@@ -16684,36 +16687,42 @@ function _singleLogin() {
16684
16687
  console.error(err);
16685
16688
  }
16686
16689
  // 获取环境信息和租户配置信息
16687
- _context6.next = 21;
16690
+ _context6.next = 17;
16688
16691
  return getEnvname();
16689
- case 21:
16692
+ case 17:
16690
16693
  nowEnvname = _context6.sent;
16691
16694
  if (!nowEnvname) {
16692
- _context6.next = 42;
16695
+ _context6.next = 38;
16693
16696
  break;
16694
16697
  }
16695
- _context6.next = 25;
16698
+ _context6.next = 21;
16696
16699
  return requestEnvdata(nowEnvname);
16697
- case 25:
16700
+ case 21:
16698
16701
  envData = _context6.sent;
16699
16702
  if (!envData) {
16700
- _context6.next = 38;
16703
+ _context6.next = 34;
16701
16704
  break;
16702
16705
  }
16703
16706
  saveEnvdata(envData);
16704
16707
  if (!envData.tenantcode) {
16705
- _context6.next = 34;
16708
+ _context6.next = 30;
16706
16709
  break;
16707
16710
  }
16708
16711
  setTecode(envData.tenantcode);
16709
16712
  // 租户配置
16710
- _context6.next = 32;
16713
+ _context6.next = 28;
16711
16714
  return requestAndSetTenantSetting(envData.tenantcode);
16715
+ case 28:
16716
+ _context6.next = 32;
16717
+ break;
16718
+ case 30:
16719
+ removeTenantSetting();
16720
+ removeTecode();
16712
16721
  case 32:
16713
16722
  _context6.next = 36;
16714
16723
  break;
16715
16724
  case 34:
16716
- removeTenantSetting();
16725
+ removeEnvdata();
16717
16726
  removeTecode();
16718
16727
  case 36:
16719
16728
  _context6.next = 40;
@@ -16722,47 +16731,43 @@ function _singleLogin() {
16722
16731
  removeEnvdata();
16723
16732
  removeTecode();
16724
16733
  case 40:
16725
- _context6.next = 44;
16726
- break;
16727
- case 42:
16728
- removeEnvdata();
16729
- removeTecode();
16730
- case 44:
16731
- _context6.next = 46;
16734
+ _context6.next = 42;
16732
16735
  return getAndSetTenant();
16733
- case 46:
16734
- _context6.next = 48;
16736
+ case 42:
16737
+ _context6.next = 44;
16735
16738
  return getAndSetUserInfo();
16736
- case 48:
16739
+ case 44:
16737
16740
  // 单点登录后 获取 web 开发者模式 如果是则设置 isdebugger
16738
16741
  urlquery.dealWebDebugger();
16739
16742
  flag = true;
16740
- case 50:
16741
- _context6.next = 54;
16743
+ case 46:
16744
+ _context6.next = 51;
16742
16745
  break;
16743
- case 52:
16746
+ case 48:
16744
16747
  flag = false;
16745
- console.error('没传 token 或所传 token 已过期,无法单点登录。');
16746
- case 54:
16748
+ setBaseInfo(); // 传递的token过期依然写入 如果不写入的话 有可能之前的token本来没过期 页面依然可用
16749
+ console.error('单点登录失败,请检查链接所传 token/refreshtoken/tokenexpires 是否非法或过期。');
16750
+ case 51:
16747
16751
  if (!flag) {
16748
- _context6.next = 57;
16752
+ _context6.next = 54;
16749
16753
  break;
16750
16754
  }
16751
- _context6.next = 57;
16755
+ _context6.next = 54;
16752
16756
  return core$1.initGetData();
16753
- case 57:
16754
- // 单点登录后 无论是否成功 都需要删除 query 中相关参数
16755
- token && delete query.token;
16756
- refreshtoken && delete query.refreshtoken;
16757
- tokenexpires && delete query.tokenexpires;
16758
- envname && delete query.envname;
16759
- context && delete query.context;
16760
- // debugger
16757
+ case 54:
16758
+ if (flag) {
16759
+ // 单点登录成功 需要删除 query 中相关参数
16760
+ token && delete query.token;
16761
+ refreshtoken && delete query.refreshtoken;
16762
+ tokenexpires && delete query.tokenexpires;
16763
+ envname && delete query.envname;
16764
+ context && delete query.context;
16765
+ }
16761
16766
  return _context6.abrupt("return", {
16762
16767
  flag: flag,
16763
16768
  query: query
16764
16769
  });
16765
- case 63:
16770
+ case 56:
16766
16771
  case "end":
16767
16772
  return _context6.stop();
16768
16773
  }
@@ -16780,7 +16785,7 @@ function installAuth(options) {
16780
16785
  while (1) switch (_context2.prev = _context2.next) {
16781
16786
  case 0:
16782
16787
  if (!to.query.token) {
16783
- _context2.next = 7;
16788
+ _context2.next = 8;
16784
16789
  break;
16785
16790
  }
16786
16791
  _context2.next = 3;
@@ -16794,14 +16799,14 @@ function installAuth(options) {
16794
16799
  query: singleLoginRes.query
16795
16800
  });
16796
16801
  } else {
16797
- console.error('单点登录失败,请检查链接所传 token 是否非法或过期。');
16798
16802
  next();
16799
16803
  }
16800
- _context2.next = 8;
16804
+ options.singleLoginCallback && options.singleLoginCallback(singleLoginRes);
16805
+ _context2.next = 9;
16801
16806
  break;
16802
- case 7:
16803
- next();
16804
16807
  case 8:
16808
+ next();
16809
+ case 9:
16805
16810
  case "end":
16806
16811
  return _context2.stop();
16807
16812
  }
@@ -68973,6 +68978,7 @@ var getDefaultGlobalOptions = function getDefaultGlobalOptions() {
68973
68978
  modulekey: arr[1] || '',
68974
68979
  moduleversion: arr[2] || '',
68975
68980
  storageproxyprefix: '',
68981
+ singleLoginCallback: null,
68976
68982
  router: null
68977
68983
  };
68978
68984
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smart100/spu-web-plugin",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "dev": "npm run build:types && rollup -c -w",
package/src/index.ts CHANGED
@@ -42,6 +42,7 @@ const getDefaultGlobalOptions = () => {
42
42
  modulekey: arr[1] || '',
43
43
  moduleversion: arr[2] || '',
44
44
  storageproxyprefix: '',
45
+ singleLoginCallback: null,
45
46
  router: null
46
47
  }
47
48
  }
package/src/login.ts CHANGED
@@ -490,6 +490,17 @@ async function singleLogin(query: IAny) {
490
490
  const envname = query.envname
491
491
  const context = query.context
492
492
 
493
+ function setBaseInfo() {
494
+ setToken(token)
495
+ setUserByToken(token) // 解析token为用户信息存入
496
+ refreshtoken ? setRefreshToken(refreshtoken) : removeRefreshToken()
497
+ tokenexpires ? setTokenExpires(tokenexpires) : removeTokenExpires()
498
+ envname ? setQueryEnvname(envname) : removeQueryEnvname()
499
+ // context 上下文字段 产品运营中心安装 卸载 配置 和 产品配置中心业务配置 页面需要用到
500
+ // web 端有传 app没传 需要做兼容
501
+ context && lsProxy.setItem('context', decodeURIComponent(context))
502
+ }
503
+
493
504
  if (checkLoginByToken(token)) {
494
505
  let isneedlogin = true // 是否需要走单点登录流程
495
506
  const loginRole = getRoleByToken(token)
@@ -517,16 +528,7 @@ async function singleLogin(query: IAny) {
517
528
  // debugger
518
529
 
519
530
  if (isneedlogin) {
520
- setToken(token)
521
- setUserByToken(token) // 解析token为用户信息存入
522
-
523
- refreshtoken ? setRefreshToken(refreshtoken) : removeRefreshToken()
524
- tokenexpires ? setTokenExpires(tokenexpires) : removeTokenExpires()
525
- envname ? setQueryEnvname(envname) : removeQueryEnvname()
526
-
527
- // context 上下文字段 产品运营中心安装 卸载 配置 和 产品配置中心业务配置 页面需要用到
528
- // web 端有传 app没传 需要做兼容
529
- context && lsProxy.setItem('context', decodeURIComponent(context))
531
+ setBaseInfo()
530
532
 
531
533
  // 单点登录写入 token 之后 换取完整的 refreshtoken
532
534
  try {
@@ -575,7 +577,8 @@ async function singleLogin(query: IAny) {
575
577
  }
576
578
  } else {
577
579
  flag = false
578
- console.error('没传 token 或所传 token 已过期,无法单点登录。')
580
+ setBaseInfo() // 传递的token过期依然写入 如果不写入的话 有可能之前的token本来没过期 页面依然可用
581
+ console.error('单点登录失败,请检查链接所传 token/refreshtoken/tokenexpires 是否非法或过期。')
579
582
  }
580
583
 
581
584
  // 登录成功之后 获取spu信息
@@ -583,14 +586,14 @@ async function singleLogin(query: IAny) {
583
586
  await core.initGetData()
584
587
  }
585
588
 
586
- // 单点登录后 无论是否成功 都需要删除 query 中相关参数
587
- token && delete query.token
588
- refreshtoken && delete query.refreshtoken
589
- tokenexpires && delete query.tokenexpires
590
- envname && delete query.envname
591
- context && delete query.context
592
-
593
- // debugger
589
+ if (flag) {
590
+ // 单点登录成功 需要删除 query 中相关参数
591
+ token && delete query.token
592
+ refreshtoken && delete query.refreshtoken
593
+ tokenexpires && delete query.tokenexpires
594
+ envname && delete query.envname
595
+ context && delete query.context
596
+ }
594
597
 
595
598
  return {
596
599
  flag,
@@ -617,9 +620,9 @@ function installAuth(options: any) {
617
620
  query: singleLoginRes.query
618
621
  })
619
622
  } else {
620
- console.error('单点登录失败,请检查链接所传 token 是否非法或过期。')
621
623
  next()
622
624
  }
625
+ options.singleLoginCallback && options.singleLoginCallback(singleLoginRes)
623
626
  } else {
624
627
  next()
625
628
  }