Merge branch 'dev' into release

This commit is contained in:
Kuingsmile 2024-01-29 18:24:00 -08:00
commit af6777e545
10 changed files with 95 additions and 71 deletions

View File

@ -1,3 +1,23 @@
## :tada: 2.7.3 (2024-01-30)
### :sparkles: Features
* **custom:** support picbed name click to config page ([48cfaab](https://github.com/Kuingsmile/piclist/commit/48cfaab))
### :bug: Bug Fixes
* **custom:** fix format convert bug ([ea82600](https://github.com/Kuingsmile/piclist/commit/ea82600))
### :pencil: Documentation
* **custom:** add wechat group ([d87a014](https://github.com/Kuingsmile/piclist/commit/d87a014))
* **custom:** update changelog ([3c9f13a](https://github.com/Kuingsmile/piclist/commit/3c9f13a))
## :tada: 2.7.2 (2024-01-23)

View File

@ -229,6 +229,12 @@ If you need to build it yourself, you can start building with `yarn run build`.
- [PicHoro](https://github.com/Kuingsmile/PicHoro): A mobile APP that works with PicList
- [VS-PicList](https://github.com/Kuingsmile/vs-PicList/): A VScode plugin that works with PicList
## Communication group
If you have any questions, you can join the WeChat group for communication.
![image](https://pichoro.msq.pub/wechat.png)
## License
This project is open source under the MIT license. Welcome everyone to use and contribute code. Thank you for the open source spirit of the original author Molunerfinn.

View File

@ -219,6 +219,12 @@ brew uninstall piclist
- [PicHoro](https://github.com/Kuingsmile/PicHoro): 与 PicList 搭配使用的手机端 APP
- [VS-PicList](https://github.com/Kuingsmile/vs-PicList/): 与 PicList 搭配使用的VScode插件
## 交流群
如果有任何问题,可以加入微信群进行交流。
![image](https://pichoro.msq.pub/wechat.png)
## License
本项目基于MIT协议开源欢迎大家使用和贡献代码感谢原作者Molunerfinn的开源精神。

View File

@ -1,12 +1,8 @@
✨ Features
- 新增内置S3 API兼容平台支持
- 现在又拍云图床支持自定义接口地址
- 七牛云新建存储桶新增`亚太-河内`支持
- 现在配置页点击图床名会跳转至手册说明页
🐛 Bug Fixes
- 修复了修改s3图床相册链接后拷贝图片链接没有对应修改的问题
- 修复了修改s3图床相册连接后云端删除失效的问题
- 修复了设置精细转换格式时的序列化错误
- 修复了设置精细转换格式时,配置没有起作用的问题
- 修复了界面翻译错误

View File

@ -1,17 +1,8 @@
✨ Features
- Add support for built-in S3 API compatible platform
- Upyun now supports custom interface addresses
- Qiniu Cloud new bucket supports `Asia-Pacific-Hanoi`
- Now clicking the image bed name on the configuration page will jump to the manual explanation page
🐛 Bug Fixes
- 修复了修改s3图床相册链接后拷贝图片链接没有对应修改的问题
- 修复了修改s3图床相册连接后云端删除失效的问题
- 修复了设置精细转换格式时的序列化错误
- 修复了界面翻译错误
- Fix the problem that the copied image link is not modified after modifying the s3 album link
- Fixed the problem that the cloud deletion is invalid after modifying the s3 album connection
- Fixed serialization error when setting fine conversion format
- Fixed the problem that the configuration did not take effect when setting the fine conversion format
- Fixed interface translation error

View File

@ -1,6 +1,6 @@
{
"name": "piclist",
"version": "2.7.2",
"version": "2.7.3",
"author": {
"name": "Kuingsmile",
"email": "pkukuing@gmail.com"
@ -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.7.7",
"piclist": "^1.7.9",
"pinia": "^2.1.7",
"pinia-plugin-persistedstate": "^3.2.0",
"proxy-agent": "^5.0.0",

View File

@ -1477,7 +1477,7 @@
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC')"
>
<el-input
v-model="compressForm.formatConvertObj"
v-model="formatConvertObj"
placeholder="{&quot;jpg&quot;: &quot;png&quot;, &quot;png&quot;: &quot;jpg&quot;}"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4}"
@ -1692,6 +1692,8 @@ const waterMarkForm = reactive<any>({
watermarkPosition: 'southeast'
})
const formatConvertObj = ref('{}')
const compressForm = reactive<any>({
quality: 100,
isConvert: false,
@ -1706,8 +1708,7 @@ const compressForm = reactive<any>({
rotateDegree: 0,
isRemoveExif: false,
isFlip: false,
isFlop: false,
formatConvertObj: '{}'
isFlop: false
})
function closeDialog () {
@ -1715,17 +1716,18 @@ function closeDialog () {
}
function handleSaveConfig () {
let formatConvertObj = {}
let iformatConvertObj = {}
try {
formatConvertObj = JSON.parse(compressForm.formatConvertObj)
iformatConvertObj = JSON.parse(formatConvertObj.value)
} catch (error) {
}
const formatConvertObjEntries = Object.entries(formatConvertObj)
const formatConvertObjEntries = Object.entries(iformatConvertObj)
const formatConvertObjEntriesFilter = formatConvertObjEntries.filter((item: any) => {
return imageExtList.includes(item[0]) && availableFormat.includes(item[1])
})
const formatConvertObjFilter = Object.fromEntries(formatConvertObjEntriesFilter)
compressForm.formatConvertObj = JSON.stringify(formatConvertObjFilter)
formatConvertObj.value = JSON.stringify(formatConvertObjFilter)
compressForm.formatConvertObj = formatConvertObjFilter
saveConfig('buildIn.compress', toRaw(compressForm))
saveConfig('buildIn.watermark', toRaw(waterMarkForm))
closeDialog()
@ -1750,9 +1752,13 @@ async function initForm () {
compressForm.isFlip = compress.isFlip ?? false
compressForm.isFlop = compress.isFlop ?? false
try {
compressForm.formatConvertObj = JSON.stringify(compress.formatConvertObj ?? {})
if (typeof compress.formatConvertObj === 'object') {
formatConvertObj.value = JSON.stringify(compress.formatConvertObj)
} else {
formatConvertObj.value = compress.formatConvertObj ?? '{}'
}
} catch (error) {
compressForm.formatConvertObj = '{}'
formatConvertObj.value = '{}'
}
}
if (watermark) {

View File

@ -308,7 +308,7 @@
:label="$T('UPLOAD_PAGE_IMAGE_PROCESS_CONVERTFORMAT_SPECIFIC')"
>
<el-input
v-model="compressForm.formatConvertObj"
v-model="formatConvertObj"
placeholder="{&quot;jpg&quot;: &quot;png&quot;, &quot;png&quot;: &quot;jpg&quot;}"
type="textarea"
:autosize="{ minRows: 2, maxRows: 4}"
@ -516,26 +516,28 @@ const compressForm = reactive<any>({
rotateDegree: 0,
isRemoveExif: false,
isFlip: false,
isFlop: false,
formatConvertObj: '{}'
isFlop: false
})
const formatConvertObj = ref('{}')
function closeDialog () {
imageProcessDialogVisible.value = false
}
function handleSaveConfig () {
let formatConvertObj = {}
let iformatConvertObj = {}
try {
formatConvertObj = JSON.parse(compressForm.formatConvertObj)
iformatConvertObj = JSON.parse(formatConvertObj.value)
} catch (error) {
}
const formatConvertObjEntries = Object.entries(formatConvertObj)
const formatConvertObjEntries = Object.entries(iformatConvertObj)
const formatConvertObjEntriesFilter = formatConvertObjEntries.filter((item: any) => {
return imageExtList.includes(item[0]) && availableFormat.includes(item[1])
})
const formatConvertObjFilter = Object.fromEntries(formatConvertObjEntriesFilter)
compressForm.formatConvertObj = JSON.stringify(formatConvertObjFilter)
formatConvertObj.value = JSON.stringify(formatConvertObjFilter)
compressForm.formatConvertObj = formatConvertObjFilter
saveConfig('buildIn.compress', toRaw(compressForm))
saveConfig('buildIn.watermark', toRaw(waterMarkForm))
closeDialog()
@ -560,9 +562,13 @@ async function initData () {
compressForm.isFlip = compress.isFlip ?? false
compressForm.isFlop = compress.isFlop ?? false
try {
compressForm.formatConvertObj = JSON.stringify(compress.formatConvertObj ?? {})
if (typeof compress.formatConvertObj === 'object') {
formatConvertObj.value = JSON.stringify(compress.formatConvertObj)
} else {
formatConvertObj.value = compress.formatConvertObj ?? '{}'
}
} catch (error) {
compressForm.formatConvertObj = '{}'
formatConvertObj.value = '{}'
}
}
if (watermark) {

View File

@ -16,9 +16,7 @@
@click="handleNameClick"
>
{{ picBedName }} {{ $T('SETTINGS') }}</span>
<el-icon
v-if="linkToLogInList.includes(picBedName)"
>
<el-icon>
<Link />
</el-icon>
<el-button
@ -201,34 +199,29 @@ const handleReset = async () => {
$router.back()
}
const linkToLogInList = ['GitHub', '腾讯云COS', '阿里云OSS', 'SM.MS', '七牛云', 'Imgur', '又拍云', 'githubPlus']
function handleNameClick () {
switch ($route.params.type) {
case 'github':
case 'githubPlus':
sendToMain(OPEN_URL, 'https://github.com')
break
case 'tcyun':
sendToMain(OPEN_URL, 'https://cloud.tencent.com/login')
break
case 'aliyun':
sendToMain(OPEN_URL, 'https://account.aliyun.com/login/login.htm')
break
case 'smms':
sendToMain(OPEN_URL, 'https://smms.app')
break
case 'qiniu':
sendToMain(OPEN_URL, 'https://portal.qiniu.com')
break
case 'imgur':
sendToMain(OPEN_URL, 'https://imgur.com')
break
case 'upyun':
sendToMain(OPEN_URL, 'https://console.upyun.com')
break
default:
break
const typeUrlMap: IStringKeyMap = {
github: 'https://piclist.cn/configure.html#github%E5%9B%BE%E5%BA%8A',
githubPlus: 'https://piclist.cn/configure.html#github%E5%9B%BE%E5%BA%8A',
tcyun: 'https://piclist.cn/configure.html#%E8%85%BE%E8%AE%AF%E4%BA%91cos',
aliyun: 'https://piclist.cn/configure.html#%E9%98%BF%E9%87%8C%E4%BA%91oss',
smms: 'https://piclist.cn/configure.html#sm-ms',
qiniu: 'https://piclist.cn/configure.html#%E4%B8%83%E7%89%9B%E4%BA%91',
imgur: 'https://piclist.cn/configure.html#imgur',
upyun: 'https://piclist.cn/configure.html#%E5%8F%88%E6%8B%8D%E4%BA%91',
'aws-s3-plist': 'https://piclist.cn/configure.html#%E5%86%85%E7%BD%AEaws-s3',
'aws-s3': 'https://piclist.cn/configure.html#%E5%86%85%E7%BD%AEaws-s3',
local: 'https://piclist.cn/configure.html#%E6%9C%AC%E5%9C%B0%E5%9B%BE%E5%BA%8A',
lskyplist: 'https://piclist.cn/configure.html#%E5%85%B0%E7%A9%BA%E5%9B%BE%E5%BA%8A',
sftpplist: 'https://piclist.cn/configure.html#%E5%86%85%E7%BD%AEsftp',
telegraphplist: 'https://piclist.cn/configure.html#telegra-ph',
webdavplist: 'https://piclist.cn/configure.html#webdav',
piclist: 'https://piclist.cn/configure.html#piclist',
lankong: 'https://github.com/hellodk34/picgo-plugin-lankong'
}
const url = typeUrlMap[$route.params.type as string]
if (url) {
sendToMain(OPEN_URL, url)
}
}

View File

@ -12392,10 +12392,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.7.7:
version "1.7.7"
resolved "https://registry.yarnpkg.com/piclist/-/piclist-1.7.7.tgz#fa4bcd08e623859a678dd20160e512b83650bf87"
integrity sha512-GBusAPlEAcGMkp91tCZ4hX3oHVevQMJxagmFPWaIwj1G6FY/twKtnO/BiGoLcz1DwiZpxglWx5zPWw4IM7beLg==
piclist@^1.7.9:
version "1.7.9"
resolved "https://registry.yarnpkg.com/piclist/-/piclist-1.7.9.tgz#1677f63c0596d0b23fd082ce4a3f10c6b4f7244a"
integrity sha512-+H32vNqfe3bCNhkreEJXzWT4fUOyPntNxCPjeo5btxAhbaVEfP8GwXA1XfX8NrJb3ml6sQzIk26FrQ2bzK+Bwg==
dependencies:
"@aws-sdk/client-s3" "3.421.0"
"@aws-sdk/lib-storage" "3.421.0"