star.js
2.7 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// pages/star/star.js
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
// 用来换取token的四个必传参数
// code换取的'session_key'和'openid'
code:"",
nickName:"",
avatar:"",
},
// 暂不登录
noLogin(){
wx.navigateBack({
delta:1
})
},
// 获取用户信息(授权)
star(e) {
// console.log(e); // 此处会返回换取token必须的'encryptedData'和'iv'两个参数,
// this.setData({
// encryptedData: e.detail.encryptedData,
// iv: e.detail.iv
// });
this.setData({
nickName: e.detail.userInfo.nickName,
avatar: e.detail.userInfo.avatarUrl
})
wx.setStorageSync('avatarUrl', e.detail.userInfo.avatarUrl);
wx.setStorageSync('nickName', e.detail.userInfo.nickName);
// 授权之后需要调取登录的方法
this.login()
},
// 登录
login() {
let t = this;
// let url = "用{'session_key','openid','encryptedData','iv'}换取token的接口";
let url = "/api/user/login";
// 此处是获取token需要传递的参数
let params = {
code:t.data.code,
nickname:t.data.nickName,
avatar:t.data.avatar
}
app.post(url, params,"post").then(r => {
console.log(r) // 此处会返回一个token => (小程序登录的唯一标识)
// 需要将token存在缓存中,(以备需要);
wx.setStorageSync("token", r.token) // =>存入的是一个键值
// 获取个人信息
let url = "/api/user/info";
app.post(url)
.then(res=>{
wx.setStorageSync("token", res.token);
wx.setStorageSync("is_vip", res.is_vip) //是否为vip
wx.setStorageSync("userId",res.id)
// 之后跳转页面/执行方法
wx.redirectTo({
url: '/pages/homeindex/homeindex',
})
})
}).catch(err => {
console.log(err)
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
wx.login({
success: (res) => {
this.setData({
code:res.code
})
}
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function() {
}
})