self::CODE_ERROR, 'msg'=>'发送内容不能为空']); } if (empty($mobi) || !preg_match("/^1[345789]\d{9}$/", $mobi)) { return json_encode(['code'=> self::CODE_ERROR, 'msg'=>'手机格式错误']); } $data = Http::post( Config::get('site.shortsms_url'), [ 'sid' => Config::get('site.shortsms_sid'), 'mobi' => $mobi, 'sign' => md5(Config::get('site.shortsms_cpid') . Config::get('site.shortsms_key')), 'msg' => urlencode(base64_encode($content)) ] ); LogService::info('[ Shortmessage ] [ singleMsg ]' . $data); $ret = explode('|', $data); if ($ret[0] == self::SEND_SUCCESS_CODE) { LogService::info('[ Shortmessage ] [ singleMsg ] [ Success ]' . $content); return json_encode(['code' => self::CODE_SUCCESS, 'msg' => '发送成功']); } else { LogService::error('[ Shortmessage ] [ singleMsg ] [ Fail ]' . $data); LogService::error('[ Shortmessage ] [ singleMsg ] [ Fail ]' . $content); return json_encode(['code' => self::CODE_ERROR, 'msg' => '发送失败']); } } /** * 发送单条短信 * @param $content 短信内容 * @param $mobi 手机号码 * @return bool * @throws \think\exception\DbException */ public function singleShortMsg($content, $mobi) { $content = trim($content); if (empty($content)) { return ['code'=> self::CODE_ERROR, 'msg'=>'发送内容不能为空']; } if (empty($mobi) || !preg_match("/^1[345789]\d{9}$/", $mobi)) { return ['code'=> self::CODE_ERROR, 'msg'=>'手机格式错误']; } $data = Http::post( Config::get('site.shortsms_url'), [ 'sid' => Config::get('site.shortsms_sid'), 'mobi' => $mobi, 'sign' => md5(Config::get('site.shortsms_cpid') . Config::get('site.shortsms_key')), 'msg' => urlencode(base64_encode($content)) ] ); LogService::info('[ Shortmessage ] [ singleMsg ]' . $data); $ret = explode('|', $data); if ($ret[0] == self::SEND_SUCCESS_CODE) { LogService::info('[ Shortmessage ] [ singleMsg ] [ Success ]' . $content); return ['code' => self::CODE_SUCCESS, 'msg' => '发送成功']; } else { LogService::error('[ Shortmessage ] [ singleMsg ] [ Fail ]' . $content); return ['code' => self::CODE_ERROR, 'msg' => '发送失败']; } } /** * 生成短信验证码 * @param int $length * @return int */ public function generateSMSCode($length = 4) { $min = pow(10, ($length - 1)); $max = pow(10, $length) -1 ; return rand($min, $max); } }