页面
js
// pages/profile/profile.js
import {
request
} from "../../request/index.js"
Page({
/**
* 页面的初始数据
*/
data: {
isAuth: false, //是否授权
userInfo: {}, //用户信息
useId: ''
},
// 获取授权
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
const myAuth = wx.getStorageSync('isAuth')
if (myAuth) {
const myUser = wx.getStorageSync('userinfo')
this.setData({
isAuth: myAuth,
userInfo: JSON.parse(myUser)
})
}
},
getUserProfile(e) {
// 推荐使用wx.getUserProfile获取用户信息,
// 开发者每次通过该接口获取用户个人信息均需用户确认,
// 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
const _that = this
wx.getUserProfile({
desc: '“获取你的昵称、头像', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
console.log(res.userInfo, 'res')
let userN = res.userInfo.nickName
let userIN = res.userInfo
wx.request({
url: 'http://localhost:3000/users/login',
data: {
username: userN
},
method: 'POST',
header: {
'content-type': 'application/json' // 默认值
},
success: function (result) {
// console.log(result.data.status, 'res.status');
if (result.data.status === 400) {
wx.showToast({
title: '请先注册',
icon: 'error'
})
} else {
const myID = result.data.body.data.ID
_that.setData({
useId: myID
})
wx.setStorageSync('userId', myID)
_that.setData({
userInfo: res.userInfo,
isAuth: true
})
wx.setStorageSync('userinfo', JSON.stringify(userIN))
wx.setStorageSync('isAuth', _that.data.isAuth)
}
},
fail: function (res) {
console.log(".....fail.....");
}
})
},
fail: function (res) {
console.log(".....fail.....");
}
})
},
exit() {
wx.showModal({
content: "确定退出吗"
}).then(res => {
if (res.confirm) {
console.log("用户点击了确定");
if (this.data.isAuth) {
this.setData({
isAuth: false,
userInfo: {}
})
//清空登录的缓存
wx.setStorageSync('userinfo', null)
wx.setStorageSync('isAuth', false)
wx.setStorageSync('userId', null)
}
} else if (res.cancel) {
console.log("用户点击了取消");
}
})
},
goToFeeback() {
wx.navigateTo({
url: '/pages/feeback/feeback'
})
},
goToMyFav() {
if (this.data.isAuth) {
wx.navigateTo({
url: '/pages/myCollection/myCollection',
})
} else {
wx.showToast({
title: "请先登录",
icon: 'error'
})
}
},
goToLogout() {
wx.navigateTo({
url: '/pages/login/login',
})
},
goToMyInfo() {
if (this.data.isAuth) {
wx.navigateTo({
url: '/pages/myInfo/myInfo',
})
} else {
wx.showToast({
title: "请先登录",
icon: 'error'
})
}
}
})
wxml
<!--pages/profile/profile.wxml-->
<view>
<image class='background' src="/image/bg.jpg" mode="widthFix"></image>
<!-- 游客 -->
<!-- 登录前 -->
<view class="{{isAuth?'profile_none':'profile_header'}}">
<image src="/image/my.png" mode="heightFix"></image>
<view class="profile_login" bindtap="getUserProfile">登录</view>
</view>
<!-- 登录后 -->
<view class="{{isAuth?'profile_header':'profile_none'}}">
<image src="{{userInfo.avatarUrl}}" mode="heightFix"></image>
<view class="{{isAuth?'profile_hello':'profile_none'}}">
<!-- <view>你好</view> -->
<view>{{userInfo.nickName}}</view>
</view>
</view>
<!-- 其他功能 -->
<view class="profile_container">
<view bindtap="goToMyFav">
<image src="/image/fav.png" mode="heightFix"></image>
<view>我的收藏</view>
</view>
<view bindtap="goToMyInfo">
<image src="/image/my_exp.png" mode="heightFix"></image>
<view>我的资料</view>
</view>
</view>
<view class="profile_more">
<view class="profile_more_connact">
<view>联系我们</view>
<view>888-888-8888</view>
</view>
<view class="profile_more_connact">
<view>使用反馈</view>
<image src="/image/right.png" mode="heightFix" bindtap="goToFeeback"></image>
</view>
<view class="profile_more_connact">
<view>关于我们</view>
<!-- <image src="/image/right.png" mode="heightFix"></image> -->
</view>
</view>
<!-- 注销 -->
<view class="{{isAuth?'profile_leave':'profile_none'}}" bindtap="exit">
<view>退出登录</view>
<image src="/image/leave.png" mode="widthFix"></image>
</view>
<view class="{{isAuth?'profile_none':'profile_leave'}}" bindtap="goToLogout">
<view>注册账号</view>
<image src="/image/register.png" mode="widthFix"></image>
</view>
</view>

浙公网安备 33010602011771号