源码获取:本博客首页 "资源" 处下载!

主要技术实现:spring、 springmvc、 redis、 springboot、  mybatis 、session、 jquery 、 md5 、bootstarp.js  tomcat、、拦截器等。

主要功能实现:
前端:登录、注册、商品分类查看、浏览水果商品、订单管理、发表评论、收藏商品、购物车管理、个人订单管理查看、个人信息查看修改、地址管理等

后台管理员:后台登录、数据统计、系统版本信息等、管理员管理、角色管理、订单管理、通知公告管理、商品种类、和商品详情管理



主要功能截图如下:

用户填写相关信息进行注册:

水果商品数据列表查看:也可以根据关键字搜索水果商品信息

水果商品详情管理:点击可以查看水果商品购买详情数据、可以进行数量操作、加入订单和购物车以及收藏商品和查看排行等功能

我的购物车详情:可以结算以及继续购物和删除购物车信息等操作

订单详情管理:

我的个人信息管理:可以进行密码修改、订单查看管理、收藏查看管理、收获地址管理

我的评论查看:

我的收藏;可以移除收藏

后台管理员端主要实现:



超级管理员admin登录

系统首页:主要功能用户、角色、通知公告信息、商品种类以及商品详情管理和用户管理以及订单信息管理等数据操作。

后台菜单管理:

用户管理:

通知公告列表展示以及内容添加:

后台管理员对水果商品的管理:

上传商品详情信息:

商品评论数据维护:

订单管理和维护:

项目使用eclipse和idea运行、推荐idea、源码架构:

数据库设计ER图:

设计报告:

用户管理控制器业务:

