← 返回文档索引

联系我们 · 渠道二级页

交互设计 · Telegram/LINE 多频道 · 群组 · 内容 DB 配置 · 前端 + 后端 + 数据库

现「联系我们」把每个渠道当单一入口(Telegram 只挂一个 @PangolinVPN_bot)。 需求:点 Telegram 进入二级页,列出该平台下的多个频道 / 群组 / Bot, 每项含名称、@handle、一句说明、可选成员数、认证标记与「打开 / 加入」动作, 全部由数据库配置(运营可随时增删改,客户端不写死)。本页给出交互原型 + 数据模型 + 接口,待你统一后再开发。

可点原型(点 Telegram 卡片进二级,← 返回)

下方为内嵌可交互原型,配色用 App 真实暗色 token(clay/espresso)。点 TelegramLINE 卡进详情;「邮箱客服 / 自助发卡商店」为单链接,点即直接打开(原型里仅提示)。

穿山甲PANGOLIN
连接
🌐节点
📊统计
设置
💬联系我们
联系我们 US🌙

遇到问题?通过以下任一渠道联系我们,通常数分钟内回复。

Telegram
官方频道 · 交流群 · 客服 Bot
💬
LINE 即将开放
官方账号 · 中文/日文群
邮箱客服
support@pangolin.vpn
🛍
自助发卡商店
shop.pangolin.vpn
‹ 返回
Telegram
加入官方频道获取更新,进群与用户互助
频道 · CHANNELS
📣
穿山甲 · 官方频道
产品更新与公告 · @PangolinVPN
📶
穿山甲 · 节点状态
节点/故障实时播报 · @PangolinStatus
群组 · GROUPS
👥
穿山甲 · 用户交流群
使用问题互助交流 · @PangolinChat
🌏
Pangolin · English Group
English support & chat · @PangolinEN
客服机器人 · BOT
🤖
客服机器人
自动答疑 / 提交工单 · @PangolinVPN_bot
‹ 返回
💬
LINE
官方账号与交流群
官方账号 · OFFICIAL
💬
Pangolin 官方账号
公告与客服 · @pangolinvpn
群组 · GROUPS
👥
中文交流群
使用互助 · openchat

同一原型内切换三态 · 真机为路由 push(移动端整页)/ 内容区替换(桌面)。 L1 上 LINE 为灰置「即将开放」不可点;「L2 · LINE」按钮仅用于预览其预留的二级结构(去灰后即此样式)。

交互规则

数据模型(DB 配置)· 全渠道统一一张表

一张表覆盖所有联系方式 —— Telegram 频道/群组/Bot、LINE、邮箱、发卡商店都是 contact_link 里的一行, 差别只在 platform(分到哪个 L1 卡)+ kind(二级分到哪组 & 动作样式)+ url 协议。 一行 = 一条可点链接;L1 按 platform 聚合,L2 按 kind 分组。

contact_link
─────────────────────────────────────────────────────────────
id           INTEGER  PK
platform     TEXT     -- telegram | line | email | store | whatsapp | ...(L1 分组键)
kind         TEXT     -- channel | group | bot | link(L2 分组键 & 动作样式)
title        TEXT     -- "穿山甲 · 官方频道" / "邮箱客服" / "自助发卡商店"
handle       TEXT     -- "@PangolinVPN"(展示;可空,邮箱/商店留空)
url          TEXT     -- 点击目标(见下表);App 侧对 telegram 优先转 tg://
description  TEXT     -- 一句说明(可空)
verified     INTEGER  -- 0/1 认证勾
sort_order   INTEGER  -- 组内排序
enabled      INTEGER  -- 0/1 下线开关
locale       TEXT     -- "zh"|"en"|NULL(全部)  可选按语言过滤

邮箱之类怎么进这张表 —— 就是把 url 换个协议、kind=link

渠道platformkindurl 示例动作
Telegram 频道telegramchannelhttps://t.me/PangolinVPN(App 转 tg://打开
Telegram 群组telegramgrouphttps://t.me/PangolinChat加入
Telegram Bottelegrambothttps://t.me/PangolinVPN_bot打开
LINE 账号linelinkhttps://line.me/R/ti/p/@pangolinvpn打开
邮箱客服emaillinkmailto:support@pangolin.vpn打开(拉起邮件)
自助发卡商店storelinkhttps://shop.pangolin.vpn打开(浏览器)
WhatsApp(将来)whatsapplinkhttps://wa.me/…打开

动作按钮文案由 kind 决定:group「加入」(实心强调);其余(channel/bot/link)→ 「打开」(描边)。 点击一律「用系统方式打开 url」,App 侧仅对 telegram 平台做 https://t.me/x → tg://resolve?domain=x 的唤起优化,失败回退原 url。

唯一不入库的是「皮」:L1 平台卡的图标 / 强调色 / 默认显示名由前端一个小 platform 注册表platform 键内置 (telegram=✈+强调色、line=💬、email=✉、store=🛍…),避免把图标资源塞进数据库;未知 platform 用通用图标兜底。 库里只配内容。加已有平台的新频道/群 = 纯 DB,无需发版;加一个全新平台类型(新图标)= 注册表加一行 + 发版。

接口

GET /v1/contact            # 无需登录亦可(客户端普通请求)
→ 200
{
  "platforms": [
    { "platform":"telegram",
      "links":[
        {"kind":"channel","title":"穿山甲 · 官方频道","handle":"@PangolinVPN",
         "url":"https://t.me/PangolinVPN","description":"产品更新与公告","verified":true},
        {"kind":"group","title":"穿山甲 · 用户交流群","handle":"@PangolinChat",
         "url":"https://t.me/PangolinChat","description":"使用问题互助"},
        {"kind":"bot","title":"客服机器人","handle":"@PangolinVPN_bot",
         "url":"https://t.me/PangolinVPN_bot","description":"自动答疑/提交工单"}
      ]},
    { "platform":"line",  "links":[ ... ] },
    { "platform":"email", "links":[{"kind":"link","title":"邮箱客服","url":"mailto:support@pangolin.vpn"}] },
    { "platform":"store", "links":[{"kind":"link","title":"自助发卡商店","url":"https://shop.pangolin.vpn"}] }
  ]
}

已定(本轮拍板)

仍可再定(不阻塞,先给默认)