forked from cumt-robin/ncov_weapp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
85 lines (83 loc) · 2.3 KB
/
Copy pathapp.js
File metadata and controls
85 lines (83 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import Toast from "./utils/toast.js"
// app.js
App({
onLaunch: function () {
console.log('onLaunch', this)
this.checkUpdate()
// 登录
wx.login({
success: res => {
console.log('login', res)
// 发送 res.code 到后台换取 openId, sessionKey, unionId
}
})
this.checkDevice();
this.checkUserSetting();
},
globalData: {
userInfo: null,
systemInfo: null,
isIphonex: false
},
checkUpdate() {
const updateManager = wx.getUpdateManager()
updateManager.onCheckForUpdate(res => {
if (res.hasUpdate) {
// 有新版本
Toast.simple('发现新版本,请稍候')
updateManager.onUpdateReady(() => {
wx.showModal({
title: '版本更新',
content: '新版本已经准备好,是否重新加载小程序?',
success(res) {
if (res.confirm) {
updateManager.applyUpdate()
}
}
})
})
updateManager.onUpdateFailed(() => {
Toast.simple('网络出了点问题,新版本下载失败')
})
}
})
},
checkUserSetting() {
// 获取用户信息
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.userinfoCallback) {
this.userinfoCallback(true, res)
}
}
})
} else {
// 未授权,也回调
if (this.userinfoCallback) {
this.userinfoCallback(false, res)
}
}
}
})
},
checkDevice() {
wx.getSystemInfo({
success: res => {
console.log('system info:', res)
this.globalData.systemInfo = res
// 根据 model 进行判断
if (res.model.indexOf('iPhone X') !== -1) {
this.globalData.isIphonex = true
}
}
})
}
})