API地址模式:https://example.com/zb_system/api.php?mod=<模塊名>[&act=<行為名>][&其他…]
1、對于各【API 模塊】的act=post請求,其請求參數(shù)為$GLOBALS[‘datainfo’]中與該模塊對應(yīng)的數(shù)據(jù)字段定義;
- 參數(shù)字段名區(qū)分大小寫;
- 不需要提供全部字段值,比如【發(fā)布狀態(tài)】【類型(文章/頁面)】【置頂】等項目可以使用默認,而時間相關(guān)的
字段則會初始為當前時間; - 除Comment和Upload外,act=post請求時ID 字段為必須指定,為 0 時新建,不為 0 且項目存在時則修改;
- 可在【zb_system/defend/datainfo.php】文件中搜索查看$GLOBALS[‘datainfo’]。
2、各接口返回信息以實際為準,可參考【通用返回格式】。
3、對于【登錄】操作以外的POST請求,一律需要設(shè)置鑒權(quán);【登錄和鑒權(quán)】
GET請求時僅在部分【功能模塊】中的部分【只讀操作】可以不設(shè)置鑒權(quán),此外未鑒權(quán)請求頻率或查詢數(shù)量可能受限制。
以下將按【功能模塊】進行詳細說明。
一、member管理API
實例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 // 過期時間 }, "error": null, "runtime": { } }
此處login操作返回的「鑒權(quán) Token」將用于后續(xù)需要「鑒權(quán)」的請求。
實例2:post 創(chuàng)建一個用戶
{ "ID": "0", "Level": "4", "Name": "用戶名", "Password": "zblog_pwdd", "PasswordRe": "zblog_pwdd" }
- “ID”: “0”, 必須顯示設(shè)置;
- “Level”: “4”, 為用戶等級。
二、post管理API
實例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)
注意:對于發(fā)布文章,額外提供一個CateName字段可用來代替CateID指定分類,前提是存在以該字段值命名的分類;也可以使用category模塊內(nèi)的接口實現(xiàn)自動創(chuàng)建分類等操作。
三、app管理API
四、category管理API
五、comment管理API
實例:post 發(fā)布評論的$_POST參數(shù)示范
$_POST['LogID'] 評論對應(yīng)的文章ID $_POST['Name'] 評論者名字 $_POST['ReplyID'] 回復評論的ID $_POST['Email'] 評論者電郵 $_POST['HomePage'] 評論者網(wǎng)站 $_POST['Content'] 評論正文
六、module管理API
實例:post 新建或編輯模塊的$_POST參數(shù)示范
$_POST['ID'] 為 0 是新建 $_POST['FileName'] 模塊的唯一標識符,起名需符合文件名規(guī)則 $_POST['HtmlID'] 模塊的HTML的id $_POST['MaxLi'] 模塊內(nèi)li標簽最大數(shù)量 $_POST['IsHideTitle'] 是否隱藏模塊的標題 $_POST['Type'] 模塊的類別,為div或ul $_POST['Content'] 模塊的內(nèi)容 $_POST['NoRefresh'] 鎖定模塊的內(nèi)容不讓程序更改
七、system管理API
實例: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
實例:post 新建或編輯標簽的$_POST參數(shù)示范
$_POST['ID'] 為 0 是新建 $_POST['Alias'] 標簽的別名 $_POST['Intro'] 標簽的簡介 $_POST['Template'] 標簽的模板,默認為空
九、upload管理API
實例:post 提交新的附件
客戶端或小程序 POST 提交上傳文件到 mod=upload&act=post,提交成功后 json($upload) 對象 例如:
{"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。