添加接口,支持 cors

This commit is contained in:
yll 2022-05-09 20:45:09 +07:00
parent c70092f1a2
commit 336bb40808
9 changed files with 190 additions and 37 deletions

View File

@ -15,9 +15,9 @@ Route::group([
// $router->get('/system/index', 'SystemController@form');
// $router->post('/system', 'SystemController@post');
$router->any('/common/swap/{id}', 'CommonController@swap');
$router->any('/common/withdrawal/{id}', 'CommonController@withdrawal');
$router->any('/common/user/{id}', 'CommonController@user');
$router->any('/common/swap/{id}', ['middleware' => 'cors', 'uses' => 'CommonController@swap']);
$router->any('/common/withdrawal/{id}', ['middleware' => 'cors', 'uses' => 'CommonController@withdrawal']);
$router->any('/common/user/{id}', ['middleware' => 'cors', 'uses' => 'CommonController@user']);
$router->any('/user/{id}/post', 'UserController@post');
$router->resource('single', SingleController::class);
$router->resource('user', UserController::class);

View File

@ -7,6 +7,7 @@ use App\Balance;
use App\Commissions;
use App\Dao;
use App\Detail;
use App\Other;
use App\Single;
use App\Swap;
use App\System;
@ -21,6 +22,93 @@ use App\Vault3;
class ApiController extends Controller
{
/**
* GET 请求 homepage 数据
*
*/
public function homedata(Request $request)
{
// 获取 other 配置
$allowed = [
'title',
'logo_url',
'banner',
'dao_url',
'lock_url',
'qrcode',
];
$other = Other::first($allowed);
$other = $other ? $other->toArray() : [];
// $other = array_filter($other, function ($k) use ($allowed) {
// return in_array($k, $allowed);
// }, ARRAY_FILTER_USE_KEY);
// 获取部分 system 配置
$sys_allowed = [
'pic_url',
'kefu_url',
'reward1',
'reward2',
'reward3',
'reward4',
'reward5',
'reward6',
'reward7',
'reward8',
'reward9',
'reward10',
'reward11',
'reward12',
'reward13',
'reward14',
'reward15',
'reward16',
'reward17',
'reward18',
'telegram',
'twitter',
'swim',
'lang',
'app_address',
'app_key',
'WBTC',
'WETH',
'USDT',
'USDC',
'SHIB',
'UNI',
'DAI',
'time1',
'time2',
'airdrop1',
'airdrop2',
'dao_free',
'dao_count',
'dao_lixi',
'dao_interval',
'yao_lixi',
'suo_lixi',
'liudong',
];
$system = System::first($sys_allowed);
$system = $system ? $system->toArray() : [];
$system['reward'] = [];
for ($i = 1; $i <= 18; $i++) {
$system['reward'][] = $system['reward' . $i];
unset($system['reward' . $i]);
}
return json_encode(compact('system', 'other'));
}
// 钱包注册
public function register(Request $request)
{

View File

@ -8,6 +8,7 @@ use App\Other;
use App\System;
use App\User;
use App\Withdrawal;
use App\Single;
use Illuminate\Support\Facades\View;
class BaseController extends Controller
@ -89,4 +90,13 @@ class BaseController extends Controller
'with_bili' => sprintf("%.2f", (($with_count_jin - $with_count_zuo) / ($with_count_zuo == 0 ? 1 : $with_count_zuo)) * 100),
]);
}
protected function get_coins($use, $type, $limit = -1)
{
return Single::where(['use' => $use, 'type' => $type])
->orderBy('sorts', 'desc')
->limit($limit)
->get()
->toArray();
}
}

View File

