bhd-components 0.10.3 → 0.10.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.
@@ -183,8 +183,8 @@ const Footer = /*#__PURE__*/ forwardRef((props, ref)=>{
183
183
  });
184
184
  sendMsgAjax();
185
185
  };
186
- const sendMsgAjax = ()=>{
187
- const { url, method = "POST", headers = {}, params = ()=>"", onOpen = ()=>{}, onMessage = (ev)=>ev, onClose = ()=>{}, onError = ()=>{}, coverProps = {} } = sendMsgAjaxParams;
186
+ const sendMsgAjax = async ()=>{
187
+ const { url, method = "POST", headers = {}, params = ()=>"", onOpen = ()=>{}, onMessage = (ev)=>ev, onClose = ()=>{}, onError = ()=>{}, coverProps = {}, beforeSendMsg = ()=>Promise.resolve() } = sendMsgAjaxParams;
188
188
  ctrl.current = new AbortController();
189
189
  // apiRef
190
190
  console.log("apiRef", apiRef);
@@ -208,13 +208,14 @@ const Footer = /*#__PURE__*/ forwardRef((props, ref)=>{
208
208
  recordRef.current.referencesSource,
209
209
  fileListRef.current ? fileListRef.current.getFileList() : []
210
210
  ];
211
+ let beforeInfo = await beforeSendMsg(...arg);
211
212
  fetchEventSource(url, _object_spread({
212
213
  method,
213
214
  headers: _object_spread({
214
215
  "Content-Type": "application/json",
215
216
  Accept: "text/event-stream,application/json"
216
217
  }, headers),
217
- body: params(...arg),
218
+ body: params(...arg, beforeInfo),
218
219
  openWhenHidden: true,
219
220
  signal: ctrl.current.signal,
220
221
  onopen: (res)=>{
@@ -47,10 +47,13 @@ export interface contentConfigProps {
47
47
  }>; // 列表数据
48
48
  loadMore?: boolean; // 是否开启加载更多 // 默认为true
49
49
  helloMsg?: string; //欢迎语
50
- pageSize?: number;//每页数量 默认为30
50
+ pageSize?: number; //每页数量 默认为30
51
51
  coverRenderText?: (item, html) => React.ReactNode; // 覆盖文本内容
52
- coverRenderReferences?: (item:dataItemType,referenceNode:React.ReactNode) => React.ReactNode;//覆盖引用内容
53
- onRecordMessage?: (item: dataItemType,) => void;// 发送和接收的消息记录
52
+ coverRenderReferences?: (
53
+ item: dataItemType,
54
+ referenceNode: React.ReactNode
55
+ ) => React.ReactNode; //覆盖引用内容
56
+ onRecordMessage?: (item: dataItemType) => void; // 发送和接收的消息记录
54
57
  }
55
58
 
56
59
  // content props
@@ -82,13 +85,19 @@ export interface sendMsgAjaxParams {
82
85
  params: (
83
86
  value: string,
84
87
  refereces: referenceType,
85
- fileList: fileCustomProps[]
88
+ fileList: fileCustomProps[],
89
+ beforeInfo:any,
86
90
  ) => string;
87
91
  onOpen?: (res: Response) => void;
88
92
  onMessage?: (ev: EventSourceMessage) => { id: string; content: string };
89
93
  onClose?: () => void;
90
94
  onError?: (err: any) => void;
91
95
  coverProps?: object;
96
+ beforeSendMsg: (
97
+ value: string,
98
+ refereces: referenceType,
99
+ fileList: fileCustomProps[]
100
+ ) => Promise<any>;
92
101
  }
93
102
 
94
103
  // footer file Props
@@ -100,7 +109,12 @@ export interface fileUploadProps {
100
109
  multiple?: boolean; // 是否允许多选
101
110
  customRequest: (
102
111
  file: File
103
- ) => Promise<{ url: string; fileId: string; source: File,status:fileStatus }>; // 自定义上传方法
112
+ ) => Promise<{
113
+ url: string;
114
+ fileId: string;
115
+ source: File;
116
+ status: fileStatus;
117
+ }>; // 自定义上传方法
104
118
  mapUploadCount?: number; // 并发上传的数量 默认为1
105
119
  deleteFileAjax?: (fileId: string) => Promise<{ fileId: string }>; // 删除文件的ajax 返回删除文件的fileId
106
120
  statusText?: (status: fileStatus) => React.ReactNode; // 自定义状态显示
@@ -127,7 +141,7 @@ export interface footerRefProps {
127
141
  clearText: () => void; // 清空输入框
128
142
  getCanSendMsg: () => boolean; //获取当前是否允许发送消息的状态
129
143
  stopMessage: () => void; //停止发送消息
130
- setReferences:(reference:referenceType)=>void;// 添加引用
144
+ setReferences: (reference: referenceType) => void; // 添加引用
131
145
  }
132
146
 
133
147
  // sendBtn Props
@@ -152,10 +166,9 @@ export interface fileListProps {
152
166
  prefix: string;
153
167
  fileUpload: fileUploadProps;
154
168
  errorCallback: (error: errorMessageProps) => void;
155
- changeFileCanSending:(flag:boolean)=>void;
169
+ changeFileCanSending: (flag: boolean) => void;
156
170
  }
157
171
 
158
-
159
172
  // file 自定义对象
160
173
 
161
174
  export interface fileCustomProps {
@@ -175,8 +188,8 @@ export interface FileListRefProps {
175
188
  deleteFile: (fileId: string) => void;
176
189
  updateFile: (fileId: string, status: fileStatus) => void;
177
190
  getFileList: () => fileCustomProps[];
178
- vaildFile: (file: File,fileId?:string) => boolean;// 校验文件是否合规
179
- fileToCustomFile:(file:File)=>fileCustomProps
191
+ vaildFile: (file: File, fileId?: string) => boolean; // 校验文件是否合规
192
+ fileToCustomFile: (file: File) => fileCustomProps;
180
193
  }
181
194
 
182
195
  // error Message
@@ -222,8 +235,8 @@ export interface VirtuosoListProps {
222
235
  export interface VirtuosoListRefProps {
223
236
  addMsg: (msg: dataItemType) => void;
224
237
  updateMsg: (id: string, obj: any) => void;
225
- clearInputing: () => void;//清楚正在输入的inputing
226
- recordMsg:(item: dataItemType) => void;
238
+ clearInputing: () => void; //清楚正在输入的inputing
239
+ recordMsg: (item: dataItemType) => void;
227
240
  }
228
241
 
229
242
  export interface contentRefProps extends VirtuosoListRefProps {}
@@ -1,6 +1,8 @@
1
+ import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
1
2
  import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
3
  import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
3
4
  import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
5
+ import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
4
6
  import { jsx as _jsx, jsxs as _jsxs } from "@ice/jsx-runtime/jsx-runtime";
5
7
  import React, { useState, useEffect, useImperativeHandle, forwardRef, useRef, useMemo } from "react";
6
8
  import styles from "./index.module.less";
@@ -186,81 +188,105 @@ var Footer = /*#__PURE__*/ forwardRef(function(props, ref) {
186
188
  sendMsgAjax();
187
189
  };
188
190
  var sendMsgAjax = function() {
189
- var url = sendMsgAjaxParams.url, _sendMsgAjaxParams_method = sendMsgAjaxParams.method, method = _sendMsgAjaxParams_method === void 0 ? "POST" : _sendMsgAjaxParams_method, _sendMsgAjaxParams_headers = sendMsgAjaxParams.headers, headers = _sendMsgAjaxParams_headers === void 0 ? {} : _sendMsgAjaxParams_headers, _sendMsgAjaxParams_params = sendMsgAjaxParams.params, params = _sendMsgAjaxParams_params === void 0 ? function() {
190
- return "";
191
- } : _sendMsgAjaxParams_params, _sendMsgAjaxParams_onOpen = sendMsgAjaxParams.onOpen, onOpen = _sendMsgAjaxParams_onOpen === void 0 ? function() {} : _sendMsgAjaxParams_onOpen, _sendMsgAjaxParams_onMessage = sendMsgAjaxParams.onMessage, onMessage = _sendMsgAjaxParams_onMessage === void 0 ? function(ev) {
192
- return ev;
193
- } : _sendMsgAjaxParams_onMessage, _sendMsgAjaxParams_onClose = sendMsgAjaxParams.onClose, onClose = _sendMsgAjaxParams_onClose === void 0 ? function() {} : _sendMsgAjaxParams_onClose, _sendMsgAjaxParams_onError = sendMsgAjaxParams.onError, onError = _sendMsgAjaxParams_onError === void 0 ? function() {} : _sendMsgAjaxParams_onError, _sendMsgAjaxParams_coverProps = sendMsgAjaxParams.coverProps, coverProps = _sendMsgAjaxParams_coverProps === void 0 ? {} : _sendMsgAjaxParams_coverProps;
194
- ctrl.current = new AbortController();
195
- // apiRef
196
- console.log("apiRef", apiRef);
197
- var msgId = "inputing";
198
- var createTime = new Date().getTime();
199
- apiRef.contentApi.addMsg({
200
- id: msgId,
201
- createTime: createTime,
202
- content: "正在输入...",
203
- location: "left",
204
- reference: null,
205
- source: null
206
- });
207
- var msgContent = "";
208
- setSending(true);
209
- setTextValue("");
210
- setReferencesSource(null);
211
- var recordMsgObj = {};
212
- var arg = [
213
- recordRef.current.value,
214
- recordRef.current.referencesSource,
215
- fileListRef.current ? fileListRef.current.getFileList() : []
216
- ];
217
- fetchEventSource(url, _object_spread({
218
- method: method,
219
- headers: _object_spread({
220
- "Content-Type": "application/json",
221
- Accept: "text/event-stream,application/json"
222
- }, headers),
223
- body: params.apply(void 0, _to_consumable_array(arg)),
224
- openWhenHidden: true,
225
- signal: ctrl.current.signal,
226
- onopen: function(res) {
227
- onOpen(res);
228
- if (res.status === 200) {}
229
- return null;
230
- },
231
- onmessage: function(ev) {
232
- var data = onMessage(ev);
233
- msgContent += data.content;
234
- delete data.content;
235
- recordMsgObj = _object_spread({
236
- createTime: createTime,
237
- content: msgContent,
238
- location: "left",
239
- reference: null,
240
- source: null
241
- }, data);
242
- updateMsgRef.current = setTimeout(function() {
243
- apiRef.contentApi.updateMsg(msgId, recordMsgObj);
244
- msgId = data.id;
245
- }, 100);
246
- },
247
- onclose: function() {
248
- onClose();
249
- setSending(false);
250
- if (recordMsgObj.id) {
251
- apiRef.contentApi.recordMsg(recordMsgObj);
252
- }
253
- console.log("onclose: ", recordMsgObj);
254
- },
255
- onerror: function(err) {
256
- onError(err);
257
- if (recordMsgObj.id) {
258
- apiRef.contentApi.recordMsg(recordMsgObj);
191
+ var _ref = _async_to_generator(function() {
192
+ var url, _sendMsgAjaxParams_method, method, _sendMsgAjaxParams_headers, headers, _sendMsgAjaxParams_params, params, _sendMsgAjaxParams_onOpen, onOpen, _sendMsgAjaxParams_onMessage, onMessage, _sendMsgAjaxParams_onClose, onClose, _sendMsgAjaxParams_onError, onError, _sendMsgAjaxParams_coverProps, coverProps, _sendMsgAjaxParams_beforeSendMsg, beforeSendMsg, msgId, createTime, msgContent, recordMsgObj, arg, beforeInfo;
193
+ return _ts_generator(this, function(_state) {
194
+ switch(_state.label){
195
+ case 0:
196
+ url = sendMsgAjaxParams.url, _sendMsgAjaxParams_method = sendMsgAjaxParams.method, method = _sendMsgAjaxParams_method === void 0 ? "POST" : _sendMsgAjaxParams_method, _sendMsgAjaxParams_headers = sendMsgAjaxParams.headers, headers = _sendMsgAjaxParams_headers === void 0 ? {} : _sendMsgAjaxParams_headers, _sendMsgAjaxParams_params = sendMsgAjaxParams.params, params = _sendMsgAjaxParams_params === void 0 ? function() {
197
+ return "";
198
+ } : _sendMsgAjaxParams_params, _sendMsgAjaxParams_onOpen = sendMsgAjaxParams.onOpen, onOpen = _sendMsgAjaxParams_onOpen === void 0 ? function() {} : _sendMsgAjaxParams_onOpen, _sendMsgAjaxParams_onMessage = sendMsgAjaxParams.onMessage, onMessage = _sendMsgAjaxParams_onMessage === void 0 ? function(ev) {
199
+ return ev;
200
+ } : _sendMsgAjaxParams_onMessage, _sendMsgAjaxParams_onClose = sendMsgAjaxParams.onClose, onClose = _sendMsgAjaxParams_onClose === void 0 ? function() {} : _sendMsgAjaxParams_onClose, _sendMsgAjaxParams_onError = sendMsgAjaxParams.onError, onError = _sendMsgAjaxParams_onError === void 0 ? function() {} : _sendMsgAjaxParams_onError, _sendMsgAjaxParams_coverProps = sendMsgAjaxParams.coverProps, coverProps = _sendMsgAjaxParams_coverProps === void 0 ? {} : _sendMsgAjaxParams_coverProps, _sendMsgAjaxParams_beforeSendMsg = sendMsgAjaxParams.beforeSendMsg, beforeSendMsg = _sendMsgAjaxParams_beforeSendMsg === void 0 ? function() {
201
+ return Promise.resolve();
202
+ } : _sendMsgAjaxParams_beforeSendMsg;
203
+ ctrl.current = new AbortController();
204
+ // apiRef
205
+ console.log("apiRef", apiRef);
206
+ msgId = "inputing";
207
+ createTime = new Date().getTime();
208
+ apiRef.contentApi.addMsg({
209
+ id: msgId,
210
+ createTime: createTime,
211
+ content: "正在输入...",
212
+ location: "left",
213
+ reference: null,
214
+ source: null
215
+ });
216
+ msgContent = "";
217
+ setSending(true);
218
+ setTextValue("");
219
+ setReferencesSource(null);
220
+ recordMsgObj = {};
221
+ arg = [
222
+ recordRef.current.value,
223
+ recordRef.current.referencesSource,
224
+ fileListRef.current ? fileListRef.current.getFileList() : []
225
+ ];
226
+ return [
227
+ 4,
228
+ beforeSendMsg.apply(void 0, _to_consumable_array(arg))
229
+ ];
230
+ case 1:
231
+ beforeInfo = _state.sent();
232
+ fetchEventSource(url, _object_spread({
233
+ method: method,
234
+ headers: _object_spread({
235
+ "Content-Type": "application/json",
236
+ Accept: "text/event-stream,application/json"
237
+ }, headers),
238
+ body: params.apply(void 0, _to_consumable_array(arg).concat([
239
+ beforeInfo
240
+ ])),
241
+ openWhenHidden: true,
242
+ signal: ctrl.current.signal,
243
+ onopen: function(res) {
244
+ onOpen(res);
245
+ if (res.status === 200) {}
246
+ return null;
247
+ },
248
+ onmessage: function(ev) {
249
+ var data = onMessage(ev);
250
+ msgContent += data.content;
251
+ delete data.content;
252
+ recordMsgObj = _object_spread({
253
+ createTime: createTime,
254
+ content: msgContent,
255
+ location: "left",
256
+ reference: null,
257
+ source: null
258
+ }, data);
259
+ updateMsgRef.current = setTimeout(function() {
260
+ apiRef.contentApi.updateMsg(msgId, recordMsgObj);
261
+ msgId = data.id;
262
+ }, 100);
263
+ },
264
+ onclose: function() {
265
+ onClose();
266
+ setSending(false);
267
+ if (recordMsgObj.id) {
268
+ apiRef.contentApi.recordMsg(recordMsgObj);
269
+ }
270
+ console.log("onclose: ", recordMsgObj);
271
+ },
272
+ onerror: function(err) {
273
+ onError(err);
274
+ if (recordMsgObj.id) {
275
+ apiRef.contentApi.recordMsg(recordMsgObj);
276
+ }
277
+ console.log("onerror: ", err);
278
+ }
279
+ }, coverProps));
280
+ return [
281
+ 2
282
+ ];
259
283
  }
260
- console.log("onerror: ", err);
261
- }
262
- }, coverProps));
263
- };
284
+ });
285
+ });
286
+ return function sendMsgAjax() {
287
+ return _ref.apply(this, arguments);
288
+ };
289
+ }();
264
290
  // 判断是否超出最大字数
265
291
  var judegTextLengthWarn = function() {
266
292
  if (typeof maxLength === "function") {
@@ -47,10 +47,13 @@ export interface contentConfigProps {
47
47
  }>; // 列表数据
48
48
  loadMore?: boolean; // 是否开启加载更多 // 默认为true
49
49
  helloMsg?: string; //欢迎语
50
- pageSize?: number;//每页数量 默认为30
50
+ pageSize?: number; //每页数量 默认为30
51
51
  coverRenderText?: (item, html) => React.ReactNode; // 覆盖文本内容
52
- coverRenderReferences?: (item:dataItemType,referenceNode:React.ReactNode) => React.ReactNode;//覆盖引用内容
53
- onRecordMessage?: (item: dataItemType,) => void;// 发送和接收的消息记录
52
+ coverRenderReferences?: (
53
+ item: dataItemType,
54
+ referenceNode: React.ReactNode
55
+ ) => React.ReactNode; //覆盖引用内容
56
+ onRecordMessage?: (item: dataItemType) => void; // 发送和接收的消息记录
54
57
  }
55
58
 
56
59
  // content props
@@ -82,13 +85,19 @@ export interface sendMsgAjaxParams {
82
85
  params: (
83
86
  value: string,
84
87
  refereces: referenceType,
85
- fileList: fileCustomProps[]
88
+ fileList: fileCustomProps[],
89
+ beforeInfo:any,
86
90
  ) => string;
87
91
  onOpen?: (res: Response) => void;
88
92
  onMessage?: (ev: EventSourceMessage) => { id: string; content: string };
89
93
  onClose?: () => void;
90
94
  onError?: (err: any) => void;
91
95
  coverProps?: object;
96
+ beforeSendMsg: (
97
+ value: string,
98
+ refereces: referenceType,
99
+ fileList: fileCustomProps[]
100
+ ) => Promise<any>;
92
101
  }
93
102
 
94
103
  // footer file Props
@@ -100,7 +109,12 @@ export interface fileUploadProps {
100
109
  multiple?: boolean; // 是否允许多选
101
110
  customRequest: (
102
111
  file: File
103
- ) => Promise<{ url: string; fileId: string; source: File,status:fileStatus }>; // 自定义上传方法
112
+ ) => Promise<{
113
+ url: string;
114
+ fileId: string;
115
+ source: File;
116
+ status: fileStatus;
117
+ }>; // 自定义上传方法
104
118
  mapUploadCount?: number; // 并发上传的数量 默认为1
105
119
  deleteFileAjax?: (fileId: string) => Promise<{ fileId: string }>; // 删除文件的ajax 返回删除文件的fileId
106
120
  statusText?: (status: fileStatus) => React.ReactNode; // 自定义状态显示
@@ -127,7 +141,7 @@ export interface footerRefProps {
127
141
  clearText: () => void; // 清空输入框
128
142
  getCanSendMsg: () => boolean; //获取当前是否允许发送消息的状态
129
143
  stopMessage: () => void; //停止发送消息
130
- setReferences:(reference:referenceType)=>void;// 添加引用
144
+ setReferences: (reference: referenceType) => void; // 添加引用
131
145
  }
132
146
 
133
147
  // sendBtn Props
@@ -152,10 +166,9 @@ export interface fileListProps {
152
166
  prefix: string;
153
167
  fileUpload: fileUploadProps;
154
168
  errorCallback: (error: errorMessageProps) => void;
155
- changeFileCanSending:(flag:boolean)=>void;
169
+ changeFileCanSending: (flag: boolean) => void;
156
170
  }
157
171
 
158
-
159
172
  // file 自定义对象
160
173
 
161
174
  export interface fileCustomProps {
@@ -175,8 +188,8 @@ export interface FileListRefProps {
175
188
  deleteFile: (fileId: string) => void;
176
189
  updateFile: (fileId: string, status: fileStatus) => void;
177
190
  getFileList: () => fileCustomProps[];
178
- vaildFile: (file: File,fileId?:string) => boolean;// 校验文件是否合规
179
- fileToCustomFile:(file:File)=>fileCustomProps
191
+ vaildFile: (file: File, fileId?: string) => boolean; // 校验文件是否合规
192
+ fileToCustomFile: (file: File) => fileCustomProps;
180
193
  }
181
194
 
182
195
  // error Message
@@ -222,8 +235,8 @@ export interface VirtuosoListProps {
222
235
  export interface VirtuosoListRefProps {
223
236
  addMsg: (msg: dataItemType) => void;
224
237
  updateMsg: (id: string, obj: any) => void;
225
- clearInputing: () => void;//清楚正在输入的inputing
226
- recordMsg:(item: dataItemType) => void;
238
+ clearInputing: () => void; //清楚正在输入的inputing
239
+ recordMsg: (item: dataItemType) => void;
227
240
  }
228
241
 
229
242
  export interface contentRefProps extends VirtuosoListRefProps {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bhd-components",
3
- "version": "0.10.3",
3
+ "version": "0.10.4",
4
4
  "description": "组件功能描述",
5
5
  "config": {
6
6
  "commitizen": {