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

2022-04-11 11:31 更新

說(shuō)明

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

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

  1. ├─crmeb CREMB核心類(lèi)庫(kù)
  2. ├─services
  3. ├─printer 打印機(jī)
  4. ├─sms 短信
  5. ├─template 模板消息
  6. ├─upload 文件上傳

Template 使用方式

  1. //以微信公眾號(hào)小程序模板消息為驅(qū)動(dòng)方式
  2. $template = new Template('wechat');
  3. $res=$template->to('送達(dá)人openid')->color('字體顏色')->url('跳轉(zhuǎn)路徑')->send('模板id編號(hào)',array [發(fā)送數(shù)據(jù)]);
  4. if($res === false){
  5. dump($res->getError());
  6. }else{
  7. dump('ok');
  8. }

增加驅(qū)動(dòng)

說(shuō)明

這里以文件上傳為例進(jìn)行增加金山云文件上傳,創(chuàng)建的文件名必須首字母大寫(xiě)

第一步,增加金山云上傳驅(qū)動(dòng)文件類(lèi) crmeb\services\upload\storage\Jinshan.php

  1. <?php
  2. namespace crmeb\services\upload\storage;
  3. use crmeb\basic\BaseUpload;
  4. class Jinshan extends BaseUpload
  5. {
  6. //實(shí)例化類(lèi)
  7. protected function initialize(array $config)
  8. {
  9. parent::initialize($config); // TODO: Change the autogenerated stub
  10. }
  11. // 實(shí)例化上傳
  12. protected function app()
  13. {
  14. // TODO: Implement app() method.
  15. }
  16. //上傳文件
  17. public function move(string $file = 'file')
  18. {
  19. // TODO: Implement move() method.
  20. }
  21. //上傳流文件
  22. public function stream(string $fileContent, string $key = null)
  23. {
  24. // TODO: Implement stream() method.
  25. }
  26. //刪除文件
  27. public function delete(string $filePath)
  28. {
  29. // TODO: Implement delete() method.
  30. }
  31. //獲取上傳密鑰
  32. public function getTempKeys()
  33. {
  34. // TODO: Implement getTempKeys() method.
  35. }
  36. }

增加上傳配置 config/upload.php 每一個(gè)驅(qū)動(dòng)都能增加單獨(dú)的上傳配置

  1. return [
  2. //默認(rèn)上傳模式
  3. 'default' => 'local',
  4. //上傳文件大小
  5. 'filesize' => 2097152,
  6. //上傳文件后綴類(lèi)型
  7. 'fileExt' => ['jpg', 'jpeg', 'png', 'gif', 'pem', 'mp3', 'wma', 'wav', 'amr', 'mp4', 'key'],
  8. //上傳文件類(lèi)型
  9. 'fileMime' => ['image/jpeg', 'image/gif', 'image/png', 'text/plain', 'audio/mpeg'],
  10. //驅(qū)動(dòng)模式
  11. 'stores' => [
  12. //本地上傳配置
  13. 'local' => [],
  14. //七牛云上傳配置
  15. 'qiniu' => [],
  16. //oss上傳配置
  17. 'oss' => [],
  18. //cos上傳配置
  19. 'cos' => [],
  20. //金山云上傳配置
  21. 'jinshan'=>[
  22. 'filesize'=>2097152,
  23. 'fileExt'=>['jpg'],
  24. 'fileMime'=>['image/jpeg'],
  25. ],
  26. ]
  27. ];

實(shí)例調(diào)用

  1. $upload = new Upload('jinshan');
  2. //validate 參數(shù)為數(shù)組如果不填寫(xiě)默認(rèn)讀取jinshan云的配置進(jìn)行上傳驗(yàn)證
  3. $res = $upload->to('上傳路徑')->validate()->move();
  4. if($res !== false){
  5. //返回類(lèi)型為對(duì)象
  6. dump($res);
  7. //可調(diào)用getUploadInfo來(lái)獲取保存在附件表的詳細(xì)信息
  8. dump($upload->getUploadInfo());
  9. //可調(diào)用getFileInfo來(lái)獲取上傳后返回的對(duì)象
  10. dump($upload->getFileInfo());
  11. }else{
  12. //上傳失敗調(diào)用getError 獲取錯(cuò)誤信息
  13. dump($upload->getError());
  14. }
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)