feat: 项目基础框架+配置+Kernel
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Admin;
|
||||
use App\AdminModuleAction;
|
||||
use App\AdminRole;
|
||||
use App\AdminRolePermission;
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
|
||||
class AdminAuthenticate
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$admin = session()->get('admin_username');
|
||||
|
||||
if (empty($admin)) {
|
||||
//return response()->json(['error' => '999', 'message' => '请先登录']);
|
||||
return redirect('/superdad');
|
||||
}
|
||||
// if (Session::getId()!=Auth::user()->last_session){
|
||||
|
||||
// }
|
||||
$admin_user = Admin::where('username', $admin)->select()->first();
|
||||
if(session() -> getId() != $admin_user -> session_id){
|
||||
session()->put('admin_username', '');
|
||||
session()->put('admin_id', '');
|
||||
session()->put('admin_role_id','');
|
||||
session()->put('admin_is_super', '');
|
||||
return redirect('/superdad');
|
||||
}
|
||||
$admin_role = AdminRole::where('id', $admin_user->role_id)->first();
|
||||
$admin_permit = AdminRolePermission::where('role_id', $admin_user->role_id)->get();
|
||||
|
||||
$arr = [];
|
||||
foreach ($admin_permit as $v) {
|
||||
$arr[] = $v['action'];
|
||||
if ($v['action'] == 'admin/user/list') {
|
||||
$arr[] = 'admin/user/cash_info';
|
||||
$arr[] = 'admin/user/cash_info_international';
|
||||
}
|
||||
if ($v['action'] == 'admin/invite/childs') { // 可以查看关系图时也要赋下面的权限
|
||||
$arr[] = 'admin/invite/getTop';
|
||||
$arr[] = 'admin/invite/getSon';
|
||||
}
|
||||
if ($v['action'] == 'admin/micro_order') {
|
||||
$arr[] = 'admin/micro_order_list';
|
||||
}
|
||||
if ($v['action'] == 'admin/deposit/config/view') {
|
||||
$arr[] = 'admin/deposit/config';
|
||||
}
|
||||
if ($v['action'] == 'admin/currency/deposit_order') {
|
||||
$arr[] = 'admin/currency/deposit_order/list';
|
||||
}
|
||||
if ($v['action'] == 'admin/bind_box/index') {
|
||||
$arr[] = 'admin/bind_box/list';
|
||||
}
|
||||
if ($v['action'] == 'admin/bind_box/order') {
|
||||
$arr[] = 'admin/bind_box/orderList';
|
||||
}
|
||||
if ($v['action'] == 'admin/bind_box/quotation') {
|
||||
$arr[] = 'admin/bind_box/quotationList';
|
||||
}
|
||||
if ($v['action'] == 'admin/bind_box/rarity_house') {
|
||||
$arr[] = 'admin/bind_box/rarity_house_list';
|
||||
}
|
||||
if ($v['action'] == 'admin/bind_box/success_order') {
|
||||
$arr[] = 'admin/bind_box/success_order_list';
|
||||
}
|
||||
if ($v['action'] == 'admin/dual/index') {
|
||||
$arr[] = 'admin/dual_list';
|
||||
}
|
||||
if ($v['action'] == 'admin/dual/order') {
|
||||
$arr[] = 'admin/dual/order_lists';
|
||||
}
|
||||
if ($v['action'] == 'admin/currency') {
|
||||
$arr[] = 'admin/currency_list';
|
||||
}
|
||||
if ($v['action'] == 'admin/currency/match') {
|
||||
$arr[] = 'admin/currency/match_list';
|
||||
}
|
||||
if ($v['action'] == 'admin/currency/project/view') {
|
||||
$arr[] = 'admin/currency/project/list';
|
||||
}
|
||||
if ($v['action'] == 'admin/user/charge_req') {
|
||||
$arr[] = 'admin/user/charge_list';
|
||||
}
|
||||
if ($v['action'] == 'admin/wallet/index') {
|
||||
$arr[] = 'admin/wallet/list';
|
||||
}
|
||||
}
|
||||
// print_r($arr);exit();
|
||||
|
||||
$name = Route::getCurrentRoute()->uri();
|
||||
|
||||
if ($admin_role['is_super'] != 1 && (!in_array($name, $arr))) {
|
||||
//return response()->json(['type'=>'997','message'=>'权限不够!']);
|
||||
if($request->ajax()){
|
||||
return response()->json(['type'=>'997','message'=>'权限不够!']);
|
||||
}
|
||||
abort(403, '权限不够');
|
||||
}
|
||||
//dd($name);
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
use App\Agent;
|
||||
use Closure;
|
||||
|
||||
class AgentAuth
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
// public function handle($request, Closure $next) {
|
||||
// if ($request->session()->has('access_token')) {
|
||||
|
||||
// $access_token = $request->session()->get('access_token');
|
||||
// if ($request->input('access_token') != $access_token){
|
||||
// return response()->json(['code' => 1001, 'msg' => '登录超时']);
|
||||
// }else{
|
||||
// return $next($request);
|
||||
// }
|
||||
|
||||
// }else{
|
||||
// return response()->json(['code' => 1001, 'msg' => '登录超时']);
|
||||
// }
|
||||
// }
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$agent_id = session()->get('agent_id');
|
||||
|
||||
if (empty($agent_id)) {
|
||||
return redirect('/agent');
|
||||
}
|
||||
$agent = Agent::where('id', $agent_id)->first();
|
||||
|
||||
if (!$agent or $agent['is_lock'] == 1) {
|
||||
return redirect('/agent');
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Users;
|
||||
use App\Token;
|
||||
use Closure;
|
||||
use Session;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class CheckApi
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @param string|null $guard
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next, $guard = null)
|
||||
{
|
||||
$token = Token::getToken();
|
||||
// var_dump($token);
|
||||
$user_id = Token::getUserIdByToken($token);
|
||||
// var_dump($user_id);die;
|
||||
// return response()->json(['user_id' => $user_id, 'message' => $token]);
|
||||
// if (empty($user_id) || ($user_id != session('user_id'))){
|
||||
// return response()->json(['type' => '999', 'message' => '请先登录']);
|
||||
// }
|
||||
// print($token.'--------------'.$user_id);
|
||||
// file_put_contents("log.txt", $token.'--------------'.$user_id . PHP_EOL);
|
||||
if (empty($user_id)) {
|
||||
$message = str_replace('massage.', '', __("massage.请登录"));
|
||||
return response()->json(['type' => '999', 'message' => $message]);
|
||||
}
|
||||
// if ($user_id != session('user_id')){
|
||||
// return response()->json(['type'=>'999','message'=>'请先登录']);
|
||||
// }
|
||||
// echo $user_id;
|
||||
// $request->attributes->add(['user_id' => $user_id]);//添加参数
|
||||
// session(['user_id' => $user_id]);
|
||||
return $next($request);
|
||||
//->header('Access-Control-Allow-Origin', '*')
|
||||
// ->header('Access-Control-Allow-Credentials', 'true');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Users;
|
||||
use App\Setting;
|
||||
use Closure;
|
||||
use App\UserReal;
|
||||
class CheckUser
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
|
||||
$value = Setting::getValueByKey('realname');
|
||||
|
||||
|
||||
$user_id = Users::getUserId();
|
||||
$user_real = UserReal::where('user_id',$user_id)->first();
|
||||
$users=Users::where('id',$user_id)->first();
|
||||
if(empty($user_real) && $value){
|
||||
$message='请实名认证';
|
||||
$message=str_replace('massage.', '', __("massage.$message"));
|
||||
return response()->json(['type' => '998', 'message' =>$message]);
|
||||
}
|
||||
if(!empty($user_real)){
|
||||
|
||||
if ($user_real->review_status != 2 && $value){
|
||||
|
||||
return response()->json(['type' => 'error', 'message' => '您的实名认证还未通过!']);
|
||||
}
|
||||
}
|
||||
if($users->frozen_funds == 1){
|
||||
$message='您好,您的资金已被锁定,详情请咨询客服。';
|
||||
$message=str_replace('massage.', '', __("massage.$message"));
|
||||
return response()->json(['type' => 'error', 'message' => $message]);
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
|
||||
class Cross
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
|
||||
$response = $next($request);
|
||||
$response->header('Access-Control-Allow-Origin', '*');
|
||||
$response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN,lang,1min');
|
||||
$response->header('Access-Control-Expose-Headers', 'Authorization, authenticated,lang,1min');
|
||||
$response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS');
|
||||
$response->header('Access-Control-Allow-Credentials', 'false');
|
||||
return $response;
|
||||
|
||||
|
||||
|
||||
// return $next($request)->header('Access-Control-Allow-Origin', '*')
|
||||
// ->header('Access-Control-Allow-Credentials', 'true');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
|
||||
class DemoLimit
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$demo_mode = config('app.demo_mode');
|
||||
if ($demo_mode == 1) {
|
||||
if ($request->ajax()) {
|
||||
return response()->json([
|
||||
'type' => 'error',
|
||||
'message' => '模拟系统禁用此功能',
|
||||
]);
|
||||
} else {
|
||||
abort(403, '模拟系统禁用此功能');
|
||||
}
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
namespace App\Http\Middleware;
|
||||
use Closure;
|
||||
class EnableCrossRequestMiddleware{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next){
|
||||
|
||||
$response = $next($request);
|
||||
$origin = $request->server('HTTP_ORIGIN') ? $request->server('HTTP_ORIGIN') : '';
|
||||
$allow_origin = [
|
||||
'https://www.tronlink.vip/',
|
||||
'https://m.tronlink.vip/',
|
||||
];
|
||||
/*
|
||||
if (in_array($origin, $allow_origin)) {
|
||||
$response->header('Access-Control-Allow-Origin', $origin);
|
||||
$response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN');
|
||||
$response->header('Access-Control-Expose-Headers', 'Authorization, authenticated');
|
||||
$response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS');
|
||||
$response->header('Access-Control-Allow-Credentials', 'true');
|
||||
}
|
||||
*/
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
|
||||
|
||||
class EncryptCookies extends Middleware
|
||||
{
|
||||
/**
|
||||
* The names of the cookies that should not be encrypted.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $except = [
|
||||
//
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use App\Users;
|
||||
use App\LeverTransaction;
|
||||
|
||||
class HoldCheck
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$user_id = Users::getUserId();
|
||||
$exist_close_trade = LeverTransaction::where('user_id', $user_id)->whereNotIn('status', [LeverTransaction::CLOSED, LeverTransaction::CANCEL])->count();
|
||||
if ($exist_close_trade > 0) {
|
||||
$message = str_replace('massage.', '', __("massage.操作失败:您有未平仓的交易,操作禁止"));
|
||||
return response()->json([
|
||||
'type' => 'error',
|
||||
'message' => $message
|
||||
]);
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Users;
|
||||
use Closure;
|
||||
use App\UserReal;
|
||||
class IsLock
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$user_id = Users::getUserId();
|
||||
//判断是否锁定账户 3.12 by t
|
||||
$users=Users::where('id',$user_id)->first();
|
||||
if ($users->status == 1){//1锁定 0不锁定
|
||||
|
||||
return response()->json(['type' => 'error', 'message' => '您处于锁定状态!']);
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
|
||||
class Language
|
||||
{
|
||||
/**
|
||||
* @param $request
|
||||
* @param Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$lang = $request->get('lang', 'en');
|
||||
session()->put('lang', $lang);
|
||||
//$lang = session('lang', 'zh');
|
||||
App::setLocale($lang);
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class RedirectIfAuthenticated
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @param string|null $guard
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next, $guard = null)
|
||||
{
|
||||
if (Auth::guard($guard)->check()) {
|
||||
return redirect('/home');
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use App\Setting;
|
||||
use Closure;
|
||||
use App\Users;
|
||||
use App\LeverTransaction;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class ScoreLimit
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$user_id = Users::getUserId();
|
||||
$user = DB::table('users')->find($user_id);
|
||||
$score_limit = Setting::getValueByKey('score_withdraw_limit');
|
||||
if ($user->score < $score_limit){
|
||||
$message = str_replace('massage.', '', __("massage.操作失败:您的信用分不足",['source'=>$score_limit]));
|
||||
return response()->json([
|
||||
'type' => 'error',
|
||||
'message' => $message//'操作失败:您的信用分不足' . $score_limit
|
||||
]);
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
|
||||
|
||||
class TrimStrings extends Middleware
|
||||
{
|
||||
/**
|
||||
* The names of the attributes that should not be trimmed.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $except = [
|
||||
'password',
|
||||
'password_confirmation',
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Fideloper\Proxy\TrustProxies as Middleware;
|
||||
|
||||
class TrustProxies extends Middleware
|
||||
{
|
||||
/**
|
||||
* The trusted proxies for this application.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $proxies;
|
||||
|
||||
/**
|
||||
* The current proxy header mappings.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $headers = [
|
||||
Request::HEADER_FORWARDED => 'FORWARDED',
|
||||
Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR',
|
||||
Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST',
|
||||
Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT',
|
||||
Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO',
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use App\Users;
|
||||
|
||||
class ValidateUserLocked
|
||||
{
|
||||
/**
|
||||
* Handle an incoming request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \Closure $next
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
$user_id = Users::getUserId();
|
||||
$user = Users::find($user_id);
|
||||
if ($user) {
|
||||
if ($user->status == 1 && $user->lock_time > time()) {
|
||||
return response()->json(['type' => 'error', 'message' => 'アカウントは現在凍結されており、この機能をご利用いただけません。']);
|
||||
}
|
||||
// return response()->json(['type' => 'error', 'message' => '账号锁定中,' . date('Y-m-d H:i:s', $user->lock_time) . '前不能进行此操作']);
|
||||
// アカウントは現在凍結されており、この機能をご利用いただけません。
|
||||
} else {
|
||||
$message = str_replace('massage.', '', __("massage.请登录"));
|
||||
return response()->json(['type' => '999', 'message' => $message]);
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
|
||||
|
||||
class VerifyCsrfToken extends Middleware
|
||||
{
|
||||
/**
|
||||
* The URIs that should be excluded from CSRF verification.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $except = [
|
||||
//
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
class XSS
|
||||
{
|
||||
public function handle(Request $request, Closure$next)
|
||||
{
|
||||
$input = $request->all();
|
||||
array_walk_recursive($input,function(&$input) {
|
||||
$input = strip_tags($input);
|
||||
});
|
||||
$request->merge($input);
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user