计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-项目实战

作者主页:IT毕设梦工厂✨
个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

文章目录

  • 一、前言
  • 二、开发环境
  • 三、系统界面展示
  • 四、部分代码设计
  • 五、论文参考
  • 六、系统视频
  • 结语

一、前言

随着科技的快速发展和智能手机的普及,移动互联网已经成为了人们生活中不可或缺的一部分。在教育领域,越来越多的家长和老师希望通过便捷的移动应用来实现家校互动,提高教育管理的效率。幼儿园作为孩子成长过程中的重要阶段,其管理方式的现代化和信息化显得尤为重要。因此,开发一款针对幼儿园管理的微信小程序/安卓APP,旨在满足家长、老师和管理人员的需求,提高幼儿园的管理水平和服务质量。

尽管目前已经有一些幼儿园管理应用在市场上出现,但它们在功能、用户体验和安全性方面仍存在诸多问题。例如,部分应用的功能过于简单,无法满足家长和老师在教育管理方面的多样化需求;部分应用的界面设计不够友好,导致用户难以快速上手;还有一些应用在数据安全方面存在隐患,可能泄露家长和学生的隐私信息。这些问题使得现有的解决方案无法完全满足幼儿园管理的需求,进一步强调了开发一款功能完善、易用且安全的幼儿园管理应用的必要性。

本课题旨在设计和开发一款集教学特色信息管理、课程分类管理、课程信息管理、学生活动管理、学生食谱管理、放假通知管理、留言反馈管理等功能于一体的幼儿园管理微信小程序/安卓APP。通过实现这些功能,我们将为家长、老师和管理人员提供一个便捷的沟通和协作平台,帮助他们更好地关注和参与孩子的教育过程,提高幼儿园的整体管理水平。

本课题的研究意义主要体现在以下几个方面:首先,它有助于推动幼儿园管理的现代化和信息化,提高教育服务质量;其次,通过提供丰富的功能和良好的用户体验,有助于加强家校之间的沟通与合作,增进孩子健康成长;再次,本课题的研究成果还将为其他教育机构提供借鉴和参考,推动整个教育行业的技术创新和发展。

二、开发环境

  • 开发语言:Java
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:SpringBoot
  • 前端:微信小程序/Android+uniapp+Vue

三、系统界面展示

  • 幼儿园管理微信小程序/安卓APP界面展示:
    幼儿园管理微信小程序/安卓APP-家长个人中心
    幼儿园管理微信小程序/安卓APP-老师个人中心
    幼儿园管理微信小程序/安卓APP-学生活动管理-老师
    幼儿园管理微信小程序/安卓APP-课程信息管理
    幼儿园管理微信小程序/安卓APP-学生活动管理
    幼儿园管理微信小程序/安卓APP-学生食谱管理

四、部分代码设计

  • 微信小程序/安卓APP项目实战-代码参考:
@Controller
@RequestMapping(value = "/ls")
public class TeacherController {

	@Autowired
	private StudentService studentService;
	@Autowired
	private ClassService classService;
	@Autowired
	private NoticeService noticeService;
	@Autowired
	private SignService signService;
	@Autowired
	private UserService userService;
	@Autowired
	private UserChildrenService userChildrenService;
	@Autowired
	private CourseService courseService;
	
	@RequestMapping("/stu")
	public String stu(Model model) {
		List<Classes> classes=classService.selectAllClasses();
		model.addAttribute("cla", classes);
		return "ls/stuPage";
	}
	//学生管理
	
		/**
		 * Method name: teacherPage <BR>
		 * Description: 教师管理页面 <BR>
		 * 
		 * @return String<BR>
		 */
		@RequestMapping(value = "/stuMG")
		public String teaMG(Model model) {
			List<Classes> classes=classService.selectAllClasses();
			model.addAttribute("cla", classes);
			return "ls/student";
		}
		
