├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── README.md ├── bash.exe.stackdump ├── images ├── 001.png ├── 002.png ├── 003.png ├── 004.png ├── 005.png └── qrcode_small.png ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── cn │ │ └── niter │ │ └── forum │ │ ├── CommunityApplication.java │ │ ├── advice │ │ └── CustomizeExceptionHandler.java │ │ ├── annotation │ │ ├── PassToken.java │ │ └── UserLoginToken.java │ │ ├── api │ │ ├── CommentApi.java │ │ ├── FileApi.java │ │ ├── LikeApi.java │ │ ├── SsoApi.java │ │ ├── TalkApi.java │ │ ├── UserApi.java │ │ └── VerifyApi.java │ │ ├── cache │ │ ├── AppUserCache.java │ │ ├── HotTagCache.java │ │ ├── IpLimitCache.java │ │ ├── LoginUserCache.java │ │ ├── TagCache.java │ │ ├── TemporaryCache.java │ │ └── TinifyPngCache.java │ │ ├── config │ │ ├── HttpsConfig.java │ │ └── SwaggerConfig.java │ │ ├── constant │ │ └── PageConstant.java │ │ ├── controller │ │ ├── AdminController.java │ │ ├── AuthorizeController.java │ │ ├── CommentController.java │ │ ├── CustomizeErrorController.java │ │ ├── DevelopController.java │ │ ├── FileController.java │ │ ├── HelloController.java │ │ ├── HomeController.java │ │ ├── IndexController.java │ │ ├── JumpController.java │ │ ├── LikeController.java │ │ ├── MailController.java │ │ ├── NewsController.java │ │ ├── NotificationController.java │ │ ├── PhoneController.java │ │ ├── ProfileController.java │ │ ├── PublishController.java │ │ ├── QuestionController.java │ │ ├── SSOController.java │ │ ├── ScoreController.java │ │ ├── TalkController.java │ │ ├── UserController.java │ │ ├── ValidateController.java │ │ └── VideoController.java │ │ ├── dto │ │ ├── AccessTokenDTO.java │ │ ├── AuthResultDTO.java │ │ ├── AuthServiceDTO.java │ │ ├── AuthUserInfoDTO.java │ │ ├── BaiduAccessTokenDTO.java │ │ ├── BaiduUserDTO.java │ │ ├── CommentCreateDTO.java │ │ ├── CommentDTO.java │ │ ├── CommentQueryDTO.java │ │ ├── FileDTO.java │ │ ├── GithubUser.java │ │ ├── HotTagDTO.java │ │ ├── LikeQueryDTO.java │ │ ├── NewsDTO.java │ │ ├── NewsQueryDTO.java │ │ ├── NotificationDTO.java │ │ ├── PaginationDTO.java │ │ ├── QqAccessTokenDTO.java │ │ ├── QqUserDTO.java │ │ ├── QuestionDTO.java │ │ ├── QuestionQueryDTO.java │ │ ├── ResultDTO.java │ │ ├── TagDTO.java │ │ ├── TalkDTO.java │ │ ├── TalkQueryDTO.java │ │ ├── ThumbDTO.java │ │ ├── TinifyPngDTO.java │ │ ├── TwitterDTO.java │ │ ├── UserDTO.java │ │ ├── UserQueryDTO.java │ │ ├── ValidateDTO.java │ │ ├── WeiboAccessTokenDTO.java │ │ └── WeiboUserDTO.java │ │ ├── enums │ │ ├── AdPosEnum.java │ │ ├── ColumnEnum.java │ │ ├── CommentTypeEnum.java │ │ ├── LikeTypeEnum.java │ │ ├── NewsColumnEnum.java │ │ ├── NotificationStatusEnum.java │ │ ├── NotificationTypeEnum.java │ │ └── SortEnum.java │ │ ├── exception │ │ ├── CustomizeErrorCode.java │ │ ├── CustomizeException.java │ │ └── ICustomizeErrorCode.java │ │ ├── interceptor │ │ ├── SessionInterceptor.java │ │ └── WebConfig.java │ │ ├── mapper │ │ ├── AdMapper.java │ │ ├── CommentExtMapper.java │ │ ├── CommentMapper.java │ │ ├── NewsExtMapper.java │ │ ├── NewsMapper.java │ │ ├── NotificationMapper.java │ │ ├── QuestionExtMapper.java │ │ ├── QuestionMapper.java │ │ ├── TalkExtMapper.java │ │ ├── TalkMapper.java │ │ ├── ThumbExtMapper.java │ │ ├── ThumbMapper.java │ │ ├── UserAccountExtMapper.java │ │ ├── UserAccountMapper.java │ │ ├── UserExtMapper.java │ │ ├── UserInfoMapper.java │ │ └── UserMapper.java │ │ ├── model │ │ ├── Ad.java │ │ ├── AdExample.java │ │ ├── Comment.java │ │ ├── CommentExample.java │ │ ├── News.java │ │ ├── NewsExample.java │ │ ├── Notification.java │ │ ├── NotificationExample.java │ │ ├── Question.java │ │ ├── QuestionExample.java │ │ ├── Talk.java │ │ ├── TalkExample.java │ │ ├── Thumb.java │ │ ├── ThumbExample.java │ │ ├── User.java │ │ ├── UserAccount.java │ │ ├── UserAccountExample.java │ │ ├── UserExample.java │ │ ├── UserInfo.java │ │ └── UserInfoExample.java │ │ ├── provider │ │ ├── AliProvider.java │ │ ├── BaiduCloudProvider.java │ │ ├── BaiduProvider.java │ │ ├── GithubProvider.java │ │ ├── JiGuangProvider.java │ │ ├── QCloudProvider.java │ │ ├── QqProvider.java │ │ ├── TinifyProvider.java │ │ ├── VaptchaProvider.java │ │ └── WeiboProvider.java │ │ ├── schedule │ │ ├── HotTagTasks.java │ │ ├── LoginUserTasks.java │ │ ├── NewsUpdateTasks.java │ │ └── TinifyPngTasks.java │ │ ├── service │ │ ├── AdService.java │ │ ├── CommentService.java │ │ ├── LikeService.java │ │ ├── NewsService.java │ │ ├── NotificationService.java │ │ ├── QuestionService.java │ │ ├── TalkService.java │ │ ├── UserAccountService.java │ │ ├── UserInfoService.java │ │ └── UserService.java │ │ ├── util │ │ ├── CookieUtils.java │ │ ├── JavaMailUtils.java │ │ ├── TimeUtils.java │ │ └── TokenUtils.java │ │ └── vo │ │ ├── CommentInsertVO.java │ │ ├── TalkInsertVO.java │ │ ├── TalkVO.java │ │ └── ThumbVO.java └── resources │ ├── application.properties │ ├── generatorConfig.xml │ ├── mapper │ ├── AdMapper.xml │ ├── CommentExtMapper.xml │ ├── CommentMapper.xml │ ├── NewsExtMapper.xml │ ├── NewsMapper.xml │ ├── NotificationMapper.xml │ ├── QuestionExtMapper.xml │ ├── QuestionMapper.xml │ ├── TalkExtMapper.xml │ ├── TalkMapper.xml │ ├── ThumbExtMapper.xml │ ├── ThumbMapper.xml │ ├── UserAccountExtMapper.xml │ ├── UserAccountMapper.xml │ ├── UserExtMapper.xml │ ├── UserInfoMapper.xml │ └── UserMapper.xml │ ├── niter.sql │ ├── static │ ├── css │ │ ├── app.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ ├── bootstrap.min.css.map │ │ ├── community.css │ │ ├── full.css │ │ ├── global.css │ │ ├── home.css │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ ├── iconfont.woff │ │ ├── index.css │ │ ├── myeditor.css │ │ ├── mylay.css │ │ ├── people-routes.css │ │ ├── profile.css │ │ ├── select.css │ │ ├── t-global.css │ │ ├── vaptcha.css │ │ └── wap2app.css │ ├── favicon.ico │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── images │ │ ├── K32.png │ │ ├── N80.png │ │ ├── avatar │ │ │ ├── 0.jpg │ │ │ ├── 00.jpg │ │ │ ├── 1.jpg │ │ │ ├── 10.jpg │ │ │ ├── 11.jpg │ │ │ ├── 2.jpg │ │ │ ├── 3.jpg │ │ │ ├── 4.jpg │ │ │ ├── 5.jpg │ │ │ ├── 6.jpg │ │ │ ├── 7.jpg │ │ │ ├── 8.jpg │ │ │ ├── 9.jpg │ │ │ ├── default.png │ │ │ └── news │ │ │ │ ├── 1.jpg │ │ │ │ ├── 2.jpg │ │ │ │ ├── 3.jpg │ │ │ │ ├── 4.jpg │ │ │ │ ├── 5.jpg │ │ │ │ ├── 6.jpg │ │ │ │ ├── 7.jpg │ │ │ │ └── 8.jpg │ │ ├── baidu.png │ │ ├── baidu120.png │ │ ├── baidu120c.png │ │ ├── case.png │ │ ├── chat.png │ │ ├── default-avatar.png │ │ ├── default-avatar2.png │ │ ├── fly.jpg │ │ ├── gitee120c.png │ │ ├── github.png │ │ ├── github120.png │ │ ├── github120c.png │ │ ├── home-logo.png │ │ ├── hot.png │ │ ├── icon │ │ │ ├── boy.svg │ │ │ ├── clicklike.svg │ │ │ ├── comment.svg │ │ │ ├── delete.svg │ │ │ ├── edit.svg │ │ │ ├── error.gif │ │ │ ├── error2.jpg │ │ │ ├── found.svg │ │ │ ├── girl.svg │ │ │ ├── java.svg │ │ │ ├── like.svg │ │ │ ├── message.svg │ │ │ ├── publish.svg │ │ │ ├── search.svg │ │ │ ├── tag.svg │ │ │ └── weixin.jpg │ │ ├── jiajing.png │ │ ├── logo-1.png │ │ ├── logo-text.png │ │ ├── logo.png │ │ ├── mail.png │ │ ├── medal │ │ │ └── xunzhang.png │ │ ├── other │ │ │ ├── 1437100018023.jpg │ │ │ ├── appConfirm.png │ │ │ ├── appConfirming.png │ │ │ └── study-a.png │ │ ├── qq.png │ │ ├── qq_circle.png │ │ ├── qun.png │ │ ├── smile │ │ │ ├── douyin │ │ │ │ ├── bld.png │ │ │ │ ├── ble.png │ │ │ │ ├── blf.png │ │ │ │ ├── blg.png │ │ │ │ ├── blh.png │ │ │ │ ├── bli.png │ │ │ │ ├── blj.png │ │ │ │ ├── blk.png │ │ │ │ ├── bll.png │ │ │ │ ├── blm.png │ │ │ │ ├── bln.png │ │ │ │ ├── blo.png │ │ │ │ ├── blp.png │ │ │ │ ├── blq.png │ │ │ │ ├── blr.png │ │ │ │ ├── bls.png │ │ │ │ ├── blt.png │ │ │ │ ├── blu.png │ │ │ │ ├── blv.png │ │ │ │ ├── blw.png │ │ │ │ ├── blx.png │ │ │ │ ├── bly.png │ │ │ │ ├── blz.png │ │ │ │ ├── bm0.png │ │ │ │ ├── bm1.png │ │ │ │ ├── bm2.png │ │ │ │ ├── bm3.png │ │ │ │ ├── bm4.png │ │ │ │ ├── bm5.png │ │ │ │ ├── bm6.png │ │ │ │ ├── bm7.png │ │ │ │ ├── bm8.png │ │ │ │ ├── bm9.png │ │ │ │ ├── bm_.png │ │ │ │ ├── bma.png │ │ │ │ ├── bmb.png │ │ │ │ ├── bmc.png │ │ │ │ ├── bmd.png │ │ │ │ ├── bme.png │ │ │ │ ├── bmf.png │ │ │ │ ├── bmg.png │ │ │ │ ├── bmh.png │ │ │ │ ├── bmi.png │ │ │ │ ├── bmj.png │ │ │ │ ├── bmk.png │ │ │ │ ├── bml.png │ │ │ │ ├── bmm.png │ │ │ │ ├── bmn.png │ │ │ │ ├── bmo.png │ │ │ │ ├── bmp.png │ │ │ │ ├── bmq.png │ │ │ │ ├── bmr.png │ │ │ │ ├── bms.png │ │ │ │ ├── bmt.png │ │ │ │ ├── bmu.png │ │ │ │ ├── bmv.png │ │ │ │ ├── bmw.png │ │ │ │ ├── bmx.png │ │ │ │ ├── bmy.png │ │ │ │ ├── bmz.png │ │ │ │ ├── bn0.png │ │ │ │ ├── bn1.png │ │ │ │ ├── bn2.png │ │ │ │ ├── bn3.png │ │ │ │ ├── bn4.png │ │ │ │ ├── bn5.png │ │ │ │ ├── bn6.png │ │ │ │ ├── bn7.png │ │ │ │ ├── bn8.png │ │ │ │ ├── bn9.png │ │ │ │ ├── bn_.png │ │ │ │ ├── bna.png │ │ │ │ ├── bnb.png │ │ │ │ ├── bnc.png │ │ │ │ ├── bnd.png │ │ │ │ ├── bne.png │ │ │ │ ├── bnf.png │ │ │ │ ├── bng.png │ │ │ │ ├── bnh.png │ │ │ │ ├── bni.png │ │ │ │ ├── bnj.png │ │ │ │ ├── bnk.png │ │ │ │ ├── bnl.png │ │ │ │ ├── bnm.png │ │ │ │ ├── bnn.png │ │ │ │ ├── bno.png │ │ │ │ ├── bnp.png │ │ │ │ ├── bnq.png │ │ │ │ ├── bnr.png │ │ │ │ ├── bns.png │ │ │ │ ├── bnt.png │ │ │ │ ├── bnu.png │ │ │ │ ├── bnv.png │ │ │ │ ├── bnw.png │ │ │ │ ├── bnx.png │ │ │ │ ├── bny.png │ │ │ │ ├── bnz.png │ │ │ │ ├── bo0.png │ │ │ │ ├── bo1.png │ │ │ │ ├── bo2.png │ │ │ │ ├── bo3.png │ │ │ │ ├── bo4.png │ │ │ │ ├── bo5.png │ │ │ │ ├── bo6.png │ │ │ │ ├── bo7.png │ │ │ │ ├── bo8.png │ │ │ │ ├── bo9.png │ │ │ │ ├── bo_.png │ │ │ │ ├── boa.png │ │ │ │ ├── bob.png │ │ │ │ ├── boc.png │ │ │ │ ├── bod.png │ │ │ │ ├── boe.png │ │ │ │ ├── bof.png │ │ │ │ ├── bog.png │ │ │ │ ├── boh.png │ │ │ │ ├── boi.png │ │ │ │ ├── boj.png │ │ │ │ ├── bok.png │ │ │ │ ├── bol.png │ │ │ │ ├── bom.png │ │ │ │ ├── bon.png │ │ │ │ ├── boo.png │ │ │ │ ├── bop.png │ │ │ │ ├── boq.png │ │ │ │ ├── bor.png │ │ │ │ ├── bos.png │ │ │ │ ├── bot.png │ │ │ │ ├── bou.png │ │ │ │ ├── bov.png │ │ │ │ ├── bow.png │ │ │ │ ├── box.png │ │ │ │ ├── boy.png │ │ │ │ ├── boz.png │ │ │ │ ├── bp0.png │ │ │ │ ├── bp1.png │ │ │ │ ├── bp2.png │ │ │ │ ├── bp3.png │ │ │ │ ├── bp4.png │ │ │ │ ├── bp5.png │ │ │ │ ├── bp6.png │ │ │ │ └── bp7.png │ │ │ └── tieba │ │ │ │ ├── 1.png │ │ │ │ ├── 10.png │ │ │ │ ├── 11.png │ │ │ │ ├── 12.png │ │ │ │ ├── 13.png │ │ │ │ ├── 14.png │ │ │ │ ├── 15.png │ │ │ │ ├── 16.png │ │ │ │ ├── 17.png │ │ │ │ ├── 18.png │ │ │ │ ├── 19.png │ │ │ │ ├── 2.png │ │ │ │ ├── 20.png │ │ │ │ ├── 21.png │ │ │ │ ├── 22.png │ │ │ │ ├── 23.png │ │ │ │ ├── 24.png │ │ │ │ ├── 25.png │ │ │ │ ├── 26.png │ │ │ │ ├── 27.png │ │ │ │ ├── 28.png │ │ │ │ ├── 29.png │ │ │ │ ├── 3.png │ │ │ │ ├── 30.png │ │ │ │ ├── 31.png │ │ │ │ ├── 32.png │ │ │ │ ├── 33.png │ │ │ │ ├── 34.png │ │ │ │ ├── 35.png │ │ │ │ ├── 36.png │ │ │ │ ├── 37.png │ │ │ │ ├── 38.jpg │ │ │ │ ├── 39.png │ │ │ │ ├── 4.png │ │ │ │ ├── 40.png │ │ │ │ ├── 41.png │ │ │ │ ├── 42.png │ │ │ │ ├── 43.png │ │ │ │ ├── 44.png │ │ │ │ ├── 45.png │ │ │ │ ├── 5.png │ │ │ │ ├── 6.png │ │ │ │ ├── 7.png │ │ │ │ ├── 8.png │ │ │ │ └── 9.png │ │ ├── tongbu.png │ │ ├── wechat.png │ │ ├── wechat_qrcode.png │ │ ├── weibo.png │ │ ├── weixin.jpg │ │ └── zhiding.png │ ├── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── click.js │ │ ├── clipboard.js │ │ ├── community.js │ │ ├── home.js │ │ ├── jquery-3.4.1.min.js │ │ ├── moment.js │ │ ├── myeditor.js │ │ ├── myeditor.min.js │ │ ├── npm.js │ │ ├── pca.js │ │ ├── plusShare.js │ │ ├── select.js │ │ ├── sweetalert.min.js │ │ ├── talk.js │ │ ├── url.js │ │ ├── user.js │ │ ├── util.js │ │ ├── vaptcha.js │ │ ├── wangEditor.min.js │ │ ├── wangEditor3.js │ │ ├── wangEditor3.min.js │ │ ├── wap2app.js │ │ ├── xss.js │ │ └── xss.min.js │ ├── json │ │ └── emoji.json │ ├── layui │ │ ├── css │ │ │ ├── layui.css │ │ │ ├── layui.mobile.css │ │ │ └── modules │ │ │ │ ├── code.css │ │ │ │ ├── laydate │ │ │ │ └── default │ │ │ │ │ └── laydate.css │ │ │ │ └── layer │ │ │ │ └── default │ │ │ │ ├── icon-ext.png │ │ │ │ ├── icon.png │ │ │ │ ├── layer.css │ │ │ │ ├── loading-0.gif │ │ │ │ ├── loading-1.gif │ │ │ │ └── loading-2.gif │ │ ├── font │ │ │ ├── iconfont-2.ttf │ │ │ ├── iconfont-3.ttf │ │ │ ├── iconfont.eot │ │ │ ├── iconfont.svg │ │ │ ├── iconfont.ttf │ │ │ ├── iconfont.woff │ │ │ ├── iconfont.woff2 │ │ │ ├── iconfont2.eot │ │ │ ├── iconfont2.svg │ │ │ └── iconfont2.woff │ │ ├── images │ │ │ └── face │ │ │ │ ├── 0.gif │ │ │ │ ├── 1.gif │ │ │ │ ├── 10.gif │ │ │ │ ├── 11.gif │ │ │ │ ├── 12.gif │ │ │ │ ├── 13.gif │ │ │ │ ├── 14.gif │ │ │ │ ├── 15.gif │ │ │ │ ├── 16.gif │ │ │ │ ├── 17.gif │ │ │ │ ├── 18.gif │ │ │ │ ├── 19.gif │ │ │ │ ├── 2.gif │ │ │ │ ├── 20.gif │ │ │ │ ├── 21.gif │ │ │ │ ├── 22.gif │ │ │ │ ├── 23.gif │ │ │ │ ├── 24.gif │ │ │ │ ├── 25.gif │ │ │ │ ├── 26.gif │ │ │ │ ├── 27.gif │ │ │ │ ├── 28.gif │ │ │ │ ├── 29.gif │ │ │ │ ├── 3.gif │ │ │ │ ├── 30.gif │ │ │ │ ├── 31.gif │ │ │ │ ├── 32.gif │ │ │ │ ├── 33.gif │ │ │ │ ├── 34.gif │ │ │ │ ├── 35.gif │ │ │ │ ├── 36.gif │ │ │ │ ├── 37.gif │ │ │ │ ├── 38.gif │ │ │ │ ├── 39.gif │ │ │ │ ├── 4.gif │ │ │ │ ├── 40.gif │ │ │ │ ├── 41.gif │ │ │ │ ├── 42.gif │ │ │ │ ├── 43.gif │ │ │ │ ├── 44.gif │ │ │ │ ├── 45.gif │ │ │ │ ├── 46.gif │ │ │ │ ├── 47.gif │ │ │ │ ├── 48.gif │ │ │ │ ├── 49.gif │ │ │ │ ├── 5.gif │ │ │ │ ├── 50.gif │ │ │ │ ├── 51.gif │ │ │ │ ├── 52.gif │ │ │ │ ├── 53.gif │ │ │ │ ├── 54.gif │ │ │ │ ├── 55.gif │ │ │ │ ├── 56.gif │ │ │ │ ├── 57.gif │ │ │ │ ├── 58.gif │ │ │ │ ├── 59.gif │ │ │ │ ├── 6.gif │ │ │ │ ├── 60.gif │ │ │ │ ├── 61.gif │ │ │ │ ├── 62.gif │ │ │ │ ├── 63.gif │ │ │ │ ├── 64.gif │ │ │ │ ├── 65.gif │ │ │ │ ├── 66.gif │ │ │ │ ├── 67.gif │ │ │ │ ├── 68.gif │ │ │ │ ├── 69.gif │ │ │ │ ├── 7.gif │ │ │ │ ├── 70.gif │ │ │ │ ├── 71.gif │ │ │ │ ├── 8.gif │ │ │ │ └── 9.gif │ │ ├── lay │ │ │ └── modules │ │ │ │ ├── carousel.js │ │ │ │ ├── code.js │ │ │ │ ├── element.js │ │ │ │ ├── flow.js │ │ │ │ ├── form.js │ │ │ │ ├── jquery.js │ │ │ │ ├── laydate.js │ │ │ │ ├── layedit.js │ │ │ │ ├── layer.js │ │ │ │ ├── laypage.js │ │ │ │ ├── laytpl.js │ │ │ │ ├── mobile.js │ │ │ │ ├── table.js │ │ │ │ ├── tree.js │ │ │ │ ├── upload.js │ │ │ │ └── util.js │ │ ├── layui.all.js │ │ └── layui.js │ └── mods │ │ ├── blog.js │ │ ├── case.js │ │ ├── ckplayer │ │ ├── ckplayer.js │ │ ├── ckplayer.min.js │ │ ├── ckplayer.swf │ │ ├── ckplayer.xml │ │ ├── language.xml │ │ └── style.xml │ │ ├── face.js │ │ ├── index.js │ │ ├── index2.js │ │ ├── jie.js │ │ ├── pca.js │ │ ├── sliderVerify.js │ │ ├── t_index.js │ │ └── user.js │ └── templates │ ├── common │ ├── column.html │ ├── filter.html │ ├── footer.html │ ├── header.html │ ├── link.html │ ├── sider.html │ └── user-nav.html │ ├── error.html │ ├── hello.html │ ├── home │ ├── detail.html │ ├── index.html │ └── message.html │ ├── index.html │ ├── news │ ├── detail.html │ └── index.html │ ├── other │ ├── notice.html │ └── video.html │ ├── p │ ├── add.html │ ├── detail.html │ └── index.html │ ├── result.html │ ├── t │ ├── detail.html │ └── index.html │ └── user │ ├── account.html │ ├── activate.html │ ├── appConfirm.html │ ├── forget.html │ ├── home.html │ ├── login.html │ ├── message.html │ ├── p.html │ ├── reg.html │ ├── set.html │ ├── sso.html │ └── verification.html └── test └── java └── cn └── niter └── forum └── CommunityApplicationTests.java /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip 2 | -------------------------------------------------------------------------------- /bash.exe.stackdump: -------------------------------------------------------------------------------- 1 | Stack trace: 2 | Frame Function Args 3 | 000FFFFA1C8 0018006133E (0018026DF0D, 0018024E186, 000FFFFA1C8, 000FFFF90C0) 4 | 000FFFFA1C8 00180049229 (00000000000, 00000000000, 00000000000, 00000000000) 5 | 000FFFFA1C8 00180049262 (0018026DFC9, 000FFFFA078, 000FFFFA1C8, 00000000000) 6 | 000FFFFA1C8 001800B5C18 (00000000000, 00000000000, 00000000000, 00000000000) 7 | 000FFFFA1C8 001800B5D9D (000FFFFA1E0, 00000000000, 00000000000, 00000000000) 8 | 000FFFFA490 001800B73CC (000FFFFA1E0, 00000000000, 00000000000, 00000000000) 9 | End of stack trace 10 | -------------------------------------------------------------------------------- /images/001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/images/001.png -------------------------------------------------------------------------------- /images/002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/images/002.png -------------------------------------------------------------------------------- /images/003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/images/003.png -------------------------------------------------------------------------------- /images/004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/images/004.png -------------------------------------------------------------------------------- /images/005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/images/005.png -------------------------------------------------------------------------------- /images/qrcode_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/images/qrcode_small.png -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/CommunityApplication.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | import org.springframework.scheduling.annotation.EnableScheduling; 7 | 8 | @SpringBootApplication 9 | @MapperScan("cn.niter.forum.mapper") 10 | @EnableScheduling 11 | public class CommunityApplication { 12 | 13 | public static void main(String[] args) { 14 | SpringApplication.run(CommunityApplication.class, args); 15 | } 16 | 17 | 18 | 19 | 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/annotation/PassToken.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * @author jinbin 10 | * @date 2018-07-08 20:38 11 | */ 12 | @Target({ElementType.METHOD, ElementType.TYPE}) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface PassToken { 15 | boolean required() default true; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/annotation/UserLoginToken.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /** 9 | * @author jinbin 10 | * @date 2018-07-08 20:40 11 | */ 12 | @Target({ElementType.METHOD, ElementType.TYPE}) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface UserLoginToken { 15 | boolean required() default true; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/api/VerifyApi.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.api; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import springfox.documentation.annotations.ApiIgnore; 5 | 6 | /** 7 | * @author wadao 8 | * @version 1.0 9 | * @date 2020/6/5 16:41 10 | * @site niter.cn 11 | */ 12 | @ApiIgnore() 13 | @Controller 14 | public class VerifyApi { 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/cache/AppUserCache.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.cache; 2 | 3 | 4 | import lombok.Data; 5 | import net.jodah.expiringmap.ExpirationPolicy; 6 | import net.jodah.expiringmap.ExpiringMap; 7 | import org.springframework.stereotype.Component; 8 | 9 | import java.util.concurrent.TimeUnit; 10 | 11 | @Component 12 | @Data 13 | public class AppUserCache { 14 | ExpiringMap map = ExpiringMap.builder() 15 | .maxSize(100)//最大容量,防止恶意注入 16 | .expiration(1, TimeUnit.MINUTES)//过期时间1分钟 17 | .expirationPolicy(ExpirationPolicy.ACCESSED) 18 | .variableExpiration() 19 | .build(); 20 | 21 | public void put(String loginId,String token){ 22 | map.put(loginId,token); 23 | } 24 | 25 | public String get(String loginId){ 26 | return map.get(loginId); 27 | } 28 | 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/cache/HotTagCache.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.cache; 2 | 3 | import cn.niter.forum.dto.HotTagDTO; 4 | import lombok.Data; 5 | import org.springframework.stereotype.Component; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | import java.util.Map; 10 | import java.util.PriorityQueue; 11 | 12 | @Component 13 | @Data 14 | public class HotTagCache { 15 | private List hots = new ArrayList<>(); 16 | 17 | public void updateTags(Map tags) { 18 | int max = 12; 19 | PriorityQueue priorityQueue = new PriorityQueue<>(max); 20 | 21 | tags.forEach((name, priority) -> { 22 | HotTagDTO hotTagDTO = new HotTagDTO(); 23 | hotTagDTO.setName(name); 24 | hotTagDTO.setPriority(priority); 25 | if (priorityQueue.size() < max) {//热门标签个数小于max就直接往里面放当前标签 26 | priorityQueue.add(hotTagDTO); 27 | } else {//热门标签个数大于等于max 28 | HotTagDTO minHot = priorityQueue.peek();//拿出热门标签中的最小标签 29 | if (hotTagDTO.compareTo(minHot) > 0) {//当前标签比最小标签大 30 | priorityQueue.poll(); 31 | priorityQueue.add(hotTagDTO); 32 | } 33 | } 34 | }); 35 | 36 | 37 | List sortedTags = new ArrayList<>(); 38 | 39 | //一个一个拿出热门标签 40 | HotTagDTO poll = priorityQueue.poll(); 41 | while (poll != null) { 42 | sortedTags.add(0, poll.getName()); 43 | poll = priorityQueue.poll(); 44 | } 45 | hots = sortedTags; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/cache/IpLimitCache.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.cache; 2 | 3 | import net.jodah.expiringmap.ExpirationPolicy; 4 | import net.jodah.expiringmap.ExpiringMap; 5 | import org.springframework.stereotype.Component; 6 | 7 | import java.util.concurrent.TimeUnit; 8 | 9 | @Component 10 | public class IpLimitCache { 11 | ExpiringMap interval = ExpiringMap.builder() 12 | .maxSize(20)//设置最大容量,增大攻击难度,值越大存储的可疑ip越多,过大会占用额外资源 13 | .expiration(30, TimeUnit.SECONDS)//过期时间30秒 14 | .expirationPolicy(ExpirationPolicy.CREATED)//每次访问重置过期时间 15 | .variableExpiration() 16 | .build(); 17 | 18 | ExpiringMap ipScores = ExpiringMap.builder() 19 | .maxSize(100)//设置最大容量,增大攻击难度,值越大存储的可疑ip越多,过大会占用额外资源 20 | .expiration(1, TimeUnit.DAYS)//过期时间1天 21 | .expirationPolicy(ExpirationPolicy.CREATED)//每次更新重置过期时间 22 | .variableExpiration() 23 | .build(); 24 | 25 | public int addIpScores(String ip,Integer score){ 26 | if(ipScores.get(ip)==null){ 27 | ipScores.put(ip,score); 28 | }else{ 29 | System.out.println(ip+"_ipScores:"+ipScores.get(ip)); 30 | ipScores.put(ip,ipScores.get(ip)+score); 31 | } return 1; 32 | } 33 | 34 | public int showIpScores(String ip){ 35 | if(ipScores.get(ip)==null) return 0; 36 | return ipScores.get(ip); 37 | } 38 | public int putInterval(String ip,String token){ 39 | if(getInterval(ip)==null){ 40 | interval.put(ip,token); 41 | return 1; 42 | }else return 0; 43 | 44 | } 45 | 46 | public String getInterval(String ip){ 47 | return interval.get(ip); 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/cache/LoginUserCache.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.cache; 2 | 3 | import cn.niter.forum.model.User; 4 | import lombok.Data; 5 | import net.jodah.expiringmap.ExpirationPolicy; 6 | import net.jodah.expiringmap.ExpiringMap; 7 | import org.springframework.stereotype.Component; 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | import java.util.concurrent.TimeUnit; 12 | 13 | @Component 14 | @Data 15 | public class LoginUserCache { 16 | private List loginUsers = new ArrayList<>(); 17 | 18 | ExpiringMap loginUserMap = ExpiringMap.builder() 19 | .maxSize(16)//最大容量,防止恶意注入 20 | .expiration(11, TimeUnit.MINUTES)//过期时间10分钟 21 | .expirationPolicy(ExpirationPolicy.CREATED) 22 | .variableExpiration() 23 | .build(); 24 | 25 | public void updateLoginUsers(List loginUsers){ 26 | this.loginUsers=loginUsers; 27 | 28 | } 29 | 30 | public void putLoginUser(Long uid,Long gmt){ 31 | loginUserMap.put(uid,gmt); 32 | } 33 | 34 | public Long getLoginUser(Long uid){ 35 | return loginUserMap.get(uid); 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/cache/TemporaryCache.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.cache; 2 | 3 | import net.jodah.expiringmap.ExpirationPolicy; 4 | import net.jodah.expiringmap.ExpiringMap; 5 | import org.springframework.stereotype.Component; 6 | 7 | import java.util.concurrent.TimeUnit; 8 | 9 | @Component 10 | public class TemporaryCache { 11 | 12 | ExpiringMap mailCode = ExpiringMap.builder() 13 | .maxSize(20)//最大容量,防止恶意注入 14 | .expiration(5, TimeUnit.MINUTES)//过期时间5分钟 15 | .expirationPolicy(ExpirationPolicy.CREATED) 16 | .variableExpiration() 17 | .build(); 18 | public void putMailCode(String mail,String code){ 19 | mailCode.put(mail,code); 20 | } 21 | public String getMailCode(String mail){ 22 | return mailCode.get(mail); 23 | } 24 | 25 | 26 | 27 | ExpiringMap phoneCode = ExpiringMap.builder() 28 | .maxSize(20)//最大容量,防止恶意注入 29 | .expiration(5, TimeUnit.MINUTES)//过期时间5分钟 30 | .expirationPolicy(ExpirationPolicy.CREATED) 31 | .variableExpiration() 32 | .build(); 33 | public void putPhoneCode(String serialNo,String phone_code){ 34 | phoneCode.put(serialNo,phone_code); 35 | } 36 | 37 | public String getPhoneCode(String serialNo){ 38 | return phoneCode.get(serialNo); 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/cache/TinifyPngCache.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.cache; 2 | 3 | import cn.niter.forum.dto.TinifyPngDTO; 4 | import cn.niter.forum.dto.UserDTO; 5 | import cn.niter.forum.model.User; 6 | import lombok.Data; 7 | import org.springframework.stereotype.Component; 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | @Component 13 | @Data 14 | public class TinifyPngCache { 15 | List images=new ArrayList<>(); 16 | 17 | public List get(){ 18 | return images; 19 | } 20 | public void clear(){ 21 | images.clear(); 22 | } 23 | public void add(String url, UserDTO user, String fileName){ 24 | if(images.size()<10){//控制最大容量 25 | TinifyPngDTO png = new TinifyPngDTO(); 26 | png.setUrl(url); 27 | png.setUser(user); 28 | png.setFileName(fileName); 29 | images.add(png); 30 | } 31 | } 32 | 33 | 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/config/SwaggerConfig.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.config; 2 | 3 | /** 4 | * @author wadao 5 | * @version 1.0 6 | * @date 2020/6/5 23:21 7 | * @site niter.cn 8 | */ 9 | 10 | import org.springframework.context.annotation.Bean; 11 | import org.springframework.context.annotation.Configuration; 12 | import springfox.documentation.builders.ApiInfoBuilder; 13 | import springfox.documentation.builders.PathSelectors; 14 | import springfox.documentation.builders.RequestHandlerSelectors; 15 | import springfox.documentation.service.ApiInfo; 16 | import springfox.documentation.service.Contact; 17 | import springfox.documentation.spi.DocumentationType; 18 | import springfox.documentation.spring.web.plugins.Docket; 19 | import springfox.documentation.swagger2.annotations.EnableSwagger2; 20 | 21 | @Configuration 22 | @EnableSwagger2 23 | public class SwaggerConfig { 24 | 25 | @Bean 26 | public Docket createRestApi(){ 27 | return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()) 28 | .select() 29 | // .apis(RequestHandlerSelectors.any()) 30 | .apis(RequestHandlerSelectors.basePackage("cn.niter.forum.api")) 31 | .paths(PathSelectors.any()) 32 | .build(); 33 | } 34 | 35 | private ApiInfo apiInfo(){ 36 | return new ApiInfoBuilder() 37 | .title("NiterForum API Doc") 38 | .description("This is a restful api document of NiterForum.") 39 | .contact(new Contact("瓦刀","niter.cn","kuaileky@qq.com")) 40 | .version("1.0") 41 | .build(); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/constant/PageConstant.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.constant; 2 | 3 | /** 4 | * @author wadao 5 | * @version 1.0 6 | * @date 2020/7/5 15:00 7 | * @site niter.cn 8 | */ 9 | public class PageConstant { 10 | /** 11 | * 页码 12 | */ 13 | public static final String PAGE_NUM = "page"; 14 | 15 | /** 16 | * 分页大小 17 | */ 18 | public static final String PAGE_SIZE = "size"; 19 | /** 20 | * 偏移量 21 | */ 22 | public static final String PAGE_OFFSET = "offset"; 23 | 24 | /** 25 | * 排序 26 | */ 27 | public static final String SORT = "sort"; 28 | 29 | /** 30 | * 排序方向 31 | */ 32 | public static final String ORDER = "order"; 33 | 34 | 35 | 36 | /** 37 | * 默认页数 38 | */ 39 | public static final String PAGE_NUM_DEFAULT = "1"; 40 | 41 | /** 42 | * 默认分页大小 43 | */ 44 | public static final String PAGE_SIZE_DEFAULT = "10"; 45 | 46 | /** 47 | * 默认偏移量 48 | */ 49 | public static final String PAGE_OFFSET_DEFAULT = "0"; 50 | 51 | /** 52 | * 默认排序 53 | */ 54 | public static final String PAGE_SORT_DEFAULT = "gmt_create"; 55 | 56 | /** 57 | * 默认排序方向 58 | */ 59 | public static final String PAGE_ORDER_DEFAULT = "desc"; 60 | 61 | 62 | 63 | } 64 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/controller/DevelopController.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.controller; 2 | 3 | 4 | import org.springframework.stereotype.Controller; 5 | import org.springframework.ui.Model; 6 | import org.springframework.web.bind.annotation.GetMapping; 7 | 8 | import javax.servlet.http.HttpServletRequest; 9 | 10 | @Controller 11 | public class DevelopController { 12 | @GetMapping("/dev") 13 | public String chat(HttpServletRequest request, Model model) { 14 | model.addAttribute("noticeTitle","实验室正在建造中..."); 15 | model.addAttribute("noticeMessage","感谢您的关注,实验室即将上线,敬请期待!"); 16 | model.addAttribute("navtype", "devnav"); 17 | return "other/notice"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/controller/HelloController.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.controller; 2 | 3 | import cn.niter.forum.provider.*; 4 | import org.springframework.beans.factory.annotation.Autowired; 5 | import org.springframework.beans.factory.annotation.Value; 6 | import org.springframework.stereotype.Controller; 7 | import org.springframework.ui.Model; 8 | import org.springframework.web.bind.annotation.GetMapping; 9 | 10 | import javax.servlet.http.HttpServletRequest; 11 | @Controller 12 | public class HelloController { 13 | @Autowired 14 | private AliProvider aliProvider; 15 | 16 | @Autowired 17 | private TinifyProvider tinifyProvider; 18 | 19 | @Autowired 20 | private QCloudProvider qCloudProvider; 21 | 22 | @Autowired 23 | private QqProvider qqProvider; 24 | 25 | @Autowired 26 | private BaiduCloudProvider baiduCloudProvider; 27 | 28 | @Value("${qcloud.keywords.enable}") 29 | private int keywordsEnable; 30 | 31 | @GetMapping("/hello") 32 | public String hello(HttpServletRequest request, Model model) { 33 | //String encodekey = DigestUtils.sha256Hex("测试SHA256"+"adsdsad"); 34 | //System.out.println(encodekey); 35 | try { 36 | JiGuangProvider.test(); 37 | } catch (Exception e) { 38 | e.printStackTrace(); 39 | } 40 | return "other/video2"; 41 | } 42 | 43 | 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/controller/HomeController.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.ui.Model; 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | import org.springframework.web.bind.annotation.RequestParam; 7 | 8 | import javax.servlet.http.HttpServletRequest; 9 | 10 | @Controller 11 | public class HomeController { 12 | 13 | @GetMapping("/home") 14 | public String index(HttpServletRequest request, 15 | Model model, 16 | @RequestParam(name = "page",defaultValue = "1")Integer page, 17 | @RequestParam(name = "size",defaultValue = "15")Integer size, 18 | //@RequestParam(name = "search", defaultValue = "") String search, 19 | @RequestParam(name = "column", defaultValue = "2") Integer column2 20 | ) { 21 | model.addAttribute("column", column2); 22 | model.addAttribute("page", page); 23 | model.addAttribute("navtype", "homenav"); 24 | return "home/index"; 25 | } 26 | 27 | @GetMapping("/home/message") 28 | public String message(HttpServletRequest request, 29 | Model model 30 | ) { 31 | model.addAttribute("navtype", "msgnav"); 32 | return "home/message"; 33 | } 34 | 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/controller/JumpController.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.controller; 2 | 3 | import cn.niter.forum.dto.PaginationDTO; 4 | import cn.niter.forum.dto.UserDTO; 5 | import cn.niter.forum.dto.UserQueryDTO; 6 | import cn.niter.forum.exception.CustomizeErrorCode; 7 | import cn.niter.forum.exception.CustomizeException; 8 | import cn.niter.forum.service.UserService; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.stereotype.Controller; 11 | import org.springframework.ui.Model; 12 | import org.springframework.web.bind.annotation.GetMapping; 13 | import org.springframework.web.bind.annotation.RequestParam; 14 | 15 | import javax.servlet.http.HttpServletRequest; 16 | import java.util.List; 17 | 18 | /** 19 | * @author wadao 20 | * @version 1.0 21 | * @date 2020/7/6 20:20 22 | * @site niter.cn 23 | */ 24 | @Controller 25 | public class JumpController { 26 | @Autowired 27 | private UserService userService; 28 | 29 | @GetMapping("/jump") 30 | public String jump( 31 | HttpServletRequest request, 32 | Model model 33 | ,@RequestParam(name = "type") String type 34 | ,@RequestParam(name = "target") String target){ 35 | 36 | if("user_home".equals(type)){ 37 | UserQueryDTO userQueryDTO = new UserQueryDTO(); 38 | userQueryDTO.setName(target); 39 | userQueryDTO.convert(); 40 | PaginationDTO paginationDTO = userService.list(userQueryDTO); 41 | List userDTOs = paginationDTO.getData(); 42 | if(userDTOs.size()!=1) 43 | throw new CustomizeException(CustomizeErrorCode.USER_IS_EMPTY); 44 | return "redirect:/user/"+userDTOs.get(0).getId(); 45 | } 46 | 47 | 48 | 49 | return "redirect:/forum"; 50 | } 51 | 52 | 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/controller/LikeController.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | 5 | /** 6 | * @author wadao 7 | * @version 2.0 8 | * @date 2020/5/1 16:17 9 | * @site niter.cn 10 | */ 11 | 12 | @Controller 13 | public class LikeController { 14 | 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/controller/ScoreController.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.controller; 2 | 3 | 4 | import org.springframework.stereotype.Controller; 5 | import org.springframework.web.bind.annotation.PostMapping; 6 | import org.springframework.web.bind.annotation.ResponseBody; 7 | 8 | import javax.servlet.http.HttpServletRequest; 9 | import java.util.HashMap; 10 | import java.util.Map; 11 | 12 | @Controller 13 | public class ScoreController { 14 | 15 | @PostMapping("/sign/in") 16 | @ResponseBody 17 | public Map signIn(HttpServletRequest request) { 18 | Map map = new HashMap<>(); 19 | System.out.println("进来了"); 20 | map.put("data","测试"); 21 | map.put("data2","测试"); 22 | 23 | return map; 24 | } 25 | 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/controller/VideoController.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.controller; 2 | 3 | import org.springframework.stereotype.Controller; 4 | import org.springframework.ui.Model; 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | import org.springframework.web.bind.annotation.RequestParam; 7 | 8 | @Controller 9 | public class VideoController { 10 | 11 | @GetMapping("/videos") 12 | public String index(Model model) { 13 | model.addAttribute("navtype", "videonav"); 14 | return "other/videos"; 15 | } 16 | 17 | @GetMapping("/video") 18 | public String video(@RequestParam(name = "aid",required = false) String aid, 19 | @RequestParam(name = "url",required = false) String url, 20 | @RequestParam(name = "page", defaultValue = "1") String page, 21 | @RequestParam(name = "title", defaultValue = "视频播放") String title, 22 | Model model) { 23 | model.addAttribute("title", title); 24 | model.addAttribute("url", url); 25 | // model.addAttribute("navtype", "videonav"); 26 | return "other/video"; 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/AccessTokenDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | public class AccessTokenDTO { 4 | 5 | 6 | private String client_id; 7 | private String client_secret; 8 | private String code; 9 | private String redirect_uri; 10 | private String state; 11 | 12 | public String getClient_id() { 13 | return client_id; 14 | } 15 | 16 | public void setClient_id(String client_id) { 17 | this.client_id = client_id; 18 | } 19 | 20 | public String getClient_secret() { 21 | return client_secret; 22 | } 23 | 24 | public void setClient_secret(String client_secret) { 25 | this.client_secret = client_secret; 26 | } 27 | 28 | public String getCode() { 29 | return code; 30 | } 31 | 32 | public void setCode(String code) { 33 | this.code = code; 34 | } 35 | 36 | public String getRedirect_uri() { 37 | return redirect_uri; 38 | } 39 | 40 | public void setRedirect_uri(String redirect_uri) { 41 | this.redirect_uri = redirect_uri; 42 | } 43 | 44 | public String getState() { 45 | return state; 46 | } 47 | 48 | public void setState(String state) { 49 | this.state = state; 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/AuthResultDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class AuthResultDTO { 7 | private int ret; 8 | private String openid; 9 | private String access_token; 10 | private String expires_in; 11 | private String refresh_token; 12 | private String scope; 13 | private String pay_token; 14 | private String pf; 15 | private String pfkey; 16 | private String msg; 17 | private int login_cost; 18 | private int proxy_expires_in; 19 | //private String query_authority_cost; 20 | private int authority_cost; 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/AuthServiceDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class AuthServiceDTO { 7 | private String id; 8 | private String description; 9 | //private AppleInfo appleInfo; 10 | private AuthResultDTO authResult; 11 | private AuthUserInfoDTO userInfo; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/AuthUserInfoDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | 4 | import lombok.Data; 5 | 6 | @Data 7 | public class AuthUserInfoDTO { 8 | private String openId;//唯一id 9 | private String nickname;//用户在QQ空间的昵称。 10 | private String figureurl_qq;//大小为40×40像素的QQ头像URL。 11 | private String gender;//qq性别。 如果获取不到则默认返回"男"。微博性别,m:男、f:女、n:未知 12 | private String province; 13 | private String city; 14 | private String year; 15 | private String constellation; 16 | private String idstr; 17 | private String screen_name;//用户昵称 18 | private String name;//友好显示名称 19 | private String location;//用户所在地 20 | private String description;// 21 | private String avatar_hd;// 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/BaiduAccessTokenDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class BaiduAccessTokenDTO { 7 | private String client_id; 8 | private String client_secret; 9 | private String code; 10 | private String redirect_uri; 11 | private String grant_type; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/BaiduUserDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class BaiduUserDTO { 7 | private String username; 8 | private Long userid; 9 | private String is_realname; 10 | private String is_bind_mobile; 11 | private String portrait;//头像id http://tb.himg.baidu.com/sys/portrait/item/-portrait- 12 | private String userdetail;//自我简介,可能为空。 13 | private String birthday;//生日,以yyyy-mm-dd格式显示。 14 | private String marriage;//婚姻状况 15 | private String sex;//性别性别。"1"表示男,"0"表示女。 16 | private String blood;//血型 17 | private String figure;//体型 18 | private String constellation;//星座 19 | private String education;//学历 20 | private String trade;//当前职业 21 | private String job;//职业 22 | private String openid; 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/CommentCreateDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import io.swagger.annotations.ApiModel; 4 | import io.swagger.annotations.ApiModelProperty; 5 | import lombok.Builder; 6 | import lombok.Data; 7 | 8 | import javax.validation.constraints.NotBlank; 9 | import javax.validation.constraints.NotNull; 10 | 11 | @Data 12 | @ApiModel(description="评论创建传输对象") 13 | public class CommentCreateDTO { 14 | 15 | @ApiModelProperty(value="评论目标的id",required=true,example="1") 16 | @NotNull(message = "评论目标id不允许为空") 17 | private Long parentId; 18 | 19 | @ApiModelProperty(value="评论内容",required=true) 20 | @NotBlank(message = "评论内容不允许为空") 21 | private String content; 22 | 23 | @ApiModelProperty(value="评论类型,1为回复主题,2为回复评论",required=true,example="1") 24 | @NotNull(message = "评论类型不允许为空") 25 | private Integer type; 26 | 27 | @ApiModelProperty(value="此token在完成验证后自动生成",required=true) 28 | @NotBlank(message = "评论必须携带token") 29 | private String token; 30 | 31 | @ApiModelProperty(value="用户的ip地址",required=true) 32 | @NotBlank(message = "评论必须携带ip") 33 | private String ip; 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/CommentDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class CommentDTO { 7 | private Long id; 8 | private Long parentId; 9 | private Integer type; 10 | private Long commentator; 11 | private Long gmtCreate; 12 | private Long gmtModified; 13 | private String gmtModifiedStr; 14 | private Long likeCount = 0L; 15 | private Integer commentCount = 0; 16 | private String content; 17 | private UserDTO user; 18 | //private UserAccount userAccount; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/CommentQueryDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author wadao 7 | * @version 1.0 8 | * @date 2020/4/18 20:17 9 | * @site niter.cn 10 | */ 11 | 12 | @Data 13 | public class CommentQueryDTO { 14 | private Long id; 15 | private Long parentId; 16 | private Integer type; 17 | private Long commentator; 18 | private Integer page; 19 | private Integer size; 20 | private Integer offset; 21 | private String sort; 22 | private String order; 23 | public void convert(){//对非法输入的参数进行转化 24 | if(this.page==null||this.page<=0) this.page=1; 25 | if(this.size==null||this.size<=0||this.size>20) this.size= 5; 26 | if(this.sort==null||!("gmt_modified".equals(this.sort)||"gmt_create".equals(this.sort))) this.sort= "gmt_create"; 27 | if(this.order==null||!("desc".equals(this.order)||"asc".equals(this.order))) this.order= "desc"; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/FileDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class FileDTO { 7 | private Integer errno; //错误代码,0 表示没有错误。 8 | private String[] data; //已上传的图片路径 9 | // private String layData; //已上传的图片路径 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/GithubUser.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class GithubUser { 7 | 8 | private String name; 9 | private Long id; 10 | private String bio; 11 | private String avatarUrl; 12 | /* 13 | public String getName() { 14 | return name; 15 | } 16 | 17 | public void setName(String name) { 18 | this.name = name; 19 | } 20 | 21 | public Long getId() { 22 | return id; 23 | } 24 | 25 | public void setId(Long id) { 26 | this.id = id; 27 | } 28 | 29 | public String getBio() { 30 | return bio; 31 | } 32 | 33 | public void setBio(String bio) { 34 | this.bio = bio; 35 | } 36 | 37 | public String getAvatarUrl() { 38 | return avatarUrl; 39 | } 40 | 41 | public void setAvatarUrl(String avatarUrl) { 42 | this.avatarUrl = avatarUrl; 43 | }*/ 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/HotTagDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class HotTagDTO implements Comparable { 7 | private String name; 8 | private Integer priority; 9 | 10 | @Override 11 | public int compareTo(Object o) { 12 | return this.getPriority() - ((HotTagDTO) o).getPriority(); 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/LikeQueryDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author wadao 7 | * @version 1.0 8 | * @date 2020/9/27 13:37 9 | * @site niter.cn 10 | */ 11 | 12 | @Data 13 | public class LikeQueryDTO { 14 | private Long id; 15 | private Long targetId; 16 | private Integer type; 17 | private Long liker; 18 | private Integer page; 19 | private Integer size; 20 | private Integer offset; 21 | private String sort; 22 | private String order; 23 | public void convert(){//对非法输入的参数进行转化 24 | if(this.page==null||this.page<=0) this.page=1; 25 | if(this.size==null||this.size<=0||this.size>20) this.size= 5; 26 | if(this.sort==null||!("gmt_modified".equals(this.sort)||"gmt_create".equals(this.sort))) this.sort= "gmt_create"; 27 | if(this.order==null||!("desc".equals(this.order)||"asc".equals(this.order))) this.order= "desc"; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/NewsDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import com.alibaba.fastjson.JSONArray; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class NewsDTO { 8 | private String id; 9 | private Long newsId; 10 | 11 | private String title; 12 | private String content; 13 | private String html; 14 | private String link; 15 | private String source; 16 | private Boolean havePic; 17 | private String pubDate; 18 | private JSONArray imageurls; 19 | private String imageurl1; 20 | private String imageurl2; 21 | private String imageurl3; 22 | 23 | 24 | private String description; 25 | private String tag; 26 | private Long gmtCreate; 27 | private Long gmtModified; 28 | 29 | // private Long creator; 30 | private Integer viewCount; 31 | private Integer commentCount; 32 | private Integer likeCount; 33 | // private User user; 34 | // private UserAccount userAccount; 35 | private Long gmtLatestComment; 36 | private Integer status; 37 | private Integer column2; 38 | private String columnStr; 39 | //private Integer permission; 40 | 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/NewsQueryDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class NewsQueryDTO { 7 | private String search; 8 | private String tag; 9 | private String sort; 10 | private Long time; 11 | private Integer offset; 12 | private Integer size; 13 | private Integer column2; 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/NotificationDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class NotificationDTO { 7 | private Long id; 8 | private Long gmtCreate; 9 | private Integer status; 10 | private Long notifier; 11 | private String notifierName; 12 | private String outerTitle; 13 | private Long outerid; 14 | private String typeName; 15 | private Integer type; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/PaginationDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | @Data 9 | public class PaginationDTO { 10 | private List data; 11 | private boolean showPrevious; 12 | private boolean showFirstPage; 13 | private boolean showNext; 14 | private boolean showEndPage; 15 | private Integer page; 16 | private List pages = new ArrayList<>(); 17 | private Integer totalPage; 18 | private Integer totalCount; 19 | public void setPagination(Integer totalPage, Integer page) { 20 | this.totalPage = totalPage; 21 | this.page = page; 22 | 23 | if(totalPage!=0) pages.add(page); 24 | for (int i = 1; i <= 3; i++) {//显示前后各三页 25 | if (page - i > 0) { 26 | pages.add(0, page - i);//一直往前加 27 | } 28 | 29 | if (page + i <= totalPage) { 30 | pages.add(page + i);//一直往后加 31 | } 32 | } 33 | 34 | // 是否展示上一页 35 | if (page == 1) { 36 | showPrevious = false; 37 | } else { 38 | showPrevious = true; 39 | } 40 | 41 | // 是否展示下一页 42 | if (page == totalPage||totalPage==0) { 43 | showNext = false; 44 | } else { 45 | showNext = true; 46 | } 47 | 48 | // 是否展示第一页 49 | if (pages.contains(1)||totalPage==0) { 50 | showFirstPage = false; 51 | } else { 52 | showFirstPage = true; 53 | } 54 | 55 | // 是否展示最后一页 56 | if (pages.contains(totalPage)||totalPage==0) { 57 | showEndPage = false; 58 | } else { 59 | showEndPage = true; 60 | } 61 | } 62 | 63 | 64 | 65 | 66 | 67 | } 68 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/QqAccessTokenDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class QqAccessTokenDTO { 7 | private String client_id; 8 | private String client_secret; 9 | private String code; 10 | private String redirect_uri; 11 | private String grant_type; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/QqUserDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class QqUserDTO { 7 | private String openId;//唯一id 8 | private String nickname;//用户在QQ空间的昵称。 9 | private String figureurl_qq;//大小为40×40像素的QQ头像URL。 10 | private String gender;//性别。 如果获取不到则默认返回"男" 11 | private String province; 12 | private String city; 13 | private String year; 14 | private String constellation; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/QuestionDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import cn.niter.forum.model.UserAccount; 4 | import lombok.Data; 5 | 6 | @Data 7 | public class QuestionDTO { 8 | private Long id; 9 | private String title; 10 | private String description; 11 | private String tag; 12 | private Long gmtCreate; 13 | private Long gmtModified; 14 | private String gmtModifiedStr; 15 | private Long creator; 16 | private Integer viewCount; 17 | private Integer commentCount; 18 | private Integer likeCount; 19 | private String userGroupName; 20 | //private User user; 21 | private UserDTO user; 22 | private UserAccount userAccount; 23 | private Long gmtLatestComment; 24 | private String gmtLatestCommentStr; 25 | private String shortDescription; 26 | private Integer isVisible; 27 | private Integer status; 28 | private Integer column2; 29 | private Integer permission;//阅读权限 30 | 31 | //状态 32 | private boolean approved = true;//是否合法(通过审核) 33 | private boolean sticky = false;//是否置顶 34 | private boolean essence = false;//是否加精 35 | private boolean favorite = false;//是否收藏 36 | private boolean edited = false;//是否编辑过 37 | private boolean paid = false;//是否收费 38 | private boolean canReply = true;//能否回复 39 | private boolean canView = true;//能否查看 40 | private boolean canFavorite = true;//能否收藏 41 | private boolean canSticky = false;//能否置顶,最高权限标志 42 | private boolean canEssence = false;//能否加精 43 | private boolean canDelete = false;//能否删除 44 | private boolean canPromote = false;//能否提升 45 | private boolean canClassify = false;//能否修改分类 46 | private boolean canEdit = false;//能否编辑 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/QuestionQueryDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class QuestionQueryDTO { 7 | private String search; 8 | private String tag; 9 | private String sort; 10 | private Long time; 11 | private Integer page; 12 | private Integer offset; 13 | private Integer size; 14 | private Integer column2; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/TagDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.List; 6 | 7 | @Data 8 | public class TagDTO { 9 | private String categoryName; 10 | private List tags; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/TalkDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author wadao 7 | * @version 1.0 8 | * @date 2020/9/23 18:43 9 | * @site niter.cn 10 | */ 11 | 12 | @Data 13 | public class TalkDTO { 14 | private Long id; 15 | private Integer type; 16 | private Integer status; 17 | private Integer permission; 18 | private Long gmtCreate; 19 | private Long gmtModified; 20 | private Long gmtLatestComment; 21 | //private String gmtModifiedStr; 22 | private Integer viewCount = 0; 23 | private Integer likeCount = 0; 24 | private Integer commentCount = 0; 25 | private String description; 26 | private String title; 27 | private String images; 28 | private String video; 29 | private UserDTO user; 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/TalkQueryDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author wadao 7 | * @version 1.0 8 | * @date 2020/9/24 21:46 9 | * @site niter.cn 10 | */ 11 | 12 | @Data 13 | public class TalkQueryDTO { 14 | private Long id; 15 | private Integer type; 16 | private String menu; 17 | private Integer status; 18 | private Long creator; 19 | private Integer page; 20 | private Integer size; 21 | private Integer offset; 22 | private String sort; 23 | private String order; 24 | public void convert(){//对非法输入的参数进行转化 25 | if(this.page==null||this.page<=0) this.page=1; 26 | if(this.size==null||this.size<=0||this.size>20) this.size= 5; 27 | if(this.sort==null||!("gmt_modified".equals(this.sort)||"gmt_create".equals(this.sort)||"gmt_latest_comment".equals(this.sort))) this.sort= "gmt_latest_comment"; 28 | if(this.order==null||!("desc".equals(this.order)||"asc".equals(this.order))) this.order= "desc"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/ThumbDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @author wadao 7 | * @version 1.0 8 | * @date 2020/7/13 23:24 9 | * @site niter.cn 10 | */ 11 | @Data 12 | public class ThumbDTO { 13 | private Long id; 14 | private Long targetId; 15 | private Integer type; 16 | private UserDTO user; 17 | private Long gmtCreate; 18 | private Long gmtModified; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/TinifyPngDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class TinifyPngDTO { 7 | String url; 8 | UserDTO user; 9 | String fileName; 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/TwitterDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import cn.niter.forum.model.User; 4 | import cn.niter.forum.model.UserAccount; 5 | import com.alibaba.fastjson.JSONArray; 6 | import lombok.Data; 7 | 8 | @Data 9 | public class TwitterDTO { 10 | private Long tId; 11 | 12 | private String title; 13 | private String content; 14 | private String html; 15 | private String link; 16 | private String source; 17 | private Boolean havePic; 18 | private String pubDate; 19 | private JSONArray imageurls; 20 | private String imageurl1; 21 | private String imageurl2; 22 | private String imageurl3; 23 | 24 | 25 | private String description; 26 | private String tag; 27 | private Long gmtCreate; 28 | private Long gmtModified; 29 | private Long creator; 30 | private Integer viewCount; 31 | private Integer commentCount; 32 | private Integer likeCount; 33 | private User user; 34 | private UserAccount userAccount; 35 | private Long gmtLatestComment; 36 | private Integer status; 37 | private Integer column2; 38 | private Integer permission; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/UserDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class UserDTO { 7 | private Long id; 8 | private String name; 9 | private String avatarUrl; 10 | private Integer vipRank; 11 | private Integer groupId; 12 | private String groupStr; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/UserQueryDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class UserQueryDTO { 7 | private Long id; 8 | private String name; 9 | private String email; 10 | private String phone; 11 | private Integer offset; 12 | private Integer size; 13 | private Integer page; 14 | private String sort; 15 | private String order; 16 | public void convert(){//对非法输入的参数进行转化 17 | if(this.page==null||this.page<=0) this.page=1; 18 | if(this.size==null||this.size<=0||this.size>20) this.size= 5; 19 | if(this.sort==null||!("gmt_modified".equals(this.sort)||"gmt_create".equals(this.sort))) this.sort= "gmt_create"; 20 | if(this.order==null||!("desc".equals(this.order)||"asc".equals(this.order))) this.order= "desc"; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/ValidateDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class ValidateDTO { 7 | private Integer socre; 8 | private Integer success; 9 | private String msg; 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/WeiboAccessTokenDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class WeiboAccessTokenDTO { 7 | private String client_id; 8 | private String client_secret; 9 | private String code; 10 | private String redirect_uri; 11 | private String grant_type; 12 | } 13 | 14 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/dto/WeiboUserDTO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.dto; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class WeiboUserDTO { 7 | private String idstr; 8 | private String screen_name;//用户昵称 9 | private String name;//友好显示名称 10 | private String location;//用户所在地 11 | private String description;// 12 | private String avatar_hd;// 13 | private String gender;//性别,m:男、f:女、n:未知 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/enums/AdPosEnum.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.enums; 2 | 3 | public enum AdPosEnum { 4 | AD_NAV, AD_SIDE, AD_FOOTER, AD_HEADER 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/enums/ColumnEnum.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.enums; 2 | 3 | public enum ColumnEnum { 4 | ASK(1), 5 | SHARE(2), 6 | SUGGEST(3), 7 | TALK(4), 8 | NOTICE(5), 9 | NEWS(6), 10 | OTHER(9); 11 | private Integer type; 12 | public Integer getType() { 13 | return type; 14 | } 15 | 16 | ColumnEnum(Integer type) { 17 | this.type = type; 18 | } 19 | 20 | public static boolean isExist(Integer type) { 21 | for (ColumnEnum columnEnum : ColumnEnum.values()) { 22 | if (columnEnum.getType() == type) { 23 | return true; 24 | } 25 | } 26 | return false; 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/enums/CommentTypeEnum.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.enums; 2 | 3 | public enum CommentTypeEnum { 4 | QUESTION(1), 5 | COMMENT(2), 6 | SUB_COMMENT(3), 7 | TALK(11), 8 | TALK_COMMENT(12), 9 | TALK_SUB_COMMENT(13); 10 | private Integer type; 11 | 12 | 13 | public Integer getType() { 14 | return type; 15 | } 16 | 17 | CommentTypeEnum(Integer type) { 18 | this.type = type; 19 | } 20 | 21 | public static boolean isExist(Integer type) { 22 | for (CommentTypeEnum commentTypeEnum : CommentTypeEnum.values()) { 23 | if (commentTypeEnum.getType() == type) { 24 | return true; 25 | } 26 | } 27 | return false; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/enums/LikeTypeEnum.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.enums; 2 | 3 | public enum LikeTypeEnum { 4 | QUESTION(1), 5 | COMMENT(2), 6 | SUB_COMMENT(3), 7 | TALK(11); 8 | private Integer type; 9 | 10 | 11 | public Integer getType() { 12 | return type; 13 | } 14 | 15 | LikeTypeEnum(Integer type) { 16 | this.type = type; 17 | } 18 | 19 | public static boolean isExist(Integer type) { 20 | for (LikeTypeEnum likeTypeEnum : LikeTypeEnum.values()) { 21 | if (likeTypeEnum.getType() == type) { 22 | return true; 23 | } 24 | } 25 | return false; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/enums/NewsColumnEnum.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.enums; 2 | 3 | public enum NewsColumnEnum { 4 | NEWS_COLUMN_HULIANWANG(1,"5572a109b3cdc86cf39001e3","互联网"), 5 | NEWS_COLUMN_KEJI(2,"5572a10ab3cdc86cf39001f4","科技"), 6 | NEWS_COLUMN_DIANNAO(3,"5572a10bb3cdc86cf39001f6","电脑"), 7 | NEWS_COLUMN_SHUMA(4,"5572a10bb3cdc86cf39001f5","数码"), 8 | NEWS_COLUMN_KEPU(5,"572a10bb3cdc86cf39001f7","科普"), 9 | NEWS_COLUMN_TIYU(6,"5572a109b3cdc86cf39001e6","体育"), 10 | NEWS_COLUMN_YULE(7,"5572a108b3cdc86cf39001d5","娱乐"), 11 | NEWS_COLUMN_GUONEI(8,"5572a108b3cdc86cf39001cd","国内"), 12 | ; 13 | private Integer code; 14 | private String strId; 15 | private String name; 16 | 17 | 18 | public String getStrId() { 19 | return strId; 20 | } 21 | 22 | public Integer getCode() { 23 | return code; 24 | } 25 | 26 | public String getName() { 27 | return name; 28 | } 29 | 30 | public static Integer strIdToCode(String strId) { 31 | for (NewsColumnEnum value : NewsColumnEnum.values()) { 32 | if(strId.equals(value.getStrId())) return value.getCode(); 33 | } 34 | return 0; 35 | } 36 | 37 | public static String codeToName(Integer code) { 38 | for (NewsColumnEnum value : NewsColumnEnum.values()) { 39 | if(code==value.getCode()) return value.getName(); 40 | } 41 | return "其它"; 42 | } 43 | 44 | NewsColumnEnum(Integer code,String strId,String name){ 45 | this.code = code; 46 | this.strId = strId; 47 | this.name = name; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/enums/NotificationStatusEnum.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.enums; 2 | 3 | public enum NotificationStatusEnum { 4 | UNREAD(0), READ(1); 5 | private int status; 6 | 7 | public int getStatus() { 8 | return status; 9 | } 10 | 11 | NotificationStatusEnum(int status) { 12 | this.status = status; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/enums/NotificationTypeEnum.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.enums; 2 | 3 | public enum NotificationTypeEnum { 4 | REPLY_QUESTION(1, "回复了您的问题"), 5 | REPLY_COMMENT(2, "回复了您的评论"), 6 | REPLY_SUB_COMMENT(21, "评论了您的回复"), 7 | LIKE_QUESTION(3, "收藏了您的问题"), 8 | LIKE_COMMENT(4, "点赞了您的回复"), 9 | LIKE_SUB_COMMENT(5, "点赞了您的评论"), 10 | REPLY_TALK(11, "回复了您的说说"), 11 | REPLY_TALK_COMMENT(12, "回复了您的评论"), 12 | LIKE_TALK(14, "点赞了您的说说"), 13 | LIKE_TALK_COMMENT(15, "点赞了您的评论"); 14 | private int type; 15 | private String name; 16 | 17 | 18 | public int getType() { 19 | return type; 20 | } 21 | 22 | public String getName() { 23 | return name; 24 | } 25 | 26 | NotificationTypeEnum(int status, String name) { 27 | this.type = status; 28 | this.name = name; 29 | } 30 | 31 | public static String nameOfType(int type) { 32 | for (NotificationTypeEnum notificationTypeEnum : NotificationTypeEnum.values()) { 33 | if (notificationTypeEnum.getType() == type) { 34 | return notificationTypeEnum.getName(); 35 | } 36 | } 37 | return ""; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/enums/SortEnum.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.enums; 2 | 3 | public enum SortEnum { 4 | HOT, 5 | HOT30, 6 | HOT7, 7 | NO, 8 | NEW, 9 | GOOD; 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/exception/CustomizeException.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.exception; 2 | 3 | public class CustomizeException extends RuntimeException { 4 | private String message; 5 | private Integer code; 6 | 7 | public CustomizeException(ICustomizeErrorCode errorCode) { 8 | this.code = errorCode.getCode(); 9 | this.message = errorCode.getMessage(); 10 | } 11 | 12 | @Override 13 | public String getMessage() { 14 | return message; 15 | } 16 | 17 | public Integer getCode() { 18 | return code; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/exception/ICustomizeErrorCode.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.exception; 2 | 3 | public interface ICustomizeErrorCode { 4 | String getMessage() ; 5 | Integer getCode(); 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/mapper/CommentExtMapper.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.mapper; 2 | 3 | import cn.niter.forum.dto.CommentQueryDTO; 4 | import cn.niter.forum.model.Comment; 5 | 6 | public interface CommentExtMapper { 7 | int incCommentCount(Comment comment); 8 | 9 | Integer countBySearch(CommentQueryDTO commentQueryDTO); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/mapper/NewsExtMapper.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.mapper; 2 | 3 | import cn.niter.forum.dto.NewsQueryDTO; 4 | import cn.niter.forum.model.News; 5 | 6 | import java.util.List; 7 | 8 | public interface NewsExtMapper { 9 | int incView(News record); 10 | Integer countBySearch(NewsQueryDTO newsQueryDTO); 11 | List selectBySearch(NewsQueryDTO newsQueryDTO); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/mapper/QuestionExtMapper.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.mapper; 2 | 3 | import cn.niter.forum.dto.QuestionQueryDTO; 4 | import cn.niter.forum.model.Question; 5 | 6 | import java.util.List; 7 | 8 | public interface QuestionExtMapper { 9 | int incView(Question record); 10 | 11 | int incCommentCount(Question record); 12 | 13 | List selectRelated(Question question); 14 | 15 | List selectTop(QuestionQueryDTO questionQueryDTO); 16 | 17 | 18 | Integer countBySearch(QuestionQueryDTO questionQueryDTO); 19 | 20 | List selectBySearch(QuestionQueryDTO questionQueryDTO); 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/mapper/TalkExtMapper.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.mapper; 2 | 3 | import cn.niter.forum.dto.TalkQueryDTO; 4 | import cn.niter.forum.model.Talk; 5 | 6 | /** 7 | * @author wadao 8 | * @version 1.0 9 | * @date 2020/9/24 21:53 10 | * @site niter.cn 11 | */ 12 | public interface TalkExtMapper { 13 | 14 | Integer count(TalkQueryDTO talkQueryDTO); 15 | 16 | int updateByPrimaryKeySelective(Talk talk); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/mapper/ThumbExtMapper.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.mapper; 2 | 3 | import cn.niter.forum.dto.LikeQueryDTO; 4 | import cn.niter.forum.model.Comment; 5 | import cn.niter.forum.model.Question; 6 | 7 | public interface ThumbExtMapper { 8 | int incLikeCount(Comment comment); 9 | 10 | int incQuestionLikeCount(Question question); 11 | 12 | Integer count(LikeQueryDTO likeQueryDTO); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/mapper/UserAccountExtMapper.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.mapper; 2 | 3 | import cn.niter.forum.model.UserAccount; 4 | 5 | public interface UserAccountExtMapper { 6 | 7 | int incScore(UserAccount userAccount); 8 | int decScore(UserAccount userAccount); 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/mapper/UserExtMapper.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.mapper; 2 | 3 | import cn.niter.forum.dto.UserQueryDTO; 4 | import cn.niter.forum.model.User; 5 | 6 | import java.util.List; 7 | 8 | public interface UserExtMapper { 9 | List selectLatestLoginUser(UserQueryDTO userQueryDTO); 10 | Integer count(UserQueryDTO userQueryDTO); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/schedule/TinifyPngTasks.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.schedule; 2 | 3 | 4 | import cn.niter.forum.cache.TinifyPngCache; 5 | import cn.niter.forum.dto.TinifyPngDTO; 6 | import cn.niter.forum.provider.QCloudProvider; 7 | import cn.niter.forum.provider.TinifyProvider; 8 | import lombok.extern.slf4j.Slf4j; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.scheduling.annotation.Scheduled; 11 | import org.springframework.stereotype.Component; 12 | 13 | import java.io.IOException; 14 | import java.io.InputStream; 15 | import java.util.Date; 16 | import java.util.List; 17 | 18 | @Component 19 | @Slf4j 20 | public class TinifyPngTasks { 21 | 22 | @Autowired 23 | private TinifyPngCache tinifyPngCache; 24 | @Autowired 25 | private TinifyProvider tinifyProvider; 26 | @Autowired 27 | private QCloudProvider qCloudProvider; 28 | 29 | @Scheduled(cron = "0 11 13,23 * * ?") 30 | public void tinifyPngSchedule() { 31 | log.info("tinifyPngSchedule start {}", new Date()); 32 | List images = tinifyPngCache.get(); 33 | if(images.size()>0){ 34 | for (TinifyPngDTO image : images) { 35 | try { 36 | InputStream streamfromUrl = tinifyProvider.getStreamfromUrl(image.getUrl()); 37 | String img = qCloudProvider.uploadtoBucket(streamfromUrl, "img", "image/png", image.getUser(), image.getFileName(), (long)streamfromUrl.available()); 38 | log.info(img+"已压缩并上传覆盖 {}", new Date()); 39 | 40 | } catch (IOException e) { 41 | e.printStackTrace(); 42 | } 43 | 44 | } 45 | 46 | tinifyPngCache.clear(); 47 | }else { 48 | log.info("此时间段没有需要压缩的png图片 {}", new Date()); 49 | } 50 | 51 | log.info("tinifyPngSchedule stop {}", new Date()); 52 | } 53 | 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/service/AdService.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.service; 2 | 3 | import cn.niter.forum.mapper.AdMapper; 4 | import cn.niter.forum.model.Ad; 5 | import cn.niter.forum.model.AdExample; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import java.util.List; 10 | 11 | @Service 12 | public class AdService { 13 | @Autowired 14 | private AdMapper adMapper; 15 | 16 | public List list(String pos) { 17 | AdExample adExample = new AdExample(); 18 | adExample.createCriteria() 19 | .andStatusEqualTo(1) 20 | .andPosEqualTo(pos) 21 | .andGmtStartLessThan(System.currentTimeMillis()) 22 | .andGmtEndGreaterThan(System.currentTimeMillis()); 23 | return adMapper.selectByExample(adExample); 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/service/UserAccountService.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.service; 2 | 3 | 4 | import cn.niter.forum.mapper.UserAccountMapper; 5 | import cn.niter.forum.model.UserAccount; 6 | import cn.niter.forum.model.UserAccountExample; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | 10 | import java.util.List; 11 | 12 | @Service 13 | public class UserAccountService { 14 | 15 | @Autowired 16 | private UserAccountMapper userAccountMapper; 17 | 18 | 19 | public UserAccount selectUserAccountByUserId(Long userId) { 20 | // Long id = Long.parseLong(userId); 21 | UserAccountExample userAccountExample = new UserAccountExample(); 22 | userAccountExample.createCriteria().andUserIdEqualTo(userId); 23 | List userAccounts = userAccountMapper.selectByExample(userAccountExample); 24 | UserAccount userAccount = userAccounts.get(0); 25 | return userAccount; 26 | } 27 | 28 | public boolean isAdminByUserId(Long userId){ 29 | if(selectUserAccountByUserId(userId).getGroupId()>=18) return true; 30 | else return false; 31 | 32 | } 33 | 34 | } 35 | 36 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/service/UserInfoService.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.service; 2 | 3 | 4 | import cn.niter.forum.mapper.UserInfoMapper; 5 | import cn.niter.forum.model.UserInfo; 6 | import cn.niter.forum.model.UserInfoExample; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | 10 | import java.util.List; 11 | 12 | @Service 13 | public class UserInfoService { 14 | @Autowired 15 | private UserInfoMapper userInfoMapper; 16 | 17 | private final int[] dayArr = new int[] { 20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22 }; 18 | private final String[] constellationArr = new String[] { "摩羯座", "水瓶座", "双鱼座", "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "摩羯座" }; 19 | 20 | public int updateByUserId(UserInfo userInfo,Long userId){ 21 | UserInfoExample userInfoExample = new UserInfoExample(); 22 | userInfoExample.createCriteria().andUserIdEqualTo(userId); 23 | return userInfoMapper.updateByExampleSelective(userInfo,userInfoExample); 24 | } 25 | 26 | public UserInfo selectByUserId(Long userId) { 27 | // Long id = Long.parseLong(userId); 28 | UserInfoExample userInfoExample = new UserInfoExample(); 29 | userInfoExample.createCriteria().andUserIdEqualTo(userId); 30 | List userInfos = userInfoMapper.selectByExample(userInfoExample); 31 | UserInfo userInfo = userInfos.get(0); 32 | return userInfo; 33 | } 34 | 35 | public String getConstellation(int month, int day) { 36 | return day < dayArr[month - 1] ? constellationArr[month - 1] : constellationArr[month]; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/util/CookieUtils.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.util; 2 | 3 | import org.springframework.beans.factory.annotation.Value; 4 | import org.springframework.stereotype.Component; 5 | 6 | import javax.servlet.http.Cookie; 7 | 8 | /** 9 | * @author wadao 10 | * @version 1.0 11 | * @date 2020/5/9 22:04 12 | * @site niter.cn 13 | */ 14 | 15 | @Component("CookieUtils") 16 | public class CookieUtils { 17 | @Value("${site.main.domain}") 18 | private String domain; 19 | 20 | public Cookie getCookie(String key,String value,int time) { 21 | Cookie cookie = new Cookie(key, value); 22 | cookie.setSecure(true); //服务只能通过https来进行cookie的传递,使用http服务无法提供服务。 23 | cookie.setHttpOnly(true);//通过js脚本是无法获取到cookie的信息的。防止XSS攻击。 24 | cookie.setMaxAge(time);//缩短为三天86400 * 3 * 1 25 | cookie.setDomain(domain); 26 | cookie.setPath("/"); 27 | return cookie; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/vo/CommentInsertVO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.vo; 2 | 3 | import io.swagger.annotations.ApiModel; 4 | import io.swagger.annotations.ApiModelProperty; 5 | import lombok.Data; 6 | 7 | import javax.validation.constraints.NotBlank; 8 | import javax.validation.constraints.NotNull; 9 | 10 | /** 11 | * @author wadao 12 | * @version 1.0 13 | * @date 2020/7/4 16:55 14 | * @site niter.cn 15 | */ 16 | 17 | @Data 18 | @ApiModel(description="评论创建视图对象") 19 | public class CommentInsertVO { 20 | @ApiModelProperty(value="评论目标的id",required=true,example="1") 21 | @NotNull(message = "评论目标id不允许为空") 22 | private Long parentId; 23 | 24 | @ApiModelProperty(value="评论内容",required=true) 25 | @NotBlank(message = "评论内容不允许为空") 26 | private String content; 27 | 28 | @ApiModelProperty(value="评论类型,1为回复主题,2为回复评论",required=true,example="1") 29 | @NotNull(message = "评论类型不允许为空") 30 | private Integer type; 31 | 32 | @ApiModelProperty(value="此token在完成验证后自动生成",required=true) 33 | @NotBlank(message = "评论必须携带token") 34 | private String token; 35 | 36 | @ApiModelProperty(value="用户的ip地址",required=true) 37 | @NotBlank(message = "评论必须携带ip") 38 | private String ip; 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/vo/TalkInsertVO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.vo; 2 | 3 | import io.swagger.annotations.ApiModel; 4 | import io.swagger.annotations.ApiModelProperty; 5 | import lombok.Data; 6 | 7 | import javax.validation.constraints.NotBlank; 8 | import javax.validation.constraints.NotNull; 9 | 10 | /** 11 | * @author wadao 12 | * @version 1.0 13 | * @date 2020/9/23 18:34 14 | * @site niter.cn 15 | */ 16 | 17 | @Data 18 | @ApiModel(description="说说创建视图对象") 19 | public class TalkInsertVO { 20 | 21 | @ApiModelProperty(value="内容",required=true) 22 | @NotBlank(message = "内容不允许为空") 23 | private String description; 24 | 25 | @ApiModelProperty(value="说说类型,默认为1",required=true,example="1") 26 | @NotNull(message = "说说类型不允许为空") 27 | private Integer type; 28 | 29 | @ApiModelProperty(value="图片地址") 30 | private String images; 31 | 32 | @ApiModelProperty(value="视频地址") 33 | private String video; 34 | 35 | @ApiModelProperty(value="此token在完成验证后自动生成",required=true) 36 | @NotBlank(message = "评论必须携带token") 37 | private String token; 38 | 39 | @ApiModelProperty(value="用户的ip地址",required=true) 40 | @NotBlank(message = "无法正常获取用户ip") 41 | private String ip; 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/cn/niter/forum/vo/ThumbVO.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum.vo; 2 | 3 | import io.swagger.annotations.ApiModel; 4 | import io.swagger.annotations.ApiModelProperty; 5 | import lombok.Data; 6 | 7 | import javax.validation.constraints.Min; 8 | import javax.validation.constraints.NotNull; 9 | 10 | /** 11 | * @author wadao 12 | * @version 1.0 13 | * @date 2020/7/13 23:14 14 | * @site niter.cn 15 | */ 16 | @Data 17 | @ApiModel(description="点赞/收藏创建视图对象") 18 | public class ThumbVO { 19 | 20 | @ApiModelProperty(value="点赞/收藏目标的id",required=true,example="1") 21 | @Min(value=1L,message = "评论目标id必须大于0") 22 | @NotNull(message = "评论目标id不允许为空") 23 | private Long targetId; 24 | @ApiModelProperty(value="点赞/收藏目标的类型",required=true,example="1") 25 | @Min(value=1,message = "评论目标类型必须大于0") 26 | @NotNull(message = "评论目标类型不允许为空") 27 | private Integer type; 28 | } 29 | 30 | -------------------------------------------------------------------------------- /src/main/resources/mapper/UserAccountExtMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | update user_account 17 | set 18 | SCORE1 = SCORE1 + #{score1,jdbcType=INTEGER}, 19 | SCORE2 = SCORE2 + #{score2,jdbcType=INTEGER}, 20 | SCORE3 = SCORE3 + #{score3,jdbcType=INTEGER}, 21 | SCORE = SCORE + #{score,jdbcType=INTEGER} 22 | where user_id = #{userId} 23 | 24 | 25 | 26 | update user_account 27 | set 28 | SCORE1 = SCORE1 - #{score1,jdbcType=INTEGER}, 29 | SCORE2 = SCORE2 - #{score2,jdbcType=INTEGER}, 30 | SCORE3 = SCORE3 - #{score3,jdbcType=INTEGER}, 31 | SCORE = SCORE - #{score,jdbcType=INTEGER} 32 | where user_id = #{userId} 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/main/resources/static/css/full.css: -------------------------------------------------------------------------------- 1 | /*! 默认风格 */ 2 | 3 | html body{margin-top:0; margin-left: 136px;} 4 | html .fly-full{margin-top: 0;} 5 | 6 | .main{width:auto; margin:15px 24px 15px 24px;} 7 | .content{margin-right: 360px;} 8 | .jie-row li .jie-title{max-width:70%;} 9 | 10 | /* 头部 */ 11 | .header{width:136px; height:100%;} 12 | .header .main{position: static; width:auto;} 13 | .logo{top:20px; left:50%; width:86px; height:74px; margin-left:-43px; background:url(../images/logo-1.png);} 14 | .nav{position:relative; left:0; top:110px; border-top:1px solid #282C35;} 15 | .nav a{display:block; height:50px; line-height:50px; padding:0; text-align:center;} 16 | .nav a:first-child{border-top:1px solid #424857;} 17 | .nav-user span{margin-top: 10px;} 18 | 19 | .icon-touxiang{font-size: 60px;} 20 | 21 | .nav-user{top: auto; bottom:20px; left:0; width:100%;} 22 | .nav-user span, 23 | .nav-user .unlogin, 24 | .out-login, 25 | .avatar, 26 | .avatar cite, 27 | .nav-user .nav{display:block; *display:block; text-align:center;} 28 | .nav-user span{top: 0;} 29 | .nav-user span a{padding:0 6px;} 30 | .nav-user .unlogin{margin-right: 0;} 31 | .out-login{margin-left:0; margin-top:20px;} 32 | .out-login a{ padding:0 5px;} 33 | .nav-user .nav{position:relative; margin-left: 0; margin-top: 15px;} 34 | 35 | .avatar img{width:60px; height:60px;} 36 | .avatar cite{margin-left: 0; margin-top:10px; } 37 | .avatar i{margin-left: 0;} 38 | 39 | .nav-message{left: auto; right: 10px;} 40 | 41 | /* 适配 */ 42 | @media screen and (max-width: 1024px) { 43 | html body{margin-left: 140px;} 44 | .main{margin: 15px 10px;} 45 | .content{margin: 0;} 46 | .edge{display:none} 47 | } 48 | 49 | @media screen and (max-width: 750px) { 50 | html body{margin-left:0;} 51 | .header{left:-140px;} 52 | .edge{display: block;} 53 | } 54 | -------------------------------------------------------------------------------- /src/main/resources/static/css/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/css/iconfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/css/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/css/iconfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/css/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/css/iconfont.woff -------------------------------------------------------------------------------- /src/main/resources/static/css/index.css: -------------------------------------------------------------------------------- 1 | .issue-right { 2 | border-right-style: solid; 3 | border-right-width: 1px; 4 | border-right-color: #efefef; 5 | } 6 | .issuse-question-class { 7 | background-color: #efefef; 8 | color: black; 9 | border-right: solid 1em #efefef; 10 | border-left: solid 1em #efefef; 11 | border-radius: 10px; 12 | } 13 | .issuse-question-class:hover { 14 | background-color: #dedede; 15 | text-decoration:none; 16 | color: white; 17 | border-right: solid 1em #dedede; 18 | border-left: solid 1em #dedede; 19 | border-radius: 10px; 20 | border-radius: 10px; 21 | } 22 | .issuse-question-people { 23 | color: #c6c5c1; 24 | margin-right: 1em; 25 | margin-left: 1em; 26 | } 27 | .issuse-question-people:hover { 28 | text-decoration:none; 29 | color: #a5a5a5; 30 | } 31 | .issuse-question-span { 32 | color: #989898; 33 | } 34 | .link-to-text { 35 | color: #155faa; 36 | } 37 | .link-to-text:hover { 38 | color: #499ef3; 39 | text-decoration:none; 40 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/myeditor.css: -------------------------------------------------------------------------------- 1 | /* table 样式 */ 2 | table { 3 | border-top: 1px solid #ccc; 4 | border-left: 1px solid #ccc; 5 | } 6 | table td, 7 | table th { 8 | border-bottom: 1px solid #ccc; 9 | border-right: 1px solid #ccc; 10 | padding: 3px 5px; 11 | } 12 | table th { 13 | border-bottom: 2px solid #ccc; 14 | text-align: center; 15 | } 16 | 17 | /* blockquote 样式 */ 18 | blockquote { 19 | display: block; 20 | border-left: 8px solid #d0e5f2; 21 | padding: 5px 10px; 22 | margin: 10px 0; 23 | line-height: 1.4; 24 | font-size: 100%; 25 | background-color: #f1f1f1; 26 | } 27 | 28 | /* code 样式 */ 29 | code { 30 | display: inline-block; 31 | *display: inline; 32 | *zoom: 1; 33 | background-color: #f1f1f1; 34 | border-radius: 3px; 35 | padding: 3px 5px; 36 | margin: 0 3px; 37 | } 38 | pre code { 39 | display: block; 40 | } 41 | 42 | /* ul ol 样式 */ 43 | ul, ol { 44 | margin: 10px 0 10px 20px; 45 | } 46 | 47 | .w-e-menu{ 48 | z-index: 2 !important; 49 | } 50 | .w-e-text-container{ 51 | z-index: 1 !important; 52 | } 53 | 54 | ol li{ 55 | margin-top:5px; 56 | list-style-type: decimal; 57 | } 58 | 59 | ul li{ 60 | margin-top:5px; 61 | list-style-type: disc; 62 | } 63 | -------------------------------------------------------------------------------- /src/main/resources/static/css/mylay.css: -------------------------------------------------------------------------------- 1 | .fly-list-like{color: #FF5722;} 2 | .icon-like{font-size: 18px;} 3 | .rightbtn{ 4 | float: right; 5 | margin: 10px; 6 | } 7 | 8 | .layui-form-selectup dl { 9 | top: 42px; 10 | bottom: unset; 11 | } 12 | 13 | .video iframe{ 14 | width: 100%; 15 | } 16 | 17 | .video img{ 18 | max-width: 100%; 19 | } 20 | 21 | 22 | .niter-avatar img{ 23 | 24 | /* border: 1px solid #fff;*/ 25 | -webkit-transition: .8s; 26 | -moz-transition: .8s; 27 | -o-transition: .8s; 28 | -ms-transition: .8s; 29 | } 30 | .niter-avatar img:hover{ 31 | -moz-box-shadow:0 3px 10px #888; 32 | -webkit-box-shadow:0 3px 10px #888; 33 | transform:rotate(720deg); 34 | -webkit-transform:rotate(720deg); 35 | -moz-transform:rotate(720deg); 36 | -o-transform:rotate(720deg); 37 | -ms-transform:rotate(720deg); 38 | border-radius:35px; 39 | } 40 | 41 | .p-detail blockquote{ 42 | margin-bottom:10px; 43 | padding:5px; 44 | line-height:22px; 45 | border-left:5px solid #01aaed; 46 | border-radius:0 2px 2px 0; 47 | background-color:#f8f8f8; 48 | } 49 | 50 | .p-detail p{ 51 | margin-bottom: 5px; 52 | } 53 | 54 | .p-detail h1, h2, h3, h4, h5, h6{ 55 | margin-bottom: 0.5em; 56 | } 57 | 58 | .layui-text ol{ 59 | padding: 5px 0 5px 15px; 60 | } 61 | 62 | .layui-text ol li{ 63 | margin-top:5px; 64 | list-style-type: decimal; 65 | } 66 | 67 | .layui-clear img{ 68 | max-height: 22px; 69 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/select.css: -------------------------------------------------------------------------------- 1 | .addressDl{ 2 | width: 120%; 3 | display: none; 4 | top: 42px; 5 | padding: 5px 0; 6 | z-index: 899; 7 | min-width: 100%; 8 | border: 1px solid #d2d2d2; 9 | max-height: 300px; 10 | overflow-y: auto; 11 | background-color: #fff; 12 | border-radius: 2px; 13 | box-shadow: 0 2px 4px rgba(0,0,0,.12); 14 | box-sizing: border-box; 15 | margin-top: 2px; 16 | position: absolute; 17 | cursor:pointer; 18 | 19 | } 20 | .addressDd{ 21 | padding-left: 10px; 22 | color: #424040; 23 | height: 24px; 24 | padding: 0 10px; 25 | line-height: 36px; 26 | white-space: nowrap; 27 | overflow: hidden; 28 | text-overflow: ellipsis; 29 | height: 41px; 30 | 31 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/vaptcha.css: -------------------------------------------------------------------------------- 1 | .vaptcha-init-main { 2 | display: table; 3 | width: 100%; 4 | height: 100%; 5 | background-color: #EEEEEE; 6 | } 7 | ​ 8 | .vaptcha-init-loading { 9 | display: table-cell; 10 | vertical-align: middle; 11 | text-align: center 12 | } 13 | ​ 14 | .vaptcha-init-loading>a { 15 | display: inline-block; 16 | width: 18px; 17 | height: 18px; 18 | border: none; 19 | } 20 | ​ 21 | .vaptcha-init-loading>a img { 22 | vertical-align: middle 23 | } 24 | ​ 25 | .vaptcha-init-loading .vaptcha-text { 26 | font-family: sans-serif; 27 | font-size: 12px; 28 | color: #CCCCCC; 29 | vertical-align: middle 30 | } -------------------------------------------------------------------------------- /src/main/resources/static/css/wap2app.css: -------------------------------------------------------------------------------- 1 | .html5plus{ 2 | margin-top: 0px; 3 | } 4 | 5 | .html5plus .html5plus-hide { 6 | display: none!important; 7 | } 8 | 9 | .html5plus .html5plus-display { 10 | } -------------------------------------------------------------------------------- /src/main/resources/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/favicon.ico -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/main/resources/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/images/K32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/K32.png -------------------------------------------------------------------------------- /src/main/resources/static/images/N80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/N80.png -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/0.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/00.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/00.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/1.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/10.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/11.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/2.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/3.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/4.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/5.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/6.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/7.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/8.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/9.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/default.png -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/news/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/news/1.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/news/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/news/2.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/news/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/news/3.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/news/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/news/4.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/news/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/news/5.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/news/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/news/6.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/news/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/news/7.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/avatar/news/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/avatar/news/8.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/baidu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/baidu.png -------------------------------------------------------------------------------- /src/main/resources/static/images/baidu120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/baidu120.png -------------------------------------------------------------------------------- /src/main/resources/static/images/baidu120c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/baidu120c.png -------------------------------------------------------------------------------- /src/main/resources/static/images/case.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/case.png -------------------------------------------------------------------------------- /src/main/resources/static/images/chat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/chat.png -------------------------------------------------------------------------------- /src/main/resources/static/images/default-avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/default-avatar.png -------------------------------------------------------------------------------- /src/main/resources/static/images/default-avatar2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/default-avatar2.png -------------------------------------------------------------------------------- /src/main/resources/static/images/fly.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/fly.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/gitee120c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/gitee120c.png -------------------------------------------------------------------------------- /src/main/resources/static/images/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/github.png -------------------------------------------------------------------------------- /src/main/resources/static/images/github120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/github120.png -------------------------------------------------------------------------------- /src/main/resources/static/images/github120c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/github120c.png -------------------------------------------------------------------------------- /src/main/resources/static/images/home-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/home-logo.png -------------------------------------------------------------------------------- /src/main/resources/static/images/hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/hot.png -------------------------------------------------------------------------------- /src/main/resources/static/images/icon/comment.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/images/icon/delete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/images/icon/edit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/images/icon/error.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/icon/error.gif -------------------------------------------------------------------------------- /src/main/resources/static/images/icon/error2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/icon/error2.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/icon/found.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/images/icon/girl.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/images/icon/message.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/images/icon/search.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/static/images/icon/weixin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/icon/weixin.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/jiajing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/jiajing.png -------------------------------------------------------------------------------- /src/main/resources/static/images/logo-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/logo-1.png -------------------------------------------------------------------------------- /src/main/resources/static/images/logo-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/logo-text.png -------------------------------------------------------------------------------- /src/main/resources/static/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/logo.png -------------------------------------------------------------------------------- /src/main/resources/static/images/mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/mail.png -------------------------------------------------------------------------------- /src/main/resources/static/images/medal/xunzhang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/medal/xunzhang.png -------------------------------------------------------------------------------- /src/main/resources/static/images/other/1437100018023.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/other/1437100018023.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/other/appConfirm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/other/appConfirm.png -------------------------------------------------------------------------------- /src/main/resources/static/images/other/appConfirming.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/other/appConfirming.png -------------------------------------------------------------------------------- /src/main/resources/static/images/other/study-a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/other/study-a.png -------------------------------------------------------------------------------- /src/main/resources/static/images/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/qq.png -------------------------------------------------------------------------------- /src/main/resources/static/images/qq_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/qq_circle.png -------------------------------------------------------------------------------- /src/main/resources/static/images/qun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/qun.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bld.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bld.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/ble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/ble.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blf.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blg.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blh.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bli.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bli.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blj.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blk.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bll.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blm.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bln.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bln.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blo.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blp.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blq.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blr.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bls.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blt.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blu.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blv.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blw.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blx.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bly.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/blz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/blz.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm0.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm1.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm2.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm3.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm4.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm5.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm6.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm7.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm8.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm9.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bm_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bm_.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bma.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmb.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmc.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmd.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bme.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmf.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmg.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmh.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmi.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmj.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmk.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bml.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmm.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmn.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmo.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmp.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmq.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmr.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bms.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmt.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmu.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmv.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmw.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmx.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmy.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bmz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bmz.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn0.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn1.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn2.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn3.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn4.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn5.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn6.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn7.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn8.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn9.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bn_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bn_.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bna.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bna.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnb.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnc.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnd.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bne.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnf.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bng.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnh.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bni.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bni.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnj.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnk.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnl.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnm.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnn.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bno.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bno.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnp.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnq.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnr.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bns.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnt.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnu.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnv.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnw.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnx.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bny.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bny.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bnz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bnz.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo0.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo1.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo2.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo3.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo4.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo5.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo6.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo7.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo8.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo9.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bo_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bo_.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/boa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/boa.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bob.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/boc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/boc.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bod.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/boe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/boe.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bof.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bof.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bog.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/boh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/boh.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/boi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/boi.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/boj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/boj.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bok.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bol.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bom.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bon.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/boo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/boo.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bop.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/boq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/boq.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bor.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bos.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bot.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bou.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bou.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bov.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bow.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/box.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/boy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/boy.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/boz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/boz.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bp0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bp0.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bp1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bp1.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bp2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bp2.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bp3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bp3.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bp4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bp4.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bp5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bp5.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bp6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bp6.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/douyin/bp7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/douyin/bp7.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/1.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/10.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/11.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/12.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/13.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/14.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/15.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/16.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/17.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/18.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/19.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/2.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/20.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/21.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/22.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/23.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/24.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/25.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/26.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/27.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/28.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/29.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/3.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/30.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/31.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/32.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/33.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/34.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/35.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/36.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/37.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/38.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/38.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/39.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/4.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/40.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/41.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/42.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/43.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/44.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/45.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/5.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/6.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/7.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/8.png -------------------------------------------------------------------------------- /src/main/resources/static/images/smile/tieba/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/smile/tieba/9.png -------------------------------------------------------------------------------- /src/main/resources/static/images/tongbu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/tongbu.png -------------------------------------------------------------------------------- /src/main/resources/static/images/wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/wechat.png -------------------------------------------------------------------------------- /src/main/resources/static/images/wechat_qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/wechat_qrcode.png -------------------------------------------------------------------------------- /src/main/resources/static/images/weibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/weibo.png -------------------------------------------------------------------------------- /src/main/resources/static/images/weixin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/weixin.jpg -------------------------------------------------------------------------------- /src/main/resources/static/images/zhiding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/images/zhiding.png -------------------------------------------------------------------------------- /src/main/resources/static/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /src/main/resources/static/js/talk.js: -------------------------------------------------------------------------------- 1 | function commentTalk(type,tagetId,content,ip,token) { 2 | //console.log(ip+"--2--"+token); 3 | //var questionId = $("#question_id").val(); 4 | // var content = $("#comment_content").val(); 5 | if(content.length>1024) 6 | swal({ 7 | title: "回复超过1024个字长!", 8 | text: "你的回复字数为:"+content.length+",请精简您的发言!", 9 | icon: "warning", 10 | button: "确认", 11 | }); 12 | else comment2target(questionId, 1, content,ip,token); 13 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/util.js: -------------------------------------------------------------------------------- 1 | function isEmpty(obj){ 2 | if(typeof obj == "undefined" || obj == null || obj == ""){ 3 | return true; 4 | }else{ 5 | return false; 6 | } 7 | } -------------------------------------------------------------------------------- /src/main/resources/static/js/vaptcha.js: -------------------------------------------------------------------------------- 1 | vaptcha({ 2 | //配置参数 3 | vid: '5d807776fc650fd878051c24', // 验证单元id 4 | type: 'click', // 展现类型 点击式 5 | container: '#getCodeBtn', // 按钮容器,可为Element 或者 selector 6 | scene:'01' //场景值01,即邮箱注册 7 | }).then(function (vaptchaObj) { 8 | // obj2=vaptchaObj; 9 | vaptchaObj.listen('pass', function() { 10 | // 验证成功, 进行登录操作 11 | // console.log(vaptchaObj.getToken()); 12 | //getCode(); 13 | $.ajax({ 14 | type: "post", 15 | url: "/validate", 16 | ContentType: "application/json", 17 | CacheControl: "no-cache", 18 | data:{ 19 | scene:'01', 20 | token:vaptchaObj.getToken() 21 | }, 22 | // dataType: "json", 23 | success: function(data) { 24 | if(data.success==1){ 25 | //成功 26 | getCode(); 27 | } 28 | else if(data.success==0){ 29 | swal({ 30 | title: ""+data.msg, 31 | text: "您未能通过我们的第二次智能检测,请稍后再试或联系管理员", 32 | icon: "error", 33 | button: "确认", 34 | }); 35 | //vaptchaObj.reset(); 36 | } 37 | }, 38 | error: function(msg) { 39 | console.log(msg) 40 | } 41 | }) 42 | }) 43 | vaptchaObj.listen('close', function() { 44 | //验证弹窗关闭触发 45 | swal({ 46 | title: "哎哟...", 47 | text: "您关闭了验证哦", 48 | icon: "error", 49 | button: "确认", 50 | }); 51 | }) 52 | vaptchaObj.render()// 调用验证实例 vaptchaObj 的 render 方法加载验证按钮 53 | }) -------------------------------------------------------------------------------- /src/main/resources/static/json/emoji.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | 4 | 'title': '默认', 5 | 6 | 'type': 'image', 7 | 8 | 'content': [ 9 | { 10 | 'alt': '[坏笑2]', 11 | 'src': 'http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/50/pcmoren_huaixiao_org.png' 12 | }, 13 | { 14 | 'alt': '[舔屏2]', 15 | 'src': 'http://img.t.sinajs.cn/t4/appstyle/expression/ext/normal/40/pcmoren_tian_org.png' 16 | } 17 | ] 18 | } 19 | 20 | ] -------------------------------------------------------------------------------- /src/main/resources/static/layui/css/modules/code.css: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.3 MIT License By http://www.layui.com */ 2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} -------------------------------------------------------------------------------- /src/main/resources/static/layui/css/modules/layer/default/icon-ext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/css/modules/layer/default/icon-ext.png -------------------------------------------------------------------------------- /src/main/resources/static/layui/css/modules/layer/default/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/css/modules/layer/default/icon.png -------------------------------------------------------------------------------- /src/main/resources/static/layui/css/modules/layer/default/loading-0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/css/modules/layer/default/loading-0.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/css/modules/layer/default/loading-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/css/modules/layer/default/loading-1.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/css/modules/layer/default/loading-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/css/modules/layer/default/loading-2.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/font/iconfont-2.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/font/iconfont-2.ttf -------------------------------------------------------------------------------- /src/main/resources/static/layui/font/iconfont-3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/font/iconfont-3.ttf -------------------------------------------------------------------------------- /src/main/resources/static/layui/font/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/font/iconfont.eot -------------------------------------------------------------------------------- /src/main/resources/static/layui/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/font/iconfont.ttf -------------------------------------------------------------------------------- /src/main/resources/static/layui/font/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/font/iconfont.woff -------------------------------------------------------------------------------- /src/main/resources/static/layui/font/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/font/iconfont.woff2 -------------------------------------------------------------------------------- /src/main/resources/static/layui/font/iconfont2.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/font/iconfont2.eot -------------------------------------------------------------------------------- /src/main/resources/static/layui/font/iconfont2.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/font/iconfont2.woff -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/0.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/1.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/10.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/11.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/12.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/13.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/14.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/15.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/16.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/17.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/18.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/19.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/2.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/20.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/21.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/22.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/23.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/24.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/25.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/26.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/27.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/28.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/29.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/3.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/30.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/31.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/32.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/33.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/34.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/35.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/36.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/37.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/38.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/39.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/4.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/40.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/41.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/42.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/43.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/44.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/45.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/46.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/47.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/48.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/49.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/5.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/50.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/51.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/52.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/53.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/54.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/55.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/56.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/57.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/58.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/59.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/6.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/60.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/61.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/62.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/63.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/64.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/65.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/66.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/67.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/68.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/69.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/7.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/70.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/71.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/8.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/images/face/9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/layui/images/face/9.gif -------------------------------------------------------------------------------- /src/main/resources/static/layui/lay/modules/code.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.3 MIT License By http://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /src/main/resources/static/layui/lay/modules/laytpl.js: -------------------------------------------------------------------------------- 1 | /** layui-v2.2.3 MIT License By http://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)}); -------------------------------------------------------------------------------- /src/main/resources/static/mods/ckplayer/ckplayer.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yourkevin/NiterForum/402041ac2f7115014ad0604c5a8d3461b6fdde3e/src/main/resources/static/mods/ckplayer/ckplayer.swf -------------------------------------------------------------------------------- /src/main/resources/static/mods/ckplayer/language.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | [$second] 4 | [$second] 5 | 6 | 点击播放 7 | 暂停播放 8 | 静音 9 | 恢复音量 10 | 全屏 11 | 退出全屏 12 | 上一集 13 | 下一集 14 | 点击选择清晰度 15 | 16 | 17 | 音量:[$volume]% 18 | 19 | [$percentage]% 20 | 21 | [$timeh]:[$timei]:[$times] 22 | 23 | 24 | [$timeh]:[$timei]:[$times] 25 | 26 | 27 | 直播中 [$liveTimeY]-[$liveTimem]-[$liveTimed] [$liveTimeh]:[$liveTimei]:[$liveTimes] 28 | 29 | 30 | 流畅 31 | 低清 32 | 标清 33 | 高清 34 | 超清 35 | 蓝光 36 | 未知 37 | 38 | 39 | 视频地址不存在 40 | 加载失败 41 | 视频格式错误 42 | 43 | 自动 44 | -------------------------------------------------------------------------------- /src/main/resources/templates/common/column.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 17 | 18 |
19 | 20 | 发表新帖 21 |
22 |
23 | 发表新帖 24 |
25 |
26 |
-------------------------------------------------------------------------------- /src/main/resources/templates/common/filter.html: -------------------------------------------------------------------------------- 1 |
2 | 综合 3 | 4 | 未结 5 | 6 | 已结 7 | 8 | 精华 9 | 10 | 按最新 11 | 12 | 按热议 13 | 14 |
-------------------------------------------------------------------------------- /src/main/resources/templates/common/link.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/templates/common/user-nav.html: -------------------------------------------------------------------------------- 1 | 27 | 28 |
29 | 30 |
31 |
32 | 33 |
34 | 35 |
36 |
-------------------------------------------------------------------------------- /src/main/resources/templates/hello.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 测试文件 6 | 7 | 8 | 9 | 10 | 11 |
12 |
13 |
内容区域1
14 |
15 |
16 |

李清照

17 |
内容区域
18 |
19 |
20 |

鲁迅

21 |
内容区域
22 |
23 |
24 | 25 | 33 | 34 | 35 | 46 | -------------------------------------------------------------------------------- /src/main/resources/templates/other/notice.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | ${@environment.getProperty('clientId')} 7 | 8 | 16 | 17 | 18 | 19 |
20 | 21 |
22 | 23 |
24 | 25 |
26 | 我们将在5S后自动带您回到首页
返回首页 联系我们 27 |
28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/main/resources/templates/result.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | ${@environment.getProperty('clientId')} 8 | 9 | 10 | 11 | 12 |
13 | 14 |
15 |
16 |
17 |

18 |

19 |

迷路了?没关系,3S后将自动带您回到首页,您也可以点击此处直接回到首页

20 |
21 |
22 |
23 | 24 | 25 | 26 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/test/java/cn/niter/forum/CommunityApplicationTests.java: -------------------------------------------------------------------------------- 1 | package cn.niter.forum; 2 | 3 | import org.junit.Test; 4 | import org.junit.runner.RunWith; 5 | import org.springframework.boot.test.context.SpringBootTest; 6 | import org.springframework.test.context.junit4.SpringRunner; 7 | 8 | @RunWith(SpringRunner.class) 9 | @SpringBootTest 10 | public class CommunityApplicationTests { 11 | 12 | @Test 13 | public void contextLoads() { 14 | } 15 | 16 | } 17 | --------------------------------------------------------------------------------