mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-27 15:54:39 +00:00
Optimize excalidraw code (#7942)
* optimize code * optimize code * optimize code * optimize code --------- Co-authored-by: 小强 <shuntian@Mac.lan>
This commit is contained in:
32
frontend/src/pages/excalidraw-editor/api/editor-api.js
Normal file
32
frontend/src/pages/excalidraw-editor/api/editor-api.js
Normal file
@@ -0,0 +1,32 @@
|
||||
import { seafileAPI } from '../../../utils/seafile-api';
|
||||
import { Utils } from '../../../utils/utils';
|
||||
|
||||
const { repoID, filePath, fileName } = window.app.pageOptions;
|
||||
let dirPath = Utils.getDirName(filePath);
|
||||
|
||||
class EditorApi {
|
||||
|
||||
saveContent(content) {
|
||||
return seafileAPI.getUpdateLink(repoID, dirPath).then((res) => {
|
||||
const uploadLink = res.data;
|
||||
return seafileAPI.updateFile(uploadLink, filePath, fileName, content);
|
||||
});
|
||||
}
|
||||
|
||||
getFileContent = () => {
|
||||
return seafileAPI.getFileDownloadLink(repoID, filePath).then(res => {
|
||||
const downLoadUrl = res.data;
|
||||
return seafileAPI.getFileContent(downLoadUrl);
|
||||
});
|
||||
};
|
||||
|
||||
getExdrawToken = () => {
|
||||
return seafileAPI.getExdrawToken(repoID, filePath).then((res => {
|
||||
return res.data.access_token;
|
||||
}));
|
||||
};
|
||||
}
|
||||
|
||||
const editorApi = new EditorApi();
|
||||
|
||||
export default editorApi;
|
28
frontend/src/pages/excalidraw-editor/api/index.js
Normal file
28
frontend/src/pages/excalidraw-editor/api/index.js
Normal file
@@ -0,0 +1,28 @@
|
||||
import axios from 'axios';
|
||||
|
||||
class ExcalidrawServerApi {
|
||||
|
||||
constructor(options) {
|
||||
this.server = options.exdrawServer;
|
||||
this.docUuid = options.exdrawUuid;
|
||||
this.accessToken = options.accessToken;
|
||||
}
|
||||
|
||||
getSceneContent() {
|
||||
const { server, docUuid, accessToken } = this;
|
||||
const url = `${server}/api/v1/exdraw/${docUuid}/`;
|
||||
|
||||
return axios.get(url, { headers: { Authorization: `Token ${accessToken}` } });
|
||||
}
|
||||
|
||||
saveSceneContent(content) {
|
||||
const { server, docUuid, accessToken } = this;
|
||||
const url = `${server}/api/v1/exdraw/${docUuid}/`;
|
||||
const formData = new FormData();
|
||||
formData.append('doc_content', content);
|
||||
|
||||
return axios.post(url, formData, { headers: { Authorization: `Token ${accessToken}` } });
|
||||
}
|
||||
}
|
||||
|
||||
export default ExcalidrawServerApi;
|
Reference in New Issue
Block a user