uniapp微信小程序实现《优购商城项目》

目录

一.下载HBuliderX与安装

创建项目

二.搭建项目

目录结构

页面名称

 首页效果图

 业务逻辑

代码如下:

 分类页面效果图

业务逻辑

代码如下:

商品列表效果图 

业务逻辑

代码如下:

商品详情页效果图

业务逻辑

代码如下:

购物车页面效果图

业务逻辑

代码如下:

支付页面效果图

业务逻辑

代码如下:

个人中心页面效果图

代码如下:

三.运行到微信小程序 

下载微信开发者工具

​总结


一.下载HBuliderX与安装

下载地址:https://dcloud.io/hbuilderx.html

下载完成进行解压安装

创建项目

  • 点击HbuilderX菜单栏文件>项目>新建
  • 选择uni-app,填写项目名称,项目创建的目录

安装所需要的插件

项目目录和文件作用

1.pages.json 文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等

2.manifest.json 文件是应用的配置文件,用于指定应用的名称、图标、权限等。

3.App.vue是我们的跟组件,所有页面都是在App.vue下进行切换的,是页面入口文件,可以调用应用的生命周期函数。

4.main.js是我们的项目入口文件,主要作用是初始化vue实例并使用需要的插件。

5.uni.scss文件的用途是为了方便整体控制应用的风格。比如按钮颜色、边框风格,uni.scss文件里预置了一批scss变量预置。

6.unpackage就是打包目录,在这里有各个平台的打包文件

7.pages所有的页面存放目录

8.static静态资源目录,例如图片等

9.components组件存放目录

二.搭建项目

项目所需要的接口文档:https://www.showdoc.com.cn/128719739414963/2516997897914014

目录结构

components 存放自定义组件
page 存放主包页面(tab页面)
subpkg1 子包1,存放子包页面(商品列表页面、商品列表页面、搜索页面)
subpkg2 子包2,存放子包页面(其他页面)
utils 自己的帮助库

页面名称

页面名称

名称

首页

index

分类页面

category

商品列表页面

goods-list

商品列表页面

goods-detail

购物车页面

cart

订单页面

order

个人中心页面

user

登录页面

login

支付页面

pay

 首页效果图

 业务逻辑

  • 使用tabbar实现底部导航功能
  • 使用自定义组件的方式实现 头部搜索框
  • 加载 轮播图 数据
  • 加载 导航 数据
  • 加载 楼层 数据

代码如下:

<template>
	<view class="content">
		<hy-header></hy-header>
		<view class="index-swiper">
			<swiper indicator-dots="true" autoplay="true" interval="4000">
				<swiper-item v-for="(item,index) in swiperList" :key="index">
					<image :src="item.image_src" mode="widthFix"></image>
				</swiper-item>
			</swiper>
		</view>

		<view class="index-cate">
			<view class="image-box" v-for="(item,index) in navList">
				<image :src="item.image_src" mode="widthFix"></image>
			</view>
		</view>

	<view class="index-floor">
				<view class="floor-group" v-for="(item,index) in floorList" :key="index">
					<view class="floor-title">
						<image :src="item.floor_title.image_src" mode="widthFix"></image>
					</view>
					<view class="floor-list">
						<view class="image-box" v-for="(item2,index2) in item.product_list" :key="index2">
							<image :src="item2.image_src" mode="scaleToFill"></image>
						</view>
					</view>
				</view>
			</view>
		</view>
</template>

<script>
	export default {
		data() {
			return {
				swiperList: [],
				navList: [],
				floorList: []

			}
		},
		onLoad() {
			this.getSwiperList()
			this.getNavList()
			this.getFloorList()

		},
		methods: {
			// 		getSwiperList() {
			// 			// uni.request({
			// 			// 	url: 'https://api-hmugo-web.itheima.net/api/public/v1/home/swiperdata',
			// 			// 	success: (res) => {
			// 			// 		console.log(res);
			// 			// 		this.swiperList = res.data.message;
			// 			// 	}
			// 			// })
			// 			this.$Https({
			// 					url: '/home/swiperdata'
			// 				})
			// 				.then((res) => {
			// 					this.swiperList = res.message;
			// 					console.log(this.swiperList);
			// 				})
			// 		},
			// 		getNavList() {
			// 			// uni.request({
			// 			// 	url: 'https://api-hmugo-web.itheima.net/api/public/v1/home/catitems',
			// 			// 	success: (res) => {
			// 			// 		console.log(res);
			// 			// 		this.navList = res.data.message;
			// 			// 	}
			// 			// })
			// 			this.$Https({
			// 					url: '/home/catitems'
			// 				})
			// 				.then((res) => {
			// 					this.navList = res.message;
			// 					console.log(this.navList);
			// 				})
			// 		},
			// 		// getFloorList() {
			// 		// 	this.$Https({
			// 		// 			url: '/home/floordata'
			// 		// 		})
			// 		// 		.then((res) => {
			// 		// 			// this.floorList = res.message;
			// 		// 			console.log(this.floorList);
			// 		// 		})
			// 		// }

			// 	}
			// }
			async getSwiperList() {
				const res = await this.$Https({
					url: '/home/swiperdata'
				});
				console.log(res);
				this.swiperList = res.message;

			},
			async getNavList() {
				const res = await this.$Https({
					url: '/home/catitems'
				});
				console.log(res);
				this.navList = res.message;
			},
			async getFloorList() {
				const res = await this.$Https({
					url: '/home/floordata'
				});
				console.log(res);
				this.floorList = res.message;

			}

		}
	}
</script>

<style lang="scss">
	page {
		padding-top: 90rpx;
	}

	.index-swiper {
		swiper {
			width: 750rpx;
			height: 340rpx;

			image {
				width: 100%;
			}
		}
	}

	.index-cate {
		width: 750rpx;
		display: flex;

		.image-box {
  • 19
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
基于UniApp商城项目是一种使用UniApp框架开发的手机应用或小程序,旨在为用户提供便捷的购物体验。以下是关于这个项目的一些详细介绍。 首先,UniApp是一种跨平台开发框架,它可以使用HTML5、CSS3和JavaScript等前端技术开发应用,并在多个平台上进行部署,包括iOS、Android、微信小程序和H5等。因此,基于UniApp商城项目能够同时运行在不同平台上,为用户提供一致的购物界面和功能。 商城项目的主要功能包括商品展示、购物车、订单管理、支付等。通过UniApp框架的强大能力,开发者可以使用Vue.js来构建响应式的界面,并利用封装好的插件和组件来快速实现各种功能。同时,UniApp提供了丰富的跨平台API和组件,如拍照、定位、分享等,使得商城项目可以更好地与手机设备进行交互。 此外,基于UniApp商城项目还具备良好的性能和用户体验。由于UniApp的底层基于原生的渲染引擎,应用的性能表现接近原生应用,能够提供快速的加载速度和流畅的动画效果。另外,UniApp支持H5和小程序等模式,可以更好地适应不同的手机平台,满足用户的使用需求。 在开发过程中,开发者可以使用HBuilderX这样的开发工具,通过集成的调试和打包功能快速迭代商城项目。一旦开发完成,可以通过UniApp官方提供的云打包服务,将应用打包成不同平台的安装包或小程序发布到应用商店,供用户下载和使用。 综上所述,基于UniApp商城项目具备跨平台、响应式、高性能和良好用户体验等优势,为用户提供了便捷的购物平台。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值