本文实例讲述了微信小程序常用简易小函数。分享给大家供大家参考,具体如下:
最近一直在写微信小程序,而且由于是第二次写了,所以针对很多通用的情况封装了一些函数,建议你们放在app.js中,方便全局去调用。
提示类函数
微信有一种原生的API用于显示提示类结果的wx.showToast
,而且其中的图片是可以自定义的,所以为了保证全部一致性,而且方便调用,所以我将其全部封装在了app.js中:
// 成功showSuccess: function (message) { wx.showToast({ title: message, duration: 2000, image: "/images/Common/Success.png", }) },// 错误showError: function (message) { wx.showToast({ title: message, duration: 2000, image: "/images/Common/Error.png", }) },// 警告showWarn: function (message) { wx.showToast({ title: message, duration: 2000, image: "/images/Common/Warn.png", }) }
注意上面的duration参数,这个在下面的情况中是一个很重要的问题。
假设一般的操作是对一个页面的操作完成后接着显示处理结果,最后进行跳转。所以这里就存在一个问题,假设使用上面的弹出框进行显示,那么在弹出框显示之前就会进行跳转,这样处理结果就显示不全了,所以合理的做法是在弹出框结束后进行跳转。而如果将跳转单独封装在各个页面中,那么到时候进行时间长短的处理就很麻烦了,所以我将这个函数进行了封装:
// 第一个是路由,第二个则是判断是否是tabbar的路由,跳这两个路由是不一致的completeOperating:function(to,isTabbar){ var time=setTimeout(function(){ if(isTabbar===true){ wx.switchTab({ url:to }) }else{ wx.navigateTo({ url: to }) } clearTimeout(time); },2000)}
还有一种情况就是我们开始将数据返回给后端,这个时候最好给用户一个加载中的提示,而这个提示可以使用wx.showLoadding
来做:
// 提示用户数据保存中startOperating:function(info){ wx.showLoading({ title:info, mask:true }) }
当后端返回结果后。则将加载框进行隐藏:
stopOperating:function(){ wx.hideLoading(); }
登录类问题
微信小程序不支持session,这个是前提,所以我们没办法在后端使用session来进行用户身份的区分。我的解决思路是这样的,在项目的入口文件app.js中的onLaunch
函数中,即在用户开启小程序后调用wx.login()
函数获取用户的唯一微信标志code,接着将该标志传回后端,调用微信的统一API,获取用户在该微信小程序中的唯一标识,注意,即使是同一个用户,在不同的微信小程序中标识也是不一样的。
新闻热点
疑难解答