• 微信小程序-查询快递


    1、新建快速启动项目

    2、在设置里面勾选不校验合法域名,以防编译报错

    3、在app.json中改一下窗口表现:app.json—"navigationBarTitleText": "WeChat"改为"navigationBarTitleText": "快递查询"

     显示如下:

    4、申请api接口,可登录聚合数据网站上免费申请,其他平台也可

    5、在app.js中添加方法 getExpressInfo(发起网络请求来调用申请的接口),两个参数 nu ,cb。nu为要查询的快递单号,cb为返回查找到的内容到data中的方法。

      先在微信公众平台-API复制示例代码

    修改代码如下:

    data:请求的参数

    header:设置请求的header

    success: 接口调用成功的回调函数

    5、在index.wxml中添加输入框并绑定input方法,添加查询按钮,绑定事件btnClick,使点击按钮会调用app.js中的接口,在下方设置可以滚动显示的组件

    <!--index.wxml-->
    <view class="container">
    <input placeholder="请输入运单号" bindinput='input' />
    <!-- bindinput 获取输入的信息 -->
    <button type="primary" bindtap="btnClick">查询</button>
    <!-- bindtap 绑定点击事件 -->

    <scroll-view scroll-y style="height:200px;">
    <view wx:for="{{expressInfo.result.list}}">
    {{item.remark}}||{{item.datetime}}
    </view>
    </scroll-view>

    </view>

    6、添加getUserInfo、btnClick和input函数

    //index.js
    //获取应用实例
    const app = getApp()
    // page 注册一个页面
    Page({
    data: {
    motto: 'Hello World',
    userInfo: {},
    expressNu:null
    // hasUserInfo: null,
    // canIUse: wx.canIUse('button.open-type.getUserInfo')
    },
    //事件处理函数
    bindViewTap: function() {
    wx.navigateTo({
    url: '../logs/logs'
    })
    },
    onLoad: function () {
    if (app.globalData.userInfo) {
    this.setData({
    userInfo: app.globalData.userInfo,
    hasUserInfo: true
    })
    } else if (this.data.canIUse){
    // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
    // 所以此处加入 callback 以防止这种情况
    app.userInfoReadyCallback = res => {
    this.setData({
    userInfo: res.userInfo,
    hasUserInfo: true
    })
    }
    } else {
    // 在没有 open-type=getUserInfo 版本的兼容处理
    wx.getUserInfo({
    success: res => {
    app.globalData.userInfo = res.userInfo
    this.setData({
    userInfo: res.userInfo,
    hasUserInfo: true
    })
    }
    })
    }
    },
    getUserInfo: function(e) {
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
    userInfo: e.detail.userInfo,
    hasUserInfo: true
    })
    },
    btnClick: function () {
    var thispage=this;
    app.getExpressInfo(this.data.expressNu,function(data){
    console.log(data)
    thispage.setData({expressInfo:data})
    });
    },
    input: function(e){
    this.setData({ expressNu:e.detail.value })
    }
    })

    7、添加输入框的样式

    /**index.wxss**/
    input{
      border:1px solid gray;
       90%;
      margin: 5%;
      padding:5px;
    }

     

    最后效果:

  • 相关阅读:
    js 兼容各类手机 的写法 待续
    css 兼容 各类手机的写法 待续
    数组的解构赋值
    let 和 const 命令
    ECMAScript 6 简介
    webpack4新建一个项目
    Webpack 4 Tutorial: from 0 Conf to Production Mode
    webpack4.1.1的使用详细教程
    git merge git pull时候遇到冲突解决办法git stash
    Git 常用命令速查表(图文+表格)
  • 原文地址:https://www.cnblogs.com/-xiao/p/10105504.html
Copyright © 2020-2023  润新知