“微商城”项目(4首页)

文章讲述了如何在Vue项目中创建可复用的轮播图组件,通过在Home.vue和swiper.vue中编写代码实现轮播图功能。同时,介绍了如何使用npm安装axios并配置axios.js文件来从服务器获取数据。在Home.vue中通过axios请求轮播图接口展示数据。此外,还添加了快速访问按钮的实现,包括HTML结构和样式设计。
摘要由CSDN通过智能技术生成

1.显示轮播图

首页和商品详情页都有图片轮播图展示,考虑到Vue组件代码的复用性,把轮播图相关代码单独放置在src\components\swiper.vue文件中。

在src\pages\Home.vue文件中,编写HTML结构代码,示例代码如下。

<template>
  <div>
    <swiper :imgList="imgList"></swiper>       
  </div>
</template>
<script>
import swiper from '../components/swiper.vue' // 引入轮播图组件
export default {
  data () {
    return {
      imgList: [
      {id: 1, src: 'http://…'},
      {id: 2, src: 'http://…'}
      ]
    }
  },
  components: {
    swiper   // 创建轮播图节点
  }
}
</script>

在src\components下创建swiper.vue,公共轮播图文件中,swiper.vue编写如下代码。

<template>
  <mt-swipe :auto="4000">
    <mt-swipe-item v-for="item in imgList" :key="item.id">
      <img :src="item.img">
    </mt-swipe-item>
  </mt-swipe>
</template>
<script>
export default {
  props: ['imgList']
}
</script>
<style lang="scss" scoped>
.mint-swipe {
  height: 200px;
  color: #fff;
  .mint-swipe-items-wrap {
    .mint-swipe-item {
      text-align: center;
    }
    img {
      width: 100%;
      height: 100%;
    }
  }
}
</style>

 

 2.安装axios

使用npm方式在项目中使用命令安装,npm安装命令如下所示。

进入vue_shop04文件夹中,单击右键------>Git Bash Here--->输入如下命令

npm install axios@0.19 --save

安装完成后,创建src\axios.js脚本文件,示例代码如下。

import axios from 'axios'
import config from './config.js'
export default {
  install: function (vue) {
    var obj = axios.create({
      baseURL: config.baseURL
    })
    vue.prototype.$http = obj
  }
}

 

 创建src\config.js配置文件,编写如下代码。

export default {
  baseURL: 'http://tpadmin.test/api/'
}

接下来,在src\main.js项目入口文件中进行简单配置,将代码写在import Mint UI前面,示例代码如下。

import axios from './axios.js'
Vue.use(axios)

3.从服务器获取数据(注意需要开启,并且右下角要是绿色的,可以参考“微商城”项目(1环境搭建)_瑾寰的博客-CSDN博客)

通过浏览器打开http://tpadmin.test/api/imglist,进行访问测试,结果如下。

 在src\pages\Home.vue组件中,通过axios的方式来请求轮播图接口,展示数据。

data () {
  return {
    imgList: []
  }
},
created () {
    this.getImgList()
},
methods: {
  getImgList () {
    this.$indicator.open({
      text: '加载中'
    })
    this.$http.get('imglist').then(res => {
      this.$indicator.close()
      if (res.data.code === 0) {
        this.$toast('加载轮播图失败')
      } else {
        this.imgList = res.data.data
      }
    })
  }
},

保存代码,启动项目,测试程序是否获取到数据,运行结果如下图所示。

4.快速访问按钮

按钮图片放在src\assets\images目录下,图片素材需要从配套源码中复制过来其中src\assets\logo.png这个文件已经用不到了,删除即可。

我的百度网盘分享:

链接:https://pan.baidu.com/s/1lSsCjf-_zx1ymu6uZeG26Q?pwd=huan 
提取码:huan

在src\pages\Home.vue文件中,编写HTML结构代码,示例代码如下。

<template>
  <div>
    <swiper :imgList="imgList"></swiper>
    <ul class="mui-table-view mui-grid-view mui-grid-9">
      <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
        <img src="../assets/images/menu1.png">
        <div class="mui-media-body">新闻资讯</div>
      </li>
      <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
        <img src="../assets/images/menu2.png">
        <div class="mui-media-body">图片分享</div>
      </li>
      <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
        <router-link :to="{ name: 'category' }" class="title">
          <img src="../assets/images/menu3.png" />
          <div class="mui-media-body">商品购买</div>
        </router-link>
      </li>
      <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
        <img src="../assets/images/menu4.png" />
        <div class="mui-media-body">留言反馈</div>
      </li>
      <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
        <img src="../assets/images/menu5.png" />
        <div class="mui-media-body">视频专区</div>
      </li>
      <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
        <img src="../assets/images/menu6.png" />
        <div class="mui-media-body">联系我们</div>
      </li>
    </ul>
  </div>
</template>


<style lang="scss" scoped>
.mui-grid-view.mui-grid-9 {
  background-color: #fff;
  border: none;
  img {
    width: 60px;
    height: 60px;
  }
}
.mui-table-view-cell > a.title{
  display: inline;
}
.mui-grid-view.mui-grid-9 .mui-table-view-cell {
  border: 0;
}
.mui-media-body {
  font-size: 14px;
}
</style>

 

 保存代码,启动项目,运行结果如下图所示。

接着这篇文章的是“微商城”项目(5登录和注册)

若出现问题可以私信我,如果我能解决,会尽量帮忙的(●ˇ∀ˇ●)

使用Vue.js构建商城项目是一种常见的前端开发选择,因为它提供了轻量级、组件化的特性,非常适合构建用户界面。以下是构建商城项目的步骤: 1. **安装依赖**:首先,你需要设置一个基本的Vue CLI项目,可以使用`vue create`命令初始化,然后安装Vuex(状态管理库)和Vuetify(UI框架)等必要组件。 ```bash npm install -g @vue/cli vue create my-micro-mall cd my-micro-mall npm install vuex vuetify --save ``` 2. **设计架构**:采用模块化思想,将应用分为视图层(Vue组件)、数据层(Vuex store)和业务逻辑层(API请求)。例如,有商品列表页、商品详情页、购物车、订单管理等功能。 3. **创建组件**:为每个功能创建对应的Vue组件,如商品列表.vue、商品详情.vue、购物车.vue等。利用Vuetify提供的一系列现成组件,如v-list、v-btn等,快速构建界面。 4. **状态管理**:通过Vuex存储和管理共享状态,比如商品信息、用户的购物车数据以及登录状态。 5. **路由配置**:使用Vue Router管理页面之间的跳转,设置路由规则,实现URL到组件的映射。 6. **API集成**:与后端服务器通信,通过axios或其他HTTP客户端库发送GET、POST请求获取商品数据、处理支付、订单操作等。 7. **响应式设计**:确保在不同设备上良好显示,可用Vue的自适应工具如v-col或media queries配合。 8. **测试与部署**:编写单元测试和集成测试,确保代码质量和功能正常;部署到生产环境,可以选择如Nginx或Vercel等服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值