create-halo-plugin-template 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/.editorconfig +520 -0
  2. package/.github/workflows/cd.yaml +20 -0
  3. package/.github/workflows/ci.yaml +32 -0
  4. package/.github/workflows/publish-npm.yaml +46 -0
  5. package/.gitignore +84 -0
  6. package/LICENSE +674 -0
  7. package/README.md +191 -0
  8. package/build.gradle +103 -0
  9. package/docs/first-npm-release-checklist.md +58 -0
  10. package/docs/publish-template.md +148 -0
  11. package/docs/rsbuild-switch.md +90 -0
  12. package/docs/template-pruning.md +43 -0
  13. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  14. package/gradle/wrapper/gradle-wrapper.properties +7 -0
  15. package/gradle.properties +1 -0
  16. package/gradlew +248 -0
  17. package/gradlew.bat +93 -0
  18. package/package.json +67 -7
  19. package/scripts/create-project.mjs +399 -0
  20. package/scripts/init-template.mjs +281 -0
  21. package/scripts/publish-check.mjs +97 -0
  22. package/scripts/release.mjs +278 -0
  23. package/scripts/verify-template.mjs +407 -0
  24. package/settings.gradle +7 -0
  25. package/src/main/java/run/halo/plugintemplate/PluginTemplatePlugin.java +43 -0
  26. package/src/main/java/run/halo/plugintemplate/config/PluginTemplateConfig.java +14 -0
  27. package/src/main/java/run/halo/plugintemplate/dto/PluginTemplateChecklistItem.java +30 -0
  28. package/src/main/java/run/halo/plugintemplate/dto/PluginTemplateFeatureItem.java +30 -0
  29. package/src/main/java/run/halo/plugintemplate/dto/PluginTemplateOverview.java +73 -0
  30. package/src/main/java/run/halo/plugintemplate/dto/PluginTemplateStatItem.java +30 -0
  31. package/src/main/java/run/halo/plugintemplate/endpoint/PluginTemplateConsoleEndpoint.java +33 -0
  32. package/src/main/java/run/halo/plugintemplate/endpoint/PluginTemplatePublicEndpoint.java +26 -0
  33. package/src/main/java/run/halo/plugintemplate/endpoint/PluginTemplateUcEndpoint.java +33 -0
  34. package/src/main/java/run/halo/plugintemplate/endpoint/routes/PluginTemplateOverviewRoutes.java +60 -0
  35. package/src/main/java/run/halo/plugintemplate/model/PluginTemplateAudience.java +23 -0
  36. package/src/main/java/run/halo/plugintemplate/query/PluginTemplateOverviewQuery.java +26 -0
  37. package/src/main/java/run/halo/plugintemplate/reconcile/PluginTemplateSettingsReconciler.java +17 -0
  38. package/src/main/java/run/halo/plugintemplate/scheme/PluginTemplateRecord.java +43 -0
  39. package/src/main/java/run/halo/plugintemplate/service/PluginTemplateOverviewService.java +10 -0
  40. package/src/main/java/run/halo/plugintemplate/service/impl/PluginTemplateOverviewServiceImpl.java +74 -0
  41. package/src/main/java/run/halo/plugintemplate/setting/PluginTemplateGeneralSetting.java +25 -0
  42. package/src/main/java/run/halo/plugintemplate/setting/PluginTemplateSettingKeys.java +24 -0
  43. package/src/main/java/run/halo/plugintemplate/setting/PluginTemplateUiSetting.java +13 -0
  44. package/src/main/java/run/halo/plugintemplate/utils/PluginTemplateSeeds.java +197 -0
  45. package/src/main/resources/extensions/roleTemplate-console.yaml +39 -0
  46. package/src/main/resources/extensions/roleTemplate-uc.yaml +19 -0
  47. package/src/main/resources/extensions/settings.yaml +47 -0
  48. package/src/main/resources/logo.png +0 -0
  49. package/src/main/resources/plugin.yaml +24 -0
  50. package/src/test/java/run/halo/plugintemplate/PluginTemplatePluginTest.java +34 -0
  51. package/src/test/java/run/halo/plugintemplate/service/impl/PluginTemplateOverviewServiceImplTest.java +97 -0
  52. package/ui/build.gradle +41 -0
  53. package/ui/env.d.ts +2 -0
  54. package/ui/eslint.config.ts +30 -0
  55. package/ui/package.json +57 -0
  56. package/ui/pnpm-lock.yaml +5250 -0
  57. package/ui/src/api/__tests__/normalizers.spec.ts +65 -0
  58. package/ui/src/api/generated/.openapi-generator/FILES +23 -0
  59. package/ui/src/api/generated/.openapi-generator/VERSION +1 -0
  60. package/ui/src/api/generated/.openapi-generator-ignore +23 -0
  61. package/ui/src/api/generated/api/plugin-template-console-api.ts +128 -0
  62. package/ui/src/api/generated/api/plugin-template-uc-api.ts +128 -0
  63. package/ui/src/api/generated/api.ts +19 -0
  64. package/ui/src/api/generated/base.ts +86 -0
  65. package/ui/src/api/generated/common.ts +150 -0
  66. package/ui/src/api/generated/configuration.ts +110 -0
  67. package/ui/src/api/generated/git_push.sh +57 -0
  68. package/ui/src/api/generated/index.ts +18 -0
  69. package/ui/src/api/generated/models/add-operation.ts +49 -0
  70. package/ui/src/api/generated/models/copy-operation.ts +49 -0
  71. package/ui/src/api/generated/models/index.ts +11 -0
  72. package/ui/src/api/generated/models/json-patch-inner.ts +41 -0
  73. package/ui/src/api/generated/models/move-operation.ts +49 -0
  74. package/ui/src/api/generated/models/plugin-template-checklist-item.ts +54 -0
  75. package/ui/src/api/generated/models/plugin-template-feature-item.ts +54 -0
  76. package/ui/src/api/generated/models/plugin-template-overview.ts +147 -0
  77. package/ui/src/api/generated/models/plugin-template-stat-item.ts +54 -0
  78. package/ui/src/api/generated/models/remove-operation.ts +43 -0
  79. package/ui/src/api/generated/models/replace-operation.ts +49 -0
  80. package/ui/src/api/generated/models/test-operation.ts +49 -0
  81. package/ui/src/api/index.ts +42 -0
  82. package/ui/src/api/normalizers.ts +65 -0
  83. package/ui/src/assets/element.scss +24 -0
  84. package/ui/src/assets/index.css +361 -0
  85. package/ui/src/assets/logo.svg +1 -0
  86. package/ui/src/components/PluginTemplateAttachmentTab.vue +69 -0
  87. package/ui/src/components/PluginTemplateCommonTable.vue +69 -0
  88. package/ui/src/components/PluginTemplateDashboardWidget.vue +62 -0
  89. package/ui/src/components/PluginTemplateOverviewPage.vue +254 -0
  90. package/ui/src/components/ui/PluginUiProvider.vue +40 -0
  91. package/ui/src/components/ui/UiMetricCard.vue +21 -0
  92. package/ui/src/components/ui/UiSectionCard.vue +25 -0
  93. package/ui/src/components/ui/UiStatusPill.vue +18 -0
  94. package/ui/src/composables/useTemplateOverview.ts +38 -0
  95. package/ui/src/index.ts +88 -0
  96. package/ui/src/lib/__tests__/plugin-ui.spec.ts +19 -0
  97. package/ui/src/lib/plugin-ui.ts +19 -0
  98. package/ui/src/lib/template.spec.ts +24 -0
  99. package/ui/src/lib/template.ts +52 -0
  100. package/ui/src/lib/theme.ts +31 -0
  101. package/ui/src/types/index.ts +59 -0
  102. package/ui/src/views/console/ConsoleDashboardView.vue +7 -0
  103. package/ui/src/views/uc/UcDashboardView.vue +7 -0
  104. package/ui/tsconfig.app.json +12 -0
  105. package/ui/tsconfig.json +14 -0
  106. package/ui/tsconfig.node.json +15 -0
  107. package/ui/tsconfig.vitest.json +11 -0
  108. package/ui/vite.config.ts +25 -0