		/**
		 * Method name: getAllStudentByLimit <BR>
		 * Description: 根据条件获取所有教师 <BR>
		 * 
		 * @param userParameter
		 * @return Object<BR>
		 */
		@RequestMapping("/getAllStudentByLimit")
		@ResponseBody
		public Object getAllStudentByLimit(Children stuParameter) {
			return studentService.getAllStudentByLimit(stuParameter);
		}
		
		/**
		 * Method name: addStuPage <BR>
		 * Description: 增加教师界面 <BR>
		 * 
		 * @return String<BR>
		 */
		@RequestMapping(value = "/addStuPage")
		public String addStuPage(Integer id, Model model) {
			model.addAttribute("manageStu", id);
			if (null != id) {
				Children student = studentService.selectByPrimaryKey(id);
				//UserChildren userChild = userChildrenService.selectById(id);
				model.addAttribute("manageStu", student);
				//model.addAttribute("manageChild", userChild);
				UserChildren uc = userChildrenService.selectByUCId(student.getId());
				model.addAttribute("uc", uc);
			}
			List<Classes> classes=classService.selectAllClasses();
			model.addAttribute("cla", classes);
			
			List<User> user=userService.selectAllJiazhang();
			model.addAttribute("user", user);
			return "ls/stuPageAdd";
		}
		
		/**
		 * Method name: addStu <BR>
		 * Description: 教师添加 <BR>
		 * 
		 * @param user
		 * @return String<BR>
		 */
		@ResponseBody
		@RequestMapping("/addStu")
		public String addStu(Children student) {
			try {
				
				studentService.addStudent(student);
				addUserChildren(student);
				return "SUCCESS";
			} catch (Exception e) {
				return "ERR";
			}
		}
        public void addUserChildren(Children student) {
        	UserChildren userChildern = new UserChildren();
        	userChildern.setChildrenId(student.getId());
        	userChildern.setUserId(student.getUserId());
        	userChildern.setIsFaMa(student.getIsFaMa());
        	userChildern.setIsJinji(student.getIsJinji());
        	userChildrenService.addUserChildren(userChildern);
        	
        }
		/**
		 * Method name: updateStudent <BR>
		 * Description: 更新教师 <BR>
		 * 
		 * @param user
		 * @return String<BR>
		 */
		@ResponseBody
		@RequestMapping("/updateStudent")
		public String updateStudent(Children studnet) {
			UserChildren uc = new UserChildren();
			uc.setId(studnet.getUcId());
			uc.setChildrenId(studnet.getId());
			uc.setIsFaMa(studnet.getIsFaMa());
			uc.setIsJinji(studnet.getIsJinji());
			uc.setUserId(studnet.getUserId());
			userChildrenService.updateUC(uc);
			return studentService.updateStu(studnet);
		}
		
		/**
		 * Method name: delClaTea <BR>
		 * Description: 批量删除教师<BR>
		 * 
		 * @param ids
		 * @return String<BR>
		 */
		@RequestMapping(value = "delStudent")
		@ResponseBody
		@Transactional
		public String delStudent(String[] ids) {
			try {
				for (String id : ids) {
					studentService.delStudentById(Integer.parseInt(id));
				}
				return "SUCCESS";
			} catch (Exception e) {
				
				TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
				return "ERROR";
			}
		}
		
		//公告管理
		
			/**
			 * Method name: gg <BR>
			 * Description: 教师管理页面 <BR>
			 * 
			 * @return String<BR>
			 */
			@RequestMapping(value = "/gg")
			public String gg() {
				return "ls/notice";
			}
			
			/**
			 * Method name: getAllNoticeByLimit <BR>
			 * Description: 根据条件获取所有教师 <BR>
			 * 
			 * @param userParameter
			 * @return Object<BR>
			 */
			@RequestMapping("/getAllNoticeByLimit")
			@ResponseBody
			public Object getAllNoticeByLimit(Notice noticeParameter) {
				return noticeService.getAllNoticeByLimit(noticeParameter);
			}
			
