[福游宝——AI智能旅游信息查询平台]全栈AI项目-阶段二:聊天咨询业务组件开发
简言
本项目旨在构建一个以AI智能体为核心的福建省旅游信息查询系统,聚焦景点推荐、路线规划、交通天气查询等功能,为游客提供智能化、便捷化的旅游信息服务。项目采用前后端分离架构,前端基于Vite + TypeScript + Vue3技术栈,搭配轻量级移动端UI库Vant实现高效开发与响应式布局;后端采用SpringBoot框架构建RESTful API,通过MySQL进行数据存储与管理,将集成DeepSeekAI实现自然语言处理与智能推荐能力。
项目地址
- gitCode平台:https://gitcode.com/Var_ya/varWisdomModelBody
脚手架明细表
前端:
| 技术 | 版本 | 官网地址 |
|---|---|---|
| Vite | ^6.2.0 | https://cn.vitejs.dev/ |
| node.js | ^22.14.0 | https://nodejs.org/zh-cn |
| npm | ^10.9.2 | https://www.npmjs.com/ |
| vue-router | ^4.5.0 | https://router.vuejs.org/zh/ |
| Vue3 | ^3.5.13 | https://vuejs.org/ |
| Vant | ^4.9.18 | https://vant-ui.github.io/vant/#/zh-CN |
| postcss | ^8.5.3 | https://github.com/cuth/postcss-pxtorem |
| postcss-pxtorem | ^6.1.0 | |
| 待补充… |
当前进度预览
- 已完成聊天咨询页各个组件开发:
- 标题组件
- 默认问题组件
- 多模态类型布局组件
- 自定义加载组件
- 火车票查询组件
- 天气查询组件
- 旅游套餐查询组件


九、聊天咨询界面顶部布局
新增组件:
src\components\foreword\index.vue修改页面:
src\page\home\index.vue
- 实现效果图

