From cbf3d6029d8a8a7babe4874721b5d72d5d4d0da2 Mon Sep 17 00:00:00 2001 From: limqhz <540344226@qq.com> Date: Tue, 7 Jun 2022 23:53:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=85=E5=80=BC=E5=AF=86=E7=A0=81=20&=20?= =?UTF-8?q?=E5=8E=BB=E9=99=A4=E5=9C=9F=E5=91=B3=E6=83=85=E8=AF=9D=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E6=96=97=E5=9B=BE=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/quinn/common/EmailType.java | 10 +- .../java/com/quinn/common/QuinnConstant.java | 4 + .../java/com/quinn/config/SecurityConfig.java | 2 +- .../com/quinn/controller/AboutController.java | 8 - .../com/quinn/controller/LoginController.java | 63 +++++- .../com/quinn/intergration/SendBMail.java | 14 +- .../com/quinn/intergration/TodayLove.java | 54 ----- src/main/java/com/quinn/pojo/User.java | 3 + .../java/com/quinn/task/SendForgetEmail.java | 34 ++++ src/main/java/com/quinn/vo/ResetForm.java | 19 ++ src/main/resources/bqb/love.json | 1 - src/main/resources/templates/forget.html | 67 ++++++ src/main/resources/templates/login.html | 7 +- src/main/resources/templates/model.html | 191 +++++++++--------- src/main/resources/templates/page/favor.html | 19 +- src/main/resources/templates/register.html | 4 +- src/main/resources/templates/resetPwd.html | 61 ++++++ 17 files changed, 373 insertions(+), 188 deletions(-) delete mode 100644 src/main/java/com/quinn/intergration/TodayLove.java create mode 100644 src/main/java/com/quinn/task/SendForgetEmail.java create mode 100644 src/main/java/com/quinn/vo/ResetForm.java delete mode 100644 src/main/resources/bqb/love.json create mode 100644 src/main/resources/templates/forget.html create mode 100644 src/main/resources/templates/resetPwd.html diff --git a/src/main/java/com/quinn/common/EmailType.java b/src/main/java/com/quinn/common/EmailType.java index 5f51a61..9136cce 100644 --- a/src/main/java/com/quinn/common/EmailType.java +++ b/src/main/java/com/quinn/common/EmailType.java @@ -3,12 +3,16 @@ package com.quinn.common; public enum EmailType { /** - * 论坛 + * 注册 */ REGISTER, /** - * 资源 + * 注册成功 */ - SUCCESS + SUCCESS, + /** + * 充值密码 + */ + RESET } diff --git a/src/main/java/com/quinn/common/QuinnConstant.java b/src/main/java/com/quinn/common/QuinnConstant.java index 9826dd9..ef9e26b 100644 --- a/src/main/java/com/quinn/common/QuinnConstant.java +++ b/src/main/java/com/quinn/common/QuinnConstant.java @@ -4,6 +4,8 @@ public interface QuinnConstant { String LINK_SUFFIX = "."; + String LINK_URL = "/"; + String LINK_KEY_WORD = ","; String LINK_DATE_STR = "_"; @@ -39,4 +41,6 @@ public interface QuinnConstant { String DEFAULT_ATTR = "/images/avatar/a#.png"; String EMAIL_REPLACE = "#!!#"; + + String EMAIL_REPLACE_ALL = "#!#"; } diff --git a/src/main/java/com/quinn/config/SecurityConfig.java b/src/main/java/com/quinn/config/SecurityConfig.java index 2b247cd..8da59da 100644 --- a/src/main/java/com/quinn/config/SecurityConfig.java +++ b/src/main/java/com/quinn/config/SecurityConfig.java @@ -28,7 +28,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { // 访问权限 http.authorizeRequests() .antMatchers("/","/index","/favicon.ico").permitAll() - .antMatchers("/register","/login","/toLogin","/checkLogin","/checkRegister").permitAll() + .antMatchers("/register","/login","/forget","/resetPwd/*/*","/toLogin","/checkLogin","/checkRegister").permitAll() .antMatchers("/source","/source/view/*").permitAll() .antMatchers("/blog","/blog/read/*").permitAll() .antMatchers("/guess","/favor","/firework").permitAll() diff --git a/src/main/java/com/quinn/controller/AboutController.java b/src/main/java/com/quinn/controller/AboutController.java index cd1a68b..173f980 100644 --- a/src/main/java/com/quinn/controller/AboutController.java +++ b/src/main/java/com/quinn/controller/AboutController.java @@ -4,8 +4,6 @@ package com.quinn.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.quinn.common.ExpBucket; -import com.quinn.intergration.BucketImage; -import com.quinn.intergration.TodayLove; import com.quinn.pojo.About; import com.quinn.service.AboutService; import com.quinn.utils.QuinnUtils; @@ -34,8 +32,6 @@ public class AboutController extends BaseModelController { @Resource AboutService aboutService; - @Resource - TodayLove todayLove; @GetMapping("/about") public String userIndexBlog(HttpServletRequest request,Model model){ @@ -62,8 +58,6 @@ public class AboutController extends BaseModelController { // 列表展示 @GetMapping("/favor") public String sourceList(Model model) throws IOException { - // 每日情话 - model.addAttribute("LoveList",todayLove.getTodayLoveStr()); MyPageParam pageParam = new MyPageParam(1,24); List recordList = aboutService.listExp(null,pageParam); model.addAttribute("recordList",recordList); @@ -73,8 +67,6 @@ public class AboutController extends BaseModelController { @PostMapping("/favor") public String blogListPage(FindNavReq findNavReq, Model model) throws IOException { - // 每日情话 - model.addAttribute("LoveList",todayLove.getTodayLoveStr()); int page = findNavReq.getPageNum(); int limit = findNavReq.getLimit(); if (findNavReq.getPageNum() < 1){ diff --git a/src/main/java/com/quinn/controller/LoginController.java b/src/main/java/com/quinn/controller/LoginController.java index 874a077..ecd2262 100644 --- a/src/main/java/com/quinn/controller/LoginController.java +++ b/src/main/java/com/quinn/controller/LoginController.java @@ -1,10 +1,10 @@ package com.quinn.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.quinn.common.QuinnConstant; import com.quinn.common.QuinnException; import com.quinn.common.RoleType; import com.quinn.intergration.AttrIcon; -import com.quinn.intergration.TodayLove; import com.quinn.pojo.Invite; import com.quinn.pojo.User; import com.quinn.pojo.UserInfo; @@ -12,18 +12,21 @@ import com.quinn.service.InviteService; import com.quinn.service.UserInfoService; import com.quinn.service.UserService; import com.quinn.task.SendAsyncEmail; +import com.quinn.task.SendForgetEmail; import com.quinn.utils.AsyncTaskUtil; import com.quinn.utils.QuinnUtils; import com.quinn.vo.CheckLoginForm; import com.quinn.vo.RegisterForm; +import com.quinn.vo.ResetForm; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; -import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @@ -73,6 +76,58 @@ public class LoginController { return "register"; } + @GetMapping("/forget") + public String toForget(){ + return "forget"; + } + + @PostMapping("/forget") + public void forgetPassword(HttpServletResponse response,String forgetUsername) throws IOException { + response.setCharacterEncoding("UTF-8"); + PrintWriter writer = response.getWriter(); + // 检查用户状态 + User hasUser = userService.getOne(new QueryWrapper().eq("username", forgetUsername)); + if (hasUser == null){ + toResult(writer,"用户不存在,请检查用户名!"); + return; + } + if (!StringUtils.isEmpty(hasUser.getResetKey())){ + toResult(writer,"用户正在重置密码,请留意您的邮箱"); + return; + } + UserInfo userInfo = userInfoService.getById(hasUser.getUid()); + String resetKey = QuinnUtils.getUuid(); + String resetUrl = QuinnConstant.LINK_URL + hasUser.getUid() + QuinnConstant.LINK_URL + resetKey; + hasUser.setResetKey(resetKey); + // 发邮件 + AsyncTaskUtil.INSTANCE.submit(new SendForgetEmail(hasUser.getUsername(),resetUrl,userInfo.getEmail())); + // 更新用户状态 + userService.updateById(hasUser); + toResult(writer,"ok"); + } + + @GetMapping("/resetPwd/{uid}/{key}") + public String resetPwd(@PathVariable("uid") String uid,@PathVariable("key") String key){ + User user = userService.getOne(new QueryWrapper().eq("uid", uid)); + if (user == null || !key.equals(user.getResetKey())){ + throw new QuinnException("防爬虫,重置密码钥匙错误"); + } + return "resetPwd"; + } + + @PostMapping("/resetPwd/{uid}/{key}") + public String resetPassword(ResetForm resetForm, @PathVariable("uid") String uid, @PathVariable("key") String key){ + User hasUser = userService.getOne(new QueryWrapper().eq("uid", uid)); + if (hasUser == null || !key.equals(hasUser.getResetKey())){ + throw new QuinnException("防爬虫,重置密码钥匙错误"); + } + // 密码加密 TODO 此处还是应该先校验一下 + String bCryptPassword = new BCryptPasswordEncoder().encode(resetForm.getPassword()); + hasUser.setPassword(bCryptPassword); + userService.updateById(hasUser); + return "redirect:/toLogin"; + } + // 注册业务 @PostMapping("/checkRegister") public void checkRegister(HttpServletResponse response,RegisterForm registerForm) throws IOException { @@ -106,7 +161,7 @@ public class LoginController { // 注册业务 @PostMapping("/register") - public String register(RegisterForm registerForm, Model model) throws IOException { + public String register(RegisterForm registerForm) { // 表单密码重复判断 if (!registerForm.getPassword().equals(registerForm.getRepassword())){ throw new QuinnException("防爬虫,两次输入密码不一致!"); @@ -145,7 +200,7 @@ public class LoginController { inviteService.updateById(invite); userInfoService.save(new UserInfo().setUid(user.getUid()).setEmail(registerForm.getEmail())); // 发送注册成功通知邮件 - AsyncTaskUtil.INSTANCE.submit(new SendAsyncEmail(registerForm.getUsername(),registerForm.getEmail())); + AsyncTaskUtil.INSTANCE.submit(new SendAsyncEmail(registerForm.getPassword(),registerForm.getEmail())); // 注册成功,重定向到登录页面 return "redirect:/toLogin"; } diff --git a/src/main/java/com/quinn/intergration/SendBMail.java b/src/main/java/com/quinn/intergration/SendBMail.java index 6dff60b..5c555ed 100644 --- a/src/main/java/com/quinn/intergration/SendBMail.java +++ b/src/main/java/com/quinn/intergration/SendBMail.java @@ -9,6 +9,7 @@ import com.quinn.utils.SpringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.mail.Authenticator; @@ -20,6 +21,7 @@ import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Map; import java.util.Properties; +import java.util.Set; /** * 使用@multiavatar生成头像 @@ -48,7 +50,17 @@ public class SendBMail { } public boolean sendParamsMail(EmailType emailType, String email, Map map){ - return true; + // 可以设计枚举,使用同一个发送邮件的公共方法 + Email emailMode = emailService.getOne(new QueryWrapper().eq("type",emailType.name())); + String content = emailMode.getContent(); + if (!CollectionUtils.isEmpty(map)){ + Set keys = map.keySet(); + for (String x : keys) { + content = content.replaceAll(QuinnConstant.EMAIL_REPLACE_ALL + x + QuinnConstant.EMAIL_REPLACE_ALL + ,map.get(x)); + } + } + return sendMail(emailMode.getTitle(), content,email); } private boolean sendMail(String subject,String content,String toEmail){ diff --git a/src/main/java/com/quinn/intergration/TodayLove.java b/src/main/java/com/quinn/intergration/TodayLove.java deleted file mode 100644 index a69b960..0000000 --- a/src/main/java/com/quinn/intergration/TodayLove.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.quinn.intergration; - -import com.fasterxml.jackson.core.type.TypeReference; -import com.quinn.common.QuinnConstant; -import com.quinn.utils.JsonUtils; -import com.quinn.utils.QuinnUtils; -import org.springframework.beans.factory.InitializingBean; -import org.springframework.core.io.Resource; -import org.springframework.core.io.support.PathMatchingResourcePatternResolver; -import org.springframework.core.io.support.ResourcePatternResolver; -import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; - -import java.io.*; -import java.util.*; - -@Component -public class TodayLove implements InitializingBean { - - private List dictionary = new ArrayList<>(); - - public List getTodayLoveStr() throws IOException { - if (CollectionUtils.isEmpty(dictionary)){ - makeDictionary(); - } - int days = QuinnUtils.differentDays(new Date(2022, 4, 1), new Date()); - int i = days % dictionary.size(); - String todayStr = dictionary.get(i); - String[] split = todayStr.split(QuinnConstant.LINK_LOVE_STR); - return Arrays.asList(split); - } - - @Override - public void afterPropertiesSet() throws Exception { - makeDictionary(); - } - - private void makeDictionary() throws IOException { - ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); - Resource[] resources = resolver.getResources("bqb/love.json"); - Resource resource = resources[0]; - InputStream is = resource.getInputStream(); - InputStreamReader insReader = new InputStreamReader( - is, "UTF-8"); - BufferedReader bufReader = new BufferedReader(insReader); - String json = bufReader.readLine(); - bufReader.close(); - insReader.close(); - List decode = JsonUtils.decode(json, new TypeReference>() { - }); - dictionary = decode; - - } -} diff --git a/src/main/java/com/quinn/pojo/User.java b/src/main/java/com/quinn/pojo/User.java index 025f34a..12d698d 100644 --- a/src/main/java/com/quinn/pojo/User.java +++ b/src/main/java/com/quinn/pojo/User.java @@ -47,6 +47,9 @@ public class User implements Serializable { @ApiModelProperty(value = "头像") private String avatar; + @ApiModelProperty(value = "重置密码钥匙") + private String resetKey; + @ApiModelProperty(value = "登录时间") private Date loginDate; diff --git a/src/main/java/com/quinn/task/SendForgetEmail.java b/src/main/java/com/quinn/task/SendForgetEmail.java new file mode 100644 index 0000000..2c3d233 --- /dev/null +++ b/src/main/java/com/quinn/task/SendForgetEmail.java @@ -0,0 +1,34 @@ +package com.quinn.task; + +import com.quinn.common.EmailType; +import com.quinn.intergration.SendBMail; +import com.quinn.utils.SpringUtils; +import lombok.Data; + +import java.util.HashMap; +import java.util.Map; + +@Data +public class SendForgetEmail implements Runnable{ + + String username; + + String email; + + String resetUrl; + + public SendForgetEmail(String username,String resetUrl, String email) { + this.username = username; + this.resetUrl = resetUrl; + this.email = email; + } + + @Override + public void run() { + SendBMail sendBMail = SpringUtils.getBean(SendBMail.class); + Map map = new HashMap<>(); + map.put("username",username); + map.put("resetUrl",resetUrl); + sendBMail.sendParamsMail(EmailType.RESET,email,map); + } +} diff --git a/src/main/java/com/quinn/vo/ResetForm.java b/src/main/java/com/quinn/vo/ResetForm.java new file mode 100644 index 0000000..62f9285 --- /dev/null +++ b/src/main/java/com/quinn/vo/ResetForm.java @@ -0,0 +1,19 @@ +package com.quinn.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class ResetForm { + + @ApiModelProperty(value = "密码") + private String password; + + @ApiModelProperty(value = "确认密码") + private String repassword; + +} diff --git a/src/main/resources/bqb/love.json b/src/main/resources/bqb/love.json deleted file mode 100644 index b7a140a..0000000 --- a/src/main/resources/bqb/love.json +++ /dev/null @@ -1 +0,0 @@ -["你最近是不是又胖了?#没有啊,为什么这么说?#那你为什么在我心里的分量越来越重了呢?","书山有路勤为径#学海无涯我做粥","我点的东西怎么还没来?#什么东西?#我们的未来。","莫文蔚的阴天#孙燕姿的雨天#周杰伦的晴天#都不如你和我聊天","我喜欢你#像你妈打你#不讲道理","要是我和你生一个孩子你觉得他会是什么座?#什么座?双子座?#不,我们的杰作。","甜有100种方式#吃糖#蛋糕#还有98次想你","如果有一天我想环游世界了,我能围着你转一圈吗?","被你赞过的朋友圈#叫甜甜圈","你知道我最喜欢什么神吗?#是你的眼神","你有打火机嘛?#没有#那你是如何点燃我的心的","跟你说一个坏消息#什么坏消息?#我对你的思想已经不单纯了","生活有许多味道#但你就是我的甜与苦","我说不清我为什么爱你#我只知道#只要有你#我就不可能爱上别人","晓看天色暮看云,行也思君,坐也思君","你知道牛肉要怎么吃才好吃吗?#我喂你吃","既见君子,云胡不喜#明天生动而具体#有且仅有一个你","你知道最幸福的门是什么门吗?#是...我们🙈","你离我有一千公里,很远吗?#一点都不远#因为我立马就出发#你在我的心里","我最近重了不少#因为你住进了我的心房","好好照顾自己​​​​#不行就让我来照顾你","我知道有三个人喜欢你#谁呀#我呀!我呀!我呀!","你闻到什么味道了吗#什么味道#恋爱的味道","我想吃碗面#什么面?#你的心里面","月亮不会奔向你#但我会#不负万里的那种","我觉得你这个人不适合谈恋爱#为什么?#你适合结婚","我小时候想成为科学家,可现在不一样了#现在怎么了?#现在想和你成家","你是3,我是9#为什么?#除了你还是你","我觉得你好像一款游戏#什么游戏?#我的世界","我的手被划了一口子#你也划一下#这样我们就是两口子","你猜一下我是什么星座?#不知道#我是什么都想为你做!","我觉得我好花心#你每天的样子我都好喜欢","今天不是你死就是我死#你可爱死了#我爱死你了","希望有一天#你来到这个城市#是因为想起了我","你想喝点什么?#我想呵护你。","有谣言说我喜欢你#我澄清一下#那不是谣言","地球和太阳都不是宇宙的中心#你才是","最近手头有点紧#想借你的手牵一牵","你知道你和星星有什么区别吗?#星星在天上#而你在我心里","唐僧取经,我娶你","我有罪!#什么?#我正在你的芳心纵火","我认为我是一个直男#为什么?#因为我一直爱着你","只许州官放火#不许…#不许你离开我","你一定很孤独吧#因为你一直住在我心里","一生无定#遇你之所#是为乡","见什么世面#见见你就好了!","不思进取#思你","我的手被划了一口子#你也划一下#这样我们就是两口子了","一想到昨天的我也喜欢你#今天的我就吃醋了","今天和喜欢的人说了一句话#说了啥?#“今天和喜欢的人说了一句话”","我房租到期了#可以去你心里住吗?","要不要来谈恋爱啊#二缺一","你今天好奇怪#怪!可!爱!的!","你身上有我余生的味道","我从不吃醋#除非你是醋","你闻到什么味道了吗?#没有啊#怎么你一出来空气都是甜的了","我一点也不想你#一点半再想你","你知道情人眼里出什么吗?#西施?!#不,出现你。","你可以帮我洗一个东西吗#洗什么?#喜欢我啊","你知道我最大的缺点是什么吗?#是缺点你","我想在你那里买一块地#买什么地?#买你的死心塌地","我们来玩木头人不许动吧#好!我输了#为什么?#因为我心动了","你属什么?#我属虎#你不要再骗人了,你属于我","眼里都是你#亿万星辰犹不及","我十拿九稳#就只差你一吻了","子曰:三思而后行#一、二、三、#嗯~我喜欢你","你知道我的心在哪边么?#左边啊#不,在你那边","抽烟只抽煊赫门#一声只爱一个人","我想你应该很忙#所以你看到前三个字就好了","无事献殷勤#非…#非常喜欢你","众生皆苦#你是草莓味!","你摸摸我什么面料子#面料怎么了?#是不是做你男友的料子","你猜我爱喝酒还是爱打游戏#爱打游戏吧?#不,爱你","你肯定是开挂了#不然你在我心里怎么会是满分","你要是丑点#我或许可以带你逛街看电影吃西餐散步看星星看月亮#从诗词歌赋谈到人生哲学#可你长的那么好看,让我只想和你恋爱","我对你的爱#就像拖拉机上山#轰轰烈烈","你眼瞎吗#撞我心口上了","我们现在是朋友了么?#是啊#那以后就不是了#为什么?#因为你是我女朋友","连我你都不在意#那你在意什么#在意大利吗","你知道你像什么吗?#什么?#我的人。","天气这么冷,你知道怎么取暖吗?#不知道#我也不知道,但我知道怎么娶你","我身体很好#可以扛米袋子,扛煤气罐#可就是扛不住想你","把眉清目秀还给山水天地#把松间细雨还给初遇#把一见钟情还给你","你有地图吗?#我在你的眼睛里迷路了","苦海无涯#回头是我","我觉得你长得像我一个亲戚#???#我妈的儿媳妇","说实话,你是我今天的第二次心动#为什么不是第一次啊?#傻瓜,第一次是在我今天刚见到你的时候啊","你是什么血型?#A型啊#不,你是我的理想型","我刚发现我们有一个共同好友!#是谁?#丘比特!","你的爸爸是小偷#为什么?#因为他偷走了最美的星星装在你的眼里","你知道喝什么酒最容易醉吗?#是你的天长地久","以后我只能称呼你为您了#因为,你在我心上","落叶归根#你归我","你知道我最珍贵的是什么吗?#是上一句话的第一个字","一人做事一人当#你的蓝朋友小叮当","小女子不才#掐指一算#公子今生缺我","有趣的地方都想去​#比如你的世界","可爱不是长久之计#可爱我是","我还是喜欢你#像小时候吃辣条#不看日期","比起留住流星#我更想留住你","“你能不能闭嘴”#“我没有说话啊”#“那为什么我满脑子都是你…”","你是什么星座?双子座吗?#不是,我是为你量身定做。","来者何人?#你的人","每天只想和你做四件事#一日三餐","今天吃了一颗很甜的糖,想跟你的舌头分享。","遍地都是月光#可月亮就你一个","微风轻轻起#我好喜欢你","不想撞南墙了#只想撞撞先生胸膛","以后你的口红我包了#但记得每天还我一点点","我和你没什么好谈的#除了谈恋爱","你会弹钢琴吗?#不会#那你是怎么撩动我的心弦的呢","你是书吧?#越看越想睡","你在的时候你是一切#你不在的时候一切是你","你可以笑一个吗?#为什么啊?#因为我的咖啡忘加糖了","比起断网和天黑#我更怕你皱眉。","人总是会变的#从一开始的喜欢你#到后来的更喜欢你","我是九#你是三#除了你还是你","这是校服#这是迷彩服#你是我的小幸福","蜗牛走路慢吞吞的,老是钻进泥里,为什么呢?#因为蜗喜欢泥","你上辈子一定是碳酸饮料吧#不然我怎么一看到你就开心地冒泡呢","“洁白的婚纱,手捧着鲜花”这首歌歌名是什么?#咱们结婚吧#好啊!","第一次见到你时#上帝在我耳旁说了几个字#在劫难逃","祝我们#好在春夏秋冬","如果我把你推到花园里面#我就会找不到你#因为你像花儿一样美丽","你的眼睛真好看,里面藏着山川湖海,日月星辰#我的眼睛更好看#里面藏着你","土豆会变成土豆泥,猜猜我会变成什么呢?#不知道诶#我爱泥","你知道我喜欢吃什么吗?#不知道#我喜欢痴痴地望着你","知道你为什么这么冷吗?#因为你没有像我这么暖的对象在身边啊","你为什么要害我?#我害你?#害我这么喜欢你","宝,我今天去输液了#输的什么液?#想你的夜","你的脸上有点东西#有什么?#有点漂亮","你是哪里人#杭州人#不,你是我的心上人","别抽烟#抽我","饭在锅里#我在床上","有时候生活有些苦难#你不要去抱怨#抱我就好了","你昨天晚上应该很累吧#因为你在我梦里一直跑个不停","你猜我坐飞机喜欢靠走道还是靠窗#靠窗?#不对,我喜欢靠着你","小猪佩奇#你配我","你早起#我晚起#你我早晚在一起","听说,晚上不睡觉的人,容易肝不好#下次要是发现你晚上还没睡,我就要叫你,小心肝","冬瓜西瓜哈密瓜#你是我的小傻瓜","你知道吗?#我刚刚放了一个屁,特别响#但是还是没有想你那么想","要不我们去喝酒吧#喝我们的喜酒","海上月是天上月#眼前人是心上人","我觉得你接近我就是在害我#害得我好喜欢你呀","我觉得我是一个单调的人#为什么?#因为我只喜欢你","你可能不知道#在我眼里#你披着阳光#灿烂无比","今晚别关窗#我要跑进你梦里","你好宅啊#没有啊#可你呆在我的心里就没动过","游乐园里有个可以骑在上面旋转的,那个叫旋转什么?#木马#Mua~","我悄悄放了个屁#期待风把它吹进你嘴里"] diff --git a/src/main/resources/templates/forget.html b/src/main/resources/templates/forget.html new file mode 100644 index 0000000..116d89c --- /dev/null +++ b/src/main/resources/templates/forget.html @@ -0,0 +1,67 @@ + + + + + + 注册-Quinn + + + + +
+
+
+
+
+
+
+

忘记密码Quinn

+

无法重置,请关注公众号反馈

+
+
+ + +
+ +

+ 记得密码?去登录 +

+
+
+
+
+
+
+ + + + + + + diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 5771b14..b726d3d 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -7,7 +7,7 @@ - +
@@ -30,6 +30,11 @@ 7天免登录
+
+ +

没有账号?去注册 diff --git a/src/main/resources/templates/model.html b/src/main/resources/templates/model.html index c1861b5..925a665 100644 --- a/src/main/resources/templates/model.html +++ b/src/main/resources/templates/model.html @@ -1,112 +1,105 @@ - - + - - - - - - - -
-
- - - - -
+ + - -

感谢! © Quinn

- - -
-

+ .qmbox table tr th li p { + font-size: 18px; + } + + + + +
+
+ + + - - - + + + - - - - - -
+

+ style="width: 20px;height: 20px;background: #00C6FF;display: inline-block;position: relative;left: 10px;top: 5px;"> - - - QUINN - - - - -

-

- 私人博客平台 -

-
+ + + QUINN + + + + + +

+ 私人博客平台 +

+
-

- 注册成功 -

-

- 尊敬的#!!#,您好!您已经注册成功,欢迎使用您的专属个人博客平台。 -

- - 访问 - -
- + style="width: 8px;height: 35px;display: table-cell;background: #00C6FF;position: absolute;left: 31px;"> +

+ 重置密码 +

+

+ 尊敬的#!#username#!#,点击下方链接重置密码 +

+ + 去重置 + +
+ + +

+ + +

感谢! © Quinn

+ + + diff --git a/src/main/resources/templates/page/favor.html b/src/main/resources/templates/page/favor.html index 6e25496..3af8889 100644 --- a/src/main/resources/templates/page/favor.html +++ b/src/main/resources/templates/page/favor.html @@ -9,27 +9,22 @@
-