标签 微信小程序 下的文章

有个需求是在小程序页面展示二维码。

于是使用 canvas 实现了一下,发现有个bug,真机上看的时候,滑动页面,canvas 会抖动,在安卓上更是乱跑,没法用。

使用服务端生成二维码会有点影响服务器性能,并且消耗带宽。

不如考虑将 canvas 转成 base64 图片后展示。

下面是实现步骤:

- 阅读剩余部分 -

朋友昨天问我如何保存微信小程序页面里的图片,一时没想到好办法。

今天突然想起来这事,于是又琢磨了一下,发现其实非常简单。。。

方法就是在电脑上打开小程序页面,然后拖拽想要保存的图片到浏览器窗口或者微信聊天窗口(支持拖拽发图的窗口就行),然后就可以保存图片了。

因为我用的是 mac,所以只测试了 mac,Windows 不知道这个方法可不可行。

mac 下演示视频:

- 阅读剩余部分 -

  • navigateTo: 保留当前页面,跳转到应用内的某个页面,可以带参数。
  • redirectTo: 关闭当前页面,跳转到应用内的某个页面,可以带参数。
  • reLaunch: 关闭所有页面,打开到应用内的某个页面,可以带参数。
  • switchTab: 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,不可以带参数。

- 阅读剩余部分 -

xxx: function(e) {
  let pages = getCurrentPages();
  let prevPage = pages[pages.length - 2];
  prevPage.setData({
       message: e.currentTarget.dataset.msg,
  })
  wx.navigateBack({
       delta: 1,
  })
}
  • getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出
  • pages[pages.length - 2] 是上一页,-1是当前页
  • 然后直接调用上一页的setData方法
  • message 是上一页定义的变量,e.currentTarget.dataset.msg为当前页要传的数据
  • 然后调用wx.navigateBack返回,delta表示返回的页数,如果delta大于现有页面数,则返回到首页。