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