SmsTemplateApply.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace app\admin\controller\sms;
  3. use app\admin\controller\AuthController;
  4. use crmeb\services\FormBuilder;
  5. use crmeb\services\JsonService;
  6. use crmeb\services\SMSService;
  7. use crmeb\services\UtilService;
  8. use think\facade\Route;
  9. /**
  10. * 短信模板申请
  11. * Class SmsTemplateApply
  12. * @package app\admin\controller\sms
  13. */
  14. class SmsTemplateApply extends AuthController
  15. {
  16. /**
  17. * 显示资源列表
  18. *
  19. * @return string
  20. */
  21. public function index()
  22. {
  23. $sms = new SMSService();
  24. if(!$sms::$status) return $this->failed('请先填写短信配置');
  25. return $this->fetch();
  26. }
  27. /**
  28. * 异步获取模板列表
  29. */
  30. public function lst()
  31. {
  32. $where = UtilService::getMore([
  33. ['status',''],
  34. ['title',''],
  35. ['page',1],
  36. ['limit',20],
  37. ]);
  38. $templateList = SMSService::template($where);
  39. if($templateList['status'] == 400) return JsonService::fail($templateList['msg']);
  40. return JsonService::successlayui($templateList['data']);
  41. }
  42. /**
  43. * 显示创建资源表单页.
  44. *
  45. * @return string
  46. * @throws \FormBuilder\exception\FormBuilderException
  47. */
  48. public function create()
  49. {
  50. $field = [
  51. FormBuilder::input('title','模板名称'),
  52. FormBuilder::textarea('text','模板内容示例','【您的短信签名】您的验证码是:{$code},有效期为{$time}分钟。如非本人操作,可不用理会。模板中的{$code}和{$time}需要替换成对应的变量,请开发者知晓。修改此项无效!'),
  53. FormBuilder::input('content','模板内容')->type('textarea'),
  54. FormBuilder::radio('type','模板类型',1)->options([['label'=>'验证码','value'=>1],['label'=>'通知','value'=>2],['label'=>'推广','value'=>3]])
  55. ];
  56. $form = FormBuilder::make_post_form('申请短信模板',$field,Route::buildUrl('save'),2);
  57. $this->assign(compact('form'));
  58. return $this->fetch('public/form-builder');
  59. }
  60. /**
  61. * 保存新建的资源
  62. */
  63. public function save()
  64. {
  65. $data = UtilService::postMore([
  66. ['title',''],
  67. ['content',''],
  68. ['type',0]
  69. ]);
  70. if(!strlen(trim($data['title']))) return JsonService::fail('请输入模板名称');
  71. if(!strlen(trim($data['content']))) return JsonService::fail('请输入模板内容');
  72. $applyStatus = SMSService::apply($data['title'], $data['content'], $data['type']);
  73. if($applyStatus['status'] == 400) return JsonService::fail($applyStatus['msg']);
  74. return JsonService::success('申请成功');
  75. }
  76. }