电商后台项目遇到的问题

1、.eslintrc.js 中 ‘@vue/standard’ 需要删掉或者注释掉
2、不能直接在 vue ui 里面安装 less-loader和less依赖,因为版本问题,最好是安装低版本
npm install less-loader@4.1.0 -D`
npm install less@3.9.0 -D
3、element-ui 是按需导入的,因此需要在 plugins 文件夹下的 element.js 导入
4、引入 iconfont 出现问题

https://www.cnblogs.com/eddina/p/9552713.html

比如我这里就在 iconfont.css 文件加了一个 /src/assets/fonts/ 就生效了并且也没有报错

5、之前一直不清楚表单的ref属性,百度后发现 :ref 绑定控件,$refs 获取控件
6、很神奇的是!!后台的vue_api_server之前postman测试不成功,但是重新删除依赖包并且npm i 之后就好了
7、一个需要注意的逻辑
// 1. 将登录成功之后的 token,保存到客户端的 sessionStorage 中  因为sessionStorage是在会话期间进行存储,不能是localStorage
//   1.1 项目中出了登录之外的其他API接口,必须在登录之后才能访问
//   1.2 token 只应在当前网站打开期间生效,所以将 token 保存在 sessionStorage 中window.sessionStorage.setItem('token', res.data.token)
// 2. 通过编程式导航跳转到后台主页,路由地址是 /homethis.$router.push('/home')
8、处理项目中ESlint语法报错问题 ESlint语法规范实际上就是将双引号改为单引号,将分号去掉

创建.prettierrc文件,将以下代码贴上去

{"semi":false,"singleQuote":true
}

9、这里有一个问题:引入Submenu组件后,最新的elementui组件库是,但是我引入就不生效,改为就正常显示了

10、引入图标的语法是 统一前缀el-icon

11、弹框dialog不显示,原本使用的是v-model 但是没绑定 改为 :visible.sync=“dialogVisible” 就对了 有可能是版本问题

12、ref指的是表单的引用

13、在Roles.vue文件中,使用了递归的方法去获取所有的三级列表,这说明在前端中算法的确很重要

14、接口文档怎么看呢 例如 roles/:roleId/rights 中的**:roleId**代表这是一个参数变量

15、在新建组件的时候,总是运行会出现错误,如下所示

Failed to mount component: template or render function not defined.

但是自己会好,注意vue那些保存了

16、树形的表格显示,需要自己安装插件,去vue面板,安装依赖vue-table-with-tree-grid,具体用法点击详情可以查看代码示例以及官方文档API

17、使用 组件的时候出现了级联选择器过长的情况处理看该网址https://blog.csdn.net/qq_40788998/article/details/105250084

另外的2个问题可以看自己的博客!https://blog.csdn.net/weixin_44478371?spm=1019.2139.3001.5343

18、如果用了封装组件的话,比如element,这个时候使用按键修饰符需要加上.native

例如@keyup.enter="handleInputConfirm(scope.row)"就不会生效,需要使用@keyup.enter.native=“handleInputConfirm(scope.row)”

19、后面{}内是请求体

const { data: res } = await this.$http.put(`categories/${this.cateId}/attributes/${this.editForm.attr_id},{ attr_name: this.editForm.attr_name, attr_sel: this.activeName }
)

vue项目中$http的get请求需要加params请求参数

 this.$http.get('orders', { params: this.queryInfo })

20、在main.js全局定义一个格式化时间的过滤器

// 全局定义一个格式化时间的过滤器*
Vue.filter('dateFormat', function(*originVal*) {const dt = new Date(*originVal*)const y = dt.getFullYear()const m = (dt.getMonth() + 1 + '').padStart(2, '0')const d = (dt.getDate() + '').padStart(2, '0')const hh = (dt.getHours() + '').padStart(2, '0')const mm = (dt.getMinutes() + '').padStart(2, '0')const ss = (dt.getSeconds() + '').padStart(2, '0')return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})

调用

