目录

常规验证-扣点


请求地址

管理后台创建软件后获取例:http://demo.huweidun.cn/ac.php?s=8508c320cacb0634c0e241df2f3345fe

公共提交参数

参数名 示例值 参数说明
sid
00362ace-e994-411a-a9bf-f31f9177b6f3
软件SID,后台添加软件后获得。
uuid d6fadd40-7267-4178-9b35-4c8ff61e0c07 封包安全码,每次必须变动,用于校验数据合法性方案之一。
t 1630766594 客户端10位时间戳。
m1 590b782aa78cc3333c84eaa975ab9dc1 封包token(sid+key+t 拼接后取MD5值)
m2 b1dfd79c7cf0f5df8f77c12352af952c 当前程序MD5值,如果开启校验MD5,则此值必填,可于程序运行时动态读取自身MD5值。
m3 f50ebce838ae4b8e212578dd0bc23d9f moduleMd5,购买授权后获得,如使用dll文件,请传入DLLMD5值,同时在”后台-系统-系统设置”中填写。
mcode b4f43bb8-32dc-4d9a-9094-74e39cd61c37 客户端机器码(自行获取机器码,若机器码变动则会提示转绑[如果开启”绑定机器码”])
clientid 36ebe72d-51d8-4252-b99c-37da152717ac 客户端运行ID,此ID在软件退出之前不可变动,也就是每次启动都生成一个新的clientid,软件退出即作废。
webkey 0241946994e62e289e4622b07154b961 通用秘钥(webKey),购买授权后获得。

公共返回参数

参数名 示例值 参数说明
status
success
success为正常,error为错误。
code 200 200为正常,其它为错误。
msg 账号或密码错误. 错误内容,无错误返回空。
token 324daaf6558361aa8f27d607c72262af 返回封包token(提交封包中的m1+返回封包中t,拼接后取MD5值)
t 1630766888 封包时间戳
uuid d6fadd40-7267-4178-9b35-4c8ff61e0c07 提交封包的UUID,原样返回。
result 请查看不同函数说明 数据主体,Json格式,每个函数返回的数据不同,具体请参照对应函数说明。
result_token 627b0d546ccb1d4896373305d74c6933 数据主体token,将数据以ASCII首字母递增排序,拼接键名与键值,拼接完毕后加上通信秘钥一起取MD5值。

传参说明

  • 只需按规则拼接参数后加密传送即可。

  • 封包内参数分为公共参数和函数参数。

  • 公共参数为所有命令均需要提交的参数。

  • 函数参数根据不同函数说明决定提交哪个参数,对应函数内均有说明。


函数参数

action=deductpoint&user=扣点账号&num=扣除点数&msg=扣点备注&interval=0

提交示例

{
    "action": "deductpoint",
    "clientid": "fd3c15de-ef05-461b-72bf-edb342ab118c",
    "interval": "0",
    "key": "GorgBdTnRDYxQGxKC9pYB42O933Pzxx4",
    "m1": "00f8812c19778ad923d043ba03069016",
    "m2": "d41d8cd98f00b204e9800998ecf8427e",
    "m3": "a0368bba05140b66e8172247da2650ab",
    "mcode": "de11dbe0-aff6-d5ff-0e38-76e51d30ee21",
    "msg": "测试扣点5点.",
    "num": "5",
    "sid": "c1162b61-fa71-4214-b66b-014ae6b0a99a",
    "t": "1630822224",
    "user": "user6",
    "uuid": "318cadca-e153-4104-7e15-9a5c137fc933",
    "webkey": "943e508419c4cd486ab894d3f7dbee50"
}

成功返回

{
    "status": "success",
    "code": "200",
    "uuid": "318cadca-e153-4104-7e15-9a5c137fc933",
    "result": {
        "point": "495"
    },
    "msg": "",
    "token": "62662eb5a798ca738b274191f13c3e5b",
    "t": 1630822223,
    "result_token": "0b66a18dc90a9f23429aded114fef037"
}

数据主体解析(result)

point 点数余额。

失败返回

一般失败原因为账户点数余额不足,具体请参照返回状态码。

{
    "status": "error",
    "code": "225",
    "uuid": "c73684e4-fa74-4b87-8391-fa0c00e564d8",
    "result": null,
    "msg": "\u70b9\u6570\u4e0d\u8db3,\u6263\u70b9\u5931\u8d251.",
    "token": "08b5663c923cfd71efc2c2a845f94d2d",
    "t": 1630822360,
    "result_token": null
}

特别说明

  • 如果未开启记录扣点日志则remarks和interval参数无效。每次调用该函数,均扣点。

  • 如果已开启记录扣点日志,则只有相同的数量和备注,才会校验interval。

  • 扣点示例(已开启记录扣点日志)下方演示了多项目穿插扣点。

扣点时间 扣除点数 扣点备注 扣点间隔 实际是否扣点 原因说明
2020年9月25日12:00:00 5 日功能费用 86400 限制86400秒内不重复扣点,本次为首次扣点,所以会扣除
2020年9月25日14:00:00 5 日功能费用 86400 相同的点数与备注,且扣点间隔未超过86400秒,所以不会扣除
2020年9月25日16:00:00 5 日功能费用 86400 相同的点数与备注,且扣点间隔未超过86400秒,所以不会扣除
2020年9月25日17:00:00 1 日功能附加费用 86400 拥有不同的点数与备注,是新功能扣点,所以会扣除
2020年9月25日18:00:00 5 日功能费用 86400 相同的点数与备注,且扣点间隔未超过86400秒,所以不会扣除
2020年9月25日19:00:00 1 日功能附加费用 86400 相同的点数与备注,且扣点间隔未超过86400秒,所以不会扣除
2020年9月26日12:00:01 5 日功能费用 86400 虽然拥有相同的点数与备注,但间隔已超过86400秒,所以会扣除
2020年9月26日17:00:01 1 日功能附加费用 86400 虽然拥有相同的点数与备注,但间隔已超过86400秒,所以会扣除

应用场景

  • 记录扣点日志
    用户群体有查看扣点明细的需求下,开启记录扣点日志后,用户可以在用户中心查看历史扣点记录,消费更加清晰。

  • 互斥体
    扣点函数中的扣除点数扣点备注为检测重复扣点的互斥体,如果两项均相同,则校验是否在扣点间隔内,在间隔内,说明没到扣点时间,不扣点,如已超过间隔,则扣点。常应用于不需要重复扣点的场景,例如24小时内使用某功能,不重复扣点,那么间隔就是86400秒。

应用举例

例子前提:微博养号软件,三个功能,1.注册账号(扣5点),2.登录账号(每号24小时内扣2点),发文(扣2点)。

  1. 每注册一个账号hwd_deductPoint(5,"注册扣点",0);这里无需校验扣点间隔,执行一次扣5点。
  2. 每登录一个账号hwd_deductPoint(2,"登录扣点[操作的账号]",86400);首次执行扣2点,24小时内同账号重复登陆,不重复扣点。
  3. 每发布一条博文hwd_deductPoint(2,"发文扣点",0);这里无需校验扣点间隔,执行一次扣2点。
  4. ps.第2步使用的互斥体为登录扣点[操作的账号]这里有个可变因素操作的账号,使用此方法可以保证每个操作的账号为独立的互斥体。

错误码

错误码 错误消息
224 扣点账户不存在.
226 扣点失败,未知原因,请联系客服.
225 点数不足,扣点失败.