			/**
			 * Method name: addStuPage <BR>
			 * Description: 增加教师界面 <BR>
			 * 
			 * @return String<BR>
			 */
			@RequestMapping(value = "/addNoticePage")
			public String addNoticePage(Integer id, Model model) {
				model.addAttribute("manageNotice", id);
				if (null != id) {
					Notice notice = noticeService.selectByPrimaryKey(id);
					model.addAttribute("manageNotice", notice);
				}
				
				return "ls/noticeAdd";
			}
			
			/**
			 * Method name: addStu <BR>
			 * Description: 教师添加 <BR>
			 * 
			 * @param user
			 * @return String<BR>
			 */
			@ResponseBody
			@RequestMapping("/addNotice")
			public String addNotice(Notice notice) {
				try {
					notice.setCreatTime(new Date());
					noticeService.addNotice(notice);
					return "SUCCESS";
				} catch (Exception e) {
					return "ERR";
				}
			}

			/**
			 * Method name: updateStudent <BR>
			 * Description: 更新教师 <BR>
			 * 
			 * @param user
			 * @return String<BR>
			 */
			@ResponseBody
			@RequestMapping("/updateNotice")
			public String updateNotice(Notice notice) {
				return noticeService.updateStu(notice);
			}
			
			/**
			 * Method name: delClaTea <BR>
			 * Description: 批量删除教师<BR>
			 * 
			 * @param ids
			 * @return String<BR>
			 */
			@RequestMapping(value = "delNotice")
			@ResponseBody
			@Transactional
			public String delNotice(String[] ids) {
				try {
					for (String id : ids) {
						noticeService.delNoticeById(Integer.parseInt(id));
					}
					return "SUCCESS";
				} catch (Exception e) {
					
					TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
					return "ERROR";
				}
			}
			
			//考勤管理
			
			/**
			 * Method name: lskq <BR>
			 * Description: 教师管理页面 <BR>
			 * 
			 * @return String<BR>
			 */
			@RequestMapping(value = "/lskq")
			public String lskq() {
				return "ls/sign";
			}
			
			/**
			 * Method name: getAllSignByLimit <BR>
			 * Description: 根据条件获取所有教师 <BR>
			 * 
			 * @param userParameter
			 * @return Object<BR>
			 */
			@RequestMapping("/getAllSignByLimit")
			@ResponseBody
			public Object getAllSignByLimit(Sign signParameter) {
				return signService.getAllSignByLimit(signParameter);
			}
			
		
			//打卡
			@RequestMapping(value = "/qianDaoTui")
			public String qianDaoTui() {
				return "ls/daKa";
			}
			/**
			 * Method name: addStu <BR>
			 * Description: 教师添加 <BR>
			 * 
			 * @param user
			 * @return String<BR>
			 */
			@ResponseBody
			@RequestMapping("/addSign")
			public String addSign(Sign sign) {
			    Subject subject = SecurityUtils.getSubject();
				User user = (User) subject.getPrincipal();
				try {
					Date date=new Date();
					SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
					
					String time = formatter.format(date).split(" ")[2];
					String time1 = formatter.format(date).split(" ")[1];
					String s=PropertyUtil.getConfigureProperties("startTime");
					
					if(time.equals("上午") && time1.compareTo(s)>0) {
						sign.setState(1);
					}else {
						sign.setState(3);
					}
					sign.setType(1);
					sign.setSignIn(date);
					sign.setKqrId(user.getUserId());
					sign.setKqrType(user.getUserState());
					signService.addSign(sign);
					return "SUCCESS";
				} catch (Exception e) {
					return "ERR";
				}
			}

