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

基于Java+SpringBoot+Vue企业OA管理系统的设计与实现 前后端分离【Java毕业设计·文档报告·代码讲解·安装调试】

🍊作者:计算机编程-吉哥
🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。
🍊心愿:点赞 👍 收藏 ⭐评论 📝
🍅 文末获取源码联系

👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~
Java毕业设计项目~热门选题推荐《1000套》

技术选型

springboot、mybatisplus、vue、elementui、html、css、js、mysql、jdk1.8

数据库表结构

13张 

开发工具

idea、navicat

⭐功能

【角色】

管理员、用户

【功能模块】

  • 登录
  • 个人中心
  • 用户管理
  • 公告信息管理
  • 客户关系管理
  • 通讯录管理
  • 日程安排管理
  • 车辆信息管理
  • 文件信息管理
  • 工作日志管理
  • 上班考勤管理
  • 工资信息管理

🏆项目演示截图

1、用户信息管理

 2、公告信息管理

 3、客户关系管理

 4、通讯录管理

 5、客户关系添加

 6、通讯录添加

 7、日程安排添加

 

数据库文件设计 


CREATE TABLE `cheliangxinxi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`cheliangmingcheng` varchar(200) NOT NULL COMMENT '车辆名称',`chepaihao` varchar(200) NOT NULL COMMENT '车牌号',`cheliangleixing` varchar(200) DEFAULT NULL COMMENT '车辆类型',`cheliangyanse` varchar(200) DEFAULT NULL COMMENT '车辆颜色',`tingfangweizhi` varchar(200) DEFAULT NULL COMMENT '停放位置',`cheliangxiangqing` longtext COMMENT '车辆详情',`shiyongzhuangkuang` varchar(200) DEFAULT NULL COMMENT '使用状况',`thumbsupnum` int(11) DEFAULT '0' COMMENT '赞',`crazilynum` int(11) DEFAULT '0' COMMENT '踩',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=utf8 COMMENT='车辆信息';CREATE TABLE `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) NOT NULL COMMENT '配置参数名称',`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='配置文件';CREATE TABLE `gonggaoxinxi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`biaoti` varchar(200) NOT NULL COMMENT '标题',`leixing` varchar(200) NOT NULL COMMENT '类型',`fabushijian` datetime DEFAULT NULL COMMENT '发布时间',`gonggaoneirong` longtext COMMENT '公告内容',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COMMENT='公告信息';CREATE TABLE `gongzuorizhi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`biaoti` varchar(200) NOT NULL COMMENT '标题',`dengjishijian` datetime DEFAULT NULL COMMENT '登记时间',`gongzuoneirong` longtext COMMENT '工作内容',`yonghuming` varchar(200) DEFAULT NULL COMMENT '用户名',`xingming` varchar(200) DEFAULT NULL COMMENT '姓名',`bumen` varchar(200) DEFAULT NULL COMMENT '部门',`zhiwei` varchar(200) DEFAULT NULL COMMENT '职位',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 COMMENT='工作日志';CREATE TABLE `kehuguanxi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`kehuxingming` varchar(200) NOT NULL COMMENT '客户姓名',`xingbie` varchar(200) DEFAULT NULL COMMENT '性别',`nianling` varchar(200) DEFAULT NULL COMMENT '年龄',`shengri` date DEFAULT NULL COMMENT '生日',`gongsimingcheng` varchar(200) NOT NULL COMMENT '公司名称',`lianxidianhua` varchar(200) DEFAULT NULL COMMENT '联系电话',`youxiang` varchar(200) DEFAULT NULL COMMENT '邮箱',`hezuoneirong` longtext COMMENT '合作内容',`yonghuming` varchar(200) DEFAULT NULL COMMENT '用户名',`xingming` varchar(200) DEFAULT NULL COMMENT '姓名',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8 COMMENT='客户关系';CREATE TABLE `richenganpai` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`bianhao` varchar(200) DEFAULT NULL COMMENT '编号',`mingcheng` varchar(200) NOT NULL COMMENT '名称',`leixing` varchar(200) DEFAULT NULL COMMENT '类型',`riqi` date DEFAULT NULL COMMENT '日期',`shijian` varchar(200) DEFAULT NULL COMMENT '时间',`richengneirong` longtext COMMENT '日程内容',`yonghuming` varchar(200) DEFAULT NULL COMMENT '用户名',`xingming` varchar(200) DEFAULT NULL COMMENT '姓名',`bumen` varchar(200) DEFAULT NULL COMMENT '部门',`zhiwei` varchar(200) DEFAULT NULL COMMENT '职位',PRIMARY KEY (`id`),UNIQUE KEY `bianhao` (`bianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 COMMENT='日程安排';CREATE TABLE `shangbankaoqin` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`bianhao` varchar(200) DEFAULT NULL COMMENT '编号',`mingcheng` varchar(200) NOT NULL COMMENT '名称',`riqi` date DEFAULT NULL COMMENT '日期',`yonghuming` varchar(200) NOT NULL COMMENT '用户名',`xingming` varchar(200) DEFAULT NULL COMMENT '姓名',`bumen` varchar(200) DEFAULT NULL COMMENT '部门',`zhiwei` varchar(200) DEFAULT NULL COMMENT '职位',`zaotuicishu` varchar(200) NOT NULL COMMENT '早退次数',`chidaocishu` varchar(200) NOT NULL COMMENT '迟到次数',`qingjiacishu` varchar(200) NOT NULL COMMENT '请假次数',`kuanggongcishu` varchar(200) NOT NULL COMMENT '旷工次数',`userid` bigint(20) DEFAULT NULL COMMENT '用户id',PRIMARY KEY (`id`),UNIQUE KEY `bianhao` (`bianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=97 DEFAULT CHARSET=utf8 COMMENT='上班考勤';CREATE TABLE `token` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`userid` bigint(20) NOT NULL COMMENT '用户id',`username` varchar(100) NOT NULL COMMENT '用户名',`tablename` varchar(100) DEFAULT NULL COMMENT '表名',`role` varchar(100) DEFAULT NULL COMMENT '角色',`token` varchar(200) NOT NULL COMMENT '密码',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',`expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='token表';CREATE TABLE `tongxunlu` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`xingming` varchar(200) NOT NULL COMMENT '姓名',`nianling` varchar(200) DEFAULT NULL COMMENT '年龄',`xingbie` varchar(200) DEFAULT NULL COMMENT '性别',`touxiang` varchar(200) DEFAULT NULL COMMENT '头像',`bumen` varchar(200) DEFAULT NULL COMMENT '部门',`shoujihao` varchar(200) DEFAULT NULL COMMENT '手机号',`dizhi` varchar(200) DEFAULT NULL COMMENT '地址',`youxiang` varchar(200) DEFAULT NULL COMMENT '邮箱',`beizhu` longtext COMMENT '备注',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8 COMMENT='通讯录';CREATE TABLE `users` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(100) NOT NULL COMMENT '用户名',`password` varchar(100) NOT NULL COMMENT '密码',`role` varchar(100) DEFAULT '管理员' COMMENT '角色',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表';CREATE TABLE `wenjianxinxi` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`biaoti` varchar(200) NOT NULL COMMENT '标题',`fujian` varchar(200) DEFAULT NULL COMMENT '附件',`wenjianneirong` longtext COMMENT '文件内容',`fabushijian` datetime DEFAULT NULL COMMENT '发布时间',`yonghuming` varchar(200) DEFAULT NULL COMMENT '用户名',`xingming` varchar(200) DEFAULT NULL COMMENT '姓名',`bumen` varchar(200) DEFAULT NULL COMMENT '部门',`zhiwei` varchar(200) DEFAULT NULL COMMENT '职位',`sfsh` varchar(200) DEFAULT '否' COMMENT '是否审核',`shhf` longtext COMMENT '审核回复',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8 COMMENT='文件信息';CREATE TABLE `yonghu` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`yonghuming` varchar(200) NOT NULL COMMENT '用户名',`mima` varchar(200) NOT NULL COMMENT '密码',`xingming` varchar(200) DEFAULT NULL COMMENT '姓名',`xingbie` varchar(200) DEFAULT NULL COMMENT '性别',`touxiang` varchar(200) DEFAULT NULL COMMENT '头像',`bumen` varchar(200) DEFAULT NULL COMMENT '部门',`zhiwei` varchar(200) DEFAULT NULL COMMENT '职位',`youxiang` varchar(200) DEFAULT NULL COMMENT '邮箱',`shouji` varchar(200) DEFAULT NULL COMMENT '手机',PRIMARY KEY (`id`),UNIQUE KEY `yonghuming` (`yonghuming`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='用户';

核心代码  

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.GongzixinxiEntity;
import com.entity.view.GongzixinxiView;import com.service.GongzixinxiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 工资信息* 后端接口* @author 计算机编程-吉哥*/
@RestController
@RequestMapping("/gongzixinxi")
public class GongzixinxiController {@Autowiredprivate GongzixinxiService gongzixinxiService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,GongzixinxiEntity gongzixinxi,HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {gongzixinxi.setYonghuming((String)request.getSession().getAttribute("username"));}EntityWrapper<GongzixinxiEntity> ew = new EntityWrapper<GongzixinxiEntity>();PageUtils page = gongzixinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gongzixinxi), params), params));return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,GongzixinxiEntity gongzixinxi, HttpServletRequest request){EntityWrapper<GongzixinxiEntity> ew = new EntityWrapper<GongzixinxiEntity>();PageUtils page = gongzixinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, gongzixinxi), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( GongzixinxiEntity gongzixinxi){EntityWrapper<GongzixinxiEntity> ew = new EntityWrapper<GongzixinxiEntity>();ew.allEq(MPUtil.allEQMapPre( gongzixinxi, "gongzixinxi")); return R.ok().put("data", gongzixinxiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(GongzixinxiEntity gongzixinxi){EntityWrapper< GongzixinxiEntity> ew = new EntityWrapper< GongzixinxiEntity>();ew.allEq(MPUtil.allEQMapPre( gongzixinxi, "gongzixinxi")); GongzixinxiView gongzixinxiView =  gongzixinxiService.selectView(ew);return R.ok("查询工资信息成功").put("data", gongzixinxiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){GongzixinxiEntity gongzixinxi = gongzixinxiService.selectById(id);return R.ok().put("data", gongzixinxi);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){GongzixinxiEntity gongzixinxi = gongzixinxiService.selectById(id);return R.ok().put("data", gongzixinxi);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody GongzixinxiEntity gongzixinxi, HttpServletRequest request){gongzixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(gongzixinxi);gongzixinxiService.insert(gongzixinxi);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody GongzixinxiEntity gongzixinxi, HttpServletRequest request){gongzixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(gongzixinxi);gongzixinxiService.insert(gongzixinxi);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody GongzixinxiEntity gongzixinxi, HttpServletRequest request){//ValidatorUtils.validateEntity(gongzixinxi);gongzixinxiService.updateById(gongzixinxi);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){gongzixinxiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<GongzixinxiEntity> wrapper = new EntityWrapper<GongzixinxiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")) {wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));}int count = gongzixinxiService.selectCount(wrapper);return R.ok().put("count", count);}}

参考文档

 

更多项目推荐:计算机毕业设计项目

如果大家有任何疑虑,请在下方咨询或评论

相关文章:

基于Java+SpringBoot+Vue企业OA管理系统的设计与实现 前后端分离【Java毕业设计·文档报告·代码讲解·安装调试】

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…...

Java架构师系统架构设计性能评估

目录 1 导论2 架构评估基础系统性能衡量的基本指标2.1 系统性能的指标2.2 数据库指标2.3 并发用户数2.4 网络延迟2.4 系统吞吐量2.5 资源性能指标3 架构评估基础服务端性能测试3.1基准测试3.2 负载测试3.3 压力测试3.4 疲劳强度测试3.5 容量测试1 导论 本章的主要内容是掌握架构…...

Android可滑动的分时图以及常用动画

先看一下效果&#xff1a; 自定义View 其中顶部是模仿的股票数据分时图&#xff0c;以前也写过详细的文章传送门&#xff0c;只不过不支持左右滑动&#xff0c;这款是在那个基础上的修改 在说一下分时图的思路吧&#xff1a; 可以看作是一条条相连的直线首尾相接&#xff0c…...

软考系统架构师常考知识点整理(含案例分析、论文历年题目总结)

系统架构师常考知识点总结 计算机组成原理 1、同步/异步区分 CPU访问内存通常是同步方式 CPU与I/O接口交换信息通常是同步方式 CPU与PCI总线交换信息通常是同步方式 I/O接口与打印机交换信息则通常采用基于缓存池的异步方式, 2、双工通信方式 对端到端通信总线的信号传…...

Netty通信在中间件组件中的广泛使用-Dubbo3举例

Netty是一个高性能异步IO通信框架&#xff0c;封装了NIO&#xff0c;对各种bug做了很好的优化解决。所以很多中间件底层的通信都会使用Netty&#xff0c;比如说&#xff1a;Dubbo3&#xff0c;rocketmq&#xff0c;ElasticSearch等。 比方说&#xff0c;我们使用dubbo作为rpc跨…...

基于Java的在线拍卖系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技…...

Maven Pom

目录 Pom 父&#xff08;Super&#xff09;POM POM 标签大全详解 POM( Project Object Model&#xff0c;项目对象模型 ) 是 Maven 工程的基本工作单元&#xff0c;是一个XML文件&#xff0c;包含了项目的基本信息&#xff0c;用于描述项目如何构建&#xff0c;声明项目依赖…...

【运维日常】mongodb 集群生产实践

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…...

【MATLAB源码-第45期】基于matlab的16APSK调制解调仿真,使用卷积编码软判决。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 16APSK调制解调 16APSK (16-ary Amplitude Phase Shift Keying) 是一种相位调制技术&#xff0c;其基本思想是在恒定幅度的条件下&#xff0c;改变信号的相位&#xff0c;从而传送信息。 - 调制&#xff1a;在16APSK中&am…...

HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 八)

其他状态管理概述 除了前面章节提到的组件状态管理和应用状态管理&#xff0c;ArkTS还提供了Watch和$$来为开发者提供更多功能&#xff1a; Watch用于监听状态变量的变化。$$运算符&#xff1a;给内置组件提供TS变量的引用&#xff0c;使得TS变量和内置组件的内部状态保持同步…...

SQL按照id集合顺序返回

SQL按照id集合顺序返回 一、需求二、SQL三、MyBatis编写四、FIELD函数五、环境 一、需求 sql这样的 SELECT id, name FROM is_parent_viewshop WHERE id IN (2350, 2396, 3768, 3718, 3692) 按照id顺序返回&#xff0c;sql如何写 二、SQL SELECT id, name FROM is_parent_vi…...

04训练——基于YOLO V8的自定义数据集训练——在windows环境下使用pycharm做训练-1总体步骤

在上文中,笔者介绍了使用google公司提供的免费GPU资源colab来对大量的自定义数据集进行模型训练。该方法虽然简单好用,但是存在以下几方面的短板问题: 一是需要通过虚拟服务器做为跳板机来访问,总体操作起来非常繁杂。 二是需要将大量的数据上传缓慢,管理和使用非常不友…...

iview表格 异步修改列数据卡顿 滚动条失效

使用表格row-key属性 将row-key属性设置为true <Table ref"table" border :row-key"true" :columns"tableColumns" :loading"loading":data"tableData"></Table>...

【Linux】常驻内核和虚拟内存的区别

常驻内存和虚拟内存是计算机内存管理的两个概念。 常驻内存指的是应用程序在运行时&#xff0c;所占用的内存空间不会随着应用程序的启动和关闭而有所变化&#xff0c;这种内存是常驻在计算机的物理内存中的。即使我们关闭了电脑&#xff0c;这些程序也会保持在内存中&#xf…...

Qt 串口接收包含汉字的数据,汉字乱码

通过串口显示打印的调试信息时&#xff0c;接受的中文无法识别&#xff0c;全部乱码&#xff0c;解决办法&#xff1a; QByteArray array m_serial->readAll(); QString array QString::fromLocal8Bit(arr)...

设计模式 - 结构型模式考点篇:适配器模式(类适配器、对象适配器、接口适配器)

目录 一、适配器模式 一句话概括结构式模式 1.1、适配器模式概述 1.2、案例 1.2.1、类适配器模式实现案例 1.2.2、对象适配器 1.2.3、接口适配器 1.3、优缺点&#xff08;对象适配器模式&#xff09; 1.4、应用场景 一、适配器模式 一句话概括结构式模式 教你将类和对…...

android Google官网 :支持不同的语言和文化 rtl / ltr : 本地化适配:RTL(right-to-left) 适配

参考 google官网&#xff1a; 支持不同的语言和文化 应用包含可能专门针对特定文化而设计的资源。例如&#xff0c;应用可以包含针对特定文化的字符串&#xff0c;这些字符串将转换为当前语言区域的语言。 将具有文化特异性的资源与应用的其他资源分开是一种很好的做法。And…...

Visual Studio Code配置C/C++开发环境

C/C开发中的IDE非常多&#xff0c;网上有推荐安装Visual Studio 2019/2020/2022。但是登录官方网址下载&#xff0c;此软件体积非常大(8G以上)&#xff0c;且企业版、专业版会收费。 因此&#xff0c;我们推荐大家可以尝试通过Visual Studio Code来配置C/C开发环境 环境准备 Mi…...

室内渲染的艺术:创造理想空间的视觉魔法!

在繁忙的生活中&#xff0c;我们常常渴望拥有一个属于自己的安静空间。这个空间可以是一间温馨的卧室&#xff0c;也可以是一间舒适的客厅&#xff0c;甚至可以是一个小小的书房。而这个空间的营造&#xff0c;离不开室内渲染。 室内渲染是一种艺术&#xff0c;它用色彩、光线…...

php发送get、post请求的6种方法简明总结?

这篇文章主要介绍php发送get、post请求的6种方法简明总结,分别为使用file_get_contents 、fopen、fsockopen、curl来发送GET和POST请求,需要的朋友可以参考下 方法1: 用file_get_contents 以get方式获取内容&#xff1a; <?php $urlhttp://www.51growup.com/; $html f…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...