API地址模式:https://example.com/zb_system/api.php?mod=<模塊名>[&act=<行為名>][&其他…]
1、對(duì)于各【API 模塊】的act=post請(qǐng)求,其請(qǐng)求參數(shù)為$GLOBALS[‘datainfo’]中與該模塊對(duì)應(yīng)的數(shù)據(jù)字段定義;
- 參數(shù)字段名區(qū)分大小寫;
- 不需要提供全部字段值,比如【發(fā)布狀態(tài)】【類型(文章/頁面)】【置頂】等項(xiàng)目可以使用默認(rèn),而時(shí)間相關(guān)的
字段則會(huì)初始為當(dāng)前時(shí)間; - 除Comment和Upload外,act=post請(qǐng)求時(shí)ID 字段為必須指定,為 0 時(shí)新建,不為 0 且項(xiàng)目存在時(shí)則修改;
- 可在【zb_system/defend/datainfo.php】文件中搜索查看$GLOBALS[‘datainfo’]。
2、各接口返回信息以實(shí)際為準(zhǔn),可參考【通用返回格式】。
3、對(duì)于【登錄】操作以外的POST請(qǐng)求,一律需要設(shè)置鑒權(quán);【登錄和鑒權(quán)】
GET請(qǐng)求時(shí)僅在部分【功能模塊】中的部分【只讀操作】可以不設(shè)置鑒權(quán),此外未鑒權(quán)請(qǐng)求頻率或查詢數(shù)量可能受限制。
以下將按【功能模塊】進(jìn)行詳細(xì)說明。
一、member管理API
實(shí)例1:login登錄成功后返回值
//發(fā)送的POST字段如下 username = '用戶名' password = md5('密碼明文') savedate = '保存天數(shù)'
{ "code": 200, "message": "操作成功", "data": { "user": { "ID": "1", "Level": "1", "Status": "0", "Name": "admin", "StaticName": "admin" // 等等 members 相關(guān)信息 }, "token": "Token 信息", "expire_time": 1672560322 // 過期時(shí)間 }, "error": null, "runtime": { } }
此處login操作返回的「鑒權(quán) Token」將用于后續(xù)需要「鑒權(quán)」的請(qǐng)求。
實(shí)例2:post 創(chuàng)建一個(gè)用戶
{ "ID": "0", "Level": "4", "Name": "用戶名", "Password": "zblog_pwdd", "PasswordRe": "zblog_pwdd" }
- “ID”: “0”, 必須顯示設(shè)置;
- “Level”: “4”, 為用戶等級(jí)。
二、post管理API
實(shí)例1:post 新建或發(fā)布文章的$_POST參數(shù)示范
$_POST['ID'] 為 0 是新建 $_POST['Title'] $_POST['Alias'] $_POST['Type'] 為 0 是文章,1 是 page 頁面 $_POST['AuthorID'] $_POST['CateID'] 如果沒有提供 CateID,可提供 CateName $_POST['Intro'] $_POST['Content'] $_POST['Tag'] $_POST['PostTime'] $_POST['Status'] 狀態(tài)
注意:對(duì)于發(fā)布文章,額外提供一個(gè)CateName字段可用來代替CateID指定分類,前提是存在以該字段值命名的分類;也可以使用category模塊內(nèi)的接口實(shí)現(xiàn)自動(dòng)創(chuàng)建分類等操作。
三、app管理API
四、category管理API
五、comment管理API
實(shí)例:post 發(fā)布評(píng)論的$_POST參數(shù)示范
$_POST['LogID'] 評(píng)論對(duì)應(yīng)的文章ID $_POST['Name'] 評(píng)論者名字 $_POST['ReplyID'] 回復(fù)評(píng)論的ID $_POST['Email'] 評(píng)論者電郵 $_POST['HomePage'] 評(píng)論者網(wǎng)站 $_POST['Content'] 評(píng)論正文
六、module管理API
實(shí)例:post 新建或編輯模塊的$_POST參數(shù)示范
$_POST['ID'] 為 0 是新建 $_POST['FileName'] 模塊的唯一標(biāo)識(shí)符,起名需符合文件名規(guī)則 $_POST['HtmlID'] 模塊的HTML的id $_POST['MaxLi'] 模塊內(nèi)li標(biāo)簽最大數(shù)量 $_POST['IsHideTitle'] 是否隱藏模塊的標(biāo)題 $_POST['Type'] 模塊的類別,為div或ul $_POST['Content'] 模塊的內(nèi)容 $_POST['NoRefresh'] 鎖定模塊的內(nèi)容不讓程序更改
七、system管理API
實(shí)例:get_setting 和 save_setting 可以返回或設(shè)置的 option 值
$GLOBALS['setting_keys'] = array( 'ZC_BLOG_NAME', 'ZC_BLOG_SUBNAME', 'ZC_BLOG_COPYRIGHT', 'ZC_TIME_ZONE_NAME', 'ZC_BLOG_LANGUAGEPACK', 'ZC_API_ENABLE', 'ZC_XMLRPC_ENABLE', 'ZC_DEBUG_MODE', 'ZC_DEBUG_MODE_WARNING', 'ZC_ADDITIONAL_SECURITY', 'ZC_USING_CDN_GUESTIP_TYPE', 'ZC_CLOSE_SITE', 'ZC_DISPLAY_COUNT', 'ZC_DISPLAY_SUBCATEGORYS', 'ZC_PAGEBAR_COUNT', 'ZC_SEARCH_COUNT', 'ZC_SYNTAXHIGHLIGHTER_ENABLE', 'ZC_COMMENT_TURNOFF', 'ZC_COMMENT_AUDIT', 'ZC_COMMENT_REVERSE_ORDER', 'ZC_COMMENTS_DISPLAY_COUNT', 'ZC_COMMENT_VERIFY_ENABLE', 'ZC_UPLOAD_FILETYPE', 'ZC_UPLOAD_FILESIZE', 'ZC_ARTICLE_INTRO_WITH_TEXT', 'ZC_ARTICLE_THUMB_SWITCH', 'ZC_ARTICLE_THUMB_TYPE', 'ZC_ARTICLE_THUMB_WIDTH', 'ZC_ARTICLE_THUMB_HEIGHT', 'ZC_MANAGE_COUNT', 'ZC_POST_BATCH_DELETE', 'ZC_DELMEMBER_WITH_ALLDATA', 'ZC_CATEGORY_MANAGE_LEGACY_DISPLAY', );
八、tag管理API
實(shí)例:post 新建或編輯標(biāo)簽的$_POST參數(shù)示范
$_POST['ID'] 為 0 是新建 $_POST['Alias'] 標(biāo)簽的別名 $_POST['Intro'] 標(biāo)簽的簡介 $_POST['Template'] 標(biāo)簽的模板,默認(rèn)為空
九、upload管理API
實(shí)例:post 提交新的附件
客戶端或小程序 POST 提交上傳文件到 mod=upload&act=post,提交成功后 json($upload) 對(duì)象 例如:
{"code":200,"message":"操作成功","data": {"upload":{"ID":118,"AuthorID":"1","Size":100676, "Name":"tmp_14af3ac3791ceeb34e0755ccc3586ce2.jpg", "SourceName":"tmp_14af3ac3791ceeb34e0755ccc3586ce2.jpg", "MimeType":"image/jpeg","PostTime":1648973749, "DownNums":0,"LogID":0,"Intro":"","Url":"xxxxxxxxxxxxxxx"} },"error":null, "runtime":{"time":"54.25","query":14,"memory":4035,"debug":0,"loggedin":1,"error":0} }
提交失敗后返回 false。