@easyv/biz-components 1.0.26 → 1.0.28
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/_virtual/index.es2.js +2 -2
- package/dist/_virtual/index.es3.js +2 -2
- package/dist/_virtual/index.es4.js +2 -2
- package/dist/components/ai-model-select/ai-model-select-panel.es.js +14 -1
- package/dist/components/ai-model-select/ai-model-select-panel.es.js.map +1 -1
- package/dist/hooks/use-socket-events/use-socket-events.es.js +2 -2
- package/dist/hooks/use-socket-events/use-socket-events.es.js.map +1 -1
- package/dist/node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.es.js +1 -1
- package/dist/node_modules/.pnpm/co-web-worker@1.0.1/node_modules/co-web-worker/index.es.js +1 -1
- package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.es.js +1 -1
- package/dist/stats.html +1 -1
- package/package.json +1 -1
|
@@ -43,8 +43,16 @@ const AiModelSelectPanel = (props) => {
|
|
|
43
43
|
clearTimeout(scrollTimer);
|
|
44
44
|
};
|
|
45
45
|
}, [showInputProviderId]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
return () => {
|
|
48
|
+
setShowInputProviderId("");
|
|
49
|
+
setInputValue("");
|
|
50
|
+
};
|
|
51
|
+
}, []);
|
|
46
52
|
const handleSelect = (modelProvider, model) => {
|
|
47
53
|
onSelect == null ? void 0 : onSelect(modelProvider, model);
|
|
54
|
+
setShowInputProviderId("");
|
|
55
|
+
setInputValue("");
|
|
48
56
|
};
|
|
49
57
|
const renderTitle = (modelProvider) => {
|
|
50
58
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -109,6 +117,11 @@ const AiModelSelectPanel = (props) => {
|
|
|
109
117
|
setInputValue("");
|
|
110
118
|
}
|
|
111
119
|
};
|
|
120
|
+
const handleBlur = () => {
|
|
121
|
+
if (!inputValue) {
|
|
122
|
+
setShowInputProviderId("");
|
|
123
|
+
}
|
|
124
|
+
};
|
|
112
125
|
const isSelected = (value == null ? void 0 : value.modelProviderId) === modelProvider.id && (value == null ? void 0 : value.modelId) === (model == null ? void 0 : model.id);
|
|
113
126
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
114
127
|
"div",
|
|
@@ -130,7 +143,7 @@ const AiModelSelectPanel = (props) => {
|
|
|
130
143
|
value: inputValue,
|
|
131
144
|
onChange: (value2) => setInputValue(value2),
|
|
132
145
|
onPressEnter: handlePressEnter,
|
|
133
|
-
onBlur:
|
|
146
|
+
onBlur: handleBlur,
|
|
134
147
|
ref: inputRef
|
|
135
148
|
}) : normalContent
|
|
136
149
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-model-select-panel.es.js","sources":["../../../src/components/ai-model-select/ai-model-select-panel.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { EditOutlined, PlusOutlined } from '@easyv/react-icons';\nimport { InputRef } from 'antd';\nimport classNames from 'classnames';\nimport { produce } from 'immer';\nimport { IconBtn } from './iconBtn';\nimport { AiModel, AiModelServiceProvider } from './types';\n\nexport interface AiModelSelectPanelProps {\n className?: string;\n modelServiceProviderList: AiModelServiceProvider[];\n value?: {\n modelProviderId: string;\n modelId: string;\n };\n onSelect?: (AiModelServiceProvider: AiModelServiceProvider, model: AiModel) => void;\n style?: React.CSSProperties;\n titleClassName?: string;\n itemClassName?: string;\n renderInput: (props: {\n value: string;\n onChange: (value: string) => void;\n onPressEnter: () => void;\n onBlur: () => void;\n ref: React.Ref<InputRef>;\n }) => React.ReactNode;\n}\n\nexport const AiModelSelectPanel = (props: AiModelSelectPanelProps) => {\n const {\n className = '',\n modelServiceProviderList,\n value,\n onSelect,\n style,\n titleClassName,\n itemClassName,\n renderInput,\n } = props;\n\n const inputRef = useRef<InputRef>(null);\n\n const [customModelServiceProviderList, setCustomModelServiceProviderList] = useState(\n modelServiceProviderList.filter((item) => item.isCustom),\n );\n const [showInputProviderId, setShowInputProviderId] = useState<string>('');\n const [inputValue, setInputValue] = useState<string>('');\n\n const otherModelServiceProviderList = modelServiceProviderList.filter((item) => !item.isCustom);\n\n useEffect(() => {\n if (!showInputProviderId) return;\n\n // 聚焦到输入框\n const focusTimer = setTimeout(() => {\n inputRef.current?.focus();\n }, 0);\n\n // 滚动到输入框位置\n const scrollTimer = setTimeout(() => {\n // 使用唯一选择器查找包含输入框的元素\n const targetElement = document.querySelector(`[data-provider-id=\"${showInputProviderId}\"]`);\n if (targetElement) {\n targetElement.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }, 0);\n\n return () => {\n clearTimeout(focusTimer);\n clearTimeout(scrollTimer);\n };\n }, [showInputProviderId]);\n\n const handleSelect = (modelProvider: AiModelServiceProvider, model: AiModel) => {\n onSelect?.(modelProvider, model);\n };\n\n const renderTitle = (modelProvider: AiModelServiceProvider) => {\n return (\n <div\n className={classNames(\n 'biz-h-6 biz-text-text-3 biz-px-3 biz-pt-1 biz-w-full',\n 'biz-flex biz-items-center biz-box-border biz-gap-2.5 biz-text-[14px]',\n titleClassName,\n )}\n title={modelProvider.name}\n >\n <div className='biz-w-0 biz-flex-1 biz-truncate'>{modelProvider.name}</div>\n {modelProvider.isCustom && modelProvider.modelList.length === 0 && (\n <IconBtn\n onClick={() => {\n setShowInputProviderId(modelProvider.id);\n }}\n icon={\n <PlusOutlined className='biz-w-3 biz-h-3 biz-text-text-2 hover:biz-text-text-1 biz-flex-center' />\n }\n />\n )}\n </div>\n );\n };\n\n const renderItem = (modelProvider: AiModelServiceProvider, model?: AiModel) => {\n if (modelProvider.isCustom) {\n if (modelProvider.id !== showInputProviderId && !modelProvider.modelList?.length) {\n return null;\n }\n }\n const normalContent = (\n <>\n <img src={modelProvider.iconSrc} className='biz-w-4 biz-h-4' />\n <div className='biz-truncate biz-w-0 biz-flex-1 biz-text-[14px]' title={model?.name}>\n {model?.name}\n </div>\n {modelProvider.isCustom && (\n <IconBtn\n onClick={(e) => {\n setShowInputProviderId(modelProvider.id);\n setInputValue(model?.name || '');\n e.stopPropagation();\n }}\n className='biz-hidden group-hover:!biz-flex'\n style={{ display: 'none' }}\n icon={\n <EditOutlined className='biz-w-3 biz-h-3 biz-text-text-2 hover:biz-text-text-1 biz-flex-center' />\n }\n />\n )}\n </>\n );\n\n const handlePressEnter = () => {\n if (inputValue) {\n setCustomModelServiceProviderList(\n produce(customModelServiceProviderList, (draft) => {\n const index = draft.findIndex((i) => i.id === modelProvider.id);\n if (index !== -1) {\n draft[index].modelList = [{ id: inputValue, name: inputValue }];\n }\n }),\n );\n setShowInputProviderId('');\n setInputValue('');\n }\n };\n\n const isSelected = value?.modelProviderId === modelProvider.id && value?.modelId === model?.id;\n\n return (\n <div\n key={model?.id || `input-${modelProvider.id}`}\n data-provider-id={modelProvider.id}\n className={classNames(\n 'biz-px-3 biz-py-[3px] biz-flex biz-items-center biz-gap-2',\n 'biz-text-text-2 biz-h-8 biz-w-full biz-box-border',\n 'hover:biz-bg-bg-white biz-cursor-pointer biz-group',\n isSelected && 'biz-bg-bg-white',\n itemClassName,\n )}\n onClick={() => {\n if (model && !showInputProviderId) {\n handleSelect(modelProvider, model);\n }\n }}\n >\n {showInputProviderId === modelProvider.id\n ? renderInput({\n value: inputValue,\n onChange: (value) => setInputValue(value),\n onPressEnter: handlePressEnter,\n onBlur: handlePressEnter,\n ref: inputRef,\n })\n : normalContent}\n </div>\n );\n };\n\n return (\n <div\n style={style}\n className={classNames(\n 'biz-bg-[#181B22] biz-border-one biz-rounded-[4px] biz-py-1 biz-h-[200px]',\n 'biz-flex biz-flex-col gap-1 biz-w-[160px] biz-max-h-[450px] biz-overflow-auto',\n className,\n )}\n >\n {otherModelServiceProviderList.map((provider) => (\n <div\n key={provider.id}\n className='biz-flex biz-flex-col biz-gap-1 biz-w-full biz-box-border'\n >\n {renderTitle(provider)}\n <div className='biz-flex biz-flex-col gap-1 biz-w-full'>\n {provider.modelList.map((model) => renderItem(provider, model))}\n </div>\n </div>\n ))}\n {customModelServiceProviderList.map((provider) => (\n <div\n key={provider.id}\n className='biz-flex biz-flex-col biz-gap-1 biz-w-full biz-box-border'\n >\n {renderTitle(provider)}\n <div className='biz-flex biz-flex-col gap-1 biz-w-full'>\n {renderItem(provider, provider.modelList[0])}\n </div>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["jsxs","jsx","Fragment","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-model-select-panel.es.js","sources":["../../../src/components/ai-model-select/ai-model-select-panel.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { EditOutlined, PlusOutlined } from '@easyv/react-icons';\nimport { InputRef } from 'antd';\nimport classNames from 'classnames';\nimport { produce } from 'immer';\nimport { IconBtn } from './iconBtn';\nimport { AiModel, AiModelServiceProvider } from './types';\n\nexport interface AiModelSelectPanelProps {\n className?: string;\n modelServiceProviderList: AiModelServiceProvider[];\n value?: {\n modelProviderId: string;\n modelId: string;\n };\n onSelect?: (AiModelServiceProvider: AiModelServiceProvider, model: AiModel) => void;\n style?: React.CSSProperties;\n titleClassName?: string;\n itemClassName?: string;\n renderInput: (props: {\n value: string;\n onChange: (value: string) => void;\n onPressEnter: () => void;\n onBlur: () => void;\n ref: React.Ref<InputRef>;\n }) => React.ReactNode;\n}\n\nexport const AiModelSelectPanel = (props: AiModelSelectPanelProps) => {\n const {\n className = '',\n modelServiceProviderList,\n value,\n onSelect,\n style,\n titleClassName,\n itemClassName,\n renderInput,\n } = props;\n\n const inputRef = useRef<InputRef>(null);\n\n const [customModelServiceProviderList, setCustomModelServiceProviderList] = useState(\n modelServiceProviderList.filter((item) => item.isCustom),\n );\n const [showInputProviderId, setShowInputProviderId] = useState<string>('');\n const [inputValue, setInputValue] = useState<string>('');\n\n const otherModelServiceProviderList = modelServiceProviderList.filter((item) => !item.isCustom);\n\n useEffect(() => {\n if (!showInputProviderId) return;\n\n // 聚焦到输入框\n const focusTimer = setTimeout(() => {\n inputRef.current?.focus();\n }, 0);\n\n // 滚动到输入框位置\n const scrollTimer = setTimeout(() => {\n // 使用唯一选择器查找包含输入框的元素\n const targetElement = document.querySelector(`[data-provider-id=\"${showInputProviderId}\"]`);\n if (targetElement) {\n targetElement.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }, 0);\n\n return () => {\n clearTimeout(focusTimer);\n clearTimeout(scrollTimer);\n };\n }, [showInputProviderId]);\n\n useEffect(() => {\n return () => {\n setShowInputProviderId('');\n setInputValue('');\n };\n }, []);\n\n const handleSelect = (modelProvider: AiModelServiceProvider, model: AiModel) => {\n onSelect?.(modelProvider, model);\n setShowInputProviderId('');\n setInputValue('');\n };\n\n const renderTitle = (modelProvider: AiModelServiceProvider) => {\n return (\n <div\n className={classNames(\n 'biz-h-6 biz-text-text-3 biz-px-3 biz-pt-1 biz-w-full',\n 'biz-flex biz-items-center biz-box-border biz-gap-2.5 biz-text-[14px]',\n titleClassName,\n )}\n title={modelProvider.name}\n >\n <div className='biz-w-0 biz-flex-1 biz-truncate'>{modelProvider.name}</div>\n {modelProvider.isCustom && modelProvider.modelList.length === 0 && (\n <IconBtn\n onClick={() => {\n setShowInputProviderId(modelProvider.id);\n }}\n icon={\n <PlusOutlined className='biz-w-3 biz-h-3 biz-text-text-2 hover:biz-text-text-1 biz-flex-center' />\n }\n />\n )}\n </div>\n );\n };\n\n const renderItem = (modelProvider: AiModelServiceProvider, model?: AiModel) => {\n if (modelProvider.isCustom) {\n if (modelProvider.id !== showInputProviderId && !modelProvider.modelList?.length) {\n return null;\n }\n }\n const normalContent = (\n <>\n <img src={modelProvider.iconSrc} className='biz-w-4 biz-h-4' />\n <div className='biz-truncate biz-w-0 biz-flex-1 biz-text-[14px]' title={model?.name}>\n {model?.name}\n </div>\n {modelProvider.isCustom && (\n <IconBtn\n onClick={(e) => {\n setShowInputProviderId(modelProvider.id);\n setInputValue(model?.name || '');\n e.stopPropagation();\n }}\n className='biz-hidden group-hover:!biz-flex'\n style={{ display: 'none' }}\n icon={\n <EditOutlined className='biz-w-3 biz-h-3 biz-text-text-2 hover:biz-text-text-1 biz-flex-center' />\n }\n />\n )}\n </>\n );\n\n const handlePressEnter = () => {\n if (inputValue) {\n setCustomModelServiceProviderList(\n produce(customModelServiceProviderList, (draft) => {\n const index = draft.findIndex((i) => i.id === modelProvider.id);\n if (index !== -1) {\n draft[index].modelList = [{ id: inputValue, name: inputValue }];\n }\n }),\n );\n setShowInputProviderId('');\n setInputValue('');\n }\n };\n\n const handleBlur = () => {\n if (!inputValue) {\n setShowInputProviderId('');\n }\n };\n\n const isSelected = value?.modelProviderId === modelProvider.id && value?.modelId === model?.id;\n\n return (\n <div\n key={model?.id || `input-${modelProvider.id}`}\n data-provider-id={modelProvider.id}\n className={classNames(\n 'biz-px-3 biz-py-[3px] biz-flex biz-items-center biz-gap-2',\n 'biz-text-text-2 biz-h-8 biz-w-full biz-box-border',\n 'hover:biz-bg-bg-white biz-cursor-pointer biz-group',\n isSelected && 'biz-bg-bg-white',\n itemClassName,\n )}\n onClick={() => {\n if (model && !showInputProviderId) {\n handleSelect(modelProvider, model);\n }\n }}\n >\n {showInputProviderId === modelProvider.id\n ? renderInput({\n value: inputValue,\n onChange: (value) => setInputValue(value),\n onPressEnter: handlePressEnter,\n onBlur: handleBlur,\n ref: inputRef,\n })\n : normalContent}\n </div>\n );\n };\n\n return (\n <div\n style={style}\n className={classNames(\n 'biz-bg-[#181B22] biz-border-one biz-rounded-[4px] biz-py-1 biz-h-[200px]',\n 'biz-flex biz-flex-col gap-1 biz-w-[160px] biz-max-h-[450px] biz-overflow-auto',\n className,\n )}\n >\n {otherModelServiceProviderList.map((provider) => (\n <div\n key={provider.id}\n className='biz-flex biz-flex-col biz-gap-1 biz-w-full biz-box-border'\n >\n {renderTitle(provider)}\n <div className='biz-flex biz-flex-col gap-1 biz-w-full'>\n {provider.modelList.map((model) => renderItem(provider, model))}\n </div>\n </div>\n ))}\n {customModelServiceProviderList.map((provider) => (\n <div\n key={provider.id}\n className='biz-flex biz-flex-col biz-gap-1 biz-w-full biz-box-border'\n >\n {renderTitle(provider)}\n <div className='biz-flex biz-flex-col gap-1 biz-w-full'>\n {renderItem(provider, provider.modelList[0])}\n </div>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["jsxs","jsx","Fragment","value"],"mappings":"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"}
|
|
@@ -58,7 +58,7 @@ function useSocketEvents(props) {
|
|
|
58
58
|
const socket = socketRef.current;
|
|
59
59
|
useEffect(() => {
|
|
60
60
|
function broadcastCallback(data) {
|
|
61
|
-
var _a, _b;
|
|
61
|
+
var _a, _b, _c;
|
|
62
62
|
const roomId = (_a = data == null ? void 0 : data.data) == null ? void 0 : _a.roomId;
|
|
63
63
|
if (roomId) {
|
|
64
64
|
const id = (socket == null ? void 0 : socket.auth)["custom-socket-id"];
|
|
@@ -66,7 +66,7 @@ function useSocketEvents(props) {
|
|
|
66
66
|
messageWindowByType[roomId] = [];
|
|
67
67
|
}
|
|
68
68
|
if (!((_b = messageWindowByType[roomId]) == null ? void 0 : _b.includes(id))) {
|
|
69
|
-
messageWindowByType[roomId].push(id);
|
|
69
|
+
(_c = messageWindowByType[roomId]) == null ? void 0 : _c.push(id);
|
|
70
70
|
(socket == null ? void 0 : socket.auth)["room-offset-map"][roomId] = id;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-socket-events.es.js","sources":["../../../src/hooks/use-socket-events/use-socket-events.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport { isNil } from 'lodash-es';\nimport { type Manager, type Socket } from 'socket.io-client';\nimport {\n EXPLICIT_DISCONNECT_REASON,\n MAX_TIMEOUT,\n messageWindowByType,\n socketBroadcastMessageList,\n SocketEventType,\n socketNormalMessageList,\n} from './constant';\nimport { AuthConfig, BroadcastData, SocketEventData, SocketOnErrorData } from './types';\n\nconst generateId = () => {\n return Math.random().toString().slice(2, 20);\n};\n\ninterface UseSocketDataCommonProps {\n basename: string;\n SocketManager: typeof Manager;\n host?: string;\n onBroadcast?: (dataAndType: BroadcastData) => void;\n onSocketEvent?: (dataAndType: SocketEventData) => void;\n onError?: (data: SocketOnErrorData) => void;\n}\ninterface UserIdProps {\n spaceId: number;\n userId?: number;\n}\ninterface GuestSocketIdProps {\n guestToken: string;\n}\ntype UseSocketDataProps = UseSocketDataCommonProps & (UserIdProps | GuestSocketIdProps);\n\nexport function useSocketEvents(props: UseSocketDataProps): Socket | null {\n const {\n basename,\n host,\n SocketManager,\n onBroadcast: propsOnBroadcast,\n onSocketEvent: propsOnSocketEvent,\n onError: propsOnError,\n } = props;\n const userId = (props as UserIdProps).userId;\n const spaceId = (props as UserIdProps).spaceId;\n const guestToken = (props as GuestSocketIdProps).guestToken;\n\n const refTimeout = useRef<NodeJS.Timeout | null>(null);\n const onBroadcast = useMemoizedFn((data: BroadcastData) => propsOnBroadcast?.(data));\n const onSocketEvent = useMemoizedFn((data: SocketEventData) => propsOnSocketEvent?.(data));\n const onError = useMemoizedFn((data: SocketOnErrorData) => propsOnError?.(data));\n const socketRef = useRef<Socket | null>(null);\n\n useEffect(() => {\n if (guestToken === '') {\n onError?.({\n type: 'connectError',\n errorMsg: 'guestToken 为空字符串,无法连接进入会话房间!',\n });\n return;\n }\n if (isNil(userId) && !guestToken) {\n onError?.({\n type: 'connectError',\n errorMsg: 'userId 为空,无法连接进入会话房间!',\n });\n return;\n }\n\n const customSocketId = guestToken ? `guest-${generateId()}` : `${userId}-${generateId()}`;\n socketRef.current?.disconnect();\n socketRef.current = new SocketManager(host || window.location.origin, {\n transports: ['websocket'],\n forceNew: false,\n path: `${basename}/socket/easyv-mps`,\n reconnectionDelay: 5000,\n reconnectionDelayMax: 10000,\n }).socket('/easyv-mps', {\n auth: {\n 'custom-socket-id': customSocketId,\n 'space-id': spaceId || 0,\n 'guest-token': guestToken || '',\n 'room-offset-map': messageWindowByType,\n },\n });\n }, [SocketManager, basename, guestToken, host, onError, spaceId, userId]);\n\n const socket = socketRef.current;\n\n useEffect(() => {\n function broadcastCallback(data: { data: { roomId: string } }) {\n const roomId = data?.data?.roomId;\n if (roomId) {\n const id = (socket?.auth as AuthConfig)['custom-socket-id'];\n if (!messageWindowByType[roomId]) {\n messageWindowByType[roomId] = [];\n }\n if (!messageWindowByType[roomId]?.includes(id)) {\n // 重复消息过滤\n messageWindowByType[roomId]
|
|
1
|
+
{"version":3,"file":"use-socket-events.es.js","sources":["../../../src/hooks/use-socket-events/use-socket-events.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport { isNil } from 'lodash-es';\nimport { type Manager, type Socket } from 'socket.io-client';\nimport {\n EXPLICIT_DISCONNECT_REASON,\n MAX_TIMEOUT,\n messageWindowByType,\n socketBroadcastMessageList,\n SocketEventType,\n socketNormalMessageList,\n} from './constant';\nimport { AuthConfig, BroadcastData, SocketEventData, SocketOnErrorData } from './types';\n\nconst generateId = () => {\n return Math.random().toString().slice(2, 20);\n};\n\ninterface UseSocketDataCommonProps {\n basename: string;\n SocketManager: typeof Manager;\n host?: string;\n onBroadcast?: (dataAndType: BroadcastData) => void;\n onSocketEvent?: (dataAndType: SocketEventData) => void;\n onError?: (data: SocketOnErrorData) => void;\n}\ninterface UserIdProps {\n spaceId: number;\n userId?: number;\n}\ninterface GuestSocketIdProps {\n guestToken: string;\n}\ntype UseSocketDataProps = UseSocketDataCommonProps & (UserIdProps | GuestSocketIdProps);\n\nexport function useSocketEvents(props: UseSocketDataProps): Socket | null {\n const {\n basename,\n host,\n SocketManager,\n onBroadcast: propsOnBroadcast,\n onSocketEvent: propsOnSocketEvent,\n onError: propsOnError,\n } = props;\n const userId = (props as UserIdProps).userId;\n const spaceId = (props as UserIdProps).spaceId;\n const guestToken = (props as GuestSocketIdProps).guestToken;\n\n const refTimeout = useRef<NodeJS.Timeout | null>(null);\n const onBroadcast = useMemoizedFn((data: BroadcastData) => propsOnBroadcast?.(data));\n const onSocketEvent = useMemoizedFn((data: SocketEventData) => propsOnSocketEvent?.(data));\n const onError = useMemoizedFn((data: SocketOnErrorData) => propsOnError?.(data));\n const socketRef = useRef<Socket | null>(null);\n\n useEffect(() => {\n if (guestToken === '') {\n onError?.({\n type: 'connectError',\n errorMsg: 'guestToken 为空字符串,无法连接进入会话房间!',\n });\n return;\n }\n if (isNil(userId) && !guestToken) {\n onError?.({\n type: 'connectError',\n errorMsg: 'userId 为空,无法连接进入会话房间!',\n });\n return;\n }\n\n const customSocketId = guestToken ? `guest-${generateId()}` : `${userId}-${generateId()}`;\n socketRef.current?.disconnect();\n socketRef.current = new SocketManager(host || window.location.origin, {\n transports: ['websocket'],\n forceNew: false,\n path: `${basename}/socket/easyv-mps`,\n reconnectionDelay: 5000,\n reconnectionDelayMax: 10000,\n }).socket('/easyv-mps', {\n auth: {\n 'custom-socket-id': customSocketId,\n 'space-id': spaceId || 0,\n 'guest-token': guestToken || '',\n 'room-offset-map': messageWindowByType,\n },\n });\n }, [SocketManager, basename, guestToken, host, onError, spaceId, userId]);\n\n const socket = socketRef.current;\n\n useEffect(() => {\n function broadcastCallback(data: { data: { roomId: string } }) {\n const roomId = data?.data?.roomId;\n if (roomId) {\n const id = (socket?.auth as AuthConfig)['custom-socket-id'];\n if (!messageWindowByType[roomId]) {\n messageWindowByType[roomId] = [];\n }\n if (!messageWindowByType[roomId]?.includes(id)) {\n // 重复消息过滤\n messageWindowByType[roomId]?.push(id);\n (socket?.auth as AuthConfig)['room-offset-map'][roomId] = id;\n }\n }\n }\n\n socketNormalMessageList.forEach((item) => {\n socket?.on(item, (data) => {\n onBroadcast?.({ data, eventType: item });\n });\n });\n socketBroadcastMessageList.forEach((item) => {\n socket?.on(item, (data) => {\n broadcastCallback({\n data,\n });\n onBroadcast?.({ data, eventType: item });\n });\n });\n\n socket?.on('connect', () => {\n if (socket?.connected) {\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT });\n // 清理定时任务\n clearDelayer(refTimeout.current);\n } else {\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT_ERROR });\n }\n });\n\n socket?.on('reconnect', (reason) => {\n // 断开\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.RECONNECT });\n if (EXPLICIT_DISCONNECT_REASON.has(reason)) {\n // 意外断开,启动一个定时器,规定时间内没重新连上就弹框,要求客户刷新页面\n clearDelayer(refTimeout.current);\n refTimeout.current = setTimeout(() => {\n // 连接超时\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT_TIMEOUT });\n }, MAX_TIMEOUT);\n }\n console.log('重连成功');\n });\n socket?.on('connect_error', (error) => {\n onSocketEvent?.({\n data: { success: false, data: error },\n eventType: SocketEventType.CONNECT_ERROR,\n });\n onError?.({ type: 'connectError', errorMsg: error.message });\n });\n return () => {\n // 主动断开\n if (socket?.connected) {\n socket?.close();\n }\n };\n }, [onBroadcast, onError, onSocketEvent, socket]);\n\n return socket;\n}\n\n/**\n * clear timeout util\n * */\nfunction clearDelayer(timeoutId: NodeJS.Timeout | null) {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs } from "../../../../../_virtual/_commonjsHelpers.es.js";
|
|
2
|
-
import { __module as classnames$1 } from "../../../../../_virtual/index.
|
|
2
|
+
import { __module as classnames$1 } from "../../../../../_virtual/index.es4.js";
|
|
3
3
|
/*!
|
|
4
4
|
Copyright (c) 2018 Jed Watson.
|
|
5
5
|
Licensed under the MIT License (MIT), see
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs } from "../../../../../_virtual/_commonjsHelpers.es.js";
|
|
2
|
-
import { __module as coWebWorker } from "../../../../../_virtual/index.
|
|
2
|
+
import { __module as coWebWorker } from "../../../../../_virtual/index.es2.js";
|
|
3
3
|
class CrossOriginWorker extends Worker {
|
|
4
4
|
constructor(scriptUrl) {
|
|
5
5
|
const b = new Blob([`importScripts('${new URL(scriptUrl).toString()}')`], { type: "application/javascript" });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getDefaultExportFromCjs } from "../../../../../_virtual/_commonjsHelpers.es.js";
|
|
2
|
-
import { __module as propTypes } from "../../../../../_virtual/index.
|
|
2
|
+
import { __module as propTypes } from "../../../../../_virtual/index.es3.js";
|
|
3
3
|
import { __require as requireReactIs } from "../../../react-is@16.13.1/node_modules/react-is/index.es.js";
|
|
4
4
|
import { __require as requireFactoryWithTypeCheckers } from "./factoryWithTypeCheckers.es.js";
|
|
5
5
|
import { __require as requireFactoryWithThrowingShims } from "./factoryWithThrowingShims.es.js";
|