開啟方法
數據接口默認是關閉狀態,需要在網站后臺,網站設置,安全中心,數據接口密鑰,填寫密鑰并保存完成開啟。調試方法
網站后臺,系統維護,系統工具,標簽模板,數據接口提供了圖像化的調試界面。請求地址
電腦版:電腦版首頁網址/api/json.php手機版:手機版首頁網址/api/json.php
電腦版和手機版調用方法完全一致,唯一區別是返回的網址是電腦網址或手機網址
加密方法
GET參數需要加密,例如請求的地址為/api/json.php?moduleid=5&pagesize=30本文檔為了方便說明,省略了實際網址,實際請求自行加上真實網址
1、加入客戶端版本信息version,此時請求地址示例
/api/json.php?moduleid=5&pagesize=30&version=1.0.02、加入請求時間time,格式為Unix時間戳,此時請求地址示例
/api/json.php?moduleid=5&pagesize=30&version=1.0.0&time=17647334943、加入簽名sign,此時請求地址示例
/api/json.php?moduleid=5&pagesize=30&version=1.0.0&time=1764733494&sign=cb14ef0180b783a54b183723054f6d63
簽名sign生成方法
截取請求地址問號后面的參數至Unix時間戳,例如moduleid=5&pagesize=30&version=1.0.0&time=1764733494加入數據接口密鑰key,例如
moduleid=5&pagesize=30&version=1.0.0&time=1764733494&key=nK94WQCHpLManQqZpAEbexvWDHmL34zP將上面的字符串md5得到的值即為sign的值
數據接口密鑰key應保存在無法被直接訪問的位置,以免泄露造成數據任意請求
如果服務器端修改了密鑰,客戶端無法及時更新,可以修改服務器端api/json/config.key.php,根據版本參數判斷進行舊密鑰的兼容
讀取數據請求參數
moduleid代表模塊ID,后臺模塊管理里可以看到模塊和ID
pagesize
代表調用數據數量,可不傳,默認與網站設置,服務器優化,列表每頁默認信息條數一致,最大值為100
page
代表第幾頁,可不傳,默認第一頁
kw
代表關鍵詞,可不傳,返回與關鍵詞匹配的信息。需要對值進行urlencode,JS可用encodeURIComponent(kw)函數編碼
catid
代表分類ID,可不傳,返回所屬分類的信息
areaid
代表地區ID,可不傳,返回所屬地區的信息
itemid
代表信息ID,可不傳,返回所屬ID的信息,一般為1條
數據排序
可不傳,默認按itemid降序排列
dsc
代表降序排列的字段,例如&dsc=addtime表示數據按添加時間降序(大到小)排列
asc
代表升序排列的字段,例如&asc=addtime表示數據按添加時間升序(小到大)排列
order
代表指定排序方式,例如&order=adddate+DESC,vip+DESC DESC表示降序(大到小)排列,ASC表示升序(小到大)排列,+表示編碼過的空格(參數里不能有空格,空格會導致后面的參數傳遞失敗)
dsc,asc,order功能類似,按需求選一個參數即可
fields
代表返回字段,可不傳,默認返回對應表全部字段,例如&fields=itemid,title,addtime表示返回itemid、title、addtime這3列數據,指定返回字段可以使返回數據體積更小,傳輸更快
debug
代表調試信息,例如&debug=1,系統返回的數據會增加url(請求完整網址)和sql(SQL查詢語句)兩個參數用于驗證請求參數是否符合預期
如果以上方法無法調用到需要的數據,可以嘗試以下兩種方法:
一、在后臺系統維護,標簽模板,標簽向導,生成標簽,然后點接口調用按鈕,生成對應的標簽調用接口
二、在api/json目錄創建.inc.php文件自行二開對應的數據操作,可以參考demo.inc.php
特殊字段
file代表文件,例如&moduleid=3&file=webpage
當moduleid=1時,調用 api/json/{$file}.inc.php 文件,可自行開發
當file=module時,調用 api/json/module.inc.php 文件,輸出系統模塊信息
當file=area時,調用 api/json/area.inc.php 文件,輸出系統地區信息
當file=category時,調用 api/json/category.inc.php 文件,輸出系統分類信息
當moduleid=2時,調用會員模塊 module/member/{$file}.class.php 文件的方法
當moduleid=3時,調用擴展模塊 module/extend/{$file}.class.php 文件的方法
其他模塊如果存在{$file}.class.php也會自動調用
action
代表動作,例如&moduleid=3&file=webpage&action=add
當調用.class.php文件時,action可以調用對應的函數
當action=add時,代表發布信息
當action=edit時,代表修改信息,默認不開啟
當action=delete時,代表刪除信息,默認不開啟
當action=show時,代表顯示單條信息,包括信息的內容
在api/json/common.api.php 刪除對應的 dexit('方法未啟用'); 手動啟用edit和delete方法,此操作比較危險,如非特別需要,請勿開啟。
寫入請求參數
GET參數與上述一致,先確定moduleid,再根據情況選傳file,然后確定action(默認只支持add增,edit改和delele刪需手動開啟),如果是改和刪還應傳入itemid
POST參數
根據需要寫入目標的數據表字段或前后臺發布信息界面表單,確定需要傳入的參數名稱,轉為JSON格式直接通過body發送,例如:
{"title":"標題","content":"內容"}
其他說明
由于會員表比較特殊,不支持直接調用數據,并獨立運行于 api/json/member.api.php當傳入moduleid=2或moduleid=2&file=member時,自動調用此文件,支持以下action
register
注冊新用戶,需要POST發送注冊表單數據
login
用戶登錄,需要POST發送戶名和密碼,驗證成功返回包含會員ID的數據
sms
發送短信驗證碼,需要POST發送手機號碼
其他方法可根據需要在此文件中二次開發
由于公司表比較特殊,獨立運行于 api/json/company.api.php
當傳入moduleid=4&action=show或moduleid=4&file=company&action=show時,自動調用此文件,支持以下action
show
需傳入itemid,返回公司資料及公司介紹
