Files
mini-programs/src/pages/userInfo
张成 4c36986ade 1
2025-09-07 10:06:00 +08:00
..
1
2025-09-07 10:06:00 +08:00
1
2025-09-07 10:06:00 +08:00
1
2025-09-07 10:06:00 +08:00
1
2025-09-07 10:06:00 +08:00
1
2025-09-07 00:35:09 +08:00
11
2025-09-06 23:16:42 +08:00
11
2025-09-06 23:16:42 +08:00
11
2025-09-06 23:16:42 +08:00
11
2025-09-06 23:16:42 +08:00

个人页面功能说明

功能概述

个人页面模块包含三个主要功能页面:

  1. 个人页面 (/pages/userInfo/myself/index) - 当前用户的主页
  2. 他人页面 (/pages/userInfo/other/index) - 其他用户的主页
  3. 编辑资料 (/pages/userInfo/edit/index) - 编辑个人资料

主要功能

个人页面 (myself)

  • 显示当前用户的基本信息(头像、昵称、加入时间)
  • 显示统计数据(关注、球友、主办、参加)
  • 显示个人标签和简介
  • 提供编辑和分享功能
  • 显示球局订单和收藏快捷入口
  • 展示用户主办的球局和参与的球局

他人页面 (other)

  • 显示其他用户的基本信息
  • 提供关注/取消关注功能
  • 提供发送消息功能
  • 展示该用户主办的球局和参与的球局
  • 支持点击参与者头像查看其他用户主页

编辑资料 (edit)

  • 支持更换头像
  • 编辑昵称、个人简介、所在地区、职业
  • NTRP等级选择
  • 表单验证和保存功能

技术特点

组件化设计

  • UserInfoCard - 用户信息卡片组件
  • GameCard - 球局卡片组件
  • GameTabs - 球局标签页组件

服务层

  • UserService - 用户相关API服务
    • get_user_info() - 获取用户信息
    • get_user_games() - 获取用户球局记录
    • toggle_follow() - 关注/取消关注
    • save_user_info() - 保存用户信息
    • upload_avatar() - 上传头像

页面导航

  • 支持通过 userid 参数区分个人页面和他人页面
  • 页面间导航逻辑完善
  • 参数传递和状态管理

使用方式

访问个人页面

Taro.navigateTo({
  url: '/pages/userInfo/myself/index'
});

访问他人页面

Taro.navigateTo({
  url: `/pages/userInfo/other/index?userid=${user_id}`
});

访问编辑资料页面

Taro.navigateTo({
  url: '/pages/userInfo/edit/index'
});

样式特点

  • 使用渐变背景设计
  • 卡片式布局
  • 响应式交互效果
  • 统一的视觉风格
  • 符合小程序设计规范

数据流

  1. 页面加载时从 UserService 获取数据
  2. 用户操作通过回调函数处理
  3. 状态更新后重新渲染组件
  4. 支持异步操作和错误处理

扩展性

  • 组件可复用性强
  • 服务层易于扩展
  • 支持更多用户功能扩展
  • 便于维护和测试