mpvue刚出来的时候确实很火,但目前好像没有维护,不是很好找官方的文档,只能通过各大论坛的大佬们总结的文章去研究和论证
使用快递100的接口https://m.kuaidi100.com,mpvue也是完全遵循原生微信小程序的语法,所以接口只允许https.~~~~
**在app.vue主文件里面定义一个globalData
并初始化一个订单集合
globalData: {~~~~
orderInfo: []
}
mine页面
在此过程中我踩了一个大坑
引入主文件的全局数据需要和vue项目一样import {app,globalData} from "../../app.vue";
两个简单输入框~~以及绑定了输入事件~~ 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
});
}
})
}
}
点击查询按钮后跳订单详情页面
order页面内容
<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了,当然功能还不是很人性化,因为输入快递名称需要使用拼音,完全依赖于原接口,后面想着如何优化一下
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。