/** 成员项 */ interface MemberItem { /** 唯一 ID */ id: string /** 姓名 */ name: string /** 性别 */ gender: '男' | '女' /** 年龄 */ age: number /** 身高(cm) */ height: number /** 头像色块(无图片时使用) */ avatar: string /** 是否本人 */ isSelf: boolean /** 是否他人添加(只读,不显示编辑/删除) */ isFromOther: boolean } /** 设备卡片 */ interface DeviceCard { /** 设备 ID */ id: string /** 设备名称 */ name: string /** 已使用容量(成员数) */ capacityUsed: number /** 总容量 */ capacityTotal: number } /** * 设备成员页 * 两态:已连接(connected=true) / 未连接(connected=false) * connected 为页面内部全局状态,后续接入真实设备状态时替换 */ Page({ data: { // 设备连接状态(全局,内部控制) connected: true, // 设备卡片 deviceCard: { id: 'device-001', name: 'MX-W30A1', capacityUsed: 4, capacityTotal: 10 } as DeviceCard, // 成员列表(色块占位头像) memberList: [ { id: 'm-001', name: '陈小飞', gender: '男', age: 28, height: 175, avatar: '#1385FA', isSelf: true, isFromOther: false }, { id: 'm-002', name: '李镇南', gender: '男', age: 32, height: 178, avatar: '#2AC79F', isSelf: false, isFromOther: false }, { id: 'm-003', name: '张颖', gender: '女', age: 26, height: 165, avatar: '#FF8FAB', isSelf: false, isFromOther: false }, { id: 'm-004', name: '李镇南', gender: '男', age: 60, height: 170, avatar: '#FFB347', isSelf: false, isFromOther: true } ] as MemberItem[] }, /** * 编辑成员 */ onTapEdit(e: WechatMiniprogram.TouchEvent) { const id = e.currentTarget.dataset.id as string // TODO: 后续接入编辑成员浮层/页面 wx.showToast({ title: `编辑 ${id}`, icon: 'none' }) }, /** * 删除成员 */ onTapDelete(e: WechatMiniprogram.TouchEvent) { const id = e.currentTarget.dataset.id as string wx.showModal({ title: '提示', content: '确定删除该成员?', success: (res) => { if (!res.confirm) return // TODO: 后续接入删除成员接口 const list = this.data.memberList.filter(m => m.id !== id) this.setData({ memberList: list, 'deviceCard.capacityUsed': list.length }) } }) }, /** * 添加成员:跳转到 addMember 页 * 未连接态禁用 */ onTapAddMember() { if (!this.data.connected) return wx.navigateTo({ url: '/pages/addMember/addMember' }) } })