Discuz!7.0是康盛創(chuàng)想(Comsenz)公司于2008年12月份發(fā)布的一款論壇BBS建站產(chǎn)品。Discuz!7.0論壇任務(wù)開發(fā)文檔本期就為大家介紹下。
//note 任務(wù)名稱 $task_name = $tasklang['gift_name']; //note 任務(wù)描述 $task_description = $tasklang['gift_desc']; //note 任務(wù)圖標(biāo),圖標(biāo)文件需上傳到論壇 images/tasks 目錄,這里填寫圖標(biāo)文件名即可。留空則使用默認(rèn)圖標(biāo)。圖標(biāo)尺寸最好是 64X64 。
Discuz! 任務(wù)系統(tǒng)預(yù)留了安裝、升級、卸載等多個(gè)接口,便于插件作者設(shè)計(jì)新的任務(wù)類型。
一、任務(wù)設(shè)計(jì)流程:
o 熟練使用 Discuz! 論壇系統(tǒng)后,對希望完善或補(bǔ)充的個(gè)性化功能進(jìn)行評估,進(jìn)而提出任務(wù)的功能需求。
o 對任務(wù)做一個(gè)概括性的設(shè)計(jì),例如:完成任務(wù)的條件,需要使用什么參數(shù),配置哪些選項(xiàng)、數(shù)據(jù)結(jié)構(gòu)如何設(shè)計(jì)等等。
o 編寫相應(yīng)程序代碼,實(shí)現(xiàn)所需的功能并進(jìn)行代碼測試、兼容性測試和代碼改進(jìn)。
o 編寫任務(wù)說明書,其中包括:任務(wù)適用的 Discuz! 版本、功能概述、兼容性聲明、安裝方法、使用方法、卸載方法等等。
o 將任務(wù)提供給他人,或自己使用,根據(jù)使用者反饋,對任務(wù)進(jìn)行完善。
二、任務(wù)腳本命名規(guī)范:
o 主程序文件 *.inc.php 置于 include/tasks/ 目錄下。
o 配置文件 *.cfg.php 置于 include/tasks/ 目錄下。
o 主程序文件和配置文件的文件名部分必須一致,比如:gift.inc.php 和 gift.cfg.php。
三、任務(wù)數(shù)據(jù)結(jié)構(gòu):
任務(wù)表(cdb_tasks):
taskid 任務(wù)的唯一 ID,自動遞增
relatedtaskid 依存任務(wù)ID:必須完成依存任務(wù)才能申請?jiān)撊蝿?wù)
available 是否啟用
name 任務(wù)名稱 不超過 50 字節(jié)
description 任務(wù)描述 支持 html
icon 任務(wù)圖標(biāo) 必須是 images/tasks 目錄下的文件 這里只需文件名即可 留空使用默認(rèn)圖標(biāo)
applicants 已申請任務(wù)人次
achievers 已完成任務(wù)人次
tasklimits 允許申請并完成該任務(wù)的人次上限
applyperm 允許申請任務(wù)的用戶組ID(使用 隔開,如: 1 2 3)
scriptname 任務(wù)腳本文件名(如:gift)
starttime 任務(wù)上線時(shí)間(unix時(shí)間戳)
endtime 任務(wù)下線時(shí)間(unix時(shí)間戳)
period 任務(wù)周期 單位:小時(shí) 默認(rèn)為0表示一次性任務(wù) 設(shè)置為24即1天表示日常任務(wù)
reward 獎勵(lì)類型, credit: 積分, magic: 道具, medal: 勛章, invite: 邀請碼, group: 特殊用戶組
prize 獎品: 哪一個(gè)擴(kuò)展積分, 道具ID, 勛章ID,邀請碼有效期, 特殊用戶組ID
bonus 獎品數(shù)量/有效期: 積分?jǐn)?shù)量, 道具數(shù)量, 勛章有效期, 邀請碼數(shù)量,特殊用戶組有效期
displayorder 顯示順序
任務(wù)變量表(cdb_taskvars):
taskvarid 任務(wù)變量的唯一 ID,自動遞增
taskid 任務(wù)ID
sort 變量類別(apply:用于申請任務(wù)的條件 complete:用于完成任務(wù)的條件 setting:用于任務(wù)設(shè)置)
name 變量名稱
description 變量描述
variable 變量名
type 變量類型(數(shù)字:number 字串:text 文本:textarea 開關(guān):radio 選擇:select)
value 變量值
extra 變量附加值(當(dāng)變量類型為 select 時(shí),變量值可選的取值范圍)
我的任務(wù)表(cdb_mytasks):
uid 會員 UID
username 用戶名
taskid 任務(wù) ID
status 任務(wù)狀態(tài) -1失敗 0進(jìn)行中 1已完成
csc 任務(wù)進(jìn)度(浮點(diǎn)數(shù),任務(wù)進(jìn)度百分比,保留小數(shù)點(diǎn)后兩位,并且去掉百分號,如:80.33)
dateline 申請任務(wù)時(shí)間(unix時(shí)間戳)
四、任務(wù)配置文件注釋:
$task_icon = 'gift.gif';
//note 任務(wù)間隔周期,單位:小時(shí),0 或留空表示一次性任務(wù),大于 0 表示任務(wù)可重復(fù)申請。例如設(shè)置 24 ,則表示會員完成任務(wù) 24 小時(shí)之后可重復(fù)申請?jiān)撊蝿?wù)。
$task_period = '';
/**
* 申請/完成任務(wù)所需條件
* sort : 條件類別(apply:用于申請任務(wù)的條件 complete:用于完成任務(wù)的條件 setting:用于任務(wù)設(shè)置)
* name : 條件名稱
* description : 條件說明
* variable : 條件變量名
* value :變量初始值
* type : 變量類型
* extra : 附加值
*/
$task_conditions = array(
array('sort' => '', 'name' => '', 'description' => '', 'variable' => '', 'value' => '', 'type' => '', 'extra' => ''),
);
/**
* 任務(wù)附加設(shè)置,主程序可以通過查詢 taskvars 表使用這些設(shè)置
* name : 條件名稱
* description : 條件說明
* variable : 條件變量名
* value :變量初始值
* type : 變量類型
* extra : 附加值
*/
$task_settings = array(
array('name' => '', 'description' => '', 'variable' => '', 'value' => '', 'type' => '', 'extra' => ''),
);
//note 任務(wù)腳本版本號
$task_version = '1.0';
//note 任務(wù)腳本版權(quán)信息 支持 html
$task_copyright = $tasklang['gift_copyright'];