驱动

驱动
驱动说明
从之前的3.0,3.1版本中文件上传,sms短信发送,小票打印机书文件存放还是书写都比较随意,因此pro版本和3.2版本中修改成多驱动形式;

文件目录结构
├─crmeb CREMB核心类库
│ ├─services
│ │ ├─printer 打印机
│ │ ├─sms 短信
│ │ ├─template 模板消息
│ │ ├─upload 文件上传
Template 使用方式
//以微信公众号小程序模板消息为驱动方式
$template = new Template('wechat');
$res=$template->to('送达人openid')->color('字体颜色')->url('跳转路径')->send('模板id编号',array [发送数据]);
if($res === false){
dump($res->getError());
}else{
dump('ok');
}
增加驱动
说明:这里以文件上传为例进行增加金山云文件上传,创建的文件名必须首字母大写

第一步,增加金山云上传驱动文件类 crmeb\services\upload\storage\Jinshan.php
<?php
namespace crmeb\services\upload\storage;
use crmeb\basic\BaseUpload;
class Jinshan extends BaseUpload
{
//实例化类
protected function initialize(array $config)
{
parent::initialize($config); // TODO: Change the autogenerated stub
}
// 实例化上传
protected function app()
{
// TODO: Implement app() method.
}
//上传文件
public function move(string $file = 'file')
{
// TODO: Implement move() method.
}
//上传流文件
public function stream(string $fileContent, string $key = null)
{
// TODO: Implement stream() method.
}
//删除文件
public function delete(string $filePath)
{
// TODO: Implement delete() method.
}
//获取上传密钥
public function getTempKeys()
{
// TODO: Implement getTempKeys() method.
}
}
增加上传配置 config/upload.php 每一个驱动都能增加单独的上传配置
return [
//默认上传模式
'default' => 'local',
//上传文件大小
'filesize' => 2097152,
//上传文件后缀类型
'fileExt' => ['jpg', 'jpeg', 'png', 'gif', 'pem', 'mp3', 'wma', 'wav', 'amr', 'mp4', 'key'],
//上传文件类型
'fileMime' => ['image/jpeg', 'image/gif', 'image/png', 'text/plain', 'audio/mpeg'],
//驱动模式
'stores' => [
//本地上传配置
'local' => [],
//七牛云上传配置
'qiniu' => [],
//oss上传配置
'oss' => [],
//cos上传配置
'cos' => [],
//金山云上传配置
'jinshan'=>[
'filesize'=>2097152,
'fileExt'=>['jpg'],
'fileMime'=>['image/jpeg'],
],
]
];
实例调用
$upload = new Upload('jinshan');
//validate 参数为数组如果不填写默认读取jinshan云的配置进行上传验证
$res = $upload->to('上传路径')->validate()->move();
if($res !== false){
//返回类型为对象
dump($res);
//可调用getUploadInfo来获取保存在附件表的详细信息
dump($upload->getUploadInfo());
//可调用getFileInfo来获取上传后返回的对象
dump($upload->getFileInfo());
}else{
//上传失败调用getError 获取错误信息
dump($upload->getError());
}

Was this helpful?

0 / 0

发表回复 0