import memberService from '../../utils/member.js'; Page({ onShow() { if (typeof this.getTabBar === 'function' && this.getTabBar()) { this.getTabBar().setData({ selected: 3 }); } // 加载会员信息 this.loadMemberInfo(); }, data:{ avatarUrl:'/images/avatar-default.png', nickname:'用户'+Math.floor(Math.random()*10000), hasUserInfo: false, memberInfo: {}, memberLevel: {}, nextLevel: null, menuItems: [ { id: 'orders', title: '我的订单', icon: '📋', desc: '订单管理', url: '/pages/orders/orders' }, { id: 'passengers', title: '乘车人管理', icon: '👥', desc: '乘车人信息', url: '/pages/passenger-management/passenger-management' }, { id: 'coupons', title: '我的优惠券', icon: '🎫', desc: '优惠券', url: '/pages/my-coupons/my-coupons' }, { id: 'points', title: '积分商城', icon: '🏪', desc: '积分兑换', url: '/pages/points-mall/points-mall' } ], serviceItems: [ { id: 'contact', title: '联系客服', icon: '💬', desc: '客服支持' }, { id: 'feedback', title: '意见反馈', icon: '📝', desc: '意见反馈' }, { id: 'about', title: '关于我们', icon: 'ℹ️', desc: '产品信息' }, { id: 'cooperation', title: '合作加盟', icon: '🤝', desc: '合作加盟' } ] }, onLoad() { // 检查是否已有用户信息 const userInfo = wx.getStorageSync('userInfo'); if (userInfo) { this.setData({ avatarUrl: userInfo.avatarUrl, nickname: userInfo.nickName, hasUserInfo: true }); } // 加载会员信息 this.loadMemberInfo(); // 添加数据变化监听器 this.memberDataListener = (memberInfo) => { this.loadMemberInfo(); }; memberService.addListener(this.memberDataListener); }, onUnload() { // 移除监听器 if (this.memberDataListener) { memberService.removeListener(this.memberDataListener); } }, // 加载会员信息 loadMemberInfo() { const memberInfo = memberService.getUserMemberInfo(); const memberLevel = memberService.getMemberLevelInfo(memberInfo.level); const nextLevel = memberService.getNextLevelInfo(memberInfo.level); this.setData({ memberInfo, memberLevel, nextLevel }); }, // 查看会员详情 viewMemberDetails() { const { memberInfo, memberLevel, nextLevel } = this.data; let content = `当前等级:${memberLevel.name}\n`; content += `会员值:${memberInfo.memberValue}\n`; content += `当前积分:${memberInfo.points}\n`; content += `累计消费:¥${memberInfo.totalSpent}\n`; if (nextLevel && nextLevel.nextLevel) { const needed = nextLevel.needed - memberInfo.memberValue; content += `\n距离${nextLevel.nextLevelInfo.name}还需:${needed}会员值`; } else { content += '\n您已是最高等级会员!'; } wx.showModal({ title: '会员详情', content, showCancel: false, confirmText: '知道了' }); }, onChooseAvatar(e) { const { avatarUrl } = e.detail; this.setData({ avatarUrl }); // 保存到本地存储 const userInfo = { avatarUrl, nickName: this.data.nickname }; wx.setStorageSync('userInfo', userInfo); }, onNicknameInput(e) { const nickname = e.detail.value; this.setData({ nickname }); // 保存到本地存储 const userInfo = { avatarUrl: this.data.avatarUrl, nickName: nickname }; wx.setStorageSync('userInfo', userInfo); }, onGetUserProfile() { // 使用新的头像昵称填写能力 wx.chooseAvatar({ success: (res) => { this.setData({ avatarUrl: res.avatarUrl, hasUserInfo: true }); // 保存头像到本地存储 const userInfo = { avatarUrl: res.avatarUrl, nickName: this.data.nickname }; wx.setStorageSync('userInfo', userInfo); wx.showToast({title: '头像设置成功', icon: 'success'}); }, fail: () => { wx.showToast({title: '选择头像失败', icon: 'none'}); } }); }, onMenuItemTap(e) { const id = e.currentTarget.dataset.id; const item = this.data.menuItems.find(item => item.id === id); if (item && item.url) { wx.navigateTo({ url: item.url, fail: () => { wx.switchTab({ url: item.url }); } }); } else { wx.showToast({title: '功能开发中', icon: 'none'}); } }, onServiceItemTap(e) { const id = e.currentTarget.dataset.id; switch(id) { case 'contact': this.contactUs(); break; case 'feedback': this.feedback(); break; case 'about': this.aboutUs(); break; case 'cooperation': this.cooperation(); break; } }, contactUs(){ wx.showActionSheet({ itemList: ['拨打客服电话', '添加客服微信', '在线客服'], success: (res) => { switch(res.tapIndex) { case 0: wx.makePhoneCall({ phoneNumber: '400-8888-888', fail: () => { wx.showToast({title: '拨打失败', icon: 'none'}); } }); break; case 1: wx.showModal({ title: '客服微信', content: '请添加客服微信:bus_service\n工作时间:9:00-21:00', showCancel: false, confirmText: '知道了' }); break; case 2: wx.showToast({title: '在线客服功能开发中', icon: 'none'}); break; } } }); }, feedback() { wx.showModal({ title: '意见反馈', content: '您可以通过以下方式反馈意见:\n1. 拨打客服电话 400-8888-888\n2. 发送邮件至 feedback@busservice.com\n3. 在小程序内留言', showCancel: false, confirmText: '知道了' }); }, aboutUs(){ wx.showModal({ title: '关于我们', content: '去看出行小程序\n版本:v1.0.0\n\n为用户提供便捷的去看出行服务,包括大巴拼车、商务车拼车、包车等多种出行方式。\n\n技术支持:XX科技有限公司', showCancel: false, confirmText: '知道了' }); }, cooperation() { wx.showActionSheet({ itemList: ['司机加盟', '车辆合作', '企业合作', '投资合作'], success: (res) => { switch(res.tapIndex) { case 0: wx.showModal({ title: '司机加盟', content: '欢迎加入我们的司机团队!\n\n要求:\n• 持有A1或A2驾驶证\n• 3年以上驾驶经验\n• 无重大交通事故记录\n• 良好的服务意识\n\n联系方式:400-8888-888', showCancel: false, confirmText: '知道了' }); break; case 1: wx.showModal({ title: '车辆合作', content: '我们诚邀优质车辆加入!\n\n合作条件:\n• 车辆年限不超过8年\n• 定期保养维护\n• 保险齐全\n• 符合安全标准\n\n联系方式:400-8888-888', showCancel: false, confirmText: '知道了' }); break; case 2: wx.showModal({ title: '企业合作', content: '企业级出行解决方案!\n\n服务内容:\n• 员工通勤班车\n• 商务接待用车\n• 会议活动用车\n• 定制化出行方案\n\n联系方式:400-8888-888', showCancel: false, confirmText: '知道了' }); break; case 3: wx.showModal({ title: '投资合作', content: '携手共创出行新生态!\n\n投资方向:\n• 技术研发投入\n• 市场拓展支持\n• 运营优化升级\n• 品牌建设推广\n\n联系方式:400-8888-888', showCancel: false, confirmText: '知道了' }); break; } } }); } });