@ibiz-template/runtime 0.5.7-alpha.3 → 0.5.7-alpha.4
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/dist/index.esm.js +551 -207
- package/dist/index.system.min.js +1 -1
- package/out/app-hub.d.ts +2 -0
- package/out/app-hub.d.ts.map +1 -1
- package/out/app-hub.js +2 -0
- package/out/application.js +1 -1
- package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
- package/out/controller/control/exp-bar/exp-bar.controller.js +7 -0
- package/out/controller/control/exp-bar/tree-exp-bar.controller.d.ts +5 -0
- package/out/controller/control/exp-bar/tree-exp-bar.controller.d.ts.map +1 -1
- package/out/controller/control/exp-bar/tree-exp-bar.controller.js +16 -0
- package/out/controller/notification/async-action.controller.d.ts +64 -0
- package/out/controller/notification/async-action.controller.d.ts.map +1 -0
- package/out/controller/notification/async-action.controller.js +141 -0
- package/out/controller/notification/index.d.ts +2 -0
- package/out/controller/notification/index.d.ts.map +1 -0
- package/out/controller/notification/index.js +1 -0
- package/out/controller/notification/internal-message.controller.d.ts +23 -0
- package/out/controller/notification/internal-message.controller.d.ts.map +1 -0
- package/out/controller/notification/internal-message.controller.js +50 -0
- package/out/controller/notification/notice.controller.d.ts +10 -0
- package/out/controller/notification/notice.controller.d.ts.map +1 -0
- package/out/controller/notification/notice.controller.js +13 -0
- package/out/global/global-util/global-util.d.ts +9 -1
- package/out/global/global-util/global-util.d.ts.map +1 -1
- package/out/global/global-util/global-util.js +9 -1
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +8 -1
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
- package/out/interface/common/i-popover-options/i-popover-options.d.ts +9 -1
- package/out/interface/common/i-popover-options/i-popover-options.d.ts.map +1 -1
- package/out/interface/controller/controller/index.d.ts +1 -0
- package/out/interface/controller/controller/index.d.ts.map +1 -1
- package/out/interface/controller/controller/index.js +1 -0
- package/out/interface/controller/controller/notice/i-async-action.controller.d.ts +49 -0
- package/out/interface/controller/controller/notice/i-async-action.controller.d.ts.map +1 -0
- package/out/interface/controller/controller/notice/i-async-action.controller.js +1 -0
- package/out/interface/controller/controller/notice/i-internal-message.controller.d.ts +68 -0
- package/out/interface/controller/controller/notice/i-internal-message.controller.d.ts.map +1 -0
- package/out/interface/controller/controller/notice/i-internal-message.controller.js +1 -0
- package/out/interface/controller/controller/notice/i-notice.controller.d.ts +33 -0
- package/out/interface/controller/controller/notice/i-notice.controller.d.ts.map +1 -0
- package/out/interface/controller/controller/notice/i-notice.controller.js +1 -0
- package/out/interface/controller/controller/notice/index.d.ts +4 -0
- package/out/interface/controller/controller/notice/index.d.ts.map +1 -0
- package/out/interface/controller/controller/notice/index.js +1 -0
- package/out/interface/provider/i-async-action.provider.d.ts +11 -3
- package/out/interface/provider/i-async-action.provider.d.ts.map +1 -1
- package/out/interface/provider/i-internal-message.provider.d.ts +10 -2
- package/out/interface/provider/i-internal-message.provider.d.ts.map +1 -1
- package/out/interface/util/i-notice-util/i-notice-util.d.ts +34 -0
- package/out/interface/util/i-notice-util/i-notice-util.d.ts.map +1 -0
- package/out/interface/util/i-notice-util/i-notice-util.js +1 -0
- package/out/interface/util/i-open-view-util/i-open-view-util.d.ts +2 -2
- package/out/interface/util/i-open-view-util/i-open-view-util.d.ts.map +1 -1
- package/out/interface/util/index.d.ts +1 -0
- package/out/interface/util/index.d.ts.map +1 -1
- package/out/register/helper/async-action-register.d.ts +2 -1
- package/out/register/helper/async-action-register.d.ts.map +1 -1
- package/out/register/helper/async-action-register.js +3 -3
- package/out/register/helper/internal-message-register.js +2 -2
- package/out/service/service/internal-message/internal-message.service.d.ts +1 -1
- package/out/service/service/internal-message/internal-message.service.d.ts.map +1 -1
- package/out/service/service/internal-message/internal-message.service.js +7 -16
- package/out/types.d.ts +8 -1
- package/out/types.d.ts.map +1 -1
- package/out/utils/file-util/file-util.d.ts +57 -0
- package/out/utils/file-util/file-util.d.ts.map +1 -0
- package/out/utils/file-util/file-util.js +113 -0
- package/out/utils/file-util/index.d.ts +2 -0
- package/out/utils/file-util/index.d.ts.map +1 -0
- package/out/utils/file-util/index.js +1 -0
- package/out/utils/index.d.ts +1 -0
- package/out/utils/index.d.ts.map +1 -1
- package/out/utils/index.js +1 -0
- package/package.json +3 -3
- package/src/app-hub.ts +3 -0
- package/src/application.ts +1 -1
- package/src/controller/control/exp-bar/exp-bar.controller.ts +6 -0
- package/src/controller/control/exp-bar/tree-exp-bar.controller.ts +17 -0
- package/src/controller/notification/async-action.controller.ts +163 -0
- package/src/controller/notification/index.ts +1 -0
- package/src/controller/notification/internal-message.controller.ts +64 -0
- package/src/controller/notification/notice.controller.ts +16 -0
- package/src/global/global-util/global-util.ts +10 -0
- package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +9 -1
- package/src/interface/common/i-popover-options/i-popover-options.ts +10 -1
- package/src/interface/controller/controller/index.ts +1 -0
- package/src/interface/controller/controller/notice/i-async-action.controller.ts +52 -0
- package/src/interface/controller/controller/notice/i-internal-message.controller.ts +74 -0
- package/src/interface/controller/controller/notice/i-notice.controller.ts +36 -0
- package/src/interface/controller/controller/notice/index.ts +9 -0
- package/src/interface/provider/i-async-action.provider.ts +14 -3
- package/src/interface/provider/i-internal-message.provider.ts +10 -2
- package/src/interface/util/i-notice-util/i-notice-util.ts +34 -0
- package/src/interface/util/i-open-view-util/i-open-view-util.ts +2 -1
- package/src/interface/util/index.ts +1 -0
- package/src/register/helper/async-action-register.ts +4 -4
- package/src/register/helper/internal-message-register.ts +2 -2
- package/src/service/service/internal-message/internal-message.service.ts +12 -18
- package/src/types.ts +9 -0
- package/src/utils/file-util/file-util.ts +141 -0
- package/src/utils/file-util/index.ts +1 -0
- package/src/utils/index.ts +1 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IModalData } from '../../common';
|
|
1
|
+
import { IModalData, IPopoverOptions } from '../../common';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* 打开视图工具类
|
|
@@ -83,6 +83,7 @@ export interface IOpenViewUtil {
|
|
|
83
83
|
event: MouseEvent,
|
|
84
84
|
context: IContext,
|
|
85
85
|
params?: IParams,
|
|
86
|
+
options?: IPopoverOptions,
|
|
86
87
|
): Promise<IModalData>;
|
|
87
88
|
|
|
88
89
|
/**
|
|
@@ -17,3 +17,4 @@ export type { IScriptFunctionOpts } from './script/i-script-function';
|
|
|
17
17
|
export type { IExcelUtil } from './i-excel-util/i-excel-util';
|
|
18
18
|
export type { IViewStack, IViewStackEvent } from './i-view-stack/i-view-stack';
|
|
19
19
|
export type { IAnimationOptions } from './i-animation-util/i-animation-options';
|
|
20
|
+
export type { INoticeUtil } from './i-notice-util/i-notice-util';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RuntimeError } from '@ibiz-template/core';
|
|
1
|
+
import { IPortalAsyncAction, RuntimeError } from '@ibiz-template/core';
|
|
2
2
|
import { IAsyncActionProvider } from '../../interface';
|
|
3
3
|
|
|
4
4
|
/** 界面行为适配器前缀 */
|
|
@@ -34,15 +34,15 @@ function getProvider(key: string): IAsyncActionProvider | undefined {
|
|
|
34
34
|
* @return {*} {Promise<IAsyncActionProvider>}
|
|
35
35
|
*/
|
|
36
36
|
export function getAsyncActionProvider(
|
|
37
|
-
|
|
37
|
+
action: IPortalAsyncAction,
|
|
38
38
|
): IAsyncActionProvider {
|
|
39
39
|
const provider: IAsyncActionProvider | undefined = getProvider(
|
|
40
|
-
actiontype || 'DEFAULT',
|
|
40
|
+
action.actiontype || 'DEFAULT',
|
|
41
41
|
);
|
|
42
42
|
|
|
43
43
|
// 找异步操作类型
|
|
44
44
|
if (!provider) {
|
|
45
|
-
throw new RuntimeError(`找不异步操作类型${actiontype}对应的适配器`);
|
|
45
|
+
throw new RuntimeError(`找不异步操作类型${action.actiontype}对应的适配器`);
|
|
46
46
|
} else {
|
|
47
47
|
return provider;
|
|
48
48
|
}
|
|
@@ -40,12 +40,12 @@ export function getInternalMessageProvider(
|
|
|
40
40
|
msg: IInternalMessage,
|
|
41
41
|
): IInternalMessageProvider {
|
|
42
42
|
const provider: IInternalMessageProvider | undefined = getProvider(
|
|
43
|
-
msg.
|
|
43
|
+
msg.content_type || 'DEFAULT',
|
|
44
44
|
);
|
|
45
45
|
|
|
46
46
|
// 找异步操作类型
|
|
47
47
|
if (!provider) {
|
|
48
|
-
throw new RuntimeError(`找不站内信类型${msg.
|
|
48
|
+
throw new RuntimeError(`找不站内信类型${msg.content_type}对应的适配器`);
|
|
49
49
|
} else {
|
|
50
50
|
return provider;
|
|
51
51
|
}
|
|
@@ -8,7 +8,7 @@ export class InternalMessageService implements IInternalMessageService {
|
|
|
8
8
|
* @author lxm
|
|
9
9
|
* @date 2024-01-23 02:06:47
|
|
10
10
|
*/
|
|
11
|
-
baseUrl = '/extension/internal_messages';
|
|
11
|
+
protected baseUrl = '/extension/internal_messages';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* 获取站内信的集合
|
|
@@ -20,13 +20,18 @@ export class InternalMessageService implements IInternalMessageService {
|
|
|
20
20
|
async fetch(
|
|
21
21
|
params: IParams = {},
|
|
22
22
|
): Promise<IHttpResponse<IInternalMessage[]>> {
|
|
23
|
-
//
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
ok: true,
|
|
23
|
+
// 默认的查询参数
|
|
24
|
+
const fetchParams = {
|
|
25
|
+
page: 0,
|
|
26
|
+
size: 20,
|
|
27
|
+
sort: 'update_time,desc',
|
|
29
28
|
};
|
|
29
|
+
Object.assign(fetchParams, params);
|
|
30
|
+
|
|
31
|
+
const res = await ibiz.net.post(
|
|
32
|
+
`${this.baseUrl}/fetch_cur_receiver`,
|
|
33
|
+
fetchParams,
|
|
34
|
+
);
|
|
30
35
|
if (res.headers) {
|
|
31
36
|
if (res.headers['x-page']) {
|
|
32
37
|
res.page = Number(res.headers['x-page']);
|
|
@@ -41,17 +46,6 @@ export class InternalMessageService implements IInternalMessageService {
|
|
|
41
46
|
if (isNil(res.data)) {
|
|
42
47
|
res.data = [];
|
|
43
48
|
}
|
|
44
|
-
|
|
45
|
-
res.page = params.page;
|
|
46
|
-
res.total = 34;
|
|
47
|
-
res.data = Array.from({ length: params.size }, (_, i) => ({
|
|
48
|
-
id: i + 1,
|
|
49
|
-
status: 'RECEIVED',
|
|
50
|
-
title: `标题${i + 1}`,
|
|
51
|
-
content: `内容${i + 1}长内容`,
|
|
52
|
-
short_content: `内容${i + 1}短内容`,
|
|
53
|
-
create_time: new Date().toISOString(),
|
|
54
|
-
}));
|
|
55
49
|
return res as IHttpResponse<IInternalMessage[]>;
|
|
56
50
|
}
|
|
57
51
|
|
package/src/types.ts
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
IAsyncActionService,
|
|
17
17
|
IPlatformProvider,
|
|
18
18
|
IInternalMessageService,
|
|
19
|
+
INoticeUtil,
|
|
19
20
|
} from './interface';
|
|
20
21
|
import { LogicSchedulerCenter } from './logic-scheduler';
|
|
21
22
|
import { RegisterCenter } from './register/register-center';
|
|
@@ -81,6 +82,14 @@ declare module '@ibiz-template/core' {
|
|
|
81
82
|
*/
|
|
82
83
|
notification: INotificationUtil;
|
|
83
84
|
|
|
85
|
+
/**
|
|
86
|
+
* 全局的消息通知类
|
|
87
|
+
* @author lxm
|
|
88
|
+
* @date 2024-01-26 05:10:37
|
|
89
|
+
* @type {INoticeUtil}
|
|
90
|
+
*/
|
|
91
|
+
notice: INoticeUtil;
|
|
92
|
+
|
|
84
93
|
/**
|
|
85
94
|
* 多模式打开视图工具类
|
|
86
95
|
*
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { RuntimeError, downloadFileFromBlob } from '@ibiz-template/core';
|
|
2
|
+
import qs from 'qs';
|
|
3
|
+
import { convertNavData } from '../nav-params/nav-params';
|
|
4
|
+
|
|
5
|
+
export class FileUtil {
|
|
6
|
+
/**
|
|
7
|
+
* 计算OSSCat参数
|
|
8
|
+
*
|
|
9
|
+
* @author zk
|
|
10
|
+
* @date 2024-01-26 02:01:52
|
|
11
|
+
* @param {string} url
|
|
12
|
+
* @param {IContext} context
|
|
13
|
+
* @return {*} {string}
|
|
14
|
+
* @memberof FileUtil
|
|
15
|
+
*/
|
|
16
|
+
protected calcOSSCatUrl(
|
|
17
|
+
url: string,
|
|
18
|
+
context: IContext,
|
|
19
|
+
OSSCatName?: string,
|
|
20
|
+
): string {
|
|
21
|
+
let uploadUrl = `${ibiz.env.baseUrl}/${ibiz.env.appId}${url}`;
|
|
22
|
+
const app = ibiz.hub.getApp(context.srfappid);
|
|
23
|
+
const OSSCat =
|
|
24
|
+
OSSCatName ||
|
|
25
|
+
app.model.defaultOSSCat ||
|
|
26
|
+
app.model.userParam?.DefaultOSSCat;
|
|
27
|
+
uploadUrl = uploadUrl.replace('/{cat}', OSSCat ? `/${OSSCat}` : '');
|
|
28
|
+
return uploadUrl;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 计算文件的上传路径和下载路径
|
|
33
|
+
* 下载路径文件id用%fileId%占位,替换即可
|
|
34
|
+
* 配置编辑器参数uploadParams和exportParams时,会像导航参数一样动态添加对应的参数到url上
|
|
35
|
+
*
|
|
36
|
+
* @author zk
|
|
37
|
+
* @date 2024-01-26 02:01:15
|
|
38
|
+
* @param {IData} data
|
|
39
|
+
* @param {IContext} context
|
|
40
|
+
* @param {IParams} params
|
|
41
|
+
* @param {IParams} uploadParams
|
|
42
|
+
* @param {IParams} exportParams
|
|
43
|
+
* @return {*} {{
|
|
44
|
+
* uploadUrl: string;
|
|
45
|
+
* downloadUrl: string;
|
|
46
|
+
* }}
|
|
47
|
+
* @memberof FileUtil
|
|
48
|
+
*/
|
|
49
|
+
calcFileUpDownUrl(
|
|
50
|
+
context: IContext,
|
|
51
|
+
params: IParams,
|
|
52
|
+
data: IData = {},
|
|
53
|
+
extraParams: IData = {},
|
|
54
|
+
): {
|
|
55
|
+
uploadUrl: string;
|
|
56
|
+
downloadUrl: string;
|
|
57
|
+
} {
|
|
58
|
+
const { uploadParams, exportParams, osscat: OSSCatName } = extraParams;
|
|
59
|
+
// 计算文件上传路径
|
|
60
|
+
let uploadUrl = this.calcOSSCatUrl(
|
|
61
|
+
ibiz.env.uploadFileUrl,
|
|
62
|
+
context,
|
|
63
|
+
OSSCatName,
|
|
64
|
+
);
|
|
65
|
+
let downloadUrl = this.calcOSSCatUrl(
|
|
66
|
+
`${ibiz.env.downloadFileUrl}/%fileId%`,
|
|
67
|
+
context,
|
|
68
|
+
OSSCatName,
|
|
69
|
+
);
|
|
70
|
+
let _uploadParams: IParams = {};
|
|
71
|
+
let _exportParams: IParams = {};
|
|
72
|
+
if (uploadParams) {
|
|
73
|
+
_uploadParams = convertNavData(uploadParams, data, params, context);
|
|
74
|
+
}
|
|
75
|
+
if (exportParams) {
|
|
76
|
+
_exportParams = convertNavData(exportParams, data, params, context);
|
|
77
|
+
}
|
|
78
|
+
uploadUrl += qs.stringify(_uploadParams, { addQueryPrefix: true });
|
|
79
|
+
downloadUrl += qs.stringify(_exportParams, { addQueryPrefix: true });
|
|
80
|
+
return { uploadUrl, downloadUrl };
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* 请求url获取文件流,并用JS触发文件下载
|
|
85
|
+
*
|
|
86
|
+
* @author zk
|
|
87
|
+
* @date 2024-01-26 02:01:29
|
|
88
|
+
* @param {{ url: string; name: string }} file
|
|
89
|
+
* @memberof FileUtil
|
|
90
|
+
*/
|
|
91
|
+
async fileDownload(url: string, name: string): Promise<void> {
|
|
92
|
+
// 发送get请求
|
|
93
|
+
const response = await ibiz.net.request(url, {
|
|
94
|
+
method: 'get',
|
|
95
|
+
responseType: 'blob',
|
|
96
|
+
baseURL: '', // 已经有baseURL了,这里无需再写
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
if (response.status !== 200) {
|
|
100
|
+
throw new RuntimeError('下载文件失败');
|
|
101
|
+
}
|
|
102
|
+
// 请求成功,后台返回的是一个文件流
|
|
103
|
+
if (!response.data) {
|
|
104
|
+
throw new RuntimeError('文件流数据不存在');
|
|
105
|
+
} else {
|
|
106
|
+
// 获取文件名
|
|
107
|
+
const fileName = name;
|
|
108
|
+
downloadFileFromBlob(response.data as Blob, fileName);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* 文件上传
|
|
114
|
+
*
|
|
115
|
+
* @author zk
|
|
116
|
+
* @date 2024-01-26 05:01:35
|
|
117
|
+
* @param {string} uploadUrl
|
|
118
|
+
* @param {Blob} file
|
|
119
|
+
* @param {IData} headers
|
|
120
|
+
* @return {*} {Promise<IData>}
|
|
121
|
+
* @memberof FileUtil
|
|
122
|
+
*/
|
|
123
|
+
async fileUpload(
|
|
124
|
+
uploadUrl: string,
|
|
125
|
+
file: Blob,
|
|
126
|
+
headers: IData,
|
|
127
|
+
): Promise<IData> {
|
|
128
|
+
const formData = new FormData();
|
|
129
|
+
formData.append('file', file);
|
|
130
|
+
const res = await ibiz.net.axios({
|
|
131
|
+
url: uploadUrl,
|
|
132
|
+
method: 'post',
|
|
133
|
+
headers,
|
|
134
|
+
data: formData,
|
|
135
|
+
});
|
|
136
|
+
if (res.status !== 200) {
|
|
137
|
+
throw new RuntimeError('文件上传失败');
|
|
138
|
+
}
|
|
139
|
+
return res.data;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FileUtil } from './file-util';
|
package/src/utils/index.ts
CHANGED