毕业生求职招聘网站的设计与实现JAVA(SpringBoot+VUE+Mysql)

news2025/1/10 23:53:33

由SpringBoot+VUE+Mysql实现的网站的设计

功能模块

设计思路:主要分为管理员、毕业生、招聘企业三大身份模块

 首先是登录界面

注册界面

其次就是公共页面

公共页面又分为首页、空中宣讲会、招聘岗位、求职信息、论坛信息、试卷列表、招聘资讯、个人中心和后台管理、设计考试试题等

首页

空中宣讲会界面

 

 求职信息

此界面可以进行岗位要求精准查询功能

使用查询功能

部分核心代码

 @RequestMapping("/lists")
    public R list( QiuzhixinxiEntity qiuzhixinxi){
       	EntityWrapper<QiuzhixinxiEntity> ew = new EntityWrapper<QiuzhixinxiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( qiuzhixinxi, "qiuzhixinxi")); 
        return R.ok().put("data", qiuzhixinxiService.selectListView(ew));
    }

    @RequestMapping("/query")
    public R query(QiuzhixinxiEntity qiuzhixinxi){
        EntityWrapper< QiuzhixinxiEntity> ew = new EntityWrapper< QiuzhixinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( qiuzhixinxi, "qiuzhixinxi")); 
		QiuzhixinxiView qiuzhixinxiView =  qiuzhixinxiService.selectView(ew);
		return R.ok("查询求职信息成功").put("data", qiuzhixinxiView);
    }
	

    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        QiuzhixinxiEntity qiuzhixinxi = qiuzhixinxiService.selectById(id);
        return R.ok().put("data", qiuzhixinxi);
    }


    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") String id){
        QiuzhixinxiEntity qiuzhixinxi = qiuzhixinxiService.selectById(id);
        return R.ok().put("data", qiuzhixinxi);
    }
    



    @RequestMapping("/save")
    public R save(@RequestBody QiuzhixinxiEntity qiuzhixinxi, HttpServletRequest request){
    	qiuzhixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(qiuzhixinxi);
        qiuzhixinxiService.insert(qiuzhixinxi);
        return R.ok();
    }
    
 
    @RequestMapping("/add")
    public R add(@RequestBody QiuzhixinxiEntity qiuzhixinxi, HttpServletRequest request){
    	qiuzhixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(qiuzhixinxi);
        qiuzhixinxiService.insert(qiuzhixinxi);
        return R.ok();
    }

 

 

模块1 管理员功能权限

管理员主要功能:访问页面、个人中心管理、企业管理、空中宣讲会管理、招聘岗位管理、毕业生管理、个人简历管理、求职信息管理、信息咨询管理、岗位应聘管理

管理员后台

管理员主要权限包括了毕业生、企业的所有功能,即拥有超级权限,可以修改、查询任何信息。

 

 

部分核心代码:

@RequestMapping("/save")
    public R save(@RequestBody QiyeEntity qiye, HttpServletRequest request){
    	qiye.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(qiye);
    	QiyeEntity user = qiyeService.selectOne(new EntityWrapper<QiyeEntity>().eq("qiyebianhao", qiye.getQiyebianhao()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		qiye.setId(new Date().getTime());
        qiyeService.insert(qiye);
        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<QiyeEntity> wrapper = new EntityWrapper<QiyeEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = qiyeService.selectCount(wrapper);
		return R.ok().put("count", count);
	}

 

@RestController
@RequestMapping("/examrecord")
public class ExamrecordController {
    @Autowired
    private ExamrecordService examrecordService;
    

    @RequestMapping("/groupby")
    public R page2(@RequestParam Map<String, Object> params,ExamrecordEntity examrecord, HttpServletRequest request){
    	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
    		examrecord.setUserid((Long)request.getSession().getAttribute("userId"));
    	}

        EntityWrapper<ExamrecordEntity> ew = new EntityWrapper<ExamrecordEntity>();
		PageUtils page = examrecordService.queryPageGroupBy(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examrecord), params), params));
        return R.ok().put("data", page);
    }

    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ExamrecordEntity examrecord, HttpServletRequest request){
    	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
    		examrecord.setUserid((Long)request.getSession().getAttribute("userId"));
    	}
        EntityWrapper<ExamrecordEntity> ew = new EntityWrapper<ExamrecordEntity>();
		PageUtils page = examrecordService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examrecord), params), params));

        return R.ok().put("data", page);
    }
    

    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ExamrecordEntity examrecord, HttpServletRequest request){
    	if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
    		examrecord.setUserid((Long)request.getSession().getAttribute("userId"));
    	}
        EntityWrapper<ExamrecordEntity> ew = new EntityWrapper<ExamrecordEntity>();
		PageUtils page = examrecordService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, examrecord), params), params));
        return R.ok().put("data", page);
    }

 修改企业信息

