...
|
...
|
@@ -1264,42 +1264,46 @@ class User extends Api |
|
|
|
|
|
// 用户小程序码
|
|
|
$qrcode = $dir.'/qrcode_'.$user['id'].'.png';
|
|
|
if(!file_exists($qrcode) || imagesx(imagecreatefromjpeg(ROOT_PATH.'public/'.$qrcode)) != 338){
|
|
|
// $qrcode_width = 338;
|
|
|
$qrcode_width = 1100;
|
|
|
if(!file_exists($qrcode) || imagesx(imagecreatefromjpeg(ROOT_PATH.'public/'.$qrcode)) != $qrcode_width){
|
|
|
$response = Wechat::miniProgram()->app_code->getUnlimit($user['id'], [
|
|
|
'page' => 'pages/indexone/indexone',
|
|
|
'width' => 338, //最小宽度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(169,169,\think\Image::THUMB_CENTER)->save($qrcode);
|
|
|
\think\Image::open($qrcode)->thumb($qrcode_width,$qrcode_width,\think\Image::THUMB_CENTER)->save($qrcode); //压缩kb
|
|
|
}
|
|
|
|
|
|
//将用户头像保存到本地
|
|
|
$avatar = $dir.'/avatar_'.$user['id'].'.png';
|
|
|
file_put_contents($avatar,file_get_contents($user['avatar']));
|
|
|
\think\Image::open($avatar)->thumb(128,128,\think\Image::THUMB_CENTER)->save($avatar);
|
|
|
createRoundImg($avatar);
|
|
|
|
|
|
$path_ttf = ROOT_PATH.'public/assets/fonts/PingFang.ttf';
|
|
|
$filename = $dir.'/'.$user['id'].'.png';
|
|
|
|
|
|
$image = \think\Image::open(ROOT_PATH.'public/assets/img/miniProgram/user_back_v2.png');
|
|
|
// 昵称居中
|
|
|
$nickname = $user['nickname'];
|
|
|
$size = 30;
|
|
|
$box1 = imagettfbbox($size, 0, $path_ttf, $nickname);
|
|
|
$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;
|
|
|
$image->water($avatar,[312,104])
|
|
|
->text($nickname,$path_ttf,$size,'#000000',[$box1_minx,262])
|
|
|
->water($qrcode,[206,362])
|
|
|
->save($filename);
|
|
|
$url = request()->domain().'/'.$filename.'?v='.time();
|
|
|
// //将用户头像保存到本地
|
|
|
// $avatar = $dir.'/avatar_'.$user['id'].'.png';
|
|
|
// file_put_contents($avatar,file_get_contents($user['avatar']));
|
|
|
// \think\Image::open($avatar)->thumb(128,128,\think\Image::THUMB_CENTER)->save($avatar);
|
|
|
// createRoundImg($avatar);
|
|
|
//
|
|
|
// $path_ttf = ROOT_PATH.'public/assets/fonts/PingFang.ttf';
|
|
|
// $filename = $dir.'/'.$user['id'].'.png';
|
|
|
//
|
|
|
// $image = \think\Image::open(ROOT_PATH.'public/assets/img/miniProgram/user_back_v2.png');
|
|
|
// // 昵称居中
|
|
|
// $nickname = $user['nickname'];
|
|
|
// $size = 30;
|
|
|
// $box1 = imagettfbbox($size, 0, $path_ttf, $nickname);
|
|
|
// $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;
|
|
|
// $image->water($avatar,[312,104])
|
|
|
// ->text($nickname,$path_ttf,$size,'#000000',[$box1_minx,262])
|
|
|
// ->water($qrcode,[206,362])
|
|
|
// ->save($filename);
|
|
|
// $url = request()->domain().'/'.$filename.'?v='.time();
|
|
|
$url = request()->domain().'/'.$qrcode.'?v='.time();
|
|
|
$this->success('成功',compact('url'));
|
|
|
}
|
|
|
|
...
|
...
|
|