91成人在线播放_欧美一区二区视频在线观看_91精品国产高清久久久久久_国产精品久久亚洲不卡4k岛国


待發短信

在線客服
產品支持 短信寶客服
合作渠道 渠道合作
服務咨詢

4001-021-502

工作時間

9:00-21:00

TPshop商城替換短信接口

TPshop是用thinkphp開發的一款免費開源網店系統,二次開發非常方便,代碼清晰簡潔,通俗易懂,豐富的插件和多套模板支持,易擴展,是目前國內首家最為完善的開源商城系統。系統支持多語言版本,操作簡單,安全穩定,是廣大用戶二次開發的最佳選擇,我以替換短信接口為例,一步一步的手把手教大家開發過程,我們短信寶短信平臺非常穩定,而且快速,注冊還送免費測試短信,大家可以在我們短信寶平臺注冊一個賬號,進行測試。

首先我們要更換后臺的顯示界面文件。打開模版文件,替換一下模版文件。打開項目/application/admin/view2/system/sms.html文件,修改代碼26~56行,代碼如下圖所示:

?
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
<div class="explanation" id="explanation">
    <div class="title" id="checkZoom"><i class="fa fa-lightbulb-o"></i>
    <h4 title="提示相關設置操作時應注意的要點">操作提示</h4>
    <span id="explanationZoom" title="收起提示"></span></div>
    <ul>
        <li>系統平臺全局設置,包括基礎設置、購物、短信、郵件、水印和分銷等相關模塊。</li>
        <li>短信寶的官網:http://www.gjrencai.com</li>
        <li>有任何疑問,請咨詢短信寶客服</li>
    </ul>
</div>
<form method="post" enctype="multipart/form-data" name="form1" action="{:U('System/handle')}">
    <input type="hidden" name="inc_type" value="{$inc_type}">
    <div class="ncap-form-default">
        <dl class="row">
            <dt class="tit">
                <label for="sms_appkey">短信寶賬號</label>
            </dt>
            <dd class="opt">
                <input id="sms_appkey" name="sms_appkey" value="{$config.sms_appkey}" class="input-txt" type="text"/>
                <p class="notic">短信寶的用戶名,還未注冊短信寶的用戶請點擊<a href="http://www.gjrencai.com/reg" target="_blank">免費注冊</a></p>
            </dd>
        </dl>
        <dl class="row">
            <dt class="tit">
                <label for="sms_secretKey">短信寶密碼</label>
            </dt>
            <dd class="opt">
                <input id="sms_secretKey" name="sms_secretKey" value="{$config.sms_secretKey}" class="input-txt" type="password"/>
                <p class="notic">短信寶賬號密碼</p>
            </dd>
        </dl>
    </div>
</form>

項目/application/admin/view2/sms_template/sms_template_list.html文件,修改代碼6~13行,代碼如下圖所示:

