用户权限授权修改

This commit is contained in:
limqhz
2021-05-27 22:43:12 +08:00
parent 68e4dd0eaa
commit 87236f1f89
13 changed files with 121 additions and 289 deletions

View File

@@ -1,104 +0,0 @@
// pages/authorizedMask/authorizedMask.js
const app = getApp();
Component({
/**
* 组件的属性列表
*/
properties: {
isSetting: {
type: Boolean,
value: false
},
content: {
type: String,
value: '使用小程序需要您授权登录'
},
isCancel: {
type: Boolean,
value: false
},
/**
* Only: 只有一個
* TwainCance 兩個帶取消
* */
type: {
type: String,
value: 'Only'
}
},
/**
* 组件的初始数据
*/
data: {
showBox: true,
},
/**
* 组件的方法列表
*/
methods: {
stopSlide() {
return;
},
wxTap() {
this.setData({
showBox: false
})
},
// 微信登录
wxLogin(e) {
if (e.detail.errMsg === 'getUserInfo:fail auth deny') {
this.setData({
showBox: true
})
return
}
this.setData({
showBox: false
})
let that = this;
wx.login({
success: function(res) {
if (res.code) {
app.$api.login({
avatar: e.detail.userInfo.avatarUrl,
code: res.code,
nickname: e.detail.userInfo.nickName,
}).then(res => {
wx.setStorageSync('access_token', res.data.accessToken);
wx.setStorageSync('userInfo', e.detail.userInfo);
that.triggerEvent('loginSuccess', {}, {});
})
} else {
wx.showToast({
title: '登录失败',
icon: 'none',
})
}
},
fail: function(res) {
wx.showToast({
title: '登录失败',
icon: 'none',
})
},
})
},
// 取消
cance() {
this.triggerEvent('cance', {}, {});
},
// 打开设置
setSuccess: function (e) {
this.triggerEvent('setsuccess', e.detail, {});
// if (e.detail.authSetting["scope.userLocation"]) {//如果打开了地理位置就会为true
// this.setData({
// showFlag: true
// })
// }
}
}
})

View File

@@ -1,4 +0,0 @@
{
"component": true,
"usingComponents": {}
}

View File

@@ -1,17 +0,0 @@
<!--pages/authorizedMask/authorizedMask.wxml-->
<view class='auth-bg' catchtouchmove='stopSlide'>
<view class='auth-box' wx:if="{{showBox}}">
<!-- wx:if="{{type == 'TwainCance'}}" -->
<view class='close' bindtap='cance' wx:if="{{isCancel}}">
<image src='../../images/23@3x.png'></image>
</view>
<view class='message'>{{content}}</view>
<view class='btn-bg' wx:if="{{type == 'Only'}}">
<button open-type="getUserInfo" bindgetuserinfo="wxLogin" wx:if="{{!isSetting}}">授权登录</button>
<button open-type="openSetting" bindopensetting="setSuccess" wx:if="{{isSetting}}" >进入授权管理</button>
</view>
<!-- <view class='btn-bg btn-tow' wx:if="{{showBox}}">
<button open-type="openSetting" wx:if="{{isSetting}}">进入授权管理</button>
</view> -->
</view>
</view>

View File

@@ -1,67 +0,0 @@
/* pages/authorizedMask/authorizedMask.wxss */
.auth-bg {
position: fixed;
top: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
width: 100vw;
height: 100vh;
background: rgba(0, 0, 0, 0.6);
z-index: 1001;
}
.auth-box {
position: relative;
width: 70%;
height: 350rpx;
background: #252330;
border-radius: 10rpx;
color: #989898;
}
.message {
display: flex;
justify-content: center;
align-items: center;
height: 250rpx;
/* border-bottom: 2rpx solid #EBEEF5; */
font-size: 28rpx;
}
.btn-bg>button {
width: 60%;
height: 70rpx;
line-height: 70rpx;
font-size: 26rpx;
color: #252330;
border-radius: 35rpx;
background: #ffc129;
}
.btn-bg.btn-tow {
display: flex;
}
button::after {
border: none;
border-radius: 0;
}
.close {
position: absolute;
top: 0;
right: 0;
display: flex;
justify-content: center;
align-items: center;
width: 60rpx;
height: 60rpx;
}
.close>image {
width: 26rpx;
height: 26rpx;
}

