兼兼街公众号代码
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.
 
 
 

195 lines
4.9 KiB

<template>
<view>
<WxBLogin v-if="code === ''"/>
<view v-else class="login">
<!-- <view 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();
}
},
// 隐藏微信h5的标题栏
onReady() {
this.$com.displayNav();
},
methods:{
seeXieyi(){
uni.navigateTo({
url:'/pages/my/xieyi'
})
},
logionClick(){
let actoken ="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTAxNzI3NjAsInVzZXJuYW1lIjoib2ROdHc2dEJVNmMxenlnU1lmb2d4ZWdTX2xxbyJ9.btUCZf5Jhx6XZIDLqI8TVTa00edZ989sxzNXe0V0eiw";
this.$store.commit('set_userToken', actoken);
uni.switchTab({
url:'/pages/my/index'
})
let did = uni.getStorageSync("did");
if (did) {
uni.navigateTo({
url:'/pages/home/course-detial?id=' + did
})
} else {
uni.switchTab({
url:'/pages/my/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/course-detial?id=' + did
})
} else {
uni.navigateTo({
url:'/pages/my/my-xiansuo-now'
})
}
}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://job.java996.icu/pages/my/login-kehu');
// //这是我们公众号的appid
// let appid = 'wx6fb4a17b28186d58';
// //修改授权参数
// 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>