Vue2后台管理系统(1)

这篇博客详细记录了使用Vue2进行后台管理系统开发的过程,包括模板初始化、登录业务实现、退出登录功能、路由配置、品牌管理及商品管理组件的搭建,涉及到API调用、数据动态展示、表单验证及组件交互。同时,博主分享了遇到的Bug及解决方案。
摘要由CSDN通过智能技术生成

Vue2尚硅谷后台管理系统自学笔记



一、后台开发模板

模板下载
1、先解压;
2、解压之后在文件所在文件夹打开cmd;
3、npm安装node依赖,npm install;
4、vscode打开文件 npm run dev运行程序。

二、完成登录业务

1、静态页面的修改(文字、注释、背景图片等)
2、书写API(换成真实接口,接口文档:http://39.98.123.211:8170/swagger-ui.html#/)

代码如下(示例):

// 登录接口
export const login = (data) => request({
    url: '/admin/acl/index/login', method: 'post', data })

3、axios二次封装

  • 修改X-Token为token
 // 每一个请求都在请求头携带token
config.headers['token'] = getToken()
  • 修改响应拦截器的code
if (res.code !== 20000 && res.code !== 200)

4、解决代理跨域问题

代码如下:

// 配置代理跨域
    proxy: {
   
      '/dev-api': {
   
        target: 'http://gmall-h5-api.atguigu.cn',
        pathRewrite: {
    '^/dev-api': '' },
      }
    },

三、退出登录

1、修改layout文件中Navbar组件的列表文字
在这里插入图片描述

四、路由的搭建

1、删除原有的不需要的路由组件,并创建几个新的组件,如图:
修改后如图
2、修改router

新增 router 代码如下:

  {
   
    path: '/',
    component: Layout, // layout是大的框架
    redirect: '/dashboard',
    children: [{
   
      path: 'dashboard',
      name: 'Dashboard',
      component: () => import('@/views/dashboard/index'),
      // meta里是侧边栏标题和小图标
      meta: {
    title: '首页', icon: 'dashboard' }
    }]
  },
  {
   
    // 这些都是侧边栏路由,所以都在首页
    path: '/product',
    name: 'Product',
    component: Layout, // layout是大的框架
    // 记得设置侧边栏图标,和商品的图标(注:小标题没有小图标)
    meta: {
    title: '商品管理', icon: 'el-icon-goods' },
    children: [
      {
   
        path: 'attr',
        name: 'Attr',
        component: () => import('@/views/product/Attr'),
        meta: {
    title: '平台属性属性' }
      },
      {
   
        path: 'spu',
        name: 'Spu',
        component: () => import('@/views/product/Spu'),
        meta: {
    title: 'Spu管理' }
      },
      {
   
        path: 'sku',
        name: 'Sku',
        component: () => import('@/views/product/Sku'),
        meta: {
    title: 'Sku管理' }
      },
      {
   
        path: 'trademark',
        name: 'TradeMark',
        component: () => import('@/views/product/tradeMark'),
        meta: {
    title: '品牌管理' }
      },
    ]
  },

3、修改模板的style的class错误(改后有了侧边距)
在这里插入图片描述
4、完成结果:
在这里插入图片描述

五、品牌管理组件

1、设置静态组件:
  • 使用ele-ui中的button、table、pagination,messagebox提示框、form表单验证、dialog对话框

代码如下:

<template>
  <div>
    <el-button type="primary" icon="el-icon-plus" @click="addTradeMark"
      >添加</el-button
    >
    <!-- 
      :data="data"列表要展示的数据
      border:是否带有纵向边框
      align:设置单元格对齐方式
      label:设置标题内容
      width:对应列的宽度
      每个el-table-column是一列数据
    -->
    <el-table style="width: 100%; margin-top: 10px" border :data="list">
      <el-table-column type="index" label="序号" width="100px" align="center">
      </el-table-column>
      <el-table-column prop="tmName" label="品牌名称" width="width">
      </el-table-column>
      <el-table-column prop="prop" label="品牌LOGO" width="width">
        <!-- row获取的是一行的数据 ,$index是每行数据的索引-->
        <template slot-scope="{ row, $index }">
          <img :src="row.logoUrl" alt="" style="width: 100px; height: 100px" />
        </template>
      </el-table-column>
      <el-table-column prop="prop" label="操作" width="width">
        <template slot-scope="{ row, $index }">
          <el-button
            type="warning"
            icon="el-icon-edit"
            size="mini"
            @click="updateTradeMark(row)"
          >
            修改
          </el-button>
          <el-button
            type="danger"
            icon="el-icon-delete"
            size="mini"
            @click="deleteTradeMark(row)"
          >
            删除
          </el-button>
        </template>
      </el-table-column>
    </el-table>
    <!--
      total:总条目数
      page-size:每页显示数据数
      pager-count:页码按钮的数量,连续页码数要减去-2(首页和尾页)
      current-page:当前页数
      page-sizes:每页显示个数选择器的选项设置
      layout:分页器各个组件的相对位置。->可设置靠左或者靠右
      @current-change="" :当页数发生变化是调用方法,自动会传入参数pager(当前页)
      @size-change="":当每页展示数据量变化是调用,自动会传入参数limit(每页展示数据量)
    -->
    <el-pagination
      style="margin-top: 20px; text-align: center"
      :total="total"
      :page-size="limit"
      :pager-count="7"
      :current-page="page"
      :page-sizes="[3, 5, 10]"
      @current-change="handlePageChange"
      @size-change="handleSizeChange"
      layout="prev, pager, next, jumper, ->,sizes, total"
    >
    </el-pagination>
    <!-- 添加修改的对话框 -->
    <el-dialog
      :title="tmForm.id ? '修改品牌' : '添加品牌'"
      :visible.sync="dialogFormVisible"
    >
      <!-- 
      表单验证必须绑定:
      :model收集表单数据
      :rules表单验证规则
      ref获取表单标签
      对每个表单中的item绑定prop,prop绑定的是data中rules中的规则
    -->
      <el-form :model="tmForm" :rules="rules" ref="ruleForm">
        <el-form-item label="品牌名称" label-width="100px" prop="tmName">
          <el-input
            autocomplete="off"
            style="width: 80%"
            v-model="tmForm.tmName"
          ></el-input>
        </el-form-item>
        <el-form-item label="品牌LOGO" label-width="100px" prop="logoUrl">
          <!-- action:不能用v-model获取图片数据因为不是表单元素,所以用action上传图片地址 -->
          <el-upload
            class="avatar-uploader"
            
  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Vue2后台管理系统是一个基于Vue.js框架的前端项目,用于构建和管理后台管理界面。该项目可以通过安装Node.js并在终端输入"npm install"和"npm run serve"来启动。登录账户为admin,密码为admin。 在项目中,可以使用Vue Router插件来实现路由功能。通过导入VueVue Router,并配置路由表,可以定义不同路径对应的组件。例如,可以使用"/login"路径来渲染Login组件,使用"/home"路径来渲染Home组件。除此之外,还可以设置重定向、子路由等功能。 该项目是一个前端入门级的后台管理系统模板,主要用于熟悉Vue框架和插件的使用。如果在项目中遇到问题或有好的解决方案,可以在评论区提出并与其他开发者交流。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue2后台管理系统](https://blog.csdn.net/fanlangke/article/details/126566029)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Vue2 公司后台管理系统(仅前端)](https://blog.csdn.net/weixin_52615959/article/details/125628852)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值