Tinshop是一套企业级的商城系统,产品灵活,易于进行二次开发。今天小编就以新增短信接口为例,给大家讲解一下如何进行二次开发,使用的短信接口是我们短信宝短信群发平台的短信接口,我们短信宝短信群发平台的接口非常稳定,发送速度快,注册就送测试短信,推荐大家使用。
首先打开项目:\protected\classes\Menu.php文件,增加一下代码
1
2
|
'/admin/config_sms' => array ( 'name' => '短信配置' , 'parent' => 'config' ), |
然后打开项目:\protected\classes\文件夹,新增一个文件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
|
<?php class Sms { private $option = array (); public function __construct() { $this ->init(); } public function init() { $config = Config::getInstance(); $sms = $config ->get( 'sms' ); $this ->option = $sms ; } public function send_sms( $phone , $body , $senderInfo = '' ){ $statusStr = array ( "0" => "短信发送成功" , "-1" => "参数不全" , "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!" , "30" => "密码错误" , "40" => "账号不存在" , "41" => "余额不足" , "42" => "帐户已过期" , "43" => "IP地址限制" , "50" => "内容含有敏感词" ); $user = $this ->option[ 'email_host' ]; $pass = $this ->option[ 'email_ssl' ]; $sing = $this ->option[ 'email_port' ]; $user = $user ; //短信平台帐号 $pass = md5( $pass ); //短信平台密码 $content = '【' . $sing . '】' . $body ; //要发送的短信内容 $phone = $phone ; //要发送短信的手机号码 $sendurl = $smsapi . "sms?u=" . $user . "&p=" . $pass . "&m=" . $phone . "&c=" .urlencode( $content ); $result = file_get_contents ( $sendurl ) ; echo $result ; } } |
打开项目:\protected\controllers\ucenter.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
|
public function send_objcode() { $account = Req::args( 'account' ); $activateObj = Session::get( 'activateObj' ); $sendAble = true; $haveTime = 120; if (isset( $activateObj [ 'time' ]) ){ $time = $activateObj [ 'time' ]; $haveTime = time() - $time ; if ( $haveTime <= 120){ $sendAble = false; } } if ( $sendAble ){ $code = CHash::random(6, 'int' ); if (Validator::email( $account )){ $mail = new Mail(); $flag = $mail ->send_email( $account , '您的邮箱身份核实验证码' , "核实邮箱验证码:" . $code ); if (! $flag ){ $info = array ( 'status' => 'fail' , 'msg' => '邮件发送失败请联系管理人员' ); } else { $activateObj = array ( 'time' =>time(), 'code' => $code , 'obj' => $account ); Session::set( 'activateObj' , $activateObj ); $info = array ( 'status' => 'success' ); } } else if (Validator::mobi( $account )){ $sms = new Sms(); $flag = $sms ->send_sms( $account , "您的手机核实手机验证码:" . $code ); if ( $flag == 0){ $activateObj = array ( 'time' => time(), 'code' => $code , 'obj' => $account ); Session::set( 'activateObj' , $activateObj ); $info = array ( 'status' => 'success' , 'msg' => '短信发送成功' ); } else { $info = array ( 'status' => 'fail' , 'msg' => '手机发送失败请联系管理人员' ); } // $sms = SMS::getInstance(); // if($sms->getStatus()){ // $result = $sms->sendCode($account,$code); // if($result['status']=='success'){ // $info = array('status'=>'success','msg'=>$result['message']); // $activateObj = array('time'=>time(),'code'=>$code,'obj'=>$account); // Session::set('activateObj',$activateObj); // $info = array('status'=>'success'); // }else{ // $info = array('status'=>'fail','msg'=>$result['message']); // } // }else{ // $info = array('status'=>'fail','msg'=>'系统没有开启手机验证功能!'); // } } else { $info = array ( 'status' => 'fail' , 'msg' => '除邮箱及手机号外,不支持发送!' ); } } else { $info = array ( 'status' => 'fail' , 'msg' => '还有' .(120 - $haveTime ). '秒后可发送!' ); } $info [ 'haveTime' ] = (120 - $haveTime ); echo JSON::encode( $info ); } |
打开项目:\protected\services\config.php,增加一下代码
1
2
3
4
5
6
7
8
9
10
11
12
|
public function sms() { $sms = array ( 'email_sendtype' =>Req::args( 'sms_sendtype' ), 'sms_account' =>Req::args( 'sms_account' ), 'sms_password' =>Req::args( 'sms_password' ), 'sms_sing' =>Req::args( 'sms_sing' ), ); $this ->config->set( 'sms' , $sms ); return true; } |
经过上面的替换,短信宝的短信平台已经替换成功了,可以正常使用了。
报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,即便遇到敏感文字我们都不会人工审核,短信内容3~5秒就可送达。
另外:我们已经开发好完整的ThinyShop系统短信宝插件,点击此链接 下载及查看安装流程。
最新更新
电商类
CMS类
微信类