			/**
			 * Method name: addStu <BR>
			 * Description: 教师添加 <BR>
			 * 
			 * @param user
			 * @return String<BR>
			 */
			@ResponseBody
			@RequestMapping("/addQianTui")
			public String addQianTui(Sign sign) {
			    Subject subject = SecurityUtils.getSubject();
				User user = (User) subject.getPrincipal();
				try {
					Date date=new Date();
					SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a");
					String time = formatter.format(date).split(" ")[2];
					String time1 = formatter.format(date).split(" ")[1];
					
					String s=PropertyUtil.getConfigureProperties("endTime");
					
					if(time.equals("下午") && time1.compareTo(s)<0) {
						sign.setState(1);
					}else{
						sign.setState(2);
					}
					sign.setType(2);
					sign.setSignIn(date);
					sign.setKqrId(user.getUserId());
					sign.setKqrType(user.getUserState());
					signService.addSign(sign);
					return "SUCCESS";
				} catch (Exception e) {
					return "ERR";
				}
			}
           //学生考勤
			@RequestMapping(value = "/xskq")
			public String xskq() {
				return "ls/childSign";
			}
			
			/**
			 * Method name: getAllSignByLimit <BR>
			 * Description: 根据条件获取所有教师 <BR>
			 * @param userParameter
			 * @return Object<BR>
			 */
			@RequestMapping("/getAllChildSignByLimit")
			@ResponseBody
			public Object getAllChildSignByLimit(Sign signParameter) {
				return signService.getAllChildSignByLimit(signParameter);
			}
			
			//所有老师签到的总次数统计
			@RequestMapping(value = "/kqtj")
			public String kqtj(Model model) {
				List<TongJi> ts = signService.getAllTeacherCount();
				List<String> names = new ArrayList<>();
				List<Integer> zc =  new ArrayList<>();
				List<Integer> tq =  new ArrayList<>();
				List<Integer> cd =  new ArrayList<>();
				
				for (TongJi tongJi : ts) {
					names.add(tongJi.getUserName());
					zc.add(tongJi.getZhengChang());
					tq.add(tongJi.getTiQian());
					cd.add(tongJi.getChiDao());
				}
				
				model.addAttribute("names", names);
				model.addAttribute("zc", zc);
				model.addAttribute("tq", tq);
				model.addAttribute("cd", cd);
				
				return "ls/tongJi";
			}
			
			//所有学生签到的总次数统计
			@RequestMapping(value = "/tongJiXueSheng")
			public String tongJiXueSheng(Model model) {
				List<TongJi> ts = signService.getAllChildCount();
				List<String> names = new ArrayList<>();
				List<Integer> zc =  new ArrayList<>();
				List<Integer> tq =  new ArrayList<>();
				List<Integer> cd =  new ArrayList<>();
				
				for (TongJi tongJi : ts) {
					names.add(tongJi.getUserName());
					zc.add(tongJi.getZhengChang());
					tq.add(tongJi.getTiQian());
					cd.add(tongJi.getChiDao());
				}
				
				model.addAttribute("names", names);
				model.addAttribute("zc", zc);
				model.addAttribute("tq", tq);
				model.addAttribute("cd", cd);
				
				return "ls/tongJiXueSheng";
			}
			
			@RequestMapping(value = "/course")
			public String course(Model model) {
				return "ls/course";
			}
			
			//课程
			@RequestMapping(value = "/courseAdd")
			public String courseAdd(Model model) {
				List<User> users = userService.selectAllTea();
				model.addAttribute("users", users);
				
				List<Classes> clas = classService.selectAllClasses();
				model.addAttribute("cla", clas);
				return "ls/courseAdd";
			}
			
			@RequestMapping("/getAllCourseByLimit")
			@ResponseBody
			public Object getAllCourseByLimit(Course course) {
				return courseService.getAllCourseByLimit(course);
			}
			@ResponseBody
			@RequestMapping("/addCourse")
			public String addCourse(Course course) {
				course.setCreateTime(new Date());
			    try {					
			    	courseService.addCourse(course);
			    	return "SUCCESS";
				} catch (Exception e) {
					return "ERR";
				}
			}
			
