精品深夜福利视频,日本中文字幕不卡,久久久久国产,av综合电影网站


待發(fā)短信

在線客服
產(chǎn)品支持 短信寶客服
合作渠道 渠道合作
服務(wù)咨詢

4001-021-502

工作時(shí)間

9:00-21:00

NIUSHOPV5單商戶多門店新增短信寶短信接口

NIUSHOPV5 采用 ThinkPHP6.0 + MySQL 開(kāi)發(fā)語(yǔ)言框架采用 Thinkphp6 + Uni-app 設(shè)計(jì)開(kāi)發(fā),代碼全新升級(jí);支持實(shí)物商品、虛擬商品、電子卡密、服務(wù)項(xiàng)目及卡項(xiàng)套餐五大商品類型;支持拼團(tuán)、砍價(jià)、秒殺、超級(jí)會(huì)員卡、禮品卡、分銷、直播等多種會(huì)員營(yíng)銷方案。完全開(kāi)源,二次開(kāi)發(fā)非常方便,小編對(duì)他還是比較了解的,今天小編為大家講解 V5 版本的短信接口替換,使用的接口是我們短信寶群發(fā)平臺(tái)的短信接口,我們短信寶群發(fā)短信平臺(tái)非常穩(wěn)定,發(fā)送速度快,注冊(cè)還送測(cè)試短信,推薦大家使用。
├─smsbao插件目錄
│ ├─config 配置目錄
│ │ ├─diy_view.php 頁(yè)面DIY相關(guān)配置
│ │ ├─event.php 事件相關(guān)配置
│ │ ├─info.php 插件信息配置
│ │ ├─menu_shop.php 菜單欄配置
│ ├─event 事件目錄
│ │ ├─ DoEditSmsMessage.php 短信模板事件
│ │ ├─EnableCallBack.php 短信開(kāi)關(guān)事件
│ │ ├─EnableSms.php 查詢啟用的短信插件
│ │ ├─Install.php 應(yīng)用安裝
│ │ ├─SendSms.php 短信發(fā)送
│ │ ├─SmsType.php 短信方式
│ │ ├─UnInstall.php 應(yīng)用卸載
│ └─model
│ │ ├─Config.php 短信核心配置
│ │ ├─Sms.php 核心發(fā)送類
│ └─shop
│ │ ├─controller 控制器
│ │ │ ├─Message.php 模板編輯類
│ │ │ ├─ Sms.php 核心發(fā)送類
│ │ ├─view 視圖
│ │ │ ├─message 模板編輯類
│ │ │ │ ├─edit.html 模板視圖
│ │ │ ├─ sms 核心發(fā)送類
│ │ │ │ ├─config.html 短信視圖
下面具體給大家說(shuō)一下重要文件的作用及代碼
1:打開(kāi)項(xiàng)目:addon\smsbao\config\info.php 填寫(xiě)當(dāng)前插件的基本信息

1
2
3
4
5
6
7
8
9
10
11
12
<?php
return [
    'name' => 'smsbao',
    'title' => '短信寶短信',
    'description' => '短信寶短信功能',
    'type' => 'system'//插件類型  system :系統(tǒng)插件(自動(dòng)安裝), business:業(yè)務(wù)插件    promotion:營(yíng)銷插件  tool:工具插件
    'status' => 1,
    'author' => '',
    'version' => '5.0.3',
    'version_no' => '520220907001',
    'content' => '',
];

2:打開(kāi)項(xiàng)目:addon\smsbao\config\event.php增加短信寶相關(guān)事件

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
<?php
// 事件定義文件
return [
    'bind' => [
 
    ],
 
    'listen' => [
        //短信方式
        'SmsType'          => [
            'addon\smsbao\event\SmsType'
        ],
        'DoEditSmsMessage' => [
            'addon\smsbao\event\DoEditSmsMessage'
        ],
        'SendSms'          => [
            'addon\smsbao\event\SendSms'
        ],
        //啟用回調(diào),使用這個(gè)短信,就要關(guān)閉其他短信插件
        'EnableCallBack'          => [
            'addon\smsbao\event\EnableCallBack'
        ],
        //查詢啟用的短信插件
        'EnableSms' => [
            'addon\smsbao\event\EnableSms'
        ],
        'SmsTemplateInfo' => [
            'addon\smsbao\event\SmsTemplateInfo'
        ]
    ],
 
    'subscribe' => [
    ],
];

