初始化
This commit is contained in:
		
						commit
						3bc53a2f29
					
				
							
								
								
									
										39
									
								
								app.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								app.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,39 @@
 | 
			
		||||
//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
 | 
			
		||||
  }
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										14
									
								
								app.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								app.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
			
		||||
{
 | 
			
		||||
  "pages": [
 | 
			
		||||
    "pages/index/index",
 | 
			
		||||
    "pages/logs/logs"
 | 
			
		||||
  ],
 | 
			
		||||
  "window": {
 | 
			
		||||
    "backgroundTextStyle": "light",
 | 
			
		||||
    "navigationBarBackgroundColor": "#fff",
 | 
			
		||||
    "navigationBarTitleText": "WeChat",
 | 
			
		||||
    "navigationBarTextStyle": "black"
 | 
			
		||||
  },
 | 
			
		||||
  "style": "v2",
 | 
			
		||||
  "sitemapLocation": "sitemap.json"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								app.wxss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								app.wxss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
/**app.wxss**/
 | 
			
		||||
.container {
 | 
			
		||||
  height: 100%;
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: column;
 | 
			
		||||
  align-items: center;
 | 
			
		||||
  justify-content: space-between;
 | 
			
		||||
  padding: 200rpx 0;
 | 
			
		||||
  box-sizing: border-box;
 | 
			
		||||
} 
 | 
			
		||||
							
								
								
									
										54
									
								
								pages/index/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								pages/index/index.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,54 @@
 | 
			
		||||
//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
 | 
			
		||||
    })
 | 
			
		||||
  }
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										3
									
								
								pages/index/index.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								pages/index/index.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
{
 | 
			
		||||
  "usingComponents": {}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										13
									
								
								pages/index/index.wxml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								pages/index/index.wxml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,13 @@
 | 
			
		||||
<!--index.wxml-->
 | 
			
		||||
<view class="container">
 | 
			
		||||
  <view class="userinfo">
 | 
			
		||||
    <button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
 | 
			
		||||
    <block wx:else>
 | 
			
		||||
      <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
 | 
			
		||||
      <text class="userinfo-nickname">{{userInfo.nickName}}</text>
 | 
			
		||||
    </block>
 | 
			
		||||
  </view>
 | 
			
		||||
  <view class="usermotto">
 | 
			
		||||
    <text class="user-motto">{{motto}}</text>
 | 
			
		||||
  </view>
 | 
			
		||||
</view>
 | 
			
		||||
							
								
								
									
										21
									
								
								pages/index/index.wxss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								pages/index/index.wxss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
			
		||||
/**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;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								pages/logs/logs.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								pages/logs/logs.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,15 @@
 | 
			
		||||
//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))
 | 
			
		||||
      })
 | 
			
		||||
    })
 | 
			
		||||
  }
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										4
									
								
								pages/logs/logs.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								pages/logs/logs.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
			
		||||
{
 | 
			
		||||
  "navigationBarTitleText": "查看启动日志",
 | 
			
		||||
  "usingComponents": {}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										6
									
								
								pages/logs/logs.wxml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								pages/logs/logs.wxml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,6 @@
 | 
			
		||||
<!--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>
 | 
			
		||||
							
								
								
									
										8
									
								
								pages/logs/logs.wxss
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								pages/logs/logs.wxss
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
			
		||||
.log-list {
 | 
			
		||||
  display: flex;
 | 
			
		||||
  flex-direction: column;
 | 
			
		||||
  padding: 40rpx;
 | 
			
		||||
}
 | 
			
		||||
.log-item {
 | 
			
		||||
  margin: 10rpx;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										45
									
								
								project.config.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								project.config.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,45 @@
 | 
			
		||||
{
 | 
			
		||||
	"description": "项目配置文件",
 | 
			
		||||
	"packOptions": {
 | 
			
		||||
		"ignore": []
 | 
			
		||||
	},
 | 
			
		||||
	"setting": {
 | 
			
		||||
		"urlCheck": true,
 | 
			
		||||
		"es6": true,
 | 
			
		||||
		"postcss": true,
 | 
			
		||||
		"minified": true,
 | 
			
		||||
		"newFeature": true,
 | 
			
		||||
		"autoAudits": false,
 | 
			
		||||
		"coverView": true,
 | 
			
		||||
		"showShadowRootInWxmlPanel": true,
 | 
			
		||||
		"scopeDataCheck": false
 | 
			
		||||
	},
 | 
			
		||||
	"compileType": "miniprogram",
 | 
			
		||||
	"libVersion": "2.9.4",
 | 
			
		||||
	"appid": "wx932dd04d3a7e7341",
 | 
			
		||||
	"projectname": "deguodaigou",
 | 
			
		||||
	"debugOptions": {
 | 
			
		||||
		"hidedInDevtools": []
 | 
			
		||||
	},
 | 
			
		||||
	"isGameTourist": false,
 | 
			
		||||
	"simulatorType": "wechat",
 | 
			
		||||
	"simulatorPluginLibVersion": {},
 | 
			
		||||
	"condition": {
 | 
			
		||||
		"search": {
 | 
			
		||||
			"current": -1,
 | 
			
		||||
			"list": []
 | 
			
		||||
		},
 | 
			
		||||
		"conversation": {
 | 
			
		||||
			"current": -1,
 | 
			
		||||
			"list": []
 | 
			
		||||
		},
 | 
			
		||||
		"game": {
 | 
			
		||||
			"currentL": -1,
 | 
			
		||||
			"list": []
 | 
			
		||||
		},
 | 
			
		||||
		"miniprogram": {
 | 
			
		||||
			"current": -1,
 | 
			
		||||
			"list": []
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										7
									
								
								sitemap.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								sitemap.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
 | 
			
		||||
  "rules": [{
 | 
			
		||||
  "action": "allow",
 | 
			
		||||
  "page": "*"
 | 
			
		||||
  }]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										19
									
								
								utils/util.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								utils/util.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
			
		||||
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
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user