			@ResponseBody
			@RequestMapping("/delCourse")
			public String delCourse(Integer id) {
			    try {					
			    	courseService.delCourse(id);
			    	return "SUCCESS";
				} catch (Exception e) {
					return "ERR";
				}
			}
}
@Controller
public class LoginController {
	@Autowired
	private ResultMap resultMap;
	@Autowired
	private UserService userService;// 用户登录service
	@Autowired
	private PageService pageService;

	private final Logger logger = LoggerFactory.getLogger(LoginController.class);

	@RequestMapping(value = "/notLogin", method = RequestMethod.GET)
	@ResponseBody
	public ResultMap notLogin() {
		logger.warn("尚未登陆!");
		return resultMap.success().message("您尚未登陆!");
	}

	@RequestMapping(value = "/notRole", method = RequestMethod.GET)
	@ResponseBody
	public ResultMap notRole() {
		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();
		if (user != null) {
			logger.info("{}---没有权限!", user.getUserName());
		}
		return resultMap.success().message("您没有权限!");
	}

	/**
	 * Method name: logout <BR>
	 * Description: 退出登录 <BR>
	 * @return String<BR>
	 */
	@RequestMapping(value = "/logout", method = RequestMethod.GET)
	public String logout() {
		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();
		if (null != user) {
			logger.info("{}---退出登录!", user.getUserName());
		}
		subject.logout();
		return "login";
	}

	/**
	 * Method name: login <BR>
	 * Description: 登录验证 <BR>
	 * Remark: <BR>
	 * 
	 * @param username 用户名
	 * @param password 密码
	 * @return ResultMap<BR>
	 */
	@RequestMapping(value = "/login")
	@ResponseBody
	public ResultMap login(String username, String password) {
		return userService.login(username, password);
	}

	/**
	 * Method name: login <BR>
	 * Description: 登录页面 <BR>
	 * 
	 * @return String login.html<BR>
	 */
	@RequestMapping(value = "/index")
	public String login() {
		return "login";
	}

	/**
	 * Method name: index <BR>
	 * Description: 登录页面 <BR>
	 * 
	 * @return String login.html<BR>
	 */
	@RequestMapping(value = "/")
	public String index(Model model) {
		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();

		if (null != user) {
			model.addAttribute("user", user);

			List<Page> pageList = pageService.getAllRolePageByUserId(user.getUserId());

			model.addAttribute("pageList", pageList);
			return "index";
		} else {
			return "login";
		}
	}

	/**
	 * Method name: main <BR>
	 * Description: 进入主页面 <BR>
	 * 
	 * @param model
	 * @return String<BR>
	 */
	@RequestMapping(value = "/main")
	public String main(Model model) {
		Subject subject = SecurityUtils.getSubject();
		User user = (User) subject.getPrincipal();
		if (null != user) {
			model.addAttribute("user", user);
		} else {
			return "login";
		}

		List<Page> pageList = pageService.getAllRolePageByUserId(user.getUserId());

		model.addAttribute("pageList", pageList);
		return "index";
	}

	/**
	 * Method name: checkUserPassword <BR>
	 * Description: 检测旧密码是否正确 <BR>
	 * 
	 * @param password 旧密码
	 * @return boolean 是否正确<BR>
	 */
	@RequestMapping(value = "/user/checkUserPassword")
	@ResponseBody
	public boolean checkUserPassword(String password) {
		return userService.checkUserPassword(password);
	}

	/**
	 * Method name: updatePassword <BR>
	 * Description: 更新密码 <BR>
	 * 
	 * @param password 旧密码
	 * @return String 是否成功<BR>
	 */
	@RequestMapping(value = "/user/updatePassword")
	@ResponseBody
	public String updatePassword(String password) {
		return userService.updatePassword(password);
	}
}

五、论文参考

  • 计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-论文参考:
    计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-论文参考

六、系统视频

幼儿园管理微信小程序/安卓APP-项目视频:

结语

