@fairys/taro-tools-react 1.0.4 → 1.0.6

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.
Files changed (50) hide show
  1. package/esm/context/auth.data.instance.d.ts +3 -3
  2. package/esm/context/auth.data.instance.js +6 -6
  3. package/esm/context/global.data.instance.d.ts +4 -0
  4. package/esm/context/global.data.instance.js +5 -0
  5. package/esm/context/page.info.data.instance.d.ts +1 -1
  6. package/lib/components/EnterLoading/index.d.ts +14 -0
  7. package/lib/components/EnterLoading/index.js +112 -0
  8. package/lib/components/MainPage/index.d.ts +10 -0
  9. package/lib/components/MainPage/index.js +102 -0
  10. package/lib/components/Mesage/index.d.ts +48 -0
  11. package/lib/components/Mesage/index.js +172 -0
  12. package/lib/components/Portal/index.d.ts +8 -0
  13. package/lib/components/Portal/index.js +45 -0
  14. package/lib/components/Toast/index.d.ts +1 -0
  15. package/lib/components/Toast/index.js +54 -0
  16. package/lib/components/connectToastMessage/index.d.ts +10 -0
  17. package/lib/components/connectToastMessage/index.js +62 -0
  18. package/lib/components/index.d.ts +6 -0
  19. package/lib/components/index.js +105 -0
  20. package/lib/context/auth.data.instance.d.ts +81 -0
  21. package/lib/context/auth.data.instance.js +155 -0
  22. package/lib/context/global.data.instance.d.ts +54 -0
  23. package/lib/context/global.data.instance.js +122 -0
  24. package/lib/context/global.setting.data.instance.d.ts +56 -0
  25. package/lib/context/global.setting.data.instance.js +79 -0
  26. package/lib/context/index.d.ts +5 -0
  27. package/lib/context/index.js +96 -0
  28. package/lib/context/page.data.instance.d.ts +151 -0
  29. package/lib/context/page.data.instance.js +382 -0
  30. package/lib/context/page.info.data.instance.d.ts +93 -0
  31. package/lib/context/page.info.data.instance.js +226 -0
  32. package/lib/index.d.ts +3 -0
  33. package/lib/styles/index.css +715 -0
  34. package/lib/utils/index.d.ts +4 -0
  35. package/lib/utils/index.js +87 -0
  36. package/lib/utils/navigate.d.ts +109 -0
  37. package/lib/utils/navigate.js +99 -0
  38. package/lib/utils/request.d.ts +179 -0
  39. package/lib/utils/request.js +358 -0
  40. package/lib/utils/useId.d.ts +2 -0
  41. package/lib/utils/useId.js +50 -0
  42. package/lib/utils/valtio/index.d.ts +9 -0
  43. package/lib/utils/valtio/index.js +99 -0
  44. package/lib/utils/valtio/instance.d.ts +17 -0
  45. package/lib/utils/valtio/instance.js +80 -0
  46. package/package.json +4 -3
  47. package/src/context/auth.data.instance.ts +6 -6
  48. package/src/context/global.data.instance.ts +11 -0
  49. package/src/context/page.info.data.instance.tsx +1 -1
  50. package/src/utils/navigate.ts +1 -0
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export interface ConnectToastMessageOptions {
3
+ /**
4
+ * 是否是根页面,
5
+ * 在 h5 中,只有入口文件才需要展示 message 组件 和 toast 组件
6
+ * 在微信中,所有页面都需要展示 message 组件 和 toast 组件, 入口文件不展示
7
+ */
8
+ isRoot?: boolean;
9
+ }
10
+ export declare const connectToastMessage: (Component: React.FC, options?: ConnectToastMessageOptions) => (props: any) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ connectToastMessage: ()=>connectToastMessage
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const index_js_namespaceObject = require("../Mesage/index.js");
31
+ const external_Toast_index_js_namespaceObject = require("../Toast/index.js");
32
+ const external_react_namespaceObject = require("react");
33
+ const connectToastMessage = (Component, options = {})=>{
34
+ const { isRoot = false } = options;
35
+ return (props)=>{
36
+ if ('weapp' === process.env.TARO_ENV) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_react_namespaceObject.Fragment, {
37
+ children: [
38
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, {
39
+ ...props
40
+ }),
41
+ isRoot ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_namespaceObject.Fragment, {}) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Toast_index_js_namespaceObject.FairysTaroToast, {}),
42
+ isRoot ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_namespaceObject.Fragment, {}) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.FairysTaroPortalMessage, {})
43
+ ]
44
+ });
45
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_react_namespaceObject.Fragment, {
46
+ children: [
47
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, {
48
+ ...props
49
+ }),
50
+ isRoot ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Toast_index_js_namespaceObject.FairysTaroToast, {}) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_namespaceObject.Fragment, {}),
51
+ isRoot ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_js_namespaceObject.FairysTaroPortalMessage, {}) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_namespaceObject.Fragment, {})
52
+ ]
53
+ });
54
+ };
55
+ };
56
+ exports.connectToastMessage = __webpack_exports__.connectToastMessage;
57
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
58
+ "connectToastMessage"
59
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
60
+ Object.defineProperty(exports, '__esModule', {
61
+ value: true
62
+ });
@@ -0,0 +1,6 @@
1
+ export * from './EnterLoading';
2
+ export * from './Portal';
3
+ export * from './Mesage';
4
+ export * from './Toast';
5
+ export * from './connectToastMessage';
6
+ export * from './MainPage';
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __webpack_modules__ = {
3
+ "./EnterLoading": function(module) {
4
+ module.exports = require("./EnterLoading/index.js");
5
+ },
6
+ "./MainPage": function(module) {
7
+ module.exports = require("./MainPage/index.js");
8
+ },
9
+ "./Mesage": function(module) {
10
+ module.exports = require("./Mesage/index.js");
11
+ },
12
+ "./Portal": function(module) {
13
+ module.exports = require("./Portal/index.js");
14
+ },
15
+ "./Toast": function(module) {
16
+ module.exports = require("./Toast/index.js");
17
+ },
18
+ "./connectToastMessage": function(module) {
19
+ module.exports = require("./connectToastMessage/index.js");
20
+ }
21
+ };
22
+ var __webpack_module_cache__ = {};
23
+ function __webpack_require__(moduleId) {
24
+ var cachedModule = __webpack_module_cache__[moduleId];
25
+ if (void 0 !== cachedModule) return cachedModule.exports;
26
+ var module = __webpack_module_cache__[moduleId] = {
27
+ exports: {}
28
+ };
29
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
30
+ return module.exports;
31
+ }
32
+ (()=>{
33
+ __webpack_require__.n = (module)=>{
34
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
35
+ __webpack_require__.d(getter, {
36
+ a: getter
37
+ });
38
+ return getter;
39
+ };
40
+ })();
41
+ (()=>{
42
+ __webpack_require__.d = (exports1, definition)=>{
43
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
44
+ enumerable: true,
45
+ get: definition[key]
46
+ });
47
+ };
48
+ })();
49
+ (()=>{
50
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
51
+ })();
52
+ (()=>{
53
+ __webpack_require__.r = (exports1)=>{
54
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
55
+ value: 'Module'
56
+ });
57
+ Object.defineProperty(exports1, '__esModule', {
58
+ value: true
59
+ });
60
+ };
61
+ })();
62
+ var __webpack_exports__ = {};
63
+ (()=>{
64
+ __webpack_require__.r(__webpack_exports__);
65
+ var _EnterLoading__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("./EnterLoading");
66
+ var __WEBPACK_REEXPORT_OBJECT__ = {};
67
+ for(var __WEBPACK_IMPORT_KEY__ in _EnterLoading__WEBPACK_IMPORTED_MODULE_0__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
68
+ return _EnterLoading__WEBPACK_IMPORTED_MODULE_0__[key];
69
+ }).bind(0, __WEBPACK_IMPORT_KEY__);
70
+ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
71
+ var _Portal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("./Portal");
72
+ var __WEBPACK_REEXPORT_OBJECT__ = {};
73
+ for(var __WEBPACK_IMPORT_KEY__ in _Portal__WEBPACK_IMPORTED_MODULE_1__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
74
+ return _Portal__WEBPACK_IMPORTED_MODULE_1__[key];
75
+ }).bind(0, __WEBPACK_IMPORT_KEY__);
76
+ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
77
+ var _Mesage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./Mesage");
78
+ var __WEBPACK_REEXPORT_OBJECT__ = {};
79
+ for(var __WEBPACK_IMPORT_KEY__ in _Mesage__WEBPACK_IMPORTED_MODULE_2__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
80
+ return _Mesage__WEBPACK_IMPORTED_MODULE_2__[key];
81
+ }).bind(0, __WEBPACK_IMPORT_KEY__);
82
+ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
83
+ var _Toast__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./Toast");
84
+ var __WEBPACK_REEXPORT_OBJECT__ = {};
85
+ for(var __WEBPACK_IMPORT_KEY__ in _Toast__WEBPACK_IMPORTED_MODULE_3__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
86
+ return _Toast__WEBPACK_IMPORTED_MODULE_3__[key];
87
+ }).bind(0, __WEBPACK_IMPORT_KEY__);
88
+ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
89
+ var _connectToastMessage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("./connectToastMessage");
90
+ var __WEBPACK_REEXPORT_OBJECT__ = {};
91
+ for(var __WEBPACK_IMPORT_KEY__ in _connectToastMessage__WEBPACK_IMPORTED_MODULE_4__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
92
+ return _connectToastMessage__WEBPACK_IMPORTED_MODULE_4__[key];
93
+ }).bind(0, __WEBPACK_IMPORT_KEY__);
94
+ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
95
+ var _MainPage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("./MainPage");
96
+ var __WEBPACK_REEXPORT_OBJECT__ = {};
97
+ for(var __WEBPACK_IMPORT_KEY__ in _MainPage__WEBPACK_IMPORTED_MODULE_5__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
98
+ return _MainPage__WEBPACK_IMPORTED_MODULE_5__[key];
99
+ }).bind(0, __WEBPACK_IMPORT_KEY__);
100
+ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
101
+ })();
102
+ for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
103
+ Object.defineProperty(exports, '__esModule', {
104
+ value: true
105
+ });
@@ -0,0 +1,81 @@
1
+ /**用户信息,权限判断等*/
2
+ export interface AuthDataInstanceState<T = any> {
3
+ /**用户信息*/
4
+ userInfo?: T;
5
+ /**登录凭证(token)*/
6
+ token?: string;
7
+ /**权限列表*/
8
+ permissions?: string[];
9
+ /**菜单权限列表*/
10
+ menusPermissions?: string[];
11
+ /**数据默认值不使用*/
12
+ __defaultValue?: string;
13
+ }
14
+ export declare class AuthDataInstance<T = any> {
15
+ store: AuthDataInstanceState<T>;
16
+ /**
17
+ * 设置用户信息
18
+ * @param userInfo 用户信息
19
+ */
20
+ set userInfo(userInfo: T);
21
+ /**
22
+ * 获取用户信息
23
+ * @returns 用户信息
24
+ */
25
+ get userInfo(): T;
26
+ /**
27
+ * 设置登录凭证(token)
28
+ * @param token 登录凭证(token)
29
+ */
30
+ set token(token: string);
31
+ /**
32
+ * 获取登录凭证(token)
33
+ * @returns 登录凭证(token)
34
+ */
35
+ get token(): string;
36
+ /**
37
+ * 设置权限列表
38
+ * @param permissions 权限列表
39
+ */
40
+ set permissions(permissions: string[]);
41
+ /**
42
+ * 获取权限列表
43
+ * @returns 权限列表
44
+ */
45
+ get permissions(): string[];
46
+ /**
47
+ * 设置菜单权限列表
48
+ * @param menusPermissions 菜单权限列表
49
+ */
50
+ set menusPermissions(menusPermissions: string[]);
51
+ /**
52
+ * 获取菜单权限列表
53
+ * @returns 菜单权限列表
54
+ */
55
+ get menusPermissions(): string[];
56
+ /**
57
+ * 判断是否有指定菜单权限
58
+ * @param menuPermission 菜单权限
59
+ * @returns 是否有指定菜单权限
60
+ */
61
+ hasMenuPermission: (menuPermission: string) => boolean;
62
+ /**
63
+ * 判断是否有指定权限
64
+ * @param permission 权限
65
+ * @returns 是否有指定权限
66
+ */
67
+ hasPermission: (permission: string) => boolean;
68
+ /**
69
+ * 清除登录凭证(token)、权限列表、菜单权限列表、用户信息
70
+ */
71
+ clear: () => void;
72
+ /**
73
+ * 初始化认证数据实例
74
+ */
75
+ constructor();
76
+ }
77
+ export declare const authDataInstance: AuthDataInstance<any>;
78
+ /**
79
+ * 全局数据状态管理
80
+ */
81
+ export declare function useAuthData<T = any>(): [AuthDataInstanceState<T>, AuthDataInstance<T>, string | undefined];
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ authDataInstance: ()=>authDataInstance,
37
+ useAuthData: ()=>useAuthData,
38
+ AuthDataInstance: ()=>AuthDataInstance
39
+ });
40
+ const taro_namespaceObject = require("@tarojs/taro");
41
+ var taro_default = /*#__PURE__*/ __webpack_require__.n(taro_namespaceObject);
42
+ const external_valtio_namespaceObject = require("valtio");
43
+ const external_global_setting_data_instance_js_namespaceObject = require("./global.setting.data.instance.js");
44
+ class AuthDataInstance {
45
+ store = (0, external_valtio_namespaceObject.proxy)({
46
+ userInfo: void 0,
47
+ token: void 0,
48
+ permissions: void 0,
49
+ menusPermissions: void 0
50
+ });
51
+ set userInfo(userInfo) {
52
+ this.store.userInfo = userInfo;
53
+ if (userInfo) taro_default().setStorageSync('userInfo', JSON.stringify(userInfo));
54
+ else taro_default().removeStorageSync('userInfo');
55
+ }
56
+ get userInfo() {
57
+ if (!this.store.userInfo) {
58
+ const userInfo = taro_default().getStorageSync('userInfo');
59
+ if (userInfo) try {
60
+ this.store.userInfo = JSON.parse(userInfo);
61
+ } catch (error) {
62
+ console.error("\u89E3\u6790\u7528\u6237\u4FE1\u606F\u5931\u8D25", error);
63
+ }
64
+ }
65
+ return this.store.userInfo || {};
66
+ }
67
+ set token(token) {
68
+ this.store.token = token;
69
+ if (token) taro_default().setStorageSync(external_global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.store.tokenFieldName || 'token', token);
70
+ else taro_default().removeStorageSync(external_global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.store.tokenFieldName || 'token');
71
+ }
72
+ get token() {
73
+ if (!this.store.token) {
74
+ const token = taro_default().getStorageSync(external_global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.store.tokenFieldName || 'token');
75
+ if (token) this.store.token = token;
76
+ }
77
+ return this.store.token || '';
78
+ }
79
+ set permissions(permissions) {
80
+ this.store.permissions = permissions;
81
+ if (permissions) taro_default().setStorageSync('permissions', JSON.stringify(permissions));
82
+ else taro_default().removeStorageSync('permissions');
83
+ }
84
+ get permissions() {
85
+ if (!this.store.permissions) {
86
+ const permissions = taro_default().getStorageSync('permissions');
87
+ if (permissions) try {
88
+ this.store.permissions = JSON.parse(permissions);
89
+ } catch (error) {
90
+ console.error("\u89E3\u6790\u6743\u9650\u5217\u8868\u5931\u8D25", error);
91
+ }
92
+ }
93
+ return this.store.permissions || [];
94
+ }
95
+ set menusPermissions(menusPermissions) {
96
+ this.store.menusPermissions = menusPermissions;
97
+ if (menusPermissions) taro_default().setStorageSync('menusPermissions', JSON.stringify(menusPermissions));
98
+ else taro_default().removeStorageSync('menusPermissions');
99
+ }
100
+ get menusPermissions() {
101
+ if (!this.store.menusPermissions) {
102
+ const menusPermissions = taro_default().getStorageSync('menusPermissions');
103
+ if (menusPermissions) try {
104
+ this.store.menusPermissions = JSON.parse(menusPermissions);
105
+ } catch (error) {
106
+ console.error("\u89E3\u6790\u83DC\u5355\u6743\u9650\u5217\u8868\u5931\u8D25", error);
107
+ }
108
+ }
109
+ return this.store.menusPermissions || [];
110
+ }
111
+ hasMenuPermission = (menuPermission)=>{
112
+ if (!external_global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.store.isEnableAuth) return true;
113
+ return this.menusPermissions.includes(menuPermission);
114
+ };
115
+ hasPermission = (permission)=>{
116
+ if (!external_global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.store.isEnableAuth) return true;
117
+ return this.permissions.includes(permission);
118
+ };
119
+ clear = ()=>{
120
+ this.token = '';
121
+ this.permissions = [];
122
+ this.menusPermissions = [];
123
+ this.userInfo = void 0;
124
+ };
125
+ constructor(){
126
+ try {
127
+ this.store.userInfo = this.userInfo;
128
+ this.store.token = this.token;
129
+ this.store.permissions = this.permissions;
130
+ this.store.menusPermissions = this.menusPermissions;
131
+ } catch (error) {
132
+ console.error("\u521D\u59CB\u5316\u8BA4\u8BC1\u6570\u636E\u5B9E\u4F8B\u5931\u8D25", error);
133
+ }
134
+ }
135
+ }
136
+ const authDataInstance = new AuthDataInstance();
137
+ function useAuthData() {
138
+ const store = (0, external_valtio_namespaceObject.useSnapshot)(authDataInstance.store);
139
+ return [
140
+ store,
141
+ authDataInstance,
142
+ store.__defaultValue
143
+ ];
144
+ }
145
+ exports.AuthDataInstance = __webpack_exports__.AuthDataInstance;
146
+ exports.authDataInstance = __webpack_exports__.authDataInstance;
147
+ exports.useAuthData = __webpack_exports__.useAuthData;
148
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
149
+ "AuthDataInstance",
150
+ "authDataInstance",
151
+ "useAuthData"
152
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
153
+ Object.defineProperty(exports, '__esModule', {
154
+ value: true
155
+ });
@@ -0,0 +1,54 @@
1
+ import type { TaroToastProps } from '@nutui/nutui-react-taro';
2
+ import React from 'react';
3
+ import type { FairysTaroMessageItemProps } from '../components/Mesage';
4
+ import { ProxyInstanceObjectBase } from '../utils/valtio/instance';
5
+ export interface MessageDataType extends FairysTaroMessageItemProps {
6
+ /**用于唯一标识提示框(默认自动生成)*/
7
+ __id: string | number;
8
+ /**
9
+ * 提示内容
10
+ */
11
+ content?: React.ReactNode;
12
+ /**
13
+ * 提示框是否可见
14
+ * @default false
15
+ */
16
+ visible?: boolean;
17
+ }
18
+ export interface ToastDataType extends Partial<TaroToastProps> {
19
+ }
20
+ export interface GlobalDataInstanceState {
21
+ /**弹框提示框*/
22
+ messageData?: MessageDataType[];
23
+ /**提示框数据*/
24
+ toastData?: ToastDataType;
25
+ /**数据默认值不使用*/
26
+ __defaultValue?: string;
27
+ }
28
+ export declare class GlobalDataInstance extends ProxyInstanceObjectBase<GlobalDataInstanceState> {
29
+ store: GlobalDataInstanceState;
30
+ /**用于提示信息*/
31
+ showMessage: (options: Omit<MessageDataType, "__id"> & {
32
+ __id?: string;
33
+ }, timeout?: number) => string | number;
34
+ /**隐藏指定id的提示框*/
35
+ hideMessage: (id: string | number) => void;
36
+ /**显示Toast */
37
+ showToast: (config?: Partial<ToastDataType>) => void;
38
+ /**隐藏Toast */
39
+ hideToast: () => void;
40
+ /**
41
+ * 跳转登录页面前执行
42
+ */
43
+ onBeforetToLoginPage?: () => boolean | void;
44
+ /**跳转登录页面*/
45
+ toLoginPage: () => void;
46
+ }
47
+ /**
48
+ * 全局数据实例
49
+ */
50
+ export declare const globalDataInstance: GlobalDataInstance;
51
+ /**
52
+ * 全局数据状态管理
53
+ */
54
+ export declare const useGlobalData: () => [GlobalDataInstanceState, GlobalDataInstance, string | undefined];
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ useGlobalData: ()=>useGlobalData,
37
+ GlobalDataInstance: ()=>GlobalDataInstance,
38
+ globalDataInstance: ()=>globalDataInstance
39
+ });
40
+ const external_valtio_namespaceObject = require("valtio");
41
+ const navigate_js_namespaceObject = require("../utils/navigate.js");
42
+ var navigate_js_default = /*#__PURE__*/ __webpack_require__.n(navigate_js_namespaceObject);
43
+ const useId_js_namespaceObject = require("../utils/useId.js");
44
+ const instance_js_namespaceObject = require("../utils/valtio/instance.js");
45
+ const external_global_setting_data_instance_js_namespaceObject = require("./global.setting.data.instance.js");
46
+ class GlobalDataInstance extends instance_js_namespaceObject.ProxyInstanceObjectBase {
47
+ store = (0, external_valtio_namespaceObject.proxy)({
48
+ messageData: (0, external_valtio_namespaceObject.ref)([]),
49
+ toastData: void 0
50
+ });
51
+ showMessage = (options, timeout = 3000)=>{
52
+ const _that = this;
53
+ let newItem = {
54
+ ...options
55
+ };
56
+ if (!_that.store.messageData) _that.store.messageData = (0, external_valtio_namespaceObject.ref)([]);
57
+ newItem.visible = true;
58
+ if (!newItem.__id) newItem.__id = `${new Date().valueOf()}__${_that.store.messageData.length + 1}__` + (0, useId_js_namespaceObject.createUseId)('message');
59
+ _that.store.messageData = (0, external_valtio_namespaceObject.ref)([
60
+ ..._that.store.messageData
61
+ ].concat([
62
+ newItem
63
+ ]));
64
+ if (timeout) {
65
+ const timer = setTimeout(()=>{
66
+ newItem.visible = false;
67
+ _that.store.messageData = (0, external_valtio_namespaceObject.ref)((_that.store.messageData || []).filter((it)=>it.__id !== newItem.__id));
68
+ clearTimeout(timer);
69
+ }, timeout);
70
+ }
71
+ return newItem.__id;
72
+ };
73
+ hideMessage = (id)=>{
74
+ this.store.messageData = (0, external_valtio_namespaceObject.ref)((this.store.messageData || []).filter((it)=>it.__id !== id));
75
+ };
76
+ showToast = (config = {})=>{
77
+ this.store.toastData = (0, external_valtio_namespaceObject.ref)({
78
+ visible: true,
79
+ ...config
80
+ });
81
+ };
82
+ hideToast = ()=>{
83
+ this.store.toastData = (0, external_valtio_namespaceObject.ref)({
84
+ ...this.store.toastData,
85
+ visible: false
86
+ });
87
+ };
88
+ onBeforetToLoginPage;
89
+ toLoginPage = ()=>{
90
+ if (this.onBeforetToLoginPage) {
91
+ const f = this.onBeforetToLoginPage();
92
+ if (false === f) return;
93
+ }
94
+ const loginPageRoute = external_global_setting_data_instance_js_namespaceObject.globalSettingDataInstance.store.loginPageRoute || '';
95
+ const isLoginPage = navigate_js_default().isCurrentPage(loginPageRoute || '');
96
+ const _loginPageRoute = `${loginPageRoute || ''}`.replace(/^\//, '');
97
+ if (isLoginPage) return;
98
+ navigate_js_default().navigateTo({
99
+ url: `/${_loginPageRoute}`
100
+ });
101
+ };
102
+ }
103
+ const globalDataInstance = new GlobalDataInstance();
104
+ const useGlobalData = ()=>{
105
+ const store = (0, external_valtio_namespaceObject.useSnapshot)(globalDataInstance.store);
106
+ return [
107
+ store,
108
+ globalDataInstance,
109
+ store.__defaultValue
110
+ ];
111
+ };
112
+ exports.GlobalDataInstance = __webpack_exports__.GlobalDataInstance;
113
+ exports.globalDataInstance = __webpack_exports__.globalDataInstance;
114
+ exports.useGlobalData = __webpack_exports__.useGlobalData;
115
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
116
+ "GlobalDataInstance",
117
+ "globalDataInstance",
118
+ "useGlobalData"
119
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
120
+ Object.defineProperty(exports, '__esModule', {
121
+ value: true
122
+ });
@@ -0,0 +1,56 @@
1
+ import { ProxyInstanceObjectBase } from '../utils/valtio/instance';
2
+ export interface GlobalSettingDataInstanceState {
3
+ /**
4
+ * 请求成功返回code
5
+ * @default 200
6
+ */
7
+ requestSuccessCode?: number;
8
+ /**
9
+ * token过期返回code,跳转登录页面
10
+ * @default 401
11
+ */
12
+ tokenExpiredCode?: number;
13
+ /**
14
+ * 本地存储token字段名
15
+ * @default token
16
+ */
17
+ tokenFieldName?: string;
18
+ /**
19
+ * 请求头token字段名
20
+ * @default token
21
+ */
22
+ headerTokenName?: string;
23
+ /**
24
+ * 设置登录页面路由(需要在入口文件中进行设置)
25
+ * @default pages/login/index
26
+ */
27
+ loginPageRoute?: string;
28
+ /**跳转忽略权限校验的路由*/
29
+ ignoreAuthRoutes?: string[];
30
+ /**路由跳转默认使用authDataInstance中的hasMenuPermission 判断是否有菜单权限*/
31
+ useAuthHasMenuPermission?: boolean;
32
+ /**是否开启权限校验*/
33
+ isEnableAuth?: boolean;
34
+ /**数据默认值不使用*/
35
+ __defaultValue?: string;
36
+ }
37
+ export declare class GlobalSettingDataInstance extends ProxyInstanceObjectBase<GlobalSettingDataInstanceState> {
38
+ defaultStore: GlobalSettingDataInstanceState;
39
+ store: GlobalSettingDataInstanceState;
40
+ /**
41
+ * 扩展全局设置数据状态
42
+ */
43
+ extendStore: (state: Partial<GlobalSettingDataInstanceState>) => void;
44
+ /**
45
+ * 判断是否跳转忽略权限校验的路由
46
+ */
47
+ isIgnoreAuthRoutes: (route: string) => boolean;
48
+ }
49
+ /**
50
+ * 全局设置数据实例
51
+ */
52
+ export declare const globalSettingDataInstance: GlobalSettingDataInstance;
53
+ /**
54
+ * 全局设置数据状态管理
55
+ */
56
+ export declare const useGlobalSettingData: () => [GlobalSettingDataInstanceState, GlobalSettingDataInstance, string | undefined];