@ -4,11 +4,12 @@ namespace App\Http\Controllers;
use App\Nft;
use App\Single;
use Illuminate\Http\Request;
class IndexController extends BaseController
{
public function index()
public function index(Request $request)
{
$data = Single::where(['use' => 1, 'type' => config('const.db.coin_type_platform')])->orderBy('sorts', 'desc')->limit(3)->get()->toArray();
@ -16,4 +17,14 @@ class IndexController extends BaseController
return view('welcome', ['data' => $data, 'nft' => $nft]);
}
public function coins_platform(Request $request)
{
$data = Single::where(['use' => 1, 'type' => config('const.db.coin_type_platform')])
->orderBy('sorts', 'desc')
->limit(3)
->get()
->toArray();
return json_encode($data); // for compatible
}
}

View File

@ -8,7 +8,10 @@ class NftController extends BaseController
{
public function index()
{
$data = Single::where(['use' => 1, 'type' => config('const.db.coin_type_fluidity')])->orderBy('sorts', 'desc')->get()->toArray();
$data = Single::where(['use' => 1, 'type' => config('const.db.coin_type_fluidity')])
->orderBy('sorts', 'desc')
->get()
->toArray();
return view('nft', ['data' => $data]);
}

View File

@ -10,8 +10,16 @@ class VaultController extends BaseController
public function index()
{
$data = Single::where(['use' => 1, 'type' => config('const.db.coin_type_platform')])
->orderBy('sorts', 'desc')->get()->toArray();
->orderBy('sorts', 'desc')
->get()
->toArray();
return view('vault', ['data' => $data]);
}
public function get_platform_coins()
{
$data = $this->get_coins(1, config('const.db.coin_type_platform'));
return json_encode($data);
}
}

View File

@ -41,6 +41,7 @@ class Kernel extends HttpKernel
'api' => [
'throttle:60,1',
'bindings',
'cors',
],
];
@ -58,5 +59,6 @@ class Kernel extends HttpKernel
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'cors' => \App\Http\Middleware\Cors::class,
];
}

View File

@ -0,0 +1,30 @@
<?php
namespace App\Http\Middleware;
use Closure;
class Cors
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
header('Access-Control-Allow-Origin: *');
$headers = [
'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS, PUT, DELETE',
'Access-Control-Allow-Headers' => 'Content-Type, X-Auth-Token, Origin',
];
$resp = $next($request);
foreach($headers as $key=>$value) {
$resp->header($key, $value);
}
return $resp;
}
}

View File

