<!--pages/album/index.wxml--><view class='page-wrapper'>  <view class='image'>  <image class="img" src="/images/IMG_0031.jpg"  mode="aspectFill"></image>  </view>  <view class='name'>  新郎:李翔宇;新娘:刘嘉琦  </view>    <view class='info'>  谨定于2019年6月18日中午12点举办婚礼  </view>  <view class='info'>  欢迎大家光临  </view>    <view class="button-wrapper">  <button type="primary" open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">生成请柬</button>  </view> </view>
//index.js//获取应用实例const app = getApp()Page({  data: {    motto: '欢迎您的到来',    userInfo: {},    hasUserInfo: false,    canIUse: wx.canIUse('button.open-type.getUserInfo')  },  //事件处理函数  bindViewTap: function() {    wx.navigateTo({      url: '../logs/logs'    })  },  onGotUserInfo: function(e) {    console.log(e.detail.errMsg)    console.log(e.detail.userInfo)    console.log(e.detail.rawData)    wx.navigateTo({      url: '/pages/poster/index',      success: res => {        console.log(res);      },      fail: err => {        console.log(err);      }    })  },    onLoad: function () {    if (app.globalData.userInfo) {      this.setData({        userInfo: app.globalData.userInfo,        hasUserInfo: true      })    } else if (this.data.canIUse){      // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回      // 所以此处加入 callback 以防止这种情况      app.userInfoReadyCallback = res => {        this.setData({          userInfo: res.userInfo,          hasUserInfo: true        })      }    } else {      // 在没有 open-type=getUserInfo 版本的兼容处理      wx.getUserInfo({        success: res => {          app.globalData.userInfo = res.userInfo          this.setData({            userInfo: res.userInfo,            hasUserInfo: true          })        }      })    }  },  getUserInfo: function(e) {    console.log(e)    app.globalData.userInfo = e.detail.userInfo    this.setData({      userInfo: e.detail.userInfo,      hasUserInfo: true    })  }})