@@ -0,0 +1,110 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Halo
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.23.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ export interface ConfigurationParameters {
17
+ apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
18
+ username?: string;
19
+ password?: string;
20
+ accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
21
+ basePath?: string;
22
+ serverIndex?: number;
23
+ baseOptions?: any;
24
+ formDataCtor?: new () => any;
25
+ }
26
+
27
+ export class Configuration {
28
+ /**
29
+ * parameter for apiKey security
30
+ * @param name security name
31
+ * @memberof Configuration
32
+ */
33
+ apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
34
+ /**
35
+ * parameter for basic security
36
+ *
37
+ * @type {string}
38
+ * @memberof Configuration
39
+ */
40
+ username?: string;
41
+ /**
42
+ * parameter for basic security
43
+ *
44
+ * @type {string}
45
+ * @memberof Configuration
46
+ */
47
+ password?: string;
48
+ /**
49
+ * parameter for oauth2 security
50
+ * @param name security name
51
+ * @param scopes oauth2 scope
52
+ * @memberof Configuration
53
+ */
54
+ accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
55
+ /**
56
+ * override base path
57
+ *
58
+ * @type {string}
59
+ * @memberof Configuration
60
+ */
61
+ basePath?: string;
62
+ /**
63
+ * override server index
64
+ *
65
+ * @type {number}
66
+ * @memberof Configuration
67
+ */
68
+ serverIndex?: number;
69
+ /**
70
+ * base options for axios calls
71
+ *
72
+ * @type {any}
73
+ * @memberof Configuration
74
+ */
75
+ baseOptions?: any;
76
+ /**
77
+ * The FormData constructor that will be used to create multipart form data
78
+ * requests. You can inject this here so that execution environments that
79
+ * do not support the FormData class can still run the generated client.
80
+ *
81
+ * @type {new () => FormData}
82
+ */
83
+ formDataCtor?: new () => any;
84
+
85
+ constructor(param: ConfigurationParameters = {}) {
86
+ this.apiKey = param.apiKey;
87
+ this.username = param.username;
88
+ this.password = param.password;
89
+ this.accessToken = param.accessToken;
90
+ this.basePath = param.basePath;
91
+ this.serverIndex = param.serverIndex;
92
+ this.baseOptions = param.baseOptions;
93
+ this.formDataCtor = param.formDataCtor;
94
+ }
95
+
96
+ /**
97
+ * Check if the given MIME is a JSON MIME.
98
+ * JSON MIME examples:
99
+ * application/json
100
+ * application/json; charset=UTF8
101
+ * APPLICATION/JSON
102
+ * application/vnd.company+json
103
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
104
+ * @return True if the given MIME is JSON, false otherwise.
105
+ */
106
+ public isJsonMime(mime: string): boolean {
107
+ const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
108
+ return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
109
+ }
110
+ }
@@ -0,0 +1,57 @@
1
+ #!/bin/sh
2
+ # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
3
+ #
4
+ # Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
5
+
6
+ git_user_id=$1
7
+ git_repo_id=$2
8
+ release_note=$3
9
+ git_host=$4
10
+
11
+ if [ "$git_host" = "" ]; then
12
+ git_host="github.com"
13
+ echo "[INFO] No command line input provided. Set \$git_host to $git_host"
14
+ fi
15
+
16
+ if [ "$git_user_id" = "" ]; then
17
+ git_user_id="GIT_USER_ID"
18
+ echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
19
+ fi
20
+
21
+ if [ "$git_repo_id" = "" ]; then
22
+ git_repo_id="GIT_REPO_ID"
23
+ echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
24
+ fi
25
+
26
+ if [ "$release_note" = "" ]; then
27
+ release_note="Minor update"
28
+ echo "[INFO] No command line input provided. Set \$release_note to $release_note"
29
+ fi
30
+
31
+ # Initialize the local directory as a Git repository
32
+ git init
33
+
34
+ # Adds the files in the local repository and stages them for commit.
35
+ git add .
36
+
37
+ # Commits the tracked changes and prepares them to be pushed to a remote repository.
38
+ git commit -m "$release_note"
39
+
40
+ # Sets the new remote
41
+ git_remote=$(git remote)
42
+ if [ "$git_remote" = "" ]; then # git remote not defined
43
+
44
+ if [ "$GIT_TOKEN" = "" ]; then
45
+ echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
46
+ git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
47
+ else
48
+ git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
49
+ fi
50
+
51
+ fi
52
+
53
+ git pull origin master
54
+
55
+ # Pushes (Forces) the changes in the local repository up to the remote repository
56
+ echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
57
+ git push origin master 2>&1 | grep -v 'To https'
@@ -0,0 +1,18 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Halo
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.23.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ export * from "./api";
17
+ export * from "./configuration";
18
+ export * from "./models";
@@ -0,0 +1,49 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Halo
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.23.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+
17
+ /**
18
+ *
19
+ * @export
20
+ * @interface AddOperation
21
+ */
22
+ export interface AddOperation {
23
+ /**
24
+ *
25
+ * @type {string}
26
+ * @memberof AddOperation
27
+ */
28
+ 'op': AddOperationOpEnum;
29
+ /**
30
+ * A JSON Pointer path pointing to the location to move/copy from.
31
+ * @type {string}
32
+ * @memberof AddOperation
33
+ */
34
+ 'path': string;
35
+ /**
36
+ * Value can be any JSON value
37
+ * @type {any}
38
+ * @memberof AddOperation
39
+ */
40
+ 'value': any;
41
+ }
42
+
43
+ export const AddOperationOpEnum = {
44
+ Add: 'add'
45
+ } as const;
46
+
47
+ export type AddOperationOpEnum = typeof AddOperationOpEnum[keyof typeof AddOperationOpEnum];
48
+
49
+
@@ -0,0 +1,49 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Halo
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.23.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+
17
+ /**
18
+ *
19
+ * @export
20
+ * @interface CopyOperation
21
+ */
22
+ export interface CopyOperation {
23
+ /**
24
+ * A JSON Pointer path pointing to the location to move/copy from.
25
+ * @type {string}
26
+ * @memberof CopyOperation
27
+ */
28
+ 'from': string;
29
+ /**
30
+ *
31
+ * @type {string}
32
+ * @memberof CopyOperation
33
+ */
34
+ 'op': CopyOperationOpEnum;
35
+ /**
36
+ * A JSON Pointer path pointing to the location to move/copy from.
37
+ * @type {string}
38
+ * @memberof CopyOperation
39
+ */
40
+ 'path': string;
41
+ }
42
+
43
+ export const CopyOperationOpEnum = {
44
+ Copy: 'copy'
45
+ } as const;
46
+
47
+ export type CopyOperationOpEnum = typeof CopyOperationOpEnum[keyof typeof CopyOperationOpEnum];
48
+
49
+
@@ -0,0 +1,11 @@
1
+ export * from './add-operation';
2
+ export * from './copy-operation';
3
+ export * from './json-patch-inner';
4
+ export * from './move-operation';
5
+ export * from './plugin-template-checklist-item';
6
+ export * from './plugin-template-feature-item';
7
+ export * from './plugin-template-overview';
8
+ export * from './plugin-template-stat-item';
9
+ export * from './remove-operation';
10
+ export * from './replace-operation';
11
+ export * from './test-operation';
@@ -0,0 +1,41 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Halo
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.23.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ // May contain unused imports in some cases
17
+ // @ts-ignore
18
+ import type { AddOperation } from './add-operation';
19
+ // May contain unused imports in some cases
20
+ // @ts-ignore
21
+ import type { CopyOperation } from './copy-operation';
22
+ // May contain unused imports in some cases
23
+ // @ts-ignore
24
+ import type { MoveOperation } from './move-operation';
25
+ // May contain unused imports in some cases
26
+ // @ts-ignore
27
+ import type { RemoveOperation } from './remove-operation';
28
+ // May contain unused imports in some cases
29
+ // @ts-ignore
30
+ import type { ReplaceOperation } from './replace-operation';
31
+ // May contain unused imports in some cases
32
+ // @ts-ignore
33
+ import type { TestOperation } from './test-operation';
34
+
35
+ /**
36
+ * @type JsonPatchInner
37
+ * @export
38
+ */
39
+ export type JsonPatchInner = AddOperation | CopyOperation | MoveOperation | RemoveOperation | ReplaceOperation | TestOperation;
40
+
41
+
@@ -0,0 +1,49 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Halo
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.23.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+
17
+ /**
18
+ *
19
+ * @export
20
+ * @interface MoveOperation
21
+ */
22
+ export interface MoveOperation {
23
+ /**
24
+ * A JSON Pointer path pointing to the location to move/copy from.
25
+ * @type {string}
26
+ * @memberof MoveOperation
27
+ */
28
+ 'from': string;
29
+ /**
30
+ *
31
+ * @type {string}
32
+ * @memberof MoveOperation
33
+ */
34
+ 'op': MoveOperationOpEnum;
35
+ /**
36
+ * A JSON Pointer path pointing to the location to move/copy from.
37
+ * @type {string}
38
+ * @memberof MoveOperation
39
+ */
40
+ 'path': string;
41
+ }
42
+
43
+ export const MoveOperationOpEnum = {
44
+ Move: 'move'
45
+ } as const;
46
+
47
+ export type MoveOperationOpEnum = typeof MoveOperationOpEnum[keyof typeof MoveOperationOpEnum];
48
+
49
+
@@ -0,0 +1,54 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Halo
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.23.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+
17
+ /**
18
+ * 模板初始化检查项
19
+ * @export
20
+ * @interface PluginTemplateChecklistItem
21
+ */
22
+ export interface PluginTemplateChecklistItem {
23
+ /**
24
+ * 受众
25
+ * @type {string}
26
+ * @memberof PluginTemplateChecklistItem
27
+ */
28
+ 'audience'?: string;
29
+ /**
30
+ * 说明
31
+ * @type {string}
32
+ * @memberof PluginTemplateChecklistItem
33
+ */
34
+ 'description'?: string;
35
+ /**
36
+ * 检查项键
37
+ * @type {string}
38
+ * @memberof PluginTemplateChecklistItem
39
+ */
40
+ 'key'?: string;
41
+ /**
42
+ * 状态
43
+ * @type {string}
44
+ * @memberof PluginTemplateChecklistItem
45
+ */
46
+ 'status'?: string;
47
+ /**
48
+ * 标题
49
+ * @type {string}
50
+ * @memberof PluginTemplateChecklistItem
51
+ */
52
+ 'title'?: string;
53
+ }
54
+
@@ -0,0 +1,54 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Halo
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.23.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+
17
+ /**
18
+ * 模板功能项
19
+ * @export
20
+ * @interface PluginTemplateFeatureItem
21
+ */
22
+ export interface PluginTemplateFeatureItem {
23
+ /**
24
+ * 区域
25
+ * @type {string}
26
+ * @memberof PluginTemplateFeatureItem
27
+ */
28
+ 'area'?: string;
29
+ /**
30
+ * 说明
31
+ * @type {string}
32
+ * @memberof PluginTemplateFeatureItem
33
+ */
34
+ 'description'?: string;
35
+ /**
36
+ * 是否默认启用
37
+ * @type {boolean}
38
+ * @memberof PluginTemplateFeatureItem
39
+ */
40
+ 'enabled'?: boolean;
41
+ /**
42
+ * 功能键
43
+ * @type {string}
44
+ * @memberof PluginTemplateFeatureItem
45
+ */
46
+ 'key'?: string;
47
+ /**
48
+ * 标题
49
+ * @type {string}
50
+ * @memberof PluginTemplateFeatureItem
51
+ */
52
+ 'title'?: string;
53
+ }
54
+
@@ -0,0 +1,147 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Halo
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.23.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ // May contain unused imports in some cases
17
+ // @ts-ignore
18
+ import type { PluginTemplateChecklistItem } from './plugin-template-checklist-item';
19
+ // May contain unused imports in some cases
20
+ // @ts-ignore
21
+ import type { PluginTemplateFeatureItem } from './plugin-template-feature-item';
22
+ // May contain unused imports in some cases
23
+ // @ts-ignore
24
+ import type { PluginTemplateStatItem } from './plugin-template-stat-item';
25
+
26
+ /**
27
+ * 模板概览信息
28
+ * @export
29
+ * @interface PluginTemplateOverview
30
+ */
31
+ export interface PluginTemplateOverview {
32
+ /**
33
+ * 主色
34
+ * @type {string}
35
+ * @memberof PluginTemplateOverview
36
+ */
37
+ 'accentColor'?: string;
38
+ /**
39
+ * 当前视角
40
+ * @type {string}
41
+ * @memberof PluginTemplateOverview
42
+ */
43
+ 'audience'?: string;
44
+ /**
45
+ * 视角标签
46
+ * @type {string}
47
+ * @memberof PluginTemplateOverview
48
+ */
49
+ 'audienceLabel'?: string;
50
+ /**
51
+ * 初始化清单
52
+ * @type {Array<PluginTemplateChecklistItem>}
53
+ * @memberof PluginTemplateOverview
54
+ */
55
+ 'checklist'?: Array<PluginTemplateChecklistItem>;
56
+ /**
57
+ * ConfigMap 名称
58
+ * @type {string}
59
+ * @memberof PluginTemplateOverview
60
+ */
61
+ 'configMapName'?: string;
62
+ /**
63
+ * Console 路由
64
+ * @type {string}
65
+ * @memberof PluginTemplateOverview
66
+ */
67
+ 'consolePath'?: string;
68
+ /**
69
+ * 页面密度
70
+ * @type {string}
71
+ * @memberof PluginTemplateOverview
72
+ */
73
+ 'density'?: string;
74
+ /**
75
+ * 显示名
76
+ * @type {string}
77
+ * @memberof PluginTemplateOverview
78
+ */
79
+ 'displayName'?: string;
80
+ /**
81
+ * 是否启用附件扩展标签页
82
+ * @type {boolean}
83
+ * @memberof PluginTemplateOverview
84
+ */
85
+ 'enableAttachmentProvider'?: boolean;
86
+ /**
87
+ * 是否启用 Console 页面
88
+ * @type {boolean}
89
+ * @memberof PluginTemplateOverview
90
+ */
91
+ 'enableConsoleDashboard'?: boolean;
92
+ /**
93
+ * 是否启用 UC 页面
94
+ * @type {boolean}
95
+ * @memberof PluginTemplateOverview
96
+ */
97
+ 'enableUcDashboard'?: boolean;
98
+ /**
99
+ * 功能矩阵
100
+ * @type {Array<PluginTemplateFeatureItem>}
101
+ * @memberof PluginTemplateOverview
102
+ */
103
+ 'features'?: Array<PluginTemplateFeatureItem>;
104
+ /**
105
+ * 生成时间
106
+ * @type {string}
107
+ * @memberof PluginTemplateOverview
108
+ */
109
+ 'generatedAt'?: string;
110
+ /**
111
+ * 生成客户端输出目录
112
+ * @type {string}
113
+ * @memberof PluginTemplateOverview
114
+ */
115
+ 'generatedClientPath'?: string;
116
+ /**
117
+ * 插件名
118
+ * @type {string}
119
+ * @memberof PluginTemplateOverview
120
+ */
121
+ 'pluginName'?: string;
122
+ /**
123
+ * Setting 名称
124
+ * @type {string}
125
+ * @memberof PluginTemplateOverview
126
+ */
127
+ 'settingName'?: string;
128
+ /**
129
+ * 统计信息
130
+ * @type {Array<PluginTemplateStatItem>}
131
+ * @memberof PluginTemplateOverview
132
+ */
133
+ 'stats'?: Array<PluginTemplateStatItem>;
134
+ /**
135
+ * 支持文档链接
136
+ * @type {string}
137
+ * @memberof PluginTemplateOverview
138
+ */
139
+ 'supportLink'?: string;
140
+ /**
141
+ * UC 路由
142
+ * @type {string}
143
+ * @memberof PluginTemplateOverview
144
+ */
145
+ 'ucPath'?: string;
146
+ }
147
+
@@ -0,0 +1,54 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Halo
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.23.2
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+
17
+ /**
18
+ * 模板统计卡片
19
+ * @export
20
+ * @interface PluginTemplateStatItem
21
+ */
22
+ export interface PluginTemplateStatItem {
23
+ /**
24
+ * 提示
25
+ * @type {string}
26
+ * @memberof PluginTemplateStatItem
27
+ */
28
+ 'helper'?: string;
29
+ /**
30
+ * 统计项键
31
+ * @type {string}
32
+ * @memberof PluginTemplateStatItem
33
+ */
34
+ 'key'?: string;
35
+ /**
36
+ * 标题
37
+ * @type {string}
38
+ * @memberof PluginTemplateStatItem
39
+ */
40
+ 'label'?: string;
41
+ /**
42
+ * 视觉语义
43
+ * @type {string}
44
+ * @memberof PluginTemplateStatItem
45
+ */
46
+ 'tone'?: string;
47
+ /**
48
+ * 值
49
+ * @type {string}
50
+ * @memberof PluginTemplateStatItem
51
+ */
52
+ 'value'?: string;
53
+ }
54
+