You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
279 lines
8.7 KiB
279 lines
8.7 KiB
<template> |
|
<view> |
|
<view class="bg-img bg-mask flex-justify-center align-center" style="height: 300rpx;text-align: center;position: relative;"> |
|
<image src="../../static/img/user-bg.png" mode="" style="position: absolute;top: 0;width: 100%;height: 100%;z-index: 0;"></image> |
|
<view class="padding-xl text-white" style="z-index: 9;"> |
|
<view @tap="ChooseImage()" class="cu-avatar xl round" :style="avatar?'background-image:url('+avatar+');':'background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big99008.jpg);'"></view> |
|
<view style="text-align: center;margin-top: 15rpx;"> |
|
{{account}} |
|
</view> |
|
<!-- <open-data type="userAvatarUrl"></open-data> --> |
|
<!-- <open-data type="userNickName"></open-data> --> |
|
<button v-if="loginBtn" class="padding-text text-lg" @tap="wxGetUserInfo"> |
|
登录 |
|
</button> |
|
</view> |
|
</view> |
|
<view class="cu-list menu sm-border card-menu margin-top box-sha"> |
|
<view class="cu-item arrow"> |
|
<navigator @tap="isLogin" class="content" hover-class="none" :url="login?'/workBenchPages/pages/personalInfo/personalInfo':''" open-type="navigate"> |
|
<text class="margin-right-xs">个人信息</text> |
|
</navigator> |
|
</view> |
|
<view class="cu-item arrow"> |
|
<navigator @tap="isLogin" class="content" hover-class="none" :url="login?'/workBenchPages/pages/bindPhone/bindPhone':''" open-type="navigate"> |
|
<text class="margin-right-xs">绑定手机</text> |
|
</navigator> |
|
</view> |
|
<view class="cu-item arrow" v-if="skin"> |
|
<navigator @tap="isLogin" class="content" hover-class="none" :url="login?'/workBenchPages/pages/messageCenter/messageCenter':''" open-type="navigate"> |
|
<text class="margin-right-xs">消息中心</text> |
|
<!-- 消息提示-没说,先不加 --> |
|
<!-- <view style="top: 38rpx;left: auto;right: 57rpx;" class='cu-tag badge'>9</view> --> |
|
</navigator> |
|
</view> |
|
<view class="cu-item action"> |
|
<view class="content padding-tb-sm"> |
|
<text class="margin-right-xs">通知提醒</text> |
|
</view> |
|
<view class="action"> |
|
<switch :disabled="!login" @tap="isLogin" @change="SwitchSex" :class="skin?'checked':''" :checked="skin?true:false"></switch> |
|
</view> |
|
</view> |
|
</view> |
|
|
|
<view class="cu-list menu sm-border card-menu margin-top box-sha"> |
|
<!-- <view class="cu-item arrow"> |
|
<view class="content"> |
|
<text class="margin-right-xs">版本更新</text> |
|
</view> |
|
<view class="action"> |
|
<text class="text-grey text-sm">已是最新版本</text> |
|
</view> |
|
</view> --> |
|
<view class="cu-item arrow" style="position: relative;"> |
|
<navigator class="content" hover-class="none" url="/workBenchPages/pages/aboutUs/aboutUs" open-type="navigate"> |
|
<text class="margin-right-xs">关于我们</text> |
|
</navigator> |
|
<view class="action" style="position: absolute;right: 90rpx;"> |
|
<text class="text-grey text-sm">担保公司</text> |
|
</view> |
|
</view> |
|
</view> |
|
</view> |
|
</template> |
|
|
|
<script> |
|
export default { |
|
data() { |
|
return { |
|
skin: false, |
|
loginBtn:true,// 展示登录按钮 |
|
login:false,// 判断登录否-- |
|
avatar:'',// 头像 |
|
account:'',// 昵称 |
|
roleArr:[],// 保存权限 |
|
time:false,// 防止连点 |
|
} |
|
}, |
|
onShow() { |
|
// 当token过期时 |
|
if(!uni.getStorageSync('token')){ |
|
this.loginBtn = true |
|
this.account = '' |
|
} |
|
// console.log(this.baseUrl,'base') |
|
|
|
}, |
|
onLoad() { |
|
}, |
|
methods: { |
|
SwitchSex(e) {// 开启消息提薪否 |
|
if(!this.login){ |
|
this.skin = false |
|
e.detail.value = false |
|
return uni.showToast({ |
|
title:'请先登录后在进行操作',icon:'none' |
|
}) |
|
} |
|
this.skin = e.detail.value |
|
// console.log(e.detail.value,'当前切换消息提示的接口'); |
|
this.$http.get('/apiHrmsAuth/hrms/auth/userlogin/isRemind',{isRemind:e.detail.value?0:1}).then(res=>{ |
|
// console.log(res,'触发提醒接口'); |
|
}) |
|
|
|
// if(e.detail.value){ |
|
// 消息订阅接口,产品说改了,因为金融没法长期订阅,所以不要了// 避免后面又要了,暂留. |
|
// wx.requestSubscribeMessage({ |
|
// tmplIds: ['SDVYa12FdN1OjJCaB9uM-GmqepnZMr98xCpE0Uw4pPU'], |
|
// success (res) { |
|
// console.log(res,'调用消息提醒接口') |
|
// } |
|
// }) |
|
|
|
// } |
|
}, |
|
wxGetUserInfo(){ |
|
if(this.time) return |
|
// console.log('触发点击'); |
|
this.time = true |
|
let _this = this,code = '' |
|
uni.login({ |
|
success(res){ |
|
// console.log(res,'login数据'); |
|
code = res.code |
|
} |
|
}) |
|
wx.getUserProfile({ |
|
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 |
|
success: infoRes => { |
|
// console.log(infoRes,'参数'); |
|
_this.userInfo = infoRes.userInfo; //用户信息,微信头像,昵称等等 |
|
let params = { |
|
code: code, |
|
encryptedData: infoRes.encryptedData, |
|
iv: infoRes.iv, |
|
identify: 0 |
|
} |
|
_this.$http.post('/apiHrmsAuth/hrms/auth/userlogin/wxAuthLogin',params).then(res =>{ |
|
_this.login = true |
|
_this.loginBtn = false |
|
_this.account = res.data.account |
|
_this.avatar = res.data.headPortaritUrl |
|
this.time = false |
|
uni.setStorageSync('account',res.data.account) |
|
uni.setStorageSync('headPortaritUrl',res.data.headPortaritUrl) |
|
uni.setStorageSync('token',res.data.token) |
|
_this.getNowRole()// 角色权限获取 |
|
_this.getRouter()// 路由权限获取 |
|
this.$http.get('/apiHrmsAuth/hrms/auth/userlogin/readIsRemind').then(res=>{ |
|
// console.log(res,'取得是否获取提醒'); |
|
this.skin = res.data==0?true:false |
|
}) |
|
uni.showToast({ |
|
title:'登录成功!' |
|
}) |
|
}).catch((err)=>{ |
|
// console.log(err.data,'抛出错误') |
|
this.time = false |
|
uni.showToast({ |
|
title:err.data.message,icon:'none' |
|
}) |
|
}) |
|
}, |
|
fail:(res)=> { |
|
this.time = false |
|
// uni.showToast({ |
|
// title:'登录授权失败', |
|
// icon:'none', |
|
// }) |
|
} |
|
}); |
|
}, |
|
isLogin(){ |
|
if(!this.login) return uni.showToast({ |
|
title:'请先登录后在进行操作',icon:'none' |
|
}) |
|
}, |
|
// 获取角色权限 |
|
getNowRole(){ |
|
return this.$http.get('/api-guarantee/dg-apply-amount-info/getRoles').then(res=>{ |
|
uni.setStorageSync('roleArr',res.data) |
|
// console.log(uni.getStorageSync('roleArr'),'角色权限') |
|
}).catch(err=>{ |
|
}) |
|
}, |
|
// 处理权限,把所有文字标识提取出来 |
|
getName(data){ |
|
if(!data||data.length==0) return |
|
data.map(e=>{ |
|
this.roleArr.push(e.name) |
|
if(e.children){ |
|
this.getName(e.children) |
|
} |
|
}) |
|
}, |
|
// 获取路由权限---仅做假判断 |
|
getRouter(){ |
|
return this.$http.get('/api-hrms/hrms/permission/getPermission').then(res=>{ |
|
// console.log(res,'路由权限') |
|
let arr = [] |
|
// 小程序端暂时仅需要这俩 |
|
res.data.map(e=>{ |
|
if(e.name==='客户资源管理系统'||e.name==="担保业务管理系统"||e.name==="保后业务管理系统"){ |
|
arr.push(e) |
|
} |
|
}) |
|
// 处理权限,提取name做标识 |
|
this.getName(arr) |
|
// 储存路由权限做判断 |
|
uni.setStorageSync('routerArr',this.roleArr) |
|
// console.log(this.roleArr,'获取所有的name') |
|
}) |
|
}, |
|
//上传图片--str区分是哪个上传图片 |
|
ChooseImage() { |
|
if(!uni.getStorageSync('token')) return uni.showToast({ |
|
title:'请先登录后在进行操作!',icon:'none' |
|
}) |
|
let url = this.baseUrl+'/api-guarantee/dg-apply-amount-info/uploadFile' |
|
uni.chooseImage({ |
|
count: 4, //默认9 |
|
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 |
|
sourceType: ['album'], //从相册选择 |
|
success: (res) => { |
|
uni.uploadFile({ |
|
url: url, |
|
filePath: res.tempFilePaths[0], |
|
name: 'file', |
|
header: { |
|
"Content-Type": "multipart/form-data", |
|
"token": uni.getStorageSync('token') |
|
}, |
|
success: (uploadFileRes) => { |
|
let res = JSON.parse(uploadFileRes.data), |
|
data = res.data |
|
this.$http.get('/api-hrms/hrms/user/update/url',{headPortraitUrl:res.data[0]}).then(res=>{ |
|
this.avatar = data[0] |
|
uni.showToast({ |
|
title:'更换头像成功!' |
|
}) |
|
}) |
|
|
|
} |
|
}) |
|
|
|
} |
|
}) |
|
}, |
|
|
|
} |
|
} |
|
</script> |
|
|
|
<style lang="scss" scoped> |
|
page{ |
|
background-color: #F5F5F5; |
|
} |
|
.box-sha{ |
|
box-shadow: 0 0 16rpx #ccc; |
|
} |
|
.padding-text{ |
|
text-align: center; |
|
height: 50rpx; |
|
|
|
margin-top: 15rpx; |
|
font-size: 25rpx; |
|
line-height: 52rpx; |
|
} |
|
/deep/ .cu-list.menu>.cu-item.arrow{ |
|
padding-right: 0; |
|
} |
|
navigator{ |
|
z-index: 9999; |
|
} |
|
/deep/ switch::before ,switch::after{ |
|
display: none; |
|
content: ''; |
|
} |
|
</style>
|
|
|