<template>
|
|
<view>
|
|
<WxBLogin v-if="code === ''"/>
|
|
<view v-else class="login">
|
|
<view class="login-img flex align-center justify-center">
|
|
<image src="@/static/img/logon-icon.png" mode=""></image>
|
|
</view>
|
|
<view class="login-title">汇智文化学苑</view>
|
|
<view class="btn-box">
|
|
<u-button v-if="code !== ''" text="微信授权登录" :round="true" openType="getUserInfo" @click="logionClick" :customStyle="baomingStyle" :hairline="false" color="#00CCCC"></u-button>
|
|
<u-button v-else="code === ''" text="获取登录权限" :round="true" openType="getUserInfo" @click="logionClick" :customStyle="baomingStyle" :hairline="false" color="#00CCCC"></u-button>
|
|
</view>
|
|
<view class="tips flex align-center justify-between" @click="xieyiChoose = !xieyiChoose">
|
|
<view>
|
|
注册/登录即代表同意
|
|
<text class="xieyi" @click.stop="seeXieyi">《用户协议与隐私政策》</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import WxBLogin from '@/components/run-component/wx-b-login.vue'
|
|
export default{
|
|
components: {
|
|
WxBLogin
|
|
},
|
|
data(){
|
|
return{
|
|
xieyiChoose:true,
|
|
code: '',
|
|
did: '',
|
|
vid:'',
|
|
baomingStyle: {
|
|
fontSize:"30rpx",
|
|
fontWeight:"700",
|
|
height: "100rpx",
|
|
width: "480rpx"
|
|
},
|
|
baomingStyleQuxiao:{
|
|
fontSize:"30rpx",
|
|
fontWeight:"700",
|
|
height: "100rpx",
|
|
width: "480rpx",
|
|
marginTop : "40rpx"
|
|
}
|
|
}
|
|
},
|
|
onLoad(err){
|
|
if (err.vid) {
|
|
this.$store.commit('set_ivcode', err.vid);
|
|
}
|
|
if (err.did) {
|
|
uni.setStorageSync("did", err.did);
|
|
}
|
|
this.code = this.GetQueryString('code');
|
|
if(!this.code){
|
|
this.getwx_authorize();
|
|
}
|
|
},
|
|
onShow() {
|
|
if(uni.getStorageSync("set_userToken")){
|
|
uni.navigateTo({
|
|
url:'/pages/home/index'
|
|
})
|
|
}
|
|
},
|
|
|
|
// 隐藏微信h5的标题栏
|
|
onReady() {
|
|
this.$com.displayNav();
|
|
},
|
|
methods:{
|
|
seeXieyi(){
|
|
uni.navigateTo({
|
|
url:'/pages/my/xieyi'
|
|
})
|
|
},
|
|
logionClick(){
|
|
// let actoken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTMzNjA0NDEsInVzZXJuYW1lIjoib1loZmFzdlY0RjVpMk5nWGR2cmU3akZwME5zTSJ9.KtxULfyzKVouBAWRe41AFEB3uSL_VTVU-lXpSGF-yw8";
|
|
// this.$store.commit('set_userToken',actoken);
|
|
// uni.navigateTo({
|
|
// url:'/pages/home/index'
|
|
// })
|
|
// let did = uni.getStorageSync("did");
|
|
// if (did) {
|
|
// uni.navigateTo({
|
|
// url:'/pages/home/index?id=' + did
|
|
// })
|
|
// } else {
|
|
// uni.navigateTo({
|
|
// url:'/pages/home/index'
|
|
// })
|
|
// }
|
|
if(this.code){
|
|
//直接去登录发起请求
|
|
this.toWxLogin()
|
|
} else {
|
|
//获取code 静默授权
|
|
this.getwx_authorize();
|
|
}
|
|
},
|
|
toWxLogin(code){
|
|
this.vid= uni.getStorageSync("ivcode");
|
|
this.$api('wxLogin',{code:this.code, vid: this.vid})
|
|
.then(res=>{
|
|
if(res.code == 200){
|
|
this.$store.commit('set_userToken',res.result.token);
|
|
this.$store.commit('set_userInfo',res.result.userInfo);
|
|
let did = uni.getStorageSync("did");
|
|
if (did) {
|
|
uni.setStorageSync("did", null);
|
|
uni.navigateTo({
|
|
url:'/pages/home/index?id=' + did
|
|
})
|
|
} else {
|
|
uni.navigateTo({
|
|
url:'/pages/home/index'
|
|
})
|
|
}
|
|
}else{
|
|
this.$Toast(res.message)
|
|
}
|
|
}).catch(error=>{
|
|
uni.showModal({
|
|
content:JSON.stringify(error)
|
|
})
|
|
})
|
|
},
|
|
getwx_authorize(){
|
|
console.log("进入了这")
|
|
// this.logionClick()
|
|
let vid = uni.getStorageSync("ivcode");
|
|
//授权的回调地址
|
|
let redirect_uri = encodeURIComponent('https://cmbms-h5.xzaiyp.top/pages/my/login-kehu');
|
|
//这是我们公众号的appid
|
|
let appid = 'wx77fe1fcd6471ecbe';
|
|
//修改授权参数
|
|
window.location.href="https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appid+'&redirect_uri='+redirect_uri+'&response_type=code&scope=snsapi_userinfo&state='+vid+'&connect_redirect=1#wechat_redirect';
|
|
},
|
|
//获取url中参数的方法
|
|
GetQueryString(name) {
|
|
var url = window.location.href;
|
|
try {
|
|
var cs = url.split('?')[1]; //获取?之后的参数字符串
|
|
var cs_arr = cs.split('&'); //参数字符串分割为数组
|
|
for (var i = 0; i < cs_arr.length; i++) { //遍历数组,拿到json对象
|
|
if (cs_arr[i].split('=')[0] == name) {
|
|
return cs_arr[i].split('=')[1];
|
|
}
|
|
}
|
|
return "";
|
|
} catch {
|
|
return "";
|
|
}
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.login {
|
|
background-size: 100% 100%;
|
|
height: 70vh;
|
|
padding-top: 154rpx;
|
|
.login-title {
|
|
margin-top: 40rpx;
|
|
font-size: 34rpx;
|
|
font-weight: 700;
|
|
text-align: center;
|
|
padding-bottom: 30rpx;
|
|
}
|
|
|
|
.login-img {
|
|
image {
|
|
border-radius: 50%;
|
|
width:248rpx;
|
|
height: 248rpx;
|
|
}
|
|
}
|
|
|
|
.btn-box {
|
|
margin-top: 136rpx;
|
|
}
|
|
|
|
.tips {
|
|
width: 500rpx;
|
|
position: fixed;
|
|
bottom: 52rpx;
|
|
left: 51%;
|
|
transform: translate(-50%,0);
|
|
font-size: 24rpx;
|
|
color: #707070;
|
|
.xieyi {
|
|
color: #00CCFF;
|
|
}
|
|
}
|
|
|
|
}
|
|
</style>
|