hku-class/miniprogram/pages/member-detail/index.js
2026-05-16 23:59:13 +08:00

37 lines
1.1 KiB
JavaScript

const { get } = require("../../utils/api");
const { showError } = require("../../utils/page-helpers");
Page({
data: { member: null, loading: false },
onLoad(options) {
wx.setNavigationBarTitle({ title: "成员资料" });
this.load(options.id);
},
async load(id) {
if (!id) return;
this.setData({ loading: true });
try {
const member = await get(`/api/directory/${id}`);
const isTeacher = member.membership_role === "teacher";
const isCommittee = !isTeacher && Boolean(member.committee_role);
this.setData({
member: {
...member,
role_text: isTeacher ? "老师" : (isCommittee ? member.committee_role : ""),
show_role_text: isTeacher || isCommittee,
role_mark: isTeacher ? "师" : (isCommittee ? "委" : "成"),
class_role_text: isTeacher
? "老师"
: member.committee_role || "班级成员"
}
});
} catch (error) {
showError(error, "加载资料失败");
} finally {
this.setData({ loading: false });
}
}
});