@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.
- package/esm/context/auth.data.instance.d.ts +3 -3
- package/esm/context/auth.data.instance.js +6 -6
- package/esm/context/global.data.instance.d.ts +4 -0
- package/esm/context/global.data.instance.js +5 -0
- package/esm/context/page.info.data.instance.d.ts +1 -1
- package/lib/components/EnterLoading/index.d.ts +14 -0
- package/lib/components/EnterLoading/index.js +112 -0
- package/lib/components/MainPage/index.d.ts +10 -0
- package/lib/components/MainPage/index.js +102 -0
- package/lib/components/Mesage/index.d.ts +48 -0
- package/lib/components/Mesage/index.js +172 -0
- package/lib/components/Portal/index.d.ts +8 -0
- package/lib/components/Portal/index.js +45 -0
- package/lib/components/Toast/index.d.ts +1 -0
- package/lib/components/Toast/index.js +54 -0
- package/lib/components/connectToastMessage/index.d.ts +10 -0
- package/lib/components/connectToastMessage/index.js +62 -0
- package/lib/components/index.d.ts +6 -0
- package/lib/components/index.js +105 -0
- package/lib/context/auth.data.instance.d.ts +81 -0
- package/lib/context/auth.data.instance.js +155 -0
- package/lib/context/global.data.instance.d.ts +54 -0
- package/lib/context/global.data.instance.js +122 -0
- package/lib/context/global.setting.data.instance.d.ts +56 -0
- package/lib/context/global.setting.data.instance.js +79 -0
- package/lib/context/index.d.ts +5 -0
- package/lib/context/index.js +96 -0
- package/lib/context/page.data.instance.d.ts +151 -0
- package/lib/context/page.data.instance.js +382 -0
- package/lib/context/page.info.data.instance.d.ts +93 -0
- package/lib/context/page.info.data.instance.js +226 -0
- package/lib/index.d.ts +3 -0
- package/lib/styles/index.css +715 -0
- package/lib/utils/index.d.ts +4 -0
- package/lib/utils/index.js +87 -0
- package/lib/utils/navigate.d.ts +109 -0
- package/lib/utils/navigate.js +99 -0
- package/lib/utils/request.d.ts +179 -0
- package/lib/utils/request.js +358 -0
- package/lib/utils/useId.d.ts +2 -0
- package/lib/utils/useId.js +50 -0
- package/lib/utils/valtio/index.d.ts +9 -0
- package/lib/utils/valtio/index.js +99 -0
- package/lib/utils/valtio/instance.d.ts +17 -0
- package/lib/utils/valtio/instance.js +80 -0
- package/package.json +4 -3
- package/src/context/auth.data.instance.ts +6 -6
- package/src/context/global.data.instance.ts +11 -0
- package/src/context/page.info.data.instance.tsx +1 -1
- 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,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];
|