0.6.3 • Published 5 years ago

padchat-sdk v0.6.3

Weekly downloads
20
License
ISC
Repository
github
Last release
5 years ago

Padchat-SDK

说明

Padchat开发包。通过websocket协议与运行在windows平台上的微信ipad协议服务程序通讯,来登陆与操作微信。

接口功能列表

接口code备注
登陆管理
初始化实例init初始化任务实例
登陆login登陆账号
注销登录logout会退出账号登陆
关闭实例close关闭任务实例,不退出账号登陆
获取设备登陆数据getWxData固定设备登陆数据
获取二次登陆数据getLoginToken可使用二次登陆数据免扫码或免密码登陆
用户管理
获取用户信息getContact获取用户详细信息
搜索用户searchContact
通过好友请求acceptUser
添加好友addContact
打招呼sayHello
删除好友deleteContact
设置好友备注setRemark
设置头像setHeadImg
主动触发同步消息syncMsg
主动同步通讯录syncContact
获取用户二维码getContactQrcode用于获取自己的二维码图片
获取当前用户信息getMyInfo用于获取当前微信号的wxid和uin
群管理
创建群createRoom
获取群成员getRoomMembers
添加群成员addRoomMember
邀请好友进群inviteRoomMember
删除群成员deleteRoomMember
退出群quitRoom
设置群公告setRoomAnnouncement设置群公告会自动@通知群内所有成员
设置群名称setRoomName修改微信群名称
获取进群二维码getRoomQrcode获取到的进群二维码有效期为7天
发送消息
发送文本消息sendMsg
发送App消息sendAppMsg发送图文链接消息
发送图片消息sendImage
发送语音消息sendVoice语音文件必须是silk格式
发送名片shareCard
获取图片、文件
获取消息图片原图getMsgImage获取图片消息的原始图片数据
获取消息视频数据getMsgVideo获取小视频消息的视频数据
获取消息语音数据getMsgVoice获取语音消息的语音数据
朋友圈操作
发朋友圈snsSendMoment发表文字朋友圈信息
朋友圈上传图片snsUpload上传后仅能得到url,而非真正的发朋友圈
查看用户朋友圈snsUserPage查看指定用户朋友圈信息
获取朋友圈动态snsTimeline查看朋友圈时间轴信息
获取朋友圈消息详情snsGetObject
操作朋友圈snsObjectOp
发表评论snsComment
点赞snsLike
收藏操作
同步收藏消息syncFav
添加收藏addFav
获取收藏消息详情getFav
删除收藏deleteFav
标签管理
添加标签addLabel
删除标签deleteLabel
获取所有标签getLabelList
设置用户标签setLabel
公众号操作
搜索公众号searchMp根据关键字搜索公众号
获取公众号信息getSubscriptionInfo
操作公众号菜单operateSubscription
获取公众号网页授权getRequestToken需要授权才能访问的网页需要先授权
访问授权页面requestUrl以授权过的身份访问页面
小程序相关操作支持转发分享

完整接口见API文档

通讯约定

通信协议

WebSocket 通信协议

连接授权

后续更新。

API请求操作结果(识别异步请求)

由于websocket自身是异步操作,未原生支持识别请求返回的结果(即向服务端发送一个请求,服务端返回执行结果,客户端却无法确认是自己这个主动请求的结果,或者是另一个请求的返回结果,或者是服务端主动推送)。因此本服务增加了一个字段cmdId,用于标识请求,并在返回操作结果时一块返回。

如果希望发送api请求后,能识别服务端执行本次请求后的返回结果,可提供cmdId字段,请一定提供随机值,建议使用uuid模块随机生成。当收到服务端推送过来的数据中包含cmdId字段时,即可确认为之前请求对应的执行结果。 建议结合使用Promise+Event.once(cmdId)来实现。

数据规则约定

在sdk内统一字段命名,统一转换为小驼峰写法。

微信协议原生接口返回的所有数据字段名称下划线写法(如user_name),部分接口(公众号相关接口)返回的混合有大驼峰命名。在sdk内已经全部格式化为小驼峰写法。

目前仅残留有部分xml结构文本内没有格式化,需自行解析提取与转换。

如果遇到接口返回的某个字段是json文本,请发issues告知接口名称、返回数据样本,以便增加对其的解析。

API请求结构

API请求是以websocket协议发送的json数据,以下为json数据的字段

名称类型描述必选
typeString请求类型:sys/user
cmdStringAPI命令
cmdIdString指令id。用于识别API异步操作结果,操作结果会增加此属性推送回来
dataObject取决于是不同的API要求

data字段总述

此部分为请求API指令时,需要附加的data数据。根据使用的API不同,需要提供不同的字段及对应数据。

字段名称说明备注
登陆
loginType登陆类型支持扫码、帐号密码、手机验证码、二次登陆、断线重连
wxData登陆设备数据使用已登陆过的设备数据登录,可避免封号
token二次登陆token结合wxData使用可免扫码、帐号登陆
发送消息
toUserName目标用户/群id群id包含@chatroom部分
content文本内容文本消息内容、xml结构体文本、名片自定义标题
添加好友时,为验证信息
file文件buffer的base64编码发送图片/语音消息、上传头像、朋友圈上传图片
time语音的时间长度(单位为毫秒)发送语音消息
atListArray,要at的用户用户["wxid1","wxid2"] 文本消息时有效
群及好友管理
roomName群名称
userIdsArray,用户id列表数组["wxid1","wxid2"] 创建群
chatroom要操作的群id
remark备注名称
userId用户wxid主动添加好友、好友验证、添加/邀请用户进入群
strangerV1码,相对加密的userId接受好友请求(仅限stranger字段)
主动添加好友(也可使用userId字段)
ticketV2码,好友请求中的ticket添加单向好友、接受好友请求
typeNumber,操作类型添加好友来源、朋友圈操作类型
朋友圈
momentId朋友圈消息id
commentIdNumber,朋友圈评论id
commentTypeNumber,朋友圈评论类型
收藏
favKey收藏分页key通过分页key来分页拉取收藏
favIdNumber,收藏id
标签
label标签名称
labelId标签id
公众号
ghName公众号id,gh_开头
menuIdNumber,公众号菜单id
menuKey公众号菜单key
url网页url
xKey网页授权key以公众号授权方式访问网页需要提供授权key
xUin网页授权uin以公众号授权方式访问网页需要提供授权uin
其他
rawMsgDataObject,push事件中的data用于接收红包、接收转账、获取原始图片

DEMO

使用npm i padchat-sdk安装sdk包

使用DEMO见 demo.js

API文档

SDK完整API文档见:SDK Api文档

0.6.3

5 years ago

0.6.2

5 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.13

6 years ago

0.5.11

6 years ago

0.5.10

6 years ago

0.5.9

6 years ago

0.5.8

6 years ago

0.5.7

6 years ago

0.5.6

6 years ago

0.5.5

6 years ago

0.5.4

6 years ago

0.5.3

6 years ago

0.5.2

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.4

6 years ago

0.4.3

6 years ago