sender.getMediaItems()、文件下载和群成员列表。处理用户上传文件时,优先用标准化 MediaItem,不要手动拼平台下载地址。
事件方法
getMediaItems()
getMediaItems() 查找顺序:
last_input_media_items:最近一次listen(...)/input(...)捕获到的媒体。media_items/mediaItems:当前运行上下文中的媒体数组。event_data.media_items/event_data.mediaItems:当前事件数据中的媒体数组。- 都不存在时返回
[]。
string
必填
媒体类型,例如
image、voice、video、file。只有同时具备 type 和 source 的媒体项会保留。string
必填
媒体来源。可能是 URL、本地路径、平台文件 ID、临时资源 ID 或适配器文件标识。
string
文件名。运行时会从
name、filename、file_name 中选择。string
MIME 类型。运行时会从
mime_type 或 mimeType 中选择。object
适配器原始文件信息。下载用户上传文件时,保留它能提高适配器解析成功率。
fileDownload(url, path?)
把远程 URL、file://、base64://... 或 data:*;base64,... 保存到本地。
string
必填
文件来源。支持
http://、https://、file://、base64://... 和 data URI。string
保存目录。不传时保存到运行下载根目录;相对路径会放到下载根目录下;绝对路径按原路径保存。相对路径不能跳出下载根目录。
downloadAdapterFile(file, options?, timeout?)
下载用户上传到 IM 平台的文件。优先把 sender.getMediaItems() 返回的整个 MediaItem 传进去。
MediaItem | object | string
必填
用户上传文件项。对象可包含
source、url、file_id、id、file、path 或 platform_payload。传字符串时会当作文件来源;只有普通 URL 时也可以直接使用 fileDownload(url)。string
保存目录。规则同
fileDownload(..., path)。string
指定保存文件名。也可写作
file_name、filename 或 name。string
指定 MIME 类型。也可写作
mime_type。string
可选 IM 类型。也可写作
imtype 或 im_type。不传时使用当前运行上下文。string
可选账号 ID。也可写作
accountID 或 accountId。不传时使用当前运行上下文账号。number
默认值:"30000"
请求超时时间,单位毫秒。也可以把第二个参数直接传成数字,例如
downloadAdapterFile(file, 60000)。下载流程
- 如果
source已经是http://、https://、data:、base64://或file://,运行时直接下载。 - 如果
source是平台文件 ID 或其他不可直接下载标识,运行时调用适配器的resolveFileURL。 - 下载成功后保存到运行文件目录,返回本地路径。
boolean
downloadAdapterFile(...) 成功时为 true。string
如果先调用了适配器解析下载 URL,通常为
resolveFileURL;直接下载时可能为空。string
实际下载地址或解析后的临时 URL。
string
保存后的本地路径。
string
与
path 相同。string
保存后的文件名。
string
MIME 类型。
number
文件大小,单位字节。
getGroupMemberList(groupIDOrOptions?, options?, timeout?)
获取群成员列表。适配器必须支持 getGroupMemberList。
string | object
传字符串时表示群 ID。传对象时可包含
group_id、groupID、groupCode、group、chat_id、imType、account_id 等字段。不传群 ID 时会尝试使用当前群聊上下文。string
目标 IM 类型。也可写作
im_type。不传时使用当前上下文 IM;cron / fake 上下文必须传。string
目标账号 ID。也可写作
accountID 或 accountId。不传时使用当前上下文账号或目标 IM 默认账号。boolean
是否绕过适配器缓存。也可写作
no_cache。boolean
是否在每个成员对象里包含原始成员数据。也可写作
includeRaw 或 include_raw。boolean
是否在返回体的
raw / data 中包含适配器原始结果。也可写作 raw_result、includeRawResult。number
默认值:"30000"
请求超时时间,单位毫秒。
boolean
获取成功时为
true。string
实际请求的 IM 类型。
string
实际请求的账号 ID。未指定时可能为空。
string
实际请求的群 ID。
GroupMember[]
标准化成员数组。
unknown
仅传
rawResult / raw_result / includeRawResult 时包含适配器原始结果。下一步
发送媒体
查看媒体发送和适配器差异。
主动推送
查看文件和 mixed 主动推送。