feat(imitation): add article imitation create flow
Introduce 仿写创作: new list and create views, backend imitation service and prompt templates, worker task routing for imitation jobs, and one-click rewrite triggers from question citation sources. Surface source article URL/title on article list/detail, and restrict failed articles to delete-only. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,7 @@ import {
|
||||
AppstoreOutlined,
|
||||
CalendarOutlined,
|
||||
ClockCircleOutlined,
|
||||
CopyOutlined,
|
||||
EditOutlined,
|
||||
TeamOutlined,
|
||||
ThunderboltOutlined,
|
||||
@@ -24,7 +25,7 @@ const sourceLabel = computed(() =>
|
||||
const createdAtLabel = computed(() => formatDateTime(props.createdAt));
|
||||
|
||||
const sourceVariant = computed<
|
||||
"template" | "custom" | "instant" | "schedule" | "free-create" | "kol" | "default"
|
||||
"template" | "custom" | "instant" | "schedule" | "free-create" | "imitation" | "kol" | "default"
|
||||
>(() => {
|
||||
if (props.sourceType === "template") {
|
||||
return "template";
|
||||
@@ -32,6 +33,9 @@ const sourceVariant = computed<
|
||||
if (props.sourceType === "free_create") {
|
||||
return "free-create";
|
||||
}
|
||||
if (props.sourceType === "imitation") {
|
||||
return "imitation";
|
||||
}
|
||||
if (props.sourceType === "kol") {
|
||||
return "kol";
|
||||
}
|
||||
@@ -59,6 +63,8 @@ const badgeIcon = computed<Component>(() => {
|
||||
return ThunderboltOutlined;
|
||||
case "free-create":
|
||||
return EditOutlined;
|
||||
case "imitation":
|
||||
return CopyOutlined;
|
||||
case "kol":
|
||||
return TeamOutlined;
|
||||
default:
|
||||
@@ -133,6 +139,12 @@ const badgeIcon = computed<Component>(() => {
|
||||
color: #18794e;
|
||||
}
|
||||
|
||||
.article-source-meta__badge--imitation {
|
||||
border: 1px solid #bfdbfe;
|
||||
background: linear-gradient(180deg, #f8fbff 0%, #e6f0ff 100%);
|
||||
color: #1d4ed8;
|
||||
}
|
||||
|
||||
.article-source-meta__badge--kol {
|
||||
border: 1px solid #d6e4ff;
|
||||
background: linear-gradient(180deg, #f5f8ff 0%, #eaf1ff 100%);
|
||||
|
||||
Reference in New Issue
Block a user