3:打開(kāi)項(xiàng)目:\addon\smsbao\model\Sms.php 增加短信寶發(fā)送函數(shù)

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
class Sms extends BaseModel
{
    /**
     * 短信發(fā)送
     * @param array $param
     * @return array|mixed
     * @throws InvalidArgumentException
     */
    public function send($param = [])
    {
        $config_model = new Config();
        $config_result = $config_model->getSmsConfig();
        if ($config_result[ "data" ][ "is_use" ]) {
            $config = $config_result[ "data" ][ "value" ];
            $sms_info = $param[ "message_info" ][ "sms_json_array" ];//消息類型模板 短信模板信息
            if (empty($sms_info[ "smsbao" ])) return $this->error([], "消息模板尚未配置");
            $sms_info = $sms_info[ "smsbao" ];
            $var_parse = $param[ "var_parse" ];//變量解析
            $smscontent = $sms_info['content'];
            foreach ($var_parse as $k=>$v){
                $smscontent=str_replace('{'.$k.'}',$v,$smscontent);
            }
            $account = $param[ "sms_account" ];//發(fā)送手機(jī)號(hào)
            $sms_config = [
                // HTTP 請(qǐng)求的超時(shí)時(shí)間(秒)
                'timeout' => 5.0,
                // 默認(rèn)發(fā)送配置
                'default' => [
                    // 網(wǎng)關(guān)調(diào)用策略,默認(rèn):順序調(diào)用
                    'strategy' => OrderStrategy::class,
                    // 默認(rèn)可用的發(fā)送網(wǎng)關(guān)
                    'gateways' => [ 'smsbao' ],
                ],
                // 可用的網(wǎng)關(guān)配置
                'gateways' => [
                    "smsbao" => [
                        'user' => $config[ "smsbao_key_id" ],
                        'password' => $config[ "smsbao_key_secret" ],
                    ]
                ],
            ];
 
            try {
                $easySms = new EasySms($sms_config);
                $easySms->send($account, [
                    'content'  => '【'.$config[ "smsbaosign" ].'】'.$smscontent,
//                    'template' => $sms_info[ "template_id" ],
                    'data' => $var_parse,
                ]);
                return $this->success([ "addon" => "smsbao""addon_name" => "短信寶短信""content" => $sms_info[ "content" ] ]);
            catch (NoGatewayAvailableException $exception) {
                $message = $exception->getException('smsbao')->getMessage();
                return $this->error([ "content" => $sms_info[ "content" ] ], $message ? : '短信發(fā)送異常');
            }
        }
    }
}

4:打開(kāi)項(xiàng)目:addon\smsbao\shop\view\message\edit.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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<div class="layui-form form-wrap">
   <div class="layui-form-item">
      <label class="layui-form-label">是否開(kāi)啟:</label>
      <div class="layui-input-block">
         <input type="checkbox" name="sms_is_open" value="1" {if $sms_is_open == 1}checked{/if} lay-skin="switch">
      </div>
   </div>
   <div class="layui-form-item">
      <label class="layui-form-label">數(shù)據(jù)值:</label>
      <div class="layui-input-block">
         {foreach $message_variable_list as $message_variable_k => $message_variable_v}
         <button class="layui-btn layui-btn-primary number-con" onclick="clickBtn('{$message_variable_k}')">{$message_variable_v}</button>
         {/foreach}
      </div>
   </div>
 
