DeepSeek辅助写一个Vue3页面

今天尝试用给DeepSeek提问,让它写一个前端,效果不错,虽然有一些小问题,但确实能节省不少工作。

问题提出

我是这样给它提问的:

Vue3 写一个左侧带三个菜单的页面,主色调使用类似知乎的蓝色。

AI回答

响应速度相当快:

下面是一个基于 Vue3 + Element Plus 的左侧三菜单页面实现,主色调采用知乎蓝色(RGB: #0084FF),代码可直接复制使用:

<template>
  <el-container class="main-container">
    <!-- 左侧菜单栏 -->
    <el-aside width="200px" class="sidebar">
      <el-menu
        default-active="1"
        class="el-menu-vertical"
        :background-color="zhihuBlue"
        text-color="#fff"
        active-text-color="#ffd04b"
      >
        <!-- 三个菜单项 -->
        <el-menu-item index="1">
          <el-icon><HomeFilled /></el-icon>
          <span>首页</span>
        </el-menu-item>
        <el-menu-item index="2">
          <el-icon><Compass /></el-icon>
          <span>发现</span>
        </el-menu-item>
        <el-menu-item index="3">
          <el-icon><User /></el-icon>
          <span>个人中心</span>
        </el-menu-item>
      </el-menu>
    </el-aside>

    <!-- 右侧内容区 -->
    <el-container>
      <el-header class="header" :style="{ backgroundColor: zhihuBlue }">
        <span class="title">知乎风格管理系统</span>
      </el-header>
      
      <el-main class="content">
        <div v-if="activeIndex === '1'" class="page-content">
          <h2>首页概览</h2>
          <p>欢迎使用知乎风格管理系统,这里展示系统概览信息...</p>
        </div>
        <div v-else-if="activeIndex === '2'" class="page-content">
          <h2>内容发现</h2>
          <p>探索最新内容和推荐资源...</p>
        </div>
        <div v-else class="page-content">
          <h2>个人中心</h2>
          <p>管理您的个人资料和账户设置...</p>
        </div>
      </el-main>
    </el-container>
  </el-container>
</template>

<script setup>
import { ref } from 'vue';
import { 
  HomeFilled, 
  Compass, 
  User 
} from '@element-plus/icons-vue';

// 知乎蓝色定义(RGB: 0,132,255)
const zhihuBlue = ref('#0084FF');
const activeIndex = ref('1'); // 默认激活首页
</script>

<style scoped>
.main-container {
  height: 100vh;
}

.sidebar {
  background-color: #001529; /* 深蓝底色 */
}

.el-menu-vertical {
  height: 100%;
  border-right: none;
}

.header {
  display: flex;
  align-items: center;
  color: white;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.title {
  font-size: 18px;
  font-weight: 600;
}

.content {
  padding: 20px;
  background-color: #f6f9fb; /* 浅灰蓝背景 */
}

.page-content {
  background: white;
  padding: 24px;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

/* 菜单项悬停效果 */
.el-menu-item:hover {
  background-color: rgba(0, 132, 255, 0.15) !important;
}

/* 激活菜单项样式 */
.el-menu-item.is-active {
  background-color: rgba(0, 132, 255, 0.25) !important;
}
</style>

核心功能说明:

  1. 知乎蓝色主题

    • 主色调使用知乎蓝 #0084FF(RGB: 0,132,255
    • 左侧菜单栏采用深蓝底色 #001529 增强层次感
  2. 三个菜单项

    • 首页(带🏠图标)
    • 发现(带🧭图标)
    • 个人中心(带👤图标)
    • 点击菜单右侧显示对应内容
  3. 视觉设计特点

    • 激活菜单项使用半透明蓝底色 rgba(0,132,255,0.25)
    • 悬停效果使用浅蓝过渡 rgba(0,132,255,0.15)
    • 内容区采用浅灰蓝背景 #f6f9fb 降低视觉疲劳
    • 白色内容卡片+微阴影提升层次感
  4. 布局结构

    • 经典左右布局(左侧固定200px菜单)
    • 顶部标题栏与菜单同色系保持视觉统一
    • 响应式设计(高度100vh适应屏幕)

使用说明:

  1. 需要安装 Element Plus:
    npm install element-plus @element-plus/icons-vue
    
  2. main.js 中引入:
    import ElementPlus from 'element-plus'
    import 'element-plus/dist/index.css'
    
    app.use(ElementPlus)
    

知乎蓝的色彩心理学:蓝色象征智慧与冷静,RGB(0,132,255) 中蓝色占比100%且不含红色干扰,符合知乎知识型平台定位。这种配色能提升用户专注度,适合管理系统使用。

需要补充的地方

Vue3项目创建

AI默认省略了这个过程,可执行如下代码实现:

npm create vue@latest

代码错误

main.js文件的写法还是不完整的,或者说,本身就不对,修正后如下:

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import { createApp } from 'vue'
import App from './App.vue'

const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')

一些小BUG

比如说,AI列出了三个菜单,也给出了菜单的一些基础切换,但并不能实现切换功能,因为点击事件并没有响应,故:修改App.vue中对应的菜单点击代码:

    <!-- 左侧菜单栏 -->
    <el-aside width="200px" class="sidebar">
      <el-menu
        default-active="1"
        class="el-menu-vertical"
        :background-color="zhihuBlue"
        text-color="#fff"
        active-text-color="#ffd04b"
      >
        <!-- 三个菜单项 -->
        <el-menu-item index="1" @click="activeIndex = '1'">
          <el-icon><HomeFilled /></el-icon>
          <span>首页</span>
        </el-menu-item>
        <el-menu-item index="2" @click="activeIndex = '2'">
          <el-icon><Compass /></el-icon>
          <span>发现</span>
        </el-menu-item>
        <el-menu-item index="3" @click="activeIndex = '3'">
          <el-icon><User /></el-icon>
          <span>个人中心</span>
        </el-menu-item>
      </el-menu>
    </el-aside>

运行效果

运行以下命令,可以编译生成,并执行开发版本。

npm install
npm run dev

第一个菜单第二个菜单
第三个菜单

总结

使用AI,为我们开发代码提供了很大的方便,特别是我这种没啥美感的直男,有AI的帮助,可以写出一些不错的前端页面,当然在使用的过程中也是有各种纰缪,需要在实践的过程中注意避坑,感谢这个美好的时代,让很多东西变得更加便利。

### 部署 DeepSeek 包含前端页面的完整方法 为了实现完整的 DeepSeek 部署,包括前端界面,可以遵循以下指导: #### 准备工作环境 确保已经安装并配置好所需的运行环境。这通常涉及 Docker 或者其他容器化技术的支持。 #### 下载模型 通过命令行工具执行特定指令来获取所需的大规模预训练模型 `deepseek-r1` 版本[^1]: ```bash ollama run deepseek-r1:7b ``` 此操作会触发自动化的下载流程,并完成模型文件到本地系统的转移过程[^3]。 #### 构建前端展示层 对于构建用户交互式的前端部分,则推荐采用成熟的框架如 React.js, Vue.js 等来进行开发;也可以利用现成的聊天框组件库简化这一环节的工作量[^2]。具体来说就是创建一个简单的 Web 应用来作为与后端服务通信的人机接口。 #### 启动应用程序 当所有准备工作完成后,即可以通过启动脚本来激活整个项目,使得前后端能够协同运作起来提供在线问答等功能支持。如果使用的是基于 Node.js 的 Express 服务器为例的话,那么可能需要编如下形式的小型 HTTP API 来处理来自客户端请求并将它们转发给底层的语言理解引擎进行解析回应: ```javascript const express = require(&#39;express&#39;); const app = express(); app.use(express.json()); // 假设这里已经有了连接至 Ollama 平台的方式 async function queryOllama(prompt) { const response = await fetch(`http://localhost:8000/api`,{ method:&#39;POST&#39;, body: JSON.stringify({prompt}) }); let data = await response.json(); return data.choices[0].text; } app.post(&#39;/ask&#39;, async (req,res)=>{ try{ let answer = await queryOllama(req.body.question); res.send(answer); }catch(e){ console.error(e.message); res.status(500).send("Error occurred"); } }); app.listen(3000,()=>console.log(&#39;Server started&#39;)); ``` 上述代码片段展示了如何设置一个简易的服务端点 `/ask` ,它接收 POST 请求中的问题字符串参数并通过调用内部定义好的辅助函数去询问远端托管着 DeepSeek 实例的位置从而获得解答再返回给发起查询的一方。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Humbunklung

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值