目录
一、启动步骤
二、重要的功能点:
1、登录:
流程:
前端:
注册:
2、创建子项目
3、导出
1、后台:
2、前端
三、如何生成代码:
一、启动步骤
- 将sql导入数据库。。。
 - 启动redis,无论是windows的还是linux的;如需修改redis的端口、ip、密码等,可以寻找ruoyi-admin\src\main\resources\application.yml文件修改;
 - 启动若依后台;
 - 启动前端: 
  
- 使用 npm install --registry=https://registry.npmmirror.com 来安装依赖库;
 - 使用 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、将代码分别复制到项目中去。



















