|
@@ -4,32 +4,41 @@ class Code
|
|
{
|
|
{
|
|
private $config;
|
|
private $config;
|
|
# 发送验证码
|
|
# 发送验证码
|
|
- public function send($template, $account, $param = [])
|
|
|
|
|
|
+ public function send($template, $account = [], $param = [], $project = 'api')
|
|
{
|
|
{
|
|
- $this->config = Dever::db('template_code', 'msg')->find(['template_id' => $template['id']]);
|
|
|
|
- if (!$this->config) {
|
|
|
|
- Dever::error('验证码未配置');
|
|
|
|
- }
|
|
|
|
$data['template_id'] = $template['id'];
|
|
$data['template_id'] = $template['id'];
|
|
$data['day'] = date('Ymd', DEVER_TIME);
|
|
$data['day'] = date('Ymd', DEVER_TIME);
|
|
- $code = $this->createCode();
|
|
|
|
|
|
+ if (empty($param['code'])) {
|
|
|
|
+ $this->config = Dever::db('template_code', 'msg')->find(['template_id' => $template['id']]);
|
|
|
|
+ if (!$this->config) {
|
|
|
|
+ Dever::error('验证码未配置');
|
|
|
|
+ }
|
|
|
|
+ $param['code'] = $this->createCode();
|
|
|
|
+ }
|
|
if ($template['content']) {
|
|
if ($template['content']) {
|
|
$template['content'] = \Dever\Helper\Str::val($template['content'], $param);
|
|
$template['content'] = \Dever\Helper\Str::val($template['content'], $param);
|
|
}
|
|
}
|
|
|
|
+ $test = 1;
|
|
foreach ($template['method'] as $k => $v) {
|
|
foreach ($template['method'] as $k => $v) {
|
|
- $handle = Dever::load('method/' . $v, 'msg');
|
|
|
|
- $data['account'] = $handle->init($template['id'], $account);
|
|
|
|
- $this->valid($data);
|
|
|
|
- if ($template['status'] == 1) {
|
|
|
|
- $data['record'] = $handle->send($template['content'], ['code' => $code]);
|
|
|
|
|
|
+ $config = Dever::db('account', 'msg')->find(['method' => $v]);
|
|
|
|
+ if ($config) {
|
|
|
|
+ $handle = Dever::load('method/' . $config['method'], 'msg');
|
|
|
|
+ $data['account'] = $handle->init($template['id'], $config['id'], $account, $project);
|
|
|
|
+ $this->valid($data);
|
|
|
|
+ if ($config['test'] == 2) {
|
|
|
|
+ $test = 2;
|
|
|
|
+ $api = Dever::load('account', 'api')->get($config['api_account_id'], $project);
|
|
|
|
+ $data['record'] = $handle->send($api, $template['content'], $param);
|
|
|
|
+ }
|
|
|
|
+ $data['code'] = $param['code'];
|
|
|
|
+ $data['status'] = 1;
|
|
|
|
+ Dever::db('code', 'msg')->insert($data);
|
|
|
|
+ # 这里以后加入计费机制
|
|
}
|
|
}
|
|
- $data['code'] = $code;
|
|
|
|
- $data['status'] = 1;
|
|
|
|
- Dever::db('code', 'msg')->insert($data);
|
|
|
|
}
|
|
}
|
|
$msg = '验证码发送成功';
|
|
$msg = '验证码发送成功';
|
|
- if ($template['status'] == 2) {
|
|
|
|
- $msg .= '::' . $code;
|
|
|
|
|
|
+ if ($test == 1) {
|
|
|
|
+ $msg .= '::' . $param['code'];
|
|
}
|
|
}
|
|
return $msg;
|
|
return $msg;
|
|
}
|
|
}
|