Skip to content

Latest commit

 

History

History
283 lines (244 loc) · 11.3 KB

File metadata and controls

283 lines (244 loc) · 11.3 KB

广告联盟系统 - 实施任务列表

  • 1. 创建数据库表结构

    • install/ 目录下创建 ad_network_schema.sql,包含所有 MySQL 表结构
    • 创建用户体系表:users, advertisers, publishers
    • 创建广告系统表:ad_campaigns, ad_groups, ad_creatives
    • 创建广告位表:publisher_websites, ad_positions
    • 创建财务表:accounts, transactions, recharge_orders, withdrawals
    • 创建审核表:audit_logs, audit_queue
    • 为所有表添加适当的索引 (phone, role, advertiser_id, status, created_at 等)
    • 创建 ClickHouse 表结构脚本:ad_impressions, ad_clicks
  • 2. 实现用户与认证系统

    • 2.1 创建用户注册功能

      • admin/ 下创建 register.php 处理用户注册
      • 支持手机号 + 验证码注册流程
      • 密码使用 bcrypt 加密存储
      • 支持选择用户角色 (广告主/网站主)
    • 2.2 实现用户登录认证

      • admin/ 下创建 login.php 处理登录
      • 生成 JWT Token 或使用 Session 认证
      • 支持连续失败 5 次锁定账户 30 分钟
      • 实现忘记密码功能
    • 2.3 实现 RBAC 权限控制

      • 创建权限检查中间件 includes/auth.php
      • 实现菜单权限 (根据角色显示不同菜单)
      • 实现操作权限 (检查用户是否有某操作权限)
      • 实现数据权限 (广告主只能看自己的数据)
  • 3. 实现广告主后台

    • 3.1 创建广告主后台框架

      • admin/advertiser/ 创建后台页面结构
      • 实现左侧导航菜单 (活动管理/创意管理/数据报表/财务管理)
      • 实现顶部用户信息和消息通知
    • 3.2 实现广告活动 CRUD

      • 创建 campaign_list.php 活动列表页
      • 创建 campaign_create.php 活动创建页
      • 创建 campaign_edit.php 活动编辑页
      • 实现活动状态流转 (草稿→待审核→审核通过→投放中→已暂停→已结束)
      • 实现预算验证 (总预算≥日预算×投放天数)
      • 实现出价验证 (不低于最低出价)
    • 3.3 实现广告组定向设置

      • 创建 adgroup_create.php 广告组创建页
      • 实现性别定向 (男/女/不限)
      • 实现年龄定向 (18 以下/18-24/25-34/35-44/45-54/55 以上)
      • 实现地域定向 (省市区三级联动选择)
      • 实现投放时段设置 (周×24 小时表格选择)
      • 实现设备定向 (PC/移动/平板)
      • 实现操作系统定向 (Windows/macOS/iOS/Android)
      • 实现浏览器定向 (Chrome/Firefox/Safari/Edge/其他)
      • 实现频控设置 (单用户每日最多 N 次)
    • 3.4 实现广告创意管理

      • 创建 creative_create.php 创意创建页
      • 支持上传图片素材 (JPG/PNG/GIF, ≤5MB)
      • 支持上传视频素材 (MP4/WebM, ≤50MB, ≤60 秒)
      • 支持填写标题 (≤30 字)、副标题 (≤60 字)、描述 (≤200 字)
      • 支持设置落地页链接
      • 实现广告预览功能
      • 实现 A/B 测试多创意配置
    • 3.5 实现投放控制功能

      • 实现活动暂停/恢复功能
      • 实现活动预算调整
      • 实现出价调整
      • 实现频控调整
      • 实现预算耗尽自动暂停
  • 4. 实现网站主后台

    • 4.1 创建网站主后台框架

      • admin/publisher/ 创建后台页面结构
      • 实现左侧导航菜单 (网站管理/广告位管理/收益统计/提现管理)
    • 4.2 实现网站接入功能

      • 创建 website_list.php 网站列表页
      • 创建 website_add.php 网站添加页
      • 实现网站信息填写 (名称、域名、ICP 备案号、分类)
      • 实现网站首页截图上传
      • 实现网站提交审核
      • 实现广告代码生成 (JS SDK 嵌入代码)
      • 实现广告代码安装检测工具
    • 4.3 实现广告位管理

      • 创建 position_list.php 广告位列表页
      • 创建 position_create.php 广告位创建页
      • 支持选择广告类型 (图片/代码/原生/弹窗/悬浮/视频)
      • 实现广告位尺寸设置 (宽×高)
      • 实现最低 CPM 出价设置
      • 实现广告位可见度 (公开/私有)
      • 实现广告位暂停/启用
      • 实现广告位代码一键复制
    • 4.4 实现广告屏蔽规则

      • 实现广告主黑名单设置
      • 实现行业黑名单设置 (博彩、医疗等)
      • 实现竞品域名黑名单设置
      • 实现敏感词黑名单设置
      • 实现仅允许指定行业白名单
  • 5. 实现广告投放引擎 (PHP 版本)

    • 5.1 创建广告请求 API

      • api/ 目录下创建 ad_request.php
      • 实现请求参数解析 (广告位 ID、用户信息、页面信息)
      • 实现请求验证 (参数完整性检查)
    • 5.2 实现广告检索功能

      • 创建广告检索服务类 includes/AdRetrieval.php
      • 根据广告位 ID 查找关联的广告活动
      • 根据用户定向条件过滤广告 (地域、设备、时段等)
      • 根据广告主预算过滤 (余额≥1 元)
      • 根据网站主屏蔽规则过滤
    • 5.3 实现 eCPM 竞价排序

      • 创建竞价服务类 includes/AdAuction.php
      • 实现 CPM 广告 eCPM 计算 (eCPM = 出价)
      • 实现 CPC 广告 eCPM 计算 (eCPM = CPC 出价×eCTR×1000)
      • 实现 CPA 广告 eCPM 计算 (eCPM = CPA 出价×eCTR×eCVR×1000)
      • 实现按 eCPM 降序排序取 Top 1
      • 实现前 10 名候选广告保留用于备选
    • 5.4 实现广告返回与渲染

      • 实现广告响应格式标准化
      • 实现广告短链接生成
      • 实现展示监测 URL 生成
      • 实现点击监测 URL 生成
      • 实现广告标识 ("广告"标签) 展示
  • 6. 实现数据上报与统计

    • 6.1 创建数据上报 API

      • api/ 目录下创建 log_impression.php
      • api/ 目录下创建 log_click.php
      • 实现异步写入 MySQL 日志表
      • 实现 Redis 实时计数更新
    • 6.2 实现实时数据看板

      • 创建 dashboard.php 实时看板页面
      • 实现今日展示量、点击量、点击率展示
      • 实现今日消耗/收益展示
      • 实现小时级趋势图表
      • 实现实时排名 TOP10
      • 实现每 5 分钟自动刷新
    • 6.3 实现历史数据报表

      • 创建 report.php 数据报表页面
      • 实现时间范围选择 (最近 7/14/30 天/自定义)
      • 实现按广告活动/广告组/创意/广告位查看数据
      • 实现分省数据展示
      • 实现分设备数据展示 (PC/移动/平板)
      • 实现分时段热力图 (24 小时分布)
      • 实现 Excel/CSV 数据导出
  • 7. 实现财务系统

    • 7.1 创建账户管理功能

      • 实现账户余额查询接口
      • 实现可用余额/冻结金额/优惠券金额展示
      • admin/finance/ 创建财务管理页面
    • 7.2 实现充值功能

      • 创建 recharge.php 充值页面
      • 实现充值金额选择 (100/500/1000/5000 或自定义)
      • 实现支付方式选择 (支付宝/微信/银联/线下转账)
      • 实现支付订单生成
      • 实现支付回调处理
      • 实现充值成功通知 (短信/邮件/站内信)
      • 实现充值记录查询
    • 7.3 实现消耗扣费功能

      • 创建定时任务 cron/hourly_deduct.php 每小时扣费
      • 实现按展示量/点击量计算消耗
      • 实现从账户余额扣除费用
      • 实现交易流水记录
      • 实现消耗预警 (余额低于 100 元/预算使用 80%)
      • 实现异常消耗检测与告警
    • 7.4 实现收益结算功能

      • 创建定时任务 cron/daily_settlement.php 每日结算
      • 实现网站主 T+1 收益入账
      • 实现收益明细记录
      • 实现个人所得税代扣代缴
    • 7.5 实现提现功能

      • 创建 withdraw.php 提现申请页面
      • 实现提现账号设置 (支付宝/微信/银行卡)
      • 实现最低提现门槛检查 (100 元)
      • 实现提现申请提交
      • 创建 withdraw_audit.php 提现审核页面
      • 实现提现打款记录
    • 7.6 实现财务对账功能

      • 创建 finance_reconciliation.php 对账页面
      • 实现每日收支日报生成
      • 实现充值订单与支付渠道对账
      • 实现长短款差异报表
  • 8. 实现审核系统

    • 8.1 创建审核员后台

      • admin/audit/ 创建审核后台框架
      • 实现左侧导航 (广告审核/网站审核/提现审核)
    • 8.2 实现广告审核功能

      • 创建 ad_audit.php 广告审核页面
      • 实现审核任务分配 (轮流分配)
      • 实现广告素材、落地页、定向设置展示
      • 实现审核通过/驳回操作
      • 实现驳回理由填写
      • 实现敏感词自动检测高亮
      • 实现审核时长统计 (4 小时内完成)
    • 8.3 实现网站审核功能

      • 创建 website_audit.php 网站审核页面
      • 实现网站信息、截图、访问量展示
      • 实现 ICP 备案查询链接
      • 实现审核通过/驳回操作
  • 9. 实现反作弊系统 (基础版)

    • 9.1 创建 IP 频控功能

      • 实现同一 IP 每小时超过 100 次访问标记
      • 使用 Redis 记录 IP 访问频率
      • 实现作弊请求返回空广告
    • 9.2 实现 User-Agent 检测

      • 创建 UA 检测工具类 includes/UADetector.php
      • 实现空 UA 检测
      • 实现已知爬虫 UA 识别
      • 实现异常 UA 标记
    • 9.3 实现点击模式检测

      • 实现连续点击检测
      • 实现点击位置固定检测
      • 实现 CTR 异常检测 (高于行业均值 3 倍)
    • 9.4 创建黑名单管理

      • 创建 blacklist.php 黑名单管理页面
      • 实现 IP 黑名单 CRUD
      • 实现设备黑名单 CRUD
      • 实现用户黑名单 CRUD
      • 支持批量导入导出
  • 10. 实现 JS SDK

    • assets/js/ 下创建 ad-sdk.js
    • 实现广告请求函数 (发送 position_code, user_info)
    • 实现广告渲染函数 (根据返回数据渲染)
    • 实现展示上报函数 (广告展示时触发)
    • 实现点击上报函数 (广告点击时触发)
    • 实现异常降级处理 (请求失败时显示备用广告)
    • 实现防重复加载 (同一页面不重复请求)
    • 控制 SDK 体积≤50KB (压缩后)
  • 11. 检查点 - 确保所有测试通过

    • 数据库表结构创建完成
    • 用户注册/登录流程可正常使用
    • 广告主可创建广告活动并提交审核
    • 网站主可接入网站并创建广告位
    • 广告请求 API 正常返回广告数据
    • 数据上报正常记录到数据库
    • 财务充值/消耗/提现流程完整
    • 审核员可正常审核广告和网站
    • 如有疑问请询问用户
  • 12. 系统集成与部署

    • 12.1 配置 API 路由

      • includes/ 下创建 routes.php 统一管理 API 路由
      • 实现请求拦截和权限验证
      • 实现错误码统一返回格式
    • 12.2 配置 Redis 缓存

      • 实现 Redis 连接配置 includes/redis.php
      • 实现广告数据缓存策略
      • 实现频控计数缓存
      • 实现实时数据缓存
    • 12.3 部署 JS SDK 到 CDN

      • 配置静态资源 CDN 加速
      • 实现 SDK 版本管理
    • 12.4 系统联调测试

      • 完整流程测试 (注册→充值→创建广告→审核→投放→数据上报)
      • 性能测试 (广告请求响应时间≤100ms)
      • 压力测试 (模拟高并发请求)