自己部署 DeepSeek 助力 Vue 开发:打造丝滑的时间线(Timeline )

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕

共同探索软件研发!敬请关注【宝码香车】
关注描述

csdngif标识

目录

  • 自己部署 DeepSeek 助力 Vue 开发:打造丝滑的时间线(Timeline )
    • 📚前言
    • 📚进入安装好的DeepSeek
    • 📚页面效果
    • 📚指令输入
    • 📚think
      • 📘代码解释
      • 📘使用示例
      • 📘组件代码
    • 📚代码测试
    • 📚整理后主要代码
      • 📘定义组件 Timeline.vue
    • 📚页面效果
    • 📚自己部署 DeepSeek 安装地址
    • 📚相关文章


📚📗📕📘📖🕮💡📝🗂️✍️🛠️💻🚀🎉🏗️🌐🖼️🔗📊👉🔖⚠️🌟🔐⬇️·正文开始⬇️·🎥😊🎓📩😺🌈🤝🤖📜📋🔍✅🧰❓📄📢📈 🙋0️⃣1️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣🔟🆗*️⃣#️⃣

自己部署 DeepSeek 助力 Vue 开发:打造丝滑的时间线(Timeline )

📚前言

DeepSeek,即杭州深度求索人工智能基础技术研究有限公司,成立于 2023 年 7 月 17 日 ,由知名量化资管巨头幻方量化创立。其诞生背景与当前人工智能的发展趋势紧密相关,在大语言模型成为 AI 领域焦点,众多企业和研究机构纷纷投入研发的大环境下,幻方量化凭借自身在量化投资领域积累的技术实力和对 AI 的深刻理解,决定进军通用人工智能领域,DeepSeek 应运而生。

幻方量化在量化投资领域已经取得了显著成就,其团队在数学模型、算法优化以及数据处理等方面具备深厚的技术功底。在量化投资过程中,幻方量化积累了大量的数据处理和分析经验,同时也对人工智能技术在金融领域的应用有了深入的理解和实践。这些经验和技术储备为 DeepSeek 的成立和发展奠定了坚实的基础。例如,幻方量化自主研发的 “萤火一号” 集群,打造出了超大规模算力底座,为 DeepSeek 后续的模型训练提供了强大的算力支持。

📚进入安装好的DeepSeek

0基础3步部署自己的DeepSeek安装步骤

打开搭建好的DeepSeek应用。

DeepSeek应用

进入应用。

进入DeepSeek应用

📚页面效果

页面效果

📚指令输入

已经创建好了一个基于Vue3的组合式API的项目,并能正常运行起来,请帮我用 Vue3的组合式API 生成一个 时间线(Timeline )的功能组件,所有代码都保存在components/Timeline 下的文件夹中。时间线(Timeline)的功能组件的script标签中有setup属性,使用普通 JavaScript 实现,不使用TypeScript。可以垂直或水平展示。
功能要有direction(指定节点水平方向排序或垂直方向排序,默认为垂直方向,类型是 string ,可选值[vertical / horizontal],默认值 vertical[垂直方向] )reverse(指定节点排序方向,默认为正序,类型是boolean,默认值 false )timestamp(时间戳,类型 string)type(节点类型,类型 string,可选值[primary / success / warning / danger / info])color(节点颜色, 类型 string,可选值的类型为[hsl / hsv / hex / rgb])size(节点尺寸, 类型 string,可选值为[normal / large,默认 normal])icon(节点图标, 类型 string)dot(自定义节点)。
下面是现有目录
vueAndDeepseek/
├── src/ # 源代码目录
│ ├── assets/ # 静态资源
│ │ ├── base.css
│ │ ├── main.css
│ │ └── logo.svg
│ ├── components/ # 组件目录
│ │ ├── HelloWorld.vue
│ │ ├── TheWelcome.vue
│ │ ├── WelcomeItem.vue
│ │ ├── Progress/
│ │ │ └── Progress.vue
│ │ ├── Accordion/
│ │ ├── Timeline/
│ │ ├── Tabs/
│ │ └── icons/
│ ├── router/ # 路由配置
│ │ └── index.js
│ ├── stores/ # Pinia 状态管理
│ │ └── counter.js
│ ├── views/ # 页面组件
│ │ ├── ProgressView.vue
│ │ ├── TabsView.vue
│ │ ├── TimelineView.vue
│ │ ├── AccordionView.vue
│ │ └── AboutView.vue
│ ├── App.vue # 根组件
│ └── main.js # 应用入口
├── public/ # 公共资源目录
├── index.html # HTML 模板
├── package.json # 项目配置
├── vite.config.js # Vite 配置
└── node_modules/ # 依赖包目录

