feat: 增加AI按钮
This commit is contained in:
@@ -1,5 +1,32 @@
|
|||||||
import React from 'react'
|
import React from 'react'
|
||||||
import {amisRender, commonInfo, horizontalFormOptions} from '../util/amis.tsx'
|
import {amisRender, commonInfo, horizontalFormOptions} from '../util/amis.tsx'
|
||||||
|
import {type Schema, uuid} from 'amis'
|
||||||
|
|
||||||
|
const aiToolbar = (component: Schema): Schema[] => {
|
||||||
|
const id = uuid()
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
...component,
|
||||||
|
componentId: id,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
className: 'text-right',
|
||||||
|
type: 'button-toolbar',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
type: 'action',
|
||||||
|
label: 'AI 生成',
|
||||||
|
icon: 'fa fa-brain',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'action',
|
||||||
|
label: 'AI 润色',
|
||||||
|
icon: 'fa fa-edit',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
function Creator() {
|
function Creator() {
|
||||||
return (
|
return (
|
||||||
@@ -16,7 +43,7 @@ function Creator() {
|
|||||||
wrapWithPanel: false,
|
wrapWithPanel: false,
|
||||||
canAccessSuperData: false,
|
canAccessSuperData: false,
|
||||||
body: [
|
body: [
|
||||||
{
|
...aiToolbar({
|
||||||
type: 'textarea',
|
type: 'textarea',
|
||||||
name: 'outline',
|
name: 'outline',
|
||||||
label: '故事概述',
|
label: '故事概述',
|
||||||
@@ -24,8 +51,8 @@ function Creator() {
|
|||||||
required: true,
|
required: true,
|
||||||
trimContents: true,
|
trimContents: true,
|
||||||
showCounter: true,
|
showCounter: true,
|
||||||
},
|
}),
|
||||||
{
|
...aiToolbar({
|
||||||
type: 'textarea',
|
type: 'textarea',
|
||||||
name: 'world',
|
name: 'world',
|
||||||
label: '世界观',
|
label: '世界观',
|
||||||
@@ -33,7 +60,7 @@ function Creator() {
|
|||||||
required: true,
|
required: true,
|
||||||
trimContents: true,
|
trimContents: true,
|
||||||
showCounter: true,
|
showCounter: true,
|
||||||
},
|
}),
|
||||||
{
|
{
|
||||||
type: 'input-tag',
|
type: 'input-tag',
|
||||||
name: 'tags',
|
name: 'tags',
|
||||||
@@ -58,18 +85,14 @@ function Creator() {
|
|||||||
leftFixed: 'sm',
|
leftFixed: 'sm',
|
||||||
},
|
},
|
||||||
items: [
|
items: [
|
||||||
{
|
...aiToolbar({
|
||||||
type: 'uuid',
|
|
||||||
name: 'id',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'input-text',
|
type: 'input-text',
|
||||||
name: 'name',
|
name: 'name',
|
||||||
label: '名称',
|
label: '名称',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
required: true,
|
required: true,
|
||||||
trimContents: true,
|
trimContents: true,
|
||||||
},
|
}),
|
||||||
{
|
{
|
||||||
type: 'select',
|
type: 'select',
|
||||||
name: 'sex',
|
name: 'sex',
|
||||||
@@ -95,7 +118,7 @@ function Creator() {
|
|||||||
precision: 0,
|
precision: 0,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
...aiToolbar({
|
||||||
type: 'textarea',
|
type: 'textarea',
|
||||||
name: 'appearance',
|
name: 'appearance',
|
||||||
label: '外形',
|
label: '外形',
|
||||||
@@ -103,8 +126,9 @@ function Creator() {
|
|||||||
required: true,
|
required: true,
|
||||||
trimContents: true,
|
trimContents: true,
|
||||||
showCounter: true,
|
showCounter: true,
|
||||||
},
|
}),
|
||||||
{
|
...aiToolbar({
|
||||||
|
componentId: 'd8eecb59-153d-4f5e-97b7-a52f4dc2dc58',
|
||||||
type: 'textarea',
|
type: 'textarea',
|
||||||
name: 'disposition',
|
name: 'disposition',
|
||||||
label: '性格',
|
label: '性格',
|
||||||
@@ -112,31 +136,31 @@ function Creator() {
|
|||||||
required: true,
|
required: true,
|
||||||
trimContents: true,
|
trimContents: true,
|
||||||
showCounter: true,
|
showCounter: true,
|
||||||
},
|
}),
|
||||||
{
|
...aiToolbar({
|
||||||
type: 'textarea',
|
type: 'textarea',
|
||||||
name: 'clothes',
|
name: 'clothes',
|
||||||
label: '衣着',
|
label: '衣着',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
trimContents: true,
|
trimContents: true,
|
||||||
showCounter: true,
|
showCounter: true,
|
||||||
},
|
}),
|
||||||
{
|
...aiToolbar({
|
||||||
type: 'textarea',
|
type: 'textarea',
|
||||||
name: 'experience',
|
name: 'experience',
|
||||||
label: '经历',
|
label: '经历',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
trimContents: true,
|
trimContents: true,
|
||||||
showCounter: true,
|
showCounter: true,
|
||||||
},
|
}),
|
||||||
{
|
...aiToolbar({
|
||||||
type: 'textarea',
|
type: 'textarea',
|
||||||
name: 'family',
|
name: 'family',
|
||||||
label: '家庭',
|
label: '家庭',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
trimContents: true,
|
trimContents: true,
|
||||||
showCounter: true,
|
showCounter: true,
|
||||||
},
|
}),
|
||||||
{
|
{
|
||||||
type: 'input-kvs',
|
type: 'input-kvs',
|
||||||
name: 'extra2',
|
name: 'extra2',
|
||||||
@@ -152,21 +176,19 @@ function Creator() {
|
|||||||
leftFixed: 'sm',
|
leftFixed: 'sm',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
valueItems: [
|
valueItems: aiToolbar({
|
||||||
{
|
type: 'textarea',
|
||||||
type: 'textarea',
|
name: 'value',
|
||||||
name: 'value',
|
label: '属性内容',
|
||||||
label: '属性内容',
|
clearable: true,
|
||||||
clearable: true,
|
required: true,
|
||||||
required: true,
|
trimContents: true,
|
||||||
trimContents: true,
|
showCounter: true,
|
||||||
showCounter: true,
|
mode: 'horizontal',
|
||||||
mode: 'horizontal',
|
horizontal: {
|
||||||
horizontal: {
|
leftFixed: 'sm',
|
||||||
leftFixed: 'sm',
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
],
|
}),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user