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


待發(fā)短信

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

4001-021-502

工作時間

9:00-21:00

CRMEBV4.50新增短信寶短信接口

CRMEB商城系統(tǒng)是基于ThinkPhp6.0+Vue開發(fā)的一套新零售移動電商開源系統(tǒng),包含商城、拼團、砍價、秒殺、優(yōu)惠券、積分、分銷等功能,更適合企業(yè)二次開發(fā)。今天小編就以新增短信接口為例,給大家講解一下如何進行二次開發(fā),使用的短信接口是我們短信寶短信群發(fā)平臺的短信接口,我們短信寶短信群發(fā)平臺的接口非常穩(wěn)定,發(fā)送速度快,注冊就送測試短信,推薦大家使用。
前提:前先執(zhí)行以下sql語句,增加短信寶相關(guān)配置

1
2
3
4
5
6
7
8
9
INSERT INTO `eb_system_config_tab` (`id`, `pid`, `title`, `eng_title`, `status`, `info`, `icon`, `type`, `sort`) VALUES ('999''96''短信寶配置''smsbao''1''0''ios-chatboxes''0''0');
 
INSERT INTO `eb_system_config` ( `menu_name`, `type`, `input_type`, `config_tab_id`, `parameter`, `upload_type`, `required`, `width`, `high`, `value`, `info`, `desc`, `sort`, `status`)
VALUES ('smsbao_user''text''input''999''', 0, '''999', 0, '''短信寶賬號''短信寶賬號''0''1');
INSERT INTO `eb_system_config` ( `menu_name`, `type`, `input_type`, `config_tab_id`, `parameter`, `upload_type`, `required`, `width`, `high`, `value`, `info`, `desc`, `sort`, `status`)
VALUES ('smsbao_pwd''text''input''999''', 0, '''999', 0, '''短信寶密碼''短信寶密碼''0''1');
INSERT INTO `eb_system_config` ( `menu_name`, `type`, `input_type`, `config_tab_id`, `parameter`, `upload_type`, `required`, `width`, `high`, `value`, `info`, `desc`, `sort`, `status`)
VALUES ('sms_sign_name''text''input''999''', 0, '''999', 0, '''短信簽名''短信簽名''0''1');
UPDATE `eb_system_config` SET `parameter`='0=>一號通\r\n1=>阿里云\r\n2=>騰訊云\r\n3=>短信寶' WHERE (`id`='393');

1:打開項目:config\sms.php 新增短信寶配置

1
2
3
4
5
        'smsbao'=>[
            'smsbao_user'=>'',
            'smsbao_pwd'=>'',
            'sign_name'=>'',
        ]

2:打開項目:crmeb\services\sms\storage 新增smsbao.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
<?php
namespace crmeb\services\sms\storage;
 
use crmeb\services\sms\BaseSms;
use crmeb\services\HttpService;
use think\exception\ValidateException;
use think\facade\Config;
use app\services\message\SystemNotificationServices;
 
class Smsbao extends BaseSms
{
 
    protected $status;
 
    /**
     * 發(fā)送模板id
     * @var array
     */
    protected $templateIds = [];
 
    /**
     * @var string
     */
    protected $accessKeyId = '';
 
    /**
     * @var string
     */
    protected $accessKeySecret = '';
 
    protected $signName = '';
 
    /**
     * @var string
     */
    protected $region = "ap-guangzhou";
 
    /**
     * @param array $config
     * @return mixed|void
     */
    protected function initialize(array $config = [])
    {
        parent::initialize($config);
        $this->accessKeyId = sys_config('smsbao_user''');
        $this->accessKeySecret = sys_config('smsbao_pwd''');
        if ($this->accessKeyId && $this->accessKeySecret) {
            $this->status = true;
        else {
            $this->status = false;
        }
        $this->signName = $config['sign_name'] ?? null;
        if($this->signName == null){
            $this->signName  = sys_config('sms_sign_name''');
        }
    }
 
    /**
     * 提取模板code
     * @param string $templateId
     * @return null
     */
    protected function getTemplateCode(string $templateId)
    {
        $notifyServices = app()->make(SystemNotificationServices::class);
        $template = $notifyServices->value([
            'sms_id' => $templateId,
            ], 'system_text') ?? 0;
        return $template ?? null;
    }
 
    /**
     * @param string $phone
     * @param string $templateId
     * @param array $data
     * @return mixed|void
     */
    public function send(string $phone, string $templateId, array $data)
    {
        $statusStr = array(
            "0" => "短信發(fā)送成功",
            "-1" => "參數(shù)不全",
            "-2" => "服務(wù)器空間不支持,請確認支持curl或者fsocket,聯(lián)系您的空間商解決或者更換空間!",
            "30" => "密碼錯誤",
            "40" => "賬號不存在",
            "41" => "余額不足",
            "42" => "帳戶已過期",
            "43" => "IP地址限制",
            "50" => "內(nèi)容含有敏感詞"
        );
 
        $smsapi = ";
        $user = $this->accessKeyId;
        $pass = md5($this->accessKeySecret);
        $content = $this->getTemplateCode($templateId);
        foreach (array_keys($data) as $k=>$v){
            $search = '{'.$v.'}';
            $content = str_replace($search,$data[$v],$content);
        }
        $content = '【'.$this->signName.'】'.$content;
        $sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);
        $result = $this->fetchContent($sendurl,'POST','') ;
        try {
            if($result == '0'){
                return true;
            }else{
                throw new ValidateException($statusStr[$result]);
            }
        }catch (\Exception $e) {
            throw new ValidateException($e->getMessage());
        }
    }
 
    private function fetchContent($url, $method, $body) {
        $ch = curl_init();
 
        if($method == 'POST') {
            curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
            curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
        else {
            $url .= '?'.$body;
        }
 
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
            "x-sdk-client" => "php/2.0.0"
        ));
 
        if(substr($url, 0,5) == 'https') {
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        }
 
        $rtn = curl_exec($ch);
 
        if($rtn === false) {
            // 大多由設(shè)置等原因引起,一般無法保障后續(xù)邏輯正常執(zhí)行,
            // 所以這里觸發(fā)的是E_USER_ERROR,會終止腳本執(zhí)行,無法被try...catch捕獲,需要用戶排查環(huán)境、網(wǎng)絡(luò)等故障
            trigger_error("[CURL_" . curl_errno($ch) . "]: " . curl_error($ch), E_USER_ERROR);
        }
        curl_close($ch);
 
        return $rtn;
    }
 
    public function open()
    {
        // TODO: Implement open() method.
    }
 
    public function modify(string $sign = null, string $phone = '', string $code = '')
    {
        // TODO: Implement modify() method.
    }
 
    public function info()
    {
        // TODO: Implement info() method.
    }
 
    public function temps(int $page, int $limit, int $type)
    {
        // TODO: Implement temps() method.
    }
 
    public function apply(string $title, string $content, int $type)
    {
        // TODO: Implement apply() method.
    }
 
    public function applys(int $tempType, int $page, int $limit)
    {
        // TODO: Implement applys() method.
    }
 
    public function record($record_id)
    {
        // TODO: Implement record() method.
    }
}

3:打開項目app\services\message\notice\SmsService.php 增加短信寶網(wǎng)關(guān) 大概在45行

1
2
3
4
5
    /**
     * 短信類型
     * @var string[]
     */
    private $smsType = ['yihaotong''aliyun''tencent','smsbao'];

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

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

另外:我們已經(jīng)開發(fā)好完整的CRMEBV4.50系統(tǒng)短信寶插件,點擊此鏈接?下載及查看安裝流

開源插件

最新更新

電商類

CMS類

微信類

文章標簽
精品深夜福利视频,日本中文字幕不卡,久久久久国产,av综合电影网站
午夜精品影视国产一区在线麻豆| 99成人在线视频| 狠狠爱成人网| 中文字幕一区久| 国产v综合v| 国产精品7m凸凹视频分类| 精品在线99| 九九久久电影| 日韩在线观看一区二区| 热久久久久久久| 日韩精品免费一区二区夜夜嗨 | 蜜桃视频第一区免费观看| 丝袜脚交一区二区| 在线免费观看亚洲| 国产精品毛片aⅴ一区二区三区| 亚洲开心激情| 麻豆一区在线| 久久夜夜操妹子| 国产精品女主播一区二区三区| 亚洲精品一级二级三级| 老司机免费视频一区二区| 天堂√8在线中文| 亚洲经典在线| 欧美一区二区三区久久精品| 老鸭窝一区二区久久精品| 亚洲国产影院| 欧美精品影院| 久久免费高清| 欧美综合社区国产| 日产精品一区| 亚洲激情久久| 国产视频一区二| 久久久777| 日韩欧美中文在线观看| 国产精品毛片久久| 美国欧美日韩国产在线播放| 欧美1区二区| 99国产一区| 久久精品三级| 三级一区在线视频先锋| 国产精品一区二区精品| 黄色日韩精品| 福利视频一区| 少妇精品久久久一区二区| 日韩国产一区二区| 亚洲一区二区三区四区五区午夜| 国产精品对白| 香蕉视频成人在线观看| 鲁大师精品99久久久| 亚洲一区中文| 日韩综合在线| 青青草91视频| 国产亚洲综合精品| 成人在线视频免费看| 亚洲精品在线a| 亚洲先锋成人| 国产精品精品| 日本午夜精品一区二区三区电影| 欧美/亚洲一区| 福利片在线一区二区| 在线一区视频| 中文字幕在线看片| 国产欧美日韩一级| 综合一区在线| 午夜日韩福利| 在线看片福利| 精品国产中文字幕第一页| 蜜臀av一区二区三区| 久久影视一区| 欧美激情99| 日本成人手机在线| 91精品推荐| 精品国产aⅴ| 欧美日韩xxxx| 日本免费新一区视频| 91精品婷婷色在线观看| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 日韩欧美少妇| 精品日韩一区| 91综合久久爱com| 蜜桃视频一区二区三区在线观看| 亚洲特色特黄| 日韩在线短视频| 久久国产婷婷国产香蕉| 亚洲在线成人| 欧美一区二区三区激情视频 | 蜜桃传媒麻豆第一区在线观看 | 日韩福利视频导航| 久久福利精品| 日韩精品一级二级| 亚洲va在线| 亚洲v在线看| 久久精品导航| 欧美日韩在线播放视频| 亚洲成人不卡| 九九色在线视频| 精品亚洲美女网站| 天堂资源在线亚洲| 99在线精品免费视频九九视| 亚洲激情黄色| 亚洲欧美伊人| 亚洲激情av| 亚洲一区二区三区四区电影 | 国产欧美69| 国产毛片精品| 久久丁香四色| 久久香蕉精品香蕉| 国产成人精选| 黄色aa久久| 欧美羞羞视频| 在线日韩中文| 国产偷自视频区视频一区二区| 午夜久久福利| 激情欧美一区| 在线精品福利| 国产精品2023| 深夜福利视频一区二区| 蜜桃国内精品久久久久软件9| 999国产精品| 一区二区亚洲精品| 亚洲一区导航| 日韩av成人高清| 黄色网一区二区| 天堂日韩电影| 不卡在线一区| 亚洲精品韩国| 国产日韩一区二区三免费高清| 精品视频91| 乱人伦精品视频在线观看| 国产精品婷婷| 国产另类在线| 国产一区三区在线播放| 亚洲韩日在线| 免费一级片91| 欧美日本二区| 国产理论在线| 99国产精品久久久久久久成人热| 美女精品在线观看| 久久中文字幕导航| 先锋影音久久久| 国产aa精品| 免费视频一区二区| 精品一二三区| 欧美精品日日操| 久久狠狠亚洲综合| 久久国产中文字幕| 欧美一区二区三区久久精品| 日韩国产综合| 中文字幕一区二区av| 国产成人精品一区二区三区免费 | 欧美日韩一二三四| 亚洲精品黄色| 日韩国产一区二区三区| 亚洲网址在线观看| 日本成人中文字幕在线视频| 欧美一级鲁丝片| 亚洲精品乱码久久久久久蜜桃麻豆| 都市激情国产精品| 日韩中文字幕视频网| 欧洲亚洲一区二区三区| 日韩欧美另类中文字幕| 三上悠亚国产精品一区二区三区| 一级欧美视频| 成人片免费看| 日本亚洲欧美天堂免费| 日韩精品一区二区三区免费观看| 日本亚洲最大的色成网站www| 视频小说一区二区| 久久一区精品| 欧美网站在线| 欧美三区四区| 国产精品s色| 亚洲毛片在线| 久久国产直播| 国产日产精品_国产精品毛片| 亚洲一区久久| 欧美成人基地 | 亚洲作爱视频| 黄色aa久久| 麻豆视频一区二区| 91福利精品在线观看| 国产在线不卡| 欧美日一区二区在线观看| 亚洲综合精品| 久久国产影院| 日韩精品1区| 成人国产精品久久| 麻豆91在线播放| 国产伦乱精品| 天堂俺去俺来也www久久婷婷| 在线午夜精品| 午夜精品网站| 免费成人网www| 99成人超碰| 欧美1区2区3区| 欧美国产91| 婷婷亚洲综合| 日韩成人a**站| 精品国产不卡| а√天堂8资源中文在线|