基本信息
源码名称:微信小程序源码:国际包裹查询工具
源码大小:0.06M
文件格式:.zip
开发语言:C#
更新时间:2020-03-02
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍
微信公众号

var common = require('../../utils/util.js');
var mockDatas = require('../../utils/mock_datas.js');
Page({
    data: {
        number: null,
        tracking: true,
        result: {},
        titleInfo: {}
    },
    onShareAppMessage: function() {
        var that = this;
        return {
            title: that.data.number,
            desc: '快递:'   that.data.number   '的跟踪信息。',
            path: '/pages/track/track?n='   that.data.number
        }
    },
    onPullDownRefresh: function() {
        if (this.data.tracking) {
            wx.stopPullDownRefresh();
            return;
        }

        callTrackApi(this, 'PullDownRefresh');
    },
    onLoad: function(option) {
        if (!option.n) {
            return;
        }

        var that = this;

        //console.log(option.n);
        that.setData({
            number: option.n
        });

        setTimeout(function() {
            callTrackApi(that);
        }, 1000);

    }
});

function callTrackApi(that, on) {
    wx.request({
        url: 'https://api.getweapp.com/vendor/express',
        data: {
            account: ''
        },
        header: {
            'content-type': 'application/json'
        },
        success: function(res) {
            that.setData({
                tracking: false
            });
            if (on === 'PullDownRefresh') {
                wx.stopPullDownRefresh();
            }

            var data = res.data[parseInt((Math.random() * 10) % 3)];
            handleTracData(that, data);

            console.log(res.data);

        },
        fail: function(res) {
            that.setData({
                tracking: false
            });
            if (on === 'PullDownRefresh') {
                wx.stopPullDownRefresh();
            }

            if (getApp().globalData.mockData) {
                var data = mockDatas[parseInt((Math.random() * 10) % 3)];
                handleTracData(that, data);
            }
            console.log(res);
        }
    });
}

function handleTracData(that, data) {

    var titleInfo = common.trackStateStyle(data.Status);
    that.setData({
        titleInfo: titleInfo
    });

    that.setData({
        result: data
    });

    //ensure max history
    wx.getStorageInfo({
        success: function(res) {
            var keys = res.keys;

            var tnCount = 0;
            for (var i in keys.reverse()) {
                var key = keys[i];

                if (key.startsWith(common.TRACK_STORAGE_KEY_PREFIX)) {
                    tnCount  ;

                    if (tnCount >= 9) {
                        wx.removeStorage({
                            key: key,
                            success: function(res) {
                                //console.log('remove success: '   key);
                            }
                        });
                    }
                }
            }
        }
    });

    //story history
    wx.removeStorage({
        key: common.TRACK_STORAGE_KEY_PREFIX   data.TrackingNumber,
        complete: function(res) {
            wx.setStorage({
                key: common.TRACK_STORAGE_KEY_PREFIX   data.TrackingNumber,
                data: {
                    TrackingNumber: data.TrackingNumber,
                    Status: data.Status,
                    Original: {
                        CountryCnName: data.Original.Country.CountryCnName,
                        CarrireName: data.Original.Carrire.Name
                    },
                    Destination: {
                        CountryCnName: data.Destination.Country.CountryCnName,
                        CarrireName: data.Destination.Carrire.Name
                    },
                    LastEvent: data.Destination.Events.length === 0 ? (data.Original.Events.length === 0 ? null : data.Original.Events[0]) : data.Destination.Events[0]
                }
            });
        }
    });
}