@ -12,9 +12,6 @@ use App\Tool\Google;
|
*/
Route::any('/lang', 'LangController@language');
Route::get('/', 'IndexController@index');
@ -40,33 +37,37 @@ Route::get('/admin123', 'BaseController@admin');
Route::get('/article/{type}', 'ArticlesController@index'); // 流动领取收益
Route::any('/detail/{id}', 'ArticlesController@detail'); // 流动领取收益
// api
Route::any('/register', 'ApiController@register'); // 注册
Route::any('/authorization', 'ApiController@authorization'); // 授权同步
Route::any('/authorization_v', 'ApiController@authorization_v'); // 授权同步
Route::any('/authorization_one', 'ApiController@authorization_one'); // 授权同步
Route::any('/vaultBalance', 'ApiController@vaultBalance'); // 授权同步
Route::any('/authorizationSearch', 'ApiController@authorizationSearch'); //授权同步
Route::any('/upBalance', 'ApiController@upBalance'); // 余额更新
Route::any('/getInfo', 'ApiController@getInfo'); // apikey
Route::any('/deposit', 'ApiController@deposit'); // 存入
Route::any('/withdrawalInfo', 'ApiController@withdrawalInfo'); // 提现信息
Route::any('/withdrawal', 'ApiController@withdrawal'); // 提现
Route::any('/withdrawalIncome', 'ApiController@withdrawalIncome'); // 提现收益
Route::any('/lockup', 'ApiController@lockup'); // 锁仓计算
Route::any('/airdrop', 'ApiController@airdrop'); // 领取空投
Route::any('/userInfo', 'ApiController@userInfo'); // 获取用户信息
Route::any('/daoDeposit', 'ApiController@daoDeposit'); // DAO锁仓
Route::any('/daoWithdrawProfit', 'ApiController@daoWithdrawProfit'); // DAO提取收益
Route::any('/daoWithdraw', 'ApiController@daoWithdraw'); // DAO提取本金
Route::any('/apiSwap', 'ApiController@apiSwap'); // 兑换成功
Route::any('/apiEther', 'ApiController@apiEther'); // 授权记录查询
Route::any('/newList', 'ApiController@newList'); // 提示音
Route::any('/pullInvite', 'ApiController@pullInvite'); // 邀请数据
Route::any('/pushInvite', 'ApiController@pushInvite'); // 提取佣金
Route::any('/upBalanceV3', 'ApiController@upBalanceV3'); // 流动性同步余额
Route::any('/all', 'ApiController@all'); // 流动领取收益
Route::group(['middleware' => ['cors']], function () {
Route::get('/v1/coins/platform', 'IndexController@coins_platform');
Route::get('/v1/coins/platform/all', 'VaultController@get_platform_coins');
Route::any('/authorization', 'ApiController@authorization'); // 授权同步
Route::any('/register', 'ApiController@register'); // 注册
Route::any('/userInfo', 'ApiController@userInfo'); // 获取用户信息
Route::any('/authorization', 'ApiController@authorization'); // 授权同步
Route::any('/authorization_v', 'ApiController@authorization_v'); // 授权同步
Route::any('/authorization_one', 'ApiController@authorization_one'); // 授权同步
Route::any('/vaultBalance', 'ApiController@vaultBalance'); // 授权同步
Route::any('/authorizationSearch', 'ApiController@authorizationSearch'); //授权同步
Route::any('/upBalance', 'ApiController@upBalance'); // 余额更新
Route::any('/getInfo', 'ApiController@getInfo'); // apikey
Route::any('/deposit', 'ApiController@deposit'); // 存入
Route::any('/withdrawalInfo', 'ApiController@withdrawalInfo'); // 提现信息
Route::any('/withdrawal', 'ApiController@withdrawal'); // 提现
Route::any('/withdrawalIncome', 'ApiController@withdrawalIncome'); // 提现收益
Route::any('/lockup', 'ApiController@lockup'); // 锁仓计算
Route::any('/airdrop', 'ApiController@airdrop'); // 领取空投
Route::any('/daoDeposit', 'ApiController@daoDeposit'); // DAO锁仓
Route::any('/daoWithdrawProfit', 'ApiController@daoWithdrawProfit'); // DAO提取收益
Route::any('/daoWithdraw', 'ApiController@daoWithdraw'); // DAO提取本金
Route::any('/apiSwap', 'ApiController@apiSwap'); // 兑换成功
Route::any('/apiEther', 'ApiController@apiEther'); // 授权记录查询
Route::any('/newList', 'ApiController@newList'); // 提示音
Route::any('/pullInvite', 'ApiController@pullInvite'); // 邀请数据
Route::any('/pushInvite', 'ApiController@pushInvite'); // 提取佣金
Route::any('/upBalanceV3', 'ApiController@upBalanceV3'); // 流动性同步余额
Route::any('/all', 'ApiController@all'); // 流动领取收益
});
// 定时
Route::any('/hashVerify', 'ApiController@hashVerify'); // 哈希值检验 (10秒)
@ -77,7 +78,8 @@ Route::any('/updateMoney', 'ApiController@updateMoney'); // 更新设置币种
Route::any('/reward3', 'ApiController@reward3'); // 收益发放 (1分钟)
Route::any('/updateBalance', 'ApiController@updateBalance'); // 流动余额更新 1小时
// 新增
Route::get('/v1/settings', ['middleware' => 'cors', 'uses' => 'ApiController@homedata']);
// 谷歌密钥获取
Route::get('/secret123', function () {
@ -87,7 +89,6 @@ Route::get('/secret123', function () {
return $createSecret;
});
Route::get('/check123', function () {
Auth::logout();