可以对企业的相关信息进行一系列操作

 


    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ZhaopingangweiEntity zhaopingangwei, HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("qiye")) {
			zhaopingangwei.setQiyebianhao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ZhaopingangweiEntity> ew = new EntityWrapper<ZhaopingangweiEntity>();
		PageUtils page = zhaopingangweiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhaopingangwei), params), params));

        return R.ok().put("data", page);
    }
    
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ZhaopingangweiEntity zhaopingangwei, HttpServletRequest request){
        EntityWrapper<ZhaopingangweiEntity> ew = new EntityWrapper<ZhaopingangweiEntity>();
		PageUtils page = zhaopingangweiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhaopingangwei), params), params));
        return R.ok().put("data", page);
    }

模块2 毕业生功能权限

毕业生主要功能:访问首页、个人中心管理、个人简历管理、信息咨询管理、岗位搜索、访问考试并参与等

毕业生个人中心

此页面可以进行修改个人信息,也可以查看自己的收藏、包括考试记录等。

@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		BiyeshengEntity user = biyeshengService.selectOne(new EntityWrapper<BiyeshengEntity>().eq("yonghuming", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(), username,"biyesheng",  "毕业生" );
		return R.ok().put("token", token);
	}
	
	
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody BiyeshengEntity biyesheng){
    	//ValidatorUtils.validateEntity(biyesheng);
    	BiyeshengEntity user = biyeshengService.selectOne(new EntityWrapper<BiyeshengEntity>().eq("yonghuming", biyesheng.getYonghuming()));
		if(user!=null) {
			return R.error("注册用户已存在");
		}
		Long uId = new Date().getTime();
		biyesheng.setId(uId);
        biyeshengService.insert(biyesheng);
        return R.ok();
    }
	
	
	@RequestMapping("/logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        BiyeshengEntity user = biyeshengService.selectById(id);
        return R.ok().put("data", user);
    }

毕业生查看招聘试题功能

查看招聘试题功能

 

    @RequestMapping("/save")
    public R save(@RequestBody ExamrecordEntity examrecord, HttpServletRequest request){
    	examrecord.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(examrecord);
    	examrecord.setUserid((Long)request.getSession().getAttribute("userId"));
        examrecordService.insert(examrecord);
        return R.ok();
    }
    

    @RequestMapping("/add")
    public R add(@RequestBody ExamrecordEntity examrecord, HttpServletRequest request){
    	examrecord.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(examrecord);
    	examrecord.setUserid((Long)request.getSession().getAttribute("userId"));
        examrecordService.insert(examrecord);
        return R.ok();
    }


    @RequestMapping("/update")
    public R update(@RequestBody ExamrecordEntity examrecord, HttpServletRequest request){
        //ValidatorUtils.validateEntity(examrecord);
        examrecordService.updateById(examrecord);//全部更新
        return R.ok();
    }
    

    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        examrecordService.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);

