当前位置: 首页 > news >正文

vue实现日历签到效果

在工作任务进行时,有一个签到日历的功能需求要实现,经过文档查询和样式优化实现了需求,在此记录一下。

技术背景:vue2+vant(样式控件)+ less + 一个公共样式文件

html实现部分:

 
<div class="calenderBox re_margin_top_16 re_sizing"><!-- 切换月份 -->   <div class="re_width100 re_flex_between"><div class="left"><van-icon @click="dateOperate('down')" class="icon" name="arrow-left" size="16" /></div><div class="re_font_14">{{ date[0] }}年{{ date[1] }}月</div><div class="right"><van-icon @click="dateOperate('up')" class="icon" name="arrow" size="16" /></div></div><!-- 日期列表 --><div class="date-list re_width100 re_margin_top_16"><div class="date-content"><!-- 日历头 --><div class="re_font_10 re_color_light re_flex_center" v-for="item in header" :key="item">{{ item }}</div><!-- 日列表 --><div class="re_margin_top_8 showday re_text_c re_sizing " v-for="(s, k) in dayList" :key="s + '-' + k"><template v-if="s.month == date[1]"><div v-if="s.signInStatus == 1" class="re_flex_center everyDay"><img class="star" src="../../../assets/task/gray.png" alt=""></div><!-- 补签 --><div @click="signIn(s, 2)" class="bu" v-else-if="s.signInStatus == 4"><img class="bu" src="../../../assets/task/no.png" alt=""></div><!--  --><div class="bu" v-else-if="s.signInStatus == 2"><img class="bu"  src="../../../assets/task/checkIn.png" alt=""></div><!-- 签到 --><div @click="signIn(s, 1)" v-else-if="s.signInStatus == 0 && getDayText(s) == '今天'" class="bu re_sizing jintian re_sizing"><img class="star" src="../../../assets/task/star.png" alt=""><span class="re_color_calendar_color">+{{ s.getMoney }}</span></div><div v-else-if="s.signInStatus == 0 && getDayText(s) != '今天'" class="bu future re_sizing"><img class="star" src="../../../assets/task/star.png" alt=""><span class="color_redlight re_font_14">+{{ s.getMoney }}</span></div><div v-else class="re_flex_center everyDay"><img class="star" src="../../../assets/task/gray.png" alt=""></div><span :class="['re_font_10',s.month !== date[1] ? 'other-day' : '',s.day === date[2] && s.month === date[1] ? getDayText(s) === '今天' ? 're_color_calendar_color' : 'today' : '',]">{{ getDayText(s) }}</span></template></div></div></div>
</div>

js实现部分

