find(); //获取token延长过期的时间 $expireTime = $time + Config::get('project.coach_user_token.expire_duration'); $shopUserTokenCache = new ShopUserTokenCache(); //token处理 if ($shopUserSession) { //清空缓存 $shopUserTokenCache->deleteShopUserInfo($shopUserSession->token); //重新获取token $shopUserSession->token = create_token($userId); $shopUserSession->expire_time = $expireTime; $shopUserSession->update_time = $time; $shopUserSession->save(); } else { //找不到在该终端的token记录,创建token记录 $shopUserSession = ShopUserSession::create([ 'shop_user_id' => $userId, 'terminal' => $terminal, 'token' => create_token($userId), 'expire_time' => $expireTime ]); } return $shopUserTokenCache->setShopUserInfo($shopUserSession->token); } /** * @notes 延长token过期时间 * @param $token * @return array|false|mixed * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author 令狐冲 * @date 2021/7/5 14:25 */ public static function overtimeToken($token) { $time = time(); $adminSession = ShopUserSession::where('token', '=', $token)->find(); //延长token过期时间 $adminSession->expire_time = $time + Config::get('project.admin_token.expire_duration'); $adminSession->update_time = $time; $adminSession->save(); return (new ShopUserTokenCache())->setShopUserInfo($adminSession->token); } /** * @notes 设置token为过期 * @param $token * @return bool * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author 令狐冲 * @date 2021/7/5 14:31 */ public static function expireToken($token) { $userSession = ShopUserSession::where('token', '=', $token) ->find(); if (empty($userSession)) { return false; } $time = time(); $userSession->expire_time = $time; $userSession->update_time = $time; $userSession->save(); return (new ShopUserTokenCache())->deleteShopUserInfo($token); } }