免费图床搭建2.0 | 美化UI | Supabase管理 | 新手教程
ImageHost-R2 V2.0
GitHub项目地址:ImageHost-R2
版本更新:
✅ UI美化
✅ 用户注册与个人信息管理
✅ 配置信息加密
🎬 视频教程
- BiliBili:图床搭建2.0 | 美化UI | Supabase管理 | 新手教程
📟 一、创建 Supabase 账户与项目
注册并登录 Supabase
邮箱激活链接可能会被误放入垃圾箱,记得查看。
创建一个组织(Organization):配置默认,昵称可自定义。
创建项目:
- 自定义项目名称、数据库密码
- 地区选择默认或就近区域
- 点击创建
🛠 二、创建用户资料表(profiles)
打开
Table Editor
→Create a new table
自定义表名为
profiles
,字段结构如下:
字段名 | 类型 | 说明 | 配置 |
---|---|---|---|
id |
uuid |
用户唯一 ID(来自 auth.users ) |
PRIMARY KEY , REFERENCES auth.users(id) , NOT NULL |
username |
text |
用户名,可自定义 | UNIQUE , 可为 NULL |
avatar_url |
text |
头像地址(图片链接或存储路径) | 可为 NULL |
created_at |
timestamp with time zone |
创建时间 | DEFAULT now() , NOT NULL |
- 推荐使用 SQL 创建:
命令创建,需手动开启RLS
1 | create table public.profiles ( |
🔒 三、添加访问策略(Row-Level Security Policies)
确保用户能访问自己的资料:
1 | create policy "Users can view their profile" on public.profiles |
⚙️ 四、设置注册触发器:自动同步 profiles
当用户注册时,自动向 profiles
表插入一条记录:
1 | -- 创建触发器函数 |
🗂 五、配置存储 Bucket(头像上传)
打开左侧菜单 → Storage → Buckets →
New Bucket
Bucket 配置:
- 名称:
avatars
- 勾选 Public(公开访问)
- 名称:
添加上传策略(仅允许已认证用户):
1 | CREATE POLICY "Allow authenticated upload" |
🔑 六、获取 API 相关信息
在 项目设置 - API 中获取以下信息:
Supabase 项目 URL:
1
https://joxywvepickmjpgmjabd.supabase.co
匿名访问密钥(anon key):
1
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
🧰 七、GitHub 项目配置更新
GitHub 仓库,如果老版本是 fork 的可直接更新
或者:下载最新前端打包文件,手动原有文件
手动更新
config.js
文件中的配置地址:
1 | async function fetchConfig() { |
💻 八、更新 Cloudflare Worker 配置
把最新的worker.js代码更新到worker项目中
添加允许访问的来源(可多个地址):
1 | const allowedOrigins = [ |
新增环境变量(Worker Variables):
变量名 说明 API_BASE_URL
worker 访问地址 SUPABASE_URL
Supabase 项目 URL SUPABASE_ANON_KEY
Supabase 访问密钥(anon key) MAX_FILES
最大上传文件数 LIST_PATH
图标列表访问路径
🌐 九、Cloudflare Pages 部署更新
如果是新部署:
- 构建输出目录设置为 public。
如果是在旧版的基础上更新版本
- 设置 → 构建设置 (Build Settings)
- 构建输出目录:改为
public
- 然后进入“Deployments” 页面,点击:
- Retry deployment (重试部署) 查看更新是否成功
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Newbie Village!