feat: 上游 1.0.3-1.0.5 同步第 1-8 项(v1.2.2)
剪贴板:新增 web/src/utils/clipboard.ts,5 处调用点支持非 HTTPS 环境(对齐 1.0.4) 日志中心:新增「FRP 日志」Tab,解析 frpc 日志为 时间/级别/来源/消息(对齐 1.0.3) 通知:单通道密文解密失败不再拖垮整份配置(对齐 1.0.5);容器补 TZ + tzdata(对齐 1.0.4);Telegram 代理自动补 http:// 并校验 scheme(对齐 1.0.3) 反向代理:复制不再追加「-复制」(对齐 1.0.5);监听占用校验合并表单规则与手动 Nginx 配置两张表(迁移 024 + endpoints 解析器),冲突提示写明占用规则;改端口的并发冲突改为可读提示 FRP:frps 弹窗补「VPS 防火墙放行 TCP 远程端口」提示(对齐 1.0.3);反代配置弹窗补齐内容区内边距与来源说明 文档:新增 docs/upstream-sync-plan.md(逐版本对照 + 第 5 项详细整理);VERSION 与 CHANGELOG 记 v1.2.2
This commit is contained in:
@@ -1361,12 +1361,10 @@ function ruleName(rule: ProxyRule): string {
|
||||
return name || primaryHost(rule)
|
||||
}
|
||||
|
||||
// 复制:保留原名称与域名,由用户在表单里确认修改(不再自动追加「-复制」后缀,避免误建同名规则)
|
||||
function duplicateName(rule: ProxyRule): string {
|
||||
const base = rule.name?.trim() || primaryHost(rule)
|
||||
const suffix = '-复制'
|
||||
const maxBase = 100 - suffix.length
|
||||
const trimmedBase = base.length > maxBase ? base.slice(0, maxBase) : base
|
||||
return `${trimmedBase}${suffix}`
|
||||
return base.length > 100 ? base.slice(0, 100) : base
|
||||
}
|
||||
|
||||
function hostsToText(rule: ProxyRule): string {
|
||||
@@ -1405,13 +1403,11 @@ function ruleAccessUrls(rule: ProxyRule): string[] {
|
||||
return ruleHosts(rule).map((host) => hostAccessUrl(rule, host))
|
||||
}
|
||||
|
||||
import { copyText } from '../utils/clipboard'
|
||||
|
||||
async function copyAccessUrl(url: string) {
|
||||
try {
|
||||
await navigator.clipboard.writeText(url)
|
||||
message.success('链接已复制')
|
||||
} catch {
|
||||
message.error('复制失败')
|
||||
}
|
||||
if (await copyText(url)) message.success('链接已复制')
|
||||
else message.error('复制失败')
|
||||
}
|
||||
|
||||
function renderLinkAction(icon: Component, title: string, onClick: () => void): VNode {
|
||||
@@ -2040,7 +2036,7 @@ function openDuplicate(rule: ProxyRule) {
|
||||
syncSecurityExpanded()
|
||||
formTab.value = 'basic'
|
||||
showModal.value = true
|
||||
message.info('已填入复制内容,请修改域名后保存')
|
||||
message.info('已填入复制内容,请确认名称与域名后保存')
|
||||
}
|
||||
|
||||
function openEdit(rule: ProxyRule, tab: 'basic' | 'security' | 'nginx' = 'basic') {
|
||||
|
||||
Reference in New Issue
Block a user