想要在返回的 $info 中,除了 'invID' => $Ures['inviter_id'] 外,再通过 inviter_id 查出邀请人(上级用户)的 account(比如 acctno),并一并返回。你可以这样改:
✅ 修改建议:
在获取 $Ures 后,加一段逻辑去查邀请人信息,再在 $info 里加入对应的字段。
✅ 修改位置和代码如下:
🔁 找到 $Ures 查询后添加这段代码:
// 获取邀请人账户信息
$inviterAccount = '';
if (!empty($Ures['inviter_id'])) {
$inviter = $db->where('id = ?', [$Ures['inviter_id']])->fetch('acctno');
if ($inviter) {
$inviterAccount = $inviter['acctno'];
}
}
🔁 然后在 $info 数组中的 'info' => [ 里面加上:
'inviter_account' => $inviterAccount,
✅ 最终效果如下(修改后的片段):
$Ures = $db->join("as U LEFT JOIN {$db->pre}agent as A on (U.id = A.uid)")->where('(U.phone = ? or U.email = ? or U.acctno = ?) and U.password = ? and U.appid = ?',[$_POST['account'],$_POST['account'],$_POST['account'],md5($_POST['password']),$this->app['id']])->fetch('U.*,IF(A.id IS NOT NULL,true,false) AS agent');
if(!$Ures){
$this->__freeze();
$this->out->e(126);
}
// 获取邀请人账户信息
$inviterAccount = '';
if (!empty($Ures['inviter_id'])) {
$inviter = $db->where('id = ?', [$Ures['inviter_id']])->fetch('acctno');
if ($inviter) {
$inviterAccount = $inviter['acctno'];
}
}
//...
$info = [
'token'=>$token,
'tokenState'=>$tokenState,
'info'=>[
'uid'=>$Ures['id'],
'phone'=>$Ures['phone'],
'email'=>$Ures['email'],
'acctno'=>$Ures['acctno'],
'name'=>$Ures['nickname'],
'pic'=>empty($Ures['avatars'])?'':$this->appConfig['APP_URL'].$Ures['avatars'],
'invID'=>$Ures['inviter_id'],
'inviter_account'=>$inviterAccount, // 👈 加的部分
'fen'=>$Ures['fen'],
'vipExpTime'=>$Ures['vip'],
'vipExpDate'=>date("Y-m-d H:i:s",$Ures['vip']),
'extend'=>empty($Ures['extend'])?null:json_decode($Ures['extend'],true),
'agent'=>$Ures['agent']
]
];
这样就能在接口返回时,附带上邀请人的账户名啦。如果你有别的字段想带上也可以类似查。需要再帮你封装或者做兼容逻辑也可以~




没有回复内容