export default {name: "calendar",data() {return {// 日历头header: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"],// 选择日期date: [],// 天列表dayList: [],// 定时器timer: null,// 第一天是周几weeks: 0,userInfo: {},setInfo: {},successTitle:'签到成功',handleSignInfo:{}};},created() { },mounted() {let time = new Date();this.date.push(time.getFullYear(),this.formatTime(time.getMonth() + 1),this.formatTime(time.getDate()));this.countDay();this.getSignInCalendar();this.getInfo();},methods: {getInfo(){getSetInfo().then(res => {this.setInfo = res.data;})},goBack(){this.$router.go(-1);},// beforeSignInbeforeSignIn(){extraSignIn({signInDay: this.setInfo.signInDay}).then(res => {if(res.code == 1){this.successVisible = true;this.successTitle = '补签成功';this.handleSignInfo = res.data;this.getSignInCalendar();setTimeout(() => {this.successVisible = false;}, 5000);this.coinsVisible = false}if (res.code == 500) {showDialog({ title: '提示', message: res.msg });}})},// 签到signIn(s, type){if(type == 2){this.coinsVisible = truethis.setInfo.signInDay = s.signInDayreturn}addSignIn({signInDay: s.signInDay}).then(res => {if(res.code == 1){this.successVisible = true;this.successTitle = '签到成功';this.handleSignInfo = res.data;this.getSignInCalendar();setTimeout(() => {this.successVisible = false;}, 5000);}if (res.code == 500) {showDialog({ title: '提示', message: res.msg });}})},getSignInCalendar(){signInCalendar({signInDay: this.date.join('-')}).then(res => {this.dayList.forEach(item => {res.data.forEach(item2 => {if(item.signInDay === item2.signInDay){item.getMoney = item2.getMoney;item.signInStatus = item2.signInStatus;}})})})getSignInInfo().then(res => {this.userInfo = res.data;})},formatTime(time) {return time < 10 ? `0${time}` : time;},// 计算显示的天数据countDay() {let [y, m, d] = this.date;// 获取第一天是周几let week = new Date(`${y}/${m}/1`).getDay(),// 获取当前月的上个月多少天lastDays = this.getDays(y, m - 1),// 获取这个月有多少天days = this.getDays(y, m);// 计算这个月有多少周this.weeks = Math.ceil((days - (7 - week)) / 7) + 1;// 将当前月份的天数生成数组this.dayList = Array.from({ length: this.getDays(y, m) }, (v, k) => {return {day: this.formatTime(k + 1),month: m,year: y,signInDay: `${y}-${m}-${this.formatTime(k + 1)}`};});// 将本月1日前的数据补齐for (let i = lastDays; i > lastDays - week; i--) {this.dayList.unshift({day: i,// 如果当前日期是1月补齐的是去年12月的数据month: +m - 1 === 0 ? 12 : this.formatTime(+m - 1),year: +m - 1 === 0 ? y - 1 : y,});}// 计算需要补齐多少天let length = this.weeks * 7 - this.dayList.length;// 将本月最后一天的数据补齐for (let i = 1; i <= length; i++) {this.dayList.push({day: i,// 如果当前日期是12月补齐的是明年年1月的数据month: +m + 1 > 12 ? 1 : this.formatTime(+m + 1),year: +m + 1 > 12 ? y + 1 : y,});}},// 校验选择的月份和已选择的日期是否匹配checkDay() {// 获取选择的年月有多少天 防止这年不是闰年 就将日期跳转到28号,或者有的月份没有31号就跳到30号let num = this.getDays(this.date[0], this.date[1]);if (num < this.date[2]) {this.date.splice(2, 1, num);}},// 获取某个月有多少天getDays(year, month) {// 一年中每个月的天数let days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];// 判断是不是闰年 2月29天if (year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)) {days[1] = 29;}return days[month - 1];},//左右按钮点击事件dateOperate(type) {let [y, m, d] = this.date;// 如果是向后翻if (type === "up") {// 日期向后翻 切换月份if (+m === 12) {this.date.splice(0, 1, y + 1);this.date.splice(1, 1, "01");} else {this.date.splice(1, 1, this.formatTime(+m + 1));}// 如果是前后翻} else {if (+m === 1) {this.date.splice(0, 1, y - 1);this.date.splice(1, 1, 12);} else {this.date.splice(1, 1, this.formatTime(+m - 1));}}this.countDay();this.checkDay();this.getSignInCalendar()},// 取消事件cancel() {this.$emit("cancel");},// 获取日期显示文本getDayText(dateObj) {const today = new Date();const todayYear = today.getFullYear();const todayMonth = this.formatTime(today.getMonth() + 1);const todayDay = this.formatTime(today.getDate());// 检查是否是今天if (dateObj.year == todayYear && dateObj.month == todayMonth && dateObj.day == todayDay) {return "今天";}// 检查是否是明天const tomorrow = new Date(today);tomorrow.setDate(today.getDate() + 1);const tomorrowYear = tomorrow.getFullYear();const tomorrowMonth = this.formatTime(tomorrow.getMonth() + 1);const tomorrowDay = this.formatTime(tomorrow.getDate());if (dateObj.year == tomorrowYear && dateObj.month == tomorrowMonth && dateObj.day == tomorrowDay) {return "明天";}// 其他日期显示月.日格式return `${dateObj.month}.${dateObj.day}`;},}
}

css实现部分:

<style lang="less" scoped>.calendar {width: 100%;min-height: 100vh;background: url('../../../assets/task/calenderBg.png') no-repeat center top;background-size: 100% 812px;padding: 0 16px 16px;background-color: #ffe9e9;.title {padding: 30px 0 18px 0;width: 100%;font-weight: 600;.icon {position: absolute;left: 0px;top: 33px;}.explain {position: absolute;right: 0px;top: 34px;}}.calenderBox {width: 21.44rem;min-height: 33.25rem;background: #FFFFFF;border: 0.06rem solid #FFFFFF;border-radius: 1rem;padding: 1rem;}.date-list {padding-top: 0;display: flex;.date-content {flex: 1;height: 100%;display: grid;grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;grid-template-rows: auto;}.showday{margin: 8px auto 0;}.everyDay {width: 2.5rem;height: 3.38rem;background: #F5F7F9;border-radius: 6px;}.bu{width: 2.5rem;height: 3.38rem;}.color_redlight{color: #FF455E;}.jintian{border: 1px solid #FF455E;border-radius: 6px;padding-top: 6px;}.future{background: #F5F7F9;border-radius: 6px;padding-top: 6px;}.star{width: 18px;height: 18px;}.other-day {color: #CED1D9;}.today {color: #394365;}}}</style>

相关文章:

vue实现日历签到效果

在工作任务进行时&#xff0c;有一个签到日历的功能需求要实现&#xff0c;经过文档查询和样式优化实现了需求&#xff0c;在此记录一下。 技术背景&#xff1a;vue2vant(样式控件&#xff09; less 一个公共样式文件 html实现部分&#xff1a; <div class"calenderB…...

(十 八)趣学设计模式 之 观察者模式!

目录 一、 啥是观察者模式&#xff1f;二、 为什么要用观察者模式&#xff1f;三、 观察者模式的实现方式四、 观察者模式的优缺点五、 观察者模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;…...

笔记:在Git中.gitmodules文件的功能和作用和如何使用

一、目的&#xff1a;简单介绍下在Git中.gitmodules文件的功能和作用已经 .gitmodules 文件是 Git 子模块&#xff08;submodule&#xff09;功能的一部分&#xff0c;用于管理和配置子模块。子模块允许一个 Git 仓库包含另一个 Git 仓库作为其子目录&#xff0c;这对于管理依赖…...

Swift 常量

Swift 常量 引言 Swift 是一种由苹果公司开发的编程语言,主要用于 iOS、macOS、watchOS 和 tvOS 等平台的应用开发。在 Swift 中,常量是一种不可变的变量,它用于存储固定不变的值。了解和使用常量是 Swift 编程的基础,本文将详细介绍 Swift 常量的概念、类型、声明以及使…...

Ubuntu20.04双系统安装及软件安装(七):Anaconda3

Ubuntu20.04双系统安装及软件安装&#xff08;七&#xff09;&#xff1a;Anaconda3 打开Anaconda官网&#xff0c;在右侧处填写邮箱&#xff08;要真实有效&#xff01;&#xff09;&#xff0c;然后Submit。会出现如图示的Success界面。 进入填写的邮箱&#xff0c;有一封Ana…...

Google AI概览升级,AI模式全新登场!

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

【智能体架构:Agent】LangChain智能体类型ReAct、Self-ASK的区别

1. 什么是智能体 将大语言模型作为一个推理引擎。给定一个任务&#xff0c; 智能体自动生成完成任务所需步骤&#xff0c; 执行相应动作&#xff08;例如选择并调用工具&#xff09;&#xff0c; 直到任务完成。 2. 先定义工具&#xff1a;Tools 可以是一个函数或三方 API也…...

nginx 配置403页面(已亲测)

问题&#xff1a;GET请求访问漏洞url即可看到泄露的内网ip 解决方式&#xff1a; 1.配置nginx 不显示真实Ip 2.限制接口只能是POST请求 具体配置&#xff1a; 编写一个403.html 在nginx的配置文件中&#xff0c;配置location参数&#xff1a; location /api/validationCode…...

安卓基础组件Looper - 02 native层面的剖析

文章目录 native使用使用总结创建Looper构造函数创建(不推荐)使用举例源代码 Looper::prepare 获取Looper可忽略初始化Looper主动休眠 pollAll主动唤醒 wake 发送消息 sendMessage轮询消息 native使用 Android Native Looper 机制 - 掘金 (juejin.cn) /system/core/libutils/…...

nodejs关于后端服务开发的探究

前提 在当前的环境中关于web server的主流开发基本上都是java、php之类的&#xff0c;其中java spring系列基本上占了大头&#xff0c;而python之流也在奋起直追&#xff0c;但别忘了nodejs也是可以做这个服务的&#xff0c;只是位置有点尴尬&#xff0c;现在就来探究下nodejs…...

QTday4

1:是进度条通过线程自己动起来 mythread.h #ifndef MYTHREAD_H #define MYTHREAD_H #include <QThread>class mythread : public QThread {Q_OBJECT public:mythread(QObject* parent nullptr); protected:virtual void run() override; private: signals:virtual voi…...

服务器时间同步

方法一 [rootbogon hwh-ansible]# cat time-sync.sh #!/bin/bash # NTP 服务器信息 NTP_SERVER"192.168.42.12" PASSWORD"123456" # 多个 IP 地址 HOSTS("192.168.42.8" "192.168.42.9" "192.168.42.10" "192.168.42…...

蓝桥杯备赛日记【day1】(c++赛道)

一、裁纸刀问题&#xff08;2022、规律、思维、省赛&#xff09; 解法思路&#xff1a; 参考题目给出的例子发现。不管要裁剪多少次。最外围的四次是固定的。然后通过观察发现&#xff0c;我们的行的裁剪次数为&#xff08;m-1&#xff09; 次&#xff0c;而每行都需要裁剪列数…...

DeepSeek大模型 —— 全维度技术解析

DeepSeek大模型 —— 全维度技术解析 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff01;点我试试&#xff01;&#xff01; 文章目录 DeepSeek大模型 —— 全维度技术解析一、模型架构全景解析1.1…...

嵌入式开发:傅里叶变换(5):基于STM32,实现CMSIS中的DSP库

目录 步骤 1&#xff1a;准备工作 步骤 2&#xff1a;创建 Keil 项目&#xff0c;并配置工程 步骤 3&#xff1a;在MDK工程上添加 CMSIS-DSP 库 步骤 5&#xff1a;编写代码 步骤 6&#xff1a;配置时钟和优化 步骤 7&#xff1a;调试与验证 步骤 8&#xff1a;优化和调…...

Ubuntu 24.04 配置ODBC连接ORACLE 11G数据库

1. 安装必要工具和驱动 1.1 安装unixODBC和依赖库 # apt update # apt install unixodbc unixodbc-dev libaio1 执行失败&#xff0c;报错 libaio1包找不到&#xff0c;先跳过&#xff0c;安装其他两个。 # apt install unixodbc unixodbc-dev 安装成功 1.2 下载Oracle…...

upload-labs靶场 1-21通关

目录 1.Pass-01 前端绕过 分析 解题 2.Pass-02 服务器端检测--修改IMME 分析 解题 3.Pass-03 黑名单绕过 分析 解题 4.Pass-04 .htaccess绕过 分析 解题 5.Pass-05 . .绕过和.user.ini绕过 分析 解题 6.Pass-06 大小写绕过 分析 解题 7.Pass-07 空格绕过 分…...

Docker新手入门(持续更新中)

一、定义 快速构建、运行、管理应用的工具。 Docker可以帮助我们下载应用镜像&#xff0c;创建并运行镜像的容器&#xff0c;从而快速部署应用。 所谓镜像&#xff0c;就是将应用所需的函数库、依赖、配置等应用一起打包得到的。 所谓容器&#xff0c;为每个镜像的应用进程创建…...

c语言笔记 指针篇(上)

1.指针 在计算的存储器中有很多的存储单元&#xff0c;我们的操作系统把这些存储单元以字节为单位进行编号&#xff0c;也就是每个存储单元&#xff08;字节&#xff09;&#xff0c;都有编码。这些编码在我们内存中就称为地址。一个字节有八位&#xff0c;位是存储信息的最小单…...

要查看 SQLite 数据库中的所有表,可以通过查询 SQLite 的系统表 sqlite_master

要查看 SQLite 数据库中的所有表&#xff0c;可以查询 SQLite 的系统表 sqlite_master。 每个 SQLite 数据库都包含一个名为 sqlite_master 的系统表。该表定义了数据库的模式&#xff0c;存储了数据库中所有表、索引、视图和触发器等对象的信息。 通过查询 sqlite_master&am…...

C#释放内存空间的方法

目录 前言释放 C# 对象内存的六种方法1、手动释放内存空间2、使用 Using 语句3、使用 垃圾回收器4、GC.Collect() 方法5、GC.WaitForPendingFinalizers() 方法6、WeakReference 类 注意 前言 当不再需要对象时释放内存空间对于防止内存泄漏和提高应用程序性能至关重要。C# 提供…...

mapbox基础,使用点类型geojson加载symbol符号图层,用于标注文字

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️symbol符号图层样式二、🍀使用点类型…...

Java数组详解/从JVM理解数组/数组反转/随机排名/数组在计算机如何存储

本文详细讲解了数组的定义、数组的访问方法、数组的遍历、静态数组和动态数组、以及数组中的自动类型转换、引用类型指向数组的地址、以及从JVM理解数组、空指针异常、数组反转、随机排名的案例。 数组是存放在连续内存空间上的相同类型数据的集合。 数组可以方便的通过下标索…...

网络安全wireshark题目

一、填空题&#xff1a; 网络安全的目标是在计算机网络的信息传输、存储与处理的整个过程中&#xff0c;提高 物理逻辑上 的防护、监控、反应恢复和 对抗 的能力。SSL协议是在网络传输过程中&#xff0c;提供通信双方网络信息 保密性 和 可靠性 。TCP/IP网络安全管理…...

TomcatServlet

https://www.bilibili.com/video/BV1UN411x7xe tomcat tomcat 架构图&#xff0c;与 jre&#xff0c;应用程序之前的关系 安装使用 tomcat 10 开始&#xff0c;api 从 javax.* 转为使用 jakarta.*&#xff0c;需要至少使用 jdk 11 cmd 中默认 gbk 编码&#xff0c;解决控制…...

Seurat - Guided Clustering Tutorial官方文档学习及复现

由于本人没有使用过Seurat4.0&#xff0c;而是直接使用的最新版。所以本文都是基于Seurat5.2.0&#xff08;截止2025/3/6&#xff09;来进行撰写。 参考的官方教程来进行学习&#xff08;上图中的 Guided tutorial-2.700 PBMCs&#xff09;&#xff0c;肯定没有官方文档那么全面…...

Python数据分析面试题及参考答案

目录 处理 DataFrame 中多列缺失值的 5 种方法 批量替换指定列中的异常值为中位数 使用正则表达式清洗电话号码格式 合并两个存在部分重叠列的 DataFrame 将非结构化 JSON 日志转换为结构化表格 处理日期列中的多种非标准格式(如 "2023 年 12 月 / 05 日") 识…...

极狐GitLab 正式发布安全版本17.9.1、17.8.4、17.7.6

本分分享极狐GitLab 补丁版本 17.9.1、17.8.4、17.7.6 的详细内容。这几个版本包含重要的缺陷和安全修复代码&#xff0c;我们强烈建议所有私有化部署用户应该立即升级到上述的某一个版本。对于极狐GitLab SaaS&#xff0c;技术团队已经进行了升级&#xff0c;无需用户采取任何…...

【JavaSE-7】方法的使用

1、方法的概念和使用 1.1、什么是方法 方法&#xff08;method&#xff09;是程序中最小的执行单元&#xff0c;类似于 C语言中的函数&#xff0c;方法存在的意义&#xff1a; 是能够模块化的组织代码(当代码规模比较复杂的时候).做到代码被重复使用, 一份代码可以在多个位置…...

阿里推出全新推理模型(因果语言模型),仅1/20参数媲美DeepSeek R1

阿里Qwen 团队正式发布了他们最新的研究成果——QwQ-32B大语言模型&#xff01;这款模型不仅名字萌萌哒(QwQ)&#xff0c;实力更是不容小觑&#xff01;&#x1f60e; QwQ-32B 已在 Hugging Face 和 ModelScope 开源&#xff0c;采用了 Apache 2.0 开源协议。大家可通过 Qwen C…...

C语言笔记(通讯录)

目录 1.通讯录的架构 2.通讯录的功能 3.实现静态通讯录的功能步骤 3.1.创建通讯录数组 3.2.显示功能菜单 3.3.初始化通讯录 3.4.添加联系人的信息 3.5.显示联系人的信息 3.6.查找某个人的信息 3.7.删除某一个联系人信息 3.8.修改某一联系人的信息 3.9.按名字对联系…...

【Manus资料合集】激活码内测渠道+《Manus Al:Agent应用的ChatGPT时刻》(附资源)

DeepSeek 之后&#xff0c;又一个AI沸腾&#xff0c;冲击的不仅仅是通用大模型。 ——全球首款通用AI Agent的破圈启示录 2025年3月6日凌晨&#xff0c;全球AI圈被一款名为Manus的产品彻底点燃。由Monica团队&#xff08;隶属中国夜莺科技&#xff09;推出的“全球首款通用AI…...

Python 面向对象高级编程-定制类

目录 __str__ __iter__ __getitem__ __getattr__ __call__ 小结 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意&#xff0c;这些在Python中是有特殊用途的。 __slots__我们已经知道怎么用了&#xff0c;__len__()方法我们也知道是为了能让class作用于len()…...

安装remixd,在VScode创建hardhat

在终端&#xff0c;以管理员身份&#xff0c;cmd 需要科学上网 npm install -g remix-project/remixd 在vscode插件中&#xff0c;安装solidity插件&#xff0c;是暗灰色那款 1.将nodeJs的版本升级至18以上 2.在vscode打开一个新的文件&#xff0c;在终端输入 npx hardhat 3.…...

开发环境搭建-02.后端环境搭建-熟悉项目结构

一.后端环境搭建...

Linux(Centos 7.6)命令详解:vi

1.命令作用 vi/vim 是Linux 系统内置不可或缺的文本编辑命令&#xff0c;vim 是vi 的加强版本&#xff0c;兼容vi 的所有指令&#xff0c;不仅能编辑文本&#xff0c;而且还具有shell 程序编辑的功能&#xff0c;可以不同颜色的字体来辨别语法的正确性。 2.命令语法 usage: …...

Ubuntu 20.04下配置VSCode以支持Eigen库开发

这里写目录标题 1. 安装Eigen库2. 配置VSCode的C开发环境3. 配置c_cpp_properties.json4. 编写代码并测试5. 配置tasks.json&#xff08;可选&#xff09;6. 运行程序总结 在VSCode中配置Eigen库&#xff08;用于线性代数、矩阵和向量运算的C库&#xff09;的步骤如下&#xff…...

正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-2.1 uboot简介

前言&#xff1a; 本文是根据哔哩哔哩网站上“Arm(iMX6U)Linux系统移植和根文件系统构键篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。 引用&#xff1a; …...

Android14 OTA差分包升级报kPayloadTimestampError (51)

由于VF 架构&#xff0c; 所以镜像的打包时间可能存在偏差&#xff0c; 如 boot.img 和 客制化的一些镜像打包 可能会在 vendor 侧进行打包。 而 与system 侧进行merge 时&#xff0c;时间戳比较乱&#xff0c;为了解决这个问题&#xff0c;让时间戳进行统一。 使用adb方式验证…...

PPT 技能:巧用 “节” 功能,让演示文稿更有序

在制作PPT时&#xff0c;你是否遇到过这样的情况&#xff1a;幻灯片越来越多&#xff0c;内容越来越杂&#xff0c;找某一页内容时翻得眼花缭乱&#xff1f;尤其是在处理大型PPT文件时&#xff0c;如果没有合理的结构&#xff0c;编辑和调整都会变得非常麻烦。这时候&#xff0…...

Mysql创建库、表练习

创建库 #创建 create database gc_novels default charsetutf8mb4;#default charsetutf8mb4 指定编码为utf-8#使用 use gc_novels#查看当前所在位置 select database(); 结果&#xff1a; 创建表 #创建 create table heros(-> id int,-> name varchar(50),-&…...

【原创】Ollama Test API For Linux/MacOS/Unix

安装Json解析工具 Linux/Unix sudo apt-get install jq -yMacOS brew install jq -y设置环境变量 export IP"192.168.250.229" export PORT"8080" export MODEL"deepseek-r1:7b"检查Ollama版本 curl http://"$IP":"$PORT&qu…...

盛铂科技 SLMF315频率综合器200MHz至15GHz 国产频综模块

在当今科技飞速发展的时代&#xff0c;射频技术在众多领域发挥着关键作用&#xff0c;从通信、雷达系统到科研实验&#xff0c;对频率综合器的性能要求日益严苛。以下是关于盛铂科技的 SLMF315 超低相位噪声频率综合器的介绍&#xff1a; SLMF315超低相位噪声0.2至15GHz频率综合…...

AI-前端开发webcrumbs.ai/frontend-ai,Fitten Code提高开发效率

1.webcrumbs.ai/frontend-ai Frontend AI by Webcrumbshttps://app.webcrumbs.ai/frontend-ai 可选择某一模版进行生成对应版本代码&#xff0c;减少开发量。 2.Fitten Code Vue AI 编程助手 Vue AI 编程助手 | 菜鸟教程https://www.runoob.com/vue2/fitten-code-vue2.htm…...

DeepSeek开源Day4:DualPipeEPLB技术详解

2 月 24 日&#xff0c;DeepSeek 启动 “开源周”&#xff0c;第四个开源的代码库为 DualPipe 与 EPLB&#xff08;一下发布了两个&#xff09;。DualPipe 与 EPLB 依然使用了大量与 Hopper 架构绑定的技术。 DualPipe 是由 DeepSeek-AI 团队开发的一种双向流水线并行通信算法&…...

代码随想录算法训练营第22天 | 组合 组合总和 电话号码的字母组合

77. 组合 77. 组合 - 力扣&#xff08;LeetCode&#xff09; class Solution {List<Integer> path new ArrayList<>();List<List<Integer>> result new ArrayList<>();public void backTracking(int n,int k,int startIndex){if(path.size() …...

Oracle19c进入EM Express(Oracle企业管理器)详细步骤

以下是使用Oracle 19c进入Oracle Enterprise Manager Database Express&#xff08;EM Express&#xff09;的详细步骤&#xff1a; ### **步骤 1&#xff1a;确认EM Express配置状态** 1. **登录数据库服务器** 使用Oracle用户或管理员权限账户登录操作系统。 2. **查看EM…...

Oracle 数据库基础入门(六):视图与索引的深入解析

在 Oracle 数据库的知识体系中&#xff0c;视图与索引是提升数据库操作效率和优化数据管理的重要工具。对于 Java 全栈开发者而言&#xff0c;熟练掌握视图与索引的运用&#xff0c;不仅能够增强数据库查询的性能&#xff0c;还能为构建高效稳定的后端应用提供有力支持。接下来…...

机器学习-随机森林解析

目录 一、.随机森林的思想 二、随机森林构建步骤 1.自助采样 2.特征随机选择 3构建决策树 4.集成预测 三. 随机森林的关键优势 ​**(1) 减少过拟合** ​**(2) 高效并行化** ​**(3) 特征重要性评估** ​**(4) 耐抗噪声** 四. 随机森林的优缺点 ​优点 ​缺点 五.…...

Qt添加MySql数据库驱动

文章目录 一. 安装MySql二.编译mysql动态链接库 Qt版本&#xff1a;5.14.2 MySql版本&#xff1a;8.0.41 一. 安装MySql 参考这里进行安装&#xff1a;https://blog.csdn.net/qq_30150579/article/details/146042922 将mysql安装目录里的bin&#xff0c;include和lib拷贝出来…...