星聚合登录系统是一套采用thinkphp+mysql开发的企业级聚合登录认证平台,提供安全、稳定、高效的身份验证服务。助力企业快速构建统一身份认证体系。今天小编带着大家一起开发1.0.0版本的短信宝插件接口。我们使用的短信接口是我们短信宝短信群发平台的短信接口,我们短信宝短信群发平台非常稳定,发送速度快,注册就送测试短信,推荐大家使用。
首先执行以下sql语句增加短信配置信息
|
1
2
3
4
5
6
|
# 注意表明是否有前缀ALTER TABLE settingsADD `sms_smsbao_username` varchar(100) DEFAULT '' COMMENT '短信宝账号',ADD `sms_smsbao_apikey` varchar(100) DEFAULT '' COMMENT '短信宝APIKEY',ADD `sms_smsbao_sign_name` varchar(50) DEFAULT '' COMMENT '短信签名',ADD `sms_smsbao_template_content` varchar(255) DEFAULT '' COMMENT '模板内容'; |
接着打开项目views\admin\settings\notify.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
|
<!-- 短信宝配置 --><div id="smsbaoConfig" style="margin-top: 1rem; <?= ($settings['sms_provider'] ?? '') !== 'smsbao' ? 'display: none;' : '' ?>"> <div style="background-color: var(--bg-surface-hover); padding: 1.5rem; border-radius: var(--radius-md);"> <p style="font-size: 0.875rem; color: var(--color-primary); margin-bottom: 1rem; font-weight: 500;">短信宝短信配置 </p> <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;"> <div class="form-group"> <label class="form-label">短信宝账号</label> <input type="text" name="settings[sms_smsbao_username]" value="<?= e($settings['sms_smsbao_username'] ?? '') ?>" class="form-control"> </div> <div class="form-group"> <label class="form-label">ApiKey</label> <input type="password" name="settings[sms_smsbao_apikey]" value="<?= e($settings['sms_smsbao_apikey'] ?? '') ?>" class="form-control"> </div> <div class="form-group"> <label class="form-label">短信签名</label> <input type="text" name="settings[sms_smsbao_sign_name]" value="<?= e($settings['sms_smsbao_sign_name'] ?? '') ?>" class="form-control"> </div> <div class="form-group" style="grid-column: 1 / -1;"> <label class="form-label">模板内容</label> <input type="text" name="settings[sms_smsbao_template_content]" value="<?= e($settings['sms_smsbao_template_content'] ?? '') ?>" class="form-control"> <p style="font-size: 0.75rem; color: var(--color-primary); margin-top: 0.5rem; padding: 0.5rem; background: rgba(var(--color-primary-rgb), 0.1); border-radius: var(--radius-sm);"> 模板:您的验证码为{code},有效期5分钟,请勿泄露给他人。</p> </div> </div> </div></div> |
接着打开项目app\Controllers\AuthController.php,在439行左右添加以下代码
|
1
2
3
4
5
6
7
8
|
if ($provider === 'smsbao') { $smsConfig = [ 'smsbao_username' => $config['sms_smsbao_username'] ?? '', 'smsbao_apikey' => $config['sms_smsbao_apikey'] ?? '', 'sign_name' => $config['sms_smsbao_sign_name'] ?? '', 'template_content' => $config['sms_smsbao_template_content'] ?? '', ];} |
接着打开项目app\Controllers\AdminController.php,在487行左右添加以下代码
|
1
2
3
4
5
6
7
8
|
if ($provider === 'smsbao') { $smsConfig = [ 'smsbao_username' => $config['sms_smsbao_username'] ?? '', 'smsbao_apikey' => $config['sms_smsbao_apikey'] ?? '', 'sign_name' => $config['sms_smsbao_sign_name'] ?? '', 'template_content' => $config['sms_smsbao_template_content'] ?? '', ];} |
最后打开项目core\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
46
47
|
/** * 短信宝短信 */ private function sendSmsbao($phone, $code, $type) { $username = $this->config['smsbao_username'] ?? ''; $apikey = $this->config['smsbao_apikey'] ?? ''; $signName = $this->config['sign_name'] ?? ''; $templateContent = $this->config['template_content'] ?? ''; $neir = str_replace('{code}',$code,$templateContent); if (empty($username) || empty($apikey)) { return ['success' => false, 'message' => '短信宝短信配置不完整']; } $statusStr = array( "0" => "短信发送成功", "-1" => "参数不全", "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!", "30" => "密码错误", "40" => "账号不存在", "41" => "余额不足", "42" => "帐户已过期", "43" => "IP地址限制", "50" => "内容含有敏感词", "51" => "手机号码不正确" ); $url = 'http://api.smsbao.com/sms?u=' . $username . '&p=' . $apikey . '&m=' . $phone . '&c=' . urlencode('【'. $signName .'】'. $neir); $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 30, ]); $response = curl_exec($ch); curl_close($ch); $result = json_decode($response, true); if ($result == '30') { return ['success' => true, 'message' => '发送成功']; } return ['success' => false, 'message' => $statusStr[$result] ?? '发送失败']; } |
好了经过以上的添加,短信宝的短信平台已经替换成功了,可以正常使用了

报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,即便遇到敏感文字我们都不会人工审核,短信内容3~5秒就可送达。
另外:我们已经开发好完整的星聚合登录系统短信宝插件,点击此链接 下载及查看安装流程。
最新更新
电商类
CMS类
微信类