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


待發短信

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

4001-021-502

工作時間

9:00-21:00

CRMEBV5.0新增短信寶短信接口

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

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
183
184
185
186
187
188
<?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;
 
    /**
     * 發送模板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" => "短信發送成功",
            "-1" => "參數不全",
            "-2" => "服務器空間不支持,請確認支持curl或者fsocket,聯系您的空間商解決或者更換空間!",
            "30" => "密碼錯誤",
            "40" => "賬號不存在",
            "41" => "余額不足",
            "42" => "帳戶已過期",
            "43" => "IP地址限制",
            "50" => "內容含有敏感詞"
        );
 
        $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) {
            // 大多由設置等原因引起,一般無法保障后續邏輯正常執行,
            // 所以這里觸發的是E_USER_ERROR,會終止腳本執行,無法被try...catch捕獲,需要用戶排查環境、網絡等故障
            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 增加短信寶網關 大概在45行

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

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

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

另外:我們已經開發好完整的CRMEBV5.0系統短信寶插件,點擊此鏈接?下載及查看安裝流

開源插件

最新更新

電商類

CMS類

微信類

文章標簽
91成人在线播放_欧美一区二区视频在线观看_91精品国产高清久久久久久_国产精品久久亚洲不卡4k岛国
日韩国产精品久久久久久亚洲| 在线一区二区三区四区五区| 中国色在线观看另类| 91麻豆精品国产91久久久久久| 91丨porny丨国产入口| 豆国产96在线|亚洲| 国产91精品一区二区麻豆亚洲| 国产一区二区三区日韩| 国产资源在线一区| 国产精品一区久久久久| 国产福利一区在线| 国产91清纯白嫩初高中在线观看| 国产成a人亚洲精品| k8久久久一区二区三区| 色综合欧美在线| 欧美亚洲国产bt| 51精品秘密在线观看| 日韩久久久精品| 欧美精品一区二区久久久| 久久亚洲一区二区三区明星换脸| 国产女人18水真多18精品一级做| 国产精品沙发午睡系列990531| 中文字幕一区av| 亚洲综合色视频| 日韩成人午夜电影| 国产一区二区伦理片| caoporn国产一区二区| 色狠狠一区二区三区香蕉| 欧美精品一二三| 久久综合五月天婷婷伊人| 国产清纯美女被跳蛋高潮一区二区久久w| 中文幕一区二区三区久久蜜桃| 亚洲精品日日夜夜| 蓝色福利精品导航| 成人av网站免费观看| 欧美日韩一区二区三区四区五区| 日韩欧美一级片| 国产精品午夜电影| 亚洲在线观看免费视频| 久国产精品韩国三级视频| 成人性色生活片| 欧美日本免费一区二区三区| 国产亚洲1区2区3区| 亚洲777理论| 成人免费精品视频| 欧美肥妇bbw| 136国产福利精品导航| 毛片基地黄久久久久久天堂| 波多野结衣中文字幕一区二区三区| 欧美精品久久99久久在免费线 | 麻豆久久久久久| eeuss鲁片一区二区三区在线看| 777精品伊人久久久久大香线蕉| 中文字幕不卡在线观看| 裸体歌舞表演一区二区| 欧美无人高清视频在线观看| 亚洲国产精品成人综合色在线婷婷| 日韩激情av在线| 在线观看日韩精品| 国产精品二三区| 国产精品自产自拍| 日韩欧美国产成人一区二区| 亚洲愉拍自拍另类高清精品| 成人av在线一区二区三区| 欧美成人精品福利| 香蕉久久一区二区不卡无毒影院 | 国产一本一道久久香蕉| 日韩久久久精品| 日本欧美一区二区| 欧美久久婷婷综合色| 一区二区三区欧美| 99久久精品国产毛片| 国产精品三级久久久久三级| 国产精品系列在线播放| 日韩久久精品一区| 奇米亚洲午夜久久精品| 91麻豆精品国产自产在线观看一区 | 国产黄人亚洲片| 精品国产乱码久久久久久1区2区| 午夜精品免费在线| 欧美日韩大陆在线| 亚洲国产精品麻豆| 欧美日韩在线播放一区| 亚洲一区电影777| 欧美性生活久久| 亚洲成人综合网站| 欧美群妇大交群中文字幕| 午夜久久电影网| 欧美一二三区精品| 国产精品一区三区| 国产精品美女www爽爽爽| 成人av在线资源| 亚洲日本一区二区| 91福利视频久久久久| 亚洲18影院在线观看| 678五月天丁香亚洲综合网| 午夜电影久久久| 欧美刺激午夜性久久久久久久| 久久精品国产亚洲高清剧情介绍 | 亚洲国产中文字幕| 91精品国产综合久久久久久| 日韩av在线发布| 精品国产乱子伦一区| 国产成人免费xxxxxxxx| 日韩伦理av电影| 精品视频一区二区不卡| 伦理电影国产精品| 国产精品激情偷乱一区二区∴| 日本久久一区二区| 日韩精品每日更新| 久久精品网站免费观看| 91久久精品一区二区| 奇米综合一区二区三区精品视频| 久久久久久久电影| 色噜噜狠狠色综合中国| 蜜臀av国产精品久久久久| 久久久www免费人成精品| 色综合久久中文字幕综合网| 免费久久精品视频| 亚洲欧洲精品一区二区三区| 欧美日韩小视频| 成人免费黄色在线| 日韩精品免费视频人成| 欧美国产一区二区在线观看| 欧美私人免费视频| 国产成人精品免费网站| 亚洲超碰精品一区二区| 日本一区二区电影| 欧美一区二区三区免费| 91丨九色porny丨蝌蚪| 国产一区二区电影| 天天综合日日夜夜精品| **性色生活片久久毛片| 久久人人97超碰com| 欧美日韩一二区| 91一区二区三区在线播放| 国产在线麻豆精品观看| 日韩精品一级二级 | 一区二区三区波多野结衣在线观看| 精品国产一区二区三区久久影院| 色婷婷久久久久swag精品| 国产美女视频91| 日本欧美在线观看| 亚洲夂夂婷婷色拍ww47| 最好看的中文字幕久久| 久久欧美中文字幕| 欧美va在线播放| 欧美另类videos死尸| 一本一道综合狠狠老| www.一区二区| 丁香天五香天堂综合| 久久se这里有精品| 麻豆一区二区三| 日本强好片久久久久久aaa| 亚洲一区二区偷拍精品| 亚洲色图清纯唯美| 中文字幕在线免费不卡| 国产亚洲一区二区三区四区| 2021中文字幕一区亚洲| 精品久久久久久久久久久久包黑料| 91精品国产欧美日韩| 欧美老年两性高潮| 欧美电影一区二区三区| 欧美精品在线观看一区二区| 欧美日韩国产另类不卡| 欧美亚洲一区二区在线观看| 在线观看成人免费视频| 欧美亚洲国产怡红院影院| 欧美理论电影在线| 欧美一区二区成人| 精品99一区二区三区| 国产欧美一区二区三区网站| 日本一区二区不卡视频| 亚洲日本成人在线观看| 亚洲精品国产a| 亚洲成av人片在线观看| 日韩精品1区2区3区| 麻豆国产精品777777在线| 国产一区啦啦啦在线观看| 懂色av一区二区三区蜜臀| 91小视频免费看| 色噜噜夜夜夜综合网| 欧美日韩精品一区二区天天拍小说 | 精品国产91久久久久久久妲己 | 国产中文一区二区三区| 国产成人午夜电影网| 波多野结衣91| 精品视频在线看| 日韩精品一区二区在线| 国产欧美一区二区精品久导航| 国产精品初高中害羞小美女文| 一区二区三区在线免费播放| 婷婷综合在线观看| 国产精一区二区三区| 日本韩国一区二区三区视频| 日韩欧美一区二区三区在线| 国产精品亲子伦对白| 亚洲影院理伦片| 国产美女精品在线| 欧美写真视频网站|