애플릿 인증 로그인
1:wxml에서 사용자 정의 탄창
<view class="login" wx:if="{{!hasUserInfoStatus}}" catchtouchmove='true'>
<view class="mask">view>
<view class="d-login-popup">
<text class='d-login-popup-text'> text>
<image class='d-login-popup-img' src='../../../../assets/images/d_login_img.png'>image>
<text class='d-login-popup-text'> text>
<button class='cancel' bindtap='cancelUserinfo'> button>
<button class='sure' open-type="getUserInfo" bindgetuserinfo="getUserInfo"> button>
view>
view>
2: 데이터 안에hasUserInfoStatus 변수는 사용자 정의 탄창을 표시할지 여부를 나타낸다
data: {
hasUserInfoStatus: true,
}
3: onshow에서 사용자의 로그인 여부를 판단합니다.로그인, 사용자 정의 탄창 숨기기.로그인하지 않음, 사용자 정의 탄창 표시, 사용자가 단추를 누르면 권한 수여 탄창 표시를 터치합니다
onShow() {
wx.login({
success: res => {
console.log('login', res)
this.getInfo(res.code);
}
});
},
getInfo: function (code) {
let _self = this;
wx.request({
url: api + '/api/miniProgramController/decodeUserInfo?code=' + code,
header: {
'content-type': 'application/json'
},
success: function (res) {
let openid = res.data.openid
let unionid = res.data.unionid
_self.setData({
openId: openid
})
app.globalData.openId = openid
app.globalData.unionId = unionid
wx.request({
url: api + '/rest/v1/wxLogin/isLogin/' + openid,
data: {},
header: {
'content-type': 'application/json'
},
method: 'POST',
success: function (suc) {
if (suc.data.success == true) { //
app.globalData.hasUserInfoStatus = true;
_self.setData({
hasUserInfoStatus: true
})
if (suc.data.data !== '') {
app.globalData.ylUserId = suc.data.data
}
_self.getComInfo()
} else { //
app.globalData.hasUserInfoStatus = false;
_self.setData({
hasUserInfoStatus: false
})
app.globalData.ylUserId = ''
}
}
})
}
})
},
4: 사용자 정의 탄창 표시, 사용자가 허용 단추를 누르면 getUserInfo 함수를 터치하고, 취소 단추를 누르면 cancelUserinfo 함수를 터치합니다.
getUserInfo: function () {
let _self = this;
wx.getSetting({ //
success(res) {
console.log(res)
if (res.authSetting['scope.userInfo']) { // ‘ ’
// , getUserInfo
wx.getUserInfo({
success: function (res) { }
})
wx.navigateTo({
url: '/pages/newLogin/newLogin?formUser=true' //
})
} else { // ‘ ’
wx.switchTab({
url: '/pages/index/index',
})
}
}
})
},
cancelUserinfo(){
wx.switchTab({
url: '/pages/index/index', //
})
},
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.