From 8feda127249ab02d637365b3911b9642d127d107 Mon Sep 17 00:00:00 2001 From: zhangyahui Date: Tue, 10 Feb 2026 13:05:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20agent=E8=81=8A=E5=A4=A9=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .prettierrc.json | 4 +- src/assets/icons/copy.svg | 3 + src/assets/icons/equal.svg | 3 + src/assets/icons/refreshTransparent.svg | 3 + src/assets/icons/thumbDown.svg | 3 + src/assets/icons/thumbUp.svg | 3 + src/assets/images/agent-thumb.jpg | Bin 0 -> 7952 bytes src/assets/images/sender.png | Bin 0 -> 1670 bytes src/assets/images/user-thumb.jpg | Bin 0 -> 5718 bytes src/lang/en.ts | 234 ++-- src/lang/zh-cn.ts | 205 +-- src/router/index.ts | 132 +- src/views/home/agent/components/Agent.vue | 75 ++ src/views/home/agent/components/Item.vue | 127 ++ src/views/home/agent/components/List.vue | 29 + src/views/home/agent/index.vue | 30 + src/views/home/components/Input.vue | 1446 +++++++++++---------- src/views/home/versionTree/index.vue | 148 +-- 18 files changed, 1392 insertions(+), 1053 deletions(-) create mode 100644 src/assets/icons/copy.svg create mode 100644 src/assets/icons/equal.svg create mode 100644 src/assets/icons/refreshTransparent.svg create mode 100644 src/assets/icons/thumbDown.svg create mode 100644 src/assets/icons/thumbUp.svg create mode 100644 src/assets/images/agent-thumb.jpg create mode 100644 src/assets/images/sender.png create mode 100644 src/assets/images/user-thumb.jpg create mode 100644 src/views/home/agent/components/Agent.vue create mode 100644 src/views/home/agent/components/Item.vue create mode 100644 src/views/home/agent/components/List.vue create mode 100644 src/views/home/agent/index.vue diff --git a/.prettierrc.json b/.prettierrc.json index 24f1a24..48fd51f 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -4,5 +4,7 @@ "tabWidth": 4, "singleQuote": true, "printWidth": 100, - "trailingComma": "none" + "trailingComma": "none", + "useTabs": true, + "vueIndentScriptAndStyle": true } \ No newline at end of file diff --git a/src/assets/icons/copy.svg b/src/assets/icons/copy.svg new file mode 100644 index 0000000..3b3790d --- /dev/null +++ b/src/assets/icons/copy.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/equal.svg b/src/assets/icons/equal.svg new file mode 100644 index 0000000..9c30bcf --- /dev/null +++ b/src/assets/icons/equal.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/refreshTransparent.svg b/src/assets/icons/refreshTransparent.svg new file mode 100644 index 0000000..a50b43f --- /dev/null +++ b/src/assets/icons/refreshTransparent.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/thumbDown.svg b/src/assets/icons/thumbDown.svg new file mode 100644 index 0000000..4718775 --- /dev/null +++ b/src/assets/icons/thumbDown.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/thumbUp.svg b/src/assets/icons/thumbUp.svg new file mode 100644 index 0000000..57d6b42 --- /dev/null +++ b/src/assets/icons/thumbUp.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/images/agent-thumb.jpg b/src/assets/images/agent-thumb.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2b4e3e57b3681daf005ce8875986f72b93a44720 GIT binary patch literal 7952 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 literal 0 HcmV?d00001 diff --git a/src/lang/en.ts b/src/lang/en.ts index 02b1879..8fb1572 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -1,118 +1,122 @@ export default { - AlphaVersion: '2026 Alpha Version', - Login: { - login: 'Log in', - register: 'Register', - signUp: 'Sign up', - loginTo: 'Log on to FiDA', - loginTitle: 'A multi-agent canvas for rapid, trend driven design iteration.', - name: 'Name', - email: 'Email', - password: 'Password', - enterName: 'Enter your name', - enterEmail: 'Enter your email', - enterPassword: 'Enter your password', - forgetPassword: 'Forget password?', - pleaseInputName: 'Please input the name', - nameLengthError: 'Name length must be between {min} and {max} characters', - pleaseInputEmail: 'Please input the email', - emailFormatError: 'Please input the email again', - pleaseInputPassword: 'Please input the password', - passwordLengthError: 'Password length must be between {min} and {max} characters', - pleaseTermsPolicy: 'Please agree to the Terms, Policy and Fees', - agreeTermsPolicy: - 'I agree to the Terms, Policy and Fees.', - noAccountToSignUp: `Don't have an account? Sign up`, - signUpFor: 'Sign up for FiDA', - registerTip: 'A multi-agent canvas for rapid, trend driven design iteration.', - havenAccountToLogin: `Already have an account? Log in`, - verifyEmail: 'Verify your email address', - verifyCodeHasSent: 'A verification code has been sent to {email}', - verify: 'Verify', - resendCode: 'Resend Code', - resendCodeIn: 'Resend Code in {time}', - orContinueWith: 'or continue with', - googleLogin: 'Sign in with Google', - wechatLogin: 'Sign in with Wechat', - indexTip: 'A multi-agent canvas for rapid, trend driven design iteration.', - }, - Nuic: { - hiName: 'Hi, {name}. This is Fiphant.', - nuic1Title: `Help him discover the "YOU" in your space.`, - nuic1Tip: `Let's set up your profile. A few quick details will help Fiphant understand
your needs and find exactly what you're looking for.`, - letsGo: 'Let’s go, Fiphant!', - skip: 'Skip', - next: 'Next', - nuic2Title: `What vibe do you usually go for?`, - loadMore: 'Load more', - nuic3Title: `Where are you based? What do you do?`, - basedIn: 'Based in', - role: 'Role', - allSet: 'All set!', - loadingTip: 'We’re customizing your dashboard.', - }, - Home: { - creditsNum: 'Credits: {num}', - newProject: 'New Project', - home: 'Home', - history: 'History', - today: 'Today', - yesterday: 'Yesterday', - earlierChat: 'Earlier Chat' - }, - Input: { - placeholder: 'Please input', - selectPlaceholder: 'Please select', - typePlaceholder: 'Type', - areaPlaceholder: 'Region', - stylePlaceholder: 'Style', - types: { - sofa: 'Sofa', - desk: 'Desk', - chair: 'Chair' - }, - styles: { - Coastal: 'Coastal', - Verdant: 'Verdant', - Traditional: 'Traditional', - CenturyChrome: 'Century\nChrome', - ModernRevival: 'Modern\nRevival', - Tuscan2000s: "Tuscan\n2000's", - Bauhaus: 'Bauhaus', - Constructivism: 'Constructivism', - NordicNoir: 'Nordic\nNoir' - }, - chooseStyle: 'Choose Style', - setting: 'Setting', - settingOptions: { - creativity: 'Creativity', - diversity: 'Diversity', - relevance: 'Relevance' - }, - confirm: 'Confirm', - styleTitle: 'Settings', - createProject: 'Create Project', - trendingReport: 'Trending Report' - }, - area: { - unitedStates: 'United States', - singapore: 'Singapore', - australia: 'Australia', - southKorea: 'South Korea', - china: 'China', - italy: 'Italy', - france: 'France', - japan: 'Japan', - canada: 'Canada', - germany: 'Germany' - }, + AlphaVersion: '2026 Alpha Version', + Login: { + login: 'Log in', + register: 'Register', + signUp: 'Sign up', + loginTo: 'Log on to FiDA', + loginTitle: 'A multi-agent canvas for rapid, trend driven design iteration.', + name: 'Name', + email: 'Email', + password: 'Password', + enterName: 'Enter your name', + enterEmail: 'Enter your email', + enterPassword: 'Enter your password', + forgetPassword: 'Forget password?', + pleaseInputName: 'Please input the name', + nameLengthError: 'Name length must be between {min} and {max} characters', + pleaseInputEmail: 'Please input the email', + emailFormatError: 'Please input the email again', + pleaseInputPassword: 'Please input the password', + passwordLengthError: 'Password length must be between {min} and {max} characters', + pleaseTermsPolicy: 'Please agree to the Terms, Policy and Fees', + agreeTermsPolicy: + 'I agree to the Terms, Policy and Fees.', + noAccountToSignUp: `Don't have an account? Sign up`, + signUpFor: 'Sign up for FiDA', + registerTip: 'A multi-agent canvas for rapid, trend driven design iteration.', + havenAccountToLogin: `Already have an account? Log in`, + verifyEmail: 'Verify your email address', + verifyCodeHasSent: 'A verification code has been sent to {email}', + verify: 'Verify', + resendCode: 'Resend Code', + resendCodeIn: 'Resend Code in {time}', + orContinueWith: 'or continue with', + googleLogin: 'Sign in with Google', + wechatLogin: 'Sign in with Wechat', + indexTip: 'A multi-agent canvas for rapid, trend driven design iteration.' + }, + Nuic: { + hiName: 'Hi, {name}. This is Fiphant.', + nuic1Title: `Help him discover the "YOU" in your space.`, + nuic1Tip: `Let's set up your profile. A few quick details will help Fiphant understand
your needs and find exactly what you're looking for.`, + letsGo: 'Let’s go, Fiphant!', + skip: 'Skip', + next: 'Next', + nuic2Title: `What vibe do you usually go for?`, + loadMore: 'Load more', + nuic3Title: `Where are you based? What do you do?`, + basedIn: 'Based in', + role: 'Role', + allSet: 'All set!', + loadingTip: 'We’re customizing your dashboard.' + }, + Home: { + creditsNum: 'Credits: {num}', + newProject: 'New Project', + home: 'Home', + history: 'History', + today: 'Today', + yesterday: 'Yesterday', + earlierChat: 'Earlier Chat' + }, + Input: { + placeholder: 'Please input', + selectPlaceholder: 'Please select', + typePlaceholder: 'Type', + areaPlaceholder: 'Region', + stylePlaceholder: 'Style', + types: { + sofa: 'Sofa', + desk: 'Desk', + chair: 'Chair' + }, + styles: { + Coastal: 'Coastal', + Verdant: 'Verdant', + Traditional: 'Traditional', + CenturyChrome: 'Century\nChrome', + ModernRevival: 'Modern\nRevival', + Tuscan2000s: "Tuscan\n2000's", + Bauhaus: 'Bauhaus', + Constructivism: 'Constructivism', + NordicNoir: 'Nordic\nNoir' + }, + chooseStyle: 'Choose Style', + setting: 'Setting', + settingOptions: { + creativity: 'Creativity', + diversity: 'Diversity', + relevance: 'Relevance' + }, + confirm: 'Confirm', + styleTitle: 'Settings', + createProject: 'Create Project', + trendingReport: 'Trending Report' + }, + area: { + unitedStates: 'United States', + singapore: 'Singapore', + australia: 'Australia', + southKorea: 'South Korea', + china: 'China', + italy: 'Italy', + france: 'France', + japan: 'Japan', + canada: 'Canada', + germany: 'Germany' + }, + agent: { + copySuccess: 'Text copied to clipboard', + copyFaild: 'Copy failed. Your browser may be restricting clipboard access. Please try copying manually.' + }, - // Version Tree - VersionTree: { - versionInformation: 'Version Information', - input: 'Input', - userRequest: 'User Request', - sketch: 'Sketch', - generateResult: 'Generate Result' - } + // Version Tree + VersionTree: { + versionInformation: 'Version Information', + input: 'Input', + userRequest: 'User Request', + sketch: 'Sketch', + generateResult: 'Generate Result' + } } diff --git a/src/lang/zh-cn.ts b/src/lang/zh-cn.ts index 0bb4f0d..0fd6e70 100644 --- a/src/lang/zh-cn.ts +++ b/src/lang/zh-cn.ts @@ -1,102 +1,107 @@ export default { - AlphaVersion: '2026版本', - Login: { - login: '登录', - register: '注册', - signUp: '注册', - loginTo: '登录到 FiDA条款、政策 和费用。', - noAccountToSignUp: `还没有账号? 注册`, - signUpFor: '注册账号', - registerTip: '一个多智能体画布,用于快速、趋势驱动的设计迭代。', - havenAccountToLogin: `已经有账号? 登录`, - verifyEmail: '验证您的邮箱地址', - verifyCodeHasSent: '已发送验证码到 {email}', - verifyCode: '请输入验证码', - verify: '验证', - resendCode: '重新发送验证码', - resendCodeIn: '重新发送验证码倒计时 {time}', - orContinueWith: '或者使用', - googleLogin: '使用 Google 登录', - wechatLogin: '使用微信登录', - indexTip: '一个多智能体画布,用于快速、趋势驱动的设计迭代。', - }, - Nuic: { - hiName: '你好,{name}。这是 Fiphant。', - nuic1Title: `帮助他发现您空间中的 “YOU”。`, - nuic1Tip: `让我们设置您的个人资料。几个快速的细节将帮助 Fiphant 理解您的需求并找到您正在寻找的内容。`, - letsGo: '让我们开始,Fiphant!', - skip: '跳过', - next: '下一步', - nuic2Title: `你通常喜欢什么样的风格呢?`, - loadMore: '加载更多', - nuic3Title: `您在 哪里 工作?您从事什么 工作?`, - basedIn: '公司', - role: '角色', - allSet: '准备好了!', - loadingTip: '我们正在自定义您的仪表板。', - }, - Home: { - creditsNum: '积分: {num}', - newProject: '新建项目', - home: '首页', - history: '历史记录', - today: '今天', - yesterday: '昨天', - earlierChat: '更早的' - }, - Input: { - placeholder: '请输入', - selectPlaceholder: '请选择', - type: '类型', - area: '地区', - style: '风格', - types: { - sofa: '沙发', - desk: '书桌', - chair: '椅子' - }, - styles: { - modern: '现代', - classic: '古典' - }, - chooseStyle: '选择风格', - setting: 'Setting', - settingOptions: { - creativity: '创意度', - diversity: '多样性', - relevance: '相关度' - }, - confirm: '确认', - styleTitle: '设置', - createProject: '创建项目', - trendingReport: '趋势报告' - }, - area: { - unitedStates: '美国', - singapore: '新加坡', - australia: '澳大利亚', - southKorea: '韩国', - china: '中国', - italy: '意大利', - france: '法国', - japan: '日本', - canada: '加拿大', - germany: '德国' - } + AlphaVersion: '2026版本', + Login: { + login: '登录', + register: '注册', + signUp: '注册', + loginTo: '登录到 FiDA条款、政策 和费用。', + noAccountToSignUp: `还没有账号? 注册`, + signUpFor: '注册账号', + registerTip: '一个多智能体画布,用于快速、趋势驱动的设计迭代。', + havenAccountToLogin: `已经有账号? 登录`, + verifyEmail: '验证您的邮箱地址', + verifyCodeHasSent: '已发送验证码到 {email}', + verifyCode: '请输入验证码', + verify: '验证', + resendCode: '重新发送验证码', + resendCodeIn: '重新发送验证码倒计时 {time}', + orContinueWith: '或者使用', + googleLogin: '使用 Google 登录', + wechatLogin: '使用微信登录', + indexTip: '一个多智能体画布,用于快速、趋势驱动的设计迭代。' + }, + Nuic: { + hiName: '你好,{name}。这是 Fiphant。', + nuic1Title: `帮助他发现您空间中的 “YOU”。`, + nuic1Tip: `让我们设置您的个人资料。几个快速的细节将帮助 Fiphant 理解您的需求并找到您正在寻找的内容。`, + letsGo: '让我们开始,Fiphant!', + skip: '跳过', + next: '下一步', + nuic2Title: `你通常喜欢什么样的风格呢?`, + loadMore: '加载更多', + nuic3Title: `您在 哪里 工作?您从事什么 工作?`, + basedIn: '公司', + role: '角色', + allSet: '准备好了!', + loadingTip: '我们正在自定义您的仪表板。' + }, + Home: { + creditsNum: '积分: {num}', + newProject: '新建项目', + home: '首页', + history: '历史记录', + today: '今天', + yesterday: '昨天', + earlierChat: '更早的' + }, + Input: { + placeholder: '请输入', + selectPlaceholder: '请选择', + type: '类型', + area: '地区', + style: '风格', + types: { + sofa: '沙发', + desk: '书桌', + chair: '椅子' + }, + styles: { + modern: '现代', + classic: '古典' + }, + chooseStyle: '选择风格', + setting: 'Setting', + settingOptions: { + creativity: '创意度', + diversity: '多样性', + relevance: '相关度' + }, + confirm: '确认', + styleTitle: '设置', + createProject: '创建项目', + trendingReport: '趋势报告' + }, + area: { + unitedStates: '美国', + singapore: '新加坡', + australia: '澳大利亚', + southKorea: '韩国', + china: '中国', + italy: '意大利', + france: '法国', + japan: '日本', + canada: '加拿大', + germany: '德国' + }, + agent: { + copySuccess: '文本已复制到剪贴板', + copyFaild: + '复制失败。您的浏览器可能限制了剪贴板访问,请允许浏览器访问剪贴板或尝试手动复制。' + } } diff --git a/src/router/index.ts b/src/router/index.ts index ad37270..b76e886 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -7,69 +7,75 @@ import { createRouter, createWebHistory } from 'vue-router' * 3. 路由的name默认是文件名,如果文件名与name不一致,通过defineOptions({ name: 'componentName' })来设置 */ const router = createRouter({ - history: createWebHistory('/'), - // history: createWebHistory(import.meta.env.VITE_APP_URL), - routes: [ - { - path: '/', - redirect: '/index' - }, - { - path: '/index', - name: 'index', - component: () => import('../views/login/index.vue'), - }, - { - path: '/login', - name: 'login', - component: () => import('../views/login/login.vue'), - }, - { - path: '/register', - name: 'register', - component: () => import('../views/login/register.vue'), - }, - { - path: '/nuic', - name: 'nuic', - component: () => import('../views/nuic/index.vue'), - }, - { - path: '/home', - name: 'home', - component: () => import('../views/home/index.vue'), - children: [ - { - path: 'test/:id', - name: 'test', - component: () => import('../views/home/test.vue'), - meta: { topNavStyle: '2' } - }, - { - path: '/home/versionTree', - name: 'versionTree', - component: () => import('../views/home/versionTree.vue'), - meta: { topNavStyle: '2' } - }, - { - path: 'mainInput', - name: 'mainInput', - component: () => import('../views/home/mainInput.vue') - }, - { - path: 'canvas', - name: 'canvas', - component: () => import('../views/canvas/index.vue'), - meta: { topNavStyle: '2' } - }, - ] - }, - { - path: '/:pathMatch(.*)', - name: '404', - component: () => import('../views/404.vue'), - } - ] + history: createWebHistory('/'), + // history: createWebHistory(import.meta.env.VITE_APP_URL), + routes: [ + { + path: '/', + redirect: '/index' + }, + { + path: '/index', + name: 'index', + component: () => import('../views/login/index.vue') + }, + { + path: '/login', + name: 'login', + component: () => import('../views/login/login.vue') + }, + { + path: '/register', + name: 'register', + component: () => import('../views/login/register.vue') + }, + { + path: '/nuic', + name: 'nuic', + component: () => import('../views/nuic/index.vue') + }, + { + path: '/home', + name: 'home', + component: () => import('../views/home/index.vue'), + children: [ + { + path: 'test/:id', + name: 'test', + component: () => import('../views/home/test.vue'), + meta: { topNavStyle: '2' } + }, + { + path: '/home/versionTree', + name: 'versionTree', + component: () => import('../views/home/versionTree.vue'), + meta: { topNavStyle: '2' } + }, + { + path: 'mainInput', + name: 'mainInput', + component: () => import('../views/home/mainInput.vue') + }, + { + path: 'canvas', + name: 'canvas', + component: () => import('../views/canvas/index.vue'), + meta: { topNavStyle: '2' } + }, + { + path: 'agent', + name: 'agent', + component: () => import('../views/home/agent/index.vue') + } + ] + }, + + { + path: '/:pathMatch(.*)', + name: '404', + component: () => import('../views/404.vue') + } + ] }) export default router diff --git a/src/views/home/agent/components/Agent.vue b/src/views/home/agent/components/Agent.vue new file mode 100644 index 0000000..d71e631 --- /dev/null +++ b/src/views/home/agent/components/Agent.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/src/views/home/agent/components/Item.vue b/src/views/home/agent/components/Item.vue new file mode 100644 index 0000000..6a08846 --- /dev/null +++ b/src/views/home/agent/components/Item.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/src/views/home/agent/components/List.vue b/src/views/home/agent/components/List.vue new file mode 100644 index 0000000..50bbddd --- /dev/null +++ b/src/views/home/agent/components/List.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/views/home/agent/index.vue b/src/views/home/agent/index.vue new file mode 100644 index 0000000..f92a8b9 --- /dev/null +++ b/src/views/home/agent/index.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/views/home/components/Input.vue b/src/views/home/components/Input.vue index 5f7ee4e..4d37ea8 100644 --- a/src/views/home/components/Input.vue +++ b/src/views/home/components/Input.vue @@ -1,748 +1,798 @@ diff --git a/src/views/home/versionTree/index.vue b/src/views/home/versionTree/index.vue index fcd7dfc..b8d4f7c 100644 --- a/src/views/home/versionTree/index.vue +++ b/src/views/home/versionTree/index.vue @@ -1,47 +1,44 @@ \ No newline at end of file + .expandBtnBox { + } + .versionTreeBox { + flex: 1; + display: flex; + overflow: hidden; + > .tree { + flex: 1; + height: 100%; + overflow: hidden; + padding: 2.1rem 0 5.4rem 2.2rem; + } + > .detail { + width: 35rem; + margin: 2.1rem 3rem 5.4rem 3.4rem; + height: calc(100% - 2.1rem - 5.4rem); + overflow: hidden; + } + } +} +