待发短信

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

4001-021-502

工作时间

9:00-18:00

Edusoho_V8.3.43新增短信宝短信接口

Edusoho网校系统是一套为企业、个人和教育机构提供包括平台、运营、内容和营销在内的在线教育整体解决方案。完全的开源免费,开放API可定制性强。在网校教育中具有一定知名度,小编对他还是比较了解。今天就以替换短信接口为例告诉大家如何进行二次开发,使用的短信接口是我们短信宝短信群发平台的接口,我们短信宝短信群发平台非常稳定,发送速度快,注册就送测试短信,推荐大家使用。

首先我们打开项目:\app\Resources\views\admin\system\auth.html.twig 在195行左右增加代码

?
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
<div>
    <legend>短信宝配置</legend>
    <div class="form-group">
      <div class="col-md-3 control-label">
        <label for="user_sms">短信宝账号</label>
      </div>
      <div class="controls col-md-8">
        <input type="text" id="user_sms" name="user_sms" class="form-control" value="{{auth.user_sms}}">
        <a style="color: red" target="_blank" href="https://www.smsbao.com/reg">还没有账号?立即注册</a>
      </div>
    </div>
 
 
    <div class="form-group">
    <div class="col-md-3 control-label">
        <label for="user_sms">短信宝密码</label>
      </div>
      <div class="controls col-md-8">
        <input type="password" id="pwd_sms" name="pwd_sms" class="form-control" value="{{auth.pwd_sms}}">
      </div>
    </div>
    <div class="form-group">
    <div class="col-md-3 control-label">
        <label for="user_sms">短信宝签名</label>
      </div>
      <div class="controls col-md-8">
        <input type="text" id="sing_sms" name="sing_sms" class="form-control" value="{{auth.sing_sms}}">
      </div>
    </div>
  </div>
  </fieldset>

打开项目:\src\AppBundle\Controller\Admin\UserSettingController.php 新增短信宝配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$default = array(
            'register_mode' => 'closed',
            'email_enabled' => 'closed',
            'setting_time' => -1,
            'email_activation_title' => '',
            'email_activation_body' => '',
            'welcome_enabled' => 'closed',
            'welcome_sender' => '',
            'welcome_methods' => array(),
            'welcome_title' => '',
            'welcome_body' => '',
            'user_terms' => 'closed',
            'user_terms_body' => '',
            'privacy_policy' => 'closed',
            'privacy_policy_body' => '',
            'captcha_enabled' => 0,
            'register_protective' => 'none',
            'nickname_enabled' => 0,
            'avatar_alert' => 'none',
            'user_sms'=>'填写短信宝账号',
            'pwd_sms'=>'填写短信宝密码',
            'sing_sms'=>'填写短信宝签名',
        );

打开项目:\src\AppBundle\Controller\EduCloudController.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
61
62
63
64
65
66
67
68
69
 private function sendSms(Request $request, $smsType)
    {
        $currentUser = $this->getCurrentUser();
        $currentTime = time();
        $to = $request->get('to');
        $errorMsg = $this->checkErrorMsg($currentUser, $currentTime, $smsType, $request);
 
 
 
 
        if (!empty($errorMsg)) {
            return array('error' => $errorMsg);
        }
 
 
        $description = $this->generateDescription($smsType);
 
 
        $smsCode = $this->generateSmsCode();
        $statusStr = array(
            "0" => "短信发送成功",
            "-1" => "参数不全",
            "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
            "30" => "密码错误",
            "40" => "账号不存在",
            "41" => "余额不足",
            "42" => "帐户已过期",
            "43" => "IP地址限制",
            "50" => "内容含有敏感词"
        );
        $smsapi = "http://api.smsbao.com/";
        $user = $this->setting('auth.user_sms'); //短信平台帐号
        $pass = md5($this->setting('auth.pwd_sms')); //短信平台密码
        $sing = $this->setting('auth.sing_sms');
        $content="【".$sing."】".$description.'验证码为'.$smsCode;//要发送的短信内容
        $phone = $to;//要发送短信的手机号码
        $sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);
        $ret =file_get_contents($sendurl);
        $message = $statusStr[$ret];
        if ($ret != 0 ) {
            return array('error' => sprintf('发送失败, %s', $message));
        }
        $result = [];
        $result['to'] = $to;
        $result['smsCode'] = $smsCode;
        $result['userId'] = $currentUser['id'];
        if (0 != $currentUser['id']) {
            $result['nickname'] = $currentUser['nickname'];
        }
        $this->getLogService()->info('sms', $smsType, sprintf('userId:%s,对%s发送用于%s的验证短信%s', $currentUser['id'], $to, $smsType, $smsCode), $result);
 
 
        $request->getSession()->set($smsType, array(
            'to' => $to,
            'sms_code' => $smsCode,
            'sms_last_time' => $currentTime,
        ));
 
 
        if ($currentUser->isLogin()) {
            $key = $currentUser['email'];
        else {
            $key = $to.$request->getClientIp();
        }
 
 
        $maxAllowance = $this->getRateLimiter($smsType, 6, 3600)->getAllow($key);
        return array('ACK' => 'ok''allowance' => ($maxAllowance > 3) ? 0 : $maxAllowance);
    }

好了经过以上的添加,短信宝Edusoho_v8.34.3系统增加手机验证就已经安装成功,可以正常使用了

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

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

 
开源插件
文章标签