後端請求規範
與後臺通信的功能列表
ueditor和後臺通信的功能較多,這裏列一下編輯器和後臺通信的功能:
- 上傳圖片
- 拖放圖片上傳、粘貼板圖片上傳
- word文檔圖片轉存
- 截圖工具上傳
- 上傳塗鴉
- 上傳視頻
- 上傳附件
- 在線圖片管理
- 粘貼轉存遠程圖片
統一請求格式說明
爲了規範化前後端通信的請求,這裏統一規範前端請求格式和後端數據返回格式
- 前端請求通過唯一的後臺文件 controller.php處理前端的請求
- controller.php通過GET上的action參數,判斷是什麼類型的請求
- 省去不必要的請求,去除塗鴉添加背景的請求,用前端FileReader讀取本地圖片代替
- 請求返回數據的格式,常規返回json字符串,數據包含state屬性(成功時返回'SUCCESS',錯誤時返回錯誤信息)。
- 請求支持jsonp請求格式,當請求有通過GET方式傳callback的參數時,返回json數據前後加上括號,再在前面加上callback的值,格式類似這樣:
cb({"key": "value"})
請求格式規範
以下是各類型的請求說明
1. config
請求參數:
GET {"action": "config"} POST "upfile": File Data返回格式:
// 需要支持callback參數,返回jsonp格式
{
"imageUrl": "http://localhost/ueditor/php/controller.php?action=uploadimage",
"imagePath": "/ueditor/php/",
"imageFieldName": "upfile",
"imageMaxSize": 2048,
"imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"]
}
2. uploadimage
請求參數:
GET {"action": "uploadimage"} POST "upfile": File Data返回格式:
{
"state": "SUCCESS",
"url": "upload/demo.jpg",
"title": "demo.jpg",
"original": "demo.jpg"
}
3. uploadscrawl
請求參數:
GET {"action": "uploadscrawl"} POST "content": Base64 Data返回格式:
{
"state": "SUCCESS",
"url": "upload/demo.jpg",
"title": "demo.jpg",
"original": "demo.jpg"
}
4. uploadvideo
請求參數:
GET {"action": "uploadvideo"} POST "upfile": File Data返回格式:
{
"state": "SUCCESS",
"url": "upload/demo.mp4",
"title": "demo.mp4",
"original": "demo.mp4"
}
5. uploadfile
請求參數:
GET {"action": "uploadfile"} POST "upfile": File Data返回格式:
{
"state": "SUCCESS",
"url": "upload/demo.zip",
"title": "demo.zip",
"original": "demo.zip"
}
6. listimage
請求參數:
GET {"action": "listimage", "start": 0, "size": 20}返回格式:
// 需要支持callback參數,返回jsonp格式
{
"state": "SUCCESS",
"list": [{
"url": "upload/1.jpg"
}, {
"url": "upload/2.jpg"
}, ],
"start": 20,
"total": 100
}
7. catchimage
請求參數:
GET { "action": "catchimage", "source": [ "http://a.com/1.jpg", "http://a.com/2.jpg" ] }返回格式:
// 需要支持callback參數,返回jsonp格式
// list項的state屬性和最外面的state格式一致
{
"state": "SUCCESS",
"list": [{
"url": "upload/1.jpg",
"source": "http://b.com/2.jpg",
"state": "SUCCESS"
}, {
"url": "upload/2.jpg",
"source": "http://b.com/2.jpg",
"state": "SUCCESS"
}, ]
}