194 lines
8.4 KiB
JavaScript
194 lines
8.4 KiB
JavaScript
/*
|
||
* ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
|
||
* │Esc│ │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│ ┌┐ ┌┐ ┌┐
|
||
* └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘ └┘ └┘ └┘
|
||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
|
||
* │~ `│! 1│@ 2│# 3│$ 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │
|
||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
|
||
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | \ │ │Del│End│PDn│ │ 7 │ 8 │ 9 │ │
|
||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
|
||
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter │ │ 4 │ 5 │ 6 │ │
|
||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤
|
||
* │ Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
|
||
* ├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
|
||
* │ Ctrl│ │Alt │ Space │ Alt│ │ │Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │←─┘│
|
||
* └─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
|
||
*/
|
||
/*
|
||
* @Description: NIM模块裁剪器
|
||
* @Author: realrain☔ 1936648485@qq.com
|
||
* @Date: 2025-11-15 21:08:12
|
||
* @LastEditors: realrain☔ 1936648485@qq.com
|
||
* @LastEditTime: 2025-11-15 21:41:44
|
||
* @FilePath: \findme-miniprogram\utils\nim.js
|
||
* @X/Facebook: 1936648485@qq.com ~~~~~~~~~~~~~~~~~~~~~~~ Blog:reallyrain.com
|
||
* Copyright (c) 2025 by real-rain, All Rights Reserved.
|
||
*/
|
||
|
||
import {
|
||
NIM,
|
||
setAdapters,
|
||
wxAdapters,
|
||
V2NIMMessageService,
|
||
V2NIMMessageLogUtil,
|
||
V2NIMConversationService,
|
||
V2NIMStorageService,
|
||
V2NIMTeamService,
|
||
V2NIMUserService,
|
||
V2NIMFriendService,
|
||
V2NIMSubscriptionService,
|
||
V2NIMConst
|
||
} from 'nim-web-sdk-ng/dist/esm/nim'
|
||
|
||
/**
|
||
* 设置 NIM 运行的环境。wxAdapters 表示程序在微信环境运行
|
||
*/
|
||
setAdapters(wxAdapters)
|
||
|
||
/**
|
||
* 注册了消息服务和会话服务
|
||
*
|
||
* 具体有哪些模块可以注入, 请参照 SDK 使用说明: https://doc.yunxin.163.com/messaging2/guide/DcyMjA1Njk?platform=client#%E6%96%B9%E5%BC%8F%E4%BA%8Cesm-%E5%BC%95%E5%85%A5
|
||
*/
|
||
|
||
/**
|
||
* 消息模块.
|
||
*
|
||
* 影响 API 包含 V2NIMMessageService 下全部接口.
|
||
*/
|
||
NIM.registerService(V2NIMMessageService, 'V2NIMMessageService')
|
||
|
||
/**
|
||
* 消息模块-消息记录相关工具类. 包含查询消息历史等功能.
|
||
*
|
||
* 影响 API 包含 V2NIMMessageService 的部分接口, 举例:
|
||
* getMessageList, getMessageListEx,
|
||
* getMessageListByRefers, clearHistoryMessage
|
||
*/
|
||
NIM.registerService(V2NIMMessageLogUtil, 'V2NIMMessageLogUtil')
|
||
|
||
/**
|
||
* 消息模块-扩展功能. 包含 pin 消息, 收藏消息等功能
|
||
*
|
||
* 影响 API 包含 V2NIMMessageService 的部分接口, 举例:
|
||
* pinMessage, unpinMessage, updatePinMessage, voiceToText,
|
||
* getPinnedMessageList, addQuickComment, removeQuickComment, getQuickCommentList, addCollection,
|
||
* removeCollections, updateCollectionExtension, getCollectionListByOption,
|
||
* getCollectionListExByOption, searchCloudMessages, searchCloudMessagesEx
|
||
*/
|
||
// NIM.registerService(V2NIMMessageExtendUtil, 'V2NIMMessageExtendUtil') // 🔥 暂时注释,该模块可能未导入
|
||
|
||
/**
|
||
* 消息序列化与反序列化工具
|
||
*
|
||
* 影响 API 包含 V2NIMMessageConverter 的全部接口.
|
||
*/
|
||
// NIM.registerService(V2NIMMessageConverter, 'V2NIMMessageConverter')
|
||
|
||
/**
|
||
* 云端存储模块, 包含上传文件能力
|
||
*
|
||
* 影响 API 包含 V2NIMMessageService 的部分接口, 举例:
|
||
* V2NIMMessageService.sendMessage (发图片/文件类型的消息时)
|
||
* V2NIMMessageService.cancelMessageAttachmentUpload (取消文件消息的上传)
|
||
*
|
||
* 影响 API 包含 V2NIMStorageService 的全部接口.
|
||
*/
|
||
NIM.registerService(V2NIMStorageService, 'V2NIMStorageService')
|
||
|
||
/**
|
||
* 云端会话模块.
|
||
*
|
||
* 影响 API 包含 V2NIMConversationService 的全部接口.
|
||
*/
|
||
NIM.registerService(V2NIMConversationService, 'V2NIMConversationService')
|
||
|
||
/**
|
||
* 群组模块.
|
||
*
|
||
* 影响 API 包含 V2NIMSettingService 的部分接口, 举例:
|
||
* setTeamMessageMuteMode, getTeamMessageMuteMode, getAllTeamMessageMuteMode
|
||
*
|
||
* 影响 API 包含 V2NIMTeamService 的全部接口.
|
||
*/
|
||
NIM.registerService(V2NIMTeamService, 'V2NIMTeamService')
|
||
|
||
/**
|
||
* 用户模块.
|
||
*
|
||
* 影响 API 包含 V2NIMSettingService 的部分接口, 举例:
|
||
* getConversationMuteStatus, setP2PMessageMuteMode
|
||
*
|
||
* 影响 API 包含 V2NIMUserService 的全部接口.
|
||
*/
|
||
NIM.registerService(V2NIMUserService, 'V2NIMUserService') // 用户模块
|
||
|
||
/**
|
||
* 好友模块.
|
||
*
|
||
* 影响 API 包含 V2NIMFriendService 的全部接口.
|
||
*/
|
||
NIM.registerService(V2NIMFriendService, 'V2NIMFriendService')
|
||
|
||
/**
|
||
* 通知模块.
|
||
*
|
||
* 影响 API 包含 V2NIMNotificationService 的全部接口.
|
||
*/
|
||
// NIM.registerService(V2NIMNotificationService, 'V2NIMNotificationService')
|
||
|
||
/**
|
||
* 设置模块.
|
||
*
|
||
* 影响 API 包含 V2NIMSettingService 的全部接口.
|
||
* - 包含推送配置, 会话免打扰设置.
|
||
* - 与会话免打扰有关的设置需要引入群, 用户模块
|
||
*/
|
||
// NIM.registerService(V2NIMSettingService, 'V2NIMSettingService')
|
||
|
||
/**
|
||
* AI 数字人模块.
|
||
*
|
||
* 影响 API 包含 V2NIMMessageService 的部分接口与事件:
|
||
* sendMessage (发送参数 aiConfig, 配置 AI 相关)
|
||
* onReceiveMessages (收消息事件, 回调的 V2NIMMessage 消息体参见属性 aiConfig 与 streamConfig 流式输出)
|
||
* onReceiveMessagesModified (消息更新事件, 回调的 V2NIMMessage 消息体参见属性 aiConfig 与 streamConfig 流式输出)
|
||
*
|
||
* 影响 API 包含 V2NIMAIService 的全部接口.
|
||
*/
|
||
// NIM.registerService(V2NIMAIService, 'V2NIMAIService')
|
||
|
||
/**
|
||
* 订阅模块, 如上下线状态通知订阅.
|
||
*
|
||
* 影响 API 包含 V2NIMSubscriptionService 的全部接口.
|
||
*/
|
||
NIM.registerService(V2NIMSubscriptionService, 'V2NIMSubscriptionService')
|
||
|
||
/**
|
||
* 信令模块
|
||
*
|
||
* 影响 API 包含 V2NIMSignallingService 的全部接口.
|
||
*/
|
||
// NIM.registerService(V2NIMSignallingService, 'V2NIMSignallingService')
|
||
|
||
/**
|
||
* 服务代理相关
|
||
*
|
||
* 影响 API 包含 V2NIMPassthroughService 的全部接口.
|
||
*/
|
||
// NIM.registerService(V2NIMPassthroughService, 'V2NIMPassthroughService')
|
||
|
||
/**
|
||
* 此外某些模块包含工具类, 只需要引入对应模块服务, 就能直接使用该工具类, 关系如下
|
||
*
|
||
* V2NIMConversationIdUtil(会话 id 工具类) => V2NIMMessageService, V2NIMConversationService
|
||
* V2NIMClientAntispamUtil(客户端反垃圾工具类) => V2NIMMessageService
|
||
* V2NIMMessageCreator(消息构造工具类) => V2NIMMessageService
|
||
*
|
||
* 注意:这些工具类不是直接导出的,而是通过 NIM 实例访问:
|
||
* - NIM.V2NIMMessageCreator
|
||
* - NIM.V2NIMConversationIdUtil
|
||
*/
|
||
|
||
export { NIM, V2NIMConst }
|