mpvue刚出来的时候确实很火,但目前好像没有维护,不是很好找官方的文档,只能经过各大论坛的大佬们总结的文章去研究和论证
使用快递100的接口https://m.kuaidi100.com,mpvue也是彻底遵循原生微信小程序的语法,因此接口只容许https.~~~~
**在app.vue主文件里面定义一个globalData
并初始化一个订单集合vue
globalData: {~~~~ orderInfo: [] }
在此过程当中我踩了一个大坑
引入主文件的全局数据须要和vue项目同样import {app,globalData} from "../../app.vue";
json
两个简单输入框~~以及绑定了输入事件~~ mpvue也是彻底支持v-model的~~~~ <view class="section"> <input class="order-input" placeholder="请输入订单号" @change="bindChange" v-model="value" id="orderId" /> <input class="order-input" placeholder="请输入快递公司拼音如shunfeng" @change="bindChange" v-model="value" id="company" /> </view> 查询按钮~~~~ ` <button class="query-btn" size="default" type="primary" loading="" @click="search"> 查询 </button>`
在methods里面写入相应的方法小程序
methods:{ //上面的方法~~~~ bindChange: function (e) { console.log(e); var id; var value; id = e.currentTarget.id; value = e.mp.detail.value + ''; this.inputCon[id] = value; }, search: function () { var that = this; var type = that.inputCon.company; var postid = that.inputCon.orderId; var data = { 'type':type, 'postid':postid } console.log(this.globalData.queryInfo); console.log(data); this.globalData.queryInfo=data; console.log(app); wx.request({ url: 'https://m.kuaidi100.com/query', data: data, header: { 'content-type': 'application/json' }, success: (res)=> { var errTip = res.data.message; var orderInfo = res.data.data; console.log(orderInfo); if(orderInfo.length == 0) { console.log(errTip) // that.setData({ // errTip:errTip // }) this.errTip=errTip return } // that.setData({ // errTip:'' // }) this.errTip="" this.globalData.orderInfo = orderInfo; console.log( this.globalData.orderInfo) wx.navigateTo({ url: '../order/main' }); wx.setNavigationBarTitle({ title: data.postid }); } }) } }
点击查询按钮后跳订单详情页面微信小程序
<template> <view class="order-list"> <block v-for="(item,index) in orders" :key="index"> <view class="order-time">{{item.ftime}}:</view> <view class="order-txt">{{item.context}}</view> </block> </view> </template> <script> export default { data(){ return{ orders:[] } }, onLoad: function(options) { 拿订购信息并渲染 console.log(options); console.log(this.globalData.orderInfo) var orderInfo = this.globalData.orderInfo; this.orders=orderInfo } }; </script> <style> </style>
就这样ok了,固然功能还不是很人性化,由于输入快递名称须要使用拼音,彻底依赖于原接口,后面想着如何优化一下微信