CGL SCRM / routes
路由全清单
方法 · 路径 · 处理函数 · 源码位置
全部 199 个网址
这是系统对外暴露的完整清单,一条不落。搜索框可以按网址、函数名、文件名过滤。
199
合计
去重后的「网址 + 方式」
141
GET(打开页面 / 取数据)
不改变数据
56
POST(提交 / 修改)
会改变数据
36
对外开放接口
/api/v1/*
这张表是怎么来的:系统启动的时候会把自己注册过哪些网址全部列出来,
我们直接读这份列表——不是人工抄的,也不是从文档里扒的。
为了保险,还用另一套完全不同的办法(数代码里写了多少个网址定义)数了一遍,两个数对得上。
(顺带一提:这两个数第一次并不一致,查出来是旧记录写错了。所以「多少条」这种事,我们只信现数的。)
| 方式 | 网址 | 处理函数 | 源码位置 | 权限检查 | 这个网址干什么 |
|---|---|---|---|---|---|
| GET | / | root | main.py:395 | 无(任何人可访问) | — |
| GET | /Botch_qrcode/New_aevent/{aid:int}/{mid:int} | event_qr | routers/video/qrcode.py:108 | 无(任何人可访问) | 活动 × 顾问 的二维码直出(原站同名路径,匿名可访问)。 |
| GET | /Botch_qrcode/New_aevent/{aid}/{mid}.jpg | event_qr | routers/video/qrcode.py:108 | 无(任何人可访问) | 活动 × 顾问 的二维码直出(原站同名路径,匿名可访问)。 |
| GET | /Botch_qrcode/survey/{qid:int}/{mid:int} | survey_qr | routers/video/qrcode.py:161 | 无(任何人可访问) | 问卷 × 顾问 的二维码直出。语义与 event_qr 一致(必须走微信带参码), 差异只有 scene_str 里带的是 survey_id 而不是 activity_id。见 event_qr 的注释。 |
| GET | /Botch_qrcode/survey/{qid}/{mid}.jpg | survey_qr | routers/video/qrcode.py:161 | 无(任何人可访问) | 问卷 × 顾问 的二维码直出。语义与 event_qr 一致(必须走微信带参码), 差异只有 scene_str 里带的是 survey_id 而不是 activity_id。见 event_qr 的注释。 |
| GET | /Botch_qrcode/url.png | url_qr | routers/video/qrcode.py:188 | 无(任何人可访问) | 任意 URL 直出二维码(新功能)。 |
| POST | /Manager/Common/newlogin | login_submit | routers/auth.py:51 | 无(任何人可访问) | 路径与字段名刻意复刻原站,方便老脚本/老前端平移。 |
| GET | /api/v1/events API | api_events | routers/api/v1.py:884 | depget_dbpage_params | 活动列表 |
| GET | /api/v1/events/{aid} API | api_event_detail | routers/api/v1.py:898 | depget_db | 活动详情(含统计/表单字段/分享码) |
| GET | /api/v1/events/{aid}/signups API | api_event_signups | routers/api/v1.py:953 | depget_dbpage_params | 报名名单 |
| POST | /api/v1/events/{aid}/signups API | api_event_signup | routers/api/v1.py:989 | depget_db | 代客报名(写线索 + 评分 + 归因) |
| POST | /api/v1/events/{aid}/signups/{sid}/audit API | api_audit_signup | routers/api/v1.py:1039 | depget_db | 报名审核 |
| POST | /api/v1/events/{aid}/signups/{sid}/checkin API | api_checkin | routers/api/v1.py:1057 | depget_db | 签到 |
| GET | /api/v1/health API | api_health | routers/api/v1.py:456 | get_db | 供 Aily / 监控探活。 |
| GET | /api/v1/leads API | api_leads | routers/api/v1.py:488 | depget_dbpage_params | 线索列表(分页 + 筛选) |
| GET | /api/v1/leads/duplicates API | api_find_duplicates | routers/api/v1.py:787 | depget_db | 查重(手机/邮箱/openid 三键) |
| GET | /api/v1/leads/export.csv API | api_export_leads | routers/api/v1.py:801 | depget_db | 导出线索 CSV。 |
| POST | /api/v1/leads/merge API | api_merge_leads | routers/api/v1.py:763 | depget_db | 合并重复线索(新功能) |
| GET | /api/v1/leads/{uid:int} API | api_lead_detail | routers/api/v1.py:517 | depget_db | 线索详情(含标签/行为/备注/归因链) |
| POST | /api/v1/leads/{uid:int}/behaviors API | api_add_behavior | routers/api/v1.py:605 | depget_db | 写入线索行为(自动参与评分) |
| POST | /api/v1/leads/{uid:int}/remark API | api_add_remark | routers/api/v1.py:708 | depget_db | 追加跟进备注 |
| POST | /api/v1/leads/{uid:int}/status API | api_set_status | routers/api/v1.py:660 | depget_db | 变更线索状态 |
| POST | /api/v1/leads/{uid:int}/tags API | api_set_tags | routers/api/v1.py:729 | depget_db | 打标签 / 取消标签 |
| GET | /api/v1/meta/scopes API | api_scopes | routers/api/v1.py:474 | api_identity | 列出可用 scope |
| GET | /api/v1/qrcodes API | api_qrcodes | routers/api/v1.py:1235 | depget_db | 二维码台账(新功能:原站不落档、不可统计) |
| POST | /api/v1/qrcodes/event API | api_qrcode_event | routers/api/v1.py:1245 | depget_db | 生成活动带参二维码 |
| GET | /api/v1/qrcodes/preview.png API | api_qrcode_preview | routers/api/v1.py:1338 | dep | 内网演示 / 联调用:本地生成 PNG 直出,不产生微信归因。 |
| POST | /api/v1/qrcodes/survey API | api_qrcode_survey | routers/api/v1.py:1301 | depget_db | 生成问卷带参二维码 |
| GET | /api/v1/stats/behaviors API | api_stats_behaviors | routers/api/v1.py:1380 | depget_db | 行为分布 |
| GET | /api/v1/stats/channels API | api_stats_channels | routers/api/v1.py:1390 | depget_db | 渠道分布 |
| GET | /api/v1/stats/funnel API | api_stats_funnel | routers/api/v1.py:1372 | depget_db | 状态漏斗 |
| GET | /api/v1/stats/leaderboard API | api_stats_leaderboard | routers/api/v1.py:1399 | depget_db | 顾问业绩榜 + 活动/问卷排行 |
| GET | /api/v1/stats/overview API | api_stats_overview | routers/api/v1.py:1354 | depget_db | 总览指标(含环比) |
| GET | /api/v1/stats/recent-leads API | api_stats_recent | routers/api/v1.py:1422 | depget_db | 最新线索(供大屏轮播) |
| GET | /api/v1/stats/today API | api_stats_today | routers/api/v1.py:1414 | depget_db | 今日快照 |
| GET | /api/v1/stats/trend API | api_stats_trend | routers/api/v1.py:1363 | depget_db | 新增线索 / 报名 / 答卷 趋势 |
| GET | /api/v1/surveys API | api_surveys | routers/api/v1.py:1088 | depget_dbpage_params | 问卷列表 |
| GET | /api/v1/surveys/{qid}/answers API | api_survey_answers | routers/api/v1.py:1195 | depget_dbpage_params | 答卷列表 |
| POST | /api/v1/surveys/{qid}/answers API | api_survey_answer | routers/api/v1.py:1147 | depget_db | 提交答卷(自动评分并落线索) |
| GET | /api/v1/surveys/{qid}/schema API | api_survey_schema | routers/api/v1.py:1124 | depget_db | 问卷结构(供 H5 / 外部表单渲染) |
| GET | /api/v1/tokens API | api_tokens | routers/api/v1.py:1536 | get_current_userget_db | Token 列表(含归属人与签发人) |
| POST | /api/v1/tokens API | api_token_create | routers/api/v1.py:1544 | get_current_userget_db | 按人签发。 |
| DELETE | /api/v1/tokens/{tid} API | api_token_revoke | routers/api/v1.py:1652 | get_current_userget_db | 停用 Token(软停,记录保留) |
| GET | /favicon.ico | favicon | main.py:402 | 无(任何人可访问) | — |
| GET | /files/{key:path} | serve_file | routers/files.py:90 | 无(任何人可访问) | 按 key 出图。匿名可访问 —— 与原有的静态目录语义一致。 |
| GET | /healthz | healthz | main.py:313 | 无(任何人可访问) | — |
| GET | /manager | dashboard | routers/manager/dashboard.py:29 | get_current_userget_db | 首页看板。原站路径 /manager/Dashboard/statisticall。 |
| GET | /manager/ | dashboard | routers/manager/dashboard.py:29 | get_current_userget_db | 首页看板。原站路径 /manager/Dashboard/statisticall。 |
| GET | /manager/ChartStatictical/chart_staticall | chart_statistical | routers/manager/dashboard.py:64 | get_current_userget_db | 平台统计(趋势 + 构成)。 |
| GET | /manager/ContentSet/content_management | content_list | routers/manager/system.py:120 | get_current_userget_db | — |
| GET | /manager/ContentSet/receptionset | reception_set | routers/manager/system.py:159 | get_current_userget_db | — |
| GET | /manager/CustomMeeting/ctm_meetlist | meeting_list | routers/manager/events.py:486 | get_current_userget_db | — |
| GET | /manager/Dashboard/statisticall | dashboard | routers/manager/dashboard.py:29 | get_current_userget_db | 首页看板。原站路径 /manager/Dashboard/statisticall。 |
| GET | /manager/Email_Campaign/newsend_maillist | campaign_list | routers/manager/system.py:356 | get_current_userget_db | 群发记录(短信 / 邮件 / 模板消息共用一张 campaign 表)。 |
| GET | /manager/GroupTemplate/grouptemplist | group_template_list | routers/manager/system.py:348 | get_current_userget_db | — |
| GET | /manager/Interactive/interlist | interactive_list | routers/manager/system.py:325 | get_current_userget_db | — |
| GET | /manager/Leadsfunnel/leadlist | lead_list | routers/manager/leads.py:84 | get_current_userget_db | 线索列表。保留原站全部 s_* 筛选参数。 |
| GET | /manager/Message_Send/message_sendlist | campaign_list | routers/manager/system.py:356 | get_current_userget_db | 群发记录(短信 / 邮件 / 模板消息共用一张 campaign 表)。 |
| GET | /manager/N_Event/a_event_detail | event_detail_by_query | routers/manager/events.py:120 | get_current_userget_db | 活动详情(查询式 URL:/manager/N_Event/a_event_detail?aid=)。见上一条说明。 |
| POST | /manager/N_Event/a_event_save | event_save | routers/manager/events.py:157 | get_current_userget_db | — |
| GET | /manager/N_Event/a_eventlist | event_list | routers/manager/events.py:79 | get_current_userget_db | — |
| POST | /manager/N_Event/beautify_qr_code | beautify_qr | routers/video/qrcode.py:295 | get_current_user | 二维码美化(内嵌 Logo)—— 与原站同名路径,接收 image 字节流或 aid/mid。 |
| POST | /manager/N_Event/gen_all_posters | gen_all_posters | routers/manager/events.py:357 | get_current_userget_db | 一键为全部已有分享码的顾问合成海报。 |
| POST | /manager/N_Event/gen_poster | gen_poster | routers/manager/events.py:279 | get_current_userget_db | 为单个顾问合成品牌海报(复刻 WechatPost 的服务端合成)。 |
| POST | /manager/N_Event/gen_share_qr | gen_share_qr | routers/manager/events.py:225 | get_current_userget_db | 为指定顾问(或全部活跃顾问)生成带参二维码。 |
| GET | /manager/N_Event/pack_download | pack_download | routers/video/qrcode.py:245 | get_current_user | 批量二维码(可含海报)ZIP 下载 —— 与原站同名路径。 |
| GET | /manager/N_Event/share_preview | share_preview | routers/manager/events.py:337 | get_current_userget_db | 顾问分享页(二维码矩阵)—— 与原站 a_event_share_er 同构。 |
| POST | /manager/N_Event/signup_audit | signup_audit | routers/manager/events.py:406 | get_current_userget_db | — |
| POST | /manager/N_Event/signup_checkin | signup_checkin | routers/manager/events.py:428 | get_current_userget_db | — |
| GET | /manager/N_Event/signups_export | signups_export | routers/manager/events.py:446 | get_current_userget_db | 导出某活动的报名名单。 |
| POST | /manager/Power/account_save | account_save | routers/manager/accounts.py:102 | get_current_userget_db | 新建/编辑账号。仅管理员可操作。 |
| POST | /manager/Power/kick_session | kick_session | routers/manager/accounts.py:170 | get_current_userget_db | 踢出会话(原站会话不落库,无此能力)。 |
| GET | /manager/Power/powerlist | account_list | routers/manager/accounts.py:46 | get_current_userget_db | — |
| POST | /manager/Score/rescore_all | rescore_all | routers/manager/system.py:261 | get_current_userget_db | 按新规则批量重算全部线索评分(后台任务,取前 N 条避免阻塞)。 |
| POST | /manager/Score/rule_save | rule_save | routers/manager/system.py:220 | get_current_userget_db | — |
| GET | /manager/Score/scorebehavior | score_rules | routers/manager/system.py:207 | get_current_userget_db | — |
| GET | /manager/Send_ElectronicMail/send_maillist | campaign_list | routers/manager/system.py:356 | get_current_userget_db | 群发记录(短信 / 邮件 / 模板消息共用一张 campaign 表)。 |
| GET | /manager/Sendmanage/replyauto | autoreply_list | routers/manager/wechat.py:462 | get_current_userget_db | — |
| POST | /manager/Sendmanage/replyauto_save | autoreply_save | routers/manager/wechat.py:469 | get_current_userget_db | — |
| POST | /manager/Surveyqst/add_question | add_question | routers/manager/surveys.py:197 | get_current_userget_db | 加题。选项用换行分隔,选项分值用逗号分隔(对话式建卷的落点)。 |
| GET | /manager/Surveyqst/answers | survey_answers | routers/manager/surveys.py:323 | get_current_userget_db | 某问卷的答卷列表。 |
| GET | /manager/Surveyqst/answers_export | answers_export | routers/manager/surveys.py:363 | get_current_userget_db | — |
| POST | /manager/Surveyqst/clone | clone_survey | routers/manager/surveys.py:302 | get_current_userget_db | — |
| POST | /manager/Surveyqst/del_question | del_question | routers/manager/surveys.py:247 | get_current_userget_db | — |
| GET | /manager/Surveyqst/schema.json | schema_json | routers/manager/surveys.py:397 | get_current_userget_db | 问卷结构 JSON(前后端契约,含原站 overall/surveyattr 两字段)。 |
| POST | /manager/Surveyqst/set_options | set_options | routers/manager/surveys.py:266 | get_current_userget_db | 整组替换选项 —— 「选项调节通过对话直接设置」的落点。 |
| GET | /manager/Surveyqst/survey_qstcreate_edit | survey_edit_by_query | routers/manager/surveys.py:106 | get_current_userget_db | 问卷编辑(查询式 URL:/manager/Surveyqst/survey_qstcreate_edit?qid=)。见上一条说明。 |
| GET | /manager/Surveyqst/survey_qstlist | survey_list | routers/manager/surveys.py:49 | get_current_userget_db | — |
| POST | /manager/Surveyqst/survey_save | survey_save | routers/manager/surveys.py:143 | get_current_userget_db | 建卷 / 改卷。表单字段名对齐原站 overall[...] 的子键名。 |
| GET | /manager/System/audit_export | audit_export | routers/manager/audit.py:85 | get_current_userget_db | — |
| GET | /manager/System/audit_log | audit_view | routers/manager/audit.py:38 | get_current_userget_db | 操作审计日志(新功能)。 |
| GET | /manager/System/s_systemlist | system_list | routers/manager/system.py:55 | get_current_userget_db | 系统设置:读环境变量 + 数据库覆盖项 + 运行状态自检。 |
| POST | /manager/System/setting_save | setting_save | routers/manager/system.py:88 | get_current_userget_db | — |
| POST | /manager/System/webhook_save | webhook_save | routers/manager/wechat.py:573 | get_current_userget_db | — |
| POST | /manager/System/webhook_test | webhook_test | routers/manager/wechat.py:616 | get_current_userget_db | — |
| GET | /manager/System/webhooks | webhook_list | routers/manager/wechat.py:554 | get_current_userget_db | — |
| GET | /manager/Tag/eventtagsmart | tag_list | routers/manager/system.py:165 | get_current_userget_db | — |
| POST | /manager/Tag/tag_save | tag_save | routers/manager/system.py:172 | get_current_userget_db | — |
| GET | /manager/TemplateMsg/group_template | group_template_list | routers/manager/system.py:348 | get_current_userget_db | — |
| GET | /manager/TemplateMsg/template_sendlist | template_list | routers/manager/wechat.py:502 | get_current_userget_db | — |
| POST | /manager/TemplateMsg/template_sync | template_sync | routers/manager/wechat.py:510 | get_current_userget_db | 拉取线上模板消息列表(只读)。实测线上有 11 条。 |
| GET | /manager/UserGrouping/ug_ungroupedlist | ungrouped | routers/manager/leads.py:165 | get_current_userget_db | 未分组用户(原站同名页)。 |
| GET | /manager/WebSite/w_websitelist | website_list | routers/manager/system.py:288 | get_current_userget_db | — |
| GET | /manager/WechatPost/addPost | poster_new | routers/manager/wechat.py:102 | get_current_userget_db | 新建海报模板页(复刻原站 addPost 表单:底图 + 偏移 + 尺寸)。 |
| POST | /manager/WechatPost/ajax_addposter | poster_save | routers/manager/wechat.py:116 | get_current_userget_db | 保存海报模板 —— 字段名与原站 ajax_addposter 完全一致。 |
| POST | /manager/WechatPost/deleteoneposter | poster_delete | routers/manager/wechat.py:228 | get_current_userget_db | — |
| GET | /manager/WechatPost/followers | follower_list | routers/manager/wechat.py:279 | get_current_userget_db | 粉丝列表(含扫码归因字段 —— 这是归因链的源头)。 |
| POST | /manager/WechatPost/material_sync | material_sync | routers/manager/wechat.py:439 | get_current_userget_db | 同步素材统计(只读)。原站 6474 图片 / 444 图文 / 29 视频。 |
| GET | /manager/WechatPost/materials | material_list | routers/manager/wechat.py:407 | get_current_userget_db | — |
| GET | /manager/WechatPost/menu | menu_list | routers/manager/wechat.py:354 | get_current_userget_db | — |
| POST | /manager/WechatPost/menu_sync | menu_sync | routers/manager/wechat.py:361 | get_current_userget_db | 从微信拉取线上菜单并落库(只读,不改线上)。 |
| GET | /manager/WechatPost/overview | wechat_overview | routers/manager/wechat.py:249 | get_current_userget_db | 微信模块总览:配置状态 + 接口能力 + 最近事件 + 粉丝/二维码统计。 |
| POST | /manager/WechatPost/preview | poster_preview | routers/manager/wechat.py:164 | get_current_userget_db | 实时预览:按给定坐标把二维码叠到底图/品牌底图上,返回 PNG(不落库)。 |
| GET | /manager/WechatPost/qrcodes | qrcode_list | routers/manager/wechat.py:313 | get_current_userget_db | — |
| GET | /manager/WechatPost/wechatpost_list | poster_list | routers/manager/wechat.py:72 | get_current_userget_db | — |
| GET | /manager/accounts | account_list | routers/manager/accounts.py:46 | get_current_userget_db | — |
| GET | /manager/articles | article_list | routers/manager/system.py:294 | get_current_userget_db | — |
| GET | /manager/audit | audit_view | routers/manager/audit.py:38 | get_current_userget_db | 操作审计日志(新功能)。 |
| GET | /manager/audit/target | audit_target | routers/manager/audit.py:114 | get_current_userget_db | 某个对象的操作时间线。 |
| GET | /manager/business/ipc2b | ipc2b | routers/manager/accounts.py:289 | get_current_userget_db | IPC2B 业务勾兑(原站同名页)。 |
| GET | /manager/campaigns | campaign_list | routers/manager/system.py:356 | get_current_userget_db | 群发记录(短信 / 邮件 / 模板消息共用一张 campaign 表)。 |
| GET | /manager/content | content_list | routers/manager/system.py:120 | get_current_userget_db | — |
| GET | /manager/dashboard | dashboard | routers/manager/dashboard.py:29 | get_current_userget_db | 首页看板。原站路径 /manager/Dashboard/statisticall。 |
| GET | /manager/event/eventlist | event_list | routers/manager/events.py:79 | get_current_userget_db | — |
| GET | /manager/events | event_list | routers/manager/events.py:79 | get_current_userget_db | — |
| GET | /manager/events/{aid} | event_detail | routers/manager/events.py:105 | get_current_userget_db | 活动详情(路径式 URL /manager/events/{aid})。 |
| GET | /manager/health/summary | health_summary | routers/manager/dashboard.py:101 | get_current_userget_db | 系统健康摘要(JSON,供前端轮询)。 |
| GET | /manager/inquiries | inquiry_list | routers/manager/system.py:397 | get_current_userget_db | — |
| GET | /manager/inquiry/inquirylist | inquiry_list | routers/manager/system.py:397 | get_current_userget_db | — |
| GET | /manager/leads | lead_list | routers/manager/leads.py:84 | get_current_userget_db | 线索列表。保留原站全部 s_* 筛选参数。 |
| GET | /manager/leads/export | export_leads | routers/manager/leads.py:521 | get_current_userget_db | 导出线索。表头与原站 32 列一致(EXPORTABLE_FIELDS)。 |
| GET | /manager/leads/{uid:int} | lead_detail | routers/manager/leads.py:193 | get_current_userget_db | 线索详情:基本资料 + 行为时间线 + 归因 + 备注 + 标签(路径式 URL)。 |
| GET | /manager/login | login_page | routers/auth.py:44 | 无(任何人可访问) | — |
| POST | /manager/login | login_post | routers/auth.py:63 | 无(任何人可访问) | — |
| GET | /manager/logout | logout | routers/auth.py:169 | 无(任何人可访问) | — |
| POST | /manager/logout | logout | routers/auth.py:169 | 无(任何人可访问) | — |
| GET | /manager/meetings | meeting_list | routers/manager/events.py:486 | get_current_userget_db | — |
| POST | /manager/password | change_password | routers/auth.py:195 | get_db | — |
| GET | /manager/power/businessiplist | power_center | routers/manager/accounts.py:189 | get_current_userget_db | 权限中心:角色 × 权限矩阵。 |
| GET | /manager/power/center | power_center | routers/manager/accounts.py:189 | get_current_userget_db | 权限中心:角色 × 权限矩阵。 |
| GET | /manager/power/traffic | traffic_list | routers/manager/accounts.py:205 | get_current_userget_db | 流量溯源(原站 /manager/power/businessiplist,61 条)。 |
| GET | /manager/profile | profile | routers/manager/accounts.py:307 | get_current_userget_db | — |
| POST | /manager/register/ai_score | ai_score | routers/manager/leads.py:471 | get_current_userget_db | 对单条线索触发一次 AI 评分(原站完全没有这个能力)。 |
| POST | /manager/register/assign | assign | routers/manager/leads.py:358 | get_current_userget_db | 线索分配(原站无独立分配记录,本系统记 lead_assignment)。 |
| POST | /manager/register/delete | delete_lead | routers/manager/leads.py:427 | get_current_userget_db | 删除线索。默认软删(原站是物理删除,本系统改为可恢复)。 |
| GET | /manager/register/export | export_leads | routers/manager/leads.py:521 | get_current_userget_db | 导出线索。表头与原站 32 列一致(EXPORTABLE_FIELDS)。 |
| GET | /manager/register/export_fields | export_fields_meta | routers/manager/leads.py:568 | get_current_user | 可选导出字段元数据(供前端勾选列)。 |
| POST | /manager/register/merge | merge | routers/manager/leads.py:402 | get_current_userget_db | — |
| GET | /manager/register/register_detail | lead_detail_by_query | routers/manager/leads.py:208 | get_current_userget_db | 线索详情(查询式 URL:/manager/register/register_detail?uid=)。见上一条说明。 |
| GET | /manager/register/registerlist | lead_list | routers/manager/leads.py:84 | get_current_userget_db | 线索列表。保留原站全部 s_* 筛选参数。 |
| POST | /manager/register/remark | add_remark | routers/manager/leads.py:292 | get_current_userget_db | — |
| POST | /manager/register/rescore | rescore | routers/manager/leads.py:461 | get_current_userget_db | — |
| POST | /manager/register/set_status | set_status | routers/manager/leads.py:266 | get_current_userget_db | — |
| POST | /manager/register/tags | set_tags | routers/manager/leads.py:331 | get_current_userget_db | — |
| GET | /manager/reports | reports_home | routers/manager/reports.py:29 | get_current_userget_db | 报表中心首页。 |
| GET | /manager/reports/api.json | reports_json | routers/manager/reports.py:115 | get_current_userget_db | 报表数据 JSON(供前端图表复用)。 |
| GET | /manager/reports/attribution | attribution_report | routers/manager/dashboard.py:85 | get_current_userget_db | 归因报表(新功能)——扫码漏斗 + 顾问榜 + 活动归因。 |
| GET | /manager/reports/attribution_export | attribution_export | routers/manager/reports.py:131 | get_current_userget_db | 归因明细导出(每条扫码事件的解析结果)。 |
| GET | /manager/reports/charts | chart_statistical | routers/manager/dashboard.py:64 | get_current_userget_db | 平台统计(趋势 + 构成)。 |
| GET | /manager/reports/summary_export | summary_export | routers/manager/reports.py:48 | get_current_userget_db | 汇总报表导出(多 sheet CSV → 单 CSV,含 5 个板块)。 |
| GET | /manager/scores | score_rules | routers/manager/system.py:207 | get_current_userget_db | — |
| GET | /manager/surveys | survey_list | routers/manager/surveys.py:49 | get_current_userget_db | — |
| GET | /manager/surveys/{qid} | survey_edit | routers/manager/surveys.py:91 | get_current_userget_db | 问卷编辑(路径式 URL /manager/surveys/{qid})。 |
| GET | /manager/system | system_list | routers/manager/system.py:55 | get_current_userget_db | 系统设置:读环境变量 + 数据库覆盖项 + 运行状态自检。 |
| GET | /manager/tags | tag_list | routers/manager/system.py:165 | get_current_userget_db | — |
| GET | /manager/traffic | traffic_list | routers/manager/accounts.py:205 | get_current_userget_db | 流量溯源(原站 /manager/power/businessiplist,61 条)。 |
| GET | /manager/tribune/dis_articlelist | article_list | routers/manager/system.py:294 | get_current_userget_db | — |
| GET | /manager/webhooks | webhook_list | routers/manager/wechat.py:554 | get_current_userget_db | — |
| GET | /manager/wechat | wechat_overview | routers/manager/wechat.py:249 | get_current_userget_db | 微信模块总览:配置状态 + 接口能力 + 最近事件 + 粉丝/二维码统计。 |
| GET | /manager/wechat/autoreply | autoreply_list | routers/manager/wechat.py:462 | get_current_userget_db | — |
| GET | /manager/wechat/followers | follower_list | routers/manager/wechat.py:279 | get_current_userget_db | 粉丝列表(含扫码归因字段 —— 这是归因链的源头)。 |
| GET | /manager/wechat/materials | material_list | routers/manager/wechat.py:407 | get_current_userget_db | — |
| GET | /manager/wechat/menu | menu_list | routers/manager/wechat.py:354 | get_current_userget_db | — |
| GET | /manager/wechat/posters | poster_list | routers/manager/wechat.py:72 | get_current_userget_db | — |
| GET | /manager/wechat/posters/new | poster_new | routers/manager/wechat.py:102 | get_current_userget_db | 新建海报模板页(复刻原站 addPost 表单:底图 + 偏移 + 尺寸)。 |
| GET | /manager/wechat/qrcodes | qrcode_list | routers/manager/wechat.py:313 | get_current_userget_db | — |
| GET | /manager/wechat/templates | template_list | routers/manager/wechat.py:502 | get_current_userget_db | — |
| GET | /manager/workFlow/wk_tasklist | workflow_list | routers/manager/system.py:333 | get_current_userget_db | — |
| GET | /manager/workflows | workflow_list | routers/manager/system.py:333 | get_current_userget_db | — |
| DELETE | /mcp MCP | mcp_delete | routers/mcp.py:783 | 无(任何人可访问) | 会话终止。无状态实现无需清理,回 204 让客户端收尾干净。 |
| GET | /mcp MCP | mcp_get | routers/mcp.py:773 | 无(任何人可访问) | 规范里 GET 是「服务端主动推送流」。我们不做推送,明确 405,别让客户端挂住。 |
| POST | /mcp MCP | mcp_post | routers/mcp.py:711 | api_identity | MCP Streamable HTTP 端点。 |
| GET | /qr/preview/{biz}/{biz_id} | preview | routers/video/qrcode.py:202 | get_current_userget_db | 二维码预览页(带下载/复制按钮,运营用)。 |
| GET | /readyz | readyz | main.py:330 | 无(任何人可访问) | — |
| GET | /video/A_Event/a_event | event_landing | routers/video/h5.py:115 | 无(任何人可访问) | 活动报名落地页。 |
| GET | /video/A_Event/a_event_new | event_landing | routers/video/h5.py:115 | 无(任何人可访问) | 活动报名落地页。 |
| GET | /video/A_Event/a_event_share_er | event_share_page | routers/video/h5.py:289 | 无(任何人可访问) | 顾问分享页 —— 原站就是从这里拿到二维码矩阵(技能里逆向出的真入口)。 |
| POST | /video/A_Event/a_event_signup | event_signup_submit | routers/video/h5.py:191 | 无(任何人可访问) | 提交报名。表单字段名与原站一致(name/mobile/company/jobtitle/corpemail)。 |
| GET | /video/A_Event/signup_done | signup_done | routers/video/h5.py:271 | 无(任何人可访问) | — |
| GET | /video/Questnaire/done | survey_done | routers/video/h5.py:474 | 无(任何人可访问) | — |
| GET | /video/Questnaire/index | survey_page | routers/video/h5.py:327 | 无(任何人可访问) | — |
| GET | /video/Questnaire/questionnaire | survey_page | routers/video/h5.py:327 | 无(任何人可访问) | — |
| POST | /video/Questnaire/submit | survey_submit | routers/video/h5.py:374 | 无(任何人可访问) | — |
| GET | /video/Questnaire/survey | survey_page | routers/video/h5.py:327 | 无(任何人可访问) | — |
| GET | /video/index/index | wechat_verify | routers/wechat_callback.py:90 | 无(任何人可访问) | /video/index/index 的 GET —— 一条路径两种用途,按参数分流。 |
| POST | /video/index/index | wechat_event | routers/wechat_callback.py:119 | 无(任何人可访问) | — |
| GET | wechat_verify | routers/wechat_callback.py:90 | 无(任何人可访问) | /video/index/index 的 GET —— 一条路径两种用途,按参数分流。 |
|
| POST | wechat_event | routers/wechat_callback.py:119 | 无(任何人可访问) | — | |
| GET | /wechat/health | wechat_health | routers/wechat_callback.py:259 | 无(任何人可访问) | 回调链路自检(运维用,不暴露敏感值)。 |
网址里带了参数的那些
下面这些网址需要客户或浏览器传参数进来。列出来是为了讲清「哪个参数是必填、什么类型」—— 参数填错时系统会直接拒绝,而不是猜一个默认值继续跑。
| 网址 | 参数 | 在哪 | 类型 | 必填 |
|---|---|---|---|---|
| /Botch_qrcode/New_aevent/{aid:int}/{mid:int} | aid | 网址里 | int | 必填 |
| mid | 网址里 | int | 必填 | |
| /Botch_qrcode/New_aevent/{aid}/{mid}.jpg | aid | 网址里 | int | 必填 |
| mid | 网址里 | int | 必填 | |
| /Botch_qrcode/survey/{qid:int}/{mid:int} | mid | 网址里 | int | 必填 |
| qid | 网址里 | int | 必填 | |
| /Botch_qrcode/survey/{qid}/{mid}.jpg | mid | 网址里 | int | 必填 |
| qid | 网址里 | int | 必填 | |
| /Botch_qrcode/url.png | logo | 问号后 | bool | 可省 |
| size | 问号后 | int | 可省 | |
| u | 问号后 | str | 必填 | |
| /api/v1/events | event_status | 问号后 | str | 可省 |
| keyword | 问号后 | str | 可省 | |
| /api/v1/events/{aid} | aid | 网址里 | int | 必填 |
| /api/v1/events/{aid}/signups | aid | 网址里 | int | 必填 |
| audit_status | 问号后 | int | None | 可省 | |
| /api/v1/events/{aid}/signups | aid | 网址里 | int | 必填 |
| /api/v1/events/{aid}/signups/{sid}/audit | aid | 网址里 | int | 必填 |
| sid | 网址里 | int | 必填 | |
| /api/v1/events/{aid}/signups/{sid}/checkin | aid | 网址里 | int | 必填 |
| sid | 网址里 | int | 必填 | |
| /api/v1/leads | channel | 问号后 | str | 可省 |
| city | 问号后 | str | 可省 | |
| consultant_id | 问号后 | int | None | 可省 | |
| end | 问号后 | str | 可省 | |
| grade | 问号后 | str | 可省 | |
| include_deleted | 问号后 | bool | 可省 | |
| industry | 问号后 | str | 可省 | |
| keyword | 问号后 | str | 可省 | |
| start | 问号后 | str | 可省 | |
| status_csv | 问号后 | str | 可省 | |
| /api/v1/leads/duplicates | corpemail | 问号后 | str | 可省 |
| mobile | 问号后 | str | 可省 | |
| openid | 问号后 | str | 可省 | |
| /api/v1/leads/export.csv | end | 问号后 | str | 可省 |
| keyword | 问号后 | str | 可省 | |
| limit | 问号后 | int | 可省 | |
| start | 问号后 | str | 可省 | |
| status_csv | 问号后 | str | 可省 | |
| /api/v1/leads/{uid:int} | uid | 网址里 | int | 必填 |
| behaviors | 问号后 | int | 可省 | |
| remarks | 问号后 | int | 可省 | |
| /api/v1/leads/{uid:int}/behaviors | uid | 网址里 | int | 必填 |
| /api/v1/leads/{uid:int}/remark | uid | 网址里 | int | 必填 |
| /api/v1/leads/{uid:int}/status | uid | 网址里 | int | 必填 |
| /api/v1/leads/{uid:int}/tags | uid | 网址里 | int | 必填 |
| /api/v1/qrcodes | biz_type | 问号后 | str | 可省 |
| limit | 问号后 | int | 可省 | |
| /api/v1/qrcodes/preview.png | size | 问号后 | int | 可省 |
| url | 问号后 | str | 必填 | |
| /api/v1/stats/behaviors | days | 问号后 | int | 可省 |
| limit | 问号后 | int | 可省 | |
| /api/v1/stats/channels | days | 问号后 | int | 可省 |
| /api/v1/stats/leaderboard | days | 问号后 | int | 可省 |
| limit | 问号后 | int | 可省 | |
| /api/v1/stats/overview | days | 问号后 | int | 可省 |
| /api/v1/stats/recent-leads | limit | 问号后 | int | 可省 |
| /api/v1/stats/trend | days | 问号后 | int | 可省 |
| /api/v1/surveys | include_deleted | 问号后 | bool | 可省 |
| keyword | 问号后 | str | 可省 | |
| /api/v1/surveys/{qid}/answers | qid | 网址里 | int | 必填 |
| /api/v1/surveys/{qid}/answers | qid | 网址里 | int | 必填 |
| /api/v1/surveys/{qid}/schema | qid | 网址里 | int | 必填 |
| /api/v1/tokens/{tid} | tid | 网址里 | int | 必填 |
| /files/{key:path} | key | 网址里 | str | 必填 |
| /manager | days | 问号后 | int | 可省 |
| /manager/ | days | 问号后 | int | 可省 |
| /manager/ChartStatictical/chart_staticall | days | 问号后 | int | 可省 |
| /manager/Dashboard/statisticall | days | 问号后 | int | 可省 |
| /manager/N_Event/a_event_detail | aid | 问号后 | int | 必填 |
| /manager/N_Event/pack_download | aid | 问号后 | int | 必填 |
| posters | 问号后 | int | 可省 | |
| /manager/N_Event/share_preview | aid | 问号后 | int | 必填 |
| mid | 问号后 | int | None | 可省 | |
| /manager/N_Event/signups_export | aid | 问号后 | int | 必填 |
| /manager/Surveyqst/answers | qid | 问号后 | int | 必填 |
| /manager/Surveyqst/answers_export | qid | 问号后 | int | 必填 |
| /manager/Surveyqst/schema.json | qid | 问号后 | int | 必填 |
| /manager/Surveyqst/survey_qstcreate_edit | qid | 问号后 | int | 必填 |
| /manager/System/audit_export | days | 问号后 | int | 可省 |
| /manager/audit/target | target_id | 问号后 | str | 必填 |
| target_type | 问号后 | str | 必填 | |
| /manager/dashboard | days | 问号后 | int | 可省 |
| /manager/events/{aid} | aid | 网址里 | int | 必填 |
| /manager/leads/export | fmt | 问号后 | str | 可省 |
| limit | 问号后 | int | 可省 | |
| /manager/leads/{uid:int} | uid | 网址里 | int | 必填 |
| /manager/login | next | 问号后 | str | 可省 |
| /manager/register/export | fmt | 问号后 | str | 可省 |
| limit | 问号后 | int | 可省 | |
| /manager/register/register_detail | uid | 问号后 | int | 必填 |
| /manager/reports | days | 问号后 | int | 可省 |
| /manager/reports/api.json | days | 问号后 | int | 可省 |
| /manager/reports/attribution | days | 问号后 | int | 可省 |
| /manager/reports/attribution_export | days | 问号后 | int | 可省 |
| /manager/reports/charts | days | 问号后 | int | 可省 |
| /manager/reports/summary_export | days | 问号后 | int | 可省 |
| /manager/surveys/{qid} | qid | 网址里 | int | 必填 |
| /qr/preview/{biz}/{biz_id} | biz | 网址里 | str | 必填 |
| biz_id | 网址里 | int | 必填 | |
| mid | 问号后 | int | None | 可省 | |
| size | 问号后 | int | 可省 | |
| /video/A_Event/a_event | aid | 问号后 | int | 必填 |
| m | 问号后 | int | None | 可省 | |
| managerid | 问号后 | int | None | 可省 | |
| openid | 问号后 | str | 可省 | |
| /video/A_Event/a_event_new | aid | 问号后 | int | 必填 |
| m | 问号后 | int | None | 可省 | |
| managerid | 问号后 | int | None | 可省 | |
| openid | 问号后 | str | 可省 | |
| /video/A_Event/a_event_share_er | aid | 问号后 | int | 必填 |
| mid | 问号后 | int | None | 可省 | |
| /video/A_Event/signup_done | aid | 问号后 | int | 必填 |
| audit | 问号后 | int | 可省 | |
| sid | 问号后 | int | 可省 | |
| /video/Questnaire/done | qid | 问号后 | int | 必填 |
| score | 问号后 | int | 可省 | |
| /video/Questnaire/index | inviter | 问号后 | str | 可省 |
| openid | 问号后 | str | 可省 | |
| qid | 问号后 | int | 必填 | |
| /video/Questnaire/questionnaire | inviter | 问号后 | str | 可省 |
| openid | 问号后 | str | 可省 | |
| qid | 问号后 | int | 必填 | |
| /video/Questnaire/survey | inviter | 问号后 | str | 可省 |
| openid | 问号后 | str | 可省 | |
| qid | 问号后 | int | 必填 |
「在哪」这一列:网址里是说这个值直接写在网址路径上(比如
/manager/leads/123 里的 123);
问号后是指网址后面跟 ?page=2&size=20 这种。