#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
This will resolve the error log output when running dev environment of Console
#### Which issue(s) this PR fixes:
Fixes#4963
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area console
/milestone 2.12.x
#### What this PR does / why we need it:
修复在默认编辑器中无法使用拼音输入法输入标题的问题,此问题由 https://github.com/halo-dev/halo/pull/4909 引发。
#### Which issue(s) this PR fixes:
Fixes#4970
#### Special notes for your reviewer:
在编辑器中,使用拼音输入法输入标题(heading),观察是否可以正常输入。
#### Does this PR introduce a user-facing change?
```release-note
修复在默认编辑器中无法使用拼音输入法输入标题的问题。
```
#### What type of PR is this?
/kind cleanup
/area core
#### What this PR does / why we need it:
Bump versions to 2.12.0-SNAPSHOT for next development.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind cleanup
/area core
/milestone 2.11.0
#### What this PR does / why we need it:
This PR adds role templates for posts in user center for recreating more flexible roles. Related to <https://github.com/halo-dev/halo/pull/4866>.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/area core
/area console
/milestone 2.11.x
#### What this PR does / why we need it:
新增使用邮箱地址找回密码功能
#### Which issue(s) this PR fixes:
Fixes#4940
#### Does this PR introduce a user-facing change?
```release-note
新增使用邮箱地址找回密码功能
```
#### What type of PR is this?
/area console
/kind bug
/milestone 2.11.0
#### What this PR does / why we need it:
修复在个人中心的文章列表中点击标签控制台报错的问题。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area console
/kind feature
/milestone 2.11.x
#### What this PR does / why we need it:
支持为自定义角色配置 **禁止访问 Console** 的选项。
#### Special notes for your reviewer:
测试方式:
1. 创建一个新角色,勾选禁止访问 Console 的选项,并赋予给某个用户。
2. 登录之后,尝试访问 /console 观察是否能够正常访问。
3. 检查个人中心左下角是否有进入 Console 的按钮。
4. 测试其他未设置这个选项的角色是否正常。
#### Does this PR introduce a user-facing change?
```release-note
支持为自定义角色配置 **禁止访问 Console** 的选项。
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
完善遗漏的编辑器上传图片的 UI 权限控制,以及部分 i18n。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area console
/milestone 2.11.0
#### What this PR does / why we need it:
为 repeater 中的 addButton 点击事件增加校验 disabled 属性。
#### How to test it?
在 safari 浏览器下测试具有 max repeater 的组件,当其 addButton 按钮变灰之后继续点击。查看是否不再添加新的项。
#### Which issue(s) this PR fixes:
Fixes#4948
#### Does this PR introduce a user-facing change?
```release-note
修复 safari 浏览器下,repeater 的 max 属性无效的问题
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
完善个人中心相关页面的 i18n。
#### Special notes for your reviewer:
测试各个语言的个人中心相关页面。
#### Does this PR introduce a user-facing change?
```release-note
完善个人中心相关页面的 i18n。
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.0
#### What this PR does / why we need it:
在 Console 和 UC 轮询 /actuator/health 接口保持登录会话,目前是 5min 请求一次。
#### Which issue(s) this PR fixes:
Fixes#4947
#### Does this PR introduce a user-facing change?
```release-note
优化 Console 的登录会话保活机制。
```
* Support managing posts in user center
Signed-off-by: John Niang <johnniang@foxmail.com>
* Adapt post management in user center
Signed-off-by: Ryan Wang <i@ryanc.cc>
---------
Signed-off-by: John Niang <johnniang@foxmail.com>
Signed-off-by: Ryan Wang <i@ryanc.cc>
Co-authored-by: Ryan Wang <i@ryanc.cc>
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
完善系统概览页面的 UI 权限控制。
#### Does this PR introduce a user-facing change?
```release-note
完善系统概览页面的 UI 权限控制。
```
#### What type of PR is this?
/area console
/area editor
/milestone 2.11.0
/kind improvement
#### What this PR does / why we need it:
升级编辑器依赖,并将其全局注册,此 PR 合并之后,插件如果需要扩展编辑器,则不必引入其中依赖,可以完全排除。
#### Which issue(s) this PR fixes:
- https://github.com/halo-sigs/richtext-editor/pull/71 Fixes https://github.com/halo-dev/halo/issues/4868
#### Does this PR introduce a user-facing change?
```release-note
升级默认编辑器版本。
```
#### What type of PR is this?
/kind feature
/area core
/milestone 2.11.x
#### What this PR does / why we need it:
新增用户邮箱验证机制
#### Which issue(s) this PR fixes:
Fixes#4656
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
新增用户邮箱验证机制
```
#### What type of PR is this?
/area console
/kind feature
/milestone 2.11.x
#### What this PR does / why we need it:
支持为自定义的角色配置登录之后默认跳转位置。
#### Special notes for your reviewer:
1. 创建一个新的角色,设置跳转位置。
2. 为一个用户赋予这个角色。
3. 测试登录之后是否正常跳转到设置的位置。
#### Does this PR introduce a user-facing change?
```release-note
支持为自定义的角色配置登录之后默认跳转位置。
```
#### What type of PR is this?
/kind feature
/area core
/area console
#### What this PR does / why we need it:
新增用户站内消息删除功能
<img width="588" alt="图片" src="https://github.com/halo-dev/halo/assets/21301288/6034e43c-0dbc-4e4e-88c6-4848c8b25e0c">
#### Which issue(s) this PR fixes:
Fixes#4706
#### Does this PR introduce a user-facing change?
```release-note
新增用户站内消息删除功能
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
在默认编辑器中,自动为 heading 类型元素生成有意义的 id,而不是原来的 `heading-x`。
<img width="1602" alt="图片" src="https://github.com/halo-dev/halo/assets/21301288/665e0acc-cb22-44d3-a4d5-c5b913687f32">
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/4838
#### Special notes for your reviewer:
需要测试在默认编辑器中编写若干 heading 类型的元素,发布之后查看元素的 id。
#### Does this PR introduce a user-facing change?
```release-note
为默认编辑器中 heading 类型元素生成有意义的 id。
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
升级 FormKit 的版本至 1.3.0
see https://formkit.com/changelog#_130
#### Does this PR introduce a user-facing change?
```release-note
升级 FormKit 的版本至 1.3.0
```
#### What type of PR is this?
/kind feature
/area console
/milestone 2.11.x
#### What this PR does / why we need it:
添加 `<StickyBlock />` 组件,用于将元素固定在顶部或者底部。
此外,此 PR 针对主题设置、插件设置、系统设置等表单可能较长的页面使用了此组件。
<img width="1214" alt="图片" src="https://github.com/halo-dev/halo/assets/21301288/abc849eb-a9a9-4d0a-b81c-d7430815660d">
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/4548
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
添加 `<StickyBlock />` 组件,用于将元素固定在顶部或者底部,并为主题 / 插件 / 系统设置的底部保存按钮区域做了适配。
```
#### What type of PR is this?
/area console
/kind feature
/milestone 2.11.x
#### What this PR does / why we need it:
Add email field for signup
<img width="832" alt="图片" src="https://github.com/halo-dev/halo/assets/21301288/dabc7411-a18d-4a8b-a0be-f875b16ba58f">
#### Does this PR introduce a user-facing change?
```release-note
用户注册新增电子邮箱字段。
```
#### What type of PR is this?
/kind bug
/area console
/milestone 2.11.x
#### What this PR does / why we need it:
修复在 Windows 平台下无法正常启动 Console 服务以及无法正常编译的问题。
<img width="1124" alt="图片" src="https://github.com/halo-dev/halo/assets/21301288/55edd00a-8e71-437e-8889-0fe4a43bb40b">
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/4874
#### Special notes for your reviewer:
在 Windows 平台下测试 `pnpm dev` 和 `pnpm build`,检查是否能够正常运行。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
修复代码错误导致的控制台警告。异常现象:备份列表页面,有多少备份文件就会有多少个警告日志。

#### Which issue(s) this PR fixes:
Fixes#4871
#### Special notes for your reviewer:
None
#### Does this PR introduce a user-facing change?
```release-note
修复备份页面中的浏览器控制台警告日志
```
#### What type of PR is this?
/kind feature
/area console
#### What this PR does / why we need it:
为文章以及页面预览增加终端切换功能,类似于预览主题的终端切换
#### Which issue(s) this PR fixes:
Fixes#4789
#### Special notes for your reviewer:
测试方式:
本地运行halo,预览文章和页面,切换不同终端,各个界面正常显示且功能正常。
#### Does this PR introduce a user-facing change?
```release-note
文章预览支持模拟不同设备尺寸。
```
#### What type of PR is this?
/kind bug
/area console
/milestone 2.11.x
#### What this PR does / why we need it:
重构去重元数据的逻辑,解决删除元数据后仍旧提示 key 不能重复的问题。
#### How to test it?
1. 在文章列表点击设置按钮
2. 添加两个个空的元数据,不保存直接关闭设置框。
3. 再次打开设置框,点击删除空的元数据,查看是否会提示 key 重复。
#### Does this PR introduce a user-facing change?
```release-note
解决删除元数据后仍旧提示 key 不能重复的问题
```
#### What type of PR is this?
/area console
/kind improvement
/milestone 2.11.x
#### What this PR does / why we need it:
为插件的 bundle.css 和 bundle.js 重定向请求添加时间戳参数,防止被浏览器、Nginx、CDN 服务缓存,导致插件的资源不能及时更新。
#### Which issue(s) this PR fixes:
Fixes#4803
#### Special notes for your reviewer:
测试方式:
1. 在 Firefox 浏览器测试启动和停止若干插件,观察插件提供的 UI 样式是否正常即可。
#### 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:
优化了编辑器的性能,并解决了卡死现象。具体措施如下:
1. 编辑器异步加载时,由于其 component 并不会使用响应式,所以也无需进行代理,因此使用 `markRaw` 将其转为普通对象,可以优化 vue 性能。
2. 由于 `DefaultEditor` 有多个根节点导致透传的 attrs 无法设置,因此新增一个 div 节点将其原有节点包裹。参见 https://cn.vuejs.org/guide/components/attrs.html#attribute-inheritance-on-multiple-root-nodes 。
3. 原有编辑器实例在切换路由之后不会释放,此次修改之后,将在 vue 的 `onBeforeUnmount` 时间中手动释放编辑器实例。
#### How to test it?
1. 新建文章,新建一个表格。
2. 不要保存,点击文章路由跳出编辑器界面,再次点击上一次所编辑器的文章,查看是否会卡死。
#### Which issue(s) this PR fixes:
Fixes#4798
#### Does this PR introduce a user-facing change?
```release-note
优化编辑器性能并解决切换页面所造成的卡死现象
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
console附件页面List Mode和Grid Mode的tooltip写反了:
<img width="1172" alt="image" src="https://github.com/halo-dev/halo/assets/4889894/6645b29f-7e92-4c42-9938-892e53f92115">
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
修复附件管理布局切换按钮的提示文字。
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
当前用户上传头像时的接口中名字应该是 `-` 而不是具体的 metadata name。
#### How to test it?
使用无用户管理权限的用户登录,查看是否能上传头像。
#### Which issue(s) this PR fixes:
Fixes#4776
#### Does this PR introduce a user-facing change?
```release-note
解决无用户管理权限的用户无法上传头像的问题
```
#### What type of PR is this?
/kind bug
#### What this PR does / why we need it:
在获取自定义元数据时,将空白 key 与重复的 key 过滤,用于解决可能出现的额外空白元数据及报错问题。
#### How to test it?
尝试点击编辑文章 -> 设置,查看是否有额外空白元数据的出现。
由于是概率性问题,因此若本地环境未复现,则需要使用生产环境进行验证。
#### Which issue(s) this PR fixes:
Fixes#4764
#### Does this PR introduce a user-facing change?
```release-note
解决文章设置中可能出现空白元数据的问题
```
#### What type of PR is this?
/area console
/kind improvement
#### What this PR does / why we need it:
适配 https://github.com/halo-dev/halo/pull/4745 ,使用新的接口启动/停止插件。
#### Which issue(s) this PR fixes:
Fixes#4744
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area console
#### What this PR does / why we need it:

#### Which issue(s) this PR fixes:
Fixes#4731
#### Special notes for your reviewer:
#### Does this PR introduce a user-facing change?
```release-note
修复 Console 端评论状态筛选无法显示筛选结果的问题
```