im-ui-mobile 0.0.21 → 0.0.23

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/index.js CHANGED
@@ -16,9 +16,3 @@ const install = (app) => {
16
16
  export default {
17
17
  install
18
18
  }
19
- /*
20
- /// <reference path="./components.d.ts" />
21
- declare module 'im-ui-mobile' {
22
- export function install(): void //必要
23
- }
24
- */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "im-ui-mobile",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "description": "A Vue3.0 + typescript instant messaging component library for Uniapp",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -1,200 +0,0 @@
1
- <template>
2
- <view class="im-chat" :class="[`im-chat--${type}`]" @click="handleClick">
3
- <view class="im-chat__avatar">
4
- <view class="avatar-fallback">
5
- <image v-if="avatar" :src="avatar" class="avatar-image" mode="aspectFill" />
6
- <text v-else class="avatar-text">{{ displayName }}</text>
7
- </view>
8
- </view>
9
- <view class="im-chat__content">
10
- <view class="im-chat__header">
11
- <text class="im-chat__name">{{ name }}</text>
12
- <text class="im-chat__time">{{ time }}</text>
13
- </view>
14
- <view class="im-chat__message">
15
- <text class="im-chat__text">{{ lastMessage }}</text>
16
- <view v-if="unreadCount > 0" class="badge-fallback">
17
- <text class="badge-text">{{ displayUnreadCount }}</text>
18
- </view>
19
- </view>
20
- </view>
21
- </view>
22
- </template>
23
-
24
- <script>
25
- export default {
26
- name: 'ImChat',
27
- props: {
28
- type: {
29
- type: String,
30
- default: 'default',
31
- validator: function (value) {
32
- return ['default', 'group'].includes(value)
33
- }
34
- },
35
- avatar: {
36
- type: String,
37
- default: ''
38
- },
39
- name: {
40
- type: String,
41
- required: true
42
- },
43
- time: {
44
- type: String,
45
- required: true
46
- },
47
- lastMessage: {
48
- type: String,
49
- required: true
50
- },
51
- unreadCount: {
52
- type: Number,
53
- default: 0
54
- }
55
- },
56
- computed: {
57
- displayName() {
58
- return this.name ? this.name.charAt(0) : ''
59
- },
60
- displayUnreadCount() {
61
- return this.unreadCount > 99 ? '99+' : this.unreadCount
62
- }
63
- },
64
- methods: {
65
- handleClick(event) {
66
- console.log('🔍 uni 对象检查:', {
67
- hasUni: typeof uni !== 'undefined',
68
- hasShowToast: typeof uni?.showToast === 'function',
69
- hasShowModal: typeof uni?.showModal === 'function'
70
- })
71
-
72
- try {
73
- // 使用 showModal 替代 showToast 进行测试
74
- uni.showModal({
75
- title: '提示',
76
- content: `点击了 ${this.name}`,
77
- showCancel: false,
78
- confirmText: '知道了'
79
- })
80
- console.log('✅ uni.showModal 调用成功')
81
- } catch (error) {
82
- console.error('❌ uni API 调用失败:', error)
83
-
84
- // 备用方案:在开发环境显示提示
85
- if (typeof document !== 'undefined') {
86
- alert(`点击了 ${this.name}`)
87
- }
88
- }
89
-
90
- this.$emit('click', event)
91
- }
92
- }
93
- }
94
- </script>
95
-
96
- <style lang="scss" scoped>
97
- .im-chat {
98
- display: flex;
99
- padding: 24rpx 32rpx;
100
- transition: background-color 0.3s;
101
- border-bottom: 2rpx solid #f5f7fa;
102
-
103
- &:active {
104
- background-color: #f5f7fa;
105
- }
106
-
107
- &__avatar {
108
- margin-right: 24rpx;
109
-
110
- .avatar-fallback {
111
- width: 80rpx;
112
- height: 80rpx;
113
- border-radius: 50%;
114
- background: linear-gradient(135deg, #409EFF, #67C23A);
115
- display: flex;
116
- align-items: center;
117
- justify-content: center;
118
- overflow: hidden;
119
-
120
- .avatar-image {
121
- width: 100%;
122
- height: 100%;
123
- }
124
-
125
- .avatar-text {
126
- color: white;
127
- font-size: 32rpx;
128
- font-weight: bold;
129
- }
130
- }
131
- }
132
-
133
- &__content {
134
- flex: 1;
135
- min-width: 0;
136
- }
137
-
138
- &__header {
139
- display: flex;
140
- justify-content: space-between;
141
- align-items: center;
142
- margin-bottom: 8rpx;
143
- }
144
-
145
- &__name {
146
- font-size: 32rpx;
147
- font-weight: 500;
148
- color: #303133;
149
- overflow: hidden;
150
- text-overflow: ellipsis;
151
- white-space: nowrap;
152
- flex: 1;
153
- }
154
-
155
- &__time {
156
- font-size: 24rpx;
157
- color: #909399;
158
- flex-shrink: 0;
159
- margin-left: 16rpx;
160
- }
161
-
162
- &__message {
163
- display: flex;
164
- justify-content: space-between;
165
- align-items: center;
166
- }
167
-
168
- &__text {
169
- font-size: 28rpx;
170
- color: #606266;
171
- overflow: hidden;
172
- text-overflow: ellipsis;
173
- white-space: nowrap;
174
- flex: 1;
175
- }
176
-
177
- .badge-fallback {
178
- background-color: #FA3534;
179
- border-radius: 40rpx;
180
- min-width: 36rpx;
181
- height: 36rpx;
182
- display: flex;
183
- align-items: center;
184
- justify-content: center;
185
- margin-left: 16rpx;
186
-
187
- .badge-text {
188
- color: white;
189
- font-size: 20rpx;
190
- font-weight: bold;
191
- padding: 0 8rpx;
192
- }
193
- }
194
-
195
- /* 群聊样式 */
196
- &--group &__name::before {
197
- content: "👥 ";
198
- }
199
- }
200
- </style>
@@ -1,166 +0,0 @@
1
- import type { RTC_STATE, MESSAGE_TYPE } from '../utils/enums';
2
- export * from './user';
3
- export * from './recorder';
4
- /**
5
- * 通话模式类型
6
- */
7
- export type RtcMode = 'audio' | 'video' | 'voice';
8
- /**
9
- * RTC 信息接口
10
- */
11
- export interface RtcInfo {
12
- friend: Friend;
13
- mode: RtcMode;
14
- state: RTC_STATE;
15
- isHost?: boolean;
16
- }
17
- /**
18
- * 聊天
19
- */
20
- export interface Chat {
21
- id?: string | number;
22
- targetId: number;
23
- type: 'PRIVATE' | 'GROUP';
24
- showName: string;
25
- headImage: string;
26
- isDnd: boolean;
27
- lastContent: string;
28
- lastSendTime?: number;
29
- unreadCount: number;
30
- hotMinIdx: number;
31
- readedMessageIdx: number;
32
- messages: Message[];
33
- atMe: boolean;
34
- atAll: boolean;
35
- stored: boolean;
36
- delete: boolean;
37
- lastTimeTip?: number;
38
- sendNickName?: string;
39
- }
40
- /**
41
- * 消息
42
- */
43
- export interface Message {
44
- id?: number;
45
- tmpId?: number;
46
- type: number;
47
- content: string;
48
- sendTime?: number;
49
- selfSend?: boolean;
50
- status?: number;
51
- sendNickName?: string;
52
- atUserIds?: number[];
53
- sendId?: number;
54
- recvId?: number;
55
- groupId?: number;
56
- receipt?: boolean;
57
- receiptOk?: boolean;
58
- readedCount?: number;
59
- quoteMessage?: Message;
60
- fileId?: string;
61
- }
62
- /**
63
- * 好友信息接口
64
- */
65
- export interface Friend {
66
- id: number;
67
- nickName: string;
68
- headImage?: string;
69
- online: boolean;
70
- onlineWeb: boolean;
71
- onlineApp: boolean;
72
- isDnd: boolean;
73
- deleted?: boolean;
74
- remarkName?: string;
75
- gender?: number;
76
- signature?: string;
77
- remarkNickName?: string;
78
- showNickName?: string;
79
- [key: string]: any;
80
- }
81
- /**
82
- * 在线终端信息接口
83
- */
84
- export interface OnlineTerminal {
85
- userId: string | number;
86
- terminals: number[];
87
- }
88
- /**
89
- * 菜单项
90
- */
91
- export interface MenuItem {
92
- key: string;
93
- name: string;
94
- icon?: string;
95
- color?: string;
96
- [key: string]: any;
97
- }
98
- export interface WebRTCMessage {
99
- type: number;
100
- content: string;
101
- sendId: number;
102
- selfSend?: boolean;
103
- }
104
- export interface GroupMember {
105
- id?: number;
106
- userId: number;
107
- showNickName: string;
108
- headImage?: string;
109
- quit?: boolean;
110
- [key: string]: any;
111
- }
112
- /**
113
- * 群组信息接口
114
- */
115
- export interface Group {
116
- id: number;
117
- ownerId: number;
118
- isBanned?: boolean;
119
- reason?: string;
120
- name: string;
121
- headImage: string;
122
- isDnd: boolean;
123
- quit?: boolean;
124
- topMessage?: string;
125
- memberCount?: number;
126
- createTime?: number;
127
- showGroupName: string;
128
- headImageThumb?: string;
129
- remarkGroupName?: string;
130
- remarkNickName?: string;
131
- notice?: string;
132
- [key: string]: any;
133
- }
134
- /**
135
- * 上传图片相应数据
136
- */
137
- export interface UploadImageResponse {
138
- originUrl: string;
139
- thumbUrl: string;
140
- [key: string]: any;
141
- }
142
- /**
143
- * 发送消息项
144
- */
145
- export interface SubmitItem {
146
- type: MESSAGE_TYPE;
147
- content: string | ImageItem | FileItem;
148
- atUserIds?: number[];
149
- }
150
- export interface ImageItem {
151
- fileId: number;
152
- file: File;
153
- url: string;
154
- }
155
- export interface FileItem {
156
- fileId: number;
157
- file: File;
158
- }
159
- export interface ApiResponse<T = any> {
160
- data?: T;
161
- code?: number;
162
- message?: string;
163
- success?: boolean;
164
- timestamp?: number;
165
- path?: string;
166
- }
@@ -1,15 +0,0 @@
1
- export interface RecorderError {
2
- errMsg: string;
3
- }
4
- export interface UploadRecorderFileResponse {
5
- code: number;
6
- data: string;
7
- message?: string;
8
- }
9
- export interface UploadRecorderFileResult {
10
- duration: number;
11
- url: string;
12
- }
13
- export interface RecorderFile {
14
- tempFilePath: string;
15
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * 用户信息接口
3
- */
4
- export interface UserInfo {
5
- id: number;
6
- nickName: string;
7
- headImage: string;
8
- headImageThumb?: string;
9
- email?: string;
10
- phone?: string;
11
- gender?: number;
12
- signature?: string;
13
- isBanned?: boolean;
14
- reason?: string;
15
- userName?: string;
16
- sex?: number;
17
- online?: boolean;
18
- [key: string]: any;
19
- }
@@ -1,7 +0,0 @@
1
- export declare const setToken: (value: string) => void;
2
- export declare const getToken: () => string;
3
- export declare const setRefreshToken: (value: string) => void;
4
- export declare const getRefreshToken: () => string;
5
- export declare const clearToken: () => void;
6
- export declare const setAuth: (data: any) => void;
7
- export declare const isAuthed: () => boolean;
@@ -1,9 +0,0 @@
1
- declare const _default: {
2
- toTimeText: (timeStamp: string | number | Date, simple?: boolean | undefined) => string;
3
- toPreciseTimeText: (timeStamp: string | number | Date) => string;
4
- toChatTimeText: (timeStamp: string | number | Date) => string;
5
- isYestday: (date: Date) => boolean;
6
- isYear: (date: Date) => boolean;
7
- formatDateTime: (date: string | Date) => string;
8
- };
9
- export default _default;
@@ -1,8 +0,0 @@
1
- declare const _default: {
2
- containEmoji: (content: string) => boolean;
3
- emoTextList: string[];
4
- transform: (content: string, extClass?: string) => string;
5
- textToPath: (emoText: string) => string;
6
- pathToText: (path: string) => string;
7
- };
8
- export default _default;
@@ -1,73 +0,0 @@
1
- /**
2
- * 消息类型枚举
3
- */
4
- export declare enum MESSAGE_TYPE {
5
- TEXT = 0,
6
- IMAGE = 1,
7
- FILE = 2,
8
- AUDIO = 3,
9
- VIDEO = 4,
10
- RECALL = 10,
11
- READED = 11,
12
- RECEIPT = 12,
13
- TIP_TIME = 20,
14
- TIP_TEXT = 21,
15
- LOADING = 30,
16
- ACT_RT_VOICE = 40,
17
- ACT_RT_VIDEO = 41,
18
- USER_BANNED = 50,
19
- FRIEND_NEW = 80,
20
- FRIEND_DEL = 81,
21
- FRIEND_DND = 82,
22
- GROUP_NEW = 90,
23
- GROUP_DEL = 91,
24
- GROUP_DND = 92,
25
- RTC_CALL_VOICE = 100,
26
- RTC_CALL_VIDEO = 101,
27
- RTC_ACCEPT = 102,
28
- RTC_REJECT = 103,
29
- RTC_CANCEL = 104,
30
- RTC_FAILED = 105,
31
- RTC_HANDUP = 106,
32
- RTC_CANDIDATE = 107,
33
- RTC_GROUP_SETUP = 200,
34
- RTC_GROUP_ACCEPT = 201,
35
- RTC_GROUP_REJECT = 202,
36
- RTC_GROUP_FAILED = 203,
37
- RTC_GROUP_CANCEL = 204,
38
- RTC_GROUP_QUIT = 205,
39
- RTC_GROUP_INVITE = 206,
40
- RTC_GROUP_JOIN = 207,
41
- RTC_GROUP_OFFER = 208,
42
- RTC_GROUP_ANSWER = 209,
43
- RTC_GROUP_CANDIDATE = 210,
44
- RTC_GROUP_DEVICE = 211
45
- }
46
- /**
47
- * RTC 状态枚举
48
- */
49
- export declare enum RTC_STATE {
50
- FREE = 0,// 空闲,可以被呼叫
51
- WAIT_CALL = 1,// 呼叫后等待
52
- WAIT_ACCEPT = 2,// 被呼叫后等待
53
- ACCEPTED = 3,// 已接受聊天,等待建立连接
54
- CHATING = 4
55
- }
56
- /**
57
- * 终端类型枚举
58
- */
59
- export declare enum TERMINAL_TYPE {
60
- WEB = 0,
61
- APP = 1
62
- }
63
- /**
64
- * 消息状态枚举
65
- */
66
- export declare enum MESSAGE_STATUS {
67
- FAILED = -2,// 发送失败
68
- SENDING = -1,// 发送中(消息没到服务器)
69
- PENDING = 0,// 未送达(消息已到服务器,但对方没收到)
70
- DELIVERED = 1,// 已送达(对方已收到,但是未读消息)
71
- RECALL = 2,// 已撤回
72
- READED = 3
73
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * 环境变量类
3
- * Created by Joncky 2025.08.15
4
- */
5
- declare class Env {
6
- static EmojiUrl: string;
7
- static AuthApiUrl: string;
8
- static BaseApiUrl: string;
9
- static WebSocketUrl: string;
10
- }
11
- export default Env;
@@ -1,67 +0,0 @@
1
- import { IEventBus } from './IEventBus';
2
- import './GlobalEventCallback';
3
- import './EventCallback';
4
- export default class EventBusImpl implements IEventBus {
5
- private events;
6
- private globalListeners;
7
- /**
8
- * 监听特定事件
9
- * @param eventName 事件名称
10
- * @param callback 回调函数
11
- */
12
- on<T = any>(eventName: string, callback: EventCallback<T>): void;
13
- /**
14
- * 监听所有事件
15
- * @param callback 全局回调函数
16
- */
17
- onAll(callback: GlobalEventCallback): void;
18
- /**
19
- * 一次性监听特定事件
20
- * @param eventName 事件名称
21
- * @param callback 回调函数
22
- */
23
- once<T = any>(eventName: string, callback: EventCallback<T>): void;
24
- /**
25
- * 触发事件
26
- * @param eventName 事件名称
27
- * @param data 事件数据
28
- */
29
- emit<T = any>(eventName: string, data?: T): void;
30
- /**
31
- * 移除事件监听器
32
- * @param eventName 事件名称
33
- * @param callback 要移除的回调函数(不传则移除所有监听器)
34
- */
35
- off(eventName: string, callback?: EventCallback): void;
36
- /**
37
- * 移除所有事件监听器
38
- */
39
- offAll(): void;
40
- /**
41
- * 移除全局监听器
42
- * @param callback 要移除的全局回调函数
43
- */
44
- offAllListener(callback?: GlobalEventCallback): void;
45
- /**
46
- * 获取事件监听器数量
47
- * @param eventName 事件名称(不传则返回所有事件的总数)
48
- */
49
- getEventCount(eventName?: string): number;
50
- /**
51
- * 检查是否存在特定事件的监听器
52
- * @param eventName 事件名称
53
- */
54
- hasEvent(eventName: string): boolean;
55
- /**
56
- * 获取所有已注册的事件名称
57
- */
58
- getEventNames(): string[];
59
- /**
60
- * 清空所有事件(包括全局监听器)
61
- */
62
- clear(): void;
63
- /**
64
- * 销毁事件总线实例
65
- */
66
- destroy(): void;
67
- }
@@ -1 +0,0 @@
1
- type EventCallback<T = any> = (data: T) => void;
@@ -1 +0,0 @@
1
- type GlobalEventCallback = (eventName: string, data?: any) => void;
@@ -1,10 +0,0 @@
1
- export interface IEventBus {
2
- on(eventName: string, callback: EventCallback): void;
3
- onAll(callback: GlobalEventCallback): void;
4
- once(eventName: string, callback: EventCallback): void;
5
- emit(eventName: string, data?: any): void;
6
- off(eventName: string, callback?: EventCallback): void;
7
- offAll(): void;
8
- getEventCount(eventName?: string): number;
9
- hasEvent(eventName: string): boolean;
10
- }
@@ -1,4 +0,0 @@
1
- export interface IEventListener {
2
- callback: EventCallback;
3
- once?: boolean;
4
- }
@@ -1,3 +0,0 @@
1
- import EventBusImpl from './EventBusImpl';
2
- declare const eventBus: EventBusImpl;
3
- export { eventBus };
@@ -1,50 +0,0 @@
1
- /**
2
- * 将 HTML 特殊字符转义为实体
3
- * @param text - 原始文本
4
- * @returns 转义后的文本
5
- */
6
- declare const html2Escape: (text: string) => string;
7
- /**
8
- * 更全面的 HTML 转义函数(包含更多特殊字符)
9
- * @param text - 原始文本
10
- * @returns 转义后的文本
11
- */
12
- declare const htmlEscape: (text: string) => string;
13
- /**
14
- * 将 HTML 实体反转义为特殊字符
15
- * @param text - 转义后的文本
16
- * @returns 原始文本
17
- */
18
- declare const htmlUnescape: (text: string) => string;
19
- /**
20
- * 转义 HTML 属性值
21
- * @param value - 属性值
22
- * @returns 转义后的属性值
23
- */
24
- declare const escapeAttribute: (value: string) => string;
25
- /**
26
- * 转义 HTML 文本内容(不转义单引号)
27
- * @param text - 文本内容
28
- * @returns 转义后的文本内容
29
- */
30
- declare const escapeTextContent: (text: string) => string;
31
- /**
32
- * 检查文本是否包含需要转义的 HTML 特殊字符
33
- * @param text - 要检查的文本
34
- * @returns 是否包含特殊字符
35
- */
36
- declare const hasHtmlSpecialChars: (text: string) => boolean;
37
- /**
38
- * 安全的设置 innerHTML(自动转义)
39
- * @param element - DOM 元素
40
- * @param html - HTML 内容
41
- */
42
- declare const setSafeHTML: (element: HTMLElement, html: string) => void;
43
- /**
44
- * 安全的创建 HTML 字符串
45
- * @param strings - 模板字符串数组
46
- * @param values - 插入值数组
47
- * @returns 安全的 HTML 字符串
48
- */
49
- declare const safeHTML: (strings: TemplateStringsArray, ...values: any[]) => string;
50
- export { html2Escape, htmlEscape, htmlUnescape, escapeAttribute, escapeTextContent, hasHtmlSpecialChars, setSafeHTML, safeHTML };
@@ -1,15 +0,0 @@
1
- export * from './eventBus/index.ts';
2
- export * from './auth.ts';
3
- export * from './datetime.ts';
4
- export * from './emotion.ts';
5
- export * from './enums.ts';
6
- export * from './env.ts';
7
- export * from './htmlEscape.ts';
8
- export * from './messageType.ts';
9
- export * from './recorderApp.ts';
10
- export * from './recorderH5.ts';
11
- export * from './request.ts';
12
- export * from './requestx.ts';
13
- export * from './url.ts';
14
- export * from './useDynamicRefs.ts';
15
- export * from './websocket.ts';
@@ -1,35 +0,0 @@
1
- /**
2
- * 消息类型枚举
3
- * 消息类型范围
4
- */
5
- export declare enum MessageTypeRange {
6
- NORMAL_MIN = 0,
7
- NORMAL_MAX = 9,
8
- STATUS_MIN = 10,
9
- STATUS_MAX = 19,
10
- TIP_MIN = 20,
11
- TIP_MAX = 29,
12
- ACTION_MIN = 40,
13
- ACTION_MAX = 49,
14
- RTC_PRIVATE_MIN = 100,
15
- RTC_PRIVATE_MAX = 199,
16
- RTC_GROUP_MIN = 200,
17
- RTC_GROUP_MAX = 299
18
- }
19
- declare const _default: {
20
- isNormal: (type: number) => boolean;
21
- isStatus: (type: number) => boolean;
22
- isTip: (type: number) => boolean;
23
- isAction: (type: number) => boolean;
24
- isRtcPrivate: (type: number) => boolean;
25
- isRtcGroup: (type: number) => boolean;
26
- getMessageCategory: (type: number) => string;
27
- isValidMessageType: (type: number) => boolean;
28
- getMessageTypeRanges: () => {
29
- category: string;
30
- min: number;
31
- max: number;
32
- description: string;
33
- }[];
34
- };
35
- export default _default;
@@ -1,8 +0,0 @@
1
- import type { UploadRecorderFileResult } from '../libs';
2
- declare const _default: {
3
- checkIsEnable: () => boolean;
4
- start: () => Promise<void>;
5
- close: () => void;
6
- upload: () => Promise<UploadRecorderFileResult>;
7
- };
8
- export default _default;
@@ -1,8 +0,0 @@
1
- import type { UploadRecorderFileResult } from '../libs';
2
- declare const _default: {
3
- checkIsEnable: () => boolean;
4
- start: () => Promise<void>;
5
- close: () => void;
6
- upload: () => Promise<UploadRecorderFileResult>;
7
- };
8
- export default _default;
@@ -1,8 +0,0 @@
1
- interface Response<T> {
2
- code: number;
3
- message: string;
4
- result: T;
5
- success: boolean;
6
- }
7
- export declare const request: <T>(options: UniApp.RequestOptions) => Promise<Response<T>>;
8
- export {};
@@ -1,24 +0,0 @@
1
- declare class RequestX {
2
- /**
3
- * GET 请求
4
- */
5
- get: <T = any>(url: string, data?: any, options?: Partial<UniApp.RequestOptions>) => any;
6
- /**
7
- * POST 请求
8
- */
9
- post: <T = any>(url: string, data?: any, options?: Partial<UniApp.RequestOptions>) => any;
10
- /**
11
- * PUT 请求
12
- */
13
- put: <T = any>(url: string, data?: any, options?: Partial<UniApp.RequestOptions>) => any;
14
- /**
15
- * DELETE 请求
16
- */
17
- delete: <T = any>(url: string, data?: any, options?: Partial<UniApp.RequestOptions>) => any;
18
- /**
19
- * 上传文件
20
- */
21
- uploadFile: (options: UniApp.UploadFileOption) => any;
22
- }
23
- declare const requestx: RequestX;
24
- export { requestx };
@@ -1,5 +0,0 @@
1
- declare const _default: {
2
- containUrl: (content: string) => boolean;
3
- replaceURLWithHTMLLinks: (content: string, color?: string) => string;
4
- };
5
- export default _default;
@@ -1,9 +0,0 @@
1
- /**
2
- * 使用动态Refs(组合式函数)
3
- */
4
- export declare function useDynamicRefs<T = any>(): {
5
- refs: import("vue").Ref<Map<string, import("@vue/reactivity").UnwrapRefSimple<T>> & Omit<Map<string, T>, keyof Map<any, any>>, Map<string, T> | (Map<string, import("@vue/reactivity").UnwrapRefSimple<T>> & Omit<Map<string, T>, keyof Map<any, any>>)>;
6
- setRef: (key: string) => (el: T) => void;
7
- getRef: (key: string) => T | undefined;
8
- getAllRefs: () => Map<string, import("@vue/reactivity").UnwrapRefSimple<T>> & Omit<Map<string, T>, keyof Map<any, any>>;
9
- };
@@ -1,35 +0,0 @@
1
- type MessageCallback = (cmd: number, data: any) => void;
2
- type CloseCallback = (res: any) => void;
3
- type ConnectCallback = () => void;
4
- declare class WebSocketManager {
5
- private messageCallBack;
6
- private closeCallBack;
7
- private connectCallBack;
8
- private isConnect;
9
- private reconnectTimer;
10
- private lastConnectTime;
11
- private socketTask;
12
- private heartCheckTimeout;
13
- private heartCheckTimer;
14
- private startHeartCheck;
15
- private resetHeartCheck;
16
- private clearHeartCheck;
17
- connect(wsurl: string, token: string): void;
18
- private setupSocketEvents;
19
- private handleMessage;
20
- private handleClose;
21
- reconnect(wsurl: string, token: string): void;
22
- private scheduleReconnect;
23
- close(code?: number): void;
24
- sendMessage(message: string): void;
25
- onConnect(callback: ConnectCallback): void;
26
- onMessage(callback: MessageCallback): void;
27
- onClose(callback: CloseCallback): void;
28
- getIsConnect(): boolean;
29
- getLastConnectTime(): Date;
30
- setHeartCheckTimeout(timeout: number): void;
31
- destroy(): void;
32
- }
33
- declare const webSocketManager: WebSocketManager;
34
- export { webSocketManager, WebSocketManager };
35
- export default webSocketManager;