172 lines
3.5 KiB
Vue
172 lines
3.5 KiB
Vue
<template>
|
|
<view>
|
|
<view class="profile_item" >
|
|
<view class="itemleft">
|
|
<image :src="BASE_IMG_URL+'wechat.png'" class="leftimg" mode="scaleToFill"></image>
|
|
<view class="lxs_font">微信</view>
|
|
</view>
|
|
<view class="itemright" @click="toBindWechat" v-if="is_bind_wechat == 0">
|
|
<view class="righttext">请绑定</view>
|
|
<view class="iconfont icon-arrows_right"></view>
|
|
</view>
|
|
<view class="itemright" v-else @click="toUnbound">
|
|
<view class="righttext">已绑定/解绑</view>
|
|
<view class="iconfont icon-arrows_right"></view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import { netSendCode, nerIsbindWechat, netUnboundWecgat } from '@/api/login'
|
|
import { BASE_IMG_URL } from '@/util/api.js'
|
|
|
|
export default{
|
|
data() {
|
|
return{
|
|
BASE_IMG_URL:BASE_IMG_URL,
|
|
code:'',
|
|
is_bind_wechat:0,
|
|
}
|
|
},
|
|
onLoad() {
|
|
// #ifdef H5
|
|
console.log(window.location.href,window.location.host,'-----')
|
|
let str = window.location.href
|
|
if(str.indexOf('code') != -1) {
|
|
let fir = Number(str.indexOf('=')) + 1
|
|
let last = str.indexOf('&')
|
|
let code = str.slice(fir,last)
|
|
console.log(code,'=====')
|
|
if(code) {
|
|
this.code = code
|
|
let params = {
|
|
type:'web',
|
|
code:code
|
|
}
|
|
this.send(params)
|
|
}
|
|
}
|
|
// if(this.$route.query.code){
|
|
// this.code = this.$route.query.code
|
|
// let params = {
|
|
// type:'web',
|
|
// code:this.code
|
|
// }
|
|
// this.send(params)
|
|
// }
|
|
// #endif
|
|
//判断是否已经绑定 微信
|
|
this.getIs()
|
|
},
|
|
onShow() {
|
|
|
|
},
|
|
methods:{
|
|
getIs() {
|
|
nerIsbindWechat().then(res=>{
|
|
console.log(res)
|
|
this.is_bind_wechat = res.data.is_bind_wechat
|
|
})
|
|
},
|
|
toBindWechat() {
|
|
// #ifdef H5
|
|
this.wxOfficialAccountLogin()
|
|
// #endif
|
|
// #ifdef MP-WEIXIN
|
|
this.getInfo()
|
|
// #endif
|
|
},
|
|
wxOfficialAccountLogin() {
|
|
let appid = uni.getStorageSync('appid')
|
|
if(appid){
|
|
let oUrl = window.location.href;
|
|
oUrl = encodeURIComponent(oUrl)
|
|
window.location = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appid +
|
|
`&redirect_uri=${oUrl}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`
|
|
}else{
|
|
uni.showToast({
|
|
title:'请在后台设置appid',
|
|
icon:'none'
|
|
})
|
|
}
|
|
},
|
|
send(params) {
|
|
netSendCode(params).then(res=>{
|
|
uni.showToast({
|
|
title:res.msg,
|
|
icon:'none'
|
|
})
|
|
setTimeout(()=>{
|
|
this.getIs()
|
|
},2000)
|
|
})
|
|
},
|
|
getInfo() {
|
|
wx.login({
|
|
success: resT => {
|
|
let params = {
|
|
type:'applet',
|
|
code:resT.code
|
|
}
|
|
this.send(params)
|
|
}
|
|
})
|
|
},
|
|
//解绑
|
|
toUnbound() {
|
|
netUnboundWecgat().then(res=>{
|
|
uni.showToast({
|
|
title:res.msg,
|
|
icon:'none'
|
|
})
|
|
setTimeout(()=>{
|
|
this.getIs()
|
|
},2000)
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.profile_item {
|
|
display: flex;
|
|
background:#fff;
|
|
color:#666;
|
|
padding: 0 30rpx;
|
|
justify-content: space-between;
|
|
border-bottom:1rpx solid #f5f5f5;
|
|
height: 110rpx;
|
|
line-height: 110rpx;
|
|
font-size: 28rpx;
|
|
.itemleft{
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
align-items: center;
|
|
.leftimg{
|
|
height:25px;
|
|
width:25px;
|
|
margin-right:25rpx;
|
|
}
|
|
}
|
|
.itemright{
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
.righttext{
|
|
font-size:26rpx;
|
|
color:$uni-text-color;
|
|
margin-right:10rpx;
|
|
background:none;
|
|
text-align: right;
|
|
padding-left:0;
|
|
padding-right:0;
|
|
&::after{
|
|
border:none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|