├── .idea
├── SGBlog.iml
├── compiler.xml
├── dataSources.local.xml
├── dataSources.xml
├── dataSources
│ ├── ebedd52c-f786-4f6d-8e5a-f4d875537b1d.xml
│ └── ebedd52c-f786-4f6d-8e5a-f4d875537b1d
│ │ └── storage_v2
│ │ └── _src_
│ │ └── schema
│ │ ├── information_schema.FNRwLQ.meta
│ │ ├── mysql.osA4Bg.meta
│ │ ├── performance_schema.kIw0nw.meta
│ │ └── sys.zb4BAA.meta
├── encodings.xml
├── jarRepositories.xml
├── libraries
│ ├── Maven__cglib_cglib_3_3_0.xml
│ ├── Maven__ch_qos_logback_logback_classic_1_2_3.xml
│ ├── Maven__ch_qos_logback_logback_core_1_2_3.xml
│ ├── Maven__com_alibaba_easyexcel_3_0_5.xml
│ ├── Maven__com_alibaba_fastjson_1_2_33.xml
│ ├── Maven__com_aliyun_aliyun_java_sdk_core_3_4_0.xml
│ ├── Maven__com_aliyun_aliyun_java_sdk_ecs_4_2_0.xml
│ ├── Maven__com_aliyun_aliyun_java_sdk_kms_2_7_0.xml
│ ├── Maven__com_aliyun_aliyun_java_sdk_ram_3_0_0.xml
│ ├── Maven__com_aliyun_aliyun_java_sdk_sts_3_0_0.xml
│ ├── Maven__com_aliyun_oss_aliyun_sdk_oss_3_10_2.xml
│ ├── Maven__com_baomidou_mybatis_plus_3_4_3.xml
│ ├── Maven__com_baomidou_mybatis_plus_annotation_3_4_3.xml
│ ├── Maven__com_baomidou_mybatis_plus_boot_starter_3_4_3.xml
│ ├── Maven__com_baomidou_mybatis_plus_core_3_4_3.xml
│ ├── Maven__com_baomidou_mybatis_plus_extension_3_4_3.xml
│ ├── Maven__com_fasterxml_classmate_1_5_1.xml
│ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_12_3.xml
│ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_12_3.xml
│ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_12_3.xml
│ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_12_3.xml
│ ├── Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_12_3.xml
│ ├── Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_12_3.xml
│ ├── Maven__com_github_jsqlparser_jsqlparser_4_0.xml
│ ├── Maven__com_github_virtuald_curvesapi_1_06.xml
│ ├── Maven__com_google_code_gson_gson_2_8_6.xml
│ ├── Maven__com_google_guava_guava_20_0.xml
│ ├── Maven__com_jayway_jsonpath_json_path_2_5_0.xml
│ ├── Maven__com_qiniu_qiniu_java_sdk_7_7_0.xml
│ ├── Maven__com_squareup_okhttp3_okhttp_3_14_9.xml
│ ├── Maven__com_squareup_okio_okio_1_17_2.xml
│ ├── Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml
│ ├── Maven__com_zaxxer_HikariCP_4_0_3.xml
│ ├── Maven__com_zaxxer_SparseBitSet_1_2.xml
│ ├── Maven__commons_codec_commons_codec_1_15.xml
│ ├── Maven__io_jsonwebtoken_jjwt_0_9_0.xml
│ ├── Maven__io_lettuce_lettuce_core_6_1_2_RELEASE.xml
│ ├── Maven__io_netty_netty_buffer_4_1_65_Final.xml
│ ├── Maven__io_netty_netty_codec_4_1_65_Final.xml
│ ├── Maven__io_netty_netty_common_4_1_65_Final.xml
│ ├── Maven__io_netty_netty_handler_4_1_65_Final.xml
│ ├── Maven__io_netty_netty_resolver_4_1_65_Final.xml
│ ├── Maven__io_netty_netty_transport_4_1_65_Final.xml
│ ├── Maven__io_projectreactor_reactor_core_3_4_6.xml
│ ├── Maven__io_springfox_springfox_core_2_9_2.xml
│ ├── Maven__io_springfox_springfox_schema_2_9_2.xml
│ ├── Maven__io_springfox_springfox_spi_2_9_2.xml
│ ├── Maven__io_springfox_springfox_spring_web_2_9_2.xml
│ ├── Maven__io_springfox_springfox_swagger2_2_9_2.xml
│ ├── Maven__io_springfox_springfox_swagger_common_2_9_2.xml
│ ├── Maven__io_springfox_springfox_swagger_ui_2_9_2.xml
│ ├── Maven__io_swagger_swagger_annotations_1_5_20.xml
│ ├── Maven__io_swagger_swagger_models_1_5_20.xml
│ ├── Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml
│ ├── Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml
│ ├── Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml
│ ├── Maven__mysql_mysql_connector_java_8_0_25.xml
│ ├── Maven__net_bytebuddy_byte_buddy_1_10_22.xml
│ ├── Maven__net_bytebuddy_byte_buddy_agent_1_10_22.xml
│ ├── Maven__net_minidev_accessors_smart_2_4_7.xml
│ ├── Maven__net_minidev_json_smart_2_4_7.xml
│ ├── Maven__org_apache_commons_commons_collections4_4_4.xml
│ ├── Maven__org_apache_commons_commons_compress_1_19.xml
│ ├── Maven__org_apache_commons_commons_csv_1_8.xml
│ ├── Maven__org_apache_commons_commons_math3_3_6_1.xml
│ ├── Maven__org_apache_httpcomponents_httpclient_4_5_13.xml
│ ├── Maven__org_apache_httpcomponents_httpcore_4_4_14.xml
│ ├── Maven__org_apache_logging_log4j_log4j_api_2_14_1.xml
│ ├── Maven__org_apache_logging_log4j_log4j_to_slf4j_2_14_1.xml
│ ├── Maven__org_apache_poi_poi_4_1_2.xml
│ ├── Maven__org_apache_poi_poi_ooxml_4_1_2.xml
│ ├── Maven__org_apache_poi_poi_ooxml_schemas_4_1_2.xml
│ ├── Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_46.xml
│ ├── Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_46.xml
│ ├── Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_46.xml
│ ├── Maven__org_apache_xmlbeans_xmlbeans_3_1_0.xml
│ ├── Maven__org_apiguardian_apiguardian_api_1_1_0.xml
│ ├── Maven__org_aspectj_aspectjweaver_1_9_6.xml
│ ├── Maven__org_assertj_assertj_core_3_19_0.xml
│ ├── Maven__org_codehaus_jettison_jettison_1_1.xml
│ ├── Maven__org_ehcache_ehcache_3_9_3.xml
│ ├── Maven__org_hamcrest_hamcrest_2_2.xml
│ ├── Maven__org_jdom_jdom2_2_0_6.xml
│ ├── Maven__org_jetbrains_annotations_13_0.xml
│ ├── Maven__org_jetbrains_kotlin_kotlin_stdlib_1_5_0.xml
│ ├── Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_5_0.xml
│ ├── Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_5_0.xml
│ ├── Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_5_0.xml
│ ├── Maven__org_junit_jupiter_junit_jupiter_5_7_2.xml
│ ├── Maven__org_junit_jupiter_junit_jupiter_api_5_7_2.xml
│ ├── Maven__org_junit_jupiter_junit_jupiter_engine_5_7_2.xml
│ ├── Maven__org_junit_jupiter_junit_jupiter_params_5_7_2.xml
│ ├── Maven__org_junit_platform_junit_platform_commons_1_7_2.xml
│ ├── Maven__org_junit_platform_junit_platform_engine_1_7_2.xml
│ ├── Maven__org_mapstruct_mapstruct_1_2_0_Final.xml
│ ├── Maven__org_mockito_mockito_core_3_9_0.xml
│ ├── Maven__org_mockito_mockito_junit_jupiter_3_9_0.xml
│ ├── Maven__org_mybatis_mybatis_3_5_7.xml
│ ├── Maven__org_mybatis_mybatis_spring_2_0_6.xml
│ ├── Maven__org_objenesis_objenesis_3_2.xml
│ ├── Maven__org_opentest4j_opentest4j_1_2_0.xml
│ ├── Maven__org_ow2_asm_asm_7_1.xml
│ ├── Maven__org_projectlombok_lombok_1_18_20.xml
│ ├── Maven__org_reactivestreams_reactive_streams_1_0_3.xml
│ ├── Maven__org_skyscreamer_jsonassert_1_5_0.xml
│ ├── Maven__org_slf4j_jul_to_slf4j_1_7_30.xml
│ ├── Maven__org_slf4j_slf4j_api_1_7_30.xml
│ ├── Maven__org_springframework_boot_spring_boot_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_autoconfigure_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_aop_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_data_redis_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_jdbc_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_json_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_logging_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_security_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_test_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_tomcat_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_starter_web_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_test_2_5_0.xml
│ ├── Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_5_0.xml
│ ├── Maven__org_springframework_data_spring_data_commons_2_5_1.xml
│ ├── Maven__org_springframework_data_spring_data_keyvalue_2_5_1.xml
│ ├── Maven__org_springframework_data_spring_data_redis_2_5_1.xml
│ ├── Maven__org_springframework_plugin_spring_plugin_core_1_2_0_RELEASE.xml
│ ├── Maven__org_springframework_plugin_spring_plugin_metadata_1_2_0_RELEASE.xml
│ ├── Maven__org_springframework_security_spring_security_config_5_5_0.xml
│ ├── Maven__org_springframework_security_spring_security_core_5_5_0.xml
│ ├── Maven__org_springframework_security_spring_security_web_5_5_0.xml
│ ├── Maven__org_springframework_spring_aop_5_3_7.xml
│ ├── Maven__org_springframework_spring_beans_5_3_7.xml
│ ├── Maven__org_springframework_spring_context_5_3_7.xml
│ ├── Maven__org_springframework_spring_context_support_5_3_7.xml
│ ├── Maven__org_springframework_spring_core_5_3_7.xml
│ ├── Maven__org_springframework_spring_expression_5_3_7.xml
│ ├── Maven__org_springframework_spring_jcl_5_3_7.xml
│ ├── Maven__org_springframework_spring_jdbc_5_3_7.xml
│ ├── Maven__org_springframework_spring_oxm_5_3_7.xml
│ ├── Maven__org_springframework_spring_test_5_3_7.xml
│ ├── Maven__org_springframework_spring_tx_5_3_7.xml
│ ├── Maven__org_springframework_spring_web_5_3_7.xml
│ ├── Maven__org_springframework_spring_webmvc_5_3_7.xml
│ ├── Maven__org_xmlunit_xmlunit_core_2_8_2.xml
│ ├── Maven__org_yaml_snakeyaml_1_28.xml
│ └── Maven__stax_stax_api_1_0_1.xml
├── misc.xml
├── modules.xml
├── sqldialects.xml
├── vcs.xml
└── workspace.xml
├── Readme.md
├── SGBlog.iml
├── SQL
├── sg_article.sql
├── sg_article_tag.sql
├── sg_category.sql
├── sg_comment.sql
├── sg_link.sql
├── sg_menu.sql
├── sg_tag.sql
└── sys_user.sql
├── img
├── image-20220202111056036-16437714601701.png
├── image-20220202111056036.png
├── image-20220202121318183-16437751995162.png
├── image-20220202121318183.png
├── image-20220202152402296-16437866440853.png
├── image-20220202152402296.png
├── image-20220202152440565.png
├── image-20220208214106296.png
├── image-20220227224443813.png
├── image-20220227224537701.png
├── image-20220228230512598.png
├── image-20220228230933808.png
└── image-20220313133714102.png
├── pom.xml
├── sangeng-admin
├── pom.xml
├── sangeng-admin.iml
├── src
│ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── sangeng
│ │ │ ├── BlogAdminApplication.java
│ │ │ ├── config
│ │ │ └── SecurityConfig.java
│ │ │ ├── controller
│ │ │ ├── ArticleController.java
│ │ │ ├── CategoryController.java
│ │ │ ├── LinkController.java
│ │ │ ├── LoginController.java
│ │ │ ├── MenuController.java
│ │ │ ├── RoleController.java
│ │ │ ├── TagController.java
│ │ │ ├── UploadController.java
│ │ │ └── UserController.java
│ │ │ └── filter
│ │ │ └── JwtAuthenticationTokenFilter.java
│ │ └── resources
│ │ └── application.yml
└── target
│ └── classes
│ ├── application.yml
│ └── com
│ └── sangeng
│ ├── BlogAdminApplication.class
│ ├── config
│ └── SecurityConfig.class
│ ├── controller
│ ├── ArticleController.class
│ ├── CategoryController.class
│ ├── LinkController.class
│ ├── LoginController.class
│ ├── MenuController.class
│ ├── RoleController.class
│ ├── TagController.class
│ ├── UploadController.class
│ └── UserController.class
│ └── filter
│ └── JwtAuthenticationTokenFilter.class
├── sangeng-blog
├── pom.xml
├── sangeng-blog.iml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── sangeng
│ │ │ │ ├── SanGengBlogApplication.java
│ │ │ │ ├── config
│ │ │ │ ├── SecurityConfig.java
│ │ │ │ └── SwaggerConfig.java
│ │ │ │ ├── controller
│ │ │ │ ├── ArticleController.java
│ │ │ │ ├── BlogLoginController.java
│ │ │ │ ├── CategoryController.java
│ │ │ │ ├── CommentController.java
│ │ │ │ ├── LinkController.java
│ │ │ │ ├── UploadController.java
│ │ │ │ └── UserController.java
│ │ │ │ ├── filter
│ │ │ │ └── JwtAuthenticationTokenFilter.java
│ │ │ │ ├── job
│ │ │ │ ├── TestJob.java
│ │ │ │ └── UpdateViewCountJob.java
│ │ │ │ └── runner
│ │ │ │ ├── TestRunner.java
│ │ │ │ └── ViewCountRunner.java
│ │ └── resources
│ │ │ └── application.yml
│ └── test
│ │ └── java
│ │ └── com
│ │ └── sangeng
│ │ └── OSSTest.java
└── target
│ └── classes
│ ├── application.yml
│ └── com
│ └── sangeng
│ ├── SanGengBlogApplication.class
│ ├── config
│ ├── SecurityConfig.class
│ └── SwaggerConfig.class
│ ├── controller
│ ├── ArticleController.class
│ ├── BlogLoginController.class
│ ├── CategoryController.class
│ ├── CommentController.class
│ ├── LinkController.class
│ ├── UploadController.class
│ └── UserController.class
│ ├── filter
│ └── JwtAuthenticationTokenFilter.class
│ ├── job
│ ├── TestJob.class
│ └── UpdateViewCountJob.class
│ └── runner
│ ├── TestRunner.class
│ └── ViewCountRunner.class
├── sangeng-framework
├── pom.xml
├── sangeng-framework.iml
├── src
│ └── main
│ │ ├── java
│ │ └── com
│ │ │ └── sangeng
│ │ │ ├── annotation
│ │ │ └── SystemLog.java
│ │ │ ├── aspect
│ │ │ └── LogAspect.java
│ │ │ ├── config
│ │ │ ├── FastJsonRedisSerializer.java
│ │ │ ├── MbatisPlusConfig.java
│ │ │ ├── RedisConfig.java
│ │ │ └── WebConfig.java
│ │ │ ├── constants
│ │ │ └── SystemConstants.java
│ │ │ ├── domain
│ │ │ ├── ResponseResult.java
│ │ │ ├── dto
│ │ │ │ ├── AddArticleDto.java
│ │ │ │ ├── AddCommentDto.java
│ │ │ │ ├── AddTagDto.java
│ │ │ │ ├── ArticleDto.java
│ │ │ │ ├── ChangeRoleStatusDto.java
│ │ │ │ ├── EditTagDto.java
│ │ │ │ └── TagListDto.java
│ │ │ ├── entity
│ │ │ │ ├── Article.java
│ │ │ │ ├── ArticleTag.java
│ │ │ │ ├── Category.java
│ │ │ │ ├── Comment.java
│ │ │ │ ├── Link.java
│ │ │ │ ├── LoginUser.java
│ │ │ │ ├── Menu.java
│ │ │ │ ├── Role.java
│ │ │ │ ├── RoleMenu.java
│ │ │ │ ├── Tag.java
│ │ │ │ ├── User.java
│ │ │ │ └── UserRole.java
│ │ │ └── vo
│ │ │ │ ├── AdminUserInfoVo.java
│ │ │ │ ├── ArticleDetailVo.java
│ │ │ │ ├── ArticleListVo.java
│ │ │ │ ├── ArticleVo.java
│ │ │ │ ├── BlogUserLoginVo.java
│ │ │ │ ├── CategoryVo.java
│ │ │ │ ├── CommentVo.java
│ │ │ │ ├── ExcelCategoryVo.java
│ │ │ │ ├── HotArticleVo.java
│ │ │ │ ├── LinkVo.java
│ │ │ │ ├── MenuTreeVo.java
│ │ │ │ ├── MenuVo.java
│ │ │ │ ├── PageVo.java
│ │ │ │ ├── RoleMenuTreeSelectVo.java
│ │ │ │ ├── RoutersVo.java
│ │ │ │ ├── TagVo.java
│ │ │ │ ├── UserInfoAndRoleIdsVo.java
│ │ │ │ ├── UserInfoVo.java
│ │ │ │ └── UserVo.java
│ │ │ ├── enums
│ │ │ └── AppHttpCodeEnum.java
│ │ │ ├── exception
│ │ │ └── SystemException.java
│ │ │ ├── handler
│ │ │ ├── exception
│ │ │ │ └── GlobalExceptionHandler.java
│ │ │ ├── mybatisplus
│ │ │ │ └── MyMetaObjectHandler.java
│ │ │ └── security
│ │ │ │ ├── AccessDeniedHandlerImpl.java
│ │ │ │ └── AuthenticationEntryPointImpl.java
│ │ │ ├── mapper
│ │ │ ├── ArticleMapper.java
│ │ │ ├── ArticleTagMapper.java
│ │ │ ├── CategoryMapper.java
│ │ │ ├── CommentMapper.java
│ │ │ ├── LinkMapper.java
│ │ │ ├── MenuMapper.java
│ │ │ ├── RoleMapper.java
│ │ │ ├── RoleMenuMapper.java
│ │ │ ├── TagMapper.java
│ │ │ ├── UserMapper.java
│ │ │ └── UserRoleMapper.java
│ │ │ ├── service
│ │ │ ├── ArticleService.java
│ │ │ ├── ArticleTagService.java
│ │ │ ├── BlogLoginService.java
│ │ │ ├── CategoryService.java
│ │ │ ├── CommentService.java
│ │ │ ├── LinkService.java
│ │ │ ├── LoginService.java
│ │ │ ├── MenuService.java
│ │ │ ├── RoleMenuService.java
│ │ │ ├── RoleService.java
│ │ │ ├── TagService.java
│ │ │ ├── UploadService.java
│ │ │ ├── UserRoleService.java
│ │ │ ├── UserService.java
│ │ │ └── impl
│ │ │ │ ├── ArticleServiceImpl.java
│ │ │ │ ├── ArticleTagServiceImpl.java
│ │ │ │ ├── BlogLoginServiceImpl.java
│ │ │ │ ├── CategoryServiceImpl.java
│ │ │ │ ├── CommentServiceImpl.java
│ │ │ │ ├── LinkServiceImpl.java
│ │ │ │ ├── MenuServiceImpl.java
│ │ │ │ ├── OssUploadService.java
│ │ │ │ ├── PermissionService.java
│ │ │ │ ├── RoleMenuServiceImpl.java
│ │ │ │ ├── RoleServiceImpl.java
│ │ │ │ ├── SystemLoginServiceImpl.java
│ │ │ │ ├── TagServiceImpl.java
│ │ │ │ ├── UserDetailsServiceImpl.java
│ │ │ │ ├── UserRoleServiceImpl.java
│ │ │ │ └── UserServiceImpl.java
│ │ │ └── utils
│ │ │ ├── BeanCopyUtils.java
│ │ │ ├── JwtUtil.java
│ │ │ ├── PathUtils.java
│ │ │ ├── RedisCache.java
│ │ │ ├── SecurityUtils.java
│ │ │ ├── SystemConverter.java
│ │ │ └── WebUtils.java
│ │ └── resources
│ │ └── mapper
│ │ ├── MenuMapper.xml
│ │ └── RoleMapper.xml
└── target
│ └── classes
│ ├── com
│ └── sangeng
│ │ ├── annotation
│ │ └── SystemLog.class
│ │ ├── aspect
│ │ └── LogAspect.class
│ │ ├── config
│ │ ├── FastJsonRedisSerializer.class
│ │ ├── MbatisPlusConfig.class
│ │ ├── RedisConfig.class
│ │ └── WebConfig.class
│ │ ├── constants
│ │ └── SystemConstants.class
│ │ ├── domain
│ │ ├── ResponseResult.class
│ │ ├── dto
│ │ │ ├── AddArticleDto.class
│ │ │ ├── AddCommentDto.class
│ │ │ ├── AddTagDto.class
│ │ │ ├── ArticleDto.class
│ │ │ ├── ChangeRoleStatusDto.class
│ │ │ ├── EditTagDto.class
│ │ │ └── TagListDto.class
│ │ ├── entity
│ │ │ ├── Article.class
│ │ │ ├── ArticleTag.class
│ │ │ ├── Category.class
│ │ │ ├── Comment.class
│ │ │ ├── Link.class
│ │ │ ├── LoginUser.class
│ │ │ ├── Menu.class
│ │ │ ├── Role.class
│ │ │ ├── RoleMenu.class
│ │ │ ├── Tag.class
│ │ │ ├── User.class
│ │ │ └── UserRole.class
│ │ └── vo
│ │ │ ├── AdminUserInfoVo.class
│ │ │ ├── ArticleDetailVo.class
│ │ │ ├── ArticleListVo.class
│ │ │ ├── ArticleVo.class
│ │ │ ├── BlogUserLoginVo.class
│ │ │ ├── CategoryVo.class
│ │ │ ├── CommentVo.class
│ │ │ ├── ExcelCategoryVo.class
│ │ │ ├── HotArticleVo.class
│ │ │ ├── LinkVo.class
│ │ │ ├── MenuTreeVo.class
│ │ │ ├── MenuVo.class
│ │ │ ├── PageVo.class
│ │ │ ├── RoleMenuTreeSelectVo.class
│ │ │ ├── RoutersVo.class
│ │ │ ├── TagVo.class
│ │ │ ├── UserInfoAndRoleIdsVo.class
│ │ │ ├── UserInfoVo.class
│ │ │ └── UserVo.class
│ │ ├── enums
│ │ └── AppHttpCodeEnum.class
│ │ ├── exception
│ │ └── SystemException.class
│ │ ├── handler
│ │ ├── exception
│ │ │ └── GlobalExceptionHandler.class
│ │ ├── mybatisplus
│ │ │ └── MyMetaObjectHandler.class
│ │ └── security
│ │ │ ├── AccessDeniedHandlerImpl.class
│ │ │ └── AuthenticationEntryPointImpl.class
│ │ ├── mapper
│ │ ├── ArticleMapper.class
│ │ ├── ArticleTagMapper.class
│ │ ├── CategoryMapper.class
│ │ ├── CommentMapper.class
│ │ ├── LinkMapper.class
│ │ ├── MenuMapper.class
│ │ ├── RoleMapper.class
│ │ ├── RoleMenuMapper.class
│ │ ├── TagMapper.class
│ │ ├── UserMapper.class
│ │ └── UserRoleMapper.class
│ │ ├── service
│ │ ├── ArticleService.class
│ │ ├── ArticleTagService.class
│ │ ├── BlogLoginService.class
│ │ ├── CategoryService.class
│ │ ├── CommentService.class
│ │ ├── LinkService.class
│ │ ├── LoginService.class
│ │ ├── MenuService.class
│ │ ├── RoleMenuService.class
│ │ ├── RoleService.class
│ │ ├── TagService.class
│ │ ├── UploadService.class
│ │ ├── UserRoleService.class
│ │ ├── UserService.class
│ │ └── impl
│ │ │ ├── ArticleServiceImpl.class
│ │ │ ├── ArticleTagServiceImpl.class
│ │ │ ├── BlogLoginServiceImpl.class
│ │ │ ├── CategoryServiceImpl.class
│ │ │ ├── CommentServiceImpl.class
│ │ │ ├── LinkServiceImpl.class
│ │ │ ├── MenuServiceImpl.class
│ │ │ ├── OssUploadService.class
│ │ │ ├── PermissionService.class
│ │ │ ├── RoleMenuServiceImpl.class
│ │ │ ├── RoleServiceImpl.class
│ │ │ ├── SystemLoginServiceImpl.class
│ │ │ ├── TagServiceImpl.class
│ │ │ ├── UserDetailsServiceImpl.class
│ │ │ ├── UserRoleServiceImpl.class
│ │ │ └── UserServiceImpl.class
│ │ └── utils
│ │ ├── BeanCopyUtils.class
│ │ ├── JwtUtil.class
│ │ ├── PathUtils.class
│ │ ├── RedisCache.class
│ │ ├── SecurityUtils.class
│ │ ├── SystemConverter.class
│ │ └── WebUtils.class
│ └── mapper
│ ├── MenuMapper.xml
│ └── RoleMapper.xml
├── sg-blog-vue
├── .babelrc
├── .editorconfig
├── .env.development
├── .env.production
├── .gitignore
├── .postcssrc.js
├── README.md
├── build
│ ├── build.js
│ ├── check-versions.js
│ ├── logo.png
│ ├── utils.js
│ ├── vue-loader.conf.js
│ ├── webpack.base.conf.js
│ ├── webpack.dev.conf.js
│ └── webpack.prod.conf.js
├── config
│ ├── dev.env.js
│ ├── index.js
│ └── prod.env.js
├── dist
│ ├── index.html
│ └── static
│ │ ├── css
│ │ └── app.css
│ │ ├── fonts
│ │ └── element-icons.ttf
│ │ ├── img
│ │ ├── aboutme.jpg
│ │ ├── aimee
│ │ │ ├── QQ.jpg
│ │ │ ├── erwm.jpg
│ │ │ ├── gzh.jpg
│ │ │ ├── meishi.jpg
│ │ │ └── wechat.jpg
│ │ ├── emot
│ │ │ └── image
│ │ │ │ ├── aini.gif
│ │ │ │ ├── baibai.gif
│ │ │ │ ├── baiyan.gif
│ │ │ │ ├── baobao.gif
│ │ │ │ ├── beishang.gif
│ │ │ │ ├── bishi.gif
│ │ │ │ ├── bizui.gif
│ │ │ │ ├── caonima.gif
│ │ │ │ ├── chanzui.gif
│ │ │ │ ├── chijing.gif
│ │ │ │ ├── dangao.gif
│ │ │ │ ├── fahongbao.gif
│ │ │ │ ├── fennu.gif
│ │ │ │ ├── fuyun.gif
│ │ │ │ ├── ganmao.gif
│ │ │ │ ├── geili.gif
│ │ │ │ ├── good.gif
│ │ │ │ ├── guzhang.gif
│ │ │ │ ├── haha.gif
│ │ │ │ ├── haixiu.gif
│ │ │ │ ├── han.gif
│ │ │ │ ├── haqian.gif
│ │ │ │ ├── heixian.gif
│ │ │ │ ├── heng.gif
│ │ │ │ ├── huatong.gif
│ │ │ │ ├── hufen.gif
│ │ │ │ ├── jiong.gif
│ │ │ │ ├── jiyan.gif
│ │ │ │ ├── keai.gif
│ │ │ │ ├── kelian.gif
│ │ │ │ ├── ku.gif
│ │ │ │ ├── kun.gif
│ │ │ │ ├── lai.gif
│ │ │ │ ├── lazhu.gif
│ │ │ │ ├── lei.gif
│ │ │ │ ├── no.gif
│ │ │ │ ├── nu.gif
│ │ │ │ ├── numa.gif
│ │ │ │ ├── ok.gif
│ │ │ │ ├── qian.gif
│ │ │ │ ├── qinqin.gif
│ │ │ │ ├── ruo.gif
│ │ │ │ ├── se.gif
│ │ │ │ ├── shangxin.gif
│ │ │ │ ├── shengbing.gif
│ │ │ │ ├── shenma.gif
│ │ │ │ ├── shiwang.gif
│ │ │ │ ├── shuai.gif
│ │ │ │ ├── shudaizi.gif
│ │ │ │ ├── shui.gif
│ │ │ │ ├── sikao.gif
│ │ │ │ ├── taikaixin.gif
│ │ │ │ ├── touxiao.gif
│ │ │ │ ├── tu.gif
│ │ │ │ ├── tuzi.gif
│ │ │ │ ├── wabi.gif
│ │ │ │ ├── weiguan.gif
│ │ │ │ ├── weiqu.gif
│ │ │ │ ├── weiwu.gif
│ │ │ │ ├── weixiao.gif
│ │ │ │ ├── xin.gif
│ │ │ │ ├── xiongmao.gif
│ │ │ │ ├── xixi.gif
│ │ │ │ ├── xu.gif
│ │ │ │ ├── ye.gif
│ │ │ │ ├── yinxian.gif
│ │ │ │ ├── yiwen.gif
│ │ │ │ ├── youhengheng.gif
│ │ │ │ ├── yun.gif
│ │ │ │ ├── zan.gif
│ │ │ │ ├── zhu.gif
│ │ │ │ ├── zhuakuang.gif
│ │ │ │ └── zuohengheng.gif
│ │ ├── favicon.ico
│ │ ├── footer01.png
│ │ ├── head.jpg
│ │ ├── headbg.jpg
│ │ ├── headbg02.jpg
│ │ ├── headbg03.jpg
│ │ ├── headbg04.jpg
│ │ ├── headbg05.jpg
│ │ ├── headtou.jpg
│ │ ├── headtou02.jpg
│ │ ├── heart.png
│ │ ├── heart.psd
│ │ ├── heart02.png
│ │ ├── long.png
│ │ ├── mao.png
│ │ ├── maoto.png
│ │ ├── message0.jpg
│ │ ├── qinlh
│ │ │ ├── qq.jpg
│ │ │ └── wechat.jpg
│ │ ├── scroll.png
│ │ ├── snjz.jpg
│ │ ├── timg.jpg
│ │ ├── tou.jpg
│ │ ├── tou.png
│ │ ├── up.png
│ │ ├── upto.png
│ │ └── web.ico
│ │ └── js
│ │ ├── 0.js
│ │ ├── 1.js
│ │ ├── 10.js
│ │ ├── 2.js
│ │ ├── 3.js
│ │ ├── 4.js
│ │ ├── 5.js
│ │ ├── 6.js
│ │ ├── 7.js
│ │ ├── 8.js
│ │ ├── 9.js
│ │ ├── app.js
│ │ ├── manifest.js
│ │ ├── shCore.js
│ │ └── vendor.js
├── index.html
├── package-lock.json
├── package.json
├── src
│ ├── App.vue
│ ├── api
│ │ ├── article.js
│ │ ├── category.js
│ │ ├── comment.js
│ │ ├── link.js
│ │ └── user.js
│ ├── assets
│ │ ├── css
│ │ │ ├── shCoreDefault.css
│ │ │ ├── sigmar.css
│ │ │ ├── style.css
│ │ │ └── style.less
│ │ └── logo.png
│ ├── components
│ │ ├── articleDetail.vue
│ │ ├── articlelist.vue
│ │ ├── friends.vue
│ │ ├── header.vue
│ │ ├── message.vue
│ │ ├── reward.vue
│ │ └── rightlist.vue
│ ├── main.js
│ ├── pages
│ │ ├── DetailArticle.vue
│ │ ├── FriendsLink.vue
│ │ ├── Home.vue
│ │ ├── Login.vue
│ │ ├── Reward.vue
│ │ ├── Share.vue
│ │ └── UserInfo.vue
│ ├── router
│ │ └── index.js
│ ├── store
│ │ └── index.js
│ ├── utils
│ │ ├── auth.js
│ │ ├── errorCode.js
│ │ ├── plug.js
│ │ ├── request.js
│ │ ├── server.js
│ │ └── theater.js
│ └── vue.config.js
└── static
│ ├── img
│ ├── ali_pay.jpg
│ ├── coffee.jpg
│ ├── emot
│ │ └── image
│ │ │ ├── aini.gif
│ │ │ ├── baibai.gif
│ │ │ ├── baiyan.gif
│ │ │ ├── baobao.gif
│ │ │ ├── beishang.gif
│ │ │ ├── bishi.gif
│ │ │ ├── bizui.gif
│ │ │ ├── caonima.gif
│ │ │ ├── chanzui.gif
│ │ │ ├── chijing.gif
│ │ │ ├── dangao.gif
│ │ │ ├── fahongbao.gif
│ │ │ ├── fennu.gif
│ │ │ ├── fuyun.gif
│ │ │ ├── ganmao.gif
│ │ │ ├── geili.gif
│ │ │ ├── good.gif
│ │ │ ├── guzhang.gif
│ │ │ ├── haha.gif
│ │ │ ├── haixiu.gif
│ │ │ ├── han.gif
│ │ │ ├── haqian.gif
│ │ │ ├── heixian.gif
│ │ │ ├── heng.gif
│ │ │ ├── huatong.gif
│ │ │ ├── hufen.gif
│ │ │ ├── jiong.gif
│ │ │ ├── jiyan.gif
│ │ │ ├── keai.gif
│ │ │ ├── kelian.gif
│ │ │ ├── ku.gif
│ │ │ ├── kun.gif
│ │ │ ├── lai.gif
│ │ │ ├── lazhu.gif
│ │ │ ├── lei.gif
│ │ │ ├── no.gif
│ │ │ ├── nu.gif
│ │ │ ├── numa.gif
│ │ │ ├── ok.gif
│ │ │ ├── qian.gif
│ │ │ ├── qinqin.gif
│ │ │ ├── ruo.gif
│ │ │ ├── se.gif
│ │ │ ├── shangxin.gif
│ │ │ ├── shengbing.gif
│ │ │ ├── shenma.gif
│ │ │ ├── shiwang.gif
│ │ │ ├── shuai.gif
│ │ │ ├── shudaizi.gif
│ │ │ ├── shui.gif
│ │ │ ├── sikao.gif
│ │ │ ├── taikaixin.gif
│ │ │ ├── touxiao.gif
│ │ │ ├── tu.gif
│ │ │ ├── tuzi.gif
│ │ │ ├── wabi.gif
│ │ │ ├── weiguan.gif
│ │ │ ├── weiqu.gif
│ │ │ ├── weiwu.gif
│ │ │ ├── weixiao.gif
│ │ │ ├── xin.gif
│ │ │ ├── xiongmao.gif
│ │ │ ├── xixi.gif
│ │ │ ├── xu.gif
│ │ │ ├── ye.gif
│ │ │ ├── yinxian.gif
│ │ │ ├── yiwen.gif
│ │ │ ├── youhengheng.gif
│ │ │ ├── yun.gif
│ │ │ ├── zan.gif
│ │ │ ├── zhu.gif
│ │ │ ├── zhuakuang.gif
│ │ │ └── zuohengheng.gif
│ ├── favicon.ico
│ ├── headbg05.jpg
│ ├── heart.png
│ ├── heart02.png
│ ├── img01.jpg
│ ├── long.png
│ ├── qq.png
│ ├── scroll.png
│ ├── tou.jpg
│ ├── tou.png
│ ├── up.png
│ ├── upto.png
│ ├── web.ico
│ └── wx_pay.png
│ └── js
│ └── shCore.js
├── sg-vue-admin
├── .editorconfig
├── .env.development
├── .env.production
├── .env.staging
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .travis.yml
├── LICENSE
├── README-zh.md
├── README.md
├── babel.config.js
├── build
│ └── index.js
├── jest.config.js
├── jsconfig.json
├── package.json
├── postcss.config.js
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── App.vue
│ ├── api
│ │ ├── content
│ │ │ ├── article.js
│ │ │ ├── category.js
│ │ │ ├── link.js
│ │ │ ├── tag.js
│ │ │ └── upload.js
│ │ ├── login.js
│ │ ├── menu.js
│ │ └── system
│ │ │ ├── role.js
│ │ │ └── user.js
│ ├── assets
│ │ ├── 404_images
│ │ │ ├── 404.png
│ │ │ └── 404_cloud.png
│ │ ├── icons
│ │ │ ├── index.js
│ │ │ ├── svg
│ │ │ │ ├── 404.svg
│ │ │ │ ├── bug.svg
│ │ │ │ ├── build.svg
│ │ │ │ ├── button.svg
│ │ │ │ ├── cascader.svg
│ │ │ │ ├── chart.svg
│ │ │ │ ├── checkbox.svg
│ │ │ │ ├── clipboard.svg
│ │ │ │ ├── code.svg
│ │ │ │ ├── color.svg
│ │ │ │ ├── component.svg
│ │ │ │ ├── dashboard.svg
│ │ │ │ ├── date-range.svg
│ │ │ │ ├── date.svg
│ │ │ │ ├── dict.svg
│ │ │ │ ├── documentation.svg
│ │ │ │ ├── download.svg
│ │ │ │ ├── drag.svg
│ │ │ │ ├── druid.svg
│ │ │ │ ├── edit.svg
│ │ │ │ ├── education.svg
│ │ │ │ ├── email.svg
│ │ │ │ ├── example.svg
│ │ │ │ ├── excel.svg
│ │ │ │ ├── exit-fullscreen.svg
│ │ │ │ ├── eye-open.svg
│ │ │ │ ├── eye.svg
│ │ │ │ ├── form.svg
│ │ │ │ ├── fullscreen.svg
│ │ │ │ ├── github.svg
│ │ │ │ ├── guide.svg
│ │ │ │ ├── icon.svg
│ │ │ │ ├── input.svg
│ │ │ │ ├── international.svg
│ │ │ │ ├── job.svg
│ │ │ │ ├── language.svg
│ │ │ │ ├── link.svg
│ │ │ │ ├── list.svg
│ │ │ │ ├── lock.svg
│ │ │ │ ├── log.svg
│ │ │ │ ├── logininfor.svg
│ │ │ │ ├── message.svg
│ │ │ │ ├── money.svg
│ │ │ │ ├── monitor.svg
│ │ │ │ ├── nested.svg
│ │ │ │ ├── number.svg
│ │ │ │ ├── online.svg
│ │ │ │ ├── password.svg
│ │ │ │ ├── pdf.svg
│ │ │ │ ├── people.svg
│ │ │ │ ├── peoples.svg
│ │ │ │ ├── phone.svg
│ │ │ │ ├── post.svg
│ │ │ │ ├── qq.svg
│ │ │ │ ├── question.svg
│ │ │ │ ├── radio.svg
│ │ │ │ ├── rate.svg
│ │ │ │ ├── redis.svg
│ │ │ │ ├── row.svg
│ │ │ │ ├── search.svg
│ │ │ │ ├── select.svg
│ │ │ │ ├── server.svg
│ │ │ │ ├── shopping.svg
│ │ │ │ ├── size.svg
│ │ │ │ ├── skill.svg
│ │ │ │ ├── slider.svg
│ │ │ │ ├── star.svg
│ │ │ │ ├── swagger.svg
│ │ │ │ ├── switch.svg
│ │ │ │ ├── system.svg
│ │ │ │ ├── tab.svg
│ │ │ │ ├── table.svg
│ │ │ │ ├── textarea.svg
│ │ │ │ ├── theme.svg
│ │ │ │ ├── time-range.svg
│ │ │ │ ├── time.svg
│ │ │ │ ├── tool.svg
│ │ │ │ ├── tree-table.svg
│ │ │ │ ├── tree.svg
│ │ │ │ ├── upload.svg
│ │ │ │ ├── user.svg
│ │ │ │ ├── validCode.svg
│ │ │ │ ├── wechat.svg
│ │ │ │ └── zip.svg
│ │ │ └── svgo.yml
│ │ └── images
│ │ │ ├── dark.svg
│ │ │ ├── light.svg
│ │ │ ├── login-background.jpg
│ │ │ └── profile.jpg
│ ├── components
│ │ ├── Breadcrumb
│ │ │ └── index.vue
│ │ ├── Hamburger
│ │ │ └── index.vue
│ │ ├── ParentView
│ │ │ └── index.vue
│ │ └── SvgIcon
│ │ │ └── index.vue
│ ├── directive
│ │ ├── index.js
│ │ └── permission
│ │ │ └── hasPermission.js
│ ├── layout
│ │ ├── components
│ │ │ ├── AppMain.vue
│ │ │ ├── InnerLink
│ │ │ │ └── index.vue
│ │ │ ├── Navbar.vue
│ │ │ ├── Sidebar
│ │ │ │ ├── FixiOSBug.js
│ │ │ │ ├── Item.vue
│ │ │ │ ├── Link.vue
│ │ │ │ ├── Logo.vue
│ │ │ │ ├── SidebarItem.vue
│ │ │ │ └── index.vue
│ │ │ └── index.js
│ │ ├── index.vue
│ │ └── mixin
│ │ │ └── ResizeHandler.js
│ ├── main.js
│ ├── permission.js
│ ├── plugins
│ │ ├── auth.js
│ │ ├── cache.js
│ │ ├── index.js
│ │ └── modal.js
│ ├── router
│ │ └── index.js
│ ├── settings.js
│ ├── store
│ │ ├── getters.js
│ │ ├── index.js
│ │ └── modules
│ │ │ ├── app.js
│ │ │ ├── permission.js
│ │ │ ├── settings.js
│ │ │ └── user.js
│ ├── styles
│ │ ├── element-ui.scss
│ │ ├── index.scss
│ │ ├── mixin.scss
│ │ ├── sidebar.scss
│ │ ├── transition.scss
│ │ └── variables.scss
│ ├── utils
│ │ ├── auth.js
│ │ ├── downloadService.js
│ │ ├── errorCode.js
│ │ ├── get-page-title.js
│ │ ├── index.js
│ │ ├── jscencrypt.js
│ │ ├── permission.js
│ │ ├── request.js
│ │ ├── sg.js
│ │ └── validate.js
│ └── views
│ │ ├── content
│ │ ├── article
│ │ │ ├── index.vue
│ │ │ └── write
│ │ │ │ └── index.vue
│ │ ├── category
│ │ │ └── index.vue
│ │ ├── link
│ │ │ └── index.vue
│ │ └── tag
│ │ │ └── index.vue
│ │ ├── dashboard
│ │ └── index.vue
│ │ ├── login
│ │ └── index.vue
│ │ └── system
│ │ ├── menu
│ │ └── index.vue
│ │ ├── role
│ │ └── index.vue
│ │ └── user
│ │ └── index.vue
├── tests
│ └── unit
│ │ ├── .eslintrc.js
│ │ ├── components
│ │ ├── Breadcrumb.spec.js
│ │ ├── Hamburger.spec.js
│ │ └── SvgIcon.spec.js
│ │ └── utils
│ │ ├── formatTime.spec.js
│ │ ├── param2Obj.spec.js
│ │ ├── parseTime.spec.js
│ │ └── validate.spec.js
└── vue.config.js
└── 资源
├── SQL
├── sg_article.sql
├── sg_category.sql
├── sg_comment.sql
├── sg_link.sql
└── sys_user.sql
├── 前端工程
└── sg-blog-vue
│ ├── .babelrc
│ ├── .editorconfig
│ ├── .env.development
│ ├── .env.production
│ ├── .gitignore
│ ├── .postcssrc.js
│ ├── README.md
│ ├── build
│ ├── build.js
│ ├── check-versions.js
│ ├── logo.png
│ ├── utils.js
│ ├── vue-loader.conf.js
│ ├── webpack.base.conf.js
│ ├── webpack.dev.conf.js
│ └── webpack.prod.conf.js
│ ├── config
│ ├── dev.env.js
│ ├── index.js
│ └── prod.env.js
│ ├── dist
│ ├── index.html
│ └── static
│ │ ├── css
│ │ └── app.css
│ │ ├── fonts
│ │ └── element-icons.ttf
│ │ ├── img
│ │ ├── aboutme.jpg
│ │ ├── aimee
│ │ │ ├── QQ.jpg
│ │ │ ├── erwm.jpg
│ │ │ ├── gzh.jpg
│ │ │ ├── meishi.jpg
│ │ │ └── wechat.jpg
│ │ ├── emot
│ │ │ └── image
│ │ │ │ ├── aini.gif
│ │ │ │ ├── baibai.gif
│ │ │ │ ├── baiyan.gif
│ │ │ │ ├── baobao.gif
│ │ │ │ ├── beishang.gif
│ │ │ │ ├── bishi.gif
│ │ │ │ ├── bizui.gif
│ │ │ │ ├── caonima.gif
│ │ │ │ ├── chanzui.gif
│ │ │ │ ├── chijing.gif
│ │ │ │ ├── dangao.gif
│ │ │ │ ├── fahongbao.gif
│ │ │ │ ├── fennu.gif
│ │ │ │ ├── fuyun.gif
│ │ │ │ ├── ganmao.gif
│ │ │ │ ├── geili.gif
│ │ │ │ ├── good.gif
│ │ │ │ ├── guzhang.gif
│ │ │ │ ├── haha.gif
│ │ │ │ ├── haixiu.gif
│ │ │ │ ├── han.gif
│ │ │ │ ├── haqian.gif
│ │ │ │ ├── heixian.gif
│ │ │ │ ├── heng.gif
│ │ │ │ ├── huatong.gif
│ │ │ │ ├── hufen.gif
│ │ │ │ ├── jiong.gif
│ │ │ │ ├── jiyan.gif
│ │ │ │ ├── keai.gif
│ │ │ │ ├── kelian.gif
│ │ │ │ ├── ku.gif
│ │ │ │ ├── kun.gif
│ │ │ │ ├── lai.gif
│ │ │ │ ├── lazhu.gif
│ │ │ │ ├── lei.gif
│ │ │ │ ├── no.gif
│ │ │ │ ├── nu.gif
│ │ │ │ ├── numa.gif
│ │ │ │ ├── ok.gif
│ │ │ │ ├── qian.gif
│ │ │ │ ├── qinqin.gif
│ │ │ │ ├── ruo.gif
│ │ │ │ ├── se.gif
│ │ │ │ ├── shangxin.gif
│ │ │ │ ├── shengbing.gif
│ │ │ │ ├── shenma.gif
│ │ │ │ ├── shiwang.gif
│ │ │ │ ├── shuai.gif
│ │ │ │ ├── shudaizi.gif
│ │ │ │ ├── shui.gif
│ │ │ │ ├── sikao.gif
│ │ │ │ ├── taikaixin.gif
│ │ │ │ ├── touxiao.gif
│ │ │ │ ├── tu.gif
│ │ │ │ ├── tuzi.gif
│ │ │ │ ├── wabi.gif
│ │ │ │ ├── weiguan.gif
│ │ │ │ ├── weiqu.gif
│ │ │ │ ├── weiwu.gif
│ │ │ │ ├── weixiao.gif
│ │ │ │ ├── xin.gif
│ │ │ │ ├── xiongmao.gif
│ │ │ │ ├── xixi.gif
│ │ │ │ ├── xu.gif
│ │ │ │ ├── ye.gif
│ │ │ │ ├── yinxian.gif
│ │ │ │ ├── yiwen.gif
│ │ │ │ ├── youhengheng.gif
│ │ │ │ ├── yun.gif
│ │ │ │ ├── zan.gif
│ │ │ │ ├── zhu.gif
│ │ │ │ ├── zhuakuang.gif
│ │ │ │ └── zuohengheng.gif
│ │ ├── favicon.ico
│ │ ├── footer01.png
│ │ ├── head.jpg
│ │ ├── headbg.jpg
│ │ ├── headbg02.jpg
│ │ ├── headbg03.jpg
│ │ ├── headbg04.jpg
│ │ ├── headbg05.jpg
│ │ ├── headtou.jpg
│ │ ├── headtou02.jpg
│ │ ├── heart.png
│ │ ├── heart.psd
│ │ ├── heart02.png
│ │ ├── long.png
│ │ ├── mao.png
│ │ ├── maoto.png
│ │ ├── message0.jpg
│ │ ├── qinlh
│ │ │ ├── qq.jpg
│ │ │ └── wechat.jpg
│ │ ├── scroll.png
│ │ ├── snjz.jpg
│ │ ├── timg.jpg
│ │ ├── tou.jpg
│ │ ├── tou.png
│ │ ├── up.png
│ │ ├── upto.png
│ │ └── web.ico
│ │ └── js
│ │ ├── 0.js
│ │ ├── 1.js
│ │ ├── 10.js
│ │ ├── 2.js
│ │ ├── 3.js
│ │ ├── 4.js
│ │ ├── 5.js
│ │ ├── 6.js
│ │ ├── 7.js
│ │ ├── 8.js
│ │ ├── 9.js
│ │ ├── app.js
│ │ ├── manifest.js
│ │ ├── shCore.js
│ │ └── vendor.js
│ ├── index.html
│ ├── package-lock.json
│ ├── package.json
│ ├── src
│ ├── App.vue
│ ├── api
│ │ ├── article.js
│ │ ├── category.js
│ │ ├── comment.js
│ │ ├── link.js
│ │ └── user.js
│ ├── assets
│ │ ├── css
│ │ │ ├── shCoreDefault.css
│ │ │ ├── sigmar.css
│ │ │ ├── style.css
│ │ │ └── style.less
│ │ └── logo.png
│ ├── components
│ │ ├── articleDetail.vue
│ │ ├── articlelist.vue
│ │ ├── friends.vue
│ │ ├── header.vue
│ │ ├── message.vue
│ │ ├── reward.vue
│ │ └── rightlist.vue
│ ├── main.js
│ ├── pages
│ │ ├── DetailArticle.vue
│ │ ├── FriendsLink.vue
│ │ ├── Home.vue
│ │ ├── Login.vue
│ │ ├── Reward.vue
│ │ ├── Share.vue
│ │ └── UserInfo.vue
│ ├── router
│ │ └── index.js
│ ├── store
│ │ └── index.js
│ ├── utils
│ │ ├── auth.js
│ │ ├── errorCode.js
│ │ ├── plug.js
│ │ ├── request.js
│ │ ├── server.js
│ │ └── theater.js
│ └── vue.config.js
│ └── static
│ ├── img
│ ├── ali_pay.jpg
│ ├── coffee.jpg
│ ├── emot
│ │ └── image
│ │ │ ├── aini.gif
│ │ │ ├── baibai.gif
│ │ │ ├── baiyan.gif
│ │ │ ├── baobao.gif
│ │ │ ├── beishang.gif
│ │ │ ├── bishi.gif
│ │ │ ├── bizui.gif
│ │ │ ├── caonima.gif
│ │ │ ├── chanzui.gif
│ │ │ ├── chijing.gif
│ │ │ ├── dangao.gif
│ │ │ ├── fahongbao.gif
│ │ │ ├── fennu.gif
│ │ │ ├── fuyun.gif
│ │ │ ├── ganmao.gif
│ │ │ ├── geili.gif
│ │ │ ├── good.gif
│ │ │ ├── guzhang.gif
│ │ │ ├── haha.gif
│ │ │ ├── haixiu.gif
│ │ │ ├── han.gif
│ │ │ ├── haqian.gif
│ │ │ ├── heixian.gif
│ │ │ ├── heng.gif
│ │ │ ├── huatong.gif
│ │ │ ├── hufen.gif
│ │ │ ├── jiong.gif
│ │ │ ├── jiyan.gif
│ │ │ ├── keai.gif
│ │ │ ├── kelian.gif
│ │ │ ├── ku.gif
│ │ │ ├── kun.gif
│ │ │ ├── lai.gif
│ │ │ ├── lazhu.gif
│ │ │ ├── lei.gif
│ │ │ ├── no.gif
│ │ │ ├── nu.gif
│ │ │ ├── numa.gif
│ │ │ ├── ok.gif
│ │ │ ├── qian.gif
│ │ │ ├── qinqin.gif
│ │ │ ├── ruo.gif
│ │ │ ├── se.gif
│ │ │ ├── shangxin.gif
│ │ │ ├── shengbing.gif
│ │ │ ├── shenma.gif
│ │ │ ├── shiwang.gif
│ │ │ ├── shuai.gif
│ │ │ ├── shudaizi.gif
│ │ │ ├── shui.gif
│ │ │ ├── sikao.gif
│ │ │ ├── taikaixin.gif
│ │ │ ├── touxiao.gif
│ │ │ ├── tu.gif
│ │ │ ├── tuzi.gif
│ │ │ ├── wabi.gif
│ │ │ ├── weiguan.gif
│ │ │ ├── weiqu.gif
│ │ │ ├── weiwu.gif
│ │ │ ├── weixiao.gif
│ │ │ ├── xin.gif
│ │ │ ├── xiongmao.gif
│ │ │ ├── xixi.gif
│ │ │ ├── xu.gif
│ │ │ ├── ye.gif
│ │ │ ├── yinxian.gif
│ │ │ ├── yiwen.gif
│ │ │ ├── youhengheng.gif
│ │ │ ├── yun.gif
│ │ │ ├── zan.gif
│ │ │ ├── zhu.gif
│ │ │ ├── zhuakuang.gif
│ │ │ └── zuohengheng.gif
│ ├── favicon.ico
│ ├── headbg05.jpg
│ ├── heart.png
│ ├── heart02.png
│ ├── img01.jpg
│ ├── long.png
│ ├── qq.png
│ ├── scroll.png
│ ├── tou.jpg
│ ├── tou.png
│ ├── up.png
│ ├── upto.png
│ ├── web.ico
│ └── wx_pay.png
│ └── js
│ └── shCore.js
└── 登录功能所需资源
├── FastJsonRedisSerializer.java
├── JwtUtil.java
├── RedisCache.java
├── RedisConfig.java
└── WebUtils.java
/.idea/SGBlog.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/dataSources/ebedd52c-f786-4f6d-8e5a-f4d875537b1d/storage_v2/_src_/schema/information_schema.FNRwLQ.meta:
--------------------------------------------------------------------------------
1 | #n:information_schema
2 | ! [null, 0, null, null, -2147483648, -2147483648]
3 |
--------------------------------------------------------------------------------
/.idea/dataSources/ebedd52c-f786-4f6d-8e5a-f4d875537b1d/storage_v2/_src_/schema/mysql.osA4Bg.meta:
--------------------------------------------------------------------------------
1 | #n:mysql
2 | ! [null, 0, null, null, -2147483648, -2147483648]
3 |
--------------------------------------------------------------------------------
/.idea/dataSources/ebedd52c-f786-4f6d-8e5a-f4d875537b1d/storage_v2/_src_/schema/performance_schema.kIw0nw.meta:
--------------------------------------------------------------------------------
1 | #n:performance_schema
2 | ! [null, 0, null, null, -2147483648, -2147483648]
3 |
--------------------------------------------------------------------------------
/.idea/dataSources/ebedd52c-f786-4f6d-8e5a-f4d875537b1d/storage_v2/_src_/schema/sys.zb4BAA.meta:
--------------------------------------------------------------------------------
1 | #n:sys
2 | ! [null, 0, null, null, -2147483648, -2147483648]
3 |
--------------------------------------------------------------------------------
/.idea/sqldialects.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/img/image-20220202111056036-16437714601701.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220202111056036-16437714601701.png
--------------------------------------------------------------------------------
/img/image-20220202111056036.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220202111056036.png
--------------------------------------------------------------------------------
/img/image-20220202121318183-16437751995162.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220202121318183-16437751995162.png
--------------------------------------------------------------------------------
/img/image-20220202121318183.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220202121318183.png
--------------------------------------------------------------------------------
/img/image-20220202152402296-16437866440853.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220202152402296-16437866440853.png
--------------------------------------------------------------------------------
/img/image-20220202152402296.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220202152402296.png
--------------------------------------------------------------------------------
/img/image-20220202152440565.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220202152440565.png
--------------------------------------------------------------------------------
/img/image-20220208214106296.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220208214106296.png
--------------------------------------------------------------------------------
/img/image-20220227224443813.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220227224443813.png
--------------------------------------------------------------------------------
/img/image-20220227224537701.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220227224537701.png
--------------------------------------------------------------------------------
/img/image-20220228230512598.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220228230512598.png
--------------------------------------------------------------------------------
/img/image-20220228230933808.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220228230933808.png
--------------------------------------------------------------------------------
/img/image-20220313133714102.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/img/image-20220313133714102.png
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/BlogAdminApplication.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/BlogAdminApplication.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/config/SecurityConfig.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/config/SecurityConfig.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/controller/ArticleController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/controller/ArticleController.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/controller/CategoryController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/controller/CategoryController.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/controller/LinkController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/controller/LinkController.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/controller/LoginController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/controller/LoginController.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/controller/MenuController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/controller/MenuController.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/controller/RoleController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/controller/RoleController.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/controller/TagController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/controller/TagController.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/controller/UploadController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/controller/UploadController.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/controller/UserController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/controller/UserController.class
--------------------------------------------------------------------------------
/sangeng-admin/target/classes/com/sangeng/filter/JwtAuthenticationTokenFilter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-admin/target/classes/com/sangeng/filter/JwtAuthenticationTokenFilter.class
--------------------------------------------------------------------------------
/sangeng-blog/src/main/java/com/sangeng/job/TestJob.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.job;
2 |
3 |
4 | import org.springframework.scheduling.annotation.Scheduled;
5 | import org.springframework.stereotype.Component;
6 |
7 | @Component
8 | public class TestJob {
9 |
10 | @Scheduled(cron = "0/5 * * * * ?")
11 | public void testJob(){
12 | //要执行的代码
13 | System.out.println("定时任务执行了");
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/sangeng-blog/src/main/java/com/sangeng/runner/TestRunner.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.runner;
2 |
3 | import org.springframework.boot.CommandLineRunner;
4 | import org.springframework.stereotype.Component;
5 |
6 | @Component
7 | public class TestRunner implements CommandLineRunner {
8 | @Override
9 | public void run(String... args) throws Exception {
10 | System.out.println("程序初始化");
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/SanGengBlogApplication.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/SanGengBlogApplication.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/config/SecurityConfig.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/config/SecurityConfig.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/config/SwaggerConfig.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/config/SwaggerConfig.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/controller/ArticleController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/controller/ArticleController.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/controller/BlogLoginController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/controller/BlogLoginController.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/controller/CategoryController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/controller/CategoryController.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/controller/CommentController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/controller/CommentController.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/controller/LinkController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/controller/LinkController.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/controller/UploadController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/controller/UploadController.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/controller/UserController.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/controller/UserController.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/filter/JwtAuthenticationTokenFilter.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/filter/JwtAuthenticationTokenFilter.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/job/TestJob.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/job/TestJob.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/job/UpdateViewCountJob.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/job/UpdateViewCountJob.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/runner/TestRunner.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/runner/TestRunner.class
--------------------------------------------------------------------------------
/sangeng-blog/target/classes/com/sangeng/runner/ViewCountRunner.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shuhongfan/SGBlog/26d1f0b7f38bd47218774cc68ee10d02fceb8f32/sangeng-blog/target/classes/com/sangeng/runner/ViewCountRunner.class
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/annotation/SystemLog.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.annotation;
2 |
3 |
4 | import org.aspectj.lang.annotation.Around;
5 |
6 | import java.lang.annotation.ElementType;
7 | import java.lang.annotation.Retention;
8 | import java.lang.annotation.RetentionPolicy;
9 | import java.lang.annotation.Target;
10 |
11 | @Retention(RetentionPolicy.RUNTIME)
12 | @Target(ElementType.METHOD)
13 | public @interface SystemLog {
14 | String businessName();
15 | }
16 |
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/domain/dto/AddTagDto.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.domain.dto;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @AllArgsConstructor
9 | @NoArgsConstructor
10 | public class AddTagDto {
11 | //备注
12 | private String remark;
13 | //标签名
14 | private String name;
15 | }
16 |
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/domain/dto/ChangeRoleStatusDto.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.domain.dto;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @AllArgsConstructor
9 | @NoArgsConstructor
10 | public class ChangeRoleStatusDto {
11 |
12 | private Long roleId;
13 | private String status;
14 | }
15 |
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/domain/dto/EditTagDto.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.domain.dto;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @AllArgsConstructor
9 | @NoArgsConstructor
10 | public class EditTagDto {
11 |
12 | private Long id;
13 | //备注
14 | private String remark;
15 | //标签名
16 | private String name;
17 | }
18 |
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/domain/dto/TagListDto.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.domain.dto;
2 |
3 | import io.swagger.annotations.ApiModel;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | @Data
9 | @AllArgsConstructor
10 | @NoArgsConstructor
11 | public class TagListDto {
12 |
13 | private String name;
14 | private String remark;
15 | }
16 |
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/domain/vo/BlogUserLoginVo.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.domain.vo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @NoArgsConstructor
9 | @AllArgsConstructor
10 | public class BlogUserLoginVo {
11 |
12 | private String token;
13 | private UserInfoVo userInfo;
14 | }
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/domain/vo/CategoryVo.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.domain.vo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @NoArgsConstructor
9 | @AllArgsConstructor
10 | public class CategoryVo {
11 |
12 | private Long id;
13 | private String name;
14 | //描述
15 | private String description;
16 | }
17 |
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/domain/vo/HotArticleVo.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.domain.vo;
2 |
3 |
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | @Data
9 | @NoArgsConstructor
10 | @AllArgsConstructor
11 | public class HotArticleVo {
12 | private Long id;
13 | //标题
14 | private String title;
15 |
16 | //访问量
17 | private Long viewCount;
18 | }
19 |
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/domain/vo/LinkVo.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.domain.vo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | @Data
8 | @NoArgsConstructor
9 | @AllArgsConstructor
10 | public class LinkVo {
11 | private Long id;
12 |
13 |
14 | private String name;
15 |
16 | private String logo;
17 |
18 | private String description;
19 | //网站地址
20 | private String address;
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/domain/vo/PageVo.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.domain.vo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 |
7 | import java.util.List;
8 |
9 | @Data
10 | @NoArgsConstructor
11 | @AllArgsConstructor
12 | public class PageVo {
13 | private List rows;
14 | private Long total;
15 | }
16 |
--------------------------------------------------------------------------------
/sangeng-framework/src/main/java/com/sangeng/domain/vo/RoutersVo.java:
--------------------------------------------------------------------------------
1 | package com.sangeng.domain.vo;
2 |
3 | import com.sangeng.domain.entity.Menu;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | import java.util.List;
9 | @Data
10 | @AllArgsConstructor
11 | @NoArgsConstructor
12 | public class RoutersVo {
13 |
14 | private List