   <div class="layui-form-item">
      <label class="layui-form-label">短信內(nèi)容:</label>
      <div class="layui-input-block">
         <textarea id="text_area" name="content" class="layui-textarea len-long">{if !empty($info)}{$info.content}{/if}</textarea>
      </div>
      <div class="word-aux">變量只能使用上方數(shù)據(jù)值中的變量,否則不會(huì)被解析</div>
   </div>
    
   <div class="form-row">
      <button class="layui-btn" lay-submit lay-filter="save">保存</button>
      <button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
   </div>        
   <input type="hidden" name="keywords" value="{$keywords}">
</div>
 
<script>
   layui.use('form'function() {
      var form = layui.form;
      var repeat_flag = false//防重復(fù)標(biāo)識(shí)
      form.render();
 
      /**
       * 監(jiān)聽(tīng)提交
       */
      form.on('submit(save)'function(data) {
         if (repeat_flag) return;
         repeat_flag = true;
          
         $.ajax({
            dataType: 'JSON',
            type: 'POST',
            url: ns.url("smsbao://shop/message/edit"),
            data: data.field,
            success: function(res){
               repeat_flag = false;
                
               if (res.code == 0) {
                  layer.confirm('編輯成功', {
                     title:'操作提示',
                     btn: ['返回列表''繼續(xù)操作'],
                     yes: function(){
                        location.href = ns.url("shop/message/lists")
                     },
                     btn2: function() {
                        location.reload();
                     }
                  });
               }else{
                  layer.msg(res.message);
               }
            }
         });
      });
   });
    
   function back(){
      location.href = ns.url("shop/message/lists");
   }
    
