NIUSHOP 采用ThinkPHP5.0 + MySQL 开发语言,完全面向对象的技术架构设计开发。完全开源,二次开发非常方便,小编对他还是比较了解的,前段时间小编为大家讲解了一下1.1版本的短信接口替换,今天小编为大家讲解1.14版本的短信接口替换,使用的接口是我们短信宝群发平台的短信接口,我们短信宝群发短信平台非常稳定,发送速度快,注册还送测试短信。
进行接口替换,首先我们要替换后台的模版文件,打开项目/template/admin/Config/messageConfig.html文件以及项目//template/adminblue/Config/messageConfig.html文件,都修改153~175行,修改为如下代码:
| 
						1 
						2 
						3 
						4 
						5 
						6 
						7 
						8 
						9 
						10 
						11 
						12 
						13 
						14 
						15 
						16 
						17 
						18 
						19 
						20 
						21 
						22 
						23 | <divclass="set-style">        <dl>                <dt>是否开启:</dt>                <ddstyle="width:5%;">                                                <inputid="sms_is_use"type="checkbox"class="checkbox"{if condition="$mobile_message.is_use=='1'"}checked="checked"{/if}/>                </dd>                <ddstyle="width:20%;color:#666;margin-left: 60px;"class="showmessage">当前使用短信宝短信配置</dd>        </dl>        <dl>                <dt>短信宝用户名:</dt>                <dd>                        <inputid="app_key"type="text"value="{$mobile_message['value']['appKey']}"/>                </dd>        </dl>        <dl>                <dt>短信宝密码:</dt>                <dd>                        <inputid="secret_key"type="text"value="{$mobile_message['value']['secretKey']}"/>                </dd>        </dl>        <buttonclass="edit_button"onclick="setConfigAjax();">提交</button></div> | 
修改项目/template/admin/Config/notifySmsTemplate.html文件以及项目/template/adminblue/Config/notifySmsTemplate.html文件,将191~209行修改为如下代码:
| 
						1 
						2 
						3 
						4 
						5 
						6 
						7 
						8 
						9 
						10 
						11 
						12 
						13 
						14 
						15 
						16 
						17 
						18 
						19 |          <divclass="right_main">                        <divclass="main-top">您正在编辑<ahref="javascript:;"id="update_nameid"></a>通知模板</div>                        <divclass="qianming">                                <divstyle="width:75px;float:left;">模板:</div>                                <inputtype="text"name=""id="template_titleid"value="{$template_select.template_title}"style="margin-right: 15px;"/>                        </div>                        <divclass="qianming">                        <divstyle="width:75px;float:left;">短信签名:</div>                        <inputtype="text"name=""id="signNameid"style="margin-right: 15px;"value="{$template_select.sign_name        }"/>                        </div>                        <divclass="bl">                                <divstyle="width:75px;float:left;">可用变量:</div>                                <divstyle="width:88%;float: left;font-size:13px;"id="user_variable">                                        {foreach name="template_item_list" item="item_obj"}                                                {$item_obj.replace_name}({$item_obj.item_name}),                                        {/foreach}                                </div>                        </div>                </div> | 
