Merge branch 'dev' into release

This commit is contained in:
Kuingsmile 2023-12-27 18:52:17 -08:00
commit 11588b3dab
31 changed files with 351 additions and 438 deletions

View File

@ -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)

View File

@ -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
<img src="https://pichoro.msq.pub/wechat.png" alt="" width="350" height="350" />
## Development instructions
1. You need to have Node, Git environment, and understand the related knowledge of npm.

View File

@ -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)
## 微信交流群
<img src="https://pichoro.msq.pub/wechat.png" alt="" width="350" height="350" />
## 开发说明
1. 你需要有 Node、Git 环境,了解 npm 的相关知识。

View File

@ -1,11 +1,16 @@
Happy New Year! 🎉
✨ Features
- 现在支持vscode插件vs-piclist的远程服务器模式
- 关联更新现在支持docker部署PicList-core
- 上传接口增加了额外的记录区分上传行为
- 核心库版本更新
- 现在移除exif信息选项不再错误的处理svg图片
- 添加了管理功能log文件和软件GUI界面log文件的快捷打开选项
- 现在支持更多类型的文本文件预览
- 现在移除配置前会进行额外的确认以避免误删除
- 现在如果对应图床不支持重命名操作,不会再显示重命名按钮
- 优化了管理界面文件浏览页的文字显示
- 移除了赞助窗口~~
🐛 Bug Fixes
- 修复了相册内无法正常复制部分插件上传的图片URL的问题
- 修复了上传图床选择过程中的log记录字段错误的问题
- 修复了表单上传模式下,中文文件名乱码的问题
- 修复了管理界面入口页的显示bug

View File

@ -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

View File

@ -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",

View File

@ -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

View File

@ -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: 请选择自定义域名

View File

@ -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: 請選擇自訂域名

View File

@ -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)
})
}

View File

@ -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 () {

View File

@ -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)
}
})

View File

@ -160,37 +160,6 @@
</router-view>
</el-col>
</el-row>
<el-dialog
v-model="visible"
:title="$T('SPONSOR_PICLIST')"
width="70%"
top="10vh"
append-to-body
>
{{ $T('PICLIST_SPONSOR_TEXT') }}
<el-row class="support">
<el-col :span="12">
<img
width="200"
src="https://pichoro.msq.pub/images/zhifubao_money.jpg"
:alt="$T('ALIPAY')"
>
<div class="support-title">
{{ $T('ALIPAY') }}
</div>
</el-col>
<el-col :span="12">
<img
width="200"
src="https://pichoro.msq.pub/images/wechat_money.jpg"
:alt="$T('WECHATPAY')"
>
<div class="support-title">
{{ $T('WECHATPAY') }}
</div>
</el-col>
</el-row>
</el-dialog>
<el-dialog
v-model="qrcodeVisible"
class="qrcode-dialog"
@ -302,7 +271,6 @@ import {
CLOSE_WINDOW,
SHOW_MAIN_PAGE_MENU,
SHOW_MAIN_PAGE_QRCODE,
SHOW_MAIN_PAGE_DONATION,
GET_PICBEDS
} from '~/universal/events/constants'
@ -312,7 +280,6 @@ import { getConfig, sendToMain } from '@/utils/dataSender'
const version = ref(process.env.NODE_ENV === 'production' ? pkg.version : 'Dev')
const routerConfig = reactive(config)
const defaultActive = ref(routerConfig.UPLOAD_PAGE)
const visible = ref(false)
const os = ref('')
const $router = useRouter()
const picBed: Ref<IPicBedType[]> = 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')
})

View File

@ -139,6 +139,7 @@
</el-button>
</div>
<div
v-if="isShowRenameFileIcon"
@click="handleBatchRenameFile"
>
<el-button type="text">

View File

@ -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 () => {

View File

@ -10,7 +10,7 @@
:src="require(`./assets/${currentPagePicBedConfig.picBedName}.webp`)"
class="layout__menu__button__item__icon"
>
{{ '-' + supportedPicBedList[currentPagePicBedConfig.picBedName].name + '-' }}
{{ supportedPicBedList[currentPagePicBedConfig.picBedName].name }}
</span>
</div>
<el-divider

View File

@ -1,13 +1,16 @@
export const textFileExt = [
'.applescript',
'.bat',
'.c',
'.cmd',
'.condarc',
'.conf',
'.config',
'.cpp',
'.css',
'.csv',
'.dart',
'.eslintignore',
'.gitattributes',
'.gitconfig',
'.gitignore',
@ -22,20 +25,24 @@ export const textFileExt = [
'.java',
'.js',
'.json',
'.jsx',
'.lock',
'.log',
'.php',
'.prop',
'.properties',
'.ps1',
'.py',
'.rc',
'.sh',
'.ts',
'.tsv',
'.tsx',
'.txt',
'.vue',
'.xml',
'.yaml',
'.yml',
'.ts',
'.yarnrc',
'.condarc',
'license'
]

View File

@ -975,6 +975,30 @@
{{ $T('SETTINGS_CLICK_TO_OPEN') }}
</el-button>
</el-form-item>
<el-form-item
:label="$T('SETTINGS_GUI_LOG_FILE')"
>
<el-button
type="primary"
round
size="small"
@click="openFile('piclist-gui-local.log')"
>
{{ $T('SETTINGS_CLICK_TO_OPEN') }}
</el-button>
</el-form-item>
<el-form-item
:label="$T('SETTINGS_MANAGE_LOG_FILE')"
>
<el-button
type="primary"
round
size="small"
@click="openFile('manage.log')"
>
{{ $T('SETTINGS_CLICK_TO_OPEN') }}
</el-button>
</el-form-item>
<el-form-item
:label="$T('SETTINGS_LOG_LEVEL')"
>

View File

@ -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'

View File

@ -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

View File

@ -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 = <T extends IStringKeyMap>(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) {

View File

@ -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'
]

View File

@ -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视频文件 |

View File

@ -1,11 +0,0 @@
{
"env": {
"mocha": true
},
"globals": {
"assert": true,
"expect": true,
"should": true,
"__static": true
}
}

View File

@ -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')

View File

@ -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')
})
})
})

View File

@ -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()
}
}

View File

@ -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)

View File

@ -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
}
})
}

View File

@ -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!')
})
})

254
yarn.lock
View File

@ -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"