Files
threeonecheck_web/unpackage/dist/dev/mp-weixin/pages/personalcenter/edit.js

128 lines
4.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"use strict";
const common_vendor = require("../../common/vendor.js");
const request_request = require("../../request/request.js");
const utils_upload = require("../../utils/upload.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: "",
// 七牛完整 URL用于提交
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:112", "获取个人信息失败:", 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 = async (filePath) => {
try {
const { url } = await utils_upload.uploadSingleWithLoading(filePath);
userInfo.avatar = url;
avatarPreview.value = url;
common_vendor.index.showToast({ title: "上传成功", icon: "success" });
} catch (e) {
avatarPreview.value = "";
common_vendor.index.showToast({
title: (e == null ? void 0 : e.msg) || (e == null ? void 0 : e.message) || "上传失败",
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:176", "保存失败:", 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