计算机毕业设计选题推荐-幼儿园管理微信小程序/安卓APP-项目实战
大家可以帮忙点赞、收藏、关注、评论啦~
源码获取:私信我

精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode(24)文本左右对齐【数组/字符串】【困难】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 文本左右对齐 1.题目 给定一个单词数组 words 和一个长度 maxWidth &#xff0c;重新排版单词&#xff0c;使其成为每行恰好有 maxWidth 个字符&#xff0c;且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单…

spring中的DI

【知识要点】 控制反转&#xff08;IOC&#xff09;将对象的创建权限交给第三方模块完成&#xff0c;第三方模块需要将创建好的对象&#xff0c;以某种合适的方式交给引用对象去使用&#xff0c;这个过程称为依赖注入&#xff08;DI&#xff09;。如&#xff1a;A对象如果需要…

flutter web 中嵌入一个html

介绍 flutter web 支持使用 HtmlElementView嵌入html import dart:html; import dart:ui as ui; import package:flutter/cupertino.dart;class WebWidget extends StatelessWidget {const WebWidget({super.key});overrideWidget build(BuildContext context) {DivElement fr…

flutter绘制弧形进度条

绘制&#xff1a; import package:jade/utils/JadeColors.dart; import package:flutter/material.dart; import dart:math as math; import package:flutter_screenutil/flutter_screenutil.dart;class ArcProgressBar extends StatefulWidget{const ArcProgressBar({Key key…

Linux系统进程——进程的退出、子进程退出的收集、孤儿进程

进程退出 进程退出主要分为两种&#xff1a;正常退出、异常退出 正常退出 正常退出分为以下几种&#xff1a; 1.main函数调用return 2.进程调用exit(),标准c库 3.进程调用 _exit() 或者 _Exit() &#xff0c;属于系统调用 4.进程最后一个线程返回 5.最后一个线程调用pthrea…

晨控CK-FR08读卡器与汇川PLC连接EtherCAT通讯手册

晨控CK-FR08读卡器与汇川PLC连接EtherCAT通讯手册 晨控CK-FR08系列是一款基于射频识别技术的高频RFID标签读卡器&#xff0c;读卡器工作频率为13.56MHZ&#xff0c;支持对I-CODE 2、I-CODE SLI等符合ISO15693国际标准协议格式标签的读取。 读卡器同时支持标准工业通讯协议Eth…

ubuntu20源码编译搭建SRS流媒体服务器

第一、下载源码 下载源码&#xff0c;推荐用Ubuntu20&#xff1a; git clone -b develop https://gitee.com/ossrs/srs.git第二、编译 2.1、切换到srs/trunk目录&#xff1a; cd srs/trunk2.2、执行configure脚本 ./configure2.3、执行make命令 make2.4、修改conf/rtmp.c…

通讯录实现之进阶版将通讯录数据保存在文件中(完整代码)

我们在之前的博客中已经写过两版通讯录了&#xff1a; 第一版是用C语言实现了通讯录&#xff0c;但是通讯录的存储人数信息是固定的&#xff0c;用完就没有了 感兴趣的可以转到对应博客看一下&#xff0c;附带链接&#xff1a;第一版通讯录 第二版是在第一版的基础上动态开辟…

从零开始 通义千问大模型本地化到阿里云通义千问API调用

从零开始 通义千问大模型本地化到阿里云通义千问API调用 一、通义千问大模型介绍 何为“通义千问”&#xff1f; “通义千问大模型”是阿里云推出的一个超大规模的语言模型&#xff0c;具有强大的归纳和理解能力&#xff0c;可以处理各种自然语言处理任务&#xff0c;包括但…

DAC实验(DAC 输出三角波实验)(DAC 输出正弦波实验)

DAC 输出三角波实验 本实验我们来学习使用如何让 DAC 输出三角波&#xff0c;DAC 初始化部分还是用 DAC 输出实验 的&#xff0c;所以做本实验的前提是先学习 DAC 输出实验。 使用 DAC 输出三角波&#xff0c;通过 KEY0/KEY1 两个按键&#xff0c;控制 DAC1 的通道 1 输出两种…

文旅媒体有哪些?如何邀请到现场报道?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 中国文旅产业在近年来得到了持续而快速的发展。从产业端看&#xff0c;中国文旅产业呈现出新的发展趋势&#xff0c;其中“文旅”向“文旅”转变成为显著特点。通过产业升级和空间构建&a…

Shell编程基础(3)- Shell的位置参数

Shell编程基础&#xff08;3&#xff09;- Shell的位置参数 Shell Scripting Essentials (3) – Locative Parameters of Shell Scripting 前文介绍过shell变量。当声明shell变量时&#xff0c;只需要在代码行写出变量名称即可;在输入行用read命令要求用户输入&#xff0c;在…

Day48 力扣动态规划 : 647. 回文子串 |516.最长回文子序列 |动态规划总结篇

Day48 力扣动态规划 : 647. 回文子串 &#xff5c;516.最长回文子序列 &#xff5c;动态规划总结篇 647. 回文子串第一印象看完题解的思路dp递推公式初始化递归顺序 实现中的困难感悟代码 516.最长回文子序列第一印象我的尝试遇到的问题 看完题解的思路dp递推公式初始化 实现中…

设计基于STM32F103C8T6微控制器的巡线小车

巡线小车是一种能够在一条预定线追踪路径的小车&#xff0c;广泛应用于工业自动化、物流仓储、智能家居等领域。本设计将使用STM32F103C8T6微控制器来实现一个基础的巡线小车。 硬件组成&#xff1a;1. STM32F103C8T6微控制器开发板&#xff1a;作为巡线小车的核心控制器&…

双剑合璧:基于Elasticsearch的两路召回语义检索系统,实现关键字与语义的高效精准匹配

搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排)、系统架构、常见问题、算法项目实战总结、技术…

NewStarCTF2023 Reverse Week3 EzDLL WP

分析 这里调用了z3h.dll中的encrypt函数。 用ida64载入z3h.dll 直接搜索encrypt 找到了一个XTEA加密。接着回去找key和密文。 发现key 这里用了个调试状态来判断是否正确&#xff0c;v71&#xff0c;要v7&#xff1d;1才会输出Right&#xff0c;即程序要处于飞调试状态。 可…

asp.net core EF Sqlserver

一、EF CORE的使用 1、使用NuGet来安装EF CORE 使用程序包管理器控制台&#xff0c;进行命令安装 //安装 Microsoft.EntityFrameworkCoreInstall-Package Microsoft.EntityFrameworkCore //安装 Microsoft.EntityFrameworkCore.SqlServer Install-Package Microsoft.EntityF…

Java智慧工地云SaaS源码,AI服务器、智能硬件

智慧工地智能硬件 一、自动喷淋控制 当扬尘监测值超过在智慧工地系统中设定的闽值后自动喷淋控制系统通过接收系统发出的开关指令&#xff0c;实现自动、及时喷淋降尘&#xff0c;同时系统可设置自动喷淋时间段&#xff0c;每天定时喷淋&#xff0c;避免环境污染。 二、智能电…

采用Nexus搭建Maven私服

采用Nexus搭建Maven私服 1.采用docker安装 1.创建数据目录挂载的目录&#xff1a; /usr/local/springcloud_1113/nexus3/nexus-data2.查询并拉取镜像docker search nexus3docker pull sonatype/nexus33.查看拉取的镜像docker images4.创建docker容器&#xff1a;可能出现启动…

【vue】下载导出excel

下载导出excel 首先使用的tdesign框架&#xff0c;要导出后端返回的数据流excel 遇见的问题 下载的文件&#xff0c;里边的内容是undefined 观察报错 一看就知道并不是后端的报错&#xff0c;后端不可能是undefined 在强烈的好奇心驱动下&#xff0c;看了下接口&#xff0…