<?php namespace app\api\controller; use crmeb\services\HttpService; use think\facade\Db; /** * 短信服务 * Class SMSService * @package crmeb\services */ class ZjSMSServerService { private static $userid = '15889'; private static $username = "yflkj"; private static $passwd = 'yfl831**'; //验证码 const VERIFICATION_CODE = 518076; //支付成功 const PAY_SUCCESS_CODE = 520268; //发货提醒 const DELIVER_GOODS_CODE = 520269; //确认收货提醒 const TAKE_DELIVERY_CODE = 520271; //管理员下单提醒 const ADMIN_PLACE_ORDER_CODE = 520272; //管理员退货提醒 const ADMIN_RETURN_GOODS_CODE = 520274; //管理员支付成功提醒 const ADMIN_PAY_SUCCESS_CODE = 520273; //管理员确认收货 const ADMIN_TAKE_DELIVERY_CODE = 520422; /** * get: 发送短信验证码 * path: sendSmsCode * method: sendSmsCode * param: phone - {string} 手机号 */ public static function send($phone, array $param, $template = "VERIFICATION_CODE") { $code = $param['code']; $target = "http://sms.izjun.cn/v2sms.aspx"; $company = sys_config('site_name', '', true); // $company = "星拼乐"; switch ($template) { case 'PAY_SUCCESS_CODE': break; case 'DELIVER_GOODS_CODE': break; case 'TAKE_DELIVERY_CODE': break; case 'ADMIN_PLACE_ORDER_CODE': break; case 'ADMIN_RETURN_GOODS_CODE': break; case 'ADMIN_PAY_SUCCESS_CODE': break; case 'ADMIN_TAKE_DELIVERY_CODE': break; default: $content = sprintf('【%s】您的验证码为:%d 。验证码有效期为%d分钟,请尽快填写!', $company, $code, 5); } $time = date("YmdHis", time()); $data = [ 'action' => 'send', 'userid' => self::$userid, 'timestamp' => $time, 'sign' => md5(self::$username . self::$passwd . $time), 'mobile' => $phone, 'content' => $content, 'sendTime' => '', 'extno' => '', 'rt' => 'json', ]; $gets = json_decode(HttpService::postRequest($target, $data), true); if ($gets) { return ['status' => 200, 'msg' => '短信发送成功']; } else { return ['status' => 400, 'msg' => '发送失败']; } } }