管
管理后台
请使用管理员账号登录
{{ login.error }}
忘记密码请到数据库 admins 表重置

{{ titles[page] }}

{{ subs[page] }}
{{ (dash.upstream && dash.upstream.enabled) ? ('线路 ' + dash.upstream.enabled + '/' + dash.upstream.total + ' 条可用') : '暂无可用线路' }} 查看前台 ↗
用户总数
{{ dash.users.total }} 今日 +{{ dash.users.today }}
订单总数
{{ dash.orders.total }} 今日 {{ dash.orders.today }}
今日收入
¥{{ money(dash.income.today) }}
等待中
{{ dash.orders.waiting }}
累计成功收码
{{ dash.orders.received }}
累计收入
¥{{ money(dash.income.total) }}
用户余额合计
¥{{ money(dash.users.balance) }}
今日新增用户
{{ dash.users.today }}

线路状态

{{ c.name }} {{ c.base }} {{ c.status===1?(c.configured?'已配置':'待填写'):'已停用' }}
还没有配置线路

快捷入口

最近订单
{{ (o.created_at||'').slice(5,16) }} {{ o.project_name }} {{ o.phone }} {{ o.code || '—' }} {{ o.status_text }}
暂无订单
ID用户名邮箱余额订单状态注册时间最后登录操作
{{ u.id }} {{ u.username }} {{ u.email || '—' }} ¥{{ money(u.balance) }} {{ u.orders }} {{ u.status===1?'正常':'已封禁' }} {{ (u.created_at||'').slice(0,10) }} {{ (u.last_login_at||'—') }}
没有用户
ID名称线路分类售价成本排序状态操作
{{ p.id }} {{ p.name }}
{{ m.name }}
未绑定
{{ p.category || '—' }} ¥{{ money(p.price) }} ¥{{ money(p.cost) }} {{ p.sort }} {{ p.status===1?'上架':'下架' }}
还没有项目
点右上角「新增项目」添加
订单号项目号码归属地验证码金额状态创建时间
{{ o.order_no }} {{ o.project_name }} {{ o.phone }} {{ o.phone_gsd || '—' }} {{ o.code || '—' }} ¥{{ money(o.price) }} {{ o.status_text }} {{ o.created_at }}
没有订单
已支付合计 ¥{{ money(rcSum) }}
订单号用户金额方式状态平台交易号提交时间支付时间
{{ r.order_no }} {{ r.nickname || r.username || ('#' + r.user_id) }} ¥{{ money(r.amount) }} {{ payTypeText(r.pay_type) }} {{ r.status===1?'已支付':(r.status===0?'待支付':'已关闭') }} {{ r.trade_no || '—' }} {{ r.created_at }} {{ r.paid_at || '—' }}
暂无充值记录
共 {{ smsTotal }} 条 · 只显示已经收到短信的订单
时间号码短信内容验证码来源用户操作
{{ s.at }} {{ s.phone }}
{{ s.sms }}
{{ s.code || '—' }} {{ s.channel_name || '—' }} · {{ s.project_name || '—' }} {{ s.username }}
还没有收到短信
号上收到验证码后,这里会留一条记录
线路就是号码的来源。可以同时配多条,前台会让用户先选线路再取号;只配一条时,前台不会显示选择这一步。
{{ (c.name||'线')[0] }}
{{ c.name }}
{{ c.driver_title }}
{{ c.status===1?'启用中':'已停用' }}
未设价格 这条线路不建项目,不填单价就等于免费取号。
单价¥{{ money(c.price) }} / 次
项目{{ c.projects }}
地址{{ c.base || '未填写' }}
令牌{{ c.token_mask || '未填写' }}
账号{{ c.user || '未填写' }}
超时{{ c.timeout }}s
{{ c.msgOk?'连接正常':'连接异常' }} {{ c.msg }}
正在读取线路…
还没有配置线路
先添加一条,前台才能取号。
基本信息
联系方式(显示在充值页与页脚)
注册与计费
在线充值(码支付 / 易支付)
填到域名或目录即可,程序会自动拼 submit.php。要带 https://。
回调地址填:{{ payNotifyExample }}
支付平台后台的「异步通知 / notify_url」就填这个。
在线客服开场白

用户第一次打开客服窗口时,自动以客服身份发这一条。留空就不发。

号码释放与排队

号码分配成功就开始计时,到「订单超时」秒数后自动释放并退款,不需要人工干预。 到点释放由每个访问自动触发,长时间没人访问时可另配计划任务 cron.php。

维护模式
公告会在用户切到对应线路时弹出来;选「通用」则每条线路都弹。
ID线路标题内容排序状态时间操作
{{ a.id }} {{ annChannelName(a.channel_id) }} {{ a.title }} {{ a.content }} {{ a.sort }} {{ a.status===1?'显示':'隐藏' }} {{ (a.created_at||'').slice(0,10) }}
还没有公告
用户右上角铃铛里能看到;没读会冒红点,点开就消失。和上面的「线路公告弹窗」互不影响。
ID标题内容已读人数排序状态时间操作
{{ n.id }} {{ n.title }} {{ n.content }} {{ n.read_count }} {{ n.sort }} {{ n.status===1?'显示':'隐藏' }} {{ (n.created_at||'').slice(0,10) }}
还没有站内公告
{{ t.name }} {{ (t.last_at || '').slice(11, 16) }}
{{ t.last_from === 'admin' ? '我:' : '' }}{{ t.last_text }}
{{ t.unread > 9 ? '9+' : t.unread }}
还没有人发来消息
用户在前台右下角点「在线客服」就能开聊
{{ chatUser.nickname || chatUser.username }} 余额 ¥{{ money(chatUser.balance) }}
我
{{ m.text }}
图片
{{ (m.created_at || '').slice(5, 16) }}
还没有聊天记录
在下面输入内容,用户会在前台看到
选择左边的会话开始聊天
消息在数据库里是加密存的,这里看到的是解密后的内容
超过 24 小时没有新消息的会话会自动永久清空
这里记录了系统与通道之间的全部请求,排错时看这里最直观。日志只保留最近记录,建议定期清理。
时间线路动作结果返回信息耗时详情
{{ l.created_at }} {{ l.channel_name || '—' }} {{ l.scope }} {{ l.ok?'成功':'失败' }} {{ l.msg || '—' }} {{ l.cost_ms }}ms
暂无日志
{{ t.msg }}