Skip to content

易语言接入 A7验证 完整教程

本教程面向易语言开发者,目标是 30 分钟内完成「程序启动 → 卡密登录 → 心跳保活 → 退出」。所有代码基于 易语言 SDK 页的 A7Client 模块。

准备工作

  1. 主站 注册并创建程序,拿到 AppIdAppKey。见 获取 AppID 与 API 密钥
  2. 准备一张卡密(或通过 UserRegin + 卡密注册激活)。
  3. 易语言安装精易模块(提供 类_json、网页访问等命令)。

第一步:新建模块,放入核心算法

易语言 SDK 页的 RC4加密MD5签名A7Client 三个部分复制到你的模块。

  • MD5签名 直接调用易语言自带的 取数据摘要 ()
  • RC4加密 为手写实现,返回十六进制文本。

第二步:程序启动时握手

epl
.子程序 _启动子程序
    初始化 ("150018", "YOUR_APP_KEY")
    Init握手 ()
    调试输出 ("ApiPassword=", ApiPassword)

时间戳要对

Init握手 里的 取秒级时间戳 () 必须返回正确的 Unix 秒级时间,否则返回 1014。若你的实现不准,先用 调试输出 打印与服务端时间差是否在 300 秒内。

第三步:卡密登录

拼接明文参数并调用 SingleLogin

epl
plain = "Card=" + 编辑框_卡密.内容 + "&Mac=" + 取机器码 () + "&DeviceName=MyPC"
resp = 调用 ("SingleLogin", plain)

成功时从 data.token 取 Token,失败按 code 提示(卡密无效 1004、已过期 1005、黑名单 1023 等)。完整错误码见 错误码对照表

第四步:心跳保活

用一个时钟组件(周期 300000 毫秒 = 5 分钟)定时调用:

epl
.子程序 _时钟1_周期事件
    .局部变量 hb, 文本型
    hb = 调用 ("UserHeartbeat", "Token=" + token + "&Type=card")
    ' 解析 code:1007=Token 失效需重新登录,1005=已过期
  • 卡密登录的 Token 用 Type=card,用户登录用 Type=user(详见 心跳保活机制)。
  • 若心跳返回 1007,清空 token 并弹回登录窗口。

第五步:退出生效

程序退出时无需调用注销接口——服务端靠心跳判定在线,停止心跳超过宽限期即视为离线。详见 离线授权与宽限期

完整流程一览

text
启动 → 初始化 + Init握手
     → 输入卡密 → SingleLogin → 拿到 token
     → 时钟(5min) → UserHeartbeat(Type=card)
     → 退出(停止心跳即可)

常见问题

现象原因解决
一直 1014本地时间不对校准系统时间,检查时间戳实现
1010 签名错误RC4/MD5 拼接不对对比 签名校验 的两条公式
1004 卡密无效卡密输错或不属于该产品核对卡密与 AppId

相关链接

A7验证 · 软件授权与网络验证平台