vue实战项目-电商商城前台-(学习尚硅谷的)尚品汇

文章目录

    • 最好使用视频上的账号密码,13700000000 密:111111
    • 最新服务端接口地址:http://gmall-h5-api.atguigu.cn
    • 脚手架使用
      • 1、创建项目
      • 2、脚手架默认目录:
      • 3、脚手架下载的项目稍微配置一下
        • 1)浏览器自动打开
        • 2)关闭 eslint 校验工具,以防写代码时没错也报错。
        • 3)src文件夹的别名的设置
    • 一、项目路由分析
    • 二、Header、Footer非路由组件完成
      • 1、使用非路由组件步骤:
      • 2、使用路由组件步骤:
        • 1) 路由的跳转有两种形式:
        • 2) 路由元信息:
        • 3) 路由传递参数
        • 4) 重写push与repalce方法
    • 三、TypeNav三级联动组件完成
    • 四、Home首页拆分静态组件完成
    • 五、动态渲染三级联动部分
      • 1、postman测试接口
      • 2、axios 二次封装
      • 3、API接口统一管理
      • 4、nprogress进度条的使用
      • 5、vuex 模块式开发
      • 6、动态展示三级联动数据
      • 7、动态一级菜单背景颜色
      • 8、JS控制二三级分类显示与隐藏
      • 9、函数防抖与函数节流
      • 10、三级联动节流
      • 11、三级联动路由跳转与传递参数
      • 12、TypeNav组件一级商品分类的显示与隐藏,和过渡动画
      • 13、TypeNav商品分类列表的优化
      • 14、合并参数
    • 六、mockjs模拟数据 | Home首页完成
      • 1、获取Banner轮播图的数据
      • 2、使用swiper轮播图插件
      • 3、轮播图通过 watch+nectTick 解决问题
      • 4、获取Floor组件mock数据
      • 5、制作共用组件Carsouel轮播图组件
    • 七、Search模块
      • 1、Search模块vuex操作
      • 2、动态展示产品列表
      • 3、根据不同的参数 获取对应数据 进行展示
      • 4、子组件SearchSelector售卖属性的动态开发
      • 5、监听路由变化再次发请求获取数据
      • 6、面包屑
      • 7、平台售卖属性的面包屑
      • 8、排序操作
    • 八、分页器
    • 九、Detail商品详情组件
      • 1、滚动行为
      • 2、产品详情获取
      • 3、产品详情展示动态数据
      • 4、产品售卖属性值的排他操作(即切换高亮)
      • 5、放大镜
      • 6、购买产品个数的操作
      • 7、添加到购物车
    • 十、添加到购物车成功 路由组件
      • 1、路由传递参数(结合会话存储)
    • 十一、购物车组件
      • 1、uuid游客身份获取购物车数据
      • 2、购物车动态展示相应游客的数据
      • 3、修改购物车产品数量
      • 4、删除购物车某个产品
      • 5、修改某个产品选中状态
      • 6、删除全部选中的商品
      • 7、修改全部产品的勾选状态
    • 十二、登录注册组件
      • 1、注册业务
      • 2、登录业务(token)
      • 3、用户登录后携带token获取用户信息
      • 4、退出登录
      • 5、导航守卫,优化登录业务
    • 十三、Trade交易组件
      • 1、获取用户地址信息和商品清单
      • 2、展示用户地址数据
      • 3、交易信息展示
      • 4、提交订单
          • 从这里开始,不使用vuex了,因为需要学会无vuex时,将如何传递数据。(项目不大时,最好不用vuex)
    • 十四、支付页面
      • 1、展示支付信息
      • 2、支付页面中使用ElementUI(按需引入)
    • 十五、微信支付业务
      • 1、显示支付二维码
      • 2、若支付成功 跳至支付成功页面
    • 十六、Center个人中心组件
      • 1、个人中心二级路由搭建
      • 2、获取并展示myOrder组件我的订单列表
    • (17)用户登录后的导航守卫(路由独享守卫与组件内守卫)
    • (18)未登录的导航守卫
    • (19)图片懒加载
    • (20)vee-validate插件 表单验证
    • (21)路由懒加载
    • (22)处理map文件
    • (23)服务器
      • 1、购买服务器
      • 2、安全组
      • 3、nginx反向代理

最好使用视频上的账号密码,13700000000 密:111111

最新服务端接口地址:http://gmall-h5-api.atguigu.cn

因为该账号数据库存有地址信息 。

但是注意,因为很多同学同时操作,所以可能出现:购物车商品被其他同学增加或减少,订单不能重复提交等问题。此时稍等一会,或多试几次即可。


学习尚硅谷的商城前台尚品汇项目的笔记:


脚手架使用

1、创建项目

vue create 项目名称

2、脚手架默认目录:

  • node_modules:放置项目依赖的地方。
  • public:一般放置一些共用的静态资源,打包上线的时候,public文件夹里面资源原封不动打包到dist文件夹里面。
  • src:程序员源代码文件夹:
    • assets:经常放置一些静态资源(公用的图片(即很多组件都用此图)),assets文件夹里面资源webpack会进行打包为一个模块(js文件夹里面)
    • components:一般放置非路由组件(如共用的组件)
  • App.vue:唯一的根组件
  • main.js:入口文件【程序最先执行的文件】
  • babel.config.js:babel配置文件
  • package.json:项目描述、项目依赖、项目运行
  • README.md:项目说明文件

注意:

(放public中的图片,组件引用:images/1.png 组件的less中引用:url(/images/9.png);使用"/"作为根目录。 因为最后webpack打包,public中的图片原封不动打包到了images中,所以用绝对路径)

放assets中的图片,组件的html中引用:@/assets/2.png 组件的less中引用:~@/assets/7.png 因为assets文件夹里面资源webpack会进行打包为一个模块(js文件夹里面),所以用相对路径)

3、脚手架下载的项目稍微配置一下

  • 1)浏览器自动打开

    ​ 在 package.json 文件中

    "scripts": {"serve": "vue-cli-service serve --open","build": "vue-cli-service build","lint": "vue-cli-service lint"},
    
  • 2)关闭 eslint 校验工具,以防写代码时没错也报错。

    在根目录创建 vue.config.js 文件:需要对外暴露

    module.exports = {
       lintOnSave: false,
    }
    
  • 3)src文件夹的别名的设置

    因为项目大的时候src(源代码文件夹):里面目录会很多,找文件不方便,设置src文件夹的别名的好处,找文件会方便一些。

    就不用用那么多…/…/了。直接@代替。

    (js用@代替src路径,css用~@代替src路径)

    创建 jsconfig.json 文件

    {
        "compilerOptions": {
            "baseUrl": "./",
            "paths": {
                "@/*": [
                    "src/*"
                ]
            }
        },
        "exclude": [
            "node_modules",
            "dist"
        ]
    }
    

一、项目路由分析

路由组件:

Home首页、Search搜索、login登录、Refister注册

非路由组件:

Header头部、Footer底部 (有Home首页、Search搜索组件。无login登录、Refister注册组件)

二、Header、Footer非路由组件完成

在开发项目的时候:
1: 书写静态页面(HTML + CSS)
2: 拆分组件
3: 获取服务器的数据动态展示
4: 完成相应的动态业务逻辑

需要用到less ,安装低版本,高版本容易出错。

yarn add less less-loader@5

(组件中,需要加