目录

演示文档-常规验证-扣点


函数原型

//======================================================
//函数名称:hwd_deductPoint
//返回类型:bool 
//函数说明:扣点,计点模式可用.
//参数<1>:point,扣除点数,最小为1点
//参数<2>:remarks,扣点备注,管理可在后台查看,用户可在个人中心查看(请在"软件编辑"中开启"记录扣点日志")
//参数<3>:interval,扣点间隔(单位:秒),0为不限,即每次都扣点.大于零代表指定间隔内不重复扣点,例如1天只扣一次点,那么间隔就是86400秒,需在软件后台开启:记录扣点日志().
//特别说明:只有相同的point和remarks才会过滤,例如:hwd_deductPoint(1,"日费用",86400) 和 hwd_deductPoint(30,"月费用",2592000);这两个并不冲突,因为扣点数量和扣点备注均不同.
//======================================================
extern "C" HWD_API bool __stdcall hwd_deductPoint(int point, const char* remarks, int interval);

调用方法

hwd_deductPoint(1,"备注",60);

易语言调用方法

护卫盾_扣点(1,"备注",60)

特别说明

  • 如果未开启记录扣点日志则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步使用的互斥体为登录扣点[操作的账号]这里有个可变因素操作的账号,使用此方法可以保证每个操作的账号为独立的互斥体。