From 74e563da7fa6886449fd2be5933e2d4ca5c85f48 Mon Sep 17 00:00:00 2001 From: jack <jack.su@pollex.com.tw> Date: 星期二, 12 九月 2023 11:25:52 +0800 Subject: [PATCH] [UPDATE] 解決弱點Se: Incorrect definition of Serializable class [UPDATE] 解決弱點Information exposure to log file [UPDATE] 解決弱點Use of hard-coded password --- PAMapp/components/editConsultantAvatar.vue | 52 ++++++++++++++++++++++++++++++---------------------- 1 files changed, 30 insertions(+), 22 deletions(-) diff --git a/PAMapp/components/editConsultantAvatar.vue b/PAMapp/components/editConsultantAvatar.vue index a02b772..0b3832c 100644 --- a/PAMapp/components/editConsultantAvatar.vue +++ b/PAMapp/components/editConsultantAvatar.vue @@ -6,33 +6,41 @@ ref="upload" action="#" :auto-upload="false" - :on-change="handleAvatarSuccess" + :on-change="handleAvatarUploaded" :show-file-list="false" accept="image/png, image/jpeg, image/jpg"> <el-avatar - :size="150" :src="imgSrc" class="pam-avatar cursor--pointer fix-chrome-click--issue" ></el-avatar> - <div class="pam-avatar-uploader__action-label mt-10 cursor--pointer" >閮剖����</div> + <div class="text--center mt-10"> + <el-button + >閮剖����</el-button> + </div> </el-upload> <div v-if="showResetAvatarBtn" class="pam-avatar-uploader__action-label text--center mt-10 cursor--pointer" - @click="resetAvatar"> - �������� + style="line-height: 1.5" + > + <i class="icon-information"></i> + 隢����銝������������� + <span class="text--primary cursor--pointer text--underline" @click="resetAvatar">���迨����</span> + </div> </div> </template> <script lang="ts"> + import { Vue, Component, Prop, PropSync } from 'nuxt-property-decorator'; + import { MessageBox } from 'element-ui'; import { MessageBoxData } from 'element-ui/types/message-box'; - import { Vue, Component, Prop, PropSync } from 'nuxt-property-decorator'; - import myConsultantService from '~/shared/services/my-consultant.service'; import _ from 'lodash'; + + import myConsultantService from '~/shared/services/my-consultant.service'; @Component export default class editConsultantAvatar extends Vue { @@ -52,29 +60,29 @@ if(this.agentNo) this.initConsultantAvatar() } - initConsultantAvatar(): void { + private initConsultantAvatar(): void { myConsultantService.getConsultantAvatar(this.agentNo) .then(base64=> this.splitBase64WithCommon(base64) ) } - handleAvatarSuccess(file:any, fileList:any) { - const isFollowUploadRule =_.includes(file.raw.type,'image/'); - isFollowUploadRule ? this.getImgSrc(file) : this.showErrorMsg() - } - - getImgSrc(file:any):void{ - const blob = file.raw; - this.blobToBase64(blob).then(base64=>{ - this.splitBase64WithCommon(base64 as string); - }); - } - ////////////////////////////////////////////////////////////////////// resetAvatar(): void { this.imgSrc = this._imgSrc; + } + + handleAvatarUploaded(file:any): void { + const isFollowUploadRule =_.includes(file.raw.type,'image/'); + isFollowUploadRule ? this.getImgSrc(file) : this.showFileUploadErrorMsg() + } + + private getImgSrc(file:any):void{ + const blob = file.raw; + this.blobToBase64(blob).then(base64=>{ + this.splitBase64WithCommon(base64 as string); + }); } private blobToBase64(blob:File):Promise<string | ArrayBuffer | null> { @@ -88,7 +96,7 @@ } private splitBase64WithCommon(base64: string): void { - const splitBase64=_.split(base64, ','); // �鈭�� data:image , base64 閫������; + const splitBase64= _.split(base64, ','); // �鈭�� data:image , base64 閫������; this.syncPhotoBase64 = splitBase64[1]; // NOTE: �����誑 agentNO ���� avatar ��仃���� // ����迨��靘蝭���*蝷�'������'���瘜�� [Tomas, 2022/1/3] @@ -98,7 +106,7 @@ this.imgSrc = base64; } - private showErrorMsg():Promise<MessageBoxData>{ + private showFileUploadErrorMsg():Promise<MessageBoxData>{ return MessageBox({ message:`<div class="message-header">銝�撘�炊</div> <div class="message-content">隢�甇�蝣箏���</div>`, -- Gitblit v1.8.0