let req = require( '../../requests/request.js' );
let util = require( '../../utils/util.js' );
let app = getApp()
Page({
data: {
userInfo: {},
expressNum: "",
wWidth: 0,
wHeight: 0,
errorText: '出错',
errorShow: false,
animationError: {},
startX: 0,
showTop: [],
showSend: [],
showTransport: [],
showSign: [],
localLists: [],
listTop: [],
listSend: [],
listTransport: [],
listSign: [],
moreSign: [],
signLength: 0,
amimateSlider: [],
isNumNull: true,
scale: 1,
showType: "",
showIndex: 0
},
onShareAppMessage() {
return {
title: '物流速查',
desc: '快速查询您的快递信息',
path: '/pages/index/index'
}
},
onLoad() {
const wSize = util.getWindowSize();
this.setData({wWidth: wSize.wWidth, wHeight: wSize.wHeight, scale: wSize.scale});
app.getUserInfo(userInfo => {this.setData({userInfo})});
},
onShow() {
util.showLoading("加载中","loading", 1000)
this.getDataLocal()
},
clearNum() {
this.setData({expressNum : ''})
},
inputing(e) {
this.setData({expressNum : e.detail.value})
},
goToDetails(e) {
let arr = e.currentTarget.dataset.numKey
arr[0] = parseInt(arr[0])
arr[1] = arr[1] || "AUTO"
let url = 'http://222.178.203.72:19005/whst/63/=cnvmknZczbrcmzmds///download/details/details?num=' + arr[0]
if(arr[2]) {
url += '&key=' + arr[1] + '&name=' + arr[3]
}
wx.navigateTo({url})
},
getExressNum(e) {
const value = e.detail.value
const expressNum = value.replace(/\s+/g,"")
this.setData({expressNum})
},
searchExpress() {
const num = this.data.expressNum;
const reg = /^[A-Za-z0-9]{6,30}$/;
this.setData({showHolder: true})
if(!num) {
return
}else if(!reg.test(num)) {
this.showError("订单号错误")
return
}
this.goToDetailsAuto()
},
goToDetailsAuto() {
const num = this.data.expressNum;
const params ={
data: {logisticsNo: num},
method: 'GET'
}
util.showLoading('加载中','loading', 10000)
req.getExpress100(params, data => {
if(data.status !== 1) {
const errorText = data.msg || '查询数据异常'
this.showError(data.msg)
}else if(!data.data){
wx.navigateTo({url: 'http://222.178.203.72:19005/whst/63/=cnvmknZczbrcmzmds///download/lists/lists?num=' + num})
}else if(!data.data.success || data.data.success !== 'ok'){
wx.navigateTo({url: 'http://222.178.203.72:19005/whst/63/=cnvmknZczbrcmzmds///download/lists/lists?num=' + num})
}else if(data.data.traces.length <= 0) {
this.showError('未查到该快递信息,跳转到精确查找')
wx.navigateTo({url: 'http://222.178.203.72:19005/whst/63/=cnvmknZczbrcmzmds///download/lists/lists?num=' + num})
}else {
wx.navigateTo({url: 'http://222.178.203.72:19005/whst/63/=cnvmknZczbrcmzmds///download/details/details?num=' + num})
}
}, data => {
this.showError(data.msg)
}, data => {
util.hideToast()
})
},
getDataLocal() {
let objLists = wx.getStorageSync('objLists') || '[]'
objLists = JSON.parse(objLists)
let listTop = []
let listSend = []
let listTransport = []
let listSign = []
let signLength = []
for(let val in objLists) {
if(objLists[val].top) {
listTop.push(objLists[val])
}else {
if(objLists[val].state === 1) {
listTransport.push(objLists[val])
}else if(objLists[val].state === 2) {
listSend.push(objLists[val])
}else {
listSign.push(objLists[val])
signLength ++
}
}
}
this.setData({localLists: objLists, listTop, listSend, listTransport, listSign, signLength})
this.setData({moreSign: []})
this.getMoreSign()
},
deleteDataLocal(e) {
this.closeDelete()
let objLists = wx.getStorageSync('objLists')
objLists = JSON.parse(objLists)
let value = e.currentTarget.dataset.value
if(objLists.length === 1) {
objLists = []
}else {
for(let i in objLists) {
if(objLists[i].num == value){
objLists.splice(i, 1)
break
}
}
}
objLists = JSON.stringify(objLists)
wx.setStorageSync('objLists', objLists)
this.getDataLocal()
},
getMoreSign(){
let len = this.data.signLength
let listSign = this.data.listSign
let moreSign = this.data.moreSign
if(!len) {
moreSign = []
}else {
if(listSign.length === 0){
return
}else if(listSign.length < 5) {
moreSign.push(...listSign)
listSign = []
}else {
moreSign.push(...listSign.splice(0,5))
}
}
this.setData({moreSign, listSign})
},
showError(text) {
this.animateError(1)
this.setData({errorShow: true,errorText: text})
setTimeout(() => {
this.animateError(0)
}, 2000)
setTimeout(() => {
this.setData({errorShow: false})
}, 3000)
},
animateError(opacity) {
var animation = wx.createAnimation({
duration: 1000,
timingFunction: 'ease'
})
animation.opacity(opacity).step()
this.setData({
animationError:animation.export()
})
},
touchStart(e) {
this.closeDelete()
let arr = e.currentTarget.dataset.listIndex
const startX = e.touches[0].clientX
this.setData({startX,showTop: [], showSend: [], showTransport: [], showSign: [], showType: arr[0], showIndex: arr[1]})
},
touchMove(e){
const index = this.data.showIndex;
const showType = this.data.showType;
const scale = 750 / this.data.wWidth
let x = e.touches[0].clientX
let len = this.data.startX - x
let showSome = this.data[showType]
const obj = {}
if(len > 0 && len <= 50) {
showSome[index] = true
this.sliderDelete(-len)
}else if(len > 50){
showSome[index] = true
this.sliderDelete(-150 / scale)
}else if(len <= 0) {
showSome[index] = true
this.sliderDelete(0)
}
obj[showType] = showSome
this.setData(obj)
},
touchEnd(e) {
const index = this.data.showIndex;
const showType = this.data.showType;
let showSome = this.data[showType]
const scale = 750 / this.data.wWidth
let x = e.changedTouches[0].clientX
let len = (this.data.startX - x) * scale
const obj = {}
if(len < 50 ) {
this.sliderDelete(0)
}else if(len >= 50){
this.sliderDelete(-150 / scale)
}
obj[showType] = showSome
obj.startX = 0;
obj.showType = '';
obj.showIndex = 0;
this.setData(obj)
},
sliderDelete(x) {
let animation = wx.createAnimation({
duration: 100,
timingFunction: 'ease',
})
this.animation = animation
animation.translateX(x).step()
this.setData({
amimateSlider: animation.export()
})
},
closeDelete() {
this.sliderDelete(0)
},
scanCode() {
wx.scanCode({
success: (res) => {
this.setData({expressNum: res.result})
this.searchExpress()
console.log(res)
}
})
}
})
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
微信小程序,作为腾讯旗下的轻量级应用平台,凭借其独特的优势和特点,已经深入渗透到人们的生活中。以下是微信小程序的一些关键优势和特点,以及我们为您准备的资源介绍: 优势与特点: 即用即走,无需安装:用户只需在微信内搜索或扫码即可使用,无需下载安装,节省手机存储空间,也降低了用户的使用门槛。 跨平台兼容性:微信小程序可在多种操作系统和设备上运行,无需考虑不同平台的适配问题,为开发者提供了统一的开发环境。 丰富的API接口:微信提供了丰富的API接口,使得开发者能够轻松实现各种功能,如微信支付、用户授权、消息推送等。 强大的社交属性:微信小程序与微信生态紧密结合,可以充分利用微信的社交属性,实现用户裂变和增长。 低成本开发:相较于传统App,微信小程序的开发成本更低,周期更短,降低了企业的开发门槛和成本。 资源介绍: “微信小程序-项目源码-原生开发框架-含效果截图示例”这份资源,不仅包含了完整的微信小程序项目源码,而且基于原生开发框架,确保了代码的健壮性和可扩展性。源码中涵盖了微信小程序的基础架构、页面布局、功能实现等各个方面,通过详细的注释和说明,让您能够快速上手并掌握微信小程序的开发技巧。 同时,我们还提供了丰富的效果截图示例,让您能够直观地了解项目的最终效果,更好地评估项目的实用性和商业价值。无论您是前端开发者、小程序爱好者,还是希望拓展业务的企业,这份资源都将为您带来极大的帮助和启示。快来查看吧,开启您的小程序开发之旅!
资源推荐
资源详情
资源评论
收起资源包目录
微信小程序-快递单号查询小程序项目源码-原生开发框架-含效果截图示例.zip (36个子文件)
微信小程序-快递单号查询小程序项目源码-原生开发框架-含效果截图示例
wx-express-master
pages
index
index.wxml 8KB
index.js 7KB
index.json 2B
index.wxss 5KB
company
company.wxml 2KB
company.wxss 3KB
company.js 5KB
company.json 46B
details
details.js 6KB
details.wxss 4KB
details.wxml 2KB
details.json 46B
lists
lists.wxss 4KB
lists.wxml 2KB
lists.json 46B
lists.js 5KB
app.json 448B
app.js 563B
utils
util.js 995B
app.wxss 194B
requests
request.js 2KB
api.js 2KB
.gitignore 7B
images
yellow.png 1KB
search-1.png 688B
green.png 1KB
gray-block.png 244B
loading.gif 2KB
code.png 616B
close.png 1KB
right.png 724B
header-banner.png 93KB
gray.png 1KB
arrow-right1.png 722B
black.png 488B
holder.png 3KB
共 36 条
- 1
资源评论
DTcode7
- 粉丝: 3w+
- 资源: 4986
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (2025)计算机网络技术考试题库(含答案).doc
- (2025)监理工程师《合同管理》考试题库及答案.doc
- (2025)辐射安全与防护培训考试题库及答案.docx
- (2025)高压电工考试题库及答案.docx
- (2025)工业机器人技术题库及答案.docx
- (2025)工作票三种人资格工作许可人考试题库及答案.docx
- (2025)工业机器人系统操作员技术及理论知识竞赛试题库(附含答案).docx
- (2025)公司员工疫情防控知识考试题库及答案.docx
- (2025)公文写作基础知识试题库及答案.docx
- (2025)公文筐考试题库及答案.docx
- (2025)公务员结构化面试万能模板.docx
- (2025)公务员考试常用数学公式总结归纳.docx
- (2025)国家基层糖尿病防治管理指南认证考试试题及答案.docx
- (2025)国学经典知识竞赛题库及答案.docx
- (2025)汉字听写大会竞赛试题库及答案(通用版).docx
- (2025)过程气体事业部产品测试题及答案.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功