   function clickBtn(con) {
      var txtArea = $("#text_area")[0];
      var content = txtArea.value;//文本域內(nèi)容
      var start = txtArea.selectionStart;  //光標(biāo)的初始位置,selectionStart:選區(qū)開(kāi)始位置;selectionEnd:選區(qū)結(jié)束位置。
       
      txtArea.value = content.substring(0, txtArea.selectionStart) + '{' + con + '}' + content.substring(txtArea.selectionEnd, content.length);
      var position = start + con.length;
      $("#text_area").focus();
      txtArea.setSelectionRange(position+1, position+1); //setSelectionRange()方法用來(lái)設(shè)置<input>元素當(dāng)前選中的文本的開(kāi)始和結(jié)束位置
   }
</script>

5:打開(kāi)項(xiàng)目:addon\smsbao\shop\view\sms\config.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
<div class="layui-form form-wrap">
    <div class="layui-form-item">
        <label class="layui-form-label">是否開(kāi)啟:</label>
        <div class="layui-input-block" id="isOpen">
         <input type="checkbox" name="status" lay-filter="isOpen" value="1" lay-skin="switch" {if condition="$info.is_use == 1"} checked {/if} />
        </div>
      <div class="word-aux">當(dāng)前使用短信寶配置</div>
    </div>
   <div class="layui-form-item">
      <label class="layui-form-label">短信寶賬號(hào):</label>
      <div class="layui-input-block">
         <input type="text" name="smsbao_key_id" placeholder="請(qǐng)輸入短信寶賬號(hào)" {if $info.value } value="{$info.value.smsbao_key_id}" {/if} autocomplete="off" class="layui-input len-long">
      </div>
   </div>
   <div class="layui-form-item">
      <label class="layui-form-label">短信寶密碼:</label>
      <div class="layui-input-block">
         <input type="text" name="smsbao_key_secret" placeholder="請(qǐng)輸入短信寶密碼" {if $info.value } value="{$info.value.smsbao_key_secret}" {/if} autocomplete="off" class="layui-input len-long">
      </div>
   </div>
   <div class="layui-form-item">
      <label class="layui-form-label">短信內(nèi)容簽名:</label>
      <div class="layui-input-block">
         <input type="text" name="smsbaosign" placeholder="請(qǐng)輸入短信內(nèi)容簽名" {if $info.value } value="{$info.value.smsbaosign}" {/if} autocomplete="off" class="layui-input len-long">
      </div>
   </div>
    <!-- 表單操作 -->
    <div class="form-row">
        <button class="layui-btn" lay-submit lay-filter="save">保存</button>
        <button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
    </div>
</div>
<script>
    layui.use('form'function() {
        var form = layui.form,
            repeat_flag = false//防重復(fù)標(biāo)識(shí)
      form.render();
        form.on('submit(save)'function(data) {
            if (repeat_flag) return;
            repeat_flag = true;
          
            $.ajax({
                url: ns.url("smsbao://shop/sms/config"),
                data: data.field,
                dataType: 'JSON',
                type: 'POST',
                success: function(res) {
               repeat_flag = false;
                
               if (res.code == 0) {
                  layer.confirm('編輯成功', {
                     title:'操作提示',
                     btn: ['返回列表''繼續(xù)操作'],
                     yes: function(){
                        location.href = ns.url("shop/message/sms")
                     },
                     btn2: function() {
                        location.reload();
                     }
                  });
               }else{
                  layer.msg(res.message);
               }
                }
            });
        });
    });
    function back() {
        location.href = ns.url("shop/message/sms");
    }
</script>

經(jīng)過(guò)上面的替換,短信寶的短信平臺(tái)已經(jīng)替換成功了,可以正常使用了。進(jìn)行測(cè)試發(fā)送:

報(bào)備一下短信寶的VIP模板,這樣就可以走短信寶的優(yōu)質(zhì)通道了,即便遇到敏感文字我們都不會(huì)人工審核,短信內(nèi)容3~5秒就可送達(dá)。

另外:我們已經(jīng)開(kāi)發(fā)好完整的NIUSHOPV5單商戶多門店短信寶插件,點(diǎn)擊此鏈接?下載及查看安裝流

開(kāi)源插件

最新更新

電商類

CMS類

微信類

文章標(biāo)簽
精品深夜福利视频,日本中文字幕不卡,久久久久国产,av综合电影网站
91精品国产一区二区在线观看| 好吊日精品视频| 国产亚洲电影| 亚洲成人不卡| 欧美激情视频一区二区三区免费 | 欧美专区18| 粉嫩av一区二区三区四区五区 | 亚洲欧美日韩专区| av最新在线| 日韩区一区二| 亚洲风情在线资源| 99国产精品久久久久久久| 日韩视频精品在线观看| 极品日韩av| 久久国产亚洲精品| 91精品福利观看| 久久久久伊人| 奶水喷射视频一区| 日韩在线中文| 91av亚洲| 久久久91麻豆精品国产一区| 7777精品| 免费在线观看一区| 久久精品人人| 国产欧美另类| 在线日韩av| 久久一二三区| 91亚洲精品视频在线观看 | 天堂网在线观看国产精品| 国产在线一区不卡| 日韩一区二区三区免费播放| 九九久久婷婷| 日韩影院精彩在线| 日本午夜精品久久久久| 日韩中文字幕一区二区三区| 青草国产精品| 亚洲欧洲一区| 一区二区国产在线| 在线一区视频观看| 日韩二区三区四区| 欧美日韩在线网站| 国产精品一区二区三区www| 喷白浆一区二区| 成人看片网站| 91亚洲国产| 国产成人免费| 亚洲精品四区| 好看的av在线不卡观看| 免费日韩视频| 福利一区二区三区视频在线观看| 亚洲乱码久久| 欧美亚洲二区| 精品一区二区三区亚洲| 国产一区亚洲| 美女精品网站| 国产欧美一区二区三区米奇| www在线观看黄色| 亚洲激情中文在线| 日韩欧美另类一区二区| 黑丝一区二区三区| аⅴ资源天堂资源库在线| 青青草伊人久久| 五月综合激情| 国产成人久久精品麻豆二区 | 久久久久伊人| 婷婷亚洲精品| 视频一区中文字幕国产| 欧美不卡高清一区二区三区| 国产精品综合色区在线观看| 国产字幕视频一区二区| 久久精品青草| 亚洲精品小说| 免费不卡在线观看| 国产亚洲欧美日韩精品一区二区三区| 亚洲精品99| 久久超级碰碰| 美女久久久久久| 婷婷激情一区| 91大神在线观看线路一区| 捆绑调教美女网站视频一区| 国产精品日本一区二区三区在线| 日日夜夜免费精品视频| 丝袜美腿亚洲一区二区图片| 欧美精品三级在线| 国产精品自在| 麻豆精品99| 韩国三级一区| 亚洲精品无播放器在线播放| 日本久久精品| 日本成人中文字幕| 精品亚洲精品| 日韩中文字幕| 98精品久久久久久久| 欧美伊人久久| 国产精品美女久久久| 午夜久久99| 欧美男人天堂| 美女毛片一区二区三区四区最新中文字幕亚洲 | 国产精品.xx视频.xxtv| 视频一区日韩精品| 亚洲欧美专区| 国模 一区 二区 三区| 色天使综合视频| 欧美精品一区二区三区精品| 香蕉精品久久| 亚洲欧洲美洲国产香蕉| 亚洲国产福利| 黄色在线网站噜噜噜| 日韩一区电影| 日本亚洲三级在线| 亚洲国产成人二区| 日韩一区二区三区高清在线观看| 蜜臀av一区二区三区| 亚洲精品欧美| 美女性感视频久久| 午夜精品久久久久久久久久蜜桃| 国内在线观看一区二区三区| 蜜臀精品久久久久久蜜臀| 免费视频亚洲| 亚洲一区二区成人| 日韩在线网址| 国产精品亚洲产品| 一区久久精品| 亚洲性视频在线| 国产精品久久久久久久久久齐齐| 久久久91麻豆精品国产一区| 精品中文字幕一区二区三区| 国产美女一区| 欧美a一区二区| 亚洲欧美日韩精品一区二区| 精品国产午夜| 六月天综合网| 欧美激情福利| 中文字幕亚洲在线观看| 欧美日韩精品免费观看视完整| 亚洲精品一二| 国产一区白浆| 日韩欧美一区二区三区免费观看| 国产亚洲永久域名| 久久久久97| 日韩一区二区三区精品视频第3页| 日本精品不卡| 国产精品久久久久久久免费软件| 亚洲欧美日韩国产综合精品二区 | 蜜臀久久99精品久久一区二区| 久久久久久一区二区| 日韩精品久久久久久久软件91| 久久久影院免费| 久久精品影视| 麻豆91精品视频| 国产日韩欧美高清免费| 亚洲资源网站| 亚洲区国产区| 久久国产精品毛片| 亚洲精品中文字幕乱码| 欧美激情五月| 丝袜诱惑制服诱惑色一区在线观看| 亚洲伊人精品酒店| 蜜桃视频一区二区三区在线观看 | 亚洲精品一区三区三区在线观看| 免费一二一二在线视频| 亚洲在线国产日韩欧美| 国产精品亚洲成在人线| 亚洲福利精品| 日韩一区精品| 日韩精品影视| 视频一区二区国产| 国产亚洲高清一区| 亚洲国产专区| 在线亚洲免费| 精品九九久久| 蜜臀91精品一区二区三区| 午夜久久一区| 国产精品伦一区二区| 黄色精品网站| 欧美91视频| 国产精品久久久免费| 老司机精品在线| 亚洲精品四区| 亚洲涩涩av| 美女网站视频一区| 精品久久视频| 日本亚洲三级在线| 亚洲综合欧美| 精品久久久网| 国产精品欧美在线观看| 日韩毛片视频| 日韩高清在线不卡| 国产一区亚洲| 女人天堂亚洲aⅴ在线观看| 欧美成人精品一级| 日本a级不卡| 中文字幕av亚洲精品一部二部| 免费一区二区三区在线视频| 激情自拍一区| 日本免费久久| 91精品在线观看国产| 91精品蜜臀一区二区三区在线| 国产成人久久精品麻豆二区| 69堂免费精品视频在线播放|