美文网首页
新建微信小程序代码源码

新建微信小程序代码源码

作者: 0e8ba74529f7 | 来源:发表于2018-08-28 23:19 被阅读78次

pages/index/index.js

//index.js

//获取应用实例

const app = getApp()

Page({

  data: {

    motto: 'Hello World',

    userInfo: {},

    hasUserInfo: false,

    canIUse: wx.canIUse('button.open-type.getUserInfo')

  },

  //事件处理函数

  bindViewTap: function() {

    wx.navigateTo({

      url: '../logs/logs'

    })

  },

  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

    })

  }

})

pages/index/index.wxml

--index.wxml-->

 

    获取头像昵称

   

      {{userInfo.nickName}}

 

    {{motto}}

pages/index/index.wxxs

/**index.wxss**/

.userinfo {

  display: flex;

  flex-direction: column;

  align-items: center;

}

.userinfo-avatar {

  width: 128rpx;

  height: 128rpx;

  margin: 20rpx;

  border-radius: 50%;

}

.userinfo-nickname {

  color: #aaa;

}

.usermotto {

  margin-top: 200px;

}

pages/logs/logs.js

//logs.js

const util = require('../../utils/util.js')

Page({

  data: {

    logs: []

  },

  onLoad: function () {

    this.setData({

      logs: (wx.getStorageSync('logs') || []).map(log => {

        return util.formatTime(new Date(log))

      })

    })

  }

})

pages/logs/logs.json

{

  "navigationBarTitleText": "查看启动日志"

}

pages/logs/logs.wxml

--logs.wxml-->

 

    {{index + 1}}. {{log}}

pages/logs/logs.wxss

.log-list {

  display: flex;

  flex-direction: column;

  padding: 40rpx;

}

.log-item {

  margin: 10rpx;

}

pages/utils/util.js

const formatTime = date => {

  const year = date.getFullYear()

  const month = date.getMonth() + 1

  const day = date.getDate()

  const hour = date.getHours()

  const minute = date.getMinutes()

  const second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')

}

const formatNumber = n => {

  n = n.toString()

  return n[1] ? n : '0' + n

}

module.exports = {

  formatTime: formatTime

}

pages/app.js

//app.js

App({

  onLaunch: function () {

    // 展示本地存储能力

    var logs = wx.getStorageSync('logs') || []

    logs.unshift(Date.now())

    wx.setStorageSync('logs', logs)

    // 登录

    wx.login({

      success: res => {

        // 发送 res.code 到后台换取 openId, sessionKey, unionId

      }

    })

    // 获取用户信息

    wx.getSetting({

      success: res => {

        if (res.authSetting['scope.userInfo']) {

          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框

          wx.getUserInfo({

            success: res => {

              // 可以将 res 发送给后台解码出 unionId

              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回

              // 所以此处加入 callback 以防止这种情况

              if (this.userInfoReadyCallback) {

                this.userInfoReadyCallback(res)

              }

            }

          })

        }

      }

    })

  },

  globalData: {

    userInfo: null

  }

})

pages/app.json

{

  "pages":[

    "pages/index/index",

    "pages/logs/logs"

  ],

  "window":{

    "backgroundTextStyle":"light",

    "navigationBarBackgroundColor": "#fff",

    "navigationBarTitleText": "WeChat",

    "navigationBarTextStyle":"black"

  }

}

pages/app.wxss

/**app.wxss**/

.container {

  height: 100%;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: space-between;

  padding: 200rpx 0;

  box-sizing: border-box;

}

pages/project.config.json

{

  "description": "项目配置文件。",

  "packOptions": {

    "ignore": []

  },

  "setting": {

    "urlCheck": true,

    "es6": true,

    "postcss": true,

    "minified": true,

    "newFeature": true

  },

  "compileType": "miniprogram",

  "libVersion": "2.2.4",

  "appid": "touristappid",

  "projectname": "11221221121",

  "condition": {

    "search": {

      "current": -1,

      "list": []

    },

    "conversation": {

      "current": -1,

      "list": []

    },

    "game": {

      "currentL": -1,

      "list": []

    },

    "miniprogram": {

      "current": -1,

      "list": []

    }

  }

}

相关文章

网友评论

      本文标题:新建微信小程序代码源码

      本文链接:https://www.haomeiwen.com/subject/zgpcwftx.html