|
@@ -2,7 +2,9 @@
|
|
|
|
|
|
namespace App\Http\Controllers\WeChat;
|
|
namespace App\Http\Controllers\WeChat;
|
|
|
|
|
|
|
|
+use App\Models\Setting;
|
|
use App\Models\Student;
|
|
use App\Models\Student;
|
|
|
|
+use GuzzleHttp\Client;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Support\Facades\Log;
|
|
use Illuminate\Support\Facades\Log;
|
|
@@ -50,6 +52,20 @@ class ApiController extends Controller
|
|
|
|
|
|
public function checkPosition(Request $request)
|
|
public function checkPosition(Request $request)
|
|
{
|
|
{
|
|
-
|
|
|
|
|
|
+ if(empty($request->input('latitude')) || empty($request->input('longitude'))) {
|
|
|
|
+ return response()->json(['status' => 'fail', 'info' => '参数错误']);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $center_position = Setting::where('key', 'check_card_location')->first();
|
|
|
|
+ if(empty($center_position) || empty($center_position->value) || count($tmp = explode(',', $center_position->value)) < 2) {
|
|
|
|
+ $tmp = ['39.916527', '116.397128'];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $client = new Client();
|
|
|
|
+ $from = $tmp[0] . ',' . $tmp[1];
|
|
|
|
+ $to = $request->input('latitude') . ',' . $request->input('longitude');
|
|
|
|
+ $res = $client->get('https://apis.map.qq.com/ws/distance/v1/', ['from' => $from, 'to' => $to, 'key' => env('TECENT_POSITION_KEY')]);
|
|
|
|
+ $res = (string)$res->getBody();
|
|
|
|
+ return response()->json(['status' => 'success', 'data' => $res]);
|
|
}
|
|
}
|
|
}
|
|
}
|