大家好,我叫小秃僧
这次分享的是10分钟零基础学会做一个快递查询微信小程序,快速掌握开发微信小程序技能。

这篇文章偏基础,特别适合还没有开发过微信小程序的童鞋,一些概念和逻辑我会讲细一点,尽可能用图说明更清楚。分享快乐!

学完这篇,起码学会以下几点

  • 了解微信开发者工具和云开发代码目录
  • 轮播图的实现
  • 使用wx.request去请求数据
  • 使用vantUI组件
  • 学会开通并使用云开发提供的cms数据管理后台
  • 从编写代码到上线一个微信小程序的全过程。

先看看效果:

看完快递查询微信小程序的效果之后,为了更好地理解和学习,我们先来了解一下微信开发者工具和云开发目录,用2张图来理解,比较直观

微信开发者工具大概如下:

云开发代码目录大概如下:

cloudfunction是存放云函数的文件,每个云函数都有一个index.js,这个index.js就是写代码的文件,其他文件可以不用管。
page文件是存放页面文件的,图中的index就是一个页面文件,这个页面文件是由index.js、index.json、index.wxml、index.wxss四个文件组成。很好理解

那js、json、wxml、wxss这四个是怎么互相通信的呢?来,画一张图给大家看,就明白了

这是wxml的部分代码,看看wxml与js、wxss的关系:

可以理解为用class来绑定wxss里面的样式,用catchtap来绑定js里面的函数,还可以用bindtap来绑定js里面的函数,catchtap和bindtap的区别主要是catchtap可以防止冒泡事件!

篇幅有限,这篇文章就不具体讲云函数和冒泡事件的相关知识了,不懂这两个知识点也不会影响快递查询微信小程序的开发。往后慢慢讲。

好了,正式进入快递查询微信小程序学习。

学习目录

  • 1、轮播图
    • 1.1、图解实现轮播图的业务逻辑
    • 1.2、写获取轮播图的JavaScript代码
    • 1.3、写展示轮播图的wxml、wxss代码
  • 2、请求快递查询的数据接口
    • 2.1、申请极速数据的快递查询接口
    • 2.2、图解查询快递的业务逻辑
    • 2.3、写请求数据的JavaScript代码
    • 2.4、写展示数据的wxml代码
  • 3、总结

1、轮播图

1.1、图解实现轮播图的业务逻辑


由上图可知,一进入小程序就要获取数据库banner表的轮播图,对吧,那么我们肯定首先得有banner这个数据库表,还要banner表里有几张轮播图。

那如何在数据库里建立banner表和上传轮播图到banner表里呢?

云开发已经替我们想好了,提供给我们一个很好用的cms管理后台。我们开通并使用即可,如何开通使用呢?继续

点击微信开发者工具的左上角“云开发”进入云开发控制台,再点击“更多”,选择“内容管理”,点击开通,设置账号密码后,等待几分钟即可。


开通成功后,会有一个网址,复制这个网址到浏览器访问,如下图


输入刚刚自己设置好的账号密码,登录进去,然后创建一个后台数据管理的项目,步骤如下图:



点击进来后,开始创建banner数据库表

创建banner数据库表成功如下图:

创建img字段,用来存放轮播图的网络地址,如下图:

创建img字段成功后,开始上传轮播图,如下图:

点击内容集合,再点击新建,然后上传即可,就完成了一张轮播图的上传,可以继续上传第二张、第三张…

这个完成就意味着我们的云数据库有了轮播图,就是banner数据库表里存放了轮播图,但此时,我们需要再去更改banner数据库表的访问权限即可,因为数据库表默认是不给任何用户获取访问的,如下图:

选择“所有用户可读,仅创建者可读写”的意思就是微信所有用户都可以获取访问轮播图的意思。

到这里,轮播图我们有了,开始写代码获取和展示。

我们首先在app.json文件里面我们定义了一进来显示的页面是index,因为排在第一个

一进入微信小程序,我们就要立马去获取轮播图回来进行展示,对吧,那我们怎么样才能一进来就开始执行获取轮播图的代码呢,我们可以在index页面的onLoad()这个生命周期函数里编写我们获取轮播图的代码。

这里引入了一个生命周期函数概念,生命周期函数简单来理解就是在某个时间点自动执行的一个函数而已,这么理解就可以了。

onLoad()函数就是一进来微信小程序页面自动执行且只执行一次的一个生命周期函数。所以,我们就在onLoad()函数里调用获取轮播图的函数。


你会发现其实我们没有把获取轮播图的业务逻辑代码直接写在onLoad函数,而是只在onload()函数里调用get_banner()函数

调用的意思就是去执行的意思,调用哪个函数的意思就是去执行哪个函数。

所以,我们只需要把代码写在get_banner()函数里面,仅仅在onLoad()生命周期函数里去调用get_banner就可以实现获取轮播图的功能了,对吧。

非常简单!!!继续

