草庐IT

【SpringBoot+Vue】全网最简单但实用的前后端分离项目实战笔记 - 前端

大菜007 2023-04-14 原文

配套视频地址:https://www.bilibili.com/video/BV1dG4y1T7yp/

前端笔记

1. node环境

官网:https://nodejs.org

注意,node可以比我稍低,但不要更高

2. 下载vue-admin-template

https://panjiachen.gitee.io/vue-element-admin-site/zh/guide/

3. 项目初始化

  1. 解压至非中文无空格目录下

  2. vscode打开项目

  3. 安装依赖

    npm config set registry http://registry.npm.taobao.org/
    
    npm install
    
  4. 运行测试

    npm run dev
    
  5. 配置修改

  6. 重启测试

4. 登录页修改

  1. 中文描述

  2. 背景图

    图片放在assets里面,然后修改.login-container

    background-image: url('../../assets/bg.jpeg');
    

    登录框调整

  1. 登录用户名取消限制

5. 修改右上角用户下拉菜单

6. 首页面包屑导航

7. 菜单初始化

  1. 在src\views目录下创建sys模块目录、test模块目录(充数用,后续可用作权限分配测试)

  2. 在sys下创建user.vue、role.vue两个组件文件

    在test下创建test1.vue、test2.vue、test3.vue

  3. 修改路由配置

    {
        path: '/sys',
        component: Layout,
        redirect: '/sys/user',
        name: 'sys',
        meta: { title: '系统管理', icon: 'sys' },
        children: [
          {
            path: 'user',
            name: 'user',
            component: () => import('@/views/sys/user'),
            meta: { title: '用户管理', icon: 'userManage' }
          },
          {
            path: 'role',
            name: 'role',
            component: () => import('@/views/sys/role'),
            meta: { title: '角色管理', icon: 'roleManage' }
          }
        ]
      },
    
      {
        path: '/test',
        component: Layout,
        redirect: '/test/test1',
        name: 'test',
        meta: { title: '功能测试', icon: 'form' },
        children: [
          {
            path: 'test1',
            name: 'test1',
            component: () => import('@/views/test/test1'),
            meta: { title: '测试点一', icon: 'form' }
          },
          {
            path: 'test2',
            name: 'test2',
            component: () => import('@/views/test/test2'),
            meta: { title: '测试点二', icon: 'form' }
          },
          {
            path: 'test3',
            name: 'test3',
            component: () => import('@/views/test/test3'),
            meta: { title: '测试点三', icon: 'form' }
          }
        ]
      }
    

    图标svg文件可上 https://www.iconfont.cn/ 下载

8. 标签栏导航

  1. @/layout/components/AppMain.vue

    <keep-alive :include="cachedViews">
        <router-view :key="key" />
    </keep-alive>
    
    cachedViews() {
        return this.$store.state.tagsView.cachedViews
    }
    
  2. 复制vue-element-admin项目中的文件到相应的目录中

    @/layout/components/TagsView
    @/store/modules/tagsView.js
    @/store/modules/permission.js

  3. 修改文件@store/getters.js

    visitedViews: state => state.tagsView.visitedViews,
    cachedViews: state => state.tagsView.cachedViews,   
    permission_routes: state => state.permission.routes
    
  4. 修改文件@store/index.js

  5. 修改文件@\layout\index.vue

  6. 修改文件@layout\components\index.js

    新增

    export { default as TagsView } from './TagsView'
    
  7. Affix 固钉
    当在声明路由是 添加了 Affix 属性,则当前tag会被固定在 tags-view中(不可被删除)

9. 登录接口梳理

接口urlmethod
登录/user/loginpost
获取用户信息/user/infoget
注销/user/logoutpost
{"code":20000,"data":{"token":"admin-token"}}
{"code":20000,"data":{"roles":["admin"],"introduction":"I am a super administrator","avatar":"https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif","name":"Super Admin"}}
{"code":20000,"data":"success"}

10. 对接后端接口

  1. 修改 .env.development 中的base api,打包部署的话要修改.env.production

    VUE_APP_BASE_API = 'http://localhost:9999'
    
  2. 修改vue.config.js,屏蔽mock请求

  3. 修改src\api\user.js,将url中的/vue-admin-template去掉

  4. 测试,预期会出现跨域错误

  5. 后端做跨域处理测试应该成功,并可在调试窗口观察接口调用情况

11. 用户管理

预览

  • 用户查询

    1. 定义userManager.js

    2. 分页序号处理

      <template slot-scope="scope">
          {{(searchModel.pageNo-1) * searchModel.pageSize + scope.$index + 1}}
      </template>
      
  • 用户新增

    1. 窗口关闭后数据还在

      监听close,清理表单

    2. 表单数据验证

      常规验证

      自定义验证

    3. 窗口关闭后上次验证结果还在

  • 用户修改

  • 用户删除

有关【SpringBoot+Vue】全网最简单但实用的前后端分离项目实战笔记 - 前端的更多相关文章

  1. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  2. ruby - 简单获取法拉第超时 - 2

    有没有办法在这个简单的get方法中添加超时选项?我正在使用法拉第3.3。Faraday.get(url)四处寻找,我只能先发起连接后应用超时选项,然后应用超时选项。或者有什么简单的方法?这就是我现在正在做的:conn=Faraday.newresponse=conn.getdo|req|req.urlurlreq.options.timeout=2#2secondsend 最佳答案 试试这个:conn=Faraday.newdo|conn|conn.options.timeout=20endresponse=conn.get(url

  3. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  4. ruby-on-rails - 简单的 Ruby on Rails 问题——如何将评论附加到用户和文章? - 2

    我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。

  5. ruby - 使用 Ruby 通过 Outlook 发送消息的最简单方法是什么? - 2

    我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=

  6. postman——集合——执行集合——测试脚本——pm对象简单示例02 - 2

    //1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json

  7. Qt Designer的简单使用 - 2

    在前面两节的例子中,主界面窗口的尺寸和标签控件显示的矩形区域等,都是用C++代码编写的。窗口和控件的尺寸都是预估的,控件如果多起来,那就不好估计每个控件合适的位置和大小了。用C++代码编写图形界面的问题就是不直观,因此Qt项目开发了专门的可视化图形界面编辑器——QtDesigner(Qt设计师)。通过QtDesigner就可以很方便地创建图形界面文件*.ui,然后将ui文件应用到源代码里面,做到“所见即所得”,大大方便了图形界面的设计。本节就演示一下QtDesigner的简单使用,学习拖拽控件和设置控件属性,并将ui文件应用到Qt程序代码里。使用QtDesigner设计界面在开始菜单中找到「Q

  8. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  9. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  10. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

随机推荐