若依的使用

news2024/9/21 16:46:08

目录

一、启动步骤

二、重要的功能点:

1、登录:

流程:

前端:

注册:

2、创建子项目

3、导出

1、后台:

2、前端

三、如何生成代码:


一、启动步骤

  1. 将sql导入数据库。。。
  2. 启动redis,无论是windows的还是linux的;如需修改redis的端口、ip、密码等,可以寻找ruoyi-admin\src\main\resources\application.yml文件修改;
  3. 启动若依后台;
  4. 启动前端:
    1. 使用 npm install --registry=https://registry.npmmirror.com 来安装依赖库;
    2. 使用 npm run dev 启动项目。

二、重要的功能点:

1、登录:

流程:

注:获取验证码时,会返回uuid以及验证码图片的base64码。登录成功后会返回一串token。

前端:

// 这段代码的目的是在用户重新访问页面时,自动填充登录表单的信息(如果这些信息存在于 cookie 中)。
getCookie() {
  //从 cookie 中获取用户名。
  const username = Cookies.get("username");
  const password = Cookies.get("password");
  const rememberMe = Cookies.get("rememberMe");
  this.loginForm = {
    //如果从 cookie 中获取到的  username  是  undefined ,则保持  this.loginForm.username  的原值;否则,使用获取到的  username 。
    username: username === undefined ? this.loginForm.username : username,
    //,使用  decrypt(password)  函数解密获取到的  password 。
    password:
      password === undefined ? this.loginForm.password : decrypt(password),
    //如果从 cookie 中获取到的  rememberMe  是  undefined ,则将其设置为  false ;否则,将其转换为布尔值。
    rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
  };
},

handleLogin() {
      this.$refs.loginForm.validate((valid) => {
        if (valid) {
          this.loading = true;
          //判断是否勾选记住我,   执行相对应的cookies操作
          if (this.loginForm.rememberMe) {
            Cookies.set("username", this.loginForm.username, { expires: 30 });
            Cookies.set("password", encrypt(this.loginForm.password), {
              expires: 30,
            });
            Cookies.set("rememberMe", this.loginForm.rememberMe, {
              expires: 30,
            });
          } else {
            Cookies.remove("username");
            Cookies.remove("password");
            Cookies.remove("rememberMe");
          }
          // 执行登录操作
          this.$store
            .dispatch("Login", this.loginForm)
            .then(() => {
              this.$router.push({ path: this.redirect || "/" }).catch(() => {});
            })
            .catch(() => {
              this.loading = false;
              if (this.captchaEnabled) {
                this.getCode();
              }
            });
        }
      });
    },
  },

注册:

1、在 ruoyi-ui/src/views/login.vue 中的data里,修改register 的值为true是显示注册。

2、后台代码需要自己写,。。

2、创建子项目

1、父项目---->右击新建--->子项目--->创建maven项目

注:子项目的路径需要和其他子项目的路径一致。

2、子项目创建创建完成后,需要查看父项目的pom.xml文件,是否有子项目写入。

3、 检查子项目的pom.xml是否引入父项目。

3、导出

1、后台:

/**
 * 导出商品列表
 * Goods goods  传入的查询条件
 */
@PreAuthorize("@ss.hasPermi('goods:goods:export')") //若依的权限   需要走授权
@Log(title = "商品", businessType = BusinessType.EXPORT)
@PostMapping("/export") //post请求
public void export(HttpServletResponse response, Goods goods)
{
    List<Goods> list = goodsService.selectGoodsList(goods);
    ExcelUtil<Goods> util = new ExcelUtil<Goods>(Goods.class);
    util.exportExcel(response, list, "商品数据");
}

2、前端

<el-col :span="1.5">
  <el-button
    type="warning"
    plain
    icon="el-icon-download"
    size="mini"
    @click="handleExport"
    v-hasPermi="['goods:goods:export']"
  >导出</el-button>
</el-col>
<script>
  /** 导出按钮操作 */
    handleExport() {
      this.download('goods/goods/export', {
        ...this.queryParams
        // `goods_${new Date().getTime()}.xlsx`  是导出的表的名称
      }, `goods_${new Date().getTime()}.xlsx`)
    }
</script>

三、如何生成代码:

1、首先,在数据库中创建一个新表。

