

- 1 禅道二次開發簡介
- 2. 禅道擴展开发
- 2.1 禅道擴展机制简介
- 2.2. 新增獨立模塊
- 2.2.1 基本的代碼組織
- 2.2.2 新增控制層(control/zen)
- 2.2.3 新增模型層(model/tao)
- 2.2.4 新增視圖層(view/ui)
- 2.2.5 新增語言項lang和配置項config
- 2.2.6 新增前端樣式CSS和JavaScript
- 2.3. 修改已有模塊
- 2.3.1 對控制層(control/zen)擴展
- 2.3.2 對模型層(model/tao)擴展
- 2.3.3 對視圖層(ui)擴展
- 2.3.4 對樣式表CSS和JavaScript進行擴展
- 2.3.5 對多語言和配置進行擴展
- 2.4. 常用類庫
- 3. 禅道API
- 3.1 API機制簡介
- 3.2 需要登錄驗證的API調用
- 4 命令行調用
API機制簡介 分享鏈接 /book/extension-dev/1340.html
本篇目錄
一、API機制介紹:
前面章节讲述的扩展机制是需要直接开发PHP或者html, css, js等代码。zentaoPHP还提供了API机制,方便大家来和其他的系统进行集成。
API機制都是基于http協議的。返回的數據以json格式存儲。
zentaoPHP架共實現了兩種API機制。一種爲直接的頁面調用,一種通過超級model調用接口,直接調用model層的方法,下面我們一一來看下。
二、頁面直接調用
當你訪問使用zentaoPHP開發的頁面時,將訪問的url地址中的html換成json,得到的就是json格式的數據。
比如http://pms.zentao.net/project-task-8.html,返回的網頁格式,把後面的.html改成.json,返回的是什麽?對了,返回的是json格式的數據。
如果是GET 方式,那么只需要将t参数改成json,http://pms.zentao.net/?m=project&f=task&t=json。
返回的數據是做了兩次json_encode,下面是代碼的示例:
$result = file_get_contents('http://pms.zentao.net/project-task-8.json'); $result = json_decode($result); if($result->status == 'success' and md5($result->data) == $result->md5) { $data = json_decode($result->data); print_r($data); }
先判斷第一層裏面的result是否正確,md5簽名是否正確,然後再對data對象進行json_decode。
1.2.2 超级model调用接口
頁面的調用,存在一定的局限,比如返回的數據可能沒有你想要的,或者返回了你不需要的數據。爲此,我們特地准備了一個超級model調用接口。該接口的使用方式:
首先要爲相應的帳號增加超級model調用接口的訪問權限。
然後就可以通過api模塊的getModel方法,獲取任意模塊的model的公開方法了。
getModel方法需要三個參數,分別是模塊名,方法名,然後是該方法的參數列表,key1=value1,key2=value2這種方式,多個參數之間用英文逗號隔開。
以調用bug模塊的getUserBugPairs()方法爲例:
GET方式调用: ?m=api&f=getModel&module=bug&methodName=getUserBugPairs¶ms=account=$account
PATH_INFO方式:api-getmodel-bug-getUserBugPairs-account=$account.json
-
禅道産品
禅道開源版 禅道企業版 禅道旗艦版 禅道IPD版 -
核心功能
産品管理 項目管理 質量管理 效能管理 -
使用文檔
基本版手冊 企業版手冊 旗艦版手冊 IPD版手冊 開發中心手冊 -
幫助中心
积分問答 常見問題 論壇交流 使用視頻 Gitee GitHub -
關于我們
關于我們 禅道軟件 最新動態 禅道活動 -
禅道社區
禅道博客 積分排行 積分商城 禅道書院 -
聯系方式
聯系人:劉斌 電話:17685869372 微信:17685869372 Q Q:526288068北京、上海、深圳分部