findOrEmpty(); //获取token延长过期的时间 $tokenCache = new KefuTokenCache(); $expireTime = $time + Config::get('project.kefu_token.expire_duration'); $token = create_token($kefuId); //token处理 if ($kefuSession->isEmpty()) { //找不到在该终端的token记录,创建token记录 KefuSession::create([ 'kefu_id' => $kefuId, 'terminal' => $terminal, 'token' => $token, 'expire_time' => $expireTime ]); } else { // 清空缓存 $tokenCache->deleteKefuInfo($kefuSession->token); // 更新token KefuSession::update([ 'id' => $kefuSession['id'], 'token' => $token, 'expire_time' => $expireTime, 'update_time' => $time, ]); } return $tokenCache->setKefuInfo($token); } /** * @notes 延长token过期时间 * @param $token * @return array|false|mixed * @author 段誉 * @date 2022/3/9 18:56 */ public static function overtimeToken($token) { $time = time(); $kefuSession = KefuSession::where('token', '=', $token)->findOrEmpty(); if ($kefuSession->isEmpty()) { return false; } //延长token过期时间 $kefuSession->expire_time = $time + Config::get('project.kefu_token.expire_duration'); $kefuSession->update_time = $time; $kefuSession->save(); return (new KefuTokenCache())->setKefuInfo($token); } /** * @notes 设置token为过期 * @param $token * @return bool * @author 段誉 * @date 2022/3/9 18:57 */ public static function expireToken($token) { $kefuSession = KefuSession::where('token', '=', $token)->findOrEmpty(); if ($kefuSession->isEmpty()) { return false; } $time = time(); $kefuSession->expire_time = $time; $kefuSession->update_time = $time; $kefuSession->save(); return (new KefuTokenCache())->deleteKefuInfo($token); } }