示例#1
0
use Illuminate\Http\Request;
use Illuminate\Contracts\Filesystem\FileNotFoundException;
use App\Util;
// Api Start2
$app->post('/start2/upload', function (Request $request) {
    $rules = ['password' => 'required|alpha_dash|between:5,50', 'data' => 'required|json'];
    $validator = Validator::make($request->all(), $rules);
    if ($validator->fails()) {
        return Util::errorResponse('data invalid');
    }
    $inputs = $request->all();
    if (env('ADMIN_PASSWORD', 'admin') !== $inputs['password']) {
        return Util::errorResponse('incorrect password');
    }
    $start2 = json_decode($inputs['data'], true);
    if (Util::exists('api_start2.json')) {
        $data = Util::load('api_start2.json');
        if (Util::compareJson($data, $start2)) {
            return Util::errorResponse('duplicate start2 data');
        }
    }
    Util::dump('api_start2.json', $start2);
    $datetime = new DateTime();
    $today = $datetime->format('YmdH');
    Util::dump("start2/{$today}.json", $start2);
    Queue::push(function ($job) {
        Artisan::call('parse:start2');
        $job->delete();
    });
    return Util::successResponse();
});