# 日常记录台：云端同步配置

## 先准备云端项目

1. 在 Supabase 创建一个自己的项目，并记住项目数据库密码。数据库密码不要填进日常记录台。
2. 打开项目的 SQL Editor，把本目录中的 `supabase-schema.sql` 全文粘贴进去并运行。脚本会建立每日记录表、账号隔离规则，以及一个仅登录用户可读写的照片存储桶。
3. 打开项目设置中的 API Keys，复制 **Project URL** 和 **Publishable key**。旧版控制台也可能将公开客户端密钥标为 `anon`。
4. 绝不要复制 `service_role` 或 `secret` 密钥到网页。记录台只需要公开客户端密钥；数据库和照片的隐私保护由 SQL 中的行级权限及存储策略负责。

## 连接并登录

1. 打开日常记录台，点右上角的“本地模式”。
2. 填入 Project URL 和 Publishable key，点击“保存连接设置”。
3. 用邮箱创建账号。若 Supabase 要求邮箱确认，先点邮件中的确认按钮，再回到记录台登录。
4. 登录后，如果这台设备已有旧记录，会询问是否合并到该账号。选“确定”会保留并上传旧记录；选“取消”则只载入云端账号的记录。
5. 手机和电脑都登录同一个账号后，会自动合并记录；“立即同步”可手动触发一次。

## 配置邮箱确认地址

在 Supabase 的 Authentication URL Configuration 中，将 Site URL 和 Redirect URLs 设为当前网页地址。

本机测试时使用：

```text
http://127.0.0.1:4173/
```

部署到公网后，改成部署平台分配的 HTTPS 地址，并将该地址加入 Redirect URLs。不要把本机测试地址当成手机可访问的网址。

## 手机和电脑访问同一份记录

`127.0.0.1` 只代表正在使用的那台设备。手机要同步，网页本身也必须部署到手机能访问的 HTTPS 地址。可以使用 Cloudflare Pages 的 Direct Upload：

1. 双击本项目中的 `prepare-cloud-deploy.cmd`。
2. 打开生成的 `daily-notes-deploy` 文件夹。只上传这个文件夹中的网页文件，**不要上传整个项目目录**。
3. 在 Cloudflare 控制台进入 Workers & Pages，创建 Pages 项目并选择拖放上传；上传 `daily-notes-deploy` 文件夹中的文件。
4. 部署完成后，记下 Cloudflare 提供的 HTTPS 地址。
5. 将 Supabase Authentication URL Configuration 中的 Site URL 和 Redirect URLs 更新为该地址。
6. 在电脑和手机浏览器都打开这个 HTTPS 地址，再用同一个邮箱登录。

发布目录只包含本工作台网页资源、这份通用配置说明和建表脚本，不包含项目里的其他工作文档或任何密钥。

## 粘贴照片

- 电脑：复制一张图片，点进记录输入框后按 `Ctrl+V`。也可以点图片按钮选择文件。
- 手机：点图片按钮，从相册选择照片。
- 图片会在浏览器内缩小并压缩；登录云端后上传到私有照片桶。照片不会使用公开链接。

没有登录时，记录和照片只保存在当前浏览器。登录后才会同步到云端。

## 隐私和账号

- 每个账号只能读写自己的每日记录和照片。
- 公开客户端密钥会保存在本机浏览器中，它不是管理密钥；不要将密码或 `service_role` 密钥发给任何人。
- 云端同步需要网络连接。断网时本机仍可继续记录；重新联网后，点击“立即同步”。
- 工作记录仍建议避免写入客户身份证号、密码、医疗信息等不适合放入普通记录工具的敏感资料。