- foreword组件内容
<template><div class="main-header" ><div class="main-header-left"><p class="candy-text handwriting-effect "><span style="font-size: 18px;">🍃</span><i>Hi</i>~我是福游宝<span class="cute-bubble">🌱</span></p><p class="tip gradient-text cute-bubble">🌿你的专属旅游助手,可以帮助你规划行程和解答出游问题哦!</p></div><div class="main-headr-right"><img src="@/assets/foreword.jpeg" alt=""></div></div>
</template>
<script lang="ts"></script><style lang="less" scoped>
.main-header{display: grid;grid-template-columns: repeat(2,1fr);padding:30px 0;img{width:100%;object-fit: fill;border-radius: 50%;overflow: hidden;box-shadow: 1px 1px 0 #e8f5e9,2px 2px 4px rgba(46, 204, 113, 0.3),0 0 8px rgba(76, 175, 80, 0.3);}.name{font-size: 20px;color: #0f9380;font-style: italic;font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;}.tip{font-weight: bold;line-height: 2;text-indent: 2em;}}// 修改后的绿色主题可爱字体样式
.cute-text-base {font-family: cursive;font-weight: 600;letter-spacing: 0.08em;line-height: 1.4;color: #28a745; // 主绿色
}// 青苹果泡泡字
.cute-bubble {.cute-text-base();text-shadow: 1px 1px 0 #e8f5e9,2px 2px 4px rgba(46, 204, 113, 0.3),0 0 8px rgba(76, 175, 80, 0.3);
}// 森林立体字
.candy-text {.cute-text-base();text-shadow: 0 1px 0 #e8f5e9,0 2px 0 #c8e6c9,0 3px 0 #a5d6a7,0 4px 8px rgba(46, 204, 113, 0.4);
}// 渐变绿叶效果
.gradient-text {background: linear-gradient(45deg, #34d399, #10b981);-webkit-background-clip: text;background-clip: text;-webkit-text-fill-color: transparent;
}// 手写装饰线(改为青绿色)
.handwriting-effect::before {background: repeating-linear-gradient(90deg,transparent,transparent 3px,#66bb6a 3px,#66bb6a 6px);
}</style>
- 将foreword组件引入到聊天咨询页面
<template><!-- 标题栏 --><!-- <van-nav-bartitle=""
/> -->
<van-nav-bar title="福游宝" ><template #right><van-icon name="ellipsis" size="18"/></template>
</van-nav-bar><div class="content"><!-- 头部信息 --><foreWord></foreWord></div></template>
<script setup lang="ts">import foreWord from"@/components/foreword/index.vue"</script><style lang="less" scoped>
.content{padding:0 15px;
}
</style>
十、默认问题区域布局
新增组件:
src\components\defaultQuestion\index.vue修改页面:
src\page\home\index.vue
- 实现效果图

- defaultquestion组件内容
<!-- 默认问题 -->
<template><div class="default-question"><div class="customer-service"><img src="@/assets/kefu.png" alt=""><p>福宝</p></div><div class="message-content"><span class="message-tip">你可以这样问我</span><div class="message-list" v-for="(item,index) in 5" :key="index"><img src="@/assets/message.png" alt=""><p>你好</p></div></div><div class="change-question"><img src="@/assets/change.png" alt=""><span>换一换</span></div></div></template>
<script lang="ts"></script><style lang="less" scoped>
.default-question{.customer-service{display: flex;align-items: center;img{width:30px;height: 30px;object-fit: cover;}p{font-size: 14px;padding-left: 10px;}}.message-content{background: white;border-radius: 10px;border-top-left-radius: 0px;margin-top: 20px;padding:10px;.message-tip{display: inline-block;margin: 10px 0px ;font-size: 14px;}.message-list{display: flex;align-items: center;padding:4px 7px;border-radius: 10px;background: #f3f8f9;margin-bottom: 10px;img{width:25px;height: 25px;object-fit: cover;}p{font-size: 14px;padding-left: 10px;}}}.change-question{margin-top: 10px;background: #c0d5d0;border-radius: 5px;padding:5px;display: inline-flex;img{width:20px;height:20px;object-fit: cover;margin-right: 10px;}span{font-size: 14px;line-height: 20px;color:white;}}}
</style>
- defaultquestion组件引入聊天咨询页
<template><!-- 标题栏 --><!-- <van-nav-bartitle=""
/> -->
<van-nav-bar title="福游宝" ><template #right><van-icon name="ellipsis" size="18"/></template>
</van-nav-bar><div class="content"><!-- 头部信息 --><foreWord></foreWord><!-- 默认问题 --><defaultQuestion></defaultQuestion></div></template>
<script setup lang="ts">import foreWord from"@/components/foreword/index.vue"import defaultQuestion from "@/components/defaultQuestion/index.vue"</script><style lang="less" scoped>
.content{padding:0 15px;
}
</style>
十一、多模态类型对话布局
新增组件:
src\components\charmessage\inde.vue修改页面:
src\page\home\index.vue
- 实现效果图

- vant图片组件引入
import { createApp } from 'vue'// import './style.css'
import App from './App.vue'
// 动态改变字体大小
import "amfe-flexible"// 引入路由实例
import router from"./router/index"
const app = createApp(App)
// 注入路由
app.use(router)// vant组件样式
import 'vant/lib/index.css';// vant组件
import { NavBar,Icon ,Button} from 'vant';
// 标题栏
app.use(NavBar);
//icon图标
app.use(Icon);
// 按钮
app.use(Button);
// 图片
import { Image as VanImage } from 'vant';
app.use(VanImage);app.mount('#app')
- chatmessage组件内容
<!--AI聊天 --><template><div class="chat-message"><div class="user-text-message"><p>用户发送的问题</p></div><div class="user-image-message"><!-- 用户发送图片,使用vant组件 --><van-image width="100px" height="100px" fit="cover" radius="5"src="https://fastly.jsdelivr.net/npm/@vant/assets/cat.jpeg" /></div><!-- AI回复的内容 --><!-- 文字内容 --><div class="ai-message"><div class="customer-service"><img src="@/assets/kefu.png" alt=""><span> 福宝</span></div><p>本项目旨在构建一个以AI智能体为核心的福建省旅游信息查询系统,聚焦景点推荐、路线规划、交通天气查询等功能,为游客提供智能化、便捷化的旅游信息服务。项目采用前后端分离架构,前端基于Vite + TypeScript + Vue3技术栈,搭配轻量级移动端UI库Vant实现高效开发与响应式布局;后端采用SpringBoot框架构建RESTful API,通过MySQL进行数据存储与管理,将集成DeepSeekAI实现自然语言处理与智能推荐能力。</p></div></div>
</template>
<script lang="ts"></script><style lang="less" scoped>
.chat-message {display: flex;// 上下排序flex-direction: column;margin-bottom: 10px;.user-text-message {margin-top: 15px;align-self: flex-end;max-width: 70%;opacity: 0;transform: translateY(20px);animation: fadeUp 0.2s ease-in-out forwards;p {font-size: 16px; line-height: 1.5;background: #15c998;border-radius: 5px;border-top-right-radius: 0px;padding:5px;color: white;}}@keyframes fadeUp {0%{opacity: 0;transform: translateY(20px);}100%{opacity: 1;transform: translateY(0px);}}.user-image-message{align-self: flex-end;margin-top: 15px;}.ai-message{margin-top: 15px;.customer-service{display: flex;align-items: center;margin-bottom: 10px;img{width:30px;height: 30px;object-fit: cover;}span{font-size: 16px;padding-left: 10px;}}p{padding:5px;font-size: 16px;line-height: 1.5;background: white;border-radius: 5px;border-top-left-radius: 0px;color: rgb(117, 114, 114);}}
}
</style>
- chatmessage组件引入到聊天咨询界面
<template><!-- 标题栏 --><!-- <van-nav-bartitle=""
/> -->
<van-nav-bar title="福游宝" ><template #right><van-icon name="ellipsis" size="18"/></template>
</van-nav-bar><div class="content"><!-- 头部信息 --><foreWord></foreWord><!-- 默认问题 --><defaultQuestion></defaultQuestion><!-- 聊天内容 --><chatMessage/></div></template>
<script setup lang="ts">import foreWord from"@/components/foreword/index.vue"import defaultQuestion from "@/components/defaultQuestion/index.vue"import chatMessage from "@/components/charmessage/inde.vue"
</script><style lang="less" scoped>
.content{padding:0 15px;
}
</style>
十二、自定义加载组件
新增组件:
src\components\loading\index.vue修改页面 :
src\components\charmessage\inde.vue
- 实现效果图



- loading组件内容
<template><div class="shape-circle"><span class="circle"></span><span class="circle"></span><span class="circle"></span></div></template>
<script lang="ts"></script><style lang="less" scoped>
.shape-circle{display: flex;align-items: center;.circle{width:7px;height: 7px;border-radius: 50%;background: #777a8d;margin: 0 4px;animation: colorChange 1s linear infinite;}/* 帧 */@keyframes colorChange {0%{background-color: #ffcc00;}33%{background-color: #ffcc00;}66.67%{background-color: #ffcc00;}}.circle:nth-child(1){animation-delay: 0s;}.circle:nth-child(2){animation-delay: 0.33s;}.circle:nth-child(3){animation-delay: 0.67s;}}</style>>
- chatmessage父组件引入loading组件
<!--AI聊天 --><template><!-- ... --><!-- AI回复的内容 --><div class="ai-message"><div class="mark-text" ><loading></loading></div></div></div>
</template>
<script setup lang="ts">
import loading from"@/components/loading/index.vue"</script>
十三、火车票查询组件布局
新增组件:
src\components\trainticket\index.vue修改页面:
src\components\charmessage\inde.vue
- 实现效果图

- trainticket组件内容
<!-- 车票查询 -->
<template><div class="train-ticket"><div><p class="query-time">9:18</p><p class="station-name">泉州</p></div><div class="train-run-number"><p>2小时2分</p><p>D6666</p></div><div><p class="query-time">10:20</p><p class="station-name">福州</p></div><div><p class="product-price">¥86</p></div></div><div class="train-ticket"><div><p class="query-time">9:18</p><p class="station-name">泉州</p></div><div class="train-run-number"><p>2小时2分</p><p>D6666</p></div><div><p class="query-time">10:20</p><p class="station-name">福州</p></div><div><p class="product-price">¥86</p></div></div>
</template><script setup lang="ts"></script><style lang="less" scoped>
.train-ticket{border-bottom: 1px solid rgb(228, 222, 222);background: white;display: flex;align-items: center;justify-content: space-around;padding: 7px 0px;.product-price{color: #0a6f4d;}.query-time,.station-name{font-weight: bold;font-size: 12px;}.query-time{font-size: 16px;}
.train-run-number{p{font-size: 12px;color: #9ca1a0;}
}}</style>
- trainticket组件引入到chatmessage父组件中
<!--AI聊天 --><template><div class="chat-message"><!-- AI回复的内容 --><div class="ai-message"><!-- 头像 --><!-- 车票查询 --><trainTicket></trainTicket></div></div>
</template>
<script setup lang="ts">
import trainTicket from "@/components/trainticket/index.vue"</script>
十四、天气查询组件布局
新增组件:
src\components\weather\index.vue修改页面:
src\components\charmessage\inde.vue
- 实现效果图预览

- weather组件内容
<!-- 天气查询 -->
<template><div class="weather-content"><div class="weather-item"><!-- 日期 --><div class="day-time">05/26</div><!-- 状态 --><div class="day-weather"><!-- src\assets\weather\qingtian.png--><img src="../../assets/weather/qingtian.png" alt=""><p>晴</p></div><!-- 摄氏度 --><div class="day-limit">10-20℃</div></div><div class="weather-item"><!-- 日期 --><div class="day-time">05/26</div><!-- 状态 --><div class="day-weather"><!-- src\assets\weather\qingtian.png--><img src="../../assets/weather/qingtian.png" alt=""><p>多云</p></div><!-- 摄氏度 --><div class="day-limit">10-20℃</div></div></div>
</template>
<script lang="ts">
</script><style lang="less" scoped>
.weather-content {background: linear-gradient(to bottom left, #ffffff, #48adff);margin-top: 10px;margin-bottom: 10px;font-size: 14px;.weather-item{display: flex;align-items: center;justify-content: space-around;padding:7px 0px;.day-time{flex:1;text-align: center;}.day-weather{flex: 1;display: flex;align-items: center ;img{width:20px;margin-right: 5px;height: 20px;}p{font-size: 14px;}}.day-limit{flex: 1;}}}
</style>
- weather组件引入到chatmessage父组件中
<!--AI聊天 --><template><div class="chat-message"><!-- AI回复的内容 --><!-- 天气查询 --><weather></weather></div></div>
</template>
<script setup lang="ts">
import weather from "@/components/weather/index.vue"</script>
十五、搜索商品组件布局
新增组件:src\components\searchgood\index.vue
修改页面:src\components\charmessage\inde.vue
修改页面:index.html
- 实现效果图预览

- 全局样式写入
- index.html文件
<style>/* 文本超过两行时,隐藏多余部分,并以省略号代替 */.text-show{overflow: hidden;display: -webkit-box;text-overflow: ellipsis;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}</style>
- searchgood组件内容
<!-- 搜索商品 -->
<template><div class="goods-content"><p class="title">为您推荐以下相关的旅游套餐:</p><!-- 旅游套餐列表 --><div class="goods-list"><!-- 单个商品 --><div class="goods-item"><img src="../../assets/gu.jpg" alt=""><p class="goods-title text-show ">2025厦门,鹭岛漫游×山海文艺:厦门五天四夜全攻略</p><p class="goods-price">¥1233.3</p></div><div class="goods-item"><img src="../../assets/gu.jpg" alt=""><p class="goods-title text-show ">2025厦门,鹭岛漫游×山海文艺:厦门五天四夜全攻略</p><p class="goods-price">¥1233.3</p></div><div class="goods-item"><img src="../../assets/gu.jpg" alt=""><p class="goods-title text-show ">2025厦门,鹭岛漫游×山海文艺:厦门五天四夜全攻略</p><p class="goods-price">¥1233.3</p></div></div></div>
</template><script setup lang="ts"></script><style lang="less" scoped>
.goods-content{padding-top: 2px;padding-bottom: 2px;background: white;border-radius: 5px;.title{color:rgb(216, 166, 245);font-weight: bold;margin-top: 4px;margin-left: 4px;}.goods-list{display: flex;// x轴溢出overflow-x: auto;margin: 5px 0px;.goods-item{padding:6px;background: #f3f3f3;border-radius: 4px;display: flex;// 垂直布局flex-direction: column;margin: 0 4px;width: 33%;flex-shrink: 0;img{width:100%;border-radius: 4px;height: 130px;object-fit: cover;margin-bottom: 4px;}.goods-title{font-size: 16px;font-weight: bold;margin-bottom: 4px;}.goods-price{margin-top:auto;font-size: 14px;color: red;}}}
}</style>
- searchgood组件引入到chatmessage父组件中
<!--AI聊天 --><template><div class="chat-message"><!-- AI回复的内容 --><!-- 搜索商品 --><searchgood></searchgood></div></div>
</template>
<script setup lang="ts">import searchgood from "@/components/searchgood/index.vue"</script>相关文章:
[福游宝——AI智能旅游信息查询平台]全栈AI项目-阶段二:聊天咨询业务组件开发
简言 本项目旨在构建一个以AI智能体为核心的福建省旅游信息查询系统,聚焦景点推荐、路线规划、交通天气查询等功能,为游客提供智能化、便捷化的旅游信息服务。项目采用前后端分离架构,前端基于Vite TypeScript Vue3技术栈,搭配…...
迷你世界脚本之容器接口:WorldContainer
容器接口:WorldContainer 彼得兔 更新时间: 2023-04-26 10:21:02 具体函数名及描述如下: 序号 函数名 函数描述 1 addFurnace(...) 新增熔炉 2 removeFurnace(...) 移除熔炉 3 checkFurnace(...) 检测是否为熔炉 4 getFurnaceHeatPerce…...
【教学类-102-11】蝴蝶外轮廓01——Python对黑白图片进行PS填充三种颜色+图案描边+图案填充白色+制作1图2图6图24图
背景需求: 用Python,对白色255背景的图片进行了透明化、制作点状或线段的描边裁剪线 【教学类-102-10】剪纸图案全套代码09——Python线条虚线优化版04(原图放大白背景)+制作1图2图6图24图-CSDN博客文章浏览阅读1k次,点赞27次,收藏8次。【教学类-102-10】剪纸图案全套代…...
MCP的另一面
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
微信小程序 - swiper轮播图
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html <swiper indicator-color"ivory" indicator-active-color"#d43c33" indicator-dots autoplay><swiper-item><image src"/images/banner…...
JSON-Server 极速入门教程
JSON-Server 入门教程 什么是 JSON-Server? JSON-Server 是一个零代码的 REST API 模拟工具,它可以在不到 30 秒的时间内为你创建一个完整的假 REST API。它非常适合前端开发者在没有后端支持的情况下进行开发和测试。 快速开始 1. 安装 首先&#…...
2025年第十六届蓝桥杯省赛C++ 研究生组真题
2025年第十六届蓝桥杯省赛C 研究生组真题 1.说明2.题目A:数位倍数(5分)3.题目B:IPv6(5分)4.题目C:变换数组(10分)5.题目D:最大数字(10分ÿ…...
七、自动化概念篇
自动化测试概念 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的过程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人…...
【第43节】实验分析windows异常分发原理
目录 前言 一、异常处理大致流程图 二、实验一:分析 KiTrap03 三、实验二:分析CommonDispatchException 四、代码探究:分析 KiDispatchException 函数 五、代码探究:伪代码分析用户层KiUserExceptionDispatcher 前言 在Wind…...
如何在AMD MI300X 服务器上部署 DeepSeek R1模型?
DeepSeek-R1凭借其深度推理能力备受关注,在语言模型性能基准测试中可与顶级闭源模型匹敌。 AMD Instinct MI300X GPU可在单节点上高效运行新发布的DeepSeek-R1和V3模型。 用户通过SGLang优化,将MI300X的性能提升至初始版本的4倍,且更多优化将…...
RTX 5060 Ti 3DMark跑分首次流出:比RTX 4060 Ti快20%
快科技4月14日消息,根据VideoCardz拿到的数据,RTX 5060 Ti 16GB在3DMark的系列基准测试中,平均较上一代RTX 4060 Ti 16GB高出20%。 具体来看,RTX 5060 Ti 16GB在3DMark的测试中表现如下: TimeSpy(1440p&a…...
【STL】set
在 C C C S T L STL STL 标准库中, s e t set set 是一个关联式容器,表示一个集合,用于存储唯一元素的容器。 s e t set set 中的元素会自动按照一定的顺序排序(默认情况下是升序)。这意味着在 s e t set set 中不能…...
深入剖析C++中 String 类的模拟实现
目录 引言 一、基础框架搭建 成员变量与基本构造函数 析构函数 二、拷贝与赋值操作 深拷贝的拷贝构造函数 赋值运算符重载 三、字符串操作功能实现 获取字符串长度 字符串拼接 字符串比较 字符访问 四、迭代器相关实现(简单模拟) 迭代器类型…...
STL之priority_queue的用法与实现
目录 1. priority_queue的介绍 1.1. priority_queue的概念 1.2. priority_queue的特点 2. 仿函数 2.1. 仿函数的概念 2.2. 仿函数的应用 2.3 仿函数的灵活性 3. priority_queue的用法 4. 模拟实现priority_queue 4.1. 插入 4.2. 删除 5. 源码 priority_…...
深度学习中的数值稳定性处理详解:以SimCLR损失为例
文章目录 1. 问题背景SimCLR的原始公式 2. 数值溢出问题为什么会出现数值溢出?浮点数的表示范围 3. 数值稳定性处理方法核心思想数学推导 4. 代码实现分解代码与公式的对应关系 5. 具体数值示例示例:相似度矩阵方法1:直接计算exp(x)方法2&…...
散户使用算法交易怎么做?
智能算法交易是量化交易里面最常见的一种,也是大多数散户被套住的股票,想要解套,降低成本最直接有效的方式。但是往往这种波动速度小,担心速度跟不上的情况,我们就要叠加快速通道。 第一:算法交易的应用场…...
Docker详细使用
Docker详细使用 文章目录 Docker详细使用使用场景docker安装常用命令帮助启动类命令镜像命令网络命令容器命令compose(服务编排) 功能列表存储(挂载本地)介绍使用⽬录挂载卷映射 网络介绍使用 DockerfileCompose介绍使用 使用场景…...
mongodb 安装配置
1.官网下载地址:MongoDB Community Download | MongoDB 2.解压包安装:https://pan.baidu.com/s/1Er56twK9UfxoExuCPlJjhg 提取码: 26aj 3.配置环境: (1)mongodb安装包位置: (2)复…...
CSV文件中的中文乱码--UTF-8 with BOM
文章目录 1. 现象2. 原因3. BOM3.1 什么是BOM?3.2 BOM的作用3.3 特殊性 4. 如何解决乱码?4.1 手动设置格式4.2 自动设置格式4.2.1 Python如何设置:4.2.2 java如何设置 1. 现象 在使用了UTF-8格式编码之后,CSV文件在Excel中打开还…...
榕壹云酒水定制系统:基于THinKPHP+MySQL+UniApp打造数字化时代的个性化购酒新体验
数字化浪潮下的酒水定制新机遇 在消费升级与个性化需求崛起的背景下,传统酒水行业正面临数字化转型的迫切需求。为此,我们团队基于ThinkPHP+MySQL+UniApp技术栈,开发了一套榕壹云酒水定制系统,旨在通过数字化手段解决消费者个性化购酒痛点,为酒类品牌提供全链路数字化解决…...
Leetcode——137 260找出只出现一次的数
文章目录 找出只出现一次的数引入Leetcode 260Leetcode 137 找出只出现一次的数 对于数组中有一类题,即某些数据在数组中只出现一遍,需要我们找出,今天我们来看看这个类型的题。 引入 想必大家应该见过这么一道题: 现给定一个数…...
算法:定义一个数组的的陡峭值为:相邻两个元素之差的绝对值之和。
定义一个数组的的陡峭值为:相邻两个元素之差的绝对值之和。现在小红拿到了一个数组,她有多次询问,每次查询一段连续子数组的陡峭值。你能帮帮她吗? 连续子数组为从原数组中,连续的选择一段元素(可以全选、可以不选)得到的新数组。 输入描述 …...
uniapp自定义tabbar,根据角色动态显示不同tabbar,无闪动问题
🤵 作者:coderYYY 🧑 个人简介:前端程序媛,目前主攻web前端,后端辅助,其他技术知识也会偶尔分享🍀欢迎和我一起交流!🚀(评论和私信一般会回!!) 👉 个人专栏推荐:《前端项目教程以及代码》 ✨一、前言 这个需求在开发中还是很常见的,搜索了网络其他教程,…...
OpenTiny使用指南
最近项目里用到了一个新的组件库——OpenTiny,但是官方文档的使用指南的描述很复杂,花了一些时间尝试才正常使用。下面是一个使用步骤的描述,可放心食用: 一、安装 TinyVue 组件库同时支持 Vue 2.0 和 Vue 3.0 框架,…...
《一文讲透》第7期:KWDB 巧用标签与索引优化查询性能
引言 在工业物联网快速发展的今天,各类智能传感器设备已广泛应用于智能制造、能源电力、智慧城市等关键领域。这些设备以极高的采样频率持续产生监测数据,使得单条产线每秒产生数十万条传感器数据已成为行业常态,这对数据存储系统的写入吞吐…...
KingbaseES之KDts迁移SQLServer
项目适配迁移SQLServer至金仓,今天写写KDts-WEB版迁移工具迁移SQLServer至KingbaseES的步骤,以及迁移注意事项. SQLServer版本:SQLServer2012 KingbaseES版本:V009R004C011(SQLServer兼容版) --1.进入数据库客户端工具KDTS工具目录,启动KDts服务: [king…...
13-scala模式匹配
模式匹配是检查某个值(value)是否匹配某一个模式的机制,一个成功的匹配同时会将匹配值解构为其组成部分。它是Java中的switch语句的升级版,同样可以用于替代一系列的 if/else 语句。 语法 一个模式匹配语句包括一个待匹配的值&a…...
代码随想录动态规划part02
动态规划part02 62.不同路径 代码随想录 视频讲解:动态规划中如何初始化很重要!| LeetCode:62.不同路径_哔哩哔哩_bilibili 递归法 动态规划,当前状态是由上一个状态转化来的 这里初始化错误了,想法是对的右一和…...
数据结构-限定性线性表 - 栈与队列
栈和队列是数据结构中非常重要的两种限定性线性表,它们在实际应用中有着广泛的用途。这篇文章将深入讲解栈和队列的概念、抽象数据类型、实现方式、应用场景以及性能分析,并通过代码示例帮助大家更好地理解和实践。 一、栈的概念与抽象数据类型 1.1 栈…...
详解如何复现DeepSeek R1:从零开始利用Python构建
DeepSeek R1 的整个训练过程,说白了就是在其基础模型(也就是 deepseek V3)之上,用各种不同的强化学习方法来“雕琢”它。 咱们从一个小小的本地运行的基础模型开始,一边跟着 DeepSeek R1 技术报告 的步骤,…...