<el-table-column label="创建时间"prop="add_time"width="140px"><template slot-scope="scope">{{scope.row.add_time | dateFormat}}</template></el-table-column>

21、使用upload组件上传图片时有个问题,一是action是后台请求路径的全称,二是根据main.js拦截器的要求要配置header属性,否则图片不会上传成功

// 图片上传的headers请求头对象*headerObj: {Authorization:window.sessionStorage.getItem('token'),},

22、富文本编辑器

按照视频里的来做,富文本编辑器没有生效;之后很奇怪一下子生效了,有可能是main.js没保存好??不过我新加了一个依赖项quill 之后把quill卸载也没有什么改变 可能这就是代码的神奇之处吧

安装vue-quill-editor依赖项

// 导入富文本编辑器
import VueQuillEditor from 'vue-quill-editor'// 导入富文本编辑器对应的样式*
import 'quill/dist/quill.core.css' *// import styles*
import 'quill/dist/quill.snow.css' *// for snow theme*
import 'quill/dist/quill.bubble.css' *// for bubble theme
// 将富文本编辑器,注册为全局可用的组件*
Vue.use(VueQuillEditor)
<quill-editor v-model="addForm.goods_introduce"></quill-editor>

23、在添加商品表单, 需要对goods_cat做数组转字符串的处理,因为这个和级联选择器做了动态绑定,所以不能直接使用this.addForm.goods_cat=this.addForm.goods_cat.join(’,’)

这里需要用到***深拷贝*** 安装依赖lodash

在Add.vue文件下

import _ from 'lodash'
// lodash cloneDeep(obj)
const form = _.cloneDeep(this.addForm)
form.goods_cat = this.addForm.goods_cat.join(',')

24 、表格加索引列 直接

<el-table-column type="index"></el-table-column>

25、做快递物流那里接口失效了,需要自己写一个固定数据

timeline那里src文件改一下 是item.vue 直接复制过来的是item(1).vue

时间线怎么做呢???

a、将timeline和timeline-item两个文件夹直接复制到plugins

b、在element.js挂载组件

import {Timeline,TimelineItem} from 'element-ui'
Vue.use(Timeline)
Vue.use(TimelineItem)

c、在相应的vue文件的中导入样式,例如:

26、echarts的使用

安装echarts依赖包

