京东云实名认证

This commit is contained in:
“wanyongkang”
2024-05-29 11:30:58 +08:00
parent f3c7432100
commit bc97fcaedd
2 changed files with 125 additions and 35 deletions

View File

@@ -2,61 +2,86 @@
namespace app\realname\controller; namespace app\realname\controller;
use fastphp\base\Controller;
use Jdcloud\Credentials\Credentials; use Jdcloud\Credentials\Credentials;
use Jdcloud\Result; use Jdcloud\Result;
use Jdcloud\Cloudauth\CloudauthClient; use Jdcloud\Cloudauth\CloudauthClient;
use app\api\model\User;
class Index class Index extends Controller
{ {
private function getCred(){ private function getCred(){
$ak = "JDC_A3B38E573D7404F976472FB42F52"; $ak = "JDC_A3B38E573D7404F976472FB42F52";
$sk = "C9BAE98F49B42DA2DC02868A75AA3AD8"; $sk = "C9BAE98F49B42DA2DC02868A75AA3AD8";
print("KEY" . $ak . " sk: " . $sk);
$cred = new Credentials($ak, $sk); $cred = new Credentials($ak, $sk);
return $cred; return $cred;
} }
public function test() public function verify()
{ {
// $userinfo = json_decode(file_get_contents("php://input"),true); $temp = json_decode(file_get_contents("php://input"),true);
// dd($userinfo);
$user = new User;
$user_one_info = $user->getOne(['Id'=>$this->userinfo['UserId']]);
$update_one = [];
if ($user_one_info['is_verify'] == 1){
$data = [
'Code'=>20000
];
echo json_encode($data);
die;
}
if ($user_one_info['is_verify'] == 2){
$data = [
'Code'=>-10000
];
echo json_encode($data);
die;
}
$flag = $user->getOne(['id_code'=>$temp['id_code'],'is_verify'=>1]);
if($flag) {
$data = [
'Code'=>30000
];
echo json_encode($data);
die;
}
$client = new CloudauthClient([ $client = new CloudauthClient([
'credentials' => $this->getCred(), 'credentials' => $this->getCred(),
'version' => 'latest', 'version' => 'latest',
'scheme' => 'http' 'scheme' => 'http'
]); ]);
try{
$res = $client->GetAliveUrl([ $res = $client->GetAliveUrl([
'name' => '郭文涵', 'name' => $temp['name'],
'idcard' => '410329200204060032', 'idcard' => $temp['id_code'],
'returnUrl' => 'http://www.xxxx.wyk' 'returnUrl' => 'https://php-api.juip.com/realname/publicaction/getresult?id_code='.$temp['id_code']
]);
dump($res);
}catch (\Jdcloud\Exception\JdcloudException $e) {
print("ERROR");
var_dump($e->getMessage());
$this->assertFalse(true);
}
}
public function getresult() {
$client = new CloudauthClient([
'credentials' => $this->getCred(),
'version' => 'latest',
'scheme' => 'http'
]); ]);
try{ if(isset($res['result']['code']) && $res['result']['code'] == 'ok'){
$res = $client->GetAliveResult([ $update_one['certify_id'] = $res['result']['token'];
'token' => '202405281431239af143850e49c5847a', $update_one['Name'] = $temp['name'];
]); $update_one['id_code'] = $temp['id_code'];
dump($res); $data['url'] = $res['result']['url'];
}catch (\Jdcloud\Exception\JdcloudException $e) { if($user->updateOne(['Id'=>$this->userinfo['UserId']],$update_one)){
print("ERROR"); $data['Code'] = 10000;
var_dump($e->getMessage()); } else {
$this->assertFalse(true); $data = [
'Code'=>-10000
];
} }
} else {
$data = [
'Code'=>-10000
];
} }
echo json_encode($data);
}
} }

View File

@@ -0,0 +1,65 @@
<?php
namespace app\realname\controller;
use Jdcloud\Credentials\Credentials;
use Jdcloud\Result;
use Jdcloud\Cloudauth\CloudauthClient;
use app\api\model\User;
class PublicAction
{
private function getCred(){
$ak = "JDC_A3B38E573D7404F976472FB42F52";
$sk = "C9BAE98F49B42DA2DC02868A75AA3AD8";
$cred = new Credentials($ak, $sk);
return $cred;
}
public function getResult() {
$id_code = $_GET['id_code'];
$user = new User;
$user_one_info = $user->getNewOne(['id_code'=>$id_code]);
$client = new CloudauthClient([
'credentials' => $this->getCred(),
'version' => 'latest',
'scheme' => 'http'
]);
try{
$res = $client->GetAliveResult([
'token' => $user_one_info['certify_id'],
]);
if ($res['result']['h5Result'] == 'ok' && $res['result']['smResult'] == 'ok' && $res['result']['rxResult'] == 'ok') {
$update_one = [
'is_verify' => 1
];
$user->updateOne(['Id'=>$user_one_info['Id']],$update_one);
echo '<h1>实名认证成功</h1></br>';
echo "页面将在5秒后自动跳转...</br>";
echo "<a href='https://www.juip.com/User/Index' />如果没有跳转,请点这里跳转</a>";
header("Refresh: 5; url=https://www.juip.com/User/Index");
die;
} else {
echo '<h1>'.$res['result']['desc'].'</h1></br>';
}
}catch (\Jdcloud\Exception\JdcloudException $e) {
print("ERROR");
var_dump($e->getMessage());
$this->assertFalse(true);
}
}
}