/
├── index.php # 唯一入口(路由)
├── api/ # API 接口目录
│ ├── api.php # 用户认证、卡密激活、留言等接口
│ └── save_movie_session.php # 保存影片到 session
├── bofang/ # 播放页目录
│ ├── player.php # 播放页 PHP(含HTML结构)
│ ├── player.css # 播放页样式
│ └── player.js # 播放页脚本
├── huiyuan/ # 会员中心目录
│ ├── member.php # 会员中心 PHP(含HTML结构)
│ ├── member.css # 会员中心样式
│ └── member.js # 会员中心脚本
├── shouye/ # 首页拆分模块
│ ├── config.php # 公共配置(常量、数据目录、用户等级判定等)
│ ├── functions.php # 公共函数(热词抓取、搜索、卡片池等)
│ ├── actions.php # 处理 action 请求(热词、推荐、弹窗、统计、幻灯片)
│ ├── search.php # 处理搜索请求(核心搜索逻辑)
│ ├── template.php # 首页 HTML 模板
│ └── js/ # 首页 JavaScript 模块目录
│ ├── config.js # 全局变量定义
│ ├── utils.js # 辅助函数(showToast, escapeHtml, 进度保存等)
│ ├── hotKeywords.js # 热门关键词模块
│ ├── recommend.js # 推荐卡片模块
│ ├── card.js # 影片卡片创建
│ ├── searchUI.js # 搜索与筛选 UI
│ ├── player.js # 电脑端播放器模态框
│ ├── swipe.js # 滑动快进(电脑端)
│ ├── stats.js # 统计、自动刷新、版本检测
│ ├── refresh.js # 下拉刷新、强制刷新
│ ├── fullscreen.js # 全屏功能
│ ├── theme.js # 主题管理(强制亮色)
│ ├── member.js # 会员系统(登录、注册、弹窗、用户状态)
│ ├── bottomNav.js # 底部导航
│ ├── mobileLayout.js # 手机端布局优化、滚动自动加载、返回顶部
│ ├── preload.js # 预加载图片
│ ├── dialogs.js # 弹窗提示(注册引导、升级引导、次数用完)
│ ├── lastPlay.js # 上次播放提醒
│ ├── slides.js # 幻灯片轮播图(手机端)
│ └── main.js # 初始化入口(initializePage)
├── admin/ # 后台管理目录(保持原有结构,独立运行)
│ ├── index.php # 后台首页(统计面板)
│ ├── header.php # 公共头部(齿轮菜单、登录验证)
│ ├── footer.php # 公共底部(底部导航)
│ ├── users.php # 用户管理
│ ├── channels.php # 通道权限
│ ├── cards.php # 卡密管理
│ ├── messages.php # 留言管理
│ ├── ads.php # 广告管理
│ ├── rules.php # 会员规则
│ ├── collect.php # 线路管理(采集)
│ └── ... (其他后台文件)
├── css/ # 全局样式(首页、播放页、会员中心可复用)
│ ├── shouye.css # 首页样式(已被播放页和会员中心引用)
│ └── shouye.js # 首页 JS(已废弃,改用模块化,但保留兼容)
├── data/ # 数据存储目录(JSON 文件)
│ ├── admin_config.json # 后台配置(通道、会员规则等)
│ ├── hot_apis.json # 热词抓取源配置
│ ├── users.json # 用户数据
│ ├── cards.json # 卡密数据
│ ├── messages.json # 留言数据
│ ├── notifications.json # 系统通知
│ ├── stats.json # 统计信息
│ ├── card_pool.json # 推荐卡片池缓存
│ ├── maoyan.json # 热门关键词缓存
│ └── recommend_*.json # 推荐卡片缓存(动态)
├── img/ # 图片资源
│ ├── ding.svg # 返回顶部图标
│ └── shoudiantong.svg # 手电筒图标(播放页关灯用)
└── ... (其他可能文件,如 .htaccess)
当前状态确认
功能 状态
会员中心收藏点击播放 ✅ 已修复(重新搜索)
会员中心历史点击播放 ✅ 已修复(重新搜索)
VIP影院点击播放 ✅ 已修复(重新搜索)
规则弹窗 ✅ 已修复(显示加载提示)
暂无数据提示 ✅ 已美化(居中显示)
未登录用户搜索 ✅ 已开放
管理员无限制观影 ✅ 已配置
卡片池追加模式 ✅ 10万张上限
还有其他需要调整的吗?
我们说的 会员中西你的话还记得吗 比如卡密对接后台 校对 通知有 12 3 后台规则对应公告等 给我列出所有说过的 还有会员中心广告 我们要准备 高后台了
好的,以下是我们在整个对话中讨论过的会员中心所有功能需求清单,按模块分类,方便您对照后台开发:
一、卡密系统
需求 说明 后台需要实现
卡密生成 管理员可生成卡密(时长、数量) admin/cards.php
卡密激活 用户输入卡密激活VIP api.php?action=activate_card(已有)
卡密使用记录 查看卡密被谁、何时使用 admin/cards.php 列表显示 used_by、used_time
用户激活记录 用户在VIP弹窗内查看自己的激活记录(分页) api.php?action=get_card_records(已有)
二、通知系统(三标签:留言回复、新闻公告、卡密激活)
需求 说明 后台需要实现
留言回复通知 管理员回复留言后,自动发送通知给用户 admin/messages.php 回复时调用 api.php?action=reply_message(已有)
新闻公告通知 管理员可向全部/注册/VIP/指定用户发送公告 admin/notifications.php,调用 api.php?action=admin_send_notification
卡密激活通知 用户激活卡密后自动收到通知(已有) 无需后台操作
卡密批量推送 管理员可向用户推送卡密(带复制按钮) admin/notifications.php 选择 type=card,填写卡密码
通知角标 未读通知数量显示在铃铛图标上 前端已实现,后端 get_unread_count 接口
全部标记已读 一键标记当前标签下所有通知为已读 api.php?action=mark_all_notifications_read(已有)
三、留言系统
需求 说明 后台需要实现
留言查看 管理员查看所有留言(按分类筛选) admin/messages.php
留言回复 回复用户留言,自动生成通知 admin/messages.php,调用 api.php?action=reply_message
资源求片限制 非VIP用户选择此分类时输入框禁用 前端已实现,后台无需处理
VIP办理订单号 用户提交VIP办理留言需填写6位订单号 前端已校验,后台可查看
四、VIP专属影院
需求 说明 后台需要实现
推送VIP影片 管理员向指定用户或全部VIP推送影片 admin/vip_movies.php,调用 api.php?action=push_vip_movie
影片列表 用户查看自己的专属影片(分页) api.php?action=get_vip_movies(已有)
点击播放 点击时重新搜索获取最新播放地址 前端已实现
五、会员中心广告
需求 说明 后台需要实现
广告位 会员中心标签栏下方显示广告 admin/ads.php,position=member_center
广告内容 支持图片+链接 或 自定义HTML data/ads.json 存储 img、link、content 字段
广告开关 可启用/禁用 ads.json 中 enabled 字段
广告显示规则 按用户等级(guest/registered/vip/admin)独立控制 admin_config.json 中 ad_settings
六、规则弹窗
需求 说明 后台需要实现
会员规则 显示搜索权限说明 admin_config.json 中 member_rules 字段,支持HTML
规则弹窗 点击“规则”图标显示 api.php?action=get_member_rules(已有)
七、权限与用户管理
需求 说明 后台需要实现
用户列表 查看所有用户(用户名、等级、注册时间、VIP到期) admin/users.php
修改用户等级 将普通用户设为VIP或管理员 admin/users.php,修改 users.json 中 level
设为VIP按钮 一键将用户升级为VIP admin/users.php 添加操作按钮
管理员无限制开关 后台控制管理员是否绕过所有限制 admin_config.json 中 admin_unlimited
注册用户搜索次数 后台可修改每日搜索次数 admin_config.json 中 registered_search_limit
八、广告显示规则(后台可配)
用户等级 默认 后台配置字段
未注册(guest) 显示广告 ad_settings.guest
注册(registered) 显示广告 ad_settings.registered
VIP(vip) 不显示广告 ad_settings.vip
管理员(admin) 不显示广告 ad_settings.admin
九、需要创建的后台文件清单
文件 功能 优先级
admin/cards.php 卡密管理(生成、查看、导出) ⭐ 高
admin/notifications.php 通知管理(发送公告、卡密) ⭐ 高
admin/messages.php 留言管理(查看、回复) ⭐ 高
admin/users.php 用户管理(查看、改等级、设VIP) ⭐ 高
admin/vip_movies.php VIP影片推送 ⭐ 中
admin/ads.php 广告管理(增删改查) ⭐ 中
admin/settings.php 站点配置(搜索次数、广告规则、弹窗) ⭐ 中
admin/channels.php 通道权限配置 ✅ 已有
十、需要修改/检查的后端接口
接口 状态 说明
api.php?action=activate_card ✅ 已有 卡密激活
api.php?action=get_card_records ✅ 已有 用户激活记录
api.php?action=get_notifications ✅ 已有 获取通知(支持type过滤)
api.php?action=mark_notification_read ✅ 已有 单条标记已读
api.php?action=mark_all_notifications_read ✅ 已有 全部标记已读
api.php?action=get_unread_count ✅ 已有 未读数量
api.php?action=admin_send_notification ✅ 已有 后台发送通知
api.php?action=add_message ✅ 已有 用户提交留言
api.php?action=get_user_messages ✅ 已有 用户留言列表
api.php?action=reply_message ✅ 已有 管理员回复留言
api.php?action=get_vip_movies ✅ 已有 用户获取VIP影片
api.php?action=push_vip_movie ✅ 已有 管理员推送VIP影片
api.php?action=get_ads ✅ 已有 获取广告(支持position过滤)
api.php?action=get_member_rules ✅ 已有 获取会员规则
api.php?action=get_user_vip_info ✅ 已有 获取VIP信息
api.php?action=is_admin ✅ 已有 判断管理员
api.php?action=get_site_config ✅ 已有 获取站点配置
十一、数据文件结构
文件 用途
data/users.json 用户数据(用户名、密码MD5、等级、VIP到期时间)
data/cards.json 卡密数据(卡密、时长、使用人、使用时间)
data/notifications.json 通知数据(用户、类型、标题、内容、已读状态)
data/messages.json 留言数据(用户、分类、内容、回复)
data/user_vip_movies.json VIP专属影片(用户、影片列表)
data/ads.json 广告数据(位置、图片/内容、链接、启用状态)
data/admin_config.json 站点配置(通道、搜索次数、广告规则、弹窗设置)
这份清单涵盖了您所有说过的会员中心需求。现在可以按照优先级开始开发后台功能了。需要我从哪个文件开始提供完整代码?
10 线路管理呢 采集管理呢
您说得对,漏掉了 线路管理 和 采集管理。以下是补充:
十、线路管理(通道权限)
需求 说明 后台需要实现
通道列表 查看所有采集通道(高清一、高清二、资源一、资源二等) admin/channels.php
添加通道 添加新通道(名称、URL、启用状态、允许的用户组、每日次数限制) admin/channels.php(已实现)
编辑通道 修改通道名称、URL、用户组、次数限制 admin/channels.php(已实现)
删除通道 删除不需要的通道 admin/channels.php(已实现)
启用/禁用 控制通道是否可用 admin/channels.php(已实现)
用户组配置 设置通道允许哪些用户等级(guest/registered/vip) admin/channels.php(已实现)
每日次数限制 设置注册用户每天可使用该通道的次数(0=无限制) admin/channels.php(已实现)
注意:未注册用户(guest)在前端已被强制锁定为仅“高清一”,后台对 guest 的勾选实际无效,但界面中已禁用该复选框。
十一、采集管理(热词源)
需求 说明 后台需要实现
热词源列表 查看所有热词采集API源 admin/hot_apis.php
添加热词源 添加新的采集API(URL、JSON解析路径) admin/hot_apis.php
编辑热词源 修改API地址、解析路径、启用状态 admin/hot_apis.php
删除热词源 删除失效的采集源 admin/hot_apis.php
启用/禁用 控制某个采集源是否参与热词抓取 admin/hot_apis.php
测试采集 手动测试API是否可用,预览返回的热词 admin/hot_apis.php
热词源数据格式(data/hot_apis.json)
json
[
{
"url": "https://api.52vmy.cn/api/wl/top/tv",
"path": "data.*.name",
"enabled": true,
"name": "电视热榜"
},
{
"url": "https://60s.viki.moe/v2/maoyan",
"path": "data.*.movieName",
"enabled": true,
"name": "猫眼热榜"
}
]
采集频率设置
需求 说明 后台需要实现
采集频率 设置定时任务执行间隔(如1小时、2小时、6小时) admin/settings.php 中添加下拉选择,修改 crontab 或脚本参数
手动采集 后台一键触发立即采集 admin/hot_apis.php 添加“立即采集”按钮,调用 cron_hourly.php
采集日志 查看最近采集时间、成功/失败状态、采集到的卡片数量 admin/logs.php 或 admin/hot_apis.php 中显示
更新后的完整后台文件清单
文件 功能 优先级
admin/channels.php 线路管理(通道配置) ✅ 已有
admin/hot_apis.php 采集管理(热词源配置) ⭐ 高
admin/cards.php 卡密管理 ⭐ 高
admin/notifications.php 通知管理 ⭐ 高
admin/messages.php 留言管理 ⭐ 高
admin/users.php 用户管理 ⭐ 高
admin/vip_movies.php VIP影片推送 ⭐ 中
admin/ads.php 广告管理 ⭐ 中
admin/settings.php 站点配置(搜索次数、广告规则、弹窗、采集频率) ⭐ 中
admin/logs.php 采集日志查看 ⭐ 低
需要我提供 admin/hot_apis.php(采集管理) 的完整代码吗?
后台还有个管理员改密呢 TXT 给列出 来 好比是目录 样式 我保存 在列一份需要注意事项我们谈过的 在列一个 目录结构所有文件 的 4 在列一个 补充 或者扩展 扩展安全
好的,以下是完整的四个清单文档,您可以直接保存为 .txt 或 .md 文件。
一、后台管理员改密(功能清单)
功能 文件 说明
管理员修改密码 admin/profile.php 当前登录的管理员修改自己的密码
管理员列表 admin/admins.php 查看所有管理员账户
添加管理员 admin/admins.php 添加新的管理员(用户名、密码、等级)
删除管理员 admin/admins.php 删除管理员(降级为普通用户或直接删除)
重置密码 admin/admins.php 重置指定管理员的密码
二、目录结构(所有文件)
text
网站根目录/
├── index.php # 首页入口
├── api.php # 前台API接口(登录、注册、收藏、历史、通知、留言等)
├── cron_hourly.php # 定时任务脚本(每2小时采集热词生成卡片池)
├── shouye/ # 首页模块
│ ├── config.php # 公共配置(用户等级、通道权限、搜索限制)
│ ├── functions.php # 公共函数(热词抓取、搜索、卡片池生成)
│ ├── actions.php # AJAX接口(热词、推荐、幻灯片、猜你喜欢)
│ ├── search.php # 搜索处理
│ ├── template.php # 首页HTML模板
│ └── js/ # 首页JavaScript模块
│ ├── config.js
│ ├── utils.js
│ ├── hotKeywords.js
│ ├── recommend.js
│ ├── card.js
│ ├── searchUI.js
│ ├── player.js
│ ├── swipe.js
│ ├── stats.js
│ ├── refresh.js
│ ├── fullscreen.js
│ ├── theme.js
│ ├── member.js
│ ├── bottomNav.js
│ ├── mobileLayout.js
│ ├── preload.js
│ ├── dialogs.js
│ ├── lastPlay.js
│ ├── slides.js
│ └── main.js
├── bofang/ # 播放页模块
│ ├── player.php # 播放页PHP
│ ├── player.css # 播放页样式
│ └── player.js # 播放页脚本
├── huiyuan/ # 会员中心模块
│ ├── member.php # 会员中心PHP
│ ├── member.css # 会员中心样式
│ └── member.js # 会员中心脚本
├── admin/ # 后台管理模块
│ ├── index.php # 后台首页(统计面板)
│ ├── header.php # 公共头部(登录验证、菜单)
│ ├── footer.php # 公共底部
│ ├── login.php # 后台登录页
│ ├── users.php # 用户管理
│ ├── cards.php # 卡密管理
│ ├── messages.php # 留言管理
│ ├── notifications.php # 通知管理
│ ├── vip_movies.php # VIP影片推送
│ ├── ads.php # 广告管理
│ ├── channels.php # 线路管理(通道配置)
│ ├── hot_apis.php # 采集管理(热词源配置)
│ ├── settings.php # 站点配置
│ ├── profile.php # 管理员修改密码
│ ├── admins.php # 管理员列表
│ └── logs.php # 采集日志
├── css/ # 全局样式
│ └── shouye.css # 首页样式
├── img/ # 图片资源
│ ├── ding.svg
│ ├── shoudiantong.svg
│ ├── vip.png # VIP头像图标
│ └── hai.png # 普通用户头像图标
├── data/ # 数据存储(已通过Nginx禁止直接访问)
│ ├── users.json # 用户数据
│ ├── cards.json # 卡密数据
│ ├── messages.json # 留言数据
│ ├── notifications.json # 通知数据
│ ├── user_vip_movies.json # VIP专属影片
│ ├── user_favorites.json # 收藏数据
│ ├── user_history.json # 历史数据
│ ├── successful_plays.json # 成功播放记录(已禁用)
│ ├── admin_config.json # 站点配置
│ ├── ads.json # 广告数据
│ ├── hot_apis.json # 热词源配置
│ ├── card_pool.json # 推荐卡片池
│ ├── card_pool_backup.json # 卡片池备份
│ ├── maoyan.json # 热词缓存
│ ├── stats.json # 统计数据
│ └── hotwords_backup.json # 热词备份
└── logs/ # 日志目录
└── cron_hourly.log # 定时任务日志
三、已讨论过的需求与注意事项
3.1 会员中心功能
功能 状态 注意事项
卡密激活 ✅ 已实现 后台需生成卡密,用户激活后等级变为VIP
激活记录(弹窗内) ✅ 已实现 分页显示,每页5条
激活记录(标签页) ✅ 已实现 汇总显示所有激活记录
通知中心(三标签) ✅ 已实现 留言回复、新闻公告、卡密激活
通知角标 ✅ 已实现 未读数量显示在铃铛图标上
全部标记已读 ✅ 已实现 仅标记当前标签
留言提交 ✅ 已实现 资源求片需VIP,VIP办理需6位订单号
留言回复 ✅ 已实现 管理员回复后自动生成通知
规则弹窗 ✅ 已实现 从 admin_config.json 读取 member_rules
VIP详情弹窗 ✅ 已实现 显示开通时间、到期时间、剩余天数
专属影院 ✅ 已实现 VIP用户可见,管理员可推送
收藏/历史 ✅ 已实现 点击时重新搜索获取最新播放地址
管理员图标 ✅ 已实现 管理员登录后顶部显示齿轮图标,点击进后台
3.2 首页功能
功能 状态 注意事项
热词抓取 ✅ 已实现 多源合并,每天缓存
推荐卡片 ✅ 已实现 从 card_pool.json 随机抽取16张
幻灯片 ✅ 已实现 从卡片池随机取5张
搜索 ✅ 已实现 未登录用户可搜索(只使用高清一)
换一批 ✅ 已实现 重新随机抽取推荐卡片
卡片池生成 ✅ 已实现 追加模式+去重+新覆盖老,上限10万张
定时采集 ✅ 已实现 每2小时执行 cron_hourly.php
3.3 广告系统
广告位 位置 后台接口 状态
推荐卡片内嵌 首页推荐卡片中 position=card_inline ✅ 已实现
幻灯片广告 轮播图第2、5、7位 position=slide ✅ 已实现
会员中心广告 标签栏下方 position=member_center ✅ 已实现
会员引导弹窗 未登录搜索后 popup_settings ✅ 已实现
搜索次数用完弹窗 注册用户次数用完 popup_settings ✅ 已实现
播放器内嵌 播放页视频内部 预留 ⏸️ 待实现
播放器下方 播放页 预留 ⏸️ 待实现
推荐列表顶部 猜你喜欢上方 预留 ⏸️ 待实现
3.4 权限体系
用户等级 搜索 通道 后台 广告显示(可配)
guest ✅ 可搜索(仅高清一) 仅高清一 ❌ 默认显示
registered 每日10次(可配) 高清一、二、资源一 ❌ 默认显示
vip 无限制 全部通道 ❌ 默认不显示
admin 无限制 全部通道(可强制) ✅ 默认不显示
3.5 重要注意事项
Nginx 已禁止访问 data/ 目录,返回403,保护JSON文件不被下载。
未注册用户(guest)被强制锁定为仅“高清一”,后台对 guest 的通道勾选无效。
管理员无限制开关:admin_config.json 中 admin_unlimited 设为 true 时,管理员自动拥有全部通道和无限搜索。
卡片池追加模式:新卡片覆盖同名旧卡片,不同名追加,总数限制10万张。
收藏/历史点击时重新搜索:每次点击都会调用 /shouye/search.php 获取最新播放地址。
两个 save_movie_session.php 文件:/api/save_movie_session.php 和 /bofang/save_movie_session.php 都需要存在。
通知接口需要分页:前端已实现分页(每页10条),后端需支持 page 和 limit 参数。
广告显示规则:admin_config.json 中 ad_settings 控制每种用户等级是否显示广告。
四、补充与扩展、安全建议
4.1 待扩展功能
功能 说明 优先级
播放页广告 将预留的3个广告位接入后台 中
视频播放统计 记录用户播放行为,分析热门影片 低
用户行为日志 记录搜索、播放、收藏等操作 低
数据导出 导出用户列表、卡密列表等为Excel 低
邮件/短信通知 激活VIP、回复留言时发送邮件 低
第三方登录 微信、QQ快捷登录 低
4.2 安全建议
问题 建议
data/ 目录访问 ✅ 已通过 Nginx 禁止访问
SQL注入 无SQL,使用JSON文件,无此风险
XSS攻击 已使用 escapeHtml 过滤输出
CSRF攻击 后台可增加 Token 验证
Session劫持 使用 HTTPS,定期重置 Session ID
密码存储 ✅ 已使用 MD5(建议升级为 password_hash)
管理员登录 建议增加验证码或二次验证
接口滥用 搜索接口可增加频率限制(如每秒1次)
文件上传 如有上传功能,需严格限制类型和大小
4.3 性能优化建议
问题 建议
卡片池10万张 首页只取16张,性能影响不大;可考虑分页或虚拟滚动
JSON文件读写 频繁读写时考虑加锁(已使用 flock)
热词抓取并发 已使用 curl_multi 并发请求
图片加载 已使用懒加载(loading="lazy")
CDN加速 静态资源可接入CDN
Redis缓存 可将 card_pool.json 缓存到 Redis
4.4 运维建议
项目 建议
定时任务监控 检查 cron_hourly.php 是否正常运行,日志记录到 logs/cron_hourly.log
数据备份 定期备份 data/ 目录
日志清理 定期清理 logs/ 目录下的日志文件
文件权限 data/ 目录权限 755,JSON文件权限 644
PHP错误日志 开启 error_log,便于排查问题
以上四个清单已完整列出。请保存为文本文件,后续开发后台时可对照使用。需要我从哪个后台文件开始提供代码?
本回答由 AI 生成,内容仅供参考,请仔细甄别。