近期活动
合作伙伴
SNOW CLUB'26
—
雪场
成员
报名成员
点「核销」标记到场运营总览
平台数据一览成员管理
—首页 Banner
主图上传与替换活动管理
—约雪帖管理
—公告管理
置顶 / 删除发布新公告
发布后自动置顶危险区
仅管理员可见邀请码
用于成员注册签到核销 · 官方活动
管理员扫码核销待审核申请
—原型内所有数据均为演示样本。点击带下划线的功能点,右侧文档会自动跳到对应需求章节。
背景与问题
观察到的现象:俱乐部目前靠微信大群 + 群公告组织滑雪。雪季里每天有人问「这周六谁去万龙」,消息很快被刷掉;有人想拼车拼房但找不到同场同水平的雪友;活动报名靠接龙,到场后靠点名单,签到记录散了、积分靠 Excel 手工统计,容易错、也极易产生争议。
受影响的人与时刻:想去滑雪的成员,在「决定这周末去哪滑、和谁滑」的那一刻;组织者/领队,在「发起活动、现场核销、赛后结算奖励」的那一刻。
产品决策:做一个俱乐部自有的微信小程序,把「约雪配对」和「活动打卡积分」收敛到同一个账号体系与同一个数据底座上;雪场信息作为公共底座,覆盖国内外主流雪场,让成员在选目的地时直接看到「有哪些同俱乐部的雪友也在那儿」。
期望的可观察结果:(1)成员能在 3 步内发出一个约雪帖,并看到该帖从「招募中」到「已成行」的状态变化;(2)每场活动的签到记录可在小程序内被追溯,积分明细与兑换记录 100% 有据可查,不再依赖人工 Excel。
目标(以可观察行为描述)
- 成员用「雪场 + 日期」两个条件即可筛出可加入的约雪帖,并能一键申请加入。
- 约雪帖有明确生命周期:招募中 → 已成行 / 已关闭 / 已过期,任一状态下成员都能看到自己该做什么。
- 活动到场后,成员用自己的手机完成签到,积分在签到成功的那一刻自动入账,并出现在积分明细里。
- 成员能随时看到自己的积分余额、获取记录、兑换记录,且积分不可转让、不可提现。
- 组织者能配置奖励、查看打卡与积分报表、对异常积分进行补签或撤销。
主要用户与核心任务
| 角色 | 核心任务 | 完成条件 |
|---|---|---|
| 成员(雪友) | 在某雪场某时段找一个搭子并成行 | 约雪帖状态变为「已成行」,双方进入同行名单 |
| 成员(雪友) | 报名俱乐部活动、到场打卡、累积积分兑换奖励 | 打卡记录生成、积分入账、兑换凭证生成 |
| 领队 / 活动负责人 | 创建活动、生成签到码、现场核销与补签 | 活动签到名单与积分结算完成 |
| 俱乐部管理员 | 维护雪场库、配置积分规则与奖励、审核成员 | 规则与奖励配置生效,成员状态可控 |
触发点:成员侧由「周末计划去哪滑」和「活动当天到场」触发;组织者侧由「发起一场活动」触发。
共享业务对象
整个产品的流程由三个对象串起来,所有模块都围绕它们定义状态与权限:
- 约雪帖(SnowDate):成员发布的「同场同行」邀约帖,只承载「谁去、何时、何地」,成员加入即同行;拼车、拼房等诉求在补充说明与评论区自行沟通。
- 活动(Event) + 打卡记录(Checkin):俱乐部组织的线下活动与其现场到场凭证。
- 积分账户(PointAccount):由活动打卡、内容贡献、约雪成行产生的积分,与兑换支出相抵,是奖励体系的记账主体。
范围
P0 · 最小可完成旅程
可进入、可完成、可恢复地跑通两条主线:
- 配主线:约雪板块(含雪场库)→ 选雪场/日期 → 浏览或发布约雪帖 → 申请加入 → 发起人确认 → 已成行 → 结束并互评。
- 积分主线:首页「近期活动」(区分官方 / 自发)或雪历 → 活动详情 → 报名 → 现场扫码签到 → 打卡记录生成 → 积分入账 → 积分明细可见。
- 准入门槛:凭管理员邀请码注册 → 管理员在管理后台核查 → 通过激活后方可发布约雪、报名与签到(见 FR-17)。
- P0 支撑:个人档案(滑雪水平、常去雪场、身份标签)、通知提醒、雪历(按时间查看哪天有哪些活动与哪些雪友在哪里,快捷筛选仅全部 / 俱乐部活动 / 约雪三档)、成员标签体系(群管理员 / VIP / SIP / 俱乐部校友,见 FR-13)、公告与官方通知(首页公告条 + 列表 + 详情,见 FR-15)、雪场库自助添加(仅管理员)(见 FR-02)、官方活动海报上传(见 FR-18)、一键转发到微信聊天(活动 / 约雪帖,见 FR-19)、成员头像上传与同步(「我的」页上传 + 压缩 + 同步到约雪帖与活动名单,见 FR-20)、签到核销(官方活动管理员核销 / 自发活动发起人或管理员核销,见 FR-21)。
P1 · 在 P0 闭环之后
- 赞助商露出位与直达(依赖合作方供给与广告合规确认)依赖待定
- 公告中的赞助 / 广告投放位(需先确认广告标识与站外跳转的合规口径)
- 奖励兑换商城(需俱乐部先确认奖励预算与供给)依赖待定
- 雪季排行榜(打卡榜 / 出勤榜)、分享海报模板自定义(一键转发到微信聊天已进 P0,见 FR-19)
- 拼车拼房拼教练的独立入口与费用分摊说明
- UGC 雪况情报(成员在雪场实时发「今天雪况」)
P2 · 明确不做(本版)
- 雪票 / 雪具 / 教练的在线预订与支付 涉及资金与供应商合作,另行立项
- 国际雪场行程打包销售、签证机票代订
- AI 智能匹配推荐(先用筛选条件满足配对需求)
假设与待确认项
| # | 事项 | 当前处理 | 影响 |
|---|---|---|---|
| Q1 | 是否仅限俱乐部成员使用 | [Assumption, TBD] 成员制(邀请码 + 审核激活) | 影响注册门槛、内容审核与风控强度 |
| Q2 | 积分获取/消耗的具体数值 | [TBD] 文中给出的均为建议值,需俱乐部确认 | 影响奖励成本与成员预期 |
| Q3 | 积分有效期与雪季周期定义 | [Assumption, TBD] 按雪季(约 11 月 – 次年 4 月)清零或结转 | 影响账务口径与成员公平性 |
| Q4 | 奖励从何而来、预算多少 | [TBD] | 决定 P1 兑换商城能否上线 |
| Q5 | 雪场定量数据(雪票/雪道/缆车)来源 | [TBD] 需确定人工录入 + 官方渠道更新 + 成员纠错 | 决定雪场详情的信息完整度 |
| Q6 | 签到防作弊强度(定位围栏、动态码有效期) | [TBD] 文中给出机制设计,阈值需俱乐部确认 | 影响积分可信度 |
| Q7 | 是否需要实名 / 保险提示 | [TBD] 线下运动涉及安全,建议报名页含风险自担确认 | 合规与责任划分 |
| Q8 | 「SIP」标签的确切含义与获得条件 | [TBD] 疑似超级会员 / SVIP,需俱乐部明确 | 影响标签配置与对外解释 |
| Q9 | 成员标签的授予权与展示范围 | [Assumption, TBD] 仅管理员可授予 / 撤销;标签在档案、约雪成员列表、后台申请列表展示 | 影响身份识别的可见范围与授予流程 |
| Q10 | 邀请码有效期、单码使用次数上限、是否需总管理员复核 | [TBD] 文中给出示例(一码 5 次、至 12-31) | 决定准入节奏与防滥发能力 |
| Q11 | 赞助 / 广告内容的合规口径与自发活动是否计积分 | [TBD] 赞助内容须标注来源与合作方;自发活动默认不计积分 | 影响广告合规、积分公平与赞助履约 |
| Q12 | 管理员新增雪场是否需要二次复核、雪场库覆盖策略 | [Assumption, TBD] 管理员可直接新增入库(同名同国家查重);是否需总管理员复核、是否需要「下架」而非删除待确认 | 影响雪场库数据质量与覆盖完整性 |
| Q13 | 活动海报的尺寸建议、数量与内容审核口径 | [Assumption, TBD] 官方活动可上传 1 张海报(可替换/移除),尺寸与是否需审核待确认 | 影响分享卡视觉效果与内容合规 |
| Q14 | 头像规格(压缩后尺寸、原图上限、是否仅本人可改) | [Assumption, TBD] 客户端压缩到长边 ≤ 160px / JPEG 0.8;仅本人可上传更换;原图大小上限与是否内容审核待确认 | 影响存储成本、列表加载速度与内容合规 |
| Q15 | 签到核销凭证形式与核销是否可撤销 | [Assumption, TBD] 核销权限按活动来源分流(官方=管理员、自发=发起人或管理员);核销二维码有效期、是否叠加定位围栏、可否撤销待确认 | 影响签到可信度与线下组织效率 |
视觉规范
原型已按此规范落地(左侧手机原型即最终视觉方向)。品牌素材已接入:俱乐部 logo 用于顶部栏品牌标记,狐狸 IP 形象用于首页「今日雪况」插画、空状态与积分反馈。本轮只做浅色模式,深色模式的令牌与映射后续再补,不影响组件结构。
品牌素材
#B92025、字标黑 #231F20、次要灰 #818385#D87828 · 首页「今日雪况」插画、空状态水印#DE5B2F · 积分与签到反馈场景色彩
取色自俱乐部 logo 与狐狸 IP 原图:品牌红来自红徽章,主色橘红来自狐狸双板的竞速配色,冷辅藕荷蓝取自设计参考图,用于把「约雪」与「官方活动」在视觉上分开。整体只保留一支暖色主调 + 一支冷色辅助,避免多色混战。
| 用途 | 取值 | 说明 |
|---|---|---|
| 品牌红 | #B92025 / 浅底 #FBEAEB | 与 logo 红徽章一致;仅用于品牌标记、官方身份、公告标识与破坏性提示,克制使用 |
| 主色橘红 | #DE5B2F / 深 #B24325 / 浅底 #FDEEE6 | 与狐狸双板配色一致;主按钮、选中态、当天标记、积分进度条、Tab 选中态 |
| 暖辅金橘 | #D87828 / 提亮 #FEBD59 / 浅底 #FFF2D8 | 狐狸 IP 主体色;用于积分钱包、徽标、签到反馈等暖色场景 |
| 冷辅藕荷 | #8DA0FC / 浅底 #EDEFFE / 文字 #5B69C9 | 与官方活动区分:约雪帖标记、次级分区与冷水/竞速感场景 |
| 薰衣草 | #DECEFF | 首页「今日雪况」Hero 实心底色,呼应设计参考图 |
| 底色 / 卡片 | #F6F4F2 页面底 · #F7F4F9 屏底 · #FFFFFF 卡片 | 暖灰底 + 纯白卡片;分区靠实心浅色块,不靠描边 |
| 分隔线 | #F0EAE6 / 加深 #E3DBD4 | 仅用于必要的结构分隔,统一 1px 细线,不使用粗边框 |
| 文字层级 | #231F20 / #7A736E / #A79F99 | 主文(取自字标黑)/ 次要 / 弱化三级灰阶 |
| 状态色 | #3F7D55 成功 · #B8862F 警示 · #B4443A 危险 | 仅用于状态语义,不与主色混用 |
形态与排版
- 圆角:卡片 / 面板统一 20px,输入框 14px,按钮与所有胶囊、标签为全圆角(999px)。
- 分区:卡片一律无描边,靠「纯白底 + 极浅投影」从底色上浮起;组内二级分区用实心浅色块(橘 / 藕荷 / 琥珀三色浅底),不使用粗线条与重投影。
- 字体:系统字体(-apple-system / PingFang SC / 微软雅黑),数字统一等宽对齐(tabular-nums),保证积分、人数、日期等数字纵向对齐、读数清晰。
- 顶部栏:固定 56px(红徽章标记 + 名称 + 红色副标题),右侧为模式切换与版本标签;文档区标签栏吸顶紧随其下,背景同色不留缝隙。
- 底部导航:悬浮白色药丸(左右各留 13px 内缩、距底 13px),四项等分(首页 / 雪历 / 约雪 / 我的),线性 SVG 图标 + 文字;选中态为橘红浅底 + 主色文字加粗,不预留空位。
- 焦点态:键盘聚焦统一主色描边 + 2px 偏移,保证可访问性。
组件约定
- 快捷筛选(胶囊):未选为 白底 + 极浅投影;选中为主色实心 + 白字,一眼可辨当前筛选。
- 雪历:日期为圆形胶囊;有内容的日期给胶囊浅底,「今天」用主色浅底,选中日期为主色实心 + 白字并让所在单元格浮起为白卡;官方活动实心点(品牌红)、自发活动空心点、约雪帖藕荷色点——三态颜色区分,不用形状区分。
- 成员身份标签:群管理员(品牌红浅底加粗)、VIP(主色浅底加粗)、SIP(藕荷浅底)、俱乐部校友(白底虚线框),四类一眼可辨且不代表等级。
- 狐狸 IP 落位:首页「今日雪况」Hero 为薰衣草实心底 + 右下角狐狸单板插画(叠眉标「今日雪况」);空状态用狐狸单板水印;积分钱包用狐狸双板水印——只在功能性场景出现,不做纯装饰堆砌。
- 头像:统一圆形,未上传时退回昵称首字圆牌;上传后自动压缩为小图。
核心旅程
旅程 A · 找搭子并成行
恢复路径:发起人拒绝 / 帖子过期自动关闭 / 申请人超时未确认名额自动释放 / 成员撤销申请 / 举报后被下架。
旅程 B · 参加活动并打卡拿积分
恢复路径:未报名无法签到 → 现场扫码/人工补签申请;扫码失败 → 重试;重复签到 → 拦截并提示;报名后临时去不了 → 取消报名(名额释放)。
关键产品决策
| 问题 | 决策 | 理由 |
|---|---|---|
| 配对发布门槛高、没人发帖怎么办 | 以「雪场 + 日期」为最小发布信息,其余选填;雪场详情页提供「发布该雪场约雪」一键入口 | 降低发帖成本,让雪场页自带供给 |
| 配对按「期 / 批次」组织吗 | 不按期次。最小匹配维度是「雪场 + 日期(+ 时段)」,同一雪场同一天的人即为同场雪友;只有俱乐部活动(Event)带「场次」概念,由领队创建并维护名额与签到。雪历把两类条目放在同一条时间轴上 | 雪友的档期是自由组合的,硬分期次会让「临时想滑一次」约不到人;按雪场+日期配对最贴近真实约雪方式 |
| 如何避免「约了不去」 | 约雪帖有明确状态机与人数上限、申请人需发起人确认、结束后互评形成信用记录 | 用轻量信用机制替代强制押金 |
| 签到如何既方便又可防作弊 | 现场动态二维码 + 到场定位校验 + 一人一活动限一次 + 领队可人工补签核销 | 纯二维码可被远程转发,叠加定位与人工兜底 |
| 积分会不会引发纠纷 | 积分只做「签到/贡献/成行」的记账,不做可转让资产;每条积分都有明细与来源凭证 | 避免积分交易化与套利 |
| 国内国外雪场信息粒度不同怎么办 | 雪场库只承诺「名称、国家地区、大致雪季、标签、俱乐部足迹」为确定信息;雪票/雪道/缆车等定量字段标为待接入,不做推测 | 避免信息失真误导成员决策 |
| 国际雪场时区/雪季差异 | 雪场按当地雪季标注大致月份,国际行程类活动在报名信息中单独标注「需自理机酒」 | 防止成员误判 |
| 成员的「群管理员 / VIP / SIP / 校友」是等级吗 | 不是等级,是标签。等级由积分决定(青铜 / 白银 / 黄金 / 白金)随雪季重置;标签是身份标识,由管理员授予、与积分无关、不随雪季重置、不改变权限,仅用于「一眼认出」 | 用户明确要求「不是等级,是标签」;避免与积分等级混淆,也避免被当成权限凭证 |
| 俱乐部官方活动与成员自发活动要不要分开 | 分开。活动带 kind(official / member):官方活动进积分与签到体系,自发活动默认不计积分;雪历用「实心点 / 空心点」区分,卡片显式标注类型 | 避免成员误以为所有活动都由俱乐部背书、都计积分 |
| 谁可以加入俱乐部 | 不开放公开注册:凭管理员邀请码注册 → 管理员在后台核查 → 通过激活后方可完整使用;待审核期仅可浏览公开内容 | 用户要求「邀请码加入 + 管理员核查才能通过」,保证成员质量与可控 |
| 赞助 / 广告内容如何露出而不混淆 | 独立「合作伙伴」区 + 公告列表内单独归类为「赞助内容」并标注来源与合作方;直达为站外跳转,须符合平台广告合规 | 让赞助有回报、成员得实惠,同时保持官方信息与商业内容的可辨识 |
| 雪场库要不要单独占一个底部 Tab | 不占。取消独立的「雪场」Tab,雪场库并入约雪板块(约雪广场提供「雪场库 · 查看全部雪场」入口,可返回约雪);雪场详情保留,收藏与「同场约雪」已按用户要求移除 | 用户要求「把雪场的整块去掉」,底部导航更聚焦(首页 / 雪历 / 约雪 / 我的,活动已并入首页与雪历);雪场本质是约雪的「选目的地」,并入后动线更顺 |
| 如何保证雪场库能覆盖到「所有雪场」 | 提供「+ 添加雪场」自助入口,仅管理员可用;提交时校验同名同国家重复,通过后即时入库 | 用户要求「有添加雪场的功能,但只有管理员可以使用」,既保证可扩展覆盖,又避免成员随意造数据 |
| 活动海报给谁用 | 海报位仅官方活动可用(管理员上传/替换/移除),自发活动不提供海报位并附说明;海报同时作为转发分享的封面 | 海报承载「俱乐部官方活动的活动内容」,官方背书 + 统一视觉;自发活动保持轻量,不做物料要求 |
| 活动与约雪招募如何扩散 | 活动详情与约雪详情都提供「转发到微信」,一键转发到微信聊天(好友/群),生成分享卡(官方活动用海报作封面) | 用户要求「所有活动和发布约雪的招募都可以一键转发到微信聊天」;降低拉人成本,转化微信社群流量 |
| 雪历的筛选要不要保留「雪场范围」 | 去掉。快捷筛选只保留三档:全部 / 俱乐部活动 / 约雪;雪历内不再按我的雪场 / 国内 / 国外过滤 | 用户要求「快捷筛选只需要看约雪 / 只看俱乐部活动 / 看全部活动三选一,不需要其他」;减少筛选层级,让「哪天有人、哪天有活动」一眼可见 |
| 约雪里怎么快速认出谁是谁 | 「我的」页提供头像上传(约雪广场只展示、不放入口):只需看清即可,客户端统一压缩为小图(长边 ≤160px / JPEG 0.8),上传后同步到约雪卡片与成员列表、活动报名成员、签到核销名单 | 用户要求「保证能看清楚头像就好、不需要大图、要能压缩,并同步到已在约雪或参与的活动中,方便一眼看到谁在参加什么活动」;上传属个人资料维护,放「我的」页让约雪广场保持纯约雪内容 |
| 现场签到谁来扫码核销 | 按活动来源分流:官方发起的活动由管理员核销(后台管理统一展示扫码核销);成员自发活动由发起人核销,管理员亦可核销。成员本人仍可自助扫码签到 | 用户要求「官方发起的活动后台管理都可以展示扫码并核销签到;自己发起的活动由发起人有权限扫码签到,管理员也可以」;既保证官方活动口径统一,又让自发活动能自助闭环 |
| 首页要不要「我的雪场」板块与收藏 | 去掉。首页移除「我的雪场」板块,「收藏 / 取消收藏」在首页、雪场库列表与雪场详情一并移除;顶部情境卡降级为纯展示(主雪场 + 本周约雪人数) | 用户要求「首页不需要我的雪场板块,也不需要收藏和取消,没有用处」;减少无效入口,避免收藏成为空概念(原「我的雪场」= 已收藏) |
| 要不要「同场约雪」功能 | 去掉。首页「同场约雪」列表页面移除,雪场详情页的「同场约雪」区块一并移除;按雪场看约雪统一走「约雪」板块的雪场筛选与雪历 | 用户要求「不需要同场约雪这个功能」;该功能与约雪广场/雪历重复,删掉后动线更单一 |
| 活动要不要独立的底部 Tab 与列表页 | 去掉。活动不再占用底部 Tab(底部导航为 首页 / 雪历 / 约雪 / 我的),也不再有独立的「活动列表」页与「全部 / 官方 / 自发」筛选;活动只从首页「近期活动」与雪历(快捷筛选「俱乐部活动」或当日条目)进入详情 | 用户要求「雪历和活动重复了,活动整个板块单独的入口都可以去掉,保留首页的所有活动以及雪历里的活动」;活动本质是「某天在某雪场的一件事」,与雪历同源,合并后入口不重复、动线更单一 |
| 合作方 / 赞助商信息由谁维护 | 仅管理员。合作伙伴页只做展示;新增 / 编辑 / 下架合作方仅管理员可操作(后台统一维护),成员不可自行上传任何合作方信息 | 用户要求「赞助商板块只有管理员可以维护,不能自己上传信息」;保证商业内容来源可控、合作授权与广告合规可追溯 |
角色与对象模型
| 角色 | 可见范围 | 可执行操作 | 限制 |
|---|---|---|---|
| 成员 | 已发布的约雪帖、公开活动、自己的积分明细 | 发布/申请/撤销/互评、报名活动、签到、上传头像、兑换、核销自己发起的自发活动签到 | 不可核销官方活动的签到、不可修改他人头像、不可配置积分规则 |
| 领队 | 其负责活动的全部报名与签到数据 | 创建活动、生成签到码、人工补签、扫码核销自己负责活动的签到、撤销异常积分 | 仅限自己负责的活动 |
| 俱乐部管理员 | 全量数据与配置 | 雪场库维护、积分规则与奖励配置、成员审核与封禁、核销全部活动签到(官方活动可在后台管理统一核销) | 积分规则变更仅对新产生的积分生效 |
对象的创建者与生命周期归属:约雪帖由成员创建、成员(发起人)关闭、系统在过期时自动关闭;活动由领队创建、管理员可强制下架;打卡记录与积分由系统生成,领队可撤销,成员不可编辑。
雪场数据覆盖范围(国内外主流雪场)
雪场库是配对与选目的地的公共底座。下列为种子清单(按区域分组,作为首期录入范围),字段只填确定信息,不做定量推测。
国内
| 区域 | 代表雪场 | 雪季(大致) | 备注 |
|---|---|---|---|
| 京津冀 · 崇礼 | 万龙、云顶、太舞、富龙、翠云山银河 | 11 月 – 次年 4 月 | 俱乐部主力目的地,需优先录入并维护活动足迹 |
| 北京周边 | 南山、怀北、军都山、渔阳、石京龙、西山 | 12 月 – 次年 3 月 | 适合新手教学日、夜场活动 |
| 吉林 | 北大湖、万科松花湖、长白山万达、长白山鲁能、庙香山 | 11 月 – 次年 4 月 | 适合多日行程、拼房拼教练 |
| 黑龙江 | 亚布力、帽儿山 | 11 月 – 次年 3 月 | — |
| 新疆 | 阿勒泰将军山、可可托海、禾木吉克普林、丝绸之路国际 | 11 月 – 次年 4 月(部分可至 5 月) | 国内野雪与高海拔代表,需在活动说明中标注交通难度 |
| 其他 | 陕西太白鳌山、四川西岭雪山、云南玉龙雪山、内蒙古美林谷 | 随纬度差异较大 待校准 | 逐条录入时确认 |
国外
| 区域 | 代表雪场 | 雪季(大致) | 备注 |
|---|---|---|---|
| 日本 · 北海道 | 二世谷(Niseko)、留寿都、富良野、喜乐乐、札幌手稻 | 12 月 – 次年 5 月 | 国内雪友最集中的海外目的地,宜先做深 |
| 日本 · 本州 | 白马八方尾根(长野)、志贺高原、妙高、藏王(山形)、苗场 / 汤泽(新潟) | 12 月 – 次年 4 月 | — |
| 韩国 | 龙平、阿尔卑西亚(平昌)、维瓦尔第公园 | 12 月 – 次年 3 月 | 飞行距离短,适合周末跨境 |
| 法国 | 霞慕尼、三山谷、拉普拉涅、蒂涅 | 12 月 – 次年 4 月 | 欧洲经典大区 |
| 瑞士 | 采尔马特、圣莫里茨、韦尔比耶、少女峰区域 | 12 月 – 次年 4 月(高海拔可至 5 月) | — |
| 奥地利 | 圣安东、基茨比厄尔、因斯布鲁克周边、索尔登 | 12 月 – 次年 4 月 | — |
| 意大利 | 多洛米蒂 / 科尔蒂纳、利维尼奥 | 12 月 – 次年 4 月 | — |
| 加拿大 | 惠斯勒、班夫(Sunshine / Lake Louise) | 11 月 – 次年 4 月(部分至 5 月) | — |
| 美国 | 阿斯彭、帕克城、杰克逊霍尔、太浩湖(Palisades / Heavenly)、猛犸山、Vail | 11 月 – 次年 4 月 | — |
| 南半球 | 新西兰(皇后镇 / 瓦纳卡:Coronet Peak、Cardrona 等)、澳大利亚(Perisher / Thredbo) | 6 月 – 9 月 | 反季滑雪需求,用于「夏天去哪滑」场景 |
| 其他 | 俄罗斯索契、瑞典 Åre、挪威 Trysil | 随纬度差异较大 待校准 | 逐条录入时确认 |
雪场库的数据来源与更新机制
| 字段 | 来源 | 更新方式 | 状态 |
|---|---|---|---|
| 名称、国家/地区、所属区域 | 管理员录入 | 人工维护 | 确定 |
| 大致雪季、适合水平、标签(野雪/夜场/新手友好等) | 管理员录入 + 成员纠错 | 成员可提交纠错,管理员审核 | 确定(标注为大致) |
| 俱乐部足迹(本雪季活动次数、到访成员数) | 系统由活动与签到数据自动统计 | 实时 | 确定 |
| 雪票价格、雪道数量、缆车数量、开放状态 | — | 需接入官方渠道或人工定期录入 | 待接入 |
功能索引
FR-01 首页与今日入口
目的:让成员打开小程序就能回答「这周末去哪滑、和谁滑」,并把三种高频动作(约雪、找搭子、扫码签到)放在第一屏。
页面结构:顶部为情境卡(主雪场 + 本周约雪人数,纯展示不承载收藏);情境卡下方为公告条(置顶公告 + 「查看全部公告与通知」入口,FR-15);中部为三个快捷入口(约雪 / 找搭子 / 扫码签到),并另设「打开雪历 · 看哪天有人」入口(FR-12);其下依次是「近期活动」列表(FR-07,卡片直接进活动详情,「全部 ›」跳雪历并预选「俱乐部活动」)、「合作伙伴」露出区(FR-16)。
触发与处理:打开首页时按成员档案中的常去雪场读取该雪场本周的进行中约雪帖数量与近期活动;若成员尚未设置常去雪场(新用户),情境卡改为引导设置,快捷入口保持可用。
结果与状态变化:首页不产生业务状态变更,仅作为跳转枢纽;点击任一卡片携带上下文进入对应详情页。
边界:首页不设「我的雪场」板块与收藏功能(已移除);无近期活动时显示「暂无活动」。
FR-02 雪场库检索与管理(并入约雪板块)
目的:作为配对与目的地决策的公共底座,覆盖国内外主流雪场,支持快速定位;并能持续补充雪场,保证「能找到所有雪场」。
入口与范围:雪场库不再作为独立底部 Tab,统一并入「约雪」板块 —— 成员在约雪广场通过「雪场库 · 查看全部雪场 ›」进入,均可返回约雪广场。
触发:成员从约雪广场的雪场库入口进入。
处理规则:支持按名称、城市、国家模糊搜索;支持「全部 / 国内 / 国外」分组切换;列表项展示雪场名、国家·地区、标签(大致雪季、适合水平、是否野雪/夜场)。搜索无结果时展示空状态与「提交新增雪场申请」引导。
添加雪场(仅管理员):为覆盖所有雪场,雪场库提供「+ 添加雪场」入口,仅管理员可用;字段为雪场名(必填)、国家(必填)、区域分组(国内/国外)、省市·地区、大致雪季、标签(逗号分隔)。提交时校验必填与同名同国家重复,通过后置顶加入雪场库并回到雪场库列表。普通成员无此入口,只能提交申请、由管理员录入。
结果:点击卡片进入雪场详情。不提供收藏/取消收藏(已移除,雪场库仅作检索与目的地决策)。
字段:雪场名(必填)、国家/地区(必填)、区域分组、大致雪季、标签(多选)、适合水平、状态(上架/下架)。定量字段见「雪场库的数据来源与更新机制」。
例外:重复雪场(同名同国家)不允许新增,提交时提示已存在并引导直接搜索使用。新增雪场是否需要二次复核、覆盖策略待确认(见待确认项 Q12)
FR-03 雪场详情
目的:让成员看清「这个雪场什么情况」,并能直接以该雪场发起约雪。
处理规则:详情页固定展示名称、国家·地区、大致雪季、适合水平、俱乐部足迹(本雪季活动次数,由系统统计)。不再提供「同场约雪」列表与收藏按钮(已移除;按雪场看约雪统一走「约雪」板块的雪场筛选)。
结果:「以该雪场发起约雪」会以该雪场预填发布表单。
边界:定量字段未接入时展示「待接入」说明,不显示推测数值。
FR-04 发布约雪帖
目的:用最小必填项让成员快速发出邀约,降低社群配对的摩擦。
触发:成员点击首页「约雪」、约雪广场「发布约雪」、或雪场详情的「发布该雪场约雪」(预填雪场)。
处理规则:必填为「雪场」「日期」;日期必须为今天及以后;时段可选(全天/上午/下午/夜场);补充说明为自由文本(上限见共享规则)。约雪帖定位为轻量发布帖,不设玩法标签、水平要求与计划人数——拼车、拼房、带新手等诉求在补充说明与评论区自行沟通。提交时校验必填与日期,通过后生成新帖子,初始状态为「招募中」,并将发起人计入成员列表第 1 位。
结果与状态变化:发布成功提示「已发布」并跳转约雪广场,新帖置顶;同时向「常去该雪场」的成员推送提醒(通知规则见共享规则)。
例外:必填缺失或日期早于今天时,保留已填内容并在表单内提示错误,不跳转。
FR-05 约雪广场与筛选
目的:让成员在 3 个条件内找到可加入的邀约。
处理规则:默认按「日期升序 + 近期活跃优先」排序;筛选器为雪场、日期、玩法、水平四个维度,可组合;默认仅显示状态为「招募中」的帖子,「已成行 / 已满 / 已关闭 / 已过期」需显式切换显示或通过状态标签识别。
结果:点击卡片进入约雪详情;筛选项与卡片状态标签一一对应,标签颜色与规则章节中的状态机一致。
边界:筛选无结果时展示空状态 + 「清除筛选」与「发布约雪」两个动作。
FR-06 申请加入与确认成行
目的:完成一次邀约的确认闭环,并让「有没有成行」这件事在页面上一目了然。
处理规则:成员点击「申请加入」后,申请进入待确认;发起人(或领队)确认后,申请人进入成员名单,人数达到上限则帖子变为「已满」,发起人可继续确认至满员或直接标记「已成行」。成行后双方可交换联系方式(仅对已成行帖子成员可见)。
状态变化:招募中 → (有人申请)待确认 → 已成行 / 已满;发起人可主动「结束并评价」→ 已关闭;到达活动日期次日 02:00 仍未满员 → 已过期(自动关闭)。
权限:仅发起人可确认/拒绝/关闭帖子;申请人只能撤销自己的申请;已成行后成员可「退出该邀约」,退出后帖子回到「招募中」并通知发起人补位;非本雪场成员也可申请(本版不限制跨雪场)。
例外与恢复:申请被拒绝 → 提示原因(可选填)并允许再次申请其他帖子;名额已满 → 申请按钮置灰并提示「已满员」,可「订阅名额释放提醒」;帖子已过期 → 只能查看不能申请;举报 → 提交后帖子进入待审核,严重违规由管理员下架。
FR-07 活动报名与取消
目的:把俱乐部线下活动的报名、名额与积分关系固定下来,为签到提供前置条件。
入口:活动不设独立的底部 Tab 与列表页(活动与雪历在「按时间看安排」上重复,已合并)。成员只从两处进入活动:①首页「近期活动」卡片;②雪历(快捷筛选切到「俱乐部活动」,或在某日条目列表中点活动卡片)。两处都直接进入活动详情(page-event)。
处理规则:活动卡片展示名称、雪场、日期、报名进度(已报名/上限)、可获得积分、状态(报名中/已满/已结束)。报名成功后按钮变为「去签到」,并生成报名凭证(用于扫码失败时人工核销)。取消报名会立即释放名额。
结果与状态变化:未报名 → 已报名 → (到场)已打卡;活动结束后活动状态变为「已结束」,未打卡的报名自动标记为「缺席」。
权限:仅领队/管理员可创建与编辑活动;成员仅可报名/取消自己。
例外:活动已满 → 报名按钮置灰并提示;活动已结束 → 不再接受报名,仅展示历史记录;国际行程类活动需在报名前展示「需自理机票酒店」确认项。
FR-08 现场签到打卡
目的:在活动当天以最低操作成本生成可信的到场记录,作为积分入账的唯一依据。
处理规则:成员进入签到页后扫描现场动态二维码;系统依次校验:①是否已报名该活动;②是否在签到时间窗口内;③定位是否在雪场围栏内;④该成员是否已签到过。四项全部通过则生成打卡记录,并按下述规则计算积分入账。
结果与状态变化:生成打卡记录(时间、活动、校验结果)→ 积分账户新增一条明细 → 积分余额与等级进度即时更新 → 页面展示「签到成功 +N 分」。
失败与恢复:①未报名 → 阻断并引导去活动页报名;②不在时间窗口 → 提示可用时间段(该情况不计分);③定位不在围栏 → 提示重试或走人工补签;④重复签到 → 提示已签到并展示首次签到时间,不重复计分;⑤扫码失败/网络异常 → 重试,重试仍失败则「申请人工补签」,由领队核销报名凭证后入账。
防作弊:动态二维码(每场活动独立、限时)+ 定位围栏 + 一人一活动限一次 + 领队可核销与撤销,详见共享规则「活动与签到规则」。
核销角色差异(按活动来源分流):签到记录有两个来源 —— 成员自助扫码签到(本人操作,仅限已报名成员)与组织方扫码核销(现场由组织方扫描成员凭证/由成员扫描组织方签到码,标记到场)。核销权限按活动来源区分:官方活动由管理员核销,并可在「管理后台」统一展示与扫码核销;成员自发活动由发起人核销,管理员亦可核销。详见 FR-21 与共享规则「头像与核销规则」。
FR-09 积分账户与明细
目的:让每 1 分都有来源、时间和凭证,消除「积分算错了」的争议。
处理规则:展示可用积分余额、等级与升级进度、按「本雪季 / 本周」切换的明细列表。每条明细含:时间、来源类型(活动签到/连续参加加成/带新人/约雪成行/内容贡献/人工补签/撤销)、关联对象(活动或帖子)、变动分值。
结果与状态变化:积分只随业务事件变化,成员不可手动增减;余额不足以兑换时,兑换页按钮置灰。
权限:成员仅可见自己的账户;领队可对待核实的积分发起撤销(撤销以负值明细记录,原记录保留)。
例外:账号被封禁期间,积分冻结不可兑换与转出,解封后恢复。
FR-10 奖励兑换 P1 · 依赖奖励预算
目的:把积分转化成成员能感知的实际好处(雪票折扣、装备、俱乐部周边、教练课时、活动优先报名权)。
处理规则:奖励由管理员配置(名称、所需积分、库存、是否限雪季、说明)。兑换为不可逆操作:需二次确认,确认后立即扣分并生成兑换凭证(含兑换码/领取说明),同时生成一条负值积分明细。
结果与状态变化:积分余额与库存同步减少;兑换记录可在「我的」中查询。
例外:积分不足 → 按钮置灰并显示「还差 N 分」;库存为 0 → 显示「已兑完」;兑换后按指引线下领取,若奖励未履约需在管理员侧登记并退回积分(以正值明细补偿)。
FR-11 个人档案与信用评价
目的:提供配对所需的水平信息与「这人靠谱吗」的判断依据。
处理规则:档案包含昵称、滑雪水平(新手/中级/高手)、常去雪场(可多选)、成员状态(已激活 / 待审核,含加入方式与核查人,见 FR-17)、身份标签(群管理员 / VIP / SIP / 俱乐部校友,由管理员授予,与等级无关,见 FR-13)、数据统计(出勤次数、打卡次数、搭子数、积分)、我的约雪帖、我的活动记录、信用与评价。我的头像(可上传 / 更换,上传入口就在本页,见 FR-20)。水平与常去雪场可自行编辑,且决定首页情境与匹配展示。
结果:修改常去雪场后,首页情境卡(主雪场 + 本周约雪人数)与约雪推送范围随之改变。
信用规则:约雪成行结束后,成员可对同行人发起一次评价(守信/守时/友好);评价不公开自由文本,仅累计为信用分并展示达标率。多次失约将被标记(阈值见共享规则)。
例外:同一帖子同一人员仅可评价一次;举报或争议评价由管理员仲裁。
FR-12 雪历(按时间找同场雪友) P0 支撑
目的:回答「不同的时间有哪些活动、哪些雪友在哪里」。约雪帖与活动都是「某一天在某雪场发生的事」,成员在决定自己的档期时,需要一个按时间轴俯瞰全俱乐部的视图,而不是逐个雪场翻列表。
匹配维度:配对不按「期 / 批次」组织,而是以 雪场 + 日期(+ 时段) 为唯一匹配维度 —— 同一雪场同一天的人自然成为「同场雪友」。只有俱乐部组织的线下活动(Event)带有「场次」概念,由领队创建并单独维护名额与签到。雪历把这两类条目放在同一条时间轴上。
触发:底部导航「雪历」,或首页顶部的「打开雪历 · 看哪天有人」入口。
页面结构:月历(周一为第一列,显示当月网格,日期格内以三类圆点区分「官方活动 / 自发活动 / 约雪帖」,并标注当日条目数)· 月份切换(‹ / ›)· 快捷筛选(仅三项:全部 / 俱乐部活动 / 约雪) · 选中日详情列表。
处理规则:聚合「未关闭 / 未过期」的活动与约雪帖,按 MM-DD 落到日历格内;活动按类型以两种圆点区分(官方活动=橘红实心、自发活动=橘红空心,见 FR-14),约雪帖为灰色实心点;点击某日,下方列出该日全部条目(活动在前、约雪帖在后),点条目直接进入对应的活动详情或约雪详情。首页「近期活动 · 全部 ›」也进入雪历并自动把快捷筛选切到「俱乐部活动」。默认进入时定位到最近一个有内容的月份,并选中该月首个有内容的日期;若当月没有任何条目,显示空状态并引导切换筛选或月份。今天所在的日期格额外高亮。
结果与状态变化:雪历本身不写入业务数据;它读取成员发布/报名的结果。发布新约雪帖或报名活动后,对应日期格与当日列表同步更新。
权限:所有成员可见全部俱乐部活动与「招募中」的约雪帖;已关闭 / 已过期的帖子不进入日历聚合(只保留在各自详情中作为历史记录)。
快捷筛选:只保留三档 —— 全部(活动 + 约雪)、俱乐部活动(仅官方 / 自发活动)、约雪(仅约雪帖)。不再提供雪场范围筛选(我的雪场 / 国内 / 国外);成员若想按雪场查看,走「约雪」板块的雪场筛选。
边界:当月无条目 → 空状态;筛选后无结果 → 同为空状态提示;非当季月份(如夏季)无数据 → 正常月历 + 空状态,不显示其他雪季的条目。
FR-13 成员标签体系(身份标识)
目的:让管理员与成员在翻看名单、约雪成员列表时,一眼认出某个人的身份,而不必点开个人档案。
标签 ≠ 等级(关键区分):等级由积分决定(青铜 / 白银 / 黄金 / 白金),是「滑了多少」的度量;标签是身份标识,是「你是谁」的标识,由管理员授予,与积分无关、不随雪季重置。二者可并列展示(示例:个人档案同时显示「白银滑手」等级与「VIP」标签)。
标签集合(本版确认的四类):群管理员 VIP SIP 俱乐部校友。其中「SIP」的确切含义与获得条件 [TBD](疑似超级会员 / SVIP),需俱乐部明确后写入配置。
展示位:①个人档案头像卡下方;②约雪详情的成员列表(含发起人);③管理后台的待审核申请列表。
处理规则:一个成员可同时持有多个标签;标签由管理员授予与撤销,成员不可自设;标签只影响展示识别,不改变权限 —— 权限仍由角色(成员 / 领队 / 俱乐部管理员)决定(见共享规则「角色与权限矩阵」)。标签变更即时生效,历史约雪帖与活动记录不回写。
边界:无标签的成员不显示占位标签(或显示「暂无身份标签」),避免视觉噪音;标签样式需在深浅背景下都可辨识。
FR-14 官方活动与自发活动
目的:把「俱乐部官方组织的活动」与「成员自己发起的活动」分开,避免成员误以为所有活动都由俱乐部背书、都计入积分,并让雪历一眼能区分两类。
类型字段:活动带 kind 字段,取值 official(官方) 或 member(自发)。
官方活动:由领队 / 管理员创建,代表俱乐部组织;进入积分体系(报名 → 现场扫码签到 → 打卡记录 → 积分入账 → 缺席判定),并可配置签到积分。
自发活动:由成员发起,用于集合与报名(如拼车、夜场约伴),默认不计积分 [TBD](是否允许俱乐部为个别自发活动补记积分需另行确认),不进入签到积分与缺席判定;但同样展示在首页「近期活动」与雪历。
雪历区分:官方活动=橘红实心点、自发活动=橘红空心点、约雪帖=灰色实心点;条目卡片的类型标签同步展示「官方活动 / 自发活动 / 约雪」。
筛选与权限:活动不设独立的类型筛选列表;按来源区分改由两处承载——雪历快捷筛选切到「俱乐部活动」可只活动视图,卡片与详情「主办」行显式标注「官方 / 成员自发」。仅领队 / 管理员可创建官方活动,成员可发起自发活动;管理员可下架任意活动。
边界:官方活动满员后按钮置灰;自发活动不计积分时卡片需显式标注「不计积分」,避免成员按官方预期参与。
FR-15 公告与官方通知
目的:给俱乐部一个统一的官方发声位置,让成员不错过重要通知;同时为赞助 / 广告内容提供一个合规、可辨识的载体。
页面结构:①首页顶部公告条(展示最新一条置顶公告,点击进入详情,附「查看全部公告与通知 ›」入口);②公告列表(筛选「全部 / 官方公告 / 赞助内容」);③公告详情(标题、来源、时间、正文;若为赞助内容,附「相关合作方」卡与直达入口)。
处理规则:公告由管理员发布,可设置置顶;置顶公告优先在首页公告条展示,其余按时间倒序;赞助类内容必须将来源标注为「赞助内容」,并带合作方归属。
权限:仅管理员可发布 / 置顶 / 下架公告;所有成员可查看。公告本身不产生积分或状态变更。
边界:无公告时列表空状态;赞助内容必须可辨识(来源标注 + 合作方信息),不与应用内公告混淆。发布审核与广告合规规则待确认
FR-16 赞助商露出与直达
目的:给合作 / 赞助方一个稳定、克制的展示位,并把成员顺畅导向合作方权益,让赞助有回报、成员得实惠。
页面结构:①首页「合作伙伴」横向露出(卡片显示名称、权益、直达文案);②合作伙伴页(每张卡:名称、权益、说明、「权益 / 直达」按钮);③公告详情内嵌的「相关合作方」卡。
处理规则:合作方资料(名称、权益、说明、目标链接、有效期)由管理员维护;露出位显式标注「合作方 / 赞助」;「直达」动作跳转合作方页面(站外跳转与广告标识需符合平台合规)。
权限:仅管理员可新增 / 编辑 / 下架合作方(原型 page-sponsors 底部「维护合作方 · 仅管理员」入口);成员不可自行上传任何合作方信息,仅可查看与点击直达。
边界:无合作方时首页该区不展示或显示占位;合作权益的具体规则(折扣力度、有效期、领取方式)以合作方公示为准,俱乐部仅作信息展示。投放位数量、结算与合规规则待确认
FR-17 管理后台与成员准入
目的:把「谁能加入俱乐部、以什么身份加入」管起来 —— 成员必须凭管理员邀请码注册,并经管理员核查(审核)通过后才能完整使用;同时为管理员提供邀请码与标签授予的操作台。
准入流程(状态机):未注册 → 凭邀请码提交注册(状态「待审核」)→ 管理员在后台核查(核对邀请码来源、水平、身份)→ 通过并激活(状态「已激活」)或 拒绝(状态「未通过」)。待审核期间成员仅可浏览公开内容,不可发布约雪、报名活动或签到。
页面结构:管理后台页含两块 —— ①邀请码:展示码、已用 / 上限、有效期,支持「生成新邀请码」;②待审核申请:每行显示昵称、水平、邀请码来源、申请时间,附「通过并激活 / 拒绝」动作。
处理规则:邀请码有有效期与使用次数上限,用尽 / 过期后不可再用于注册;同一申请仅有「待审核」一个可操作态,通过或拒绝后从队列移除;通过后成员进入「已激活」,可被授予标签。
权限:管理后台仅群管理员 / 俱乐部管理员可见;成员标签授予、雪场库维护、积分规则与奖励配置、成员封禁均在此收口(见共享规则)。
边界:邀请码过期 / 用尽 → 注册入口提示且不生成待审核申请;待审核申请积压 → 后台在「待审核」计数上提示。邀请码有效期、单码次数上限、是否需要总管理员复核待确认
FR-18 官方活动海报上传
目的:俱乐部官方活动需要一张能一眼看懂「活动是什么、什么时候、怎么参加」的视觉物料,便于上传活动内容与后续分享。
触发:管理员/领队进入官方活动详情页(page-event),在活动信息下方的「海报」区操作。
处理规则:海报区仅在官方活动展示;成员自发活动不提供海报位(附说明文案)。未上传时显示「未上传海报」占位与「上传海报」按钮;已上传后展示海报图,并提供「替换海报 / 移除海报」。支持上传图片文件,本地读取为图片数据(自包含演示,不发起网络请求)。上传/移除即时刷新详情页。
权限:仅管理员可上传 / 替换 / 移除海报;普通成员仅可查看已上传海报。
结果与状态变化:海报随活动一起展示,并在转发分享时作为分享卡封面使用(见 FR-19);移除海报后回到未上传状态。
边界:无海报时不阻断活动报名;海报内容需符合活动发布规范。海报尺寸建议、内容审核口径待确认(见待确认项 Q13)
FR-20 成员头像上传与同步 P0 支撑
目的:在约雪/活动场景里,让成员一眼看清谁是谁、谁在参加什么活动——头像比昵称更快被识别。
入口:「我的」页(page-profile)头像卡下方的「上传我的头像」区块(头像 + 上传/更换按钮 + 压缩说明);约雪广场不再放上传入口(只展示成员头像),约雪板块因此保持纯约雪内容。约雪帖、活动名单与我的页使用同一头像。头像非必填,未上传时按昵称首字生成默认头像。
处理规则(压缩):头像只需看清即可,不需要大图。成员选择相册/拍照图片后,客户端统一压缩:等比缩放到长边 ≤ 160px,转 image/jpeg 质量 0.8 后再上传/存储,避免占空间与拖慢列表。压缩在本地完成(原型中以 canvas 实现;无 canvas 能力时回退原图,保证流程不中断)。支持重复上传替换(即「更换头像」)。
同步范围:头像上传后即时同步到 —— ①约雪广场卡片与约雪详情成员列表(含发起人;已加入的本人显示「我」标识);②活动详情的报名成员头像行(超出展示上限折叠为「+N 人」);③签到核销台的报名成员名单;④「我的」页头像卡与首页/个人档案场景。即「谁在参加什么活动」在列表与详情中都能一眼看到。
权限:成员仅可上传/更换自己的头像,不可修改他人头像。头像为公开信息,展示于俱乐部内的约雪帖与活动名单。
边界:上传失败 → 提示重试并保留原头像;头像尺寸上限(如原图 ≤ 5MB)、是否做内容审核(涉黄/违规头像)待确认。
FR-21 签到核销(扫码核销与权限) P0 支撑
目的:让现场签到可以被组织方统一扫码核销,解决成员本人扫码失败、网络不佳或到场但未签到的情况;同时明确谁有权核销,避免误核销。
权限规则(按活动来源分流,本版确认):①官方发起的活动 → 管理员可核销;后台管理(page-admin)展示官方活动的「签到核销」区块,管理员可在此进入核销台统一扫码核销。②成员自发的活动 → 发起人可核销;管理员同样可以核销。普通成员对本活动无核销权限。
入口:①活动详情页(page-event)出现「扫码核销签到(管理员 / 发起人 / 管理员)」按钮(仅在当前账号有权限时显示);②后台管理(page-admin)的「签到核销 · 官方活动」区块列表,每条含「扫码核销签到」按钮;③核销台页面(page-verify)。
处理规则:核销台展示活动基本信息(标题/日期/雪场)、签到码(每场活动独立)、核销进度(已核销 N / 报名 M 人)与报名成员名单(带头像、逐人「核销签到」按钮)。组织方扫成员凭证或点名单逐人核销 → 该成员标记为「已核销」并计入出勤;成员本人自助扫码签到成功后同样进入核销名单并标记已核销,避免重复。重复核销被拦截并提示。
结果与状态变化:核销写入打卡记录(时间、活动、核销人、被核销人),刷新核销进度;官方活动按签到积分规则入账(见 FR-08 / FR-09),自发活动默认不计积分。核销台无权限时按钮禁用并提示「无核销权限」。
边界:核销凭证形式(动态二维码有效期、是否叠加定位围栏)、核销是否可撤销待确认。
角色与权限矩阵
| 能力 | 成员 | 领队 | 俱乐部管理员 |
|---|---|---|---|
| 发布/申请/撤销约雪帖 | ✓(自己的) | ✓ | ✓ |
| 确认/拒绝申请、关闭帖子 | 仅自己发起的帖 | 仅自己发起的帖 | ✓(含强制下架) |
| 创建/编辑活动 | ✗ | ✓ | ✓ |
| 生成签到码 / 人工补签 | ✗ | 仅自己负责的活动 | ✓ |
| 签到核销 · 官方活动 | ✗ | ✓(仅自己负责的官方活动) | ✓(后台管理统一核销) |
| 签到核销 · 成员自发活动 | ✓(仅自己发起的活动) | ✓(自己发起的) | ✓(全部) |
| 上传 / 更换我的头像 | ✓(仅本人) | ✓(仅本人) | ✓(仅本人) |
| 撤销异常积分 | ✗ | 需管理员复核 | ✓ |
| 配置积分规则与奖励 | ✗ | ✗ | ✓(仅对新积分生效) |
| 维护雪场库 | 可提交纠错/新增申请 | 可提交纠错 | ✓(审核) |
| 新增雪场(雪场库「+ 添加雪场」) | ✗(仅可提交申请) | ✗ | ✓(含同名同国家查重) |
| 上传 / 替换 / 移除官方活动海报 | ✗(仅可查看) | ✓(仅自己负责的官方活动) | ✓ |
| 转发活动 / 约雪帖到微信聊天 | ✓ | ✓ | ✓ |
| 成员审核与封禁 | ✗ | ✗ | ✓ |
| 生成邀请码 / 审核成员准入(通过·拒绝) | ✗ | ✗ | ✓(仅管理员) |
| 授予 / 撤销成员标签(管理员 · VIP · SIP · 校友) | ✗ | ✗ | ✓ |
| 发布 / 置顶 / 下架公告 | ✗ | ✗ | ✓ |
| 维护合作方 / 赞助商(新增 · 编辑 · 下架) | ✗ | ✗ | ✓ |
| 发起成员自发活动 | ✓ | ✓ | ✓ |
| 创建官方活动(计入积分与签到) | ✗ | ✓ | ✓ |
成员注册采用「邀请码 + 管理员审核激活」:注册后为待审核状态,仅可浏览公开内容,不可发布约雪、报名与签到;审核通过后方可完整使用。
成员准入状态机
成员必须凭管理员邀请码注册,并经管理员核查通过后才能完整使用;准入只有以下状态,不存在「无需审核直接使用」的路径。
| 当前状态 | 触发动作 | 前置条件 | 下一状态 | 成员可见反馈 |
|---|---|---|---|---|
| 未注册 | 凭邀请码提交注册 | 邀请码未过期且未用尽 | 待审核 | 提交后进入「待审核」,提示「等待管理员核查」 |
| 未注册 | 邀请码过期 / 用尽时提交 | — | 未注册 | 注册入口提示「邀请码无效或已用尽」,不生成待审核申请 |
| 待审核 | 管理员核查通过 | 核对邀请码来源与身份 | 已激活 | 收到「审核通过」通知,解锁发布约雪 / 报名 / 签到 |
| 待审核 | 管理员拒绝 | — | 未通过 | 收到「未通过」通知,仅可浏览公开内容 |
| 已激活 | 管理员授予标签 | 成员已激活 | 已激活(标签变更) | 档案与名单上出现对应标签,即时生效 |
| 已激活 | 管理员封禁 | 违规认定 | 封禁(另见异常处理) | 禁止发布 / 报名 / 签到 / 兑换,积分冻结 |
待审核期间成员仅可浏览公开内容,不可发布约雪、报名活动或签到;通过后进入「已激活」,可被授予标签。邀请码有效期、单码次数上限、是否需总管理员复核待确认
成员标签规则
| 标签 | 含义 / 面向 | 授予方式 | 是否影响权限 |
|---|---|---|---|
| 群管理员 | 俱乐部管理团队的可见标识 | 管理员授予 | 否(权限仍由角色决定) |
| VIP | 付费 / 特殊支持成员的身份标识 | 管理员授予 | 否 |
| SIP | 含义待确认(疑似超级会员 / SVIP)[TBD] | 管理员授予 | 否 |
| 俱乐部校友 | 曾参与 / 曾为俱乐部核心成员的身份标识 | 管理员授予 | 否 |
标签 ≠ 等级:等级由积分决定、随雪季重置;标签是身份标识,由管理员授予 / 撤销,成员不可自设,不随雪季重置,只影响展示识别、不改变权限。一个成员可同时持有多个标签;无标签者不显示占位标签。展示位:个人档案头像卡、约雪详情成员列表、管理后台待审核申请列表。
约雪帖状态机
| 当前状态 | 触发动作 | 前置条件 | 下一状态 | 成员可见反馈 |
|---|---|---|---|---|
| 招募中 | 他人申请加入 | 未满员、未过期 | 待确认 | 申请者看到「待确认」,发起人收到提醒 |
| 待确认 | 发起人确认 | 成员数 < 上限 | 招募中 / 已满 | 申请者进入成员名单并收到「已加入」通知 |
| 待确认 | 发起人拒绝 | — | 招募中 | 申请者收到「未通过」通知,可申请其他帖 |
| 招募中 / 已满 | 发起人标记成行 | 成员数 ≥ 2 | 已成行 | 全体成员看到「已成行」并可查看联系方式 |
| 已成行 | 成员退出该邀约 | 成行后有人退出 | 招募中 | 发起人收到通知,帖子回到招募中需补位 |
| 已成行 / 招募中 | 发起人取消该邀约 | 发起人操作 | 已关闭 | 已申请/已加入的成员收到取消通知 |
| 已成行 | 结束并评价 | 活动日期已过 | 已关闭 | 进入互评窗口(7 天内可评) |
| 招募中 / 待确认 | 到达活动日期次日 02:00 仍未成行 | 系统定时 | 已过期 | 帖子置灰,仅可查看 |
禁止操作:已成行后不可再新增成员(如需增补须重开新帖);已关闭/已过期帖子不可编辑;任何人不得删除他人帖子。
头像规则
头像用于「一眼认出谁在参加什么活动」,只做小尺寸展示,不承载完整用户资料。上传入口在「我的」页(约雪板块只展示成员头像,不提供上传入口,保持约雪内容纯粹)。
| 项 | 规则 | 状态 |
|---|---|---|
| 上传入口 | 仅「约雪」板块提供上传/更换入口,面向当前登录成员本人 | 确定 |
| 压缩规格 | 客户端压缩后上传:长边 ≤ 160px、JPEG 质量 0.8,保证小尺寸下清晰即可,无需原图 | 尺寸待确认 |
| 编辑权限 | 仅本人可上传/更换自己的头像,管理员不代改;无上传时以昵称首字占位 | 待确认 |
| 同步范围 | 头像一处上传、多处同步展示:约雪广场卡片成员位、约雪详情成员名单、活动详情报名成员、核销台被核销人、我的页 | 确定 |
| 同步时点 | 更换后立即生效,历史帖与活动记录不回写旧头像,始终展示成员当前头像 | 确定 |
头像与身份标签相互独立:标签用于身份识别(见「角色与权限矩阵」),头像用于成员识别,二者都不改变权限。
雪历聚合规则
雪历是只读视图,规则只决定「哪些条目出现在哪一天」,不产生新的业务对象。
| 项 | 规则 | 状态 |
|---|---|---|
| 时间轴单位 | 按「天」聚合,一格一天;月历以周一为第一列 | 确定 |
| 入池条目 | 未关闭的活动(Event)与状态为「招募中 / 待确认 / 已成行 / 已满」的约雪帖;「已关闭 / 已过期」不入池 | 确定 |
| 落格键 | 约雪帖与活动均以「雪场 + 日期」定位到当日格内 | 确定 |
| 雪季归属 | 跨年雪季中,11–12 月属于起始年、1–4 月属于次年;月历只展示当前雪季的条目,不留用其他雪季的数据 | 确定 |
| 快捷筛选(仅三档) | 「全部(活动 + 约雪)/ 俱乐部活动 / 约雪」,为单选互斥;不再提供雪场范围筛选(我的雪场 / 国内 / 国外),成员要按雪场查看请走「约雪」板块的雪场筛选 | 确定 |
| 默认月份 | 进入雪历时定位到「最近一个有内容的月份」;全部为空时回到本月 | 确定 |
| 默认选中日 | 当月第一个有内容的日期;点击其他有效日期即切换 | 确定 |
| 当天高亮 | 与设备当前日期相同的格子额外高亮,仅作提示不改变筛选 | 确定 |
| 条目排序 | 同一天内:俱乐部活动在前,约雪帖在后;组内按创建时间倒序 | 待确认 |
| 点击条目 | 活动 → 活动详情;约雪帖 → 约雪详情(携带该条目上下文) | 确定 |
| 跨雪季月份 | 非本雪季月份(如 6–9 月)正常展示月历与空状态,不显示其他雪季条目 | 确定 |
雪历与「约雪广场」的关系:广场用于按条件筛条目,雪历用于按日期看全局;同一帖子在两处都可达其详情,状态与人数始终以帖子本身为准。
活动与签到规则
| 项 | 规则 | 状态 |
|---|---|---|
| 活动类型 | 分「官方活动(official,领队/管理员创建,进积分与签到体系)」与「自发活动(member,成员发起,默认不计积分、不进入签到与缺席判定)」;雪历以实心 / 空心点区分 | 确定 |
| 签到前置 | 必须已报名且活动处于进行时段 | 确定 |
| 签到窗口 | 活动当天 00:00 – 次日 02:00(覆盖夜场) | 阈值待确认 |
| 定位围栏 | 签到时刻需处于雪场位置围栏内 | 半径待确认 |
| 签到码 | 每场活动独立动态码,限时有效,活动结束后立即失效 | 有效期待确认 |
| 频次限制 | 同一成员同一活动仅可签到 1 次,重复签到不重复计分 | 确定 |
| 人工补签 | 扫码/定位失败时,领队核验报名凭证后可补签,补签需记录操作人 | 确定 |
| 核销权限(按活动来源) | 官方活动:管理员可核销,后台管理统一展示扫码核销;成员自发活动:发起人可核销,管理员亦可核销;普通成员对非自己发起的活动无核销权限 | 确定 |
| 核销与自助签到合并 | 成员本人自助扫码签到成功即视为已核销,进入核销名单并标记,避免组织方重复核销 | 确定 |
| 核销记录 | 每次核销写入打卡记录:时间、活动、核销人、被核销人;核销进度实时展示 | 确定 |
| 缺席判定 | 活动结束后仍未打卡的报名记录标记为「缺席」 | 确定 |
| 失约标记 | 雪季内累计 3 次缺席/失约,配对与报名优先级下降(阈值待定) | 阈值待确认 |
积分规则与计算
| 来源 | 触发条件 | 建议分值 | 上限/限制 |
|---|---|---|---|
| 活动签到 | 签到校验全部通过 | +10 | 同一活动仅 1 次 |
| 境外活动加成 | 活动地点为国外雪场 | ×2 | 与签到分值叠加计算 |
| 连续参加 | 连续 3 场活动均打卡 | +5 | 每雪季最多 5 次 |
| 带新人 | 同行新人首次参加活动并打卡 | +5 | 每个新人限触发 1 次 |
| 约雪成行 | 约雪帖状态达到「已成行」且活动日期已过 | +3 | 每人每日最多 1 次 |
| 内容贡献 | 提交有效雪况/攻略并被管理员采纳 | +5 | 每周最多 3 次 |
| 人工补签 | 领队核验通过的补签 | 同活动签到分值 | 需记录操作人与凭证 |
| 兑换支出 | 兑换奖励成功 | 负值(按奖励配置) | 不可逆,需二次确认 |
| 撤销 | 审核认定异常积分 | 负值(等额冲销) | 保留原记录,另记冲销明细 |
有效期:按雪季周期计算(约 11 月 – 次年 4 月,具体口径 待确认);到期后按「清零」或「按比例结转」处理需俱乐部确认,二者在发布前必须二选一并在规则页公示。
等级:按雪季累计积分划分(示例:青铜 0–99 / 白银 100–499 / 黄金 500–999 / 白金 1000+),等级用于展示与部分奖励的门槛,等级随雪季重置。
字段规则
| 对象 | 字段 | 必填 | 规则 |
|---|---|---|---|
| 约雪帖 | 雪场 | 是 | 必须选自雪场库;不可自定义文本 |
| 约雪帖 | 日期 | 是 | 今天及以后,最长可发布至当雪季结束 |
| 约雪帖 | 时段 | 否 | 全天/上午/下午/夜场 |
| 约雪帖 | 补充说明 | 否 | 自由文本,上限 200 字 待确认 |
| 活动 | 名称/雪场/日期 | 是 | 由领队创建 |
| 活动 | 人数上限 | 是 | 影响「已满」与报名按钮状态 |
| 活动 | 签到积分 | 是 | 默认取积分规则值,领队可对单场活动覆盖(需管理员权限) |
| 奖励 | 名称/所需积分/库存 | 是 | 由管理员配置;库存为 0 时自动下架显示 |
异常、取消、申诉与恢复
| 场景 | 系统行为 | 用户可做什么 |
|---|---|---|
| 报名后临时去不了 | 名额释放,其他成员可报名 | 在活动详情取消报名 |
| 签到定位失败 | 不生成打卡记录,保留已填信息 | 重试,或申请人工补签 |
| 扫码失败(网络/码失效) | 提示失败原因 | 重试;仍失败则走人工补签 |
| 积分有异议 | 保留原始明细与凭证,不直接删改 | 提交申诉,管理员/领队复核后以冲销或补记处理 |
| 约雪帖被举报 | 帖子进入待审核,暂不展示给新申请人 | 发起人可提交说明;管理员判定下架或恢复 |
| 兑换后奖励未履约 | 记录兑换凭证与领取状态 | 成员提交未履约反馈,管理员登记后退回积分 |
| 账号被封禁 | 禁止发布、报名、签到与兑换,积分冻结 | 提交申诉;解封后恢复 |
公告与赞助投放规则
| 项 | 规则 | 状态 |
|---|---|---|
| 公告来源 | 仅管理员发布,「来源」标注为「俱乐部官方」 | 确定 |
| 置顶 | 管理员可置顶;置顶公告优先在首页公告条展示,其余按时间倒序 | 确定 |
| 赞助 / 广告内容 | 归入公告列表的「赞助内容」分类,来源显式标注为「赞助内容」,并带合作方归属;不与应用内公告混淆 | 广告标识与合规口径待确认 |
| 合作方露出 | 首页「合作伙伴」横滑区 + 合作伙伴页;每张卡标注「合作方 / 赞助」,直达按钮跳转合作方页面 | 确定 |
| 站外跳转 | 「直达」为站外 / 合作方页面跳转,需符合微信平台广告与外部链接合规 | 合规规则待确认 |
| 投放位与结算 | 露出位数量、排序、结算方式由俱乐部与合作方约定 | 待确认 |
公告与赞助内容本身不产生积分或状态变更;合作权益(折扣力度、有效期、领取方式)以合作方公示为准,俱乐部仅作信息展示与导流。
雪场库、活动海报与分享规则
| 项 | 规则 | 状态 |
|---|---|---|
| 雪场库归属 | 雪场库不占独立底部 Tab,并入「约雪」板块;入口在约雪广场(「雪场库 · 查看全部雪场」)与首页「全部雪场」,均可返回约雪广场 | 确定 |
| 雪场库覆盖策略 | 以种子清单(国内外主流雪场)为首期范围,并通过管理员「+ 添加雪场」持续补齐,直到覆盖到所有雪场 | 确定 |
| 新增雪场权限 | 仅管理员可使用添加入口;普通成员无入口,只能在搜索无结果时提交申请、由管理员录入 | 确定 |
| 新增雪场校验 | 雪场名、国家为必填;提交时校验同名同国家重复,重复则拦截并提示「已存在,请直接搜索使用」;通过后置顶入库并回到雪场库 | 确定 |
| 雪场删除 | 不提供删除,改为「下架」(不再出现在搜索结果与发布下拉中,历史约雪帖/活动仍保留) | 待确认(见 Q12) |
| 活动海报适用范围 | 海报位仅官方活动(kind=official)展示,单活动 1 张;自发活动不提供海报位并显示说明文案 | 确定 |
| 活动海报权限 | 仅管理员(或该官方活动的领队)可上传 / 替换 / 移除;成员仅可查看 | 确定 |
| 活动海报用途 | 用于活动详情展示,并作为「转发到微信」分享卡的封面(见 FR-19);无海报时分享卡使用默认封面,不阻断转发 | 确定 |
| 一键转发范围 | 活动详情、约雪详情均可「转发到微信」;转发对象为微信聊天(好友 / 群聊) | 确定 |
| 分享内容 | 分享卡只含公开信息(标题、摘要、封面),不含成员联系方式等敏感字段;被分享人点击后进入对应详情,按各自状态机决定能否报名 / 申请 | 确定 |
| 海报尺寸与审核 | 海报尺寸建议、是否需内容审核待定 | 待确认(见 Q13) |
雪场库、海报与分享均不产生积分或业务状态变更;新增雪场、上传海报即时生效并可在详情页看到结果。
通知与提醒时机
| 时机 | 接收人 | 内容 |
|---|---|---|
| 新成员注册(待审核) | 俱乐部管理员 | 「有新的加入申请待核查」,附邀请码来源 |
| 审核通过 / 未通过 | 申请成员 | 结果通知与后续可做的事 |
| 新公告发布 / 置顶 | 全体已激活成员 | 标题摘要 + 查看入口 |
| 新约雪帖发布(同雪场 / 同日期) | 常去该雪场的成员 | 「X 月 X 日有人约 XX 雪场」 |
| 有人申请加入我的帖子 | 帖子发起人 | 申请人水平与说明,提供确认/拒绝入口 |
| 申请被确认 / 被拒绝 | 申请人 | 结果与后续动作 |
| 活动开始前 24 小时 | 已报名成员 | 集合信息 + 签到提示 |
| 签到成功 | 签到成员 | 「签到成功 +N 积分」 |
| 活动结束后 | 未打卡的报名成员 | 缺席提醒 + 补签申请入口 |
| 积分即将到期(雪季末) | 有余额的成员 | 余额与到期时间,提示兑换 |
通知渠道与频率(订阅消息条数限制、免打扰时段)需在小程序上线前按微信平台规则确认。待确认