Discuz7.0论坛任务设计流程与数据结构

前端之家收集整理的这篇文章主要介绍了Discuz7.0论坛任务设计流程与数据结构前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

  Discuz!7.0是康盛创想(Comsenz)公司于2008年12月份发布的一款论坛BBS建站产品。Discuz!7.0论坛任务开发文档本期就为大家介绍下。@H_502_1@  @H_502_1@  //note 任务名称 $task_name = $tasklang['gift_name']; //note 任务描述 $task_description = $tasklang['gift_desc']; //note 任务图标,图标文件上传到论坛 images/tasks 目录,这里填写图标文件名即可。留空则使用默认图标。图标尺寸最好是 64X64 。@H_502_1@  @H_502_1@  Discuz! 任务系统预留了安装、升级、卸载等多个接口,便于插件作者设计新的任务类型。@H_502_1@  @H_502_1@  一、任务设计流程:@H_502_1@  @H_502_1@  o 熟练使用 Discuz! 论坛系统后,对希望完善或补充的个性化功能进行评估,进而提出任务的功能需求。@H_502_1@  @H_502_1@  o 对任务做一个概括性的设计,例如:完成任务的条件,需要使用什么参数,配置哪些选项、数据结构如何设计等等。@H_502_1@  @H_502_1@  o 编写相应程序代码,实现所需的功能并进行代码测试、兼容性测试和代码改进。@H_502_1@  @H_502_1@  o 编写任务说明书,其中包括:任务适用的 Discuz! 版本、功能概述、兼容性声明、安装方法、使用方法、卸载方法等等。@H_502_1@  @H_502_1@  o 将任务提供给他人,或自己使用,根据使用者反馈,对任务进行完善。@H_502_1@  @H_502_1@  二、任务脚本命名规范:@H_502_1@  @H_502_1@  o 主程序文件 *.inc.PHP 置于 include/tasks/ 目录下。@H_502_1@  @H_502_1@  o 配置文件 *.cfg.PHP 置于 include/tasks/ 目录下。@H_502_1@  @H_502_1@  o 主程序文件配置文件文件名部分必须一致,比如:gift.inc.PHP 和 gift.cfg.PHP。@H_502_1@  @H_502_1@  三、任务数据结构:@H_502_1@  @H_502_1@  任务表(cdb_tasks):@H_502_1@  @H_502_1@  taskid 任务的唯一 ID,自动递增@H_502_1@  @H_502_1@  relatedtaskid 依存任务ID:必须完成依存任务才能申请该任务@H_502_1@  @H_502_1@  available 是否启用@H_502_1@  @H_502_1@  name 任务名称 不超过 50 字节@H_502_1@  @H_502_1@  description 任务描述 支持 html@H_502_1@  @H_502_1@  icon 任务图标 必须是 images/tasks 目录下的文件 这里只需文件名即可 留空使用默认图标@H_502_1@  @H_502_1@  applicants 已申请任务人次@H_502_1@  @H_502_1@  achievers 已完成任务人次@H_502_1@  @H_502_1@  tasklimits 允许申请并完成该任务的人次上限@H_502_1@  @H_502_1@  applyperm 允许申请任务的用户组ID(使用 隔开,如: 1 2 3)@H_502_1@  @H_502_1@  scriptname 任务脚本文件名(如:gift)@H_502_1@  @H_502_1@  starttime 任务上线时间(unix时间戳)@H_502_1@  @H_502_1@  endtime 任务下线时间(unix时间戳)@H_502_1@  @H_502_1@  period 任务周期 单位:小时 默认为0表示一次性任务 设置为24即1天表示日常任务@H_502_1@  @H_502_1@  reward 奖励类型,credit: 积分,magic: 道具,medal: 勋章,invite: 邀请码,group: 特殊用户组@H_502_1@  @H_502_1@  prize 奖品: 哪一个扩展积分,道具ID,勋章ID,邀请码有效期, 特殊用户组ID@H_502_1@  @H_502_1@  bonus 奖品数量/有效期: 积分数量,道具数量,勋章有效期,邀请码数量,特殊用户组有效期@H_502_1@  @H_502_1@  displayorder 显示顺序@H_502_1@  @H_502_1@  任务变量表(cdb_taskvars):@H_502_1@  @H_502_1@  taskvarid 任务变量的唯一 ID,自动递增@H_502_1@  @H_502_1@  taskid 任务ID@H_502_1@  @H_502_1@  sort 变量类别(apply:用于申请任务的条件 complete:用于完成任务的条件 setting:用于任务设置)@H_502_1@  @H_502_1@  name 变量名称@H_502_1@  @H_502_1@  description 变量描述@H_502_1@  @H_502_1@  variable 变量名@H_502_1@  @H_502_1@  type 变量类型(数字:number 字串:text 文本:textarea 开关:radio 选择:select)@H_502_1@  @H_502_1@  value 变量值@H_502_1@  @H_502_1@  extra 变量附加值(当变量类型为 select 时,变量值可选的取值范围)@H_502_1@  @H_502_1@  我的任务表(cdb_mytasks):@H_502_1@  @H_502_1@  uid 会员 UID@H_502_1@  @H_502_1@  username 用户名@H_502_1@  @H_502_1@  taskid 任务 ID@H_502_1@  @H_502_1@  status 任务状态 -1失败 0进行中 1已完成@H_502_1@  @H_502_1@  csc 任务进度(浮点数,任务进度百分比,保留小数点后两位,并且去掉百分号,如:80.33)@H_502_1@  @H_502_1@  dateline 申请任务时间(unix时间戳)@H_502_1@  @H_502_1@  四、任务配置文件注释:@H_502_1@  @H_502_1@  $task_icon = 'gift.gif';@H_502_1@  @H_502_1@  //note 任务间隔周期,单位:小时,0 或留空表示一次性任务,大于 0 表示任务可重复申请。例如设置 24 ,则表示会员完成任务 24 小时之后可重复申请该任务。@H_502_1@  @H_502_1@  $task_period = '';@H_502_1@  @H_502_1@  /**@H_502_1@  @H_502_1@  * 申请/完成任务所需条件@H_502_1@  @H_502_1@  * sort : 条件类别(apply:用于申请任务的条件  complete:用于完成任务的条件  setting:用于任务设置)@H_502_1@  @H_502_1@  * name : 条件名称@H_502_1@  @H_502_1@  * description : 条件说明@H_502_1@  @H_502_1@  * variable : 条件变量名@H_502_1@  @H_502_1@  * value :变量初始值@H_502_1@  @H_502_1@  * type : 变量类型@H_502_1@  @H_502_1@  * extra : 附加值@H_502_1@  @H_502_1@  */@H_502_1@  @H_502_1@  $task_conditions = array(@H_502_1@  @H_502_1@  array('sort' => '','name' => '','description' => '','variable' => '','value' => '','type' => '','extra' => ''),@H_502_1@  @H_502_1@  );@H_502_1@  @H_502_1@  /**@H_502_1@  @H_502_1@  * 任务附加设置,主程序可以通过查询 taskvars 表使用这些设置@H_502_1@  @H_502_1@  * name : 条件名称@H_502_1@  @H_502_1@  * description : 条件说明@H_502_1@  @H_502_1@  * variable : 条件变量名@H_502_1@  @H_502_1@  * value :变量初始值@H_502_1@  @H_502_1@  * type : 变量类型@H_502_1@  @H_502_1@  * extra : 附加值@H_502_1@  @H_502_1@  */@H_502_1@  @H_502_1@  $task_settings = array(@H_502_1@  @H_502_1@  array('name' => '',@H_502_1@  @H_502_1@  );@H_502_1@  @H_502_1@  //note 任务脚本版本号@H_502_1@  @H_502_1@  $task_version = '1.0';@H_502_1@  @H_502_1@  //note 任务脚本版权信息 支持 html@H_502_1@  @H_502_1@  $task_copyright = $tasklang['gift_copyright'];

猜你在找的Discuz相关文章