View File

@@ -66,7 +66,7 @@ Component({
// 点击获取个人信息 // 点击获取个人信息
openUserInfo(e) { openUserInfo(e) {
this.triggerEvent('getuserinfo', e.detail, {}); this.triggerEvent('getuserinfo', e, {});
} }
} }
}) })

View File

@@ -7,8 +7,8 @@
<button wx:if="{{showCancel}}" bindtap='cancel'>{{cancelBtnTitle}}</button> <button wx:if="{{showCancel}}" bindtap='cancel'>{{cancelBtnTitle}}</button>
<view class='line' wx:if="{{showCancel}}"></view> <view class='line' wx:if="{{showCancel}}"></view>
<button open-type='openSetting' wx:if="{{isAuth}}" bindopensetting="openSetting">{{confirmBtnTitle}}</button> <button open-type='openSetting' wx:if="{{isAuth}}" bindopensetting="openSetting">{{confirmBtnTitle}}</button>
<button open-type='getUserInfo' wx:elif="{{isUserInfo}}" bindgetuserinfo="openUserInfo">{{confirmBtnTitle}}</button> <button wx:elif="{{isUserInfo}}" bindtap="openUserInfo">{{confirmBtnTitle}}</button>
<button wx:else bindtap='confirm'>{{confirmBtnTitle}}</button> <button wx:else bindtap='confirm'>{{confirmBtnTitle}}</button>
</view> </view>
</view> </view>
</view> </view>

View File

@@ -268,20 +268,24 @@ Page({
// 授权微信 // 授权微信
getUserInfo(e) { getUserInfo(e) {
app.$pay.payWxLoing(e.detail).then(res => { wx.getUserProfile({
wx.showToast({ desc: '用于完善会员资料',
title: '绑定成功', success: (res) => {
duration: 2000, app.$pay.payWxLoing(res).then(res => {
wx.showToast({
}) title: '绑定成功',
this.setData({ duration: 2000,
isWxLogin: false })
}) this.setData({
}, err => { isWxLogin: false
this.setData({ })
isWxLogin: false }, err => {
}) this.setData({
}) isWxLogin: false
})
})
}
});
} }
}) })

View File

@@ -307,21 +307,24 @@ Page({
// 授权微信 // 授权微信
getUserInfo(e) { getUserInfo(e) {
console.log(e.detail); wx.getUserProfile({
app.$pay.payWxLoing(e.detail).then(res => { desc: '用于完善会员资料',
wx.showToast({ success: (res) => {
title: '绑定成功', app.$pay.payWxLoing(res).then(res => {
duration: 2000, wx.showToast({
title: '绑定成功',
}) duration: 2000,
this.setData({ })
isWxLogin: false this.setData({
}) isWxLogin: false
}, err => { })
this.setData({ }, err => {
isWxLogin: false this.setData({
}) isWxLogin: false
}) })
})
}
});
}, },
// 选中支付方式 // 选中支付方式
@@ -330,4 +333,4 @@ Page({
payType: e.currentTarget.dataset.type payType: e.currentTarget.dataset.type
}) })
} }
}) })

View File

@@ -217,19 +217,23 @@ Page({
// 授权微信 // 授权微信
getUserInfo(e) { getUserInfo(e) {
app.$pay.payWxLoing(e.detail).then(res => { wx.getUserProfile({
wx.showToast({ desc: '用于完善会员资料',
title: '绑定成功', success: (res) => {
duration: 2000, app.$pay.payWxLoing(res).then(res => {
wx.showToast({
}) title: '绑定成功',
this.setData({ duration: 2000,
isWxLogin: false })
}) this.setData({
}, err => { isWxLogin: false
this.setData({ })
isWxLogin: false }, err => {
}) this.setData({
}) isWxLogin: false
})
})
}
});
} }
}) })

