From d44700a9713403dcd95eb961ab60b41d37e66628 Mon Sep 17 00:00:00 2001 From: fanxb Date: Fri, 15 Apr 2022 15:45:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=B5=8F=E8=A7=88=E5=99=A8=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E6=96=B0=E5=A2=9E=E4=B9=A6=E7=AD=BE=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/BookmarkServiceImpl.java | 14 +- bookmark_front/.gitignore | 1 + .../public/static/bookmarkBrowserPlugin.7z | Bin 0 -> 67551 bytes bookmark_front/src/App.vue | 2 +- bookmark_front/src/store/modules/treeData.js | 599 +++++++++--------- .../src/views/manage/bookmarkTree/index.vue | 67 +- .../src/views/noHead/addBookmark/index.vue | 12 +- .../src/views/public/about/index.vue | 7 +- .../bookmarkBrowserPlugin/background.js | 1 - .../bookmarkBrowserPlugin/manifest.json | 8 +- .../bookmarkBrowserPlugin/popup/index.html | 5 +- .../bookmarkBrowserPlugin/popup/index.js | 1 + .../bookmarkBrowserPlugin/static/icons/favicon.ico | Bin 0 -> 4286 bytes .../bookmarkBrowserPlugin/static/icons/favicon.png | Bin 0 -> 63465 bytes .../bookmarkBrowserPlugin/static/icons/icon.xcf | Bin 44178 -> 0 bytes .../static/icons/icon_128.png | Bin 10042 -> 0 bytes .../bookmarkBrowserPlugin/static/icons/icon_48.png | Bin 2579 -> 0 bytes .../bookmarkBrowserPlugin/static/js/config.js | 5 +- 18 files changed, 369 insertions(+), 353 deletions(-) create mode 100644 bookmark_front/public/static/bookmarkBrowserPlugin.7z create mode 100644 浏览器插件/bookmarkBrowserPlugin/static/icons/favicon.ico create mode 100644 浏览器插件/bookmarkBrowserPlugin/static/icons/favicon.png delete mode 100644 浏览器插件/bookmarkBrowserPlugin/static/icons/icon.xcf delete mode 100644 浏览器插件/bookmarkBrowserPlugin/static/icons/icon_128.png delete mode 100644 浏览器插件/bookmarkBrowserPlugin/static/icons/icon_48.png diff --git a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/BookmarkServiceImpl.java b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/BookmarkServiceImpl.java index 6e50bc6..c3f82e9 100644 --- a/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/BookmarkServiceImpl.java +++ b/bookMarkService/business/bookmark/src/main/java/com/fanxb/bookmark/business/bookmark/service/impl/BookmarkServiceImpl.java @@ -36,12 +36,14 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.io.File; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; +import java.nio.file.Path; import java.nio.file.Paths; import java.util.*; import java.util.stream.Collectors; @@ -324,7 +326,6 @@ public class BookmarkServiceImpl implements BookmarkService { * * @param url url * @return {@link String} - * @throws * @author fanxb */ private String getIconPath(String url) { @@ -343,10 +344,7 @@ public class BookmarkServiceImpl implements BookmarkService { if (iconPath != null) { return iconPath; } - iconPath = saveFile(host, "http://" + host + "/favicon.ico"); - if (StrUtil.isEmpty(iconPath)) { - iconPath = saveFile(host, urlIconAddress + "/icon?url=" + host + "&size=16..64..256"); - } + iconPath = saveFile(host, urlIconAddress + "/icon?url=" + host + "&size=16..64..256"); if (StrUtil.isNotEmpty(iconPath)) { hostIconDao.insert(host, iconPath); } @@ -366,9 +364,9 @@ public class BookmarkServiceImpl implements BookmarkService { if (data.length > 0) { String iconUrl = res.request().url().toString(); String fileName = URLEncoder.encode(host, StandardCharsets.UTF_8) + iconUrl.substring(iconUrl.lastIndexOf(".")); - String filePath = Paths.get(CommonConstant.fileSavePath, FileConstant.FAVICON_PATH, host.substring(0, 2), fileName).toString(); - FileUtil.writeBytes(data, filePath); - return filePath; + String filePath = Paths.get(FileConstant.FAVICON_PATH, host.substring(0, 2), fileName).toString(); + FileUtil.writeBytes(data, Paths.get(CommonConstant.fileSavePath, filePath).toString()); + return File.separator + filePath; } else { log.info("未获取到icon:{}", url); } diff --git a/bookmark_front/.gitignore b/bookmark_front/.gitignore index c6c57be..c8016d8 100644 --- a/bookmark_front/.gitignore +++ b/bookmark_front/.gitignore @@ -3,6 +3,7 @@ node_modules /dist package-lock.json yarn.lock +public/files # local env files .env.local diff --git a/bookmark_front/public/static/bookmarkBrowserPlugin.7z b/bookmark_front/public/static/bookmarkBrowserPlugin.7z new file mode 100644 index 0000000000000000000000000000000000000000..b52ae612c46b4c77599aff149d01fb9ef173bf94 GIT binary patch literal 67551 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ν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

1n7h`NVn5aLUu*+%jP<@)KI$G=|f9 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 literal 0 HcmV?d00001 diff --git a/bookmark_front/src/App.vue b/bookmark_front/src/App.vue index 9ae6af4..be76731 100644 --- a/bookmark_front/src/App.vue +++ b/bookmark_front/src/App.vue @@ -17,7 +17,7 @@ body { margin: 0; padding: 0; font-size: 100px; - // background-color: @bgColor; + background-color: @bgColor; height: initial; } #app { diff --git a/bookmark_front/src/store/modules/treeData.js b/bookmark_front/src/store/modules/treeData.js index 5f91116..9ee7947 100644 --- a/bookmark_front/src/store/modules/treeData.js +++ b/bookmark_front/src/store/modules/treeData.js @@ -30,6 +30,10 @@ export const clear = "clear"; * 删除书签数据 */ export const deleteData = "deleteData"; +/** + * 新增节点 + */ +export const addNode = "addNode"; /** * 版本检查定时调度 @@ -44,321 +48,316 @@ let toastShow = false; * 书签树相关配置 */ const state = { - //全部书签数据 - [TOTAL_TREE_DATA]: {}, - //版本 - [VERSION]: null, - //是否已经初始化书签数据 - [IS_INIT]: false, - // 是否正在加载数据 - [IS_INITING]: false, - [SHOW_REFRESH_TOAST]: false, - [HOME_PIN_LIST]: [], - [HOME_PIN_BOOKMARK_ID_MAP]: {} + //全部书签数据 + [TOTAL_TREE_DATA]: {}, + //版本 + [VERSION]: null, + //是否已经初始化书签数据 + [IS_INIT]: false, + // 是否正在加载数据 + [IS_INITING]: false, + [SHOW_REFRESH_TOAST]: false, + [HOME_PIN_LIST]: [], + [HOME_PIN_BOOKMARK_ID_MAP]: {} }; const getters = { - [getById]: state => id => { - let arr = Object.values(state[TOTAL_TREE_DATA]); - for (let i in arr) { - for (let j in arr[i]) { - if (arr[i][j].bookmarkId === id) { - return arr[i][j]; - } - } - } - return null; - } + [getById]: state => id => { + let arr = Object.values(state[TOTAL_TREE_DATA]); + for (let i in arr) { + for (let j in arr[i]) { + if (arr[i][j].bookmarkId === id) { + return arr[i][j]; + } + } + } + return null; + } }; const actions = { - async [noLoginInit] () { - - }, - async [loginInit] (context) { - if (context.state.isInit || context.state.isIniting) { - return; - } - await context.dispatch(refreshHomePinList); - context.commit(IS_INITING, true); - context.commit(TOTAL_TREE_DATA, await localforage.getItem(TOTAL_TREE_DATA)); - context.commit(VERSION, await localforage.getItem(VERSION)); - await treeDataCheck(context, true); - context.commit(IS_INIT, true); - context.commit(IS_INITING, false); - timer = setInterval(() => treeDataCheck(context, false), CHECK_INTERVAL); - }, - /** - * 确保数据加载完毕 - */ - ensureDataOk (context) { - return new Promise((resolve, reject) => { - let timer = setInterval(() => { - try { - if (context.state[IS_INIT] && context.state[IS_INITING] == false) { - clearInterval(timer); - resolve(); - } - } catch (err) { - reject(err); - } - }, 50); - }); - }, - //刷新缓存数据 - async [refresh] (context) { - let treeData = await HttpUtil.get("/bookmark/currentUser"); - if (!treeData[""]) { - treeData[""] = []; - } - Object.values(treeData).forEach(item => - item.forEach(item1 => { - item1.isLeaf = item1.type === 0; - item1.class = "treeNodeItem"; - item1.scopedSlots = { title: "nodeTitle" }; - }) - ); - let version = await HttpUtil.get("/user/version"); - await context.dispatch("updateVersion", version); - await context.dispatch(refreshHomePinList); - context.commit(TOTAL_TREE_DATA, treeData); - await localforage.setItem(TOTAL_TREE_DATA, treeData); - }, - //清除缓存数据 - async [clear] (context) { - context.commit(TOTAL_TREE_DATA, null); - context.commit(VERSION, null); - context.commit(SHOW_REFRESH_TOAST, false); - context.commit(IS_INIT, false); - context.commit(IS_INITING, false); - context.commit(HOME_PIN_LIST, []); - if (timer != null) { - clearInterval(timer); - } - await localforage.removeItem(TOTAL_TREE_DATA); - await localforage.removeItem(VERSION); - }, - /** - * 移动节点 - */ - async moveNode (context, info) { - let data = context.state[TOTAL_TREE_DATA]; - const target = info.node.dataRef; - const current = info.dragNode.dataRef; - //从原来位置中删除当前节点 - let currentList = data[current.path]; - currentList.splice( - currentList.findIndex(item => item.bookmarkId === current.bookmarkId), - 1 - ); - //请求体 - const body = { - bookmarkId: current.bookmarkId, - sourcePath: current.path, - targetPath: "", - //-1 表示排在最后 - sort: -1 - }; - if (info.dropToGap) { - body.targetPath = target.path; - //移动到目标节点的上面或者下面 - let targetList = data[target.path]; - //目标节点index - let index = targetList.indexOf(target); - //移动节点相对于目标节点位置的增量 - let addIndex = info.dropPosition > index ? 1 : 0; - body.sort = target.sort + addIndex; - targetList.splice(index + addIndex, 0, current); - for (let i = index + 1; i < targetList.length; i++) { - targetList[i].sort += 1; - } - } else { - //移动到一个文件夹下面 - body.targetPath = target.path + "." + target.bookmarkId; - let targetList = data[body.targetPath]; - if (!targetList) { - targetList = []; - data[body.targetPath] = targetList; - } - body.sort = targetList.length > 0 ? targetList[targetList.length - 1].sort + 1 : 1; - targetList.push(current); - } - //更新节点的path和对应子节点path - current.path = body.targetPath; - current.sort = body.sort; - //如果为文件夹还要更新所有子书签的path - if (body.sourcePath !== body.targetPath) { - let keys = Object.keys(data); - //旧路径 - let oldPath = body.sourcePath + "." + current.bookmarkId; - //新路径 - let newPath = body.targetPath + "." + current.bookmarkId; - keys.forEach(item => { - if (!item.startsWith(oldPath)) { - return; - } - let newPathStr = item.replace(oldPath, newPath); - let list = data[item]; - delete data[item]; - data[newPathStr] = list; - list.forEach(item1 => (item1.path = newPathStr)); - }); - } - context.commit(TOTAL_TREE_DATA, context.state[TOTAL_TREE_DATA]); - await context.dispatch("updateVersion", null); - await localforage.setItem(TOTAL_TREE_DATA, state[TOTAL_TREE_DATA]); - return body; - }, - async [refreshHomePinList] ({ commit }) { - let list = await HttpUtil.get("/home/pin"); - commit(HOME_PIN_LIST, list); - let map = {}; - list.filter(item => item.id).forEach(item => map[item.bookmarkId] = true); - commit(HOME_PIN_BOOKMARK_ID_MAP, map); - - }, - /** - * 更新版本数据 - */ - async updateVersion ({ commit, state }, version) { - commit(VERSION, version == null ? state[VERSION] + 1 : version); - await localforage.setItem(VERSION, state[VERSION]); - }, - /** - * 新增书签、文件夹 - */ - async addNode (context, { sourceNode, targetNode }) { - if (sourceNode === null) { - if (context.state[TOTAL_TREE_DATA][""] === undefined) { - context.state[TOTAL_TREE_DATA][""] = []; - } - context.state[TOTAL_TREE_DATA][""].push(targetNode); - } else { - if (sourceNode.children === undefined) { - sourceNode.children = []; - } - sourceNode.children.push(targetNode); - } - if (targetNode.type === 0) { - context.state[TOTAL_TREE_DATA][targetNode.path + "." + targetNode.bookmarkId] = []; - } - targetNode.isLeaf = targetNode.type === 0; - targetNode.class = "treeNodeItem"; - targetNode.scopedSlots = { title: "nodeTitle" }; - context.commit(TOTAL_TREE_DATA, context.state[TOTAL_TREE_DATA]); - await context.dispatch("updateVersion", null); - await localforage.setItem(TOTAL_TREE_DATA, state[TOTAL_TREE_DATA]); - }, - /** - * 删除节点数据 - */ - async [deleteData] (context, { pathList, bookmarkIdList }) { - //待删除的书签 - let bookmarkIdSet = new Set(); - bookmarkIdList.forEach(item => bookmarkIdSet.add(item)); - //删除子节点 - pathList.forEach(item => { - delete state[TOTAL_TREE_DATA][item]; - Object.keys(context.state[TOTAL_TREE_DATA]) - .filter(key => key.startsWith(item + ".")) - .forEach(key => delete state[TOTAL_TREE_DATA][key]); - bookmarkIdSet.add(parseInt(item.split(".").reverse())); - }); - //删除直接选中的节点 - Object.keys(context.state[TOTAL_TREE_DATA]).forEach(item => { - let list = context.state[TOTAL_TREE_DATA][item]; - for (let i = list.length - 1; i >= 0; i--) { - if (bookmarkIdSet.has(list[i].bookmarkId)) { - list.splice(i, 1); - } - } - }); - context.commit(TOTAL_TREE_DATA, context.state[TOTAL_TREE_DATA]); - await context.dispatch("updateVersion", null); - await localforage.setItem(TOTAL_TREE_DATA, state[TOTAL_TREE_DATA]); - }, - /** - * 编辑书签节点 - */ - async editNode ({ dispatch, state, commit }, { node, newName, newUrl, newIcon }) { - node.name = newName; - node.url = newUrl; - node.icon = newIcon; - commit(TOTAL_TREE_DATA, state[TOTAL_TREE_DATA]); - await dispatch("updateVersion", null); - await localforage.setItem(TOTAL_TREE_DATA, state[TOTAL_TREE_DATA]); - } + async [noLoginInit]() {}, + async [loginInit](context) { + if (context.state.isInit || context.state.isIniting) { + return; + } + await context.dispatch(refreshHomePinList); + context.commit(IS_INITING, true); + context.commit(TOTAL_TREE_DATA, await localforage.getItem(TOTAL_TREE_DATA)); + context.commit(VERSION, await localforage.getItem(VERSION)); + await treeDataCheck(context, true); + context.commit(IS_INIT, true); + context.commit(IS_INITING, false); + timer = setInterval(() => treeDataCheck(context, false), CHECK_INTERVAL); + }, + /** + * 确保数据加载完毕 + */ + ensureDataOk(context) { + return new Promise((resolve, reject) => { + let timer = setInterval(() => { + try { + if (context.state[IS_INIT] && context.state[IS_INITING] == false) { + clearInterval(timer); + resolve(); + } + } catch (err) { + reject(err); + } + }, 50); + }); + }, + //刷新缓存数据 + async [refresh](context) { + let treeData = await HttpUtil.get("/bookmark/currentUser"); + if (!treeData[""]) { + treeData[""] = []; + } + Object.values(treeData).forEach(item => + item.forEach(item1 => { + item1.isLeaf = item1.type === 0; + item1.class = "treeNodeItem"; + item1.scopedSlots = { title: "nodeTitle" }; + }) + ); + let version = await HttpUtil.get("/user/version"); + await context.dispatch("updateVersion", version); + await context.dispatch(refreshHomePinList); + context.commit(TOTAL_TREE_DATA, treeData); + await localforage.setItem(TOTAL_TREE_DATA, treeData); + }, + //清除缓存数据 + async [clear](context) { + context.commit(TOTAL_TREE_DATA, null); + context.commit(VERSION, null); + context.commit(SHOW_REFRESH_TOAST, false); + context.commit(IS_INIT, false); + context.commit(IS_INITING, false); + context.commit(HOME_PIN_LIST, []); + if (timer != null) { + clearInterval(timer); + } + await localforage.removeItem(TOTAL_TREE_DATA); + await localforage.removeItem(VERSION); + }, + /** + * 移动节点 + */ + async moveNode(context, info) { + let data = context.state[TOTAL_TREE_DATA]; + const target = info.node.dataRef; + const current = info.dragNode.dataRef; + //从原来位置中删除当前节点 + let currentList = data[current.path]; + currentList.splice( + currentList.findIndex(item => item.bookmarkId === current.bookmarkId), + 1 + ); + //请求体 + const body = { + bookmarkId: current.bookmarkId, + sourcePath: current.path, + targetPath: "", + //-1 表示排在最后 + sort: -1 + }; + if (info.dropToGap) { + body.targetPath = target.path; + //移动到目标节点的上面或者下面 + let targetList = data[target.path]; + //目标节点index + let index = targetList.indexOf(target); + //移动节点相对于目标节点位置的增量 + let addIndex = info.dropPosition > index ? 1 : 0; + body.sort = target.sort + addIndex; + targetList.splice(index + addIndex, 0, current); + for (let i = index + 1; i < targetList.length; i++) { + targetList[i].sort += 1; + } + } else { + //移动到一个文件夹下面 + body.targetPath = target.path + "." + target.bookmarkId; + let targetList = data[body.targetPath]; + if (!targetList) { + targetList = []; + data[body.targetPath] = targetList; + } + body.sort = targetList.length > 0 ? targetList[targetList.length - 1].sort + 1 : 1; + targetList.push(current); + } + //更新节点的path和对应子节点path + current.path = body.targetPath; + current.sort = body.sort; + //如果为文件夹还要更新所有子书签的path + if (body.sourcePath !== body.targetPath) { + let keys = Object.keys(data); + //旧路径 + let oldPath = body.sourcePath + "." + current.bookmarkId; + //新路径 + let newPath = body.targetPath + "." + current.bookmarkId; + keys.forEach(item => { + if (!item.startsWith(oldPath)) { + return; + } + let newPathStr = item.replace(oldPath, newPath); + let list = data[item]; + delete data[item]; + data[newPathStr] = list; + list.forEach(item1 => (item1.path = newPathStr)); + }); + } + context.commit(TOTAL_TREE_DATA, context.state[TOTAL_TREE_DATA]); + await context.dispatch("updateVersion", null); + await localforage.setItem(TOTAL_TREE_DATA, state[TOTAL_TREE_DATA]); + return body; + }, + async [refreshHomePinList]({ commit }) { + let list = await HttpUtil.get("/home/pin"); + commit(HOME_PIN_LIST, list); + let map = {}; + list.filter(item => item.id).forEach(item => (map[item.bookmarkId] = true)); + commit(HOME_PIN_BOOKMARK_ID_MAP, map); + }, + /** + * 更新版本数据 + */ + async updateVersion({ commit, state }, version) { + commit(VERSION, version == null ? state[VERSION] + 1 : version); + await localforage.setItem(VERSION, state[VERSION]); + }, + /** + * 新增书签、文件夹 + */ + async [addNode](context, { sourceNode, targetNode }) { + if (sourceNode === null) { + if (context.state[TOTAL_TREE_DATA][""] === undefined) { + context.state[TOTAL_TREE_DATA][""] = []; + } + context.state[TOTAL_TREE_DATA][""].push(targetNode); + } else { + if (sourceNode.children === undefined) { + sourceNode.children = []; + } + sourceNode.children.push(targetNode); + } + if (targetNode.type === 0) { + context.state[TOTAL_TREE_DATA][targetNode.path + "." + targetNode.bookmarkId] = []; + } + targetNode.isLeaf = targetNode.type === 0; + targetNode.class = "treeNodeItem"; + targetNode.scopedSlots = { title: "nodeTitle" }; + context.commit(TOTAL_TREE_DATA, context.state[TOTAL_TREE_DATA]); + await context.dispatch("updateVersion", null); + await localforage.setItem(TOTAL_TREE_DATA, state[TOTAL_TREE_DATA]); + }, + /** + * 删除节点数据 + */ + async [deleteData](context, { pathList, bookmarkIdList }) { + //待删除的书签 + let bookmarkIdSet = new Set(); + bookmarkIdList.forEach(item => bookmarkIdSet.add(item)); + //删除子节点 + pathList.forEach(item => { + delete state[TOTAL_TREE_DATA][item]; + Object.keys(context.state[TOTAL_TREE_DATA]) + .filter(key => key.startsWith(item + ".")) + .forEach(key => delete state[TOTAL_TREE_DATA][key]); + bookmarkIdSet.add(parseInt(item.split(".").reverse())); + }); + //删除直接选中的节点 + Object.keys(context.state[TOTAL_TREE_DATA]).forEach(item => { + let list = context.state[TOTAL_TREE_DATA][item]; + for (let i = list.length - 1; i >= 0; i--) { + if (bookmarkIdSet.has(list[i].bookmarkId)) { + list.splice(i, 1); + } + } + }); + context.commit(TOTAL_TREE_DATA, context.state[TOTAL_TREE_DATA]); + await context.dispatch("updateVersion", null); + await localforage.setItem(TOTAL_TREE_DATA, state[TOTAL_TREE_DATA]); + }, + /** + * 编辑书签节点 + */ + async editNode({ dispatch, state, commit }, { node, newName, newUrl, newIcon }) { + node.name = newName; + node.url = newUrl; + node.icon = newIcon; + commit(TOTAL_TREE_DATA, state[TOTAL_TREE_DATA]); + await dispatch("updateVersion", null); + await localforage.setItem(TOTAL_TREE_DATA, state[TOTAL_TREE_DATA]); + } }; const mutations = { - [TOTAL_TREE_DATA]: (state, totalTreeData) => { - state.totalTreeData = totalTreeData; - }, - [IS_INIT] (state, isInit) { - state.isInit = isInit; - }, - [IS_INITING] (state, isIniting) { - state.isIniting = isIniting; - }, - [VERSION]: (state, version) => { - state[VERSION] = version; - }, - [SHOW_REFRESH_TOAST]: (state, val) => { - state[SHOW_REFRESH_TOAST] = val; - }, - [HOME_PIN_LIST]: (state, val) => { - state[HOME_PIN_LIST] = val; - }, - [HOME_PIN_BOOKMARK_ID_MAP]: (state, val) => { - state[HOME_PIN_BOOKMARK_ID_MAP] = val; - } + [TOTAL_TREE_DATA]: (state, totalTreeData) => { + state.totalTreeData = totalTreeData; + }, + [IS_INIT](state, isInit) { + state.isInit = isInit; + }, + [IS_INITING](state, isIniting) { + state.isIniting = isIniting; + }, + [VERSION]: (state, version) => { + state[VERSION] = version; + }, + [SHOW_REFRESH_TOAST]: (state, val) => { + state[SHOW_REFRESH_TOAST] = val; + }, + [HOME_PIN_LIST]: (state, val) => { + state[HOME_PIN_LIST] = val; + }, + [HOME_PIN_BOOKMARK_ID_MAP]: (state, val) => { + state[HOME_PIN_BOOKMARK_ID_MAP] = val; + } }; - /** * 检查书签缓存是否最新 - * - * @param {*} context - * @param {*} isFirst - * @returns + * + * @param {*} context + * @param {*} isFirst + * @returns */ -async function treeDataCheck (context, isFirst) { - if (toastShow || !checkJwtValid(context.rootState.globalConfig.token)) { - return; - } - let realVersion = await HttpUtil.get("/user/version"); - if (realVersion !== context.state[VERSION]) { - if (context.state[SHOW_REFRESH_TOAST] && !isFirst) { - //如果在书签管理页面需要弹窗提示 - window.vueInstance.$confirm({ - title: "书签数据有更新,是否立即刷新?", - cancelText: "稍后提醒", - closable: false, - keyboard: false, - maskClosable: false, - onOk () { - toastShow = false; - return new Promise(async (resolve) => { - await context.dispatch(refresh); - resolve(); - }); - }, - onCancel () { - toastShow = false; - } - }); - toastShow = true; - } else { - await context.dispatch(refresh); - } - } +async function treeDataCheck(context, isFirst) { + if (toastShow || !checkJwtValid(context.rootState.globalConfig.token)) { + return; + } + let realVersion = await HttpUtil.get("/user/version"); + if (realVersion !== context.state[VERSION]) { + if (context.state[SHOW_REFRESH_TOAST] && !isFirst) { + //如果在书签管理页面需要弹窗提示 + window.vueInstance.$confirm({ + title: "书签数据有更新,是否立即刷新?", + cancelText: "稍后提醒", + closable: false, + keyboard: false, + maskClosable: false, + onOk() { + toastShow = false; + return new Promise(async resolve => { + await context.dispatch(refresh); + resolve(); + }); + }, + onCancel() { + toastShow = false; + } + }); + toastShow = true; + } else { + await context.dispatch(refresh); + } + } } export const store = { - namespaced: true, - state, - getters, - actions, - mutations + namespaced: true, + state, + getters, + actions, + mutations }; - diff --git a/bookmark_front/src/views/manage/bookmarkTree/index.vue b/bookmark_front/src/views/manage/bookmarkTree/index.vue index 892b890..1e4442e 100644 --- a/bookmark_front/src/views/manage/bookmarkTree/index.vue +++ b/bookmark_front/src/views/manage/bookmarkTree/index.vue @@ -15,7 +15,7 @@ @@ -77,7 +77,7 @@ 新增 复制URL - {{ homePinList.filter((item) => item.id && item.bookmarkId == rec.dataRef.bookmarkId).length > 0 ? "从首页移除" : "固定到首页" }} + {{ homePinList.filter(item => item.id && item.bookmarkId == rec.dataRef.bookmarkId).length > 0 ? "从首页移除" : "固定到首页" }} 编辑 删除 @@ -114,7 +114,7 @@ export default { loadedKeys: [], // 已加载数据 replaceFields: { title: "name", - key: "bookmarkId", + key: "bookmarkId" }, mulSelect: false, // 多选框是否显示 currentSelect: null, // 当前树的选择项 @@ -126,19 +126,19 @@ export default { // 新增、修改目标数据,null说明向根节点增加数据 targetNode: null, // 是否为新增动作 - isAdd: false, + isAdd: false }, - copyBoard: null, //剪贴板对象 + copyBoard: null //剪贴板对象 }; }, computed: { ...mapState("treeData", ["totalTreeData", HOME_PIN_LIST]), - ...mapState("globalConfig", ["isPhone"]), + ...mapState("globalConfig", ["isPhone"]) }, watch: { totalTreeData(newVal, oldVal) { this.resetData(); - }, + } }, async mounted() { this.$store.commit(TREE_DATA + "/" + SHOW_REFRESH_TOAST, true); @@ -147,14 +147,21 @@ export default { this.loading = false; //初始化clipboard this.copyBoard = new ClipboardJS(".copy-to-board", { - text: function (trigger) { + text: function(trigger) { return trigger.attributes.data.nodeValue; - }, + } }); - this.copyBoard.on("success", (e) => { + this.copyBoard.on("success", e => { this.$message.success("复制成功"); e.clearSelection(); }); + + window.onblur = e => { + console.log("窗口非激活"); + }; + window.onfocus = e => { + console.log("窗口激活"); + }; }, beforeDestroy() { this.$store.commit(TREE_DATA + "/" + SHOW_REFRESH_TOAST, false); @@ -168,7 +175,7 @@ export default { */ loadData(treeNode) { console.log("加载数据", treeNode); - return new Promise((resolve) => { + return new Promise(resolve => { const data = typeof treeNode === "number" ? this.$store.getters["treeData/getById"](treeNode) : treeNode.dataRef; let newPath = data.path + "." + data.bookmarkId; if (!this.totalTreeData[newPath]) { @@ -212,9 +219,9 @@ export default { this.expandedKeys = [ ...item.path .split(".") - .filter((item) => item.length > 0) - .map((item) => parseInt(item)), - item.bookmarkId, + .filter(item => item.length > 0) + .map(item => parseInt(item)), + item.bookmarkId ]; } else { this.expandedKeys.pop(); @@ -228,7 +235,7 @@ export default { } else { this.checkedKeys.splice(this.checkedKeys.indexOf(item.bookmarkId), 1); this.checkedNodes.splice( - this.checkedNodes.findIndex((item1) => item1.bookmarkId === item.bookmarkId), + this.checkedNodes.findIndex(item1 => item1.bookmarkId === item.bookmarkId), 1 ); } @@ -248,9 +255,9 @@ export default { this.expandedKeys = [ ...item.path .split(".") - .filter((item) => item.length > 0) - .map((item) => parseInt(item)), - item.bookmarkId, + .filter(item => item.length > 0) + .map(item => parseInt(item)), + item.bookmarkId ]; } } else { @@ -273,7 +280,7 @@ export default { const bookmarkIdList = []; const pathList = []; if (this.checkedNodes) { - this.checkedNodes.forEach((item) => + this.checkedNodes.forEach(item => item.type === 1 ? pathList.push(item.path + "." + item.bookmarkId) : bookmarkIdList.push(item.bookmarkId) ); } @@ -290,7 +297,7 @@ export default { await HttpUtil.post("/bookmark/batchDelete", null, { pathList, bookmarkIdList }); await this.$store.dispatch(TREE_DATA + "/" + deleteData, { pathList, bookmarkIdList }); //删除已经被删除的数据 - pathList.forEach((item) => { + pathList.forEach(item => { const id = parseInt(item.split(".").reverse()[0]); let index = this.loadedKeys.indexOf(id); if (index > -1) { @@ -322,13 +329,13 @@ export default { this.refresh(false); this.expandedKeys = item.path .split(".") - .filter((one) => one.length > 0) - .map((one) => parseInt(one)); + .filter(one => one.length > 0) + .map(one => parseInt(one)); this.loadedKeys = item.path .split(".") - .filter((one) => one.length > 0) - .map((one) => parseInt(one)); - this.expandedKeys.forEach(async (one) => await this.loadData(one)); + .filter(one => one.length > 0) + .map(one => parseInt(one)); + this.expandedKeys.forEach(async one => await this.loadData(one)); this.currentSelect = item; }, /** @@ -344,7 +351,7 @@ export default { this.addModal = { show: false, targetNode: null, - isAdd: false, + isAdd: false }; }, async onDrop(info) { @@ -388,12 +395,12 @@ export default { await this.deleteBookmarks(); resolve(); }); - }, + } }); } else if (key === "edit") { this.editData(); } else if (key === "pin") { - let pin = this.homePinList.filter((one) => one.id && one.bookmarkId == item.bookmarkId); + let pin = this.homePinList.filter(one => one.id && one.bookmarkId == item.bookmarkId); if (pin.length > 0) { await HttpUtil.delete("/home/pin", { id: pin[0].id }); } else { @@ -411,8 +418,8 @@ export default { dealList(root, map[""], map); let content = exportFileHead + root.outerHTML; downloadFile(moment().format("YYYY-MM-DD") + "导出书签.html", content); - }, - }, + } + } }; diff --git a/bookmark_front/src/views/noHead/addBookmark/index.vue b/bookmark_front/src/views/noHead/addBookmark/index.vue index 1e9c1bc..c7596dd 100644 --- a/bookmark_front/src/views/noHead/addBookmark/index.vue +++ b/bookmark_front/src/views/noHead/addBookmark/index.vue @@ -1,17 +1,17 @@ diff --git a/浏览器插件/bookmarkBrowserPlugin/background.js b/浏览器插件/bookmarkBrowserPlugin/background.js index 0cbee6b..d42af06 100644 --- a/浏览器插件/bookmarkBrowserPlugin/background.js +++ b/浏览器插件/bookmarkBrowserPlugin/background.js @@ -15,7 +15,6 @@ chrome.contextMenus.onClicked.addListener(async function (info, tab) { let body = { name: tab.title, url: tab.url, - iconUrl: tab.favIconUrl }; sendToContent(tab.id, { code: "addBookmark", data: body, token: await getVal("token") }); }); diff --git a/浏览器插件/bookmarkBrowserPlugin/manifest.json b/浏览器插件/bookmarkBrowserPlugin/manifest.json index ca0f0e9..1e99669 100644 --- a/浏览器插件/bookmarkBrowserPlugin/manifest.json +++ b/浏览器插件/bookmarkBrowserPlugin/manifest.json @@ -1,6 +1,6 @@ { - "name": "bookmark-chrome", - "description": "A Vue.js web extension", + "name": "签签世界", + "description": "云书签管理平台", "version": "1.0", "manifest_version": 3, "permissions": ["contextMenus", "storage"], @@ -8,8 +8,8 @@ "default_popup": "popup/index.html" }, "icons": { - "48": "static/icons/icon_48.png", - "128": "static/icons/icon_128.png" + "48": "static/icons/favicon.png", + "128": "static/icons/favicon.png" }, "background": { "service_worker": "background.js" diff --git a/浏览器插件/bookmarkBrowserPlugin/popup/index.html b/浏览器插件/bookmarkBrowserPlugin/popup/index.html index a3b8ae9..d82fbaa 100644 --- a/浏览器插件/bookmarkBrowserPlugin/popup/index.html +++ b/浏览器插件/bookmarkBrowserPlugin/popup/index.html @@ -19,10 +19,11 @@ 点击登录

+
插件版本:
diff --git a/浏览器插件/bookmarkBrowserPlugin/popup/index.js b/浏览器插件/bookmarkBrowserPlugin/popup/index.js index 5869476..04e6582 100644 --- a/浏览器插件/bookmarkBrowserPlugin/popup/index.js +++ b/浏览器插件/bookmarkBrowserPlugin/popup/index.js @@ -8,6 +8,7 @@ var action = document.getElementById("action"); (async () => { //初始化 login.href = bookmarkHost + "/manage/sso/auth"; + document.getElementById("version").innerText = version; sendToBg("getToken", null); })(); diff --git a/浏览器插件/bookmarkBrowserPlugin/static/icons/favicon.ico b/浏览器插件/bookmarkBrowserPlugin/static/icons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f354250216255c82cdb15986c2db012196fcb693 GIT binary patch literal 4286 zcmc(iS7=pR5Qa}|SYs^2ibe@BmItw-C|pDZ1rghW5P$KHD{i2nC{BeU5z=9s+Q6IRw?@3m(Bnfa%jNF*-$my{IYe)pF| zw%)#dt2b}n==JN@diCm+UcP*(7cXAu`Sa(24%d})NB8~v_qAfh3N2W$K#LbI*3zX* zwS4(TCQwr$GF%F@oAJGFcFZtdH*PX`Vh(BZ>}b>hSc zojrS27cXAawQJXO`}S=;e*8El2Ht^}JH?9^SJXF(i;J_J@A+8;3l>z7B1P1ARk(0r6(~?3Pi%e$9}=^N4N{?&#L7TXz1^rAs<> z>XeQjKd$WTZ0+B_-+aDf#|~}ZzTIL$Og3!TU@^hgWy_Y?B903eF4UDPSBwXLi-Y5E ze}HAytXaBu@1AiDAHgj+_T|eL{rK_2xC;N^BAnf{X_Mjj_3Kx_W%vvS^Q#*i@U~N@ zPUhbxO`7QD&6{$LqHEZ&Vd~MNhdqDr;DN<<W5$dLe6wrUF5?IH>eZ`f`Sk4BvwZ7DKE9kbZCaok4w6UMf)B|j z_=%3Bq$I%&d<8yYGH~F);O>wiLo7adan9rJd();(O-4dOg7J(R;~Yp!OAF*vABe5{ z7kuP;a&oerAzzLhIbzsz%RATSyYue!>CXHkoY13R39?<{1)Yi#ix03SYJ;eYsnzs8OotI?xJ zTi&`{w==ihZD%Kz9<%G$uj|mEL)yD{ujMv1c-^{n<_GHZ{Q2`WckW!xo;_RBr%%_s zdGjm=VDOw|&rN6e8T>kT?wrL68^C}MMvWR}zNFrHKE&F+X44D4fB$YiBL37OIEpXB zI{A(-@hjMi6)UE8?b=z~Im-vT&{wEXA=}Xb7WxGItW>Fzd>Kso#Fn}sZ%X3?pMb_eo||>&pGNft5KsyTC`}9E?>TEHJ9E--KG9ghfkh7sWWHJ zSZ=zn$i*pBrdSU_7FgXU{rdGYf5gfIa(wXM!75v}Y+xrcQc_Z^9)R)Z&!5IK@9S{x z>({S3cI=q?^yy=L%Js6BDpg9|yLY#~3}4}v+nsYqCi39GfB^%n?}cU2PkZ<7ZT7

I%FcKYqOG)Tv{6xO(+!o1f6jU5_C$-S>aPfi8LpGO?4h)V==w`>STnnr0*1 zgLmMeF1w#^+_+)-xPxx;`ND+@nmKc(@q}L4ty?#f%loj+dc;oP;l1w{BJa`t_BOkzunR@xrgXM_(8NJi(Xfaarl< z=_Uu?9z1x^-ci?v4Ge&1uk8P1YN zU?9htA(-bKlh4sLYSaigj;|+8nq+6_4>M-WuzrZ$%n#IbdIax0SLkQp!|t$tY81Aj z8=cf`bkb+wVDsk9)wOF^jT<*E$W!dV9%eMZ<9KuKB}a$c{voNx`2bXKtuC2+FC&$bi$L)TbFkyn} wXXd0I5*wcly)NZux629d@EWY}BrnX!L>F@}dC%`-Fd-u>GuHR0&;HlXzfmXQqW}N^ literal 0 HcmV?d00001 diff --git a/浏览器插件/bookmarkBrowserPlugin/static/icons/favicon.png b/浏览器插件/bookmarkBrowserPlugin/static/icons/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..a3dff8881277f114786284a75b62d2257fa13ce0 GIT binary patch literal 63465 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%0AK)@WmP4BWDIJM<>AVeE97046^9lU)uijhfFfup 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 literal 0 HcmV?d00001 diff --git a/浏览器插件/bookmarkBrowserPlugin/static/icons/icon.xcf b/浏览器插件/bookmarkBrowserPlugin/static/icons/icon.xcf deleted file mode 100644 index e1cde958703ab2d41ce3f1bbc57a28601b55503a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44178 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∈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 XLHWW>^V}R&0Jm0!pEbCxpgVs7rb#;= diff --git a/浏览器插件/bookmarkBrowserPlugin/static/icons/icon_128.png b/浏览器插件/bookmarkBrowserPlugin/static/icons/icon_128.png deleted file mode 100644 index c4ed86867f0af17ecb564eb6a7ebaf07a079c02d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10042 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 diff --git a/浏览器插件/bookmarkBrowserPlugin/static/js/config.js b/浏览器插件/bookmarkBrowserPlugin/static/js/config.js index ca2605b..bc1301e 100644 --- a/浏览器插件/bookmarkBrowserPlugin/static/js/config.js +++ b/浏览器插件/bookmarkBrowserPlugin/static/js/config.js @@ -1,6 +1,7 @@ -// var bookmarkHost = "https://fleyx.com"; -var bookmarkHost = "http://localhost:8080"; +var bookmarkHost = "https://fleyx.com"; +// var bookmarkHost = "http://localhost:8080"; +var version = "0.1"; window.token = localStorage.getItem('token'); axios.defaults.baseURL = bookmarkHost + '/bookmark/api';