分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

关于elemnt ui头像上传问题

发布时间:2023-09-06 02:30责任编辑:董明明关键词:暂无标签
 ?1 <template> ?2 ??<div id="corp-info" class="module"> ?3 ????<!--<span>{{this.fileList}}</span>--> ?4 ????<el-form ref="form" :model="form" label-width="80px"> ?5 ??????<el-form-item label="头像"> ?6 ????????<div class="imgblock"> ?7 ??????????<img :src="fileList[0].url" alt> ?8 ????????</div> ?9 ????????<el-popover placement="top" width="360" v-model="visible2"> 10 ??????????<el-upload 11 ????????????class="upload-demo" 12 ????????????name="files" 13 ????????????ref="upload" 14 ????????????action="https://api.kuaipidev.com/kp-server-back-oss/oss/corp/upload" 15 ????????????:on-success="handleSuccess" 16 ????????????:file-list="fileList" 17 ????????????:on-change="handleChange" 18 ????????????:auto-upload="false" 19 ????????????:show-file-list="false" 20 ????????????accept=".jpg, .png, .JPG" 21 ??????????> 22 ????????????<el-button slot="trigger" size="small" type="primary">选取照片</el-button> 23 ????????????<el-button 24 ??????????????style="margin-left: 10px;" 25 ??????????????size="small" 26 ??????????????type="success" 27 ??????????????@click="submitUpload" 28 ????????????>上传到服务器</el-button> 29 ????????????<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过10M</div> 30 ??????????</el-upload> 31 ??????????<el-button slot="reference">修改</el-button> 32 ????????</el-popover> 33 ??????</el-form-item> 34 ??????<el-form-item label="姓名"> 35 ????????<el-input v-model="form.name"></el-input> 36 ??????</el-form-item> 37 ??????<el-form-item label="手机"> 38 ????????<el-input v-model="form.tel" @focus="centerDialogVisible = true"></el-input> 39 ??????</el-form-item> 40 ???????<el-form-item label="邮箱"> 41 ????????<el-input v-model="form.email" @focus="centerDialogVisible_eml = true"></el-input> 42 ??????</el-form-item> 43 ??????<el-form-item label="微信"> 44 ????????<el-input v-model="form.wx" @focus="wxBind"></el-input> 45 ????????<span v-if="closewx" class="close" @click="unTry">解绑</span> 46 ??????</el-form-item> 47 ??????<el-form-item> 48 ????????<el-button type="primary" @click="onSubmit">保存</el-button> 49 ??????</el-form-item> 50 ????</el-form> 51 ????<el-dialog title :visible.sync="centerDialogVisible" width="30%" center> 52 ??????<p class="person_title">修改手机</p> 53 ??????<div class="person_from"> 54 ????????<input 55 ??????????v-model="phone_num" 56 ??????????placeholder="请输入大陆的手机号码" 57 ??????????class="person_input" 58 ??????????maxlength="11" 59 ??????????onkeyup="value=value.replace(/[^\d]/g,‘‘)" 60 ????????> 61 ?62 ????????<div class="person_div"> 63 ??????????<input 64 ????????????v-model="psw_num" 65 ????????????placeholder="验证码" 66 ????????????class="person_inp" 67 ????????????maxlength="4" 68 ????????????onkeyup="value=value.replace(/[^\d]/g,‘‘)" 69 ??????????> 70 ??????????<button @click="sendMsg" :disabled="isDisabled">{{buttonName}}</button> 71 ????????</div> 72 ??????</div> 73 ??????<span slot="footer" class="dialog-footer"> 74 ????????<button class="per_btn" @click="phone_pass">提交</button> 75 ??????</span> 76 ????</el-dialog> 77 ????<el-dialog title :visible.sync="centerDialogVisible_eml" width="30%" center> 78 ??????<p class="person_title">修改邮箱</p> 79 ??????<div class="person_from"> 80 ????????<input 81 ??????????v-model="email_num" 82 ??????????placeholder="请输入邮箱" 83 ??????????class="person_input" 84 ????????> 85 ????????<div class="person_div"> 86 ??????????<input 87 ????????????v-model="emlpsw_num" 88 ????????????placeholder="验证码" 89 ????????????class="person_inp" 90 ????????????maxlength="4" 91 ????????????onkeyup="value=value.replace(/[^\d]/g,‘‘)" 92 ??????????> 93 ??????????<button @click="sendMsg_eml" :disabled="isDisabled_eml">{{buttonName_eml}}</button> 94 ????????</div> 95 ??????</div> 96 ??????<span slot="footer" class="dialog-footer"> 97 ????????<button class="per_btn" @click="email_pass">提交</button> 98 ??????</span> 99 ????</el-dialog>100 ????<div style="width:0;height:0;overflow:hidden;display: inline-block;" id="wwx"></div>101 ????<el-dialog title :visible.sync="wx_dialog" width="30%" center>102 ??????<p class="person_title">微信绑定</p>103 ??????<div ref="domm" id="xwwx"></div>104 ????</el-dialog>105 ??</div>106 </template>107 108 <script>109 import { getUserData, updateUserData, accountBindWx, accountUnBindWx, updatePhomail, updateEmail } from "@/api/personal";110 import { sendSms } from "@/api/login";111 import { kpMessage } from "@/components/notice/index";112 import { randomn } from "@/lib/utils";113 import format from "@/lib/format";114 115 export default {116 ??data() {117 ????return {118 ??????closewx: false, //隐藏解绑119 ??????QRcode: true,120 ??????isshow: false, //提示错误信息121 ??????isDisabled_eml:false,122 ??????isgood: false, //手机弹窗提交123 ??????img_star: true, //微信登陆中图片显示流程124 ??????img_load: false,125 ??????img_end: false,126 ??????istrue: true, //控制微信登陆前后提示文字127 ??????buttonName: "获取验证码",128 ??????buttonName_eml:"获取验证码",129 ??????isDisabled: false,130 ??????time: 60,131 ??????time_eml:60,132 ??????wx_dialog: false,133 ??????centerDialogVisible: false, //手机弹窗134 ??????centerDialogVisible_eml: false,//邮箱弹窗135 ??????fileList: [136 ????????{137 ??????????name: " ",138 ??????????url: " "139 ????????}140 ??????],141 ??????visible2: false, //弹窗142 ??????form: {143 ????????name: "",144 ????????tel: "",145 ????????email:"",146 ????????wx: "未绑定"147 ??????},148 ??????phone_num: "",149 ??????email_num:"",150 ??????emlpsw_num:"",151 ??????psw_num: "",152 ??????uuid: "",153 ??????mockUrl: ‘http://localhost:8080/?code=021YODYe0khn0u1nBW1f0oDqYe0YODYP&state=accountwxbind‘154 ????};155 ??},156 ??created() {157 ????if (this.form.wx = ‘未绑定‘ && sessionStorage.wxbindcode) {158 ??????accountBindWx({159 ????????‘accountId‘: sessionStorage.accountId || 0,160 ????????‘appId‘: ‘wx4185833c33deeabe‘,161 ????????‘code‘: sessionStorage.wxbindcode || ‘‘,162 ????????‘corpId‘: sessionStorage.corpId || 0163 ??????}).then(res => {164 ????????if (res.code === 0) {165 ??????????sessionStorage.removeItem(‘wxbindcode‘)166 ??????????this.form.wx = ‘已绑定‘167 ??????????this.loadUserData()168 ????????} else {169 ??????????sessionStorage.removeItem(‘wxbindcode‘)170 ??????????kpMessage.warning("微信绑定失败")171 ??????????this.closewx = false172 ????????}173 ??????})174 ????}175 ????this.loadUserData()176 ??},177 ??mounted() {178 ????this.$nextTick(() => {179 ??????let wx = new WxLogin({180 ????????id: "wwx",181 ????????appid: "wx4185833c33deeabe",182 ????????scope: "snsapi_login",183 ????????redirect_uri: "https://boss.kuaipiyun.com",184 ????????state: "accountwxbind",185 ????????style: "black",186 ????????href: "https://kptom.com/api/static/stylesheets/wechat/login.css"187 ??????});188 ????});189 ??},190 ??methods: {191 ????wxBind() {192 ??????if (this.form.wx === ‘已绑定‘) return193 ??????this.wx_dialog = true;194 ??????this.QRcode = false;195 ??????this.$nextTick(() => {196 ????????let dom = document.getElementById("wwx");197 ????????dom.style.height = "375px";198 ????????dom.style.width = "300px";199 ????????this.$refs["domm"].appendChild(dom);200 ??????});201 ????},202 ????loadUserData () {203 ??????//渲染204 ??????getUserData({205 ????????userId: sessionStorage.getItem("userId")206 ??????}).then(res => {207 ????????if (res.code == 0) {208 ??????????//获取用户信息209 ??????????this.fileList[0].url ="http://kp7files.oss-cn-shanghai.aliyuncs.com" +"/" + res.data.userAvatar;210 ??????????this.form.name = res.data.userName;211 ??????????this.form.tel = res.data.userPhone;212 ??????????this.form.email = res.data.userEmail;213 ??????????if (res.data.wxOpenid) {214 ????????????this.form.wx = ‘已绑定‘215 ????????????this.closewx = true216 ??????????} else {217 ????????????this.form.wx = ‘未绑定‘218 ????????????this.closewx = false219 ??????????}220 ????????} else {221 ??????????kpMessage.warning("获取用户信息失败")222 ??????????this.closewx = false223 ????????}224 ??????})225 ????},226 ????onSubmit() {227 ??????let sendData = {228 ????????type: 2,229 ????????accountId: sessionStorage.accountId || "",230 ????????userId: sessionStorage.userId || "",231 ????????userName: this.form.name,232 ????????userPhone: this.form.tel,233 ????????userEmail:this.form.email,234 ????????requestId: "4" + new Date().getTime() + randomn(4)235 ??????};236 ??????updateUserData(sendData).then(res => {237 ????????if (res.code == 0) {238 ??????????kpMessage.warning("设置成功");239 ??????????console.log(res);240 ????????} else {241 ??????????kpMessage.warning("设置失败");242 ????????}243 ??????});244 ????},245 ????// change事件246 ????handleChange(file) {247 ??????Object.defineProperty(file.raw, "name", {248 ????????//通过修改原型中的name249 ????????writable: true250 ??????});251 ??????let timeTamp = format.timeFormatter(new Date(), "yyyy-MM-dd");252 ??????const uuidV1 = require("uuid/v1");253 ??????this.uuid = file.raw.name =254 ????????"boss_img" +255 ????????"/" +256 ????????sessionStorage.userId +257 ????????"/" +258 ????????timeTamp +259 ????????"-" +260 ????????uuidV1(); //图片路径261 ????????let testmsg=file.name.substring(file.name.lastIndexOf(‘.‘)+1) ????????????????262 ??????const extension = testmsg === ‘jpg‘ ?263 ??????const extension2 = testmsg === ‘png‘ ?264 ??????const isLt10M = file.size / 1024 / 1024 < 10;265 ??????if(!extension && !extension2) { ?266 ????????kpMessage.warning("上传文件只能是 jpg、png格式!");267 ????????this.visible2= false268 ??????} ?269 ??????if (!isLt10M) {270 ????????kpMessage.warning("上传头像图片大小不能超过 10MB!");271 ??????}272 ??????return isLt10M;273 ????},274 ????submitUpload() {275 ??????//上传276 ??????this.$refs.upload.submit();277 ??????let sendData = {278 ????????type: 1,279 ????????userAvatar: this.uuid,280 ????????userId: sessionStorage.userId || "0"281 ??????};282 ??????updateUserData(sendData).then(res => {283 ????????if (res.code == 0) {284 ??????????this.visible2= false285 ??????????kpMessage.warning("上传服务器成功");286 ????????} else {287 ??????????kpMessage.warning("上传服务器失败");288 ????????}289 ??????});290 ????},291 ????handleSuccess(response, file, fileList) {292 ??????console.log(fileList);293 ??????let data = {294 ????????name: response.data[0].fileName,295 ????????url: response.data[0].remoteUrl296 ??????};297 ??????this.fileList.unshift(data);298 ????},299 ????sendMsg() {//手机发送短信300 ??????let _this = this;301 ??????_this.isDisabled = true;302 ??????let interval = window.setInterval(function() {303 ????????_this.buttonName = "再次获取(" + _this.time + "s)"304 ????????--_this.time;305 ????????if (_this.time < 0) {306 ??????????_this.buttonName = "获取验证码"307 ??????????_this.time = 60308 ??????????_this.isDisabled = false309 ??????????window.clearInterval(interval)310 ????????}311 ??????}, 1000);312 ??????let sendData = {313 ????????phone: this.phone_num,314 ????????type: 3315 ??????};316 ??????sendSms(sendData).then(res => {317 ????????if (res.code == 0) {318 ??????????kpMessage.warning("短信已发送")319 ????????} else {320 ??????????kpMessage.warning("短信获取失败")321 ????????}322 ??????});323 ????},324 ????sendMsg_eml() {//发送邮箱325 ??????let _this = this;326 ??????_this.isDisabled_eml = true;327 ??????let interval = window.setInterval(function() {328 ????????_this.buttonName_eml = "再次获取(" + _this.time_eml + "s)";329 ????????--_this.time_eml;330 ????????if (_this.time_eml < 0) {331 ??????????_this.buttonName_eml = "获取验证码"332 ??????????_this.time_eml = 60;333 ??????????_this.isDisabled_eml = false334 ??????????window.clearInterval(interval)335 ????????}336 ??????}, 1000);337 ??????let sendData = {338 ????????email: this.email_num,339 ????????type: 3340 ??????};341 ??????updateEmail(sendData).then(res => {342 ????????if (res.code == 0) {343 ??????????kpMessage.warning("验证码已发送")344 ????????} else {345 ??????????kpMessage.warning("验证码发送失败")346 ????????}347 ??????});348 ????},349 ????phone_pass() {//手机提交350 ??????let sendData = {351 ????????type: 1,352 ????????accountId : sessionStorage.getItem("accountId"),353 ????????number: this.phone_num,354 ????????code: this.psw_num355 ??????};356 ??????updatePhomail(sendData).then(res => {357 ????????if (res.code == 0) {358 ??????????kpMessage.warning("手机设置成功")359 ??????????this.form.tel = this.phone_num360 ??????????this.centerDialogVisible = false361 ????????} else {362 ??????????if(res.msg=="verification code expires"){363 ????????????kpMessage.warning("验证码错误,请重试")364 ??????????}else{365 ????????????kpMessage.warning("该手机号已被占用,请选择另外的手机号")366 ??????????}367 ????????}368 ??????});369 ????},370 ?????email_pass() {//邮箱提交371 ??????let sendData = {372 ????????type: 2,373 ????????accountId : sessionStorage.getItem("accountId"),374 ????????number: this.email_num,//此时把邮箱的数据传给后台375 ????????code: this.emlpsw_num376 ??????};377 ??????updatePhomail(sendData).then(res => {378 ????????if (res.code == 0) {379 ??????????kpMessage.warning("邮箱设置成功")380 ??????????this.form.email = this.email_num//弹窗的邮箱数据赋值给展示页面的邮箱381 ??????????this.centerDialogVisible_eml = false382 ????????} else {383 ??????????if(res.msg=="verification code expires"){384 ????????????kpMessage.warning("验证码错误,请重试")385 ??????????}else{386 ????????????kpMessage.warning("该邮箱号已被占用,请选择另外的邮箱号")387 ??????????} 388 ????????}389 ??????});390 ????},391 ????unTry() {392 ??????let sendData = {393 ????????accountId: sessionStorage.accountId || ‘‘394 ??????}395 ??????accountUnBindWx(sendData).then(res => {396 ????????if (res.code == 0) {397 ??????????kpMessage.warning("解除绑定成功")398 ??????????this.loadUserData()399 ????????} else {400 ??????????kpMessage.warning("解除绑定失败")401 ????????}402 ??????});403 ????}404 ??}405 };406 </script>407 408 <style rel="stylesheet/less" lang="less" scoped>409 .module {410 ??width: 450px;411 ??.imgblock {412 ????width: 50px;413 ????height: 50px;414 ????margin-right: 20px;415 ????line-height: 1;416 ????float: left;417 ????border: 1px solid #ccc;418 ????display: inline-table;419 ????overflow: hidden;420 ????border-radius: 5px;421 ????img {422 ??????display: block;423 ??????width: 100%;424 ????}425 ??}426 }427 428 .person_from {429 ??width: 280px;430 ??margin: auto;431 }432 433 .person_title {434 ??line-height: 18px;435 ??font-size: 23px;436 ??font-weight: bold;437 ??color: #333;438 ??text-align: center;439 ??margin: 0;440 ??padding: 0;441 }442 443 .person_div {444 ??width: 280px;445 ??border: 1px solid #bfcbd9;446 ??margin-top: 20px;447 ??border-radius: 4px;448 }449 450 .person_input {451 ??width: 270px;452 ??height: 30px;453 ??border-radius: 4px;454 ??padding-left: 10px;455 ??border: 1px solid #bfcbd9;456 ??margin-top: 50px;457 }458 459 .person_inp {460 ??width: 150px;461 ??height: 30px;462 ??padding-left: 10px;463 ??border: none;464 ??float: left;465 }466 467 .person_div button {468 ??width: 112px;469 ??height: 32px;470 ??border: none;471 ??font-size: 12px;472 ??background: none;473 ??display: inline-block;474 ??color: #0082e6;475 }476 477 * {478 ??outline: none;479 }480 481 .per_btn {482 ??width: 200px;483 ??height: 30px;484 ??background: #0082e6;485 ??border-radius: 4px;486 ??border: none;487 ??color: #fff;488 ??display: block;489 ??margin: auto;490 ??margin-bottom: 50px;491 }492 493 .person_box {494 ??width: 210px;495 ??height: 210px;496 ??box-shadow: 2px 2px 5px #999;497 ??border: 1px solid #999;498 ??margin: auto;499 ??margin-top: 20px;500 ??position: relative;501 ??img {502 ????width: 180px;503 ????height: 180px;504 ????margin: auto;505 ????display: block;506 ????position: absolute;507 ????left: 0;508 ????top: 0;509 ????right: 0;510 ????bottom: 0;511 ??}512 ??.img_load {513 ????background: #eee;514 ????width: 180px;515 ????height: 180px;516 ????margin: auto;517 ????display: block;518 ????position: absolute;519 ????left: 0;520 ????top: 0;521 ????right: 0;522 ????bottom: 0;523 ????text-align: center;524 ????line-height: 180px;525 ????font-size: 16px;526 ????p {527 ??????position: relative;528 ??????top: -175px;529 ??????left: 0;530 ????}531 ??}532 }533 534 .per_p {535 ??margin: auto;536 ??width: 100%;537 ??text-align: center;538 ??margin-top: 5px;539 }540 541 .el-icon-success {542 ??font-size: 30px;543 ??color: green;544 }545 546 .peron_kp {547 ??width: 250px;548 ??margin: auto;549 }550 551 .pperon {552 ??display: inline-block;553 ??width: 200px;554 ??height: 30px;555 ??span:first-child {556 ????font-size: 18px;557 ????font-weight: 600;558 ??}559 }560 561 .close {562 ??background: none;563 ??border: none;564 ??position: absolute;565 ??right: 20px;566 ??top: 0;567 ??color: #0082e6;568 }569 570 .display_ {571 ??height: 0;572 ??width: 0;573 ??overflow: hidden;574 }575 576 #xwwx {577 text-align: center;578 }579 </style>

关于elemnt ui头像上传问题

原文地址:https://www.cnblogs.com/lujunan/p/10298049.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved