wang jun 2 years ago
parent
commit
a6f8b8f093

+ 0 - 1
.gitignore

@@ -1,6 +1,5 @@
 /.idea
 /.vscode
-/vendor
 *.log
 thinkphp
 .env

+ 2 - 2
application/app/logic/appointmentlogic.php

@@ -1,8 +1,8 @@
 <?php
 namespace app\app\logic;
 
-use app\app\model\appointmentmodel;
-use app\app\model\tubemodel;
+use app\common\model\appointmentmodel;
+use app\common\model\tubemodel;
 use think\Db;
 
 /**

+ 24 - 5
application/app/logic/webuserlogic.php

@@ -1,8 +1,9 @@
 <?php
 namespace app\app\logic;
 
-use app\app\model\smscoderecordmodel;
-use app\app\model\webusermodel;
+use app\common\model\smscoderecordmodel;
+use app\common\model\webusermodel;
+use app\common\server\tencentcloudserver;
 
 /**
  * 登记记录表
@@ -113,11 +114,29 @@ class webuserlogic extends baselogic
             $code = $list[0]['smscode'];
         }
         //发送验证码
-        $sendresult = true;
-        if (!$sendresult) {
-            return backarr(0, "验证码发送失败");
+        $sendresult = $this->sendsmscode($telno, $code);
+        if (!$sendresult['status']) {
+            return backarr(0, $sendresult['msg']);
         }
         return backarr(1, "验证码发送成功");
     }
+    /**
+     * 发送验证码
+     *
+     * @return void
+     * @author wj
+     * @date 2022-07-26
+     */
+    private function sendsmscode($telno, $code)
+    {
+        $appdid = "1400598579";
+        $templateId = "1107863";
+        $SignName = '众惠科技';
+        $TemplateParamSet = [$code];
+        $PhoneNumberSet = [$telno];
+        $s_tc = new tencentcloudserver();
+        $result = $s_tc->sendsms($appdid, $SignName, $templateId, $TemplateParamSet, $PhoneNumberSet);
+        return $result;
+    }
 
 }

+ 0 - 123
application/app/model/appointmentmodel.php

@@ -1,123 +0,0 @@
-<?php
-namespace app\app\model;
-
-use think\Model;
-
-/**
- * 登记记录表
- *
- * @author wj
- * @date 2022-07-22
- */
-class appointmentmodel extends Model
-{
-    protected $table = "t_appointment";
-
-    public function insertData($data)
-    {
-        if (!isset($data['oprdate']) || empty($data['oprdate']) || !is_string($data['oprdate'])) {
-            $data['oprdate'] = date("Y-m-d H:i:s");
-        }
-        if (isset($data['id'])) {
-            unset($data['id']);
-        }
-        $data = $this->formatData($data);
-        if (empty($data)) {
-            return false;
-        }
-        $id = $this->insertGetId($data);
-        return $id ? $id : false;
-    }
-
-    /**
-     * 校验入库数据
-     * 20220119
-     */
-    private function formatData($data)
-    {
-        $useData = [];
-        $fields = $this->getTableFields();
-        foreach ($data as $key => $value) {
-            if (in_array($key, $fields)) {
-                $useData[$key] = $value;
-            }
-        }
-        return $useData;
-    }
-    public function getInfo($where, $field = "*", $row = true)
-    {
-        $info = $this->field($field)->where($where);
-        if ($row) {
-            $info = $info->find();
-        } else {
-            $info = $info->select();
-        }
-        return empty($info) ? false : $info;
-    }
-
-    public function updateinfo($where, $updateData)
-    {
-        $row = $this->where($where)->update($updateData);
-        return empty($row) ? false : $row;
-    }
-
-    public function deleteinfo($where)
-    {
-        $row = $this->where($where)->delete();
-        return empty($row) ? false : $row;
-    }
-
-    public function getList($where = [], $field = "*", $page = 1, $size = 10, $order = "id desc", $group = "", $row = false)
-    {
-        $sqlObj = $this->where($where);
-        if ("count" != $field) {
-            $sqlObj = $sqlObj->field($field)->order($order)->group($group)->page($page, $size);
-            if ($row) {
-                $data = $sqlObj->find();
-            } else {
-                $data = $sqlObj->select();
-            }
-        } else {
-            $data = $sqlObj = $sqlObj->count();
-        }
-        return $data;
-    }
-
-    /**
-     * 根据id获取信息
-     * wj
-     * 20220118
-     */
-    public function getinfobyid($id)
-    {
-        $where = ['id' => $id];
-        $info = $this->where($where)->find();
-        return $info;
-    }
-    /**
-     * 根据code获取信息
-     * wj
-     * 20220118
-     */
-    public function getinfobycode($code)
-    {
-        $where = ['code' => $code];
-        $info = $this->where($where)->find();
-        return $info ? $info : false;
-    }
-    /**
-     * 根据id修改数据
-     * wj
-     * 20220118
-     */
-    public function updatebyid($id, $updateData)
-    {
-        $where = ['id' => $id];
-        $updateData = $this->formatData($updateData);
-        if (empty($updateData)) {
-            return false;
-        }
-        $row = $this->where($where)->update($updateData);
-        return $row;
-    }
-}

