当前位置: 首页 > article >正文

若依的使用

目录

一、启动步骤

二、重要的功能点:

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.kler.cn/a/308507.html

相关文章:

  • 开源 2 + 1 链动模式、AI 智能名片、S2B2C 商城小程序在用户留存与品牌发展中的应用研究
  • 软件测试项目实战
  • 定时器(QTimer)与随机数生成器(QRandomGenerator)的应用实践——Qt(C++)
  • group_concat配置影响程序出bug
  • kettle开发-Day43-数据对比
  • Java复习42(PTA)
  • LeetCode:1184. 公交站间的距离 一次遍历数组,复杂度O(n)
  • Comsol 利用多孔材料填充复合吸声器,拓宽低频完美吸声
  • 【我的 PWN 学习手札】Unsortedbin Attack
  • Chrome谷歌浏览器登录账号next无反应
  • C++ 重点的关键字
  • vue嵌入第三方页面
  • Java中分布式锁
  • mac新手入门(快捷键)
  • Vue面试题4
  • 缺陷(Bug)的一生
  • 【iOS】UIViewController的生命周期
  • 校园管理系统创新:Spring Boot框架应用案例
  • 文心智能体 城市印象之漫行北京 开发分享
  • 大舍传媒-日本媒体发稿推荐今日东京tokyotoday
  • grep 命令:文本搜索
  • 无畏契约 (Valorant)YOLO 模型数据集
  • 在Unity UI中实现UILineRenderer组件绘制线条
  • 音视频直播应用场景探讨之RTMP推流还是GB28181接入?
  • 仓储管理系统的设计与实现SSM框架
  • python数据分析 pandas库-数据的读取和保存