feat: add docs (#122)

This commit is contained in:
Dream Hunter
2024-04-14 15:15:09 +08:00
committed by GitHub
parent fb74504282
commit 209693673d
43 changed files with 3073 additions and 16 deletions

View File

@@ -0,0 +1,27 @@
# 初始化/更新 D1 数据库
第一次执行登录 wrangler 命令时,会提示登录, 按提示操作即可
## 初始化数据库
```bash
# 创建 D1 并执行 schema.sql
wrangler d1 create dev
wrangler d1 execute dev --file=db/schema.sql
```
创建完成后,我们在 cloudflare 的控制台可以看到 D1 数据库
![D1](/readme_assets/d1.png)
## 更新数据库 schema
`schema` 更新,请确认你之前部署的版本,
查看 [更新日志](https://github.com/dreamhunter2333/cloudflare_temp_email/blob/main/CHANGELOG.md)
找到需要执行的 `patch` 文件, 执行, 例如:
```bash
wrangler d1 execute dev --file=db/2024-01-13-patch.sql
wrangler d1 execute dev --file=db/2024-04-03-patch.sql
```

View File

@@ -0,0 +1,25 @@
# Cloudflare Pages 前端
第一次部署会提示创建项目, `production` 分支请填写 `production`
```bash
cd frontend
pnpm install
cp .env.example .env.prod
```
修改 `.env.prod` 文件
`VITE_API_BASE` 修改为上一步创建的 `worker``url`, 不要在末尾加 `/`
例如: `VITE_API_BASE=https://xxx.xxx.workers.dev`
```bash
pnpm build --emptyOutDir
# 根据提示创建 pages
pnpm run deploy
```
部署完成之后你可以在 Cloudflare 控制台看到你的项目, 可以为 `pages` 配置自定义域名
![pages](/readme_assets/pages.png)

View File

@@ -0,0 +1,17 @@
# 先决条件
## wrangler 的安装
安装 wrangler
```bash
npm install wrangler -g
```
## 克隆项目
```bash
git clone https://github.com/dreamhunter2333/cloudflare_temp_email.git
# 切换到最新 tag 或者你想部署的分支,你也可以直接使用 main 分支
# git checkout $(git describe --tags $(git rev-list --tags --max-count=1))
```

View File

@@ -0,0 +1,50 @@
# Cloudflare workers 后端
## 初始化项目
```bash
cd worker
pnpm install
cp wrangler.toml.template wrangler.toml
```
## 修改 `wrangler.toml` 配置文件
```bash
name = "cloudflare_temp_email"
main = "src/worker.js"
compatibility_date = "2023-12-01"
# 如果你想使用自定义域名,你需要添加 routes 配置
# routes = [
# { pattern = "temp-email-api.xxxxx.xyz", custom_domain = true },
# ]
node_compat = true
[vars]
PREFIX = "tmp" # 要处理的邮箱名称前缀,不需要后缀可配置为空字符串
# 如果你想要你的网站私有,取消下面的注释,并修改密码
# PASSWORDS = ["123", "456"]
# admin 控制台密码, 不配置则不允许访问控制台
# ADMIN_PASSWORDS = ["123", "456"]
DOMAINS = ["xxx.xxx1" , "xxx.xxx2"] # 你的域名, 支持多个域名
JWT_SECRET = "xxx" # 用于生成 jwt 的密钥
BLACK_LIST = "" # 黑名单,用于过滤发件人,逗号分隔
# D1 数据库的名称和 ID 可以在 cloudflare 控制台查看
[[d1_databases]]
binding = "DB"
database_name = "xxx" # D1 数据库名称
database_id = "xxx" # D1 数据库 ID
```
## 部署
第一次部署会提示创建项目, `production` 分支请填写 `production`
```bash
pnpm run deploy
```
部署成功之后再路由中可以看到 `worker``url`,控制台也会输出 `worker``url`
![worker](/readme_assets/worker.png)