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
|
<?phpreturn [ '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
|
<?phpnamespace 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
|
<?phpnamespace addons\smsbao;use app\common\lib\Curl;use app\base\model\Setting as ModelSetting;use app\base\model\ShopLog;class Smsbao{ private $config = []; 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类
微信类