若依的使用

目录

一、启动步骤

二、重要的功能点:

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。

前端:

javascript 复制代码
// 这段代码的目的是在用户重新访问页面时,自动填充登录表单的信息(如果这些信息存在于 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),
  };
},
javascript 复制代码
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、后台:

java 复制代码
/**
 * 导出商品列表
 * 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、前端

javascript 复制代码
<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、将代码分别复制到项目中去。

相关推荐
全栈凯哥几秒前
Java详解LeetCode 热题 100(27):LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)详解
java·算法·leetcode·链表
YuTaoShao1 分钟前
Java八股文——集合「List篇」
java·开发语言·list
PypYCCcccCc6 分钟前
支付系统架构图
java·网络·金融·系统架构
华科云商xiao徐27 分钟前
Java HttpClient实现简单网络爬虫
java·爬虫
扎瓦40 分钟前
ThreadLocal 线程变量
java·后端
BillKu1 小时前
Java后端检查空条件查询
java·开发语言
jackson凌1 小时前
【Java学习笔记】String类(重点)
java·笔记·学习
刘白Live1 小时前
【Java】谈一谈浅克隆和深克隆
java
一线大码1 小时前
项目中怎么确定线程池的大小
java·后端
要加油哦~2 小时前
vue · 插槽 | $slots:访问所有命名插槽内容 | 插槽的使用:子组件和父组件如何书写?
java·前端·javascript