微信小程序(黑马优购项目)

本文档详细介绍了微信小程序(黑马优购项目)的开发过程,包括项目效果展示、技术栈(vue2+uni-app)、新建项目、配置、页面创建、网络请求、轮播图、分包、分类导航、楼层区域、商品列表、搜索功能、购物车、收货地址、结算区域、登录与支付等各个功能的实现和细节。通过实例讲解,帮助开发者掌握微信小程序的开发技巧。
摘要由CSDN通过智能技术生成

项目效果

  

 

 

 

项目技术栈

vue2+uni-app

新建项目

填写自己的微信小程序的 AppID: 

 

 运行一下

 配置.gitignore 忽略文件

# 忽略 node_modules 目录
/node_modules
/unpackage/dist

在 unpackage 目录下创建一个叫做 .gitkeep 的文件进行占位

 

把本地项目上传到码云对应的空白仓库

  创建 tabBar 页面

在 pages 目录中,创建首页(home)、分类(cate)、购物车(cart)、我的(my) 这 4 个 tabBar 页面

 static 文件夹 拷贝一份

去page.json中设置tabbar

删除默认的 index 首页

  1. 在 HBuilderX 中,把 pages 目录下的 index首页文件夹 删除掉

  2. 同时,把 page.json 中记录的 index 首页 路径删除掉

 重新运行

修改导航条的样式效果

  1. 打开 pages.json 这个全局的配置文件

 

 删掉单个页面的自定义标题

 home页面

配置网络请求

由于平台的限制,小程序项目中不支持 axios,而且原生的 wx.request() API 功能较为简单,不支持拦截器等全局定制的功能。因此,建议在 uni-app 项目中使用 @escook/request-miniprogram 第三方包发起网络数据请求。

cnpm i @escook/request-miniprogram

main.js中

// 按需导入 $http 对象
import { $http } from '@escook/request-miniprogram'

// 将按需导入的 $http 挂载到 wx 顶级对象之上,方便全局调用
wx.$http = $http

// 在 uni-app 项目中,可以把 $http 挂载到 uni 顶级对象之上,方便全局调用
uni.$http = $http

// 请求拦截器
$http.beforeRequest = function (options) {
  uni.showLoading({
    title: '数据加载中...',
  })
}

// 响应拦截器
$http.afterRequest = function () {
  uni.hideLoading()
}

// 配置请求根路径
$http.baseUrl = 'https://www.uinav.com'
// $http.baseUrl = 'https://api-hmugo-web.itheima.net'

轮播图

请求轮播图的数据 

 渲染轮播图的 UI 结构

调整样式

 

 indicator-color="yellow",表示未播放的图片的小圆圈的颜色

indicator-active-color="yellow",表示正在播放的图片的小圆圈的颜色

配置小程序分包

分包可以减少小程序首次启动时的加载时间

为此,我们在项目中,把 tabBar 相关的 4 个页面放到主包中,其它页面(例如:商品详情页、商品列表页)放到分包中。在 uni-app 项目中,配置分包的步骤如下:

在项目根目录中,创建分包的根目录,命名为 subpkg   

在 pages.json 中,和 pages 节点平级的位置声明 subPackages 节点,用来定义分包相关的结构:

subpkg 目录上鼠标右键,点击 新建页面 选项,并填写页面的相关信息:

 

点击轮播图跳转到商品详情页面

将view改成navigator,并添加url属性

 路径

'/subpkg/goods_detail/goods_detail?goods_id='

 封装 uni.$showMsg() 方法

当数据请求失败之后,经常需要调用 uni.showToast({ /* 配置对象 */ }) 方法来提示用户。此时,可以在全局封装一个 uni.$showMsg() 方法,来简化 uni.showToast() 方法的调用。具体的改造步骤如下:

在 main.js 中,为 uni 对象挂载自定义的 $showMsg() 方法:

 

 

分类导航区域

#3.3.1 获取分类导航的数据

实现思路:

  1. 定义 data 数据

  2. 在 onLoad 中调用获取数据的方法

  3. 在 methods 中定义获取数据的方法

渲染分类导航的 UI 结构

 

点击分类导航跳转到分类页面

wx.navigateTo()跳转到非tabbar页

uni.switchTab()跳转到tabbar页

楼层区域

#3.4.1 获取楼层数据

实现思路:

  1. 定义 data 数据

  2. 在 onLoad 中调用获取数据的方法

  3. 在 methods 中定义获取数据的方法

 

 

 

 渲染楼层里的图片

定义楼层图片区域的 UI 结构:

 <!-- 楼层区 -->
        <view class="floor-list">
            <view class="floor-item" v-for="(item, i) in floorList" :key="i">
                <!-- 楼层标题 -->
                <img :src="item.floor_title.image_src" class="floor-title" alt="">
                <!-- 楼层图片 -->
                <view class="floor-img-box">
                    <!-- 左侧大图 -->
                    <view class="left-img-box"></view>
                    <!-- 右侧四小图 -->
                    <view class="right-img-box"></view>
                </view>
            </view>
        </view>

 

mode="widthFix" 固定宽,高自适应

右侧四个小图flex布局时,图片外要加一层view标签,否则无法换行

 点击楼层图片跳转到商品列表页

在 subpkg 分包中,新建 goods_list 页面

'/subpkg/goods_list/goods_list?'

 楼层数据请求成功之后,通过双层 forEach 循环,处理 URL 地址:

把图片外层的 view 组件,改造为 navigator 组件,并动态绑定 url 属性 的值:

 

 分类页面

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
uni-app是一种基于Vue.js的跨平台开发框架,可以用于开发微信小程序、H5、App等多个平台的应用。《优购商城项目》是一个基于uni-app开发的微信小程序商城项目。 要实现《优购商城项目》,首先需要配置uni-app的开发环境。可以使用HBuilderX作为开发工具,它提供了丰富的功能和插件来辅助开发。然后需要获取微信小程序的APPID,这是小程序的身份证明,是唯一的。可以在微信开放平台上注册一个小程序并获取到APPID。 接下来,可以在HBuilderX中创建一个新的uni-app项目。在菜单栏中选择文件 -> 项目 -> 新建选择uni-app,填写项目名称并指定项目创建的目录。然后选择微信小程序作为目标平台,并填写小程序的APPID。这样就可以开始在uni-app上开发《优购商城项目》了。 在开发过程中,可以使用uni-app提供的丰富组件和API来实现商城功能,比如商品展示、购物车、订单管理等。可以使用uni-app提供的跨平台能力,一次开发即可在多个平台上运行。在开发完成后,可以将项目打包成微信小程序并在微信开发者工具中进行调试和发布。 通过以上步骤,就可以利用uni-app开发微信小程序实现《优购商城项目》了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [微信小程序--优购商城项目(1)](https://blog.csdn.net/ljn1046016768/article/details/124043924)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [uniapp微信小程序实现《优购商城项目》](https://blog.csdn.net/qq_64102392/article/details/131212823)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值