View File

@@ -121,42 +121,52 @@ Page({
showUnclickMask: true showUnclickMask: true
}) })
let that = this; let that = this;
wx.login({ wx.getUserProfile({
success: function(res) { desc: '用于完善会员资料',
app.$api.memberLoginWX({ success: (res) => {
avatar: e.detail.userInfo.avatarUrl, wx.login({
code: res.code, success: function(r){
nickname: e.detail.userInfo.nickName app.$api.memberLoginWX({
}).then(res => { avatar: res.userInfo.avatarUrl,
wx.setStorageSync('information', res.information); code: r.code,
if (!res.authorization) { nickname: res.userInfo.nickName
wx.redirectTo({ }).then(res => {
url: '/pages/register/index?codeType=' + 1, wx.setStorageSync('information', res.information);
if (!res.authorization) {
wx.redirectTo({
url: '/pages/register/index?codeType=' + 1,
})
return;
}
wx.setStorageSync('accessToken', res.authorization.accessToken);
let route = wx.getStorageSync('history');
wx.removeStorageSync('history');
if (!route || route == '/pages/login/index') {
return wx.redirectTo({
url: '/pages/mine/index',
})
}
wx.redirectTo({
url: route,
})
}, err => {
that.setData({
showUnclickMask: false
})
});
},
fail: function(res) {
that.setData({
showUnclickMask: false
}) })
return; },
} })
wx.setStorageSync('accessToken', res.authorization.accessToken);
let route = wx.getStorageSync('history');
wx.removeStorageSync('history');
if (!route || route == '/pages/login/index') {
return wx.redirectTo({
url: '/pages/mine/index',
})
}
wx.redirectTo({
url: route,
})
}, err => {
that.setData({
showUnclickMask: false
})
});
}, },
fail: function(res) { fail: (res) => {
that.setData({ that.setData({
showUnclickMask: false showUnclickMask: false
}) })
}, },
}) })
}, },
}) })

View File

@@ -7,9 +7,8 @@
<view class='line-between-text'>快速微信登录</view> <view class='line-between-text'>快速微信登录</view>
</view> </view>
<view class='wechat-btn'> <view class='wechat-btn'>
<button open-type='getUserInfo' bindgetuserinfo='wxLogin' ></button>
<image src='../../images/47@3x.png' bindtap='wxLogin'></image> <image src='../../images/47@3x.png' bindtap='wxLogin'></image>
</view> </view>
</view> </view>
<view class='unclick-mask' wx:if="{{showUnclickMask}}"></view> <view class='unclick-mask' wx:if="{{showUnclickMask}}"></view>

View File

@@ -153,19 +153,23 @@ Page({
// 授权微信 // 授权微信
getUserInfo(e) { getUserInfo(e) {
app.$pay.payWxLoing(e.detail).then(res => { wx.getUserProfile({
wx.showToast({ desc: '用于完善会员资料',
title: '绑定成功', success: (res) => {
duration: 2000, app.$pay.payWxLoing(res).then(res => {
wx.showToast({
}) title: '绑定成功',
this.setData({ duration: 2000,
isWxLogin: false })
}) this.setData({
}, err => { isWxLogin: false
this.setData({ })
isWxLogin: false }, err => {
}) this.setData({
}) isWxLogin: false
})
})
}
});
} }
}) })

View File

@@ -23,7 +23,7 @@ export function pay(body) {
} }
export function payWxLoing(body) { export function payWxLoing(body) {
console.log(body) console.log(body.userInfo)
const app = getApp(); const app = getApp();
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {