Browse Source

对接获取用户信息接口

master
邓平艺 4 years ago
parent
commit
6188192b00
  1. 134
      pages/user/my/center.vue
  2. 5
      pages/user/my/setting.vue
  3. 62
      pages/user/register/register.vue

134
pages/user/my/center.vue

@ -6,12 +6,13 @@
<view class="bg-right"></view> <view class="bg-right"></view>
<view class="ocupy"></view> <view class="ocupy"></view>
<view class="lf-flex lf-p-32 lf-row-between"> <view class="lf-flex lf-p-32 lf-row-between">
<view class="lf-row-between" @click="$url('/pages/user/my/setting')">
<view>
<image src="https://hainan.lanzulive.com/storage/images/v2-deb89623e0ee2a2dad34bcded6dfd1ed_1440w.png" mode="aspectFill" class="center-img"></image>
<view class="lf-row-between">
<view @click="clickAvatar">
<image :src="userInfo.avatar" mode="aspectFill" class="center-img" v-if="userInfo.avatar"></image>
<image src="../../../static/images/empty.png" mode="aspectFill" class="center-img" v-else></image>
</view> </view>
<view class="lf-row-center">
<view class="lf-color-white lf-font-36 lf-m-l-20">182****5380 </view>
<view class="lf-row-center" @click="clickMobile">
<view class="lf-color-white lf-font-36 lf-m-l-20">{{ userInfo.mobile_replace || '未登录,点此登录' }}</view>
<view class="lf-iconfont icon-xiangyou lf-font-20 lf-m-l-10 lf-color-white"></view> <view class="lf-iconfont icon-xiangyou lf-font-20 lf-m-l-10 lf-color-white"></view>
</view> </view>
</view> </view>
@ -99,6 +100,7 @@
<script> <script>
import lfTabbar from '@/components/lf-tabbar/lf-tabbar.vue' import lfTabbar from '@/components/lf-tabbar/lf-tabbar.vue'
import { getUrl } from '@/common/js/utils.js';
export default { export default {
components: { components: {
lfTabbar lfTabbar
@ -147,9 +149,37 @@
name: '商家中心', name: '商家中心',
icon: 'icon-Group-', icon: 'icon-Group-',
path: '/pages/business/center/center' path: '/pages/business/center/center'
}]
}],
userInfo: {mobile_replace: '正在获取'}, //
token: '', // token
code: ''
} }
}, },
onShow(){
var userInfo = this.$cookieStorage.get('user_info');
console.log("userInfo", userInfo);
this.userInfo = userInfo || {};
},
onLoad(){
var token = this.$cookieStorage.get('user_token');
this.token = token;
if (token) {
// #ifdef MP-WEIXIN
if (this.code) {
uni.checkSession({
success: res => {
if (res.errMsg != 'checkSession:ok') {
this.getCode();
}
}
});
} else {
this.getCode();
}
// #endif
}
// this.getUserInfo();
},
// //
onPageScroll(event){ onPageScroll(event){
if(event.scrollTop >= 50){ if(event.scrollTop >= 50){
@ -158,6 +188,98 @@
this.nav_bg_color = 'transparent'; this.nav_bg_color = 'transparent';
} }
}, },
methods: {
//
getUserInfo(){
this.$http.get({
api: 'api/user',
header: {
Authorization: this.token
}
}).then(res => {
console.log("1111", res)
this.userInfo = res.data;
this.$cookieStorage.set('user_info', res.data);
})
},
//
clickAvatar(){
if(this.token && this.userInfo.avatar){
this.$url('/pages/user/my/setting');
}else{
uni.getUserProfile({
desc: '获取你的昵称、头像、地区及性别',
lang: 'zh_CN',
complete: result => {
console.log("result", result)
if(result.errMsg == 'getUserProfile:ok'){
let options = {
iv: result.iv,
encryptedData: result.encryptedData,
code: this.code
};
this.updateUserInfo(options);
}
}
})
}
},
//
clickMobile(){
if(this.token){
this.$url('/pages/user/my/setting');
}else{
let url = getUrl();
this.$url('/pages/user/register/register?url=' + url);
}
},
// code
getCode(){
uni.login({
success: res => {
if (res.code) {
this.code = res.code;
}
}
});
},
//
updateUserInfo(data){
uni.showLoading({
title: '完善信息中',
mask: true
});
this.$http.get({
api: 'api/user/bindUserMiniInfo',
data: data,
header: {
Authorization: this.token
}
}).then(res => {
res = res.data;
if (res.status) {
// #ifdef MP-WEIXIN
this.getUserInfo();
// #endif
uni.hideLoading();
} else {
uni.showModal({
content: res.message || '请求失败',
showCancel: false
});
this.getCode();
uni.hideLoading();
}
uni.hideLoading();
}).catch(rej=>{
uni.showModal({
content: rej.message || '请求失败',
showCancel: false
});
uni.hideLoading();
});
}
}
} }
</script> </script>

