| | |
| | | imgStatus: false, |
| | | imgStatus2: false, |
| | | messFlag: this.$store.state.userInfo.isActive == 3 ? true : false, |
| | | tempImg2Url: null, // Store temporary image URL for cleanup |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | }, |
| | | |
| | | beforeDestroy() { |
| | | // Clean up temporary image URLs to avoid memory leaks |
| | | if (this.tempImg2Url) { |
| | | URL.revokeObjectURL(this.tempImg2Url); |
| | | } |
| | | if (this.$state.theme == "red") { |
| | | document.body.classList.remove("red-bg"); |
| | | document.body.classList.add("black-bg"); |
| | |
| | | methods: { |
| | | handleAvatarSuccess(res, file) { |
| | | this.imgStatus = false; |
| | | this.form.img1key = res.data.url; |
| | | // Ensure using network URL instead of temporary URL |
| | | if (res && res.data && res.data.url) { |
| | | this.form.img1key = res.data.url; |
| | | } else { |
| | | console.error('Upload response data format error:', res); |
| | | Toast(this.$t("hj209") || "Upload failed"); |
| | | } |
| | | }, |
| | | beforeAvatarUpload(file) { |
| | | this.imgStatus = true; |
| | | }, |
| | | handleError() { |
| | | this.imgStatus = false; |
| | | // Ensure temporary URL is not retained on upload failure |
| | | if (this.form.img1key && this.form.img1key.startsWith('blob:')) { |
| | | URL.revokeObjectURL(this.form.img1key); |
| | | this.form.img1key = ''; |
| | | } |
| | | }, |
| | | handleAvatarSuccess2(res, file) { |
| | | this.imgStatus2 = false; |
| | | this.form.img2key = res.data.url; // URL.createObjectURL(file.raw); |
| | | // Clean up temporary URL if exists |
| | | if (this.tempImg2Url) { |
| | | URL.revokeObjectURL(this.tempImg2Url); |
| | | this.tempImg2Url = null; |
| | | } |
| | | // Ensure using network URL instead of temporary URL |
| | | if (res && res.data && res.data.url) { |
| | | this.form.img2key = res.data.url; |
| | | } else { |
| | | console.error('Upload response data format error:', res); |
| | | Toast(this.$t("hj209") || "Upload failed"); |
| | | // Clear temporary URL on upload failure |
| | | if (this.form.img2key && this.form.img2key.startsWith('blob:')) { |
| | | URL.revokeObjectURL(this.form.img2key); |
| | | this.form.img2key = ''; |
| | | } |
| | | } |
| | | }, |
| | | beforeAvatarUpload2(file) { |
| | | this.imgStatus2 = true; |
| | |
| | | if (!isLt10M) { |
| | | this.$message.error(this.$t("hj205")); |
| | | return false; |
| | | } else { |
| | | this.form.img2key = URL.createObjectURL(file); |
| | | } |
| | | // Don't set form.img2key here to avoid submitting temporary URL |
| | | // Use a separate preview variable if preview is needed on UI |
| | | // Only create temporary URL for compression if needed |
| | | if (compress) { |
| | | compress(file, function (val) {}); |
| | | } |
| | | return true; |
| | | }, |
| | | handleError2() { |
| | | this.imgStatus2 = false; |
| | | // Clean up temporary URL on upload failure |
| | | if (this.tempImg2Url) { |
| | | URL.revokeObjectURL(this.tempImg2Url); |
| | | this.tempImg2Url = null; |
| | | } |
| | | // Clear temporary URL if form.img2key is a temporary URL |
| | | if (this.form.img2key && this.form.img2key.startsWith('blob:')) { |
| | | URL.revokeObjectURL(this.form.img2key); |
| | | this.form.img2key = ''; |
| | | } |
| | | }, |
| | | handleAvatarSuccess3(res, file) { |
| | | this.form.img3key = res.data.url; // URL.createObjectURL(file.raw); |
| | | }, |
| | | async getUserInfo() { |
| | | // 获取用户信息 |
| | | // Get user information |
| | | let data = await api.getUserInfodata(); |
| | | if (data.status === 0) { |
| | | // 判断是否登录 |
| | | // Check if logged in |
| | | this.$store.commit("dialogVisible", false); |
| | | this.$store.state.userInfo = data.data; |
| | | this.userInfo = data.data; |
| | |
| | | } |
| | | } else { |
| | | //this.$store.commit('dialogVisible',true); |
| | | //跳转到login |
| | | //Redirect to login |
| | | this.$router.push({ path: "/login" }); |
| | | } |
| | | }, |
| | | beforeAvatarUpload3(file) {}, |
| | | // 上传 |
| | | // Upload |
| | | handleFile: function (e) { |
| | | // var that = this |
| | | let $target = e.target || e.srcElement; |
| | |
| | | } |
| | | }, |
| | | toSure() { |
| | | // 实名认证弹框 |
| | | // Real name authentication dialog |
| | | if (isNull(this.form.name)) { |
| | | Toast(this.$t("hj207")); |
| | | } else if (isNull(this.form.idCard)) { |
| | |
| | | } else if (!this.form.img2key) { |
| | | Toast(this.$t("hj209")); |
| | | } else { |
| | | // 显示确认弹窗 |
| | | // Verify if image URL is a temporary URL |
| | | if (this.form.img1key && this.form.img1key.startsWith('blob:')) { |
| | | Toast(this.$t("hj209") || "Image 1 is still uploading"); |
| | | return; |
| | | } |
| | | if (this.form.img2key && this.form.img2key.startsWith('blob:')) { |
| | | Toast(this.$t("hj209") || "Image 2 is still uploading"); |
| | | return; |
| | | } |
| | | // Ensure image URL is a network URL (http:// or https://) |
| | | if (this.form.img1key && !this.form.img1key.startsWith('http')) { |
| | | Toast(this.$t("hj209") || "Image 1 URL is invalid"); |
| | | return; |
| | | } |
| | | if (this.form.img2key && !this.form.img2key.startsWith('http')) { |
| | | Toast(this.$t("hj209") || "Image 2 URL is invalid"); |
| | | return; |
| | | } |
| | | // Show confirmation dialog |
| | | this.toAuthentication(); |
| | | } |
| | | }, |