#### What type of PR is this?
/kind feature
#### What this PR does / why we need it:
添加复制或者拖拽图片到编辑器上传的支持。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3109
Fixes https://github.com/halo-dev/halo/issues/2946
#### Screenshots:
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
Console 端的默认编辑器支持拖拽或者粘贴图片上传
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
修复在开发环境下首次初始化后,没有加载默认主题的情况下无法访问主题管理页面的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3187
#### Special notes for your reviewer:
测试方式:
1. 在开发环境使用全新的数据库初始化。
2. 检查是否能够正常的访问主题管理页面。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
修改获取文章和自定义页面内容的 API,用于适配:https://github.com/halo-dev/halo/pull/3168
#### Special notes for your reviewer:
测试方式:
1. 测试文章和自定义页面编辑时,能否正常获取内容即可。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/milestone 2.2.x
#### What this PR does / why we need it:
文章、独立页面、分类、标签支持自动生成别名。
策略:
1. 仅在创建时会自动根据标题或者名称自动生成别名,编辑时如果需要重新生成,可以点击输入框右侧的按钮。
2. 中文会被转为拼音并用 - 隔开,需要注意多音字的情况,目前无法保证多音字是否符合预期。
3. 使用了 https://www.npmjs.com/package/transliteration 库。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3171
#### Screenshots:
<img width="782" alt="image" src="https://user-images.githubusercontent.com/21301288/213849446-18d70974-7b2c-420c-bd50-93d2c3193895.png">
#### Special notes for your reviewer:
测试方式:
1. 需要 `pnpm install`
4. 测试文章、独立页面、分类、标签创建时,是否可以自动设置别名。
5. 测试别名输入框右侧的生成别名按钮是否正常工作。
6. 测试分类和标签选择器创建新分类或标签时,是否正确设置了别名。
#### Does this PR introduce a user-facing change?
```release-note
Console 端的文章、独立页面、分类、标签支持自动生成别名
```
#### What type of PR is this?
/kind improvement
/milestone 2.2.x
#### What this PR does / why we need it:
使用新的 API 来管理插件,用于区分插件管理和配置相关的权限。适配:https://github.com/halo-dev/halo/pull/3142
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/3069
#### Screenshots:
#### Special notes for your reviewer:
测试方式:
1. Halo 需要切换到 https://github.com/halo-dev/halo/pull/3142 分支。
2. Console 需要 `pnpm install`。
1. 插件设置项,需要测试保存,安装新插件之后表单是否正常。
3. 创建一个角色,测试仅有管理/查看插件的角色,登录之后检查是否符合预期。
#### Does this PR introduce a user-facing change?
```release-note
重构 Console 端插件的设置表单逻辑。
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
使用新的 API 来管理主题,用于区分主题管理和配置相关的权限。适配:https://github.com/halo-dev/halo/pull/3135
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/3069
#### Screenshots:
#### Special notes for your reviewer:
重点测试:
1. Halo 需要切换到 https://github.com/halo-dev/halo/pull/3135 分支。
2. Console 需要 `pnpm install`。
1. 主题设置项,需要测试保存,安装新主题之后表单是否正常。
3. 创建一个角色,测试仅有管理/查看主题的角色,登录之后检查是否符合预期。
#### Does this PR introduce a user-facing change?
```release-note
重构 Console 端主题的设置表单逻辑。
```
<!-- Thanks for sending a pull request! Here are some tips for you:
1. 如果这是你的第一次,请阅读我们的贡献指南:<https://github.com/halo-dev/halo/blob/master/CONTRIBUTING.md>。
1. If this is your first time, please read our contributor guidelines: <https://github.com/halo-dev/halo/blob/master/CONTRIBUTING.md>.
2. 请根据你解决问题的类型为 Pull Request 添加合适的标签。
2. Please label this pull request according to what type of issue you are addressing, especially if this is a release targeted pull request.
3. 请确保你已经添加并运行了适当的测试。
3. Ensure you have added or ran the appropriate tests for your PR.
-->
#### What type of PR is this?
/kind bug
<!--
添加其中一个类别:
Add one of the following kinds:
/kind bug
/kind cleanup
/kind documentation
/kind feature
/kind optimization
适当添加其中一个或多个类别(可选):
Optionally add one or more of the following kinds if applicable:
/kind api-change
/kind deprecation
/kind failing-test
/kind flake
/kind regression
-->
#### What this PR does / why we need it:
修复后台删除评论后会导致下方头像错误的bug
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3170
<!--
PR 合并时自动关闭 issue。
Automatically closes linked issue when PR is merged.
用法:`Fixes #<issue 号>`,或者 `Fixes (粘贴 issue 完整链接)`
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
#### Screenshots:
![becd4362a1064b5cba0a26298df8d8e](https://user-images.githubusercontent.com/50261327/213245296-c304bd40-2a1c-4e10-a7b0-7160fd0ac259.png)
![96585c0a721ffed8be07781b0dd612c](https://user-images.githubusercontent.com/50261327/213245315-e7f7ac1b-a4f0-4d33-9ba3-0c0b6b3c7259.png)
<!--
如果此 PR 有 UI 的改动,最好截图说明这个 PR 的改动。
If there are UI changes to this PR, it is best to take a screenshot to illustrate the changes to this PR.
eg.
Before:
![screenshot-before](https://user-images.githubusercontent.com/screenshot.png)
After:
![screenshot-after](https://user-images.githubusercontent.com/screenshot.png)
-->
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
<!--
如果当前 Pull Request 的修改不会造成用户侧的任何变更,在 `release-note` 代码块儿中填写 `NONE`。
否则请填写用户侧能够理解的 Release Note。如果当前 Pull Request 包含破坏性更新(Break Change),
Release Note 需要以 `action required` 开头。
If no, just write "NONE" in the release-note block below.
If yes, a release note is required:
Enter your extended release note in the block below. If the PR requires additional action from users switching to the new release, include the string "action required".
-->
```release-note
修复后台删除评论后会导致下方头像错误的bug
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
优化 Console 端加载插件资源的逻辑。
1. 查询接口改为自定义接口,传入 enabled 参数进行筛选。
2. 修改符合 Console 插件的筛选判断。
3. 隐藏加载异常的提示。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3156
#### Special notes for your reviewer:
测试方式:
1. 安装若干带有 Console 端拓展的插件,比如:https://github.com/halo-sigs/plugin-stackedit
2. 检查是否有加载成功。
3. 创建一个没有插件访问权限的角色。
4. 登录之后检查是否有无权限提示。
#### Does this PR introduce a user-facing change?
```release-note
优化 Console 端加载插件资源的逻辑。
```
<!-- Thanks for sending a pull request! Here are some tips for you:
1. 如果这是你的第一次,请阅读我们的贡献指南:<https://github.com/halo-dev/halo/blob/master/CONTRIBUTING.md>。
1. If this is your first time, please read our contributor guidelines: <https://github.com/halo-dev/halo/blob/master/CONTRIBUTING.md>.
2. 请根据你解决问题的类型为 Pull Request 添加合适的标签。
2. Please label this pull request according to what type of issue you are addressing, especially if this is a release targeted pull request.
3. 请确保你已经添加并运行了适当的测试。
3. Ensure you have added or ran the appropriate tests for your PR.
-->
#### What type of PR is this?
<!--
添加其中一个类别:
Add one of the following kinds:
/kind bug
/kind cleanup
/kind documentation
/kind feature
/kind optimization
适当添加其中一个或多个类别(可选):
Optionally add one or more of the following kinds if applicable:
/kind api-change
/kind deprecation
/kind failing-test
/kind flake
/kind regression
-->
/kind improvement
#### What this PR does / why we need it:
Remove the timeout error prompt caused by the upload server processing for more than 30 seconds
#### Which issue(s) this PR fixes:
<!--
PR 合并时自动关闭 issue。
Automatically closes linked issue when PR is merged.
用法:`Fixes #<issue 号>`,或者 `Fixes (粘贴 issue 完整链接)`
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes https://github.com/halo-dev/halo/issues/3041
#### Screenshots:
<!--
如果此 PR 有 UI 的改动,最好截图说明这个 PR 的改动。
If there are UI changes to this PR, it is best to take a screenshot to illustrate the changes to this PR.
eg.
Before:
![screenshot-before](https://user-images.githubusercontent.com/screenshot.png)
After:
![screenshot-after](https://user-images.githubusercontent.com/screenshot.png)
-->
![image](https://user-images.githubusercontent.com/28662535/210917239-b4b050f8-766f-4289-9ba2-ccb99bb6ac55.png)
![image](https://user-images.githubusercontent.com/28662535/210917273-c6291485-f420-4f02-a7c8-2b4b286110d4.png)
#### Special notes for your reviewer:
测试:
上传大文件让后端处理过程超过30秒,观察是否报错
或使用[修改后的插件](https://github.com/longjuan/halo-plugin-s3os/actions/runs/3852075387)上传到对象存储,观察61秒后是否上传成功
#### Does this PR introduce a user-facing change?
<!--
如果当前 Pull Request 的修改不会造成用户侧的任何变更,在 `release-note` 代码块儿中填写 `NONE`。
否则请填写用户侧能够理解的 Release Note。如果当前 Pull Request 包含破坏性更新(Break Change),
Release Note 需要以 `action required` 开头。
If no, just write "NONE" in the release-note block below.
If yes, a release note is required:
Enter your extended release note in the block below. If the PR requires additional action from users switching to the new release, include the string "action required".
-->
```release-note
去除上传文件处理时间超过30秒后的报错
```
#### What type of PR is this?
/kind optimization
#### What this PR does / why we need it:
remove login form icon, fix icon lose dev tool console warning
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3071
#### Does this PR introduce a user-facing change?
```release-note
NONE
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
发布 Console 2.1.0
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/3077
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
修复编辑旧文章时,没有为文章设置 `content.halo.run/preferred-editor` 的元数据的问题。
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/3080
#### Special notes for your reviewer:
测试方式:
1. 在有旧数据的情况下切换到此 PR。
2. 编辑一篇旧的文章后保存。
3. 打开文章设置,检查元数据中是否包含了 `content.halo.run/preferred-editor`
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
修复在 Safari 浏览器登录之后无反应的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3002
#### Special notes for your reviewer:
测试方式:
1. 在 Safari 浏览器上测试登录之后是否有跳转到仪表盘即可。
#### Does this PR introduce a user-facing change?
```release-note
修复 Console 端在 Safari 浏览器登录之后无反应的问题
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
修复保存文章设置导致发布时间丢失的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3080
#### Special notes for your reviewer:
测试方式:
1. 创建若干文章。
2. 返回到文章管理列表。
3. 打开任意文章的设置。
4. 检查发布时间是否回显,然后保存。
5. 保存之后检查发布时间是否还存在。
#### Does this PR introduce a user-facing change?
```release-note
修复 Console 端保存文章设置导致发布时间丢失的问题。
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
修复已登录用户无法访问个人资料页面的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3027
#### Special notes for your reviewer:
/hold
等待 https://github.com/halo-dev/halo/issues/3035 解决。
#### Does this PR introduce a user-facing change?
```release-note
修复 Console 端已登录用户无法访问个人资料页面的问题。
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
发布 Console 2.1.0-rc.1
#### Which issue(s) this PR fixes:
Ref https://github.com/halo-dev/halo/issues/3050
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
移除使用 yaml 编辑用户信息的功能。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3046
#### Special notes for your reviewer:
None
#### Does this PR introduce a user-facing change?
```release-note
移除 Console 端使用 yaml 编辑用户信息的功能
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
优化上传附件的组件和附件库选择组件。
1. 附件上传支持缓存选择的分组和策略。
2. 附件上传支持选择分组。
3. 移除附件选择组件的上传 tab,改为和附件库管理中一样的上传组件。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/2828
#### Screenshots:
<img width="722" alt="image" src="https://user-images.githubusercontent.com/21301288/208612167-c7082be4-0fb8-4caa-b246-d15bac525e86.png">
#### Special notes for your reviewer:
测试方式:
1. 测试在附件管理中上传附件的功能是否正常。
2. 测试在附件选择组件中上传附件的功能是否正常。
#### Does this PR introduce a user-facing change?
```release-note
优化 Console 端上传附件的功能,支持缓存选择的分组和策略。
```
#### What type of PR is this?
/kind improvement
/milestone 2.1.x
#### What this PR does / why we need it:
优化用户和角色列表,如果包含正在删除的内容会自动刷新。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3036
#### Special notes for your reviewer:
测试方式:
1. 创建若干角色和用户。
2. 测试删除之后是否会自动刷新列表。
#### Does this PR introduce a user-facing change?
```release-note
优化 Console 端的用户和角色列表,如果包含正在删除的内容会自动刷新。
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
重构文章和自定义页面的设置表单,支持提交时验证表单。
> 因为之前的多选项卡设计导致无法同时验证所有表单,所以这个 PR 重构了表单的布局。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/2859
#### Screenshots:
![2022-12-21 17 23 22](https://user-images.githubusercontent.com/21301288/208870059-5039a565-def2-4622-9a78-de30dceb4d65.gif)
#### Special notes for your reviewer:
测试方式:
1. 测试在内容编辑页面和列表打开文章和自定义页面的设置表单。
2. 检查表单验证是否有效。
#### Does this PR introduce a user-facing change?
```release-note
重构 Console 端文章和自定义页面的设置表单布局,支持提交时验证表单。
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
新增和修改菜单时,标题都为编辑菜单,存在歧义
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3022
#### Special notes for your reviewer:
测试方式:新增菜单和菜单项。然后再编辑菜单和菜单项,查看title是否一样
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
修复首次初始化之后,Console 没有加载已激活主题的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3018
#### Special notes for your reviewer:
测试方式:
1. 使用全新的环境
2. 参考 https://docs.halo.run/developer-guide/core/build 构建可执行 JAR。
3. 运行 Halo,初始化之后检查 Console 主题页面是否已经加载了已经激活的主题。
#### Does this PR introduce a user-facing change?
```release-note
修复首次初始化之后,Console 没有加载已激活主题的问题。
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
修复系统设置页面切换选项卡无法正常加载表单的问题。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/3001
#### Special notes for your reviewer:
测试方式:
1. 测试系统设置页面的选项卡切换和保存功能。
#### Does this PR introduce a user-facing change?
```release-note
修复 Console 端系统设置页面切换选项卡无法正常加载表单的问题。
```
#### What type of PR is this?
/kind improvement
#### What this PR does / why we need it:
为部分关键操作添加反馈提示。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/2979
#### Special notes for your reviewer:
测试方式:
1. 测试 Console 端所有页面的操作。
2. 观察是否有反馈。
#### Does this PR introduce a user-facing change?
```release-note
完善 Console 端的部分操作反馈提示
```