Jshop小程序商城,是一款開源的電商系統(tǒng),包含微信小程序、支付寶小程序、APP、公眾號和H5端,為大中小企業(yè)提供移動電子商務(wù)優(yōu)秀的解決方案。小編對他還是比較了解的,今天小編就以新增短信接口為例,給大家講解一下如何進(jìn)行二次開發(fā),我們今天講解的是v2.11.0版本,使用的短信接口是我們短信寶短信群發(fā)平臺的短信接口,我們短信寶短信群發(fā)平臺的接口非常穩(wěn)定,發(fā)送速度快,注冊就送測試短信,推薦大家使用
插件的目錄結(jié)構(gòu)如下:
├─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; // 注意命名空間規(guī)范use app\common\Addons;/** * 短信寶對接插件 */class Addon extends Addons{ public $code = "smsbao"; //插件標(biāo)識 必須與文件夾名完全一樣 public $name = "短信寶短信插件"; //插件名稱 public $description = "通過此插件,對接短信寶短信"; //插件描述 public $author = "Smsbao"; //作者 public $version = "V1.0.0"; //版本 public $relyon = [ //依賴,安裝此插件需要滿足的條件,那些應(yīng)用和插件必須先安裝 'app' => [], 'addons' => [] ]; /** * 插件安裝方法 * @return bool */ public function install() { return recode(10000); } /** * 插件卸載方法 * @return bool */ public function uninstall() { return recode(10000); } /** * 應(yīng)用初始化 */ public function init() { return recode(10000); }} |
接著是核心發(fā)送類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" => "短信發(fā)送成功", "-1" => "參數(shù)不全", "-2" => "服務(wù)器空間不支持,請確認(rèn)支持curl或者fsocket,聯(lián)系您的空間商解決或者更換空間!", "30" => "密碼錯誤", "40" => "賬號不存在", "41" => "余額不足", "42" => "帳戶已過期", "43" => "IP地址限制", "50" => "內(nèi)容含有敏感詞" ); 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{ //如果發(fā)送短信失敗,記錄到系統(tǒng)日志,然后返回統(tǒng)一錯誤 ShopLog::toAdd( "短信發(fā)送失敗", 3, $this->statusStr[$re], json_encode($data) ); return recode(11251); } }} |
好了經(jīng)過以上的添加,短信寶的短信平臺已經(jīng)替換成功了,可以正常使用了
報備一下短信寶的VIP模板,這樣就可以走短信寶的優(yōu)質(zhì)通道了,即便遇到敏感文字我們都不會人工審核,短信內(nèi)容3~5秒就可送達(dá)。
另外:我們已經(jīng)開發(fā)好完整的Jshop_V2.11.0系統(tǒng)短信寶插件,點擊此鏈接 下載及查看安裝流程。
最新更新
電商類
CMS類
微信類