待发短信

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

4001-021-502

工作时间

9:00-21:00

Jshop_V2.11.0新增短信宝短信接口

Jshop小程序商城,是一款开源的电商系统,包含微信小程序、支付宝小程序、APP、公众号和H5端,为大中小企业提供移动电子商务优秀的解决方案。小编对他还是比较了解的,今天小编就以新增短信接口为例,给大家讲解一下如何进行二次开发,我们今天讲解的是v2.11.0版本,使用的短信接口是我们短信宝短信群发平台的短信接口,我们短信宝短信群发平台的接口非常稳定,发送速度快,注册就送测试短信,推荐大家使用
插件的目录结构如下:
├─smsbao插件目录
│  ├─config.php
│  ├─Addon.php
│  ├─Smsbao.php
下面具体给大家说一下每个文件的作用及代码
首先是config.php文件,配置表单字段属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
return [
    'config' => [
        [
            'prop' => 'sms_account',
            'label' => '短信宝账号',
            'type' => 'text',
            'required' => true,
            'default' => '',
            'rules' => [],
        ],
        [
            'prop' => 'sms_password',
            'label' => '短信宝APIKEY',
            'type' => 'text',
            'required' => true,
            'default' => '',
            'rules' => [],
        ],
    ],
];

接着是对接插件配置Addon.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 addons\smsbao;   // 注意命名空间规范
 
use app\common\Addons;
 
/**
 * 短信宝对接插件
 */
class Addon extends Addons
{
    public $code "smsbao";               //插件标识  必须与文件夹名完全一样
    public $name "短信宝短信插件";               //插件名称
    public $description "通过此插件,对接短信宝短信";        //插件描述
    public $author "Smsbao";             //作者
    public $version "V1.0.0";            //版本
    public $relyon = [                  //依赖,安装此插件需要满足的条件,那些应用和插件必须先安装
        'app' => [],
        'addons' => []
    ];
 
 
 
    /**
     * 插件安装方法
     * @return bool
     */
    public function install()
    {        
        return recode(10000);
    }
 
    /**
     * 插件卸载方法
     * @return bool
     */
    public function uninstall()
    {
        return recode(10000);
    }
 
    /**
     * 应用初始化
     */
    public function init()
    {
        return recode(10000);
    }
 
}

接着是核心发送类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
<?php
namespace addons\smsbao;
 
use app\common\lib\Curl;
use app\base\model\Setting as ModelSetting;
use app\base\model\ShopLog;
 
class Smsbao
{
    private $config = [];
    protected $smsapi "http://api.smsbao.com/sms?";
    protected $statusStr array(
        "0" => "短信发送成功",
        "-1" => "参数不全",
        "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
        "30" => "密码错误",
        "40" => "账号不存在",
        "41" => "余额不足",
        "42" => "帐户已过期",
        "43" => "IP地址限制",
        "50" => "内容含有敏感词"
        );
 
    function __construct()
    {
        $this->config = [
            'username' => config('addons.smsbao.sms_account'''),
            'apikey' => config('addons.smsbao.sms_password'''),
        ];
    }
 
    public function send($data)
    {
        $content $data['content'];
        $position = mb_strpos($content'【');
        $content = mb_substr($content, 0, $position"UTF-8");
        $prefix = ModelSetting::toGet('base.sms_prefix''');
        if($prefix == ""){
            $prefix = ModelSetting::toGet("base.shop_name");
        }
        $content '【' $prefix '】'.$content;
        $content = urlencode($content);
        $str     $this->smsapi. "&u=" $this->config['username'] . "&p=" $this->config['apikey'] . "&mobile=" $data['mobile'] . "&content=" $content;
        $re      = Curl::get($str);
        if ($re == '0') {
            return recode(10000);
        }else{
             //如果发送短信失败,记录到系统日志,然后返回统一错误
            ShopLog::toAdd(
                "短信发送失败"
                3, 
                $this->statusStr[$re], 
                json_encode($data)
            );
            return recode(11251);
        }
         
    }
 
}

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

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

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

开源插件

最新更新

电商类

CMS类

微信类

文章标签