IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 微信小程序code获取 小程序抢购 生成支付二维码 游戏授权 APP授权 网页授权,公众号文章阅读接口 -> 正文阅读

[移动开发]微信小程序code获取 小程序抢购 生成支付二维码 游戏授权 APP授权 网页授权,公众号文章阅读接口

PC微信hook
抢购专用 获取小程序code 获取小程序订单支付二维码
SessionId 是获取抢购二维吗的关键
pc微信是不存在封号情况的 超级稳定
有需求的可以联系作者测试接口

.版本 2
.支持库 e2ee
.支持库 spec

.子程序 功能_获取支付二维码, 字节集, , 成功返回二维码图片字节集,失败返回空字节集
.参数 session_id, 文本型, , sessionid,可通过api获取
.参数 timeStamp, 文本型, , 时间戳,部分可能是字母开头
.参数 nonceStr, 文本型, , 随机文本
.参数 package, 文本型, , 订单id
.参数 paySign, 文本型, , 签名
.参数 appid, 文本型, , appid
.局部变量 url, 文本型, , , 请求链接
.局部变量 http, 网站客户端
.局部变量 临_json1, 存取键值表
.局部变量 临_json2, 存取键值表
.局部变量 json, 存取键值表, , , 提交json数据
.局部变量 cookie, 文本型
.局部变量 Return, 文本型, , , 请求返回值
.局部变量 uuid, 文本型, , , 返回请求值
.局部变量 QRcode, 文本型
.局部变量 QRImg, 字节集
.局部变量 Str, 文本型

