U验证修改登录api返回邀请人用户-PHP语言社区-编程语言区-资源工坊

U验证修改登录api返回邀请人用户

想要在返回的 $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']
    ]	
];

这样就能在接口返回时,附带上邀请人的账户名啦。如果你有别的字段想带上也可以类似查。需要再帮你封装或者做兼容逻辑也可以~

请登录后发表评论

    没有回复内容