2912 lines
106 KiB
Plaintext
2912 lines
106 KiB
Plaintext
.版本 2
|
||
.支持库 edroptarget
|
||
.支持库 iext
|
||
.支持库 EThread
|
||
.支持库 spec
|
||
|
||
.程序集 窗口程序集_窗口1
|
||
.程序集变量 集句柄, 整数型
|
||
.程序集变量 工作中, 逻辑型
|
||
.程序集变量 精英线程, 线程池类
|
||
.程序集变量 ww, 未闻花名花见皮肤
|
||
|
||
.子程序 _窗口1_创建完毕
|
||
.局部变量 buff, 字节集
|
||
|
||
ww.皮肤加载 (2)
|
||
网络版授权验证 (假, “f28ba622a3ef3abf0a419f5cd6b548396dbcd7bd0d25fc815b6256be1db23421d3a329637cdb54f61e492184d1602670dff739ec7bd2847d67b98f0bff373646”)
|
||
.如果真 (信息框 (“此程序仅用于学习、技术交流,请勿用于非法!如出现任何问题后果自负!” + #换行符 + “ ”, #确认取消钮, “免责声明!!!”, ) = #取消钮)
|
||
结束 ()
|
||
.如果真结束
|
||
|
||
文件_写出_资源 (#RSCProjectDLL, 取运行目录 () + “\RSCProject.dll”, , , 真)
|
||
??? () ' <!!!>
|
||
|
||
全目录临时 = 取运行目录 () + “\hy_wss\临时”
|
||
全目录状态 = 取运行目录 () + “\hy_wss\状态”
|
||
全PIC = 取运行目录 () + “\hy_wss\生成订单图片”
|
||
.如果真 (文件是否存在 (全目录临时) = 假)
|
||
目录_创建 (全目录临时)
|
||
.如果真结束
|
||
.如果真 (文件是否存在 (全目录状态) = 假)
|
||
目录_创建 (全目录状态)
|
||
.如果真结束
|
||
.如果真 (文件是否存在 (全PIC) = 假)
|
||
目录_创建 (全PIC)
|
||
.如果真结束
|
||
|
||
|
||
数据写入列表 ()
|
||
Gdip开始 ()
|
||
wss_全局初始化 (, , , , , , , , , )
|
||
初始化哈希N ()
|
||
拖放对象1.注册拖放控件 (超级列表框1.取窗口句柄 ())
|
||
状态条1.置文本 (0, “指定直播间商品pid的方法:进入直播间->点击小黄车->立即参与->自动跳转商品页面,网址上找到【pid=后面的数字串】例如:pid=1199637078930,复制:1199637078930”)
|
||
组合框_wss.现行选中项 = 0
|
||
全wss_url = 选择 (组合框_wss.现行选中项 = 0, #常量wssurl, #常量wssurl2)
|
||
配置_读取_易语言组件 (窗口1)
|
||
|
||
.子程序 _超级列表框1_右键单击表项
|
||
|
||
弹出菜单 (菜单, , )
|
||
|
||
.子程序 _拖放对象1_得到文件
|
||
.参数 接收到的文件路径, 文本型
|
||
.局部变量 i, 文本型
|
||
.局部变量 第一次分割, 文本型, , "0"
|
||
.局部变量 第二次分割, 文本型, , "3"
|
||
.局部变量 N, 整数型
|
||
.局部变量 索引, 整数型
|
||
.局部变量 计次1, 整数型
|
||
.局部变量 计次2, 整数型
|
||
.局部变量 临时数组, 文本型, , "0"
|
||
.局部变量 文本数组, 文本型, , "0"
|
||
|
||
i = 到文本 (读入文件 (接收到的文件路径))
|
||
文本数组 = 分割文本 (i, #换行符, )
|
||
.计次循环首 (取数组成员数 (文本数组), 计次1)
|
||
系统_处理事件 ()
|
||
索引 = 超级列表框1.插入表项 (, , , , , )
|
||
超级列表框1.置标题 (索引, 0, 到文本 (索引 + 1))
|
||
超级列表框1.置标题 (索引, 1, 文本数组 [计次1])
|
||
超级列表框1.置状态图片 (索引, 1)
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
超级列表框1.允许重画 () ' 恢复自动重画
|
||
超级列表框1.发送信息 (277, 7, 0) ' 显示最后一行
|
||
清除数组 (文本数组)
|
||
|
||
.子程序 _删除当前_被选择
|
||
.局部变量 i, 整数型
|
||
.局部变量 局_保存文本, 鱼刺类_输出文本
|
||
.局部变量 局_保存目录, 文本型
|
||
|
||
超级列表框1.删除表项 (超级列表框1.现行选中项)
|
||
.计次循环首 (超级列表框1.取表项数 (), i)
|
||
系统_处理事件 ()
|
||
超级列表框1.置标题 (i - 1, 0, 到文本 (i))
|
||
.计次循环尾 ()
|
||
.计次循环首 (超级列表框1.取表项数 (), i)
|
||
系统_处理事件 ()
|
||
超级列表框1.置状态图片 (i - 1, 1)
|
||
超级列表框1.置标题 (i - 1, 0, 到文本 (i))
|
||
.计次循环尾 ()
|
||
|
||
|
||
.子程序 _删除勾选_被选择
|
||
.局部变量 表项数, 整数型
|
||
.局部变量 m, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 局_保存目录, 文本型
|
||
.局部变量 局_保存文本, 鱼刺类_输出文本
|
||
|
||
表项数 = 超级列表框1.取表项数 ()
|
||
.计次循环首 (表项数, m)
|
||
系统_处理事件 ()
|
||
.如果真 (超级列表框1.取当前状态图片 (表项数 - m) = 1)
|
||
超级列表框1.删除表项 (表项数 - m)
|
||
.如果真结束
|
||
|
||
.计次循环尾 ()
|
||
.计次循环首 (超级列表框1.取表项数 (), i)
|
||
系统_处理事件 ()
|
||
超级列表框1.置状态图片 (i - 1, 1)
|
||
超级列表框1.置标题 (i - 1, 0, 到文本 (i))
|
||
.计次循环尾 ()
|
||
|
||
|
||
.子程序 _清空CK_被选择
|
||
.局部变量 局_保存目录, 文本型
|
||
|
||
超级列表框1.全部删除 ()
|
||
局_保存目录 = 取运行目录 () + “\斗鱼CK\” + 时间_格式化 (取现行时间 (), “MM.dd-”) + “斗鱼CK.txt”
|
||
删除文件 (局_保存目录)
|
||
|
||
.子程序 GetIP, 逻辑型
|
||
.参数 返回ip, 文本型, 参考
|
||
.参数 返回端口, 整数型, 参考
|
||
.局部变量 str, 文本型
|
||
.局部变量 bool, 逻辑型
|
||
.局部变量 F_, 文本型, , "0"
|
||
|
||
.如果真 (选择框_D理.选中 = 假)
|
||
返回 (假)
|
||
.如果真结束
|
||
|
||
.循环判断首 ()
|
||
str = 编码_Utf8到Ansi (网页_访问_对象 (删首尾空 (编辑框_代理地址.内容)))
|
||
状态条1.置文本 (0, “正在获取代理:” + str)
|
||
bool = 是否IP格式 (str)
|
||
程序_延时 (300)
|
||
.循环判断尾 (取反 (bool))
|
||
F_ = 分割文本 (str, “:”, )
|
||
.如果真 (取数组成员数 (F_) = 2)
|
||
返回ip = F_ [1]
|
||
返回端口 = 到整数 (F_ [2])
|
||
返回 (真)
|
||
.如果真结束
|
||
|
||
返回 (假)
|
||
|
||
.子程序 是否IP格式, 逻辑型
|
||
.参数 IP, 文本型
|
||
.局部变量 正则, 正则表达式类
|
||
|
||
正则.创建 (“([1-9]\d{0,2}\.\d{1,3}\.\d{1,3}\.\d{1,3}):([1-9]\d{1,4})”, IP, , , , )
|
||
返回 (正则.取匹配数量 () > 0)
|
||
|
||
.子程序 _获取绑定二维码_被选择
|
||
|
||
启动线程 (&取二维码, , )
|
||
|
||
.子程序 取二维码
|
||
.局部变量 yyjson, json对象
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 返回nick, 文本型
|
||
.局部变量 str, 文本型
|
||
.局部变量 返回time, 文本型
|
||
.局部变量 返回sig, 文本型
|
||
.局部变量 返回code, 文本型
|
||
.局部变量 qrcodeToken, 文本型
|
||
.局部变量 qrcode, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回数据指针, 整数型
|
||
.局部变量 返回utf8文本, 文本型
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 返回name, 文本型
|
||
.局部变量 JSON, 类_json
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
.局部变量 body, 文本型
|
||
.局部变量 actId, 文本型
|
||
|
||
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
.如果真 (hy获取昵称 (yyuid, 局_Cookie, 返回nick) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回nick)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
basestr = 生成绑定二维码参数 (yyuid, 局_Cookie)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
' 调试输出 (“1---”, decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
返回code = UTF8到文本 (JCE.get (“0.2.1(1)”))
|
||
返回sig = UTF8到文本 (JCE.get (“0.2.1(4)”))
|
||
返回time = UTF8到文本 (JCE.get (“0.2.1(5)”))
|
||
.如果真 (返回code = “” 或 返回sig = “” 或 返回time = “”)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “取code失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' actId=14311
|
||
|
||
actId = “17096”
|
||
|
||
body = “{” + #引号 + “queryString” + #引号 + “:” + #引号 + “t=” + 返回time + “&gameIdList=cjm&actId=” + actId + “&livePlatId=huya&sig=” + 返回sig + “&code=” + 返回code + “&faceUrl=https%3A%2F%2Fdiy-assets.msstatic.com%2Fcqhfolder%2FNewDefault.png&nickName=” + 编码_URL编码_JS (返回nick, 1) + “&redirectUrl=https%3A%2F%2Fzt.huya.com%2Fb02faae1%2Fpc%2Findex.html%3FsourceId%3Dyellowcarlist%26pid%3D” + 全直播间id + “%26anchorUid%3D” + 全直播间id + “%26roomid%3D30596253&sessionId=” + 返回time + “_” + 文本_取随机字符 (7, 位或 (1, 2)) + #引号 + “}”
|
||
|
||
|
||
str = 到文本 (网页_访问_对象 (“https://livelinkbind.game.qq.com/api/qrcode/getMiniAppQrcode”, 1, body, , , “Host: livelinkbind.game.qq.com” + #换行符 + “Connection: keep-alive” + #换行符 + “Gap-Act-Id: 14311” + #换行符 + “sec-ch-ua-platform: ” + #引号 + “Windows” + #引号 + “” + #换行符 + “sec-ch-ua: ” + #引号 + “Not(A:Brand” + #引号 + “;v=” + #引号 + “99” + #引号 + “, ” + #引号 + “Google Chrome” + #引号 + “;v=” + #引号 + “133” + #引号 + “, ” + #引号 + “Chromium” + #引号 + “;v=” + #引号 + “133” + #引号 + “” + #换行符 + “Gap-User-From: pc” + #换行符 + “Gap-Plat-Id: huya” + #换行符 + “sec-ch-ua-mobile: ?0” + #换行符 + “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36” + #换行符 + “Accept: application/json, text/plain, */*” + #换行符 + “Content-Type: application/json” + #换行符 + “Gap-From-Id: ” + #换行符 + “Vulcan-AccType: auth_in_h5” + #换行符 + “Origin: https://livelink.qq.com” + #换行符 + “Sec-Fetch-Site: same-site” + #换行符 + “Sec-Fetch-Mode: cors” + #换行符 + “Sec-Fetch-Dest: empty” + #换行符 + “Referer: https://livelink.qq.com/”, , , 真))
|
||
|
||
|
||
|
||
yyjson.清空 ()
|
||
yyjson.解析 (str)
|
||
qrcodeToken = yyjson.取文本 (“jData/qrcodeToken”)
|
||
qrcode = yyjson.取文本 (“jData/qrcode”)
|
||
BASE64编解码_ASM_初始化 ()
|
||
图片框1.图片 = BASE64解码_ASM (qrcode)
|
||
标签反馈.标题 = “游戏用户绑定小程序二维码”
|
||
basestr = 生成查询游戏名 (yyuid, 局_Cookie, #常量outerActId) ' '#常量outerActId
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送消息失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
' 调试输出 (“decodeBuff (返回buff)---”, decodeBuff (返回buff))
|
||
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
返回name = UTF8到文本 (JCE.get (“0.2.4.1”))
|
||
超级列表框1.置标题 (超级列表框1.现行选中项, 3, 选择 (返回name ≠ “”, 返回name, “NULL”))
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “操作完成”)
|
||
' hy检测账号 (qrcodeToken)
|
||
|
||
.子程序 hy获取昵称, 逻辑型
|
||
.参数 参_uid, 文本型
|
||
.参数 参_Cookie, 文本型
|
||
.参数 返回nickname, 文本型, 参考
|
||
.局部变量 str, 文本型
|
||
.局部变量 yyjson, json对象
|
||
.局部变量 CALLBACK, 文本型
|
||
.局部变量 nick, 文本型
|
||
|
||
str = 编码_Utf8到Ansi (网页_访问_对象 (“https://live.huya.com/task/taskTotal?uid=” + 参_uid + “&callback=TT_HD_USER_CARD_JSONP_CALLBACK”, , , 参_Cookie, , “Host: live.huya.com” + #换行符 + “Connection: keep-alive” + #换行符 + “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” + #换行符 + “sec-ch-ua-platform: ” + #引号 + “Windows” + #引号 + “” + #换行符 + “Accept: */*” + #换行符 + “Referer: https://www.huya.com/”, , , 真))
|
||
' 调试输出 (取程序名称 (1), str)
|
||
CALLBACK = 文本_取出中间文本 (str, “TT_HD_USER_CARD_JSONP_CALLBACK(”, “)”)
|
||
.如果真 (CALLBACK = “”)
|
||
返回 (假)
|
||
.如果真结束
|
||
|
||
yyjson.清空 ()
|
||
yyjson.解析 (CALLBACK)
|
||
nick = yyjson.取文本 (“data/level/nick”)
|
||
.如果真 (nick ≠ “”)
|
||
返回nickname = nick
|
||
返回 (真)
|
||
.如果真结束
|
||
|
||
返回nickname = str
|
||
返回 (假)
|
||
|
||
.子程序 hy检测账号, , , 通过兑换检测账号
|
||
.参数 参_qrcodeToken, 文本型
|
||
.局部变量 str, 文本型
|
||
.局部变量 isScan, 逻辑型
|
||
.局部变量 yyjson, json对象
|
||
.局部变量 isCompleted, 逻辑型
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 2, “检测账号...”)
|
||
状态条1.置文本 (0, “正在检测账号... ”)
|
||
.计次循环首 (100, )
|
||
str = 编码_Utf8到Ansi (网页_访问_对象 (“https://livelinkbind.game.qq.com/api/qrcode/poolingQrcodeStatus”, 1, “{” + #引号 + “qrcodeToken” + #引号 + “:” + #引号 + 参_qrcodeToken + #引号 + “}”, , “Host: livelinkbind.game.qq.com” + #换行符 + “Connection: keep-alive” + #换行符 + “Gap-Plat-Id: huya” + #换行符 + “Vulcan-AccType: auth_in_h5” + #换行符 + “Gap-User-From: pc” + #换行符 + “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” + #换行符 + “Gap-Act-Id: 9504” + #换行符 + “Content-Type: application/json” + #换行符 + “Accept: application/json, text/plain, */*” + #换行符 + “Gap-From-Id: ” + #换行符 + “sec-ch-ua-platform: ” + #引号 + “Windows” + #引号 + “” + #换行符 + “Origin: https://livelink.qq.com” + #换行符 + “Referer: https://livelink.qq.com/”))
|
||
' 扫码成功返回 {"iRet":0,"sMsg":"ok","jData":{"isScan":true,"isExpired":false,"isCompleted":true},"tid":"8c9e69e8a2f24aa79ccec014e31e58d1","v":2,"apiName":""}
|
||
' 调试输出 (“检测账号:”, str)
|
||
状态条1.置文本 (0, “检测账号:” + str)
|
||
yyjson.清空 ()
|
||
yyjson.解析 (str)
|
||
isScan = yyjson.取逻辑 (“jData/isScan”)
|
||
isCompleted = yyjson.取逻辑 (“jData/isCompleted”)
|
||
.如果真 (isScan = 真)
|
||
' 调试输出 (“已经扫码等待...:”, str)
|
||
.如果真 (isCompleted = 真)
|
||
' 调试输出 (“扫码绑定成功:”, str)
|
||
跳出循环 ()
|
||
.如果真结束
|
||
|
||
.如果真结束
|
||
|
||
程序_延时 (2000)
|
||
.计次循环尾 ()
|
||
|
||
.子程序 _充值精英令1_被选择, , , 100元
|
||
|
||
启动线程 (&子程序充值精英令, 1, )
|
||
|
||
.子程序 _充值精英令10_被选择
|
||
|
||
启动线程 (&子程序充值精英令, 10, )
|
||
|
||
.子程序 _充值精英令100_被选择
|
||
|
||
启动线程 (&子程序充值精英令, 100, )
|
||
|
||
.子程序 _充值精英令1000_被选择
|
||
|
||
启动线程 (&子程序充值精英令, 1000, )
|
||
|
||
.子程序 子程序充值精英令
|
||
.参数 充值类型, 整数型
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 JSON, 类_json
|
||
.局部变量 返回充值ID, 文本型
|
||
.局部变量 返回付款码, 文本型
|
||
.局部变量 返回文本, 文本型
|
||
.局部变量 局_下单模式, 整数型
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 openapi, 文本型
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
.局部变量 局_充值数量, 文本型
|
||
|
||
.如果真 (充值类型 = 1)
|
||
局_下单模式 = 8
|
||
.如果真结束
|
||
.如果真 (充值类型 = 10)
|
||
局_下单模式 = 9
|
||
.如果真结束
|
||
.如果真 (充值类型 = 100)
|
||
局_下单模式 = 6
|
||
.如果真结束
|
||
.如果真 (充值类型 = 1000)
|
||
局_下单模式 = 10
|
||
.如果真结束
|
||
|
||
|
||
调试输出 (局_下单模式)
|
||
局_充值数量 = 删全部空 (编辑框_充值数量.内容)
|
||
.如果真 (局_充值数量 = “”)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “请设定充值数量!”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “正在充值$” + 到文本 (充值类型) + “..”)
|
||
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
basestr = 小黄车操作 (局_下单模式, 局_充值数量, yyuid, 局_Cookie, “”)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
调试输出 (“1---”, decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
' [0]┓
|
||
' [0](Short):200
|
||
' [1](Str=0):
|
||
' [2](Int):5788374
|
||
' [4](Int):4798274
|
||
' [5](Byte):10
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
|
||
返回文本 = UTF8到文本 (JCE.get (“0.6.1”))
|
||
调试输出 (“返回文本”, 返回文本)
|
||
.如果真 (寻找文本 (返回文本, “需先开通”, , 假) ≠ -1)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回文本)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
返回充值ID = 到文本 (JCE.get整数 (“0.2”))
|
||
调试输出 (“返回充值ID”, 返回充值ID)
|
||
.如果真 (返回充值ID = “0”)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “取充值id失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
超级列表框1.置标题 (超级列表框1.现行选中项, 6, 返回充值ID)
|
||
程序_延时 (1000)
|
||
basestr = 小黄车操作 (3, “”, yyuid, 局_Cookie, 返回充值ID)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “小黄车下单失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
' 调试输出 (“2---”, decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
返回付款码 = UTF8到文本 (JCE.get (“0.5”))
|
||
' 调试输出 (“返回付款码---”, 返回付款码)
|
||
.判断开始 (寻找文本 (返回付款码, “weixin://”, , 假) ≠ -1)
|
||
图片框1.图片 = 文本生成二维码图片 (返回付款码, , , , , 10)
|
||
标签反馈.标题 = “精英令牌” + 到文本 (充值类型) + “充值-Weixin”
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “操作完成”)
|
||
|
||
.判断 (寻找文本 (返回付款码, “openapi.alipay.com”, , 假) ≠ -1)
|
||
openapi = Zfb跳转二维码 (返回付款码)
|
||
' '调试输出 (“Zfb跳转二维码---”, openapi)
|
||
图片框1.图片 = 文本生成二维码图片 (openapi, , , , , 10)
|
||
标签反馈.标题 = “精英令牌” + 到文本 (充值类型) + “充值-Zfb”
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “操作完成”)
|
||
|
||
|
||
.默认
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “获取支付二维码失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.判断结束
|
||
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
|
||
' basestr = 小黄车操作 (4,"", yyuid, 局_Cookie, 返回充值ID)
|
||
' 下面这里 没付款之前是正常得 付款后就不行了 你看下我操作
|
||
.' 计次循环首 (50, )
|
||
.' 如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, “检测状态失败”)
|
||
' 返回 ()
|
||
|
||
.如果真结束
|
||
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回jsonstr) = 假)
|
||
' ' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, 返回jsonstr)
|
||
' ' 返回 ()
|
||
.如果真结束
|
||
|
||
' 调试输出 (“检测充值状态返回jsonstr----”, 返回jsonstr)
|
||
' 程序_延时 (1000)
|
||
.' 计次循环尾 ()
|
||
|
||
|
||
.子程序 Zfb跳转二维码, 文本型
|
||
.参数 参_url, 文本型
|
||
.局部变量 str, 文本型
|
||
|
||
str = 到文本 (网页_访问_对象 (参_url, , , , , “Host: openapi.alipay.com” + #换行符 + “Connection: keep-alive” + #换行符 + “sec-ch-ua: ” + #引号 + “Not_A Brand” + #引号 + “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 + “;v=” + #引号 + “120” + #引号 + “, ” + #引号 + “Google Chrome” + #引号 + “;v=” + #引号 + “120” + #引号 + “” + #换行符 + “sec-ch-ua-mobile: ?0” + #换行符 + “sec-ch-ua-platform: ” + #引号 + “Windows” + #引号 + “” + #换行符 + “Upgrade-Insecure-Requests: 1” + #换行符 + “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” + #换行符 + “Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7”))
|
||
返回 (“https://qr.alipay.com/” + 文本_取出中间文本 (str, “https://qr.alipay.com/”, #引号))
|
||
|
||
.子程序 检测鱼刺充值状态
|
||
.参数 参_token, 文本型, 可空
|
||
.参数 参_索引, 整数型
|
||
.参数 参_cook, 文本型
|
||
.局部变量 str, 文本型
|
||
.局部变量 局_余额, 整数型
|
||
.局部变量 局_工作, 逻辑型
|
||
.局部变量 an, 整数型
|
||
.局部变量 msg, 文本型
|
||
.局部变量 yyjson, json对象
|
||
|
||
' 检测充值鱼刺成功 '{"error":0,"data":{"state":2,"order_id":"7682614632081039361001","quantity":10,"nickname":"用户27335596"}}
|
||
局_工作 = 真
|
||
.判断循环首 (局_工作 = 真)
|
||
_原子递增 (an)
|
||
str = 到文本 (网页_访问_对象 (“https://cz.douyu.com/item/gold/account”, , , 参_cook, , ))
|
||
' '调试输出 (str)
|
||
状态条1.置文本 (0, “[” + 到文本 (an) + “]检测鱼翅充值-> ” + str)
|
||
yyjson.清空 ()
|
||
yyjson.解析 (str)
|
||
局_余额 = yyjson.取整数 (“data/gold”)
|
||
' 调试输出 (“局_余额”, 局_余额)
|
||
窗口_置状态信息 (参_索引, 1, “[” + 到文本 (an) + “]检测鱼翅充值”)
|
||
.如果真 (局_余额 > 0)
|
||
窗口_置状态信息 (参_索引, 1, “鱼刺余额:” + 到文本 (局_余额))
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
程序_延时 (2000)
|
||
.判断循环尾 ()
|
||
|
||
.子程序 _查询手册积分_被选择
|
||
|
||
启动线程 (&查手册积分, , )
|
||
|
||
.子程序 查手册积分
|
||
.局部变量 局_文本, 文本型
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 局_F, 文本型, , "0"
|
||
.局部变量 ctnEX, 文本型
|
||
.局部变量 str, 文本型
|
||
.局部变量 userid, 文本型
|
||
.局部变量 diff, 文本型
|
||
|
||
局_文本 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
|
||
ctnEX = 超级列表框1.取标题 (超级列表框1.现行选中项, 5)
|
||
|
||
局_F = 分割文本 (局_文本, “----”, )
|
||
.如果真 (取数组成员数 (局_F) < 3)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 2, “Cookie格式错误”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
userid = 局_F [2]
|
||
局_Cookie = 局_F [3]
|
||
|
||
|
||
str = 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/oms/web/peace/credit/diff”, 1, “{” + #引号 + “userId” + #引号 + “:” + #引号 + userid + #引号 + “,” + #引号 + “ctn” + #引号 + “:” + #引号 + ctnEX + #引号 + “}”, 局_Cookie, , ))
|
||
|
||
' '{"error":0,"msg":"success","data":{"diff":300}
|
||
状态条1.置文本 (0, “查积分-> ” + str)
|
||
diff = 文本_取出中间文本 (str, “diff” + #引号 + “:”, “}”)
|
||
.如果真 (diff ≠ “”)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 5, “积分:” + diff)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 5, str)
|
||
|
||
.子程序 _一键查询积分_被选择
|
||
.局部变量 p, 整数型
|
||
|
||
.计次循环首 (超级列表框1.取表项数 (), p)
|
||
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
|
||
启动线程 (&查积分记录_线程, p - 1, )
|
||
程序_延时 (10)
|
||
.如果真结束
|
||
|
||
.计次循环尾 ()
|
||
|
||
.子程序 查积分记录_线程
|
||
.参数 索引E, 整数型
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 bin, 字节集
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 JSON, 类_json
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 返回积分, 文本型
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 buff, 字节集
|
||
.局部变量 返回类型, 字节型
|
||
.局部变量 runIP, 文本型
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
|
||
全读写锁.读进入 ()
|
||
局_Cookie = 超级列表框1.取标题 (索引E, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
全读写锁.读退出 ()
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (索引E, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (索引E, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (索引E, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
basestr = 生成查询积分 (yyuid, 局_Cookie, #常量sid)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (索引E, 1, “wss发送消息失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (索引E, 1, “buff解析失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' '调试输出 (“返回buff---”, decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
.如果真 (JCE.getShort (“0.0”) ≠ 200)
|
||
窗口_置状态信息 (索引E, 1, “积分查询,请求失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
JCE.get (“0.6”, 返回类型)
|
||
' '调试输出 (“返回类型---”, 返回类型)
|
||
.如果真 (返回类型 = 1)
|
||
返回积分 = 到文本 (JCE.getShort (“0.6”))
|
||
.如果真结束
|
||
.如果真 (返回类型 = 0)
|
||
返回积分 = 到文本 (JCE.getByte (“0.6”))
|
||
.如果真结束
|
||
.如果真 (返回类型 = 12)
|
||
返回积分 = 到文本 (JCE.getByte (“0.6”))
|
||
.如果真结束
|
||
|
||
|
||
窗口_置状态信息 (索引E, 1, 选择 (返回积分 ≠ “”, 返回积分, “0”))
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
|
||
' [0]┓
|
||
' [0](Short):200
|
||
' [1](Str=12):请求成功
|
||
' [2](Short):300
|
||
' [3](Zero):0
|
||
' [4](Short):300
|
||
' [5](Zero):0
|
||
' [6](Short):300
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
' '其他方式的
|
||
' [0]┓
|
||
' [0](Short):200
|
||
' [1](Str=12):请求成功
|
||
' [2](Short):2010
|
||
' [3](Short):1980
|
||
' [4](Short):2010
|
||
' [5](Short):1980
|
||
' [6](Byte):30
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
|
||
|
||
.子程序 _兑换商品_被选择
|
||
|
||
启动线程 (&商品兑换, , )
|
||
|
||
.子程序 商品兑换
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 局_昵称, 文本型
|
||
.局部变量 局_商品txt, 文本型
|
||
.局部变量 _F, 文本型, , "0"
|
||
.局部变量 局_商品名称, 文本型
|
||
.局部变量 局_商品价格, 文本型
|
||
.局部变量 局_商品ID, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 返回兑换结果, 文本型
|
||
.局部变量 请求结果, 文本型
|
||
.局部变量 优化价格, 文本型
|
||
.局部变量 局_bin, 字节集
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
|
||
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
局_昵称 = 超级列表框1.取标题 (超级列表框1.现行选中项, 3)
|
||
局_商品txt = 组合框1.取项目文本 (组合框1.现行选中项)
|
||
.如果真 (局_商品txt = “”)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “请添加商品!”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
_F = 分割文本 (局_商品txt, “一”, )
|
||
.如果真 (取数组成员数 (_F) < 4)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “商品格式错误”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' 南瓜骑士载具枪械礼包一15000一9403一22%
|
||
局_商品名称 = _F [1]
|
||
局_商品价格 = _F [2]
|
||
局_商品ID = _F [3]
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “兑换:” + 局_商品txt)
|
||
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
basestr = 生成兑换商品 (yyuid, 局_Cookie, #常量sid, 局_商品ID)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送消息失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' 调试输出 (“11----”, decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
请求结果 = UTF8到文本 (JCE.get (“0.1”))
|
||
' '调试输出 (“请求结果----”, 请求结果)
|
||
.如果真 (请求结果 ≠ “请求成功”)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 请求结果)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
返回兑换结果 = UTF8到文本 (JCE.get (“0.4.3”))
|
||
' 调试输出 (“返回兑换结果----”, 返回兑换结果)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回兑换结果)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
|
||
' 优化价格 = 取文本左边 (局_商品价格, 取文本长度 (局_商品价格) - 1)
|
||
' 调试输出 (优化价格)
|
||
保存日志2 (时间_到文本 (取现行时间 (), 1) + “ ” + 局_Cookie + “----” + 局_商品名称 + “----” + 局_商品价格)
|
||
局_bin = 文转图片P (局_商品名称 + “ ” + #换行符 + 时间_格式化 (取现行时间 (), “yyyy年MM月dd日”, “ hh:mm:ss”, 真) + #换行符 + “兑换账号:” + “(” + 局_昵称 + “)”)
|
||
剪辑板_置图片 (局_bin)
|
||
提示框 (“兑换成功,图片已复制”, , , , 1000)
|
||
|
||
' 成功返回 [0]┓
|
||
' [0](Short):200
|
||
' [1](Str=12):请求成功
|
||
' [3](Str=47):sOrderId_1663_9187_1199646113837_1732817910_703
|
||
' [4]┓
|
||
' [1](Short):9187
|
||
' [2](Byte):20
|
||
' [3](Str=38):兑换奖品:荣耀勋章礼包(小)
|
||
' [0]┛
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
|
||
' =========失败返回
|
||
' 0]┓
|
||
' [0](Short):9106
|
||
' [1](Str=61):购买精英宝典商品,才能开启精英宝典特权哦~
|
||
' [3](Str=0):
|
||
' [5]┓
|
||
' [0](Byte):3
|
||
' [1](Map,3):
|
||
' [0](Str=9):minAmount
|
||
' [1](Str=1):1
|
||
' [0(1)](Str=7):propIds
|
||
' [1(1)](Str=7):1285501
|
||
' [0(2)](Str=9):maxAmount
|
||
' [1(2)](Str=5):99999
|
||
' [2](Str=61):购买精英宝典商品,才能开启精英宝典特权哦~
|
||
' [3](Str=0):
|
||
' [4](Str=0):
|
||
' [0(1)]┛
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
|
||
.子程序 _图片框1_被双击, 逻辑型
|
||
.参数 横向位置, 整数型
|
||
.参数 纵向位置, 整数型
|
||
.参数 功能键状态, 整数型
|
||
|
||
.如果真 (图片框1.图片 = { })
|
||
提示框 (“请先生成后,再复制二维码”, , , , 1000)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
剪辑板_置图片 (图片框1.图片)
|
||
提示框 (“二维码已复制”, , , , 1000)
|
||
|
||
.子程序 _超级列表框1_被双击, 逻辑型
|
||
.参数 横向位置, 整数型
|
||
.参数 纵向位置, 整数型
|
||
.参数 功能键状态, 整数型
|
||
|
||
启动线程 (&子程序标签更新, , )
|
||
|
||
.子程序 子程序标签更新
|
||
.局部变量 局_文本, 文本型
|
||
.局部变量 返回昵称, 文本型
|
||
.局部变量 返回积分, 文本型
|
||
.局部变量 返回手机, 文本型
|
||
.局部变量 返回err0, 文本型
|
||
.局部变量 返回渠道, 文本型
|
||
|
||
.如果真 (查积分记录_单线程 (返回昵称, 返回积分, 返回手机, 返回渠道, 返回err0) = 假)
|
||
标签_昵称.标题 = 返回err0
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
标签_昵称.标题 = “积分:” + 返回积分
|
||
标签_状态.标题 = “游戏名称:” + 返回昵称 + #换行符 + “渠道:” + 返回渠道 + #换行符 + “手机:” + 返回手机
|
||
超级列表框1.置标题 (超级列表框1.现行选中项, 3, 返回昵称)
|
||
超级列表框1.置标题 (超级列表框1.现行选中项, 5, “操作成功”)
|
||
|
||
.子程序 查积分记录_单线程, 逻辑型
|
||
.参数 返回昵称, 文本型, 参考
|
||
.参数 返回积分, 文本型, 参考
|
||
.参数 返回手机, 文本型
|
||
.参数 返回渠道, 文本型, 参考, 苹果 和安卓
|
||
.参数 返回err0, 文本型, 参考
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 JSON, 类_json
|
||
.局部变量 局_积分, 文本型
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 返回类型, 字节型
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
|
||
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
|
||
返回 (假)
|
||
.如果真结束
|
||
|
||
|
||
' #常量outerActId ,,“9504”
|
||
basestr = 生成查询游戏名 (yyuid, 局_Cookie, “9504”)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
返回err0 = “wss发送消息失败”
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 (假)
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
返回err0 = “buff解析失败”
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 (假)
|
||
.如果真结束
|
||
|
||
|
||
' '调试输出 (decodeBuff (返回buff))
|
||
' 调试输出 (“查询游戏---”, decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
返回昵称 = UTF8到文本 (JCE.get (“0.2.4.1”))
|
||
返回渠道 = UTF8到文本 (JCE.get (“0.2.4.2”))
|
||
返回手机 = UTF8到文本 (JCE.get (“0.2.4.3”))
|
||
buff = { }
|
||
basestr = 生成查询积分 (yyuid, 局_Cookie, #常量sid)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
返回err0 = “wss发送消息失败”
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 (假)
|
||
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
返回err0 = “buff解析失败”
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 (假)
|
||
.如果真结束
|
||
|
||
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
JCE.get (“0.6”, 返回类型)
|
||
' '调试输出 (“返回类型---”, 返回类型)
|
||
.如果真 (返回类型 = 1)
|
||
返回积分 = 到文本 (JCE.getShort (“0.6”))
|
||
.如果真结束
|
||
.如果真 (返回类型 = 0)
|
||
返回积分 = 到文本 (JCE.getByte (“0.6”))
|
||
.如果真结束
|
||
.如果真 (返回类型 = 12)
|
||
返回积分 = 到文本 (JCE.getByte (“0.6”))
|
||
.如果真结束
|
||
|
||
|
||
' 调试输出 (“返回积分---”, 返回积分)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 (真)
|
||
|
||
.子程序 _标签_状态_被双击, 逻辑型
|
||
.参数 横向位置, 整数型
|
||
.参数 纵向位置, 整数型
|
||
.参数 功能键状态, 整数型
|
||
|
||
剪辑板_置图片 (快照 (标签_状态.取窗口句柄 (), , ))
|
||
提示框 (“图片已复制”, , , , 1000)
|
||
|
||
.子程序 _窗口1_可否被关闭, 逻辑型
|
||
|
||
.如果 (信息框 (“确定要退出程序吗?”, #信息图标 + #确认钮 + #取消钮, , ) = #确认钮)
|
||
返回 (真)
|
||
.否则
|
||
返回 (假)
|
||
.如果结束
|
||
|
||
|
||
.子程序 _窗口1_将被销毁
|
||
|
||
Gdip结束 ()
|
||
数据写出列表 ()
|
||
哈希清空 ()
|
||
配置_保存_易语言组件 (窗口1)
|
||
|
||
.子程序 _按钮_结算_被单击
|
||
|
||
启动线程 (&子程序结算, , )
|
||
|
||
.子程序 子程序结算
|
||
.局部变量 str, 文本型
|
||
.局部变量 局_1, 文本型, , "0"
|
||
.局部变量 局_F, 文本型, , "0"
|
||
.局部变量 N, 整数型
|
||
.局部变量 局_NUM, 整数型
|
||
.局部变量 局_日志路径, 文本型
|
||
.局部变量 局_标识, 文本型, , "0"
|
||
.局部变量 局_文本1, 文本型
|
||
.局部变量 局_文本2, 文本型
|
||
.局部变量 局_返回余额, 整数型
|
||
|
||
局_日志路径 = 取运行目录 () + “\” + 时间_格式化 (取现行时间 (), “MM.dd-”) + “兑换日志.log”
|
||
str = 编码_Utf8到Ansi (读入文件 (局_日志路径))
|
||
.如果真 (str = “”)
|
||
提示框 (“生成日志后,再结算金额...”, , , , 1000)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
文本_取中间_批量 (str, “---------------------------------------------已结算----以上合计金额:”, #换行符, 局_标识)
|
||
.如果真 (取数组成员数 (局_标识) < 1)
|
||
' 提示框 (“生成日志后,再结算金额”, , , , 2000)
|
||
局_F = 分割文本 (str, #换行符, )
|
||
.计次循环首 (取数组成员数 (局_F), N)
|
||
局_返回余额 = 子程序处理余额 (局_F [N])
|
||
_原子运算 (局_NUM, 局_返回余额)
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
保存日志2 (#换行符 + #换行符 + “---------------------------------------------已结算----以上合计金额:” + 到文本 (局_NUM) + #换行符 + #换行符)
|
||
提示框 (“结算完成:” + 到文本 (局_NUM), , , , 2000)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
.如果真 (局_标识 [取数组成员数 (局_标识)] ≠ “”)
|
||
局_文本1 = “---------------------------------------------已结算----以上合计金额:” + 局_标识 [取数组成员数 (局_标识)]
|
||
局_1 = 分割文本 (str, 局_文本1, )
|
||
局_文本2 = 局_1 [取数组成员数 (局_1)]
|
||
.如果真 (局_文本2 ≠ “”)
|
||
局_F = 分割文本 (局_文本2, #换行符, )
|
||
.计次循环首 (取数组成员数 (局_F), N)
|
||
局_返回余额 = 子程序处理余额 (局_F [N])
|
||
_原子运算 (局_NUM, 局_返回余额)
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_NUM ≤ 0)
|
||
提示框 (“未达到结算条件!”, , , , 2000)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
保存日志2 (#换行符 + #换行符 + “---------------------------------------------已结算----以上合计金额:” + 到文本 (局_NUM) + #换行符 + #换行符)
|
||
清除数组 (局_1)
|
||
清除数组 (局_F)
|
||
提示框 (“结算完成:” + 到文本 (局_NUM), , , , 2000)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
提示框 (“未达到结算条件!”, , , , 2000)
|
||
|
||
.如果真结束
|
||
|
||
|
||
.子程序 子程序处理余额, 整数型
|
||
.参数 参_数据, 文本型
|
||
.局部变量 局_F, 文本型, , "0"
|
||
.局部变量 N, 整数型
|
||
|
||
局_F = 分割文本 (参_数据, “----”, )
|
||
.如果真 (取数组成员数 (局_F) = 4)
|
||
返回 (到整数 (局_F [4]))
|
||
.如果真结束
|
||
|
||
返回 (0)
|
||
|
||
.子程序 _按钮_统计_被单击
|
||
.局部变量 str, 文本型
|
||
.局部变量 局_日志路径, 文本型
|
||
.局部变量 局_F, 文本型, , "0"
|
||
.局部变量 P, 整数型
|
||
.局部变量 局_返回余额, 整数型
|
||
.局部变量 局_NUM, 整数型
|
||
|
||
局_日志路径 = 取运行目录 () + “\” + 时间_格式化 (取现行时间 (), “MM.dd-”) + “兑换日志.log”
|
||
str = 编码_Utf8到Ansi (读入文件 (局_日志路径))
|
||
局_F = 分割文本 (str, #换行符, )
|
||
.计次循环首 (取数组成员数 (局_F), P)
|
||
局_返回余额 = 子程序处理余额 (局_F [P])
|
||
_原子运算 (局_NUM, 局_返回余额)
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
保存日志2 (#换行符 + #换行符 + “*************************************************今日统计总金额:” + 到文本 (局_NUM) + #换行符 + #换行符)
|
||
信息框 (时间_格式化 (取现行时间 (), “MM.dd-”) + “统计总金额:” + 到文本 (局_NUM), 0, , )
|
||
|
||
|
||
.子程序 判断重复列表
|
||
.参数 参_内容, 文本型
|
||
.局部变量 局_文本, 文本型
|
||
.局部变量 局_用户, 文本型
|
||
.局部变量 _索引, 整数型
|
||
.局部变量 局_索引2, 整数型
|
||
.局部变量 P, 整数型
|
||
|
||
_索引 = 超级列表框1.查找表项 (参_内容, , , 1)
|
||
.如果 (_索引 = -1)
|
||
局_索引2 = 超级列表框1.插入表项 (, , , , , )
|
||
超级列表框1.置标题 (局_索引2, 0, 到文本 (局_索引2 + 1))
|
||
超级列表框1.置标题 (局_索引2, 1, 参_内容)
|
||
超级列表框1.置状态图片 (局_索引2, 1)
|
||
|
||
.否则
|
||
超级列表框1.置标题 (_索引, 1, 参_内容)
|
||
.如果结束
|
||
|
||
|
||
.子程序 保存日志
|
||
.参数 参_str, 文本型
|
||
.局部变量 filename, 文本型
|
||
.局部变量 保存到文件, 鱼刺类_输出文本
|
||
|
||
filename = 时间_格式化 (取现行时间 (), “MM.dd-”) + “流程日志”
|
||
保存到文件.写文本行 (参_str, filename, 取运行目录 () + “\”, “.log”)
|
||
|
||
.子程序 保存日志2
|
||
.参数 参_str, 文本型
|
||
.局部变量 filename, 文本型
|
||
.局部变量 保存到文件, 鱼刺类_输出文本
|
||
|
||
filename = 时间_格式化 (取现行时间 (), “MM.dd-”) + “兑换日志”
|
||
保存到文件.写文本行 (参_str, filename, 取运行目录 () + “\”, “.log”)
|
||
保存到文件.关闭所有文件占用 ()
|
||
|
||
.子程序 数据写入列表, , , APP
|
||
.局部变量 文件号, 整数型
|
||
.局部变量 文件名, 文本型
|
||
.局部变量 状态数组, 文本型, , "0"
|
||
.局部变量 文本数组, 文本型, , "0"
|
||
.局部变量 M, 整数型
|
||
.局部变量 N, 整数型
|
||
.局部变量 局_状态图片, 整数型
|
||
|
||
文件名 = 全目录临时 + “\临时ck.txt”
|
||
文件号 = 打开文件 (文件名, , )
|
||
移到文件首 (文件号)
|
||
处理事件 ()
|
||
.判断循环首 (取反 (是否在文件尾 (文件号, 真)))
|
||
重定义数组 (状态数组, 假, 0)
|
||
重定义数组 (文本数组, 假, 0)
|
||
状态数组 = 分割文本 (读入一行 (文件号), “$”, )
|
||
.如果真 (取数组成员数 (状态数组) ≥ 2)
|
||
.如果 (状态数组 [1] = “x”)
|
||
局_状态图片 = 1
|
||
.否则
|
||
局_状态图片 = 0
|
||
.如果结束
|
||
文本数组 = 分割文本 (状态数组 [2], “|||”, )
|
||
M = 超级列表框1.插入表项 (, , , , , )
|
||
|
||
超级列表框1.置状态图片 (M, 局_状态图片)
|
||
.计次循环首 (取数组成员数 (文本数组), N)
|
||
系统_处理事件 ()
|
||
超级列表框1.置标题 (M, N - 1, 文本数组 [N])
|
||
.如果真 (N = 20) ' 填充满一页就手动重画
|
||
超级列表框1.禁止重画 ()
|
||
.如果真结束
|
||
.如果真 (N % 100 = 0) ' 每100次插入 换一次姿势 ``233333
|
||
超级列表框1.允许重画 ()
|
||
超级列表框1.发送信息 (277, 7, 0) ' 显示最后一行
|
||
超级列表框1.禁止重画 ()
|
||
.如果真结束
|
||
|
||
.计次循环尾 ()
|
||
|
||
|
||
|
||
.如果真结束
|
||
|
||
.判断循环尾 ()
|
||
关闭文件 (文件号)
|
||
超级列表框1.允许重画 () ' 恢复自动重画
|
||
超级列表框1.发送信息 (277, 7, 0) ' 显示最后一行
|
||
|
||
.子程序 数据写出列表, , , APP
|
||
.局部变量 文件名, 文本型
|
||
.局部变量 读入账号, 文本型
|
||
.局部变量 n, 整数型
|
||
.局部变量 临时文件名, 文本型
|
||
.局部变量 文件号, 整数型
|
||
.局部变量 文本, 文本型
|
||
.局部变量 空, 字节集
|
||
.局部变量 局_状态图片, 文本型
|
||
|
||
临时文件名 = 全目录临时 + “\临时ck.txt”
|
||
文件号 = 打开文件 (临时文件名, 4, )
|
||
_处理事件 ()
|
||
文本 = “”
|
||
|
||
.计次循环首 (超级列表框1.取表项数 (), n)
|
||
系统_处理事件 ()
|
||
.判断开始 (超级列表框1.取当前状态图片 (n - 1) = 1)
|
||
局_状态图片 = “x”
|
||
|
||
.默认
|
||
局_状态图片 = “y”
|
||
.判断结束
|
||
|
||
文本 = 局_状态图片 + “$” + 超级列表框1.取标题 (n - 1, 0) + “|||” + 超级列表框1.取标题 (n - 1, 1) + “|||” + 超级列表框1.取标题 (n - 1, 2) + “|||” + 超级列表框1.取标题 (n - 1, 3) + “|||” + 超级列表框1.取标题 (n - 1, 4) + “|||” + 超级列表框1.取标题 (n - 1, 5) + “|||” + 超级列表框1.取标题 (n - 1, 6)
|
||
|
||
写文本行 (文件号, 文本)
|
||
.计次循环尾 ()
|
||
关闭文件 (文件号)
|
||
|
||
.子程序 _标签_昵称_被双击, 逻辑型, , https://livelink.qq.com/act/a20200527midgroupage/pc/?sig=0d29d14f3e9bdb05f7f091340952054f&faceUrl=https%3A%2F%2Fapic.douyucdn.cn%2Fupload%2Favatar%2Fdefault%2F15_middle.jpg&code=wW6EhNWpLEVNHKEMfB9vaEWKPdowIikRqFJI0IKm%2BcxGa%2B8OEPhyF%2BZ58W80CrGigCGtLddIofBcnRkylmccKw%3D%3D&redirectUrl=null&t=1661433534&livePlatId=douyu&nickName=%E7%94%A8%E6%88%B702435853&actId=2811&gameIdList=cjm
|
||
.参数 横向位置, 整数型
|
||
.参数 纵向位置, 整数型
|
||
.参数 功能键状态, 整数型
|
||
.局部变量 str, 文本型, , , 昵称:null <-> 余额:null
|
||
|
||
str = 删首尾空 (文本_取出中间文本 (标签_昵称.标题, “账号:”, “<->”))
|
||
置剪辑板文本 (str)
|
||
提示框 (str + “ 已复制”, , , , 1000)
|
||
|
||
.子程序 _图片框2_被双击, 逻辑型
|
||
.参数 横向位置, 整数型
|
||
.参数 纵向位置, 整数型
|
||
.参数 功能键状态, 整数型
|
||
|
||
' 剪辑板_置图片 (图片框2.图片)
|
||
提示框 (“图片已复制”, , , , 1000)
|
||
|
||
.子程序 __扫码框_鼠标左键被按下, 逻辑型
|
||
.参数 横向位置, 整数型
|
||
.参数 纵向位置, 整数型
|
||
.参数 功能键状态, 整数型
|
||
|
||
窗口1.发送信息 (161, 2, 0)
|
||
|
||
.子程序 _粘贴CK_被选择
|
||
.局部变量 文本数组, 文本型, , "0"
|
||
.局部变量 计次1, 整数型
|
||
.局部变量 计次2, 整数型
|
||
.局部变量 临时数组, 文本型, , "0"
|
||
.局部变量 索引, 整数型
|
||
.局部变量 i, 文本型
|
||
.局部变量 总数数组, 文本型, , "0"
|
||
.局部变量 内容, 文本型
|
||
.局部变量 X, 整数型
|
||
.局部变量 状态数组, 文本型, , "0"
|
||
.局部变量 N, 整数型
|
||
.局部变量 M, 整数型
|
||
.局部变量 判断数据, 文本型
|
||
|
||
' 下面的是粘贴根据“----“判断是否是一条或者两条数据
|
||
i = 取剪辑板文本 ()
|
||
.如果真 (i = “”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
文本数组 = 分割文本 (i, #换行符, )
|
||
.计次循环首 (取数组成员数 (文本数组), X)
|
||
判断数据 = 文本数组 [X]
|
||
.如果真 (判断数据 ≠ “”)
|
||
状态数组 = 分割文本 (判断数据, “----”, )
|
||
M = 超级列表框1.插入表项 (, , , , , )
|
||
超级列表框1.置状态图片 (M, 1)
|
||
.计次循环首 (取数组成员数 (状态数组), N)
|
||
超级列表框1.置标题 (M, 0, 到文本 (M + 1))
|
||
超级列表框1.置标题 (M, N, 状态数组 [N])
|
||
.计次循环尾 ()
|
||
.如果真结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
超级列表框1.允许重画 () ' 恢复自动重画
|
||
超级列表框1.发送信息 (277, 7, 0) ' 显示最后一行
|
||
|
||
清除数组 (文本数组)
|
||
返回 ()
|
||
|
||
.子程序 _搜索游戏名_被选择
|
||
.局部变量 索引EX, 整数型
|
||
.局部变量 str, 文本型
|
||
|
||
输入框 (“查找包含游戏名的字符”, “查找游戏名”, , str, , )
|
||
.如果真 (str = “”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
索引EX = 超级列表框1.查找表项 (str, , 假, 3)
|
||
.如果真 (索引EX ≠ -1)
|
||
超级列表框1.保证显示 (索引EX)
|
||
超级列表框1.选择表项 (索引EX)
|
||
.如果真结束
|
||
|
||
返回 ()
|
||
|
||
.子程序 _搜索状态_被选择
|
||
.局部变量 索引EX, 整数型
|
||
.局部变量 str, 文本型
|
||
|
||
输入框 (“查找包含状态的字符”, “查找状态”, , str, , )
|
||
.如果真 (str = “”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
索引EX = 超级列表框1.查找表项 (str, , 假, 5)
|
||
.如果真 (索引EX ≠ -1)
|
||
超级列表框1.保证显示 (索引EX)
|
||
超级列表框1.选择表项 (索引EX)
|
||
.如果真结束
|
||
|
||
返回 ()
|
||
|
||
|
||
.子程序 子程序检测账号E
|
||
.参数 参_索引, 整数型
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 time, 文本型
|
||
.局部变量 userNick, 文本型
|
||
.局部变量 str, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 返回nick, 文本型
|
||
|
||
全检车临界.进入 ()
|
||
局_Cookie = 超级列表框1.取标题 (参_索引, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
全检车临界.退出 ()
|
||
.如果 (hy获取昵称 (yyuid, 局_Cookie, 返回nick) = 真)
|
||
窗口_置状态信息 (参_索引, 1, “账号正常”)
|
||
.否则
|
||
.如果 (寻找文本 (返回nick, “请先登录”, , 假) ≠ -1)
|
||
窗口_置状态信息 (参_索引, 1, “请先登录!”)
|
||
|
||
.否则
|
||
窗口_置状态信息 (参_索引, 1, 返回nick)
|
||
.如果结束
|
||
|
||
.如果结束
|
||
|
||
' time = 时间_取现行时间戳 ()
|
||
' str = 到文本 (网页_访问_对象 (“https://l.huya.com/udb_web/udbport2.php?m=HuyaLogin&do=checkLogin&callback=jQuery112405809542307638578_” + time + “&_=” + time, , , 局_Cookie, , “Host: l.huya.com” + #换行符 + “Connection: keep-alive” + #换行符 + “sec-ch-ua: ” + #引号 + “Not_A Brand” + #引号 + “;v=” + #引号 + “8” + #引号 + “, ” + #引号 + “Chromium” + #引号 + “;v=” + #引号 + “120” + #引号 + “, ” + #引号 + “Google Chrome” + #引号 + “;v=” + #引号 + “120” + #引号 + “” + #换行符 + “sec-ch-ua-mobile: ?0” + #换行符 + “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36” + #换行符 + “sec-ch-ua-platform: ” + #引号 + “Windows” + #引号 + “” + #换行符 + “Accept: */*” + #换行符 + “Sec-Fetch-Site: same-site” + #换行符 + “Sec-Fetch-Mode: no-cors” + #换行符 + “Sec-Fetch-Dest: script” + #换行符 + “Referer: https://zt.huya.com/”))
|
||
' 调试输出 (str)
|
||
' userNick = 文本_取出中间文本 (str, “userNick” + #引号 + “:” + #引号, #引号)
|
||
|
||
|
||
.子程序 _一键检测账号_被选择
|
||
.局部变量 p, 整数型
|
||
|
||
.计次循环首 (超级列表框1.取表项数 (), p)
|
||
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
|
||
启动线程 (&子程序检测账号E, p - 1, )
|
||
程序_延时 (100)
|
||
.如果真结束
|
||
|
||
.计次循环尾 ()
|
||
|
||
.子程序 _全选_被选择
|
||
.局部变量 P, 整数型
|
||
|
||
.计次循环首 (超级列表框1.取表项数 (), P)
|
||
系统_处理事件 ()
|
||
超级列表框1.置状态图片 (P - 1, 1)
|
||
.计次循环尾 ()
|
||
|
||
.子程序 _反选_被选择
|
||
.局部变量 P, 整数型
|
||
|
||
.计次循环首 (超级列表框1.取表项数 (), P)
|
||
系统_处理事件 ()
|
||
.如果 (超级列表框1.取当前状态图片 (P - 1) = 0)
|
||
超级列表框1.置状态图片 (P - 1, 1)
|
||
|
||
.否则
|
||
超级列表框1.置状态图片 (P - 1, 0)
|
||
.如果结束
|
||
|
||
.计次循环尾 ()
|
||
|
||
|
||
.子程序 _一键获取游戏名_被选择
|
||
.局部变量 p, 整数型
|
||
|
||
.计次循环首 (超级列表框1.取表项数 (), p)
|
||
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
|
||
启动线程 (&查询游戏昵称, p - 1, )
|
||
程序_延时 (10)
|
||
.如果真结束
|
||
|
||
.计次循环尾 ()
|
||
|
||
.子程序 查询游戏昵称
|
||
.参数 索引EX, 整数型
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 str, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回数据指针, 长整数型
|
||
.局部变量 返回name, 文本型
|
||
.局部变量 bool, 逻辑型
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 JSON, 类_json
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
.局部变量 局_换绑时间, 文本型
|
||
|
||
全读写锁.读进入 ()
|
||
局_Cookie = 超级列表框1.取标题 (索引EX, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
全读写锁.读退出 ()
|
||
' 获取昵称方法1-wss获取-------------
|
||
.' 计次循环首 (10, i)
|
||
.' 如果 (选择框_D理.选中 = 真)
|
||
' D理类型 = 2
|
||
' GetIP (返回IP, 返回端口)
|
||
.否则
|
||
' D理类型 = 0
|
||
.如果结束
|
||
|
||
' 窗口_置状态信息 (索引EX, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
' 局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.' 如果 (局_连接ID > 0)
|
||
' 跳出循环 ()
|
||
|
||
.否则
|
||
' 窗口_置状态信息 (索引EX, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
' 系统_处理事件 ()
|
||
.' 计次循环尾 ()
|
||
.' 如果真 (局_连接ID = 0)
|
||
' 窗口_置状态信息 (索引EX, 1, “wss连接失败”)
|
||
' 返回 ()
|
||
.如果真结束
|
||
|
||
|
||
' basestr = 生成查询游戏名 (yyuid, 局_Cookie, “9504”)
|
||
.' 如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
' 窗口_置状态信息 (索引EX, 1, “wss发送消息失败”)
|
||
' wss_断开某个连接 (局_连接ID, 真)
|
||
' 返回 ()
|
||
.如果真结束
|
||
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
' 窗口_置状态信息 (索引EX, 1, “buff解析失败”)
|
||
|
||
' wss_断开某个连接 (局_连接ID, 真)
|
||
' 返回 ()
|
||
.如果真结束
|
||
|
||
' 调试输出 (取程序名称 (1), decodeBuff (返回buff))
|
||
|
||
' buff = decodeBuff2 (返回buff)
|
||
' JCE.set (buff)
|
||
.' 如果真 (JCE.getShort (“0.0”) ≠ 200)
|
||
' 窗口_置状态信息 (索引EX, 1, “查询昵称失败”)
|
||
' wss_断开某个连接 (局_连接ID, 真)
|
||
' 返回 ()
|
||
.如果真结束
|
||
|
||
|
||
' 返回name = UTF8到文本 (JCE.get (“0.2.4.1”))
|
||
.' 如果 (返回name ≠ “”)
|
||
' 窗口_置信息2 (索引EX, 1, 返回name)
|
||
.否则
|
||
' 窗口_置信息2 (索引EX, 1, “NULL”)
|
||
.如果结束
|
||
|
||
' wss_断开某个连接 (局_连接ID, 真)
|
||
' 窗口_置状态信息 (索引EX, 1, “操作完成”)
|
||
|
||
' 获取昵称方法2-http获取-------------
|
||
.如果 (查询绑定的游戏名 (局_Cookie, 返回name) = 真)
|
||
窗口_置信息2 (索引EX, 1, 返回name)
|
||
.否则
|
||
窗口_置信息2 (索引EX, 1, “NULL”)
|
||
.如果结束
|
||
|
||
|
||
.子程序 查询绑定的游戏名, 逻辑型
|
||
.参数 参_Cookie, 文本型
|
||
.参数 返回nick, 文本型, 参考
|
||
.局部变量 str, 文本型
|
||
.局部变量 yyjson, json对象
|
||
.局部变量 userNick, 文本型
|
||
.局部变量 str_new, 文本型
|
||
|
||
str = 编码_Utf8到Ansi (网页_访问_对象 (“https://l.huya.com/udb_web/udbport2.php?m=HuyaLogin&do=checkLogin&callback=jQuery1124008854290544847743_” + 时间_取现行时间戳 () + “&_=” + 时间_取现行时间戳 (), , , 参_Cookie, , “Host: l.huya.com” + #换行符 + “Connection: keep-alive” + #换行符 + “Pragma: no-cache” + #换行符 + “Cache-Control: no-cache” + #换行符 + “sec-ch-ua-platform: ” + #引号 + “Windows” + #引号 + “” + #换行符 + “User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36” + #换行符 + “sec-ch-ua: ” + #引号 + “Not(A:Brand” + #引号 + “;v=” + #引号 + “99” + #引号 + “, ” + #引号 + “Google Chrome” + #引号 + “;v=” + #引号 + “133” + #引号 + “, ” + #引号 + “Chromium” + #引号 + “;v=” + #引号 + “133” + #引号 + “” + #换行符 + “sec-ch-ua-mobile: ?0” + #换行符 + “Accept: */*” + #换行符 + “Sec-Fetch-Site: same-site” + #换行符 + “Sec-Fetch-Mode: no-cors” + #换行符 + “Sec-Fetch-Dest: script” + #换行符 + “Referer: https://zt.huya.com/” + #换行符 + “Accept-Language: zh-CN,zh;q=0.9”))
|
||
' '调试输出 (取程序名称 (1), str)
|
||
str_new = 文本_取出中间文本 (str, “(”, “)”)
|
||
yyjson.清空 ()
|
||
yyjson.解析 (str_new)
|
||
userNick = yyjson.取文本 (“userNick”)
|
||
.如果真 (userNick ≠ “”)
|
||
返回nick = userNick
|
||
返回 (真)
|
||
.如果真结束
|
||
|
||
|
||
返回 (假)
|
||
' uid=1199646116592
|
||
' userName=hy_272672763
|
||
' userNick=鸡杂马烧麦
|
||
' jQuery1124008854290544847743_1769827959574({"isLogined":true,"userName":"hy_272672763","uid":"1199646116592","userNick":"\u9e21\u6742\u9a6c\u70e7\u9ea6","userLogo":null,"isHuya":true})
|
||
|
||
|
||
.子程序 _按钮_启动_被单击
|
||
|
||
.判断开始 (按钮_启动.标题 = “批量兑换商品”)
|
||
.如果真 (超级列表框1.取表项数 () ≤ 0)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
按钮_启动.禁止 = 真
|
||
全工作中 = 真
|
||
启动线程 (&工作线程, , )
|
||
.' 如果真 (线程_创建 (&工作线程) = 假)
|
||
' 按钮_启动.禁止 = 假
|
||
' 返回 ()
|
||
.如果真结束
|
||
|
||
.判断 (按钮_启动.标题 = “停止兑换商品”)
|
||
按钮_启动.禁止 = 真
|
||
按钮_启动.标题 = “停 止 中...”
|
||
全工作中 = 假
|
||
精英线程.销毁 ()
|
||
精英线程.销毁 ()
|
||
返回 ()
|
||
.默认
|
||
|
||
.判断结束
|
||
|
||
|
||
|
||
.子程序 工作线程
|
||
.局部变量 bool, 逻辑型
|
||
.局部变量 int, 整数型
|
||
.局部变量 任务数, 整数型
|
||
|
||
全定时数 = 0
|
||
按钮_启动.标题 = “兑换中...”
|
||
状态条1.置文本 (0, “线程启动中...”)
|
||
' bool = 精英线程.创建 (20, 20)
|
||
.' 如果真 (bool = 假)
|
||
' 状态条1.置文本 (0, “初始化工作线程池失败!”)
|
||
' 按钮_启动.标题 = “批量兑换商品”
|
||
' 按钮_启动.禁止 = 假
|
||
' 返回 ()
|
||
.如果真结束
|
||
|
||
' 全工作中 = 真
|
||
' 按钮_启动.标题 = “停止兑换商品”
|
||
' 按钮_启动.禁止 = 假
|
||
|
||
' int = 0
|
||
.' 判断循环首 (全工作中 = 真)
|
||
' 任务数 = 精英线程.取_执行线程数 () + 精英线程.取_队列任务数 ()
|
||
' 任务数 = 精英线程.取_最大线程容量 () - 任务数
|
||
.' 如果真 (任务数 > 0)
|
||
.' 如果真 (超级列表框1.取当前状态图片 (int) = 1)
|
||
' 精英线程.投递任务 (&线程子程序, int)
|
||
.如果真结束
|
||
|
||
' int = int + 1
|
||
.如果真结束
|
||
|
||
.' 如果真 (int ≥ 超级列表框1.取表项数 ())
|
||
' 跳出循环 ()
|
||
.如果真结束
|
||
|
||
' ' _延迟 (1)
|
||
.' 判断循环尾 ()
|
||
.' 循环判断首 ()
|
||
' 程序_延时 (300)
|
||
.' 循环判断尾 (精英线程.取_是否完全空闲 () = 假)
|
||
' 状态条1.置文本 (0, “正在销毁工作线程池。。。。”)
|
||
' 精英线程.销毁 ()
|
||
' 状态条1.置文本 (0, “销毁工作线程池成功!”)
|
||
' 按钮_启动.标题 = “批量兑换商品”
|
||
' 按钮_启动.禁止 = 假
|
||
' 状态条1.置文本 (0, “执行停止完毕!”)
|
||
|
||
|
||
精英线程.创建 (&线程子程序, 到整数 (编辑框_线程数.内容))
|
||
.计次循环首 (超级列表框1.取表项数 (), int)
|
||
.如果真 (超级列表框1.取当前状态图片 (int - 1) = 1)
|
||
精英线程.加入任务 (int - 1, )
|
||
.如果真结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.循环判断首 ()
|
||
程序_延时 (300)
|
||
.循环判断尾 (精英线程.等待完成 () = 假)
|
||
精英线程.销毁 ()
|
||
状态条1.置文本 (0, “销毁工作线程池成功!”)
|
||
按钮_启动.标题 = “批量兑换商品”
|
||
按钮_启动.禁止 = 假
|
||
状态条1.置文本 (0, “执行停止完毕!”)
|
||
|
||
.子程序 线程子程序
|
||
.参数 索引E, 整数型
|
||
.局部变量 局_商品名称, 文本型
|
||
.局部变量 局_商品ID, 文本型
|
||
.局部变量 局_商品价格, 文本型
|
||
.局部变量 局_用户名, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 局_商品txt, 文本型
|
||
.局部变量 _F, 文本型, , "0"
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 优化价格, 文本型
|
||
.局部变量 局_bin, 字节集
|
||
.局部变量 JSON, 类_json
|
||
.局部变量 返回兑换结果, 文本型
|
||
.局部变量 局_昵称, 文本型
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 i, 整数型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 请求结果, 文本型
|
||
.局部变量 是否代理, 逻辑型
|
||
|
||
' 全快速锁.进入读锁 ()
|
||
局_Cookie = 超级列表框1.取标题 (索引E, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
局_昵称 = 超级列表框1.取标题 (索引E, 3)
|
||
局_商品txt = 超级列表框1.取标题 (索引E, 4)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
' 全快速锁.退出读锁 ()
|
||
.如果真 (局_商品txt = “”)
|
||
窗口_置状态信息 (索引E, 1, “请添加商品!”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
_F = 分割文本 (局_商品txt, “一”, )
|
||
.如果真 (取数组成员数 (_F) < 4)
|
||
窗口_置状态信息 (索引E, 1, “商品格式错误”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' 全快速锁.进入写锁 ()
|
||
局_商品名称 = _F [1]
|
||
局_商品价格 = _F [2]
|
||
局_商品ID = _F [3]
|
||
' 全快速锁.退出写锁 ()
|
||
是否代理 = 选择框_D理.选中
|
||
.计次循环首 (5, i)
|
||
.如果 (是否代理)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
|
||
.否则
|
||
D理类型 = 0
|
||
返回IP = “”
|
||
返回端口 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (索引E, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (索引E, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
' 局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (索引E, 1, “wss连接失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' 调试输出 (yyuid, 局_商品ID)
|
||
basestr = 生成兑换商品 (yyuid, 局_Cookie, #常量sid, 局_商品ID)
|
||
.计次循环首 (5, )
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)))
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff))
|
||
' 调试输出 (“11----”, decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
请求结果 = UTF8到文本 (JCE.get (“0.1”))
|
||
窗口_置状态信息 (索引E, 1, 请求结果)
|
||
.如果真 (寻找文本 (请求结果, “精英宝典”, , 假) ≠ -1)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (寻找文本 (请求结果, “奖品暂未开放兑换”, , 假) ≠ -1)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (寻找文本 (请求结果, “货币不足”, , 假) ≠ -1)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
|
||
.如果真结束
|
||
.如果真 (请求结果 = “请求成功”)
|
||
返回兑换结果 = UTF8到文本 (JCE.get (“0.4.3”))
|
||
跳出循环 ()
|
||
.如果真结束
|
||
|
||
.如果真结束
|
||
|
||
.如果真结束
|
||
|
||
.计次循环尾 ()
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
.如果真 (寻找文本 (请求结果, “请求成功”, , 假) = -1)
|
||
窗口_置状态信息 (索引E, 1, “失败=>” + 请求结果)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
.' 如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
' 窗口_置状态信息 (索引E, 1, “wss发送消息失败”)
|
||
' wss_断开某个连接 (局_连接ID, 真)
|
||
' 返回 ()
|
||
.如果真结束
|
||
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
' 窗口_置状态信息 (索引E, 1, “buff解析失败”)
|
||
' wss_断开某个连接 (局_连接ID, 真)
|
||
' 返回 ()
|
||
.如果真结束
|
||
|
||
|
||
' ' ’调试输出 (“11----”, decodeBuff (返回buff))
|
||
' buff = decodeBuff2 (返回buff)
|
||
' JCE.set (buff)
|
||
' 请求结果 = UTF8到文本 (JCE.get (“0.1”))
|
||
' ' 调试输出 (“请求结果----”, 请求结果)
|
||
.' 如果真 (请求结果 ≠ “请求成功”)
|
||
' 窗口_置状态信息 (索引E, 1, 请求结果)
|
||
' wss_断开某个连接 (局_连接ID, 真)
|
||
' 返回 ()
|
||
.如果真结束
|
||
|
||
' 返回兑换结果 = UTF8到文本 (JCE.get (“0.4.3”))
|
||
' 调试输出 (“返回兑换结果----”, 返回兑换结果)
|
||
窗口_置状态信息 (索引E, 1, “兑换成功:” + 返回兑换结果)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
全快速锁.进入写锁 ()
|
||
优化价格 = 取文本左边 (局_商品价格, 取文本长度 (局_商品价格) - 1)
|
||
保存日志2 (时间_到文本 (取现行时间 (), 1) + “ ” + 局_Cookie + “----” + 局_商品名称 + “----” + 优化价格)
|
||
局_bin = 文转图片P (局_商品名称 + “ ” + #换行符 + 时间_格式化 (取现行时间 (), “yyyy年MM月dd日”, “ hh:mm:ss”, 真) + #换行符 + “兑换账号:” + “(” + 局_昵称 + “)”)
|
||
写到文件_ (全PIC + “\” + 局_昵称 + “_” + 局_商品名称 + “.png”, 局_bin)
|
||
全快速锁.退出写锁 ()
|
||
|
||
|
||
.子程序 Getcsrf_token222, 文本型
|
||
.参数 参_Cookie, 文本型
|
||
.局部变量 局_文本, 文本型
|
||
.局部变量 局_CCK, 文本型
|
||
.局部变量 局_F, 文本型, , "0"
|
||
.局部变量 str, 文本型
|
||
.局部变量 返回CK, 文本型
|
||
.局部变量 csrf_token, 文本型
|
||
|
||
局_CCK = 参_Cookie
|
||
str = 到文本 (网页_访问_对象 (“https://www.douyu.com/japi/carnival/nc/common/generateCsrf”, 1, , 局_CCK, 返回CK, ))
|
||
csrf_token = 文本_取出中间文本 (返回CK, “cvl_csrf_token=”, “;”)
|
||
返回 (csrf_token)
|
||
|
||
.子程序 _开通精英宝典30_被选择
|
||
|
||
启动线程 (&子程序精英宝典30, , )
|
||
|
||
.子程序 子程序精英宝典30
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 JSON, 类_json
|
||
.局部变量 返回充值ID, 文本型
|
||
.局部变量 返回文本, 文本型
|
||
.局部变量 返回付款码, 文本型
|
||
.局部变量 局_充值id, 文本型
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 buff, 字节集
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 openapi, 文本型
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
|
||
局_充值id = 超级列表框1.取标题 (超级列表框1.现行选中项, 6)
|
||
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' basestr = 小黄车操作 (1,"", yyuid, 局_Cookie, “”)
|
||
.' 如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, “wss发送失败”)
|
||
' 返回 ()
|
||
|
||
.如果真结束
|
||
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
' 窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
|
||
' 返回 ()
|
||
.如果真结束
|
||
|
||
' 调试输出 (decodeBuff (返回buff))
|
||
' buff = decodeBuff2 (返回buff)
|
||
' JCE.set (buff)
|
||
' 局_充值码 = UTF8到文本 (JCE.get (“0.1”))
|
||
|
||
' 这个 如果存在充值码可以取消
|
||
.如果真 (局_充值id ≠ “”)
|
||
WS发送bin (局_连接ID, 编码_BASE64解码 (小黄车操作 (5, “”, yyuid, 局_Cookie, 局_充值id))) ' ’发送前先取消已有得订单
|
||
哈希取出数据指针_buff解析 (局_连接ID, 返回buff)
|
||
程序_延时 (1000)
|
||
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, “wss取数据指针失败”)
|
||
' 返回 ()
|
||
.如果真结束
|
||
|
||
|
||
' 调试输出 (“decodeBuff----00000”, decodeBuff (返回buff))
|
||
|
||
' [0]┓
|
||
' [0](Short):200
|
||
' [1](Str=0):
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
.如果真结束
|
||
|
||
basestr = 小黄车操作 (2, “”, yyuid, 局_Cookie, “”)
|
||
' 调试输出 (yyuid, 局_Cookie, , basestr)
|
||
' '调试输出 (“basestr---”, basestr)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送失败”)
|
||
返回 ()
|
||
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss取数据指针失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' '调试输出 (1111)
|
||
' [0]┓
|
||
' [0](Short):200
|
||
' [1](Str=0):
|
||
' [2](Int):5791501
|
||
' [4](Int):4801401
|
||
' [5](Byte):10
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
|
||
调试输出 (“decodeBuff----11111”, decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
返回文本 = 到文本 (JCE.getShort (“0.0”))
|
||
' 调试输出 (“返回文本----”, 返回文本)
|
||
.如果真 (返回文本 ≠ “200”)
|
||
返回文本 = UTF8到文本 (JCE.get (“0.1”))
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回文本)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
返回充值ID = 到文本 (JCE.get整数 (“0.2”))
|
||
.如果真 (返回充值ID = “0”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “取充值id失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
超级列表框1.置标题 (超级列表框1.现行选中项, 6, 返回充值ID)
|
||
程序_延时 (1000)
|
||
basestr = 小黄车操作 (3, “”, yyuid, 局_Cookie, 返回充值ID)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “小黄车下单失败”)
|
||
返回 ()
|
||
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' 0]┓
|
||
' [0](Short):200
|
||
' [1](Str=0):
|
||
' [2](Zero):0
|
||
' [3](Str=17):24120605162041289
|
||
' [4](Str=19):1038320843627569152
|
||
' [5](Str=37):weixin://wxpay/bizpayurl?pr=EHhmNCCz1
|
||
' [6](Short):3000
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
|
||
' 调试输出 (“decodeBuff----2222”, decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
返回付款码 = UTF8到文本 (JCE.get (“0.5”))
|
||
' 调试输出 (“返回付款码---”, 返回付款码)
|
||
.判断开始 (寻找文本 (返回付款码, “weixin://”, , 假) ≠ -1)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “精英宝典充值30,请用微信扫码...”)
|
||
图片框1.图片 = 文本生成二维码图片 (返回付款码, , , , , 10)
|
||
标签反馈.标题 = “精英宝典30充值-Weixin”
|
||
|
||
.判断 (寻找文本 (返回付款码, “openapi.alipay.com”, , 假) ≠ -1)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “精英宝典充值30,请用支付宝扫码...”)
|
||
openapi = Zfb跳转二维码 (返回付款码)
|
||
' '调试输出 (“Zfb跳转二维码---”, openapi)
|
||
图片框1.图片 = 文本生成二维码图片 (openapi, , , , , 10)
|
||
标签反馈.标题 = “精英宝典30充值-Zfb”
|
||
|
||
.默认
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “精英宝典30,取二维码失败”)
|
||
|
||
.判断结束
|
||
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
|
||
' basestr = 小黄车操作 (4,"", yyuid, 局_Cookie, 返回充值ID)
|
||
.' 如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, “小黄车下单失败”)
|
||
' 返回 ()
|
||
|
||
.如果真结束
|
||
.' 如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
' 超级列表框1.置标题 (超级列表框1.现行选中项, 4, “buff解析失败”)
|
||
' 返回 ()
|
||
.如果真结束
|
||
|
||
' ' 调试输出 (“decodeBuff----3333”, decodeBuff (返回buff))
|
||
|
||
|
||
' [0]┓
|
||
' [0](Short):200
|
||
' [1](Str=0):
|
||
' [2]┓
|
||
' [0]┓
|
||
' [0](Zero):0
|
||
' [1](Str=0):
|
||
' [2](Str=0):
|
||
' [3](Str=0):
|
||
' [4](Str=0):
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
' [7](Zero):0
|
||
' [0(1)]┛
|
||
' [1]┓
|
||
' [0](Int):5790642
|
||
' [1](Zero):0
|
||
' [2](Str=0):
|
||
' [3](Byte):10
|
||
' [4](Str=0):
|
||
' [5](Str=66):https://electric-shop.yaoguo.com/shop/file/Tk6u0cthPgJxJCneJfU.jpg
|
||
' [6](Str=35):精英宝典【得300积分】12月
|
||
' [7](Short):3000
|
||
' [8](Byte):1
|
||
' [9](Str=2):[]
|
||
' [10](Zero):0
|
||
' [11](Short):3000
|
||
' [12](Str=0):
|
||
' [13](Long):1733433379035
|
||
' [14](Zero):0
|
||
' [15](Zero):0
|
||
' [16](Zero):0
|
||
' [17](Zero):0
|
||
' [18](Str=10):hy-1347501
|
||
' [19](Zero):0
|
||
' [20](Zero):0
|
||
' [21](Int):87401
|
||
' [22](Zero):0
|
||
' [23](Zero):0
|
||
' [24](Zero):0
|
||
' [25](Zero):0
|
||
' [26](Byte):5
|
||
' [27](Byte):6
|
||
' [28](Byte):1
|
||
' [29](Int):4800542
|
||
' [30](Int):1171601
|
||
' [31](Str=0):
|
||
' [32](Long):1199648947730
|
||
' [33](Byte):4
|
||
' [34](Str=0):
|
||
' [0(1)]┛
|
||
' [2](Str=34):还剩23小时59分钟取消订单
|
||
' [4]┓
|
||
' [0](Str=12):和平精英
|
||
' [1](Str=0):
|
||
' [2](Str=0):
|
||
' [6](Byte):4
|
||
' [8](Zero):0
|
||
' [9](Str=0):
|
||
' [10](Short):9906
|
||
' [11](Str=0):
|
||
' [12](Str=0):
|
||
' [13](Short):3203
|
||
' [0(1)]┛
|
||
' [5](Str=0):
|
||
' [6]┓
|
||
' [0](Int):1347501
|
||
' [1](Str=0):
|
||
' [0(1)]┛
|
||
' [0(1)]┛
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
|
||
|
||
.子程序 _按钮_添加商品到列表_被单击
|
||
|
||
启动线程 (&商品加列表, , )
|
||
|
||
.子程序 商品加列表
|
||
.局部变量 局_商品名, 文本型
|
||
|
||
局_商品名 = 组合框1.取项目文本 (组合框1.现行选中项)
|
||
超级列表框1.置标题 (超级列表框1.现行选中项, 4, 局_商品名)
|
||
|
||
.子程序 _按钮_刷新商品_被单击
|
||
|
||
.如果真 (全直播间id = “”)
|
||
提示框 (“请先设置直播间商品id,再来操作”)
|
||
返回 ()
|
||
.如果真结束
|
||
启动线程 (&商品列表, , )
|
||
|
||
.子程序 商品列表
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 buff, 字节集
|
||
.局部变量 局_商品名称, 文本型
|
||
.局部变量 局_商品价格, 文本型
|
||
.局部变量 局_商品剩余, 文本型
|
||
.局部变量 arr0, 文本型, , "0"
|
||
.局部变量 p, 整数型
|
||
.局部变量 局_商品id, 文本型
|
||
.局部变量 type, 字节型
|
||
.局部变量 listnum, 整数型
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
.局部变量 bool, 逻辑型
|
||
|
||
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
|
||
.如果真 (局_Cookie = “”)
|
||
提示框 (“请再左边列表选择一条数据”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (生成查询商品剩余 (yyuid, 局_Cookie, #常量sid))) = 假)
|
||
提示框 (“wss发送失败!”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
提示框 (“buff解析失败!”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
组合框1.清空 ()
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
listnum = JCE.getLength (“0.2”)
|
||
.计次循环首 (listnum, p)
|
||
局_商品id = 到文本 (JCE.getShort (“0.2.0(” + 到文本 (p - 1) + “).0”))
|
||
局_商品名称 = UTF8到文本 (JCE.get (“0.2.0(” + 到文本 (p - 1) + “).2”))
|
||
局_商品剩余 = UTF8到文本 (JCE.get (“0.2.0(” + 到文本 (p - 1) + “).12”))
|
||
JCE.get (“0.2.0(” + 到文本 (p - 1) + “).13”, type)
|
||
.如果 (type = 1)
|
||
局_商品价格 = 到文本 (JCE.getShort (“0.2.0(” + 到文本 (p - 1) + “).13”))
|
||
.否则
|
||
局_商品价格 = 到文本 (JCE.getByte (“0.2.0(” + 到文本 (p - 1) + “).13”))
|
||
.如果结束
|
||
|
||
|
||
.如果真 (局_商品名称 ≠ “”)
|
||
组合框1.插入项目 (p - 1, 局_商品名称 + “一” + 局_商品价格 + “一” + 局_商品id + “一” + 局_商品剩余 + “%”, )
|
||
.如果真结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
组合框1.现行选中项 = 0
|
||
arr0 = 分割文本 (组合框1.取项目文本 (组合框1.现行选中项), “一”, )
|
||
.如果真 (取数组成员数 (arr0) < 4)
|
||
编辑框_剩余量.内容 = “NULL”
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
编辑框_剩余量.内容 = arr0 [4]
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “刷新商品完成”)
|
||
|
||
.子程序 _组合框1_列表项被选择
|
||
.局部变量 当前项目, 文本型
|
||
.局部变量 _F, 文本型, , "0"
|
||
|
||
当前项目 = 组合框1.取项目文本 (组合框1.现行选中项)
|
||
_F = 分割文本 (当前项目, “一”, )
|
||
.如果真 (取数组成员数 (_F) < 4)
|
||
编辑框_剩余量.内容 = “NULL”
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
编辑框_剩余量.内容 = _F [4]
|
||
|
||
.子程序 _一键查询兑换记录_被选择
|
||
.局部变量 p, 整数型
|
||
|
||
.计次循环首 (超级列表框1.取表项数 (), p)
|
||
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
|
||
启动线程 (&商品兑换记录, p - 1, )
|
||
程序_延时 (100)
|
||
.如果真结束
|
||
|
||
.计次循环尾 ()
|
||
|
||
.子程序 商品兑换记录
|
||
.参数 索引EX, 整数型
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 str, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 p, 整数型
|
||
.局部变量 listnum, 整数型
|
||
.局部变量 局_记录商品名, 文本型
|
||
.局部变量 arr0, 文本型, , "0"
|
||
.局部变量 合并str, 文本型
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
|
||
全读写锁.读进入 ()
|
||
局_Cookie = 超级列表框1.取标题 (索引EX, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
全读写锁.读退出 ()
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (索引EX, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (索引EX, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (索引EX, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
|
||
basestr = 生成查询兑换记录 (yyuid, 局_Cookie, #常量sid)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (索引EX, 1, “wss发送消息失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (索引EX, 1, “buff解析失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' 调试输出 (decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
listnum = JCE.getLength (“0.2”)
|
||
.计次循环首 (listnum, p)
|
||
局_记录商品名 = UTF8到文本 (JCE.get (“0.2.0(” + 到文本 (p - 1) + “).1”))
|
||
加入成员 (arr0, 局_记录商品名)
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
合并str = 数组_合并_快速 (arr0, “,”)
|
||
窗口_置状态信息 (索引EX, 1, “兑换数量:*” + 到文本 (取数组成员数 (arr0)) + “,” + 合并str)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
|
||
.子程序 保存兑换记录
|
||
.参数 参_str, 文本型
|
||
.局部变量 filename, 文本型
|
||
.局部变量 保存到文件, 鱼刺类_输出文本
|
||
|
||
filename = 时间_格式化 (取现行时间 (), “MM.dd-”) + “兑换记录”
|
||
保存到文件.写文本行 (参_str, filename, 取运行目录 () + “\”, “.txt”)
|
||
|
||
|
||
.子程序 _按钮_查询直播间id_被单击
|
||
.局部变量 str, 文本型
|
||
.局部变量 pid, 文本型
|
||
|
||
' str = 编码_Utf8到Ansi (网页_访问_对象 (“https://www.huya.com/” +))
|
||
' pid = 文本_取出中间文本 (str, “data-lp=” + #引号, #引号)
|
||
.' 如果 (pid ≠ “” 且 pid ≠ “0”)
|
||
' 全直播间id = pid
|
||
' 状态条1.置文本 (1, “当前直播间id:” + pid)
|
||
' 提示框 (“获取当前直播间id成功:” + pid)
|
||
|
||
|
||
.否则
|
||
' 提示框 (“获取直播间id失败!”)
|
||
.如果结束
|
||
|
||
|
||
|
||
.子程序 _按钮_设置商品pid_被单击
|
||
|
||
.如果真 (编辑框_直播间商品pid.内容 = “”)
|
||
提示框 (“请填写当前直播间商品pid”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
全直播间id = 删全部空 (编辑框_直播间商品pid.内容)
|
||
状态条1.置文本 (1, “当前直播间商品pid:” + 全直播间id)
|
||
提示框 (“设置当前直播间商品pid成功:” + 全直播间id)
|
||
|
||
|
||
.子程序 _查询当前数据领取记录_被选择
|
||
|
||
启动线程 (&领取记录, , )
|
||
|
||
.子程序 领取记录
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 局_昵称, 文本型
|
||
.局部变量 局_商品txt, 文本型
|
||
.局部变量 _F, 文本型, , "0"
|
||
.局部变量 局_连接ID, 长整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 listnum, 整数型
|
||
.局部变量 p, 整数型
|
||
.局部变量 局_领取记录, 文本型
|
||
.局部变量 arr0, 文本型, , "0"
|
||
.局部变量 合并str, 文本型
|
||
.局部变量 合并str2, 文本型
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
|
||
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
basestr = 生成查询领取记录 (yyuid, 局_Cookie)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送消息失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
listnum = JCE.getLength (“0.2”)
|
||
.计次循环首 (listnum, p)
|
||
局_领取记录 = UTF8到文本 (JCE.get (“0.2.0(” + 到文本 (p - 1) + “).3”))
|
||
.如果真 (寻找文本 (局_领取记录, “积分”, , 假) = -1)
|
||
加入成员 (arr0, 局_领取记录)
|
||
.如果真结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
合并str = 数组_合并_快速 (arr0, #换行符)
|
||
合并str2 = 数组_合并_快速 (arr0, “,”)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “领取记录数量:*” + 到文本 (取数组成员数 (arr0)) + “,” + 合并str2)
|
||
未闻花名_弹出提示 (窗口1, 合并str, 1, , , “领取记录:*” + 到文本 (取数组成员数 (arr0)), 10 × 1000, , , 超级列表框1.宽度 ÷ 3, , , , 真, 真, )
|
||
|
||
.子程序 _一键查询领取记录_被选择
|
||
.局部变量 p, 整数型
|
||
|
||
.计次循环首 (超级列表框1.取表项数 (), p)
|
||
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
|
||
启动线程 (&领取商品记录, p - 1, )
|
||
程序_延时 (100)
|
||
.如果真结束
|
||
|
||
.计次循环尾 ()
|
||
|
||
.子程序 领取商品记录
|
||
.参数 索引EX, 整数型
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 str, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 p, 整数型
|
||
.局部变量 listnum, 整数型
|
||
.局部变量 局_记录商品名, 文本型
|
||
.局部变量 arr0, 文本型, , "0"
|
||
.局部变量 合并str, 文本型
|
||
.局部变量 局_领取记录, 文本型
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
|
||
全读写锁.读进入 ()
|
||
局_Cookie = 超级列表框1.取标题 (索引EX, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
全读写锁.读退出 ()
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
|
||
窗口_置状态信息 (索引EX, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (索引EX, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (索引EX, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
basestr = 生成查询领取记录 (yyuid, 局_Cookie)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (索引EX, 1, “wss发送消息失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (索引EX, 1, “buff解析失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
listnum = JCE.getLength (“0.2”)
|
||
.计次循环首 (listnum, p)
|
||
局_领取记录 = UTF8到文本 (JCE.get (“0.2.0(” + 到文本 (p - 1) + “).3”))
|
||
.如果真 (寻找文本 (局_领取记录, “积分”, , 假) = -1)
|
||
加入成员 (arr0, 局_领取记录)
|
||
.如果真结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
合并str = 数组_合并_快速 (arr0, “,”)
|
||
窗口_置状态信息 (索引EX, 1, “领取记录数量:*” + 到文本 (取数组成员数 (arr0)) + “,” + 合并str)
|
||
|
||
.子程序 _按钮1_被单击
|
||
.局部变量 buf, 字节集
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
' 调试输出 (decodeBuff (编码_BASE64解码 (“CAACBgAdAAABDAYEdFJzcB0AAD8KAv/88r8WNuivpei0puWPt+acquWIsOWPr+aNoue7keaXtumXtO+8jOivt+S9v+eUqOWFtuS7lui0puWPtws=”)))
|
||
|
||
|
||
.子程序 _确认绑定账号_被选择
|
||
|
||
启动线程 (&确认绑定账号, , )
|
||
|
||
.子程序 确认绑定账号
|
||
.参数 索引EX, 整数型
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 str, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 p, 整数型
|
||
.局部变量 listnum, 整数型
|
||
.局部变量 局_记录商品名, 文本型
|
||
.局部变量 arr0, 文本型, , "0"
|
||
.局部变量 合并str, 文本型
|
||
.局部变量 局_领取记录, 文本型
|
||
.局部变量 存取表, , , , <!!!>
|
||
.局部变量 jsonstr, 文本型
|
||
.局部变量 jyjson, 类_json
|
||
.局部变量 局_状态s, 文本型
|
||
.局部变量 返回文本, 文本型
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
|
||
局_Cookie = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
basestr = 生成确认绑定 (yyuid, 局_Cookie)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “wss发送消息失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “buff解析失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
' 失败1: [0](Byte):4
|
||
' [1](SimpleList=137):00 00 00 89 10 03 2C 3C 40 01 56 08 77 65 62 41 63 74 55 49 66 15 63 6F 6E 66 69 72 6D 42 69 6E 64 41 63 74 41 63 63 6F 75 6E 74 7D 00 00 53 08 00 02 06 00 1D 00 00 01 0C 06 04 74 52 73 70 1D 00 00 3F 0A 02 FF FC F2 BF 16 36 E8 AF A5 E8 B4 A6 E5 8F B7 E6 9C AA E5 88 B0 E5 8F AF E6 8D A2 E7 BB 91 E6 97 B6 E9 97 B4 EF BC 8C E8 AF B7 E4 BD BF E7 94 A8 E5 85 B6 E4 BB 96 E8 B4 A6 E5 8F B7 0B 81 13 88 98 0C A8 0C
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
' ==========================================
|
||
' 失败2:“
|
||
' [0]┓
|
||
' [0](Short):-4002
|
||
' [1](Str=15):未绑定账号
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=18):ffbe71a01148094128
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
|
||
|
||
' ==========================================
|
||
|
||
' 成功:[0]┓
|
||
' [0](Short):200
|
||
' [1](Str=0):
|
||
' [0(1)]┛
|
||
' [8](Short):5000
|
||
' [9](Map,0):
|
||
' [10](Map,0):
|
||
' [2](Zero):0
|
||
' [3](Str=0):
|
||
' [4](Zero):0
|
||
' [5](Zero):0
|
||
' [6](Str=0):
|
||
|
||
|
||
' '调试输出 (decodeBuff (返回buff))
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
返回文本 = 到文本 (JCE.getShort (“0.0”))
|
||
|
||
.如果真 (返回文本 = “200”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “确认绑定成功”)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (返回文本 = “-4002”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, “未绑定账号”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
虎牙解析 (JCE.get (“1”), 存取表)
|
||
jsonstr = ??? () ' <!!!>
|
||
调试输出 (“jsonstr---”, jsonstr)
|
||
jyjson.清除 ()
|
||
jyjson.解析 (jsonstr)
|
||
局_状态s = jyjson.取通用属性 (“['6.0.1']”)
|
||
窗口_置状态信息 (超级列表框1.现行选中项, 1, 局_状态s)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
|
||
' ‘{"6.0":"tRsp","0":"137","1":"3","2":"(Zero):0","3":"(Zero):0","4":"1","5":"webActUI","6.0.0":"-200001","6":"confirmBindActAccount","6.0.1":"该账号未到可换绑时间,请使用其他账号","8":"5000","9":"","10":""}
|
||
|
||
|
||
|
||
|
||
.子程序 _组合框_wss_列表项被选择
|
||
|
||
全wss_url = 选择 (组合框_wss.现行选中项 = 0, #常量wssurl, #常量wssurl2)
|
||
' 调试输出 (全wss_url)
|
||
|
||
|
||
.子程序 _一键查询换绑时间_被选择
|
||
.局部变量 p, 整数型
|
||
|
||
.计次循环首 (超级列表框1.取表项数 (), p)
|
||
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
|
||
启动线程 (&查询换绑时间, p - 1, )
|
||
程序_延时 (10)
|
||
.如果真结束
|
||
|
||
.计次循环尾 ()
|
||
|
||
.子程序 查询换绑时间
|
||
.参数 索引EX, 整数型
|
||
.局部变量 局_Cookie, 文本型
|
||
.局部变量 yyuid, 文本型
|
||
.局部变量 str, 文本型
|
||
.局部变量 局_连接ID, 整数型
|
||
.局部变量 err0, 文本型
|
||
.局部变量 basestr, 文本型
|
||
.局部变量 返回数据指针, 长整数型
|
||
.局部变量 返回name, 文本型
|
||
.局部变量 bool, 逻辑型
|
||
.局部变量 返回jsonstr, 文本型
|
||
.局部变量 JSON, 类_json
|
||
.局部变量 返回buff, 字节集
|
||
.局部变量 buff, 字节集
|
||
.局部变量 JCE, 类_JCE解包
|
||
.局部变量 返回IP, 文本型
|
||
.局部变量 返回端口, 整数型
|
||
.局部变量 i, 整数型
|
||
.局部变量 D理类型, 整数型
|
||
.局部变量 局_换绑时间, 文本型
|
||
|
||
全读写锁.读进入 ()
|
||
局_Cookie = 超级列表框1.取标题 (索引EX, 1)
|
||
yyuid = 文本_取右边 (删全部空 (局_Cookie), “yyuid=”)
|
||
.如果真 (取文本长度 (yyuid) ≠ 13)
|
||
yyuid = 文本_取出中间文本 (删全部空 (局_Cookie), “yyuid=”, “;”)
|
||
.如果真结束
|
||
|
||
全读写锁.读退出 ()
|
||
.计次循环首 (10, i)
|
||
.如果 (选择框_D理.选中 = 真)
|
||
D理类型 = 2
|
||
GetIP (返回IP, 返回端口)
|
||
.否则
|
||
D理类型 = 0
|
||
.如果结束
|
||
|
||
窗口_置状态信息 (索引EX, 1, 返回IP + “->连接【” + 到文本 (i) + “】”)
|
||
局_连接ID = wss_连接 (全wss_url, , D理类型, 返回IP, 返回端口, , , , , &wb消息到达, &wb连接成功, &wb连接断开)
|
||
.如果 (局_连接ID > 0)
|
||
跳出循环 ()
|
||
|
||
.否则
|
||
窗口_置状态信息 (索引EX, 1, “代理失败,正在重连...”)
|
||
.如果结束
|
||
|
||
系统_处理事件 ()
|
||
.计次循环尾 ()
|
||
.如果真 (局_连接ID = 0)
|
||
窗口_置状态信息 (索引EX, 1, “wss连接失败”)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
|
||
basestr = 生成查询游戏名 (yyuid, 局_Cookie, “9504”)
|
||
.如果真 (WS发送bin (局_连接ID, 编码_BASE64解码 (basestr)) = 假)
|
||
窗口_置状态信息 (索引EX, 1, “wss发送消息失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
.如果真 (哈希取出数据指针_buff解析 (局_连接ID, 返回buff) = 假)
|
||
窗口_置状态信息 (索引EX, 1, “buff解析失败”)
|
||
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
' 调试输出 (取程序名称 (1), decodeBuff (返回buff))
|
||
|
||
buff = decodeBuff2 (返回buff)
|
||
JCE.set (buff)
|
||
.如果真 (JCE.getShort (“0.0”) ≠ 200)
|
||
窗口_置状态信息 (索引EX, 1, “查询昵称失败”)
|
||
wss_断开某个连接 (局_连接ID, 真)
|
||
返回 ()
|
||
.如果真结束
|
||
|
||
返回name = UTF8到文本 (JCE.get (“0.2.4.1”))
|
||
.如果 (返回name ≠ “”)
|
||
局_换绑时间 = 时间_时间戳转文本 (到文本 (JCE.getInt (“0.2.5”)))
|
||
窗口_置信息2 (索引EX, 1, 返回name)
|
||
窗口_置状态信息 (索引EX, 1, “换绑时间:” + 局_换绑时间)
|
||
|
||
.否则
|
||
窗口_置信息2 (索引EX, 1, “NULL”)
|
||
窗口_置状态信息 (索引EX, 1, “操作完成”)
|
||
.如果结束
|
||
|
||
|
||
wss_断开某个连接 (局_连接ID, 真)
|