diff --git a/application/api/controller/v2/Index.php b/application/api/controller/v2/Index.php index 2c0a37c..11fff69 100644 --- a/application/api/controller/v2/Index.php +++ b/application/api/controller/v2/Index.php @@ -422,80 +422,82 @@ class Index extends Api $user_id = $this->auth->id > 0 ? $this->auth->id : 0; $qrcode_id = "{$job_id}_{$user_id}"; $qrcode = $dir.'/qrcode_'.$qrcode_id.'.png'; - if(!file_exists($qrcode) || imagesx(imagecreatefromjpeg(ROOT_PATH.'public/'.$qrcode)) != 192){ - $user_id = $this->auth->id > 0 ? $this->auth->id : 0; +// $qrcode_width = 192; + $qrcode_width = 1100; + if(!file_exists($qrcode) || imagesx(imagecreatefromjpeg(ROOT_PATH.'public/'.$qrcode)) != $qrcode_width){ $response = Wechat::miniProgram()->app_code->getUnlimit($qrcode_id, [ 'page' => 'pages/zhiwei_xq/zhiwei_xq', - 'width' => 280, //最小宽度280 + 'width' => $qrcode_width, //最小宽度280 ]); if ($response instanceof \EasyWeChat\Kernel\Http\StreamResponse) { $response->saveAs($dir, str_replace($dir.'/','',$qrcode)); } // 280不满足,再缩小 - \think\Image::open($qrcode)->thumb(192,192,\think\Image::THUMB_CENTER)->save($qrcode); + \think\Image::open($qrcode)->thumb($qrcode_width,$qrcode_width,\think\Image::THUMB_CENTER)->save($qrcode); } - //将职位图片首图保存到本地 - $images = db('job')->where('id',$job_id)->value('images'); - $image = cdnurl(explode(',',$images)[0],true); - // $image = 'https://recruit.brofirst.cn'.explode(',',$images)[0]; - $job_image = $dir.'/image_'.$job_id.'.png'; - file_put_contents($job_image,file_get_contents($image)); - \think\Image::open($job_image)->thumb(637,352,\think\Image::THUMB_CENTER)->save($job_image); - - $path_ttf = ROOT_PATH.'public/assets/fonts/PingFang.ttf'; - $filename = $dir.'/'.$job_id.'.png'; - - $image = \think\Image::open(ROOT_PATH.'public/assets/img/miniProgram/job_back_v2.png'); - // 职位名称居中 - $size = 30; - $box1 = imagettfbbox($size, 0, $path_ttf, $job['job_name']); - $box1_minx = min($box1[0], $box1[2], $box1[4], $box1[6]); - $box1_maxx = max($box1[0], $box1[2], $box1[4], $box1[6]); - /* 计算文字初始坐标和尺寸 */ - $w = $box1_maxx - $box1_minx; - $box1_minx += ($image->width() - $w) / 2; - - // 工价 - $size_11 = 25; - $factory_price_total = '工价:'.$job['factory_price_total'].'元/小时'; - $box2 = imagettfbbox($size_11, 0, $path_ttf, $factory_price_total); - $box2_minx = min($box2[0], $box2[2], $box2[4], $box2[6]); - $box2_maxx = max($box2[0], $box2[2], $box2[4], $box2[6]); - /* 计算文字初始坐标和尺寸 */ - $w = $box2_maxx - $box2_minx; - $box2_minx += $image->width() - $w - 106; - - // 工资 - $salary = '工资:'.$job['salary']; - $box3 = imagettfbbox($size_11, 0, $path_ttf, $salary); - $box3_minx = min($box3[0], $box3[2], $box3[4], $box3[6]); - $box3_maxx = max($box3[0], $box3[2], $box3[4], $box3[6]); - /* 计算文字初始坐标和尺寸 */ - $w = $box3_maxx - $box3_minx; - $box3_minx += $image->width() - $w - 106; - - // 备注居中 - $last_text = '码上报名'; - $box4 = imagettfbbox($size, 0, $path_ttf, $last_text); - $box4_minx = min($box4[0], $box4[2], $box4[4], $box4[6]); - $box4_maxx = max($box4[0], $box4[2], $box4[4], $box4[6]); - /* 计算文字初始坐标和尺寸 */ - $w = $box4_maxx - $box4_minx; - $box4_minx += ($image->width() - $w) / 2; - - $image->water($job_image,[25,25]) - ->text($job['job_name'],$path_ttf,$size,'#323233',[$box1_minx,411]) - ->text($job['job_name'],$path_ttf,$size,'#323233',[$box1_minx+1,411]) //画两遍,加粗 - ->text($factory_price_total,$path_ttf,$size_11,'#323233',[$box2_minx,477]) - ->text($factory_price_total,$path_ttf,$size_11,'#323233',[$box2_minx+1,477]) - ->text($salary,$path_ttf,$size_11,'#323233',[$box3_minx,532]) - ->text($salary,$path_ttf,$size_11,'#323233',[$box3_minx+1,532]) - ->text($last_text,$path_ttf,$size,'#FE9515',[$box4_minx,641]) - ->text($last_text,$path_ttf,$size,'#FE9515',[$box4_minx+1,641]) - ->water($qrcode,[249,698]) - ->save($filename); - $url = request()->domain().'/'.$filename.'?v='.time(); +// //将职位图片首图保存到本地 +// $images = db('job')->where('id',$job_id)->value('images'); +// $image = cdnurl(explode(',',$images)[0],true); +// // $image = 'https://recruit.brofirst.cn'.explode(',',$images)[0]; +// $job_image = $dir.'/image_'.$job_id.'.png'; +// file_put_contents($job_image,file_get_contents($image)); +// \think\Image::open($job_image)->thumb(637,352,\think\Image::THUMB_CENTER)->save($job_image); +// +// $path_ttf = ROOT_PATH.'public/assets/fonts/PingFang.ttf'; +// $filename = $dir.'/'.$job_id.'.png'; +// +// $image = \think\Image::open(ROOT_PATH.'public/assets/img/miniProgram/job_back_v2.png'); +// // 职位名称居中 +// $size = 30; +// $box1 = imagettfbbox($size, 0, $path_ttf, $job['job_name']); +// $box1_minx = min($box1[0], $box1[2], $box1[4], $box1[6]); +// $box1_maxx = max($box1[0], $box1[2], $box1[4], $box1[6]); +// /* 计算文字初始坐标和尺寸 */ +// $w = $box1_maxx - $box1_minx; +// $box1_minx += ($image->width() - $w) / 2; +// +// // 工价 +// $size_11 = 25; +// $factory_price_total = '工价:'.$job['factory_price_total'].'元/小时'; +// $box2 = imagettfbbox($size_11, 0, $path_ttf, $factory_price_total); +// $box2_minx = min($box2[0], $box2[2], $box2[4], $box2[6]); +// $box2_maxx = max($box2[0], $box2[2], $box2[4], $box2[6]); +// /* 计算文字初始坐标和尺寸 */ +// $w = $box2_maxx - $box2_minx; +// $box2_minx += $image->width() - $w - 106; +// +// // 工资 +// $salary = '工资:'.$job['salary']; +// $box3 = imagettfbbox($size_11, 0, $path_ttf, $salary); +// $box3_minx = min($box3[0], $box3[2], $box3[4], $box3[6]); +// $box3_maxx = max($box3[0], $box3[2], $box3[4], $box3[6]); +// /* 计算文字初始坐标和尺寸 */ +// $w = $box3_maxx - $box3_minx; +// $box3_minx += $image->width() - $w - 106; +// +// // 备注居中 +// $last_text = '码上报名'; +// $box4 = imagettfbbox($size, 0, $path_ttf, $last_text); +// $box4_minx = min($box4[0], $box4[2], $box4[4], $box4[6]); +// $box4_maxx = max($box4[0], $box4[2], $box4[4], $box4[6]); +// /* 计算文字初始坐标和尺寸 */ +// $w = $box4_maxx - $box4_minx; +// $box4_minx += ($image->width() - $w) / 2; +// +// $image->water($job_image,[25,25]) +// ->text($job['job_name'],$path_ttf,$size,'#323233',[$box1_minx,411]) +// ->text($job['job_name'],$path_ttf,$size,'#323233',[$box1_minx+1,411]) //画两遍,加粗 +// ->text($factory_price_total,$path_ttf,$size_11,'#323233',[$box2_minx,477]) +// ->text($factory_price_total,$path_ttf,$size_11,'#323233',[$box2_minx+1,477]) +// ->text($salary,$path_ttf,$size_11,'#323233',[$box3_minx,532]) +// ->text($salary,$path_ttf,$size_11,'#323233',[$box3_minx+1,532]) +// ->text($last_text,$path_ttf,$size,'#FE9515',[$box4_minx,641]) +// ->text($last_text,$path_ttf,$size,'#FE9515',[$box4_minx+1,641]) +// ->water($qrcode,[249,698]) +// ->save($filename); +// $url = request()->domain().'/'.$filename.'?v='.time(); + $url = request()->domain().'/'.$qrcode.'?v='.time(); $this->success('成功',compact('url')); } diff --git a/application/api/controller/v2/User.php b/application/api/controller/v2/User.php index ac851f8..6b6850e 100644 --- a/application/api/controller/v2/User.php +++ b/application/api/controller/v2/User.php @@ -1275,7 +1275,6 @@ class User extends Api $response->saveAs($dir, str_replace($dir.'/','',$qrcode)); } // 280不满足,再缩小 - // \think\Image::open($qrcode)->thumb(169,169,\think\Image::THUMB_CENTER)->save($qrcode); \think\Image::open($qrcode)->thumb($qrcode_width,$qrcode_width,\think\Image::THUMB_CENTER)->save($qrcode); //压缩kb }