当前位置: 首页 > article >正文

PHP 复制商品扩展实操:轻松切换一号通、99api ,实现商品复制功能

目前已有一号通、99api复制商品扩展

复制商品扩展入口

namespace crmeb\services\copyproduct;use crmeb\basic\BaseManager;
use crmeb\services\AccessTokenServeService;
use think\facade\Config;
use think\Container;/*** Class Product* @package crmeb\services\copyproduct* @mixin \crmeb\services\copyproduct\CopyProduct*/
class CopyProduct extends BaseManager
{/*** 空间名* @var string*/protected $namespace = '\crmeb\services\copyproduct\storage\';/*** 默认驱动* @return mixed*/protected function getDefaultDriver(){return Config::get('product.default', 'copy');}/*** 获取类的实例* @param $class* @return mixed|void*/protected function invokeClass($class){if (!class_exists($class)) {throw new \RuntimeException('class not exists: ' . $class);}$this->getConfigFile();if (!$this->config) {$this->config = Config::get($this->configFile . '.stores.' . $this->name, []);}$handleAccessToken = new AccessTokenServeService($this->config['account'] ?? '', $this->config['secret'] ?? '');$handle = Container::getInstance()->invokeClass($class, [$this->name, $handleAccessToken, $this->configFile]);$this->config = [];return $handle;}}

invokeClass 里面的逻辑针对获取请求之前的逻辑做处理;AccessTokenServeService里面主要获取请求header,例如token之类的参数

使用复制商品

默认使用一号通复制商品扩展

use crmeb\services\copyproduct\CopyProduct;$copy = new CopyProduct();
//or
$copy = app()->make(CopyProduct::class);//复制商品
$goodInfo = $copy->goods($url, $options = []);var_dump($goodInfo);

使用99api复制商品扩展

use crmeb\services\copyproduct\CopyProduct;$copy = new CopyProduct('copy99api');
//or
$copy = app()->make(CopyProduct::class,['copy99api']);//复制商品
$goodInfo = $copy->goods($url, $options = []);var_dump($goodInfo);

附件:https://gitee.com/ZhongBangKeJi/CRMEB

http://www.lryc.cn/news/2403576.html

相关文章:

  • 【办公类-104-01】20250606通义万相50分一天用完,通义万相2.1专业版测试
  • Prompt Engineering Notes
  • C++课设:学生成绩管理系统
  • 制作个人Github学术主页
  • 【Linux内核】设备模型之udev技术详解
  • FineReport模板认证找不到模板
  • STM32实战:数字音频播放器开发指南
  • 豆包和deepseek 元宝 百度ai区别是什么
  • TomatoSCI数据分析实战:探索社交媒体成瘾
  • 网络安全厂商F5推出AI Gateway,化解大模型应用风险
  • pikachu靶场通关笔记16 CSRF关卡02-CSRF(POST)
  • 场景题-3
  • Java 类型参数 T、R 、 O 、K、V 、E 、? 区别
  • 中医的十问歌和脉象分类
  • C#封装HttpClient:HTTP请求处理最佳实践
  • 前端基础之《Vue(19)—状态管理》
  • 构建 MCP 服务器:第 4 部分 — 创建工具
  • 2.1 Windows编译环境介绍
  • 如何以 9 种方式将照片从手机传输到笔记本电脑
  • 生成JavaDoc文档
  • 八股学习-JS的闭包
  • Web后端基础(Maven基础)
  • 学习记录aigc
  • set map数据结构
  • Q: dify前端使用哪些开发框架?
  • 面试题小结(真实面试)
  • 【PmHub面试篇】PmHub中基于Redis加Lua脚本的计数器算法限流实现面试专题解析
  • 计算机网络领域所有CCF-A/B/C类期刊汇总!
  • 有意向往gis开发靠,如何规划学习?
  • 五、查询处理和查询优化