diff --git a/CHANGELOG.md b/CHANGELOG.md index f207913..d9fe3be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,36 @@ +# :tada: 2.7.0 (2023-12-28) + + +### :sparkles: Features + +* **custom:** add delete configuration confirm check ([5fb756c](https://github.com/Kuingsmile/piclist/commit/5fb756c)) +* **custom:** add more log file quick open item ([1884dba](https://github.com/Kuingsmile/piclist/commit/1884dba)) +* **custom:** add preview support for more types of text file ([2c46dca](https://github.com/Kuingsmile/piclist/commit/2c46dca)) +* **custom:** optimize display of manage page ([8306013](https://github.com/Kuingsmile/piclist/commit/8306013)) +* **custom:** remove sponsor from menu ([28e6f47](https://github.com/Kuingsmile/piclist/commit/28e6f47)) + + +### :bug: Bug Fixes + +* **custom:** exclude svg file from remove exif step ([f1084e5](https://github.com/Kuingsmile/piclist/commit/f1084e5)), closes [#123](https://github.com/Kuingsmile/piclist/issues/123) +* **custom:** fix chinease char encode error ([1fbd7a7](https://github.com/Kuingsmile/piclist/commit/1fbd7a7)) +* **custom:** fix tooltip disabled state in login.vue ([99ab80f](https://github.com/Kuingsmile/piclist/commit/99ab80f)) +* **custom:** hide rename button if not supported ([e99f789](https://github.com/Kuingsmile/piclist/commit/e99f789)), closes [#122](https://github.com/Kuingsmile/piclist/issues/122) + + +### :pencil: Documentation + +* **custom:** update docs ([c060261](https://github.com/Kuingsmile/piclist/commit/c060261)) +* **custom:** update docs ([d0df3ec](https://github.com/Kuingsmile/piclist/commit/d0df3ec)) +* **custom:** update version log ([157d0ff](https://github.com/Kuingsmile/piclist/commit/157d0ff)) + + +### :package: Chore + +* **custom:** remove usused files ([a7b7d94](https://github.com/Kuingsmile/piclist/commit/a7b7d94)) + + + ## :tada: 2.6.8 (2023-12-08) diff --git a/README.md b/README.md index 0e3d4d0..d63b9d0 100644 --- a/README.md +++ b/README.md @@ -199,10 +199,6 @@ Thank you again for your support for PicList. ![image](https://github.com/Kuingsmile/PicList/assets/96409857/29de0046-1aef-4b28-95a6-b26c6e297c6f) ![image](https://github.com/Kuingsmile/PicList/assets/96409857/e1c04488-2d3a-4e8f-aa26-ce41d0a383e2) -## WeChat group - - - ## Development instructions 1. You need to have Node, Git environment, and understand the related knowledge of npm. diff --git a/README_cn.md b/README_cn.md index 653dd5d..a87fcdb 100644 --- a/README_cn.md +++ b/README_cn.md @@ -183,10 +183,6 @@ brew uninstall piclist ![image](https://github.com/Kuingsmile/PicList/assets/96409857/29de0046-1aef-4b28-95a6-b26c6e297c6f) ![image](https://github.com/Kuingsmile/PicList/assets/96409857/e1c04488-2d3a-4e8f-aa26-ce41d0a383e2) -## 微信交流群 - - - ## 开发说明 1. 你需要有 Node、Git 环境,了解 npm 的相关知识。 diff --git a/currentVersion.md b/currentVersion.md index 56c5069..ed5d787 100644 --- a/currentVersion.md +++ b/currentVersion.md @@ -1,11 +1,16 @@ +Happy New Year! 🎉 + ✨ Features -- 现在支持vscode插件vs-piclist的远程服务器模式 -- 关联更新:现在支持docker部署PicList-core -- 上传接口增加了额外的记录区分上传行为 -- 核心库版本更新 +- 现在移除exif信息选项不再错误的处理svg图片 +- 添加了管理功能log文件和软件GUI界面log文件的快捷打开选项 +- 现在支持更多类型的文本文件预览 +- 现在移除配置前会进行额外的确认以避免误删除 +- 现在如果对应图床不支持重命名操作,不会再显示重命名按钮 +- 优化了管理界面文件浏览页的文字显示 +- 移除了赞助窗口~~ 🐛 Bug Fixes -- 修复了相册内无法正常复制部分插件上传的图片URL的问题 -- 修复了上传图床选择过程中的log记录字段错误的问题 \ No newline at end of file +- 修复了表单上传模式下,中文文件名乱码的问题 +- 修复了管理界面入口页的显示bug \ No newline at end of file diff --git a/currentVersion_en.md b/currentVersion_en.md index 56340a8..4c075f4 100644 --- a/currentVersion_en.md +++ b/currentVersion_en.md @@ -1,14 +1,16 @@ +Happy New Year! 🎉 + ✨ Features -- Support the remote server mode of the vscode plug-in vs-piclist -- Related update: Docker deployment for PicList-core is now supported. -- The upload interface adds additional records to distinguish upload behavior -- Core library version update +- Now the option to remove exif information will no longer incorrectly process svg images +- Added a shortcut to open the log file of the management function and the GUI interface log file +- Now supports more types of text file preview +- Now there will be extra confirmation before removing the configuration to avoid accidental deletion +- Now if the corresponding image bed does not support the rename operation, the rename button will not be displayed +- Optimized the text display of the file browsing page of the management interface +- Removed the sponsorship window~~ 🐛 Bug Fixes -- 修复了相册内无法正常复制部分插件上传的图片URL的问题 -- 修复了上传图床选择过程中的log记录字段错误的问题 - -- Fix the problem that some plug-in upload image URLs cannot be copied normally in the album -- Fixed the problem of incorrect log record fields during the upload image selection process +- Fixed the problem of garbled Chinese file names in form upload mode +- Fixed the display bug of the management interface entry page diff --git a/package.json b/package.json index 92c930a..c711690 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "piclist", - "version": "2.6.8", + "version": "2.7.0", "author": { "name": "Kuingsmile", "email": "pkukuing@gmail.com" @@ -21,7 +21,7 @@ "dev": "vue-cli-service electron:serve", "electron:build": "vue-cli-service electron:build", "electron:serve": "vue-cli-service electron:serve", - "gen-i18n": "node ./scripts/gen-i18n-types.js", + "i18n": "node ./scripts/gen-i18n-types.js", "lint:fix": "eslint --fix --ext .js,.jsx,.ts,.tsx,.vue src/", "postinstall": "electron-builder install-app-deps", "postuninstall": "electron-builder install-app-deps", @@ -37,7 +37,7 @@ "@aws-sdk/client-s3": "^3.421.0", "@aws-sdk/lib-storage": "^3.421.0", "@aws-sdk/s3-request-presigner": "^3.421.0", - "@element-plus/icons-vue": "^2.1.0", + "@element-plus/icons-vue": "^2.3.1", "@highlightjs/vue-plugin": "^2.1.0", "@nodelib/fs.walk": "^2.0.0", "@octokit/rest": "^19.0.7", @@ -52,11 +52,11 @@ "cos-nodejs-sdk-v5": "^2.12.5", "dexie": "^3.2.4", "electron-updater": "^6.1.4", - "element-plus": "2.4.3", + "element-plus": "2.4.4", "epipebomb": "^1.0.0", "fast-xml-parser": "^4.3.2", "form-data": "^4.0.0", - "fs-extra": "^11.1.1", + "fs-extra": "^11.2.0", "got": "^12.6.0", "highlight.js": "^11.9.0", "hpagent": "^1.2.0", @@ -68,7 +68,7 @@ "multer": "^1.4.5-lts.1", "node-ssh-no-cpu-features": "^1.0.1", "nodejs-file-downloader": "^4.12.1", - "piclist": "^1.6.7", + "piclist": "^1.7.0", "pinia": "^2.1.7", "pinia-plugin-persistedstate": "^3.2.0", "proxy-agent": "^5.0.0", @@ -79,8 +79,8 @@ "ssh2-no-cpu-features": "^1.0.0", "upyun": "^3.4.6", "uuid": "^9.0.1", - "video.js": "^8.5.2", - "vue": "^3.3.10", + "video.js": "^8.6.1", + "vue": "^3.3.13", "vue-router": "^4.2.5", "vue3-lazyload": "^0.3.8", "vue3-photo-preview": "^0.3.0", @@ -114,7 +114,7 @@ "@vue/cli-service": "^5.0.8", "@vue/eslint-config-standard": "^8.0.1", "@vue/eslint-config-typescript": "^12.0.0", - "@vue/runtime-dom": "^3.3.10", + "@vue/runtime-dom": "^3.3.13", "conventional-changelog": "^5.1.0", "cz-customizable": "^7.0.0", "dotenv": "^16.3.1", @@ -122,14 +122,14 @@ "electron": "^22.0.2", "eslint": "^8.54.0", "eslint-config-standard": ">=16.0.0", - "eslint-plugin-import": "^2.29.0", + "eslint-plugin-import": "^2.29.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-vue": "^9.18.1", "husky": "^3.1.0", "node-bump-version": "^1.0.2", "node-loader": "^2.0.0", - "npm-check-updates": "^16.14.11", + "npm-check-updates": "^16.14.12", "stylus": "^0.59.0", "stylus-loader": "^7.1.3", "typescript": "^4.9.5", diff --git a/public/i18n/en.yml b/public/i18n/en.yml index a27fa9d..abc0916 100644 --- a/public/i18n/en.yml +++ b/public/i18n/en.yml @@ -14,7 +14,6 @@ UPLOADING: Uploading QUICK_UPLOAD: Quick Upload UPLOAD_BY_CLIPBOARD: Upload by Clipboard HIDE_WINDOW: Hide Window -SPONSOR_PICLIST: Sponsor PicList SHOW_PICBED_QRCODE: Show Picbed Qrcode PICBED_QRCODE: Picbed Qrcode ENABLE: Enable @@ -67,8 +66,6 @@ PICBEDS_MANAGE: Picbeds Manage PICLIST_SETTINGS: Settings PLUGIN_SETTINGS: Plugins PICLIST_SPONSOR_TEXT: If you like it, please don't forget to buy me a cup of coffee. -ALIPAY: Alipay -WECHATPAY: Wechat Pay CHOOSE_PICBED: Choose Picbed COPY_PICBED_CONFIG: Copy Picbed Config COPY_PICBED_CONFIG_SUCCEED: Copy Picbed Config Succeed @@ -193,6 +190,8 @@ SETTINGS_NEWEST_VERSION: Newest Version SETTINGS_GETING: Getting... SETTINGS_TIPS_HAS_NEW_VERSION: PicList has a new version, please click confirm to open download page SETTINGS_LOG_FILE: Log File +SETTINGS_GUI_LOG_FILE: GUI Log File +SETTINGS_MANAGE_LOG_FILE: Manage Log File SETTINGS_LOG_LEVEL: Log Level SETTINGS_LOG_FILE_SIZE: Log File Size SETTINGS_SET_PICGO_SERVER: Set PicGo Server @@ -711,6 +710,10 @@ MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C: 'Alias deleted: ' MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D: 'Configuration with alias: ' MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E: ' failed to delete' MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS: 'Copied ' +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE: Are you sure to delete this? +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP: Tip +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM: Confirm +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL: Cancel MANAGE_BUCKET_PAGE_LOADING_TEXT: Loading... MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER: Please select a custom domain diff --git a/public/i18n/zh-CN.yml b/public/i18n/zh-CN.yml index 4acf3fc..6ae07be 100644 --- a/public/i18n/zh-CN.yml +++ b/public/i18n/zh-CN.yml @@ -14,7 +14,6 @@ UPLOADING: 正在上传 QUICK_UPLOAD: 快捷上传 UPLOAD_BY_CLIPBOARD: 剪贴板图片上传 HIDE_WINDOW: 隐藏窗口 -SPONSOR_PICLIST: 赞助 PicList SHOW_PICBED_QRCODE: 生成图床配置二维码 PICBED_QRCODE: 图床配置二维码 ENABLE: 启用 @@ -67,8 +66,6 @@ PICBEDS_MANAGE: 图床管理 PICLIST_SETTINGS: 设置 PLUGIN_SETTINGS: 插件 PICLIST_SPONSOR_TEXT: 如果你喜欢它,对你有帮助,可以请我喝杯蜜雪冰城~ -ALIPAY: 支付宝 -WECHATPAY: 微信支付 CHOOSE_PICBED: 选择图床 COPY_PICBED_CONFIG: 复制图床配置 COPY_PICBED_CONFIG_SUCCEED: 复制图床配置成功 @@ -194,7 +191,9 @@ SETTINGS_CURRENT_VERSION: 当前版本 SETTINGS_NEWEST_VERSION: 最新版本 SETTINGS_GETING: 正在获取中 SETTINGS_TIPS_HAS_NEW_VERSION: PicList更新啦,请点击确定打开下载页面 -SETTINGS_LOG_FILE: 日志文件 +SETTINGS_LOG_FILE: 常规日志文件 +SETTINGS_GUI_LOG_FILE: GUI日志文件 +SETTINGS_MANAGE_LOG_FILE: 管理日志文件 SETTINGS_LOG_LEVEL: 日志记录等级 SETTINGS_LOG_FILE_SIZE: 日志文件大小 SETTINGS_SET_PICGO_SERVER: 设置PicGo-Server @@ -715,6 +714,11 @@ MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C: 已删除别名 MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D: 删除别名为 MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E: 的配置失败 MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS: 已复制 +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE: 确定要删除配置么? +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP: 提示 +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM: 确定 +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL: 取消 + MANAGE_BUCKET_PAGE_LOADING_TEXT: 加载文件中... MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER: 请选择自定义域名 diff --git a/public/i18n/zh-TW.yml b/public/i18n/zh-TW.yml index 31c627f..28c58cb 100644 --- a/public/i18n/zh-TW.yml +++ b/public/i18n/zh-TW.yml @@ -14,7 +14,6 @@ UPLOADING: 正在上傳 QUICK_UPLOAD: 快速上傳 UPLOAD_BY_CLIPBOARD: 剪貼簿圖片上傳 HIDE_WINDOW: 隱藏視窗 -SPONSOR_PICLIST: 贊助 PicList SHOW_PICBED_QRCODE: 產生圖床配置 QRCODE PICBED_QRCODE: 圖床配置 QRCODE ENABLE: 啟用 @@ -67,8 +66,6 @@ PICBEDS_MANAGE: 圖床管理 PICLIST_SETTINGS: 設定 PLUGIN_SETTINGS: 插件 PICLIST_SPONSOR_TEXT: 如果你喜歡它,對你有幫助,不妨請我喝杯咖啡~ -ALIPAY: 支付寶 -WECHATPAY: 微信支付 CHOOSE_PICBED: 選擇圖床 COPY_PICBED_CONFIG: 複製圖床設定 COPY_PICBED_CONFIG_SUCCEED: 複製圖床設定成功 @@ -193,6 +190,8 @@ SETTINGS_NEWEST_VERSION: 最新版本 SETTINGS_GETING: 正在取得中 SETTINGS_TIPS_HAS_NEW_VERSION: PicList更新啦,請點擊確定開啟下載頁面 SETTINGS_LOG_FILE: 記錄檔案 +SETTINGS_GUI_LOG_FILE: GUI記錄檔案 +SETTINGS_MANAGE_LOG_FILE: 管理記錄檔案 SETTINGS_LOG_LEVEL: 記錄等级 SETTINGS_LOG_FILE_SIZE: 記錄檔案大小 SETTINGS_SET_PICGO_SERVER: 設定PicGo-Server @@ -711,6 +710,10 @@ MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C: 已刪除別名 MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D: 刪除別名為 MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E: 的配置失敗 MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS: 已複製 +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE: 確定要删除嗎?? +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP: 提示 +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM: 確定 +MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL: 取消 MANAGE_BUCKET_PAGE_LOADING_TEXT: 載入檔案中... MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER: 請選擇自訂域名 diff --git a/src/main/events/picgoCoreIPC.ts b/src/main/events/picgoCoreIPC.ts index 837dd43..1afb886 100644 --- a/src/main/events/picgoCoreIPC.ts +++ b/src/main/events/picgoCoreIPC.ts @@ -7,6 +7,7 @@ import { ipcMain, clipboard } from 'electron' +import fs from 'fs-extra' // Electron modules @@ -371,6 +372,9 @@ const handlePicGoGalleryDB = () => { const handleOpenFile = () => { ipcMain.on(PICGO_OPEN_FILE, (event: IpcMainEvent, fileName: string) => { const abFilePath = path.join(STORE_PATH, fileName) + if (!fs.existsSync(abFilePath)) { + fs.writeFileSync(abFilePath, '') + } shell.openPath(abFilePath) }) } diff --git a/src/main/events/remotes/menu.ts b/src/main/events/remotes/menu.ts index 6701501..589dbca 100644 --- a/src/main/events/remotes/menu.ts +++ b/src/main/events/remotes/menu.ts @@ -26,7 +26,6 @@ import { PICGO_HANDLE_PLUGIN_DONE, PICGO_HANDLE_PLUGIN_ING, PICGO_TOGGLE_PLUGIN, - SHOW_MAIN_PAGE_DONATION, SHOW_MAIN_PAGE_QRCODE } from '~/universal/events/constants' import { PicGo as PicGoCore } from 'piclist' @@ -122,12 +121,6 @@ const buildMainPageMenu = (win: BrowserWindow) => { }) } }, - { - label: T('SPONSOR_PICLIST'), - click () { - win?.webContents?.send(SHOW_MAIN_PAGE_DONATION) - } - }, { label: T('SHOW_PICBED_QRCODE'), click () { diff --git a/src/main/server/index.ts b/src/main/server/index.ts index 8772635..5af763d 100644 --- a/src/main/server/index.ts +++ b/src/main/server/index.ts @@ -23,6 +23,14 @@ const multerStorage = multer.diskStorage({ cb(null, serverTempDir) }, filename: function (_req: any, file: { originalname: any }, cb: (arg0: null, arg1: any) => void) { + console.log(file.originalname) + // eslint-disable-next-line no-control-regex + if (!/[^\u0000-\u00ff]/.test(file.originalname)) { + file.originalname = Buffer.from(file.originalname, 'latin1').toString( + 'utf8' + ) + } + console.log(file.originalname) cb(null, file.originalname) } }) diff --git a/src/renderer/layouts/Main.vue b/src/renderer/layouts/Main.vue index ff4f2ae..f7dde7d 100644 --- a/src/renderer/layouts/Main.vue +++ b/src/renderer/layouts/Main.vue @@ -160,37 +160,6 @@ - - {{ $T('PICLIST_SPONSOR_TEXT') }} - - - -
- {{ $T('ALIPAY') }} -
-
- - -
- {{ $T('WECHATPAY') }} -
-
-
-
= ref([]) @@ -333,9 +300,6 @@ onBeforeMount(() => { ipcRenderer.on(SHOW_MAIN_PAGE_QRCODE, () => { qrcodeVisible.value = true }) - ipcRenderer.on(SHOW_MAIN_PAGE_DONATION, () => { - visible.value = true - }) ipcRenderer.on('updateProgress', (_event: IpcRendererEvent, data: { progress: number}) => { progressShow.value = data.progress !== 100 && data.progress !== 0 progressPercentage.value = data.progress @@ -419,7 +383,6 @@ onBeforeRouteUpdate(async (to) => { onBeforeUnmount(() => { ipcRenderer.removeListener(GET_PICBEDS, getPicBeds) ipcRenderer.removeAllListeners(SHOW_MAIN_PAGE_QRCODE) - ipcRenderer.removeAllListeners(SHOW_MAIN_PAGE_DONATION) ipcRenderer.removeAllListeners('updateProgress') }) diff --git a/src/renderer/manage/pages/bucketPage.vue b/src/renderer/manage/pages/bucketPage.vue index 0bed878..8e78fde 100644 --- a/src/renderer/manage/pages/bucketPage.vue +++ b/src/renderer/manage/pages/bucketPage.vue @@ -139,6 +139,7 @@
diff --git a/src/renderer/manage/pages/logIn.vue b/src/renderer/manage/pages/logIn.vue index e53fd3b..f4f5981 100644 --- a/src/renderer/manage/pages/logIn.vue +++ b/src/renderer/manage/pages/logIn.vue @@ -77,7 +77,7 @@ effect="light" :content="item.alias" placement="top" - :disabled="isNeedToShorten(item.alias)" + :disabled="!isNeedToShorten(item.alias)" :persistent="false" teleported > @@ -277,7 +277,7 @@ import { supportedPicBedList } from '../utils/constants' import { Delete, Edit, Pointer, InfoFilled } from '@element-plus/icons-vue' // Element Plus 消息组件 -import { ElMessage, ElNotification } from 'element-plus' +import { ElMessage, ElMessageBox, ElNotification } from 'element-plus' // 数据发送工具函数 import { getConfig, saveConfig, removeConfig } from '../utils/dataSender' @@ -489,34 +489,40 @@ const handleConfigReset = (name: string) => { } const handleConfigRemove = (name: string) => { - const commonNoticeConfig = { - title: $T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'), - duration: 2000, - customClass: 'notification', - offset: 100 - } - try { - removeConfig('picBed', name) - ElNotification( - { - ...commonNoticeConfig, - message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C')}${name}`, - type: 'success', - position: 'bottom-right' - } - ) - manageStore.refreshConfig() - getAllConfigAliasArray() - } catch (error) { - ElNotification( - { - ...commonNoticeConfig, - message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D')}${name}${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E')}`, - type: 'error', - position: 'bottom-right' - } - ) - } + ElMessageBox.confirm($T('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE'), $T('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP'), { + confirmButtonText: $T('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM'), + cancelButtonText: $T('MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL'), + type: 'warning' + }).then(async () => { + const commonNoticeConfig = { + title: $T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_NAME'), + duration: 2000, + customClass: 'notification', + offset: 100 + } + try { + removeConfig('picBed', name) + ElNotification( + { + ...commonNoticeConfig, + message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_C')}${name}`, + type: 'success', + position: 'bottom-right' + } + ) + manageStore.refreshConfig() + getAllConfigAliasArray() + } catch (error) { + ElNotification( + { + ...commonNoticeConfig, + message: `${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D')}${name}${$T('MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E')}`, + type: 'error', + position: 'bottom-right' + } + ) + } + }) } const getAllConfigAliasArray = async () => { diff --git a/src/renderer/manage/pages/manageMain.vue b/src/renderer/manage/pages/manageMain.vue index db13592..f5f42b3 100644 --- a/src/renderer/manage/pages/manageMain.vue +++ b/src/renderer/manage/pages/manageMain.vue @@ -10,7 +10,7 @@ :src="require(`./assets/${currentPagePicBedConfig.picBedName}.webp`)" class="layout__menu__button__item__icon" > - {{ '-' + supportedPicBedList[currentPagePicBedConfig.picBedName].name + '-' }} + {{ supportedPicBedList[currentPagePicBedConfig.picBedName].name }}
+ + + {{ $T('SETTINGS_CLICK_TO_OPEN') }} + + + + + {{ $T('SETTINGS_CLICK_TO_OPEN') }} + + diff --git a/src/universal/events/constants.ts b/src/universal/events/constants.ts index b2062a4..ddfe7dc 100644 --- a/src/universal/events/constants.ts +++ b/src/universal/events/constants.ts @@ -33,7 +33,6 @@ export const SET_MINI_WINDOW_POS = 'SET_MINI_WINDOW_POS' export const RENAME_FILE_NAME = 'RENAME_FILE_NAME' export const GET_RENAME_FILE_NAME = 'GET_RENAME_FILE_NAME' export const SHOW_MAIN_PAGE_QRCODE = 'SHOW_MAIN_PAGE_QRCODE' -export const SHOW_MAIN_PAGE_DONATION = 'SHOW_MAIN_PAGE_DONATION' export const FORCE_UPDATE = 'FORCE_UPDATE' export const OPEN_WINDOW = 'OPEN_WINDOW' export const GET_PICBEDS = 'GET_PICBEDS' diff --git a/src/universal/types/i18n.d.ts b/src/universal/types/i18n.d.ts index 354d618..7f4bc60 100644 --- a/src/universal/types/i18n.d.ts +++ b/src/universal/types/i18n.d.ts @@ -15,7 +15,6 @@ interface ILocales { QUICK_UPLOAD: string UPLOAD_BY_CLIPBOARD: string HIDE_WINDOW: string - SPONSOR_PICLIST: string SHOW_PICBED_QRCODE: string PICBED_QRCODE: string ENABLE: string @@ -65,8 +64,6 @@ interface ILocales { PICLIST_SETTINGS: string PLUGIN_SETTINGS: string PICLIST_SPONSOR_TEXT: string - ALIPAY: string - WECHATPAY: string CHOOSE_PICBED: string COPY_PICBED_CONFIG: string COPY_PICBED_CONFIG_SUCCEED: string @@ -188,6 +185,8 @@ interface ILocales { SETTINGS_GETING: string SETTINGS_TIPS_HAS_NEW_VERSION: string SETTINGS_LOG_FILE: string + SETTINGS_GUI_LOG_FILE: string + SETTINGS_MANAGE_LOG_FILE: string SETTINGS_LOG_LEVEL: string SETTINGS_LOG_FILE_SIZE: string SETTINGS_SET_PICGO_SERVER: string @@ -670,6 +669,10 @@ interface ILocales { MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_D: string MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_NOTICE_MESSAGE_E: string MANAGE_LOGIN_PAGE_PANE_CONFIG_CHANGE_COPY_SUCCESS: string + MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TITLE: string + MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_TIP: string + MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CONFIRM: string + MANAGE_LOGIN_PAGE_PANE_DELETE_CONFIG_CANCEL: string MANAGE_BUCKET_PAGE_LOADING_TEXT: string MANAGE_BUCKET_PAGE_CUSTOM_URL_SELECT_PLACEHOLDER: string MANAGE_BUCKET_PAGE_CUSTOM_URL_INPUT_PLACEHOLDER: string diff --git a/src/universal/utils/common.ts b/src/universal/utils/common.ts index 208846c..40f381d 100644 --- a/src/universal/utils/common.ts +++ b/src/universal/utils/common.ts @@ -24,17 +24,9 @@ export const handleUrlEncode = (url: string): string => isUrlEncode(url) ? url : * 2. @xxx/picgo-plugin-yyy -> yyy * @param name pluginFullName */ -export const handleStreamlinePluginName = (name: string) => { - if (/^@[^/]+\/picgo-plugin-/.test(name)) { - return name.replace(/^@[^/]+\/picgo-plugin-/, '') - } else { - return name.replace(/picgo-plugin-/, '') - } -} +export const handleStreamlinePluginName = (name: string) => name.replace(/(@[^/]+\/)?picgo-plugin-/, '') -export const simpleClone = (obj: any) => { - return JSON.parse(JSON.stringify(obj)) -} +export const simpleClone = (obj: any) => JSON.parse(JSON.stringify(obj)) export const enforceNumber = (num: number | string) => isNaN(+num) ? 0 : +num @@ -44,12 +36,8 @@ export const trimValues = (obj: T): {[K in keyof T]: T[ return Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, typeof value === 'string' ? value.trim() : value])) as {[K in keyof T]: T[K] extends string ? string : T[K]} } -export function isNeedToShorten (alias: string, cutOff: number = 20) { - let totalLen = 0 - for (const s of alias) { - totalLen += s.charCodeAt(0) > 255 ? 2 : 1 - } - return totalLen > cutOff +export function isNeedToShorten (alias: string, cutOff = 20) { + return [...alias].reduce((len, char) => len + (char.charCodeAt(0) > 255 ? 2 : 1), 0) > cutOff } export function safeSliceF (str:string, total: number) { diff --git a/src/universal/utils/static.ts b/src/universal/utils/static.ts index 3d9bfc4..8d3ad84 100644 --- a/src/universal/utils/static.ts +++ b/src/universal/utils/static.ts @@ -6,4 +6,20 @@ export const RELEASE_URL_BACKUP = 'https://release.piclist.cn' export const STABLE_RELEASE_URL = 'https://github.com/Kuingsmile/PicList/releases/latest' export const C1 = Buffer.from(C1N, 'base64').toString() -export const picBedsCanbeDeleted = ['aliyun', 'aws-s3', 'github', 'imgur', 'local', 'sftpplist', 'smms', 'qiniu', 'tcyun', 'upyun', 'webdavplist', 'dogecloud', 'huaweicloud-uploader', 'alist', 'piclist'] +export const picBedsCanbeDeleted = [ + 'aliyun', + 'aws-s3', + 'github', + 'imgur', + 'local', + 'sftpplist', + 'smms', + 'qiniu', + 'tcyun', + 'upyun', + 'webdavplist', + 'dogecloud', + 'huaweicloud-uploader', + 'alist', + 'piclist' +] diff --git a/supported_format.md b/supported_format.md index 19ba129..0672d10 100644 --- a/supported_format.md +++ b/supported_format.md @@ -10,27 +10,28 @@ ### 文本 -| 格式 | 描述 | 格式 | 描述 | -| :------------: | :-----------------: | :---------------: | :--------------: | -| .bat | 批处理文件 | .java | Java源代码文件 | -| .c | C语言源代码文件 | .js | JavaScript文件 | -| .cmd | Windows命令脚本文件 | .json | JSON文件 | -| .conf | 配置文件 | .log | 日志文件 | -| .config | 配置文件 | .php | PHP源代码文件 | -| .cpp | C++源代码文件 | .prop/.properties | 属性文件 | -| .css | 层叠样式表文件 | .py | Python源代码文件 | -| .csv | 逗号分隔值文件 | .rc | Windows资源文件 | -| .dart | Dart源代码文件 | .sh | Shell脚本文件 | -| .gitattributes | Git属性文件 | .tsv | 制表符分隔值文件 | -| .gitconfig | Git配置文件 | .txt | 纯文本文件 | -| .gitignore | Git忽略文件 | .xml | XML文件 | -| .gitkeep | Git保留文件 | .yaml/.yml | YAML文件 | -| .gitmodules | Git子模块文件 | .yarnrc | Yarn配置文件 | -| .go | Go源代码文件 | LICENSE | 许可证文件 | -| .h | 头文件 | .condarc | Conda配置文件 | -| .hpp | C++头文件 | .md | Markdown文件 | -| .htm/.html | HTML文件 | | | - +| 格式 | 描述 | 格式 | 描述 | +| :------------: | :-----------------: | :---------------: | :----------------: | +| .bat | 批处理文件 | .java | Java源代码文件 | +| .c | C语言源代码文件 | .js | JavaScript文件 | +| .cmd | Windows命令脚本文件 | .json | JSON文件 | +| .conf | 配置文件 | .log | 日志文件 | +| .config | 配置文件 | .php | PHP源代码文件 | +| .cpp | C++源代码文件 | .prop/.properties | 属性文件 | +| .css | 层叠样式表文件 | .py | Python源代码文件 | +| .csv | 逗号分隔值文件 | .rc | Windows资源文件 | +| .dart | Dart源代码文件 | .sh | Shell脚本文件 | +| .gitattributes | Git属性文件 | .tsv | 制表符分隔值文件 | +| .gitconfig | Git配置文件 | .txt | 纯文本文件 | +| .gitignore | Git忽略文件 | .xml | XML文件 | +| .gitkeep | Git保留文件 | .yaml/.yml | YAML文件 | +| .gitmodules | Git子模块文件 | .yarnrc | Yarn配置文件 | +| .go | Go源代码文件 | LICENSE | 许可证文件 | +| .h | 头文件 | .condarc | Conda配置文件 | +| .hpp | C++头文件 | .md | Markdown文件 | +| .htm/.html | HTML文件 | .jsx/.tsx/.vue | JSX文件等 | +| .applescript | AppleScript脚本文件 | .eslintignore | ESLint忽略文件 | +| .lock | 锁文件 | .ps1 | PowerShell脚本文件 | ### 视频 @@ -50,4 +51,3 @@ | .mxf | MXF视频文件 | .asf | Advanced Systems Format视频文件 | | .rm | RealMedia视频文件 | .rmvb | RealMedia可变比特率视频文件 | | .wmv | Windows Media视频文件 | .mkv | Matroska视频文件 | - diff --git a/test/.eslintrc b/test/.eslintrc deleted file mode 100644 index 3f26d66..0000000 --- a/test/.eslintrc +++ /dev/null @@ -1,11 +0,0 @@ -{ - "env": { - "mocha": true - }, - "globals": { - "assert": true, - "expect": true, - "should": true, - "__static": true - } -} diff --git a/test/e2e/index.js b/test/e2e/index.js deleted file mode 100644 index af4b0e7..0000000 --- a/test/e2e/index.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict' - -// Set BABEL_ENV to use proper env config -process.env.BABEL_ENV = 'test' - -// Enable use of ES6+ on required files -require('babel-register')({ - ignore: /node_modules/ -}) - -// Attach Chai APIs to global scope -const { expect, should, assert } = require('chai') -global.expect = expect -global.should = should -global.assert = assert - -// Require all JS files in `./specs` for Mocha to consume -require('require-dir')('./specs') diff --git a/test/e2e/specs/Launch.spec.js b/test/e2e/specs/Launch.spec.js deleted file mode 100644 index 431116b..0000000 --- a/test/e2e/specs/Launch.spec.js +++ /dev/null @@ -1,13 +0,0 @@ -import utils from '../utils' - -describe('Launch', function () { - beforeEach(utils.beforeEach) - afterEach(utils.afterEach) - - it('shows the proper application title', function () { - return this.app.client.getTitle() - .then(title => { - expect(title).to.equal('picgo') - }) - }) -}) diff --git a/test/e2e/utils.js b/test/e2e/utils.js deleted file mode 100644 index 7d4e0da..0000000 --- a/test/e2e/utils.js +++ /dev/null @@ -1,23 +0,0 @@ -import electron from 'electron' -import { Application } from 'spectron' - -export default { - afterEach () { - this.timeout(10000) - - if (this.app && this.app.isRunning()) { - return this.app.stop() - } - }, - beforeEach () { - this.timeout(10000) - this.app = new Application({ - path: electron, - args: ['dist/electron/main.js'], - startTimeout: 10000, - waitTimeout: 10000 - }) - - return this.app.start() - } -} diff --git a/test/unit/index.js b/test/unit/index.js deleted file mode 100644 index f07be98..0000000 --- a/test/unit/index.js +++ /dev/null @@ -1,13 +0,0 @@ -import Vue from 'vue' -Vue.config.devtools = false -Vue.config.productionTip = false - -// require all test files (files that ends with .spec.js) -const testsContext = require.context('./specs', true, /\.spec$/) -testsContext.keys().forEach(testsContext) - -// require all src files except main.js for coverage. -// you can also change this to match only the subset of files that -// you want coverage for. -const srcContext = require.context('../../src/renderer', true, /^\.\/(?!main(\.js)?$)/) -srcContext.keys().forEach(srcContext) diff --git a/test/unit/karma.conf.js b/test/unit/karma.conf.js deleted file mode 100644 index 6204011..0000000 --- a/test/unit/karma.conf.js +++ /dev/null @@ -1,62 +0,0 @@ -'use strict' - -const path = require('path') -const merge = require('webpack-merge') -const webpack = require('webpack') - -const baseConfig = require('../../.electron-vue/webpack.renderer.config') -const projectRoot = path.resolve(__dirname, '../../src/renderer') - -// Set BABEL_ENV to use proper preset config -process.env.BABEL_ENV = 'test' - -let webpackConfig = merge(baseConfig, { - devtool: '#inline-source-map', - plugins: [ - new webpack.DefinePlugin({ - 'process.env.NODE_ENV': '"testing"' - }) - ] -}) - -// don't treat dependencies as externals -delete webpackConfig.entry -delete webpackConfig.externals -delete webpackConfig.output.libraryTarget - -// apply vue option to apply isparta-loader on js -webpackConfig.module.rules - .find(rule => rule.use.loader === 'vue-loader').use.options.loaders.js = 'babel-loader' - -module.exports = config => { - config.set({ - browsers: ['visibleElectron'], - client: { - useIframe: false - }, - coverageReporter: { - dir: './coverage', - reporters: [ - { type: 'lcov', subdir: '.' }, - { type: 'text-summary' } - ] - }, - customLaunchers: { - 'visibleElectron': { - base: 'Electron', - flags: ['--show'] - } - }, - frameworks: ['mocha', 'chai'], - files: ['./index.js'], - preprocessors: { - './index.js': ['webpack', 'sourcemap'] - }, - reporters: ['spec', 'coverage'], - singleRun: true, - webpack: webpackConfig, - webpackMiddleware: { - noInfo: true - } - }) -} diff --git a/test/unit/specs/LandingPage.spec.js b/test/unit/specs/LandingPage.spec.js deleted file mode 100644 index 7cea66f..0000000 --- a/test/unit/specs/LandingPage.spec.js +++ /dev/null @@ -1,13 +0,0 @@ -import Vue from 'vue' -import LandingPage from '@/components/LandingPage' - -describe('LandingPage.vue', () => { - it('should render correct contents', () => { - const vm = new Vue({ - el: document.createElement('div'), - render: h => h(LandingPage) - }).$mount() - - expect(vm.$el.querySelector('.title').textContent).to.contain('Welcome to your new project!') - }) -}) diff --git a/yarn.lock b/yarn.lock index 24493ea..adef07a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2004,11 +2004,6 @@ minimatch "^3.0.4" plist "^3.0.4" -"@element-plus/icons-vue@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.1.0.tgz#7ad90d08a8c0d5fd3af31c4f73264ca89614397a" - integrity sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA== - "@element-plus/icons-vue@^2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz#1f635ad5fdd5c85ed936481525570e82b5a8307a" @@ -3866,18 +3861,18 @@ mux.js "6.2.0" video.js "^7 || ^8" -"@videojs/http-streaming@3.5.3": - version "3.5.3" - resolved "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-3.5.3.tgz#23106e1ef2fd9b9b62aa9b3dc2083bd36d99c963" - integrity sha512-dty8lsZk9QPc0i4It79tjWsmPiaC3FpgARFM0vJGko4k3yKNZIYkAk8kjiDRfkAQH/HZ3rYi5dDTriFNzwSsIg== +"@videojs/http-streaming@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@videojs/http-streaming/-/http-streaming-3.7.0.tgz#48ece0582602e24a3b403c2410bbcdf320bfcccd" + integrity sha512-5uLFKBL8CvD56dxxJyuxqB5CY0tdoa4SE9KbXakeiAy6iFBUEPvTr2YGLKEWvQ8Lojs1wl+FQndLdv+GO7t9Fw== dependencies: "@babel/runtime" "^7.12.5" "@videojs/vhs-utils" "4.0.0" aes-decrypter "4.0.1" global "^4.4.0" m3u8-parser "^7.1.0" - mpd-parser "^1.1.1" - mux.js "7.0.0" + mpd-parser "^1.2.2" + mux.js "7.0.1" video.js "^7 || ^8" "@videojs/vhs-utils@4.0.0", "@videojs/vhs-utils@^4.0.0": @@ -4163,47 +4158,47 @@ semver "^7.3.4" strip-ansi "^6.0.0" -"@vue/compiler-core@3.3.10": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.10.tgz#9ca4123a1458df43db641aaa8b7d1e636aa22545" - integrity sha512-doe0hODR1+i1menPkRzJ5MNR6G+9uiZHIknK3Zn5OcIztu6GGw7u0XUzf3AgB8h/dfsZC9eouzoLo3c3+N/cVA== +"@vue/compiler-core@3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.13.tgz#b3d5f8f84caee5de3f31d95cb568d899fd19c599" + integrity sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A== dependencies: "@babel/parser" "^7.23.5" - "@vue/shared" "3.3.10" + "@vue/shared" "3.3.13" estree-walker "^2.0.2" source-map-js "^1.0.2" -"@vue/compiler-dom@3.3.10": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.10.tgz#183811252be6aff4ac923f783124bb1590301907" - integrity sha512-NCrqF5fm10GXZIK0GrEAauBqdy+F2LZRt3yNHzrYjpYBuRssQbuPLtSnSNjyR9luHKkWSH8we5LMB3g+4z2HvA== +"@vue/compiler-dom@3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.13.tgz#d029e222e545e7ab00be35aafd3abed167f962bf" + integrity sha512-EYRDpbLadGtNL0Gph+HoKiYqXLqZ0xSSpR5Dvnu/Ep7ggaCbjRDIus1MMxTS2Qm0koXED4xSlvTZaTnI8cYAsw== dependencies: - "@vue/compiler-core" "3.3.10" - "@vue/shared" "3.3.10" + "@vue/compiler-core" "3.3.13" + "@vue/shared" "3.3.13" -"@vue/compiler-sfc@3.3.10": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.10.tgz#8eb97d42f276089ec58fd0565ef3a813bceeaa87" - integrity sha512-xpcTe7Rw7QefOTRFFTlcfzozccvjM40dT45JtrE3onGm/jBLZ0JhpKu3jkV7rbDFLeeagR/5RlJ2Y9SvyS0lAg== +"@vue/compiler-sfc@3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.13.tgz#7b397acefd5c0c3808701d2855be88c4be60155c" + integrity sha512-DQVmHEy/EKIgggvnGRLx21hSqnr1smUS9Aq8tfxiiot8UR0/pXKHN9k78/qQ7etyQTFj5em5nruODON7dBeumw== dependencies: "@babel/parser" "^7.23.5" - "@vue/compiler-core" "3.3.10" - "@vue/compiler-dom" "3.3.10" - "@vue/compiler-ssr" "3.3.10" - "@vue/reactivity-transform" "3.3.10" - "@vue/shared" "3.3.10" + "@vue/compiler-core" "3.3.13" + "@vue/compiler-dom" "3.3.13" + "@vue/compiler-ssr" "3.3.13" + "@vue/reactivity-transform" "3.3.13" + "@vue/shared" "3.3.13" estree-walker "^2.0.2" magic-string "^0.30.5" postcss "^8.4.32" source-map-js "^1.0.2" -"@vue/compiler-ssr@3.3.10": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.10.tgz#5a1b14a358cb3960a4edbce0ade90548e452fcaa" - integrity sha512-12iM4jA4GEbskwXMmPcskK5wImc2ohKm408+o9iox3tfN9qua8xL0THIZtoe9OJHnXP4eOWZpgCAAThEveNlqQ== +"@vue/compiler-ssr@3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.13.tgz#ad8748abff8d738ac9c6a3c47be42020f0fbaa63" + integrity sha512-d/P3bCeUGmkJNS1QUZSAvoCIW4fkOKK3l2deE7zrp0ypJEy+En2AcypIkqvcFQOcw3F0zt2VfMvNsA9JmExTaw== dependencies: - "@vue/compiler-dom" "3.3.10" - "@vue/shared" "3.3.10" + "@vue/compiler-dom" "3.3.13" + "@vue/shared" "3.3.13" "@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.3.0": version "3.3.0" @@ -4247,53 +4242,53 @@ "@typescript-eslint/parser" "^6.7.0" vue-eslint-parser "^9.3.1" -"@vue/reactivity-transform@3.3.10": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.10.tgz#b045776cc954bb57883fd305db7a200d42993768" - integrity sha512-0xBdk+CKHWT+Gev8oZ63Tc0qFfj935YZx+UAynlutnrDZ4diFCVFMWixn65HzjE3S1iJppWOo6Tt1OzASH7VEg== +"@vue/reactivity-transform@3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.13.tgz#dc8e9be961865dc666e367e1aaaea0716afa5c90" + integrity sha512-oWnydGH0bBauhXvh5KXUy61xr9gKaMbtsMHk40IK9M4gMuKPJ342tKFarY0eQ6jef8906m35q37wwA8DMZOm5Q== dependencies: "@babel/parser" "^7.23.5" - "@vue/compiler-core" "3.3.10" - "@vue/shared" "3.3.10" + "@vue/compiler-core" "3.3.13" + "@vue/shared" "3.3.13" estree-walker "^2.0.2" magic-string "^0.30.5" -"@vue/reactivity@3.3.10": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.10.tgz#78fe3da319276d9e6d0f072037532928c472a287" - integrity sha512-H5Z7rOY/JLO+e5a6/FEXaQ1TMuOvY4LDVgT+/+HKubEAgs9qeeZ+NhADSeEtrNQeiKLDuzeKc8v0CUFpB6Pqgw== +"@vue/reactivity@3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.13.tgz#9b1dff3b523a69997b66cba2f86f83839e8285fb" + integrity sha512-fjzCxceMahHhi4AxUBzQqqVhuA21RJ0COaWTbIBl1PruGW1CeY97louZzLi4smpYx+CHfFPPU/CS8NybbGvPKQ== dependencies: - "@vue/shared" "3.3.10" + "@vue/shared" "3.3.13" -"@vue/runtime-core@3.3.10": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.10.tgz#d7b78c5c0500b856cf9447ef81d4a1b1438fd5bb" - integrity sha512-DZ0v31oTN4YHX9JEU5VW1LoIVgFovWgIVb30bWn9DG9a7oA415idcwsRNNajqTx8HQJyOaWfRKoyuP2P2TYIag== +"@vue/runtime-core@3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.13.tgz#e8414218e8c7db94acfcec6fd12044704adda9cf" + integrity sha512-1TzA5TvGuh2zUwMJgdfvrBABWZ7y8kBwBhm7BXk8rvdx2SsgcGfz2ruv2GzuGZNvL1aKnK8CQMV/jFOrxNQUMA== dependencies: - "@vue/reactivity" "3.3.10" - "@vue/shared" "3.3.10" + "@vue/reactivity" "3.3.13" + "@vue/shared" "3.3.13" -"@vue/runtime-dom@3.3.10", "@vue/runtime-dom@^3.3.10": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.10.tgz#130dfffb8fee8051671aaf80c5104d2020544950" - integrity sha512-c/jKb3ny05KJcYk0j1m7Wbhrxq7mZYr06GhKykDMNRRR9S+/dGT8KpHuNQjv3/8U4JshfkAk6TpecPD3B21Ijw== +"@vue/runtime-dom@3.3.13", "@vue/runtime-dom@^3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.13.tgz#36b42b479d5a394972f305ca8e95c5f648bf55ef" + integrity sha512-JJkpE8R/hJKXqVTgUoODwS5wqKtOsmJPEqmp90PDVGygtJ4C0PtOkcEYXwhiVEmef6xeXcIlrT3Yo5aQ4qkHhQ== dependencies: - "@vue/runtime-core" "3.3.10" - "@vue/shared" "3.3.10" - csstype "^3.1.2" + "@vue/runtime-core" "3.3.13" + "@vue/shared" "3.3.13" + csstype "^3.1.3" -"@vue/server-renderer@3.3.10": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.10.tgz#f23d151f0e5021ebdc730052d9934c9178486742" - integrity sha512-0i6ww3sBV3SKlF3YTjSVqKQ74xialMbjVYGy7cOTi7Imd8ediE7t72SK3qnvhrTAhOvlQhq6Bk6nFPdXxe0sAg== +"@vue/server-renderer@3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.13.tgz#fccdd0787798173be8929f40f23161c17b60ed36" + integrity sha512-vSnN+nuf6iSqTL3Qgx/9A+BT+0Zf/VJOgF5uMZrKjYPs38GMYyAU1coDyBNHauehXDaP+zl73VhwWv0vBRBHcg== dependencies: - "@vue/compiler-ssr" "3.3.10" - "@vue/shared" "3.3.10" + "@vue/compiler-ssr" "3.3.13" + "@vue/shared" "3.3.13" -"@vue/shared@3.3.10": - version "3.3.10" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.10.tgz#1583a8d85a957d8b819078c465d2a11db7914b2f" - integrity sha512-2y3Y2J1a3RhFa0WisHvACJR2ncvWiVHcP8t0Inxo+NKz+8RKO4ZV8eZgCxRgQoA6ITfV12L4E6POOL9HOU5nqw== +"@vue/shared@3.3.13": + version "3.3.13" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.13.tgz#4cb73cda958d77ffd389c8640cf7d93a10ac676f" + integrity sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA== "@vue/vue-loader-v15@npm:vue-loader@^15.9.7": version "15.10.1" @@ -6594,10 +6589,10 @@ csso@^4.2.0: dependencies: css-tree "^1.1.2" -csstype@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== cz-conventional-changelog@3.3.0: version "3.3.0" @@ -7275,10 +7270,10 @@ electron@^22.0.2: "@types/node" "^16.11.26" extract-zip "^2.0.1" -element-plus@2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/element-plus/-/element-plus-2.4.3.tgz#ff21d0207d71752eb6a47a46609bc667f222841f" - integrity sha512-b3q26j+lM4SBqiyzw8HybybGnP2pk4MWgrnzzzYW5qKQUgV6EG1Zg7nMCfgCVccI8tNvZoTiUHb2mFaiB9qT8w== +element-plus@2.4.4: + version "2.4.4" + resolved "https://registry.yarnpkg.com/element-plus/-/element-plus-2.4.4.tgz#962be40b4843381af04b8f799bfc142072184b8b" + integrity sha512-TlKubXJgxwhER0dw+8ULn9hr9kZjraV4R6Q/eidwWUwCKxwXYPBGmMKsZ/85tlxlhMYbcLZd/YZh6G3QkHX4fg== dependencies: "@ctrl/tinycolor" "^3.4.1" "@element-plus/icons-vue" "^2.3.1" @@ -7617,10 +7612,10 @@ eslint-plugin-import@^2.26.0: resolve "^1.22.0" tsconfig-paths "^3.14.1" -eslint-plugin-import@^2.29.0: - version "2.29.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz#8133232e4329ee344f2f612885ac3073b0b7e155" - integrity sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg== +eslint-plugin-import@^2.29.1: + version "2.29.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" + integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== dependencies: array-includes "^3.1.7" array.prototype.findlastindex "^1.2.3" @@ -7638,7 +7633,7 @@ eslint-plugin-import@^2.29.0: object.groupby "^1.0.1" object.values "^1.1.7" semver "^6.3.1" - tsconfig-paths "^3.14.2" + tsconfig-paths "^3.15.0" eslint-plugin-n@^15.2.4: version "15.6.0" @@ -8529,6 +8524,15 @@ fs-extra@^11.0.0, fs-extra@^11.1.1: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -11302,13 +11306,13 @@ mpd-parser@^1.0.1: "@xmldom/xmldom" "^0.8.3" global "^4.4.0" -mpd-parser@^1.1.1: - version "1.2.1" - resolved "https://registry.npmjs.org/mpd-parser/-/mpd-parser-1.2.1.tgz#3306a627342dadcb5ad82de51fff7f8a9ab03d1b" - integrity sha512-f1DPoocf4ERvBi9XnS1MWFaBURdJvv9uu7EgQEjrD1+U33NL7Azw030Au/GPOpA7YWTw97T9Bt/WgcEmM/B88g== +mpd-parser@^1.2.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/mpd-parser/-/mpd-parser-1.3.0.tgz#38c20f4d73542b4ed554158bc1f0fa571dc61388" + integrity sha512-WgeIwxAqkmb9uTn4ClicXpEQYCEduDqRKfmUdp4X8vmghKfBNXZLYpREn9eqrDx/Tf5LhzRcJLSpi4ohfV742Q== dependencies: "@babel/runtime" "^7.12.5" - "@videojs/vhs-utils" "^3.0.5" + "@videojs/vhs-utils" "^4.0.0" "@xmldom/xmldom" "^0.8.3" global "^4.4.0" @@ -11371,10 +11375,18 @@ mux.js@6.2.0, mux.js@^6.2.0: "@babel/runtime" "^7.11.2" global "^4.4.0" -mux.js@7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/mux.js/-/mux.js-7.0.0.tgz#f5f80cd63bc5eaf13ba2e8b3396d4dd03a8aa1f2" - integrity sha512-DeZmr+3NDrO02k4SREtl4VB5GyGPCz2fzMjDxBIlamkxffSTLge97rtNMoonnmFHTp96QggDucUtKv3fmyObrA== +mux.js@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/mux.js/-/mux.js-7.0.1.tgz#745c77b0fb8aa81dbb47e96651428bfada49b08e" + integrity sha512-Omz79uHqYpMP1V80JlvEdCiOW1hiw4mBvDh9gaZEpxvB+7WYb2soZSzfuSRrK2Kh9Pm6eugQNrIpY/Bnyhk4hw== + dependencies: + "@babel/runtime" "^7.11.2" + global "^4.4.0" + +mux.js@^7.0.1: + version "7.0.2" + resolved "https://registry.yarnpkg.com/mux.js/-/mux.js-7.0.2.tgz#410641dc922c5d173d7ce45fbdb2bb9e2a69137c" + integrity sha512-CM6+QuyDbc0qW1OfEjkd2+jVKzTXF+z5VOKH0eZxtZtnrG/ilkW/U7l7IXGtBNLASF9sKZMcK1u669cq50Qq0A== dependencies: "@babel/runtime" "^7.11.2" global "^4.4.0" @@ -11663,10 +11675,10 @@ npm-bundled@^3.0.0: dependencies: npm-normalize-package-bin "^3.0.0" -npm-check-updates@^16.14.11: - version "16.14.11" - resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-16.14.11.tgz#aef5248d04cc5abdf6ee2e1edc4a3f7fd20e6f29" - integrity sha512-0MMWGbGci22Pu77bR9jRsy5qgxdQSJVqNtSyyFeubDPtbcU36z4gjEDITu26PMabFWPNkAoVfKF31M3uKUvzFg== +npm-check-updates@^16.14.12: + version "16.14.12" + resolved "https://registry.yarnpkg.com/npm-check-updates/-/npm-check-updates-16.14.12.tgz#154db2d6d575bd57cc1120ad9eb3483a1ff2c95d" + integrity sha512-5FvqaDX8AqWWTDQFbBllgLwoRXTvzlqVIRSKl9Kg8bYZTfNwMnrp1Zlmb5e/ocf11UjPTc+ShBFjYQ7kg6FL0w== dependencies: chalk "^5.3.0" cli-table3 "^0.6.3" @@ -12350,10 +12362,10 @@ performance-now@^2.1.0: resolved "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -piclist@^1.6.7: - version "1.6.7" - resolved "https://registry.yarnpkg.com/piclist/-/piclist-1.6.7.tgz#196233d14914d20546d49806697ed87083f68bf2" - integrity sha512-MtJYAS8zZXtZCum7pGFM9nvxb5moJXKSYRDQ9MTW2YeqgLgVBVouuYOMDHknvRMjrlRAQtY/T/+80HhwGkLMLQ== +piclist@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/piclist/-/piclist-1.7.0.tgz#a348859d1754510e41013afce5896f14ffa7d229" + integrity sha512-X+pGgJ63k4hq6iOuU8t0R+AW/N4zrCk3nC6pdsAjK3yykwDfG3AOg0Yb1Dcx2o9AiFNQd+9LllFakDwQAfMfkA== dependencies: "@picgo/i18n" "^1.0.0" "@picgo/store" "^2.1.0" @@ -12365,7 +12377,7 @@ piclist@^1.6.7: download-git-repo "^3.0.2" ejs "^2.6.1" form-data "^4.0.0" - fs-extra "^11.1.1" + fs-extra "^11.2.0" globby "^11.1.0" heic-convert "^1.2.4" image-size "^1.0.2" @@ -14968,10 +14980,10 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" -tsconfig-paths@^3.14.2: - version "3.14.2" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.2" @@ -15533,13 +15545,13 @@ verror@^1.10.0: videojs-font "3.2.0" videojs-vtt.js "0.15.4" -video.js@^8.5.2: - version "8.5.2" - resolved "https://registry.npmjs.org/video.js/-/video.js-8.5.2.tgz#11cebb3934a020e0e4ab04c4d454c8c3f35ff8b8" - integrity sha512-6/uNXQV3xSaKLpaPf/bVvr7omd+82sKUp0RMBgIt4PxHIe28GtX+O+GcNfI2fuwBvcDRDqk5Ei5AG9bJJOpulA== +video.js@^8.6.1: + version "8.6.1" + resolved "https://registry.yarnpkg.com/video.js/-/video.js-8.6.1.tgz#d25f59fbf30fb21c0bcf04a1de6a98dfd137997c" + integrity sha512-CNYVJ5WWIZ7bOhbkkfcKqLGoc6WsE3Ft2RfS1lXdQTWk8UiSsPW2Ssk2JzPCA8qnIlUG9os/faCFsYWjyu4JcA== dependencies: "@babel/runtime" "^7.12.5" - "@videojs/http-streaming" "3.5.3" + "@videojs/http-streaming" "3.7.0" "@videojs/vhs-utils" "^4.0.0" "@videojs/xhr" "2.6.0" aes-decrypter "^4.0.1" @@ -15547,7 +15559,7 @@ video.js@^8.5.2: keycode "2.2.0" m3u8-parser "^6.0.0" mpd-parser "^1.0.1" - mux.js "^6.2.0" + mux.js "^7.0.1" safe-json-parse "4.0.0" videojs-contrib-quality-levels "4.0.0" videojs-font "4.1.0" @@ -15695,16 +15707,16 @@ vue3-photo-preview@^0.3.0: dependencies: lodash-es "^4.17.21" -vue@^3.3.10: - version "3.3.10" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.10.tgz#6e19c1982ee655a14babe1610288b90005f02ab1" - integrity sha512-zg6SIXZdTBwiqCw/1p+m04VyHjLfwtjwz8N57sPaBhEex31ND0RYECVOC1YrRwMRmxFf5T1dabl6SGUbMKKuVw== +vue@^3.3.13: + version "3.3.13" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.13.tgz#f03098fa1b4e7cc88c133bef92260b55e3767002" + integrity sha512-LDnUpQvDgsfc0u/YgtAgTMXJlJQqjkxW1PVcOnJA5cshPleULDjHi7U45pl2VJYazSSvLH8UKcid/kzH8I0a0Q== dependencies: - "@vue/compiler-dom" "3.3.10" - "@vue/compiler-sfc" "3.3.10" - "@vue/runtime-dom" "3.3.10" - "@vue/server-renderer" "3.3.10" - "@vue/shared" "3.3.10" + "@vue/compiler-dom" "3.3.13" + "@vue/compiler-sfc" "3.3.13" + "@vue/runtime-dom" "3.3.13" + "@vue/server-renderer" "3.3.13" + "@vue/shared" "3.3.13" watchpack@^2.4.0: version "2.4.0"