Commit bdc4720040968b3c234d0ffc2a2602c49ea58268

Authored by fengtao
1 parent 7b6ed7a3

feat:新增第三方解绑功能

@@ -74,6 +74,7 @@ uni.$u.http.interceptors.response.use( @@ -74,6 +74,7 @@ uni.$u.http.interceptors.response.use(
74 console.log('Response error', response) 74 console.log('Response error', response)
75 // 关闭加载动画 75 // 关闭加载动画
76 store.commit("setLoadingShow", false); 76 store.commit("setLoadingShow", false);
  77 + let show = true;
77 let errorData = '请检查网络或服务器' 78 let errorData = '请检查网络或服务器'
78 let message = response.data?.message || response?.errMsg; 79 let message = response.data?.message || response?.errMsg;
79 if (message == "request:fail url not in domain list") { 80 if (message == "request:fail url not in domain list") {
@@ -84,10 +85,11 @@ uni.$u.http.interceptors.response.use( @@ -84,10 +85,11 @@ uni.$u.http.interceptors.response.use(
84 uni.reLaunch({ 85 uni.reLaunch({
85 url: "/publicLoginSubPage/public/login", 86 url: "/publicLoginSubPage/public/login",
86 }); 87 });
  88 + show = false;
87 } else { 89 } else {
88 errorData = message || ""; 90 errorData = message || "";
89 } 91 }
90 - uni.$u.toast(errorData); 92 + if (show) uni.$u.toast(errorData);
91 return Promise.reject(response); 93 return Promise.reject(response);
92 } 94 }
93 ); 95 );
@@ -10,14 +10,15 @@ @@ -10,14 +10,15 @@
10 <view @click="openPersonalInfo" class="u-m-r-20"> 10 <view @click="openPersonalInfo" class="u-m-r-20">
11 <image class="avatar" mode="aspectFill" :src="userInfo.avatar == '' ? '/static/default.png' : userInfo.avatar"></image> 11 <image class="avatar" mode="aspectFill" :src="userInfo.avatar == '' ? '/static/default.png' : userInfo.avatar"></image>
12 </view> 12 </view>
13 - <view @click="openPersonalInfo" class="u-flex-1">  
14 - <view class="nickName u-flex"> 13 + <view class="u-flex-1">
  14 + <view @click="openPersonalInfo" class="nickName u-flex">
15 <view class="name u-m-r-10" v-if="userInfo.realName || userInfo.nickName"> 15 <view class="name u-m-r-10" v-if="userInfo.realName || userInfo.nickName">
16 <text style="#FFFFFF;font-size: 18px;">{{ userInfo.realName || userInfo.nickName }}</text> 16 <text style="#FFFFFF;font-size: 18px;">{{ userInfo.realName || userInfo.nickName }}</text>
17 </view> 17 </view>
18 </view> 18 </view>
19 - <view style="color:#FFFFFF;font-size: 14px;" v-if="userInfo.phoneNumber">{{ userInfo.phoneNumber | phone }}</view> 19 + <view @click="openPersonalInfo" style="color:#FFFFFF;font-size: 14px;" v-if="userInfo.phoneNumber">{{ userInfo.phoneNumber | phone }}</view>
20 <view v-else><text style="color:#FFFFFF;font-size: 14px;">手机号:未绑定</text></view> 20 <view v-else><text style="color:#FFFFFF;font-size: 14px;">手机号:未绑定</text></view>
  21 + <view v-if="userInfo.isToken" @click="clearAccountFunc(userInfo)" class="detail"><text class="text">解绑</text></view>
21 </view> 22 </view>
22 </block> 23 </block>
23 <block v-else> 24 <block v-else>
@@ -26,7 +27,7 @@ @@ -26,7 +27,7 @@
26 </view> 27 </view>
27 <view class="u-flex-1"> 28 <view class="u-flex-1">
28 <view @click="openLoginFunc" class="u-font-lg click-login login-btn ">请点击登录</view> 29 <view @click="openLoginFunc" class="u-font-lg click-login login-btn ">请点击登录</view>
29 - <view v-if="userInfo.isToken == '' || userInfo.isToken == null" @click="clickAccountFunc" class="detail"><text class="text">绑定账号</text></view> 30 + <view v-if="!userInfo.isToken" @click="clickAccountFunc" class="detail"><text class="text">绑定账号</text></view>
30 </view> 31 </view>
31 </block> 32 </block>
32 <view v-if="userInfo.isToken"><u-icon name="arrow-right" color="white" size="13"></u-icon></view> 33 <view v-if="userInfo.isToken"><u-icon name="arrow-right" color="white" size="13"></u-icon></view>
@@ -95,7 +96,6 @@ @@ -95,7 +96,6 @@
95 type="password" 96 type="password"
96 placeholder="登录密码" 97 placeholder="登录密码"
97 v-model="bindAccountObj.appUserSecret" 98 v-model="bindAccountObj.appUserSecret"
98 - @change="passwordChange"  
99 ></u--input> 99 ></u--input>
100 </view> 100 </view>
101 <view class="u-flex item-phone"> 101 <view class="u-flex item-phone">
@@ -159,6 +159,7 @@ import base from '@/config/baseUrl'; @@ -159,6 +159,7 @@ import base from '@/config/baseUrl';
159 import fTabbar from '@/components/module/f-tabbar/f-tabbar'; 159 import fTabbar from '@/components/module/f-tabbar/f-tabbar';
160 import fNavbar from '@/components/module/f-navbar/f-navbar'; 160 import fNavbar from '@/components/module/f-navbar/f-navbar';
161 import { mapState, mapMutations } from 'vuex'; 161 import { mapState, mapMutations } from 'vuex';
  162 +import { appId } from '@/config/constant.js';
162 163
163 export default { 164 export default {
164 components: { 165 components: {
@@ -194,6 +195,7 @@ export default { @@ -194,6 +195,7 @@ export default {
194 if (e.obj != null) { 195 if (e.obj != null) {
195 const params = JSON.parse(decodeURIComponent(e.obj)); 196 const params = JSON.parse(decodeURIComponent(e.obj));
196 this.thirdObj = params; 197 this.thirdObj = params;
  198 + console.log(this.thirdObj);
197 } 199 }
198 }, 200 },
199 computed: { 201 computed: {
@@ -437,6 +439,18 @@ export default { @@ -437,6 +439,18 @@ export default {
437 } 439 }
438 } 440 }
439 }); 441 });
  442 + },
  443 + clearAccountFunc(e) {
  444 + //解绑
  445 + let httpData = {
  446 + appUserId: e.userId,
  447 + thirdUserId: this.thirdObj.thirdUserId
  448 + };
  449 + uni.$u.http.delete('/yt/third', httpData).then(res => {
  450 + if (res) {
  451 + this.getCodeState(); //开始倒计时
  452 + }
  453 + });
440 } 454 }
441 } 455 }
442 }; 456 };
@@ -100,9 +100,10 @@ export default { @@ -100,9 +100,10 @@ export default {
100 .get(`/yt/third/login/${this.openid}`) 100 .get(`/yt/third/login/${this.openid}`)
101 .then(res => { 101 .then(res => {
102 if (res.token == '' || res.token == null) { 102 if (res.token == '' || res.token == null) {
103 - // return uni.showToast({  
104 - // title: '需要绑定'  
105 - // }); 103 + //需要绑定,跳转我的页面
  104 + uni.reLaunch({
  105 + url: '/pages/personal/personal'
  106 + });
106 } else { 107 } else {
107 // 储存登录信息 108 // 储存登录信息
108 let resObj = { 109 let resObj = {