实战:小程序购物商城,前端这些高端技术只有你还不知道

54 阅读9分钟

常用的JavaScript设计模式

  • 单体模式

  • 工厂模式

  • 例模式

函数

  • 函数的定义

  • 局部变量和全局变量

  • 返回值

  • 匿名函数

  • 自运行函数

  • 闭包

开源分享:docs.qq.com/doc/DSmRnRG… 在这里插入图片描述

3.4、引入字体图标


  1. 打开阿⾥巴巴字体图标 ⽹站

在这里插入图片描述

  1. 选择的图标

  2. 添加⾄项⽬

在这里插入图片描述

  1. 下载到本地,选择第二个Font Class,并在地址栏打开新地址,复制全部代码到项目中

在这里插入图片描述在这里插入图片描述

  1. 将样式⽂件 由 css 修改为 wxss在这里插入图片描述

  2. ⼩程序中引⼊,在全局app.wxss中引入,就可以在每个wxss中使用了在这里插入图片描述

  3. 测试在这里插入图片描述

3.5、搭建项目的tabbar结构


  1. 目录下新增文件夹icons,将图标文件放到里面在这里插入图片描述

  2. 在app.json中实现tabBar在这里插入图片描述

3.6、基础样式搭建


在这里插入图片描述

界面调用主题颜色

在index.wxss中使用

在这里插入图片描述

小程序标题红底白字

在app.json中通过window设置

在这里插入图片描述

3.7、添加服务器接口域名


在这里插入图片描述

在这里将服务器接口域名加上,否则请求不到数据

4、首页

===============================================================

4.1、效果


在这里插入图片描述

4.2、业务逻辑


  1. 使⽤tabbar 实现底部导航功能

在这里插入图片描述

  1. 使⽤⾃定义组件的⽅式 实现 头部搜索框

  2. 加载 轮播图 数据

① 请求数据在这里插入图片描述

② 渲染数据

基础版本:在这里插入图片描述

封装请求版本:在这里插入图片描述

  1. 加载 导航 数据

在这里插入图片描述

  1. 加载 楼层 数据

在这里插入图片描述

4.3、接口


  1. 获取⾸⻚轮播图数据

api-hmugo-web.itheima.net/api/public/…

  1. 获取⾸⻚分类菜单数据

api-hmugo-web.itheima.net/api/public/…

  1. 获取⾸⻚ 楼层数据

api-hmugo-web.itheima.net/api/public/…

4.4、关键技术


  • ⼩程序内置 request API

  • es6的 promise

  • ⼩程序 swiper 组件

  • ⾃定义组件 实现 搜索框

5、分类页面

=================================================================

5.1、效果


在这里插入图片描述

5.2、业务逻辑


  1. 加载分类⻚⾯数据

接口数据关系映射在这里插入图片描述

① 请求数据并构造数据

在这里插入图片描述

  1. 点击左侧菜单,右侧数据动态渲染

  2. 缓存

5.3、接口


  1. 分类⻚⾯数据

api-hmugo-web.itheima.net/api/public/…

5.4、关键技术


  • scroll–view 组件

  • es7的 async 和 await

5.5、小程序中支持es7中的async语法


es7的 async 号称是解决回调的最终⽅案

  1. 在⼩程序的开发⼯具中,勾选 es6转es5语法

  2. 下载 facebook的regenerator库中的 regenerator/packages/regenerator-runtime/runtime.js

  3. 在⼩程序⽬录下新建⽂件夹 lib/runtime/runtime.js ,将代码拷⻉进去

import regeneratorRuntime from '../../lib/runtime/runtime';

6、商品列表界面

===================================================================

6.1、效果


在这里插入图片描述

6.2、业务逻辑


  1. 加载商品列表数据

  2. 启⽤下拉⻚⾯功能

① ⻚⾯的json⽂件中开启设置 enablePullDownRefresh:true

② ⻚⾯的js中,绑定事件 onPullDownRefresh

  1. 启⽤上拉⻚⾯功能 onReachBottom ⻚⾯触底事件

  2. 加载下⼀⻚功能

