Commit Graph

67 Commits (7a5d52effebff2861483c7b29037e1f4b97a88a2)

Author SHA1 Message Date
Ryan Wang 7a5d52effe feat: add a refresh button to the data list (halo-dev/console#656)
#### What type of PR is this?

/kind feature
/milestone 2.0

#### What this PR does / why we need it:

为部分功能数据列表添加刷新按钮。

#### Screenshots:

<img width="1664" alt="image" src="https://user-images.githubusercontent.com/21301288/197397277-353befe4-8c43-4326-9ad5-64d2888dc4a3.png">

#### Special notes for your reviewer:

/cc @halo-dev/sig-halo-console 

测试方式:

1. 需要 `pnpm build:packages`
2. 测试点击刷新按钮是否可以正常请求接口。

#### Does this PR introduce a user-facing change?

```release-note
为部分功能数据列表添加刷新按钮。
```
2022-10-24 03:18:16 +00:00
Ryan Wang 05bf7134ef chore: bump packages version (halo-dev/console#654)
#### What type of PR is this?

/kind improvement
/milestone 2.0

#### What this PR does / why we need it:

发布 `@halo-dev/components` `@halo-dev/console-shared` 版本。

#### Special notes for your reviewer:

/cc @halo-dev/sig-halo-console 

#### Does this PR introduce a user-facing change?


```release-note
None
```
2022-10-24 02:26:09 +00:00
Ryan Wang 67c4ebc782 refactor: router and menu generation (halo-dev/console#651)
#### What type of PR is this?

/kind api-change
/kind improvement
/milestone 2.0

#### What this PR does / why we need it:

Ref https://github.com/halo-dev/halo/issues/2595

重构路由和侧边菜单生成的逻辑,**注意,此 PR 对插件的 Console 入口文件中的路由和菜单定义包含破坏性更新。**

1. 移除 `definePlugin` 方法的 `menus` 字段,改为在 route 的 meta 中定义。
2. 将 `RoutesMenu` 组件从 `@halo-dev/components` 包中移出。
3. 将 `BasicLayout` 组件从 `@halo-dev/console-shared` 包中移出。

定义路由的方式:

```ts
import { definePlugin } from "@halo-dev/console-shared";
import BasicLayout from "@/layouts/BasicLayout.vue";
import AttachmentList from "./AttachmentList.vue";
import AttachmentSelectorModal from "./components/AttachmentSelectorModal.vue";
import { IconFolder } from "@halo-dev/components";
import { markRaw } from "vue";

export default definePlugin({
  name: "attachmentModule",
  components: [AttachmentSelectorModal],
  routes: [
    {
      path: "/attachments",
      component: BasicLayout,
      children: [
        {
          path: "",
          name: "Attachments",
          component: AttachmentList,
          meta: {
            title: "附件",
            permissions: ["system:attachments:view"],
            menu: {
              name: "附件",
              group: "内容",
              icon: markRaw(IconFolder),
              priority: 4,
              mobile: true,
            },
          },
        },
      ],
    },
  ],
});
```

menu 字段类型:

```ts
interface RouteMeta {
  title?: string;
  searchable?: boolean;
  permissions?: string[];
  menu?: {
    name: string;
    group?: string;
    icon?: Component;
    priority: number;
    mobile?: true;
  };
}
```

插件适配需要做的改动:

1. 移除 `definePlugin` 中的 menus 字段。
2. 在需要添加到菜单的 route 中提供 `meta.menu` 对象,可参考上方的 menu 字段类型。

详细文档可查阅:https://github.com/ruibaby/halo-console/tree/refactor/route-map-setting/docs/routes-generation

todolist:

- [x] 完善预设的菜单分组定义。
- [x] 绑定权限,根据权限决定是否需要将路由添加到菜单。
- [x] 优化菜单排序的定义方式。

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/2595

#### Special notes for your reviewer:

/cc @halo-dev/sig-halo-console 

测试方式:

1. 需要 `pnpm build:packages`
2. 测试后台的菜单及路由是否有异常。
3. 新建角色测试路由和菜单对权限的绑定。
4. 按照 https://github.com/ruibaby/halo-console/tree/refactor/route-map-setting/docs/routes-generation 文档,创建插件,测试插件添加路由和菜单是否正常。

#### Does this PR introduce a user-facing change?

```release-note
重构路由和侧边菜单生成的逻辑。
```
2022-10-19 08:54:13 +00:00
Ryan Wang aa2aa26981 feat: add operation exception toasts for loading plugin resources and login (halo-dev/console#645)
#### 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/2534

#### Screenshots:

<img width="650" alt="image" src="https://user-images.githubusercontent.com/21301288/196105634-ece58153-d9e0-450d-8068-8cda1bed8bcc.png">

<img width="634" alt="image" src="https://user-images.githubusercontent.com/21301288/196105704-e3a59808-8a33-456d-b668-13e891512353.png">

#### Special notes for your reviewer:

目前还没有处理全局的接口请求异常,需要后端修改异常返回结构。

/cc @halo-dev/sig-halo-console 

#### 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
为登录操作和加载插件资源添加异常提示。
```
2022-10-18 03:30:10 +00:00
Ryan Wang 4ec5c506af refactor: api of dialog component (halo-dev/console#646)
#### What type of PR is this?

/kind api-change
/kind improvement
/milestone 2.0

#### What this PR does / why we need it:

重构 Dialog 组件使用 API 的调用方式,改为与 Toast 组件一致。https://github.com/halo-dev/console/pull/644

同样的,使用此方式调用 Dialog 组件不限制在 Vue 组件。

#### Special notes for your reviewer:

/cc @halo-dev/sig-halo-console 

需要测试后台各个操作的会话框是否正常。

#### Does this PR introduce a user-facing change?

```release-note
重构 Dialog 组件使用 API 的调用方式。
```
2022-10-18 01:58:09 +00:00
Ryan Wang 8648705ab6 perf: refine the fallback of the avatar component (halo-dev/console#649)
#### What type of PR is this?

/kind improvement
/milestone 2.0

#### What this PR does / why we need it:

优化 Avatar 组件在图片加载失败的状态,以及添加加载状态的动画。目前的策略为,如果图片加载异常,那么会取 `alt` 属性生成占位样式。如果没有设置 `alt`,会显示失败的图标。

#### Screenshots:

<img width="421" alt="image" src="https://user-images.githubusercontent.com/21301288/196194978-229cf58d-19e1-4492-b77a-8b1a6b41e3a0.png">

#### Special notes for your reviewer:

/cc @halo-dev/sig-halo-console 

测试方式:

1. 需要 `pnpm build:packages`
2. 测试修改个人资料的头像,观测不同效果。
3. 访问 https://halo-admin-ui-git-fork-ruibaby-perf-avatar-fallback-halo-dev.vercel.app/story/src-components-avatar-avatar-story-vue?variantId=_default 测试不同参数的效果。

#### Does this PR introduce a user-facing change?

```release-note
优化 Avatar 组件在图片加载失败的状态
```
2022-10-17 16:45:38 +00:00
Ryan Wang 450de0b6cd feat: add toast component (halo-dev/console#644)
#### What type of PR is this?

/kind feature
/milestone 2.0

#### What this PR does / why we need it:

添加 Toast 组件。

特性:

1. 支持相同消息合并。
2. 支持鼠标悬停。

使用方式:

```vue
import { Toast } from '@halo-dev/components'

Toast.success("Hello", { //props })
Toast.info("Hello", { //props })
Toast.warning("Hello", { //props })
Toast.error("Hello", { //props })
```

props:

```ts
export interface ToastProps {
  type?: Type;
  content?: string;
  duration?: number;
  closable?: boolean;
  frozenOnHover?: boolean;
  count?: 0;
  onClose?: () => void;
}
```

Toast 方法不仅可以在 Vue 单组件中使用,理论上在任何地方均可使用。

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/2534

#### Screenshots:

<img width="752" alt="image" src="https://user-images.githubusercontent.com/21301288/196099183-09e64daf-0077-4373-9603-5d4349dfce3d.png">

#### Special notes for your reviewer:

/cc @halo-dev/sig-halo-console 

测试方式:

https://halo-admin-ui-git-fork-ruibaby-feat-toast-component-halo-dev.vercel.app/story/src-components-toast-toast-story-vue?variantId=_default

测试功能是否正常。

#### Does this PR introduce a user-facing change?

```release-note
添加 Toast 组件
```
2022-10-17 06:09:38 +00:00
Ryan Wang db39c3a1d7 perf: remove unused imports
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-10-11 15:35:49 +08:00
Ryan Wang 7d17e6e60e chore: bump dependencies
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-10-10 15:50:18 +08:00
Ryan Wang ff3c562ff2 refactor: rename admin to console (halo-dev/console#634)
#### What type of PR is this?

/kind improvement
/milestone 2.0

#### What this PR does / why we need it:

Ref https://github.com/halo-dev/halo/pull/2521 我们已经将 halo-admin 的命名改为了 console,所以相关命名需要同步修改。

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/2519

#### Special notes for your reviewer:

/cc @halo-dev/sig-halo-console 

测试方式:

1. 需要 `pnpm install && pnpm build:packages`
2. 测试后台功能是否正常。

PS:将在此 PR 合并之后发布 `@halo-dev/console-shared` 包到 npm。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2022-10-09 06:56:33 +00:00
Ryan Wang 3f2e30efca chore: bump dependencies
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-10-09 13:59:35 +08:00
Ryan Wang ef58d40251 refactor: pagination component
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-09-29 12:47:03 +08:00
Ryan Wang bd09cb3815 feat: add global search support (halo-dev/console#623)
#### 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/1924

#### Screenshots:

<img width="1920" alt="image" src="https://user-images.githubusercontent.com/21301288/192448624-fbef4e58-7c0e-4c24-b29e-4dd6eba9fa4f.png">
<img width="1920" alt="image" src="https://user-images.githubusercontent.com/21301288/192448660-369e19a4-747d-45ad-9056-162f5c8e01be.png">
<img width="1920" alt="image" src="https://user-images.githubusercontent.com/21301288/192449009-6b856d82-e7a6-4e93-b2fa-d0d0c7a58ebf.png">


#### Special notes for your reviewer:

/cc @halo-dev/sig-halo-console 

测试方式:

1. 本地 Console 切换到当前 PR 的分支,需要 `pnpm install && pnpm build:packages`
2. 使用 Ctrl + K(Windows/Linux) 或者 Command + K(macOS)调起搜索框
3. 可以使用键盘上/下键(或者 Ctrl + J / Ctrl + K)选择搜索条目,回车键确认选择。

#### Does this PR introduce a user-facing change?

```release-note
后台添加全局搜索的支持
```
2022-09-28 06:50:16 +00:00
Ryan Wang 19bb0ec1df chore: bump packages version
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-09-27 22:01:44 +08:00
Ryan Wang a77fc3b2a5 perf: refine user detail page
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-09-27 16:47:13 +08:00
Ryan Wang 94f9dc5f69 perf: refine theme detail page
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-09-26 14:50:00 +08:00
Ryan Wang 4fcaa2a5e2 chore: bump dependencies
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-09-20 11:33:03 +08:00
Ryan Wang dea60b0ebc feat: add comment management support (halo-dev/console#612)
#### 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/2412

#### Which issue(s) this PR fixes:

Fixes halo-dev/halo#2409

#### Screenshots:

#### Special notes for your reviewer:

测试方式:

1. 本地的 halo-admin 仓库需要 checkout 到当前分支。
2. 后端需要 checkout 到 <https://github.com/halo-dev/halo/pull/2412>。
3. 使用最新的主题:<https://github.com/halo-sigs/theme-anatole>。
4. 更新 halo-admin 的依赖和构建 packages:`pnpm install` `pnpm build:packages`
5. 启用主题之后在文章详情页面即可看到评论框。
6. 测试主题端的评论和后台评论的管理。

#### Does this PR introduce a user-facing change?

```release-note
None
```
2022-09-19 09:26:50 +00:00
Ryan Wang e5389379c6 refactor: move entity component to @halo-dev/components package
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-09-14 11:17:15 +08:00
Ryan Wang 69c37e5b4f Merge branch 'next' of github.com:halo-dev/halo-admin into next 2022-09-14 10:32:05 +08:00
Ryan Wang 297dbfb962 feat: add status dot component (halo-dev/console#611)
#### 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:


#### Screenshots:

#### Special notes for your reviewer:

https://halo-admin-ui-git-fork-ruibaby-feat-status-dot-ec0d53-halo-dev.vercel.app/story/src-components-status-statusdot-story-vue?variantId=src-components-status-statusdot-story-vue-1

/cc @halo-dev/sig-halo-admin 

#### Does this PR introduce a user-facing change?

```release-note
None
```
2022-09-13 13:30:11 +00:00
Ryan Wang 2788261001 fix: display styles of pagination component
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-09-13 16:25:45 +08:00
Ryan Wang 0a4d31fa33 perf: improve modal component style 2022-09-11 17:10:25 +08:00
Ryan Wang 780cb20def feat: add avatar component 2022-09-11 01:26:26 +08:00
Ryan Wang 58c4b78067 chore: bump dependencies 2022-09-09 19:04:04 +08:00
Ryan Wang 4462ceceb4 perf: improve tabbar component styles 2022-09-09 18:24:14 +08:00
Ryan Wang 3af96040e6 feat: add attachment management support (halo-dev/console#600)
<!--  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 feature
/milestone 2.0

<!--
添加其中一个类别:
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:

增加附件管理的功能,适配 https://github.com/halo-dev/halo/pull/2354

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/2330

<!--
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:

None

<!--
如果此 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:

todo list:

- [x] 根据分组筛选附件列表。
- [x] 非图片文件支持显示占位图。
- [x] 完善选择附件组件。
- [ ] ~~附件引用关系查询。~~

#### 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
None
```
2022-09-04 17:06:11 +00:00
Ryan Wang 18828c035b chore: use vue/vue3-recommended eslint plugin
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-30 17:30:43 +08:00
Ryan Wang 525b440b8a refactor: post editor creation
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-24 15:29:21 +08:00
Ryan Wang ee10f49678 feat: post basic management capability (halo-dev/console#599)
<!--  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 feature
/milestone 2.0

<!--
添加其中一个类别:
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:

文章管理相关模块。适配 https://github.com/halo-dev/halo/pull/2326

#### 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/2322

#### Screenshots:

// pending

<!--
如果此 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:

// pending

#### 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
None
```
2022-08-23 04:08:10 +00:00
Ryan Wang a65649b1cd feat: add empty state support for core modules
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-22 16:49:07 +08:00
Ryan Wang 02997e1d55 feat: add empty component
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-22 16:01:59 +08:00
Ryan Wang 4ec95fb2dc chore: bump packages version
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-15 21:07:18 +08:00
Ryan Wang 53beb65a4c refactor: refine emits type declaration
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-15 20:31:51 +08:00
Ryan Wang 8e9a476136 refactor: define props with pure types via a generic type argument
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-15 17:56:13 +08:00
Ryan Wang 9a306fc2b7 chore: bump histoire version
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-14 11:59:35 +08:00
Ryan Wang f661a6767e chore: bump @halo-dev/richtext-editor version
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-13 11:37:07 +08:00
Ryan Wang 35ee3f0855 feat: refine attachment management page ui
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-12 16:15:08 +08:00
Ryan Wang 4912d78ae7 feat: support for dynamically adding child routes to a route
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-09 12:05:40 +08:00
Ryan Wang cbcb2c8027 chore: bump vite version to 3.0
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-08-07 23:54:54 +08:00
Ryan Wang ee3b6605fa chore: bump dependencies
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-07-30 11:41:40 +08:00
Ryan Wang 4fb5c6f588 perf(components): modal automatically focuses after opening
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-07-26 15:41:08 +08:00
Ryan Wang fadbe47a54 feat: add plugin uninstall support
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-07-26 11:45:00 +08:00
Ryan Wang 0a087d3956 refactor: basic components styles
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-07-25 16:48:37 +08:00
Ryan Wang 51c87c1519 feat: user editing support using yaml
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-07-22 17:04:30 +08:00
Ryan Wang e218818a59 feat: add codemirror component
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-07-22 16:12:28 +08:00
Ryan Wang d90838f4cb chore: bump packages version
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-07-21 15:10:46 +08:00
Ryan Wang 5862db903f perf: improve user detail page style
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-07-21 15:03:30 +08:00
Ryan Wang c15330f1e8 chore: bump dependencies
Signed-off-by: Ryan Wang <i@ryanc.cc>
2022-07-18 12:35:34 +08:00
Ryan Wang d5c1e3e428 feat: support permission judgment of interface elements and routes 2022-07-15 16:26:27 +08:00