|
@@ -91,39 +91,47 @@ class Base
|
|
|
$insert['add_code'] = $code->mcode;
|
|
|
$id = Dever::load('passport/code-insert', $insert);
|
|
|
|
|
|
- # 发送验证码到手机上
|
|
|
- //$text = '您好,您的验证码为' . $code->mcode . ',十分钟之内有效。';
|
|
|
- $text = str_replace('{code}', $code->mcode, Dever::config('base', 'project')->mobileCode['msg']);
|
|
|
-
|
|
|
# 启动发送
|
|
|
- $this->send($mobile, $text, $id);
|
|
|
+ $this->send($mobile, $insert['add_code'], $id);
|
|
|
|
|
|
- $this->save->add(self::MCODE, $mobile . '_' . $code->mcode, 600);
|
|
|
+ $this->save->add(self::MCODE, $mobile . '_' . $code->mcode, Dever::config('base', 'project')->mobileCode['timeout']);
|
|
|
|
|
|
return $code->mcode;
|
|
|
}
|
|
|
|
|
|
- private function send($mobile, $content, $id)
|
|
|
+ private function send($mobile, $code, $id)
|
|
|
{
|
|
|
$url = Dever::config('base', 'project')->mobileCode['url'];
|
|
|
|
|
|
if (!$url) {
|
|
|
return;
|
|
|
}
|
|
|
- if (Dever::config('base', 'project')->mobileCode['signType'] == 1) {
|
|
|
- $content = Dever::config('base', 'project')->mobileCode['sign'] . $content;
|
|
|
- } else {
|
|
|
- $content .= Dever::config('base', 'project')->mobileCode['sign'];
|
|
|
- }
|
|
|
|
|
|
- $param['phone'] = $mobile;
|
|
|
- $param['message'] = $content;
|
|
|
- $param['seqid'] = $id + 1000;
|
|
|
- $param['smspriority'] = 1;
|
|
|
+ $content = Dever::config('base', 'project')->mobileCode['body'];
|
|
|
+
|
|
|
+ $content = $this->replace($content, $mobile, $code);
|
|
|
+
|
|
|
+ parse_str($content, $param);
|
|
|
|
|
|
- $url .= http_build_query($param);
|
|
|
+ $type = Dever::config('base', 'project')->mobileCode['method'];
|
|
|
+ $json = Dever::config('base', 'project')->mobileCode['json'];
|
|
|
+ $header = Dever::config('base', 'project')->mobileCode['header'];
|
|
|
|
|
|
- Dever::curl($url);
|
|
|
+ Dever::curl($url, $param, $type, $json, $header);
|
|
|
+ }
|
|
|
+
|
|
|
+ private function replace($content, $mobile = '', $code = '')
|
|
|
+ {
|
|
|
+ $skin = Dever::config('base', 'project')->mobileCode['skin'];
|
|
|
+ $skin_key = Dever::input('skin', 1);
|
|
|
+ if (isset($skin[$skin_key])) {
|
|
|
+ $skin = $skin[$skin_key];
|
|
|
+ } else {
|
|
|
+ $skin = array_shift($skin);
|
|
|
+ }
|
|
|
+ $config = array('{code}', '{mobile}', '{sign}', '{skin}');
|
|
|
+ $replace = array($code, $mobile, Dever::config('base', 'project')->mobileCode['sign'], $skin);
|
|
|
+ return str_replace($config, $replace, $content);
|
|
|
}
|
|
|
|
|
|
protected function refer($state = false)
|