Skip to content

Repository files navigation

nunulo-web

Nunulo 公开照片社区的用户 Web 客户端,提供未登录匿名窗口、公开或邀请注册、多人照片动态、三档可见性、互动、成员、合集和个人数据管理。

当前工作树已完成第一期全新本地工作台,但尚未提交、发布或部署。Web 以历史照片整理为高频路径,同时保留实时单次记录;线上仍以已发布版本为准。

当前运行方式

  • 容器环境默认使用同源 /api,由 nginx.conf 代理到 API 容器。
  • 容器构建使用 /app/ 资源前缀,由当前站点域名统一路由承载。
  • 只有明确的跨域开发环境才设置 VITE_API_BASE;空值不会再回退到旧 UK 域名。
  • 本地需要切换 Vite 代理时设置 VITE_DEV_API_TARGET
  • 真实网页地图使用高德 JS API 2.0,必须分别设置 VITE_AMAP_WEB_KEYVITE_AMAP_SECURITY_JS_CODE;不能复用 Android Key。
  • 容器由 Dockerfile 构建,GitHub Actions 生成 amd64/arm64 镜像;线上是否应用必须以部署平台和外部入口核验为准。

本地验证

pnpm install --frozen-lockfile
pnpm test:run
pnpm build

行为测试覆盖匿名窗口、公开或邀请注册、当前政策版本、多人工件台、并发 refresh token、三档可见性上传与重复提交保护、点赞评论、成员关注、个人邀请码、合集和导出入口。第一期本地测试还覆盖 1–9 图上传与重排、逐图 checksum 复用、类别候选、伙伴、活动、动态发现、世界地区和个人足迹。测试同时作为普通 CI 与容器发布门禁。

第一期本地工作台包含动态、发现、记录、伙伴和我的主要区域。记录支持 1–9 张照片、首图封面与拖动重排,上传后读取服务端解析的拍摄时间和 GNSS;可选择多个伙伴、物件类型、作品、角色、活动和单一地点。动态支持热门 / 最新和关注关系,发现聚合类别、活动、专题与世界地区;伙伴页支持稳定编号、跨用户补登记与相遇关系。

地图只出现在地点补录和个人 / 世界空间发现等确有空间价值的场景,不强塞进每个动态、类别、伙伴或活动页面。地点草稿支持搜索、直接点击或拖动标记选点;数据库保存 WGS84 坐标,渲染前转换为高德使用的 GCJ-02。Key 缺失、域名白名单错误或定位被拒绝时显示明确错误,不生成随机占位点。

当前产品状态以 C:/Dev/Nunulo/nunulo-docs/docs/主线/当前真实状态.md 为准。真实凭据、用户数据、照片和构建产物不进入仓库。

About

Nunulo invite-only multi-user Web client.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages