#### What type of PR is this?
/kind feature
/kind improvement
/milestone 2.0
#### What this PR does / why we need it:
完善 UI 权限控制。适配 https://github.com/halo-dev/halo/pull/2488
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/2342
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo-console
测试方式:
1. Halo 需要使用 https://github.com/halo-dev/halo/issues/2342 PR 的分支。
2. 创建新的角色,并勾选需要测试的权限。
3. 创建新的用户并赋予新的角色。
4. 测试操作权限。
#### Does this PR introduce a user-facing change?
```release-note
完善 UI 权限控制
```
#### What type of PR is this?
/kind feature
/milestone 2.0
#### What this PR does / why we need it:
支持初始化默认数据。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/2428
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo-console
测试方式:
1. 清空数据库。
2. 启动之后登录即可跳转到初始化界面。
3. 测试初始化的功能是否正常。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.0
#### What this PR does / why we need it:
修复文章和自定义页面的总评论数量统计取值错误
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind documentation
/milestone 2.0
#### What this PR does / why we need it:
更新 README。
See https://github.com/halo-dev/halo/issues/2410 for more
#### Special notes for your reviewer:
/hold
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.0
#### What this PR does / why we need it:
发布和更新文章及自定义页面时如果遇到乐观锁错误自动重试
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.0
#### What this PR does / why we need it:
补充角色模板
#### Which issue(s) this PR fixes:
Fixes#2342https://github.com/halo-dev/halo/issues/2391
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.0
#### What this PR does / why we need it:
将 spring boot 的版本从 3.0.0-M5 降级到 3.0.0-M5 以解决 swragger 无法使用的问题
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/milestone 2.0
#### What this PR does / why we need it:
- 支持在文章和自定义页面的管理列表显示访问数和评论数。
- 仪表盘支持显示整站的访问数。
适配 https://github.com/halo-dev/halo/pull/2476
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/2430
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo-console
测试方式:
1. Halo 需要 https://github.com/halo-dev/halo/pull/2476 PR 中的分支。
2. 需要执行 `pnpm install && pnpm build:packages`
3. 随机访问前台文章或者自定义页面,以及添加评论。
4. 查看后台是否正确统计文章浏览数和评论数。
TODO list:
- [ ] 更新 `@halo-dev/api-client`
#### Does this PR introduce a user-facing change?
```release-note
支持在文章和自定义页面的管理列表显示访问数和评论数
```
#### What type of PR is this?
/kind bug
/area core
/milestone 2.0
#### What this PR does / why we need it:
Fix the problem of granting role not taking effect.
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/2490
#### Special notes for your reviewer:
Steps to test:
1. Create an user
2. Grant a role for the user
3. Check the user list
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/kind improvement
/milestone 2.0
#### What this PR does / why we need it:
添加插件管理筛选的支持。适配 https://github.com/halo-dev/halo/pull/2489
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/2470
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
/cc @halo-dev/sig-halo-console
测试方式:
1. Halo 需要切换到 https://github.com/halo-dev/halo/pull/2489 PR 的分支。
2. Console 需要 `pnpm install`
3. 安装若干插件,测试筛选和排序。
#### Does this PR introduce a user-facing change?
```release-note
插件管理支持筛选
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.0
#### What this PR does / why we need it:
创建评论时 hidden 字段默认为 false
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/area core
/milestone 2.0
#### What this PR does / why we need it:
Fix the problem of changing password not exist before.
#### Which issue(s) this PR fixes:
Partial Fixes https://github.com/halo-dev/halo/issues/2427
#### Special notes for your reviewer:
Steps to test:
1. Create an user and change his/her password
2. Login with the user and the password
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/milestone 2.0
#### What this PR does / why we need it:
修改标签/分类显示文章数量的字段。 适配 https://github.com/halo-dev/halo/pull/2483
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
测试方式:
1. Halo 需要切换到 https://github.com/halo-dev/halo/pull/2483 PR 中的分支。
2. Console 需要 `pnpm install`
3. 发布多篇带分类和标签的文章后,检查分类和标签的文章数量是否正确。
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/milestone 2.0
/area core
/kind api-change
#### What this PR does / why we need it:
自定义页面增加排序和筛选:
筛选:
关键词
状态
可见性
作者
排序:
发布时间
创建时间
#### Which issue(s) this PR fixes:
Fixes#2469
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.0
#### What this PR does / why we need it:
主题支持展示绝对路径位置
#### Which issue(s) this PR fixes:
Fixes#2461
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.0
#### What this PR does / why we need it:
主题 reload endpoint 增加对 theme.yaml 的 reload 操作
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.0
#### What this PR does / why we need it:
标签和分类的 status 中的 posts 字段不序列化,只提供文章 postCount 代替
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind bug
/kind api-change
/area core
/milestone 2.0
#### What this PR does / why we need it:
Support setting special characters on slug name of SinglePage.
#### Which issue(s) this PR fixes:
Partial Fixes https://github.com/halo-dev/halo/issues/2473
#### Special notes for your reviewer:
Steps to test:
1. Create single pags with slug name `中文`, `/a/b/c/d` or `a / b`
2. Request it with permalink generated by Halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/milestone 2.0
/area core
#### What this PR does / why we need it:
修改文章列表的默认排序规则,之前是按照创建时间(createTime)升序,现在改为降序。即最新创建的文章在前面。
#### Special notes for your reviewer:
测试方式:
连续创建多篇文章,检查前后台的文章排序是否是最新的在最前面。
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind improvement
/area core
/milestone 2.0
#### What this PR does / why we need it:
完善系统设置表单的资源定义。
- 副标题的验证改为取消必填
- 优化主题路由规则显示名称
- 移除暂未实现的用户注册相关设置
- 代码注入设置的文案
#### Which issue(s) this PR fixes:
Fixes #
#### Special notes for your reviewer:
/cc @halo-dev/sig-halo
#### Does this PR introduce a user-facing change?
```release-note
完善系统设置表单的资源定义
```
#### What type of PR is this?
/kind bug
/area core
/milestone 2.0
#### What this PR does / why we need it:
Fix empty listing of single page while using PostgreSQL.
#### Does this PR introduce a user-facing change?
```release-note
None
```
#### What type of PR is this?
/kind feature
/milestone 2.0
#### What this PR does / why we need it:
支持删除主题的时候删除对应的 Setting 和 ConfigMap 资源。
#### Which issue(s) this PR fixes:
Fixes https://github.com/halo-dev/halo/issues/2325
#### Screenshots:
<img width="1004" alt="image" src="https://user-images.githubusercontent.com/21301288/191994812-0ad32b23-e461-4286-9bd7-ce12b413f580.png">
#### Special notes for your reviewer:
测试方式:
1. 安装一个带有设置项的主题并做一定的配置。
2. 选择**卸载并删除配置**的选项。
3. 重新安装主题,检查设置项是否已经恢复为默认。
#### Does this PR introduce a user-facing change?
```release-note
支持卸载主题时,删除对应的 Setting 和 ConfigMap 资源。
```
#### What type of PR is this?
/kind feature
/area core
/milestone 2.0
#### What this PR does / why we need it:
Add PostgreSQL script to support running Halo with PostgreSQL database. BTW, there was a weird issue (emty posts even if there are some posts created) while listing Post, and I fixed it in this PR.
#### Which issue(s) this PR fixes:
Partial Fixes https://github.com/halo-dev/halo/issues/2464
#### Special notes for reviewers
Steps to test:
1. Start up PostgreSQL. e.g.:
```yaml
version: '3.1'
services:
db:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: openpostgresql
ports:
- 5432:5432
adminer:
image: adminer
restart: always
ports:
- 8080:8080
```
```bash
docker-compose -f postgresql.yaml up
```
2. Start Halo with `postgresql` profile. e.g.:
```bash
./gradlew bootRun --args="--spring.profiles.active=postgresql"
```
3. Validate the functionality of Halo
#### Does this PR introduce a user-facing change?
```release-note
None
```