uni-app项目

本文详述了使用uni-app开发电商应用的过程,包括设置pages.json中的轮播图属性,如autoplay和interval,实现商品列表结构及导航跳转,封装可复用的商品列表组件,集成上拉加载更多和下拉刷新功能,拨打电话,使用地图,创建可滚动的分类导航栏,并处理点击事件,以及图片预览、时间格式化、富文本显示等。同时,讨论了底部导航组件的使用问题和小程序、H5、安卓应用的打包发布流程。

1.pages.json

{
	"pages": [ 
		{
			"path": "pages/index/index"
		},
		{
			"path":"pages/news/news",
			"style":{
				
			}
		},
		{
			"path": "pages/cart/cart"
		},
		{
			"path": "pages/member/member"
		}
	],
	"globalStyle": {
		"navigationBarTextStyle": "white",
		"navigationBarTitleText": "高格商城",
		"navigationBarBackgroundColor": "#CD0000",
		"backgroundColor": "#DBDBDB"
	},
	"tabBar":{
		"color":"#CCCCCC",
		"selectedColor":"#CD0000",
		"list":[
			{
				"text":"首页",
				"pagePath":"pages/index/index"
				// "iconPath":"",
				// "selectedIconPath":""
			},
			{
				"text":"资讯",
				"pagePath":"pages/news/news"
			},
			{
				"text":"购物车",
				"pagePath":"pages/cart/cart"
			},
			{
				"text":"会员",
				"pagePath":"pages/member/member"
			}
		]
	}
}
  

2.轮播图

circular:是否采用衔接滑动,即播放到末尾后重新回到开头

indicator-dots:是否显示面板指示点

autoplay:是否自动切换

interval:自动切换时间间隔

duration:滑动动画时长

<template>
	<view >
		<!-- banner轮播图 -->
		<view class="page-section-spacing">
			<swiper class="swiper" circular="true" indicator-dots="true" autoplay="true" interval="3500" duration="600">
				<swiper-item class="swiper-list" v-for="(item, index) in bannerList" :key="index">
					<view class="swiper-item uni-bg-red">
						<image class="swiper-img" :src="item.imageUrl" mode=""></image>
					</view>
				</swiper-item>
			</swiper>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				// tip:"点击「添加小程序」,下次访问更便捷",
				bannerList: [
					{
						imageUrl: 'https://cdn.zhoukaiwen.com/zjx_banner.png',
					},
					{
						imageUrl: 'https://cdn.zhoukaiwen.com/zjx_banner3.png',
					},
					{
						imageUrl: 'https://cdn.zhoukaiwen.com/zjx_banner1.png',
					},
					{
						imageUrl: 'https://cdn.zhoukaiwen.com/zjx_banner2.png',
					}
				],
			}
		},
		onLoad() {

		},
		methods: {

		}
	}
</script>

<style lang="scss">
	.swiper-item {
		width: 100%;
		height: 100%;
		image {
			width: 100%;
			height: 100%;
		}
	}
</style>

3.导航

<template>
	<view >
	    <!-- 导航 -->
		<view>
			<view class="nav">
				<view class="nav-item">
					<view>
						<u-icon name="car" color="#F08080" size="48"></u-icon>
					</view>
					<text>购物商城</text>
				</view>
				<view class="nav-item">
					<view>
						<u-icon name="gift" color="#B0C4DE" size="48"></u-icon>
					</view>
					<text>需求定制</text>
				</view>
				<view class="nav-item">
					<view>
						<u-icon name="file-text" color="#D15FEE" size="48"></u-icon>
					</view>
					<text>文章资讯</text>
				</view>
				<view class="nav-item">
					<view>
						<u-icon name="grid" color="#BCD2EE" size="48"></u-icon>
					</view>
					<text>最新好物</text>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	export default { 
		
	}
</script>

<style lang="scss">
	.nav {
		display: flex;
		width: 100%;
		text-align: center;
		height: 50rpx;
		line-height:50rpx;
		color: #999999;
		margin: 10rpx auto;
		.nav-item {
			width: 25%;
			
		}
	}
</style>

4.商品列表结构

5.点击导航,跳转到不同页面

data:

methods:

6.封装商品列表组件(复用)

子组件:

父组件传值:

7.实现上拉加载更多和下拉刷新

(1)onReachBottom 上拉加载更多

(2)  enablePullRefresh下拉刷新  (先在pages.json中配置)

onPullDownRefresh

8.拨打电话  uni.makePhoneCall         

9.地图

<map></map>

10.实现左侧分类导航栏

(1)scroll-view   可滚动视图区域  组件。  属性scroll-y:纵向滚动

(2)点击高亮(点击当个分类,样式不同)

 

11.分类左侧对应的右侧数据

(1)获取点击分类的id(后台返回的id):请求参数

(2)发送请求:参数为点击的id

(3)展示右侧

 

(4)左侧初始化显示

(5)处理无数据

12. 图片预览

uni.previewImage      参数current,urls

13.跳转详情页(id)

14.处理时间   全局过滤器

15.rich  text 富文本

(1)

(2)处理溢出

App.vue  全局样式

16.商品详情页 底部导航   (扩展组件 uni ui)

https://ext.dcloud.net.cn/plugin?id=865

不显示,层级原因。

底部导航影响上边padding-bottom

17.小程序打包发布

18.h5打包

19.安卓打包

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值