8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

thinkphp6对接最新版阿里大鱼短信接口

菜鸟 10天前 28 0 1

thinkphp6已经出来很久了,一直想试着用一下。最近终于有机会,尝试了一下,结果各种坑。今天只说其中的一个,thinkphp6对接最新版阿里大鱼短信接口。

看了两个项目的github说明,两个都需要Composer安装。先装thinkphp,后装阿里大鱼会出现 Class ‘AlibabaCloud\Client\AlibabaCloud’ not found 。先装阿里大鱼,后装thinkphp会出现找不到控制器。

中间从网上找了好多的教程都没解决,最后发现了一个贴子(可惜没有记住网址,不然还可以给大佬发个外链)找到了解决办法。贴子上介绍的是:先Computer安装thinkphp6,阿里大鱼没有使用Composer,而是下载zip地址(下载地址)。下载后的文件目录如下:

将client文件夹名改成Aliyun放到thinkphp6根目中的vendor下,如下

在Aliyun下创建一个Sms类来发送短信


regionId('cn-hangzhou')
            ->asDefaultClient();
        try {

            $query=[
                'RegionId' => "cn-hangzhou",
                'PhoneNumbers' =>$phone,
                'SignName' => $SignName,
                'TemplateCode' => $TemplateCode,
                'TemplateParam'=>json_encode(['code'=>$code]),
            ];
            $result =AlibabaCloud::rpc()->product('Dysmsapi')->version('2017-05-25')->action('SendSms')
                ->method('POST')->host('dysmsapi.aliyuncs.com')->options(['query' =>$query])->request();
            // ->scheme('https') // https | http
            return $result->toArray();
        } catch (ClientException $e) {
            return $e->getErrorMessage();
        } catch (ServerException $e) {
            return $e->getErrorMessage();
        }
    }
}

控制器怎么引用就可以了。  上面说的是放到thinkphp6根目中的vendor下,对于thinkphp 怎么引用vendor下的第三方类库不清楚,我放的是thinkphp6根目中extend文件夹下。

猜想,两个都可以Composer安装,阿里大鱼的安装,要在thinkphp6根目中的vendor或者extend下创建一个文件Aliyun(名字可以自定义),在Aliyun下再使用Composer安装。注:这里是猜想的,没有试过,大家可以自行试一下看看管不管用。


回复
欢迎来我的博客: https://76wp.cn
最新回复 (1)
全部楼主
    • 虎阅网-免费的建站资源平台
      3
        登录 注册 QQ
返回
首页
精华
发帖
消息
我的