Skip to content

Commit

Permalink
feat:添加技术派介绍文章 & 首次登录提示信息配置化
Browse files Browse the repository at this point in the history
  • Loading branch information
liuyueyi committed Jan 3, 2023
1 parent 7d7bd61 commit 360c729
Show file tree
Hide file tree
Showing 6 changed files with 130 additions and 13 deletions.
14 changes: 4 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
quick-forum
技术派
---

社区工程原型
技术派是一个基于SpringBoot实现完全开源的技术论坛社区

## 结构说明

- forum-web: Web前端入口,包括权限身份校验、全局异常处理等
- forum-ui:前端资源包
- forum-service: 核心的服务包,db操作,服务封装在这里
- forum-core: 通用模块,如工具包util, 如通用的组件放在这个模块(以包路径对模块功能进行拆分,如搜索、缓存、推荐等)

## 本地部署教程

Expand All @@ -24,10 +18,10 @@ quick-forum
**当前项目工程模块**

- [forum-api](forum-api): 定义一些通用的枚举、实体类定义、DO\DTO\VO等
- [forum-core](forum-core): 核心工具组件相关的模块
- [forum-core](forum-core): 核心工具组件相关的模块,如工具包util, 如通用的组件放在这个模块(以包路径对模块功能进行拆分,如搜索、缓存、推荐等)
- [forum-service](forum-service): 服务模块,业务相关的主要逻辑,db的操作都在这里
- [forum-ui](forum-ui): html前端资源
- [forum-web](forum-web): web模块,http入口,项目启动的入口
- [forum-web](forum-web): web模块,http入口,项目启动的入口,包括权限身份校验、全局异常处理等

**环境配置说明**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.github.liueyueyi.forum.api.model.enums.NotifyStatEnum;
import com.github.liueyueyi.forum.api.model.enums.NotifyTypeEnum;
import com.github.liueyueyi.forum.api.model.vo.notify.NotifyMsgEvent;
import com.github.liuyueyi.forum.core.util.SpringUtil;
import com.github.liuyueyi.forum.service.article.repository.entity.ArticleDO;
import com.github.liuyueyi.forum.service.article.service.ArticleReadService;
import com.github.liuyueyi.forum.service.comment.repository.entity.CommentDO;
Expand All @@ -12,6 +13,7 @@
import com.github.liuyueyi.forum.service.user.repository.entity.UserFootDO;
import com.github.liuyueyi.forum.service.user.repository.entity.UserRelationDO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationListener;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
Expand All @@ -31,6 +33,9 @@ public class NotifyMsgListener<T> implements ApplicationListener<NotifyMsgEvent<

private final NotifyMsgDao notifyMsgDao;

@Value("${view.site.welcomeInfo}")
private String welcomeInfo;