@RequestMapping("/save")
    public R save(@RequestBody BiyeshengEntity biyesheng, HttpServletRequest request){
    	biyesheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(biyesheng);
    	BiyeshengEntity user = biyeshengService.selectOne(new EntityWrapper<BiyeshengEntity>().eq("yonghuming", biyesheng.getYonghuming()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		biyesheng.setId(new Date().getTime());
        biyeshengService.insert(biyesheng);
        return R.ok();
    }

@RequestMapping("/add")
    public R add(@RequestBody BiyeshengEntity biyesheng, HttpServletRequest request){
    	biyesheng.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(biyesheng);
    	BiyeshengEntity user = biyeshengService.selectOne(new EntityWrapper<BiyeshengEntity>().eq("yonghuming", biyesheng.getYonghuming()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		biyesheng.setId(new Date().getTime());
        biyeshengService.insert(biyesheng);
        return R.ok();
    }

 模块3 企业功能权限

 企业主要功能有访问主页、个人中心管理、空中宣讲会管理、招聘岗位管理、信息咨询管理、岗位应聘管理等

 企业后台页面

岗位应聘页面

在此页面企业可以查看毕业生对企业发起的求职信息,在此对毕业生进行线上面试

 

主要核心代码

@RestController
@RequestMapping("/mianshihuifu")
public class MianshihuifuController {
    @Autowired
    private MianshihuifuService mianshihuifuService;
    


    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,MianshihuifuEntity mianshihuifu, HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("qiye")) {
			mianshihuifu.setQiyebianhao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("biyesheng")) {
			mianshihuifu.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<MianshihuifuEntity> ew = new EntityWrapper<MianshihuifuEntity>();
		PageUtils page = mianshihuifuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, mianshihuifu), params), params));

        return R.ok().put("data", page);
    }

    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,MianshihuifuEntity mianshihuifu, HttpServletRequest request){
        EntityWrapper<MianshihuifuEntity> ew = new EntityWrapper<MianshihuifuEntity>();
		PageUtils page = mianshihuifuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, mianshihuifu), params), params));
        return R.ok().put("data", page);
    }

    @RequestMapping("/lists")
    public R list( MianshihuifuEntity mianshihuifu){
       	EntityWrapper<MianshihuifuEntity> ew = new EntityWrapper<MianshihuifuEntity>();
      	ew.allEq(MPUtil.allEQMapPre( mianshihuifu, "mianshihuifu")); 
        return R.ok().put("data", mianshihuifuService.selectListView(ew));
    }


    @RequestMapping("/query")
    public R query(MianshihuifuEntity mianshihuifu){
        EntityWrapper< MianshihuifuEntity> ew = new EntityWrapper< MianshihuifuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( mianshihuifu, "mianshihuifu")); 
		MianshihuifuView mianshihuifuView =  mianshihuifuService.selectView(ew);
		return R.ok("查询面试回复成功").put("data", mianshihuifuView);
    }
	

    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        MianshihuifuEntity mianshihuifu = mianshihuifuService.selectById(id);
        return R.ok().put("data", mianshihuifu);
    }


    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") String id){
        MianshihuifuEntity mianshihuifu = mianshihuifuService.selectById(id);
        return R.ok().put("data", mianshihuifu);
    }
    


    @RequestMapping("/save")
    public R save(@RequestBody MianshihuifuEntity mianshihuifu, HttpServletRequest request){
    	mianshihuifu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(mianshihuifu);
        mianshihuifuService.insert(mianshihuifu);
        return R.ok();
    }

 招聘问题管理

 部分核心代码

 @RequestMapping("/add")
    public R add(@RequestBody ExamquestionEntity examquestion, HttpServletRequest request){
    	examquestion.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(examquestion);
        examquestionService.insert(examquestion);
        return R.ok();
    }


    @RequestMapping("/update")
    public R update(@RequestBody ExamquestionEntity examquestion, HttpServletRequest request){
        //ValidatorUtils.validateEntity(examquestion);
        examquestionService.updateById(examquestion);//全部更新
        return R.ok();
    }
    

    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        examquestionService.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));
			}
		}

 设计说明文档

 下面是功能设计文档部分内容

