1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- // ==UserScript==
- // @name T-excalidraw-远程同步
- // @author tianyunperfect
- // @description 简介
- // @version 1.0.0
- // @update 2021-07-08 16:16:14
- // @include https://excalidraw.tianyunperfect.cn/?a=*
- // @require https://git.tianyunperfect.cn/tianyunperfect/web-base/raw/master/tmp/monkey/util.js?a=2022年06月26日21:06:37
- // @require https://cdn.bootcdn.net/ajax/libs/js-cookie/3.0.1/js.cookie.min.js
- // @require https://cdnjs.cloudflare.com/ajax/libs/axios/0.18.0/axios.min.js
- // ==/UserScript==
- (async () => {
- if (window.top !== window.self) {
- return;
- }
- let key = "excalidraw";
- let id = getQueryString("a");
- axios.post(`https://web_history.tianyunperfect.cn/excalidraw/get`, {
- "id": id,
- "json_str": "[]"
- }).then(async res => {
- // 远程数据
- let data = res.data;
- if (data.message) {
- if (data.message != localStorage.getItem(key)) {
- localStorage.setItem(key, data.message);
- location.reload();
- }
- } else {
- await axios.post(`https://web_history.tianyunperfect.cn/excalidraw/insert`, {
- "id": id,
- "json_str": "[]"
- })
- localStorage.setItem(key, "[]");
- location.reload();
- }
- let json_str = localStorage.getItem(key);
- // 同步数据
- while (true) {
- await sleep(1000);
- let json_new = localStorage.getItem(key);
- if (json_str != json_new) {
- json_str = json_new;
- await axios.post(`https://web_history.tianyunperfect.cn/excalidraw/update`, {
- "id": id,
- "json_str": json_new
- });
- }
- }
- })
- })();
|