🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# **Services服务** 目录结构 ``` ├─services │ ├─alipay //支付宝相关 │ │ AlipayNoitify.php //支付宝回调 │ ├─easywechat //微信相关 │ │ ├─broadcast //微信直播小程序驱动 │ │ │ Client.php │ │ │ ServiceProvider.php │ │ ├─certficates //微信v3接口证书驱动 │ │ │ Client.php │ │ │ ServiceProvider.php │ │ ├─combinePay //微信商户分账驱动 │ │ │ Client.php │ │ │ ServiceProvider.php │ │ ├──merchant //微信商户驱动 │ │ │ Client.php │ │ │ ServiceProvider.php │ │ └─subscribe //微信小程序订阅消息 │ │ ProgramProvider.php │ │ ProgramSubscribe.php │ ├─express //一号通快递驱动 │ │ │ Express.php │ │ └─storage │ │ Express.php │ ├─product //一号通 复制商品驱动 │ │ │ Product.php │ │ └─storage │ │ Copy.php │ ├─serve //一号通账号驱动 │ │ │ Serve.php │ │ └─storage │ │ Crmeb.php │ ├─printer //打印机驱动 │ │ │ AccessToken.php │ │ │ Printer.php │ │ └─storage │ │ YiLianYun.php │ ├─sms //一号通短信驱动 │ │ │ Sms.php │ │ └─storage │ │ Yunxin.php │ ├─template //微信消息驱动 │ │ │ Template.php │ │ └─storage │ │ Subscribe.php │ │ Wechat.php │ ├─upload //上传类 驱动 │ │ │ Upload.php │ │ └─storage │ │ Cos.php │ │ Local.php │ │ Oss.php │ │ Qiniu.php │ │ AccessTokenServeService.php │ │ AlipayServe.php │ │ ApiResponseService.php │ │ BaseExpress.php │ │ BaseProduct.php │ │ BaseSmss.php │ │ CombinePayServi.php │ │ CopyProductService.php │ │ CrmebServeServices.php │ │ DownloadImageService.php │ │ ExcelService.php │ │ ExpressService.php │ │ HttpService.php │ │ ImageWaterMarkService.php │ │ JwtTokenService.php │ │ MiniProgramService.php │ │ MysqlBackupService.php │ │ PaymentService.php │ │ PayService.php │ │ PrinterService.php │ │ QrcodeService.php │ │ RoutineTemplateService.php │ │ SpreadsheetExcelService.php │ │ SwooleTaskService.php │ │ TimerService.php │ │ UploadService.php │ │ VicWordService.php │ │ WechatService.php │ │ WechatTemplateMessageService.php │ │ WechatUserGroupService.php │ │ WechatUserTagService.php │ │ YunxinSmsService.php ``` * ## `alipay`支付宝相关 * ## `CopyProductService` 复制商品类 复制主流商城平台商品,通过商品详情页链接拿到整合结果商品数据结果集 使用: ``` //引入 use crmeb\services\CopyProductService; //解析url 得到商品id 获取商铺id $url_arr = parse_url($url); //获取商品结果集 CopyProductService::getInfo($type, ['itemid' => $id, 'shopid' => $shopid], $apikey); ``` * ## `DownloadImageService`图片下载类 获取图片下载保存,或者生成缩略图保存 使用: ``` //引入 use crmeb\services\DownloadImageService; //获取下载图片地址 app()->make(DownloadImageService::class)->thumb(true)->downloadImage('图片地址')['path']; ``` * ## `ExpressService`物流查询 使用: ``` //引入 use crmeb\services\ExpressService; //查询 ExpressService::query('物流单号'); ``` * ## `MiniProgramService` 小程序相关功能类 配合`\crmeb\services\easywechat\`下方法,实现获取授权用户信息、素材上传、二维码生成、订阅消息、支付、客服消息、直播、直播商品等功能 使用: ``` //引入 use crmeb\services\MiniProgramService; //获取用户信息 MiniProgramService::getUserInfo($code); //解密用户信息 MiniProgramService::encryptor($session_key, $iv, $encryptedData); //支付 MiniProgramService::jsPay($openid, $orderId, $price, $successAction, $body); //直播列表 MiniProgramService::getLiveInfo($start, $limit); ``` * ## `MysqlBackupService` 数据备份类 使用: ``` //引入 use crmeb\services\MysqlBackupService; //获取类实例 $dbBackup = app()->make(MysqlBackupService::class, [[ //数据库备份卷大小 'compress' => 1, //数据库备份文件是否启用压缩 0不压缩 1 压缩 'level' => 5, ]]); //数据表列表 $dbBackup->dataList(); //备份表结构 $dbBackup->backup('table','start'); //设置备份文件并恢复 $dbBackup->setFile($list)->import($start); ``` * ## `QrcodeService` 二维码类 使用: ``` //引入 use crmeb\services\QrcodeService; //获取 QrcodeService::getWechatQrcodePath(string $name, string $link, bool $force = false); ``` * ## `SpreadsheetExcelService`导出excel类 使用: ``` //引入 use crmeb\services\SpreadsheetExcelService; //导出 SpreadsheetExcelService::instance()->setExcelHeader($header) ->setExcelTile($title, $name, $info) ->setExcelContent($data) ->excelSave('文件名','后缀名', '是否保存|直接下载'); ``` * ## `SystemConfigService` 获取系统配置类 使用: ``` //引入 use crmeb\services\SystemConfigService; //单个 SystemConfigService::get('config_name'); //多个 SystemConfigService::more(['config_name1','config_name2'...]); ``` * ## `UpgradeService` 更新升级类 ``` //引入 use crmeb\services\UpgradeService; //同步信息 UpgradeService::snyweninfo($this->serverweb); ``` * ## `UploadService` 上传类 驱动`\crmeb\services\upload\`下类,实现不同存储os上传保存 使用: ``` //引入 use crmeb\services\UploadService; //获取不同上传实例 根据配置 $upload = UploadService::init(); //上传 $upload->to('目录地址')->stream('文件内容', '文件名'); ``` * ## `UtilService` 海报、二维码生成 使用: ``` //引入 use crmeb\services\UtilService; //生成海报 UtilService::setShareMarketingPoster('data', '目录地址'); //获取二维码 UtilService::getQRCodePath('url', 'name'); ``` * ## `WechatService` 微信相关功能类 授权获取用户信息、粉丝列表、公众号事件监听、模版消息、支付 使用: ``` //引入 use crmeb\services\WechatService; //用户信息 WechatService::getUserInfo('openid'); //发送模版消息 WechatService::staffService()->message($message)->to('openid')->send(); ``` * ## `\easywechat\`小程序相关功能具体实现类 从入口类`MiniProgramService`调用使用 * ## `\printer\`小票打印 小票打印驱动包 使用: ``` //引用 use crmeb\services\printer\Printer; //获取打印实例 $printer = new Printer('yi_lian_yun', 'data配置参数'); //打印 $res = $printer->setPrinterContent([ 'name' => '标题', 'orderInfo' => '订单信息', 'product' => '商品信息' ])->startPrinter(); ``` * ## `\sms\`短信 短信平台驱动包 使用: ``` //引用 use crmeb\services\sms\Sms; //获取驱动实例 $sms = app()->make(Sms::class, [[ 'sms_account' => '短信账号', 'sms_token' => '短信秘钥', 'site_url' => '根url路径' ]]); //发送 $sms->send('phone', 'template_id模版id', 'data发送模版数据'); ``` * ## `\template\`模版消息 微信模版、小程序订阅消息驱动包 使用: ``` //引用 use crmeb\services\template\Template; //获取实例 $template = new Template('wechat'); //发送 $template->to('openid')->color($color)->send('模版id', '发送内容'); ``` * ## `\upload\`上传 上传驱动包 使用`\services\UploadService.php`入口访问,参照上面`UploadService`使用事例。