From 4b6d4345560b65d9540e964ba719045e3733660a Mon Sep 17 00:00:00 2001 From: liangxu Date: Fri, 17 Apr 2026 14:59:52 +0800 Subject: [PATCH] feat(kol): dynamic-form generation view --- apps/admin-web/src/i18n/messages/en-US.ts | 2 +- apps/admin-web/src/i18n/messages/zh-CN.ts | 2 +- apps/admin-web/src/lib/api.ts | 15 ++ .../src/router/future-kol-views.d.ts | 7 - apps/admin-web/src/views/KolGenerateView.vue | 209 ++++++++++++++++++ 5 files changed, 226 insertions(+), 9 deletions(-) create mode 100644 apps/admin-web/src/views/KolGenerateView.vue diff --git a/apps/admin-web/src/i18n/messages/en-US.ts b/apps/admin-web/src/i18n/messages/en-US.ts index 60c9ce9..88decc7 100644 --- a/apps/admin-web/src/i18n/messages/en-US.ts +++ b/apps/admin-web/src/i18n/messages/en-US.ts @@ -180,7 +180,7 @@ const enUS = { generate: { title: "Generate Article", submit: "Generate", - fillVariables: "Please fill in all required variables", + fillVariables: "Please fill in the following variables and click generate", }, manage: { title: "KOL Prompt Management", diff --git a/apps/admin-web/src/i18n/messages/zh-CN.ts b/apps/admin-web/src/i18n/messages/zh-CN.ts index bff2b98..03cf1fa 100644 --- a/apps/admin-web/src/i18n/messages/zh-CN.ts +++ b/apps/admin-web/src/i18n/messages/zh-CN.ts @@ -180,7 +180,7 @@ const zhCN = { generate: { title: "生成文章", submit: "生成", - fillVariables: "请填写所有必填变量", + fillVariables: "填写以下变量后点击生成", }, manage: { title: "KOL 提示词管理", diff --git a/apps/admin-web/src/lib/api.ts b/apps/admin-web/src/lib/api.ts index 3990c7d..baee552 100644 --- a/apps/admin-web/src/lib/api.ts +++ b/apps/admin-web/src/lib/api.ts @@ -39,6 +39,9 @@ import type { KolPromptDetail, KolPromptRevision, KolSaveDraftRequest, + KolSubscriptionPromptSchema, + KolGenerateRequest, + KolGenerateResponse, Keyword, KeywordRequest, LoginRequest, @@ -359,6 +362,18 @@ export const kolMarketplaceApi = { }, }; +export const kolGenerateApi = { + schema(id: number | string) { + return apiClient.get(`/api/tenant/kol/subscription-prompts/${id}/schema`); + }, + submit(id: number | string, body: KolGenerateRequest) { + return apiClient.post( + `/api/tenant/kol/subscription-prompts/${id}/generate`, + body, + ); + }, +}; + export const articlesApi = { list(params: ArticleListParams) { return apiClient.get("/api/tenant/articles", { params }); diff --git a/apps/admin-web/src/router/future-kol-views.d.ts b/apps/admin-web/src/router/future-kol-views.d.ts index 9aad9c1..8198c58 100644 --- a/apps/admin-web/src/router/future-kol-views.d.ts +++ b/apps/admin-web/src/router/future-kol-views.d.ts @@ -4,10 +4,3 @@ declare module "@/views/KolDashboardView.vue" { const component: DefineComponent, Record, any>; export default component; } - -declare module "@/views/KolGenerateView.vue" { - import type { DefineComponent } from "vue"; - - const component: DefineComponent, Record, any>; - export default component; -} diff --git a/apps/admin-web/src/views/KolGenerateView.vue b/apps/admin-web/src/views/KolGenerateView.vue new file mode 100644 index 0000000..7797318 --- /dev/null +++ b/apps/admin-web/src/views/KolGenerateView.vue @@ -0,0 +1,209 @@ + + + + +