aardio 文档

web.rest.iLinkClient 库模块帮助文档

» 微信 iLink 接口文档 » 登录与发送消息范例 » 发送文件范例

web.rest 成员列表 #

web.rest.iLinkClient #

微信 iLink Bot API 客户端。
基于 web.rest.jsonClient,请求与返回数据均为 JSON。
用于合规的微信个人账号 Bot 开发,
支持扫码登录、长轮询接收消息、发送消息、
发送图片/视频/文件、下载接收到的媒体文件等。

授权方式:

创建 iLink Bot 客户端。

web.rest.iLinkClient() #

返回对象:webRestILinkClientObject

web.rest.iLinkClient(config) #

创建 iLink Bot 客户端。
config 可选指定以下字段:

web.rest.iLinkClient(iLinkClient) #

可将界面线程的 web.rest.iLinkClient 作为参数,
在工作线程中重建具有相同构造参数与认证令牌的 iLink Bot 客户端。\

webRestILinkClientObject 成员列表 #

webRestILinkClientObject._http #

inet.http客户端,用于执行 http 请求

返回对象:inetHttpObject

webRestILinkClientObject.aesEcbDecrypt(ciphertext,key) #

AES-128-ECB 解密

webRestILinkClientObject.aesEcbEncrypt(plaintext,key) #

AES-128-ECB 加密(用于 CDN)

webRestILinkClientObject.aesEcbPaddedSize(plaintextSize) #

计算 AES-128-ECB PKCS7 填充后大小

webRestILinkClientObject.checkQrCodeStatus(qrcode) #

检查二维码扫码状态。
扫码确认后自动绑定 bot_token

webRestILinkClientObject.close() #

关闭对象释放资源

webRestILinkClientObject.defaultHeaders #

替换所有请求默认添加的HTTP头
请求结束时不会清空此属性
该值可以是一个字符串,也可以是键值对组成的table对象

webRestILinkClientObject.downloadMedia(media,savePath) #

下载并解密 CDN 媒体。
@media CDNMedia 对象(含 encrypt_query_param, aes_key 字段)
@savePath 可选保存路径。不指定则返回 buffer

webRestILinkClientObject.downloadMsgMedia(fromMsg,itemIndex,savePath) #

从接收消息中提取并下载媒体。
@fromMsg 接收的消息对象
@itemIndex 消息项索引(默认 1)
@savePath 可选保存路径

webRestILinkClientObject.get(网址,参数表) #

使用该GET方法提交请求,获取资源
请求参数将会自动转换为URL附加参数,
请求参数可以指定表或字符串,如果是表请求前会转换为字符串
成功返回数据,失败返回空值,错误信息,错误代码

webRestILinkClientObject.getAuthToken() #

获取认证令牌(token)。
扫码登录或创建对象的参数表指定了 tokenPath 字段都会自动设置令牌

webRestILinkClientObject.getConfig(fromMsg) #

获取账号配置(含 typing_ticket)。
返回值可作为 sendTyping 的第一个参数

webRestILinkClientObject.getQrCode(botType) #

获取登录二维码。
@botType 可选,默认为 3(个人账号)。
成功返回包含 qrcode_url 字段的对象

webRestILinkClientObject.getUpdates(buf) #

长轮询获取最新消息。
成功返回包含 msgs 数组的对象

webRestILinkClientObject.getUploadUrl(params) #

获取 CDN 上传预签名参数。
一般使用 uploadFile 方法即可,无需直接调用此方法

webRestILinkClientObject.lastRequestUrl #

获取最后一次请求的 URL。
允许的 beforeRequestHeaders 事件中修改此属性以改变请求地址。

webRestILinkClientObject.lastResponse() #

获取最后一次服务器返回的数据。
如果控制台已打开或在开发环境中导入 console 库则在控制台输出数据
下载文件时该值为空

webRestILinkClientObject.lastResponseError() #

