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


待發短信

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

4001-021-502

工作時間

9:00-21:00

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

開源插件

最新更新

電商類

CMS類

微信類

文章標簽
91成人在线播放_欧美一区二区视频在线观看_91精品国产高清久久久久久_国产精品久久亚洲不卡4k岛国
久久噜噜亚洲综合| 成人欧美一区二区三区小说| 91成人免费在线视频| 欧美日韩国产系列| 久久奇米777| 亚洲永久精品国产| 国产精品自拍三区| 91精选在线观看| 亚洲天天做日日做天天谢日日欢 | 午夜伊人狠狠久久| 粉嫩高潮美女一区二区三区| 欧美精品在线观看播放| 亚洲天堂福利av| 国产精品香蕉一区二区三区| 欧美精品1区2区| 一区av在线播放| 99久久国产免费看| 国产视频在线观看一区二区三区| 日韩精品五月天| 欧美午夜理伦三级在线观看| 中文字幕在线不卡一区二区三区| 久久疯狂做爰流白浆xx| 欧美日韩精品一区二区在线播放| 亚洲天堂a在线| 成人在线视频首页| 国产三级欧美三级日产三级99| 日本不卡一区二区| 欧美日韩激情一区二区| 亚洲第一在线综合网站| 欧美在线免费播放| 亚洲永久免费视频| 欧美日韩一区在线| 三级久久三级久久| 欧美巨大另类极品videosbest| 亚洲午夜电影在线| 欧美人成免费网站| 日本亚洲免费观看| 欧美成人精品3d动漫h| 久久99精品一区二区三区三区| 91精品国产综合久久精品app| 天堂成人免费av电影一区| 欧美三片在线视频观看 | 99久久精品一区二区| 中文字幕亚洲综合久久菠萝蜜| 国产 日韩 欧美大片| 欧美国产在线观看| 91色在线porny| 一区二区三区不卡视频在线观看| 欧美视频在线一区二区三区 | 日韩国产一二三区| 欧美大片一区二区三区| 国产综合色产在线精品| 国产日韩欧美高清| 99麻豆久久久国产精品免费 | 一区二区欧美视频| 91精品欧美一区二区三区综合在| 美国欧美日韩国产在线播放| 精品国产在天天线2019| 波多野结衣在线aⅴ中文字幕不卡| 国产精品久久久久一区二区三区 | 69堂成人精品免费视频| 美女国产一区二区三区| 精品88久久久久88久久久| 国产精品 日产精品 欧美精品| 国产精品久久久久三级| 欧美色电影在线| 激情欧美一区二区三区在线观看| 国产精品三级av| 欧美日韩免费一区二区三区 | 狠狠色丁香婷综合久久| 国产精品久久久久国产精品日日| 欧洲色大大久久| 精品一区二区三区av| 亚洲视频在线观看三级| 欧美丰满一区二区免费视频| 国内精品免费在线观看| 亚洲精品久久7777| 精品欧美黑人一区二区三区| 北岛玲一区二区三区四区| 亚洲123区在线观看| 久久久国产一区二区三区四区小说 | 欧美日韩美女一区二区| 国产成人在线免费观看| 亚洲电影中文字幕在线观看| 久久精品欧美一区二区三区麻豆| 欧洲精品在线观看| 成人午夜短视频| 欧美aⅴ一区二区三区视频| 国产精品传媒在线| 久久久www成人免费无遮挡大片| 色综合一个色综合| 国产精品66部| 蜜臀av一区二区| 亚洲一卡二卡三卡四卡| 国产精品午夜久久| 精品日韩在线观看| 欧美日韩国产中文| 色婷婷综合激情| 成人性生交大片免费看视频在线| 免费在线观看日韩欧美| 亚洲最色的网站| 中文字幕综合网| 亚洲国产精品二十页| 日韩你懂的在线播放| 欧美亚洲国产一区二区三区| 91一区在线观看| 国产成人啪免费观看软件 | 日韩欧美国产不卡| 在线观看一区二区视频| 成人国产精品免费观看视频| 精品一区二区成人精品| 日本不卡视频在线| 日韩国产高清在线| 日本成人在线一区| 三级久久三级久久久| 亚洲成av人片一区二区三区 | 亚洲图片欧美视频| 尤物在线观看一区| 亚洲欧美aⅴ...| 亚洲视频免费观看| 亚洲免费观看视频| 伊人开心综合网| 亚洲精品国产精华液| 亚洲视频免费观看| 亚洲女人****多毛耸耸8| 亚洲色图在线视频| 亚洲男女毛片无遮挡| 亚洲欧美日韩电影| 一区二区三区国产精华| 亚洲少妇30p| 亚洲精品一二三四区| 一区二区三区在线视频免费观看 | 欧美午夜理伦三级在线观看| 91福利视频在线| 欧美三级电影网| 91精品黄色片免费大全| 欧美变态tickling挠脚心| 精品剧情在线观看| 久久久久99精品国产片| 国产精品久久久久久亚洲毛片 | 不卡一区二区在线| 欧美综合色免费| 欧美男男青年gay1069videost | www久久久久| 国产人成亚洲第一网站在线播放| 亚洲国产精品成人久久综合一区| 国产精品久久三区| 亚洲二区在线视频| 韩国视频一区二区| jizz一区二区| 欧美日韩夫妻久久| 久久婷婷国产综合精品青草| 国产精品久久免费看| 亚洲电影一区二区| 国产一区二三区| 日本丶国产丶欧美色综合| 欧美一区二区三区公司| 国产色综合一区| 亚洲国产精品欧美一二99| 国产一区二区不卡老阿姨| 91婷婷韩国欧美一区二区| 欧美日韩国产免费一区二区| 久久久久久久久免费| 亚洲乱码国产乱码精品精可以看| 青娱乐精品在线视频| 成人app网站| 日韩欧美一区在线| 亚洲人成在线播放网站岛国| 日本亚洲一区二区| 99精品偷自拍| 日韩亚洲欧美成人一区| 国产精品久久三区| 麻豆精品一区二区综合av| 99re视频精品| 精品免费国产二区三区| 亚洲愉拍自拍另类高清精品| 精品一区二区久久久| 在线精品视频一区二区三四| 久久久一区二区三区捆绑**| 亚洲网友自拍偷拍| 成人午夜激情片| 亚洲精品在线三区| 婷婷激情综合网| 日本久久一区二区三区| 国产无遮挡一区二区三区毛片日本| 亚洲国产精品一区二区www在线| 国产suv一区二区三区88区| 日韩亚洲欧美一区| 舔着乳尖日韩一区| 在线视频亚洲一区| 亚洲欧美日韩人成在线播放| 国产经典欧美精品| 精品久久人人做人人爽| 午夜精品成人在线视频| 一本久久综合亚洲鲁鲁五月天| 亚洲国产精品t66y| 国产91丝袜在线播放| 欧美精品一区二区精品网| 奇米影视在线99精品| 制服视频三区第一页精品|