6.3、接口


  1. 商品列表搜索

api-hmugo-web.itheima.net/api/public/…

6.4、关键技术


  • ⼩程序配置⽂件中 启⽤上拉下拉功能

  • 搜索框tab栏是⼩程序的⾃定义组件(有组件事件和参数交互)

7、商品详情界面

===================================================================

7.1、效果


在这里插入图片描述

7.2、业务逻辑


  1. 渲染商品详情数据

  2. 点击图⽚,调出图⽚画廊,进⾏预览

  3. 点击收藏

  4. 联系客服

  5. 分享功能

  6. 加⼊购物⻋

7.3、接口


  1. 获取详情数据接⼝

api-hmugo-web.itheima.net/api/public/…

  1. 加⼊购物⻋接⼝ 使⽤本地存储来维护购物⻋数据

  2. ⽴即购买接⼝ (相当于是 创建订单接⼝)

api-hmugo-web.itheima.net/api/public/…

7.4、关键技术


  • swiper组件

  • 本地存储实现 收藏功

  • 联系客服 ⼩程序管理后台中 直接添加即可

  • 富⽂本标签 渲染 富⽂本

  • ⼩程序 预览图⽚接⼝

8、收藏页

================================================================

8.1、效果


在这里插入图片描述

8.2、业务逻辑


  1. 获取本地存储中的数据进⾏渲染

  2. 点击商品可以跳转到商品详情⻚⾯

8.3、接口


8.4、关键技术


  • ⼩程序 ⾃定义组件

  • 本地存储 加载收藏数据

9、购物车页面

==================================================================

9.1、效果


在这里插入图片描述

9.2、业务逻辑


  1. 渲染购物⻋数据

  2. 添加收货地址

  3. 修改商品数量

  4. 单选和全选功能

9.3、接口


  1. 获取购物⻋数据 本地存储实现

  2. 调用微信的收货地址

9.4、关键技术


  • ⼩程序 选择收货地址 api

  • ⼩程序 复选框 组件

10、支付页面

==================================================================

10.1、效果


在这里插入图片描述

10.2、业务逻辑


  1. 获取微信收货地址

  2. 渲染购物⻋中要结算的商品

  3. 实现⽀付

① 获取微信的登录信息

② 获取⾃⼰后台返回的⽀付相关参数

③ 调⽤微信接⼝实现 ⽀付

④ ⽀付成功创建订单

⑤ 跳转到订单⻚⾯

10.3、支付流程


在这里插入图片描述

10.4、接口


  1. 获取预⽀付参数

api-hmugo-web.itheima.net/api/public/…

  1. 创建订单

api.zbztb.cn/api/public/…

  1. 更新订单状态

api.zbztb.cn/api/public/…

10.5、关键技术


  • 小程序 支付 api

11、授权页面

==================================================================

11.1、效果


在这里插入图片描述

11.2、特务逻辑


在这里插入图片描述

  1. 获取⽤⼾信息 返回 encryptedData,rawData,iv,signature

  2. ⼩程序登录 返回 code

  3. 提交数据到⾃⼰ 的后台 执⾏post请求 提交数据 encryptedData,rawData,iv,signature code

  4. token 和⽤⼾数据 rawData存⼊本地存储

11.3、接口


  1. 提交数据到后台 返回token

api-hmugo-web.itheima.net/api/public/…

12、订单列表界面

====================================================================

12.1、效果


在这里插入图片描述

12.2、 业务逻辑


  1. 根据不同的的状态去加载不同的订单数据

  2. 点击标题紧挨着对应数据

12.3. 接⼝


  1. 创建订单

api-hmugo-web.itheima.net/api/public/…

  1. 查看订单支付状态

api-hmugo-web.itheima.net/api/public/…

  1. 历史订单查询

api-hmugo-web.itheima.net/api/public/…

12.4. 关键技术


  • ⼩程序 ⾃定义组件的 传参 ⽗向⼦动态传参 this.selectComponent("#tabs");

  • 时间戳 格式化处理

13、搜索页面

常用的JavaScript设计模式

  • 单体模式

  • 工厂模式

  • 例模式

函数