44 Commits
dev ... master

Author SHA1 Message Date
dependabot[bot]
38d52c4609 Bump js-yaml from 3.14.1 to 3.14.2 (#875)
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 08:47:33 +08:00
dependabot[bot]
2b3f31a204 Bump cipher-base from 1.0.4 to 1.0.6 (#872)
Bumps [cipher-base](https://github.com/crypto-browserify/cipher-base) from 1.0.4 to 1.0.6.
- [Changelog](https://github.com/browserify/cipher-base/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/cipher-base/compare/v1.0.4...v1.0.6)

---
updated-dependencies:
- dependency-name: cipher-base
  dependency-version: 1.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 07:54:10 +08:00
dependabot[bot]
94332ee597 Bump sha.js from 2.4.11 to 2.4.12 (#873)
Bumps [sha.js](https://github.com/crypto-browserify/sha.js) from 2.4.11 to 2.4.12.
- [Changelog](https://github.com/browserify/sha.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/sha.js/compare/v2.4.11...v2.4.12)

---
updated-dependencies:
- dependency-name: sha.js
  dependency-version: 2.4.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 07:53:58 +08:00
dependabot[bot]
aa6dd044ba Bump form-data from 4.0.1 to 4.0.4 (#870)
Bumps [form-data](https://github.com/form-data/form-data) from 4.0.1 to 4.0.4.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v4.0.1...v4.0.4)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-23 08:25:56 +08:00
dependabot[bot]
aa9aa31c42 Bump on-headers and compression (#868)
Bumps [on-headers](https://github.com/jshttp/on-headers) and [compression](https://github.com/expressjs/compression). These dependencies needed to be updated together.

Updates `on-headers` from 1.0.2 to 1.1.0
- [Release notes](https://github.com/jshttp/on-headers/releases)
- [Changelog](https://github.com/jshttp/on-headers/blob/master/HISTORY.md)
- [Commits](https://github.com/jshttp/on-headers/compare/v1.0.2...v1.1.0)

Updates `compression` from 1.7.4 to 1.8.1
- [Release notes](https://github.com/expressjs/compression/releases)
- [Changelog](https://github.com/expressjs/compression/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/compression/compare/1.7.4...v1.8.1)

---
updated-dependencies:
- dependency-name: on-headers
  dependency-version: 1.1.0
  dependency-type: indirect
- dependency-name: compression
  dependency-version: 1.8.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 11:09:24 +08:00
dependabot[bot]
bbdb1fb39d Bump brace-expansion from 1.1.11 to 1.1.12 (#866)
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-02 10:00:46 +08:00
dependabot[bot]
b3f3594cd5 Bump pbkdf2 from 3.1.2 to 3.1.3 (#864)
Bumps [pbkdf2](https://github.com/crypto-browserify/pbkdf2) from 3.1.2 to 3.1.3.
- [Changelog](https://github.com/browserify/pbkdf2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/pbkdf2/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: pbkdf2
  dependency-version: 3.1.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-29 09:51:03 +08:00
dependabot[bot]
c0504fe62f Bump http-proxy-middleware from 2.0.4 to 2.0.9 (#862) 2025-05-29 17:25:24 +08:00
dependabot[bot]
0bc23c796d Bump axios from 0.28.0 to 1.8.2 (#859) 2025-05-29 17:25:04 +08:00
zhendery
011b291e05 fix(水印): 添加水印后编码图片时漏掉了保存质量参数 (#856)
Co-authored-by: zhendery <zhendery@qq.com>
2025-02-15 02:36:56 +08:00
zhendery
effe173d9c fix(svg): svg也需要“缩略图”,复制一份svg到本地缩略图目录,否则从远程服务器拉取可能会比较慢。 (#852) 2025-01-08 06:33:12 +08:00
zhendery
bdd440d38f fix(图片上传): (小概率)修复图片“格式转换”时不同的图使用同一个临时文件导致变成同一张图的问题 (#851) 2025-01-08 06:32:50 +08:00
zhendery
fe5e4d9a67 feat: 添加svg矢量图的支持 (#833) 2024-12-28 20:47:52 +08:00
熊孝兵
66d7a0dce1 Update README.md 2024-12-28 20:46:24 +08:00
dependabot[bot]
4f13d7d5a1 Bump ip and webpack-dev-server (#848)
Removes [ip](https://github.com/indutny/node-ip). It's no longer used after updating ancestor dependency [webpack-dev-server](https://github.com/webpack/webpack-dev-server). These dependencies need to be updated together.


Removes `ip`

Updates `webpack-dev-server` from 4.7.4 to 4.15.2
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/v4.15.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.7.4...v4.15.2)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
- dependency-name: webpack-dev-server
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:25:19 +08:00
dependabot[bot]
093ef71c2c Bump aws/aws-sdk-php from 3.261.13 to 3.336.6 (#849)
Bumps [aws/aws-sdk-php](https://github.com/aws/aws-sdk-php) from 3.261.13 to 3.336.6.
- [Release notes](https://github.com/aws/aws-sdk-php/releases)
- [Commits](https://github.com/aws/aws-sdk-php/compare/3.261.13...3.336.6)

---
updated-dependencies:
- dependency-name: aws/aws-sdk-php
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:24:54 +08:00
dependabot[bot]
4a87a90d5b Bump browserify-sign from 4.2.1 to 4.2.3 (#847)
Bumps [browserify-sign](https://github.com/crypto-browserify/browserify-sign) from 4.2.1 to 4.2.3.
- [Changelog](https://github.com/browserify/browserify-sign/blob/main/CHANGELOG.md)
- [Commits](https://github.com/crypto-browserify/browserify-sign/compare/v4.2.1...v4.2.3)

---
updated-dependencies:
- dependency-name: browserify-sign
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:24:29 +08:00
dependabot[bot]
17cb901046 Bump @babel/traverse from 7.17.3 to 7.26.4 (#846)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.17.3 to 7.26.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.4/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:24:16 +08:00
dependabot[bot]
c0ba47d47d Bump axios from 0.25.0 to 0.28.0 (#845)
Bumps [axios](https://github.com/axios/axios) from 0.25.0 to 0.28.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.28.0/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.25.0...v0.28.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:24:06 +08:00
dependabot[bot]
1d0cb15854 Bump follow-redirects from 1.14.9 to 1.15.9 (#844)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.9 to 1.15.9.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.9...v1.15.9)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:23:51 +08:00
dependabot[bot]
465ff63230 Bump ws from 8.5.0 to 8.18.0 (#843)
Bumps [ws](https://github.com/websockets/ws) from 8.5.0 to 8.18.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.5.0...8.18.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:23:37 +08:00
dependabot[bot]
04a421d3eb Bump webpack-dev-middleware from 5.3.1 to 5.3.4 (#842)
Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 5.3.1 to 5.3.4.
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v5.3.1...v5.3.4)

---
updated-dependencies:
- dependency-name: webpack-dev-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:23:26 +08:00
dependabot[bot]
2642719769 Bump webpack from 5.76.1 to 5.97.1 (#841)
Bumps [webpack](https://github.com/webpack/webpack) from 5.76.1 to 5.97.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.76.1...v5.97.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:23:14 +08:00
dependabot[bot]
4de97fd91e Bump phpseclib/phpseclib from 3.0.19 to 3.0.43 (#840)
Bumps [phpseclib/phpseclib](https://github.com/phpseclib/phpseclib) from 3.0.19 to 3.0.43.
- [Release notes](https://github.com/phpseclib/phpseclib/releases)
- [Changelog](https://github.com/phpseclib/phpseclib/blob/master/CHANGELOG.md)
- [Commits](https://github.com/phpseclib/phpseclib/compare/3.0.19...3.0.43)

---
updated-dependencies:
- dependency-name: phpseclib/phpseclib
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:19:17 +08:00
dependabot[bot]
ee93913aac Bump path-to-regexp from 1.8.0 to 1.9.0 (#839)
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v1.8.0...v1.9.0)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:18:59 +08:00
dependabot[bot]
e54c4e551c Bump league/commonmark from 2.3.9 to 2.6.0 (#834)
Bumps [league/commonmark](https://github.com/thephpleague/commonmark) from 2.3.9 to 2.6.0.
- [Release notes](https://github.com/thephpleague/commonmark/releases)
- [Changelog](https://github.com/thephpleague/commonmark/blob/2.6/CHANGELOG.md)
- [Commits](https://github.com/thephpleague/commonmark/compare/2.3.9...2.6.0)

---
updated-dependencies:
- dependency-name: league/commonmark
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:18:45 +08:00
dependabot[bot]
743409726f Bump send and express (#835)
Bumps [send](https://github.com/pillarjs/send) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `send` from 0.17.2 to 0.19.0
- [Release notes](https://github.com/pillarjs/send/releases)
- [Changelog](https://github.com/pillarjs/send/blob/master/HISTORY.md)
- [Commits](https://github.com/pillarjs/send/compare/0.17.2...0.19.0)

Updates `express` from 4.17.3 to 4.21.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.3...4.21.2)

---
updated-dependencies:
- dependency-name: send
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:18:07 +08:00
dependabot[bot]
2fa82cc231 Bump elliptic from 6.5.4 to 6.6.1 (#836)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.4 to 6.6.1.
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.4...v6.6.1)

---
updated-dependencies:
- dependency-name: elliptic
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:17:56 +08:00
dependabot[bot]
dd4c40d846 Bump cookie and express (#837)
Bumps [cookie](https://github.com/jshttp/cookie) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.

Updates `cookie` from 0.4.2 to 0.7.1
- [Release notes](https://github.com/jshttp/cookie/releases)
- [Commits](https://github.com/jshttp/cookie/compare/v0.4.2...v0.7.1)

Updates `express` from 4.17.3 to 4.21.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.3...4.21.2)

---
updated-dependencies:
- dependency-name: cookie
  dependency-type: indirect
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:17:45 +08:00
dependabot[bot]
8acf78dac4 Bump laravel/framework from 9.52.4 to 9.52.17 (#838)
Bumps [laravel/framework](https://github.com/laravel/framework) from 9.52.4 to 9.52.17.
- [Release notes](https://github.com/laravel/framework/releases)
- [Changelog](https://github.com/laravel/framework/blob/11.x/CHANGELOG.md)
- [Commits](https://github.com/laravel/framework/compare/v9.52.4...v9.52.17)

---
updated-dependencies:
- dependency-name: laravel/framework
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:17:30 +08:00
dependabot[bot]
eb7c051512 Bump postcss from 8.4.12 to 8.4.31 (#723)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.12 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.12...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:14:05 +08:00
dependabot[bot]
5ec90a08a1 Bump semver from 5.7.1 to 5.7.2 (#694)
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 20:13:52 +08:00
dependabot[bot]
911275c13b Bump guzzlehttp/psr7 from 2.4.4 to 2.5.0 (#651)
Bumps [guzzlehttp/psr7](https://github.com/guzzle/psr7) from 2.4.4 to 2.5.0.
- [Release notes](https://github.com/guzzle/psr7/releases)
- [Changelog](https://github.com/guzzle/psr7/blob/2.5/CHANGELOG.md)
- [Commits](https://github.com/guzzle/psr7/compare/2.4.4...2.5.0)

---
updated-dependencies:
- dependency-name: guzzlehttp/psr7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 17:55:13 +08:00
dependabot[bot]
704a15896d Bump laminas/laminas-diactoros from 2.24.0 to 2.25.2 (#657)
Bumps [laminas/laminas-diactoros](https://github.com/laminas/laminas-diactoros) from 2.24.0 to 2.25.2.
- [Release notes](https://github.com/laminas/laminas-diactoros/releases)
- [Commits](https://github.com/laminas/laminas-diactoros/compare/2.24.0...2.25.2)

---
updated-dependencies:
- dependency-name: laminas/laminas-diactoros
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-16 17:55:03 +08:00
熊孝兵
c80b92b346 后台图片管理支持通过图片路径名称搜索。Fixed #640 2023-03-30 09:49:01 +08:00
熊孝兵
67fc980968 Merge remote-tracking branch 'origin/master' 2023-03-29 11:11:45 +08:00
熊孝兵
05af7dffb8 后台图片管理支持通过图片路径名称搜索。Fixed #640 2023-03-29 11:11:37 +08:00
dependabot[bot]
ee068513c6 Bump webpack from 5.70.0 to 5.76.1 (#633)
Bumps [webpack](https://github.com/webpack/webpack) from 5.70.0 to 5.76.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.70.0...v5.76.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-29 11:10:27 +08:00
熊孝兵
fbb022c877 改进 WebDav 以适配多种认证方式。Fixes #497, #520 2023-03-17 08:46:05 +08:00
dependabot[bot]
2b90d5eb75 Bump symfony/http-kernel from 6.0.11 to 6.0.20 (#608)
Bumps [symfony/http-kernel](https://github.com/symfony/http-kernel) from 6.0.11 to 6.0.20.
- [Release notes](https://github.com/symfony/http-kernel/releases)
- [Changelog](https://github.com/symfony/http-kernel/blob/6.2/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-kernel/compare/v6.0.11...v6.0.20)

---
updated-dependencies:
- dependency-name: symfony/http-kernel
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-02 14:33:12 +08:00
dependabot[bot]
edb36f8a92 Bump json5 from 1.0.1 to 1.0.2 (#591)
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-18 14:26:33 +08:00
熊孝兵
a5bbb26ec8 Update README.md 2022-12-07 08:06:09 +08:00
dependabot[bot]
9394e590a8 Bump loader-utils from 1.4.1 to 1.4.2 (#564)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-18 09:26:51 +08:00
dependabot[bot]
0cb84a9662 Bump loader-utils from 1.4.0 to 1.4.1 (#561)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.1/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-09 10:45:22 +08:00
16 changed files with 4153 additions and 3257 deletions

View File

@@ -15,9 +15,12 @@
[官网](https://www.lsky.pro) &middot;
[文档](https://docs.lsky.pro) &middot;
[社区](https://github.com/lsky-org/lsky-pro/discussions) &middot;
[演示](https://pic.iqy.ink) &middot;
[演示](https://pic.vv1234.cn) &middot;
[Telegram 群组](https://t.me/lsky_pro)
> [!WARNING]
> 开源版本已停止维护,不再进行新特性更新和 bug 修复。
> master 分支为未安装三方拓展的版本,通常包含了最新未发布版本的一些实验性新特性和修复补丁,正式版本请点击 [这里](https://github.com/lsky-org/lsky-pro/releases) 下载。
> 发现 bug 请提交 [issues](https://github.com/lsky-org/lsky-pro/issues) (提问前建议阅读[提问的智慧](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md))
> 有任何想法、建议、或分享,请移步 [社区](https://github.com/lsky-org/lsky-pro/discussions)

View File

@@ -15,4 +15,10 @@ final class WebDavOption
/** @var string 密码 */
const Password = 'password';
/** @var string 认证方式 */
const AuthType = 'auth_type';
/** @var string 地址前缀 */
const Prefix = 'prefix';
}

View File

@@ -64,7 +64,9 @@ class ImageController extends Controller
});
foreach ($words as $word) {
$builder->where('origin_name', 'like', "%{$word}%")->orWhere('alias_name', 'like', "%{$word}%");
$builder->where('name', 'like', "%{$word}%")
->orWhere('origin_name', 'like', "%{$word}%")
->orWhere('alias_name', 'like', "%{$word}%");
}
})->latest()->paginate(40);
$images->getCollection()->each(function (Image $image) {

View File

@@ -165,9 +165,10 @@ class Controller extends BaseController
if (
$image->group?->configs->get(GroupConfigKey::IsEnableWatermark) &&
$configs->get('mode', Mode::Overlay) == Mode::Dynamic &&
! in_array($image->extension, ['ico', 'gif'])
! in_array($image->extension, ['ico', 'gif', 'svg'])
) {
$contents = $service->stickWatermark($contents, $configs)->encode()->getEncoded();
$quality = $image->group?->configs->get(GroupConfigKey::ImageSaveQuality, 75);
$contents = $service->stickWatermark($contents, $configs)->encode($image->extension, $quality)->getEncoded();
}
$cacheTtl = (int)$image->group?->configs->get(GroupConfigKey::ImageCacheTtl, 0);
// 是否启用了缓存
@@ -184,8 +185,8 @@ class Controller extends BaseController
$mimetype = $image->mimetype;
// ico 图片直接输出,不经过 InterventionImage 处理
if ($image->extension === 'ico') {
// ico svg 图片直接输出,不经过 InterventionImage 处理
if (in_array($image->extension, ['ico', 'svg'])) {
goto out;
}

View File

@@ -38,7 +38,7 @@ class GroupRequest extends FormRequest
'configs.image_save_format' => '',
'configs.path_naming_rule' => 'max:400',
'configs.file_naming_rule' => 'max:400',
'configs.accepted_file_suffixes' => 'required|array|in:jpeg,jpg,png,gif,tif,bmp,ico,psd,webp',
'configs.accepted_file_suffixes' => 'required|array|in:jpeg,jpg,png,gif,tif,bmp,ico,psd,webp,svg',
'configs.is_enable_scan' => 'boolean',
'configs.scanned_action' => [

View File

@@ -124,6 +124,8 @@ class StrategyRequest extends FormRequest
'configs.base_uri' => 'required',
'configs.username' => '',
'configs.password' => '',
'configs.auth_type' => '',
'configs.prefix' => '',
],
StrategyKey::Minio => [
'configs.access_key' => 'required',
@@ -200,9 +202,11 @@ class StrategyRequest extends FormRequest
'configs.passive' => '被动模式',
],
StrategyKey::Webdav => [
'configs.base_uri' => 'required',
'configs.username' => 'required',
'configs.password' => 'required',
'configs.base_uri' => '连接地址',
'configs.username' => '用户名',
'configs.password' => '密码',
'configs.auth_type' => '认证方式',
'configs.prefix' => '前缀',
],
StrategyKey::Minio => [
'configs.access_key' => 'AccessKey',

View File

@@ -240,7 +240,7 @@ class Image extends Model
public function getThumbnailPathname(): string
{
return trim(config('app.thumbnail_path'), '/')."/{$this->md5}.png";
return trim(config('app.thumbnail_path'), '/')."/{$this->md5}.". ($this->extension === 'svg' ? 'svg' : "png");
}
private function generateKey($length = 6): string

View File

@@ -10,6 +10,7 @@ use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Filesystem\Filesystem;
use Illuminate\Support\Carbon;
use Sabre\DAV\Client;
/**
* @property int $id
@@ -56,6 +57,13 @@ class Strategy extends Model
StrategyKey::Minio => 'Minio',
];
const WEBDAV_AUTH_TYPES = [
'' => 'Auto',
Client::AUTH_BASIC => 'Basic',
Client::AUTH_DIGEST => 'Digest',
Client::AUTH_NTLM => 'Ntlm',
];
protected static function booted()
{
static::saving(function (self $strategy) {

View File

@@ -52,8 +52,8 @@ use League\Flysystem\FilesystemException;
use League\Flysystem\Ftp\FtpAdapter;
use League\Flysystem\Ftp\FtpConnectionOptions;
use League\Flysystem\Local\LocalFilesystemAdapter;
use League\Flysystem\PhpseclibV2\SftpAdapter;
use League\Flysystem\PhpseclibV2\SftpConnectionProvider;
use League\Flysystem\PhpseclibV3\SftpAdapter;
use League\Flysystem\PhpseclibV3\SftpConnectionProvider;
use League\Flysystem\WebDAV\WebDAVAdapter;
use Overtrue\Flysystem\Cos\CosAdapter;
use Overtrue\Flysystem\Qiniu\QiniuAdapter;
@@ -151,8 +151,8 @@ class ImageService
// 上传频率限制
$this->rateLimiter($configs, $request);
// 图片处理,跳过 ico gif
if (! in_array($extension, ['ico', 'gif'])) {
// 图片处理,跳过 ico gif svg
if (! in_array($extension, ['ico', 'gif', 'svg'])) {
// 图片保存质量与格式
$quality = $configs->get(GroupConfigKey::ImageSaveQuality, 75);
$format = $configs->get(GroupConfigKey::ImageSaveFormat);
@@ -160,7 +160,7 @@ class ImageService
// 获取拓展名,判断是否需要转换
$format = $format ?: $extension;
$filename = Str::replaceLast($extension, $format, $file->getClientOriginalName());
$handleImage = InterventionImage::make($file)->save($format, $quality);
$handleImage = InterventionImage::make($file)->save('tmp_' . md5_file($file->getRealPath()), $quality);
$file = new UploadedFile($handleImage->basePath(), $filename, $handleImage->mime());
// 重新设置拓展名
$extension = $format;
@@ -245,8 +245,8 @@ class ImageService
throw new UploadException('图片记录保存失败');
}
// 图片检测,跳过 tif、ico 以及 psd 格式
if ($configs->get(GroupConfigKey::IsEnableScan) && ! in_array($extension, ['psd', 'ico', 'tif'])) {
// 图片检测,跳过 tif、ico、psd、svg 格式
if ($configs->get(GroupConfigKey::IsEnableScan) && ! in_array($extension, ['psd', 'ico', 'tif', 'svg'])) {
$scanConfigs = $configs->get(GroupConfigKey::ScanConfigs);
if ($this->scan(
driver: $scanConfigs['driver'],
@@ -266,9 +266,11 @@ class ImageService
}
}
// 生成缩略图
$this->makeThumbnail($image, $file);
// 上传完成后删除临时文件
unlink($file->getPathname());
return $image;
}
@@ -338,11 +340,12 @@ class ImageService
'timeout' => 30,
]),
),
StrategyKey::Webdav => new WebDAVAdapter(new Client([
StrategyKey::Webdav => new WebDAVAdapter(new Client(([
'baseUri' => $configs->get(WebDavOption::BaseUri),
'userName' => $configs->get(WebDavOption::Username),
'password' => $configs->get(WebDavOption::Password)
])),
'password' => $configs->get(WebDavOption::Password),
'authType' => (int)$configs->get(WebDavOption::AuthType),
])), $configs->get(WebDavOption::Prefix) ?: ''),
StrategyKey::Minio => new AwsS3V3Adapter(
client: new S3Client([
'credentials' => [
@@ -554,21 +557,26 @@ class ImageService
@mkdir(dirname($pathname));
}
@ini_set('memory_limit', '512M');
// 生成缩略图svg等格式本身体积足够小且网页原生支持(比生成的png缩略图还小),不用生成缩略图,直接复制文件
if($image->extension ==='svg') {
copy($data->getPathname(), $pathname);
}else{
@ini_set('memory_limit', '512M');
$img = InterventionImage::make($data);
$img = InterventionImage::make($data);
$width = $w = $image->width;
$height = $h = $image->height;
$width = $w = $image->width;
$height = $h = $image->height;
if ($w > $max && $h > $max) {
$scale = min($max / $w, $max / $h);
$width = (int)($w * $scale);
$height = (int)($h * $scale);
if ($w > $max && $h > $max) {
$scale = min($max / $w, $max / $h);
$width = (int)($w * $scale);
$height = (int)($h * $scale);
}
$img->fit($width, $height, fn($constraint) => $constraint->upsize())->encode('png', 60)->save($pathname);
$img->destroy();
}
$img->fit($width, $height, fn($constraint) => $constraint->upsize())->encode('png', 60)->save($pathname);
$img->destroy();
} catch (\Throwable $e) {
Utils::e($e, '生成缩略图时出现异常');
}

2886
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -106,7 +106,7 @@ return [
GroupConfigKey::LimitPerDay => 300,
GroupConfigKey::LimitPerWeek => 600,
GroupConfigKey::LimitPerMonth => 999,
GroupConfigKey::AcceptedFileSuffixes => ['jpeg', 'jpg', 'png', 'gif', 'tif', 'bmp', 'ico', 'psd', 'webp'],
GroupConfigKey::AcceptedFileSuffixes => ['jpeg', 'jpg', 'png', 'gif', 'tif', 'bmp', 'ico', 'psd', 'webp', 'svg'],
GroupConfigKey::ImageSaveFormat => '',
GroupConfigKey::ImageSaveQuality => 75,
GroupConfigKey::PathNamingRule => '{Y}/{m}/{d}',

View File

@@ -2,7 +2,6 @@
namespace Database\Seeders;
use App\Enums\ConfigKey;
use App\Enums\StrategyKey;
use App\Models\Group;
use Illuminate\Database\Seeder;

4395
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,7 @@
"@tailwindcss/forms": "^0.4.0",
"alpinejs": "^3.4.2",
"autoprefixer": "^10.1.0",
"axios": "^0.25",
"axios": "^1.8",
"blueimp-canvas-to-blob": "^3.29.0",
"blueimp-file-upload": "^10.32.0",
"blueimp-load-image": "^5.16.0",
@@ -33,7 +33,7 @@
"less-loader": "^10.2.0",
"lodash": "^4.17.19",
"masonry-layout": "^4.2.2",
"postcss": "^8.2.1",
"postcss": "^8.4.31",
"postcss-import": "^14.0.1",
"resolve-url-loader": "^4.0.0",
"sweetalert2": "^11.3.3",

View File

@@ -296,6 +296,18 @@
<label for="configs[base_uri]" class="block text-sm font-medium text-gray-700"><span class="text-red-600">*</span>连接地址</label>
<x-input type="url" name="configs[base_uri]" id="configs[base_uri]" placeholder="请输入连接地址" />
</div>
<div class="col-span-3 sm:col-span-2 mb-4">
<label for="webdav-configs[auth_type]" class="block text-sm font-medium text-gray-700"><span class="text-red-600">*</span>认证方式</label>
<x-select id="webdav-auth-type" name="configs[auth_type]" select2>
@foreach(\App\Models\Strategy::WEBDAV_AUTH_TYPES as $key => $type)
<option value="{{ $key }}" {{ $loop->first ? 'selected' : '' }}>{{ $type }}</option>
@endforeach
</x-select>
</div>
<div class="col-span-3 sm:col-span-2 mb-4">
<label for="webdav-configs[prefix]" class="block text-sm font-medium text-gray-700">路径前缀</label>
<x-input type="text" name="configs[prefix]" id="webdav-configs[prefix]" placeholder="请输入路径前缀"></x-input>
</div>
<div class="col-span-3 sm:col-span-2 mb-4">
<label for="configs[username]" class="block text-sm font-medium text-gray-700">用户名</label>
<x-input type="text" name="configs[username]" id="configs[username]" placeholder="请输入用户名" />

View File

@@ -316,6 +316,18 @@
<label for="configs[base_uri]" class="block text-sm font-medium text-gray-700"><span class="text-red-600">*</span>连接地址</label>
<x-input type="url" name="configs[base_uri]" id="configs[base_uri]" placeholder="请输入连接地址" value="{{ $strategy->configs->get('base_uri') }}" />
</div>
<div class="col-span-3 sm:col-span-2 mb-4">
<label for="webdav-configs[auth_type]" class="block text-sm font-medium text-gray-700"><span class="text-red-600">*</span>认证方式</label>
<x-select id="webdav-auth-type" name="configs[auth_type]" select2>
@foreach(\App\Models\Strategy::WEBDAV_AUTH_TYPES as $key => $type)
<option value="{{ $key }}" {{ $key == $strategy->configs->get('auth_type') ? 'selected' : '' }}>{{ $type }}</option>
@endforeach
</x-select>
</div>
<div class="col-span-3 sm:col-span-2 mb-4">
<label for="webdav-configs[prefix]" class="block text-sm font-medium text-gray-700">路径前缀</label>
<x-input type="text" name="configs[prefix]" id="webdav-configs[prefix]" placeholder="请输入路径前缀" value="{{ $strategy->configs->get('prefix') }}"></x-input>
</div>
<div class="col-span-3 sm:col-span-2 mb-4">
<label for="configs[username]" class="block text-sm font-medium text-gray-700">用户名</label>
<x-input type="text" name="configs[username]" id="configs[username]" placeholder="请输入用户名" value="{{ $strategy->configs->get('username') }}" />