5
pages/user/my/setting.vue

@ -95,10 +95,7 @@
export default { export default {
methods: { methods: {
signOut(){ signOut(){
// TODO
// pages/user/register/register
// pages/user/loginType/loginType
this.$url('/pages/user/register/register');
this.$msg('敬请期待')
} }
} }
} }

62
pages/user/register/register.vue

@ -132,23 +132,7 @@
var access_token = res.data.token_type + ' ' + res.data.access_token; var access_token = res.data.token_type + ' ' + res.data.access_token;
var expires_in = res.data.expires_in || 315360000; var expires_in = res.data.expires_in || 315360000;
this.$cookieStorage.set("user_token", access_token, expires_in); this.$cookieStorage.set("user_token", access_token, expires_in);
if (this.url) {
uni.redirectTo({
url: "/" + this.url,
// fail: () => {
// uni.switchTab({
// url: "/" + this.url
// });
// }
})
} else {
// uni.switchTab({
// url: '/pages/user/personal/personal'
// });
this.$url('/pages/user/my/center', {type: 'launch'})
}
this.getUserInfo(access_token);
} else { } else {
uni.hideLoading(); uni.hideLoading();
} }
@ -215,33 +199,9 @@
if (res.data.access_token) { if (res.data.access_token) {
var access_token = res.data.token_type + ' ' + res.data.access_token; var access_token = res.data.token_type + ' ' + res.data.access_token;
var expires_in = res.data.expires_in || 315360000; // debugger; var expires_in = res.data.expires_in || 315360000; // debugger;
this.getUserInfo(access_token);
this.$cookieStorage.set("user_token", access_token, expires_in); // this.$cookieStorage.set("user_token",access_token,expires_in); this.$cookieStorage.set("user_token", access_token, expires_in); // this.$cookieStorage.set("user_token",access_token,expires_in);
// uni.setStorageSync("user_token",access_token); // uni.setStorageSync("user_token",access_token);
if (this.url) {
// var path = ['pages/entity/store/store', 'pages/index/index/index',
// 'pages/index/classification/classification', 'pages/store/tabCart/tabCart', 'pages/user/personal/personal',
// 'pages/travels/index/index', 'pages/user/collar/collar'
// ];
// var pathIndex = path.indexOf(this.url);
// if (pathIndex == -1) {
// uni.redirectTo({
// url: "/" + this.url
// });
// } else {
// uni.switchTab({
// url: "/" + this.url
// });
// }
this.$url("/" + this.url, {type: 'redirect'});
} else {
// uni.switchTab({
// url: '/pages/user/personal/personal'
// });
this.$url('/pages/user/my/center', {type: 'launch'})
}
} else { } else {
uni.showModal({ uni.showModal({
content: res.message || '请求失败,请重试', content: res.message || '请求失败,请重试',
@ -264,6 +224,24 @@
}); });
}); });
}, },
//
getUserInfo(token){
this.$http.get({
api: 'api/user',
header: {
Authorization: token
}
}).then(res => {
// console.log("1111", res)
// this.userInfo = res.data;
this.$cookieStorage.set('user_info', res.data);
if (this.url) {
this.$url("/" + this.url, {type: 'redirect'});
} else {
this.$url('/pages/user/my/center', {type: 'launch'})
}
})
},
// //
toPhoneLogin(){ toPhoneLogin(){
if (this.url) { if (this.url) {

Loading…
Cancel
Save