📚think

好,我现在需要帮用户创建一个基于Vue3的组合式API项目,生成一个时间线(Timeline)的功能组件,保存在components/Timeline文件夹中。用户已经提供了项目的结构,所以我要先理解项目的架构,然后按照要求实现Timeline组件。

首先,用户希望使用组合式API,这意味着我应该利用Vue3的Composition API,使用setup属性来编写逻辑,而不是用Options API。此外,用户强调使用普通JavaScript,不使用TypeScript,所以我要避免任何类型注释和高级JS特性。

接下来,我需要分析时间线组件的功能需求。时间线需要有方向(direction)设置,默认为垂直,支持horizontal。reverse属性控制排序方向,默认为false。timestamp用于自定义时间戳,type决定节点类型,有五种选择:primary、success、warning、danger、info。color属性有四种颜色模式:hsl、hsv、hex、rgb,以及对应的颜色值。size有normal和large两种,默认normal。icon属性允许添加图标,并且还支持dot来定义自定义节点。

我需要确保组件能够垂直或水平展示,所以在布局上要考虑使用Flexbox或者Grid。此外,节点之间的连接线也很重要,可以通过绝对定位或相对定位实现。

接下来,我会规划组件的结构。从script部分开始,使用setup函数初始化所有属性和方法。其中,direction、reverse、timestamp都是从props中获取的,需要用ref来处理初始值问题。type、color、size可以通过watcher来观察变化并触发重新渲染。icon和dot也是通过watcher处理。

然后,我会构建节点数据结构,每个节点包含id、type、time、content、color、icon等信息,并根据direction判断排列方式。比如,垂直方向上按照time排序,horizontal则按时间逆序。

接下来是模板部分,使用v-for遍历节点,生成相应的HTML元素。每个节点包括一个背景框、内容和中间线。我需要确保线连接正确,无论是垂直还是水平布局。

对于颜色处理,用户提到支持hsl、hsv、hex、rgb等模式,所以我可能需要根据type来设置fillStyle。但由于用户没有提供具体的实现细节,我可以先用固定的color值,并提供一个简单的映射方式。

同时,我需要确保组件的外观美观,添加一些 CSS类,比如timeline-item、line、dot等。这些样式应该放在组件的style标签中,以保持代码的组织。

最后,用户可能希望将这个组件作为可复制粘贴到项目中的components/Timeline文件夹中,所以我需要确保代码结构正确,包括script和模板部分。

综上所述,我会按照这些步骤编写Timeline组件,确保所有功能符合用户的需求,并且代码清晰、易于理解。

以下是一个基于 Vue 3 的组合式 API 实现时间线(Timeline)功能组件的代码示例,保存在 components/Timeline 文件夹中:

