ibrand/laravel-miniprogram-poster
Composer 安装命令:
composer require ibrand/laravel-miniprogram-poster
包简介
iBrand's laravel miniprogram poster tool
README 文档
README
微信小程序中生成朋友圈分享图文海报一种可以实际使用的解决方案
特性
- 基于 html 可实现复杂的文字,图片,阴影效果。
- 清晰度和文件大小合理
- 使用简单、即插即用
- 存储 Model 对象和图片对应关系,避免重复生成图片。
体验
扫码进入商品详情页分享生成图文体验
安装
composer require ibrand/laravel-miniprogram-poster:~2.0 -vvv
-
低于 Laravel5.5 版本,
config/app.php文件中providers添加iBrand\Poster\PhantoMmagickServiceProvider::class -
图片保存在
storage/app/public下所以需要执行php artisan storage:link -
如需自定义配置请执行
php artisan vendor:publish --provider="iBrand\Poster\PhantoMmagickServiceProvider" --tag="config"
配置项
return [ 'default' => [ 'storage' => env('DEFAULT_POSTER_STORAGE', 'qiniu'), ], //图片存储位置 'disks' => [ 'qiniu' => [ 'driver' => 'qiniu', //七牛云access_key 'access_key' => env('QINIU_ACCESS_KEY', ''), //七牛云secret_key 'secret_key' => env('QINIU_SECRET_KEY', ''), //七牛云文件上传空间 'bucket' => env('QINIU_BUCKET', ''), //七牛云cdn域名 'domain' => env('QINIU_DOMAIN', ''), //与cdn域名保持一致 'url' => env('QINIU_DOMAIN', ''), 'root' => storage_path('app/public/qiniu'), ], 'MiniProgramShare' => [ 'driver' => 'local', 'root' => storage_path('app/public/share'), 'url' => env('APP_URL') . '/storage/share', 'visibility' => 'public', ], ], //图片宽度 'width' => '575px', //放大倍数 'zoomfactor' => 1.5, //1-9,9质量最高 'quality' => 9, //是否压缩图片 'compress' => true, //是否删除废弃图片文件 'delete' => true, ];
注:生成海报默认存储七牛云,通过配置项default.storage来设置,如果不适用七牛云,可以通过修改.env中DEFAULT_POSTER_STORAGE来修改默认存储storage
使用
定义路由和视图
Router::get('share/goods','ShareController@goods')->name('share.goods'); public function goods() { //你的业务逻辑代码,获取到相关数据 return view('share.goods',compact('data')); }
这个步骤通过 Laravel 路由视图来实现海报样式展示
生成图片
生成图片,不关联模型。
$url = route('share.goods'); $result = MiniProgramShareImg::generateShareImage($url);
关联模型
执行 命令生成 posters表
php artisan vendor:publish
php artisan migrate
生成图片并关联模型
$goods = Goods::find(1); $result = MiniProgramShareImg::run($goods, $url);
生成图片、关联模型并且重新生成图片
$goods = Goods::find(1); $result = MiniProgramShareImg::run($goods, $url,true);
返回结果示例
[
'url' => 'http://xxx.png', 图片访问url
'path' => 'path/to/image', 图片文件路径
]
字体安装
如果需要实现复杂的字体效果,需要安装字体,比如在 centos 上就没有微软雅黑的字体,所以如果生成的图片有指定的特殊字体,需要在服务器上进行安装。
- window 将下载的字体文件复制到C:Windows\Fonts目录下或者双击字体文件进行安装
- mac 下载的字体文件 双击字体文件进行安装
- centos
# 安装微软雅黑
wget -P /tmp/ https://iyoyo.oss-cn-hangzhou.aliyuncs.com/mirror/fonts/msyh.ttf
wget -P /tmp/ https://iyoyo.oss-cn-hangzhou.aliyuncs.com/mirror/fonts/msyhbd.ttf
wget -P /tmp/ https://iyoyo.oss-cn-hangzhou.aliyuncs.com/mirror/fonts/msyhl.ttf
cd /usr/share/fonts/lyx/
mkdir chinese
cd chinese
mv /tmp/msyhbd.ttf ./
chmod 755 *.ttf
yum -y install mkfontscale
mkfontscale
mkfontdir
fc-cache -fv
Resource
项目基于PhantomMagick
贡献源码
如果你发现任何错误或者问题,请提交ISSUE
果酱云社区
-
全网真正免费的IT课程平台
-
专注于综合IT技术的在线课程,致力于打造优质、高效的IT在线教育平台
-
课程方向包含Python、Java、前端、大数据、数据分析、人工智能等热门IT课程
-
300+免费课程任你选择
ibrand/laravel-miniprogram-poster 适用场景与选型建议
ibrand/laravel-miniprogram-poster 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 16.6k 次下载、GitHub Stars 达 70, 最近一次更新时间为 2018 年 09 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「component」 「poster」 「miniprogram」 「ibrand」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 ibrand/laravel-miniprogram-poster 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ibrand/laravel-miniprogram-poster 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 ibrand/laravel-miniprogram-poster 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
FSi DataSource Component
PHP library which makes Poster API using smooth as glass
Priveate for SkeekS CMS
poster generator. 基于GD库的PHP海报生成器,返回base64
Module for bootstrapping components in the Monolith framework.
PHP captcha (click/rotate/slider) and poster generation — framework-agnostic with adapters for Laravel, ThinkPHP, Webman, Hyperf.
统计信息
- 总下载量: 16.6k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 71
- 点击次数: 21
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-09-20