url = “https://open.weixin.qq.com/wxaruntime/getuuid?session_id=” + session_id  ' 请求链接
' 下面就是请求头
http.置请求头 (“Host”, “open.weixin.qq.com”)
http.置请求头 (“Accept”,*/*”)
http.置请求头 (“Content-Type”, “application/x-www-form-urlencoded”)
http.置请求头 (“Expect”, “100-continue”)
' 下面开始组装参数
临_json1.置文本 (“adUxInfo”, “”)
临_json1.置文本 (“provider”, “wxpay”)
临_json1.置文本 (“timeStamp”, timeStamp)
临_json1.置文本 (“nonceStr”, nonceStr)
临_json1.置文本 (“package”, package)
临_json1.置文本 (“paySign”, paySign)
临_json1.置文本 (“signType”, “MD5”)
cookie = “busid=wxapp; appid=” + appid + “;; busid=wxapp; sessionid=;; busid=wxapp; scene=1001;; busid=wxapp; scene_note=”  ' cookies
临_json1.置文本 (“cookie”, cookie)
临_json1.置逻辑值 (“grantMessageQuota”, 真)  ' "grantMessageQuota":true
' ------------------------------------------------
临_json2.置文本 (“args”, 临_json1.到JSON (假, , , , ))  ' 把上面对象写进新对象的args里面
临_json2.置逻辑值 (“isBridgedJsApi”, 真)  ' "isBridgedJsApi":true
临_json2.置文本 (“jsapiType”, “appservice”)
临_json2.置文本 (“miniprogramAppID”, appid)
临_json2.置文本 (“name”, “requestPayment”)
临_json2.置文本 (“transitiveData”, “”)
' -------------------------------------------------
临_json1.清空 ()  ' 第一次的json对象已经用过了,清空,接着用
临_json1.置文本 (“invokeData”, 临_json2.到JSON (假, , , , ))
临_json1.置整数 (“pathType”, 1)  ' 把上面对象写进新对象的invokeData里面
临_json1.置文本 (“rumtimeAppid”, appid)
临_json1.置文本 (“runtimeSessionId”, session_id)
临_json1.置文本 (“runtimeTicket”, “Test”)
' 最后一次组装数据了
json.置文本 (“appid”, appid)
json.置文本 (“req_data”, 临_json1.到JSON (假, , , , ))  ' 把上面对象写进新对象的req_data里面
' https请求
Str = json.到JSON (假, , , , )
调试输出 (Str)
http.执行POST (url, Str, Return, 真, )
调试输出 (Return)
json.从JSON载入 (Return, , , )
uuid = json.取文本 (“uuid”)  ' {"uuid":"021GsGKy47ZNGa1h"}
.如果真 (uuid = “”)
    返回 ({  })
.如果真结束
' QRcode = “https://long.open.weixin.qq.com/wxaruntime/qrconnect?uuid=” + uuid  ' 这个好像不太对劲,用下面的哪个
QRcode = “https://api.weixin.qq.com/wxaruntime/readqrcode?uuid=” + uuid  ' 二维码的内容就是这个,只需要把他生成二维码即可
QRImg = 创建二维码 (到字节集 (QRcode), 0, , , 8, , 1, )  ' 创建支付二维码图片,这里写的是png格式
返回 (QRImg)
1、启动微信/ post 或 get
/api/OpenWeChat
无参数
返回:
{ "pid": 40692, "accountId": 992 }
pid=微信进程id、accountId=客户句柄(用这个来区分微信和操作微信),pid或者accountId为0则为启动失败

2、获取登陆二维码/ post
/api/GetLoginQrCode
参数:{"accountId": 992 }
返回:

3、检查二维码登陆状态/ post
/api/CheckLoginQrCode
参数:{"accountId": 992 }
返回:

4、退出关闭微信/ post
/api/LogOut
参数:{"accountId": 992 }
返回:

5、获取窗口句柄/ post
/api/Gethwnd
参数:{"accountId": 992 }
返回:
{
    "loginhwnd": 4008450,
    "mainhwnd": 0
}
loginhwnd=登陆窗口句柄  或  mainhwnd=主窗口句柄  登陆句柄>0说明处于未登陆状态或者是首次登陆正在初始化, 主句柄>0说明登陆成功,初始化完毕,可以调用其他功能了


6、获取小程序code/ post
/api/JsLogin
参数:{"accountId": 992,"appid":"wxa9795213dd51a4b1" }
返回{"Code":"qwertyuiopasdfghjklmnbvcxz123456"}

7、获取SessionId(用来获取小程序支付二维码)/ post
/api/GetSessionId
参数:{"accountId": 992,"appid":"wxa9795213dd51a4b1" }
返回:
{"sessionid":"qwertyuiopasdfghjklmnbvcxz123456"}

8、小程序云函数(获取授权信息等一系列功能)/ post
/api/JsOperateWxData
参数(getuserinfo做示例):
{
        "accountId":992,
        "appid": "wxa9795213dd51a4b1",
        "data": "{\"api_name\":\"webapi_getuserinfo\",\"data\":{\"lang\":\"en\",\"version\":\"2.16.1\"},\"show_confirm\":false,\"with_credentials\":true}"
    }
data参数示例:
手机号授权(getuserwxphone):{"api_name":"webapi_getuserwxphone","with_credentials":true}
微信账号授权(getuserinfo):{"api_name":"webapi_getuserinfo","data":{"lang":"en","version":"2.16.1"},"show_confirm":false,"with_credentials":true}
其他:
{"api_name":"GetUploadSetting","data":{},"operate_directly":true,"plugin_appid":"[appid]"}
{"AppId":"wxe79e01ea988f83bc","Scene":1074,"WxData":"{\"api_name\":\"getGetPasskey\",\"data\":{},\"plugin_appid\":\"wx2b03c6e691cd7370\",\"operate_directly\":true}"}
返回:


9、获取a8key/ post
/api/GetA8Key
参数:{"accountId": 992,"wxid":"wxid_123456789","url":"https://mp.weixin.qq.com/s/UBouL9WsfPd16zIJY64iNw" }
返回:


10、获取支付二维码/ post
/api/GetPayQrCode
参数:
{"sessionid":"qwertyuiopasdfghjklzxcvbnm123456","timeStamp":"1649273458","nonceStr":"String","package":"String","paySign":"String","appid":"String"}
本接口不需要带客户句柄
返回:

11、获取登陆状态
/api/GetLoginState
参数:{"accountId": 992}
返回:
{
    "ret": 0,
    "msg": "未登陆状态!"
}{
    "ret": 1,
    "msg": "登陆状态!"
}

大概的流程:
启动微信成功后,先轮询窗口句柄,间隔设置个200-1000毫秒,看到登陆句柄出现后再调用获取登陆二维码
拿到二维码后  3分钟内扫码,三分钟未登陆成功,请重新获取一个二维码
手机确认登陆后,轮询登陆状态
登陆成功后,轮询窗口句柄,同样设置间隔,主句柄出现后,就可以调用其他函数(code sessionid  之类的)了

注意事项:微信号调用完成后,不在使用的情况下请务必调用关闭微信接口来结束微信进程

















  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 12:02:03  更:2022-01-28 12:02:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:08:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码