Browse Source

验证xml接口请求、微信测试账号认证

master
wanghongjun 1 year ago
parent
commit
0dcda07855
  1. 34
      app/controller/admin/Login.php
  2. 10
      app/controller/admin/ThirdLogin.php
  3. 47
      app/controller/api/Wx.php
  4. 10
      config/wx.php
  5. 2
      route/apiRoute.php
  6. 5
      route/app.php

34
app/controller/admin/Login.php

@ -78,6 +78,40 @@ class Login extends Base {
return $this->buildSuccess($userInfo->toArray(), '登录成功');
}
/**
* 测试 xml接口请求
* @return Response
* @throws \SoapFault
*/
public function test(): Response {
$wsdl = 'http://192.168.66.182:8080/webservice/test?wsdl';
// 创建一个SoapClient实例
$client = new \SoapClient($wsdl);
// 假设WebService提供了一个名为"getData"的方法
// 你需要传递必要的参数调用这个方法
$parameters = array(
'pucode' => 'value1',
'param2' => 'value2'
);
// 调用WebService的方法
try {
$result = $client->__call("test", $parameters);
// 打印结果
print_r($result);
} catch (SoapFault $e) {
// 错误处理
echo "Error: ", $e->getMessage();
}
die;
return $this->buildSuccess([], '登录成功');
}
/**
* 获取用户信息
* @return Response

10
app/controller/admin/ThirdLogin.php

@ -36,8 +36,8 @@ class ThirdLogin extends Base {
* @var array
*/
private $wxConfig = [
'appId' => '',
'appSecret' => ''
'appId' => 'wx95f03b3c0c33335f',
'appSecret' => '117f446ea2bfdd7ef28e131faafd248b'
];
/**
@ -45,9 +45,9 @@ class ThirdLogin extends Base {
* @var array
*/
private $wxOpenConfig = [
'appId' => '',
'appSecret' => '',
'redirectUri' => 'https://admin.apiadmin.org/#/login/wx'
'appId' => 'wx95f03b3c0c33335f',
'appSecret' => '117f446ea2bfdd7ef28e131faafd248b',
'redirectUri' => 'https://intp.xingtongworld.com/admin/Login/wx'
];
/**

47
app/controller/api/Wx.php

@ -0,0 +1,47 @@
<?php
namespace app\controller\api;
use app\BaseController;
use think\facade\Log;
use think\Request;
class Wx extends BaseController
{
protected $token = 'invoiceApi';
public function verify(Request $request)
{
$param = $request->param();
$signature = $param['signature'] ?? '';// 签名
$timestamp = $param['timestamp'] ?? '';// 时间戳
$nonce = $param['nonce'] ?? '';// 随机数
$echostr = $param['echostr'] ?? '0'; // 随机字符串
$checkRes = $this->checkSignature($signature,$timestamp,$nonce);
$param['res_error'] = $checkRes;
Log::write($param);
echo $echostr;die;
}
private function checkSignature($signature,$timestamp,$nonce):bool
{
$token = $this->token;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
}

10
config/wx.php

@ -0,0 +1,10 @@
<?php
return [
// wxOpenConfig
'APP_ID' => env('wx.app_id'),
'APP_SECRET' => env('wx.app_secret'),
//回调url
'REDIRECT_URI' => env('wx.redirect_uri'),
];

2
route/apiRoute.php

@ -6,6 +6,8 @@
use think\facade\Route;
Route::group('api', function() {
// 微信验证路由地址
Route::rule('Wx/verify', 'api.Wx/verify', 'get');
//MISS路由定义
Route::miss('api.Miss/index');
})->middleware(app\middleware\ApiResponse::class);

5
route/app.php

@ -1,6 +1,11 @@
<?php
use think\facade\Route;
Route::group('admin', function() {
// 测试路由地址
Route::rule('Login/test', 'admin.Login/test', 'get');
Route::rule('ThirdLogin/getWxCode', 'admin.ThirdLogin/getWxCode', 'get');
Route::rule('ThirdLogin/wx', 'admin.ThirdLogin/wx', 'get');
// end
Route::rule('Login/index', 'admin.Login/index', 'post')->middleware([app\middleware\AdminResponse::class]);
Route::rule('Login/logout', 'admin.Login/logout', 'get')->middleware([app\middleware\AdminAuth::class, app\middleware\AdminLog::class, app\middleware\AdminResponse::class]);
Route::rule('Menu/changeStatus', 'admin.Menu/changeStatus', 'get')->middleware([app\middleware\AdminAuth::class, app\middleware\AdminPermission::class, app\middleware\AdminLog::class, app\middleware\AdminResponse::class]);

Loading…
Cancel
Save