+ 0 - 12
application/command.php

@@ -1,12 +0,0 @@
-<?php
-// +----------------------------------------------------------------------
-// | ThinkPHP [ WE CAN DO IT JUST THINK ]
-// +----------------------------------------------------------------------
-// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
-// +----------------------------------------------------------------------
-// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
-// +----------------------------------------------------------------------
-// | Author: yunwuxin <448901948@qq.com>
-// +----------------------------------------------------------------------
-
-return [];

+ 1 - 1
application/index/model/appointmentmodel.php → application/common/model/appointmentmodel.php

@@ -1,5 +1,5 @@
 <?php
-namespace app\index\model;
+namespace app\common\model;
 
 use think\Model;
 

+ 1 - 1
application/index/model/payordermodel.php → application/common/model/payordermodel.php

@@ -1,5 +1,5 @@
 <?php
-namespace app\index\model;
+namespace app\common\model;
 
 use think\Model;
 

+ 1 - 1
application/app/model/smscoderecordmodel.php → application/common/model/smscoderecordmodel.php

@@ -1,5 +1,5 @@
 <?php
-namespace app\app\model;
+namespace app\common\model;
 
 use think\Model;
 

+ 1 - 1
application/app/model/tubemodel.php → application/common/model/tubemodel.php

@@ -1,5 +1,5 @@
 <?php
-namespace app\app\model;
+namespace app\common\model;
 
 use think\Model;
 

+ 1 - 1
application/app/model/webusermodel.php → application/common/model/webusermodel.php

@@ -1,5 +1,5 @@
 <?php
-namespace app\app\model;
+namespace app\common\model;
 
 use think\Model;
 

+ 1 - 1
application/index/model/wxusermodel.php → application/common/model/wxusermodel.php

@@ -1,5 +1,5 @@
 <?php
-namespace app\index\model;
+namespace app\common\model;
 
 use think\Model;
 

+ 76 - 0
application/common/server/tencentcloudserver.php

