PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > Fastadmin

腾讯云短信发送插件,当模板不需要参数时,发送失败修改经验分享

管理员 2024-12-14
Fastadmin
25

今天在安装使用腾讯云短信发送插时,发现验证码可以正常发送,但是发送普通通知(通知模板没有任何参数)时,发送失败,报错信息为:

{"result":1014,"errmsg":"package format error, template params error","ext":""},

查阅官方网站解释为:提交的信息与模板不匹配,但是fastadmin官方文档里写的是:发送通知时,第二个参数填写空即可

appcommonlibrarySms::notice('13800000000', '', '模板ID');

由于直接使用插件,也没有去查看官方文档,只有跟踪代码,在跟踪到sendWithParam方法时,打印$params参数,结果是长度为1的一个空字符串数组,如:

public 'params' =>     array (size=1)      0 => string '' (length=0)

由于模板没有任何参数,这里又传了一个参数,所以腾讯云短信服务认为与模板不符,导致发送失败!

后修改为方案:

// 由于$params被强制0等于传进来的参数,就算是空,也会为$params[0] = '';,当模板里面没有变量时,这样就发不成功,所以如果模板本身不需要变量,就要把$params设置为空数组if (isset($params[0]) && ($params[0] == 'no-params' || $params[0]=='')) {    $params = [];}

文件路径:
image.png


希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部