2、启动若依项目---->系统工具--->代码生成

3、进入代码生成页面后---->导入--->选择需要生成的表---->确定。

4、点击编辑--->根据项目需要修改生成信息。

5、点击提交---->生成---->代码包就会通过浏览器下载到本地。

6、将代码分别复制到项目中去。

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

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

相关文章

57页PPT | 智慧文旅整体建设解决方案

主要介绍了智慧文旅的建设背景、需求分析、解决方案、应用系统功能需求、客户价值、企业价值、建设理念、建设思路、总体架构、安全管理体系、融媒体综合服务平台、大数据分析平台、智慧文旅云平台、智慧管理、智慧营销、智慧服务等方面的内容。 背景及需求分析 方案架构及理念…

【Vue】- 路由及传参

文章目录 知识回顾前言源码分析1. 声明式导航2. 路由传参3. 可选符4. 重定向5. 4046. 跳转及传参7. 路由懒加载拓展知识总结router-link静态传参和动态路由的对比知识回顾 前言 什么是单页面应用程序? ● 所有功能在一个html页面上实现 单页面应用优缺点? ● 优点:按需更新…

Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 新一代垃圾回收器 ZGC 收集器

文章目录 垃圾回收机制垃圾收集器垃圾收集器分类ZGC 收集器ZGC 的性能优势复制算法指针染色读屏障 ZGC 的工作过程Stop-The-World 暂停阶段并发阶段 垃圾回收机制 垃圾回收&#xff08;Garbage Collection&#xff0c;GC&#xff09;&#xff0c;顾名思义就是释放垃圾占用的空…

第二期: 第11节, uboot 命令的使用

问题&#xff1a;如果你只想控制一个led 灯&#xff0c;并且不想去写驱动。 那么可以直接 使用uboot 的命令&#xff0c;去改写内存。 uboot 命令的解析&#xff1a; 读命令&#xff0c; md[.b, .w. .l] address 注意&#xff1a; 这里的 .w 指的是两个字节&#xff0c;…

1.Seata 1.5.2 seata-server搭建

一&#xff1a;Seata基本介绍 Seata是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 详见官网链接&#xff1a;https://seata.apache.org/zh-cn/ 1.历史项目里的使用经验&#xff1a; 之前公司里的oem用户对应的App…

时钟频率、AI采样率与AO更新率的关系

在数据采集和信号生成设备&#xff08;如NI板卡&#xff09;中&#xff0c;时钟频率、AI&#xff08;模拟输入&#xff09;采样率、以及AO&#xff08;模拟输出&#xff09;更新率是三个至关重要的参数。它们共同决定了设备在信号采集与生成时的性能表现。本文将详细分析它们之…

Yestar成都艺星引领行业星纪元:十大数字星品·高阶星技术震撼发布

近日&#xff0c;中国成都太古里Yestar十大数字星品高阶星技术AI科技3D Mapping全球发布会&#xff0c;震撼发布了十大数字星品高阶星技术升级&#xff0c;引领医美产业发展翻开崭新的一页。作为品牌成立19周年的庆典&#xff0c;这场科技与美学交融的盛会&#xff0c;标志着医…

ANSYS Workbench随机球体及过渡区三维混凝土细观建模

在ANSYS Workbench内建立随机球体及ITZ界面层混凝土细观模型可采用CAD随机球体颗粒&过渡区3D插件建模后将模型导入。 在插件内设置好模型参数后运行&#xff0c;插件会自动完成随机球体、界面过渡区、基体模型的建立。插件已将不同部件分图层进行建模&#xff0c;将模型整…

【PyCharm】和git安装教程

一、Git的下载和Pycharm工具中配置集成git和github 在Git官网下载安装包&#xff0c;如果官网下载速度慢&#xff0c;可以到百度云或者其他网页/迅雷等下载。 https://git-scm.com/download/win 下载完成后 按照默认一直下一步安装, 1、集成git 选择settings->Version C…

电脑监控多画面怎么弄?电脑监控如何多画面抓屏?四种方法分享给你了!

电脑监控多画面及多画面抓屏的实现方法多种多样&#xff0c;以下是四种常用的方法分享&#xff1a; 一、使用专业监控软件 优点&#xff1a; 功能强大&#xff1a;专业监控软件不仅支持多画面显示&#xff0c; 还具备屏幕快照、 屏幕录像、 远程操控等高级功能。 配置灵活&a…