@@ -0,0 +1,76 @@
+<?php
+namespace app\common\server;
+
+use TencentCloud\Common\Credential;
+// 导入要请求接口对应的Request类
+use TencentCloud\Common\Exception\TencentCloudSDKException;
+use TencentCloud\Common\Profile\ClientProfile;
+use TencentCloud\Common\Profile\HttpProfile;
+// 导入可选配置类
+use TencentCloud\Sms\V20210111\Models\SendSmsRequest;
+use TencentCloud\Sms\V20210111\SmsClient;
+
+class tencentcloudserver
+{
+    public function getconfig()
+    {
+        $config = [
+            "SecretId" => 'AKIDRhiSv84j8H9j25sOdbJq77rKWR6TZOwE',
+            "SecretKey" => 'ziANIxLbbNt87pGQLzMSIr9AuObfWoth',
+            'region' => 'ap-beijing',
+            'endpoint' => 'ocr.tencentcloudapi.com',
+        ];
+        return $config;
+    }
+    /**
+     * 发送短信
+     *
+     * @param  [type] $appid
+     * @param  [type] $SignName
+     * @param  [type] $TemplateId
+     * @param  [type] $TemplateParamSet
+     * @param  [type] $PhoneNumberSet
+     * @return void
+     * @author wj
+     * @date 2022-07-26
+     */
+    public function sendsms($appid, $SignName, $TemplateId, $TemplateParamSet, $PhoneNumberSet)
+    {
+        try {
+            $config = $this->getconfig();
+            $cred = new Credential($config['SecretId'], $config['SecretKey']);
+            $httpProfile = new HttpProfile();
+            $httpProfile->setReqMethod("GET");
+            $httpProfile->setReqTimeout(30);
+            $httpProfile->setEndpoint($config['endpoint']); // 指定接入地域域名(默认就近接入)
+            $clientProfile = new ClientProfile();
+            $clientProfile->setSignMethod("TC3-HMAC-SHA256"); // 指定签名算法(默认为HmacSHA256)
+            $clientProfile->setHttpProfile($httpProfile);
+            $client = new SmsClient($cred, $config['region'], $clientProfile);
+            $req = new SendSmsRequest();
+            $req->SmsSdkAppId = $appid;
+            $req->SignName = $SignName;
+            $req->TemplateId = $TemplateId;
+            $req->TemplateParamSet = $TemplateParamSet;
+            /* 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]
+             * 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/
+            $req->PhoneNumberSet = $PhoneNumberSet;
+            /* 用户的 session 内容(无需要可忽略): 可以携带用户侧 ID 等上下文信息,server 会原样返回 */
+            //$req->SessionContext = "";
+            /* 短信码号扩展号(无需要可忽略): 默认未开通,如需开通请联系 [腾讯云短信小助手] */
+            //$req->ExtendCode = "";
+            /* 国际/港澳台短信 SenderId(无需要可忽略): 国内短信填空,默认未开通,如需开通请联系 [腾讯云短信小助手] */
+            //$req->SenderId = "";
+            $resp = $client->SendSms($req);
+            $respArray = $resp->serialize();
+            $respArray = $respArray['SendStatusSet'][0];
+            if ('Ok' != $respArray['Code']) {
+                return backarr(0, $respArray['Message']);
+            }
+            return backarr(1, 'suceess');
+        } catch (TencentCloudSDKException $e) {
+            return backarr(0, $e->getMessage());
+        }
+    }
+
+}

+ 1 - 1
application/index/controller/Appointment.php

@@ -73,7 +73,7 @@ class Appointment extends Base
             return backjson(0, $result['msg']);
         }
         $returnData = $result['data'];
-        return $returnData;
+        return backjson(0, $returnData);
     }
     /**
      * 支付回调

+ 1 - 1
application/index/logic/appointmentlogic.php

@@ -1,7 +1,7 @@
 <?php
 namespace app\index\logic;
 
-use app\index\model\appointmentmodel;
+use app\common\model\appointmentmodel;
 
 /**
  * 登记记录表

+ 5 - 5
application/index/logic/paylogic.php

@@ -1,8 +1,8 @@
 <?php
 namespace app\index\logic;
 
-use app\index\model\appointmentmodel;
-use app\index\model\payordermodel;
+use app\common\model\appointmentmodel;
+use app\common\model\payordermodel;
 use think\Db;
 use think\Log;
 
@@ -22,7 +22,7 @@ class paylogic extends baselogic
     protected function setrules()
     {
         $list = [
-            'getappointmentorder' => [
+            'getappointmentorderforxcx' => [
                 ['name' => 'aid', 'title' => '申请单id', 'require' => true, 'type' => 'numeric'], //以元为单位
                 ['name' => 'openid', 'title' => 'openid', 'require' => true, 'type' => 'string'],
                 ['name' => 'total_fee', 'title' => '支付费用', 'require' => true, 'type' => 'numeric'], //以元为单位
@@ -46,7 +46,7 @@ class paylogic extends baselogic
         $data = $result['data'];
         $openid = $data['openid'];
         $aid = $data['aid'];
-        $totalfee = bcmul($data['total_fee'], 1000, 0);
+        $totalfee = bcmul($data['total_fee'], 100, 0);
 
         $m_a = new appointmentmodel();
         $where = [
@@ -71,7 +71,7 @@ class paylogic extends baselogic
             'wid' => $ainfo['wid'],
             'appointent_id' => $aid,
         ];
-        return $orderinfo;
+        return backarr(1, "success", $orderinfo);
     }
     /**
      * 处理支付回调

+ 10 - 8
application/index/logic/wechatlogic.php

@@ -8,9 +8,9 @@
  */
 namespace app\index\logic;
 