// 1.导入 echarts
import * as echarts from 'echarts'
<!-- 2.为ECharts准备一个具备大小(宽高)的Dom -->*
<div id="main" style="width: 750px;height:400px;"></div>
// 在vue文件中,要把这些放在mounted函数中,原因如下:
// 执行到mounted  此时页面上的元素已经被渲染完毕了!
async mounted() {// 3.基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'))
}
// 4.准备数据和配置项
var option = {title: {text: 'ECharts 入门示例'},tooltip: {},legend: {data: ['销量']},xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']},yAxis: {},series: [{name: '销量',type: 'bar',data: [5, 20, 36, 10, 10, 20]}]};
 // 5.展示数据myChart.setOption(option)

这里用到了***lodash深拷贝***,同23中的引用方式,目的是合并两个对象

import _ from 'lodash'
// merge是lodash本身提供的
const result = _.merge(res.data, this.options)

https://echarts.apache.org/handbook/zh/get-started/#%E7%BB%98%E5%88%B6%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84%E5%9B%BE%E8%A1%A8

黑马VUE电商管理后台笔记记录相关推荐

  1. Vue 电商PC后台管理(ElementUI)

    Vue 电商PC后台管理(ElementUI) 1.项目概述 1.1电商项目基本业务概述 根据不同的场景,电商系统一般都提供了PC端.移动 APP.移动 Web.微信小程序等多种终端访问方式. 1.2 ...

  2. Vue电商系统后台API接口

    项目演示入口 ===> 1. 电商管理后台 API 接口文档 1.1. API V1 接口说明 接口基准地址:http://127.0.0.1:8888/api/private/v1/ 服务端已 ...

  3. 电商管理后台功能介绍

    电商管理后台功能介绍 管理员登录.退出 用户管理 1.查看用户列表.可以使用分页跳转页码查看 2.查询指定用户 3.添加用户 4.修改用户信息 5.删除用户 权限管理 角色列表 1.添加角色 2.查看 ...

  4. 前端03.vue电商管理平台项目实战

    VUE电商管理平台 前部分内容见网站 ​ https://share.mubu.com/doc/7vPChNBEZl 附typora自动标号 https://zhuanlan.zhihu.com/p/ ...

  5. 9.1黑马Vue电商后台管理系统商品管理模块完善:编辑商品的功能

    在原视频中,老师跳过了这个功能,我觉得自己去实现也可以锻炼自己,于是自己补充了编辑功能 同用户管理,权限管理等之前各个模块的编辑功能不同,因为商品具有很多可编辑的选项,所以选择像添加商品一样,单独放在 ...

  6. 10.1 黑马Vue电商后台管理系统之完善订单管理模块--加入修改订单模块

    效果如下: 实现如下: 1.我仍然保留了添加地址这一个对话框,但只是绑定在另一个按钮上面,而点击左侧第一个按钮就会跳转到"修改订单"模块 <template v-slot=& ...

  7. 10.2 黑马Vue电商后台管理系统 完善订单模块--搜索订单(修改后端)

    效果如下: 搜索时列表动态变化,在我专栏下另一篇文章写了,这篇文章不再讲述,这篇文章只讲述如何从后端(打开vue_api_server这个文件夹,而不是vue_shop)修改代码来实现这个功能 我的思 ...

  8. 关于黑马-Vue电商后台项目管理(2)

    2.2 后台项目的环境安装配置 安装MySQL数据库 关于数据库文件,黑马教程有提供一个叫phpstudy的软件,可以按照视频流程进行配置,但是之后可能会经常出现在该软件无法启动mysql.因此我们这 ...

  9. 电商管理后台Vue实例

    一.安装Mysql 二.安装navicat Navicat 是一套快速.可靠并价格相宜的 数据库管理工具, 专为简化数据库的管理及降低系统管理成本而设.它的设计符合数据库管理员.开发人员及中小企业的需 ...

最新文章

  1. python学习历程-安装篇(一)
  2. android dialog 横向全屏,Dialog全屏,去掉状态栏的方式
  3. 【终极办法!】idea没有import project解决办法
  4. modbus报文解析实例_云原生、全栈可编程的下一代SDN解析与实践 (一)丨传统SDN架构演进...
  5. echart的进阶使用(option)
  6. (转)C# 根据当前时间获取,本周,本月,本季度等时间段 .Net中Exception
  7. Java的String理解
  8. excel 输入自动更新的时间和日期
  9. 计算机专业复试面试题难吗,计算机考研复试,别想的太难了!
  10. python实现触摸精灵功能_触摸精灵实现找图功能
  11. python数值互换_python值交换
  12. word怎样让表格不跨页【实测成功】
  13. 【Redis】Redis的五大数据类型
  14. win10 电脑中模块initpki.dll加载失败提示0x80004005错误代码如何解决
  15. 神坑-md5加密空字符串不为空
  16. ffmpeg基础三:H264,从MP4文件获取(av_bsf_get_by_name(“h264_mp4toannexb“))和从TS流获取保存H264
  17. 2019一级建造师《水利水电》每日一练
  18. 创建 mapbox 本地 sprite
  19. 6本超实用平面设计书籍
  20. 樱花FRP内网穿透登录群晖相册ds photo

热门文章

  1. iis 虚拟空间中部署tp5 隐藏index.php
  2. 《吴军数学通识50讲》学习笔记(完)
  3. 20 天从零开始完成一个秒杀流程示例
  4. 土地公公分管的土地范围是多少
  5. 百度牵手大悦城 相爱相杀的零售与互联网需要新玩法
  6. CSS的position:fixed的使用(固定不动的div)
  7. 前端应该了解的直播知识
  8. 将淘宝数据包导入到自己的商城系统
  9. CSDN代码内容复制后在程序中格式报错处理方法
  10. FPGA学习常用网站推荐