gitextract_ta69pkyf/ ├── .gitignore ├── README.md ├── mbti-test-mini/ │ ├── .editorconfig │ ├── .eslintrc │ ├── babel.config.js │ ├── config/ │ │ ├── dev.ts │ │ ├── index.ts │ │ └── prod.ts │ ├── package.json │ ├── project.config.json │ ├── project.private.config.json │ ├── project.tt.json │ ├── src/ │ │ ├── app.config.ts │ │ ├── app.scss │ │ ├── app.ts │ │ ├── components/ │ │ │ └── GlobalFooter/ │ │ │ ├── index.scss │ │ │ └── index.tsx │ │ ├── data/ │ │ │ ├── question_results.json │ │ │ └── questions.json │ │ ├── index.html │ │ ├── pages/ │ │ │ ├── doQuestion/ │ │ │ │ ├── index.config.ts │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ ├── index/ │ │ │ │ ├── index.config.ts │ │ │ │ ├── index.scss │ │ │ │ └── index.tsx │ │ │ └── result/ │ │ │ ├── index.config.ts │ │ │ ├── index.scss │ │ │ └── index.tsx │ │ └── utils/ │ │ └── bizUtils.ts │ ├── tsconfig.json │ └── types/ │ ├── custom.d.ts │ └── global.d.ts ├── yudada-backend/ │ ├── .gitignore │ ├── .mvn/ │ │ └── wrapper/ │ │ └── maven-wrapper.properties │ ├── Dockerfile │ ├── README.md │ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── sql/ │ │ ├── create_table.sql │ │ ├── init_data.sql │ │ └── post_es_mapping.json │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── yupi/ │ │ │ └── yudada/ │ │ │ ├── MainApplication.java │ │ │ ├── annotation/ │ │ │ │ └── AuthCheck.java │ │ │ ├── aop/ │ │ │ │ ├── AuthInterceptor.java │ │ │ │ └── LogInterceptor.java │ │ │ ├── common/ │ │ │ │ ├── BaseResponse.java │ │ │ │ ├── DeleteRequest.java │ │ │ │ ├── ErrorCode.java │ │ │ │ ├── PageRequest.java │ │ │ │ ├── ResultUtils.java │ │ │ │ └── ReviewRequest.java │ │ │ ├── config/ │ │ │ │ ├── AiConfig.java │ │ │ │ ├── CorsConfig.java │ │ │ │ ├── CosClientConfig.java │ │ │ │ ├── JsonConfig.java │ │ │ │ ├── MyBatisPlusConfig.java │ │ │ │ ├── RedissonConfig.java │ │ │ │ └── VipSchedulerConfig.java │ │ │ ├── constant/ │ │ │ │ ├── CommonConstant.java │ │ │ │ ├── FileConstant.java │ │ │ │ └── UserConstant.java │ │ │ ├── controller/ │ │ │ │ ├── AppController.java │ │ │ │ ├── AppStatisticController.java │ │ │ │ ├── FileController.java │ │ │ │ ├── PostController.java │ │ │ │ ├── PostFavourController.java │ │ │ │ ├── PostThumbController.java │ │ │ │ ├── QuestionController.java │ │ │ │ ├── ScoringResultController.java │ │ │ │ ├── UserAnswerController.java │ │ │ │ └── UserController.java │ │ │ ├── exception/ │ │ │ │ ├── BusinessException.java │ │ │ │ ├── GlobalExceptionHandler.java │ │ │ │ └── ThrowUtils.java │ │ │ ├── generate/ │ │ │ │ └── CodeGenerator.java │ │ │ ├── manager/ │ │ │ │ ├── AiManager.java │ │ │ │ └── CosManager.java │ │ │ ├── mapper/ │ │ │ │ ├── AppMapper.java │ │ │ │ ├── PostFavourMapper.java │ │ │ │ ├── PostMapper.java │ │ │ │ ├── PostThumbMapper.java │ │ │ │ ├── QuestionMapper.java │ │ │ │ ├── ScoringResultMapper.java │ │ │ │ ├── UserAnswerMapper.java │ │ │ │ └── UserMapper.java │ │ │ ├── model/ │ │ │ │ ├── dto/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── AppAddRequest.java │ │ │ │ │ │ ├── AppEditRequest.java │ │ │ │ │ │ ├── AppQueryRequest.java │ │ │ │ │ │ └── AppUpdateRequest.java │ │ │ │ │ ├── file/ │ │ │ │ │ │ └── UploadFileRequest.java │ │ │ │ │ ├── post/ │ │ │ │ │ │ ├── PostAddRequest.java │ │ │ │ │ │ ├── PostEditRequest.java │ │ │ │ │ │ ├── PostQueryRequest.java │ │ │ │ │ │ └── PostUpdateRequest.java │ │ │ │ │ ├── postfavour/ │ │ │ │ │ │ ├── PostFavourAddRequest.java │ │ │ │ │ │ └── PostFavourQueryRequest.java │ │ │ │ │ ├── postthumb/ │ │ │ │ │ │ └── PostThumbAddRequest.java │ │ │ │ │ ├── question/ │ │ │ │ │ │ ├── AiGenerateQuestionRequest.java │ │ │ │ │ │ ├── QuestionAddRequest.java │ │ │ │ │ │ ├── QuestionAnswerDTO.java │ │ │ │ │ │ ├── QuestionContentDTO.java │ │ │ │ │ │ ├── QuestionEditRequest.java │ │ │ │ │ │ ├── QuestionQueryRequest.java │ │ │ │ │ │ └── QuestionUpdateRequest.java │ │ │ │ │ ├── scoringResult/ │ │ │ │ │ │ ├── ScoringResultAddRequest.java │ │ │ │ │ │ ├── ScoringResultEditRequest.java │ │ │ │ │ │ ├── ScoringResultQueryRequest.java │ │ │ │ │ │ └── ScoringResultUpdateRequest.java │ │ │ │ │ ├── statistic/ │ │ │ │ │ │ ├── AppAnswerCountDTO.java │ │ │ │ │ │ └── AppAnswerResultCountDTO.java │ │ │ │ │ ├── user/ │ │ │ │ │ │ ├── UserAddRequest.java │ │ │ │ │ │ ├── UserLoginRequest.java │ │ │ │ │ │ ├── UserQueryRequest.java │ │ │ │ │ │ ├── UserRegisterRequest.java │ │ │ │ │ │ ├── UserUpdateMyRequest.java │ │ │ │ │ │ └── UserUpdateRequest.java │ │ │ │ │ └── userAnswer/ │ │ │ │ │ ├── UserAnswerAddRequest.java │ │ │ │ │ ├── UserAnswerEditRequest.java │ │ │ │ │ ├── UserAnswerQueryRequest.java │ │ │ │ │ └── UserAnswerUpdateRequest.java │ │ │ │ ├── entity/ │ │ │ │ │ ├── App.java │ │ │ │ │ ├── Post.java │ │ │ │ │ ├── PostFavour.java │ │ │ │ │ ├── PostThumb.java │ │ │ │ │ ├── Question.java │ │ │ │ │ ├── ScoringResult.java │ │ │ │ │ ├── User.java │ │ │ │ │ └── UserAnswer.java │ │ │ │ ├── enums/ │ │ │ │ │ ├── AppScoringStrategyEnum.java │ │ │ │ │ ├── AppTypeEnum.java │ │ │ │ │ ├── FileUploadBizEnum.java │ │ │ │ │ ├── ReviewStatusEnum.java │ │ │ │ │ └── UserRoleEnum.java │ │ │ │ └── vo/ │ │ │ │ ├── AppVO.java │ │ │ │ ├── LoginUserVO.java │ │ │ │ ├── PostVO.java │ │ │ │ ├── QuestionVO.java │ │ │ │ ├── ScoringResultVO.java │ │ │ │ ├── UserAnswerVO.java │ │ │ │ └── UserVO.java │ │ │ ├── scoring/ │ │ │ │ ├── AiTestScoringStrategy.java │ │ │ │ ├── CustomScoreScoringStrategy.java │ │ │ │ ├── CustomTestScoringStrategy.java │ │ │ │ ├── ScoringStrategy.java │ │ │ │ ├── ScoringStrategyConfig.java │ │ │ │ ├── ScoringStrategyContext.java │ │ │ │ └── ScoringStrategyExecutor.java │ │ │ ├── service/ │ │ │ │ ├── AppService.java │ │ │ │ ├── PostFavourService.java │ │ │ │ ├── PostService.java │ │ │ │ ├── PostThumbService.java │ │ │ │ ├── QuestionService.java │ │ │ │ ├── ScoringResultService.java │ │ │ │ ├── UserAnswerService.java │ │ │ │ ├── UserService.java │ │ │ │ └── impl/ │ │ │ │ ├── AppServiceImpl.java │ │ │ │ ├── PostFavourServiceImpl.java │ │ │ │ ├── PostServiceImpl.java │ │ │ │ ├── PostThumbServiceImpl.java │ │ │ │ ├── QuestionServiceImpl.java │ │ │ │ ├── ScoringResultServiceImpl.java │ │ │ │ ├── UserAnswerServiceImpl.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── utils/ │ │ │ ├── NetUtils.java │ │ │ ├── SpringContextUtils.java │ │ │ └── SqlUtils.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── additional-spring-configuration-metadata.json │ │ ├── application-prod.yml │ │ ├── application-test.yml │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── mapper/ │ │ │ ├── AppMapper.xml │ │ │ ├── PostFavourMapper.xml │ │ │ ├── PostMapper.xml │ │ │ ├── PostThumbMapper.xml │ │ │ ├── QuestionMapper.xml │ │ │ ├── ScoringResultMapper.xml │ │ │ ├── UserAnswerMapper.xml │ │ │ └── UserMapper.xml │ │ ├── templates/ │ │ │ ├── TemplateController.java.ftl │ │ │ ├── TemplateService.java.ftl │ │ │ ├── TemplateServiceImpl.java.ftl │ │ │ └── model/ │ │ │ ├── TemplateAddRequest.java.ftl │ │ │ ├── TemplateEditRequest.java.ftl │ │ │ ├── TemplateQueryRequest.java.ftl │ │ │ ├── TemplateUpdateRequest.java.ftl │ │ │ └── TemplateVO.java.ftl │ │ └── test_excel.xlsx │ └── test/ │ └── java/ │ └── com/ │ └── yupi/ │ └── yudada/ │ ├── MainApplicationTests.java │ ├── QuestionControllerTest.java │ ├── RxJavaTest.java │ ├── UserAnswerShardingTest.java │ ├── ZhiPuAiTest.java │ ├── manager/ │ │ └── CosManagerTest.java │ ├── mapper/ │ │ ├── PostFavourMapperTest.java │ │ └── PostMapperTest.java │ ├── service/ │ │ ├── PostFavourServiceTest.java │ │ ├── PostThumbServiceTest.java │ │ └── UserServiceTest.java │ └── utils/ │ └── EasyExcelTest.java └── yudada-frontend/ ├── .browserslistrc ├── .eslintrc.js ├── .gitignore ├── Dockerfile ├── README.md ├── babel.config.js ├── docker/ │ └── nginx.conf ├── openapi.config.ts ├── package.json ├── public/ │ └── index.html ├── src/ │ ├── App.vue │ ├── access/ │ │ ├── accessEnum.ts │ │ ├── checkAccess.ts │ │ └── index.ts │ ├── api/ │ │ ├── appController.ts │ │ ├── appStatisticController.ts │ │ ├── fileController.ts │ │ ├── index.ts │ │ ├── postController.ts │ │ ├── postFavourController.ts │ │ ├── postThumbController.ts │ │ ├── questionController.ts │ │ ├── scoringResultController.ts │ │ ├── typings.d.ts │ │ ├── userAnswerController.ts │ │ └── userController.ts │ ├── components/ │ │ ├── AppCard.vue │ │ ├── GlobalHeader.vue │ │ ├── MdEditor.vue │ │ ├── MdViewer.vue │ │ ├── PictureUploader.vue │ │ └── ShareModal.vue │ ├── constant/ │ │ └── app.ts │ ├── layouts/ │ │ ├── BasicLayout.vue │ │ └── UserLayout.vue │ ├── main.ts │ ├── request.ts │ ├── router/ │ │ ├── index.ts │ │ └── routes.ts │ ├── shims-vue.d.ts │ ├── store/ │ │ └── userStore.ts │ └── views/ │ ├── HomePage.vue │ ├── NoAuthPage.vue │ ├── add/ │ │ ├── AddAppPage.vue │ │ ├── AddQuestionPage.vue │ │ ├── AddScoringResultPage.vue │ │ └── components/ │ │ ├── AiGenerateQuestionDrawer.vue │ │ └── ScoringResultTable.vue │ ├── admin/ │ │ ├── AdminAppPage.vue │ │ ├── AdminQuestionPage.vue │ │ ├── AdminScoringResultPage.vue │ │ ├── AdminUserAnswerPage.vue │ │ └── AdminUserPage.vue │ ├── answer/ │ │ ├── AnswerResultPage.vue │ │ ├── DoAnswerPage.vue │ │ └── MyAnswerPage.vue │ ├── app/ │ │ └── AppDetailPage.vue │ ├── statistic/ │ │ └── AppStatisticPage.vue │ └── user/ │ ├── UserLoginPage.vue │ └── UserRegisterPage.vue ├── tsconfig.json └── vue.config.js