-use app\index\model\payordermodel;
-use app\index\model\wxusermodel;
-use \think\Log;
+use app\common\model\payordermodel;
+use app\common\model\wxusermodel;
+use think\facade\Log;
 
 class wechatlogic extends baselogic
 {
@@ -38,7 +38,6 @@ class wechatlogic extends baselogic
                 ['name' => 'out_trade_no', 'title' => '商户支付单号', 'require' => true, 'type' => 'string'],
                 ['name' => 'notify_url', 'title' => '回调地址', 'require' => true, 'type' => 'string'],
                 ['name' => 'trade_type', 'title' => 'trade_type', 'require' => true, 'type' => 'string'],
-                ['name' => 'wid', 'title' => 'wid', 'require' => true, 'type' => 'numeric'],
             ],
         ];
         return $list;
@@ -238,7 +237,7 @@ class wechatlogic extends baselogic
         $out_trade_no = $data['out_trade_no'];
         $notify_url = $data['notify_url'];
         $trade_type = $data['trade_type'];
-        $wid = $data['wid'];
+        //$wid = $data['wid'];
         $appointentid = $data['appointent_id'];
 
         $payconfig = $this->getpayconfig();
@@ -271,9 +270,12 @@ class wechatlogic extends baselogic
         log::info($r);
         $result = json_decode($this->xml_to_json($r));
         log::info($result); //保留这个做记录,以便出错后查询
