text: //index.js
  //获取应用实例
  const app = getApp()
  
  Page({
    data: {
      userInfo: {},
      hasUserInfo: false,
      canIUse: wx.canIUse('button.open-type.getUserInfo'),
      src: 'http://music.163.com/song/media/outer/url?id=469513063.mp3',
    },
  
    onShow: 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
            })
          }
        })
      }
    },
  
    modal: function () {
      wx.navigateTo({
        url: '../mymodal/mymodal',
      })
    },
  
    sheet: function () {
      wx.navigateTo({
        url: '../mysheet/mysheet',
      })
    },
  
    bgm: function () {
      wx.navigateTo({
        url: '../bgm/bgm',
      })
    },
  
    openSetting: function (e) {
      if (!e.detail.authSetting['scope.userInfo']) {
        app.globalData.userInfo = null
        this.setData({
          userInfo: {},
          hasUserInfo: false
        })
      }
    },
  
    onEnded: function (e) {
      this.setData({
        src: 'http://music.163.com/song/media/outer/url?id=29822196.mp3'
      })
    }
  })
  