我的作品 您现在的位置是:首页 > 我的作品

ThinkCMF 5 阿里云短信插件

来源:惠达浪原创 发布时间:2019-07-17 最后更新:2020-01-19 455已围观

摘要我们在应用开发过程中,经常会用到短信功能,最常见的莫过于验证码了。当然还有通知短信,本插件集二者于一体,更加方便。

插件下载地址


当下网络应用开发中,我们难免会与短信打交道。最常见的就是验证码,为了验证手机号码的真实性,当然还有就是通知短信,例如送餐、快递、资金变化等等通知。而在短信功能开发难度虽然不大,但是调试十分麻烦。

本插件就是为了解决这个问题,不但已经调试完毕,而且还支持定制开发。未来还会继续对功能进行扩展,甚至有可能加入到教程当中。

与普通的ThinkCMF验证码短信插件不同,本插件集成了验证码功能与通知短信功能。下边详细给出安装与使用方法。

开始之前的准备工作:

首先你需要购买阿里云短信服务,设置好短信签名,模板。因为本插件需要以下几个参数:

  • AccessKey

  • AccessKeySecret

  • 短信签名名称

  • 模板CODE,也就是模板ID

其实就是安装好ThinkCMF 5,5.0还是5.1都可以用。

插件安装

  1. 将本插件解压,复制到你的网站 public\plugins 文件夹下。

  2. 登录后台管理,在左侧的菜单上找到【插件中心】->【插件列表】,此时在右侧就能看到本插件。点击  安装  按钮即可安装插件。

  3. 安装好之后,点击  设置  按钮,打开设置界面,填写相关参数。每项设置下都有提示说明,其中模板CODE是按需设置的,例如你仅需验证码功能,则通知模板部分不必填写。

使用

重点来了,这么容易就安装好了,可是怎么使用呢?由于短信插件是供开发者使用的,没有任何界面,因此这里说的细一点儿。

本插件是挂在 send_mobile_verification_code 钩子上的,关于这个钩子,官方手册中也有说明,点这儿快速到达。你没看错,我就是挂在验证码钩子上了,因为这样可以最大兼容验证码部分。

发送验证码

对于发送验证码,比较简单,按官方规定,参数中必须包含 mobile 和 code,把这两个参数写在一个数组里,再通过钩子调用插件即可。

// 获取手机号逻辑
$mobile = '13900000000';

// 调用系统函数生成验证码
$code = cmf_get_verification_code($mobile);

// 组织参数
$param = [
    'mobile' => mobile,
    'code' => $code
];

// 调用插件,获取返回结果
$result = hook_one('send_mobile_verification_code', $param);

// 处理结果
if (false !== $result && !empty($result['error'])) {
    // 发送成功逻辑
} else {
    // 发送失败逻辑
}

通知消息短信

发送通知短信时,参数数组中键名不可以是code

// 当电话号码为多个时,必须使用数组
// 键名中不能包含code
$param = [
    'mobile' => ['13900000000', '13800000000'],
    'sender' => '惠达浪',
    'time'   => '07/18 15:32'
];

// 调用插件,获取返回结果
$result = hook_one('send_mobile_verification_code', $param);
// 处理结果
if (false !== $result && !empty($result['error'])) {
    // 发送成功逻辑
} else {
    // 发送失败逻辑
}

两种使用方法,对结果的处理都是一样的,因为插件会按ThinkCMF标准,返回一个数组。当成功时,返回数组:

[
    'error'   => 0,
    'message' => '发送短信成功'
]

失败的时候,返回:

[
    'error'   => 1,
    'message' => '发送失败'
]

实际上,只要 error 不是 0,就是发送失败,message就是失败返回的错误消息。

随着时间的推移,插件也做了更新,具体的更新内容以及改动,大家可以直接查看插件中的README.md文件,我也会在插件发布页上做更新,就不写在这里了。

以上就是阿里云短信插件的使用介绍了,有特殊需要的朋友,还可以直接联系我哦。

很赞哦! (79)


站点信息

  • 网站平台ThinkCMF 5.1.5
  • PHP版本:7.3.13
  • QQ交流群: 惠达浪技术交流
0.175640s