1.微信小程序开发交流qq群173683895
承接微信小程序开发。扫码加微信。2.在小程序里面经常会反复用到一些方法,例如:
3.1.网络请求,
4.2.时间戳转换成日期时间,
5.3.根据数组中的对象的属性数值大小进行排序,
6.4.判断手机号码是否正确,
7.5.页面跳转url参数解析,
8.6.截取并保留一个数值的后两位小数点,
9.7.验证身份证填写是否正确
10.等等,为了节约时间,咱们可以把这些方法封装成函数,只需要简单的调用就可以了。
一:在app.js中添加引用App({onLaunch:function(){this.request=require('./utils/util.js').request;this.util=require('./utils/util.js');}})二:现在我们来看调用的这些常用封装函数的示例代码:(函数底部的注释就是打印的Log)//index.jsconstapp=getApp();Page({onLoad:function(){varthat=this;this.getData();//时间戳转日期调用示例函数this.getRequest();//网络请求调用示例函数this.sortNumber();//根据数组中的对象的属性数值大小进行排序(从小到大)this.regNumber();//判断手机号码是否正确并且得出是哪一家运行商this.getUrlkey();//url参数解析this.returnFloat();//获取小数点后两位this.identityCodeValid();//验证身份证格式},//事件处理函数bindViewTap:function(){wx.navigateTo({url:'../logs/logs'})},//时间戳转日期示例函数getData(){vartime=newDate().getTime();varnowData=app.util.timeToData(time);console.log('log当前日期为:',nowData);//log当前日期为:2019-1-416:12:38},//网络请求调用示例函数getRequest(){varthat=this;app.request('sss.php','get',{id:1},'加载中',res={that.setData({sss:res.data})//sss.php返回的data:1})},//网络请求调用示例函数sortNumber(){vararr=[{a:2},{a:1},{a:3}];varsortArr=arr.sort(app.util.sortNumber('a'));console.log('log数组排序:',JSON.stringify(sortArr));//[{"a":1},{"a":2},{"a":3}]},//判断手机号码是否正确并且得出是哪一家运行商regNumber(){varphone1=app.util.regNumber(13977284413);varphone2=app.util.regNumber(13977284);console.log('phone1:',phone1,'phone2:',phone2);//phone1:movephone2:false},//url参数解析getUrlkey(){varurlObj=app.util.getUrlkey('add.php?a=1b=2c=3');console.log('urlObj:',urlObj);//{a:"1",b:"2",c:"3"}},//获取小数点后两位returnFloat(){varnum1=app.util.returnFloat('1.1');varnum2=app.util.returnFloat('1.12522');console.log('num1:',num1,'num2:',num2);//num1:1.10num2:1.13},//验证身份证格式identityCodeValid(){varid1=app.util.identityCodeValid('432503199409140615');varid2=app.util.identityCodeValid('4325031');console.log('id1:',id1,'id2:',id2);//id1:trueid2:false},})util.js文件//时间戳转换成日期时间functiontimeToData(unixtime){vardateTime=newDate(parseInt(unixtime))varyear=dateTime.getFullYear();varmonth=dateTime.getMonth()+1;varday=dateTime.getDate();varhour=dateTime.getHours();varminute=dateTime.getMinutes();varsecond=dateTime.getSeconds();varnow=newDate();varnow_new=Date.parse(now.toDateString());//typescript转换写法varmilliseconds=now_new-dateTime;vartimeSpanStr=year+'-'+month+'-'+day+''+hour+':'+minute+':'+second;returntimeSpanStr;}//根据数组中的对象的属性数值大小进行排序(从小到大)functionsortNumber(property){returnfunction(a,b){varvalue1=a[property];varvalue2=b[property];returnvalue1-value2;}}//验证手机号码是否正确并且得出是哪一家运行商functionregNumber(mobileNo){//移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188、198//联通:130、131、132、145、155、156、175、176、185、186、166//电信:133、153、173、177、180、181、189、199varmove=/^((134)|(135)|(136)|(137)|(138)|(139)|(147)|(150)|(151)|(152)|(157)|(158)|(159)|(178)|(182)|(183)|(184)|(187)|(188)|(198))d{8}$/g;varlink=/^((130)|(131)|(132)|(155)|(156)|(145)|(185)|(186)|(176)|(175)|(170)|(171)|(166))d{8}$/g;vartelecom=/^((133)|(153)|(173)|(177)|(180)|(181)|(189)|(199))d{8}$/g;if(move.test(mobileNo)){return'move';}elseif(link.test(mobileNo)){return'link';}elseif(telecom.test(mobileNo)){return'telecom';}else{returnfalse;}}//验证身份证格式constidentityCodeValid=sId={constaCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};variSum=0;varinfo="";if(!/^d{17}(d|X|x)$/i.test(sId))returnfalse;sId=sId.replace(/x$/i,"a");if(aCity[parseInt(sId.substr(0,2))]==null)returnfalse;varsBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));vard=newDate(sBirthday.replace(/-/g,"/"));if(sBirthday!=(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()))returnfalse;for(vari=17;i=0;i--)iSum+=(Math.pow(2,i)%11)*parseInt(sId.charAt(17-i),11);if(iSum%11!=1)returnfalse;//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女");//此次还可以判断出输入的身份证号的人性别returntrue;}//url参数解析functiongetUrlkey(url){varparams={};varurls=url.split("?");if(urls[1]){vararr=urls[1].split("");for(vari=0,l=arr.length;il;i++){vara=arr[i].split("=");params[a[0]]=a[1];}returnparams;}else{returnurls[0]}}//网络请求constrequest=function(url,method,data,msg,succ,fail,com){//小程序顶部显示Loadingwx.showNavigationBarLoading();if(msg!=""){wx.showLoading({title:msg})}wx.request({url:url,data:data,header:{'content-type':'application/x-www-form-urlencoded','appVersion':this.config.appVersion||''//小程序的版本号(可选)},method:method,success:res={if(succ)succ(res);},fail:err={if(fail)fail(err);},complete:com={wx.hideNavigationBarLoading();if(msg!=""){wx.hideLoading();}console.log(url+'返回的data:',com.data);}})}//获取小数点后两位functionreturnFloat(value){varvalue=Math.round(parseFloat(value)*100)/100;varxsd=value.toString().split(".");if(xsd.length==1){value=value.toString()+".00";returnvalue;}elseif(xsd.length1){if(xsd[1].length2){value=value.toString()+"0";}returnvalue;}}module.exports={request,timeToData,sortNumber,regNumber,getUrlkey,returnFloat,identityCodeValid};