diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index dfb346031..176861587 100755 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -299,7 +299,7 @@ class UsersController extends AbstractController public function info() { $user = User::auth(); - User::generateToken($user); + User::generateToken($user, in_array(Base::platform(), ['ios', 'android'])); // $data = $user->toArray(); $data['nickname_original'] = $user->getRawOriginal('nickname'); @@ -1025,12 +1025,7 @@ class UsersController extends AbstractController 'alias.between:2,20' => '别名的长度在2-20个字符', ]); // - $agent = strtolower(Request::server('HTTP_USER_AGENT')); - if (str_contains($agent, 'android')) { - $platform = 'android'; - } elseif (str_contains($agent, 'iphone') || str_contains($agent, 'ipad')) { - $platform = 'ios'; - } else { + if (!in_array(Base::platform(), ['ios', 'android'])) { return Base::retError('设备类型错误'); } // @@ -1038,7 +1033,7 @@ class UsersController extends AbstractController $inArray = [ 'userid' => $user->userid, 'alias' => $data['alias'], - 'platform' => $platform, + 'platform' => Base::platform(), ]; $row = UmengAlias::where($inArray); if ($row->exists()) { diff --git a/app/Module/Base.php b/app/Module/Base.php index 727315495..bc66f1fa1 100755 --- a/app/Module/Base.php +++ b/app/Module/Base.php @@ -2044,6 +2044,27 @@ class Base } } + /** + * 获取平台类型 + * @return string + */ + public static function platform() + { + $platform = strtolower(trim(Request::header('platform'))); + if (in_array($platform, ['android', 'ios', 'win', 'mac', 'web'])) { + return $platform; + } + $agent = strtolower(Request::server('HTTP_USER_AGENT')); + if (str_contains($agent, 'android')) { + $platform = 'android'; + } elseif (str_contains($agent, 'iphone') || str_contains($agent, 'ipad')) { + $platform = 'ios'; + } else { + $platform = 'unknown'; + } + return $platform; + } + /** * 返回根据距离sql排序语句 * @param $lat diff --git a/resources/assets/js/app.js b/resources/assets/js/app.js index 36848fb74..f6974ce17 100644 --- a/resources/assets/js/app.js +++ b/resources/assets/js/app.js @@ -149,6 +149,8 @@ if (isElectron) { $A.Platform = /macintosh|mac os x/i.test(navigator.userAgent) ? "mac" : "win"; $A.isMainElectron = /\s+MainTaskWindow\//.test(window.navigator.userAgent); $A.isSubElectron = /\s+SubTaskWindow\//.test(window.navigator.userAgent); +} else if (isEEUiApp) { + $A.Platform = /(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent) ? "ios" : "android"; } // 子窗口给主窗口发送指令相关