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