1.2、写获取轮播图的JavaScript代码

  /*** 页面的初始数据*/data: {banner:[],num:'',steps:[],},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {//一进入页面就获取轮播图数据//定义一个获取轮播图的get_banner函数this.get_banner()},//获取轮播图get_banner(){//这个this指向的是Page()方法里面的整个对象,形如Page({this})//赋值给that,that也指向了同样的对象let that = this  db.collection('banner').get({success:function(res){//获取成功//通过setData()方法赋值给data里面的banner数组console.log(res)that.setData({banner:res.data})},fail(er){console.log('获取失败,所以执行fail函数了,也就是打印了我这句话')}})},

我们在页面的data对象里面定义了一个banner空数组,获取轮播图后,通过setData()方法赋值给data里面的banner数组,此时,banner是有值了,可以用来展示了,继续往下看如何展示?

1.3、写展示轮播图的wxml、wxss代码

wxml(使用官方的等等组件来展示):

<!--轮播图-->
<swiper class="banner" indicator-dots autoplay indicator-active-color="#fbbd08" circular><block wx:for="{{banner}}" wx:key="index"><swiper-item><image lazy-load src="{{item.img}}" class="banner_image" /></swiper-item></block>
</swiper>

我们通过使用wx:for循环,把js文件里面的banner数组遍历出来即可。
wxss(定义轮播图样式,比如宽、高):

.banner {width: 100%;display: flex;box-sizing: border-box;height: 350rpx;
}.banner_image {width: 100%;display: flex;box-sizing: border-box;height: 500rpx;
}

2、请求快递查询的数据接口

2.1、申请极速数据的快递查询接口

我们先申请极速数据的快递查询接口,
申请数据的官方网站:https://www.jisuapi.com/

自己按照官方提示去注册登录,然后申请数据就行,这个不难!

申请数据后,我们需要登录微信公众平台,选择微信小程序登录,配置一下服务器请求域名,就是把极速数据的接口域名(https://api.jisuapi.com)放进去即可,如下图:

点击开发管理,再点击开发设置,再点击服务器域名修改,添加request域名即可,就是把https://api.jisuapi.com放入即可。

2.2、图解查询快递的业务逻辑

2.3、写请求数据的JavaScript代码

我们需要把快递单号传给极速数据,那我们需要先获取用户输入的快递单号,对吧,所以定义一个getnumInput()函数来获取用户输入的快递单号

  //获取用户输入的快递单号getnumInput:function(e){let that = this;that.setData({num:e.detail.value,})},

只要用户输入,就会触发执行getnumInput函数,我们通过setData()方法把用户输入的快递单号赋值给data对象里面的num变量,保存起来

输入完成后,用户点击查询,会触发执行chaxun()函数,去请求数据

 //查询函数chaxun:function(){let that = this;wx.showLoading({title: '正在查询',})wx.request({url: 'https://api.jisuapi.com/express/query',data:{type:'auto',number:that.data.num,appkey:'ef1e557c16514d',  //填入自己极速数据的appkey},success:function(res){//使用console.log()方法把接口返回来的数据res打印在下面,看看是什么类型的数据console.log(res)//定义一个arr数组,处理数组,让数组变成vantUI的steps能接受的数组格式let arr = []for(let i = 0;i<res.data.result.list.length;i++){let obj = {}obj.text = res.data.result.list[i].statusobj.desc = res.data.result.list[i].timearr.push(obj)}//打印查看处理是否正确,正确即可赋值console.log(arr)that.setData({steps:arr})wx.hideLoading();},fail(er){console.log(er)}})},

2.4、写展示数据的wxml代码

展示快递物流情况,我们懒得写wxss样式了,可以直接使用第三方写好的UI组件样式,这里我们使用了vantUI组件,具体怎么使用vantUI呢?

首先,我们先在app.json文件里面引入我们需要vantUI的vant-steps组件,如下图:

  "usingComponents": {"van-steps": "vant/steps/index"},

这里我们只用到了vant-steps组件,所以我们只需引入vant-steps组件,然后在index.wxml里面使用即可

<!--使用vantUI的van-steps组件简单实现快递情况-->
<van-stepssteps="{{ steps }}"direction="vertical"active-color="#ee0a24"
/>

这个是vantUI官方提供给我们的组件固定写法,我们只需要按需更改vant-steps组件里面的参数即可。

官方有很多参数说明,大家可以看看:

官方组件的使用说明文档是这个网址(https://vant-contrib.gitee.io/vant-weapp/#/steps)

代码写完了,该如何上线微信小程序呢? 首先点击微信开发者工具的右上角“上传”,然后按照提示输入信息上传即可,
上传成功后,登录微信公众平台,在“版本管理”的开发版提交审核,审核通过后点击发布即可使用。具体可以按照官方的提示操作即可,识字就行,非常简单哈。

3、总结

到这里,代码基本编写完成了哈,需要源码学习可以点击这里获取

这期分享主要是讲解简易版的快递查询,如果想要丰富一点的界面和功能,可以学完这期知识后,自己去进行二次开发就行。

欢迎关注【小秃僧】微信公众号,回复“云开发训练营”领取进阶教程哦!学完这篇,大家再去看这个训练营就更加容易理解了!
end

【云开发】10分钟零基础学会做一个快递查询微信小程序,快速掌握微信小程序开发技能(轮播图、API请求)相关推荐

  1. 零基础Unity做一个中秋诗词鉴赏网页,提前祝您中秋快乐!(DoTween动画 | WebGL视频 | 大文件上传GitHub)

    零基础Unity做一个中秋诗词鉴赏网页,提前祝您中秋快乐! 前言 一,环境搭建 1.1 安装Unity 1.2 添加WebGl模块 二,开发项目 2.1 导入插件 2.2 项目搭建 2.3 逻辑处理 ...

  2. JavaScript基础15-day17【BOM(Navigator、History、Location)、定时器、切换图片练习、轮播图】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  3. 10分钟零基础带你入门Ribbon小项目-啥?小白都能看懂?

    文章目录 一.前置说明及其框架搭建 1.思路详解 2.框架搭建 二.代码编写 1.编写五个pom文件 1.1.父pom文件 1.2.子模块pom 2.编写启动类 3.application.yml文件 ...

  4. 如何10分钟零基础实现Web3D(在线3D模型可视化)

    安装 http-server 第一步:点击链接 https://nodejs.org/dist/latest-v10.x/node-v10.17.0-x86.msi 下载 nodejs 并安装 第二步 ...

  5. 10分钟学计算机,电脑运行越来越慢?程序员大牛10分钟教你学会电脑瘦身

    原标题:电脑运行越来越慢?程序员大牛10分钟教你学会电脑瘦身 你的电脑是不是越来越慢?这里让程序员大佬用10分钟时间教你学会给电脑软件瘦身,1分钟了解计算机硬件升级.分分钟让你成为别人眼中的计算机大牛 ...

  6. 做一个前端网页送给女朋友~轮播图+纪念日

    文章目录 1. 轮播图框架 2. 轮播图大盒子实现 1. 盒子及图片的可视化 2. 将图片重叠起来并放入轮播图盒子中 ...相对定位与绝对定位 3. 添加左右按钮 4. 点击按钮跳转图片 5. 鼠标离 ...

  7. 云开发平台开箱,3分钟零基础搭建个人Hexo博客

    简介:Hexo是一款基于Node.js的博客框架,可以将Markdown格式的文本渲染为HTML代码.所以,博客基本就是纯静态,维护相对方便.但是缺点也很明显--经常换编写环境使用不便,因为它的所有渲 ...

  8. 二十五岁零基础转行做软件测试怎么样?

    俗话说得好:男怕入错行,女怕嫁错郎,那么你的入行方向决定着你的整个职业发展!! 所以在考虑要进入什么行业之前,必须要了解清楚这个行业的发展前景怎么样? 我们都知道,随着社会的发展,互联网行业涉及也越来 ...

  9. 《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》——1.3 微信公众平台的使用...

    本节书摘来自华章计算机<微信公众平台开发:从零基础到ThinkPHP5高性能框架实践>一书中的第1章,第1.3节,作者 方倍工作室,更多章节内容可以访问云栖社区"华章计算机&qu ...

最新文章

  1. 脚本-收集计算机信息
  2. 数据库 分组,distinct
  3. xcode快捷键大全
  4. 联想员工亲历联想大裁员:公司不是家
  5. 3、以太网基础知识——ARP地址解析协议原理
  6. java 010_Java笔记-day010-[String类]
  7. 2k16显示miui停止服务器,MIUI11停止内测,MIUI12真的来了,与小米MIX4同天发布,与ios13一样流畅丝滑...
  8. python保存与加载LGBM模型,并解决报错TypeError: Need at least one training dataset or model file or model string..
  9. ctk介绍、安装、使用详细说明pdf文档(中文).rar_Minio 安装和使用详解,还有对.net api进行了二次封装...
  10. Docker web管理界面——Shipyard
  11. MyBatis的三个基本要素
  12. Java语言基础--枚举
  13. vs2010制作安装包-vs2010打包教程
  14. @程序员,不会设计项目?有了这个工具,轻轻松松
  15. python导入os模块_python模块之OS模块
  16. 机器人学相关书籍(长期更新)
  17. 用粉红噪声煲机_解析什么是白噪和粉噪?耳机煲机用白噪好还是粉噪
  18. H5 前端JS添加水印
  19. java计算机毕业设计html5健身房信息管理系统MyBatis+系统+LW文档+源码+调试部署
  20. XJTUSE专业课与实验指南(已经开源)

热门文章

  1. 禁用计算机的某一端口,win10系统设置防火墙以禁止其他主机访问本机某端口的处理教程...
  2. Android 开源USB读写demo,实现串口通信
  3. MySQL练习——教学系统数据库设计
  4. 【树莓派】摄像头的基本使用
  5. 英语在线单词、语法检查工具
  6. ie浏览器的html在哪里,Win10系统下ie浏览器在哪?怎么打开IE浏览器?
  7. js中的concat函数-字符串拼接+数组拼接
  8. SSH/串口软件介绍
  9. C++学习第一百零七篇
  10. python与vb可以互换吗_把python 语句变成 vb 语句,仅仅几句