canyin-project/ybcy/controllers/admin/AuthController.php

84 lines
2.9 KiB
PHP
Raw Normal View History

2024-11-01 16:07:54 +08:00
<?php
namespace app\controllers\admin;
use Illuminate\Support\Facades\DB;
use Yii;
use yii\web\Controller;
use Ramsey\Uuid\Uuid;
use app\jobs\ImportUserJob;
use Mailer;
class AuthController extends CommonController{
public $enableCsrfValidation = false;
//网站域名授权码规则生成
public function actionGetcode(){
//号称1000年无法破解
$data = Uuid::uuid1();
$str = $data->getHex(); //32位字符串方法
//fields包含8位数时间戳time_low 4位数time_mid 4位数time_hi_and_version
// 2位数clock_seq_hi_and_reserved 2位数clock_seq_low 12位数node
$code= substr($str , 0 , 16);
return $code;
}
//授权码验证
public function actionValidatecode(){
$result=axios_request();
//这里设计一个数据表根据Post提交的code跟数据表匹配域名和code
$sql='select * from {{%ybwm_url_code}}';
$user = \Yii::$app->db->createCommand($sql,['code'=>$result['code'],'domain_url'=>Yii::app()->getRequest()->getUrl()])->queryOne();
if($user){
echo json_encode(
['code'=>'1',
'msg'=>'当前域名已激活']
);
}else{
echo json_encode(
['code'=>'2',
'msg'=>'当前域名未激活']
);
}
}
public function actionCeshi(){
//入队操作
$data = [
['id' => 1, 'pushDate' => '', 'name' => '小一'],
['id' => 2, 'pushDate' => '', 'name' => '赵六'],
['id' => 3, 'pushDate' => '', 'name' => 'san歌'],
['id' => 4, 'pushDate' => '', 'name' => '四字'],
['id' => 5, 'pushDate' => '', 'name' => '吴老爷'],
];
foreach ($data as $v) {
$pushDate = date('Y-m-d H:i:s');
$v['pushDate'] = $pushDate;
Yii::$app->queue->delay(30)->push(new ImportUserJob($v));
}
}
//结合队列queue发送QQ邮件
public function actionMailsend(){
$mail=Yii::$app->mailer->compose()
->setFrom(['374436768@qq.com'=>'王晓明']) //和上面的from字段相对应 可以只写一个
->setTo('691979622@qq.com') //发送给谁
->setSubject('标题测试邮件') //邮件标题
->setTextBody('明天考试a'); //发布纯文字文本
// ->setHtmlBody("<br>问我我我我我"); //发布可以带html标签的文本
if ($mail->send()) {
echo "发送成功";
}else{
echo "失败";
}
}
public function actionCheckdomain(){
$request = Yii::$app->request;
if ($request->isPost){
$post_data['code_type']=1;
$url="https://s.b-ke.cn/admin/install/getcode";
$data=curlSend($url, $post_data);
dd($data);
}
}
}