53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
const { put } = require("../../utils/api");
|
|
const { refreshMe, saveSession } = require("../../utils/auth");
|
|
const { showError } = require("../../utils/page-helpers");
|
|
|
|
Page({
|
|
data: {
|
|
form: {
|
|
name: "",
|
|
industry: "",
|
|
company: "",
|
|
position: "",
|
|
wechat_id: "",
|
|
bio: ""
|
|
},
|
|
loading: false
|
|
},
|
|
|
|
async onLoad() {
|
|
wx.setNavigationBarTitle({ title: "编辑资料" });
|
|
const user = await refreshMe();
|
|
this.setData({
|
|
form: {
|
|
name: user.name || "",
|
|
industry: user.industry || "",
|
|
company: user.company || "",
|
|
position: user.position || "",
|
|
wechat_id: user.wechat_id || "",
|
|
bio: user.bio || ""
|
|
}
|
|
});
|
|
},
|
|
|
|
onInput(event) {
|
|
const field = event.currentTarget.dataset.field;
|
|
this.setData({ [`form.${field}`]: event.detail.value });
|
|
},
|
|
|
|
async save() {
|
|
this.setData({ loading: true });
|
|
try {
|
|
const user = await put("/api/users/me", this.data.form);
|
|
const token = wx.getStorageSync("auth_token");
|
|
saveSession(token, user);
|
|
wx.showToast({ title: "已保存", icon: "success" });
|
|
setTimeout(() => wx.navigateBack(), 500);
|
|
} catch (error) {
|
|
showError(error, "保存失败");
|
|
} finally {
|
|
this.setData({ loading: false });
|
|
}
|
|
}
|
|
});
|