返回服务器最后一次返回的错误响应,并转换为错误对象。
与调用 API 时转换响应数据一样,支持相同的服务器响应格式 。
如果错误来自本地(lastStatusCode 属性为 null)则此函数返回 null 。
如果最后一次发生请求成功,则此函数返回 null 。

如果在参数 @1 中指定返回字段,且错误对象包含该字段则使用直接下标获取并返回字段值。
获取字段失败返回 null 而非抛出异常

webRestILinkClientObject.lastResponseObject() #

获取最后一次服务器返回的对象(已将响应文本解析为对象)。
请求失败,或者下载文件时此属性值为空。

webRestILinkClientObject.lastResponseString() #

获取最后一次服务器返回的原始数据
请求失败,或者下载文件时此属性值为空

webRestILinkClientObject.lastStatusCode #

获取最近一次请求返回的HTTP状态码
100 ~ 101 为信息提示
200 ~ 206 表示请求成功
300 ~ 305 表示重定向
400 ~ 415 表求客户端请求出错
500 ~ 505 表示服务端错误

webRestILinkClientObject.lastStatusMessage() #

获取最近返回的HTTP状态码文本描述
第二个返回值为状态码

webRestILinkClientObject.notifyStart() #

通知微信服务器客户端正在启动(可选调用)

webRestILinkClientObject.notifyStop() #

通知微信服务器客户端正在停止(可选调用)

webRestILinkClientObject.ok() #

最后一次请求是否成功
服务器应答并且状态码为2XX该函数返回真

webRestILinkClientObject.post(网址,参数表) #

使用该POST方法提交请求,新增或修改资源
请求参数可以指定表或字符串,如果是表请求前会转换为字符串
成功返回数据,失败返回空值,错误信息,错误代码

webRestILinkClientObject.sendFile(fromMsg,filePath,fileName,text) #

发送文件消息。
@fileName 可选,默认使用文件名

webRestILinkClientObject.sendImage(fromMsg,filePath,text) #

发送图片消息。
@fromMsg 接收的消息对象
@filePath 图片文件路径
@text 可选附带文本(有文本时文本与图片分开发送)

webRestILinkClientObject.sendMediaByPath(fromMsg,filePath,text,fileName) #

发送媒体文件(自动根据扩展名检测类型)

webRestILinkClientObject.sendMessage(fromMsg,content) #

发送消息。
@content 可为字符串(支持 Markdown)或数组。
同一个 @fromMsg 可多次回复

webRestILinkClientObject.sendTyping(linkConfig,status) #

发送输入状态。
@status 为 1 表示正在输入,2 表示取消输入

webRestILinkClientObject.sendVideo(fromMsg,filePath,text) #

发送视频消息

webRestILinkClientObject.setHeaders #

设置所有请求默认添加的HTTP头

webRestILinkClientObject.setHeaders(headers) #

参数 @headers 必须指定一个表中,
用该表中的键值对更新 defaultHeaders 属性中的键值
如果addHeaders的原属性值不是一个表,则先清空该属性

webRestILinkClientObject.setTimeouts(连接超时,请求超时,接收超时) #

设置超时,以亳秒为单位(1秒为1000毫秒)。

webRestILinkClientObject.uploadFile(filePath,toUserId,mediaType) #

上传文件到微信 CDN。
@filePath 文件路径
@toUserId 目标用户 ID
@mediaType 媒体类型: 1=IMAGE, 2=VIDEO, 3=FILE, 4=VOICE
成功返回 {filekey,downloadEncryptedQueryParam,aeskey,fileSize,fileSizeCiphertext}

webRestILinkClientObject.waitQrCodeStatus(qrcode,maxRetries,pollInterval) #

阻塞式等待扫码登录成功

webRestILinkClientObject 事件列表 #

webRestILinkClientObject.onQrCodeScanned #

function(qrcode){
__/已扫码但未确认时回调此事件/
}

Markdown 格式