1 changed files with 122 additions and 0 deletions
@ -0,0 +1,122 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace App\Admin\Common; |
||||
|
|
||||
|
use Dcat\Admin\Controllers\AdminController; |
||||
|
use EasyWeChat\Factory; |
||||
|
use Intervention\Image\ImageManager; |
||||
|
|
||||
|
class StoreQrCode extends AdminController |
||||
|
{ |
||||
|
protected $images; |
||||
|
protected $imageManager; |
||||
|
|
||||
|
public function __construct() |
||||
|
{ |
||||
|
$this->images = new Images(); |
||||
|
// $this->imageManager = new ImageManager();
|
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 生成小程序码 永久 还没完成 |
||||
|
* @param $scene 参数 |
||||
|
* @param $optional |
||||
|
*/ |
||||
|
public function getUnlimited(string $scene, array $optional = []) |
||||
|
{ |
||||
|
$wxCode = Factory::payment(config('wechat.mini_program.default')); |
||||
|
$res = $wxCode->app_code->getUnlimited($scene,$optional); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 生成店铺的微信小程序码 |
||||
|
*/ |
||||
|
public function SetStoreWeChatCode($id) |
||||
|
{ |
||||
|
$codeStore = $this->images->createQrCode($id,'zh_cjdianc/pages/takeout/takeoutindex'); |
||||
|
$storeImgPath = 'QR_code/code_store_img/wx_store_'.$id.'.jpg'; |
||||
|
$res = $this->images->uploadOss($codeStore,$storeImgPath); |
||||
|
if($res){ |
||||
|
return ['status' => true ,'path' => $storeImgPath]; |
||||
|
}else{ |
||||
|
return ['status' => false ,'path' => '']; |
||||
|
} |
||||
|
} |
||||
|
/** |
||||
|
* 生成店铺收银的微信二维码 |
||||
|
*/ |
||||
|
public function SetPayWeChatCode($id) |
||||
|
{ |
||||
|
// $isCREATE = env('IS_CREATE_WECHAT_MINI_QR_CODE',1);
|
||||
|
// if($isCREATE == 0){
|
||||
|
$codeStore = $this->images->createQrCode($id,'zh_cjdianc/pages/seller/fukuan'); |
||||
|
$storeImgPath = 'QR_code/code_minipay_img/wx_minipay_'.$id.'.jpg'; |
||||
|
// }else{
|
||||
|
// $codeStore = $this->images->createWeChatQrCode('?scene='.$id,'zh_cjdianc/pages/seller/fukuan');
|
||||
|
// $storeImgPath = 'QR_code/code_pay_img/wx_pay_'.$id.'.jpg';
|
||||
|
// // 裁剪
|
||||
|
|
||||
|
// }
|
||||
|
|
||||
|
// 裁剪测试
|
||||
|
// $this->imageManager->make()->resize(270,270)->insert($codeStore);
|
||||
|
|
||||
|
$res = $this->images->uploadOss($codeStore,$storeImgPath); |
||||
|
if($res){ |
||||
|
return ['status' => true ,'path' => $storeImgPath]; |
||||
|
}else{ |
||||
|
return ['status' => false ,'path' => '']; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 店铺收银码裁剪 |
||||
|
*/ |
||||
|
public function setStoreCodeImg($file_path,$storeId){ |
||||
|
|
||||
|
$save_path = './QR_code/wx_store_pay_cut/wx_pay_'.$storeId.'.jpg'; |
||||
|
|
||||
|
if(!file_exists($save_path)){ |
||||
|
//将图片进行裁剪
|
||||
|
if(file_exists($file_path)){ |
||||
|
$save_width = 270; |
||||
|
$start_spot_x = 5; |
||||
|
$start_spot_y = 5; |
||||
|
$width = 270; |
||||
|
$height = 270; |
||||
|
|
||||
|
$this->tailoringImg($save_path,$file_path,$save_width,$start_spot_x,$start_spot_y,$width,$height,1); |
||||
|
}else{ |
||||
|
return ''; |
||||
|
} |
||||
|
} |
||||
|
return $save_path; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 裁剪图片 |
||||
|
*/ |
||||
|
public function tailoringImg($save_path,$file_path,$save_width,$start_spot_x,$start_spot_y,$width,$height,$display=1) |
||||
|
{ |
||||
|
if(file_exists($file_path) && is_readable($file_path)){ |
||||
|
//从字符串中的图像流新建一图像
|
||||
|
$src = imagecreatefromstring(file_get_contents($file_path)); |
||||
|
|
||||
|
//保存图片的高
|
||||
|
$save_height = round($save_width*$height/$width); |
||||
|
|
||||
|
//根据要保存的宽和高创建图片
|
||||
|
$new_image = imagecreatetruecolor($save_width, $save_height); |
||||
|
|
||||
|
//生成最后的图片
|
||||
|
imagecopyresampled($new_image, $src, 0, 0, $start_spot_x, $start_spot_y, $save_width, $save_height, $width, $height); |
||||
|
|
||||
|
// header('Content-Type: image/jpeg');
|
||||
|
imagejpeg($new_image,$save_path); |
||||
|
imagedestroy($src); |
||||
|
imagedestroy($new_image); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue