@clownlee/cores 1.0.0
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/README.md +81 -0
- package/dist/cores/src/apis/app-user.d.ts +59 -0
- package/dist/cores/src/apis/auth.d.ts +68 -0
- package/dist/cores/src/apis/client.d.ts +82 -0
- package/dist/cores/src/apis/index.d.ts +9 -0
- package/dist/cores/src/apis/menu.d.ts +68 -0
- package/dist/cores/src/apis/role-permission.d.ts +26 -0
- package/dist/cores/src/apis/role.d.ts +65 -0
- package/dist/cores/src/apis/user-center.d.ts +38 -0
- package/dist/cores/src/index.d.ts +12 -0
- package/dist/cores/src/ui/breadcrumb/breadcrumb.vue.d.ts +57 -0
- package/dist/cores/src/ui/breadcrumb/index.d.ts +2 -0
- package/dist/cores/src/ui/crop-image/index.d.ts +1 -0
- package/dist/cores/src/ui/crop-image/index.vue.d.ts +50 -0
- package/dist/cores/src/ui/iconfont/components/icon-item.vue.d.ts +19 -0
- package/dist/cores/src/ui/iconfont/components/icons-select.vue.d.ts +19 -0
- package/dist/cores/src/ui/iconfont/icon-data.d.ts +5 -0
- package/dist/cores/src/ui/iconfont/index.d.ts +3 -0
- package/dist/cores/src/ui/page-container/index.d.ts +1 -0
- package/dist/cores/src/ui/page-container/index.vue.d.ts +58 -0
- package/dist/cores/src/ui/permission-btn/index.d.ts +5 -0
- package/dist/cores/src/ui/permission-btn/permission-button.vue.d.ts +64 -0
- package/dist/cores/src/ui/permission-btn/permission.vue.d.ts +56 -0
- package/dist/cores/src/ui/permission-btn/types.d.ts +46 -0
- package/dist/cores/src/ui/permission-btn/use-permission.d.ts +21 -0
- package/dist/cores/src/ui/permission-btn/utils.d.ts +47 -0
- package/dist/cores/src/ui/permission-table/index.d.ts +2 -0
- package/dist/cores/src/ui/permission-table/permission-pagination.vue.d.ts +76 -0
- package/dist/cores/src/ui/permission-table/permission-table.vue.d.ts +121 -0
- package/dist/cores/src/utils/date.d.ts +6 -0
- package/dist/cores/src/utils/index.d.ts +1 -0
- package/dist/index.js +19416 -0
- package/package.json +61 -0
package/README.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# @fly/request
|
|
2
|
+
|
|
3
|
+
Axios 公共通用库,提供统一的 HTTP 请求能力和自动 token 刷新功能。
|
|
4
|
+
|
|
5
|
+
## 功能特性
|
|
6
|
+
|
|
7
|
+
- ✅ TypeScript 支持
|
|
8
|
+
- ✅ baseUrl、headers 等配置封装
|
|
9
|
+
- ✅ 请求拦截器和响应拦截器
|
|
10
|
+
- ✅ 支持所有 HTTP 方法(get、post、put、patch、delete 等)
|
|
11
|
+
- ✅ 手动终止请求功能
|
|
12
|
+
- ✅ 自动添加 Bearer token
|
|
13
|
+
- ✅ 401 时自动刷新 token(通过 refreshToken)
|
|
14
|
+
|
|
15
|
+
## 安装
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install @fly/request
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 使用示例
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { init } from '@fly/request'
|
|
25
|
+
import { useUserStore } from '@/stores/user'
|
|
26
|
+
|
|
27
|
+
const userStore = useUserStore()
|
|
28
|
+
|
|
29
|
+
const http = init({
|
|
30
|
+
store: userStore, // pinia 实例
|
|
31
|
+
baseUrl: 'https://api.example.com',
|
|
32
|
+
timeout: 10000,
|
|
33
|
+
headers: {
|
|
34
|
+
'Content-Type': 'application/json'
|
|
35
|
+
},
|
|
36
|
+
refresh: {
|
|
37
|
+
baseUrl: 'https://api.example.com', // 一般情况 = 最外层的 baseUrl
|
|
38
|
+
path: '/api/v1/auth/refresh',
|
|
39
|
+
name: 'Authorization', // 请求头名称
|
|
40
|
+
token: userStore.refreshToken // 通过 pinia localStorage 存储的 refreshToken 值
|
|
41
|
+
}
|
|
42
|
+
})
|
|
43
|
+
|
|
44
|
+
// 使用 HTTP 方法
|
|
45
|
+
const data = await http.get('/api/users')
|
|
46
|
+
const result = await http.post('/api/users', { name: 'John' })
|
|
47
|
+
await http.put('/api/users/1', { name: 'Jane' })
|
|
48
|
+
await http.patch('/api/users/1', { name: 'Jane' })
|
|
49
|
+
await http.delete('/api/users/1')
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## API
|
|
53
|
+
|
|
54
|
+
### init(config)
|
|
55
|
+
|
|
56
|
+
初始化 HTTP 实例。
|
|
57
|
+
|
|
58
|
+
#### 参数
|
|
59
|
+
|
|
60
|
+
- `config.store`: Pinia store 实例,用于存储和获取 token
|
|
61
|
+
- `config.baseUrl`: 接口域名
|
|
62
|
+
- `config.timeout`: 超时时间(毫秒)
|
|
63
|
+
- `config.headers`: 请求头信息
|
|
64
|
+
- `config.refresh`: Token 刷新配置
|
|
65
|
+
- `refresh.baseUrl`: 刷新接口域名
|
|
66
|
+
- `refresh.path`: 刷新接口路径
|
|
67
|
+
- `refresh.name`: 请求头名称(默认为 'Authorization')
|
|
68
|
+
- `refresh.token`: refreshToken 值
|
|
69
|
+
|
|
70
|
+
#### 返回值
|
|
71
|
+
|
|
72
|
+
返回 HTTP 实例,包含以下方法:
|
|
73
|
+
- `get(url, params?, config?)`
|
|
74
|
+
- `post(url, data?, config?)`
|
|
75
|
+
- `put(url, data?, config?)`
|
|
76
|
+
- `patch(url, data?, config?)`
|
|
77
|
+
- `delete(url, config?)`
|
|
78
|
+
- `request(config)`
|
|
79
|
+
- `createCancelToken()`: 创建取消令牌
|
|
80
|
+
- `cancelRequest(cancelToken, message?)`: 手动终止请求
|
|
81
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { RequestInitConfig, HttpInstance } from '../../../http/src';
|
|
2
|
+
|
|
3
|
+
export default class Apis {
|
|
4
|
+
protected http: HttpInstance;
|
|
5
|
+
constructor(config: RequestInitConfig | HttpInstance);
|
|
6
|
+
/**
|
|
7
|
+
* 查询用户列表 API
|
|
8
|
+
* @param data 查询参数,包含 pageNum、pageSize 和其他查询条件
|
|
9
|
+
* @returns 用户列表
|
|
10
|
+
*/
|
|
11
|
+
getAppUserList(data?: {
|
|
12
|
+
pageNum?: number;
|
|
13
|
+
pageSize?: number;
|
|
14
|
+
[key: string]: any;
|
|
15
|
+
}): Promise<any>;
|
|
16
|
+
/**
|
|
17
|
+
* 查询用户详情 API
|
|
18
|
+
* @param id 用户ID
|
|
19
|
+
* @returns 用户详情信息
|
|
20
|
+
*/
|
|
21
|
+
getAppUserDetail(id: string | number): Promise<any>;
|
|
22
|
+
/**
|
|
23
|
+
* 查询用户删除 API
|
|
24
|
+
* @param id 用户ID
|
|
25
|
+
* @returns 操作结果
|
|
26
|
+
*/
|
|
27
|
+
deleteAppUser(id: string): Promise<any>;
|
|
28
|
+
/**
|
|
29
|
+
* 查询用户修改 API
|
|
30
|
+
* @param data 用户更新数据,包含 id 和其他需要更新的字段
|
|
31
|
+
* @returns 操作结果
|
|
32
|
+
*/
|
|
33
|
+
updateAppUser(data: {
|
|
34
|
+
id: string;
|
|
35
|
+
username?: string;
|
|
36
|
+
[key: string]: any;
|
|
37
|
+
}): Promise<any>;
|
|
38
|
+
/**
|
|
39
|
+
* 查询用户启用 API
|
|
40
|
+
* @param id 用户ID
|
|
41
|
+
* @returns 操作结果
|
|
42
|
+
*/
|
|
43
|
+
enableAppUser(id: string): Promise<any>;
|
|
44
|
+
/**
|
|
45
|
+
* 查询用户禁用 API
|
|
46
|
+
* @param id 用户ID
|
|
47
|
+
* @returns 操作结果
|
|
48
|
+
*/
|
|
49
|
+
disableAppUser(id: string): Promise<any>;
|
|
50
|
+
/**
|
|
51
|
+
* 给用户分配角色 API
|
|
52
|
+
* @param data 分配角色数据,包含 userId 和 roleIds 数组
|
|
53
|
+
* @returns 操作结果
|
|
54
|
+
*/
|
|
55
|
+
assignRolesToUser(data: {
|
|
56
|
+
userId: string;
|
|
57
|
+
roleIds: string[];
|
|
58
|
+
}): Promise<any>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { RequestInitConfig, HttpInstance } from '../../../http/src';
|
|
2
|
+
|
|
3
|
+
export default class Apis {
|
|
4
|
+
protected http: HttpInstance;
|
|
5
|
+
constructor(config: RequestInitConfig | HttpInstance);
|
|
6
|
+
/**
|
|
7
|
+
* 用户登录 API
|
|
8
|
+
* @param data 登录表单数据
|
|
9
|
+
* @returns 用户信息和Token
|
|
10
|
+
*/
|
|
11
|
+
login(data: any): Promise<any>;
|
|
12
|
+
/**
|
|
13
|
+
* 用户登出 API
|
|
14
|
+
* @param data 登出数据,包含 userId、password、tenantId
|
|
15
|
+
* @returns 登出结果
|
|
16
|
+
*/
|
|
17
|
+
logout(data?: {
|
|
18
|
+
userId?: string;
|
|
19
|
+
password?: string;
|
|
20
|
+
tenantId?: string;
|
|
21
|
+
}): Promise<any>;
|
|
22
|
+
/**
|
|
23
|
+
* 用户注册 API
|
|
24
|
+
* @param data 注册表单数据
|
|
25
|
+
* @returns 用户信息和Token
|
|
26
|
+
*/
|
|
27
|
+
register(data: any): Promise<any>;
|
|
28
|
+
/**
|
|
29
|
+
* 获取租户列表 API
|
|
30
|
+
* @param type 租户类型:LOGIN(登录)或 REGISTER(注册)
|
|
31
|
+
* @returns 租户列表
|
|
32
|
+
*/
|
|
33
|
+
getTenants(type?: 'LOGIN' | 'REGISTER'): Promise<any>;
|
|
34
|
+
/**
|
|
35
|
+
* 获取授权码 API
|
|
36
|
+
* @param token 一次性Token(JWT)
|
|
37
|
+
* @returns 授权码
|
|
38
|
+
*/
|
|
39
|
+
getAuthorizationCode(token: string): Promise<any>;
|
|
40
|
+
/**
|
|
41
|
+
* 获取AccessToken和RefreshToken API
|
|
42
|
+
* @param code 授权码
|
|
43
|
+
* @param token 一次性Token(JWT)
|
|
44
|
+
* @returns AccessToken和RefreshToken
|
|
45
|
+
*/
|
|
46
|
+
getAccessToken(code: string, token: string): Promise<any>;
|
|
47
|
+
/**
|
|
48
|
+
* Token 刷新 API
|
|
49
|
+
* @param refreshToken RefreshToken
|
|
50
|
+
* @returns 新的AccessToken
|
|
51
|
+
*/
|
|
52
|
+
refreshToken(refreshToken: string): Promise<any>;
|
|
53
|
+
/**
|
|
54
|
+
* 获取子应用授权码 API
|
|
55
|
+
* @param clientId 客户端ID
|
|
56
|
+
* @param responseType 响应类型,默认为 'code'
|
|
57
|
+
* @returns 授权码
|
|
58
|
+
*/
|
|
59
|
+
getSubAppAuthCode(clientId: string, responseType?: string): Promise<any>;
|
|
60
|
+
/**
|
|
61
|
+
* 获取子应用Token API
|
|
62
|
+
* @param clientId 客户端ID
|
|
63
|
+
* @param code 授权码
|
|
64
|
+
* @param redirectUri 重定向URI,默认为 'temp'
|
|
65
|
+
* @returns AccessToken和RefreshToken
|
|
66
|
+
*/
|
|
67
|
+
getSubAppToken(clientId: string, code: string, redirectUri?: string): Promise<any>;
|
|
68
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { RequestInitConfig, HttpInstance } from '../../../http/src';
|
|
2
|
+
|
|
3
|
+
export default class Apis {
|
|
4
|
+
protected http: HttpInstance;
|
|
5
|
+
constructor(config: RequestInitConfig | HttpInstance);
|
|
6
|
+
/**
|
|
7
|
+
* 客户端详情 API
|
|
8
|
+
* @param id 客户端ID
|
|
9
|
+
* @returns 客户端详情信息
|
|
10
|
+
*/
|
|
11
|
+
getClientDetail(id: string): Promise<any>;
|
|
12
|
+
/**
|
|
13
|
+
* 客户端修改 API
|
|
14
|
+
* @param data 客户端更新数据,包含 id、applicationId、clientName 等
|
|
15
|
+
* @returns 操作结果
|
|
16
|
+
*/
|
|
17
|
+
updateClient(data: {
|
|
18
|
+
id: string;
|
|
19
|
+
applicationId?: string;
|
|
20
|
+
clientName?: string;
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}): Promise<any>;
|
|
23
|
+
/**
|
|
24
|
+
* 客户端删除 API
|
|
25
|
+
* @param id 客户端ID
|
|
26
|
+
* @returns 操作结果
|
|
27
|
+
*/
|
|
28
|
+
deleteClient(id: string): Promise<any>;
|
|
29
|
+
/**
|
|
30
|
+
* 客户端创建 API
|
|
31
|
+
* @param data 客户端创建数据,包含 clientName、clientType、scopes、applicationId 等
|
|
32
|
+
* @returns 操作结果
|
|
33
|
+
*/
|
|
34
|
+
createClient(data: {
|
|
35
|
+
clientName: string;
|
|
36
|
+
clientType: string;
|
|
37
|
+
scopes: string[];
|
|
38
|
+
applicationId: string;
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
}): Promise<any>;
|
|
41
|
+
/**
|
|
42
|
+
* 客户端列表查询 API
|
|
43
|
+
* @param data 查询参数,包含 pageNum、pageSize、clientName 等
|
|
44
|
+
* @returns 客户端列表
|
|
45
|
+
*/
|
|
46
|
+
getClientList(data?: {
|
|
47
|
+
pageNum?: string | number;
|
|
48
|
+
pageSize?: string | number;
|
|
49
|
+
clientName?: string;
|
|
50
|
+
[key: string]: any;
|
|
51
|
+
}): Promise<any>;
|
|
52
|
+
/**
|
|
53
|
+
* 可被授权客户端的应用 API
|
|
54
|
+
* @param data 查询参数
|
|
55
|
+
* @returns 可被授权的应用列表
|
|
56
|
+
*/
|
|
57
|
+
getAvailableApplications(data?: Record<string, any>): Promise<any>;
|
|
58
|
+
/**
|
|
59
|
+
* 已启用的授权客户端 API
|
|
60
|
+
* @param data 查询参数,包含 pageNum、pageSize、clientName、status 等
|
|
61
|
+
* @returns 已启用的客户端列表
|
|
62
|
+
*/
|
|
63
|
+
getEnabledClientList(data?: {
|
|
64
|
+
pageNum?: number;
|
|
65
|
+
pageSize?: number;
|
|
66
|
+
clientName?: string;
|
|
67
|
+
status?: number;
|
|
68
|
+
[key: string]: any;
|
|
69
|
+
}): Promise<any>;
|
|
70
|
+
/**
|
|
71
|
+
* 启用授权客户端 API
|
|
72
|
+
* @param id 客户端ID
|
|
73
|
+
* @returns 操作结果
|
|
74
|
+
*/
|
|
75
|
+
enableClient(id: string): Promise<any>;
|
|
76
|
+
/**
|
|
77
|
+
* 禁用授权客户端 API
|
|
78
|
+
* @param id 客户端ID
|
|
79
|
+
* @returns 操作结果
|
|
80
|
+
*/
|
|
81
|
+
disableClient(id: string): Promise<any>;
|
|
82
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as MenuApis } from './menu';
|
|
2
|
+
import { default as AuthApis } from './auth';
|
|
3
|
+
import { default as AppUserApis } from './app-user';
|
|
4
|
+
import { default as ClientApis } from './client';
|
|
5
|
+
import { default as RoleApis } from './role';
|
|
6
|
+
import { default as RolePermissionApis } from './role-permission';
|
|
7
|
+
import { default as UserCenterApis } from './user-center';
|
|
8
|
+
|
|
9
|
+
export { MenuApis, AuthApis, AppUserApis, ClientApis, RoleApis, RolePermissionApis, UserCenterApis, };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { RequestInitConfig, HttpInstance } from '../../../http/src';
|
|
2
|
+
|
|
3
|
+
export default class Apis {
|
|
4
|
+
protected http: HttpInstance;
|
|
5
|
+
constructor(config: RequestInitConfig | HttpInstance);
|
|
6
|
+
/**
|
|
7
|
+
* 查询菜单 API
|
|
8
|
+
* @param data 查询参数,包含 includeFunc 等
|
|
9
|
+
* @returns 菜单列表
|
|
10
|
+
*/
|
|
11
|
+
getMenuList(data?: {
|
|
12
|
+
includeFunc?: boolean;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}): Promise<any>;
|
|
15
|
+
/**
|
|
16
|
+
* 查询平铺菜单 API
|
|
17
|
+
* @param data 查询参数
|
|
18
|
+
* @returns 平铺菜单列表
|
|
19
|
+
*/
|
|
20
|
+
getMenuListSimple(data?: Record<string, any>, accessToken?: string): Promise<any>;
|
|
21
|
+
/**
|
|
22
|
+
* 菜单启用 API
|
|
23
|
+
* @param id 菜单ID
|
|
24
|
+
* @returns 操作结果
|
|
25
|
+
*/
|
|
26
|
+
enableMenu(id: string): Promise<any>;
|
|
27
|
+
/**
|
|
28
|
+
* 菜单禁用 API
|
|
29
|
+
* @param id 菜单ID
|
|
30
|
+
* @returns 操作结果
|
|
31
|
+
*/
|
|
32
|
+
disableMenu(id: string): Promise<any>;
|
|
33
|
+
/**
|
|
34
|
+
* 删除菜单 API
|
|
35
|
+
* @param id 菜单ID
|
|
36
|
+
* @returns 操作结果
|
|
37
|
+
*/
|
|
38
|
+
deleteMenu(id: string): Promise<any>;
|
|
39
|
+
/**
|
|
40
|
+
* 菜单详情 API
|
|
41
|
+
* @param id 菜单ID
|
|
42
|
+
* @returns 菜单详情信息
|
|
43
|
+
*/
|
|
44
|
+
getMenuDetail(id: string): Promise<any>;
|
|
45
|
+
/**
|
|
46
|
+
* 创建菜单 API
|
|
47
|
+
* @param data 菜单创建数据,包含 menuName、menuPath、menuLevel、parentId、menuCode、menuType 等
|
|
48
|
+
* @returns 操作结果
|
|
49
|
+
*/
|
|
50
|
+
createMenu(data: {
|
|
51
|
+
menuName: string;
|
|
52
|
+
menuPath?: string;
|
|
53
|
+
menuLevel?: number;
|
|
54
|
+
parentId?: string;
|
|
55
|
+
menuCode?: string;
|
|
56
|
+
menuType?: string;
|
|
57
|
+
[key: string]: any;
|
|
58
|
+
}): Promise<any>;
|
|
59
|
+
/**
|
|
60
|
+
* 修改菜单 API
|
|
61
|
+
* @param data 菜单更新数据,包含 id 和其他需要更新的字段
|
|
62
|
+
* @returns 操作结果
|
|
63
|
+
*/
|
|
64
|
+
updateMenu(data: {
|
|
65
|
+
id: string;
|
|
66
|
+
[key: string]: any;
|
|
67
|
+
}): Promise<any>;
|
|
68
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { RequestInitConfig, HttpInstance } from '../../../http/src';
|
|
2
|
+
|
|
3
|
+
export default class Apis {
|
|
4
|
+
protected http: HttpInstance;
|
|
5
|
+
constructor(config: RequestInitConfig | HttpInstance);
|
|
6
|
+
/**
|
|
7
|
+
* 查询角色已授权的菜单/func API
|
|
8
|
+
* @param roleId 角色ID
|
|
9
|
+
* @returns 已授权的菜单和功能列表
|
|
10
|
+
*/
|
|
11
|
+
getRolePermissionDetail(roleId: string): Promise<any>;
|
|
12
|
+
/**
|
|
13
|
+
* 给角色授权菜单/func API
|
|
14
|
+
* @param data 授权数据,包含 roleId 和 menuIds 数组
|
|
15
|
+
* @returns 操作结果
|
|
16
|
+
*/
|
|
17
|
+
saveRolePermission(data: {
|
|
18
|
+
roleId: string;
|
|
19
|
+
menuIds: string[];
|
|
20
|
+
}): Promise<any>;
|
|
21
|
+
/**
|
|
22
|
+
* 获取当前用户的权限 API
|
|
23
|
+
* @returns 操作结果
|
|
24
|
+
*/
|
|
25
|
+
getUserPermission(): Promise<any>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { RequestInitConfig, HttpInstance } from '../../../http/src';
|
|
2
|
+
|
|
3
|
+
export default class Apis {
|
|
4
|
+
protected http: HttpInstance;
|
|
5
|
+
constructor(config: RequestInitConfig | HttpInstance);
|
|
6
|
+
/**
|
|
7
|
+
* 查询角色详情 API
|
|
8
|
+
* @param id 角色ID
|
|
9
|
+
* @returns 角色详情信息
|
|
10
|
+
*/
|
|
11
|
+
getRoleDetail(id: string): Promise<any>;
|
|
12
|
+
/**
|
|
13
|
+
* 分页查询角色 API
|
|
14
|
+
* @param data 查询参数,包含 pageNum、pageSize 等
|
|
15
|
+
* @returns 角色列表
|
|
16
|
+
*/
|
|
17
|
+
getRoleList(data?: {
|
|
18
|
+
pageNum?: string | number;
|
|
19
|
+
pageSize?: string | number;
|
|
20
|
+
[key: string]: any;
|
|
21
|
+
}): Promise<any>;
|
|
22
|
+
/**
|
|
23
|
+
* 创建角色 API
|
|
24
|
+
* @param data 角色创建数据,包含 roleCode、roleName、roleDesc、sort 等
|
|
25
|
+
* @returns 操作结果
|
|
26
|
+
*/
|
|
27
|
+
createRole(data: {
|
|
28
|
+
roleCode: string;
|
|
29
|
+
roleName: string;
|
|
30
|
+
roleDesc?: string;
|
|
31
|
+
sort?: string | number;
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}): Promise<any>;
|
|
34
|
+
/**
|
|
35
|
+
* 修改角色 API
|
|
36
|
+
* @param data 角色更新数据,包含 id 和其他需要更新的字段
|
|
37
|
+
* @returns 操作结果
|
|
38
|
+
*/
|
|
39
|
+
updateRole(data: {
|
|
40
|
+
id: string;
|
|
41
|
+
roleCode?: string;
|
|
42
|
+
roleName?: string;
|
|
43
|
+
roleDesc?: string;
|
|
44
|
+
sort?: string | number;
|
|
45
|
+
[key: string]: any;
|
|
46
|
+
}): Promise<any>;
|
|
47
|
+
/**
|
|
48
|
+
* 删除角色 API
|
|
49
|
+
* @param id 角色ID
|
|
50
|
+
* @returns 操作结果
|
|
51
|
+
*/
|
|
52
|
+
deleteRole(id: string): Promise<any>;
|
|
53
|
+
/**
|
|
54
|
+
* 启用角色 API
|
|
55
|
+
* @param id 角色ID
|
|
56
|
+
* @returns 操作结果
|
|
57
|
+
*/
|
|
58
|
+
enableRole(id: string): Promise<any>;
|
|
59
|
+
/**
|
|
60
|
+
* 禁用角色 API
|
|
61
|
+
* @param id 角色ID
|
|
62
|
+
* @returns 操作结果
|
|
63
|
+
*/
|
|
64
|
+
disableRole(id: string): Promise<any>;
|
|
65
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { RequestInitConfig, HttpInstance } from '../../../http/src';
|
|
2
|
+
|
|
3
|
+
export default class Apis {
|
|
4
|
+
protected http: HttpInstance;
|
|
5
|
+
constructor(config: RequestInitConfig | HttpInstance);
|
|
6
|
+
/**
|
|
7
|
+
* 查询用户中心用户详情
|
|
8
|
+
* @returns 用户详情
|
|
9
|
+
*/
|
|
10
|
+
getUserCenterUserDetail(data?: Record<string, any>): Promise<any>;
|
|
11
|
+
/**
|
|
12
|
+
* 修改用户中心密码
|
|
13
|
+
* @param data 修改密码数据
|
|
14
|
+
* @param oldPassword 旧密码
|
|
15
|
+
* @param newPassword 新密码
|
|
16
|
+
* @param confirmPassword 确认密码
|
|
17
|
+
* @returns 修改密码结果
|
|
18
|
+
*/
|
|
19
|
+
updateUserCenterPassword(data: {
|
|
20
|
+
oldPassword: string;
|
|
21
|
+
newPassword: string;
|
|
22
|
+
confirmPassword: string;
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
}): Promise<any>;
|
|
25
|
+
/**
|
|
26
|
+
* 修改用户中心个人信息
|
|
27
|
+
* @param data 修改个人信息数据
|
|
28
|
+
* @returns 修改个人信息结果
|
|
29
|
+
*/
|
|
30
|
+
updateUserCenterUserInfo(data: {
|
|
31
|
+
userId?: string;
|
|
32
|
+
realName?: string;
|
|
33
|
+
avatarUrl?: string;
|
|
34
|
+
phone?: string;
|
|
35
|
+
email?: string;
|
|
36
|
+
[key: string]: any;
|
|
37
|
+
}): Promise<any>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { default as init } from '../../http/src';
|
|
2
|
+
|
|
3
|
+
export declare const initHttp: typeof init;
|
|
4
|
+
export type { RequestInitConfig, RefreshConfig, HttpRequestConfig, HttpResponse, HttpInstance, TokenResponse, } from '../../http/src';
|
|
5
|
+
export * from './apis';
|
|
6
|
+
export * from './ui/permission-btn';
|
|
7
|
+
export * from './ui/permission-table';
|
|
8
|
+
export * from './ui/breadcrumb';
|
|
9
|
+
export * from './ui/iconfont';
|
|
10
|
+
export * from './ui/crop-image';
|
|
11
|
+
export * from './ui/page-container';
|
|
12
|
+
export * from './utils';
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { RouteLocationNormalized, RouteRecordRaw } from 'vue-router';
|
|
2
|
+
|
|
3
|
+
export interface BreadcrumbItem {
|
|
4
|
+
path: string;
|
|
5
|
+
name?: string | symbol;
|
|
6
|
+
meta?: {
|
|
7
|
+
title?: string;
|
|
8
|
+
id?: string;
|
|
9
|
+
parentId?: string;
|
|
10
|
+
[key: string]: any;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface BreadcrumbProps {
|
|
14
|
+
/** 当前路由对象 */
|
|
15
|
+
route: RouteLocationNormalized;
|
|
16
|
+
/** 应用名称 */
|
|
17
|
+
appName?: string;
|
|
18
|
+
/** 路由配置数组,用于生成面包屑 */
|
|
19
|
+
routes?: RouteRecordRaw[];
|
|
20
|
+
/** 排除的路由名称(如 Layout 等) */
|
|
21
|
+
excludeRouteNames?: (string | symbol)[];
|
|
22
|
+
}
|
|
23
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BreadcrumbProps>, {
|
|
24
|
+
appName: string;
|
|
25
|
+
routes: () => never[];
|
|
26
|
+
excludeRouteNames: () => string[];
|
|
27
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
28
|
+
redirect: (item: BreadcrumbItem, index: number) => void;
|
|
29
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BreadcrumbProps>, {
|
|
30
|
+
appName: string;
|
|
31
|
+
routes: () => never[];
|
|
32
|
+
excludeRouteNames: () => string[];
|
|
33
|
+
}>>> & Readonly<{
|
|
34
|
+
onRedirect?: ((item: BreadcrumbItem, index: number) => any) | undefined;
|
|
35
|
+
}>, {
|
|
36
|
+
appName: string;
|
|
37
|
+
routes: RouteRecordRaw[];
|
|
38
|
+
excludeRouteNames: (string | symbol)[];
|
|
39
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
40
|
+
export default _default;
|
|
41
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
42
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
43
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
44
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
45
|
+
} : {
|
|
46
|
+
type: import('vue').PropType<T[K]>;
|
|
47
|
+
required: true;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
type __VLS_WithDefaults<P, D> = {
|
|
51
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
52
|
+
default: D[K];
|
|
53
|
+
}> : P[K];
|
|
54
|
+
};
|
|
55
|
+
type __VLS_Prettify<T> = {
|
|
56
|
+
[K in keyof T]: T[K];
|
|
57
|
+
} & {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as CropImage } from './index.vue';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
|
|
2
|
+
interface Props {
|
|
3
|
+
modelValue: string;
|
|
4
|
+
aspectRatio?: number;
|
|
5
|
+
}
|
|
6
|
+
declare function __VLS_template(): {
|
|
7
|
+
button?(_: {
|
|
8
|
+
open: () => Promise<void>;
|
|
9
|
+
}): any;
|
|
10
|
+
};
|
|
11
|
+
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
|
|
12
|
+
aspectRatio: () => number;
|
|
13
|
+
modelValue: string;
|
|
14
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
15
|
+
"update:modelValue": (value: string) => void;
|
|
16
|
+
"update:aspectRatio": (value: number) => void;
|
|
17
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
|
|
18
|
+
aspectRatio: () => number;
|
|
19
|
+
modelValue: string;
|
|
20
|
+
}>>> & Readonly<{
|
|
21
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
22
|
+
"onUpdate:aspectRatio"?: ((value: number) => any) | undefined;
|
|
23
|
+
}>, {
|
|
24
|
+
modelValue: string;
|
|
25
|
+
aspectRatio: number;
|
|
26
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
27
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
|
28
|
+
export default _default;
|
|
29
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
30
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
31
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
32
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
33
|
+
} : {
|
|
34
|
+
type: import('vue').PropType<T[K]>;
|
|
35
|
+
required: true;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
type __VLS_WithDefaults<P, D> = {
|
|
39
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
40
|
+
default: D[K];
|
|
41
|
+
}> : P[K];
|
|
42
|
+
};
|
|
43
|
+
type __VLS_Prettify<T> = {
|
|
44
|
+
[K in keyof T]: T[K];
|
|
45
|
+
} & {};
|
|
46
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
47
|
+
new (): {
|
|
48
|
+
$slots: S;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
name: string;
|
|
3
|
+
size?: number;
|
|
4
|
+
color?: string;
|
|
5
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
6
|
+
name: string;
|
|
7
|
+
size?: number;
|
|
8
|
+
color?: string;
|
|
9
|
+
}>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
10
|
+
export default _default;
|
|
11
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
12
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
13
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
14
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
15
|
+
} : {
|
|
16
|
+
type: import('vue').PropType<T[K]>;
|
|
17
|
+
required: true;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
2
|
+
modelValue?: string;
|
|
3
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
4
|
+
"update:modelValue": (value: string | undefined) => void;
|
|
5
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
6
|
+
modelValue?: string;
|
|
7
|
+
}>>> & Readonly<{
|
|
8
|
+
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
9
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
10
|
+
export default _default;
|
|
11
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
12
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
13
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
14
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
15
|
+
} : {
|
|
16
|
+
type: import('vue').PropType<T[K]>;
|
|
17
|
+
required: true;
|
|
18
|
+
};
|
|
19
|
+
};
|