admin-online-register-api.md 12 KB

管理后台:在线汇总 & 注册/域名统计 API

基础路径:/admin
鉴权:请求头携带管理员 JWT(admin.jwt 中间件)
统一响应:

{
  "code": 0,
  "timestamp": 1785900000,
  "msg": "OK",
  "data": {}
}

code !== 0msg 为错误信息,data 可能为空。


一、在线汇总(菜单 uri:onlineSummary

前端两个 Tab 对应两个接口(后端无 tab 参数,由前端 Tab 切换调用不同 URL)。

前端 Tab 建议 tab 值(前端自用) 接口
在线用户 online GET /admin/online/users
新用户汇总 newUser GET /admin/online/newUserSummary

1.1 在线用户

URL

GET /admin/online/users

说明

当前在线会员列表。在线判定满足其一即可:

  1. 存在未过期 user_sessionexpire_time > 当前 unix 时间
  2. last_active_time 为有效 unix 时间戳,且在最近 30 分钟

排除虚拟游客(from = 2)。
关联该用户最近一次成功登录日志,填充 IP、位置、登录网站、平台、浏览器、系统、登入时间。

请求参数(Query)

参数 类型 必填 默认 说明
page int 1 页码,≥1
limit int 15 每页条数,1~200
member_id string - 会员 ID(匹配 member_iduser_id
first_name string - 会员昵称,模糊匹配
login_ip string - IP,模糊匹配最近登录 IP
platform string - 平台:PC / Android / iOS / WeChat;空或「全部」表示不限

请求示例

GET /admin/online/users?page=1&limit=15&member_id=&first_name=&login_ip=&platform=

返回 data

字段 类型 说明
total int 总条数
data array 列表

data[] 列表项

字段 类型 前端列名 说明
member_id string 会员ID 优先 member_id,否则 user_id
first_name string 会员昵称
available_balance number 账户余额 主钱包可用余额
login_ip string IP地址 最近一次成功登录 IP
location string 位置 登录时写入的国家/地区(country
login_domain string 登录网站 登录时 Referer/Origin 主机
platform string 平台 PC / Android / iOS / WeChat
browser string 浏览器
os string 操作系统
login_time string 登入时间 Y-m-d H:i:s,最近一次成功登录时间
last_active_time string (扩展) 最后活跃时间 Y-m-d H:i:s

返回示例

{
  "code": 0,
  "timestamp": 1785900000,
  "msg": "OK",
  "data": {
    "total": 2,
    "data": [
      {
        "member_id": "10001",
        "first_name": "test01",
        "available_balance": 1250.5,
        "login_ip": "1.2.3.4",
        "location": "中国 广东 深圳",
        "login_domain": "www.example.com",
        "platform": "PC",
        "browser": "Chrome(120.0.0)",
        "os": "Windows 10/11",
        "login_time": "2026-08-05 10:20:30",
        "last_active_time": "2026-08-05 10:20:30"
      }
    ]
  }
}

1.2 新用户汇总

URL

GET /admin/online/newUserSummary

说明

按「注册日」汇总新用户指标。区间内集合查询,按天返回。

业务口径

指标 规则
H5 / APP 注册 register_domain:包名风格(如 com.xxx.yyy)计 APP,否则 H5
H5/APP 首存次数 该日新注册用户中,历史首次正充值发生在注册当日的人数
活跃会员 该日新注册,且注册当日下注合计 ≥ ¥50 的人数
有效会员 该日新注册,且注册当日存款合计 ≥ ¥50 的人数
存款总额 该日新注册用户在注册当日的充值合计
下注总数 该日新注册用户在注册当日的投注合计(绝对值)
公司盈利 该日新注册用户当日:投注额 − 派奖(中奖)

请求参数(Query)

参数 类型 必填 默认 说明
start_time string 结束日往前 6 天 开始日期 Y-m-d
end_time string 今天 结束日期 Y-m-d,≥ start_time

请求示例

GET /admin/online/newUserSummary?start_time=2026-08-01&end_time=2026-08-05

返回 data

字段 类型 说明
start_time string 实际查询开始日
end_time string 实际查询结束日
rules object 规则文案
rules.active_member string 活跃会员说明
rules.valid_member string 有效会员说明
data array 按天列表(含区间内无数据的日期,值为 0)

data[] 列表项

字段 类型 前端列名 说明
date string 时间 日期 Y-m-d
h5_register int H5注册
app_register int APP注册
h5_first_deposit int H5首存次数
app_first_deposit int APP首存次数
active_member int 活跃会员
deposit_total number 存款总额
bet_total number 下注总数
company_profit number 公司盈利 投注 − 派奖
valid_member int 有效会员

返回示例

{
  "code": 0,
  "data": {
    "start_time": "2026-08-01",
    "end_time": "2026-08-05",
    "rules": {
      "active_member": "新注册会员当日下注>=¥50",
      "valid_member": "新注册会员当日存款>=¥50"
    },
    "data": [
      {
        "date": "2026-08-01",
        "h5_register": 45,
        "app_register": 32,
        "h5_first_deposit": 28,
        "app_first_deposit": 20,
        "active_member": 35,
        "deposit_total": 28500,
        "bet_total": 156000,
        "company_profit": 8200,
        "valid_member": 30
      }
    ]
  }
}

二、注册/域名统计(菜单 uri:registerDomain

前端两个 Tab 对应两个接口(后端无 tab 参数)。

前端 Tab 建议 tab 值(前端自用) 接口
走势图 trend GET /admin/user/registerTrend
域名统计 domain GET /admin/user/registerDomain

2.1 会员注册走势图

URL

GET /admin/user/registerTrend

说明

  • type=today:按小时统计指定日(默认今天)注册量
  • type=all:按统计区间内注册量

两条序列:

  • 正式会员from != 2
  • 虚拟会员from = 2(游客等)

请求参数(Query)

参数 类型 必填 默认 说明
type string today today:按小时;all:按天
start_time string 今天 Y-m-dtoday 时表示统计哪一天;all 时为区间起点
end_time string 今天 Y-m-d,仅 type=all 时有效,须 ≥ start_time

请求示例

# 今日(按小时)
GET /admin/user/registerTrend?type=today

# 指定日按小时
GET /admin/user/registerTrend?type=today&start_time=2026-08-04

# 区间按天
GET /admin/user/registerTrend?type=all&start_time=2026-08-01&end_time=2026-08-05

返回 data(type=today)

字段 类型 说明
type string today
date string 统计日
times string[] 时间轴,00:0023:00 共 24 点
member int[] 与 times 对齐的正式会员新增
virtual int[] 与 times 对齐的虚拟会员新增
member_total int 当日正式会员合计
virtual_total int 当日虚拟会员合计

返回 data(type=all)

字段 类型 说明
type string all
start_time string 区间开始
end_time string 区间结束
times string[] 日期轴 Y-m-d
member int[] 正式会员每日新增
virtual int[] 虚拟会员每日新增
member_total int 区间正式会员合计
virtual_total int 区间虚拟会员合计

返回示例(今日)

{
  "code": 0,
  "data": {
    "type": "today",
    "date": "2026-08-05",
    "times": ["00:00", "01:00", "02:00"],
    "member": [3, 1, 0],
    "virtual": [0, 0, 1],
    "member_total": 120,
    "virtual_total": 30
  }
}

前端图表:

  • X 轴:times
  • 系列「今日会员新增」:member
  • 系列「今日虚拟会员新增」:virtual

2.2 注册域名统计

URL

GET /admin/user/registerDomain

说明

按注册时写入的 register_domain(Referer/Origin 主机)聚合注册人数(不是登录人数)。
空域名归为「未知」。

请求参数(Query)

参数 类型 必填 默认 说明
start_time string - 注册开始日 Y-m-d 00:00:00
end_time string - 注册结束日 Y-m-d 23:59:59
page int 1 页码
limit int 50 每页条数,1~200

请求示例

GET /admin/user/registerDomain?start_time=2026-07-06&end_time=2026-08-04&page=1&limit=50

返回 data

字段 类型 说明
total int 域名分组总数
data array 当前页列表,按注册人数降序

data[] 列表项

字段 类型 前端列名 说明
register_url string 注册网址 域名主机;空为「未知」
register_count int 注册人数 该域名下注册用户数

返回示例

{
  "code": 0,
  "data": {
    "total": 6,
    "data": [
      { "register_url": "www.example.com", "register_count": 156 },
      { "register_url": "com.example.app", "register_count": 89 },
      { "register_url": "未知", "register_count": 12 }
    ]
  }
}

三、前端 Tab 与接口对照(汇总)

在线汇总页 onlineSummary

tab(前端) 文案 Method Path
online 在线用户 GET /admin/online/users
newUser 新用户汇总 GET /admin/online/newUserSummary

注册/域名统计页 registerDomain

tab(前端) 文案 Method Path
trend 走势图 GET /admin/user/registerTrend
domain 域名统计 GET /admin/user/registerDomain

说明:tab 仅建议前端路由/状态使用,后端接口不接收、也不校验 tab 参数


四、数据依赖说明(联调注意)

数据 来源 说明
登录 IP / 浏览器 / 系统 / 平台 / 登录网站 / 位置 登录时写入 user_login 需 melbet 登录日志逻辑已发布;历史数据可能为空
注册域名 注册时写入 users.register_domain 来自 Referer/Origin;历史用户多为「未知」
在线状态 user_session + last_active_time 以有效 session 为主,30 分钟活跃为辅
首存 / 下注 / 存款 balance_logs 依赖 change_type 文案匹配(充值/投注/中奖等)

五、菜单与权限 uri

菜单 前端 uri 按钮/接口权限 uri
在线汇总 onlineSummary admin/online/usersadmin/online/newUserSummary
注册/域名统计 registerDomain admin/user/registerTrendadmin/user/registerDomain