mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-05-10 17:43:31 +08:00
feat: add ALWAYS_SHOW_ANNOUNCEMENT option (#663)
This commit is contained in:
@@ -27,27 +27,27 @@
|
||||
"axios": "^1.9.0",
|
||||
"jszip": "^3.10.1",
|
||||
"mail-parser-wasm": "^0.2.1",
|
||||
"naive-ui": "^2.41.0",
|
||||
"naive-ui": "^2.41.1",
|
||||
"postal-mime": "^2.4.3",
|
||||
"vooks": "^0.2.12",
|
||||
"vue": "^3.5.14",
|
||||
"vue": "^3.5.16",
|
||||
"vue-clipboard3": "^2.0.0",
|
||||
"vue-i18n": "^11.1.3",
|
||||
"vue-i18n": "^11.1.5",
|
||||
"vue-router": "^4.5.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@vicons/fa": "^0.13.0",
|
||||
"@vicons/material": "^0.13.0",
|
||||
"@vitejs/plugin-vue": "^5.2.4",
|
||||
"unplugin-auto-import": "^19.2.0",
|
||||
"unplugin-vue-components": "^28.5.0",
|
||||
"unplugin-auto-import": "^19.3.0",
|
||||
"unplugin-vue-components": "^28.7.0",
|
||||
"vite": "^6.3.5",
|
||||
"vite-plugin-pwa": "^1.0.0",
|
||||
"vite-plugin-top-level-await": "^1.5.0",
|
||||
"vite-plugin-wasm": "^3.4.1",
|
||||
"workbox-build": "^7.3.0",
|
||||
"workbox-window": "^7.3.0",
|
||||
"wrangler": "^4.15.2"
|
||||
"wrangler": "^4.19.1"
|
||||
},
|
||||
"packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
|
||||
}
|
||||
|
||||
1725
frontend/pnpm-lock.yaml
generated
1725
frontend/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -89,7 +89,11 @@ const getOpenSettings = async (message, notification) => {
|
||||
if (openSettings.value.needAuth) {
|
||||
showAuth.value = true;
|
||||
}
|
||||
if (openSettings.value.announcement && openSettings.value.announcement != announcement.value) {
|
||||
if (openSettings.value.announcement
|
||||
&& !openSettings.value.fetched
|
||||
&& (openSettings.value.announcement != announcement.value
|
||||
|| openSettings.value.alwaysShowAnnouncement)
|
||||
) {
|
||||
announcement.value = openSettings.value.announcement;
|
||||
notification.info({
|
||||
content: () => {
|
||||
|
||||
@@ -14,6 +14,7 @@ export const useGlobalState = createGlobalState(
|
||||
fetched: false,
|
||||
title: '',
|
||||
announcement: '',
|
||||
alwaysShowAnnouncement: false,
|
||||
prefix: '',
|
||||
addressRegex: '',
|
||||
needAuth: false,
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"devDependencies": {
|
||||
"wrangler": "^4.15.2"
|
||||
"wrangler": "^4.19.1"
|
||||
},
|
||||
"packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
|
||||
}
|
||||
|
||||
@@ -81,6 +81,8 @@ PREFIX = "tmp" # The mailbox name prefix to be processed
|
||||
# MIN_ADDRESS_LEN = 1
|
||||
# MAX_ADDRESS_LEN = 30
|
||||
# ANNOUNCEMENT = "Custom Announcement"
|
||||
# always show ANNOUNCEMENT even no changes
|
||||
# ALWAYS_SHOW_ANNOUNCEMENT = true
|
||||
# address check REGEX, if not set, will not check
|
||||
# ADDRESS_CHECK_REGEX = "^(?!.*admin).*"
|
||||
# address name replace REGEX, if not set, the default is [^a-z0-9]
|
||||
|
||||
@@ -88,16 +88,17 @@
|
||||
|
||||
## 网页相关变量
|
||||
|
||||
| 变量名 | 类型 | 说明 | 示例 |
|
||||
| ------------------------- | ----------- | ------------------------------------------------ | --------------------- |
|
||||
| `DEFAULT_LANG` | 文本 | Worker 错误信息默认语言, zh/en | `zh` |
|
||||
| `TITLE` | 文本 | 自定义前端页面网站标题,支持 html | `Custom Title` |
|
||||
| `ANNOUNCEMENT` | 文本 | 自定义前端页面公告,支持 html | `Custom Announcement` |
|
||||
| `COPYRIGHT` | 文本 | 自定义前端界面页脚文本,支持 html | `Dream Hunter` |
|
||||
| `ADMIN_CONTACT` | 文本 | admin 联系方式,可配置任意字符串, 不配置则不显示 | `xxx@gmail.com` |
|
||||
| `DISABLE_SHOW_GITHUB` | 文本/JSON | 是否显示 GitHub 链接 | `true` |
|
||||
| `CF_TURNSTILE_SITE_KEY` | 文本/Secret | Turnstile 人机验证配置 | `xxx` |
|
||||
| `CF_TURNSTILE_SECRET_KEY` | 文本/Secret | Turnstile 人机验证配置 | `xxx` |
|
||||
| 变量名 | 类型 | 说明 | 示例 |
|
||||
| -------------------------- | ----------- | ------------------------------------------------ | --------------------- |
|
||||
| `DEFAULT_LANG` | 文本 | Worker 错误信息默认语言, zh/en | `zh` |
|
||||
| `TITLE` | 文本 | 自定义前端页面网站标题,支持 html | `Custom Title` |
|
||||
| `ANNOUNCEMENT` | 文本 | 自定义前端页面公告,支持 html | `Custom Announcement` |
|
||||
| `ALWAYS_SHOW_ANNOUNCEMENT` | 文本/JSON | 是否总是显示公告(即使无更改), 默认 `false` | `true` |
|
||||
| `COPYRIGHT` | 文本 | 自定义前端界面页脚文本,支持 html | `Dream Hunter` |
|
||||
| `ADMIN_CONTACT` | 文本 | admin 联系方式,可配置任意字符串, 不配置则不显示 | `xxx@gmail.com` |
|
||||
| `DISABLE_SHOW_GITHUB` | 文本/JSON | 是否显示 GitHub 链接 | `true` |
|
||||
| `CF_TURNSTILE_SITE_KEY` | 文本/Secret | Turnstile 人机验证配置 | `xxx` |
|
||||
| `CF_TURNSTILE_SECRET_KEY` | 文本/Secret | Turnstile 人机验证配置 | `xxx` |
|
||||
|
||||
## Telegram Bot 相关变量
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
"version": "0.10.0",
|
||||
"type": "module",
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.15.19",
|
||||
"@types/node": "^22.15.30",
|
||||
"vitepress": "^1.6.3",
|
||||
"wrangler": "^4.15.2"
|
||||
"wrangler": "^4.19.1"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "vitepress dev docs",
|
||||
|
||||
713
vitepress-docs/pnpm-lock.yaml
generated
713
vitepress-docs/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -11,24 +11,24 @@
|
||||
"build": "wrangler deploy --dry-run --outdir dist --minify"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cloudflare/workers-types": "^4.20250520.0",
|
||||
"@cloudflare/workers-types": "^4.20250607.0",
|
||||
"@eslint/js": "9.18.0",
|
||||
"@simplewebauthn/types": "10.0.0",
|
||||
"@types/node": "^22.15.19",
|
||||
"@types/node": "^22.15.30",
|
||||
"eslint": "9.18.0",
|
||||
"globals": "^15.15.0",
|
||||
"typescript-eslint": "^8.32.1",
|
||||
"wrangler": "^4.15.2"
|
||||
"typescript-eslint": "^8.33.1",
|
||||
"wrangler": "^4.19.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.812.0",
|
||||
"@aws-sdk/s3-request-presigner": "^3.812.0",
|
||||
"@aws-sdk/client-s3": "^3.826.0",
|
||||
"@aws-sdk/s3-request-presigner": "^3.826.0",
|
||||
"@simplewebauthn/server": "10.0.1",
|
||||
"hono": "^4.7.10",
|
||||
"hono": "^4.7.11",
|
||||
"jsonpath-plus": "^10.3.0",
|
||||
"mimetext": "^3.0.27",
|
||||
"postal-mime": "^2.4.3",
|
||||
"resend": "^4.5.1",
|
||||
"resend": "^4.5.2",
|
||||
"telegraf": "4.16.3",
|
||||
"worker-mailer": "^1.1.4"
|
||||
},
|
||||
|
||||
1467
worker/pnpm-lock.yaml
generated
1467
worker/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -12,6 +12,7 @@ export default {
|
||||
"HAS_PASSWORD": utils.getPasswords(c).length,
|
||||
"HAS_ADMIN_PASSWORDS": utils.getAdminPasswords(c).length,
|
||||
"ANNOUNCEMENT": utils.getStringValue(c.env.ANNOUNCEMENT),
|
||||
"ALWAYS_SHOW_ANNOUNCEMENT": utils.getBooleanValue(c.env.ALWAYS_SHOW_ANNOUNCEMENT),
|
||||
|
||||
"PREFIX": utils.getStringValue(c.env.PREFIX),
|
||||
"ADDRESS_CHECK_REGEX": utils.getStringValue(c.env.ADDRESS_CHECK_REGEX),
|
||||
|
||||
@@ -17,6 +17,7 @@ api.get('/open_api/settings', async (c) => {
|
||||
return c.json({
|
||||
"title": c.env.TITLE,
|
||||
"announcement": utils.getStringValue(c.env.ANNOUNCEMENT),
|
||||
"alwaysShowAnnouncement": utils.getBooleanValue(c.env.ALWAYS_SHOW_ANNOUNCEMENT),
|
||||
"prefix": utils.getStringValue(c.env.PREFIX),
|
||||
"addressRegex": utils.getStringValue(c.env.ADDRESS_REGEX),
|
||||
"minAddressLen": utils.getIntValue(c.env.MIN_ADDRESS_LEN, 1),
|
||||
|
||||
1
worker/src/types.d.ts
vendored
1
worker/src/types.d.ts
vendored
@@ -16,6 +16,7 @@ type Bindings = {
|
||||
DEFAULT_LANG: string | undefined
|
||||
TITLE: string | undefined
|
||||
ANNOUNCEMENT: string | undefined | null
|
||||
ALWAYS_SHOW_ANNOUNCEMENT: string | boolean | undefined
|
||||
PREFIX: string | undefined
|
||||
ADDRESS_CHECK_REGEX: string | undefined
|
||||
ADDRESS_REGEX: string | undefined
|
||||
|
||||
@@ -25,6 +25,8 @@ compatibility_flags = [ "nodejs_compat" ]
|
||||
# DEFAULT_LANG = "zh"
|
||||
# TITLE = "Custom Title" # custom title
|
||||
# ANNOUNCEMENT = "Custom Announcement"
|
||||
# always show ANNOUNCEMENT even no changes
|
||||
# ALWAYS_SHOW_ANNOUNCEMENT = true
|
||||
PREFIX = "tmp"
|
||||
# address check REGEX, if not set, will not check
|
||||
# ADDRESS_CHECK_REGEX = "^(?!.*admin).*"
|
||||
|
||||
Reference in New Issue
Block a user