文档一共分为六个部分

1、绪论

2、相关技术原理和开发工具

3、系统分析

4、系统设计

5、系统功能模块的实现

6、系统测试

 

 

 

 

如果有问题可以直接私信

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【原创】内网穿透案例

案列一&#xff08;Frp内网渗透&#xff09; 大概图列网上随便找的&#xff0c;路线是这个样子 这里选用ctfshow的一道命令执行题 由Frp实现内网访问及扫描 1.传入一句话&#xff0c;上线蚁剑http://b85fdf24-b98e-4810-9e76-a038a8987630.challenge.ctf.show:8080/?cecho…

C语言--位段

C语言—位段 文章目录 C语言---位段一、位段是什么&#xff1f;二、位段的内存分配三&#xff0c;位段的跨平台问题四&#xff0c;位段的应用 一、位段是什么&#xff1f; 位段的声明和结构是类似的&#xff0c;有两个不同&#xff1a; 位段的成员必须是 int、unsigned int 或…

代码随想录day12 | [前、中、后、层]二叉树的遍历迭代法和递归法

文章目录 一、前后中序递归法二、前后序迭代法三、中序遍历迭代法四、层序遍历 递归三部曲&#xff1a; 1️⃣ 第一步确定递归函数的返回值和参数 2️⃣第二步确定递归的终止条件 3️⃣第三步确定单层递归处理的逻辑 一、前后中序递归法 前序遍历二叉树 class Solution { pr…

vue三级路由的写法

