Nunulo 公开照片社区的用户 Web 客户端,提供未登录匿名窗口、公开或邀请注册、多人照片动态、三档可见性、互动、成员、合集和个人数据管理。
当前工作树已完成第一期全新本地工作台,但尚未提交、发布或部署。Web 以历史照片整理为高频路径,同时保留实时单次记录;线上仍以已发布版本为准。
- 容器环境默认使用同源
/api,由nginx.conf代理到 API 容器。 - 容器构建使用
/app/资源前缀,由当前站点域名统一路由承载。 - 只有明确的跨域开发环境才设置
VITE_API_BASE;空值不会再回退到旧 UK 域名。 - 本地需要切换 Vite 代理时设置
VITE_DEV_API_TARGET。 - 真实网页地图使用高德 JS API 2.0,必须分别设置
VITE_AMAP_WEB_KEY与VITE_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 为准。真实凭据、用户数据、照片和构建产物不进入仓库。