?
1
2
3
4
5
6
7
8
<div class="fixed-bar">
    <div class="item-title"
        <div class="subject">
            <h3>短信配置模板</h3>
            <h5>短信寶(http://www.gjrencai.com)短信配置模板短信配置模板</h5>
        </div>
    </div>
</div>

項目/application/admin/view2/sms_template/_sms_template.html文件,修改代碼15~61行,代碼如下圖所示:

?
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
<form class="form-horizontal" id="addEditSmsTemplate" method="post">
    <div class="ncap-form-default">
        <dl class="row">
            <dt class="tit"> <label for="sms_sign"><em>*</em>短信簽名</label>
            </dt>
            <dd class="opt">
                <input type="text" value="{$smsTpl.sms_sign}" name="sms_sign" id="sms_sign" class="input-txt">
                <span class="err" id="err_sms_sign" style="display:none;">短信簽名不能為空 </span>
                <p class="notic">短信的簽名,如smsbao,簽名不能包含特殊字符,長度3-8個字符。</p>
            </dd>
        </dl>
        <dl class="row">
            <dt class="tit">
                <label for="send_scene"><em>*</em>發送場景</label>
            </dt>
            <dd class="opt">
                <if condition="$send_scene_id gt 0 ">
                {$send_name}
                    <input type="hidden" value="{$send_scene_id}" name="send_scene" id="send_scene" class="form-control" style="width:250px;"/>
                <else />
                    <select  class="small form-control" name="send_scene" id="send_scene" onchange="changeContent(this.value);">
                        <option value="-1">請選擇使用場景</option>
                        <foreach name="send_scene" item="v" key="k">
                            <option value="{$k}" <if condition=" $k eq $smsTpl.send_scene ">selected="selected"</if>>{$v[0]}</option>
                        </foreach>
                    </select>
                    <span class="err" id="err_send_scene" style="display:none;">請選擇使用場景</span>
                </if>
                <span class="err"></span>
                <p class="notic">使用場景</p>
            </dd>
        </dl>
        <dl class="row">
            <dt class="tit">
                <label for="tpl_content"><em>*</em>短信模板內容</label>
            </dt>
            <dd class="opt">
                <textarea id="tpl_content" name="tpl_content" class="tarea" rows="6" readonly="readonly">{$smsTpl.tpl_content}</textarea>
                <span class="err" id="err_tpl_content" style="display:none;">短信模板內容不能為空</span>
                <p class="notic">短信的模板內容</p>
            </dd>
        </dl>
    <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">確認提交</a></div>
</div>
<input type="hidden" name="tpl_id" value="{$smsTpl.tpl_id}"></label>
</form>

經過替換之后,所有的顯示都變成短信寶短信平臺的了,第一步完成。接下來替換發送短信的接口文件,項目/application/home/controller/Api.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
/**
 * 前端發送短信方法: APP/WAP/PC 共用發送方法
 */
public function send_validate_code(){
 
    $this->send_scene = C('SEND_SCENE');
 
    $type = I('type');
    $scene = I('scene');    //發送短信驗證碼使用場景
    $mobile = I('mobile');
    $sender = I('send');
    $verify_code = I('verify_code');
    $mobile = !empty($mobile) ?  $mobile $sender ;
    $session_id = I('unique_id' , session_id());
    session("scene" $scene);
    //注冊
    if($scene == 1 && !empty($verify_code)){
        $verify new Verify();
        if (!$verify->check($verify_code'user_reg')) {
            ajaxReturn(array('status'=>-1,'msg'=>'圖像驗證碼錯誤'));
        }
    }
    if($type == 'email'){
        //發送郵件驗證碼
        $logic new UsersLogic();
        $res $logic->send_email_code($sender);
        ajaxReturn($res);
    }else{
        //發送短信驗證碼
        $res = checkEnableSendSms($scene);
        if($res['status'] != 1){
            ajaxReturn($res);
        }
        //判斷是否存在驗證碼
        $data = M('sms_log')->where(array('mobile'=>$mobile,'session_id'=>$session_id'status'=>1))->order('id DESC')->find();
        //獲取時間配置
        $sms_time_out = tpCache('sms.sms_time_out');
        $sms_time_out $sms_time_out $sms_time_out : 120;
        //120秒以內不可重復發送
        if($data && (time() - $data['add_time']) < $sms_time_out){
            $return_arr array('status'=>-1,'msg'=>$sms_time_out.'秒內不允許重復發送');
            ajaxReturn($return_arr);
        }
        //隨機一個驗證碼
        $code = rand(1000, 9999);
 
        $user = session('user');
        if ($scene == 6){
 
            if(!$user['user_id']){
                //登錄超時
                ajaxReturn(array('status'=>-1,'msg'=>'登錄超時'));
            }
            $params array('code'=>$code);
 
            if($user['nickname']){
                $params['user_name'] = $user['nickname'];
            }
        }
        $params['code'] =$code;
 
        //發送短信
        $resp $this->sendsms_smsbao($scene $mobile $params$session_id);
 
        if($resp == '0'){
            //發送成功, 修改發送狀態位成功
            M('sms_log')->where(array('mobile'=>$mobile,'code'=>$code,'session_id'=>$session_id 'status' => 0))->save(array('status' => 1));
            $return_arr array('status'=>1,'msg'=>'發送成功,請注意查收');
        }else{
            $return_arr array('status'=>-1,'msg'=>'發送失敗'.$resp);
        }
        ajaxReturn($return_arr);
    }
}
 
 
/**
 * 短信寶發送方法
 */
 private function sendsms_smsbao($scene,$sender $params$session_id){
     $product $config['sms_product'];
     $code = !empty($params['code']) ? $params['code'] : false;
     $consignee = !empty($params['consignee']) ? $params['consignee'] : false;
     $user_name =  !empty($params['user_name']) ? $params['user_name'] : false;
     $order_sn $params['order_sn'];
     $mobile = !empty($params['mobile']) ? $params['mobile'] : false;
     if(empty($unique_id)){
        $session_id = session_id();
     }else{
        $session_id $unique_id;
     }
     $smsParams array(
        1 => "{\"code\":\"$code\",\"product\":\"$product\"}"//1. 用戶注冊
        2 => "{\"code\":\"$code\"}"//2. 用戶找回密碼
        3 => "{\"consignee\":\"$consignee\",\"phone\":\"$mobile\"}",//3. 客戶下單
        4 => "{\"order_sn\":\"$order_sn\"}",//4. 客戶支付
        5 => "{\"user_name\":\"$user_name\",\"order_sn\":\"$order_sn\",\"consignee\":\"$consignee\"}",  //5.商家發貨
        6 => "{\"user_name\":\"$user_name\",\"code\":\"$code\"}"//6. 修改手機號碼
    );
 
    $smsParam $smsParams[$scene];
    //提取發送短信內容
    $scenes = C('SEND_SCENE');
    $msg $scenes[$scene][1];
    $params_arr = json_decode($smsParam);
    foreach ($params_arr as $k => $v) {
        $msg str_replace('${' $k '}'$v$msg);
    }
 
    //發送記錄存儲數據庫
    $log_id = M('sms_log')->insertGetId(array('mobile' => $sender'code' => $code'add_time' => time(), 'session_id' => $session_id'status' => 0, 'scene' => $scene'msg' => $msg));
    $config = tpCache('sms');
    $sms_get_param['u']=$config['sms_appkey'];
    $sms_get_param['p']=md5($config['sms_secretKey']);
    $sms_get_param['m']=$sender;
    $sms_get_param['c']="【".$config['sms_product']."】".$msg;
    $resp=file_get_contents("http://api.smsbao.com/sms?".http_build_query($sms_get_param));
    if ($resp == '0') {
        M('sms_log')->where(array('id' => $log_id))->save(array('status' => 1)); //修改發送狀態為成功
    }else{
        M('sms_log')->where(array('id' => $log_id))->update(array('error_msg'=>$resp)); //發送失敗, 將發送失敗信息保存數據庫
    }
    return $resp;
 }

經過上面的替換,短信寶的短信平臺已經替換成功了,可以正常使用了。

報備一下短信寶的VIP模版,這樣就可以走短信寶的優質通道,并且免審核了,短信內容3~5秒就可送達。
開源插件

最新更新

電商類

CMS類

微信類

文章標簽