You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
341 lines
8.0 KiB
341 lines
8.0 KiB
<template>
|
|
<view class="container flex-items-plus flex-column">
|
|
<global-loading />
|
|
<view class="login-logoBox">
|
|
<image class="login-logo" src="https://wechat.hnthee.com/ceres-local-file/image/logo_wechat.png"></image>
|
|
</view>
|
|
<view class="loginTitle-text flex-column-plus flex-items font-color-666 fs26">
|
|
<text>为了给您提供更好的服务</text>
|
|
<text>我们需要您的授权哦~</text>
|
|
</view>
|
|
<view>
|
|
<!-- #ifdef MP-WEIXIN -->
|
|
<button class="loginWxBut fs28" @click="GetUserInfo">微信登录</button>
|
|
<button class="goToHome fs28" @click="goToHome">去首页逛逛</button>
|
|
<!-- #endif -->
|
|
<!-- #ifdef MP-ALIPAY -->
|
|
<button class="loginWxBut fs28" @click="GetAliPayUserInfo">支付宝登录</button>
|
|
<!-- #endif -->
|
|
<!-- #ifndef MP-ALIPAY -->
|
|
<view class="loginBut" v-if="noMp" @click="goLogin">手机号登录</view>
|
|
<!-- #endif -->
|
|
</view>
|
|
<view class="flex-row-plus mar-top-30" v-if="noMp">
|
|
<text class="font-color-C5AA7B">还没有账号,</text>
|
|
<view class="register-text" @click="goRegister">去注册</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
const NET = require('../../utils/request')
|
|
const API = require('../../config/api')
|
|
export default {
|
|
data() {
|
|
return {
|
|
WXloginQuery: {
|
|
"code": "",
|
|
"salesId": 0,
|
|
"headImage": '',
|
|
"terminal":1
|
|
},
|
|
noMp: false,
|
|
// beforePage: undefined,
|
|
// doubleBeforePage: undefined
|
|
}
|
|
},
|
|
onLoad(options) {
|
|
|
|
// #ifndef MP
|
|
this.noMp = true
|
|
// #endif
|
|
const pages = getCurrentPages()
|
|
uni.setStorageSync('last_page', pages[pages.length - 2].route);
|
|
if (pages[pages.length - 2].options) {
|
|
uni.setStorageSync('last_page_options', pages[pages.length - 2].options);
|
|
}
|
|
},
|
|
onShow() {
|
|
// 所有需要授权页面进登录页面取消loading
|
|
uni.hideLoading()
|
|
},
|
|
onBackPress() {
|
|
uni.switchTab({
|
|
url: '../../pages/tabbar/index/index'
|
|
})
|
|
return true;
|
|
},
|
|
methods: {
|
|
back() {
|
|
uni.switchTab({
|
|
url: '../../pages/tabbar/index/index'
|
|
});
|
|
},
|
|
goLogin() {
|
|
uni.navigateTo({
|
|
url: 'accountLogin'
|
|
})
|
|
},
|
|
goRegister() {
|
|
uni.navigateTo({
|
|
url: 'register'
|
|
})
|
|
},
|
|
// 微信登录
|
|
GetUserInfo() {
|
|
// uni.showLoading({
|
|
// title: '正在加载...',
|
|
// mask: true
|
|
// });
|
|
|
|
const that = this
|
|
// // #ifdef APP-PLUS
|
|
// uni.login({
|
|
// provider: 'weixin',
|
|
// success: function(loginRes) {
|
|
// // 获取用户信息
|
|
// uni.getUserInfo({
|
|
// provider: 'weixin',
|
|
// success: function(infoRes) {
|
|
// let wechatOpenId = infoRes.userInfo.openId
|
|
// let avatarUrl = infoRes.userInfo.avatarUrl
|
|
// NET.request(API.WxAppLogin, {
|
|
// 'wechatOpenId': wechatOpenId
|
|
// }, 'POST').then(res => {
|
|
// let data = {
|
|
// wechatOpenId: wechatOpenId,
|
|
// headImage: avatarUrl
|
|
// }
|
|
// that.loginSuc(res.data, data)
|
|
// }).catch(res => {
|
|
// console.log('WxAppLogin failed: ', res)
|
|
// })
|
|
// },
|
|
// fail: () => {
|
|
// uni.showToast({
|
|
// title: "微信登录授权失败",
|
|
// icon: "none"
|
|
// });
|
|
// }
|
|
// });
|
|
// }
|
|
// });
|
|
// // #endif
|
|
|
|
// #ifdef MP-WEIXIN
|
|
uni.login({
|
|
provider: 'weixin',
|
|
success: (res2) => {
|
|
uni.hideLoading()
|
|
that.WXloginQuery.code = res2.code
|
|
},
|
|
fail: () => {
|
|
uni.showToast({
|
|
title: "微信登录授权失败",
|
|
icon: "none"
|
|
});
|
|
}
|
|
})
|
|
|
|
uni.getUserProfile({
|
|
desc: '正在获取', //不写不弹提示框
|
|
success: function(res) {
|
|
that.WXloginQuery.headImage = res.userInfo.avatarUrl
|
|
NET.request(API.WxLogin, that.WXloginQuery, 'POST').then(res => {
|
|
let data = {
|
|
wechatOpenId: res.data.wechatOpenId,
|
|
headImage: res.data.headImage
|
|
}
|
|
that.loginSuc(res.data, data)
|
|
}).catch(err => {
|
|
})
|
|
},
|
|
fail: function(err) {
|
|
uni.showToast({
|
|
title: "微信登录授权失败",
|
|
icon: "none"
|
|
});
|
|
},
|
|
});
|
|
/* uni.getUserInfo({
|
|
provider: 'weixin',
|
|
success: function(infoRes) {
|
|
},
|
|
fail: () => {
|
|
uni.showToast({
|
|
title: "微信登录授权失败",
|
|
icon: "none"
|
|
});
|
|
}
|
|
}); */
|
|
/* uni.getUserProfile({
|
|
desc: '正在获取', //不写不弹提示框
|
|
success: function(res) {
|
|
console.dir(res)
|
|
that.WXloginQuery.headImg = res.userInfo.avatarUrl
|
|
// that.loginSuc({'ifFirst': 1}, {'headImg': res.userInfo.avatarUrl})
|
|
},
|
|
fail: function(err) {
|
|
uni.showToast({
|
|
title: "微信登录授权失败",
|
|
icon: "none"
|
|
});
|
|
}
|
|
}) */
|
|
// #endif
|
|
},
|
|
GetAliPayUserInfo() {
|
|
const that = this
|
|
uni.login({
|
|
provider: 'alipay',
|
|
scopes: 'auth_user',
|
|
success: function(loginRes) {
|
|
that.alipayLogin(loginRes.authCode)
|
|
}
|
|
});
|
|
},
|
|
alipayLogin(authCode) {
|
|
NET.request(API.AlipayLogin, {
|
|
'code': authCode
|
|
}, 'POST').then(res => {
|
|
this.loginSuc(res.data, {
|
|
'buyerUserId': res.data.buyerUserId
|
|
})
|
|
}).catch(err => {
|
|
})
|
|
},
|
|
goToHome() {
|
|
uni.switchTab({
|
|
url: '/pages/tabbar/index/index'
|
|
});
|
|
},
|
|
loginSuc(buyerUser, data) {
|
|
if (buyerUser.ifFirst == 0) {
|
|
uni.setStorageSync('storage_key', buyerUser);
|
|
this.bindSalesCustomer()
|
|
/* uni.switchTab({
|
|
url: '/pages/tabbar/user/index',
|
|
success() {
|
|
uni.hideLoading()
|
|
}
|
|
}) */
|
|
|
|
const last_page = uni.getStorageSync('last_page') || ''
|
|
if (last_page) {
|
|
const last_page_options = uni.getStorageSync('last_page_options') || ''
|
|
const str = JSON.stringify(last_page_options).replaceAll('{', '').replaceAll('}', '').replaceAll(
|
|
'"', '').replaceAll(':', '=').replaceAll(',', '&')
|
|
// 保留其他路由,需跳转2下 到最后登录页面
|
|
// uni.navigateBack({
|
|
// delta: 1
|
|
// })
|
|
// uni.redirectTo({
|
|
// url: `/${last_page}?${str}`,
|
|
// // url: `/${last_page}?` + str
|
|
// })
|
|
|
|
// 清空其他路由,直接跳转最后登录页面
|
|
uni.reLaunch({
|
|
url: `/${last_page}?${str}`,
|
|
// url: `/${last_page}?` + str
|
|
})
|
|
return
|
|
} else {
|
|
// #ifdef MP-ALIPAY
|
|
uni.navigateTo({
|
|
url: '/pages/tabbar/user/index'
|
|
})
|
|
// #endif
|
|
// #ifndef MP-ALIPAY
|
|
uni.switchTab({
|
|
url: '/pages/tabbar/user/index'
|
|
})
|
|
// #endif
|
|
}
|
|
} else { // 第一次登录,绑定手机号
|
|
uni.redirectTo({
|
|
url: 'bindPhone?data=' + JSON.stringify(data)
|
|
})
|
|
}
|
|
},
|
|
bindSalesCustomer() {
|
|
const shopId = uni.getStorageSync('shopId')
|
|
const salesId = uni.getStorageSync('salesId')
|
|
if (shopId && salesId && shopId !== '' && salesId !== '') {
|
|
// 多次调用绑定方法,不提示任何信息即可
|
|
NET.request(API.BindSalesCustomer, {
|
|
shopId: shopId,
|
|
distributorId: salesId
|
|
}, 'POST').then(res => {
|
|
uni.removeStorageSync('salesId');
|
|
uni.removeStorageSync('shopId');
|
|
}).catch(err => {
|
|
console.dir(err)
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.container {
|
|
background-color: #FFFFFF;
|
|
height: 100vh;
|
|
|
|
.login-logoBox {
|
|
margin-top: -200rpx;
|
|
|
|
.login-logo {
|
|
width: 518rpx;
|
|
height: 100rpx;
|
|
}
|
|
}
|
|
|
|
.loginTitle-text {
|
|
margin-top: 100rpx;
|
|
}
|
|
|
|
.goToHome {
|
|
background: none;
|
|
border: none;
|
|
width: auto;
|
|
margin-top: 50rpx;
|
|
color: #999999;
|
|
text-decoration: underline;
|
|
|
|
&:after {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
.loginWxBut {
|
|
background: #333333;
|
|
color: #FFEBC4;
|
|
height: 88rpx;
|
|
width: 600rpx;
|
|
text-align: center;
|
|
line-height: 88rpx;
|
|
margin-top: 49rpx;
|
|
}
|
|
|
|
.loginBut {
|
|
background-color: #333333;
|
|
color: #FFEBC4;
|
|
height: 88rpx;
|
|
width: 600rpx;
|
|
text-align: center;
|
|
line-height: 88rpx;
|
|
margin-top: 30rpx;
|
|
}
|
|
|
|
.register-text {
|
|
color: #C5AA7B;
|
|
}
|
|
}
|
|
</style>
|
|
<style scoped>
|
|
.loginWxBut::after {
|
|
border-radius: 0 !important;
|
|
}
|
|
</style>
|