public NotifyMsgListener(ArticleReadService articleReadService,
CommentReadService commentReadService,
NotifyMsgDao notifyMsgDao) {
Expand Down Expand Up @@ -194,7 +199,7 @@ private void saveRegisterSystemNotify(Long userId) {
.setOperateUserId(ADMIN_ID)
.setType(NotifyTypeEnum.REGISTER.getType())
.setState(NotifyStatEnum.UNREAD.getStat())
.setMsg("欢迎注册使用论坛,更多的使用姿势请参考:<a href=\"/\">使用教程<a/>");
.setMsg(welcomeInfo);
NotifyMsgDO record = notifyMsgDao.getByUserIdRelatedIdAndType(msg);
if (record == null) {
// 若之前已经有对应的通知,则不重复记录;因为用户的关注是一对一的,可以重复的关注、取消,但是最终我们只通知一次
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,9 @@ public class GlobalViewConfig {
private String wxLoginUrl;

private String host;

/**
* 首次登录的欢迎信息
*/
private String welcomeInfo;
}
5 changes: 3 additions & 2 deletions forum-web/src/main/resources/application-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ view:
websiteName: 技术派
websiteLogoUrl: https://blog.hhui.top/hexblog/images/avatar.jpg
websiteFaviconIconUrl: https://blog.hhui.top/hexblog/images/avatar.jpg
contactMeTitle: 联系我 - liuyueyi25
contactMeTitle: 联系我 - louzai
contactMeWxQrCode: https://blog.hhui.top/hexblog/imgs/info/wx.jpg
pageSize: 20
cdnImgStyle:
websiteRecord: 备案记录
wxLoginUrl: http://weixin.qq.com/r/FS9waAPEg178rUcL93oH
host: http://127.0.0.1:${server.port}
host: http://127.0.0.1:${server.port}
welcomeInfo: 欢迎来到技术派,戳<a href="/article/detail/1">技术派全方位视角解读</a>了解我们
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,9 @@
<changeSet id="00000000000008" author="YiHui">
<sqlFile dbms="mysql" endDelimiter=";" encoding="UTF-8" path="liquibase/data/update_schema_230103.sql"/>
</changeSet>

<!-- 技术派介绍文章 -->
<changeSet id="00000000000009" author="YiHui">
<sqlFile dbms="mysql" endDelimiter=";" encoding="UTF-8" path="liquibase/data/init_data_230103.sql"/>
</changeSet>
</databaseChangeLog>
107 changes: 107 additions & 0 deletions forum-web/src/main/resources/liquibase/data/init_data_230103.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
INSERT INTO article
(id, user_id, article_type, title, short_title, picture, summary, category_id, source, source_url, status, deleted)
VALUES(1, 1, 1, '技术派全方位视角解读', '关于技术派', '', '技术派的使用说明介绍', 1, 2, '', 1, 0);


INSERT INTO article_detail
(article_id, version, content)
VALUES(1, 2, '技术派
---
技术派是一个基于SpringBoot实现完全开源的技术论坛社区
## 本地部署教程
> [本地开发环境手把手教程](docs/本地开发环境配置教程.md)
## 云服务器部署教程
> [环境搭建 & 基于源码的部署教程](docs/安装环境.md)
> [服务器启动教程](docs/服务器启动教程.md)
## 项目结构说明
**当前项目工程模块**
- [forum-api](forum-api): 定义一些通用的枚举、实体类定义、DO\DTO\VO等
- [forum-core](forum-core): 核心工具组件相关的模块,如工具包util, 如通用的组件放在这个模块(以包路径对模块功能进行拆分,如搜索、缓存、推荐等)
- [forum-service](forum-service): 服务模块,业务相关的主要逻辑,db的操作都在这里
- [forum-ui](forum-ui): html前端资源
- [forum-web](forum-web): web模块,http入口,项目启动的入口,包括权限身份校验、全局异常处理等
**环境配置说明**
资源配置都放在 `forum-web` 模块的资源路径下,通过maven的env进行环境选择切换
当前提供了四种开发环境
- resources-env/dev: 本地开发环境,也是默认环境
- resources-env/test: 测试环境
- resources-env/pre: 预发环境
- resources-env/prod: 生产环境
环境切换命令
```bash
# 如切换生产环境
mvn clean install -DskipTests=true -Pprod
```
**配置文件说明**
- resources
- application.yml: 主配置文件入口
- application-config.yml: 全局的站点信息配置文件
- logback-spring.xml: 日志打印相关配置文件
- liquibase: 由liquibase进行数据库表结构管理
- resources-env
- xxx/application-dal.yml: 定义数据库相关的配置信息
- xxx/application-image.yml: 定义上传图片的相关配置信息
- xxx/application-web.yml: 定义web相关的配置信息
### 前端工程结构说明
#### 前端页面都放在 ui 模块中
- resources/static: 静态资源文件,如css/js/image,放在这里
- resources/templates: html相关页面
- views: 业务相关的页面
- 定义:
- 页面/index.html: 这个index.html表示的是这个业务对应的主页面
- 页面/模块/xxx.html: 若主页面又可以拆分为多个模块页面进行组合,则在这个页面下,新建一个模块目录,下面放对应的html文件
- article-category-list: 对应 分类文章列表页面,
- article-detail: 对应文章详情页
- side-float-action-bar: 文章详情,左边的点赞/收藏/评论浮窗
- side-recommend-bar: 文章详情右边侧边栏的sidebar
- article-edit: 对应文章发布页
- article-search-list: 对应文章搜索页
- article-tag-list: 对应标签文章列表
- column-detail:对应专栏阅读详情页
- column-home: 对应专栏首页
- home: 全站主页
- login: 登录页面
- notice: 通知页面
- user: 用户个人页
- error: 错误页面
- components: 公用的前端页面组件
#### 前端 css 全部放在 static/css 中
- components: 公共组件的css
- navbar: 导航栏样式
- footer: 底部样式
- article-item: 文章块展示样式
- article-footer: 文章底部(点赞、评论等)
- side-column: 侧边栏(公告等)
- views: 主页面css(直接在主页面内部引入)
- home: 主页样式
- article-detail: 详情页样式
- ...
- three: 第三方css
- index: 第三方css集合
- ...
- common: 公共组件的css集合 (直接在公共组件components/layout/header/index.html内引入)
- global: 全局样式(全局的样式控制,注意覆盖问题,直接在公共组件components/layout/header/index.html内引入)
')

0 comments on commit 360c729

Please sign in to comment.