若依学习笔记(三)

1.首页数据的加载(前端)

        当账户密码验证码匹配成功后,返回到login.vue中,

   this.$store.dispatch("Login", this.loginForm).then(() => {
            this.$router.push({ path: this.redirect || "/" }).catch(()=>{});

        “/”是指跳转到路由根路径(即router中的index.js)中的一下代码段,因为该方法的path为“  ”

{
    path: '',//"指的是根路径"
    component: Layout,//加载Layout组件,其实就是文件夹
    redirect: 'index',//重定向,自动加载index。指向下方的component中的路径
    children: [
      {
        path: 'index',
        component: () => import('@/views/index'),
        name: 'Index',
        meta: { title: '首页', icon: 'dashboard', affix: true }
      }
    ]
  },

        在此代码块加载Layout组件,而Layout组件是一个文件夹,默认情况下,默认加载文件夹中的index.vue文件

 <sidebar v-if="!sidebar.hide" class="sidebar-container" />
    <div :class="{hasTagsView:needTagsView,sidebarHide:sidebar.hide}" class="main-container">
      <div :class="{'fixed-header':fixedHeader}">
        <navbar />
        <tags-view v-if="needTagsView" />
      </div>
      <!--app-main主页面内容-->
      <app-main />
      <right-panel>
        <settings />
      </right-panel>
    </div>

import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components' ,

指导入从components文件夹中导入其他文件组件。

所以SideBar是指components中是SideBar中的index..vue文件

该文件的核心代码为:

   <!--获取Login中getRoute方法的菜单用for循环加载出来-->
                <sidebar-item
                 v-for="(route, index) in sidebarRouters"
                    :key="route.path  + index"
                    :item="route"
                    :base-path="route.path"
                />

自此首页加载完成。

2."用户管理“菜单数据的加载

        其他菜单的主页面的跳转是由于数据库中的component字段的路径,寻找 根目录为view中的文件,如用户管理指向的是,system/user./index

        到达index后,发现该页面有三部分组成1:页面的控件,2:部门树状图Tree,3:用户信息列表list。数据由该页面中的初始化方法create中的getList 和getTreeSelect获取

        查看getList,对应到SysUserController,startPage();方法自动对数据进行分页,分页信息的传值是由于,后台封装了HttpServletRequest,根据参数名获取参数值,可以接收到前台的值。调用mapper文件对数据库进行操作后,将返回值进行getDataTable进行封装,返回到前端

        查看SysDeptController中的treeselect,获取到部门信息,

                buildDeptTreeSelect:把数据封装成树形结构返回到前台

                        buildDeptTree:把数据分成父子节点

                        deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList()):            

                               //对deptTrees进行修改,stream把deptTrees的泛型从List换成TreeSelect

                                并只取其中需要的字段,

3.”添加用户“数据预加载

4.新增用户

        校验新增信息是否重复

        在user表,role表和sys_user_role表中添加数据

5.修改用户

        操作数据时,对数据不是单纯的更新操作,而是先删除,再插入。这样也不用判断该数据是否存在

6.删除用户

        不能删除当前用户和超级管理员

        删除role表和sys_user_rolo表中的内容

        注意:user表的数据不会被删除,而是更改一个字段的的值,,此时为逻辑删除

                     

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值