From 1c766e107a240f923e3ff31d85c0e6f8b7f5b6c3 Mon Sep 17 00:00:00 2001 From: liyukun <1099438829@qq.com> Date: Sat, 22 Jan 2022 01:30:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=9B=B4=E6=96=B0=EF=BC=8C?= =?UTF-8?q?=E5=BE=85=E5=AE=8C=E5=96=84=E9=82=AE=E4=BB=B6=E5=8F=91=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common.php | 25 -- app/common/extend/Mail.php | 48 ++++ app/common/model/User.php | 4 +- app/index/controller/Login.php | 2 +- composer.json | 2 +- public/template/default/pc/public/header.html | 5 +- vendor/composer/installed.json | 93 ++++--- vendor/composer/installed.php | 38 +-- vendor/doctrine/lexer/README.md | 2 +- vendor/doctrine/lexer/composer.json | 18 +- .../Doctrine/Common/Lexer/AbstractLexer.php | 31 ++- vendor/doctrine/lexer/psalm.xml | 15 ++ vendor/services.php | 2 +- vendor/symfony/polyfill-mbstring/Mbstring.php | 5 +- .../symfony/polyfill-mbstring/composer.json | 3 + .../Resources/stubs/UnhandledMatchError.php | 6 +- .../Resources/stubs/ValueError.php | 6 +- vendor/topthink/framework/src/think/App.php | 2 +- vendor/topthink/framework/src/think/Env.php | 2 +- .../framework/src/think/cache/Driver.php | 2 +- .../src/think/console/input/Option.php | 28 +-- .../framework/src/think/route/Resource.php | 2 +- .../framework/src/think/route/Rule.php | 18 ++ .../framework/src/think/route/RuleItem.php | 4 +- vendor/topthink/think-orm/src/Model.php | 28 --- .../topthink/think-orm/src/db/BaseQuery.php | 14 +- vendor/topthink/think-orm/src/db/Fetch.php | 6 +- vendor/topthink/think-orm/src/db/Mongo.php | 6 +- .../think-orm/src/db/builder/Sqlite.php | 24 +- .../src/db/concern/ModelRelationQuery.php | 237 +++++++++++++----- .../src/db/concern/ResultOperation.php | 38 ++- .../think-orm/src/db/connector/Sqlite.php | 2 +- .../think-orm/src/model/concern/Attribute.php | 42 ++-- .../src/model/concern/RelationShip.php | 5 +- .../src/model/relation/BelongsTo.php | 11 +- .../src/model/relation/BelongsToMany.php | 56 ++--- .../src/model/relation/HasManyThrough.php | 8 +- .../think-orm/src/model/relation/HasOne.php | 10 +- 38 files changed, 489 insertions(+), 361 deletions(-) create mode 100644 app/common/extend/Mail.php create mode 100644 vendor/doctrine/lexer/psalm.xml diff --git a/app/common.php b/app/common.php index a05878f..5bb4818 100644 --- a/app/common.php +++ b/app/common.php @@ -6,31 +6,6 @@ use think\db\exception\DataNotFoundException; use think\db\exception\DbException; use think\db\exception\ModelNotFoundException; -// 应用公共文件 -if (!function_exists('system_config_more')) { - /** - * 获取系统配置值 - * @param array $formNames - * @return array - * @throws DataNotFoundException - * @throws DbException - * @throws ModelNotFoundException - */ - function system_config_more(array $formNames): array - { - $systemConfig = cache(Data::DATA_SYSTEM_CONFIG); - if (empty($systemConfig)) { - $systemConfig = SystemConfig::getSystemConfigValues(); - cache(Data::DATA_SYSTEM_CONFIG, $systemConfig); - } - $data = []; - foreach ($formNames as $v) { - $data[$v] = $systemConfig[$v] ?? ''; - } - return $data; - } -} - if (!function_exists('param_to_array')) { /** * 参数分割成数组 diff --git a/app/common/extend/Mail.php b/app/common/extend/Mail.php new file mode 100644 index 0000000..91c90b1 --- /dev/null +++ b/app/common/extend/Mail.php @@ -0,0 +1,48 @@ +isSMTP();// 使用SMTP服务 + $mail->CharSet = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码 + $mail->Host = "smtp.qq.com";// 发送方的SMTP服务器地址 + $mail->SMTPAuth = true;// 是否使用身份验证 + $mail->Username = "xxx";// 发送方的163邮箱用户名,就是你申请163的SMTP服务使用的163邮箱 + $mail->Password = "这里填写授权码不要填qq密码";// 发送方的邮箱密码,注意用163邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码! + $mail->SMTPSecure = "ssl";// 使用ssl协议方式 + $mail->Port = 465;// 163邮箱的ssl协议方式端口号是465/994 + + $mail->setFrom("xxx","Mailer");// 设置发件人信息,如邮件格式说明中的发件人,这里会显示为Mailer(xxxx@163.com),Mailer是当做名字显示 + $mail->addAddress($toemail,'Wang');// 设置收件人信息,如邮件格式说明中的收件人,这里会显示为Liang(yyyy@163.com) + $mail->addReplyTo("xxx","Reply");// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址 + //$mail->addCC("xxx@163.com");// 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址(这个人也能收到邮件) + //$mail->addBCC("xxx@163.com");// 设置秘密抄送人(这个人也能收到邮件) + //$mail->addAttachment("bug0.jpg");// 添加附件 + + + $mail->Subject = "这是一个测试邮件";// 邮件标题 + $mail->Body = "邮件内容是 您的验证码是:123456,哈哈哈!";// 邮件正文 + //$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用 + + if(!$mail->send()){// 发送邮件 + echo "Message could not be sent."; + echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息 + }else{ + echo '发送成功'; + } + } +} \ No newline at end of file diff --git a/app/common/model/User.php b/app/common/model/User.php index ef905fa..2bf949b 100644 --- a/app/common/model/User.php +++ b/app/common/model/User.php @@ -68,8 +68,8 @@ class User extends BaseModel if (!$res) { return self::setErrorInfo("账号注册失败,请稍后再试"); } else { - $info = self::where('id', "=", $res)->find(); - return self::setLoginInfo($info); + //开始发送激活邮件,激活邮件处理 + } } diff --git a/app/index/controller/Login.php b/app/index/controller/Login.php index 625ac87..620d81e 100644 --- a/app/index/controller/Login.php +++ b/app/index/controller/Login.php @@ -80,7 +80,7 @@ class Login extends Base if (!captcha_check($captcha)) return app("json")->fail("验证码不正确!"); // 验证登录 if (!userModel::register($username,$email, $password)) return app("json")->fail(userModel::getErrorInfo()); - return app("json")->success("登录成功!"); + return app("json")->success("注册成功!我们给您邮箱发送了一封激活邮件,请按照邮件提示激活用户"); } /** diff --git a/composer.json b/composer.json index 0a7420f..f273d3d 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,7 @@ "topthink/think-multi-app": "^1.0", "xaboy/form-builder": "^2.0", "topthink/think-captcha": "^3.0", - "phpmailer/phpmailer": "^6.1", + "phpmailer/phpmailer": "^6.5", "spatie/macroable": "^1.0", "topthink/think-view": "^1.0" }, diff --git a/public/template/default/pc/public/header.html b/public/template/default/pc/public/header.html index 1883230..4423d1e 100644 --- a/public/template/default/pc/public/header.html +++ b/public/template/default/pc/public/header.html @@ -124,16 +124,13 @@