-        //var_dump($result);
 
         if ($result->return_code == 'SUCCESS') {
+            if ($result->result_code == 'FAIL') {
+                $msg = $result->err_code_des;
+                return backarr(0, $msg);
+            }
             $sdata['appId'] = $appid;
             $sdata['timeStamp'] = time();
             $sdata['nonceStr'] = md5(time() . rand() . rand() . $openid);
@@ -286,7 +288,7 @@ class wechatlogic extends baselogic
             $payorder['payfee'] = $data['total_fee'];
             $payorder['outorderno'] = $data['out_trade_no'];
             $payorder['order_type'] = 1;
-            $payorder['wid'] = $wid;
+            //$payorder['wid'] = $wid;
             $payorder['appointent_id'] = $appointentid;
 
             $l_po = new payordermodel();
@@ -300,7 +302,7 @@ class wechatlogic extends baselogic
             $sign_str = $sign_str . "&key=" . $key;
             $sdata['paySign'] = strtoupper(md5($sign_str));
             $sdata['outorderno'] = $data['out_trade_no'];
-            return backarr(1, '订单创建成功', json_encode($sdata));
+            return backarr(1, '订单创建成功', $sdata);
         }
     }
     /*

+ 1 - 1
application/index/logic/wxuserlogic.php

@@ -1,7 +1,7 @@
 <?php
 namespace app\index\logic;
 
-use app\index\model\wxusermodel;
+use app\common\model\wxusermodel;
 
 /**
  * 微信用户类

+ 2 - 1
composer.json

@@ -17,7 +17,8 @@
     ],
     "require": {
         "php": ">=5.6.0",
-        "topthink/framework": "5.1.*"
+        "topthink/framework": "5.1.*",
+        "tencentcloud/tencentcloud-sdk-php": "^3.0"
     },
     "autoload": {
         "psr-4": {

+ 696 - 1
composer.lock

@@ -4,8 +4,703 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "296bd8a1d28e39d56dcd80ce7be249f3",
+    "content-hash": "5b919be50435ace491734600e4e6fd26",
     "packages": [
+        {
+            "name": "guzzlehttp/guzzle",
+            "version": "7.4.5",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/guzzle/guzzle.git",
+                "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1dd98b0564cb3f6bd16ce683cb755f94c10fbd82",
+                "reference": "1dd98b0564cb3f6bd16ce683cb755f94c10fbd82",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "ext-json": "*",
+                "guzzlehttp/promises": "^1.5",
+                "guzzlehttp/psr7": "^1.9 || ^2.4",
+                "php": "^7.2.5 || ^8.0",
+                "psr/http-client": "^1.0",
+                "symfony/deprecation-contracts": "^2.2 || ^3.0"
+            },
+            "provide": {
+                "psr/http-client-implementation": "1.0"
+            },
+            "require-dev": {
+                "bamarni/composer-bin-plugin": "^1.4.1",
+                "ext-curl": "*",
+                "php-http/client-integration-tests": "^3.0",
+                "phpunit/phpunit": "^8.5.5 || ^9.3.5",
+                "psr/log": "^1.1 || ^2.0 || ^3.0"
+            },
+            "suggest": {
+                "ext-curl": "Required for CURL handler support",
+                "ext-intl": "Required for Internationalized Domain Name (IDN) support",
+                "psr/log": "Required for using the Log middleware"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "7.4-dev"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "src/functions_include.php"
+                ],
+                "psr-4": {
+                    "GuzzleHttp\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Graham Campbell",
+                    "email": "hello@gjcampbell.co.uk",
+                    "homepage": "https://github.com/GrahamCampbell"
+                },
+                {
+                    "name": "Michael Dowling",
+                    "email": "mtdowling@gmail.com",
+                    "homepage": "https://github.com/mtdowling"
+                },
+                {
+                    "name": "Jeremy Lindblom",
+                    "email": "jeremeamia@gmail.com",
+                    "homepage": "https://github.com/jeremeamia"
+                },
+                {
+                    "name": "George Mponos",
+                    "email": "gmponos@gmail.com",
+                    "homepage": "https://github.com/gmponos"
+                },
+                {
+                    "name": "Tobias Nyholm",
+                    "email": "tobias.nyholm@gmail.com",
+                    "homepage": "https://github.com/Nyholm"
+                },
+                {
+                    "name": "Márk Sági-Kazár",
+                    "email": "mark.sagikazar@gmail.com",
+                    "homepage": "https://github.com/sagikazarmark"
+                },
+                {
+                    "name": "Tobias Schultze",
+                    "email": "webmaster@tubo-world.de",
+                    "homepage": "https://github.com/Tobion"
+                }
+            ],
+            "description": "Guzzle is a PHP HTTP client library",
+            "keywords": [
+                "client",
+                "curl",
+                "framework",
+                "http",
+                "http client",
+                "psr-18",
+                "psr-7",
+                "rest",
+                "web service"
+            ],
+            "support": {
+                "issues": "https://github.com/guzzle/guzzle/issues",
+                "source": "https://github.com/guzzle/guzzle/tree/7.4.5"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/GrahamCampbell",
+                    "type": "github"
+                },
+                {
+                    "url": "https://github.com/Nyholm",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-06-20T22:16:13+00:00"
+        },
+        {
+            "name": "guzzlehttp/promises",
+            "version": "1.5.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/guzzle/promises.git",
+                "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
+                "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": ">=5.5"
+            },
+            "require-dev": {
+                "symfony/phpunit-bridge": "^4.4 || ^5.1"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.5-dev"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "src/functions_include.php"
+                ],
+                "psr-4": {
+                    "GuzzleHttp\\Promise\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Graham Campbell",
+                    "email": "hello@gjcampbell.co.uk",
+                    "homepage": "https://github.com/GrahamCampbell"
+                },
+                {
+                    "name": "Michael Dowling",
+                    "email": "mtdowling@gmail.com",
+                    "homepage": "https://github.com/mtdowling"
+                },
+                {
+                    "name": "Tobias Nyholm",
+                    "email": "tobias.nyholm@gmail.com",
+                    "homepage": "https://github.com/Nyholm"
+                },
+                {
+                    "name": "Tobias Schultze",
+                    "email": "webmaster@tubo-world.de",
+                    "homepage": "https://github.com/Tobion"
+                }
+            ],
+            "description": "Guzzle promises library",
+            "keywords": [
+                "promise"
+            ],
+            "support": {
+                "issues": "https://github.com/guzzle/promises/issues",
+                "source": "https://github.com/guzzle/promises/tree/1.5.1"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/GrahamCampbell",
+                    "type": "github"
+                },
+                {
+                    "url": "https://github.com/Nyholm",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2021-10-22T20:56:57+00:00"
+        },
+        {
+            "name": "guzzlehttp/psr7",
+            "version": "2.4.0",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/guzzle/psr7.git",
+                "reference": "13388f00956b1503577598873fffb5ae994b5737"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/guzzle/psr7/zipball/13388f00956b1503577598873fffb5ae994b5737",
+                "reference": "13388f00956b1503577598873fffb5ae994b5737",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": "^7.2.5 || ^8.0",
+                "psr/http-factory": "^1.0",
+                "psr/http-message": "^1.0",
+                "ralouphie/getallheaders": "^3.0"
+            },
+            "provide": {
+                "psr/http-factory-implementation": "1.0",
+                "psr/http-message-implementation": "1.0"
+            },
+            "require-dev": {
+                "bamarni/composer-bin-plugin": "^1.4.1",
+                "http-interop/http-factory-tests": "^0.9",
+                "phpunit/phpunit": "^8.5.8 || ^9.3.10"
+            },
+            "suggest": {
+                "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "2.4-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "GuzzleHttp\\Psr7\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Graham Campbell",
+                    "email": "hello@gjcampbell.co.uk",
+                    "homepage": "https://github.com/GrahamCampbell"
+                },
+                {
+                    "name": "Michael Dowling",
+                    "email": "mtdowling@gmail.com",
+                    "homepage": "https://github.com/mtdowling"
+                },
+                {
+                    "name": "George Mponos",
+                    "email": "gmponos@gmail.com",
+                    "homepage": "https://github.com/gmponos"
+                },
+                {
+                    "name": "Tobias Nyholm",
+                    "email": "tobias.nyholm@gmail.com",
+                    "homepage": "https://github.com/Nyholm"
+                },
+                {
+                    "name": "Márk Sági-Kazár",
+                    "email": "mark.sagikazar@gmail.com",
+                    "homepage": "https://github.com/sagikazarmark"
+                },
+                {
+                    "name": "Tobias Schultze",
+                    "email": "webmaster@tubo-world.de",
+                    "homepage": "https://github.com/Tobion"
+                },
+                {
+                    "name": "Márk Sági-Kazár",
+                    "email": "mark.sagikazar@gmail.com",
+                    "homepage": "https://sagikazarmark.hu"
+                }
+            ],
+            "description": "PSR-7 message implementation that also provides common utility methods",
+            "keywords": [
+                "http",
+                "message",
+                "psr-7",
+                "request",
+                "response",
+                "stream",
+                "uri",
+                "url"
+            ],
+            "support": {
+                "issues": "https://github.com/guzzle/psr7/issues",
+                "source": "https://github.com/guzzle/psr7/tree/2.4.0"
+            },
+            "funding": [
+                {
+                    "url": "https://github.com/GrahamCampbell",
+                    "type": "github"
+                },
+                {
+                    "url": "https://github.com/Nyholm",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-06-20T21:43:11+00:00"
+        },
+        {
+            "name": "psr/http-client",
+            "version": "1.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/http-client.git",
+                "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
+                "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": "^7.0 || ^8.0",
+                "psr/http-message": "^1.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Http\\Client\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "http://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interface for HTTP clients",
+            "homepage": "https://github.com/php-fig/http-client",
+            "keywords": [
+                "http",
+                "http-client",
+                "psr",
+                "psr-18"
+            ],
+            "support": {
+                "source": "https://github.com/php-fig/http-client/tree/master"
+            },
+            "time": "2020-06-29T06:28:15+00:00"
+        },
+        {
+            "name": "psr/http-factory",
+            "version": "1.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/http-factory.git",
+                "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
+                "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": ">=7.0.0",
+                "psr/http-message": "^1.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Http\\Message\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "http://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interfaces for PSR-7 HTTP message factories",
+            "keywords": [
+                "factory",
+                "http",
+                "message",
+                "psr",
+                "psr-17",
+                "psr-7",
+                "request",
+                "response"
+            ],
+            "support": {
+                "source": "https://github.com/php-fig/http-factory/tree/master"
+            },
+            "time": "2019-04-30T12:38:16+00:00"
+        },
+        {
+            "name": "psr/http-message",
+            "version": "1.0.1",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/php-fig/http-message.git",
+                "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
+                "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": ">=5.3.0"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.0.x-dev"
+                }
+            },
+            "autoload": {
+                "psr-4": {
+                    "Psr\\Http\\Message\\": "src/"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "PHP-FIG",
+                    "homepage": "http://www.php-fig.org/"
+                }
+            ],
+            "description": "Common interface for HTTP messages",
+            "homepage": "https://github.com/php-fig/http-message",
+            "keywords": [
+                "http",
+                "http-message",
+                "psr",
+                "psr-7",
+                "request",
+                "response"
+            ],
+            "support": {
+                "source": "https://github.com/php-fig/http-message/tree/master"
+            },
+            "time": "2016-08-06T14:39:51+00:00"
+        },
+        {
+            "name": "ralouphie/getallheaders",
+            "version": "3.0.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/ralouphie/getallheaders.git",
+                "reference": "120b605dfeb996808c31b6477290a714d356e822"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
+                "reference": "120b605dfeb996808c31b6477290a714d356e822",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": ">=5.6"
+            },
+            "require-dev": {
+                "php-coveralls/php-coveralls": "^2.1",
+                "phpunit/phpunit": "^5 || ^6.5"
+            },
+            "type": "library",
+            "autoload": {
+                "files": [
+                    "src/getallheaders.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Ralph Khattar",
+                    "email": "ralph.khattar@gmail.com"
+                }
+            ],
+            "description": "A polyfill for getallheaders.",
+            "support": {
+                "issues": "https://github.com/ralouphie/getallheaders/issues",
+                "source": "https://github.com/ralouphie/getallheaders/tree/develop"
+            },
+            "time": "2019-03-08T08:55:37+00:00"
+        },
+        {
+            "name": "symfony/deprecation-contracts",
+            "version": "v2.5.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/symfony/deprecation-contracts.git",
+                "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
+                "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "php": ">=7.1"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-main": "2.5-dev"
+                },
+                "thanks": {
+                    "name": "symfony/contracts",
+                    "url": "https://github.com/symfony/contracts"
+                }
+            },
+            "autoload": {
+                "files": [
+                    "function.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Nicolas Grekas",
+                    "email": "p@tchwork.com"
+                },
+                {
+                    "name": "Symfony Community",
+                    "homepage": "https://symfony.com/contributors"
+                }
+            ],
+            "description": "A generic function and convention to trigger deprecation notices",
+            "homepage": "https://symfony.com",
+            "support": {
+                "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2"
+            },
+            "funding": [
+                {
+                    "url": "https://symfony.com/sponsor",
+                    "type": "custom"
+                },
+                {
+                    "url": "https://github.com/fabpot",
+                    "type": "github"
+                },
+                {
+                    "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+                    "type": "tidelift"
+                }
+            ],
+            "time": "2022-01-02T09:53:40+00:00"
+        },
+        {
+            "name": "tencentcloud/tencentcloud-sdk-php",
+            "version": "3.0.679",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/TencentCloud/tencentcloud-sdk-php.git",
+                "reference": "eb6c0f411a44009b1cd51fb45912a51056e394d2"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/TencentCloud/tencentcloud-sdk-php/zipball/eb6c0f411a44009b1cd51fb45912a51056e394d2",
+                "reference": "eb6c0f411a44009b1cd51fb45912a51056e394d2",
+                "shasum": "",
+                "mirrors": [
+                    {
+                        "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+                        "preferred": true
+                    }
+                ]
+            },
+            "require": {
+                "guzzlehttp/guzzle": "^6.3 || ^7.0",
+                "php": ">=5.6.0"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "TencentCloud\\": "./src/TencentCloud"
+                },
+                "classmap": [
+                    "src/QcloudApi/QcloudApi.php"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "Apache-2.0"
+            ],
+            "authors": [
+                {
+                    "name": "coolli",
+                    "email": "tencentcloudapi@tencent.com",
+                    "homepage": "https://cloud.tencent.com/document/sdk/PHP",
+                    "role": "Developer"
+                }
+            ],
+            "description": "TencentCloudApi php sdk",
+            "homepage": "https://github.com/TencentCloud/tencentcloud-sdk-php",
+            "support": {
+                "issues": "https://github.com/TencentCloud/tencentcloud-sdk-php/issues",
+                "source": "https://github.com/TencentCloud/tencentcloud-sdk-php/tree/3.0.679"
+            },
+            "time": "2022-07-25T22:41:08+00:00"
+        },
         {
             "name": "topthink/framework",
             "version": "v5.1.41",

+ 2 - 0
vendor/.gitignore

@@ -0,0 +1,2 @@
+*
+!.gitignore