dlh_test_server/app/api/logic/VerifyLogic.php
2024-10-03 11:56:44 +08:00

71 lines
2.2 KiB
PHP

<?php
namespace app\api\logic;
use app\common\basics\Logic;
use app\common\model\localstore\LocalGoodsOrder;
use app\common\server\JsonServer;
use app\common\server\WeChatServer;
use EasyWeChat\Factory;
use think\Exception;
use think\facade\Db;
use think\facade\Request;
class VerifyLogic extends Logic
{
/**
* @param $get
* @return void
* 获取核销推广码
*/
public static function getVerifyCode($get)
{
$url = $get['url'];
$lsg_order_id = $get['lsg_order_id'];
try {
$order = LocalGoodsOrder::where([
'lsg_order_id'=>$lsg_order_id,
'state'=>1
])->find();
if(!$order){
throw new Exception('获取失败,订单错误');
}
$scene = 'lsg_order_id='.$order['lsg_order_id'];
$save_dir = ROOT_PATH .'/uploads/verifycode/';
$a = time().$order['lsg_order_id'];
$qr_src = $a . '.jpg';
$config = WeChatServer::getMnpConfig();
$app = Factory::miniProgram($config);
$response = $app->app_code->getUnlimit($scene, [
'page' => $url,
// 'env_version' => 'trial',
'env_version' => 'develop'
]);
if ($response instanceof \EasyWeChat\Kernel\Http\StreamResponse) {
$response->saveAs($save_dir, $a);
$us = Request::instance()->domain();
$d['set_image'] = $data['url'] = $us.'/uploads/verifycode/'.$qr_src;
$set = LocalGoodsOrder::where('lsg_order_id',$lsg_order_id)->update([
'verify_code_image' =>$d['set_image']
]);
if($set){
return JsonServer::success('上传成功',$data);
}else{
return JsonServer::error('上传失败');
}
}
if(isset($response['errcode']) && 41030 === $response['errcode']){
return '商城小程序未上线或商城小程序页面发布';
}
return $response['errmsg'];
}catch (Exception $e) {
self::$error = $e->getMessage();
return false;
}
}
}