友点CMS系统是一款免费、开源、轻便、安全、专业建站、PC+手机+微官网+小程序+APP五站合一、一站式智能建站平台。今天小编为大家讲解一下YouDianCMS 9.50稳定版这个版本的短信插件该如何开发,短信接口使用的是我们短信宝短信群发平台,我们短信宝短信群发平台极其稳定,而且短信发送速度相当快捷,验证码和订单通知在3~5秒就能收到,用户体验非常好,注册就送测试短信。
1:打开项目: App\Tpl\Admin\Default\Config\other.html 新增短信宝短信页面
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |  <div class="box-header"id="c3">                <h4>短信接口设置                    <span class="extra">可用于:手机注册、短信找回密码、订单提醒、留言提醒、反馈提醒。请在相应功能设置短信内容模板</span>                </h4>            </div>            <div class="box-content">                <table class="boxtable">                    <tr>                        <th nowrap="nowrap"style="width:20%">短信宝</th>                        <td style="width:80%">                            <select name="SMS_TYPE">                                <option value="Huyi">短信宝</option>                            </select>                            <span style="color:#F30; padding-left:3px;"><a target="_blank"href="https://smsbao.com/reg">还没有注册账号?立即注册</a></span>                        </td>                    </tr>                    <tr>                        <th nowrap="nowrap"style="width:20%">短信宝账号</th>                        <td style="width:80%">                            <input type="text"class="textinput"style="width:270px;"name="SMS_ACCOUNT"value="{$SmsAccount}"/>                            <span class='Caution'>请填写短信宝账号</span></td>                        </td>                    </tr>                    <tr>                        <th nowrap="nowrap"style="width:20%">短信宝密码</th>                        <td style="width:80%">                            <input type="text"class="textinput"style="width:270px;"name="SMS_PASSWORD"value="{$SmsPassword}"/>                            <span class='Caution'>请填写短信宝密码</span>                        </td>                    </tr>                    <tr>                        <th nowrap="nowrap"style="width:20%">每个IP每天最多能发送几条短信</th>                        <td style="width:80%">                            <input type="number"class="textinput"style="width:60px;"maxlength="5"name="SMS_IP_MAX"value="{$SmsIpMax}"/>                            <span class='Caution'>请根据实际情况设置,默认值为:20</span>                        </td>                    </tr>                    <tr>                        <th nowrap="nowrap"style="width:20%">每个手机每天最多能发送几条短信</th>                        <td style="width:80%">                            <input type="number"class="textinput"style="width:60px;"maxlength="5"name="SMS_NUM_MAX"value="{$SmsNumMax}"/>                            <span class='Caution'>请根据实际情况设置,默认值为:60</span>                        </td>                    </tr>                    <tr>                        <th nowrap="nowrap"style="width:20%">剩余短信条数</th>                        <td style="width:80%; padding:8px 0;">                            <span id="leftnum"style="font-weight:bold;color:blue; margin-right:8px;"></span>                            <a class="btnSuccess btnSmall"onclick="getLeftNum()">点击查询</a>                        </td>                    </tr>                    <tr>                        <th>手机注册验证码短信发送测试</th>                        <td>                            <input type="text"class="textinput"style="width:120px; float:left; "maxlength="18"name="Mobile"id="Mobile"value=""placeholder="请输入手机号码"/>                            <span style="float:left; margin:7px 3px 7px 15px;">验证码</span>                            <input type="text"class="textinput"style="width:60px; float:left; "maxlength="4"name="CodeNum"id="CodeNum"value="{:rand_string(4,1)}"placeholder="验证码"/>                            <a class="btnSuccess btnSmall"style="float:left;margin:2px 8px;"onclick="sendSmsTest()"id="btnPick"target="_blank">短信发送测试</a>                            <span style="float:left; margin-left:5px;"id="smstip"></span>                            <span class='Caution'>发送前,请先保存设置!</span></td>                        </td>                    </tr>                    <tr>                        <th><span style="color:red;">配置步骤:</span></th>                        <td><span style="color:red;">                            [1] 在本后台设置全部短信模板(如:手机注册验证码模板、订单通知模板等)                            [2] 登录短信服务商的后台,将[1]设置的模板提交审核,审核通过后才能发送相关短信!                            </span>                        </td>                    </tr>                </table>            </div> | 
2:打开项目:App\Lib\Action\Admin\ConfigAction.class.php 修改设置函数新增查询和发送测试函数
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |  functionother(){        header("Content-Type:text/html; charset=utf-8");        $m = D('Admin/Config');        $data = $m->getConfig('other'); //配置数据不从缓存中提取        $this->assign('AdminPageSize', $data['ADMIN_PAGE_SIZE'] );        $this->assign('AdminRollPage', $data['ADMIN_ROLL_PAGE'] );        $this->assign('AutoDelEnable', $data['AUTO_DEL_ENABLE'] );        $this->assign('AutoUploadEnable', $data['AUTO_UPLOAD_ENABLE'] );        $this->assign('DelLinkEnable', $data['DEL_LINK_ENABLE'] );        $this->assign('TextEditor', $data['TextEditor'] );        $this->assign('AllowLink', $data['ALLOW_LINK'] );        $this->assign('SearchPageSize', $data['SearchPageSize'] );        $this->assign('HomeRollPage', $data['HomeRollPage'] );        $this->assign('ChannelTreeWidth', $data['ChannelTreeWidth'] );        //更新短信方面        $this->assign('SmsAccount', $data['SMS_ACCOUNT'] );        $this->assign('SmsPassword', $data['SMS_PASSWORD'] );        $this->assign('SmsIpMax', $data['SMS_IP_MAX'] );        $this->assign('SmsNumMax', $data['SMS_NUM_MAX'] );        $this->assign('Action', __URL__.'/saveOther');        $this->display();    }    functiongetLeftNum(){        $data = $GLOBALS['Config'];        import("@.Common.YdSms");        $obj = YdSms::getInstance( $data['SMS_TYPE'] );        $obj->setConfig( $data );        $num = $obj->getLeftNum();        if( is_numeric($num)){            $this->ajaxReturn(null, $num, 1);        }else{            $this->ajaxReturn(null, "查询失败,{$num}", 0);        }    }    //短信发送测试    functionsendSmsTest(){        $mobile = $_GET['mobile'];        $code = $_GET['code']; //校验码        $content = $GLOBALS['Config']['MOBILE_REG_TEMPLATE']; //读取模板        $msg = '';        $result = send_sms($mobile, $content, array('{$Code}'=>$code), 1, $msg);        if( $result ){            $this->ajaxReturn(null, $msg, 1);        }else{            $this->ajaxReturn(null, "发送失败,{$msg}", 0);        }    } | 
3:打开项目:App\Lib\Common\YdSms.class.php 修改为短信发送函数
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | public functiongetLeftNum(){        $sendurl = $smsapi."query?u=".$this->AccountName."&p=".md5($this->AccountPassword);        $result =file_get_contents($sendurl) ;        $result = explode(',',$result);        $num = $result[1] ? $result[1] : '';        if($num > 0 ){            return$num;        }else{            return$num;        }    }        public functionsendNotifyMessage($mobile, $content){        if( !$this->check($mobile) ) {            $this->writeLog($mobile, $content, "发送失败,".$this->Message);            returnfalse;        }        $content = $this->parsePlaceholder($content);        $statusStr = array(            "0"=> "短信发送成功",            "-1"=> "参数不全",            "-2"=> "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",            "30"=> "密码错误",            "40"=> "账号不存在",            "41"=> "余额不足",            "42"=> "帐户已过期",            "43"=> "IP地址限制",            "50"=> "内容含有敏感词"        );        $user = $this->AccountName; //短信平台帐号        $pass = md5($this->AccountPassword); //短信平台密码        $phone = $mobile;//要发送短信的手机号码        $sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);        $result =file_get_contents($sendurl) ;        $this->Message = $statusStr[$result];        if( $result == 0  ){            $this->writeLog($mobile, $content, $statusStr[$result]);            returntrue;        }else{            $this->writeLog($mobile, $content, "发送失败,".$statusStr[$result]);            returnfalse;        }    } | 
经过上面的替换,短信宝的短信平台已经替换成功了,可以正常使用了。进行测试发送:
报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,即便遇到敏感文字我们都不会人工审核,短信内容3~5秒就可送达。
另外:我们已经开发好完整的YouDianCMS 9.50系统短信宝插件,点击此链接 下载及查看安装流程。
最新更新
电商类
CMS类
微信类