微信小程序之分享页面如何返回首页

circle

做小程序开发发现,页面分享出去后,用户通过分享进去的页面很难找到返首页的情况。(微信官方操作是点击右上角三个点,在手机下方显示返回首页)。民间很多方案是自己在页面加个悬浮Home标注。
今天我分享另外一种方法。请看下面.gif;
图片描述

有没有发现,左上角有返回按钮了。原理简单,在你要分享的页面,分享配置时配置你的首页,并带上对应的参数,在首页 onLoad方法中可以获取。代码如下:

<!--index.wxml-->
<view class="container">
<text>我是首页</text>
  <button bindtap='goLogs'>go logsPage</button>
</view>

const app = getApp()

Page({
  data: {
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  //事件处理函数
  goLogs: function() {
    wx.navigateTo({
      url: '/pages/logs/logs'
    })
  },
  onLoad: function (options) {
    console.log(options)
    if (options.share_query){
      wx.showLoading({
        title: '我是从分享页面进入的',
      })

      setTimeout(function () {
        wx.hideLoading()
        wx.navigateTo({
          url: '/pages/logs/logs',
        })
      }, 2000)

    
    }

    }
  
})
<!--logs.wxml-->
<view class="container log-list">
  <block wx:for="{{logs}}" wx:for-item="log">
    <text class="log-item">{{index + 1}}. {{log}}</text>
  </block>
</view>
const app = getApp()

Page({
  data: {
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  //事件处理函数
  goLogs: function() {
    wx.navigateTo({
      url: '/pages/logs/logs'
    })
  },
  onLoad: function (options) {
    console.log(options)
    //判断是否分享进入
    if (options.share_query){
      wx.showLoading({
        title: '我是从分享页面进入的',
      })

      setTimeout(function () {
        wx.hideLoading()
        wx.navigateTo({
          url: '/pages/logs/logs',
        })
      }, 2000)

    
    }

    }
  
})

最后 抛砖引玉

阅读 9.5k

"It works on my machine" 在我机器上好好的!!!

4.7k 声望
61 粉丝
0 条评论
你知道吗?

"It works on my machine" 在我机器上好好的!!!

4.7k 声望
61 粉丝
宣传栏