|
|
@ -50,7 +50,15 @@ |
|
|
|
<image class="iam-pic" mode="aspectFit" src="/static/images/icon/author_modal.png"></image> |
|
|
|
<view class="iam-btns"> |
|
|
|
<button plain hover-class="hover-active" @click="cancelAuthor">取消</button> |
|
|
|
|
|
|
|
<button |
|
|
|
v-if="isProfile" |
|
|
|
plain |
|
|
|
hover-class="hover-active" |
|
|
|
@click="profileConfirm" |
|
|
|
>授权并登录</button> |
|
|
|
<button |
|
|
|
v-else |
|
|
|
plain |
|
|
|
hover-class="hover-active" |
|
|
|
open-type="getUserInfo" |
|
|
@ -131,6 +139,7 @@ |
|
|
|
//#endif |
|
|
|
export default { |
|
|
|
computed: { |
|
|
|
isProfile: _=>util.isProfile(), |
|
|
|
// loginStatus(){ |
|
|
|
// return app.isLogin(); |
|
|
|
// } |
|
|
@ -140,7 +149,7 @@ |
|
|
|
tabList, |
|
|
|
isShowAuthorModal: false, |
|
|
|
indexData: {}, |
|
|
|
loginStatus: app.isLogin() |
|
|
|
loginStatus: false, |
|
|
|
} |
|
|
|
}, |
|
|
|
async onLoad() { |
|
|
@ -149,6 +158,7 @@ |
|
|
|
util.showLoad(); |
|
|
|
await this.checkUserAuthor(); |
|
|
|
util.hideLoad(); |
|
|
|
this.loginStatus = app.isLogin(); |
|
|
|
if(!!app.isLogin())this.getIndexInfo(); |
|
|
|
}catch(err){ |
|
|
|
util.hideLoad(); |
|
|
@ -195,42 +205,36 @@ |
|
|
|
// 看是否授权,清除token |
|
|
|
async checkUserAuthor(){ |
|
|
|
try{ |
|
|
|
let setting; |
|
|
|
try{setting = await uniGetSetting({})}catch(err){console.error(err)}; |
|
|
|
if(setting&&setting.authSetting&&setting.authSetting['scope.userInfo'] === true){ |
|
|
|
let [ loginRes, userRes ] = await Promise.all([uniLogin(), uniGetUserInfo({lang: 'zh_CN'})]); |
|
|
|
return servers.post({ |
|
|
|
url: API.wechatMiniAppLoginAndSync, |
|
|
|
data: this.getLoginQuery({ |
|
|
|
userInfo: userRes, |
|
|
|
loginRes |
|
|
|
}), |
|
|
|
isDefaultGet: false, |
|
|
|
}) |
|
|
|
.then(res=>{ |
|
|
|
util.hideLoad(); |
|
|
|
let _data = res.data; |
|
|
|
if(_data.code == 0){ |
|
|
|
// let _data = res.data.data; |
|
|
|
if(_data.data == ''){ |
|
|
|
uni.removeStorageSync('token'); |
|
|
|
this.loginStatus = app.isLogin(); |
|
|
|
return util.routeTo(`/pages/login/login`,'rL'); |
|
|
|
} |
|
|
|
uni.setStorageSync('token',_data.data); |
|
|
|
return _data; |
|
|
|
}else{ |
|
|
|
util.showNone(_data.message || '校验身份失败!'); |
|
|
|
throw res.data || {}; |
|
|
|
let loginRes = await uniLogin(); |
|
|
|
return servers.post({ |
|
|
|
url: API.wechatMiniAppLoginAndSync, |
|
|
|
data: { |
|
|
|
code: loginRes.code, |
|
|
|
appid: APPID, |
|
|
|
}, |
|
|
|
isDefaultGet: false, |
|
|
|
}) |
|
|
|
.then(res=>{ |
|
|
|
util.hideLoad(); |
|
|
|
let _data = res.data; |
|
|
|
if(_data.code == 0){ |
|
|
|
// let _data = res.data.data; |
|
|
|
if(_data.data == ''){ |
|
|
|
uni.removeStorageSync('token'); |
|
|
|
this.loginStatus = app.isLogin(); |
|
|
|
return util.routeTo(`/pages/login/login`,'rL'); |
|
|
|
} |
|
|
|
uni.setStorageSync('token',_data.data); |
|
|
|
return _data; |
|
|
|
}else{ |
|
|
|
util.showNone(_data.message || '校验身份失败!'); |
|
|
|
throw res.data || {}; |
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
.catch(err=>{ |
|
|
|
throw err; |
|
|
|
}) |
|
|
|
}else{ |
|
|
|
throw 'author err'; |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(err=>{ |
|
|
|
throw err; |
|
|
|
}) |
|
|
|
}catch(err){ |
|
|
|
throw err; |
|
|
|
} |
|
|
@ -259,6 +263,20 @@ |
|
|
|
...userInfo.userInfo, |
|
|
|
} |
|
|
|
}, |
|
|
|
// 新获取用户信息 |
|
|
|
profileConfirm(){ |
|
|
|
uni.getUserProfile({ |
|
|
|
lang: 'zh_CN', desc: '授权登陆', |
|
|
|
success: res => { |
|
|
|
this.confirmAuthor({detail: {...res}}); |
|
|
|
}, |
|
|
|
fail: function(err) { |
|
|
|
util.showNone('获取用户信息失败!请重试'); |
|
|
|
console.warn('getUserProfile Err', err) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
async confirmAuthor(userRes){ |
|
|
|
if(!userRes.detail.userInfo){ |
|
|
|
this.closeAuthor(); |
|
|
|