第二课-服务器和网关对接,TOKEN验证及算法。
------------------------------------TOKEN源码
.子程序 TOKEN验证
.参数 GET数据, 文本型
.参数 当前客户, 文本型
.局部变量 字符验证, 文本型
.局部变量 GET分割, 文本型, , "0"
.局部变量 数组重新排序, 文本型, , "0"
.局部变量 验证码, 文本型
.局部变量 数据加密, 类_数据操作
.局部变量 数据对比, 文本型
字符验证 = 子文本替换 (GET数据, “signature=”, “”, , , 真)
字符验证 = 子文本替换 (字符验证, “echostr=”, “”, , , 真)
字符验证 = 子文本替换 (字符验证, “timestamp=”, “”, , , 真)
字符验证 = 子文本替换 (字符验证, “nonce=”, “”, , , 真)
.如果真 (寻找文本 (字符验证, “&”, , 假) = -1)
日志输出 (“TOKEN验证失败..”)
返回 ()
.如果真结束
GET分割 = 分割文本 (字符验证, “&”, )
加入成员 (数组重新排序, GET分割 [3])
加入成员 (数组重新排序, GET分割 [4])
加入成员 (数组重新排序, _启动窗口.编辑框_微信接口_TOKEN.内容)
数组_排序 (数组重新排序, , )
验证码 = 数组重新排序 [1] + 数组重新排序 [2] + 数组重新排序 [3]
数据对比 = 数据加密.hex_sha1 (到字节集 (验证码))
.如果真 (GET分割 [1] = 数据对比)
日志输出 (“TOKEN验证成功...”)
服务器返回数据 (当前客户, #wx_协议头 + 时间_转为GMT格式 (取现行时间 ()) + #换行符 + #换行符 + GET分割 [2])
返回 ()
.如果真结束
日志输出 (“TOKEN验证失败...”)
服务器返回数据 (当前客户, GET分割 [1])
------------------------------------
第三课-用户关注触发及保存用户信息到数据库。
|