| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322 |
- 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;
- }
- }
- });
- }
- });
|