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


待發短信

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

4001-021-502

工作時間

9:00-21:00

SparkShopV1.1.8系統新增短信寶短信接口

SparkShop(星火商城)是基于thinkphp6 + elementui的開源免費可商用的高性能商城系統;包含小程序商城、H5商城、公眾號商城、PC商城、App,支持頁面diy、秒殺、優惠券、積分、分銷、會員等級。營銷功能采用插件化的方式方便擴展、二次開發沒系統大小任意控制。小編帶著大家一起開發SparkShopV1.1.8的短信寶插件接口。我們使用的短信接口是我們短信寶短信群發平臺的短信接口,我們短信寶短信群發平臺非常穩定,發送速度快,注冊就送測試短信,推薦大家使用。
1.首先打開項目\app\admin\view\default\system 目錄,替換sms.html代碼:

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
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>短信配置</title>
    <link rel="stylesheet" href="{__CSS__}/element_ui.css"/>
    <link rel="stylesheet" href="{__CSS__}/style.css"/>
    <script src="{__JS__}/vue2.js"></script>
    <script src="{__JS__}/element_ui.js"></script>
    <script src="{__JS__}/axios.min.js"></script>
    <script src="{__JS__}/request.js"></script>
</head>
<body>
<div id="app">
    <div class="app-loading" v-if="pageLoading">
        <div class="app-loading__logo">
            <img src="{__IMG__}/logo.png"/>
        </div>
        <div class="app-loading__loader"></div>
        <div class="app-loading__title">{$title}</div>
    </div>
    <el-card class="box-card" v-else>
        <div slot="header" class="clearfix">
            <span>短信配置</span>
        </div>
        <el-tabs v-model="activeName">
            <el-tab-pane label="短信配置" name="first">
                <el-form ref="form" :model="form" label-width="120px">
                    <el-form-item label="短信寶賬號">
                        <el-input v-model="form.access_key_id" style="width: 500px"></el-input>
                    </el-form-item>
                    <el-form-item label="短信API Key">
                        <el-input v-model="form.access_key_secret" style="width: 500px"></el-input>
                    </el-form-item>
                    <el-form-item label="短信簽名">
                        <el-input v-model="form.sign_name" style="width: 500px"></el-input>
                    </el-form-item>
                    <el-form-item>
                        <el-button type="primary" @click="save">立即保存</el-button>
                    </el-form-item>
                </el-form>
                <div style="margin-top: 30px;font-size: 13px">* 還沒注冊 "短信寶"?
            </el-tab-pane>
            <el-tab-pane label="模板設置" name="second">
                <el-form ref="form" :model="form" label-width="150px">
                    <el-form-item label="通用模板">
                        <el-input v-model="form.com_sms_code" style="width: 500px"></el-input>
                        <span>示例:您的驗證碼為: {code},如非本人操作,請忽略本短信</span>
                    </el-form-item>
                    <el-form-item label="用戶登錄模板">
                        <el-input v-model="form.login_sms_code" style="width: 500px"></el-input>
                    </el-form-item>
                    <el-form-item label="用戶注冊模板">
                        <el-input v-model="form.reg_sms_code" style="width: 500px"></el-input>
                    </el-form-item>
                    <el-form-item label="密碼找回模板">
                        <el-input v-model="form.forget_sms_code" style="width: 500px"></el-input>
                    </el-form-item>
                    <el-form-item label="手機號碼綁定模板">
                        <el-input v-model="form.bind_sms_code" style="width: 500px"></el-input>
                    </el-form-item>
                    <el-form-item>
                        <el-button type="primary" @click="save">立即保存</el-button>
                    </el-form-item>
                </el-form>
            </el-tab-pane>
        </el-tabs>
    </el-card>
</div>
 
<script>
 
    new Vue({
        el: '#app',
        data: function () {
            return {
                pageLoading: true,
                form: {},
                baseIndex: '/{:config("shop.backend_index")}/',
                activeName: 'first'
            }
        },
        mounted() {
            this.pageLoading = false
            this.getBaseInfo()
        },
        methods: {
            async getBaseInfo() {
                let res = await request.get(this.baseIndex + 'system/sms')
                this.form = res.data
            },
            async save() {
                let res = await request.post(this.baseIndex + 'system/sms', this.form)
                if (res.code == 0) {
                    this.$message.success('保存成功')
                } else {
                    this.$message.error(res.msg)
                }
            }
        }
    })
</script>
<style>
    a {text-decoration:none;}
</style>
</body>
</html>

2.接著打開項目\sparkshop\extend\utils\SparkTools.php 文件,替換68行代碼:

1
$smsProvider = new SmsProvider('smsbao');

3.接著打開項目\sparkshop\extend\strategy\sms\impl目錄,新增SmsbaoSmsImpl.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
<?php
namespace strategy\sms\impl;
 
use Darabonba\OpenApi\Models\Config;
use strategy\sms\SmsInterface;
use think\facade\Log;
 
class SmsbaoSmsImpl implements SmsInterface
{
    private $sendUrl = ';
 
    private $statusStr = array(
                "0" => "短信發送成功",
                "-1" => "參數不全",
                "-2" => "服務器空間不支持,請確認支持curl或者fsocket,聯系您的空間商解決或者更換空間!",
                "30" => "密碼錯誤",
                "40" => "賬號不存在",
                "41" => "余額不足",
                "42" => "帳戶已過期",
                "43" => "IP地址限制",
                "50" => "內容含有敏感詞",
                "51" => "手機號碼不正確"
            );
 
     private function curl_get($sendurl){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $sendurl);
        curl_setopt($ch, CURLOPT_TIMEOUT, 1);
        curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
 
    public function send($param)
    {
        try {
            $user = $param["accessKeyId"];
            $apikey = $param["accessKeySecret"];
            $codeStr = $param["code"];
            $codeData = json_decode($codeStr,true);
            $TemplateContent = str_replace('{code}', $codeData['code'], $param["templateCode"]);
            $content = '【'.$param["signName"].'】'.$TemplateContent;
            $sendurl = $this->sendUrl."u=".$user."&p=".$apikey."&m=".$param["phone"]."&c=".urlencode($content);
            $result = $this->curl_get($sendurl);
            if ($result == 0) {
                return dataReturn(0, '發送成功');
            }else{
                 return dataReturn(-1, '發送失敗:'.$this->statusStr[$result]);
            }
        catch (\Exception $error) {
            Log::error("短信失?。? . $error->getMessage());
            return dataReturn(-1, '發送失敗');
        }
 
        return dataReturn(0, '發送成功');
    }
}

4.接著打開項目\extend\strategy\sms\SmsProvider.php 文件,引入SmsbaoSmsImpl類并在25行左右增加以下代碼:

1
2
3
 if ($type == 'smsbao') {
            $this->strategy = new SmsbaoSmsImpl();
        }

好了經過以上的添加,短信寶的短信平臺已經替換成功了,可以正常使用了

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

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

開源插件

最新更新

電商類

CMS類

微信類

文章標簽