中伟视界:皮带堵料监测的检测方法、理论依据与实践解析

皮带输送系统在矿山等工业环境中扮演着至关重要的角色。然而&#xff0c;皮带堵料问题常常导致生产效率降低、设备损坏&#xff0c;甚至可能引发安全事故。为了有效监测和预防皮带堵料&#xff0c;现代技术采用多种AI算法进行实时检测。本文将探讨几种皮带堵料监测的检测方法、…

Spring boot从0到1 - day01

前言 Spring 框架作为 Java 领域中最受欢迎的开发框架之一&#xff0c;提供了强大的支持来帮助开发者构建高性能、可维护的 Web 应用。 学习目标 Spring 基础 Spring框架是什么&#xff1f;Spring IoC与Aop怎么理解&#xff1f; Spring Boot 的快速构建 Spring 基础 学习…

【Python机器学习】NLP信息提取——正则模式

我们需要一种模式匹配算法&#xff0c;该算法可以识别与模式匹配的字符序列或词序列&#xff0c;以便从较长的文本字符串中“提取”它们。构建这种模式匹配算法的简单方法是在Python中&#xff0c;使用一系列if/else语句在字符串的逐个位置查找该符号&#xff08;单词或字符&am…

解决Gson将长数字( json字符串)转换为科学记数法格式

Gson&#xff08;又称Google Gson&#xff09;是Google公司发布的一个开放源代码的Java库&#xff0c;主要用途为序列化Java对象为JSON字符串&#xff0c;或反序列化JSON字符串成Java对象。 依赖 Gradle: dependencies {implementation com.google.code.gson:gson:2.11.0 }…

为什么制造业要上MES,有哪些不得不上的理由吗?

关于为什么制造业要上MES&#xff0c;以及有哪些不得不上的理由吗&#xff1f;以下分为三个部分给大家详细讲解。 一、MES是什么&#xff1f; MES是一个综合性系统&#xff0c;连接企业的ERP系统与生产现场操作层面。它通过实时数据采集、分析和监控&#xff0c;将计划与执行紧…

精准营销,高效获客:Xinstall如何为App增长赋能?

在移动互联网时代&#xff0c;App的推广和运营面临着前所未有的挑战。如何在海量用户中精准定位目标客户&#xff1f;如何实时追踪用户行为&#xff0c;优化推广策略&#xff1f;Xinstall作为一站式App全渠道统计服务商&#xff0c;以全渠道数据统计为核心&#xff0c;为App运营…

继承1 2024_9_18

1.继承的基本用法 当需要继承的时候,我们就在派生类的后面加上一个权限父类,这个权限可以是公有,保护和私有,后面就是继承的父类.此时,下面的stu这个派生类,也就可以使用Person里面的方法了. 2.继承基类成员访问方式的变化 当父类被继承到派生类的时候,此时会根据继承方式的不…

Qt 学习第十天:小项目:QListWidget的使用

一、页面布局 二、命名按钮 双击按钮可以修改显示中的文字&#xff08;例如&#xff1a;改成“全选”&#xff09;&#xff0c;objectName是要改成程序员所熟悉的名字&#xff08;英文&#xff0c;符合代码规范&#xff09;方便修改和书写代码&#xff0c;一看就能看懂的 三、…

亚马逊、沃尔玛、敦煌网、Target塔吉特、Temu环境搭建测评技术!

海外跨境电商各大主要平台正不断力推半托管模式&#xff0c;不断对商家开出众多吸引和扶持政策。全托管是指电商平台全面负责店铺的运营&#xff0c;包括仓储、配送、售后等&#xff0c;而商家主要负责提供货品。半托管模式则基本由商家自主经营&#xff0c;平台只负责仓配物流…

Xilinx系FPGA学习笔记(九)DDR3学习

系列文章目录 文章目录 系列文章目录前言DDR介绍DDR的IP核学习接口信号解析读写流程分析AXI 前言 这里暂时先只介绍一下IP核配置生成和一些接口信号的含义&#xff0c;后续还需要补很多知识点和实际测试应用 DDR介绍 DDR3 已不是当今主流的 DDR 存储器&#xff0c;市场上的 …