AccountsIPAddress.php 820 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. class AccountsIPAddress extends Model
  5. {
  6. const TABLE = 'QPAccountsDB.dbo.AccountsIPAddress';
  7. protected $table = self::TABLE;
  8. // 获取IP城市
  9. public static function getCity($UserID, $ip)
  10. {
  11. $key = config('api.gaode')['key'];
  12. $url = "http://restapi.amap.com/v3/ip?key=$key&ip=" . $ip;
  13. $res = json_decode(file_get_contents($url));
  14. $ip_address = '';
  15. if (isset($res->status) && $res->status == 1) {
  16. $ip_address = !empty($res->province) ? $res->province : '';
  17. $ip_address .= !empty($res->city) ? ','.$res->city : '';
  18. }
  19. self::updateOrInsert(['UserID' => $UserID], ['ip' => $ip, 'ip_address' => $ip_address]);
  20. return $ip_address;
  21. }
  22. }