待发短信

在线客服
产品支持 短信宝客服
合作渠道 渠道合作
服务咨询

4001-021-502

工作时间

9:00-21:00

IdeaCMSv1.8商城系统新增短信宝短信接口

IdeaCMS商城系统(好铺商城)基于Thinkphp8+Uniapp+Layui2.9+Vue打造的全开源的高性能企业级商城系统,可用于PC商城、H5商城、公众号商城、小程序、App商城的制作。系统采用标准系统+插件模式开发,用户可非常方便的定制化个性模块。小编带着大家一起开发IdeaCMSv1.8的短信宝插件接口。我们使用的短信接口是我们短信宝短信群发平台的短信接口,我们短信宝短信群发平台非常稳定,发送速度快,注册就送测试短信,推荐大家使用。
首先打开项目中/app/admin/view/config_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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>短信设置</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="{__STATIC__}/layuiAdmin/layui/css/layui.css" rel="stylesheet">
    <link href="{__STATIC__}/layuiAdmin/adminui/dist/css/admin.css" rel="stylesheet">
    <link href="{__STATIC__}/layuiAdmin/style/style.css" rel="stylesheet">
    <style>
        .span_note,.span_note a {
            color: #999;
        }
        .span_note a:hover {
            text-decoration: underline;
        }
    </style>
</head>
<body>
<div class="layui-fluid">
    <form class="layui-form" style="padding-bottom: 45px;">
        <div class="layui-card">
            <div class="layui-card-body">
                <div class="layui-tab layui-tab-brief">
                    <ul class="layui-tab-title">
                        <li class="layui-this">短信设置</li>
                    </ul>
                    <div class="layui-tab-content">
                        <div class="layui-tab-item layui-show">
                            <div class="layui-form-item">
                                <label class="layui-form-label">短信接口:</label>
                                <div class="layui-input-inline w120">
                                    <select name="m_type">
                                        <option value="0" {eq name="$sms.type" value="0"}selected{/eq}>短信宝</option>
                                    </select>
                                </div>
                                <div class="layui-form-mid layui-word-aux span_note"><a href="https://console.smsbao.com/#/register" target="_blank">申请地址</a></div>
                            </div>
                            <div class="layui-form-item">
                                <label class="layui-form-label"><span>*</span> 短信宝账号:</label>
                                <div class="layui-input-inline">
                                    <input type="text" name="m_app_code" lay-verify="required" placeholder="请输入短信宝账号" value="{$sms.appCode}" class="layui-input">
                                </div>
                            </div>
                            <div class="layui-form-item">
                                <label class="layui-form-label"><span>*</span> apiKey:</label>
                                <div class="layui-input-inline">
                                    <input type="text" name="m_app_secret" lay-verify="required" placeholder="请输入短信宝apiKey" value="{$sms.appSecret}" class="layui-input">
                                </div>
                            </div>
                            <div class="layui-form-item">
                                <label class="layui-form-label"><span>*</span> 短信签名:</label>
                                <div class="layui-input-inline">
                                    <input type="text" name="m_sign_id" lay-verify="required" placeholder="请输入签名" value="{$sms.signId}" class="layui-input">
                                </div>
                            </div>
                            <div class="layui-form-item">
                                <label class="layui-form-label"><span>*</span> 验证码模板:</label>
                                <div class="layui-input-inline">
                                    <input type="text" name="m_code_template_id" lay-verify="required" placeholder="请输入模板内容" value="{$sms.codeTemplateId}" class="layui-input">
                                </div>
                                <div class="layui-form-mid layui-word-aux span_note">模板示例-您的验证码:{code},15分钟内有效,请勿将验证码泄露给他人,如非本人操作请忽略</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="m_footer">
            <button class="layui-btn layui-btn-normal" lay-submit lay-filter="LAY-submit">提交</button>
            <button type="reset" class="layui-btn layui-btn-primary">重置</button>
        </div>
    </form>
</div>
<script src="{__STATIC__}/layuiAdmin/layui/layui.js"></script>
<script>
    layui.config({
        base: '{__STATIC__}/layuiAdmin/' // 静态资源所在路径
    }).use(['index','form'], function(){
        let $ = layui.$;
        let layer = layui.layer;
        let form = layui.form;
 
        /* 监听提交 */
        form.on('submit(LAY-submit)', function(data){
            let field = data.field; //获取提交的字段
            $.ajax({
                type:"post",
                url:"saveSms.html",
                data: {
                    m_type:field.m_type,
                    m_app_code:field.m_app_code,
                    m_app_secret:field.m_app_secret,
                    m_sign_id:field.m_sign_id,
                    m_code_template_id:field.m_code_template_id
                },
                dataType:"json",
                beforeSend: function () {
                    layer.load(1);
                },
                success:function(res){
                    layer.closeAll(); //关闭弹层
                    if(res.code == 0){
                        layer.msg('修改成功', {
                            time: 2000
                        }, function(){
                            location.reload();
                        });
                    }
                    else {
                        layer.msg(res.msg);
                    }
                }
            });
            return false;
        });
    });
</script>
</body>
</html>

接着打开项目中/app/common/service/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
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
<?php
namespace app\common\service;
 
class Sms
{
    /**
     * 发送短信
     * @param string $tel
     * @param string $tpl
     * @param array $param
     * @return mixed|void
     */
    public function sendSms(string $tel '', string $tpl ''array $param = [])
    {
        $type = config('sms.type');
        $appId = config('sms.appCode');
        $appSecret = config('sms.appSecret');
        $signId = config('sms.signId');
        $time = time();
        // $randStr = makeRandStr();
 
        switch ($type)
        {
            //短信宝
            case 0 :
                $statusStr array(
                            "0" => "短信发送成功",
                            "-1" => "参数不全",
                            "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
                            "30" => "密码错误",
                            "40" => "账号不存在",
                            "41" => "余额不足",
                            "42" => "帐户已过期",
                            "43" => "IP地址限制",
                            "50" => "内容含有敏感词",
                            "51" => "手机号码不正确"
                        );
                $content str_replace('{code}'$param[0], $tpl);
                $result  = curlPost("http://api.smsbao.com/sms?u=".$appId."&p=".$appSecret."&m=".$tel."&c=".urlencode($content));
                $res = [
                    'result'=> $result,
                    'errmsg'=> $statusStr[$result]
                ];
                return $res;
                break;
        }
    }
 
}

好了经过以上的添加,短信宝的短信平台已经替换成功了,可以正常使用了

报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,即便遇到敏感文字我们都不会人工审核,短信内容3~5秒就可送达。

另外:我们已经开发好完整的IdeaCMS商城系统短信宝插件,点击此链接 下载及查看安装流程。

开源插件

最新更新

电商类

CMS类

微信类

文章标签