feat(update): 添加 API Key 管理和 WebSocket 实时通知功能
- 新增 API Key 管理功能,支持外部工具认证调用平台 API - 实现 WebSocket 实时通知,版本发布时推送轻量通知给客户端 - 添加 APK 文件哈希校验,支持已下载检测和直接安装 - 支持外部 APK 上传使用 API Key 认证 - 优化私有化部署自动注入 nginx WebSocket 代理配置 - 扩展 SDK 功能包括已下载检测、直接安装和实时通知监听
这个提交包含在:
父节点
5b8528b7af
当前提交
af3aa0cd43
@ -686,6 +686,52 @@ export const ImSDK = {
|
|||||||
return ImSDK.sendMessage(toId, chatType, 'CALL_VIDEO', JSON.stringify({ action }))
|
return ImSDK.sendMessage(toId, chatType, 'CALL_VIDEO', JSON.stringify({ action }))
|
||||||
},
|
},
|
||||||
|
|
||||||
|
async sendCustomMessage(
|
||||||
|
toId: string,
|
||||||
|
chatType: ChatType,
|
||||||
|
data: Record<string, unknown>,
|
||||||
|
): Promise<ImMessage> {
|
||||||
|
return ImSDK.sendMessage(toId, chatType, 'CUSTOM', JSON.stringify(data))
|
||||||
|
},
|
||||||
|
|
||||||
|
async sendLocationMessage(
|
||||||
|
toId: string,
|
||||||
|
chatType: ChatType,
|
||||||
|
latitude: number,
|
||||||
|
longitude: number,
|
||||||
|
title?: string,
|
||||||
|
address?: string,
|
||||||
|
): Promise<ImMessage> {
|
||||||
|
return ImSDK.sendMessage(
|
||||||
|
toId,
|
||||||
|
chatType,
|
||||||
|
'LOCATION',
|
||||||
|
JSON.stringify({ latitude, longitude, title: title ?? '', address: address ?? '' }),
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
async sendRichTextMessage(
|
||||||
|
toId: string,
|
||||||
|
chatType: ChatType,
|
||||||
|
html: string,
|
||||||
|
): Promise<ImMessage> {
|
||||||
|
return ImSDK.sendMessage(toId, chatType, 'RICH_TEXT', html)
|
||||||
|
},
|
||||||
|
|
||||||
|
async sendForwardMessage(
|
||||||
|
toId: string,
|
||||||
|
chatType: ChatType,
|
||||||
|
originalSender: string,
|
||||||
|
originalContent: string,
|
||||||
|
): Promise<ImMessage> {
|
||||||
|
return ImSDK.sendMessage(
|
||||||
|
toId,
|
||||||
|
chatType,
|
||||||
|
'FORWARD',
|
||||||
|
JSON.stringify({ originalSender, originalContent }),
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
async revokeMessage(messageId: string): Promise<ImMessage> {
|
async revokeMessage(messageId: string): Promise<ImMessage> {
|
||||||
const config = getConfig()
|
const config = getConfig()
|
||||||
const msg = await apiRequest<ImMessage>(`/api/im/messages/${encodeURIComponent(messageId)}/revoke`, {
|
const msg = await apiRequest<ImMessage>(`/api/im/messages/${encodeURIComponent(messageId)}/revoke`, {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@xuqm/rn-license",
|
"name": "@xuqm/rn-license",
|
||||||
"version": "0.2.0",
|
"version": "0.2.2",
|
||||||
"description": "XuqmGroup RN SDK — License module (device registration & verification)",
|
"description": "XuqmGroup RN SDK — License module (device registration & verification)",
|
||||||
"license": "UNLICENSED",
|
"license": "UNLICENSED",
|
||||||
"main": "src/index.ts",
|
"main": "src/index.ts",
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户