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