漂流瓶小程序
微信小程序 匿名社交 REST API 对接

把心事扔进海里,也把回应捞回来。

这是基于 han_haoran/lp_admin(main 分支)功能整理出的项目官网。产品聚焦漂流瓶互动,覆盖投放、捞取、会话回复、消息归档和个人中心全流程。

0 页面模块
0 后端契约接口
0 漂流瓶类型
  • 仓库路径 han_haoran/lp_admin
  • 默认分支 main
  • 创建时间 2026-03-26

Core Features

围绕“投放-捞取-回复”构建的完整漂流瓶体验

随机捞瓶

从海面随机捞取陌生用户投放的瓶子,支持无可捞取状态识别与交互反馈。

三种瓶子类型

支持文字瓶、心情瓶、许愿瓶,投放前可切换类型并进行内容长度控制。

会话回复

进入会话详情后可继续对话,支持发送失败标记与点击重发。

消息归档

“我的瓶子 / 我的捞取”双标签分页列表,支持下拉刷新与触底加载。

账号体系

微信授权登录 + token 校验,登录状态与用户资料持久化到本地存储。

个人资料维护

内置头像上传接口与昵称修改入口,统计扔瓶、捞取与回复数量。

User Journey

从第一次登录到建立陌生人对话,只需 5 步

1

微信授权登录

前端调用 wx.getUserProfile + wx.login,后端返回 token 与用户信息。

2

写下内容并扔出瓶子

输入 1-500 字内容,选择瓶子类型后调用 POST /api/bottles

3

随机捞取陌生瓶子

首页调用 GET /api/bottles/random,并根据总量更新海面漂浮瓶表现。

4

进入会话并回复

在会话页查看完整聊天记录,通过 /replies 接口继续互动。

5

回到个人中心管理内容

查看统计数据、更新头像昵称、管理我的瓶子与捞取记录。

Architecture

前后端职责清晰,接口约定覆盖完整业务闭环

小程序端模块

  • pages/index:海面展示、捞瓶子、弹窗查看内容
  • pages/throw:投放瓶子与类型选择
  • pages/messages:我的瓶子 / 我的捞取分页列表
  • pages/profile:登录授权、资料编辑、统计数据
  • pages/conversation:会话详情、重发机制、时间分段

后端协作契约

  • 统一鉴权头:Authorization: Bearer <token>
  • 登录、用户、瓶子、会话、上传等 12 类接口契约
  • 统一错误结构:error_code / message / detail
  • 列表接口要求支持 skip + limit + total 分页语义
  • 头像上传使用 multipart/form-data

API Matrix

接口分组清晰,可直接用于联调与验收

  • POST /api/auth/login微信登录,返回 token 与用户信息
  • GET /api/auth/verify应用启动静默验证 token
  • GET /api/auth/user/info读取当前用户资料
  • PUT /api/auth/update_user_info更新昵称与头像链接
  • POST /api/bottles投放瓶子(text/mood/wish)
  • GET /api/bottles/count海面可捞取瓶子总量
  • GET /api/bottles/random随机捞取一个瓶子
  • POST /api/bottles/{id}/replies会话回复消息
  • GET /api/bottles/{id}/conversation读取完整会话历史
  • GET /api/my/bottles?skip=0&limit=20我的投放记录
  • GET /api/my/pickups?skip=0&limit=20我的捞取记录
  • POST /api/upload/avatar头像文件上传,返回可访问 URL

Roadmap

从 README 提炼的后续优化方向

点赞互动

为瓶子增加点赞反馈,提高互动正循环。

地理位置标记

让瓶子拥有“漂流轨迹”,增强故事感。

动画优化

继续打磨海面漂浮、捞取与开瓶动效体验。

消息推送

当收到回复时主动通知,提升回访率。

图片瓶子

支持图文内容,丰富表达维度。

分类筛选

按类型、情绪或主题筛选想捞取的内容。

准备把这个漂流瓶项目对外展示了吗?

这版官网已按仓库现有能力搭建,可直接作为项目介绍页、课程作业展示页或团队路演页面。