Files
live-hub-py/e语言/douyu/皮肤与充值/和平小店活动.txt
T

2163 lines
110 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.版本 2
.支持库 edroptarget
.支持库 iext
.支持库 EThread
.支持库 spec
.程序集 窗口程序集_窗口1
.程序集变量 集句柄, 整数型
.程序集变量 工作中, 逻辑型
.程序集变量 工作线程池EX, 鱼刺类_线程池Ex
.子程序 _窗口1_创建完毕
' 网络版授权验证 (真, “f28ba622a3ef3abf0a419f5cd6b548396dbcd7bd0d25fc815b6256be1db23421d3a329637cdb54f61e492184d1602670dff739ec7bd2847d67b98f0bff373646”)
未闻花名_皮肤加载 (11, 真, , , , 真, 真, 窗口1.取窗口句柄 ())
.如果真 (信息框 (“此程序仅用于学习、技术交流,请勿用于非法!如出现任何问题后果自负!” + #换行符 + “ ”, #确认取消钮, “免责声明!!!”, ) = #取消钮)
结束 ()
.如果真结束
全目录临时 = 取运行目录 () + “\XYZ\临时”
全目录状态 = 取运行目录 () + “\XYZ\数据状态”
全PIC = 取运行目录 () + “\XYZ\生成订单图片”
.如果真 (文件是否存在 (全目录临时) = 假)
目录_创建 (全目录临时)
.如果真结束
.如果真 (文件是否存在 (全目录状态) = 假)
目录_创建 (全目录状态)
.如果真结束
.如果真 (文件是否存在 (全PIC) = 假)
目录_创建 (全PIC)
.如果真结束
' 组合框1.发送信息 (5889, 6, 0)
拖放对象1.注册拖放控件 (超级列表框1.取窗口句柄 ())
状态条1.置文本 (0, “双击列表指定数据行,查询账号详情....”)
数据写入列表 ()
启动线程 (&商品列表, , )
Gdip开始 ()
连续赋值 (假, 选择框_定时抢购.选中, 选择框_心跳.选中)
组合框1.发送信息 (5889, 7, 0)
组合框1.发送信息 (352, 350, 0) ' 设置下拉框宽度
.子程序 _超级列表框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”
删除文件 (局_保存目录)
.子程序 _按钮_刷新商品_被单击
启动线程 (&商品列表, , )
.子程序 商品列表
.局部变量 str, 文本型
.局部变量 yyjson, json对象
.局部变量 N, 整数型
.局部变量 sGoodsName, 文本型
.局部变量 commodityId, 文本型
.局部变量 列表NUM, 整数型
.局部变量 局_文本, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 局_Cookie, 文本型
.局部变量 acf_uid, 文本型
.局部变量 acf_stk, 文本型
.局部变量 acf_ltkid, 文本型
.局部变量 局_token, 文本型
.局部变量 txurlH5, 文本型
.局部变量 局_actId参, 文本型
.局部变量 str2, 文本型
.局部变量 局_商品价格, 文本型
.局部变量 局_商品id, 文本型
.局部变量 局_商品名称, 文本型
.局部变量 局_iGoodsId, 文本型
.局部变量 局_商品图片, 文本型
.局部变量 str3, 文本型
.局部变量 jsonstr, 文本型
.局部变量 userid, 文本型
.局部变量 roleid, 文本型
.局部变量 recommend, 文本型
.局部变量 局_商品剩余, 文本型
.局部变量 arr0, 文本型, , "0"
.局部变量 i, 整数型
.局部变量 局_商品组, 文本型, , "0"
.局部变量 page_begin, 整数型
.局部变量 h, 整数型
.局部变量 局_成员数, 整数型
局_文本 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
局_F = 分割文本 (局_文本, “----”, )
.如果真 (取数组成员数 (局_F) < 3)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “Cookie格式错误”)
返回 ()
.如果真结束
局_Cookie 局_F [3]
acf_uid 网页_取单条Cookie (局_Cookie, “acf_uid”, 真)
acf_stk 网页_取单条Cookie (局_Cookie, “acf_stk”, 真)
acf_ltkid 网页_取单条Cookie (局_Cookie, “acf_ltkid”, 真)
局_token acf_uid “_1_” acf_stk “_0_” acf_ltkid
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/carnival/nc/txEmbed/getIframeUrl?actAlias=20251203DSRGL&rid=9263298&token=” 局_token, , , , , “Host: www.douyu.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “Accept: application/json, text/plain, */*” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; HBN-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Mobile Safari/537.36, Douyu_Android” #换行符 “X-Requested-With: XMLHttpRequest” #换行符 “Sec-Fetch-Site: same-origin” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://www.douyu.com/topic/h5/hpxd01”))
yyjson.清空 ()
yyjson.解析 (str)
txurlH5 yyjson.取文本 (“data/txurlH5”)
.如果真 (txurlH5 “”)
状态条1.置文本 (0, “登录失败:” + str)
返回 ()
.如果真结束
调试输出 (“txurlH5---”, txurlH5)
局_actId参 文本_取右边 (txurlH5, “?”)
' 获取openid
str3 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/igw/live?acctype=livelink&_jsvar=info&_service=other.livelink.getrole.out&_biz_code=cjm&_act_id=44042&_app_id=2123&” 局_actId参, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; HBN-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Mobile Safari/537.36, Douyu_Android” #换行符 “Accept: */*” #换行符 “X-Requested-With: air.tv.douyu.android” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
调试输出 (str3)
jsonstr 文本_取出中间文本 (str3, “var info=”, “;”)
.如果真 (jsonstr “”)
状态条1.置文本 (0, “获取openid失败:” str)
返回 ()
.如果真结束
yyjson.清空 ()
yyjson.解析 (jsonstr)
userid yyjson.取文本 (“gameOpenId”)
roleid yyjson.取文本 (“roleId”)
.如果真 (userid “” 且 roleid “”)
状态条1.置文本 (0, “获取openid失败:” str3)
返回 ()
.如果真结束
' https://app.daoju.qq.com/act/a20251030cjmshop/index.html?actId=15218&appId=bp_cf&gameId=cjm&livePlatId=douyu&code=1IlzKlwbruO9ebjOCTMocQlxydv5IzacCeDpk3yUsjvt0QUbMHzExlC5jMhW8lRQGvFsfXPSJx00owM96v42O7Jil%2BMIKcriMarxWZSpR1OaS%2F9PuUvjI3vgXOl0psp3vro4FzCBHzSvbPEqNq%2Bb7%2FdhmTudAc3ZDnkHm4tBSpI%3D&timestamp=1767251223&v=2.0&sig=472980670a86722fb1e8a19133e42b13
' 调试输出 (“局_参1---”, 局_actId参)
.如果真 (组合框_取商品模式.现行选中项 = 0) ' ’全部
page_begin 0
组合框1.清空 ()
.计次循环首 (2, i)
str2 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/v3/recommend_live/common?_service=act.recommend.query&_biz_code=cjm&_app_id=2123&app_id=2123&page_begin=” 到文本 (page_begin) “&page_num=” 到文本 (i) “&page_size=200&fields=iRelationGoodsid,dtModifyTime,sBuyLimitInfo,sGoodsWaterMark,dtShowBeginTime,dtShowEndTime,iSort,iGoodsId,sGoodsName,iJbPrice,iJbOrgPrice,iJb2Price,iJb2OrgPrice,iPrice,iOrgPrice,sGoodsPic,sGoodsDesc,sPayType,dtBeginTime,dtEndTime,iActionId,sExtShowInfo,sExtInfo,iCategoryId,dtRushBegin,dtRushEnd&actionFields=iActionId,sActionName,dtBeginTime,dtEndTime&order_by=dtShowBeginTime&orderColumnBatch=[{%22key%22:%22iSort%22,%22sort%22:%22desc%22},{%22key%22:%22dtShowBeginTime%22,%22sort%22:%22desc%22},{%22key%22:%22iGoodsId%22,%22sort%22:%22asc%22}]&desc=1&_act_id=44042&actid=44042&excludeFields=iCategoryId_76&userid=” userid “&roleid=” roleid “&area=1&areaid=1&need_limit=1”, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; HBN-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Mobile Safari/537.36, Douyu_Android” #换行符 “Accept: */*” #换行符 “X-Requested-With: air.tv.douyu.android” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
recommend 文本_取右边 (str2, “var recommend=”)
.如果真 (recommend “”)
状态条1.置文本 (0, “读取商品失败:” + str2)
返回 ()
.如果真结束
yyjson.清空 ()
yyjson.解析 (recommend)
状态条1.置文本 (0, “正在刷新列表商品....”)
局_成员数 yyjson.取成员数 (“data/client_data/itemsdetail”)
.计次循环首 (局_成员数, N)
局_商品名称 yyjson.取文本 (“data/client_data/itemsdetail/” 到文本 (N 1) “/sGoodsName”)
局_商品价格 yyjson.取文本 (“data/client_data/itemsdetail/” 到文本 (N 1) “/iPrice”)
局_iGoodsId yyjson.取文本 (“data/client_data/itemsdetail/” 到文本 (N 1) “/iGoodsId”)
局_商品图片 yyjson.取文本 (“data/client_data/itemsdetail/” 到文本 (N 1) “/sGoodsPic”)
局_商品剩余 yyjson.取文本 (“data/client_data/itemsdetail/” 到文本 (N 1) “/iGoodsLeft”)
加入成员 (局_商品组, 局_商品名称 + “一” + 局_商品价格 + “一” + 局_iGoodsId + “一” + 局_商品图片 + “一” + 局_商品剩余)
系统_处理事件 ()
.计次循环尾 ()
_原子赋值 (page_begin, 200)
.计次循环尾 ()
.计次循环首 (取数组成员数 (局_商品组), h)
组合框1.插入项目 (h 1, 局_商品组 [h], )
.计次循环尾 ()
.如果真结束
.如果真 (组合框_取商品模式.现行选中项 = 1) ' '热门
str2 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/v3/recommend_live/common?_service=act.recommend.query&_biz_code=cjm&_app_id=2123&app_id=2123&page_begin=0&page_num=1&page_size=200&fields=iRelationGoodsid,dtModifyTime,sBuyLimitInfo,sGoodsWaterMark,dtShowBeginTime,dtShowEndTime,iSort,iGoodsId,sGoodsName,iJbPrice,iJbOrgPrice,iJb2Price,iJb2OrgPrice,iPrice,iOrgPrice,sGoodsPic,sGoodsDesc,sPayType,dtBeginTime,dtEndTime,iActionId,sExtShowInfo,sExtInfo,iCategoryId,dtRushBegin,dtRushEnd&actionFields=iActionId,sActionName,dtBeginTime,dtEndTime&order_by=dtShowBeginTime&orderColumnBatch=[{%22key%22:%22iSort%22,%22sort%22:%22desc%22},{%22key%22:%22dtShowBeginTime%22,%22sort%22:%22desc%22},{%22key%22:%22iGoodsId%22,%22sort%22:%22asc%22}]&desc=1&_act_id=44042&actid=44042&category=76&userid=” userid “&roleid=” roleid “&area=1&areaid=1&need_limit=1&isNeedCollect=1”, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; HBN-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Mobile Safari/537.36, Douyu_Android” #换行符 “Accept: */*” #换行符 “X-Requested-With: air.tv.douyu.android” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
recommend 文本_取右边 (str2, “var recommend=”)
.如果真 (recommend “”)
状态条1.置文本 (0, “读取商品失败:” + str2)
返回 ()
.如果真结束
yyjson.清空 ()
yyjson.解析 (recommend)
组合框1.清空 ()
状态条1.置文本 (0, “正在刷新列表商品....”)
.计次循环首 (yyjson.取成员数 (“data/client_data/itemsdetail”), N)
局_商品名称 yyjson.取文本 (“data/client_data/itemsdetail/” 到文本 (N 1) “/sGoodsName”)
局_商品价格 yyjson.取文本 (“data/client_data/itemsdetail/” 到文本 (N 1) “/iPrice”)
局_iGoodsId yyjson.取文本 (“data/client_data/itemsdetail/” 到文本 (N 1) “/iGoodsId”)
局_商品图片 yyjson.取文本 (“data/client_data/itemsdetail/” 到文本 (N 1) “/sGoodsPic”)
局_商品剩余 yyjson.取文本 (“data/client_data/itemsdetail/” 到文本 (N 1) “/iGoodsLeft”)
组合框1.插入项目 (N - 1, 局_商品名称 + “一” + 局_商品价格 + “一” + 局_iGoodsId + “一” + 局_商品图片 + “一” + 局_商品剩余, )
系统_处理事件 ()
.计次循环尾 ()
.如果真结束
状态条1.置文本 (1, “载入商品【” + 到文本 (组合框1.取项目数 ()) + “】个”)
组合框1.现行选中项 0
arr0 = 分割文本 (组合框1.取项目文本 (组合框1.现行选中项), “一”, )
.如果真 (取数组成员数 (arr0) 5)
编辑框_剩余量.内容 = “NULL”
返回 ()
.如果真结束
编辑框_剩余量.内容 arr0 [5]
状态条1.置文本 (0, “列表商品刷新完成”)
.子程序 _获取绑定二维码_被选择
启动线程 (&取APP二维码, , )
.子程序 取APP二维码, , , 安卓APP7.9.2
.局部变量 ctn1, 文本型
.局部变量 返回CK, 文本型
.局部变量 局ID, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 yyjson, json对象
.局部变量 绑定url, 文本型
.局部变量 局_文本, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 绑定游戏昵称, 文本型
.局部变量 局_斗鱼昵称, 文本型
.局部变量 图片句柄, 整数型
.局部变量 局_token, 文本型
.局部变量 acf_uid, 文本型
.局部变量 acf_stk, 文本型
.局部变量 acf_ltkid, 文本型
.局部变量 res, 文本型
局_文本 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
局_F = 分割文本 (局_文本, “----”, )
.如果真 (取数组成员数 (局_F) < 3)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “Cookie格式错误”)
返回 ()
.如果真结束
' ' 我心飞扬865----ojc97176----acf_auth=6a54%2FUwzcCCwyTxcHsebeOkzaW5qv11%2BhsUsj7qcx3tAqzIDUp0A97bdjsSWltrQsSQUw0Ao6y%2Fz0O5VefY6ZWZZNkwcA8DqPqR9ap5RusZVUcA3OCMIYbs; acf_jwt_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJtZDUifQ.eyJ1aWQiOjQ4MTc0MjE2MCwiY3QiOjAsInN1YiI6InN0IiwiYXVkIjpbImR5Iiwibm9uZSJdLCJiaXoiOjEsImx0a2lkIjo0ODkzODE0MCwic3RrIjoiNmRmYjAxMmE2NzdiOTA1ZSIsImV4cCI6MTc0MDU2OTIyNCwiaWF0IjoxNzM5OTY0NDI0LCJrZXkiOiJkeS1qd3QtbWQ1In0.ZjUzNGMyZTdhOTkwNDhhZDZlOTgwMzY5OTc2MmIwZjU; acf_dmjwt_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJtZDUifQ.eyJ1aWQiOjQ4MTc0MjE2MCwiY3QiOjAsInN1YiI6InN0IiwiYXVkIjpbImRtIiwibm9uZSJdLCJiaXoiOjEsImx0a2lkIjo0ODkzODE0MCwic3RrIjoiNmRmYjAxMmE2NzdiOTA1ZSIsImV4cCI6MTc0MDU2OTIyNCwiaWF0IjoxNzM5OTY0NDI0LCJrZXkiOiJkeS1qd3QtbWQ1In0.MmZlZjJiNTZiY2Y0NDY2N2Q5ZWIyMDBjM2IxZjA2OWU; dy_auth=005dgF8Td6gZT5aLGJtN0dGrzyvLnwhN2WlE0kwo78vIJ1jnidFYYzDMhqhj0mP62xKyVJgnUaoiLcR6E9yKaAjpxCuPLTosuGmrph2PSxP4GLIMLXYYuIA; wan_auth37wan=fb8d1222824721GYivbkydjCdsd5zUN5pWVkQgCnC66wqLrEKOaDElk4sH8xM60C767NEMu4jifK2tRTf4u13gZQqIz9vPJt3RwR8xCXpR%2BYkcAtYiE; acf_uid=481742160; acf_username=481742160; acf_nickname=%E6%88%91%E5%BF%83%E9%A3%9E%E6%89%AC865; acf_own_room=0; acf_groupid=1; acf_phonestatus=1; acf_avatar=https%3A%2F%2Fapic.douyucdn.cn%2Fupload%2Favatar_v3%2F202303%2F72b0b60566bd450cbbf6974fa7139e2a_; acf_ct=0; acf_ltkid=48938140; acf_biz=1; acf_stk=6dfb012a677b905e
' 局_斗鱼昵称 局_F [1]
局_Cookie 局_F [3]
acf_uid 网页_取单条Cookie (局_Cookie, “acf_uid”, 真)
acf_stk 网页_取单条Cookie (局_Cookie, “acf_stk”, 真)
acf_ltkid 网页_取单条Cookie (局_Cookie, “acf_ltkid”, 真)
局_token acf_uid “_1_” acf_stk “_0_” acf_ltkid
' 调试输出 (“token=” 局_token “&uid=” acf_uid “&client=mobile&actAlias=20241125NXFQY”)
res 编码_Utf8到Ansi (网页_访问_对象 (“https://apiv2.douyucdn.cn/japi/carnivalApi/tencent/roleParam?client_sys=android”, 1, “token=” 局_token “&uid=” acf_uid “&client=mobile&actAlias=20241125NXFQY”, , , “User-Device: MDExZTUxMzEyYmYxMmY5MmQ3YmY1M2M4MDA3MDcxMTF8djcuOS4y” #换行符 “aid: android1” #换行符 “User-Agent: android/7.9.2 (android 9; ; M973Q)” #换行符 “Accept-Language: zh-CN” #换行符 “Content-Type: application/x-www-form-urlencoded” #换行符 “Content-Length: 97” #换行符 “Host: apiv2.douyucdn.cn” #换行符 “Connection: Keep-Alive”))
' ’调试输出 (res)
yyjson.清空 ()
yyjson.解析 (res)
绑定url yyjson.取文本 (“data/url”)
局_斗鱼昵称 编码_URL解码_JS (yyjson.取文本 (“data/queryParams/nickName”), 1)
.如果真 (绑定url ≠ “”)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “绑定二维码已生成”)
图片框1.图片 = 文本生成二维码图片 (绑定url, , , , , 10)
状态条1.置文本 (1, “斗鱼名:” + 局_斗鱼昵称)
绑定游戏昵称 = 检测是否绑定游戏账号 (局_token)
列表_置游戏昵称 (超级列表框1.现行选中项, 1, 绑定游戏昵称)
' 检测账号 (局_Cookie, ctn2)
.如果真结束
.子程序 和平集市登录XX, 逻辑型, , rid=9263298是房间号
.参数 参_token, 文本型
.参数 返回err0, 文本型, 参考
.局部变量 str, 文本型
.局部变量 yyjson, json对象
.局部变量 txurlH5, 文本型
.局部变量 返回状态码, 整数型
' 460636414_12_db61a0de7b339dcb_1_96359401
.计次循环首 (5, )
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/carnival/nc/txEmbed/getIframeUrl?actAlias=20241125NXFQY&rid=9263298&token=” 参_token, , , , , “Host: www.douyu.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “Accept: application/json, text/plain, */*” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 9; M973Q Build/PQ3A.190605.02140946; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36, Douyu_Android” #换行符 “X-Requested-With: XMLHttpRequest” #换行符 “Sec-Fetch-Site: same-origin” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://www.douyu.com/topic/h5/2025hpjs”, , 返回状态码, , , ))
' 调试输出 (取程序名称 (1), “=============”, str)
.如果 (返回状态码 = 200)
跳出循环 ()
.否则
' 这里再去IP
.如果结束
.计次循环尾 ()
yyjson.清空 ()
yyjson.解析 (str)
' sAnchorId = 是房间号
txurlH5 yyjson.取文本 (“data/txurlH5”) “&sAnchorId=9263298&ch=”
.如果真 (txurlH5 ≠ “”)
返回err0 txurlH5
返回 (真)
.如果真结束
返回err0 str
返回 (假)
.子程序 检测账号, , , 通过兑换检测账号
.参数 参_cook, 文本型
.参数 参_ctn, 文本型
.局部变量 局_文本, 文本型
.局部变量 ctnEX, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 局_Cookie, 文本型
.局部变量 str, 文本型
.局部变量 局_xy, 文本型
.局部变量 商品表, 文本型
.局部变量 商品组, 文本型, , "0"
.局部变量 要兑换的商品名称, 文本型
.局部变量 要兑换的商品价格, 文本型
.局部变量 要兑换的商品ID, 文本型
.局部变量 roleName, 文本型
.局部变量 str2, 文本型
.局部变量 局_bin, 字节集
.局部变量 生成者, 文本型
.局部变量 优化价格, 文本型
.局部变量 areaName, 文本型
.局部变量 platName, 文本型
.局部变量 msg, 文本型
商品表 = 组合框1.取项目文本 (组合框1.现行选中项)
商品组 = 分割文本 (商品表, “一”, )
.如果真 (取数组成员数 (商品组) < 3)
状态条1.置文本 (0, “商品格式错误x”)
返回 ()
.如果真结束
' 要兑换的商品名称 = 商品组 [1]
' 要兑换的商品价格 商品组 [2]nZALooPn0kZPW&ditchname=pass0&roomId=999
要兑换的商品ID 商品组 [3]
窗口_置状态信息 (超级列表框1.现行选中项, 2, “检测账号...”)
状态条1.置文本 (0, “正在检测账号-> ”)
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/wgapi/ordnc/activity/peace/exchange”, 1, “manualID=nZyNEyQwpP6bX&rid=999&commodityID=” 要兑换的商品ID “&token%5Berror%5D%5Bcode%5D=-1&token%5Bdata%5D=&ctn=” 参_ctn, 参_cook “; acf_ccn=” 参_ctn, , #常量7, 局_xy))
' 调试输出 (str)
状态条1.置文本 (0, “检测账号:” + str)
.如果真 (寻找文本 (str, “需要开通精英手册”, , 假) ≠ -1 或 寻找文本 (str, “服务器繁忙”, , 假) ≠ -1 或 寻找文本 (str, “不在时间范围内”, , 假) ≠ -1)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “账号有效”)
' str2 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/carnivalApi/tencent/bindInfo?actAlias=20220616CJSZU”, , , 参_cook, , #常量3))
返回 ()
.如果真结束
' msg 文本_取出中间文本 (str, “msg” + #引号 “:” + #引号, #引号)
.' 如果真 (msg “”)
' 窗口_置状态信息 (超级列表框1.现行选中项, 2, “账号异常”)
' 返回 ()
.如果真结束
窗口_置状态信息 (超级列表框1.现行选中项, 2, “账号异常”)
.子程序 检测是否绑定游戏账号, 文本型
.参数 参_token, 文本型
.局部变量 str, 文本型
.局部变量 roleName, 文本型
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/carnivalApi/v2/tencent/bindInfo?actAlias=20241125NXFQY&token=” 参_token, , , , , “Host: www.douyu.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “Accept: application/json, text/plain, */*” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 9; M973Q Build/PQ3A.190605.02140946; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36, Douyu_Android” #换行符 “X-Requested-With: air.tv.douyu.android” #换行符 “Sec-Fetch-Site: same-origin” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://www.douyu.com/topic/h5/2025hpjs”))
状态条1.置文本 (0, “查绑游戏名-> ” str)
roleName 文本_取出中间文本 (str, “roleName” #引号 “:” #引号, #引号)
.如果真 (roleName ≠ “”)
返回 (roleName)
.如果真结束
返回 (“null”)
' {"error":0,"msg":"success","data":{"bindAccount":1,"bindRole":1,"bindAct":1,"needBindRole":null,"txAct":{"txActId":2811,"gameId":"cjm","gameName":"和平精英","bindType":1},"gameAccount":{"bindType":2,"type":"","faceuri":"https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTI4cIOxb4f7vpSkqYCIIvY1EJTgkhS0ZhVzzJSl2LzDpUzVBJKiaDjvuzpdS6cadAvA6bnrYwZ7jlQ/132","nick":"zicoo"},"gameRole":{"roleName":"白菜被拱了呀","areaName":"微信","platName":"安卓(android)","partitionName":""},"isGranted":null,"gameAuthScene":null,"canChangeRole":0,"changeRoleWaitTime":2490528},"redirectUrl":null}
' {"error":0,"msg":"success","data":{"bindAccount":0,"bindRole":0,"bindAct":0,"needBindRole":1,"needBindAct":0,"txAct":{"txActId":9873,"gameId":"cjm","gameName":"和平精英","bindType":0,"channelType":3},"gameAccount":{"bindType":0,"type":"","faceuri":"","nick":""},"gameRole":{"roleName":"","areaName":"","platName":"","partitionName":""},"isGranted":0,"gameAuthScene":null,"privacyAuthScene":"","canChangeRole":null,"changeRoleWaitTime":null,"changeRoleConfig":null},"redirectUrl":null}
.子程序 _阵营预测确认绑定_被选择
启动线程 (&完成阵营预测绑定, , )
.子程序 完成阵营预测绑定
.局部变量 str2, 文本型
.局部变量 cvl_csrf_token, 文本型
.局部变量 局_文本, 文本型
.局部变量 str, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 返回CK, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 绑定游戏昵称, 文本型
.局部变量 msg, 文本型
.局部变量 ctnEX, 文本型
.局部变量 返回游戏name, 文本型
.局部变量 str_0, 文本型
.局部变量 roleName, 文本型
.局部变量 nick, 文本型
.局部变量 areaName, 文本型
.局部变量 platName, 文本型
.局部变量 acf_uid, 文本型
.局部变量 acf_stk, 文本型
.局部变量 acf_ltkid, 文本型
.局部变量 局_token, 文本型
.局部变量 yyjson, json对象
局_文本 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
ctnEX = 超级列表框1.取标题 (超级列表框1.现行选中项, 5)
局_F = 分割文本 (局_文本, “----”, )
.如果真 (取数组成员数 (局_F) < 3)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “Cookie格式错误”)
返回 ()
.如果真结束
局_Cookie 局_F [3]
acf_uid 网页_取单条Cookie (局_Cookie, “acf_uid”, 真)
acf_stk 网页_取单条Cookie (局_Cookie, “acf_stk”, 真)
acf_ltkid 网页_取单条Cookie (局_Cookie, “acf_ltkid”, 真)
局_token acf_uid “_1_” acf_stk “_0_” acf_ltkid
str 编码_Utf8到Ansi (网页_访问_对象 (“https://apiv2.douyucdn.cn/japi/carnivalApi/v2/tencent/bindInfo?actAlias=20251203VKZBM&client_sys=android”, , , , , “Host: apiv2.douyucdn.cn” #换行符 “token: ” + 局_token #换行符 “Connection: Keep-Alive” #换行符 “User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36”, , , 真))
yyjson.清空 ()
yyjson.解析 (str)
roleName yyjson.取文本 (“data/gameRole/roleName”)
nick yyjson.取文本 (“data/gameAccount/nick”)
areaName yyjson.取文本 (“data/gameRole/areaName”)
platName yyjson.取文本 (“data/gameRole/platName”)
标签_状态.标题 = “昵称:” + nick + #换行符 + “游戏名称:” + roleName + #换行符 “平台:” + areaName + #换行符 “手机:” platName
.子程序 精英二维码30
.参数 参_ctn, 文本型
.参数 参_Cookie, 文本型
.局部变量 str, 文本型
.局部变量 str2, 文本型
.局部变量 yyjson, json对象
.局部变量 付款30链接, 文本型
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/oms/web/peace/item”, 1, “{” #引号 “itemId” + #引号 + “:1,” + #引号 + “ctn” + #引号 + “:” + #引号 + 参_ctn + #引号 “}”, 参_Cookie “; ” “acf_ccn=” 参_ctn, , #常量4))
状态条1.置文本 (0, “取acf_ccn-> ” str)
.如果真 (寻找文本 (str, “error” #引号 “:0”, , 假) ≠ -1)
str2 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/oms/web/pay/getQrCode”, 1, “{” #引号 “bizType” + #引号 + “:” + #引号 + “peace” + #引号 + “,” + #引号 + “biz” + #引号 + “:{” + #引号 + “actAlias” + #引号 “:” #引号 “20250213NQCYX” #引号 “,” #引号 + “amount” #引号 + “:3000,” #引号 + “roomId” #引号 “:9263298},” #引号 “ctn” + #引号 + “:” + #引号 + 参_ctn + #引号 “}”, 参_Cookie “; ” “acf_ccn=” 参_ctn, , #常量4))
状态条1.置文本 (0, “开通手册-> ” str2)
yyjson.清空 ()
yyjson.解析 (str2)
付款30链接 yyjson.取文本 (“data/qr”)
.如果真 (付款30链接 ≠ “”)
图片框1.图片 = 文本生成二维码图片 (付款30链接, , , , , 10)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “宝典二维码已生成”)
状态条1.置文本 (1, “开通宝典,30元支付宝付款码”)
' 标签反馈.标题 = “开通宝典,30元支付宝付款码”
返回 ()
.如果真结束
窗口_置状态信息 (超级列表框1.现行选中项, 2, str2)
.如果真结束
.子程序 _开通精英手册30_被选择
启动线程 (&查积分记录, , )
程序_延时 (2000)
启动线程 (&开通30精英, , )
.子程序 开通30精英
.局部变量 局_文本, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 局_Cookie, 文本型
.局部变量 ctnEX, 文本型
.局部变量 str, 文本型
.局部变量 str2, 文本型
.局部变量 yyjson, json对象
.局部变量 付款30链接, 文本型
局_文本 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
ctnEX = 超级列表框1.取标题 (超级列表框1.现行选中项, 5)
局_F = 分割文本 (局_文本, “----”, )
.如果真 (取数组成员数 (局_F) < 3)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “Cookie格式错误”)
返回 ()
.如果真结束
局_Cookie 局_F [3]
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/oms/web/peace/item”, 1, “{” #引号 “itemId” + #引号 + “:1,” + #引号 + “ctn” + #引号 + “:” + #引号 + ctnEX #引号 “}”, 局_Cookie “; ” “acf_ccn=” ctnEX, , #常量4))
状态条1.置文本 (0, “取acf_ccn-> ” str)
.如果真 (寻找文本 (str, “error” #引号 “:0”, , 假) ≠ -1)
str2 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/oms/web/pay/getQrCode”, 1, “{” #引号 “bizType” + #引号 + “:” + #引号 + “peace” + #引号 + “,” + #引号 + “biz” + #引号 + “:{” + #引号 + “actAlias” + #引号 “:” #引号 “20250213NQCYX” #引号 “,” #引号 + “amount” #引号 + “:3000,” #引号 + “roomId” #引号 “:9263298},” #引号 “ctn” + #引号 + “:” + #引号 + ctnEX #引号 “}”, 局_Cookie “; ” “acf_ccn=” ctnEX, , #常量4))
状态条1.置文本 (0, “开通手册-> ” str2)
yyjson.清空 ()
yyjson.解析 (str2)
付款30链接 yyjson.取文本 (“data/qr”)
' 输出调试 (“30元支付宝付款码-> ”, 付款30链接)
.如果真 (付款30链接 ≠ “”)
图片框1.图片 = 文本生成二维码图片 (付款30链接, , , , , 10)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “宝典二维码已生成”)
状态条1.置文本 (1, “开通宝典,30元支付宝付款码”)
返回 ()
.如果真结束
窗口_置状态信息 (超级列表框1.现行选中项, 2, str2)
.如果真结束
.子程序 _查询手册积分_被选择
启动线程 (&查手册积分, , )
.子程序 查手册积分
.局部变量 局_文本, 文本型
.局部变量 局_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, , #常量5))
' '{"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, 整数型
.局部变量 局_文本Ck, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 str, 文本型
.局部变量 balance, 文本型
.局部变量 _F, 文本型, , "0"
.局部变量 acf_uid, 文本型
.局部变量 acf_stk, 文本型
.局部变量 acf_ltkid, 文本型
.局部变量 局_token, 文本型
.局部变量 返回txurlH5, 文本型
.局部变量 局_actId参, 文本型
.局部变量 yyjson, json对象
.局部变量 gameOpenId, 文本型
.局部变量 roleId, 文本型
.局部变量 str2, 文本型
.局部变量 msg, 文本型
.局部变量 str_x, 文本型
.局部变量 type, 文本型
.局部变量 areaid, 文本型
.局部变量 plat, 文本型
局_文本Ck = 超级列表框1.取标题 (参_索引E, 1)
_F 分割文本 (局_文本Ck, “----”, )
.如果真 (取数组成员数 (_F) < 3)
窗口_置状态信息 (参_索引E, 2, “Cookie格式错误”)
返回 ()
.如果真结束
全临界.进入 ()
局_Cookie _F [3]
acf_uid 网页_取单条Cookie (局_Cookie, “acf_uid”, 真)
acf_stk 网页_取单条Cookie (局_Cookie, “acf_stk”, 真)
acf_ltkid 网页_取单条Cookie (局_Cookie, “acf_ltkid”, 真)
局_token acf_uid “_1_” acf_stk “_0_” acf_ltkid
全临界.退出 ()
.如果真 (登录和平集市 (局_token, 返回txurlH5) 假)
窗口_置状态信息 (参_索引E, 2, 返回txurlH5)
返回 ()
.如果真结束
全临界.进入 ()
局_actId参 文本_取右边 (返回txurlH5, “?”)
全临界.退出 ()
str 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/igw/live?acctype=livelink&_jsvar=info&_service=other.livelink.getrole.out&_biz_code=cjm&_act_id=44042&_app_id=2123&” 局_actId参, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; DCO-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36, Douyu_Android” #换行符 “sec-ch-ua-platform: ” #引号 + “” + #引号 + “” + #换行符 + “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
' 调试输出 (str)
yyjson.清空 ()
yyjson.解析 (文本_取出中间文本 (str, “var info=”, “;”))
gameOpenId yyjson.取文本 (“gameOpenId”)
roleId yyjson.取文本 (“roleId”)
plat yyjson.取文本 (“platId”)
type yyjson.取文本 (“type”)
areaid 选择 (type “wx”, “1”, “2”)
.如果真 (gameOpenId ≠ “” 且 roleId ≠ “”)
str2 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/igw/live/?_jsvar=banlanceInfo&_service=pay.midas.dq.get.ttpp&_app_id=2123&acctype=ttpp&areaid=” areaid “&eventid=&interwork=0&openid=” gameOpenId “&openkey=openkey&partition=0&pay_token=&plat=” plat “&plat_pc=0&roleid=” roleId “&_biz_code=cjm&_act_id=44042&_time=” 时间_取现行时间戳 () “&_sid=6”, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; DCO-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36, Douyu_Android” #换行符 “sec-ch-ua-platform: ” #引号 + “” + #引号 + “” + #换行符 + “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
' 调试输出 (str2)
状态条1.置文本 (0, “余额:” + str2)
yyjson.清空 ()
yyjson.解析 (文本_取出中间文本 (str2, “var banlanceInfo=”, “;”))
balance yyjson.取文本 (“balance”)
窗口_置状态信息 (参_索引E, 2, “点券:” + 选择 (balance ≠ “”, balance, “null”))
返回 ()
.如果真结束
msg = 文本_取出中间文本 (str, “msg” + #引号 “:” + #引号, #引号)
.如果真 (msg “”)
msg str
.如果真结束
窗口_置状态信息 (参_索引E, 2, msg)
.子程序 查积分记录, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 局_文本, 文本型
.局部变量 uid, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 ctnEX, 文本型
.局部变量 str, 文本型
.局部变量 balance, 文本型
局_文本 = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
ctnEX = 超级列表框1.取标题 (超级列表框1.现行选中项, 5)
局_F = 分割文本 (局_文本, “----”, )
.如果真 (取数组成员数 (局_F) < 3)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “Cookie格式错误”)
返回 (“NULL”)
.如果真结束
uid 局_F [2]
局_Cookie 局_F [3]
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/oms/web/peace/credit/balance”, 1, “{” #引号 + “uid” + #引号 + “:” + #引号 + uid + #引号 + “,” + #引号 + “ctn” + #引号 + “:” + #引号 + ctnEX #引号 “}”, 局_Cookie, , #常量6))
balance 文本_取出中间文本 (str, “balance” #引号 “:”, “,”)
状态条1.置文本 (0, “积分记录-> ” str)
.如果真 (balance ≠ “”)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “记录积分:” balance)
返回 (balance)
.如果真结束
窗口_置状态信息 (超级列表框1.现行选中项, 2, “NULL”)
返回 (“NULL”)
.子程序 _购买商品_被选择
启动线程 (&APP购买, , )
.子程序 APP购买
.局部变量 局_文本Ck, 文本型
.局部变量 _F, 文本型, , "0"
.局部变量 局_Cookie, 文本型
.局部变量 acf_uid, 文本型
.局部变量 acf_stk, 文本型
.局部变量 acf_ltkid, 文本型
.局部变量 局_token, 文本型
.局部变量 str1, 文本型
.局部变量 yyjson, json对象
.局部变量 返回txurlH5, 文本型
.局部变量 局_actId参, 文本型
.局部变量 商品组, 文本型, , "0"
.局部变量 要兑换的商品名称, 文本型
.局部变量 要兑换的商品价格, 文本型
.局部变量 要兑换的商品propid, 文本型
.局部变量 局_商品图片, 文本型
.局部变量 局_商品图片time, 文本型
.局部变量 appext, 文本型
.局部变量 purl, 文本型
.局部变量 str2, 文本型
.局部变量 局_bin, 字节集
.局部变量 局_账号用户名, 文本型
.局部变量 优化价格, 文本型
.局部变量 游戏昵称, 文本型
.局部变量 msg, 文本型
窗口_置状态信息 (超级列表框1.现行选中项, 2, “正在购买:” + 要兑换的商品名称)
商品组 = 分割文本 (组合框1.取项目文本 (组合框1.现行选中项), “一”, )
.如果真 (取数组成员数 (商品组) < 4)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “商品格式错误x”)
返回 ()
.如果真结束
要兑换的商品名称 商品组 [1]
要兑换的商品价格 商品组 [2]
要兑换的商品propid = 商品组 [3]
局_商品图片 = 文本_取出中间文本 (商品组 [4], “square/”, “.jpg”)
局_商品图片time = 文本_取右边 (商品组 [4], “_t=”)
局_文本Ck = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
_F 分割文本 (局_文本Ck, “----”, )
.如果真 (取数组成员数 (_F) < 3)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “Cookie格式错误”)
返回 ()
.如果真结束
全登录临界.进入 ()
局_账号用户名 _F [1]
局_Cookie _F [3]
acf_uid 网页_取单条Cookie (局_Cookie, “acf_uid”, 真)
acf_stk 网页_取单条Cookie (局_Cookie, “acf_stk”, 真)
acf_ltkid 网页_取单条Cookie (局_Cookie, “acf_ltkid”, 真)
局_token acf_uid “_1_” acf_stk “_0_” acf_ltkid
全登录临界.退出 ()
.如果真 (登录和平集市 (局_token, 返回txurlH5) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 2, 返回txurlH5)
返回 ()
.如果真结束
局_actId参 文本_取右边 (返回txurlH5, “?”)
' APP购买商品
' purl “https://apps.game.qq.com/daoju/igw/livebuy/?_service=buy.plug.svr.web&_plug_id=7200&_jsvar=buyInfo&acctype=livelink&_app_id=2123&iActionId=44042&propid=” 要兑换的商品propid “&paytype=1&source=9263298&sAnchorId=9263298&attach={%22ch%22:%220%22}&apptype=3&_biz_code=cjm&_act_id=44042&sLiveUserInfo={%22sAnchorId%22:%229263298%22,%22sVideoId%22:0}&” 局_actId参 “&appext=%7B%22user_price%22:” 要兑换的商品价格 “,%22sGoodsPic%22:%22” 局_商品图片 “%22,%22paytype%22:1%7D&_sid=8&set=8”
.如果 (组合框2.现行选中项 = 0)
purl “https://apps.game.qq.com/daoju/igw/livebuy/?_service=buy.plug.svr.web&_plug_id=7200&_jsvar=buyInfo&acctype=livelink&_app_id=2123&iActionId=44042&propid=” 要兑换的商品propid “&paytype=1&source=9263298&sAnchorId=9263298&attach={%22ch%22:%220%22}&apptype=3&_biz_code=cjm&_act_id=44042&sLiveUserInfo={%22sAnchorId%22:%229263298%22,%22sVideoId%22:0}&” 局_actId参 “&appext=%7B%22user_price%22:” 要兑换的商品价格 “,%22sGoodsPic%22:%22” 局_商品图片 “%22,%22paytype%22:1%7D&_sid=8&set=8”
.否则
purl “https://apps.game.qq.com/daoju/igw/livebuy/?_service=buy.plug.svr.web&_plug_id=7200&_jsvar=buyInfo&acctype=livelink&_app_id=2123&iActionId=44042&propid=” 要兑换的商品propid “&paytype=5&source=9263298&sAnchorId=9263298&attach={%22ch%22:%220%22}&apptype=3&_biz_code=cjm&_act_id=44042&sLiveUserInfo={%22sAnchorId%22:%229263298%22,%22sVideoId%22:0}&” 局_actId参 “&appext=%7B%22user_price%22:” 要兑换的商品价格 “,%22sGoodsPic%22:%22” 局_商品图片 “%22,%22paytype%22:5%7D&_sid=8&set=8”
.如果结束
str1 编码_Utf8到Ansi (网页_访问_对象 (purl, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “sec-ch-ua-platform: ” #引号 + “” + #引号 + “” + #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; DCO-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36, Douyu_Android” #换行符 “sec-ch-ua: ” + #引号 + “” + #引号 + “” + #换行符 “sec-ch-ua-mobile: ?1” #换行符 “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”, , , 真, , ))
状态条1.置文本 (0, “购买:” + str1)
' 调试输出 (“APP购买商品--”, str1)
' 购买成功返回:'var buyInfo={"act_amount":800,"event_id":"DJC-CJM-0101113752-nazUnu-44042-007277","iPayType":"1","msg":"ok","newBalance":170,"ret":"0","sSerialNum":"CJM-20260101113752036-860804563","serial":"CJM-20260101113752036-860804563","serverTime":1767238672,"span":"0-4","trace_id":"070c4fd9ac0e50ad80ca64b83e8df299","ts":"1767238672"};
.如果真 (寻找文本 (str1, “msg” + #引号 + “:” + #引号 + “ok” + #引号, , 假) ≠ -1)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “购买成功:” + 要兑换的商品名称)
str2 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/igw/live?acctype=livelink&_jsvar=info&_service=other.livelink.getrole.out&_biz_code=cjm&_act_id=44042&_app_id=2123&” 局_actId参, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; DCO-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36, Douyu_Android” #换行符 “sec-ch-ua-platform: ” #引号 + “” + #引号 + “” + #换行符 + “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
状态条1.置文本 (0, “查询:” + str1)
' 返回: var info={"area":1,"code":{"userid":"12353341"},"event_id":"DJC-CJM-0101111544-XPqqUw-44042-936077","gameOpenId":"osewR0kigZPfAHU-hL9PNVhhsqMk","openIdType":"openid","partition":0,"platId":1,"roleId":"3667375425","roleName":"小竖林里吃过亏","type":"wx"};
游戏昵称 = 文本_取出中间文本 (str2, “roleName” #引号 “:” #引号, #引号)
优化价格 = 到文本 (到整数 (要兑换的商品价格) ÷ 10)
保存日志2 (时间_到文本 (取现行时间 (), 1) + “ ” + 局_账号用户名 + “----” + 游戏昵称 + “----” + 要兑换的商品名称 + “----” + 优化价格)
局_bin = 文转图片P (要兑换的商品名称 + “ ” + #换行符 + 时间_格式化 (取现行时间 (), “yyyy年MM月dd日”, “ hh:mm:ss”, 真) + #换行符 + “兑换账号:” + 游戏昵称 + “(” + 局_账号用户名 + “)”)
剪辑板_置图片 (局_bin)
提示框 (“兑换成功,图片已复制”, , , , 1000)
返回 ()
.如果真结束
msg = 文本_取出中间文本 (str1, “msg” + #引号 “:” + #引号, #引号)
.如果真 (msg “”)
msg str1
.如果真结束
窗口_置状态信息 (超级列表框1.现行选中项, 2, msg)
.子程序 登录和平集市, 逻辑型, , rid=9263298是房间号
.参数 参_token, 文本型
.参数 返回txurlH5, 文本型, 参考
.局部变量 str, 文本型
.局部变量 局_文本, 文本型
.局部变量 _F, 文本型, , "0"
.局部变量 局_账号用户名, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 acf_uid, 文本型
.局部变量 acf_stk, 文本型
.局部变量 acf_ltkid, 文本型
.局部变量 yyjson, json对象
.局部变量 txurlH5, 文本型
.计次循环首 (2, )
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/carnival/nc/txEmbed/getIframeUrl?actAlias=20251203DSRGL&rid=9263298&token=” 参_token, , , , , “Host: www.douyu.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “Accept: application/json, text/plain, */*” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; HBN-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Mobile Safari/537.36, Douyu_Android” #换行符 “X-Requested-With: XMLHttpRequest” #换行符 “Sec-Fetch-Site: same-origin” #换行符 “Sec-Fetch-Mode: cors” #换行符 “Sec-Fetch-Dest: empty” #换行符 “Referer: https://www.douyu.com/topic/h5/hpxd01”))
yyjson.清空 ()
yyjson.解析 (str)
txurlH5 yyjson.取文本 (“data/txurlH5”)
.如果真 (txurlH5 ≠ “”)
返回txurlH5 txurlH5
返回 (真)
.如果真结束
.计次循环尾 ()
返回txurlH5 = “登录失败:” + str
返回 (假)
.子程序 和平集市_查询购买记录
.局部变量 purl, 文本型
.局部变量 str, 文本型
purl “https://apps.game.qq.com/daoju/igw/live/?_service=order.list&_biz_code=cjm&_app_id=2123&hist=0&ps=10&pn=1&stat_set=&act_set=34278&_jsvar=oResult&set=3&actId=9873&appId=bp_cf&gameId=cjm&livePlatId=douyu&code=1IlzKlwbruO9ebjOCTMocQlxydv5IzacCeDpk3yUsjvt0QUbMHzExlC5jMhW8lRQGvFsfXPSJx00owM96v42O7Jil%2BMIKcriMarxWZSpR1PoFewIld5lClXmHQQRIVzjJIGIJYmIWatvhzWlPvUwa%2FdhmTudAc3ZDnkHm4tBSpI%3D&timestamp=1740455023&v=2.0&sig=a5e5b31b8138ea1ebf36eacbe5cd8981&acctype=livelink”
str 编码_Utf8到Ansi (网页_访问_对象 (purl, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; DCO-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36, Douyu_Android” #换行符 “sec-ch-ua-platform: ” #引号 + “” + #引号 + “” + #换行符 + “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”, , , 真, , ))
' 返回: var oResult={"data":{"cnt":1,"list":[{"bizName":"和平精英","del":"0","dtBuyTime":"2025-02-25 11:43:50","dtCancelTime":"0000-00-00 00:00:00","dtPayTime":"2025-02-25 11:43:50","iActionId":"34278","iAppId":"2123","iCJiFenActId":"0","iCJiFenAmount":"0","iChannel":"2123090001","iCoin1Amount":"0","iCouponAmount":"0","iDianQuanAmount":"2500","iFreeDqAmount":"380","iPayAmount":"0","iPlugId":"7200","iPrice":"2880","iRefund":"0","iRewardAmount":"0","iStatus":"3","iTicketAmount":"0","iValidSeconds":"3600","iWalletAmount":"0","iZoneId":"1","lBuyUin":"*","lGetUin":"*","lPayUin":"*","lRoleId":"3667****25","sActionDesc":"2025和平集市","sAppExt":"%7B%22user_price%22:2880,%22sGoodsPic%22:%22https://ossweb-img.qq.com/images/daoju/app/cjm/square/N-cjm-1-111591-107302-s50250.jpg?_t=1737518412%22,%22paytype%22:1%7D","sAttach":"{\"linksee_info\":{\"sLinkSeeId\":\"0\",\"sLinkSeeAct\":\"\"}}","sAwardInfo":"","sBizCode":"cjm","sBuyUid":"6jq4n9ae4965ea6dcf0eb0ff****7f","sCallbackData":"","sCoupon":"","sEventId":"DJC-CJM-0225114350-Zvpgof-34278-337967","sGetUid":"osewR0kigZPfAHU-hL9PNV****Mk","sGoodsInfo":"{\"award\":0,\"iRet\":0,\"iTotalNum\":1,\"isFree\":0,\"isFreeJf\":0,\"isWhiteOpenid\":0,\"list\":[{\"acctype\":\"livelink\",\"bPresale\":\"0\",\"iAmsItemType\":\"3\",\"iAmsType\":\"1\",\"iAutoItemId\":\"107303\",\"iAutoTypeId\":\"111591\",\"iBuyType\":\"0\",\"iCategoryId\":\"428\",\"iDayType\":\"\",\"iGoodsId\":\"1018679\",\"iGoodsPayAmount\":2880,\"iGoodsUnitPayAmount\":2880,\"iInfoId\":\"\",\"iIsUseTGPC\":\"1\",\"iOrgPrice\":2880,\"iPacketNum\":\"1\",\"iPartition\":0,\"iPlatId\":1,\"iPlugSvr\":1,\"iPrice\":2880,\"iQuantity\":1,\"iRelationGoodsId\":\"50250\",\"iSendDst\":\"0\",\"iSendType\":\"-1\",\"iSeqId\":\"1018679\",\"iShowNum\":\"1\",\"iSubCategoryId\":\"0\",\"iTemplId\":\"107303\",\"iUidType\":\"0\",\"iZoneId\":1,\"idipData\":{},\"lRoleId\":\"3667375425\",\"mrmsParams\":{\"sLinkSeeAct\":\"\",\"sLinkSeeId\":\"0\",\"sMailContent\":\"%E8%83%8C%E5%8C%85%E6%8C%82%E4%BB%B6-%E9%A3%8E%E6%9A%B4%E6%97%B6%E4%BB%A3%E5%8F%91%E8%B4%A7%E9%80%9A%E7%9F%A5\",\"sMailTitle\":\"2025%E5%92%8C%E5%B9%B3%E9%9B%86%E5%B8%82%E5%8F%91%E8%B4%A7%E9%80%9A%E7%9F%A5\"},\"sAmsActId\":\"699836\",\"sAmsBiz\":\"cjm\",\"sAmsModId\":\"665628\",\"sCharacNo\":\"3667****25\",\"sDayType\":\"永久\",\"sGoodsName\":\"背包挂件-风暴时代\",\"sGoodsPic\":\"https://ossweb-img.qq.com/images/daoju/app/cjm/square/N-cjm-1-111591-107302-s50250.jpg?_t=1737518412\",\"sItemId\":\"802433\",\"sItemValue\":\"2880\",\"sMrmsGid\":\"3727933\",\"sMrmsGiftId\":\"IEGAMS-699836-665628\",\"sMrmsPid\":\"6086990\",\"sPacketName\":\"背包挂件-风暴时代\",\"sPayType\":1}],\"merge\":\"0\",\"origin\":\"xn\",\"sMsg\":\"ok\",\"sUserIp\":\"123.130.221.161\"}","sLimitKey":"","sPayData":"","sPayType":"","sPayTypeChannel":"qpqb,tenpay,quick,bank,weixinpay","sPayUid":"6jq4n9ae4965ea6dcf0eb0ff****7f","sPortalSerialNo":"CJM-20250225114350369-490304391","sRemark":"","sRoleName":"小竖林里吃过亏","sSerialNum":"CJM-20250225114350369-490304391","sSource":"9263298","sUserInfo":"{\"appid\":\"wxc4c0253df149f02d\",\"ip\":\"123.130.221.161\",\"level\":1,\"partition\":0,\"plat\":1,\"platid\":1,\"roleid\":\"3667****25\",\"sVideoId\":\"\",\"uid\":\"6jq4n9ae4965ea6dcf0eb0ff****7f\",\"uin\":\"\",\"zone\":1}","sZoneDesc":""}]},"event_id":"DJC-CJM-0225120604-1hVoRY-499-501489","msg":"ok","ret":"0","span":"0-2","trace_id":"3ef384337e70607235a99f877b594767","ts":"1740456364"};
.子程序 查积分记录EX, 文本型
.参数 参_uid, 文本型
.参数 参_CK, 文本型
.参数 参_ctnEX, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 局_文本, 文本型
.局部变量 str, 文本型
.局部变量 balance, 文本型
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/oms/web/peace/credit/balance”, 1, “{” #引号 + “uid” + #引号 + “:” + #引号 + 参_uid + #引号 + “,” + #引号 + “ctn” + #引号 + “:” + #引号 + 参_ctnEX #引号 “}”, 参_CK, , #常量6))
balance 文本_取出中间文本 (str, “balance” #引号 “:”, “,”)
状态条1.置文本 (0, “积分记录-> ” str)
返回 (balance)
.子程序 _图片框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果真 (图片框1.图片 = { })
提示框 (“请先生成后,再复制二维码”, , , , 1000)
返回 ()
.如果真结束
剪辑板_置图片 (图片框1.图片)
' 剪辑板_置图片 (图片_后台截图 (图片框4.取窗口句柄 ()))
提示框 (“二维码已复制”, , , , 1000)
.子程序 _超级列表框1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
启动线程 (&子程序标签更新, , )
.子程序 子程序标签更新
.局部变量 局_文本Ck, 文本型
.局部变量 _F, 文本型, , "0"
.局部变量 局_Cookie, 文本型
.局部变量 acf_uid, 文本型
.局部变量 acf_stk, 文本型
.局部变量 acf_ltkid, 文本型
.局部变量 局_token, 文本型
.局部变量 返回txurlH5, 文本型
.局部变量 局_actId参, 文本型
.局部变量 str, 文本型
.局部变量 游戏昵称, 文本型
.局部变量 局_账号用户名, 文本型
.局部变量 type, 文本型
.局部变量 局_平台, 文本型
.局部变量 gameOpenId, 文本型
.局部变量 str2, 文本型
.局部变量 yyjson, json对象
.局部变量 roleId, 文本型
.局部变量 balance, 文本型
局_文本Ck = 超级列表框1.取标题 (超级列表框1.现行选中项, 1)
_F 分割文本 (局_文本Ck, “----”, )
.如果真 (取数组成员数 (_F) < 3)
窗口_置状态信息 (超级列表框1.现行选中项, 2, “Cookie格式错误”)
返回 ()
.如果真结束
全登录临界.进入 ()
局_账号用户名 _F [1]
局_Cookie _F [3]
acf_uid 网页_取单条Cookie (局_Cookie, “acf_uid”, 真)
acf_stk 网页_取单条Cookie (局_Cookie, “acf_stk”, 真)
acf_ltkid 网页_取单条Cookie (局_Cookie, “acf_ltkid”, 真)
局_token acf_uid “_1_” acf_stk “_0_” acf_ltkid
全登录临界.退出 ()
.如果真 (登录和平集市 (局_token, 返回txurlH5) 假)
窗口_置状态信息 (超级列表框1.现行选中项, 2, 返回txurlH5)
返回 ()
.如果真结束
局_actId参 文本_取右边 (返回txurlH5, “?”)
str 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/igw/live?acctype=livelink&_jsvar=info&_service=other.livelink.getrole.out&_biz_code=cjm&_act_id=44042&_app_id=2123&” 局_actId参, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; DCO-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36, Douyu_Android” #换行符 “sec-ch-ua-platform: ” #引号 + “” + #引号 + “” + #换行符 + “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
' 'var oResult={"area":1,"code":{"userid":"6jq4n9ae4965ea6dcf0eb0ffdd767f"},"gameOpenId":"osewR0kigZPfAHU-hL9PNVhhsqMk","openIdType":"openid","partition":0,"platId":1,"roleId":"3667375425","roleName":"小竖林里吃过亏","type":"wx"};
yyjson.清空 ()
yyjson.解析 (文本_取出中间文本 (str, “var info=”, “;”))
游戏昵称 yyjson.取文本 (“roleName”)
type yyjson.取文本 (“type”)
gameOpenId yyjson.取文本 (“gameOpenId”)
roleId yyjson.取文本 (“roleId”)
.如果 (type ≠ “” 或 gameOpenId ≠ “” 且 roleId ≠ “”)
str2 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/igw/live/?_jsvar=banlanceInfo&_service=pay.midas.dq.get.ttpp&_app_id=2123&acctype=ttpp&areaid=1&eventid=&interwork=0&openid=” gameOpenId “&openkey=openkey&partition=0&pay_token=&plat=1&plat_pc=0&roleid=” roleId “&_biz_code=cjm&_act_id=44042&_time=” 时间_取现行时间戳 () “&_sid=6”, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; DCO-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36, Douyu_Android” #换行符 “sec-ch-ua-platform: ” #引号 + “” + #引号 + “” + #换行符 + “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
调试输出 (“查询余额:”, str2)
状态条1.置文本 (0, “余额:” + str2)
yyjson.清空 ()
yyjson.解析 (文本_取出中间文本 (str2, “var banlanceInfo=”, “;”))
balance yyjson.取文本 (“balance”)
局_平台 = 选择 (type = “wx”, “微信”, “QQ”)
.否则
局_平台 “null”
.如果结束
标签_昵称.标题 = “账号:” + 局_账号用户名 + “<->” + “余额:” 选择 (balance ≠ “”, balance, “null”)
标签_状态.标题 = “昵称:” + 局_账号用户名 + #换行符 + “游戏名称:” + 选择 (游戏昵称 ≠ “”, 游戏昵称, “null”) + #换行符 + “平台:” + 局_平台
超级列表框1.置标题 (超级列表框1.现行选中项, 2, 游戏昵称)
.子程序 _标签_状态_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
剪辑板_置图片 (快照 (标签_状态.取窗口句柄 (), , ))
提示框 (“图片已复制”, , , , 1000)
.子程序 _窗口1_可否被关闭, 逻辑型
.如果 (信息框 (“确定要退出程序吗?”, #信息图标 + #确认钮 + #取消钮, , ) = #确认钮)
返回 (真)
.否则
返回 (假)
.如果结束
.子程序 _窗口1_将被销毁
Gdip结束 ()
数据写出列表 ()
.子程序 子程序处理余额, 整数型
.参数 参_数据, 文本型
.局部变量 局_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, , )
.子程序 _读取Cookie_被选择
.局部变量 局_保存目录, 文本型
.局部变量 局_文本数据, 文本型
.局部变量 局_文本数组, 文本型, , "0"
.局部变量 局_索引, 整数型
.局部变量 P, 整数型
.局部变量 N, 整数型
.局部变量 局_3, 文本型, , "0"
局_保存目录 = 取运行目录 () + “\斗鱼CK\” + 时间_格式化 (取现行时间 (), “MM.dd-”) “斗鱼CK.txt”
.如果真 (文件是否存在 (局_保存目录) = 假)
提示框 (“Cookie文件不存在!” + #换行符 + 局_保存目录, , , , 2000)
返回 ()
.如果真结束
局_文本数据 = 到文本 (读入文件 (局_保存目录))
局_文本数组 = 分割文本 (局_文本数据, #换行符, )
.计次循环首 (取数组成员数 (局_文本数组), P)
判断重复列表 (局_文本数组 [P])
系统_处理事件 ()
.计次循环尾 ()
.计次循环首 (超级列表框1.取表项数 (), N)
系统_处理事件 ()
超级列表框1.置状态图片 (N - 1, 1)
超级列表框1.置标题 (N 1, 0, 到文本 (N))
.计次循环尾 ()
.子程序 判断重复列表
.参数 参_内容, 文本型
.局部变量 局_文本, 文本型
.局部变量 局_用户, 文本型
.局部变量 _索引, 整数型
.局部变量 局_索引2, 整数型
.局部变量 P, 整数型
_索引 = 超级列表框1.查找表项 (参_内容, , , 1)
.如果 (_索引 -1)
局_索引2 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (局_索引2, 0, 到文本 (局_索引2 1))
超级列表框1.置标题 (局_索引2, 1, 参_内容)
超级列表框1.置状态图片 (局_索引2, 1)
.否则
超级列表框1.置标题 (_索引, 1, 参_内容)
.如果结束
.子程序 _同步删除Cookie_被选择
.局部变量 局_保存目录, 文本型
.局部变量 局_保存文本, 鱼刺类_输出文本
.局部变量 i, 整数型
.局部变量 P, 整数型
局_保存目录 = 取运行目录 () + “\斗鱼CK\” + 时间_格式化 (取现行时间 (), “MM.dd-”) “斗鱼CK.txt”
超级列表框1.删除表项 (超级列表框1.现行选中项)
删除文件 (局_保存目录)
程序_延时 (500)
局_保存目录 = 取运行目录 () + “\斗鱼CK\”
.计次循环首 (超级列表框1.取表项数 (), i)
系统_处理事件 ()
局_保存文本.写文本行 (超级列表框1.取标题 (i - 1, 1), 时间_格式化 (取现行时间 (), “MM.dd-”) + “斗鱼CK”, 局_保存目录, “.txt”)
.计次循环尾 ()
.计次循环首 (超级列表框1.取表项数 (), P)
系统_处理事件 ()
超级列表框1.置状态图片 (P - 1, 1)
超级列表框1.置标题 (P 1, 0, 到文本 (P))
.计次循环尾 ()
提示框 (“同步完成”, , , , 1000)
.子程序 保存日志
.参数 参_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)
.子程序 _按钮_关闭_被单击, , , 测试
_扫码框.可视
工作中
关闭线程句柄 (集句柄)
强制结束线程 (集句柄)
.子程序 _扫码登录_被选择
' 载入 (窗口_扫码, , 真)
_扫码框.可视
标签显示.可视
按钮_刷新.可视
按钮_刷新.禁止
启动线程 (&getscanEX, , 集句柄)
.子程序 getscanEX, 逻辑型, , 获取扫码
.局部变量 str, 文本型
.局部变量 yyjson, json对象
.局部变量 surl, 文本型
.局部变量 code, 文本型
.局部变量 bool, 逻辑型
.局部变量 局_Code, 文本型
.局部变量 局_msg, 文本型
.局部变量 局_LoginUrl, 文本型
.局部变量 CK, 文本型
图片框2.图片 { }
网页_清除Cookie (“passport.douyu.com”)
标签_反馈.标题 = “正在二维码...”
网页_访问_对象 (“https://passport.douyu.com/index/login?passport_reg_callback=PASSPORT_REG_SUCCESS_CALLBACK&passport_login_callback=PASSPORT_LOGIN_SUCCESS_CALLBACK&passport_close_callback=PASSPORT_CLOSE_CALLBACK&passport_dp_callback=PASSPORT_DP_CALLBACK&type=login&client_id=1&state=https%3A%2F%2Fwww.douyu.com%2F&source=click_topnavi_login”, , , “dy_did=05444ffb59d181b4d194b59900011601; acf_did=05444ffb59d181b4d194b59900011601; Hm_lpvt_e99aee90ec1b2106afe7ec3b199020a7=” 到文本 (时间_取现行时间戳1 (假)), , #常量8)
程序_延时 (1000)
str 编码_usc2到ansi (到文本 (网页_访问_对象 (“https://passport.douyu.com/scan/generateCode”, 1, “client_id=1&isMultiAccount=0”, “dy_did=05444ffb59d181b4d194b59900011601; acf_did=05444ffb59d181b4d194b59900011601; Hm_lpvt_e99aee90ec1b2106afe7ec3b199020a7=” 到文本 (时间_取现行时间戳1 (假)), , #扫码XY1)))
' “dy_did=05444ffb59d181b4d194b59900011601; acf_did=05444ffb59d181b4d194b59900011601; Hm_lpvt_e99aee90ec1b2106afe7ec3b199020a7=” 到文本 (时间_取现行时间戳1 (假))
' 调试输出 (str)
yyjson.清空 ()
yyjson.解析 (str)
surl yyjson.取文本 (“data/url”)
局_Code yyjson.取文本 (“data/code”)
.如果真 (surl “” 或 局_Code “”)
标签_反馈.标题 = “请关闭后重新生成二维码!”
返回 (假)
.如果真结束
图片框2.图片 = 文本生成二维码图片 (surl, , , , , 20)
标签_反馈.标题 = “二维码已生成,请在手机上确认!”
工作中
.判断循环首 (工作中 真)
bool scanauthEX (局_Code, 局_msg, 局_LoginUrl)
.如果真 (bool 真)
跳出循环 ()
.如果真结束
.如果真 (寻找文本 (局_msg, “code不存在或者是已经过期”, , 假) ≠ -1)
关闭线程句柄 (集句柄)
强制结束线程 (集句柄)
标签显示.可视 = 真
按钮_刷新.可视 = 真
按钮_刷新.禁止 = 假
返回 (假)
.如果真结束
程序_延时 (1000)
系统_处理事件 ()
.判断循环尾 ()
Login_douEX (局_LoginUrl)
返回 (真)
.子程序 scanauthEX, 逻辑型, , 检测是否扫码
.参数 参_code, 文本型
.参数 返回msg, 文本型, 参考
.参数 参_登录url, 文本型, 参考
.局部变量 str, 文本型
.局部变量 yyjson, json对象
.局部变量 局_msg, 文本型
.局部变量 局surl, 文本型
str 编码_Utf8到Ansi (网页_访问_对象 (“https://passport.douyu.com/japi/scan/auth?time=” 时间_取现行时间戳 () “&code=” 参_code, , , , , #扫码XY1))
调试输出 (“参_code---”, 参_code)
调试输出 (str)
yyjson.清空 ()
yyjson.解析 (str)
返回msg yyjson.取文本 (“msg”)
参_登录url yyjson.取文本 (“data/url”)
标签_反馈.标题 “>>>>” 返回msg
.如果真 (参_登录url ≠ “”)
标签_反馈.标题 = “扫码成功,正在登录...”
返回 (真)
.如果真结束
返回 (假)
.子程序 Login_douEX, , , 登录斗鱼
.参数 参_url, 文本型
.局部变量 str, 文本型
.局部变量 局_索引, 整数型
.局部变量 局_COOK, 文本型
.局部变量 acf_uid, 文本型
.局部变量 acf_nickname, 文本型
.局部变量 解析CK, 类_Cookie
str 编码_usc2到ansi (到文本 (网页_访问_对象 (参_url “&callback=appClient_json_callback&_=” 时间_取现行时间戳 (), , , , 局_COOK, #扫码登录)))
' 调试输出 (str)
调试输出 (“局_COOK---”, 局_COOK)
.如果真 (局_COOK ≠ “”)
标签_反馈.标题 “>>>扫码登录成功!”
acf_uid 网页_取单条Cookie (局_COOK, “acf_uid”, 真)
acf_nickname 编码_URL解码 (网页_取单条Cookie (局_COOK, “acf_nickname”, 真), 真)
局_索引 = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置标题 (局_索引, 0, 到文本 (局_索引 1))
超级列表框1.置标题 (局_索引, 1, acf_nickname “----” acf_uid “----” 局_COOK)
超级列表框1.置状态图片 (局_索引, 1)
超级列表框1.保证显示 (局_索引)
工作中
_扫码框.可视
.如果真结束
.子程序 _按钮_刷新_被单击
标签显示.可视
按钮_刷新.可视
按钮_刷新.禁止
启动线程 (&getscanEX, , 集句柄)
.子程序 _图片框2_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
剪辑板_置图片 (图片框2.图片)
提示框 (“图片已复制”, , , , 1000)
.子程序 __扫码框_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
窗口1.发送信息 (161, 2, 0)
.子程序 _粘贴Cookie_被选择
.局部变量 文本数组, 文本型, , "0"
.局部变量 计次1, 整数型
.局部变量 计次2, 整数型
.局部变量 临时数组, 文本型, , "0"
.局部变量 索引, 整数型
.局部变量 i, 文本型
.局部变量 总数数组, 文本型, , "0"
.局部变量 内容, 文本型
.局部变量 X, 整数型
.局部变量 状态数组, 文本型, , "0"
.局部变量 N, 整数型
.局部变量 M, 整数型
.局部变量 判断数据, 文本型
' 下面的是粘贴根据“----“判断是否是一条或者两条数据
i 取剪辑板文本 ()
.如果真 (i “”)
返回 ()
.如果真结束
文本数组 = 分割文本 (i, #换行符, )
.计次循环首 (取数组成员数 (文本数组), X)
.如果真 (文本数组 [X] ≠ “”)
M = 超级列表框1.插入表项 (, , , , , )
超级列表框1.置状态图片 (M, 1)
超级列表框1.置标题 (M, 0, 到文本 (M 1))
超级列表框1.置标题 (M, 1, 文本数组 [X])
.如果真结束
系统_处理事件 ()
.计次循环尾 ()
超级列表框1.允许重画 () ' 恢复自动重画
超级列表框1.发送信息 (277, 7, 0) ' 显示最后一行
清除数组 (文本数组)
返回 ()
.子程序 _搜索游戏名_被选择
.局部变量 索引EX, 整数型
.局部变量 str, 文本型
输入框 (“查找包含游戏名的字符”, “查找游戏名”, , str, , )
.如果真 (str “”)
返回 ()
.如果真结束
索引EX = 超级列表框1.查找表项 (str, , 假, 2)
.如果真 (索引EX ≠ -1)
超级列表框1.保证显示 (索引EX)
超级列表框1.选择表项 (索引EX)
.如果真结束
返回 ()
.子程序 _搜索状态_被选择
.局部变量 索引EX, 整数型
.局部变量 str, 文本型
输入框 (“查找包含状态的字符”, “查找状态”, , str, , )
.如果真 (str “”)
返回 ()
.如果真结束
索引EX = 超级列表框1.查找表项 (str, , 假, 4)
.如果真 (索引EX ≠ -1)
超级列表框1.保证显示 (索引EX)
超级列表框1.选择表项 (索引EX)
.如果真结束
返回 ()
.子程序 子程序检测账号EX
.参数 参_索引, 整数型
.局部变量 局_文本, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 局_CCK, 文本型
.局部变量 str, 文本型
.局部变量 返回CK, 文本型
全检车临界.进入 ()
局_文本 = 超级列表框1.取标题 (参_索引, 1)
全检车临界.退出 ()
局_F = 分割文本 (局_文本, “----”, )
.如果真 (取数组成员数 (局_F) < 3)
窗口_置状态信息 (参_索引, 2, “Cookie格式错误”)
返回 ()
.如果真结束
局_CCK 局_F [3]
str = 到文本 (网页_访问_对象 (“https://www.douyu.com/curl/csrfApi/getCsrfCookie?”, , , 局_CCK, 返回CK, #常量1))
状态条1.置文本 (0, “生成1-> ” 编码_usc2到ansi (str))
.判断开始 (寻找文本 (str, “-99”, , 假) ≠ -1)
窗口_置状态信息 (参_索引, 1, “账号未登录”)
返回 ()
.判断 (寻找文本 (str, “无效”, , 假) ≠ -1)
窗口_置状态信息 (参_索引, 1, “账号无效”)
返回 ()
.默认
窗口_置状态信息 (参_索引, 1, “账号正常”)
.判断结束
返回 ()
.子程序 _一键检测账号_被选择
.局部变量 p, 整数型
.计次循环首 (超级列表框1.取表项数 (), p)
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
启动线程 (&子程序检测账号EX, p 1, )
程序_延时 (10)
.如果真结束
.计次循环尾 ()
.子程序 _全选_被选择
.局部变量 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)
启动线程 (&子程序获取昵称EX, p 1, )
程序_延时 (10)
.如果真结束
.计次循环尾 ()
.子程序 子程序获取昵称EX
.参数 索引EX, 整数型
.局部变量 局_文本, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 局_uid, 文本型
.局部变量 nick, 文本型
.局部变量 str, 文本型
.局部变量 roleName, 文本型
.局部变量 余额, 文本型
.局部变量 areaName, 文本型
.局部变量 platName, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 局_ctn, 文本型
全临界.进入 ()
局_文本 = 超级列表框1.取标题 (索引EX, 1)
局_ctn = 超级列表框1.取标题 (索引EX, 5)
全临界.退出 ()
局_F = 分割文本 (局_文本, “----”, )
.如果真 (取数组成员数 (局_F) < 3)
状态条1.置文本 (0, “Cookie格式错误”)
返回 ()
.如果真结束
局_uid 局_F [2]
局_Cookie 局_F [3]
' https://www.douyu.com/japi/carnival/nc/txEmbed/getIframeUrl?actAlias=20241125NXFQY&rid=9263298&token=496599680_12_447c3494cbda7ea6_1_28514598
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/carnivalApi/tencent/bindInfo?actAlias=20251203DSRGL”, , , 局_Cookie, , #常量3))
全临界.进入 ()
状态条1.置文本 (0, “是否绑定-> ” str)
roleName 文本_取出中间文本 (str, “roleName” #引号 “:” #引号, #引号)
超级列表框1.置标题 (索引EX, 2, roleName)
全临界.退出 ()
' {"error":0,"msg":"success","data":{"bindAccount":1,"bindRole":1,"bindAct":1,"needBindRole":null,"txAct":{"txActId":2811,"gameId":"cjm","gameName":"和平精英","bindType":1},"gameAccount":{"bindType":2,"type":"","faceuri":"https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTI4cIOxb4f7vpSkqYCIIvY1EJTgkhS0ZhVzzJSl2LzDpUzVBJKiaDjvuzpdS6cadAvA6bnrYwZ7jlQ/132","nick":"zicoo"},"gameRole":{"roleName":"白菜被拱了呀","areaName":"微信","platName":"安卓(android)","partitionName":""},"isGranted":null,"gameAuthScene":null,"canChangeRole":0,"changeRoleWaitTime":2490528},"redirectUrl":null}
' nick 文本_取出中间文本 (str, “nick” + #引号 “:” + #引号, #引号)
' areaName 文本_取出中间文本 (str, “areaName” #引号 “:” #引号, #引号)
' platName 文本_取出中间文本 (str, “platName” #引号 “:” #引号, #引号)
.子程序 _按钮_添加商品到列表_被单击
启动线程 (&商品加列表, , )
.子程序 商品加列表
.局部变量 局_商品名, 文本型
局_商品名 = 组合框1.取项目文本 (组合框1.现行选中项)
超级列表框1.置标题 (超级列表框1.现行选中项, 3, 局_商品名)
.子程序 _按钮_启动_被单击
.判断开始 (按钮_启动.标题 = “批量购买商品”)
.如果真 (超级列表框1.取表项数 () ≤ 0)
返回 ()
.如果真结束
按钮_启动.禁止
.如果真 (线程_创建 (&工作线程) 假)
按钮_启动.禁止 = 假
返回 ()
.如果真结束
.判断 (按钮_启动.标题 = “停止购买”)
按钮_启动.禁止
按钮_启动.标题 = “停止中...”
全工作中
工作线程池EX.销毁 ()
返回 ()
.默认
.判断结束
.子程序 工作线程
.局部变量 bool, 逻辑型
.局部变量 int, 整数型
.局部变量 任务数, 整数型
全定时数 0
按钮_启动.标题 = “兑换中...”
状态条1.置文本 (0, “线程启动中...”)
bool 工作线程池EX.创建 (50, , , 真, , 1024 × 128)
.如果真 (bool 假)
状态条1.置文本 (0, “初始化工作线程池失败!”)
按钮_启动.标题 = “批量购买商品”
按钮_启动.禁止
返回 ()
.如果真结束
全工作中
按钮_启动.标题 “停止购买”
按钮_启动.禁止
全心跳记录 0
int 0
.判断循环首 (全工作中 真)
任务数 = 工作线程池EX.取_执行线程数 () + 工作线程池EX.取_队列任务数 ()
任务数 = 工作线程池EX.取_最大线程容量 () - 任务数
.如果真 (任务数 0)
.如果真 (超级列表框1.取当前状态图片 (int) = 1)
工作线程池EX.投递任务 (&线程子程序, int)
程序_延时 (1)
.如果真结束
int int 1
.如果真结束
.如果真 (int ≥ 超级列表框1.取表项数 ())
.判断开始 (选择框_定时抢购.选中 = 真)
选择框_心跳.选中 = 假
int 0
子程序等待定时 ()
.判断 (选择框_心跳.选中 = 真)
状态条1.置文本 (1, “心跳【” + 删全部空 (编辑框_心跳秒.内容) + “】秒/次”)
int 0
心跳等待定时 ()
.默认
状态条1.置文本 (0, “定时已取消!”)
跳出循环 ()
.判断结束
.如果真结束
.判断循环尾 ()
.循环判断首 ()
程序_延时 (300)
.循环判断尾 (工作线程池EX.取_是否完全空闲 () = 假)
状态条1.置文本 (0, “正在销毁工作线程池。。。。”)
工作线程池EX.销毁 ()
状态条1.置文本 (0, “销毁工作线程池成功!”)
按钮_启动.标题 = “批量购买商品”
按钮_启动.禁止
状态条1.置文本 (0, “执行停止完毕!”)
.子程序 心跳等待定时
.局部变量 P, 整数型
.局部变量 N, 整数型
.局部变量 局_兑换状态, 文本型
.计次循环首 (到整数 (删首尾空 (编辑框_心跳秒.内容)), P)
系统_处理事件 ()
状态条1.置文本 (1, “心跳:” + 编辑框_心跳秒.内容 + “秒,开始计时” + 编辑框_心跳秒.内容 + “/” + 到文本 (P))
程序_延时 (1000)
.计次循环尾 ()
.计次循环首 (超级列表框1.取表项数 (), N)
全临界.进入 ()
局_兑换状态 = 超级列表框1.取标题 (N - 1, 4)
全临界.退出 ()
.如果 (寻找文本 (局_兑换状态, “您已拥有”, , 假) ≠ -1 或 局_兑换状态 = “购买成功”)
超级列表框1.置状态图片 (N - 1, 0)
.否则
超级列表框1.置状态图片 (N - 1, 1)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.子程序 子程序等待定时
.局部变量 P, 整数型
.局部变量 N, 整数型
.局部变量 局_兑换状态, 文本型
.计次循环首 (到整数 (删首尾空 (编辑框_定时秒.内容)), P)
系统_处理事件 ()
状态条1.置文本 (0, “已设置定时:” + 编辑框_定时秒.内容 + “秒,开始计时/” + 到文本 (P))
程序_延时 (1000)
.计次循环尾 ()
.计次循环首 (超级列表框1.取表项数 (), N)
全临界.进入 ()
局_兑换状态 = 超级列表框1.取标题 (N - 1, 4)
全临界.退出 ()
.如果 (寻找文本 (局_兑换状态, “您已拥有”, , 假) ≠ -1 或 局_兑换状态 = “购买成功”)
超级列表框1.置状态图片 (N - 1, 0)
.否则
超级列表框1.置状态图片 (N - 1, 1)
.如果结束
系统_处理事件 ()
.计次循环尾 ()
.子程序 线程子程序
.参数 索引E, 整数型
.局部变量 局_商品TXT, 文本型
.局部变量 局_CKdata, 文本型
.局部变量 _F, 文本型, , "0"
.局部变量 局_账号用户名, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 acf_uid, 文本型
.局部变量 acf_stk, 文本型
.局部变量 acf_ltkid, 文本型
.局部变量 局_token, 文本型
.局部变量 F2_, 文本型, , "0"
.局部变量 要兑换的商品名称, 文本型
.局部变量 要兑换的商品价格, 文本型
.局部变量 要兑换的商品propid, 文本型
.局部变量 局_商品图片, 文本型
.局部变量 局_商品图片time, 文本型
.局部变量 返回txurlH5, 文本型
.局部变量 局_actId参, 文本型
.局部变量 appext, 文本型
.局部变量 purl, 文本型
.局部变量 str1, 文本型
.局部变量 str2, 文本型
.局部变量 游戏昵称, 文本型
.局部变量 局_bin, 字节集
.局部变量 msg, 文本型
.局部变量 优化价格, 文本型
窗口_置状态信息 (索引E, 2, “正在购买...”)
全临界E2.进入 ()
超级列表框1.置状态图片 (索引E, 0)
局_CKdata 超级列表框1.取标题 (索引E, 1)
局_商品TXT = 超级列表框1.取标题 (索引E, 3)
超级列表框1.保证显示 (索引E)
全临界E2.退出 ()
.如果真 (局_商品TXT = “”)
窗口_置状态信息 (索引E, 1, “请添加商品!”)
返回 ()
.如果真结束
F2_ = 分割文本 (局_商品TXT, “一”, )
.如果真 (取数组成员数 (F2_) < 4)
窗口_置状态信息 (索引E, 2, “商品格式错误x”)
返回 ()
.如果真结束
全临界E2.进入 ()
要兑换的商品名称 F2_ [1]
要兑换的商品价格 F2_ [2]
要兑换的商品propid F2_ [3]
局_商品图片 = 文本_取出中间文本 (F2_ [4], “square/”, “.jpg”)
局_商品图片time 文本_取右边 (F2_ [4], “_t=”)
全临界E2.退出 ()
_F 分割文本 (局_CKdata, “----”, )
.如果真 (取数组成员数 (_F) < 3)
窗口_置状态信息 (索引E, 1, “Cookie格式错误”)
返回 ()
.如果真结束
全临界E2.进入 ()
局_账号用户名 _F [1]
局_Cookie _F [3]
acf_uid 网页_取单条Cookie (局_Cookie, “acf_uid”, 真)
acf_stk 网页_取单条Cookie (局_Cookie, “acf_stk”, 真)
acf_ltkid 网页_取单条Cookie (局_Cookie, “acf_ltkid”, 真)
局_token acf_uid “_1_” acf_stk “_0_” acf_ltkid
全临界E2.退出 ()
.如果真 (登录和平集市 (局_token, 返回txurlH5) 假)
窗口_置状态信息 (索引E, 2, 返回txurlH5)
返回 ()
.如果真结束
' APP购买商品
局_actId参 文本_取右边 (返回txurlH5, “?”)
.如果真 (局_actId参 “”)
窗口_置状态信息 (索引E, 2, “登录小店失败”)
返回 ()
.如果真结束
' 调试输出 (“purl---”, purl)
全临界E2.进入 ()
.如果 (组合框2.现行选中项 = 0)
purl “https://apps.game.qq.com/daoju/igw/livebuy/?_service=buy.plug.svr.web&_plug_id=7200&_jsvar=buyInfo&acctype=livelink&_app_id=2123&iActionId=44042&propid=” 要兑换的商品propid “&paytype=1&source=9263298&sAnchorId=9263298&attach={%22ch%22:%220%22}&apptype=3&_biz_code=cjm&_act_id=44042&sLiveUserInfo={%22sAnchorId%22:%229263298%22,%22sVideoId%22:0}&” 局_actId参 “&appext=%7B%22user_price%22:” 要兑换的商品价格 “,%22sGoodsPic%22:%22” 局_商品图片 “%22,%22paytype%22:1%7D&_sid=8&set=8”
.否则
purl “https://apps.game.qq.com/daoju/igw/livebuy/?_service=buy.plug.svr.web&_plug_id=7200&_jsvar=buyInfo&acctype=livelink&_app_id=2123&iActionId=44042&propid=” 要兑换的商品propid “&paytype=5&source=9263298&sAnchorId=9263298&attach={%22ch%22:%220%22}&apptype=3&_biz_code=cjm&_act_id=44042&sLiveUserInfo={%22sAnchorId%22:%229263298%22,%22sVideoId%22:0}&” 局_actId参 “&appext=%7B%22user_price%22:” 要兑换的商品价格 “,%22sGoodsPic%22:%22” 局_商品图片 “%22,%22paytype%22:5%7D&_sid=8&set=8”
.如果结束
全临界E2.退出 ()
str1 编码_Utf8到Ansi (网页_访问_对象 (purl, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “sec-ch-ua-platform: ” #引号 + “” + #引号 + “” + #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; DCO-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36, Douyu_Android” #换行符 “sec-ch-ua: ” + #引号 + “” + #引号 + “” + #换行符 + “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”, , , 真, , ))
状态条1.置文本 (0, “购买:” + str1)
' 购买成功返回:'var buyInfo={"act_amount":800,"event_id":"DJC-CJM-0101113752-nazUnu-44042-007277","iPayType":"1","msg":"ok","newBalance":170,"ret":"0","sSerialNum":"CJM-20260101113752036-860804563","serial":"CJM-20260101113752036-860804563","serverTime":1767238672,"span":"0-4","trace_id":"070c4fd9ac0e50ad80ca64b83e8df299","ts":"1767238672"};
.如果真 (寻找文本 (str1, “msg” + #引号 + “:” + #引号 + “ok” + #引号, , 假) ≠ -1)
窗口_置状态信息 (索引E, 2, “购买成功”)
str2 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/igw/live?acctype=livelink&_jsvar=info&_service=other.livelink.getrole.out&_biz_code=cjm&_act_id=44042&_app_id=2123&” 局_actId参, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; DCO-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36, Douyu_Android” #换行符 “sec-ch-ua-platform: ” #引号 + “” + #引号 + “” + #换行符 + “Accept: */*” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
状态条1.置文本 (0, “查询:” + str2)
' 返回: var info={"area":1,"code":{"userid":"12353341"},"event_id":"DJC-CJM-0101111544-XPqqUw-44042-936077","gameOpenId":"osewR0kigZPfAHU-hL9PNVhhsqMk","openIdType":"openid","partition":0,"platId":1,"roleId":"3667375425","roleName":"小竖林里吃过亏","type":"wx"};
全临界E2.进入 ()
游戏昵称 = 文本_取出中间文本 (str2, “roleName” #引号 “:” #引号, #引号)
优化价格 = 到文本 (到整数 (要兑换的商品价格) ÷ 10)
保存日志2 (时间_到文本 (取现行时间 (), 1) + “ ” + 局_账号用户名 + “----” + 游戏昵称 + “----” + 要兑换的商品名称 + “----” + 优化价格)
局_bin = 文转图片P (要兑换的商品名称 + “ ” + #换行符 + 时间_格式化 (取现行时间 (), “yyyy年MM月dd日”, “ hh:mm:ss”, 真) + #换行符 + “兑换账号:” + 游戏昵称 + “(” + 局_账号用户名 + “)”)
全临界E2.退出 ()
.计次循环首 (3, )
.如果真 (写到文件_ (全PIC + “\” + 游戏昵称 + “-” + 要兑换的商品名称 + “.png”, 局_bin) 真)
跳出循环 ()
.如果真结束
.计次循环尾 ()
返回 ()
.如果真结束
msg = 文本_取出中间文本 (str1, “msg” + #引号 “:” + #引号, #引号)
.如果真 (msg “”)
msg str1
.如果真结束
窗口_置状态信息 (索引E, 2, msg)
.子程序 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, #常量10))
csrf_token 文本_取出中间文本 (返回CK, “cvl_csrf_token=”, “;”)
返回 (csrf_token)
.子程序 _一键查询换绑时间_被选择
.局部变量 p, 整数型
.计次循环首 (超级列表框1.取表项数 (), p)
系统_处理事件 ()
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
启动线程 (&子程序查换绑时间, p 1, )
程序_延时 (10)
.如果真结束
.计次循环尾 ()
.子程序 子程序查换绑时间
.参数 索引E, 整数型
.局部变量 局_文本, 文本型
.局部变量 局_ctn, 文本型
.局部变量 局_F, 文本型, , "0"
.局部变量 局_uid, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 str, 文本型
.局部变量 yyjson, json对象
.局部变量 changeRoleWaitTime, 整数型
.局部变量 timetxt, 文本型
.局部变量 局_txt, 文本型
全临界.进入 ()
局_文本 = 超级列表框1.取标题 (索引E, 1)
局_ctn = 超级列表框1.取标题 (索引E, 5)
全临界.退出 ()
局_F = 分割文本 (局_文本, “----”, )
.如果真 (取数组成员数 (局_F) < 3)
状态条1.置文本 (0, “Cookie格式错误”)
返回 ()
.如果真结束
局_uid 局_F [2]
局_Cookie 局_F [3]
' 'actAlias=20220616CJSZU
str 编码_Utf8到Ansi (网页_访问_对象 (“https://www.douyu.com/japi/carnivalApi/v2/tencent/bindInfo?actAlias=20250213NQCYX”, , , 局_Cookie, , #常量3))
yyjson.清空 ()
yyjson.解析 (str)
.如果 (yyjson.取文本 (“msg”) “success”)
changeRoleWaitTime yyjson.取整数 (“data/changeRoleWaitTime”)
timetxt 时间_秒到时分秒格式 (changeRoleWaitTime)
窗口_置状态信息 (索引E, 2, “释放时间:” timetxt)
.否则
窗口_置状态信息 (索引E, 2, “查询失败”)
.如果结束
.子程序 _时钟1_周期事件
启动线程 (&等待抢购, , )
.子程序 等待抢购
.如果真 (时间_取北京时间 () = 到时间 (到文本 (取年份 (取现行时间 ())) + “年” + 到文本 (取月份 (取现行时间 ())) + “月” + 到文本 (取日 (取现行时间 ())) + “日” + 编辑框_时.内容 + “时” + 编辑框_分.内容 + “分” + 编辑框_秒.内容 + “秒”))
时钟1.时钟周期 0
.如果真 (工作线程池EX.取_状态 () = 1)
返回 ()
.如果真结束
_按钮_启动_被单击 ()
.如果真结束
.子程序 _选择框_定时抢购_被单击
.如果 (选择框_定时抢购.选中 = 真)
选择框_心跳.选中
_全选_被选择 ()
提示框 (“已开启定时抢购√”, , , , 1000)
时钟1.时钟周期 = 1000
启动线程 (&等待抢购, , )
.否则
时钟1.时钟周期 0
提示框 (“已关闭定时抢购×”, , , , 1000)
.如果结束
.子程序 _一键添加商品_被选择
.局部变量 局_商品名, 文本型
启动线程 (&子程序添加商品列表, , )
.子程序 子程序添加商品列表
.局部变量 i, 整数型
.局部变量 局_商品名, 文本型
局_商品名 = 组合框1.取项目文本 (组合框1.现行选中项)
.计次循环首 (超级列表框1.取表项数 (), i)
.如果真 (超级列表框1.取当前状态图片 (i - 1) = 1)
超级列表框1.置标题 (i - 1, 3, 局_商品名)
.如果真结束
系统_处理事件 ()
.计次循环尾 ()
状态条1.置文本 (0, “成功添加商品:” + 局_商品名)
.子程序 _按钮1_被单击
.局部变量 P, 整数型
.计次循环首 (超级列表框1.取表项数 (), P)
系统_处理事件 ()
超级列表框1.置状态图片 (P - 1, 1)
.计次循环尾 ()
.子程序 _按钮2_被单击
.局部变量 i, 整数型
.局部变量 局_商品名称, 文本型
.局部变量 查找名称, 文本型
局_商品名称 = 删全部空 (编辑框_商品名称.内容)
.如果真 (局_商品名称 “”)
提示框 (“请输入商品名称”)
返回 ()
.如果真结束
.计次循环首 (组合框1.取项目数 (), i)
查找名称 = 组合框1.取项目文本 (i - 1)
.如果真 (寻找文本 (查找名称, 局_商品名称, , 假) ≠ -1)
组合框1.现行选中项 = i - 1
跳出循环 ()
.如果真结束
.计次循环尾 ()
.子程序 _一键查询碎片_被选择
.局部变量 p, 整数型
.计次循环首 (超级列表框1.取表项数 (), p)
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
启动线程 (&查询碎片, p 1, )
程序_延时 (10)
.如果真结束
.计次循环尾 ()
.子程序 查询碎片
.参数 参_索引E, 整数型
.局部变量 局_文本Ck, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 str, 文本型
.局部变量 balance, 文本型
.局部变量 _F, 文本型, , "0"
.局部变量 acf_uid, 文本型
.局部变量 acf_stk, 文本型
.局部变量 acf_ltkid, 文本型
.局部变量 局_token, 文本型
.局部变量 返回txurlH5, 文本型
.局部变量 局_actId参, 文本型
.局部变量 yyjson, json对象
.局部变量 gameOpenId, 文本型
.局部变量 roleId, 文本型
.局部变量 str2, 文本型
.局部变量 msg, 文本型
.局部变量 str_x, 文本型
.局部变量 jb2, 文本型
.局部变量 type, 文本型
.局部变量 areaid, 文本型
.局部变量 plat, 文本型
局_文本Ck = 超级列表框1.取标题 (参_索引E, 1)
_F 分割文本 (局_文本Ck, “----”, )
.如果真 (取数组成员数 (_F) < 3)
窗口_置状态信息 (参_索引E, 2, “Cookie格式错误”)
返回 ()
.如果真结束
全临界.进入 ()
局_Cookie _F [3]
acf_uid 网页_取单条Cookie (局_Cookie, “acf_uid”, 真)
acf_stk 网页_取单条Cookie (局_Cookie, “acf_stk”, 真)
acf_ltkid 网页_取单条Cookie (局_Cookie, “acf_ltkid”, 真)
局_token acf_uid “_1_” acf_stk “_0_” acf_ltkid
全临界.退出 ()
' 调试输出 (“局_token--”, 局_token)
.如果真 (登录和平集市 (局_token, 返回txurlH5) 假)
窗口_置状态信息 (参_索引E, 2, 返回txurlH5)
返回 ()
.如果真结束
全临界.进入 ()
局_actId参 文本_取右边 (返回txurlH5, “?”)
全临界.退出 ()
str 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/igw/live?acctype=livelink&_jsvar=info&_service=other.livelink.getrole.out&_biz_code=cjm&_act_id=44042&_app_id=2123&” 局_actId参, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; HBN-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Mobile Safari/537.36, Douyu_Android” #换行符 “Accept: */*” #换行符 “X-Requested-With: air.tv.douyu.android” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
yyjson.清空 ()
yyjson.解析 (文本_取出中间文本 (str, “var info=”, “;”))
gameOpenId yyjson.取文本 (“gameOpenId”)
roleId yyjson.取文本 (“roleId”)
plat yyjson.取文本 (“platId”)
type yyjson.取文本 (“type”)
areaid 选择 (type “wx”, “1”, “2”)
.如果真 (gameOpenId ≠ “” 且 roleId ≠ “”)
str2 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/igw/live/?_jsvar=jbInfos&_service=pay.idip.gamecoin.get&_app_id=2123&acctype=ttpp&areaid=” areaid “&eventid=&interwork=0&openid=” gameOpenId “&openkey=openkey&partition=0&pay_token=&plat=” plat “&plat_pc=0&roleid=” roleId “&_biz_code=cjm&_act_id=44042&coin_type=1&_sid=6”, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; HBN-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Mobile Safari/537.36, Douyu_Android” #换行符 “Accept: */*” #换行符 “X-Requested-With: air.tv.douyu.android” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
' '调试输出 (取程序名称 (1), str2)
状态条1.置文本 (0, “余额:” + str2)
yyjson.清空 ()
yyjson.解析 (文本_取出中间文本 (str2, “var jbInfos=”, “;”))
jb2 yyjson.取文本 (“jb2”)
窗口_置状态信息 (参_索引E, 2, “碎片:” + 选择 (jb2 ≠ “”, jb2, str2))
返回 ()
.如果真结束
msg = 文本_取出中间文本 (str, “msg” + #引号 “:” + #引号, #引号)
.如果真 (msg “”)
msg str
.如果真结束
窗口_置状态信息 (参_索引E, 2, msg)
.子程序 _选择框_心跳_被单击
.如果真 (选择框_心跳.选中 = 真)
时钟1.时钟周期 0
选择框_定时抢购.选中 = 假
.如果真结束
.子程序 _组合框1_列表项被选择
.局部变量 当前项目, 文本型
.局部变量 _F, 文本型, , "0"
当前项目 = 组合框1.取项目文本 (组合框1.现行选中项)
_F = 分割文本 (当前项目, “一”, )
.如果真 (取数组成员数 (_F) < 5)
编辑框_剩余量.内容 = “NULL”
返回 ()
.如果真结束
编辑框_剩余量.内容 = _F [5]
.子程序 _一键查询购买记录_被选择
.局部变量 p, 整数型
.计次循环首 (超级列表框1.取表项数 (), p)
.如果真 (超级列表框1.取当前状态图片 (p - 1) = 1)
启动线程 (&查询兑换记录, p 1, )
程序_延时 (10)
.如果真结束
.计次循环尾 ()
.子程序 查询兑换记录
.参数 参_索引E, 整数型
.局部变量 局_文本Ck, 文本型
.局部变量 局_Cookie, 文本型
.局部变量 str, 文本型
.局部变量 balance, 文本型
.局部变量 _F, 文本型, , "0"
.局部变量 acf_uid, 文本型
.局部变量 acf_stk, 文本型
.局部变量 acf_ltkid, 文本型
.局部变量 局_token, 文本型
.局部变量 返回txurlH5, 文本型
.局部变量 局_actId参, 文本型
.局部变量 yyjson, json对象
.局部变量 yyjson2, json对象
.局部变量 gameOpenId, 文本型
.局部变量 roleId, 文本型
.局部变量 str2, 文本型
.局部变量 msg, 文本型
.局部变量 str_x, 文本型
.局部变量 jb2, 文本型
.局部变量 兑换list, 整数型
.局部变量 i, 整数型
.局部变量 sGoodsInfo, 文本型
.局部变量 p, 整数型
.局部变量 sGoodsName, 文本型
.局部变量 兑换记录组, 文本型, , "0"
.局部变量 局_合并str, 文本型
.局部变量 sPacketName, 文本型
局_文本Ck = 超级列表框1.取标题 (参_索引E, 1)
_F 分割文本 (局_文本Ck, “----”, )
.如果真 (取数组成员数 (_F) < 3)
窗口_置状态信息 (参_索引E, 2, “Cookie格式错误”)
返回 ()
.如果真结束
全临界.进入 ()
局_Cookie _F [3]
acf_uid 网页_取单条Cookie (局_Cookie, “acf_uid”, 真)
acf_stk 网页_取单条Cookie (局_Cookie, “acf_stk”, 真)
acf_ltkid 网页_取单条Cookie (局_Cookie, “acf_ltkid”, 真)
局_token acf_uid “_1_” acf_stk “_0_” acf_ltkid
全临界.退出 ()
' 调试输出 (“局_token--”, 局_token)
.如果真 (登录和平集市 (局_token, 返回txurlH5) 假)
窗口_置状态信息 (参_索引E, 2, 返回txurlH5)
返回 ()
.如果真结束
全临界.进入 ()
局_actId参 文本_取右边 (返回txurlH5, “?”)
全临界.退出 ()
str 编码_Utf8到Ansi (网页_访问_对象 (“https://apps.game.qq.com/daoju/igw/live/?_service=order.list&_jsvar=info&acctype=livelink&_app_id=2123&hist=0&ps=10&pn=1&_biz_code=cjm&_act_id=44042&” 局_actId参 “&_sid=8&set=8”, , , , , “Host: apps.game.qq.com” #换行符 “Connection: keep-alive” #换行符 “Pragma: no-cache” #换行符 “Cache-Control: no-cache” #换行符 “User-Agent: Mozilla/5.0 (Linux; Android 12; HBN-AL00 Build/V417IR; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Mobile Safari/537.36, Douyu_Android” #换行符 “Accept: */*” #换行符 “X-Requested-With: air.tv.douyu.android” #换行符 “Sec-Fetch-Site: same-site” #换行符 “Sec-Fetch-Mode: no-cors” #换行符 “Sec-Fetch-Dest: script” #换行符 “Referer: https://app.daoju.qq.com/”))
yyjson.清空 ()
yyjson.解析 (文本_取出中间文本 (str, “var info=”, “;”))
兑换list yyjson.取成员数 (“data/list”)
.计次循环首 (兑换list, i)
sGoodsInfo yyjson.取文本 (“data/list/” 到文本 (i 1) “/sGoodsInfo”)
yyjson2.清空 ()
yyjson2.解析 (sGoodsInfo)
.计次循环首 (yyjson2.取成员数 (“list”), p)
sPacketName yyjson2.取文本 (“list/” 到文本 (p 1) “/sPacketName”)
加入成员 (兑换记录组, sPacketName)
.计次循环尾 ()
.计次循环尾 ()
局_合并str = 数组_合并_快速 (兑换记录组, “,”)
超级列表框1.置标题 (参_索引E, 4, 到文本 (取数组成员数 (兑换记录组)) + “*” + 局_合并str)