{path: "/trafficmanagement",component: Layout,redirect: "/trafficmanagement",alwaysShow: true,meta: {title: "通行模块",icon: "excel",},children: [{path: "carline",name: "carline",alwaysShow: true,…

数据结构day8(2023.7.25)

一、排序算法 排序&#xff1a;把无需序列转换为有序序列的一种算法。 内排&#xff1a;在计算机内存中实现的排序算法【多用适用于数据量较小的情况】 外排&#xff1a;在计算机内存以及外部介质实现的排序算法【先内存&#xff0c;在外部】 排序的分类&#xff1a; 交换排…

Godot 4 源码分析 - 获取脚本

获取属性列表 今天搂草打兔&#xff0c;取得了脚本内容 因为已能取得属性值&#xff0c;那就再进一步&#xff0c;取得属性名列表 if (SameText(drGet.propertyName, "propertyNames", DRGRAPH_FLAG_CASESENSITIVE)) {List<PropertyInfo> *p_list new List…

8年测试整理,自动化测试框架从0到1实施,一篇打通自动化...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 框架本身一般不完…

【LeetCode】62.不同路径

题目 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&#xff1f; …

信息的表示与处理 (深入理解计算机系统第二章)

刚学习这本书没多久&#xff0c;感觉里面讲的东西挺多的&#xff0c;前后的关联性比较强。学着后面的还需要看看前的才可以更好的理解。 2.1信息存储 无符号(unsigned) 编码是基于传统的二进制表示法的&#xff0c;表示大于或者等于零的数字。 二进制补码(twos-complement)编…

7.string字符串的加法

字符串的加法其实是一个拼接生成新的一个字符串&#xff0c; #include <iostream> #include <Windows.h> #include <string> using namespace std; int main(void) { string s1 "武当派"; string s2 "张三丰"; string s3 "太极…

[Ubuntu 22.04] containerd配置HTTP方式拉取私仓Harbor

文章目录 1. 基础环境配置2. Docker安装3. 部署Harbor&#xff0c;HTTP访问4. 部署ContainerD5. 修改docker配置文件&#xff0c;向harbor中推入镜像6. 配置containerd6.1. 拉取镜像验证6.2. 推送镜像验证 1. 基础环境配置 [Ubuntu 22.04] 安装K8S基础环境准备脚本 2. Docker安…

防静电实时监控系统可以实现的功能

防静电实时监控系统是一种用于监测和识别静电相关问题的技术系统。静电是指由于电荷分布不均匀而引起的电势差&#xff0c;这可能导致电击、电磁干扰和设备故障等问题。 防静电实时监控系统可以通过以下方式实现&#xff1a; 感应传感器&#xff1a;该系统通常使用静电传感器…

flutter开发实战-自定义相机camera功能

flutter开发实战-自定义相机camera功能。 Flutter 本质上只是一个 UI 框架&#xff0c;运行在宿主平台之上&#xff0c;Flutter 本身是无法提供一些系统能力&#xff0c;比如使用蓝牙、相机、GPS等&#xff0c;因此要在 Flutter 中调用这些能力就必须和原生平台进行通信。 实现…

软件测试经典面试题——如何测试一支签字笔(尽量全面)

前几天过了两个电话面试&#xff0c;其中有一个问题&#xff1a;给你一支签字笔&#xff0c;你要如何测试它。 大白如我&#xff0c;后来才知道&#xff0c;这是一个软测的面试老题目了&#xff0c;当时稀里糊涂答了一通&#xff0c;后来才回味过来&#xff0c;其实HR是想看我的…

ROS2自定义消息并在同一功能包与其他功能包中使用

1创建自定义消息 1.1. 创建工作空间 mkdir -p ros2_ws/src1.2.创建功能包 cd ros2_ws/src ros2 pkg create msg_pkg --build-type ament_cmake --dependencies rclcpp std_msgs1.3.创建消息 在功能包msg_pkg中创建msg文件夹,并在msg目录中创建消息文件.类型.msg. 如Student…

【C++】从0到1讲继承|复杂的菱形继承

个人主页&#xff1a;&#x1f35d;在肯德基吃麻辣烫 我的gitee&#xff1a;gitee仓库 分享一句喜欢的话&#xff1a;热烈的火焰&#xff0c;冰封在最沉默的火山深处。 前言 本文主要讲述的是继承的概念&#xff0c;以及基类和派生类和衍生出的各种东西&#xff0c;还有多继承…

js实现css样式变换的实训

js实现css样式变换的实训 一、需求二、效果展示1.效果展示 三、实现四、其他1.其它系统 一、需求 完成以下功能&#xff1a; 1.掌控板三颗RGB灯初始所有RGB灯为红色 2.当掌控板P被触摸时&#xff0c;第一颗灯为白色&#xff0c;其他为红色&#xff1b;当掌控板Y被触摸时&…

C# GDI+编程之Graphics类

最近需要使用到C#DrawLine绘制直线这个功能&#xff0c;对这个了解的不多&#xff0c;记录一下使用的时候遇到的问题。 绘制线的基础部分&#xff0c;这个之前在《C#自学笔记&#xff08;四十&#xff09;之Windows绘图》就写过&#xff0c;有兴趣的可以看下 我这里主要说下Gra…

选择最佳安全文件传输方法的重要性

在数字化时代&#xff0c;文件的传输是商务、教育、科研、医学等领域不可或缺的工作流程。为了保障数据安全&#xff0c;选择最佳安全文件传输方法非常关键。在本文中&#xff0c;我们将探讨选择最佳安全文件传输方法的重要性。 第一、最佳安全文件传输方法可以保证文件内容不被…

【C++进阶】可变模版参数

一、前言 我们在之前Linux的学习中了解过命令行参数&#xff0c;可以让我们在命令行中传入多个参数&#xff0c;并且之前在学习printf&#xff0c;scanf等接口时&#xff0c;接触过可变模版参数&#xff1a; 而今天学习的可变参数模板和普通模板的语义是一样的&#xff0c;只…