站点总览
前台页面与数据表对应关系
数据来源:本页由 admin/assets/data/table-consumers.json 与 ops-wiring.json 扫描得出(由 _tools/refresh_inventories.js 刷新)。没有读取方的表会明确标注,不做假控件。
站点配置
价格、开关与横幅
数据来源:site_pricing(显示价 / 实际扣款 / MRR-ARR)· site_feature_flags(功能开关)· site_banner(首页顶部条)。每个控件都通向真实写路径。
仪表总览
云服务运行态势
admin_user_overview / admin_order_overview / admin_developer_overview 与 api_keys / plugins;历史一律复用既有 audit-search(结构化 object_type+object_id 优先,两列为空的历史行回退文本匹配并逐行标注)。不新造搜索引擎。用户管理
账号列表与状态
设备管理
终端清单与在线状态
数据分析
搜索量与使用趋势
指标口径:搜索量、响应时间、功能使用趋势,均按当前时间范围聚合,数据来自 usage_stats 与 search_history。
搜索记录
关键词排行
收藏统计
用户保存的文件
用户设置
偏好项与默认值
应用配置
远程下发与同步
保存后写入 app_config,并实时推送到客户端(客户端启动或缓存过期后生效)。
关于我们
三语内容与实时预览
五键(功能特性 / 联系方式 / 隐私政策 / 服务条款 / 关于软件)统一写入 content_blocks,支持三语实时预览。
页面管理
独立页与首页区块
覆盖官网独立页面、首页区块与公告;三语发布后云端直读即时生效,无需重新部署。分工:首页区块(hero / features / cta,三语)写 homepage_content;「关于 / 功能 / 隐私 / 条款 / 联系」五键写 content_blocks(在「关于我们」页编辑);旧表 about_content 已废弃,只读且写入被拦。
系统状态
事件与维护计划
数据来源:status.quickfindapp.com 的 data/status.json(存于 GitHub 仓库)。三语维护,保存后自动同步到该文件。
内容管理
博客动态与三语发布
数据来源:blog_posts;官网入口 quickfindapp.com/blog,支持简中 / English / 繁中三语,发布后前台即时可见。
文件媒体
云端存储与上传
数据来源:Cloudflare R2 对象存储。支持目录浏览、拖拽上传、预览、复制链接与删除。
版本分发
发布通道与镜像
共四个页签:版本发布 · 分发镜像 · Releases 站点内容 · 站点配置。
Releases 站配置
分「站点外观」与「通道与下载按钮」两部分;右侧实时预览公网效果。
站点外观
通道与下载按钮
反馈管理
用户意见与报告
崩溃日志
异常上报记录
通知推送
发布、下架与定时任务
数据来源:notifications(发布 / 编辑 / 下架)与 push_tasks(定时推送与统计)。
数据来源:表 user_notifications(单发通知,含 read_at 站内已读与 email_status/email_sent_at 邮件结果)+ 视图 admin_user_overview(收件人邮箱,仅 service_role)。口径:未读可撤回,已读只能置过期;站内送达与邮件结果分开显示,邮件失败的原因原文写在 email_status。
数据来源:表 broadcast_notifications + 已读表 notification_reads(item_type='broadcast')。只有 status=published 且未过期才对用户可见(RLS 已如此)。分母(送达估算)一律用发布时真实查询写入的 target.count_at_publish,不编造精确送达数。
广告管理
曝光点击与效果
数据来源:ad_spaces(广告位配置)与 ad_events(曝光 / 点击明细)。首页侧边栏、搜索顶部、设置页底部已接入桌面端;登录页横幅规划中。
管理账户
角色权限与创建
仅 admin / super_admin 可进入;新建与改密走 Project B 的 GoTrue Admin 接口。
操作日志
审计留痕与检索
数据来源:audit_logs,只读最近 100 条。覆盖保存配置 / 封禁用户 / 发布通知 / 密钥吊销与永久删除等写操作。
密钥管理
公开 API 台账与吊销
api_keys 只保存 sha256(完整密钥) 与明文前缀,明文仅在创建时返回一次、之后不可恢复;
因此「查看/复制完整密钥」在后台是不可能实现的。用户若丢失密钥,只能吊销后重新创建。
保护事件
限流桶与保护事件
数据来源:rate_limit_counters(当前窗口计数与锁定,实时态)、rate_limit_events(每次 qf_rate_limit_hit 调用落一条事件:hit / blocked / unlocked,「触发上限次数」= blocked 条数)、管理员登录失败与验证码失败尝试(admin_login_logs / email_otp_codes)。本页只读;「手动解锁」仅管理员可用,二次确认后会写审计并补写一条 outcome=unlocked 事件。响应与页面只含哈希标识(桶名第三段不是哈希形态时会先 HMAC 再输出),不含明文 IP / 邮箱。
用户全景
一个用户的全部足迹
数据来源:subscriptions、orders(含 metadata.order_claim 三态)、order_refunds、invoices、devices 与 login_devices(两种设备口径分开列,不合并成一个数)、api_keys(只给前缀/状态/最后使用/scope,不含 key_hash 与明文 IP)、favorites、search_history、feedback、crash_logs。本页只读;每个区块带口径说明与「去处理」入口;区块读不到时按失败展示,不当作 0。
系统健康
清单新鲜度 · 发布一致性 · 门禁摘要
只读面板:① 清单新鲜度(admin/assets/data/ops-wiring.json / table-consumers.json 的生成时间、sha256 指纹、与声明源码 mtime 的比较,并现场重算指纹);② 发布一致性(latest.yml 对 app_versions,sha512 先规范化成 hex 再比,形态不同只标「旧格式」不判红);③ 门禁摘要(_audit/gates/** 有产物就显示最近结果与时间,没有就如实写「无快照」)。本页不触发任何部署。
开发认证
审核 developer_profiles(上传插件的准入门槛)
这里显示开发者提交的认证申请,并附上该用户的历史插件提交,供你判断是否值得通过。只有「已通过」的开发者才能上传插件、查看自己的提交。API 密钥不受这个认证影响,任何状态下都能用。通过 / 驳回 / 暂停 / 恢复都会记录审核人和审核时间。驳回与暂停必须填写原因。
个人设置
密码与资料维护
邮件管理
发件服务器与模板
数据来源:app_config 的 smtp_config 与 email_templates;实际发送由 Edge Function 执行。
app_config.smtp_config(JSON)。凭证仅由 Supabase Edge Function 服务端读取,不下发到客户端。| 时间 | 模板 | 收件人 | 语言 | 状态 | 错误 |
|---|---|---|---|---|---|
| 点击「刷新」加载最近 100 条发信记录 | |||||
QuickFind 客户端不直接发起 SMTP 连接:SMTP 主机、用户名与授权码属于服务端凭证,一旦进入客户端(Electron / Web)即可能被反编译或抓包泄露,因此凭证绝不随客户端分发。
实际发送链路为:客户端触发邮件场景(登录验证码 / 密码重置 / 欢迎)→ 调用 Supabase Edge Function → Edge Function 在服务端读取 app_config.smtp_config 与 email_templates,调用 nodemailer 完成投递。凭证只存在于服务端运行时,不下发、不缓存到客户端。
本后台页面只负责维护 SMTP 配置与三语模板内容(写 app_config.smtp_config / email_templates),不执行真实发信;「发送测试邮件」按钮需待 Edge Function 配置好 nodemailer 发送逻辑后由服务端触发。
运维中心
联动健康与待办
四个板块:跨端联动健康度 · 待办工作台 · 信息收集概览 · 推送任务总览。
搜索缺口
无结果词收集与治理
数据来源:search_no_results;用于发现用户搜不到的内容,驱动内容建设。
许可管理
发放、激活与计量
数据来源:licenses / license_activations(发放 / 激活 / 吊销)与 usage_metering(按用户 / 功能 / 周期计量)。
/api/license-activate 完成激活,
并按返回结果反映权益;默认指向 https://admin.quickfindapp.com,可由企业设置键
license_server_url 覆盖(仅接受 https)。
LICENSE_NOT_FOUND,桌面端如实报错且不发放权益;
成功路径也已端到端验证(用一次性授权码演练:激活返回 200 plan_name=pro → 第二台设备 activated_devices=2 →
第三台设备 403 DEVICE_LIMIT → 解绑释放席位)。团队管理
成员与共享索引
数据来源:teams / team_members / shared_indexes 台账。用户端已可自助创建团队、邀请与移除成员(R42 已上线 qf_create_team 等 5 个 RPC),本页用于审核、纠偏与导出。
插件管理
注册表与启停配置
数据来源:plugins。登记信息含版本、入口地址、sha256 与权限;启停状态直接影响客户端是否加载该插件。
企业策略
部署与索引配置
覆盖 MSI/ADMX 登记、索引策略与更新通道锁定。只有标注「桌面端会消费」的键才会真正影响设备,其余仅作登记。
商务概览
营收、退款与订阅
统计口径:订单 · 实收 · 退款 · 订阅 · MRR/ARR · 套餐与支付方式分布,金额单位人民币 ¥。
订单管理
状态流转与事件线
覆盖全量订单与状态机流转(确认收款 / 取消 / 关闭 / 受理退款);详情内含事件时间线。
订阅管理
套餐调整与留痕
查看并调整用户订阅:手动升级或改套餐由服务端真实生效,每次都会留痕。
退款管理
审核、驳回与失效
通过并执行时可选择权益立即失效或到期失效;驳回必须填写原因。
卡券管理
满减、折扣与试用
覆盖满减 / 折扣 / 试用券、适用套餐、总量与每人限次、有效期与启停。
发票管理
审核、开具与作废
开具需上传 file_url;驳回需填写原因;已开具可撤回作废或删除。
支付网关
收银台方式与参数
写入 app_config 的 payment_methods / thirdparty_gateway / gateway_config。支付宝·微信官方直连为预留集成点,未配置密钥时自动降级线下转账。
云盘授权
三方网盘与回调
写入 app_config 的 cloud_oauth;桌面端启动时自动读取,client_id 为空时按钮置灰。
搜索模板
模板库、适用范围与使用统计
动态公告
富文本、定向与定时发布
参数配置
默认配置项与版本下发
同步配置
下发 · 开关 · 发布 · 审计