bhd-components 0.7.40 → 0.8.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.
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import "highlight.js/styles/default.css";
2
+ import "highlight.js/styles/github.css";
3
3
  interface Service {
4
4
  type: string;
5
5
  params: any;
@@ -4,7 +4,6 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runt
4
4
  import React, { useEffect, useState, useRef } from "react";
5
5
  import { Modal, Drawer, Input, Tooltip } from "antd";
6
6
  import ViewImage from "../viewImage";
7
- // import html2canvas from "html2canvas";
8
7
  import cssStyle from "./index.module.less";
9
8
  import cssStyleOnline from "./index2.module.less";
10
9
  let styles = cssStyle;
@@ -20,7 +19,7 @@ import TeacherList from "./teacherList";
20
19
  import { parseDate } from "../utils/Date";
21
20
  import { Remarkable } from "remarkable";
22
21
  import hljs from "highlight.js";
23
- import "highlight.js/styles/default.css";
22
+ import "highlight.js/styles/github.css";
24
23
  import { render } from "react-dom";
25
24
  import Provider from "../provider";
26
25
  const { TextArea } = Input;
@@ -106,33 +105,117 @@ const CustomerService = (props)=>{
106
105
  initShowType
107
106
  ]);
108
107
  useEffect(()=>{
109
- //|| showScreenshot
110
- if (showType == 5 || showScreenshot) {
108
+ function handlerHtml2canvas() {
109
+ console.log('kkkkkkkkkkk');
111
110
  try {
112
111
  newShowType.current = true;
113
112
  setImgBese64('');
114
- // let dom = document.getElementById(screenshotAreaId);
115
- html2canvas(screenshotAreaId, {
116
- useCORS: true,
117
- // allowTaint: true, // 污染处理
118
- scale: 1,
119
- // logging:true,
120
- ignoreElements: (element)=>{
121
- if (element.compareDocumentPosition(screenshotAreaId) === 2) return true;
122
- return false;
113
+ const plugin = new screenShotPlugin({
114
+ clickCutFullScreen: true,
115
+ enableWebRtc: true,
116
+ loadCrossImg: true,
117
+ canvasWidth: window.innerWidth,
118
+ canvasHeight: window.innerHeight,
119
+ level: -1,
120
+ hiddenToolIco: true,
121
+ screenShotDom: document.body,
122
+ cropBoxInfo: {
123
+ x: 0,
124
+ y: 0,
125
+ w: window.innerWidth,
126
+ h: window.innerHeight
127
+ },
128
+ wrcReplyTime: 20,
129
+ wrcWindowMode: true,
130
+ hiddenScrollBar: {
131
+ state: true
132
+ },
133
+ completeCallback: ({ base64 })=>{
134
+ // console.log(
135
+ // "截图组件加载完毕调用此方法来完成框选区域的截图",
136
+ // base64
137
+ // );
138
+ setImgBese64(base64);
139
+ },
140
+ triggerCallback: ()=>{
141
+ // 截图组件加载完毕调用此方法来完成框选区域的截图
142
+ plugin.completeScreenshot();
143
+ },
144
+ cancelCallback: (err)=>{
145
+ if (err.code === -1) {
146
+ console.log(err);
147
+ newShowType.current = false;
148
+ if (saveShowType != -1) {
149
+ setShowType(saveShowType);
150
+ } else {
151
+ setShowType(1);
152
+ }
153
+ setShowScreenshot(false);
154
+ onCancel();
155
+ }
123
156
  }
124
- }).then(function(canvas) {
125
- // document.body.appendChild(canvas);
126
- console.log(canvas, 99999);
127
- // var base64URL = canvas.toDataURL('image/jpeg')
128
- let base64URL = canvas.toDataURL("image/jpg", 1.0);
129
- console.log(base64URL);
130
- setImgBese64(base64URL);
131
157
  });
158
+ // modernScreenshot
159
+ // .domToPng(document.querySelector("body"))
160
+ // .then((dataUrl:any) => {
161
+ // console.log(dataUrl);
162
+ // setImgBese64(dataUrl);
163
+ // });
164
+ // domtoimage
165
+ // .toPng(document.body)
166
+ // .then(function (dataUrl:any) {
167
+ // setImgBese64(dataUrl);
168
+ // })
169
+ // .catch(function (error:any) {
170
+ // console.error("oops, something went wrong!", error);
171
+ // });
172
+ // //排除
173
+ // new screenShotPlugin({
174
+ // enableWebRtc: true,
175
+ // canvasWidth:window.innerWidth,
176
+ // canvasHeight:window.innerHeight,
177
+ // level:9999999,
178
+ // completeCallback: function (info:any) {
179
+ // console.log(info);
180
+ // setImgBese64(info.base64);
181
+ // },
182
+ // closeCallback: function () {
183
+ // },
184
+ // });
185
+ // html2canvas(document.body,{//__docusaurus
186
+ // useCORS: true, // 支持跨域图片截图
187
+ // allowTaint: true, // 污染处理
188
+ // scale: 1 ,// 图片比例
189
+ // logging:false,
190
+ // // foreignObjectRendering:true,
191
+ // ignoreElements:(element: { compareDocumentPosition: (arg0: string) => number; })=>{
192
+ // if(element.compareDocumentPosition(screenshotAreaId)===2)return true
193
+ // return false
194
+ // },
195
+ // windowWidth:window.innerWidth,
196
+ // windowHeight:window.innerHeight
197
+ // })
198
+ // .then(function (canvas:any) {
199
+ // // document.body.appendChild(canvas);
200
+ // // console.log(canvas,99999);
201
+ // // var base64URL = canvas.toDataURL('image/jpeg')
202
+ // let base64URL = canvas.toDataURL("image/jpg", 1.0)
203
+ // // console.log(base64URL);
204
+ // setImgBese64(base64URL);
205
+ // // svgNodesToRemove.forEach(item=>{
206
+ // // item.remove()
207
+ // // })
208
+ // });
132
209
  } catch (error) {
133
210
  console.log(error);
134
211
  }
135
212
  }
213
+ //|| showScreenshot
214
+ if (showType == 5 || showScreenshot) {
215
+ console.log('bbbbbbbbbbbbbb');
216
+ handlerHtml2canvas();
217
+ // window.addEventListener('resize',handlerHtml2canvas)
218
+ }
136
219
  if (showType != 1 && !firstLoad && pageCount > 0) {
137
220
  setFirstLoad(true);
138
221
  scrollToBottom();
@@ -192,6 +275,7 @@ const CustomerService = (props)=>{
192
275
  if (content) {
193
276
  content.removeEventListener("scroll", handleScroll);
194
277
  }
278
+ window.removeEventListener('resize', handlerHtml2canvas);
195
279
  };
196
280
  }, [
197
281
  historyMessageList,
@@ -1668,11 +1752,18 @@ const CustomerService = (props)=>{
1668
1752
  /*#__PURE__*/ _jsxs("div", {
1669
1753
  className: styles.operate,
1670
1754
  children: [
1671
- /*#__PURE__*/ _jsx("i", {
1755
+ /*#__PURE__*/ _jsxs("i", {
1756
+ className: styles.popover_main,
1672
1757
  onClick: ()=>{
1673
1758
  setShowHistory(true);
1674
1759
  },
1675
- children: /*#__PURE__*/ _jsx(CustomRecord, {})
1760
+ children: [
1761
+ /*#__PURE__*/ _jsx(CustomRecord, {}),
1762
+ /*#__PURE__*/ _jsx("span", {
1763
+ className: styles.popover,
1764
+ children: "历史记录"
1765
+ })
1766
+ ]
1676
1767
  }),
1677
1768
  /*#__PURE__*/ _jsx("span", {
1678
1769
  className: styles.line
@@ -1692,20 +1783,14 @@ const CustomerService = (props)=>{
1692
1783
  })
1693
1784
  ]
1694
1785
  }),
1695
- /*#__PURE__*/ _jsxs("i", {
1786
+ /*#__PURE__*/ _jsx("i", {
1696
1787
  className: styles.popover_main,
1697
1788
  onClick: ()=>{
1698
1789
  onEvent(serverName + serverUrl(), "click_智能问答_退出全屏", "提交");
1699
1790
  setShowType(3);
1700
1791
  setFirstLoad(false); //重启滚动条在最上方
1701
1792
  },
1702
- children: [
1703
- /*#__PURE__*/ _jsx(CloseOutlined, {}),
1704
- /*#__PURE__*/ _jsx("span", {
1705
- className: styles.popover,
1706
- children: "退出全屏"
1707
- })
1708
- ]
1793
+ children: /*#__PURE__*/ _jsx(CloseOutlined, {})
1709
1794
  })
1710
1795
  ]
1711
1796
  })
@@ -3385,6 +3470,9 @@ const CustomerService = (props)=>{
3385
3470
  }),
3386
3471
  (showType == 4 || showType == 5) && /*#__PURE__*/ _jsxs("div", {
3387
3472
  className: `${styles.ChatWindow_Drawer}`,
3473
+ style: {
3474
+ display: `${!showScreenshot ? "none" : "flex"}`
3475
+ },
3388
3476
  id: "",
3389
3477
  children: [
3390
3478
  /*#__PURE__*/ _jsx("div", {
@@ -1177,8 +1177,8 @@
1177
1177
  max-height: 36px;
1178
1178
  word-break: break-all;
1179
1179
 
1180
- display: flex;
1181
- align-items: center;
1180
+ //display: flex;
1181
+ //align-items: center;
1182
1182
  img{
1183
1183
  margin-right: 8px;
1184
1184
  width: 60px;
@@ -1866,7 +1866,7 @@
1866
1866
  width: 417px;
1867
1867
  height: calc(100% - 48px);
1868
1868
  right: 0;
1869
- top: 48px;
1869
+ top: 38px;
1870
1870
  border-radius: 0;
1871
1871
  background: transparent;
1872
1872
  overflow: visible;
@@ -1918,7 +1918,7 @@
1918
1918
  background-color: transparent !important;
1919
1919
  // background-color: burlywood;
1920
1920
  .ReactCrop{
1921
-
1921
+ cursor: default !important;
1922
1922
  }
1923
1923
  :global{
1924
1924
  .ReactCrop__child-wrapper{
@@ -1935,6 +1935,7 @@
1935
1935
  height: 100% !important;
1936
1936
  top: 0 !important;
1937
1937
  left: 0 !important;
1938
+ cursor: default !important;
1938
1939
  }
1939
1940
 
1940
1941
  }
@@ -1175,8 +1175,8 @@
1175
1175
  max-height: 36px;
1176
1176
  word-break: break-all;
1177
1177
 
1178
- display: flex;
1179
- align-items: center;
1178
+ //display: flex;
1179
+ //align-items: center;
1180
1180
  img{
1181
1181
  margin-right: 8px;
1182
1182
  width: 60px;
@@ -1860,7 +1860,7 @@
1860
1860
  width: 417px;
1861
1861
  height: calc(100% - 48px);
1862
1862
  right: 0;
1863
- top: 48px;
1863
+ top: 38px;
1864
1864
  border-radius: 0;
1865
1865
  background: transparent;
1866
1866
  overflow: visible;
@@ -1904,7 +1904,7 @@
1904
1904
  background-color: transparent !important;
1905
1905
  // background-color: burlywood;
1906
1906
  .ReactCrop{
1907
-
1907
+ cursor: default !important;
1908
1908
  }
1909
1909
  :global{
1910
1910
  .ReactCrop__child-wrapper{
@@ -1912,7 +1912,8 @@
1912
1912
  width: 100% !important;
1913
1913
  height: 100% !important;
1914
1914
  top: 0 !important;
1915
- left: 0 !important
1915
+ left: 0 !important;
1916
+ cursor: default !important;
1916
1917
  }
1917
1918
  }
1918
1919
  :global{
@@ -10,6 +10,8 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
10
10
  const [crop, setCrop] = useState();
11
11
  const [completedCrop, setCompletedCrop] = useState();
12
12
  const [aspect, setAspect] = useState(16 / 9);
13
+ const [devicePixelRatio, setDevicePixelRatio] = useState(window.devicePixelRatio);
14
+ const [isFirst, setIsFirst] = useState(true);
13
15
  const [btnPosition, setBtnPosition] = useState({
14
16
  top: 0,
15
17
  left: 0
@@ -35,17 +37,17 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
35
37
  }
36
38
  function saveImage() {
37
39
  // 创建一个新的canvas元素
38
- var canvas = document.createElement('canvas');
39
- var context = canvas.getContext('2d');
40
+ var canvas = document.createElement("canvas");
41
+ var context = canvas.getContext("2d");
40
42
  // 加载要操作的图片
41
43
  var image = new Image();
42
44
  image.src = imgBese64; // 将'your_image_url'替换为你自己的图片URL
43
45
  // 等待图片加载完成后再进行操作
44
46
  image.onload = function() {
45
- var x = completedCrop.x; // 起始点x坐标
46
- var y = completedCrop.y; // 起始点y坐标
47
- var width = completedCrop.width; // 需要裁剪的区域宽度
48
- var height = completedCrop.height; // 需要裁剪的区域高度
47
+ var x = parseInt((completedCrop.x * devicePixelRatio).toString()); // 起始点x坐标
48
+ var y = parseInt((completedCrop.y * devicePixelRatio).toString()); // 起始点y坐标
49
+ var width = parseInt((completedCrop.width * devicePixelRatio).toString()); // 需要裁剪的区域宽度
50
+ var height = parseInt((completedCrop.height * devicePixelRatio).toString()); // 需要裁剪的区域高度
49
51
  // 设置canvas大小与裁剪区域相同
50
52
  canvas.width = width;
51
53
  canvas.height = height;
@@ -66,7 +68,7 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
66
68
  let y = e.y;
67
69
  let h = e.height;
68
70
  let w = e.width;
69
- let top = y + h + 8;
71
+ let top = y + h + (isFirst ? 21 : 8);
70
72
  let left = x + w - 88;
71
73
  if (top + 42 > window.innerHeight) {
72
74
  top = top - 50;
@@ -76,6 +78,7 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
76
78
  left
77
79
  });
78
80
  setShowBtn(true);
81
+ setIsFirst(false);
79
82
  };
80
83
  return /*#__PURE__*/ _jsxs("div", {
81
84
  className: styles.screenshot_Modal,
@@ -101,6 +104,9 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
101
104
  minWidth: 100,
102
105
  children: /*#__PURE__*/ _jsx("img", {
103
106
  alt: "Crop me",
107
+ style: {
108
+ display: 'none'
109
+ },
104
110
  src: imgBese64,
105
111
  onLoad: onImageLoad
106
112
  })
@@ -116,8 +122,8 @@ const ScreenshotTool = /*#__PURE__*/ forwardRef((props, ref)=>{
116
122
  onClick: cancelScreenshot,
117
123
  children: /*#__PURE__*/ _jsx(CloseOutlined, {
118
124
  style: {
119
- position: 'relative',
120
- top: '1px'
125
+ position: "relative",
126
+ top: "1px"
121
127
  }
122
128
  })
123
129
  }),
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import "highlight.js/styles/default.css";
2
+ import "highlight.js/styles/github.css";
3
3
  interface data {
4
4
  type: number;
5
5
  roomId: String | number;
@@ -4,7 +4,8 @@ import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
4
4
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@ice/jsx-runtime/jsx-runtime";
5
5
  import React, { useEffect, useState, useRef } from "react";
6
6
  import styles from "./index.module.less";
7
- import "highlight.js/styles/default.css";
7
+ import "highlight.js/styles/github.css";
8
+ //import "highlight.js/styles/default.css";
8
9
  import { Input } from "antd";
9
10
  import { CustomClose, CustomExpand, CustomAiIcon } from "../icons/index";
10
11
  import { SearchOutlined } from "@ant-design/icons";
@@ -1,4 +1,4 @@
1
- import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
1
+ var _instanceof = require("@swc/helpers/cjs/_instanceof.cjs")._;
2
2
  /*!
3
3
  * html2canvas 1.4.1 <https://html2canvas.hertzen.com>
4
4
  * Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>
@@ -8,66 +8,50 @@ import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
8
8
  })(this, function() {
9
9
  "use strict";
10
10
  var __extends = function __extends(d, b) {
11
+ var __ = function __() {
12
+ this.constructor = d;
13
+ };
11
14
  if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
15
  extendStatics(d, b);
13
- function __() {
14
- this.constructor = d;
15
- }
16
16
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
17
17
  };
18
18
  var __awaiter = function __awaiter(thisArg, _arguments, P, generator) {
19
- function adopt(value) {
19
+ var adopt = function adopt(value) {
20
20
  return _instanceof(value, P) ? value : new P(function(resolve) {
21
21
  resolve(value);
22
22
  });
23
- }
23
+ };
24
24
  return new (P || (P = Promise))(function(resolve, reject) {
25
- function fulfilled(value) {
25
+ var fulfilled = function fulfilled(value) {
26
26
  try {
27
27
  step(generator.next(value));
28
28
  } catch (e) {
29
29
  reject(e);
30
30
  }
31
- }
32
- function rejected(value) {
31
+ };
32
+ var rejected = function rejected(value) {
33
33
  try {
34
34
  step(generator["throw"](value));
35
35
  } catch (e) {
36
36
  reject(e);
37
37
  }
38
- }
39
- function step(result) {
38
+ };
39
+ var step = function step(result) {
40
40
  result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
41
- }
41
+ };
42
42
  step((generator = generator.apply(thisArg, _arguments || [])).next());
43
43
  });
44
44
  };
45
45
  var __generator = function __generator(thisArg, body) {
46
- var _ = {
47
- label: 0,
48
- sent: function sent() {
49
- if (t[0] & 1) throw t[1];
50
- return t[1];
51
- },
52
- trys: [],
53
- ops: []
54
- }, f, y, t, g;
55
- return g = {
56
- next: verb(0),
57
- "throw": verb(1),
58
- "return": verb(2)
59
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
60
- return this;
61
- }), g;
62
- function verb(n) {
46
+ var verb = function verb(n) {
63
47
  return function(v) {
64
48
  return step([
65
49
  n,
66
50
  v
67
51
  ]);
68
52
  };
69
- }
70
- function step(op) {
53
+ };
54
+ var step = function step(op) {
71
55
  if (f) throw new TypeError("Generator is already executing.");
72
56
  while(_)try {
73
57
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
@@ -135,7 +119,23 @@ import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
135
119
  value: op[0] ? op[1] : void 0,
136
120
  done: true
137
121
  };
138
- }
122
+ };
123
+ var _ = {
124
+ label: 0,
125
+ sent: function sent() {
126
+ if (t[0] & 1) throw t[1];
127
+ return t[1];
128
+ },
129
+ trys: [],
130
+ ops: []
131
+ }, f, y, t, g;
132
+ return g = {
133
+ next: verb(0),
134
+ "throw": verb(1),
135
+ "return": verb(2)
136
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
137
+ return this;
138
+ }), g;
139
139
  };
140
140
  var __spreadArray = function __spreadArray(to, from, pack) {
141
141
  if (pack || arguments.length === 2) for(var i = 0, l = from.length, ar; i < l; i++){
@@ -824,8 +824,7 @@ import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
824
824
  return BREAK_NOT_ALLOWED$1;
825
825
  }
826
826
  // LB25 Do not break between the following pairs of classes relevant to numbers:
827
- if (// (PR | PO) × ( OP | HY )? NU
828
- [
827
+ if ([
829
828
  PR,
830
829
  PO
831
830
  ].indexOf(current) !== -1 && (next === NU || [
@@ -8579,3 +8578,4 @@ import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
8579
8578
  };
8580
8579
  return html2canvas;
8581
8580
  }); //# sourceMappingURL=html2canvas.js.map
8581
+ //# sourceMappingURL=html2canvas.test.js.map
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import "highlight.js/styles/default.css";
2
+ import "highlight.js/styles/github.css";
3
3
  interface Service {
4
4
  type: string;
5
5
  params: any;