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


待發短信

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

4001-021-502

工作時間

9:00-21:00

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

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
<?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.40系統短信寶插件,點擊此鏈接?下載及查看安裝流

開源插件

最新更新

電商類

CMS類

微信類

文章標簽
91成人在线播放_欧美一区二区视频在线观看_91精品国产高清久久久久久_国产精品久久亚洲不卡4k岛国
中文字幕制服丝袜成人av| av一本久道久久综合久久鬼色| 正在播放一区二区| 99久久99久久精品国产片果冻 | 91麻豆精品在线观看| 成人黄色电影在线| 成人永久看片免费视频天堂| 国产在线视视频有精品| 国产在线播放一区| 久久成人免费电影| 国精产品一区一区三区mba桃花 | 日韩精品1区2区3区| 欧美一区欧美二区| 9191成人精品久久| 91精品一区二区三区久久久久久| 欧美一区二区在线观看| 欧美精品一区二区不卡| 久久综合九色综合欧美亚洲| 久久久久久夜精品精品免费| 国产日韩欧美高清在线| 中文字幕一区免费在线观看| 亚洲精品国久久99热| 亚洲成a人片在线不卡一二三区| 视频一区二区三区中文字幕| 韩国一区二区三区| 成人a区在线观看| 欧美三级日韩三级| 精品国产免费一区二区三区香蕉| 国产女主播在线一区二区| 亚洲视频中文字幕| 日本欧美一区二区在线观看| 国产激情精品久久久第一区二区| www.爱久久.com| 欧美人牲a欧美精品| 久久亚洲免费视频| 亚洲美女视频在线| 奇米综合一区二区三区精品视频| 懂色av一区二区在线播放| 色噜噜狠狠一区二区三区果冻| 欧美一区二区三区思思人| 亚洲国产精品99久久久久久久久| 亚洲一区在线播放| 国产乱对白刺激视频不卡| 欧美综合欧美视频| 国产性色一区二区| 亚洲.国产.中文慕字在线| 国产成人一区二区精品非洲| 欧美性一区二区| 国产精品视频第一区| 午夜精品久久久久久久久久久| 国产成人免费视频网站高清观看视频 | 日韩精品一区二区三区视频在线观看 | 成人激情视频网站| 精品剧情在线观看| 一级特黄大欧美久久久| 国产成人aaa| 精品免费一区二区三区| 亚洲一线二线三线视频| 成人精品小蝌蚪| 日韩欧美国产精品| 亚洲一二三区不卡| 色香蕉久久蜜桃| 欧美激情一区二区三区在线| 毛片基地黄久久久久久天堂| 欧美专区在线观看一区| 国产精品无人区| 国产麻豆视频精品| 精品国产乱码久久久久久1区2区 | 久久精品av麻豆的观看方式| 欧美日韩亚洲丝袜制服| 亚洲激情av在线| www.亚洲精品| 国产精品久久久久天堂| 国产一区欧美日韩| 欧美精品一区二区三区久久久| 亚洲3atv精品一区二区三区| 在线一区二区三区| 亚洲乱码国产乱码精品精的特点 | 捆绑调教美女网站视频一区| 欧美一区二区三区思思人| 午夜精品一区二区三区免费视频| 在线免费观看一区| 亚洲国产精品影院| 欧美综合在线视频| 亚洲国产日韩精品| 欧美体内she精高潮| 亚洲成人动漫精品| 欧美久久久久久久久久| 五月开心婷婷久久| 91精品国产综合久久婷婷香蕉 | 国产精品久久久久影院亚瑟 | 欧美女孩性生活视频| 日韩国产一二三区| 欧美日韩日本视频| 日韩国产欧美在线播放| 国产夫妻精品视频| 国产精品毛片久久久久久久| caoporen国产精品视频| 亚洲老妇xxxxxx| 欧美日韩在线不卡| 奇米精品一区二区三区四区| 欧美videossexotv100| 国产一区高清在线| 国产精品国模大尺度视频| 91麻豆精品一区二区三区| 亚洲午夜三级在线| 日韩欧美视频在线| 成人国产精品免费| 亚洲成人av免费| 久久综合九色综合欧美就去吻 | 国产福利91精品一区| 有码一区二区三区| 欧美一区二区三区四区在线观看| 国产一区二区三区观看| 欧洲一区在线观看| 日韩av网站免费在线| 欧美极品aⅴ影院| 91福利国产精品| 激情成人综合网| 亚洲精品成人精品456| 欧美电视剧免费全集观看| 丝袜美腿亚洲色图| 亚洲国产精品成人综合色在线婷婷 | 亚洲成人动漫在线免费观看| 国产丝袜欧美中文另类| 欧美性猛交xxxx乱大交退制版| 美日韩一区二区| 亚洲色图丝袜美腿| 欧美v日韩v国产v| 欧美曰成人黄网| 国产高清在线精品| 日韩高清电影一区| 亚洲欧美国产三级| 26uuu精品一区二区在线观看| 色偷偷88欧美精品久久久| 精品在线观看免费| 亚洲一区二区欧美| 中文字幕第一区二区| 日韩视频永久免费| 91免费小视频| 国产69精品久久久久777| 免费不卡在线观看| 亚洲国产一区视频| 亚洲三级免费观看| 欧美国产精品v| 久久久国产精品麻豆 | 亚洲精品中文字幕乱码三区| 国产欧美久久久精品影院| 久久综合精品国产一区二区三区| 色噜噜狠狠色综合中国| 99久久99久久精品免费观看| 国产精品亚洲一区二区三区在线 | 色狠狠桃花综合| 日本韩国欧美一区二区三区| 成人av电影在线网| www.欧美日韩| av午夜精品一区二区三区| 国产成人亚洲综合色影视| 韩国成人精品a∨在线观看| 日本va欧美va欧美va精品| 亚洲v日本v欧美v久久精品| 亚洲视频 欧洲视频| 中文字幕亚洲不卡| 中文字幕免费一区| 欧美日韩第一区日日骚| 欧美亚洲愉拍一区二区| 国产成人鲁色资源国产91色综| 国产成人日日夜夜| 六月丁香婷婷久久| 婷婷开心激情综合| 久久精品在线观看| 国产精品美女久久福利网站| 欧美成人乱码一区二区三区| 欧美色图一区二区三区| www.成人网.com| 成人午夜在线免费| 国产激情一区二区三区| 午夜精品成人在线视频| 蜜桃av噜噜一区二区三区小说| 亚洲永久精品国产| 亚洲激情六月丁香| 日韩激情视频网站| 亚洲精品一二三区| 国产精品久久久久影院| 91精品婷婷国产综合久久性色| 欧美午夜精品久久久久久超碰| 一本大道久久a久久精二百| 成人av电影免费在线播放| 成人综合婷婷国产精品久久| 国产成人精品亚洲日本在线桃色| 国内外成人在线| 国产一区二区三区精品视频| av中文字幕一区| 99re热这里只有精品视频| 91丨九色丨蝌蚪富婆spa| 69p69国产精品| 日韩一区二区在线观看| 日韩一区二区在线观看视频 | 久久成人久久爱| 色婷婷国产精品|