<script setup lang="js">
import { ref, watch } from 'vue';// 组件属性定义
const props = defineProps({direction: {type: String,default: 'vertical',required: true,},reverse: {type: Boolean,default: false,},timestamp: {type: String,required: true,},type: {type: String,validate: (value) => ['primary', 'success', 'warning', 'danger', 'info'],},color: {type: String,validate: (value) => ['hsl', 'hsv', 'hex', 'rgb'],},size: {type: String,default: 'normal',validate: (value) => ['normal', 'large'],},icon: {type: String,},dot: {type: Function,default: () => {},},// 组件方法定义
const timelineItems = ref([{ id: 1, time: '2023-01-01', content: '项目开始' },{ id: 2, time: '2023-02-15', content: '开发进展' },{ id: 3, time: '2023-03-20', content: '测试完成' },{ id: 4, time: '2023-04-10', content: '上线发布' },
]);// 处理颜色变化
watch(type, () => {// 根据type设置颜色,示例实现
});// 处理大小变化
watch(size, () => {// 根据size调整节点大小,示例实现
});// 处理图标和点的自定义
watch(icon, () => {// 根据icon设置图标,示例实现
});// 处理时间戳
const timeValue = ref(() => new Date(timestamp).getTime());// 处理节点排序
const sortedItems = computed(() => {return [...timelineItems.value].sort((a, b) => {if (reverse.value) {return b.time - a.time;} else {return a.time - b.time;}});
});return {timelineItems: sortedItems,
};
</script><template><div class="timeline-container"><!-- 节点 --><template v-for="(item, index) in timelineItems" :key="index"><divclass="timeline-item":class="type === 'primary' ? 'primary-type' : ''"><div class="timeline-dot" v-if="dot()" /><div class="timeline-content"><div class="timestamp">{{ item.time }}</div><div class="content">{{ item.content }}</div></div><!-- 连接线 --><div v-if="index !== timelineItems.length - 1" class="timeline-line" /></div></template></div>
</template><style scoped>
.timeline-container {display: flex;flex-direction: column;gap: 2rem;
}.timeline-item {position: relative;width: 100%;padding: 1rem;background-color: #f5f5f5;border-radius: 8px;box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}.timeline-dot {position: absolute;left: -7px;top: 50%;transform: translateY(-50%);width: 12px;height: 12px;background-color: #4CAF50;border-radius: 50%;
}.timestamp {font-size: 0.8rem;color: #666;
}.content {margin-top: 0.5rem;
}.timeline-line {position: absolute;right: -7px;top: 0;bottom: 0;width: 2px;background-color: #4CAF50;
}.primary-type {background-color: #e0e0e0;
}
</style>

📘代码解释

  1. 组件属性定义:使用 defineProps 定义了组件的属性,包括 directionreversetimestamp 等。

  2. 数据处理

    • 使用 refcomputed 处理节点列表和排序。
    • watch 用于监听属性变化,例如颜色、大小、图标等。
  3. 组件模板:通过 <template> 渲染时间线节点和连接线。使用了条件类和动态绑定来处理不同状态。

  4. 样式定义:在 <style> 中定义了自定义 CSS 类,确保时间线的外观美观。

📘使用示例

<Timeline:direction="direction":reverse="reverse":timestamp="timestamp":type="type":color="color":size="size":icon="icon":dot="dot" />

将该组件在你的 Vue 项目中使用,并根据需要传递属性进行自定义。

📘组件代码

📚代码测试

一点语法错误,功能上面也要,整理一下

📚整理后主要代码

📘定义组件 Timeline.vue

<script setup>
import { ref, computed } from 'vue'const props = defineProps({direction: {type: String,default: 'vertical',validator: (value) => ['vertical', 'horizontal'].includes(value)},reverse: {type: Boolean,default: false},timestamp: {type: String,required: true},type: {type: String,default: 'primary',validator: (value) => ['primary', 'success', 'warning', 'danger', 'info'].includes(value)},color: {type: String,validator: (value) => /^(#|rgb|hsl|hsv)/.test(value)},size: {type: String,default: 'normal',validator: (value) => ['normal', 'large'].includes(value)},icon: {type: String,default: ''}
})const timelineItems = ref([{ id: 1, timestamp: '2024-01-01', content: '项目启动', type: 'primary' },{ id: 2, timestamp: '2024-02-15', content: '开发阶段', type: 'warning' },{ id: 3, timestamp: '2024-03-20', content: '测试完成', type: 'success' },{ id: 4, timestamp: '2024-04-10', content: '正式发布', type: 'info' }
])const nodeStyle = computed(() => {const style = {}if (props.color) {style.backgroundColor = props.color}if (props.size === 'large') {style.width = '16px'style.height = '16px'}return style
})const containerClass = computed(() => ({'timeline-container': true,'is-horizontal': props.direction === 'horizontal','is-reverse': props.reverse
}))
</script><template><div :class="containerClass"><div v-for="(item, index) in timelineItems":key="item.id"class="timeline-item"><div class="timeline-node":class="[`is-${type}`, size]":style="nodeStyle"><i v-if="icon" :class="icon"></i><slot name="dot" v-else></slot></div><div class="timeline-line":class="{'is-first': index === 0,'is-last': index === timelineItems.length - 1,'is-horizontal': props.direction === 'horizontal'}"></div><div class="timeline-content"><div class="timeline-timestamp">{{ timestamp }}</div><div class="timeline-content-inner"><slot>{{ item.content }}</slot></div></div></div></div>
</template><style scoped>
.timeline-container {position: relative;padding: 20px 0;
}.timeline-item {position: relative;display: flex;margin-bottom: 20px;
}.timeline-line {position: absolute;background-color: #E4E7ED;z-index: 1;
}.timeline-line:not(.is-horizontal) {left: 5px;top: -10px;width: 2px;height: calc(100% + 20px);
}.large+.timeline-line:not(.is-horizontal) {left: 7px;
}.timeline-line.is-horizontal {left: 0;top: 5px;width:100%;height: 2px;
}.timeline-line.is-first:not(.is-horizontal) {top: 0;
}.timeline-line.is-horizontal.is-first {left: 0;
}.timeline-line.is-last:not(.is-horizontal) {height: calc(50% - 10px);transform: translateY(-50%);
}.timeline-line.is-horizontal.is-last {width: 50%;transform: translateX(-100%);
}.timeline-node {position: relative;z-index: 2;width: 12px;height: 12px;border-radius: 50%;background-color: #409EFF;flex-shrink: 0;margin-right: 16px;
}.timeline-node.large {width: 16px;height: 16px;
}.timeline-node.is-primary { background-color: #409EFF; }
.timeline-node.is-success { background-color: #67C23A; }
.timeline-node.is-warning { background-color: #E6A23C; }
.timeline-node.is-danger { background-color: #F56C6C; }
.timeline-node.is-info { background-color: #909399; }.timeline-content {flex: 1;padding: 0 16px;
}.timeline-timestamp {font-size: 13px;color: #909399;margin-bottom: 8px;
}.timeline-content-inner {background-color: #F5F7FA;padding: 12px;border-radius: 4px;
}.is-horizontal {display: flex;
}.is-horizontal .timeline-item {flex-direction: column;flex: 1;padding-right: 20px;margin-bottom: 0;
}.is-reverse {flex-direction: row-reverse;
}.is-reverse .timeline-item {flex-direction: column-reverse;
}
</style>

📚页面效果

页面效果

📚自己部署 DeepSeek 安装地址

蓝耘元生代智算云平台地址:https://cloud.lanyun.net/#/registerPage?promoterCode=07100c37a0

📚相关文章

 

———— 相 关 文 章 ————

 

  1. 0基础3步部署自己的DeepSeek安装步骤

  2. DeepSeek 助力 Vue 开发:打造丝滑的步骤条

  3. DeepSeek 助力 Vue 开发:打造丝滑的进度条

  4. 自己部署 DeepSeek 助力 Vue 开发:打造丝滑的标签页(Tabs)

  5. 自己部署 DeepSeek 助力 Vue 开发:打造丝滑的折叠面板(Accordion)

到此这篇文章就介绍到这了,更多精彩内容请关注本人以前的文章或继续浏览下面的文章,创作不易,如果能帮助到大家,希望大家多多支持宝码香车~💕,若转载本文,一定注明本文链接。


整理不易,点赞关注宝码香车

更多专栏订阅推荐:
👍 html+css+js 绚丽效果
💕 vue
✈️ Electron
⭐️ js
📝 字符串
✍️ 时间对象(Date())操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/18225.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java SpringBoot以及vue前后端分离的旅游景区网站系统设计与实现

基于Java SpringBoot以及vue前后端分离的旅游景区网站系统设计与实现 本项目是一款基于Spring Boot和Vue.js开发的旅游景区管理系统&#xff0c;前端合后端的架构&#xff0c;支持用户在线浏览景区信息、预订门票&#xff0c;并提供完善的后台管理功能&#xff0c;包括订单管理…

HTML的入门

一、HTML HTML&#xff08;HyperText Markup Language&#xff0c;超文本标记语言&#xff09;是一种用来告知浏览器如何组织页面的标记语言。 超文本&#xff1a;就是超越了文本&#xff1b;HTML不仅仅可以用来显示文本(字符串、数字之类)&#xff0c;还可以显示视频、音频等…

【原创】springboot+vue考试考场座位安排管理系统设计与实现

个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交给天意。 研究背景&#xff1a; 随…

zyNo.23

SQL注入漏洞 1.SQL语句基础知识 一个数据库由多个表空间组成&#xff0c;sql注入关系到关系型数据库&#xff0c;常见的关系型数据库有MySQL,Postgres,SQLServer,Oracle等 以Mysql为例&#xff0c;输入 mysql-u用户名-p密码 即可登录到MySQL交互式命令行界面。 既然是…

Okay, But Please Don’t Stop Talking

Okay, But Please Don’t Stop Talking 研发背景 现有问题&#xff1a;像ChatGPT的高级语音模式这类先进的语音对语音系统&#xff0c;容易被“我明白”“嗯哼”等在人类对话中常见的插入语打断。这表明现有语音交互系统在处理自然对话中的语音重叠情况时存在不足。 新的尝试&…

Jenkins | Jenkins安装

Jenkins安装 一、前置准备二、启动三、登录 一、前置准备 下载安装包 war包 下载地址: https://www.jenkins.io/ 安装jdk 要求jdk11版本以上 集成maven项目的话 需要有maven 与 git 二、启动 启动命令 需要注意使用jdk11以上的版本 /usr/java/jdk17/bin/java -Xms2048m -X…

Unity UI 道路线跟随:让图标沿道路轨迹移动

在 Unity UI 开发中&#xff0c;有时需要让图标沿着一条道路轨迹移动&#xff0c;比如地图上的车辆行驶动画、导航路径指示等。本文介绍如何基于 UI 图片中的道路线生成曲线&#xff0c;并使用 Slider 控制图标沿轨迹运动&#xff0c;适用于 UI 导航、路径跟随动画等场景。 1. …

「软件设计模式」建造者模式(Builder)

深入解析建造者模式&#xff1a;用C打造灵活对象构建流水线 引言&#xff1a;当对象构建遇上排列组合 在开发复杂业务系统时&#xff0c;你是否经常面对这样的类&#xff1a;它有20个成员变量&#xff0c;其中5个是必填项&#xff0c;15个是可选项。当用户需要创建豪华套餐A&…

有哪些免费的SEO软件优化工具

随着2025年互联网的不断发展&#xff0c;越来越多的企业意识到在数字营销中&#xff0c;网站的曝光度和排名至关重要。无论是想要提高品牌知名度&#xff0c;还是想要通过在线销售增加收益&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;都是一项不可忽视的关键策略。而要…

DeepSeek从入门到精通:提示词设计的系统化指南

目录 引言&#xff1a;AIGC时代的核心竞争力 第一部分 基础篇&#xff1a;提示词的本质与核心结构 1.1 什么是提示词&#xff1f; 1.2 提示词的黄金三角结构 第二部分 类型篇&#xff1a;提示词的六大范式 2.1 提示语的本质特征 2.2 提示语的类型 2.2.1 指令型提示词 …

单智能体到多智能体智能体任务规划有什么变化

单智能体到多智能体智能体任务规划有什么变化 核心原理 单智能体任务规划:大模型利用其强大的自然语言理解和生成能力,结合多模态信息,将自然语言描述的任务分解为可执行子任务,并能根据环境反馈调整执行策略。在规划过程中,可通过不同方式生成或优化任务计划,如端到端规…

算法之 跳跃游戏

文章目录 55.跳跃游戏思路参考&#xff1a;56.合并区间 55.跳跃游戏 55.跳跃游戏 灵神思路 思路分析&#xff1a; 两种思路&#xff0c;思路1是我们可以直接维护当前到达i的时候所能到达的最右的边界mr&#xff0c;如果i>mr就说明无法到达i,否则就是可以到达&#xff1b;…

Ubuntu22.04通过Docker部署Jeecgboot

程序发布环境包括docker、mysql、redis、maven、nodejs、npm等。 一、安装docker 1、用如下命令卸载旧Docker: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done 2、安装APT环境依赖包…

STM32 ADC介绍(硬件原理篇)

目录 背景 AD转换器 采样与保持 量化 编码 AD转换器转换原理 DA转换原理 AD转换原理 1.逐次逼近型AD转换器 2.并联比较型AD转换器 编码器 同步D触发器和边沿D触发器 基本RS触发器 同步RS触发器 同步D触发器 边沿型D触发器&#xff08;维持-阻塞D触发器&#xff…

DeepSeek4j 已开源,支持思维链,自定义参数,Spring Boot Starter 轻松集成,快速入门!建议收藏

DeepSeek4j Spring Boot Starter 快速入门 简介 DeepSeek4j 是一个专为 Spring Boot 设计的 AI 能力集成启动器&#xff0c;可快速接入 DeepSeek 大模型服务。通过简洁的配置和易用的 API&#xff0c;开发者可轻松实现对话交互功能。 环境要求 JDK 8Spring Boot 2.7Maven/Gr…

编程技巧:VUE 实现接口返回数据的流式处理

一、写在前面 ChatGPT 的问答响应界面相信大家都见过&#xff0c;内容是一点一点追加式的显示。不是等好了一起发给你&#xff0c;然后一次性展示出来。这种效果和我们平常开发的展示渲染模式有点区别。可能有的同学会说&#xff0c;前端拿到报文后&#xff0c;我们做成这样的…

Django 创建表 choices的妙用:get_<field_name>_display()

1.定义choices 我在创建表时&#xff0c;对于性别这个字段&#xff0c;定义了choices 选项&#xff0c;1代表男&#xff0c;2代表女 mysql中表的数据如下&#xff0c;里面存储的是1或2 如果我们在网页上展示的时候&#xff0c;想展示“男”或“女”&#xff0c;而不是数字1或2…

Mac安装JD-GUI

Mac安装反编译工具步骤如下&#xff1a; 打开官网https://java-decompiler.github.io/ 选择下载mac的安装包解压下载好的压缩包&#xff0c;点击JD-GUI安装 有可能会遇到如下错误。请先检查是否安装JDK&#xff0c;通过java -version命令查看是否是1.8版本的jdk如果jdk没问题&…

[免费]Springboot+Vue医疗(医院)挂号管理系统【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringbootVue医疗(医院)挂号管理系统&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue医疗(医院)挂号管理系统 Java毕业设计_哔哩哔哩_bilibili 项目介绍 在如今社会上&#xff0c;关于信息上…

链表(典型算法思想)—— OJ例题算法解析思路

目录 一、2. 两数相加 - 力扣&#xff08;LeetCode&#xff09; 算法代码&#xff1a; 1. 初始化 2. 遍历链表并相加 3. 返回结果 举例说明 二、24. 两两交换链表中的节点 - 力扣&#xff08;LeetCode&#xff09; 算法代码&#xff1a; 代码思路 举例说明 初始状…