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


待發(fā)短信

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

4001-021-502

工作時間

9:00-21:00

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

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

1
2
3
4
5
6
7
INSERT INTO `eb_system_config_tab` (`id`, `pid`, `title`, `eng_title`, `status`, `info`, `icon`, `type`, `sort`) VALUES ('100''0''短信配置''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''100''', 0, '''100', 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''100''', 0, '''100', 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''100''', 0, '''100', 0, '''短信簽名''短信簽名''0''1');

1:打開項目:config\sms.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
'smsbao'=>[
     'template_id' => [
                //驗證碼
                'VERIFICATION_CODE_TIME' => '您的驗證碼是code,有效期為time分鐘。如非本人操作,可不用理會。',
                //支付成功
                'PAY_SUCCESS_CODE' => '您購買的商品已支付成功,支付金額pay_price元,訂單號order_id,感謝您的光臨!',
                //發(fā)貨提醒
                'DELIVER_GOODS_CODE' => '親愛的用戶nickname您的商品store_name,訂單號order_id已發(fā)貨,請注意查收',
                //確認(rèn)收貨提醒
                'TAKE_DELIVERY_CODE' => '親,您的訂單order_id,商品store_name已確認(rèn)收貨,感謝您的光臨!',
                //管理員下單提醒
                'ADMIN_PLACE_ORDER_CODE' => 'admin_name管理員,您有一筆已支付的訂單待處理,訂單號為order_id!',
                //管理員退貨提醒
                'ADMIN_RETURN_GOODS_CODE' => 'admin_name管理員,您有一筆支付成功的訂單待處理,訂單號order_id!',
                //管理員支付成功提醒
                'ADMIN_PAY_SUCCESS_CODE' => 'admin_name管理員,您有一筆支付成功的訂單待處理,訂單號order_id!',
                //管理員確認(rèn)收貨
                'ADMIN_TAKE_DELIVERY_CODE' => 'admin_name管理員,您有一筆訂單已經(jīng)確認(rèn)收貨,訂單號order_id!',
                //改價提醒
                'PRICE_REVISION_CODE' => '您的訂單order_id,實際支付金額已被修改為pay_price',
                //訂單未支付
                'ORDER_PAY_FALSE' => '您有未付款訂單,訂單號為:order_id,商品數(shù)量有限,請及時付款。',
             ],
        ]

2:打開項目:crmeb\services\sms\Sms.php 屏蔽掉invokeClass方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    // protected function invokeClass($class)
    // {
    //     if (!class_exists($class)) {
    //         throw new \RuntimeException('class not exists: ' . $class);
    //     }
    //     $this->getConfigFile();
 
    //     if (!$this->config) {
    //         $this->config = Config::get($this->configFile . '.stores.' . $this->name, []);
    //     }
 
    //     $handleAccessToken = new AccessTokenServeService($this->config['account'] ?? '', $this->config['secret'] ?? '');
    //     $handle = Container::getInstance()->invokeClass($class, [$this->name, $handleAccessToken, $this->configFile]);
    //     $this->config = [];
    //     return $handle;
    // }

3:打開項目: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
<?php
 
namespace crmeb\services\sms\storage;
 
use crmeb\basic\BaseSms;
use think\exception\ValidateException;
use think\facade\Config;
 
class SmsBao extends BaseSms
{
    /**
     * accessKeyId
     * @var string
     */
    protected $accessKeyId;
    /**
     * accessKeySecret
     * @var string
     */
    protected $accessKeySecret;
    /**
     * 簽名
     * @var string
     */
    protected $signName = '';
 
    protected $name = 'smsbao';
    /**
     * 狀態(tài)
     * @var bool
     */
    protected $status;
    protected $templateIds = [];
    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''');
        }
        $this->templateIds = Config::get($this->configFile . '.stores.' . $this->name . '.template_id', []);
    }
    /**
     * 提取模板code
     * @param string $templateId
     * @return null
     */
    protected function getTemplateCode(string $templateId)
    {
        return $this->templateIds[$templateId] ?? null;
    }
    /**
     * 發(fā)送短信
     * @param $phone
     * @param $templateId
     * @param $data
     * @return bool|string
     */
    public function send($phone, $templateId, array $data = [])
    {
        $statusStr = array(
            "0" => "短信發(fā)送成功",
            "-1" => "參數(shù)不全",
            "-2" => "服務(wù)器空間不支持,請確認(rèn)支持curl或者fsocket,聯(lián)系您的空間商解決或者更換空間!",
            "30" => "密碼錯誤",
            "40" => "賬號不存在",
            "41" => "余額不足",
            "42" => "帳戶已過期",
            "43" => "IP地址限制",
            "50" => "內(nèi)容含有敏感詞"
            );
 
        $smsapi = ";
        $user = $this->accessKeyId;
        $pass = md5($this->accessKeySecret);
        $tmp = $this->getTemplateCode($templateId);
        $content = str_replace(array_keys($data),array_values($data),$tmp);
        $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;
    }
}

4:打開項目:app\services\serve\ServeServices.php 修改驅(qū)動配置 大概在60行左右

1
2
3
4
5
6
7
8
9
10
    public function sms(array $config = [])
    {
        return app()->make(Sms::class, [    
            'smsbao',
        [
            'accessKeyId' => sys_config('smsbao_user'),
            'accessKeySecret' => sys_config('smsbao_pwd'),
            'signName' => sys_config('sms_sign_name'),
        ]]);
    }

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

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

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

開源插件

最新更新

電商類

CMS類

微信類

文章標(biāo)簽
精品深夜福利视频,日本中文字幕不卡,久久久久国产,av综合电影网站
国产精品久久久亚洲一区| 福利视频一区| 欧美99久久| 亚洲一本视频| 激情综合激情| 婷婷综合社区| 国产视频一区三区| 国产精品色网| 伊人久久一区| 日本成人中文字幕在线视频| 欧美一区成人| 欧美偷窥清纯综合图区| 日韩精品社区| 国产丝袜一区| 99riav国产精品| 好吊视频一区二区三区四区| 日韩美女一区二区三区在线观看| 国产成人精品三级高清久久91 | 91精品麻豆| 日本综合视频| 日韩成人精品一区二区三区 | 日韩精品欧美成人高清一区二区| 免费精品视频| 亚洲少妇诱惑| 日韩精品视频在线看| 少妇精品在线| 国产欧美另类| 久久久国产精品网站| 日本蜜桃在线观看视频| 蜜臀久久精品| 尹人成人综合网| 视频一区国产视频| 国产精品白丝久久av网站| 国产精品久久久久毛片大屁完整版| 99re国产精品| 中文字幕中文字幕精品| 视频一区欧美精品| 免费不卡在线观看| 日韩美女国产精品| 国产精品久久久久久模特| 精品国产亚洲日本| 91综合网人人| 国产一区二区三区自拍| 伊人久久亚洲影院| 在线综合视频| 欧美一区成人| 日韩成人a**站| 99久久www免费| 亚洲综合三区| 日韩高清二区| 美女久久久精品| 中文字幕人成乱码在线观看| 日韩电影免费在线观看| 日韩视频一区二区三区在线播放免费观看| 国产一级久久| 日韩高清不卡在线| 精品一区二区三区中文字幕| 日韩国产一区二区三区| 精品一区毛片| 亚洲日本久久| 久久精品国产999大香线蕉| 超碰99在线| 激情婷婷综合| 欧美偷窥清纯综合图区| 国产aⅴ精品一区二区三区久久| 亚洲精品一区三区三区在线观看| 国产亚洲高清视频| 日韩精品免费视频一区二区三区| 麻豆视频一区二区| 欧美.日韩.国产.一区.二区 | 91成人在线网站| 国产成人1区| 麻豆9191精品国产| 免费精品一区| 午夜欧美理论片| 日韩欧美在线精品| 久久精品国产99国产精品| 不卡在线一区| 爽爽淫人综合网网站| 国产精品夜夜夜| 久久国产免费| 久久国内精品自在自线400部| 日本免费久久| 日本视频在线一区| 欧美丝袜一区| 欧美自拍一区| 久久免费大视频| 欧美午夜三级| 国产日韩专区| 成人黄色av| 亚洲精品一二| 精品精品99| 亚洲欧美日韩国产一区| 日韩高清二区| 日韩精品午夜| 国产精品theporn| 日韩国产一区| 国产精品亚洲综合色区韩国| 1024精品久久久久久久久| 国产精品v亚洲精品v日韩精品| 午夜久久免费观看| 国内精品伊人| 91午夜精品| 红桃视频国产一区| 精品一区二区三区免费看| 亚洲三级视频| 免费精品国产的网站免费观看| 欧美黑人做爰爽爽爽| 久久一级电影| 免费一级欧美片在线观看网站| 热久久免费视频| 久久久久国产| 久久精品免费看| 国产美女亚洲精品7777| 蜜臀av在线播放一区二区三区 | 国产精品手机在线播放| 亚洲一区欧美二区| 成人精品高清在线视频| 日韩不卡一区二区三区| 99riav1国产精品视频| 桃色av一区二区| 奇米亚洲欧美| 日韩中文字幕91| 久久精品国产大片免费观看| 老司机精品视频网| 青青草视频一区| 免费观看在线色综合| 999久久久国产精品| 久久精品欧洲| 国产精品极品| 久久国产精品免费一区二区三区| 石原莉奈一区二区三区在线观看| 香蕉成人av| 精品国产免费人成网站| 欧美精品导航| 国产精品三p一区二区| 一本一道久久a久久| 亚洲激情五月| 欧美成人高清| 亚洲大片在线| 欧美一区二区三区激情视频| 成人在线免费观看网站| 久久99精品久久久野外观看| 欧美精品影院| 国产日产高清欧美一区二区三区| 亚洲天堂免费| 免费黄网站欧美| 精品中文字幕一区二区三区av| 91精品国产调教在线观看| 精品一区二区男人吃奶| 欧美一区=区三区| 婷婷综合成人| 四虎在线精品| 欧美日韩a区| 国产欧美另类| 免费亚洲婷婷| 国产激情在线播放| 日韩在线不卡| 今天的高清视频免费播放成人| 国产主播一区| 亚洲精品成人| 视频一区国产视频| 日本一区二区中文字幕| 青青草国产精品亚洲专区无| 欧美日韩网址| 免费在线成人| 成人在线免费观看网站| 亚洲国产欧美日本视频| 亚洲精品一区三区三区在线观看| 九色porny丨国产首页在线| 日韩精品一区二区三区免费观看| 成人免费一区| а√天堂8资源在线| 97人人精品| 91看片一区| 久久婷婷激情| 午夜在线视频观看日韩17c| 亚洲人成亚洲精品| 国产午夜精品一区在线观看| 另类综合日韩欧美亚洲| 欧美三级网址| 日韩天堂av| 日本欧美在线| 成人在线免费观看网站| 久久精品国产大片免费观看| 亚洲国产日韩欧美在线| 亚洲精品乱码久久久久久蜜桃麻豆 | 国产欧美欧美| 天堂av在线| 亚洲精品1区| 亚洲欧美在线专区| 黄色精品视频| 午夜久久福利| 欧美三级第一页| 日韩影院二区| 男人的天堂亚洲一区| 国产精品黄网站| 一区二区三区四区在线看| 色8久久久久| 国产精品精品|