說明
從之前的3.0,3.1版本中文件上傳,sms短信發(fā)送,小票打印機(jī)書文件存放還是書寫都比較隨意,因此pro版本和3.2版本中修改成多驅(qū)動(dòng)形式;
文件目錄結(jié)構(gòu)
├─crmeb???????CREMB核心類庫
│??├─services
│??│??├─printer?打印機(jī)
│??│??├─sms?短信
│??│??├─template?模板消息
│??│??├─upload?文件上傳
Template 使用方式
//以微信公眾號(hào)小程序模板消息為驅(qū)動(dòng)方式
$template?=?new?Template('wechat');
$res=$template->to('送達(dá)人openid')->color('字體顏色')->url('跳轉(zhuǎn)路徑')->send('模板id編號(hào)',array?[發(fā)送數(shù)據(jù)]);
if($res?===?false){
????dump($res->getError());
}else{
????dump('ok');
}
增加驅(qū)動(dòng)
說明
這里以文件上傳為例進(jìn)行增加金山云文件上傳,創(chuàng)建的文件名必須首字母大寫
第一步,增加金山云上傳驅(qū)動(dòng)文件類 crmeb\services\upload\storage\Jinshan.php
<?php
namespace?crmeb\services\upload\storage;
use?crmeb\basic\BaseUpload;
class?Jinshan?extends?BaseUpload
{
????//實(shí)例化類
????protected?function?initialize(array?$config)
????{
????????parent::initialize($config);?//?TODO:?Change?the?autogenerated?stub
????}
????//?實(shí)例化上傳
????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 每一個(gè)驅(qū)動(dòng)都能增加單獨(dú)的上傳配置
return?[
????//默認(rèn)上傳模式
????'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'],
????//驅(qū)動(dòng)模式
????'stores'?=>?[
????????//本地上傳配置
????????'local'?=>?[],
????????//七牛云上傳配置
????????'qiniu'?=>?[],
????????//oss上傳配置
????????'oss'?=>?[],
????????//cos上傳配置
????????'cos'?=>?[],
????????//金山云上傳配置
????????'jinshan'=>[
????????????'filesize'=>2097152,
????????????'fileExt'=>['jpg'],
????????????'fileMime'=>['image/jpeg'],
????????],
????]
];
實(shí)例調(diào)用
$upload?=?new?Upload('jinshan');
//validate?參數(shù)為數(shù)組如果不填寫默認(rèn)讀取jinshan云的配置進(jìn)行上傳驗(yàn)證
$res?=?$upload->to('上傳路徑')->validate()->move();
if($res?!==?false){
????//返回類型為對(duì)象
????dump($res);
????//可調(diào)用getUploadInfo來獲取保存在附件表的詳細(xì)信息
????dump($upload->getUploadInfo());
????//可調(diào)用getFileInfo來獲取上傳后返回的對(duì)象
????dump($upload->getFileInfo());
}else{
????//上傳失敗調(diào)用getError?獲取錯(cuò)誤信息
????dump($upload->getError());
}