经过上面的修改后台的显示界面就都是短信宝的了,我们接下来修改发送短信业务的代码,项目/data/extend/hook/Notify.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 
						52 
						53 
						54 
						55 
						56 
						57 
						58 
						59 
						60 
						61 
						62 
						63 
						64 
						65 
						66 
						67 
						68 
						69 
						70 
						71 
						72 
						73 
						74 
						75 
						76 
						77 
						78 
						79 
						80 
						81 
						82 
						83 
						84 
						85 
						86 
						87 
						88 
						89 
						90 
						91 
						92 
						93 
						94 
						95 
						96 
						97 
						98 
						99 
						100 
						101 
						102 
						103 
						104 
						105 
						106 
						107 
						108 
						109 
						110 
						111 
						112 
						113 
						114 
						115 
						116 
						117 
						118 
						119 
						120 
						121 
						122 
						123 
						124 
						125 
						126 
						127 
						128 
						129 
						130 
						131 
						132 
						133 
						134 
						135 
						136 
						137 
						138 
						139 
						140 
						141 
						142 
						143 
						144 
						145 
						146 
						147 
						148 
						149 
						150 
						151 
						152 
						153 
						154 
						155 
						156 
						157 
						158 
						159 
						160 
						161 
						162 
						163 
						164 
						165 
						166 
						167 
						168 
						169 
						170 
						171 
						172 
						173 
						174 
						175 
						176 
						177 
						178 
						179 
						180 
						181 
						182 
						183 
						184 
						185 
						186 
						187 
						188 
						189 
						190 
						191 
						192 
						193 
						194 
						195 
						196 
						197 
						198 
						199 
						200 
						201 
						202 
						203 
						204 
						205 
						206 
						207 
						208 
						209 
						210 
						211 
						212 
						213 
						214 
						215 
						216 
						217 
						218 
						219 
						220 
						221 
						222 
						223 
						224 
						225 
						226 
						227 
						228 
						229 
						230 
						231 
						232 
						233 
						234 
						235 
						236 
						237 
						238 
						239 
						240 
						241 
						242 
						243 
						244 
						245 
						246 
						247 
						248 
						249 
						250 
						251 
						252 
						253 
						254 
						255 
						256 
						257 
						258 
						259 
						260 
						261 
						262 
						263 
						264 
						265 
						266 
						267 
						268 
						269 
						270 
						271 
						272 
						273 
						274 
						275 
						276 
						277 
						278 
						279 
						280 
						281 
						282 
						283 
						284 
						285 
						286 
						287 
						288 
						289 
						290 
						291 
						292 
						293 
						294 
						295 
						296 
						297 
						298 
						299 
						300 
						301 
						302 
						303 
						304 
						305 
						306 
						307 
						308 
						309 
						310 
						311 
						312 
						313 
						314 
						315 
						316 
						317 
						318 
						319 
						320 
						321 
						322 
						323 
						324 
						325 
						326 
						327 
						328 
						329 
						330 
						331 
						332 
						333 
						334 
						335 
						336 
						337 
						338 
						339 
						340 
						341 
						342 
						343 
						344 
						345 
						346 
						347 
						348 
						349 
						350 
						351 
						352 
						353 
						354 
						355 
						356 
						357 
						358 
						359 
						360 
						361 
						362 
						363 
						364 
						365 
						366 
						367 
						368 
						369 
						370 
						371 
						372 
						373 
						374 
						375 
						376 
						377 
						378 
						379 
						380 
						381 
						382 
						383 
						384 
						385 
						386 
						387 
						388 
						389 
						390 
						391 
						392 
						393 
						394 
						395 
						396 
						397 
						398 
						399 
						400 
						401 
						402 
						403 
						404 
						405 
						406 
						407 
						408 
						409 
						410 
						411 
						412 
						413 
						414 
						415 
						416 
						417 
						418 
						419 
						420 
						421 
						422 
						423 
						424 
						425 
						426 
						427 
						428 
						429 
						430 
						431 
						432 
						433 
						434 
						435 
						436 
						437 
						438 
						439 
						440 
						441 
						442 
						443 
						444 
						445 
						446 
						447 
						448 
						449 
						450 
						451 
						452 
						453 
						454 
						455 
						456 
						457 
						458 
						459 
						460 
						461 
						462 
						463 
						464 
						465 
						466 
						467 
						468 
						469 
						470 
						471 
						472 
						473 
						474 
						475 
						476 
						477 
						478 
						479 
						480 
						481 
						482 
						483 
						484 
						485 
						486 
						487 
						488 
						489 
						490 
						491 
						492 
						493 
						494 
						495 
						496 
						497 
						498 
						499 
						500 
						501 
						502 
						503 
						504 
						505 
						506 
						507 
						508 
						509 
						510 
						511 
						512 
						513 
						514 
						515 
						516 
						517 
						518 
						519 
						520 
						521 
						522 
						523 
						524 
						525 
						526 
						527 
						528 
						529 
						530 
						531 
						532 
						533 
						534 
						535 
						536 
						537 
						538 
						539 
						540 
						541 
						542 
						543 
						544 
						545 
						546 
						547 
						548 
						549 
						550 
						551 
						552 
						553 
						554 
						555 
						556 
						557 
						558 
						559 
						560 
						561 
						562 
						563 
						564 
						565 
						566 
						567 
						568 
						569 
						570 
						571 
						572 
						573 
						574 
						575 
						576 
						577 
						578 
						579 
						580 
						581 
						582 
						583 
						584 
						585 
						586 
						587 
						588 
						589 
						590 
						591 
						592 
						593 
						594 
						595 
						596 
						597 
						598 
						599 
						600 
						601 
						602 
						603 
						604 
						605 
						606 
						607 
						608 
						609 
						610 
						611 
						612 
						613 
						614 
						615 
						616 
						617 
						618 
						619 
						620 
						621 
						622 
						623 
						624 
						625 
						626 
						627 
						628 
						629 
						630 
						631 
						632 
						633 
						634 
						635 
						636 
						637 
						638 
						639 
						640 
						641 
						642 
						643 
						644 
						645 
						646 
						647 
						648 
						649 
						650 
						651 
						652 
						653 
						654 
						655 
						656 
						657 
						658 
						659 
						660 
						661 
						662 
						663 
						664 
						665 
						666 
						667 
						668 
						669 
						670 
						671 
						672 
						673 
						674 
						675 
						676 
						677 
						678 
						679 
						680 
						681 
						682 
						683 
						684 
						685 
						686 
						687 
						688 
						689 
						690 
						691 
						692 
						693 
						694 
						695 
						696 
						697 
						698 
						699 | <?phpnamespacedata\extend\hook;usedata\model\WebSiteModel;usedata\model\UserModel;usedata\model\ConfigModel;usedata\model\NoticeTemplateModel;usedata\model\NsOrderGoodsModel;usedata\model\NsOrderModel;usephpDocumentor\Reflection\Types\This;usedata\model\NsOrderGoodsExpressModel;classNotify{    public$result=array(        "code"=>0,        "message"=>"success",        "param"=>""    );    /**     * 邮件的配置信息     * @var unknown    */    public$email_is_open=0;    public$email_host="";    public$email_port="";    public$email_addr="";    public$email_id="";    public$email_pass="";    public$email_is_security=false;    /**     * 短信的配置信息     * @var unknown     */    public$mobile_is_open;    public$appKey="";    public$secretKey="";    public$freeSignName="";        public$shop_name;        public$ali_use_type=0;    /**     * 得到系统通知的配置信息     * @param unknown $shop_id     */    privatefunctiongetShopNotifyInfo($shop_id){            $website_model=newWebSiteModel();        $website_obj=$website_model->getInfo("1=1", "title");        if(empty($website_obj)){            $this->shop_name="NiuShop开源商城";        }else{            $this->shop_name=$website_obj["title"];        }            $config_model=newConfigModel();        #查看邮箱是否开启        $email_info=$config_model->getInfo(["instance_id"=>$shop_id, "`key`"=>"EMAILMESSAGE"], "*");        if(!empty($email_info)){            $this->email_is_open=$email_info["is_use"];            $value=$email_info["value"];            if(!empty($value)){                $email_array=json_decode($value, true);                $this->email_host=$email_array["email_host"];                $this->email_port=$email_array["email_port"];                $this->email_addr=$email_array["email_addr"];                $this->email_id=$email_array["email_id"];                $this->email_pass=$email_array["email_pass"];                $this->email_is_security=$email_array["email_is_security"];            }        }        $mobile_info=$config_model->getInfo(["instance_id"=>$shop_id, "`key`"=>"MOBILEMESSAGE"], "*");        if(!empty($mobile_info)){            $this->mobile_is_open=$mobile_info["is_use"];            $value=$mobile_info["value"];            if(!empty($value)){                $mobile_array=json_decode($value, true);                $this->appKey=$mobile_array["appKey"];                $this->secretKey=$mobile_array["secretKey"];                $this->freeSignName=$mobile_array["freeSignName"];                $this->ali_use_type=$mobile_array["user_type"];                if(empty($this->ali_use_type)){                    $this->ali_use_type=0;                }            }        }    }    publicfunctionsendSMS($appkey, $secret, $signName, $smsParam, $send_mobile, $template_code)    {       $smsParam=json_decode($smsParam,true);       $content= strtr($template_code,$smsParam);//替换模板中的变量       $contents= '【'.$signName.'】'.$content;       $url= 'http://api.smsbao.com/sms?u='.$appkey.'&p='.md5($secret).'&m='.$send_mobile.'&c='.$contents;       $result= file_get_contents($url);       return$result;    }       /**     * 查询模板的信息     * @param unknown $shop_id     * @param unknown $template_code     * @param unknown $type     * @return unknown     */    privatefunctiongetTemplateDetail($shop_id, $template_code, $type){       $template_model=newNoticeTemplateModel();       $template_obj=$template_model->getInfo(["instance_id"=>$shop_id, "template_type"=>$type, "template_code"=>$template_code]);       return$template_obj;    }    /**     * 处理阿里大于 的返回数据     * @param unknown $result     */    privatefunctiondealAliSmsResult($result){        $deal_result=array();        try{            if($this->ali_use_type==0){                #旧用户发送                if(!empty($result)){                    if(!isset($result->result)){                        $result=json_decode(json_encode($result), true);                        #发送失败                        $deal_result["code"]=$result["code"];                        $deal_result["message"]=$result["msg"];                    }else{                        #发送成功                        $deal_result["code"]=0;                        $deal_result["message"]="发送成功";                    }                }            }else{                #新用户发送                if(!empty($result)){                    if($result->Code=="OK"){                        #发送成功                        $deal_result["code"]=0;                        $deal_result["message"]="发送成功";                    }else{                        #发送失败                        $deal_result["code"]=-1;                        $deal_result["message"]=$result->Message;                    }                }          }        } catch(\Exception $e) {            $deal_result["code"]=-1;            $deal_result["message"]="发送失败!";        }                return$deal_result;    }    /**     * 用户注册成功后     * @param string $params     */    publicfunctionregistAfter($params=null){        /**         * 店铺id         */        $shop_id=$params["shop_id"];        #查询系统配置信息        $this->getShopNotifyInfo(0);        /**         * 用户id         */        $user_id=$params["user_id"];                $user_model=newUserModel();        $user_obj=$user_model->get($user_id);        $mobile="";        $user_name="";        $email="";        if(empty($user_obj)){            $user_name="用户";        }else{            $user_name=$user_obj["user_name"];            $mobile=$user_obj["user_tel"];            $email=$user_obj["user_email"];        }        #短信验证        if(!empty($mobile) && $this->mobile_is_open==1){            $template_obj=$this->getTemplateDetail($shop_id, "after_register", "sms");            if(!empty($template_obj) && $template_obj["is_enable"]==1){                $sms_params=array(                    "shop_name"=>$this->shop_name,                    "user_name"=>$user_name                );                $result=$this->sendSMS($this->appKey, $this->secretKey,                    $template_obj["sign_name"], json_encode($sms_params), $mobile, $template_obj["template_title"], $this->ali_use_type);                if($result== '0') {                        $this->result["code"]=0;                        $this->result["message"]="发送成功!";                    }else{                        $this->result["code"]= $result;                        $this->result["message"]="发送失败!";                    }            }else{                $this->result["code"]=-1;                $this->result["message"]="商家没开启短信模板!";            }        }else{            $this->result["code"]=-1;            $this->result["message"]="商家没开启短信模板!";        }        #邮箱验证        if(!empty($email) && $this->email_is_open==1){            $template_obj=$this->getTemplateDetail($shop_id, "after_register", "email");            if(!empty($template_obj) && $template_obj["is_enable"]==1){                $content=$template_obj["template_content"];                $content=str_replace("{商场名称}", $this->shop_name, $content);                $content=str_replace("{用户名称}", $user_name, $content);                $result=emailSend($this->email_host, $this->email_id, $this->email_pass, $this->email_port, $this->email_is_security, $this->email_addr, $email, $template_obj["template_title"], $content, $this->shop_name);                if($result){                    $this->result["code"]=0;                    $this->result["message"]="发送成功!";                }else{                    $this->result["code"]=-1;                    $this->result["message"]="发送失败!";                }            }else{                $this->result["code"]=-1;                $this->result["message"]="商家没开启邮箱验证";            }        }else{            $this->result["code"]=-1;            $this->result["message"]="商家没开启邮箱验证";        }        return$this->result;    }    /**     * 注册短信验证     * @param string $params     */    publicfunctionregistBefor($params=null){        $rand= rand(100000,999999);        $mobile=$params["mobile"];        $shop_id=$params["shop_id"];        #查询系统配置信息        $this->getShopNotifyInfo($shop_id);        $result="";        if(!empty($mobile) && $this->mobile_is_open==1){            $template_obj=$this->getTemplateDetail($shop_id, "register_validate", "sms");            if(!empty($template_obj) && $template_obj["is_enable"]==1){                $sms_params=array(                    "number"=>$rand.""                );                $this->result["param"]=$rand;                if(!empty($this->appKey) && !empty($this->secretKey) && !empty($template_obj["sign_name"]) && !empty($template_obj["template_title"])){                    $result=$this->sendSMS($this->appKey, $this->secretKey,                        $template_obj["sign_name"], json_encode($sms_params), $mobile, $template_obj["template_title"], $this->ali_use_type);                    if($result== '0') {                        $this->result["code"]=0;                        $this->result["message"]="发送成功!";                        $this->result["param"]=$rand;                    }else{                        $this->result["code"]= $result;                        $this->result["message"]="发送失败!";                        $this->result["param"]=$rand;                    }                }else{                    $this->result["code"]=-1;                    $this->result["message"]="短信配置信息有误!";                }            }else{                $this->result["code"]=-1;                $this->result["message"]="短信通知模板有误!";            }        }else{            $this->result["code"]=-1;            $this->result["message"]="店家没有开启短信验证";        }        return$this->result;    }    /**     * 注册邮箱验证     * 已测试     * @param string $params     */    publicfunctionregistEmailValidation($params=null){        $rand= rand(100000,999999);        $email=$params["email"];        $shop_id=$params["shop_id"];        #查询系统配置信息        $this->getShopNotifyInfo($shop_id);        if(!empty($email) && $this->email_is_open==1){            $template_obj=$this->getTemplateDetail($shop_id, "register_validate", "email");            if(!empty($template_obj) && $template_obj["is_enable"]==1){                $content=$template_obj["template_content"];                $content=str_replace("{验证码}", $rand, $content);                if(!empty($this->email_host) && !empty($this->email_id) && !empty($this->email_pass) && !empty($this->email_addr)){                    $result=emailSend($this->email_host, $this->email_id, $this->email_pass, $this->email_port, $this->email_is_security, $this->email_addr, $email, $template_obj["template_title"], $content, $this->shop_name);                    $this->result["param"]=$rand;                    if($result){                        $this->result["code"]=0;                        $this->result["message"]="发送成功!";                    }else{                        $this->result["code"]=-1;                        $this->result["message"]="发送失败!";                    }                }else{                    $this->result["code"]=-1;                    $this->result["message"]="邮箱配置信息有误!";                }            }else{                $this->result["code"]=-1;                $this->result["message"]="配置邮箱注册验证模板有误!";            }        }else{            $this->result["code"]=-1;            $this->result["message"]="店家没有开启邮箱验证";        }        return$this->result;            }    /**     * 订单发货     * @param string $params     */    publicfunctionorderDelivery($params=null){        #查询系统配置信息        $this->getShopNotifyInfo(0);        $order_goods_ids=$params["order_goods_ids"];        $order_goods_str=explode(",", $order_goods_ids);        $result="";        $user_name="";        if(count($order_goods_str)>0){            $order_goods_id=$order_goods_str[0];            $order_goods_model=newNsOrderGoodsModel();            $order_goods_obj=$order_goods_model->get($order_goods_id);            $shop_id=$order_goods_obj["shop_id"];            $order_id=$order_goods_obj["order_id"];            $order_model=newNsOrderModel();            $order_obj=$order_model->get($order_id);            $user_name=$order_obj["receiver_name"];            $buyer_id=$order_obj["buyer_id"];            $goods_name=$order_goods_obj["goods_name"];            $goods_sku=$order_goods_obj["sku_name"];            $order_no=$order_obj["out_trade_no"];            $order_money=$order_obj["order_money"];            $goods_money=$order_goods_obj["goods_money"];            $mobile=$order_obj["receiver_mobile"];            $goods_express_model=newNsOrderGoodsExpressModel();            $express_obj=$goods_express_model->getInfo(["order_id"=>$order_id, "order_goods_id_array"=>$order_goods_ids], "*");            $sms_params=array(                "shop_name"=>$this->shop_name,                "user_name"=>$user_name,                "goods_name"=>$goods_name,                "goods_sku"=>$goods_sku,                "order_no"=>$order_no,                "order_money"=>$order_money,                "goods_money"=>$goods_money,                "express_company"=>$express_obj["express_name"],                "express_no"=>$express_obj["express_no"]            );            #短信发送            if(!empty($mobile) && $this->mobile_is_open==1){                $template_obj=$this->getTemplateDetail($shop_id, "order_deliver", "sms");                if(!empty($template_obj) && $template_obj["is_enable"]==1){                    $result=$this->sendSMS($this->appKey, $this->secretKey, $template_obj["sign_name"], json_encode($sms_params), $mobile, $template_obj["template_title"], $this->ali_use_type);                }            }            // 邮件发送            $user_model= newUserModel();            $user_obj= $user_model->get($buyer_id);            if(! empty($user_obj)) {                $email= $user_obj["user_email"];                if(! empty($email) && $this->email_is_open == 1) {                    $template_obj= $this->getTemplateDetail($shop_id, "order_deliver", "email");                    if(! empty($template_obj) && $template_obj["is_enable"] == 1) {                        $content= $template_obj["template_content"];                        $content= str_replace("{商场名称}", $this->shop_name, $content);                        $content= str_replace("{用户名称}", $user_name, $content);                        $content= str_replace("{商品名称}", $goods_name, $content);                        $content= str_replace("{商品规格}", $goods_sku, $content);                        $content= str_replace("{主订单号}", $order_no, $content);                        $content= str_replace("{订单金额}", $order_money, $content);                        $content= str_replace("{商品金额}", $goods_money, $content);                        $content= str_replace("{物流公司}", $express_obj["express_name"], $content);                        $content= str_replace("{快递编号}", $express_obj["express_no"], $content);                        $result=emailSend($this->email_host, $this->email_id, $this->email_pass, $this->email_port, $this->email_is_security, $this->email_addr, $email, $template_obj["template_title"], $content, $this->shop_name);                    }                }            }        }    }    /**     * 订单确认     * @param string $params     */    publicfunctionorderComplete($params=null){        #查询系统配置信息        $this->getShopNotifyInfo(0);                $order_id=$params["order_id"];        $order_model=newNsOrderModel();        $order_obj=$order_model->get($order_id);        $shop_id=$order_obj["shop_id"];        $buyer_id=$order_obj["buyer_id"];        $user_name=$order_obj["receiver_name"];        $order_no=$order_obj["out_trade_no"];        $order_money=$order_obj["order_money"];        $mobile=$order_obj["receiver_mobile"];        $sms_params=array(            "shop_name"=>$this->shop_name,            "user_name"=>$user_name,            "order_no"=>$order_no,            "order_money"=>$order_money        );            // 短信发送        if(! empty($mobile) && $this->mobile_is_open == 1) {            $template_obj= $this->getTemplateDetail($shop_id, "confirm_order", "sms");            if(! empty($template_obj) && $template_obj["is_enable"] == 1) {                $result= $this->sendSMS($this->appKey, $this->secretKey, $template_obj["sign_name"], json_encode($sms_params), $mobile, $template_obj["template_title"], $this->ali_use_type);            }        }        // 邮件发送        $user_model= newUserModel();        $user_obj= $user_model->get($buyer_id);        if(! empty($user_obj)) {            $email= $user_obj["user_email"];            if(! empty($email) && $this->email_is_open == 1) {                $template_obj= $this->getTemplateDetail($shop_id, "confirm_order", "email");                if(! empty($template_obj) && $template_obj["is_enable"] == 1) {                    $content= $template_obj["template_content"];                    $content= str_replace("{商场名称}", $this->shop_name, $content);                    $content=str_replace("{用户名称}", $user_name, $content);                    $content=str_replace("{主订单号}", $order_no, $content);                    $content=str_replace("{订单金额}", $order_money, $content);                    $result=emailSend($this->email_host, $this->email_id, $this->email_pass, $this->email_port, $this->email_is_security, $this->email_addr, $email, $template_obj["template_title"], $content, $this->shop_name);                }            }        }    }    /**     * 订单付款成功     * @param string $params     */    publicfunctionorderPay($params=null){        #查询系统配置信息        $this->getShopNotifyInfo(0);                $order_id=$params["order_id"];        $order_model=newNsOrderModel();        $order_obj=$order_model->get($order_id);        $shop_id=$order_obj["shop_id"];        $buyer_id=$order_obj["buyer_id"];        $user_name=$order_obj["receiver_name"];        $order_no=$order_obj["out_trade_no"];        $order_money=$order_obj["order_money"];        $mobile=$order_obj["receiver_mobile"];        $goods_money=$order_obj["goods_money"];        $sms_params=array(            "shop_name"=>$this->shop_name,            "user_name"=>$user_name,            "order_no"=>$order_no,            "order_money"=>$order_money,            "goods_money"=>$goods_money        );        #短信发送        if(!empty($mobile) && $this->mobile_is_open==1){            $template_obj=$this->getTemplateDetail($shop_id, "pay_success", "sms");            if(!empty($template_obj) && $template_obj["is_enable"]==1){                $result=$this->sendSMS($this->appKey, $this->secretKey,                    $template_obj["sign_name"], json_encode($sms_params), $mobile, $template_obj["template_title"], $this->ali_use_type);            }        }        #邮件发送        $user_model=newUserModel();        $user_obj=$user_model->get($buyer_id);        if(!empty($user_obj)){            $email=$user_obj["user_email"];            if(!empty($email) && $this->email_is_open==1){                $template_obj=$this->getTemplateDetail($shop_id, "pay_success", "email");                if(!empty($template_obj) && $template_obj["is_enable"]==1){                    $content=$template_obj["template_content"];                    $content=str_replace("{商场名称}", $this->shop_name, $content);                    $content=str_replace("{用户名称}", $user_name, $content);                    $content=str_replace("{主订单号}", $order_no, $content);                    $content=str_replace("{订单金额}", $order_money, $content);                    $content=str_replace("{商品金额}", $goods_money, $content);                    $result=emailSend($this->email_host, $this->email_id, $this->email_pass, $this->email_port, $this->email_is_security, $this->email_addr, $email, $template_obj["template_title"], $content, $this->shop_name);                }            }        }    }    /**     * 订单创建成功     * @param string $params     */    publicfunctionorderCreate($params=null){        #查询系统配置信息        $this->getShopNotifyInfo(0);        $order_id=$params["order_id"];        $order_model=newNsOrderModel();        $order_obj=$order_model->get($order_id);        $shop_id=$order_obj["shop_id"];        $buyer_id=$order_obj["buyer_id"];        $user_name=$order_obj["receiver_name"];        $order_no=$order_obj["out_trade_no"];        $order_money=$order_obj["order_money"];        $mobile=$order_obj["receiver_mobile"];        $goods_money=$order_obj["goods_money"];        $sms_params=array(            "shop_name"=>$this->shop_name,            "user_name"=>$user_name,            "order_no"=>$order_no,            "order_money"=>$order_money,            "goods_money"=>$goods_money        );        #短信发送        if(!empty($mobile) && $this->mobile_is_open==1){            $template_obj=$this->getTemplateDetail($shop_id, "create_order", "sms");            if(!empty($template_obj) && $template_obj["is_enable"]==1){                $result=$this->sendSMS($this->appKey, $this->secretKey,                    $template_obj["sign_name"], json_encode($sms_params), $mobile, $template_obj["template_title"], $this->ali_use_type);            }        }            // 邮件发送        $user_model= newUserModel();        $user_obj= $user_model->get($buyer_id);        if(! empty($user_obj)) {            $email= $user_obj["user_email"];            if(! empty($email) && $this->email_is_open == 1) {                $template_obj= $this->getTemplateDetail($shop_id, "create_order", "email");                if(! empty($template_obj) && $template_obj["is_enable"] == 1) {                    $content= $template_obj["template_content"];                    $content= str_replace("{商场名称}", $this->shop_name, $content);                    $content= str_replace("{用户名称}", $user_name, $content);                    $content= str_replace("{主订单号}", $order_no, $content);                    $content= str_replace("{订单金额}", $order_money, $content);                    $content= str_replace("{商品金额}", $goods_money, $content);                    $result= emailSend($this->email_host, $this->email_id, $this->email_pass, $this->email_port, $this->email_is_security, $this->email_addr, $email, $template_obj["template_title"], $content, $this->shop_name);                }            }        }    }    /**     * 找回密码     * @param string $params     * @return multitype:number string     */    publicfunctionforgotPassword($params=null){        $send_type=$params["send_type"];        $send_param=$params["send_param"];        $shop_id=$params["shop_id"];        $this->getShopNotifyInfo($shop_id);        $rand= rand(100000,999999);        $template_obj=$this->getTemplateDetail($shop_id, "forgot_password", $send_type);        if($send_type=="email"){            #邮箱验证            if($this->email_is_open==1){                if(!empty($template_obj) && $template_obj["is_enable"]==1){                    #发送                    $content=$template_obj["template_content"];                    $content=str_replace("{验证码}", $rand, $content);                    $result=emailSend($this->email_host, $this->email_id, $this->email_pass, $this->email_port, $this->email_is_security, $this->email_addr, $send_param, $template_obj["template_title"], $content, $this->shop_name);                    $this->result["param"]=$rand;                    if($result){                        $this->result["code"]=0;                        $this->result["message"]="发送成功!";                    }else{                        $this->result["code"]=-1;                        $this->result["message"]="发送失败!";                    }                }else{                    $this->result["code"]=-1;                    $this->result["message"]="商家没有设置找回密码的模板!";                }            }else{                $this->result["code"]=-1;                $this->result["message"]="商家没开启邮箱验证!";            }        }else{            #短信验证            if($this->mobile_is_open==1){                if(!empty($template_obj) && $template_obj["is_enable"]==1){                    #发送                    $sms_params=array(                    "number"=>$rand.""                        );                        $result=$this->sendSMS($this->appKey, $this->secretKey,                            $template_obj["sign_name"], json_encode($sms_params), $send_param, $template_obj["template_title"], $this->ali_use_type);                        if($result== '0') {                            $this->result["code"]=0;                            $this->result["message"]="发送成功!";                        }else{                            $this->result["code"]= $result;                            $this->result["message"]="发送失败!";                        }                                      }else{                    $this->result["code"]=-1;                    $this->result["message"]="商家没有设置找回密码的短信模板!";                }            }else{                $this->result["code"]=-1;                $this->result["message"]="商家没开启短信验证!";            }        }        return$this->result;    }    /**     * 用户绑定手机号     * @param string $params     */    publicfunctionbindMobile($params=null){        $rand= rand(100000,999999);        $mobile=$params["mobile"];        $shop_id=$params["shop_id"];        $user_id=$params["user_id"];        #查询系统配置信息        $this->getShopNotifyInfo($shop_id);        if(!empty($mobile) && $this->mobile_is_open==1){            $template_obj=$this->getTemplateDetail($shop_id, "bind_mobile", "sms");            if(!empty($template_obj) && $template_obj["is_enable"]==1){                $user_model=newUserModel();                $user_obj=$user_model->get($user_id);                $sms_params=array(                    "number"=>$rand."",                    "user_name"=>$user_obj["user_name"]                );                $this->result["param"]=$rand;                if(!empty($this->appKey) && !empty($this->secretKey) && !empty($template_obj["sign_name"]) && !empty($template_obj["template_title"])){                    $result=$this->sendSMS($this->appKey, $this->secretKey,                                    $template_obj["sign_name"], json_encode($sms_params), $mobile, $template_obj["template_title"], $this->ali_use_type);                    if($result== '0') {                        $this->result["code"]=0;                        $this->result["message"]="发送成功!";                        $this->result["param"]=$rand;                    }else{                        $this->result["code"]= $result;                        $this->result["message"]="发送失败!";                        $this->result["param"]=$rand;                    }                                  }else{                    $this->result["code"]=-1;                    $this->result["message"]="短信配置信息有误!";                }            }else{                $this->result["code"]=-1;                $this->result["message"]="短信通知模板有误!";            }        }else{            $this->result["code"]=-1;            $this->result["message"]="店家没有开启短信验证";        }        return$this->result;    }    /**     * 用户绑定邮箱     * @param string $params     */    publicfunctionbindEmail($params=null){        $rand= rand(100000,999999);        $email=$params["email"];        $shop_id=$params["shop_id"];        $user_id=$params["user_id"];        #查询系统配置信息        $this->getShopNotifyInfo($shop_id);        if(!empty($email) && $this->email_is_open==1){            $template_obj=$this->getTemplateDetail($shop_id, "bind_email", "email");            if(!empty($template_obj) && $template_obj["is_enable"]==1){                $user_model=newUserModel();                $user_obj=$user_model->get($user_id);                $content=$template_obj["template_content"];                $content=str_replace("{验证码}", $rand, $content);                $content=str_replace("{用户名称}", $user_obj["user_name"], $content);                $this->result["param"]=$rand;                if(!empty($this->email_host) && !empty($this->email_id) && !empty($this->email_pass) && !empty($this->email_addr)){                    $result=emailSend($this->email_host, $this->email_id, $this->email_pass, $this->email_port, $this->email_is_security, $this->email_addr, $email, $template_obj["template_title"], $content, $this->shop_name);                    if($result){                        $this->result["code"]=0;                        $this->result["message"]="发送成功!";                    }else{                        $this->result["code"]=-1;                        $this->result["message"]="发送失败!";                    }                }else{                    $this->result["code"]=-1;                    $this->result["message"]="邮箱配置信息有误!";                }            }else{                $this->result["code"]=-1;                $this->result["message"]="邮箱通知模板有误!";            }        }else{            $this->result["code"]=-1;            $this->result["message"]="店家没有开启邮箱验证";        }        return$this->result;    }}?> | 
修改项目/data/service/Member.php文件,在registerMember方法中将100~157行替换为如下代码:
| 
						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 | if($res> 0) {            // 获取默认会员等级id            $member_level= newNsMemberLevelModel();            $level_info= $member_level->getInfo([                'is_default'=> 1            ], 'level_id');            $member_level= $level_info['level_id'];            $member= newNsMemberModel();            $data= array(                'uid'=> $res,                'member_name'=> $user_name,                'member_level'=> $member_level,                'reg_time'=> time()            );            $retval= $member->save($data);            if($mobile) {                $params['shop_id'] = 0;                $params['user_id'] = $res;                $result= runhook('Notify','registAfter',$params);            }            hook('memberRegisterSuccess', $data);            // 注册会员送积分            $promote_reward_rule= newPromoteRewardRule();            // 添加关注            switch(NS_VERSION) {                caseNS_VER_B2C:                    break;                caseNS_VER_B2C_FX:                    if(! empty($_SESSION['source_uid'])) {                        // 判断当前版本                        $nfx_user= newNfxUser();                        $nfx_user->userAssociateShop($res, 0, $_SESSION['source_uid']);                    } else{                        // 判断当前版本                        $nfx_user= newNfxUser();                        $nfx_user->userAssociateShop($res, 0, 0);                    }                    break;            }            // 平台赠送积分            $promote_reward_rule->RegisterMemberSendPoint(0, $res);            // 直接登录            if(! empty($user_name)) {                $this->login($user_name, $password);            } elseif(! empty($mobile)) {                $this->login($mobile, $password);            } elseif(! empty($email)) {                $this->login($email, $password);            } elseif(! empty($user_qq_id)) {                $this->qqLogin($user_qq_id);            } elseif(! empty($wx_openid)) {                $this->wchatLogin($wx_openid);            } elseif(! empty($wx_unionid)) {                $this->wchatUnionLogin($wx_unionid);            }        } | 
好了,经过以上的替换,短信宝的短信平台已经替换成功了,可以正常使用了。进行发送测试:

报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,并且免审核了,短信内容3~5秒就可送达。
最新更新
电商类
CMS类
微信类