我的作品 您现在的位置是:首页 > 我的作品
ThinkCMF 5 腾讯云短信插件
来源:惠达浪原创
发布时间:2019-07-19
最后更新:2019-07-22
4677已围观
摘要在应用开发过程中,经常会用到短信功能,最常见就是验证码了,当然还有通知短信。本插件基于腾讯云短信,集二者于一体,是验证码、通知集成版。
使用插件
在需要使用验证码的地方,调用验证码钩子。本插件使用的是系统钩子:send_mobile_verification_code。几种情况示例如下:
普通验证码使用
ThinkCMF规定钩子参数为`mobile`和`code`,也就是参数数组中,必须包含这两个键值。因此使用方法如下:
// 获取手机号逻辑 $mobile = '13900000000'; // 生成验证码逻辑 $code = '859046'; // 组织插件参数 $param = ['mobile'=>$mobile, 'code'=>$code]; // 调用插件,获取返回结果 $result = hook_one('send_mobile_verification_code', $param);
自动生成验证码的示例
// 组织插件参数 $param = ['mobile' => '13900000000', 'code' => 0]; //或者'code'=>'' // 调用插件,获取返回结果 $result = hook_one('send_mobile_verification_code', $param);
对于自动生成的验证码,请使用`cmf_check_verification_code()`函数验证!在本例中验证方法如下:
// 获取用户提交的表单数据(根据实际情况灵活使用) $data = $this->request->post(); // 验证 // 本函数的第三个参数,为验证之后是否删除该验证码,默认为 false 不删除。 $check = cmf_check_verification_code($data['mobile'], $data['code'], true); if (empty($check)) { // 验证成功时,返回空字符串,因此用 empty() 判断 } else { // 验证失败时,返回错误信息字符串,可以直接输出错误信息 $this->error($check); }
通知消息短信使用
由于本插件是靠判断参数中是否有code,来决定是否为验证码,因此发送通知短信时,参数数组中键名不可以含有code。参数数组将会被转换成腾讯云短信所认可的格式,发送给服务器。
参数数组中的键名,必须包含mobile键名,其它参数将会按模板设置中的模板参数名对应。因此,开发时要注意,不要漏掉参数。例如:
// 生成调用参数,参数只要包含后台设置的参数名即可,插件会按后台设置的顺序进行匹配 $param = [ 'mobile' => ['13900000000', '13800000000'], // 接收信息的电话号码,多个电话时必须用数组 'time` => date('Y-m-d H:i:s'), // time是模板参数之一,后台设置的 'sender' => $username, // sender是模板参数之一,后台设置的 'contact' => $phoneNumber, // contact是模板参数之一,后台设置的 ]; // 调用插件,获取返回结果 $result = hook_one('send_mobile_verification_code', $param);
返回结果说明
如果没有安装插件,或者插件安装不正确,返回结果为`false`。
插件执行正常,返回结果为数组,数组结构为:
['error' => 1036, 'message' => '单个模板变量字符数超过12个']
error:错误码。0 表示执行成功,1 表示插件执行错误,其它代码表示腾讯云返回的错误码。
message:错误信息。成功时为“短信发送成功”,错误时为相应的错误提示。
错误处理代码示例:
if (false === $result) { $this->error('没有安装插件'); } if (empty($result['error'])) { // 发送成功逻辑 } else { // 发送失败逻辑 }
更新
1.1.0
更新时间:2019.07.21
- 新增自动生成短信验证码功能
- 重构服务层逻辑,优化代码
1.0.0
更新时间:2019.07.16
正式版发布!
- 内置腾讯短信官方SDK,不必单独安装。
很赞哦! (458)
上一篇: 支持留言提醒的 新留言板插件 3.1
下一篇: 调查问卷 ThinkCMF 5 插件
站点信息
- 网站平台:ThinkCMF 5.1.5
- PHP版本:7.3.31
-
QQ交流群:
惠达浪技术交流