【失败】截图一个软件的界面,让豆包帮我写一个这样的软件界面出来

21 阅读3分钟

原文:www.oddmeta.net/archives/10…

看到一个开源项目的界面挺漂亮的,想扒拉过来,学习一下。 做人至少要稍微厚道一点点,都已经要模仿他的界面了,那至少先给他推个广告吧 官网:realchar.ai/ 项目:github.com/Shaunwei/Re…

想要模仿的界面

我们先来看看他的界面: 首页是这样的 然后如果点了Chat with me进去后,整个界面是这样的

整个界面看上去给人一种非常清爽的感觉。喜欢,我也想要。 可写界面代码这件事情我完全不会,那就交给LLM来帮我做。 因为看到豆包的界面上有一个AI编程的功能,今天就用豆包来试试看。在豆包网页的“AI编程”里点进去,然后:

豆包AI编程 - 输入github仓库

输入Github仓库:

github.com/Shaunwei/Re…

版本1:基础界面

输入:

想把这个项目里的前端代码用html+javascript来实现一下

豆包:

要将 Next.js 项目中的前端代码转换为纯 HTML + JavaScript 实现,需要对现有代码进行一些调整。以下是一个大致的步骤和示例代码,这里以 RealChar/client/next-web/src/app/page.js 为例进行转换: 步骤 创建 HTML 文件:创建一个 index.html 文件,将 Next.js 组件转换为 HTML 结构。 提取 JavaScript 逻辑:将 Next.js 中的 JavaScript 逻辑提取出来,放入一个单独的 JavaScript 文件中。 处理数据获取:Next.js 中的数据获取需要转换为纯 JavaScript 的异步请求。 示例代码 index.html

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Real-time communication with your AI character</title>
  <link rel="stylesheet" href="styles.css"> <!-- 假设我们将样式放入 styles.css 文件中 -->
</head>

<body>
  <header id="header"></header>
  <div class="py-6 md:py-10 px-4 md:px-6 lg:px-14 container mx-auto">
    <h1 class="text-center font-light text-3xl">
      Real-time communication with your AI character
    </h1>
    <div id="tabs"></div>
  </div>
  <footer id="footer"></footer>

  <script src="script.js"></script>
</body>

</html>

script.js

// 模拟 getCharacters 函数
async function getCharacters() {
  // 这里需要替换为实际的 API 请求
  const response = await fetch('https://api.example.com/characters');
  const data = await response.json();
  return data;
}

// 模拟 Header 组件
function createHeader() {
  const header = document.createElement('div');
  header.innerHTML = '<h2>Header</h2>'; // 这里需要替换为实际的 Header 内容
  return header;
}

// 模拟 Footer 组件
function createFooter() {
  const footer = document.createElement('div');
  footer.innerHTML = '<h2>Footer</h2>'; // 这里需要替换为实际的 Footer 内容
  return footer;
}

// 模拟 Tabs 组件
function createTabs(characters) {
  const tabs = document.createElement('div');
  characters.forEach(character => {
    const tab = document.createElement('div');
    tab.textContent = character.name; // 假设 characters 数组中的每个对象都有 name 属性
    tabs.appendChild(tab);
  });
  return tabs;
}

async function init() {
  const characters = await getCharacters();

  const headerElement = createHeader();
  const footerElement = createFooter();
  const tabsElement = createTabs(characters);

  document.getElementById('header').appendChild(headerElement);
  document.getElementById('tabs').appendChild(tabsElement);
  document.getElementById('footer').appendChild(footerElement);
}

init();

styles.css

/* 这里需要将 Tailwind CSS 样式转换为普通 CSS 样式 */
.py-6 {
  padding-top1.5rem;
  padding-bottom1.5rem;
}

.md:py-10 {
  padding-top2.5rem;
  padding-bottom2.5rem;
}

.px-4 {
  padding-left1rem;
  padding-right1rem;
}

.md:px-6 {
  padding-left1.5rem;
  padding-right1.5rem;
}

.lg:px-14 {
  padding-left3.5rem;
  padding-right3.5rem;
}

.container {
  width100%;
  margin-left: auto;
  margin-right: auto;
}

.text-center {
  text-align: center;
}

.font-light {
  font-weight300;
}

.text-3xl {
  font-size1.875rem;
}
  • 注意事项

    • 数据获取:在 script.js 中,getCharacters 函数需要替换为实际的 API 请求。
    • 样式:Tailwind CSS 样式需要转换为普通 CSS 样式。
    • 组件化:Next.js 中的组件需要手动转换为 HTML 结构和 JavaScript 函数。 这只是一个简单的示例,实际转换过程中可能需要根据项目的具体情况进行调整。

版本2:完善框架代码

豆包给出的这个代码只是一个框架,没有我想要的整个界面的代码,继续让它生成。 输入

请将 createHeader(); createFooter(); createTabs(characters); 界面的代码照着这个项目的代码具体实现一下

豆包

...... 给出了一堆垃圾代码,全是typescript,不是我想要的html+javascript ......

版本3:确保输出的代码是html+javascript

输入

我需要的是html+javascript的实现

豆包

...... 虽然给出的代码变成了javascript,但是依旧是一堆垃圾代码 ......

结语

三个字:放弃治疗,换个别的试试。

本文使用 markdown.com.cn 排版