CRMEB商城系统是基于ThinkPhp6.0+Vue开发的一套新零售移动电商开源系统,包含商城、拼团、砍价、秒杀、优惠券、积分、分销等功能,更适合企业二次开发。今天小编就以新增短信接口为例,给大家讲解一下如何进行二次开发,使用的短信接口是我们短信宝短信群发平台的短信接口,我们短信宝短信群发平台的接口非常稳定,发送速度快,注册就送测试短信,推荐大家使用。
1: 打开项目:\app\admin\controller\sms\SmsConfig.php 修改大概28行代码
1
2
3
4
5
6
7
8
9
10
|
public function index(){ $type = input( 'type' )!=0?input( 'type' ):0; $tab_id = input( 'tab_id' ); if (!$tab_id) $tab_id = 1; $ this ->assign( 'tab_id' ,$tab_id); $list = ConfigModel::getAll($tab_id)->toArray(); $list[0][ 'info' ] = '短信宝账号' ; $list[0][ 'desc' ] = '短信宝账号' ; $list[1][ 'info' ] = '短信宝密码' ; $list[1][ 'desc' ] = '短信宝密码' ; |
2: 打开项目:\app\admin\view\sms\sms_config\index.php 修改大概56行代码
1
2
3
4
5
6
7
8
|
<div class= "ibox-content" > <div id= "app" > <Alert type= "success" >如果还没有开通短信账号,可以<a target= "_blank" href= "http://www.smsbao.com/reg" style= "color: #0000ff" >立即注册</a> </Alert> </div> <div class= "p-m m-t-sm" id= "configboay" > </div> </div> |
3:打开项目:\app\admin\view\sms\sms_template_apply\index.php 修改大概45行代码
1
2
3
|
<div class= "layui-btn-container" > <button type= "button" class= "layui-btn layui-btn-sm" onclick= "$eb.createModalFrame(this.innerText,'{:Url('create')}')" >添加模板</button> </div> |
4: 打开项目:\app\admin\controller\sms\SmsTemplateApply.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
<?php namespace app\admin\controller\sms; use app\admin\controller\AuthController; use crmeb\services\FormBuilder; use crmeb\services\JsonService; use crmeb\services\SMSService; use crmeb\services\UtilService; use think\facade\Route; use app\admin\model\routine\RoutineTemplate as RoutineModel; /** * 短信模板申请 * Class SmsTemplateApply * @package app\admin\controller\sms */ class SmsTemplateApply extends AuthController { /** * 显示资源列表 * * @return string */ public function index() { // $sms = new SMSService(); // if(!$sms::$status) return $this->failed('请先填写短信配置'); return $ this ->fetch(); } /** * 异步获取模板列表 */ public function lst() { //重新获取模板 $tem = new RoutineModel(); $lst = $tem->where( 'status' ,0)->select()->toArray(); foreach($lst as $k=>$v) { $lst[$k][ 'id' ]= $v[ 'id' ]; $lst[$k][ 'templateid' ]= $v[ 'tempid' ]; $lst[$k][ 'title' ]= $v[ 'name' ]; $lst[$k][ 'mark' ]= "" ; $lst[$k][ 'type' ]= $v[ 'tempkey' ]; $lst[$k][ 'status' ]= 1; $lst[$k][ 'content' ]= $v[ 'content' ]; $lst[$k][ 'add_time' ]= date( "Y-m-d H:i" , $v[ 'add_time' ]); } return JsonService::successlayui( '' ,$lst); } /** * 显示创建资源表单页. * * @return string * @throws \FormBuilder\exception\FormBuilderException */ public function create() { $field = [ FormBuilder::input( 'title' , '模板名称' ), FormBuilder::textarea( 'text' , '模板内容示例' , '【您的短信签名】您的验证码是:{$code},有效期为{$time}分钟。如非本人操作,可不用理会。模板中的{$code}和{$time}需要替换成对应的变量,请开发者知晓。修改此项无效!' ), FormBuilder::input( 'content' , '模板内容' )->type( 'textarea' ), FormBuilder::input( 'number' , '模板id' ), FormBuilder::radio( 'type' , '模板类型' ,1)->options([[ 'label' => '验证码' , 'value' =>1],[ 'label' => '通知' , 'value' =>2],[ 'label' => '推广' , 'value' =>3]]) ]; $form = FormBuilder::make_post_form( '申请短信模板' ,$field,Route::buildUrl( 'save' ),2); $ this ->assign(compact( 'form' )); return $ this ->fetch( 'public/form-builder' ); } /** * 保存新建的资源 */ public function save() { $tem = []; $data = UtilService::postMore([ [ 'title' , '' ], [ 'content' , '' ], [ 'type' ,0], [ 'number' , '' ] ]); //组装数据 $tem = array( 'tempkey' =>$data[ 'type' ], 'name' =>$data[ 'title' ], 'content' =>$data[ 'content' ], 'tempid' =>$data[ 'number' ], 'add_time' =>time() ); if (!strlen(trim($data[ 'title' ]))) return JsonService::fail( '请输入模板名称' ); if (!strlen(trim($data[ 'content' ]))) return JsonService::fail( '请输入模板内容' ); if (!strlen(trim($data[ 'number' ]))) return JsonService::fail( '请输入模板id' ); $id = RoutineModel::insert($tem); if ($id) return JsonService::success( '申请成功' ); } } |
5:打开项目:\crmeb\services\SMSService.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
|
public static function send($phone, $template, array $param) { $ret = []; self::auto(); $teModel = new RoutineTemplate(); $content = $teModel->where( 'tempid' ,$template)->find()[ 'content' ]; foreach($param as $key => $value) { $content = str_replace( '{$' . "$key" . '}' ,$value,$content); } $statusStr = array( "0" => "短信发送成功" , "-1" => "参数不全" , "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!" , "30" => "密码错误" , "40" => "账号不存在" , "41" => "余额不足" , "42" => "帐户已过期" , "43" => "IP地址限制" , "50" => "内容含有敏感词" ); $user = self::$SMSAccount; //短信平台帐号 $pass = md5(self::$SMSToken); //短信平台密码 $content = $content; //要发送的短信内容 $phone = $phone; //要发送短信的手机号码 $sendurl = $smsapi. "sms?u=" .$user. "&p=" .$pass. "&m=" .$phone. "&c=" .urlencode($content); $result = file_get_contents($sendurl) ; $ret[ "status" ] = $result; $ret[ "msg" ] = $statusStr[$result]; return $ret; } |
经过上面的替换,短信宝的短信平台已经替换成功了,可以正常使用了。进行测试发送:
报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,即便遇到敏感文字我们都不会人工审核,短信内容3~5秒就可送达。
另外:我们已经开发好完整的CRMEB_V3.12系统短信宝插件,点击此链接 下载及查看安装流程。
最新更新
电商类
CMS类
微信类