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


待發短信

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

4001-021-502

工作時間

9:00-21:00

CRMEB_V5.6.3新增短信寶短信接口

CRMEB Admin框架采用TP6+Mysql+Element前后端分離全部100%開源。方便二開,更有詳細使用文檔、接口文檔、數據字典、二開文檔/視頻教程。為開發者賦能,助力企業發展、國家富強,致力于打造最受歡迎的Admin框架項目。今天小編就以新增短信接口為例,給大家講解一下如何進行二次開發,使用的短信接口是我們短信寶短信群發平臺的短信接口,我們短信寶短信群發平臺的接口非常穩定,發送速度快,注冊就送測試短信,推薦大家使用。
首先執行以下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, '''短信寶APIKEY''短信寶APIKEY''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');

接著打開項目app\services\message\notice\SmsService.php文件,增加短信類型,代碼如下

1
 private $smsType = ['yihaotong''aliyun''tencent','smsbao'];

接著打開項目config\sms.php文件,增加短信寶驅動配置:

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

接著在\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
<?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 $templateIdarray $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($dataas $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.
    }
}

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

另外:我們已經開發好完整的CRMEB商城系統短信寶插件,點擊此鏈接 下載及查看安裝流程。

開源插件

最新更新

電商類

CMS類

微信類

文章標簽
91成人在线播放_欧美一区二区视频在线观看_91精品国产高清久久久久久_国产精品久久亚洲不卡4k岛国
欧美视频日韩视频| 久久精品日产第一区二区三区高清版| 国产精品灌醉下药二区| 欧美性色综合网| 久久精品国产免费| 亚洲老妇xxxxxx| 欧美成人女星排名| 欧美综合亚洲图片综合区| 国产精品资源在线观看| 亚洲国产毛片aaaaa无费看 | 色爱区综合激月婷婷| 国产在线播精品第三| 丝袜国产日韩另类美女| 亚洲美女免费视频| 中文字幕高清不卡| 久久久精品tv| 久久伊99综合婷婷久久伊| 91精品国产综合久久久蜜臀图片| 色欧美乱欧美15图片| www.欧美.com| 国产v综合v亚洲欧| 国产精品一二三四| 懂色av一区二区三区蜜臀| 国产一级精品在线| 国产一区二区在线影院| 美女视频网站久久| 久久99精品网久久| 国内精品写真在线观看| 紧缚奴在线一区二区三区| 日韩国产欧美三级| 奇米精品一区二区三区在线观看 | 日韩欧美在线观看一区二区三区| 欧美精品久久久久久久久老牛影院 | 在线精品视频一区二区三四 | 亚洲图片激情小说| 亚洲欧洲精品一区二区三区不卡 | 老司机午夜精品| 国产一区二区三区综合| 国产精品亚洲午夜一区二区三区| 国产精品一区二区久久精品爱涩| 国产酒店精品激情| 99re这里只有精品6| 色综合久久88色综合天天免费| 94色蜜桃网一区二区三区| 91亚洲精品久久久蜜桃| 91精品福利视频| 5566中文字幕一区二区电影| 日韩精品中文字幕在线一区| 久久夜色精品国产噜噜av| 中文字幕免费观看一区| 亚洲一区二区三区在线看| 亚洲一区中文在线| 蜜桃视频一区二区| 懂色av中文字幕一区二区三区| a美女胸又www黄视频久久| 色噜噜夜夜夜综合网| 日韩欧美国产一区二区三区 | 欧美一级视频精品观看| 国产欧美日韩视频一区二区| 亚洲图片欧美激情| 日本中文字幕一区| 不卡的电影网站| 91精品国产91热久久久做人人| 精品国产污污免费网站入口 | 欧美日韩一区中文字幕| 久久色视频免费观看| 亚洲精品水蜜桃| 蜜桃av一区二区| 91亚洲资源网| 久久众筹精品私拍模特| 一区二区三区中文字幕| 国产在线视频一区二区| 欧洲视频一区二区| 久久久久99精品国产片| 亚洲成人av在线电影| 免费高清视频精品| 色综合久久久网| 精品国产一区a| 亚洲aⅴ怡春院| www.激情成人| 精品久久久久一区二区国产| 一区二区三区精品视频| 成人精品一区二区三区中文字幕| 在线91免费看| 亚洲精品视频一区| 成人毛片在线观看| 欧美日韩一区二区三区在线看| 美腿丝袜亚洲综合| 欧美主播一区二区三区美女| 久久亚洲综合色一区二区三区 | 91女厕偷拍女厕偷拍高清| 欧美激情在线免费观看| 亚洲午夜精品17c| 成人午夜视频网站| 在线观看视频一区二区欧美日韩| 国产亚洲欧美日韩俺去了| 无吗不卡中文字幕| 在线欧美一区二区| 亚洲欧美综合色| 成人激情视频网站| 国产婷婷色一区二区三区四区| 日韩av一区二区三区| 欧美日韩国产小视频在线观看| 一区二区三区视频在线看| 99国产精品久久久久| 国产精品热久久久久夜色精品三区| 九色porny丨国产精品| 日韩视频一区二区三区在线播放| 首页国产欧美日韩丝袜| 欧美日韩午夜在线| 亚洲成人激情社区| 欧美日韩精品一区二区| 午夜一区二区三区在线观看| 欧日韩精品视频| 亚洲制服欧美中文字幕中文字幕| 高清不卡一区二区| 久久久久久99精品| 国产成人福利片| 国产精品二三区| 91久久香蕉国产日韩欧美9色| 一区二区激情小说| 欧美日韩国产乱码电影| 亚洲欧美区自拍先锋| 成人午夜电影网站| 久久久精品免费观看| 成人小视频免费在线观看| 国产精品久久毛片av大全日韩| 972aa.com艺术欧美| 一区二区三区四区亚洲| 精品污污网站免费看| 美女精品一区二区| 国产欧美日本一区视频| 97精品国产露脸对白| 五月婷婷久久丁香| 精品国产髙清在线看国产毛片 | 亚洲男人天堂av| 欧美日韩午夜在线视频| 日本成人中文字幕| 中国色在线观看另类| 欧美亚洲免费在线一区| 免费精品99久久国产综合精品| 久久亚洲一级片| 99久久精品国产一区二区三区| 首页国产欧美日韩丝袜| 久久先锋资源网| 在线亚洲欧美专区二区| 久久精品国产77777蜜臀| 中文字幕一区二区在线观看 | 日韩中文字幕1| 久久久久久久久久电影| 色噜噜狠狠色综合中国| 精品一区二区三区不卡| 亚洲老妇xxxxxx| 精品国产乱码久久久久久闺蜜| 色狠狠一区二区三区香蕉| 国产一区在线看| 一个色综合网站| 久久久九九九九| 欧美日韩成人一区| 成人激情小说乱人伦| 蜜臀av性久久久久av蜜臀妖精| 中文字幕在线观看不卡视频| 日韩三级免费观看| 91国模大尺度私拍在线视频| 韩国精品久久久| 天天av天天翘天天综合网色鬼国产 | 色综合久久久久| 国产精品亚洲午夜一区二区三区| 亚洲国产另类精品专区| 国产精品久久久久一区二区三区共 | 国产精品99精品久久免费| 五月天久久比比资源色| 亚洲免费在线观看视频| 久久久精品国产99久久精品芒果| 在线播放国产精品二区一二区四区 | 欧美久久一二区| 麻豆成人综合网| 久久精品国产一区二区三区免费看 | 国产成人免费9x9x人网站视频| 国产91丝袜在线播放0| 成人av在线网站| 色拍拍在线精品视频8848| 欧美日韩国产一级| 26uuu精品一区二区在线观看| 国产亚洲一区二区三区| 国产精品女上位| 亚洲成在人线免费| 精品在线免费视频| 91在线观看一区二区| 欧美乱妇23p| 久久久午夜精品| 亚洲久本草在线中文字幕| 三级不卡在线观看| 国产精品亚洲成人| 欧美视频在线一区| 久久精品视频在线看| 亚洲欧美激情在线| 久久se精品一区精品二区| av综合在线播放| 欧美一三区三区四区免费在线看|