CRMEB v4 驅(qū)動(dòng)

2022-04-11 11:31 更新

說(shuō)明

從之前的3.0,3.1版本中文件上傳,sms短信發(fā)送,小票打印機(jī)書文件存放還是書寫都比較隨意,因此pro版本和3.2版本中修改成多驅(qū)動(dòng)形式;

文件目錄結(jié)構(gòu)

├─crmeb       CREMB核心類庫(kù)
│  ├─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)

說(shuō)明

這里以文件上傳為例進(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來(lái)獲取保存在附件表的詳細(xì)信息
    dump($upload->getUploadInfo());
    //可調(diào)用getFileInfo來(lái)獲取上傳后返回的對(duì)象
    dump($upload->getFileInfo());
}else{
    //上傳失敗調(diào)用getError 獲取錯(cuò)誤信息
    dump($upload->getError());
}
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)