前后端分離的項目,本身用token去校驗權限。需要在ueditor請求時,在headers中鍵入校驗的token。
其中涉及到的幾個請求:初始化拉取config配置、單圖上傳、多圖上傳、拖拽(粘貼)上傳、塗鴉上傳、媒體上傳、附件上傳。其他上傳接口未測試。
我的測試結論:完全通過配置是不行的!需要改源碼。如果哪位小伙伴有其他方法可以共享出來。
首先在配置config,加入:
headers:{'Authorization':Token}
因為有部分模塊是可以直接配置設置的。
下面改造源碼:
ueditor.all.js 文件:
搜索 xhr.addEventListener('load', function (e) {
在其上面加入:
if (me.options.headers && Object.prototype.toString.apply(me.options.headers) === "[object Object]") { for (var key in me.options.headers) { xhr.setRequestHeader(key, me.options.headers[key]) } }
這里是為拖拽上傳(autoupload)模塊 增加配置接口。
繼續搜索 if (method == "POST") {
在其上面加入:
xhr.setRequestHeader("Authorization", localStorage.getItem('Token'));
這里取的是存放在localStorage里面的token,給其他一些的ajax請求增加了一個hedader參數,為了解決拉取config的權限。
至此,OK。
其他接口未測,有問題歡迎留言討論。