"use strict"; const common_vendor = require("../../common/vendor.js"); const request_request = require("../../request/request.js"); const request_three_one_api_info = require("../../request/three_one_api/info.js"); const defaultAvatar = "https://ossweb-img.qq.com/images/lol/web201310/skin/big81005.jpg"; const _sfc_main = { __name: "edit", setup(__props) { const saving = common_vendor.ref(false); const avatarPreview = common_vendor.ref(""); const userInfo = common_vendor.reactive({ avatar: "", // 保存相对路径,用于提交 nickName: "", phonenumber: "", email: "", sex: "0" // '0'-男 '1'-女 }); const getImageUrl = (path) => { if (!path) return ""; return request_request.toImageUrl(path); }; common_vendor.onMounted(() => { loadProfileDetail(); }); const loadProfileDetail = async () => { try { common_vendor.index.showLoading({ title: "加载中..." }); const res = await request_three_one_api_info.getProfileDetail(); common_vendor.index.hideLoading(); if (res.code === 0 && res.data) { userInfo.avatar = res.data.avatar || ""; userInfo.nickName = res.data.nickName || ""; userInfo.phonenumber = res.data.phonenumber || ""; userInfo.email = res.data.email || ""; userInfo.sex = res.data.sex || "0"; } } catch (err) { common_vendor.index.hideLoading(); common_vendor.index.__f__("error", "at pages/personalcenter/edit.vue:111", "获取个人信息失败:", err); } }; const chooseAvatar = () => { common_vendor.index.chooseImage({ count: 1, sizeType: ["compressed"], sourceType: ["album", "camera"], success: (res) => { const tempFilePath = res.tempFilePaths[0]; avatarPreview.value = tempFilePath; uploadAvatar(tempFilePath); } }); }; const uploadAvatar = (filePath) => { common_vendor.index.showLoading({ title: "上传中..." }); common_vendor.index.uploadFile({ url: request_request.baseUrl + "/frontend/attachment/upload", filePath, name: "file", header: { "Authorization": request_request.getToken() }, success: (uploadRes) => { common_vendor.index.hideLoading(); try { const data = JSON.parse(uploadRes.data); if (data.code === 0 && data.data) { userInfo.avatar = data.data.url || data.data; common_vendor.index.showToast({ title: "上传成功", icon: "success" }); } else { avatarPreview.value = ""; common_vendor.index.showToast({ title: data.msg || "上传失败", icon: "none" }); } } catch (e) { avatarPreview.value = ""; common_vendor.index.showToast({ title: "上传失败", icon: "none" }); } }, fail: () => { common_vendor.index.hideLoading(); avatarPreview.value = ""; common_vendor.index.showToast({ title: "上传失败", icon: "none" }); } }); }; const handleSave = async () => { if (!userInfo.nickName) { common_vendor.index.showToast({ title: "请输入昵称", icon: "none" }); return; } saving.value = true; try { const params = { nickName: userInfo.nickName, phonenumber: userInfo.phonenumber, email: userInfo.email, sex: userInfo.sex, avatar: userInfo.avatar // 提交相对路径 }; const res = await request_three_one_api_info.updateProfile(params); if (res.code === 0) { common_vendor.index.showToast({ title: "保存成功", icon: "success" }); setTimeout(() => { common_vendor.index.navigateBack(); }, 1500); } else { common_vendor.index.showToast({ title: res.msg || "保存失败", icon: "none" }); } } catch (err) { common_vendor.index.__f__("error", "at pages/personalcenter/edit.vue:195", "保存失败:", err); common_vendor.index.showToast({ title: "保存失败", icon: "none" }); } finally { saving.value = false; } }; return (_ctx, _cache) => { return { a: avatarPreview.value || getImageUrl(userInfo.avatar) || defaultAvatar, b: common_vendor.o(chooseAvatar), c: userInfo.nickName, d: common_vendor.o(($event) => userInfo.nickName = $event.detail.value), e: userInfo.phonenumber, f: common_vendor.o(($event) => userInfo.phonenumber = $event.detail.value), g: userInfo.email, h: common_vendor.o(($event) => userInfo.email = $event.detail.value), i: userInfo.sex === "0" ? 1 : "", j: userInfo.sex === "0" ? 1 : "", k: common_vendor.o(($event) => userInfo.sex = "0"), l: userInfo.sex === "1" ? 1 : "", m: userInfo.sex === "1" ? 1 : "", n: common_vendor.o(($event) => userInfo.sex = "1"), o: common_vendor.o(handleSave), p: saving.value, q: common_vendor.gei(_ctx, "") }; }; } }; const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-249675c2"]]); wx.createPage(MiniProgramPage); //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/personalcenter/edit.js.map