/*** 用户管理控制器**/
@RequestMapping("/admin/user")
@Controller
public class UserController {@Autowiredprivate UserService userService;@Autowiredprivate RoleService roleService;/*** 用户列表页面* @param model* @return*/@RequestMapping(value="/list",method=RequestMethod.GET)public ModelAndView list(ModelAndView model){Map<String, Object> queryMap = new HashMap<String, Object>();model.addObject("roleList", roleService.findList(queryMap));model.setViewName("user/list");return model;}/*** 获取用户列表* @param page* @param username* @param roleId* @param sex* @return*/@RequestMapping(value="/list",method=RequestMethod.POST)@ResponseBodypublic Map<String, Object> getList(Page page,@RequestParam(name="username",required=false,defaultValue="") String username,@RequestParam(name="roleId",required=false) Long roleId,@RequestParam(name="sex",required=false) Integer sex,HttpServletRequest request){Map<String, Object> ret = new HashMap<String, Object>();Map<String, Object> queryMap = new HashMap<String, Object>();Role role = (Role) request.getSession().getAttribute("role");User user = (User) request.getSession().getAttribute("admin");if(role.getId().equals(Long.valueOf("2"))) {//如果是卖家角色, 只能看到自己的个人信息queryMap.put("Id", user.getId());}queryMap.put("username", username);queryMap.put("roleId", roleId);queryMap.put("sex", sex);queryMap.put("offset", page.getOffset());queryMap.put("pageSize", page.getRows());ret.put("rows", userService.findList(queryMap));ret.put("total", userService.getTotal(queryMap));return ret;}/*** 添加用户* @param user* @return*/@RequestMapping(value="/add",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> add(User user){Map<String, String> ret = new HashMap<String, String>();if(user == null){ret.put("type", "error");ret.put("msg", "请填写正确的用户信息!");return ret;}if(StringUtils.isEmpty(user.getUsername())){ret.put("type", "error");ret.put("msg", "请填写用户名!");return ret;}if(StringUtils.isEmpty(user.getPassword())){ret.put("type", "error");ret.put("msg", "请填写密码!");return ret;}if(user.getRoleId() == null){ret.put("type", "error");ret.put("msg", "请选择所属角色!");return ret;}if(isExist(user.getUsername(), 0l)){ret.put("type", "error");ret.put("msg", "该用户名已经存在,请重新输入!");return ret;}if(userService.add(user) <= 0){ret.put("type", "error");ret.put("msg", "用户添加失败,请联系管理员!");return ret;}ret.put("type", "success");ret.put("msg", "角色添加成功!");return ret;}/*** 编辑用户* @param user* @return*/@RequestMapping(value="/edit",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> edit(User user){Map<String, String> ret = new HashMap<String, String>();if(user == null){ret.put("type", "error");ret.put("msg", "请填写正确的用户信息!");return ret;}if(StringUtils.isEmpty(user.getUsername())){ret.put("type", "error");ret.put("msg", "请填写用户名!");return ret;}
//		if(StringUtils.isEmpty(user.getPassword())){
//			ret.put("type", "error");
//			ret.put("msg", "请填写密码!");
//			return ret;
//		}if(user.getRoleId() == null){ret.put("type", "error");ret.put("msg", "请选择所属角色!");return ret;}if(isExist(user.getUsername(), user.getId())){ret.put("type", "error");ret.put("msg", "该用户名已经存在,请重新输入!");return ret;}if(userService.edit(user) <= 0){ret.put("type", "error");ret.put("msg", "用户添加失败,请联系管理员!");return ret;}ret.put("type", "success");ret.put("msg", "角色添加成功!");return ret;}/*** 批量删除用户* @param ids* @return*/@RequestMapping(value="/delete",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> delete(String ids){Map<String, String> ret = new HashMap<String, String>();if(StringUtils.isEmpty(ids)){ret.put("type", "error");ret.put("msg", "选择要删除的数据!");return ret;}if(ids.contains(",")){ids = ids.substring(0,ids.length()-1);}if(userService.delete(ids) <= 0){ret.put("type", "error");ret.put("msg", "用户删除失败,请联系管理员!");return ret;}ret.put("type", "success");ret.put("msg", "用户删除成功!");return ret;}/*** 上传图片* @param photo* @param request* @return*/@RequestMapping(value="/upload_photo",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> uploadPhoto(MultipartFile photo,HttpServletRequest request){Map<String, String> ret = new HashMap<String, String>();if(photo == null){ret.put("type", "error");ret.put("msg", "选择要上传的文件!");return ret;}if(photo.getSize() > 1024*1024*1024){ret.put("type", "error");ret.put("msg", "文件大小不能超过10M!");return ret;}//获取文件后缀String suffix = photo.getOriginalFilename().substring(photo.getOriginalFilename().lastIndexOf(".")+1,photo.getOriginalFilename().length());if(!"jpg,jpeg,gif,png".toUpperCase().contains(suffix.toUpperCase())){ret.put("type", "error");ret.put("msg", "请选择jpg,jpeg,gif,png格式的图片!");return ret;}String savePath = request.getServletContext().getRealPath("/") + "/resources/upload/";File savePathFile = new File(savePath);if(!savePathFile.exists()){//若不存在改目录,则创建目录savePathFile.mkdir();}String filename = new Date().getTime()+"."+suffix;try {//将文件保存至指定目录photo.transferTo(new File(savePath+filename));}catch (Exception e) {// TODO Auto-generated catch blockret.put("type", "error");ret.put("msg", "保存文件异常!");e.printStackTrace();return ret;}ret.put("type", "success");ret.put("msg", "用户删除成功!");ret.put("filepath",request.getServletContext().getContextPath() + "/resources/upload/" + filename );return ret;}/*** 判断该用户名是否存在* @param username* @param id* @return*/private boolean isExist(String username,Long id){User user = userService.findByUsername(username);if(user == null)return false;if(user.getId().longValue() == id.longValue())return false;return true;}
}

系统操作类控制器:

/*** 系统操作类控制器**/
@Controller
@RequestMapping("/system")
public class SystemController {@Autowiredprivate UserService userService;@Autowiredprivate RoleService roleService;@Autowiredprivate AuthorityService authorityService;@Autowiredprivate MenuService menuService;@Autowiredprivate LogService logService;/*** 系统登录后的主页* @param model* @return*/@RequestMapping(value="/index",method=RequestMethod.GET)public ModelAndView index(ModelAndView model,HttpServletRequest request){List<Menu> userMenus = (List<Menu>)request.getSession().getAttribute("userMenus");model.addObject("topMenuList", MenuUtil.getAllTopMenu(userMenus));model.addObject("secondMenuList", MenuUtil.getAllSecondMenu(userMenus));model.setViewName("system/index");return model;//WEB-INF/views/+system/index+.jsp = WEB-INF/views/system/index.jsp}/*** 系统登录后的欢迎页* @param model* @return*/@RequestMapping(value="/welcome",method=RequestMethod.GET)public ModelAndView welcome(ModelAndView model){model.setViewName("system/welcome");return model;}/*** 系统500错误页面* @param model* @return*/@RequestMapping(value="/operation_error",method=RequestMethod.GET)public ModelAndView operationError(ModelAndView model){model.setViewName("errors/500");return model;}/*** 登陆页面* @param model* @return*/@RequestMapping(value="/login",method=RequestMethod.GET)public ModelAndView login(ModelAndView model){model.setViewName("system/login");return model;}/*** 登录表单提交处理控制器* @param user* @param cpacha* @return*/@RequestMapping(value="/login",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> loginAct(User user,String cpacha,HttpServletRequest request){Map<String, String> ret = new HashMap<String, String>();if(user == null){ret.put("type", "error");ret.put("msg", "请填写用户信息!");return ret;}if(StringUtils.isEmpty(cpacha)){ret.put("type", "error");ret.put("msg", "请填写验证码!");return ret;}if(StringUtils.isEmpty(user.getUsername())){ret.put("type", "error");ret.put("msg", "请填写用户名!");return ret;}if(StringUtils.isEmpty(user.getPassword())){ret.put("type", "error");ret.put("msg", "请填写密码!");return ret;}Object loginCpacha = request.getSession().getAttribute("loginCpacha");if(loginCpacha == null){ret.put("type", "error");ret.put("msg", "会话超时,请刷新页面!");return ret;}if(!cpacha.toUpperCase().equals(loginCpacha.toString().toUpperCase())){ret.put("type", "error");ret.put("msg", "验证码错误!");logService.add("用户名为"+user.getUsername()+"的用户登录时输入验证码错误!");return ret;}User findByUsername = userService.findByUsername(user.getUsername());if(findByUsername == null){ret.put("type", "error");ret.put("msg", "该用户名不存在!");logService.add("登录时,用户名为"+user.getUsername()+"的用户不存在!");return ret;}if(!user.getPassword().equals(findByUsername.getPassword())){ret.put("type", "error");ret.put("msg", "密码错误!");logService.add("用户名为"+user.getUsername()+"的用户登录时输入密码错误!");return ret;}//说明用户名密码及验证码都正确//此时需要查询用户的角色权限Role role = roleService.find(findByUsername.getRoleId());List<Authority> authorityList = authorityService.findListByRoleId(role.getId());//根据角色获取权限列表String menuIds = "";for(Authority authority:authorityList){menuIds += authority.getMenuId() + ",";}if(!StringUtils.isEmpty(menuIds)){menuIds = menuIds.substring(0,menuIds.length()-1);}List<Menu> userMenus = menuService.findListByIds(menuIds);//把角色信息、菜单信息放到session中request.getSession().setAttribute("admin", findByUsername);request.getSession().setAttribute("role", role);request.getSession().setAttribute("userMenus", userMenus);ret.put("type", "success");ret.put("msg", "登录成功!");logService.add("用户名为{"+user.getUsername()+"},角色为{"+role.getName()+"}的用户登录成功!");return ret;}/*** 后台退出注销功能* @param request* @return*/@RequestMapping(value="/logout",method=RequestMethod.GET)public String logout(HttpServletRequest request){HttpSession session = request.getSession();session.setAttribute("admin", null);session.setAttribute("role", null);request.getSession().setAttribute("userMenus", null);return "redirect:login";}/*** 修改密码页面* @param model* @return*/@RequestMapping(value="/edit_password",method=RequestMethod.GET)public ModelAndView editPassword(ModelAndView model){model.setViewName("system/edit_password");return model;}@RequestMapping(value="/edit_password",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> editPasswordAct(String newpassword,String oldpassword,HttpServletRequest request){Map<String, String> ret = new HashMap<String, String>();if(StringUtils.isEmpty(newpassword)){ret.put("type", "error");ret.put("msg", "请填写新密码!");return ret;}User user = (User)request.getSession().getAttribute("admin");if(!user.getPassword().equals(oldpassword)){ret.put("type", "error");ret.put("msg", "原密码错误!");return ret;}user.setPassword(newpassword);if(userService.editPassword(user) <= 0){ret.put("type", "error");ret.put("msg", "密码修改失败,请联系管理员!");return ret;}ret.put("type", "success");ret.put("msg", "密码修改成功!");logService.add("用户名为{"+user.getUsername()+"},的用户成功修改密码!");return ret;} /*** 本系统所有的验证码均采用此方法* @param vcodeLen* @param width* @param height* @param cpachaType:用来区别验证码的类型,传入字符串* @param request* @param response*/@RequestMapping(value="/get_cpacha",method=RequestMethod.GET)public void generateCpacha(@RequestParam(name="vl",required=false,defaultValue="4") Integer vcodeLen,@RequestParam(name="w",required=false,defaultValue="100") Integer width,@RequestParam(name="h",required=false,defaultValue="30") Integer height,@RequestParam(name="type",required=true,defaultValue="loginCpacha") String cpachaType,HttpServletRequest request,HttpServletResponse response){CpachaUtil cpachaUtil = new CpachaUtil(vcodeLen, width, height);String generatorVCode = cpachaUtil.generatorVCode();request.getSession().setAttribute(cpachaType, generatorVCode);BufferedImage generatorRotateVCodeImage = cpachaUtil.generatorRotateVCodeImage(generatorVCode, true);try {ImageIO.write(generatorRotateVCodeImage, "gif", response.getOutputStream());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

角色role控制器:

/*** 角色role控制器*/
@RequestMapping("/admin/role")
@Controller
public class RoleController {@Autowiredprivate RoleService roleService;@Autowiredprivate AuthorityService authorityService;@Autowiredprivate MenuService menuService;/*** 角色列表页面* @param model* @return*/@RequestMapping(value="/list",method=RequestMethod.GET)public ModelAndView list(ModelAndView model){model.setViewName("/role/list");return model;}/*** 获取角色列表* @param page* @param name* @return*/@RequestMapping(value="/list",method=RequestMethod.POST)@ResponseBodypublic Map<String, Object> getList(Page page,@RequestParam(name="name",required=false,defaultValue="") String name){Map<String, Object> ret = new HashMap<String, Object>();Map<String, Object> queryMap = new HashMap<String, Object>();queryMap.put("name", name);queryMap.put("offset", page.getOffset());queryMap.put("pageSize", page.getRows());ret.put("rows", roleService.findList(queryMap));ret.put("total", roleService.getTotal(queryMap));return ret;}/*** 角色添加* @param role* @return*/@RequestMapping(value="/add",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> add(Role role){Map<String, String> ret = new HashMap<String, String>();if(role == null){ret.put("type", "error");ret.put("msg", "请填写正确的角色信息!");return ret;}if(StringUtils.isEmpty(role.getName())){ret.put("type", "error");ret.put("msg", "请填写角色名称!");return ret;}if(roleService.add(role) <= 0){ret.put("type", "error");ret.put("msg", "角色添加失败,请联系管理员!");return ret;}ret.put("type", "success");ret.put("msg", "角色添加成功!");return ret;}/*** 角色修改* @param role* @return*/@RequestMapping(value="/edit",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> edit(Role role){Map<String, String> ret = new HashMap<String, String>();if(role == null){ret.put("type", "error");ret.put("msg", "请填写正确的角色信息!");return ret;}if(StringUtils.isEmpty(role.getName())){ret.put("type", "error");ret.put("msg", "请填写角色名称!");return ret;}if(roleService.edit(role) <= 0){ret.put("type", "error");ret.put("msg", "角色修改失败,请联系管理员!");return ret;}ret.put("type", "success");ret.put("msg", "角色修改成功!");return ret;}/*** 删除角色信息* @param id* @return*/@RequestMapping(value="/delete",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> delete(Long id){Map<String, String> ret = new HashMap<String, String>();if(id == null){ret.put("type", "error");ret.put("msg", "请选择要删除的角色!");return ret;}try {if(roleService.delete(id) <= 0){ret.put("type", "error");ret.put("msg", "删除失败,请联系管理员!");return ret;}} catch (Exception e) {// TODO: handle exceptionret.put("type", "error");ret.put("msg", "该角色下存在权限或者用户信息,不能删除!");return ret;}ret.put("type", "success");ret.put("msg", "角色删除成功!");return ret;}/*** 获取所有的菜单信息* @return*/@RequestMapping(value="/get_all_menu",method=RequestMethod.POST)@ResponseBodypublic List<Menu> getAllMenu(){Map<String, Object> queryMap = new HashMap<String, Object>();queryMap.put("offset", 0);queryMap.put("pageSize", 99999);return menuService.findList(queryMap);}/*** 添加权限* @param ids* @return*/@RequestMapping(value="/add_authority",method=RequestMethod.POST)@ResponseBodypublic Map<String, String> addAuthority(@RequestParam(name="ids",required=true) String ids,@RequestParam(name="roleId",required=true) Long roleId){Map<String,String> ret = new HashMap<String, String>();if(StringUtils.isEmpty(ids)){ret.put("type", "error");ret.put("msg", "请选择相应的权限!");return ret;}if(roleId == null){ret.put("type", "error");ret.put("msg", "请选择相应的角色!");return ret;}if(ids.contains(",")){ids = ids.substring(0,ids.length()-1);}String[] idArr = ids.split(",");if(idArr.length > 0){authorityService.deleteByRoleId(roleId);}for(String id:idArr){Authority authority = new Authority();authority.setMenuId(Long.valueOf(id));authority.setRoleId(roleId);authorityService.add(authority);}ret.put("type", "success");ret.put("msg", "权限编辑成功!");return ret;}/*** 获取某个角色的所有权限* @param roleId* @return*/@RequestMapping(value="/get_role_authority",method=RequestMethod.POST)@ResponseBodypublic List<Authority> getRoleAuthority(@RequestParam(name="roleId",required=true) Long roleId){return authorityService.findListByRoleId(roleId);}
}

源码获取:本博客首页 "资源" 处下载!

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. No module named ‘torch_geometric‘报错

    目录一、打开当前环境所在的命令行二、查看torch版本和cuda版本三、下载安装所需要的组件四、安装pyg一、打开当前环境所在的命令行 输入python 查看python版本 二、查看torch版本和cuda版本 import torch torch__version__ #双下斜杠 torch.version.cuda可以看到 我的Pyt…...

    2024/4/18 18:07:38
  2. 链表常见面试题总结

    链表常见面试题总结1. 删除链表中等于给定值 **val** 的所有节点。2. 反转一个单链表。3. 给定一个带有头结点 head 的非空单链表&#xff0c;返回链表的中间结点。如果有两个中间结点&#xff0c;则返回第二个中间结点。4. 输入一个链表&#xff0c;输出该链表中倒数第k个结点…...

    2024/4/30 16:51:07
  3. el-table中嵌入换行的按钮

    <el-table-column prop"file_name" label"监造报告" min-width"30%"><template slot-scope"scope"><el-form><el-form-item><el-row v-for"item in scope.row.file_name.split(,)" :key"it…...

    2024/4/30 17:05:02
  4. 毕设博客(十)

    Navigation组件&#xff1a;让页面之间的切换变得容易。 NavHost:容器&#xff0c;存放每一个页面 Fragment:将一个大屏幕分割成不同的小部分&#xff0c;让屏幕分功能显示不同的内容 NavController:控制导航的逻辑 NavGraph以:图形化的方式实现页面间的逻辑关系 1、创建两…...

    2024/4/30 16:29:22
  5. linux下配置自定义的python服务进程

    直接上代码 testXXXX.py: import logging import logging.handlers import subprocess import timeclass CliTool:def __init__(self):passdef cmd_sync(self, cmdlist):res subprocess.run(cmdlist, capture_outputTrue, checkTrue)return resdef cmd_async_nowait(self, c…...

    2024/4/17 13:41:20
  6. 树形结构-二叉树

    二叉树&#xff08;Binary tree&#xff09;是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式&#xff0c;即使是一般的树也能简单地转换为二叉树&#xff0c;而且二叉树的存储结构及其算法都较为简单&#xff0c;因此二叉树显得特别重要。二叉树特点…...

    2024/4/13 12:59:08
  7. dpkg脚本调用

    安装、升级、卸载&#xff0c;脚本调用顺序及参数&#xff1a;...

    2024/4/20 2:31:49
  8. [NC200190]矩阵消除游戏

    题目&#xff1a; [NC200190]矩阵消除游戏 &#xff0c;哈哈&#xff0c;我们今天来看一道稍微复杂一点的贪心题嘛&#xff0c;这是选自牛客上的一道题&#xff0c;好了&#xff0c;我们一起来看看题意吧&#xff1a; 题目描述是复制的&#xff0c;可能有部分显示不对&#x…...

    2024/4/13 13:00:13
  9. Eureka+Reign web访问失效

    在微服务实验SpringbootEurekaReign时&#xff0c;需要将api服务的扫描到custom消费者端&#xff0c; 在启动类加上注解以后web访问失效 ComponentScan(value {"com.example.springcloudapi.*"})发现加在主类以后会将默认的扫描覆盖掉&#xff0c;故而无法扫描除了c…...

    2024/4/19 9:23:04
  10. mysql 表设置插入表情包

    1、切换数据库 use 数据库名;2、设置表编码 ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;...

    2024/4/20 7:14:09
  11. 蘑菇街被裁, 猛刷30天腾讯T3的面试手册,斩获字节,腾讯两家大厂offer

    前言 先说一下自己的个人情况&#xff0c;18届应届生&#xff0c;通过校招进入到了蘑菇街&#xff0c;然后一待就待了差不多2年多的时间&#xff0c;可惜的是今年4月份受疫情影响遇到了大裁员&#xff0c;而我也是其中一员。好在早有预感&#xff0c;提前做了准备&#xff0c;…...

    2024/4/13 13:00:03
  12. Kubernetes安装

    目录 1.初始化linux系统 2.安装docker 3.安装k8s 1.初始化linux系统 #关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service #关闭交换分区 swapoff -a;sed -ri s/.*swap.*/#&/ /etc/fstab #优化内核 cat > /etc/sysctl.d/kubernet…...

    2024/4/16 14:36:53
  13. SSM框架 --- Spring AOP

    Spring AOP Spring IoC 解决了软件分层中的耦合的问题&#xff0c;但是在很多地方仍然存在非该层应该实现的功能&#xff0c;造成了 无法“高内聚”的现象&#xff0c;同时存在大量存在重复代码&#xff0c;开发效率低下。 示例&#xff1a; Service public class UserServi…...

    2024/4/13 12:59:53
  14. 图片无损放大器有什么软件推荐?这个不要错过

    很多朋友在放大图片的时候会遇到图片失真的现象&#xff0c;其实这时候借助一个图片无损放大器就可以解决问题了&#xff0c;下面就给大家分享一款简单好用的图片无损放大器&#xff0c;一起来看看使用嗨格式图片无损放大器前后的效果对比。 嗨格式图片无损放大器有哪些好用的功…...

    2024/4/13 13:00:03
  15. vue3 单文件组件

    1.使用setup组件自动注册 在 script setup 中&#xff0c;引入的组件可以直接使用&#xff0c;无需再通过components进行注册&#xff0c;并且无法指定当前组件的名字&#xff0c;它会自动以文件名为主&#xff0c;也就是不用再写name属性了。示例&#xff1a; <template&…...

    2024/4/17 0:03:13
  16. 快速排序Java版本

    出处&#xff1a;算法第四版 public class QuickSort {public static void quickSort(int[] a) {helper(a, 0, a.length - 1);}private static void helper(int[] a, int lo, int hi) {if (hi < lo) {return;}// 这一步中&#xff0c;选取切分元素&#xff0c;再根据切分…...

    2024/4/18 10:51:45
  17. 手把手教你:人脸识别的视频打码(基于opencv的人脸打马赛克)

    系列文章 手把手教你&#xff1a;人脸识别考勤系统手把手教你&#xff1a;图像识别的垃圾分类系统手把手教你&#xff1a;基于粒子群优化算法&#xff08;PSO&#xff09;优化卷积神经网络&#xff08;CNN&#xff09;的文本分类 目录系列文章项目简介一、项目功能简介二、环境…...

    2024/4/19 20:20:00
  18. 【Warrior刷题笔记】LC1405. 最长快乐字符串 【贪心+排序】详细注释双超一百

    题目 LC1405最长快乐字符串 解题思路 本题可使用贪心算法解决。 s中最多有a个字母’a’、b个字母’b’、c个字母’c’&#xff0c;也即三个字符的剩余可使用数为a&#xff0c;b&#xff0c;c。我们使用贪心策略&#xff0c;每次都优先将剩余可使用数最多的字符插入快乐字符串…...

    2024/4/13 13:00:08
  19. ELK一次错误日志弄到一行

    示例:(只看红色部分即可) input { file { path > ["/opt/logs/normal.log"] start_position > "beginning" type > "normal" } file { …...

    2024/4/13 13:00:08
  20. 编写Node.js时出现800A138F的错误

    参考类似文章&#xff1a; 编写Node.js时出现800A138F的错误_啵啵的女孩-CSDN博客_800a138f 另外一个情况&#xff1a;window下使用了node作为命名&#xff0c;出现报错 注意&#xff1a;在mac可以正常运行。...

    2024/4/13 12:59:48

最新文章

  1. 指代消解原理

    指代&#xff0c;在下文采用简称或者代称来代替上文已经出现的某一词语&#xff0c;语言学中把这种现象叫做指代现象。 指代&#xff0c;是语言学中的一种语言现象&#xff0c;使用指代词来代替文本中已经出现的某个语言单元的表达方式。将代表同一实体的不同表述划分到一个等…...

    2024/5/1 2:17:49
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. SpringBoot和Vue2项目配置https协议

    1、SpringBoot项目 ① 去你自己的云申请并下载好相关文件&#xff0c;SpringBoot下载的是Tomcat&#xff08;默认&#xff09;&#xff0c;Vue2下载的是Nginx ② 将下载的压缩包里面的.pfx后缀文件拷贝到项目的resources目录下 ③ 编辑配置文件 &#xff08;主要是框里面的内…...

    2024/4/29 20:22:32
  4. 微信小程序实现左滑删除

    效果 实现思路 使用的是官方提供的movable-area 嵌套movable-view 1、movable-area&#xff1a;注意点&#xff0c;需要设置其高度&#xff0c;否则会出现列表内容重叠的现象。 2、由于movable-view需要向右移动&#xff0c;左滑的时候给删除控件展示的空间&#xff0c;故 mov…...

    2024/4/29 19:20:32
  5. redis之主从复制、哨兵模式

    一 redis群集有三种模式 主从复制&#xff1a; 主从复制是高可用Redis的基础&#xff0c;哨兵和集群都是在主从复制基础上实现高可用的。 主从复制主要实现了数据的多机备份&#xff0c;以及对于读操作的负载均衡和简单的故障恢复。 缺陷&#xff1a; 故障恢复无法自动化&…...

    2024/4/30 12:17:23
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/29 23:16:47
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/30 18:14:14
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/30 18:21:48
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/30 9:43:22
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57