|
发表于 2019-6-5 22:50:33
|
显示全部楼层
广东省佛山市
兄弟。你这样写一个接口太累了。
用我的这个类吧。你加一个新的接口,很简单的
- .版本 2
- .程序集 类_TopSdk
- .程序集变量 appkey, 文本型
- .程序集变量 appsecret, 文本型
- .程序集变量 TopServer, 文本型
- .程序集变量 session, 文本型
- .程序集变量 webcookie, 文本型
- .子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用
- .子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用
- .子程序 初始化, , 公开
- .参数 appkey_, 文本型
- .参数 appsecret_, 文本型
- .参数 useHttps, 逻辑型, 可空
- .参数 session_, 文本型, 可空
- appkey = appkey_
- appsecret = appsecret_
- .如果 (是否为空 (useHttps) 或 useHttps)
- TopServer = “https://eco.taobao.com/router/rest?”
- .否则
- TopServer = “http://gw.api.taobao.com/router/rest?”
- .如果结束
- session = session_
- .子程序 淘口令生成, 文本型, 公开
- .参数 text, 文本型, , 口令弹框内容
- .参数 url, 文本型, , 口令跳转目标页
- .参数 logo, 文本型, 可空, 口令弹框logoURL
- .参数 ext, 文本型, 可空, 扩展字段JSON格式
- .参数 user_id, 文本型, 可空, 生成口令的淘宝用户ID 通过淘口令加好友,一般用不上吧。
- .局部变量 params, 文本型
- .局部变量 args, 文本型, , "0"
- .局部变量 webText, 文本型
- ' user_id
- 加入成员 (args, “method=taobao.tbk.tpwd.create”)
- 加入成员 (args, “url=” + url)
- 加入成员 (args, “text=” + text)
- 加入成员 (args, “logo=” + 选择 (logo = “”, “[img]https://img.alicdn.com/tfs/TB1_uT8a5ERMeJjSspiXXbZLFXa-143-59.png[/img]”, logo))
- 加入成员 (args, “ext=” + 选择 (ext = “”, “{}”, ext))
- 加入成员 (args, “user_id=” + user_id)
- params = signParams (args)
- webText = http_Post (TopServer, params)
- 返回 (webText)
- .子程序 signParams, 文本型
- .参数 args, 文本型, 数组, 不同的API有不参的参数,这里的结构不要有=号。比如 page=5应该传 page5
- .局部变量 params, 文本型
- .局部变量 i, 整数型
- .局部变量 signstr, 文本型
- .局部变量 temp, 文本型
- .局部变量 left, 文本型
- .局部变量 right, 文本型
- 加入成员 (args, “app_key=” + appkey)
- 加入成员 (args, “format=json”)
- 加入成员 (args, “sign_method=md5”)
- 加入成员 (args, “v=2.0”)
- 加入成员 (args, “session=” + session)
- 加入成员 (args, “timestamp=” + 时间_到文本 (取现行时间 (), 1, ))
- .计次循环首 (取数组成员数 (args), i)
- left = 文本_取左边 (args [i], “=”)
- right = 子文本替换 (args [i], left + “=”, , , , 真)
- .判断开始 (left = “url” 或 left = “logo” 或 left = “text”)
- params = params + left + “=” + 编码_URL编码 (right, 真, 真) + “&”
- args [i] = left + 编码_gb2312到utf8 (right)
- .默认
- params = params + left + “=” + right + “&”
- args [i] = left + right ' 去掉。里面是用不上的
- .判断结束
- .计次循环尾 ()
- 数组_排序 (args, , )
- .计次循环首 (取数组成员数 (args), i)
- ' 因为上面的排序有点问题。page和page_size先放pagesize在前面了。会导致签名失败
- .如果真 (取文本左边 (args [i], 9) = “page_size”)
- .如果真 (i < 取数组成员数 (args))
- .如果真 (取文本左边 (args [i + 1], 4) = “page”)
- ' 调换位置
- temp = args [i]
- args [i] = args [i + 1]
- args [i + 1] = temp
- .如果真结束
- .如果真结束
- .如果真结束
- signstr = signstr + args [i]
- .计次循环尾 ()
- params = params + “&sign=” + 校验_取md5_文本 (appsecret + signstr + appsecret, 假, 真, )
- 返回 (params)
- .子程序 http_Post, 文本型, , post cookie使用类变量webcookie sdk统一使用一个访问接口避免模块BUG
- .参数 url, 文本型
- .参数 postdata, 文本型
- .参数 isUtf8, 逻辑型, 可空
- .如果真 (是否为空 (isUtf8))
- isUtf8 = 真
- .如果真结束
- .如果 (isUtf8)
- 返回 (编码_Utf8到Ansi (网页_访问_对象 (url, 1, postdata, webcookie, webcookie)))
- .否则
- 返回 (到文本 (网页_访问_对象 (url, 1, postdata, webcookie, webcookie)))
- .如果结束
- .子程序 http_Get, 文本型
- .参数 url, 文本型
- .参数 isUtf8, 逻辑型, 可空
- .局部变量 max, 整数型
- .局部变量 i, 整数型
- .如果真 (是否为空 (isUtf8))
- isUtf8 = 真
- .如果真结束
- .如果 (isUtf8)
- 返回 (编码_Utf8到Ansi (网页_访问_对象 (url, , , webcookie, webcookie)))
- .否则
- 返回 (到文本 (网页_访问_对象 (url, , , webcookie, webcookie)))
- .如果结束
复制代码
具体写一个新的API。你参考里面的 【淘口令生成】 这个是一个可以使用的类。里面要用到精易模块 |
|