提交 925cb919 编写于 作者: Mr.奇淼('s avatar Mr.奇淼(

上传头像功能(明天添加用户信息更新方法)

上级 e5350ec9
...@@ -129,10 +129,9 @@ func UploadHeaderImg(c *gin.Context) { ...@@ -129,10 +129,9 @@ func UploadHeaderImg(c *gin.Context) {
//获取头像文件 //获取头像文件
// 这里我们通过断言获取 claims内的所有内容 // 这里我们通过断言获取 claims内的所有内容
waitUse := claims.(*middleware.CustomClaims) waitUse := claims.(*middleware.CustomClaims)
fmt.Println(waitUse.NickName) uuid := waitUse.UUID
_, header, err := c.Request.FormFile("headerImg") _, header, err := c.Request.FormFile("headerImg")
//便于找到用户 以后从jwt中取 //便于找到用户 以后从jwt中取
username := c.PostForm("username")
if err != nil { if err != nil {
servers.ReportFormat(c, false, fmt.Sprintf("上传文件失败,%v", err), gin.H{}) servers.ReportFormat(c, false, fmt.Sprintf("上传文件失败,%v", err), gin.H{})
} else { } else {
...@@ -142,8 +141,7 @@ func UploadHeaderImg(c *gin.Context) { ...@@ -142,8 +141,7 @@ func UploadHeaderImg(c *gin.Context) {
servers.ReportFormat(c, false, fmt.Sprintf("接收返回值失败,%v", err), gin.H{}) servers.ReportFormat(c, false, fmt.Sprintf("接收返回值失败,%v", err), gin.H{})
} else { } else {
//修改数据库后得到修改后的user并且返回供前端使用 //修改数据库后得到修改后的user并且返回供前端使用
err, user := new(dbModel.User).UploadHeaderImg(username, filePath) err, user := new(dbModel.User).UploadHeaderImg(uuid, filePath)
if err != nil { if err != nil {
servers.ReportFormat(c, false, fmt.Sprintf("修改数据库链接失败,%v", err), gin.H{}) servers.ReportFormat(c, false, fmt.Sprintf("修改数据库链接失败,%v", err), gin.H{})
} else { } else {
......
...@@ -69,9 +69,9 @@ func (u *User) Login() (err error, userInter *User) { ...@@ -69,9 +69,9 @@ func (u *User) Login() (err error, userInter *User) {
} }
// 用户头像上传更新地址 // 用户头像上传更新地址
func (u *User) UploadHeaderImg(username string, filePath string) (err error, userInter *User) { func (u *User) UploadHeaderImg(uuid uuid.UUID, filePath string) (err error, userInter *User) {
var user User var user User
err = qmsql.DEFAULTDB.Where("username = ?", username).First(&user).Update("header_img", filePath).First(&user).Error err = qmsql.DEFAULTDB.Where("uuid = ?", uuid).First(&user).Update("header_img", filePath).First(&user).Error
return err, &user return err, &user
} }
......
...@@ -6,21 +6,7 @@ ...@@ -6,21 +6,7 @@
<h4 style="text-align:center"> <h4 style="text-align:center">
微信:shouzi_1994 微信:shouzi_1994
</h4> </h4>
<!-- <el-card class="box-card" shadow="hover">
<div class="clearfix" slot="header">
<span>用户信息</span>
</div>
<el-row>
<div class="fl-left left-mg-xs">
<el-avatar :size="120" :src="userInfo.headerImg" shape="square"></el-avatar>
</div>
<div class="fl-left left-mg-lg">
<div>用户ID:{{userInfo.uuid}}</div>
<div>用户昵称:{{userInfo.nickName}}</div>
<div>用户组:{{userInfo.authority&&userInfo.authority.authorityName}}</div>
</div>
</el-row>
</el-card> -->
<Animition /> <Animition />
</div> </div>
</template> </template>
...@@ -39,8 +25,6 @@ export default { ...@@ -39,8 +25,6 @@ export default {
} }
</script> </script>
<style scoped> <style lang="scss" scoped>
.box-card {
width: 600px;
}
</style> </style>
\ No newline at end of file
<template> <template>
<div> <div>
<div class="menu-total" @click="isCollapse=!isCollapse"> <div @click="isCollapse=!isCollapse" class="menu-total">
<i class="el-icon-arrow-right" v-if="isCollapse"></i> <i class="el-icon-arrow-right" v-if="isCollapse"></i>
<i class="el-icon-arrow-left" v-else></i> <i class="el-icon-arrow-left" v-else></i>
</div> </div>
<el-scrollbar style="height:calc(100vh - 52px)"> <el-scrollbar style="height:calc(100vh - 52px)">
<transition name="el-zoom-in-top"> <transition name="el-zoom-in-top">
<el-menu <el-menu
:class="['el-menu-vertical',!isCollapse&&'noCollapse']" :class="['el-menu-vertical',!isCollapse&&'noCollapse']"
:collapse="isCollapse" :collapse="isCollapse"
:default-active="active" :default-active="active"
@select="selectMenuItem" @select="selectMenuItem"
unique-opened unique-opened
> >
<aside-component <template v-for="item in asyncRouters[0].children">
:key="item.name" <aside-component :key="item.name" :routerInfo="item" v-if="!item.hidden" />
:routerInfo="item" </template>
v-for="item in asyncRouters[0].children" </el-menu>
/> </transition>
</el-menu> </el-scrollbar>
</transition>
</el-scrollbar>
</div> </div>
</template> </template>
...@@ -32,7 +30,7 @@ export default { ...@@ -32,7 +30,7 @@ export default {
data() { data() {
return { return {
active: '', active: '',
isCollapse: false, isCollapse: false
} }
}, },
methods: { methods: {
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<el-badge is-dot /> <el-badge is-dot />
</span> </span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item @click.native="toPerson" icon="el-icon-s-custom">个人信息</el-dropdown-item>
<el-dropdown-item @click.native="LoginOut" icon="el-icon-table-lamp"> 登 出 </el-dropdown-item> <el-dropdown-item @click.native="LoginOut" icon="el-icon-table-lamp"> 登 出 </el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
...@@ -54,6 +55,9 @@ export default { ...@@ -54,6 +55,9 @@ export default {
...mapMutations('user', ['LoginOut']), ...mapMutations('user', ['LoginOut']),
totalCollapse() { totalCollapse() {
this.$bus.emit('totalCollapse') this.$bus.emit('totalCollapse')
},
toPerson(){
this.$router.push({name:"person"})
} }
}, },
computed: { computed: {
......
<template>
<div>
<div class="fl-left left-mg-xs">
<el-upload
:headers="{'x-token':token}"
:on-success="handleAvatarSuccess"
:show-file-list="false"
action="api/user/uploadHeaderImg"
class="avatar-uploader"
name="headerImg"
>
<img :src="userInfo.headerImg" class="avatar" v-if="userInfo.headerImg" />
<i class="el-icon-plus avatar-uploader-icon" v-else></i>
</el-upload>
<!-- <el-avatar :size="120" :src="userInfo.headerImg" shape="square"></el-avatar> -->
</div>
<div class="fl-left left-mg-lg">
<div>用户ID:{{userInfo.uuid}}</div>
<div>用户昵称:{{userInfo.nickName}}</div>
<div>用户组:{{userInfo.authority&&userInfo.authority.authorityName}}</div>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
name: 'Person',
computed: {
...mapGetters('user', ['userInfo', 'token'])
},
methods:{
handleAvatarSuccess(){
// 上传完成后更新用户头像 今晚太困了 明天更新 今晚暂时调通更新功能
}
}
}
</script>
<style lang="scss">
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
</style>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册