@zfqh/uniapp 0.2.20 → 0.2.21
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/CHANGELOG.md +8 -0
- package/docs/api/apis/core.md +42 -0
- package/docs/api/apis/index.md +6 -0
- package/docs/api/index.md +12 -4
- package/docs/api/modules/app.md +29 -0
- package/docs/api/modules/index.md +2 -1
- package/docs/api/utils/storage.md +12 -31
- package/lib/apis/core.d.ts +4 -0
- package/lib/apis/core.js +4 -0
- package/lib/modules/app.d.ts +5 -0
- package/lib/modules/app.js +52 -0
- package/lib/modules/index.d.ts +1 -0
- package/lib/modules/index.js +1 -0
- package/lib/modules/launch.js +4 -3
- package/lib/modules/location.js +4 -3
- package/lib/modules/login.js +5 -4
- package/lib/utils/consts.d.ts +9 -0
- package/lib/utils/consts.js +9 -0
- package/lib/utils/storage.d.ts +0 -13
- package/lib/utils/storage.js +0 -17
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.2.21](http://10.10.10.16/caoben/front-end/compare/@zfqh/uniapp@0.2.20...@zfqh/uniapp@0.2.21) (2026-06-26)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @zfqh/uniapp
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## [0.2.20](http://10.10.10.16/caoben/front-end/compare/@zfqh/uniapp@0.2.19...@zfqh/uniapp@0.2.20) (2026-06-25)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @zfqh/uniapp
|
package/docs/api/apis/core.md
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
| `getCosUrls` | `POST` | `/app-api/infra/cos/getUrls` | 获取 COS 签名后的地址。 |
|
|
11
11
|
| `postRefreshToken` | `POST` | `/app-api/robot/store/auth/refreshToken?refreshToken=:refreshToken` | 刷新 token。 |
|
|
12
12
|
| `getDictData` | `GET` | `/app-api/system/dict-data/type` | 获取字典数据。 |
|
|
13
|
+
| `getAppData` | `GET` | `/admin-api/robot/authority/queryAppDetail` | 获取应用详情(未登录)。 |
|
|
14
|
+
| `getAppByUser` | `GET` | `/admin-api/robot/authority/queryUserAppDetail` | 获取用户应用详情(已登录)。 |
|
|
13
15
|
| `getImData` | `GET` | `/admin-api/system/im/buildApiConfig` | 获取 IM 配置(usersig、sdkappid 等)。 |
|
|
14
16
|
|
|
15
17
|
## 基本使用
|
|
@@ -174,6 +176,46 @@ const options = data.map((item) => ({
|
|
|
174
176
|
| --- | --- |
|
|
175
177
|
| `Promise<ApiResponse<DictItem[]>>` | 成功时 `data` 为字典项数组,字段以当前后端返回为准。 |
|
|
176
178
|
|
|
179
|
+
### getAppData
|
|
180
|
+
|
|
181
|
+
获取应用详情(未登录场景),`app` 模块的 `getAppInfo` action 在未登录时会调用。
|
|
182
|
+
|
|
183
|
+
```ts
|
|
184
|
+
import { getAppData } from '@zfqh/uniapp/lib/apis';
|
|
185
|
+
|
|
186
|
+
const { data } = await getAppData({
|
|
187
|
+
appId: 'com.qihuangai.patient',
|
|
188
|
+
});
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
192
|
+
| --- | --- | --- | --- |
|
|
193
|
+
| `data.appId` | `string` | 是 | 应用 ID,从 `configs/app.appId` 获取。 |
|
|
194
|
+
|
|
195
|
+
| 返回值 | 说明 |
|
|
196
|
+
| --- | --- |
|
|
197
|
+
| `Promise<ApiResponse<AppDetail>>` | 成功时 `data` 包含 appId、identifier、iconUrl、name、brief、configJson、perms、appType 等字段。 |
|
|
198
|
+
|
|
199
|
+
### getAppByUser
|
|
200
|
+
|
|
201
|
+
获取用户应用详情(已登录场景),`app` 模块的 `getAppInfo` action 在已登录时会调用。
|
|
202
|
+
|
|
203
|
+
```ts
|
|
204
|
+
import { getAppByUser } from '@zfqh/uniapp/lib/apis';
|
|
205
|
+
|
|
206
|
+
const { data } = await getAppByUser({
|
|
207
|
+
appId: 'com.qihuangai.patient',
|
|
208
|
+
});
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
212
|
+
| --- | --- | --- | --- |
|
|
213
|
+
| `data.appId` | `string` | 是 | 应用 ID,从 `configs/app.appId` 获取。 |
|
|
214
|
+
|
|
215
|
+
| 返回值 | 说明 |
|
|
216
|
+
| --- | --- |
|
|
217
|
+
| `Promise<ApiResponse<AppDetail>>` | 成功时 `data` 包含 appId、identifier、iconUrl、name、brief、configJson、perms、appType 等字段,已登录时返回用户级别权限。 |
|
|
218
|
+
|
|
177
219
|
### getImData
|
|
178
220
|
|
|
179
221
|
获取 IM 配置(usersig、sdkappid 等),`im` 模块的 `getImInfo` action 内部会调用。
|
package/docs/api/apis/index.md
CHANGED
|
@@ -60,6 +60,8 @@ export const removeItem = (id: number) => DELETE('/app-api/demo/delete?id=:id',
|
|
|
60
60
|
| `getCosUrls(data)` | `data: { urls: string[] }` | `Promise<ApiResponse<string[]>>` | 获取 COS 签名后的访问地址。 |
|
|
61
61
|
| `postRefreshToken(data)` | `data: { refreshToken: string }` | `Promise<ApiResponse<LoginToken>>` | 刷新登录 token。 |
|
|
62
62
|
| `getDictData(data)` | `data: { type: string }` | `Promise<ApiResponse<DictItem[]>>` | 按字典类型获取字典数据。 |
|
|
63
|
+
| `getAppData(data)` | `data: { appId: string }` | `Promise<ApiResponse<AppDetail>>` | 获取应用详情(未登录)。 |
|
|
64
|
+
| `getAppByUser(data)` | `data: { appId: string }` | `Promise<ApiResponse<AppDetail>>` | 获取用户应用详情(已登录,含用户级权限)。 |
|
|
63
65
|
|
|
64
66
|
```ts
|
|
65
67
|
import {
|
|
@@ -69,6 +71,8 @@ import {
|
|
|
69
71
|
getCosUrls,
|
|
70
72
|
postRefreshToken,
|
|
71
73
|
getDictData,
|
|
74
|
+
getAppData,
|
|
75
|
+
getAppByUser,
|
|
72
76
|
} from '@zfqh/uniapp/lib/apis';
|
|
73
77
|
|
|
74
78
|
await sendSmsCode({ phone: '13800138000' });
|
|
@@ -77,6 +81,8 @@ await getLastVersion({ version: '1.0.0', packageName: 'uni.UNI07DD08D', type: 2,
|
|
|
77
81
|
await getCosUrls({ urls: ['/report/demo.pdf'] });
|
|
78
82
|
await postRefreshToken({ refreshToken: 'refresh-token' });
|
|
79
83
|
await getDictData({ type: 'group_relation' });
|
|
84
|
+
await getAppData({ appId: 'com.qihuangai.patient' });
|
|
85
|
+
await getAppByUser({ appId: 'com.qihuangai.patient' });
|
|
80
86
|
```
|
|
81
87
|
|
|
82
88
|
更细的参数说明和单接口用法见 [request](./request.md) 与 [core](./core.md)。
|
package/docs/api/index.md
CHANGED
|
@@ -150,14 +150,14 @@ defineConfig({
|
|
|
150
150
|
当前 API 聚合入口位于 `lib/apis`,由 `@zfqh/uniapp/lib/apis` 导出 `request` 和 `core`:
|
|
151
151
|
|
|
152
152
|
```ts
|
|
153
|
-
import { GET, POST, PUT, DELETE, getTencentToken, getLastVersion, getDictData } from '@zfqh/uniapp/lib/apis';
|
|
153
|
+
import { GET, POST, PUT, DELETE, getTencentToken, getLastVersion, getDictData, getAppData, getAppByUser } from '@zfqh/uniapp/lib/apis';
|
|
154
154
|
```
|
|
155
155
|
|
|
156
156
|
也可以按文件深度引用:
|
|
157
157
|
|
|
158
158
|
```ts
|
|
159
159
|
import request, { GET, POST, PUT, DELETE } from '@zfqh/uniapp/lib/apis/request';
|
|
160
|
-
import { getTencentToken, getCosUrls, getDictData, sendSmsCode, postRefreshToken } from '@zfqh/uniapp/lib/apis/core';
|
|
160
|
+
import { getTencentToken, getCosUrls, getDictData, getAppData, getAppByUser, sendSmsCode, postRefreshToken } from '@zfqh/uniapp/lib/apis/core';
|
|
161
161
|
```
|
|
162
162
|
|
|
163
163
|
已有 API 文件:
|
|
@@ -166,7 +166,7 @@ import { getTencentToken, getCosUrls, getDictData, sendSmsCode, postRefreshToken
|
|
|
166
166
|
| --- | --- |
|
|
167
167
|
| `apis/index` | 聚合导出 `request` 和 `core`。 |
|
|
168
168
|
| `apis/request` | 业务请求实例和 `GET/POST/PUT/DELETE`。 |
|
|
169
|
-
| `apis/core` | 短信验证码、腾讯上传 Token、版本、COS URL、刷新 token
|
|
169
|
+
| `apis/core` | 短信验证码、腾讯上传 Token、版本、COS URL、刷新 token、字典数据、应用详情等公共接口。 |
|
|
170
170
|
|
|
171
171
|
### 内置 API 函数示例
|
|
172
172
|
|
|
@@ -176,6 +176,7 @@ import {
|
|
|
176
176
|
getTencentToken,
|
|
177
177
|
getLastVersion,
|
|
178
178
|
getDictData,
|
|
179
|
+
getAppData,
|
|
179
180
|
getCosUrls,
|
|
180
181
|
sendSmsCode,
|
|
181
182
|
postRefreshToken,
|
|
@@ -198,6 +199,12 @@ await postRefreshToken({ refreshToken: 'xxx' });
|
|
|
198
199
|
|
|
199
200
|
// 获取 COS 签名地址
|
|
200
201
|
const urls = await getCosUrls({ keys: ['avatar/1.png'] });
|
|
202
|
+
|
|
203
|
+
// 获取应用详情(未登录)
|
|
204
|
+
const appDetail = await getAppData({ appId: 'com.qihuangai.patient' });
|
|
205
|
+
|
|
206
|
+
// 获取用户应用详情(已登录)
|
|
207
|
+
const userAppDetail = await getAppByUser({ appId: 'com.qihuangai.patient' });
|
|
201
208
|
```
|
|
202
209
|
|
|
203
210
|
### 自定义业务 API
|
|
@@ -215,11 +222,12 @@ export const getOrderList = (...args) => GET('/app-api/order/page', ...args);
|
|
|
215
222
|
## Modules
|
|
216
223
|
|
|
217
224
|
```ts
|
|
218
|
-
import { dict, launch, login, network, system, im, location } from '@zfqh/uniapp/lib/modules';
|
|
225
|
+
import { app, dict, launch, login, network, system, im, location } from '@zfqh/uniapp/lib/modules';
|
|
219
226
|
```
|
|
220
227
|
|
|
221
228
|
| 模块 | 说明 |
|
|
222
229
|
| --- | --- |
|
|
230
|
+
| `app` | 应用详情(appId、identifier、name、perms、configJson),已登录调用 `getAppByUser`、未登录调用 `getAppData`,无需额外配置 |
|
|
223
231
|
| `dict` | 字典数据(内置接口,无需额外配置) |
|
|
224
232
|
| `launch` | 启动参数(id、path、query、scene 等) |
|
|
225
233
|
| `login` | 登录态(token、userId、tenantId 等) |
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# app
|
|
2
|
+
|
|
3
|
+
应用详情模块。发布路径:`@zfqh/uniapp/lib/modules/app`
|
|
4
|
+
|
|
5
|
+
| 项 | 说明 |
|
|
6
|
+
| --- | --- |
|
|
7
|
+
| `state.info` | 应用详情,包含 appId、identifier、iconUrl、name、brief、configJson(对象)、perms、appType。 |
|
|
8
|
+
| `action getAppInfo()` | 已登录时调用 `getAppByUser`,未登录时调用 `getAppData`,appId 从 `configs/app.appId` 读取。 |
|
|
9
|
+
| `mutation setAppInfo(data)` | 直接赋值应用信息,自动将 configJson 字符串解析为对象,并持久化到本地缓存。 |
|
|
10
|
+
|
|
11
|
+
## 基本使用
|
|
12
|
+
|
|
13
|
+
注册后通过 dispatch 拉取应用详情,获取权限列表和配置信息。
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
// 拉取应用详情
|
|
17
|
+
await store.dispatch('getAppInfo');
|
|
18
|
+
|
|
19
|
+
// 读取应用信息
|
|
20
|
+
const appInfo = store.state.app.info;
|
|
21
|
+
console.log(appInfo.name, appInfo.identifier);
|
|
22
|
+
|
|
23
|
+
// 读取权限列表
|
|
24
|
+
const perms = store.state.app.info.perms;
|
|
25
|
+
// [{ menuId: 2659, menuName: '导出客户', channel: 1, isSelect: true }]
|
|
26
|
+
|
|
27
|
+
// 读取解析后的 configJson(对象)
|
|
28
|
+
const config = store.state.app.info.configJson;
|
|
29
|
+
```
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
```ts
|
|
12
12
|
import { createStore } from 'vuex';
|
|
13
|
-
import { app, dict, im, system } from '@zfqh/uniapp/lib/modules';
|
|
13
|
+
import { app, dict, im, system, location } from '@zfqh/uniapp/lib/modules';
|
|
14
14
|
import login from './modules/login';
|
|
15
15
|
import setting from './modules/setting';
|
|
16
16
|
|
|
@@ -30,6 +30,7 @@ export default store;
|
|
|
30
30
|
|
|
31
31
|
关键点:
|
|
32
32
|
|
|
33
|
+
- `app` 模块已内置 `getAppData` / `getAppByUser` 接口,注册后调用 `dispatch('getAppInfo')` 即可拉取应用详情(已登录时自动使用 `getAppByUser`),无需额外配置。
|
|
33
34
|
- `dict` 模块已内置字典接口(`getDictData`),无需额外配置。
|
|
34
35
|
- `im` 模块已内置 `getImData` 接口,业务方调用 `dispatch('getImInfo', { username, userType })` 即可,无需额外配置。
|
|
35
36
|
- `system` 模块无需额外配置,注册后即可通过 `store.state.system.info` 读取系统信息。
|
|
@@ -38,30 +38,31 @@ setStorageSync('login', { accessToken: 'xxx' });
|
|
|
38
38
|
// 实际存储 key: 'ZFQH_LOGIN'
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
##
|
|
41
|
+
## TYPES.STORAGE 内置常量
|
|
42
42
|
|
|
43
43
|
```ts
|
|
44
|
-
import {
|
|
44
|
+
import { TYPES } from '@zfqh/uniapp';
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
| 属性 | 值 | 用途 |
|
|
48
48
|
| --- | --- | --- |
|
|
49
|
-
| `
|
|
50
|
-
| `
|
|
51
|
-
| `
|
|
52
|
-
| `
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
49
|
+
| `TYPES.STORAGE.APP` | `'app'` | 应用详情(appId、name、perms、configJson 等) |
|
|
50
|
+
| `TYPES.STORAGE.QUERY` | `'query'` | URL query 参数缓存 |
|
|
51
|
+
| `TYPES.STORAGE.LOGIN` | `'login'` | 登录信息(accessToken、userId 等) |
|
|
52
|
+
| `TYPES.STORAGE.USER` | `'user'` | 用户信息 |
|
|
53
|
+
| `TYPES.STORAGE.OPEN` | `'open'` | 第三方开放平台信息 |
|
|
54
|
+
| `TYPES.STORAGE.LAUNCH` | `'launch'` | 启动参数 |
|
|
55
|
+
| `TYPES.STORAGE.LOCATION` | `'location'` | 定位信息 |
|
|
55
56
|
|
|
56
57
|
```ts
|
|
57
58
|
// 保存登录信息
|
|
58
|
-
setStorageSync(
|
|
59
|
+
setStorageSync(TYPES.STORAGE.LOGIN, { accessToken: 'xxx', userId: 1, tenantId: 1 });
|
|
59
60
|
|
|
60
61
|
// 读取登录信息
|
|
61
|
-
const loginInfo = getStorageSync(
|
|
62
|
+
const loginInfo = getStorageSync(TYPES.STORAGE.LOGIN);
|
|
62
63
|
|
|
63
64
|
// 删除缓存
|
|
64
|
-
removeStorageSync(
|
|
65
|
+
removeStorageSync(TYPES.STORAGE.LOGIN);
|
|
65
66
|
```
|
|
66
67
|
|
|
67
68
|
## 完整工作流
|
|
@@ -108,23 +109,6 @@ clearStorageSync();
|
|
|
108
109
|
await clearStorage();
|
|
109
110
|
```
|
|
110
111
|
|
|
111
|
-
### 自定义 storageKeys
|
|
112
|
-
|
|
113
|
-
如果项目需要额外的缓存 key,可以用 `setStorageKeys` 扩展:
|
|
114
|
-
|
|
115
|
-
```ts
|
|
116
|
-
import { setStorageKeys, setStorageSync, getStorageSync } from '@zfqh/uniapp';
|
|
117
|
-
|
|
118
|
-
const myKeys = setStorageKeys({
|
|
119
|
-
constitution: '',
|
|
120
|
-
medicalRecord: '',
|
|
121
|
-
cartData: '',
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
setStorageSync(myKeys.constitution, { type: '气虚', score: 85 });
|
|
125
|
-
const data = getStorageSync(myKeys.constitution);
|
|
126
|
-
```
|
|
127
|
-
|
|
128
112
|
## API
|
|
129
113
|
|
|
130
114
|
发布路径:`@zfqh/uniapp/lib/utils/storage`
|
|
@@ -139,7 +123,4 @@ const data = getStorageSync(myKeys.constitution);
|
|
|
139
123
|
| `removeStorage` | `export function removeStorage(name: string) {` | 按命名空间 key 异步删除缓存。 |
|
|
140
124
|
| `clearStorageSync` | `export function clearStorageSync() {` | 同步清空全部本地缓存。 |
|
|
141
125
|
| `clearStorage` | `export function clearStorage() {` | 异步清空全部本地缓存。 |
|
|
142
|
-
| `setStorageKeys` | `export function setStorageKeys<T>(data: T) {` | 把对象每个字段值设置为字段名,用于生成稳定 storageKeys。 |
|
|
143
|
-
| `StorageKeys` | `export interface StorageKeys {` | 内置缓存 key 类型,包含 query、login、user、open、launch、location。 |
|
|
144
|
-
| `storageKeys` | `export const storageKeys: StorageKeys = setStorageKeys({` | 内置缓存 key 常量。 |
|
|
145
126
|
|
package/lib/apis/core.d.ts
CHANGED
|
@@ -12,3 +12,7 @@ export declare const postRefreshToken: (...args: any[]) => any;
|
|
|
12
12
|
export declare const getDictData: (...args: any[]) => any;
|
|
13
13
|
/** 获取 IM 配置(IM userSig、SDKAppID 等) */
|
|
14
14
|
export declare const getImData: (...args: any[]) => any;
|
|
15
|
+
/** 获取应用详情 */
|
|
16
|
+
export declare const getAppData: (...args: any[]) => any;
|
|
17
|
+
/** 获取用户应用详情 */
|
|
18
|
+
export declare const getAppByUser: (...args: any[]) => any;
|
package/lib/apis/core.js
CHANGED
|
@@ -13,3 +13,7 @@ export const postRefreshToken = (...args) => POST('/app-api/robot/store/auth/ref
|
|
|
13
13
|
export const getDictData = (...args) => GET('/app-api/system/dict-data/type', ...args);
|
|
14
14
|
/** 获取 IM 配置(IM userSig、SDKAppID 等) */
|
|
15
15
|
export const getImData = (...args) => GET('/admin-api/system/im/buildApiConfig', ...args);
|
|
16
|
+
/** 获取应用详情 */
|
|
17
|
+
export const getAppData = (...args) => GET('/admin-api/robot/authority/queryAppDetail', ...args);
|
|
18
|
+
/** 获取用户应用详情 */
|
|
19
|
+
export const getAppByUser = (...args) => GET('/admin-api/robot/authority/queryUserAppDetail', ...args);
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { getStorageSync, setStorage } from '../utils/storage';
|
|
2
|
+
import { TYPES } from '../utils/consts';
|
|
3
|
+
import { getAppData, getAppByUser } from '../apis/core';
|
|
4
|
+
import app from '../configs/app';
|
|
5
|
+
function getDefaultState() {
|
|
6
|
+
return {
|
|
7
|
+
appId: '',
|
|
8
|
+
identifier: '',
|
|
9
|
+
iconUrl: '',
|
|
10
|
+
name: '',
|
|
11
|
+
brief: '',
|
|
12
|
+
configJson: {},
|
|
13
|
+
perms: [],
|
|
14
|
+
appType: 0,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const store = {
|
|
18
|
+
state() {
|
|
19
|
+
return {
|
|
20
|
+
info: getStorageSync(TYPES.STORAGE.APP) || getDefaultState(),
|
|
21
|
+
};
|
|
22
|
+
},
|
|
23
|
+
mutations: {
|
|
24
|
+
setAppInfo(state, data) {
|
|
25
|
+
const info = data || {};
|
|
26
|
+
try {
|
|
27
|
+
if (typeof info.configJson === 'string') {
|
|
28
|
+
info.configJson = JSON.parse(info.configJson || '{}');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
info.configJson = {};
|
|
33
|
+
}
|
|
34
|
+
state.info = info;
|
|
35
|
+
setStorage(TYPES.STORAGE.APP, state.info);
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
actions: {
|
|
39
|
+
async getAppInfo({ commit, rootGetters }) {
|
|
40
|
+
try {
|
|
41
|
+
const appId = app.appId;
|
|
42
|
+
if (!appId)
|
|
43
|
+
return;
|
|
44
|
+
const request = rootGetters.isLogin ? getAppByUser : getAppData;
|
|
45
|
+
const { data } = await request({ appId }, { custom: { message: false } });
|
|
46
|
+
commit('setAppInfo', data);
|
|
47
|
+
}
|
|
48
|
+
catch (e) { }
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
export default store;
|
package/lib/modules/index.d.ts
CHANGED
package/lib/modules/index.js
CHANGED
package/lib/modules/launch.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { getStorageSync, setStorage
|
|
1
|
+
import { getStorageSync, setStorage } from '../utils/storage';
|
|
2
|
+
import { TYPES } from '../utils/consts';
|
|
2
3
|
function getDefaultState() {
|
|
3
4
|
return {
|
|
4
5
|
info: {
|
|
@@ -8,7 +9,7 @@ function getDefaultState() {
|
|
|
8
9
|
referrerInfo: {},
|
|
9
10
|
scene: 0,
|
|
10
11
|
},
|
|
11
|
-
key: getStorageSync(
|
|
12
|
+
key: getStorageSync(TYPES.STORAGE.LAUNCH) || 0,
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
15
|
const store = {
|
|
@@ -25,7 +26,7 @@ const store = {
|
|
|
25
26
|
Object.assign(state.info, data, { scene, path });
|
|
26
27
|
},
|
|
27
28
|
setLaunchId(state, data) {
|
|
28
|
-
setStorage(
|
|
29
|
+
setStorage(TYPES.STORAGE.LAUNCH, (state.key = data || 0));
|
|
29
30
|
},
|
|
30
31
|
},
|
|
31
32
|
};
|
package/lib/modules/location.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { requestPermission } from '../utils/permit';
|
|
2
|
-
import { getStorageSync, setStorage
|
|
2
|
+
import { getStorageSync, setStorage } from '../utils/storage';
|
|
3
|
+
import { TYPES } from '../utils/consts';
|
|
3
4
|
const defaultState = {
|
|
4
5
|
name: '北京', // 城市名称
|
|
5
6
|
address: {}, // 地址信息
|
|
@@ -8,7 +9,7 @@ const defaultState = {
|
|
|
8
9
|
};
|
|
9
10
|
function getDefaultState() {
|
|
10
11
|
return {
|
|
11
|
-
info: getStorageSync(
|
|
12
|
+
info: getStorageSync(TYPES.STORAGE.LOCATION) || defaultState,
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
15
|
const store = {
|
|
@@ -19,7 +20,7 @@ const store = {
|
|
|
19
20
|
...state.info,
|
|
20
21
|
...data,
|
|
21
22
|
};
|
|
22
|
-
setStorage(
|
|
23
|
+
setStorage(TYPES.STORAGE.LOCATION, state.info);
|
|
23
24
|
},
|
|
24
25
|
},
|
|
25
26
|
actions: {
|
package/lib/modules/login.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getStorageSync, setStorage, removeStorage } from '../utils/storage';
|
|
2
|
+
import { TYPES } from '../utils/consts';
|
|
2
3
|
import query from '../utils/query';
|
|
3
4
|
import navigate from '../utils/navigate';
|
|
4
5
|
import Throttle from '../utils/throttle';
|
|
@@ -38,7 +39,7 @@ const store = {
|
|
|
38
39
|
};
|
|
39
40
|
}
|
|
40
41
|
return {
|
|
41
|
-
info: getStorageSync(
|
|
42
|
+
info: getStorageSync(TYPES.STORAGE.LOGIN) || defaultState,
|
|
42
43
|
};
|
|
43
44
|
},
|
|
44
45
|
getters: {
|
|
@@ -54,12 +55,12 @@ const store = {
|
|
|
54
55
|
}
|
|
55
56
|
state.info = { ...state.info, ...data };
|
|
56
57
|
if (!_accessToken) {
|
|
57
|
-
setStorage(
|
|
58
|
+
setStorage(TYPES.STORAGE.LOGIN, state.info);
|
|
58
59
|
}
|
|
59
60
|
},
|
|
60
61
|
resetState(state) {
|
|
61
62
|
state.info = getDefaultState();
|
|
62
|
-
removeStorage(
|
|
63
|
+
removeStorage(TYPES.STORAGE.LOGIN);
|
|
63
64
|
},
|
|
64
65
|
},
|
|
65
66
|
actions: {
|
package/lib/utils/consts.d.ts
CHANGED
|
@@ -47,4 +47,13 @@ export declare const TYPES: {
|
|
|
47
47
|
readonly APP_RESTART: "APP_RESTART";
|
|
48
48
|
readonly APP_INSTALL: "APP_INSTALL";
|
|
49
49
|
};
|
|
50
|
+
readonly STORAGE: {
|
|
51
|
+
readonly APP: "app";
|
|
52
|
+
readonly QUERY: "query";
|
|
53
|
+
readonly LOGIN: "login";
|
|
54
|
+
readonly USER: "user";
|
|
55
|
+
readonly OPEN: "open";
|
|
56
|
+
readonly LAUNCH: "launch";
|
|
57
|
+
readonly LOCATION: "location";
|
|
58
|
+
};
|
|
50
59
|
};
|
package/lib/utils/consts.js
CHANGED
package/lib/utils/storage.d.ts
CHANGED
|
@@ -38,16 +38,3 @@ export declare function clearStorageSync(): void;
|
|
|
38
38
|
* 异步删除全部本地缓存
|
|
39
39
|
*/
|
|
40
40
|
export declare function clearStorage(): Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* 设置缓存Key
|
|
43
|
-
*/
|
|
44
|
-
export declare function setStorageKeys<T>(data: T): T;
|
|
45
|
-
export interface StorageKeys {
|
|
46
|
-
query: string;
|
|
47
|
-
login: string;
|
|
48
|
-
user: string;
|
|
49
|
-
open: string;
|
|
50
|
-
launch: string;
|
|
51
|
-
location: string;
|
|
52
|
-
}
|
|
53
|
-
export declare const storageKeys: StorageKeys;
|
package/lib/utils/storage.js
CHANGED
|
@@ -126,20 +126,3 @@ export function clearStorage() {
|
|
|
126
126
|
}
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
|
-
/**
|
|
130
|
-
* 设置缓存Key
|
|
131
|
-
*/
|
|
132
|
-
export function setStorageKeys(data) {
|
|
133
|
-
Object.keys(data).forEach((key) => {
|
|
134
|
-
data[key] = key;
|
|
135
|
-
});
|
|
136
|
-
return data;
|
|
137
|
-
}
|
|
138
|
-
export const storageKeys = setStorageKeys({
|
|
139
|
-
query: '',
|
|
140
|
-
login: '',
|
|
141
|
-
user: '',
|
|
142
|
-
open: '',
|
|
143
|
-
launch: '',
|
|
144
|
-
location: '',
|
|
145
|
-
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zfqh/uniapp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.21",
|
|
4
4
|
"description": "uniapp公共模块",
|
|
5
5
|
"author": "yinjiazeng@163.com",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"@types/qs": "^6.9.16",
|
|
47
47
|
"@types/url-parse": "^1.4.11"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "d86be29025a2dd89701bda61dc8f654467771c43"
|
|
50
50
|
}
|