Commit 0616d4f2 by 连敬荣

代码重构

parent e071e735
......@@ -47,7 +47,6 @@ class ApiController extends Controller
$input["user_id"] = $this->user_id; #用户id
$input["email"] = $this->email; #邮箱
$input["user_name"] = $this->user_name; #用户中文名称
$this->$id($input, $id);
}
......
......@@ -2,6 +2,9 @@
namespace App\Http\Controllers;
use App\Http\Utils\ApiCode;
use App\Http\Utils\RequestHelper;
use App\Http\Utils\Response;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
......@@ -11,4 +14,19 @@ use Illuminate\Foundation\Auth\Access\AuthorizesResources;
class Controller extends BaseController
{
use AuthorizesRequests, AuthorizesResources, DispatchesJobs, ValidatesRequests;
public function setError($errMsg, $errCode = ApiCode::API_CODE_ERROR, $data = null)
{
Response::setError($errMsg, $errCode, $data);
}
public function setSuccess($data, $code = ApiCode::API_CODE_SUCCESS, $msg = "")
{
Response::setSuccess($data, $code, $msg);
}
public function user()
{
return RequestHelper::getUser();
}
}
......@@ -25,6 +25,7 @@ class SearchController extends Controller
}
}
echo json_encode($temp, JSON_UNESCAPED_UNICODE);
// $this->setSuccess($temp);
}
//新增询价,品牌查询接口
......
......@@ -25,12 +25,6 @@ class Kernel extends HttpKernel
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\CheckLogin::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
EnableCrossRequestMiddleware::class,
],
'api' => [
],
......
......@@ -2,6 +2,10 @@
namespace App\Http\Middleware;
use App\Http\Services\UserService;
use App\Http\Utils\RequestHelper;
use App\Http\Utils\Response;
use App\Model\LoginModel;
use Closure;
......@@ -16,6 +20,41 @@ class ApiAuthenticate
*/
public function handle($request, Closure $next)
{
if (@$_REQUEST["debug"] == 100) {
$userInfo = ["user_id" => 1000, "user_name" => "admin"];
} else {
//来自不一样的端,判断是否已经登录
$source = $request->header("source"); //来源端:内部后台:pc 云芯系统:yunxin App: app 小程序:h5_app
$token = $request->header("token");
if ($token == "") {
Response::setError("参数 token 不得为空");
}
if ($source == 'yunxin') {
$cloud_user_info = UserService::getCloudSupplierCmsInfo($token);
if (empty($cloud_user_info)) {
Response::setError("请先登录");
}
$userInfo = ['user_id' => $cloud_user_info['userId'], "user_name" => $cloud_user_info['name'], 'email' => $cloud_user_info['email']];
// 设置请求平台类型
RequestHelper::setClientType($source);
} else {
// to do 待优化
$Redis = \RedisDB::connection();
$userInfoKey = $Redis->keys('frq_login_' . $token . "*");
$userInfo = count($userInfoKey) ? $Redis->get($userInfoKey[0]) : "";
if (empty($userInfo)) {
Response::setError("请先登录");
}
$userInfo = \GuzzleHttp\json_decode($userInfo, true);
}
}
// 设置请求用户信息
RequestHelper::setUser($userInfo);
return $next($request);
}
}
<?php
namespace App\Http\Services;
class UserService
{
public static function getCloudSupplierCmsInfo($token)
{
$http = new \GuzzleHttp\Client;
$url = Config('website.cloud_domain') . "/api/user/getsupplier.cmsinfo";
$response = $http->get($url, ['query' => ['token' => $token]]);
$stringBody = (string)$response->getBody();
$res = json_decode($stringBody, true);
if ($res && is_array($res) && ($res['err_code'] === 0)) {
$cms_info = $res['data'];
} else {
throw new \Exception("查询cms用户信息失败");
}
return $cms_info;
}
}
<?php
namespace App\Http\Utils;
interface ApiCode
{
const API_CODE_SUCCESS = 0;//接口请求成功
const API_CODE_ERROR = 1001;//接口请求失败
const API_CODE_DATA_INVALID = 1001;//数据校验失败
const API_CODE_UNLOGINED = 1001;//未登陆
}
\ No newline at end of file
<?php
namespace App\Http\Utils;
class Response
{
public static function setError($errMsg, $errCode = ApiCode::API_CODE_ERROR, $data = null)
{
echo json_encode(['code' => $errCode, 'msg' => $errMsg, 'data' => $data], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
exit();
}
public static function setSuccess($data, $code = ApiCode::API_CODE_SUCCESS, $msg = "")
{
echo json_encode(['code' => $code, 'msg' => $msg, 'data' => $data], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
exit();
}
}
\ No newline at end of file
......@@ -14,7 +14,7 @@ return [
'dashboard'=> $domain_config['domain']['login_domain'] . '/dashboard',
],
//////////////////////
"search_url"=>"http://soso12.ichunt.com", //本地235数据库
// "search_url"=>"http://soso12.ichunt.com", //本地235数据库
////////////////本地配置////////////////////
'export_source_items_id' => "30", //导出来源明细id
'company_info_origin'=>[ #原始公司信息
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment