jiuyiUniapp/jiuyi/node_modules/@tencentcloud/tui-core/index.d.ts

456 lines
13 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { ChatSDK } from '@tencentcloud/chat';
/**
* TUILogin login 参数信息(未说明的参数均可忽略)
* @interface LoginParams
* @property {number} SDKAppID 云通信应用的 SDKAppID
* @property {string} userID 用户 ID
* @property {string} userSig 用户登录即时通信 IM 的密码,其本质是对 UserID 等信息加密后得到的密文。<br/>具体生成方法请参见{@link https://cloud.tencent.com/document/product/269/32688 生成 UserSig}
* @property {any} [TIMPush] uniapp 推送插件 默认 undefined
* @property {any} [pushConfig] uniapp 推送插件配置信息 默认 undefined
* @property {any} [TUIOfflinePush] uniapp 离线推送插件 默认 undefined(已废弃,推荐使用 TIMPush)
* @property {any} [offlinePushConfig] uniapp 离线推送插件配置信息 默认 undefined(已废弃,推荐使用 TIMPush 对应的 pushConfig 参数)
* @property {boolean} [useUploadPlugin] 是否使用上传插件 默认 false
* @property {string} [fileUploadProxy] 图片、视频、文件上传代理地址
* @property {string} [fileDownloadProxy] 图片、视频、文件下载代理地址
* @property {string} [proxyServer] 设置 IM 服务代理服务
* @property {string} [framework] 单前使用的框架 vue2 或 vue3请务必准确填写用于分析 badcase
*/
interface LoginParams {
SDKAppID: number;
userID: string;
userSig: string;
TIMPush?: any;
pushConfig?: any;
TUIOfflinePush?: any;
offlinePushConfig?: any;
useUploadPlugin?: boolean;
useProfanityFilterPlugin?: boolean;
unlimitedAVChatRoom?: boolean;
scene?: string;
fileUploadProxy?: string;
fileDownloadProxy?: string;
proxyServer?: string;
devMode?: boolean;
framework?: string;
}
type func = (...args: any[]) => any;
/**
* 调用服务的参数信息
* @interface CallServiceParams
* @property {string} serviceName 服务名
* @property {string} method 调用的方法名
* @property {any} params 业务参数
* @property {func} [callback] 回调函数
*/
interface CallServiceParams {
serviceName: string;
method: string;
params: Record<string, any>;
callback?: func;
}
/**
* 扩展配置信息
* @interface ExtensionInfo
* @property {number} weight 扩展组件权重用于排序weight 值越大显示位置越靠前
* @property {string} text 扩展组件显示的名称
* @property {string} icon 扩展组件图标 url
* @property {object} data 自定义扩展信息
* @property {object} listener 回调函数
* @property {func} [listener.onClicked] 页面点击回调
* @property {func} [listener.onLongPressed] 页面长按回调
* @property {func} [listener.onTouched] 屏幕触摸回调
* @property {func} [listener.onSwiped] 页面左右滑动回调
*/
interface ExtensionInfo {
weight: number;
text: string;
icon: string;
data: Record<string, any>;
listener: {
onClicked?: func;
onLongPressed?: func;
onTouched?: func;
onSwiped?: func;
};
}
interface ITUIService {
onCall(method: string, params: object, callback?: func): void;
}
/**
* @interface TUICore
*/
interface ITUICore {
/**
* 注册服务
* @function
* @param {string} serviceName 服务名
* @param {ITUIService} service 服务实例
* @example
* TUICore.registerService(TUIConstants.TUICall.SERVICE.NAME, this);
*/
registerService(serviceName: string, service: any): void;
/**
* 反注册服务
* @function
* @param {string} serviceName 服务名
* @example
* TUICore.unregisterService(TUIConstants.TUICall.SERVICE.NAME);
*/
unregisterService(serviceName: string): void;
/**
* 获取服务
* @function
* @param {string} serviceName 服务名
* @example
* TUICore.getService(TUIConstants.TUICall.SERVICE.NAME);
*/
getService(serviceName: string): ITUIService;
/**
* 调用服务
* @function
* @param {CallServiceParams} options 调用服务的参数
* @example
* TUICore.callService({
* serviceName: TUIConstants.TUICall.SERVICE.NAME,
* method: TUIConstants.TUICall.SERVICE.METHOD.CALL,
* params: {
* callType: 1,
* mediaType: 2
* },
* callback: (result) => {
* // todo
* },
* });
*/
callService(options: CallServiceParams): void;
/**
* 注册扩展组件
* @function
* @param {string} extensionID 扩展点 ID
* @param {ITUIExtension} extension
* @example
* TUICore.registerExtension(TUIConstants.TUIChat.EXTENSION.INPUT_TOOLBAR, this);
*/
registerExtension(extensionID: string, extension: any): void;
/**
* 反注册扩展组件
* @function
* @param {string} extensionID 扩展点 ID
* @param {ITUIExtension} extension
* @example
* TUICore.unregisterExtension(TUIConstants.TUIChat.EXTENSION.INPUT_TOOLBAR, this);
*/
unregisterExtension(extensionID: string, extension: any): void;
/**
* 获取注册扩展组件列表
* @function
* @param {string} extensionID 扩展点 ID
* @param {object} [params] 扩展点参数
* @example
* TUICore.getExtension(TUIConstants.TUIChat.EXTENSION.INPUT_TOOLBAR, { filterVoice: true });
*/
getExtensionList(extensionID: string, params?: object): Array<ExtensionInfo>;
/**
* 注册广播监听
* @function
* @param {string} eventName 事件名
* @param {string} subKey 事件的具体操作
* @param {ITUINotification} notification 事件监听者
* @example
* TUICore.registerEvent(TUIConstants.TUILogin.EVENT.LOGIN_STATE_CHANGED, this);
*/
registerEvent(eventName: string, subKey: string, notification: any): void;
/**
* 反注册广播监听
* @function
* @param {string} eventName 事件名
* @param {string} subKey 事件的具体操作
* @param {ITUINotification} notification 事件监听者
* @example
* TUICore.unregisterEvent(TUIConstants.TUILogin.EVENT.LOGIN_STATE_CHANGED, this);
*/
unregisterEvent(eventName: string, subKey: string, notification: any): void;
/**
* 广播消息通知
* @function
* @param {string} eventName 事件名
* @param {string} subKey 事件的具体操作
* @param {object} [params] 业务数据
* @example
* TUICore.notifyEvent(TUIConstants.TUILogin.EVENT.LOGIN_STATE_CHANGED, TUIConstants.TUILogin.EVENT_SUB_KEY.USER_LOGIN_SUCCESS);
*/
notifyEvent(eventName: string, subKey: string, params?: object): void;
}
interface GetContextResult {
chat: ChatSDK;
SDKAppID: number;
userID: string;
userSig: string;
}
/**
* @interface TUILogin
*/
interface ITUILogin {
/**
* 登录 Chat SDK
* @function
* @param {LoginParams} options 登录参数
* @example
* TUILogin.login({
* SDKAppID: xxx,
* userID: 'xxx',
* userSig: 'xxx',
* useUploadPlugin: true, // 使用文件上传插件
* });
*/
login(options: LoginParams): Promise<any>;
/**
* 登出 Chat SDK
* @function
* @example
* let promise = TUILogin.logout();
* promise.then(() => {
* // 登出成功后进行相关业务逻辑处理
* })
*/
logout(): Promise<any>;
/**
* 销毁 Chat SDK 实例SDK 会先 logout然后断开 WebSocket 长连接,并释放资源。
* @function
* @example
* let promise = TUILogin.destroy();
*/
destroy(): Promise<any>;
/**
* 设置 Chat SDK 日志级别
* @function
* @param {number} level 日志级别
* - 0 普通级别,日志量较多,接入时建议使用
* - 1 release级别SDK 输出关键信息,生产环境时建议使用
* - 2 告警级别SDK 只输出告警和错误级别的日志
* - 3 错误级别SDK 只输出错误级别的日志
* - 4 无日志级别SDK 将不打印任何日志
* @example
* TUILogin.setLogLevel(0)
*/
setLogLevel(level: number): void;
/**
* 获取 TUILogin 当前上下文信息
* @function
* @example
* const { chat, SDKAppID, userID, userSig } = TUILogin.getContext();
* // chat - Chat SDK 实例
* // SDKAppID - 即时通信应用 AppID
* // userID - 用户 ID
* // userSig - 用户登录前面
*/
getContext(): GetContextResult;
}
declare const TUIConstants: {
TUILogin: {
EVENT: {
LOGIN_STATE_CHANGED: string;
};
EVENT_SUB_KEY: {
USER_LOGIN_SUCCESS: string;
USER_LOGOUT_SUCCESS: string;
USER_KICKED_OFFLINE: string;
USER_SIG_EXPIRED: string;
};
};
TUIConversation: {
SERVICE: {
NAME: string;
METHOD: {
CREATE_CONVERSATION: string;
HIDE_CONVERSATION_HEADER: string;
};
};
EXTENSION: {
CONV_POP_MENU: {
EXT_ID: string;
};
CONV_GROUP: {
EXT_ID: string;
};
};
};
TUIChat: {
SERVICE: {
NAME: string;
METHOD: {
UPDATE_MESSAGE_LIST: string;
CLOSE_MESSAGE_POP_MENU: string;
SEND_CUSTOM_MESSAGE: string;
SEND_TEXT_MESSAGE: string;
SET_CHAT_TYPE: string;
UPDATE_MESSAGE_INFO: string;
};
};
EXTENSION: {
INPUT_MORE: {
EXT_ID: string;
};
MSG_POP_MENU: {
EXT_ID: string;
};
CHAT_HEADER: {
EXT_ID: string;
};
};
TYPE: {
C2C: string;
GROUP: string;
CUSTOMER_SERVICE: string;
ROOM: string;
};
EVENT: {
CHAT_STATE_CHANGED: string;
CHAT_TYPE_CHANGED: string;
};
EVENT_SUB_KEY: {
CHAT_OPENED: string;
CHANGE_SUCCESS: string;
};
FEATURE: {
DownloadFile: string;
CopyMessage: string;
DeleteMessage: string;
RevokeMessage: string;
QuoteMessage: string;
ForwardMessage: string;
TranslateMessage: string;
VoiceToText: string;
MultiSelection: string;
EmojiReaction: string;
InputEmoji: string;
InputStickers: string;
InputImage: string;
InputVoice: string;
InputVideo: string;
InputFile: string;
InputEvaluation: string;
InputQuickReplies: string;
InputMention: string;
MessageSearch: string;
ReadStatus: string;
};
};
TUIGroup: {
SERVICE: {
NAME: string;
METHOD: {
CREATE_GROUP: string;
OPEN_GROUP_MANAGEMENT: string;
SELECT_GROUP_MEMBER: string;
};
};
};
TUIContact: {
SERVICE: {
NAME: string;
METHOD: {
SELECT_FRIEND: string;
};
};
EXTENSION: {
CONTACT_LIST: {
EXT_ID: string;
};
};
};
TUISearch: {
SERVICE: {
NAME: string;
METHOD: {
SEARCH_GROUP: string;
SEARCH_USER: string;
SEARCH_FRIEND: string;
SEARCH_GROUP_MEMBER: string;
};
};
EXTENSION: {
SEARCH_MORE: {
EXT_ID: string;
};
};
};
TUICalling: {
SERVICE: {
NAME: string;
METHOD: {
START_CALL: string;
};
};
};
TUIRoom: {
SERVICE: {
NAME: string;
};
};
TUIEmojiPlugin: {
SERVICE: {
NAME: string;
METHOD: {
CLOSE_EMOJI_DETAIL: string;
};
};
};
TUITranslate: {
EVENT: {
LANGUAGE_CHANGED: string;
};
EVENT_SUB_KEY: {
CHANGE_SUCCESS: string;
};
};
TUITranslatePlugin: {
SERVICE: {
NAME: string;
};
};
TUIVoiceToTextPlugin: {
SERVICE: {
NAME: string;
};
};
TUICustomerServicePlugin: {
SERVICE: {
NAME: string;
METHOD: {
ACTIVE_CONVERSATION: string;
FILTER_MESSAGE: string;
};
};
EXTENSION: {};
};
TUIPushPlugin: {
SERVICE: {
NAME: string;
};
};
TUIChatbotPlugin: {
SERVICE: {
NAME: string;
};
};
TUITheme: {
EVENT: {
THEME_CHANGED: string;
};
EVENT_SUB_KEY: {
CHANGE_SUCCESS: string;
};
};
};
declare const tuiCore: ITUICore;
declare const tuiLogin: ITUILogin;
export { CallServiceParams, ExtensionInfo, LoginParams, TUIConstants, tuiCore as TUICore, tuiLogin as TUILogin, tuiCore as default, func };