@fairys/taro-tools-react 1.0.30 → 1.0.32

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.
@@ -58,13 +58,12 @@ class GlobalMessageDataInstance extends ProxyInstanceObjectBase {
58
58
  const f = this.onBeforetToLoginPage();
59
59
  if (false === f) return;
60
60
  }
61
- const currentPath = taro.getCurrentInstance().router?.path || '';
62
61
  const loginPageRoute = globalSettingDataInstance.store.loginPageRoute || '';
63
62
  const isLoginPage = utils_navigate.isCurrentPage(loginPageRoute || '');
64
63
  const _loginPageRoute = `${loginPageRoute || ''}`.replace(/^\//, '');
65
64
  if (isLoginPage) return;
66
- utils_navigate.navigateTo({
67
- url: `/${_loginPageRoute}?redirect=${currentPath}`
65
+ taro.navigateTo({
66
+ url: `/${_loginPageRoute}`
68
67
  });
69
68
  };
70
69
  }
@@ -1,5 +1,7 @@
1
1
  import Taro from '@tarojs/taro';
2
2
  declare class NavigateInstance {
3
+ /**格式化路由,去掉查询参数*/
4
+ formateUrl: (url?: string) => string;
3
5
  /**判断是否已登录(方法需要在项目入口文件中进行挂载,如果不挂载,默认使用 authDataInstance.hasMenuPermission 判断是否有菜单权限)*/
4
6
  isAuth: (url: string) => Promise<boolean> | boolean;
5
7
  private _isAuth;
@@ -2,18 +2,20 @@ import taro from "@tarojs/taro";
2
2
  import { globalSettingDataInstance } from "../context/global.setting.data.instance.js";
3
3
  import { authDataInstance } from "../context/auth.data.instance.js";
4
4
  class NavigateInstance {
5
+ formateUrl = (url)=>`${url}`.split('?')?.[0] || '';
5
6
  isAuth;
6
7
  _isAuth = async (url)=>{
8
+ const _url = this.formateUrl(url);
7
9
  let isAuthTo = true;
8
- const isIgnoreAuthRoutes = globalSettingDataInstance.isIgnoreAuthRoutes(url);
10
+ const isIgnoreAuthRoutes = globalSettingDataInstance.isIgnoreAuthRoutes(_url);
9
11
  const useAuthHasMenuPermission = globalSettingDataInstance.store.useAuthHasMenuPermission;
10
12
  const isEnableAuth = globalSettingDataInstance.store.isEnableAuth;
11
13
  let isAuthFunction = this.isAuth;
12
14
  if (useAuthHasMenuPermission && 'function' != typeof isAuthFunction && isEnableAuth) isAuthFunction = authDataInstance.hasMenuPermission;
13
- if (url && 'function' == typeof isAuthFunction && !isIgnoreAuthRoutes && isEnableAuth) isAuthTo = await isAuthFunction(url);
15
+ if (_url && 'function' == typeof isAuthFunction && !isIgnoreAuthRoutes && isEnableAuth) isAuthTo = await isAuthFunction(_url);
14
16
  if (false === isAuthTo) {
15
17
  taro.showToast({
16
- title: `${url} \u{65E0}\u{6743}\u{8BBF}\u{95EE}`,
18
+ title: `${_url} \u{65E0}\u{6743}\u{8BBF}\u{95EE}`,
17
19
  icon: 'none'
18
20
  });
19
21
  return false;
@@ -21,8 +23,8 @@ class NavigateInstance {
21
23
  return true;
22
24
  };
23
25
  isCurrentPage = (route)=>{
24
- const _route = route.replace(/^\//, '');
25
- const currentPath = (taro.getCurrentInstance().router?.path || '').replace(/^\//, '');
26
+ const _route = this.formateUrl(route.replace(/^\//, ''));
27
+ const currentPath = this.formateUrl((taro.getCurrentInstance().router?.path || '').replace(/^\//, ''));
26
28
  return currentPath === _route;
27
29
  };
28
30
  switchTab = async (options)=>{
@@ -99,13 +99,12 @@ class GlobalMessageDataInstance extends instance_js_namespaceObject.ProxyInstanc
99
99
  const f = this.onBeforetToLoginPage();
100
100
  if (false === f) return;
101
101
  }
102
- const currentPath = taro_default().getCurrentInstance().router?.path || '';
103
102
  const loginPageRoute = external_global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.store.loginPageRoute || '';
104
103
  const isLoginPage = navigate_js_default().isCurrentPage(loginPageRoute || '');
105
104
  const _loginPageRoute = `${loginPageRoute || ''}`.replace(/^\//, '');
106
105
  if (isLoginPage) return;
107
- navigate_js_default().navigateTo({
108
- url: `/${_loginPageRoute}?redirect=${currentPath}`
106
+ taro_default().navigateTo({
107
+ url: `/${_loginPageRoute}`
109
108
  });
110
109
  };
111
110
  }
@@ -6,7 +6,7 @@ var __webpack_modules__ = {
6
6
  "./global.message.data.instance": function(module) {
7
7
  module.exports = require("./global.message.data.instance.js");
8
8
  },
9
- "context/global.setting.data.instance": function(module) {
9
+ "./global.setting.data.instance": function(module) {
10
10
  module.exports = require("./global.setting.data.instance.js");
11
11
  },
12
12
  "./page.data.instance": function(module) {
@@ -83,7 +83,7 @@ var __webpack_exports__ = {};
83
83
  return _auth_data_instance__WEBPACK_IMPORTED_MODULE_3__[key];
84
84
  }).bind(0, __WEBPACK_IMPORT_KEY__);
85
85
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
86
- var _global_setting_data_instance__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("context/global.setting.data.instance");
86
+ var _global_setting_data_instance__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./global.setting.data.instance");
87
87
  var __WEBPACK_REEXPORT_OBJECT__ = {};
88
88
  for(var __WEBPACK_IMPORT_KEY__ in _global_setting_data_instance__WEBPACK_IMPORTED_MODULE_4__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
89
89
  return _global_setting_data_instance__WEBPACK_IMPORTED_MODULE_4__[key];
@@ -1,5 +1,7 @@
1
1
  import Taro from '@tarojs/taro';
2
2
  declare class NavigateInstance {
3
+ /**格式化路由,去掉查询参数*/
4
+ formateUrl: (url?: string) => string;
3
5
  /**判断是否已登录(方法需要在项目入口文件中进行挂载,如果不挂载,默认使用 authDataInstance.hasMenuPermission 判断是否有菜单权限)*/
4
6
  isAuth: (url: string) => Promise<boolean> | boolean;
5
7
  private _isAuth;
@@ -41,18 +41,20 @@ var taro_default = /*#__PURE__*/ __webpack_require__.n(taro_namespaceObject);
41
41
  const global_setting_data_instance_js_namespaceObject = require("../context/global.setting.data.instance.js");
42
42
  const auth_data_instance_js_namespaceObject = require("../context/auth.data.instance.js");
43
43
  class NavigateInstance {
44
+ formateUrl = (url)=>`${url}`.split('?')?.[0] || '';
44
45
  isAuth;
45
46
  _isAuth = async (url)=>{
47
+ const _url = this.formateUrl(url);
46
48
  let isAuthTo = true;
47
- const isIgnoreAuthRoutes = global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.isIgnoreAuthRoutes(url);
49
+ const isIgnoreAuthRoutes = global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.isIgnoreAuthRoutes(_url);
48
50
  const useAuthHasMenuPermission = global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.store.useAuthHasMenuPermission;
49
51
  const isEnableAuth = global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.store.isEnableAuth;
50
52
  let isAuthFunction = this.isAuth;
51
53
  if (useAuthHasMenuPermission && 'function' != typeof isAuthFunction && isEnableAuth) isAuthFunction = auth_data_instance_js_namespaceObject.authDataInstance.hasMenuPermission;
52
- if (url && 'function' == typeof isAuthFunction && !isIgnoreAuthRoutes && isEnableAuth) isAuthTo = await isAuthFunction(url);
54
+ if (_url && 'function' == typeof isAuthFunction && !isIgnoreAuthRoutes && isEnableAuth) isAuthTo = await isAuthFunction(_url);
53
55
  if (false === isAuthTo) {
54
56
  taro_default().showToast({
55
- title: `${url} \u{65E0}\u{6743}\u{8BBF}\u{95EE}`,
57
+ title: `${_url} \u{65E0}\u{6743}\u{8BBF}\u{95EE}`,
56
58
  icon: 'none'
57
59
  });
58
60
  return false;
@@ -60,8 +62,8 @@ class NavigateInstance {
60
62
  return true;
61
63
  };
62
64
  isCurrentPage = (route)=>{
63
- const _route = route.replace(/^\//, '');
64
- const currentPath = (taro_default().getCurrentInstance().router?.path || '').replace(/^\//, '');
65
+ const _route = this.formateUrl(route.replace(/^\//, ''));
66
+ const currentPath = this.formateUrl((taro_default().getCurrentInstance().router?.path || '').replace(/^\//, ''));
65
67
  return currentPath === _route;
66
68
  };
67
69
  switchTab = async (options)=>{
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "author": "SunLxy <1011771396@qq.com>",
4
4
  "description": "框架组件库",
5
5
  "homepage": "https://github.com/autumn-fairy-tales/fairys-taro-react",
6
- "version": "1.0.30",
6
+ "version": "1.0.32",
7
7
  "main": "esm/index.js",
8
8
  "types": "esm/index.d.ts",
9
9
  "module": "esm/index.js",
@@ -101,9 +101,6 @@ export class GlobalMessageDataInstance extends ProxyInstanceObjectBase<GlobalMes
101
101
  return;
102
102
  }
103
103
  }
104
- // 当前路由
105
- const currentPath = Taro.getCurrentInstance().router?.path || '';
106
-
107
104
  const loginPageRoute = globalSettingDataInstance.store.loginPageRoute || '';
108
105
  const isLoginPage = navigate.isCurrentPage(loginPageRoute || '');
109
106
  const _loginPageRoute = `${loginPageRoute || ''}`.replace(/^\//, '');
@@ -112,7 +109,7 @@ export class GlobalMessageDataInstance extends ProxyInstanceObjectBase<GlobalMes
112
109
  return;
113
110
  }
114
111
  // 跳转登录页面
115
- navigate.navigateTo({ url: `/${_loginPageRoute}?redirect=${currentPath}` });
112
+ Taro.navigateTo({ url: `/${_loginPageRoute}` });
116
113
  };
117
114
  }
118
115
  /**
@@ -3,12 +3,19 @@ import { globalSettingDataInstance } from 'context/global.setting.data.instance'
3
3
  import { authDataInstance } from 'context/auth.data.instance';
4
4
 
5
5
  class NavigateInstance {
6
+ /**格式化路由,去掉查询参数*/
7
+ formateUrl = (url?: string) => {
8
+ return `${url}`.split('?')?.[0] || '';
9
+ };
10
+
6
11
  /**判断是否已登录(方法需要在项目入口文件中进行挂载,如果不挂载,默认使用 authDataInstance.hasMenuPermission 判断是否有菜单权限)*/
7
12
  public isAuth: (url: string) => Promise<boolean> | boolean;
13
+
8
14
  private _isAuth = async (url?: string) => {
15
+ const _url = this.formateUrl(url);
9
16
  let isAuthTo = true;
10
17
  // 判断是否跳转忽略权限校验的路由
11
- const isIgnoreAuthRoutes = globalSettingDataInstance.isIgnoreAuthRoutes(url);
18
+ const isIgnoreAuthRoutes = globalSettingDataInstance.isIgnoreAuthRoutes(_url);
12
19
  // 判断是否使用 authDataInstance中的hasMenuPermission 判断是否有菜单权限
13
20
  const useAuthHasMenuPermission = globalSettingDataInstance.store.useAuthHasMenuPermission;
14
21
  // 判断是否开启权限校验
@@ -17,13 +24,12 @@ class NavigateInstance {
17
24
  if (useAuthHasMenuPermission && typeof isAuthFunction !== 'function' && isEnableAuth) {
18
25
  isAuthFunction = authDataInstance.hasMenuPermission;
19
26
  }
20
-
21
- if (url && typeof isAuthFunction === 'function' && !isIgnoreAuthRoutes && isEnableAuth) {
22
- isAuthTo = await isAuthFunction(url);
27
+ if (_url && typeof isAuthFunction === 'function' && !isIgnoreAuthRoutes && isEnableAuth) {
28
+ isAuthTo = await isAuthFunction(_url);
23
29
  }
24
30
  if (isAuthTo === false) {
25
31
  // 无权访问页面
26
- Taro.showToast({ title: `${url} 无权访问`, icon: 'none' });
32
+ Taro.showToast({ title: `${_url} 无权访问`, icon: 'none' });
27
33
  return false;
28
34
  }
29
35
  return true;
@@ -34,8 +40,8 @@ class NavigateInstance {
34
40
  */
35
41
  isCurrentPage = (route: string) => {
36
42
  /**处理路由前缀*/
37
- const _route = route.replace(/^\//, '');
38
- const currentPath = (Taro.getCurrentInstance().router?.path || '').replace(/^\//, '');
43
+ const _route = this.formateUrl(route.replace(/^\//, ''));
44
+ const currentPath = this.formateUrl((Taro.getCurrentInstance().router?.path || '').replace(/^\//, ''));
39
45
  return currentPath === _route;
40
46
  };
41
47