├── .github └── workflows │ └── deploy-pages.yml ├── .gitignore ├── LICENSE ├── README.md ├── docs ├── .gitignore ├── .npmrc ├── collect-article-data.mjs ├── docs │ ├── .vitepress │ │ ├── config.ts │ │ ├── config │ │ │ ├── constants.ts │ │ │ ├── head.ts │ │ │ ├── markdown.ts │ │ │ ├── nav.ts │ │ │ ├── sidebar.ts │ │ │ └── theme.ts │ │ └── theme │ │ │ ├── MyLayout.vue │ │ │ ├── api │ │ │ ├── config.js │ │ │ ├── index.js │ │ │ └── interface.js │ │ │ ├── components │ │ │ ├── Archive.vue │ │ │ ├── ArticleMetadata.vue │ │ │ ├── Tag.vue │ │ │ ├── WordCloud.vue │ │ │ └── layout │ │ │ │ └── Footer.vue │ │ │ ├── index.ts │ │ │ ├── styles │ │ │ ├── components │ │ │ │ └── gitalk.css │ │ │ ├── custom.css │ │ │ └── vars.css │ │ │ └── utils.ts │ ├── archives.md │ ├── index.md │ ├── public │ │ ├── favicon.ico │ │ ├── img │ │ │ ├── badge │ │ │ │ └── gongan.png │ │ │ ├── base │ │ │ │ └── arch.png │ │ │ ├── screenshot │ │ │ │ ├── Screenshot_1.jpg │ │ │ │ ├── Screenshot_10.jpg │ │ │ │ ├── Screenshot_11.jpg │ │ │ │ ├── Screenshot_12.jpg │ │ │ │ ├── Screenshot_13.jpg │ │ │ │ ├── Screenshot_2.jpg │ │ │ │ ├── Screenshot_3.jpg │ │ │ │ ├── Screenshot_4.jpg │ │ │ │ ├── Screenshot_5.jpg │ │ │ │ ├── Screenshot_6.jpg │ │ │ │ ├── Screenshot_7.jpg │ │ │ │ ├── Screenshot_8.jpg │ │ │ │ └── Screenshot_9.jpg │ │ │ └── svg │ │ │ │ ├── about-footer.svg │ │ │ │ ├── about-me-header.svg │ │ │ │ ├── about-repos-header.svg │ │ │ │ ├── chinese-zodiac │ │ │ │ ├── dog.svg │ │ │ │ ├── dragon.svg │ │ │ │ ├── goat.svg │ │ │ │ ├── horse.svg │ │ │ │ ├── monkey.svg │ │ │ │ ├── ox.svg │ │ │ │ ├── pig.svg │ │ │ │ ├── rabbit.svg │ │ │ │ ├── rat.svg │ │ │ │ ├── rooster.svg │ │ │ │ ├── snake.svg │ │ │ │ └── tiger.svg │ │ │ │ └── number │ │ │ │ ├── 1.svg │ │ │ │ └── 2.svg │ │ └── logo.png │ ├── tags.md │ ├── tt-zhipin │ │ └── 01-快速开始 │ │ │ ├── 01-招聘项目架构设计.md │ │ │ ├── 02-项目预览.md │ │ │ ├── 03-数据库设计.md │ │ │ ├── 04-后端环境Docker搭建.md │ │ │ ├── 05-后端环境手动搭建.md │ │ │ └── 06-前端环境构建.md │ └── vite.config.mts └── package.json ├── environment └── docker │ ├── config │ ├── elk │ │ ├── elasticsearch.yml │ │ ├── kibana.yml │ │ ├── logstash.yml │ │ └── pipeline │ │ │ └── logstash.conf │ ├── mysql │ │ ├── conf │ │ │ └── my.cnf │ │ └── init │ │ │ ├── gitea-mysql.sql │ │ │ └── nacos-mysql.sql │ ├── nacos │ │ ├── custom.properties │ │ └── nacos-standlone-mysql.env │ └── prometheus │ │ └── prometheus.yml │ └── tt-zhipin-test-compose.yml ├── tt-zhipin-admin-ui ├── .env.development ├── .env.production ├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .husky │ ├── commit-msg │ └── pre-commit ├── .prettierignore ├── .prettierrc.js ├── .stylelintrc.js ├── babel.config.js ├── commitlint.config.js ├── components.d.ts ├── config │ ├── plugin │ │ ├── arcoResolver.ts │ │ ├── compress.ts │ │ ├── imagemin.ts │ │ ├── styleImport.ts │ │ ├── svg-icon.ts │ │ └── visualizer.ts │ ├── utils │ │ └── index.ts │ ├── vite.config.base.ts │ ├── vite.config.dev.ts │ └── vite.config.prod.ts ├── index.html ├── package.json ├── pnpm-lock.yaml ├── src │ ├── App.vue │ ├── api │ │ ├── dashboard.ts │ │ ├── interceptor.ts │ │ ├── login │ │ │ ├── captcha.ts │ │ │ └── login.ts │ │ ├── message.ts │ │ ├── system │ │ │ ├── admin.ts │ │ │ ├── menu.ts │ │ │ └── role.ts │ │ └── user.ts │ ├── assets │ │ ├── icons │ │ │ └── svg │ │ │ │ ├── align-center.svg │ │ │ │ ├── align-left.svg │ │ │ │ ├── align-right.svg │ │ │ │ ├── apps.svg │ │ │ │ ├── archive.svg │ │ │ │ ├── arrow-down.svg │ │ │ │ ├── arrow-fall.svg │ │ │ │ ├── arrow-left.svg │ │ │ │ ├── arrow-right.svg │ │ │ │ ├── arrow-rise.svg │ │ │ │ ├── arrow-up.svg │ │ │ │ ├── at.svg │ │ │ │ ├── attachment.svg │ │ │ │ ├── backward.svg │ │ │ │ ├── bg-colors.svg │ │ │ │ ├── bold.svg │ │ │ │ ├── book.svg │ │ │ │ ├── branch.svg │ │ │ │ ├── brush.svg │ │ │ │ ├── bug.svg │ │ │ │ ├── bulb.svg │ │ │ │ ├── calendar.svg │ │ │ │ ├── calendar_clock.svg │ │ │ │ ├── camera.svg │ │ │ │ ├── caret-down.svg │ │ │ │ ├── caret-left.svg │ │ │ │ ├── caret-right.svg │ │ │ │ ├── caret-up.svg │ │ │ │ ├── check-circle-f.svg │ │ │ │ ├── check-circle.svg │ │ │ │ ├── check-square.svg │ │ │ │ ├── check.svg │ │ │ │ ├── chinese-fill.svg │ │ │ │ ├── clock-circle.svg │ │ │ │ ├── close-circle-f.svg │ │ │ │ ├── close-circle.svg │ │ │ │ ├── close.svg │ │ │ │ ├── cloud-down.svg │ │ │ │ ├── cloud.svg │ │ │ │ ├── code-block.svg │ │ │ │ ├── code-square.svg │ │ │ │ ├── code.svg │ │ │ │ ├── command.svg │ │ │ │ ├── common.svg │ │ │ │ ├── compass.svg │ │ │ │ ├── computer.svg │ │ │ │ ├── copy.svg │ │ │ │ ├── copyright.svg │ │ │ │ ├── cust-service.svg │ │ │ │ ├── dashboard.svg │ │ │ │ ├── delete.svg │ │ │ │ ├── desktop.svg │ │ │ │ ├── dice.svg │ │ │ │ ├── double-down.svg │ │ │ │ ├── double-left.svg │ │ │ │ ├── double-right.svg │ │ │ │ ├── double-up.svg │ │ │ │ ├── down-circle.svg │ │ │ │ ├── down.svg │ │ │ │ ├── download.svg │ │ │ │ ├── drag-arrow.svg │ │ │ │ ├── drag-dot-2.svg │ │ │ │ ├── drag-dot.svg │ │ │ │ ├── drive-file.svg │ │ │ │ ├── ear.svg │ │ │ │ ├── edit.svg │ │ │ │ ├── email.svg │ │ │ │ ├── empty.svg │ │ │ │ ├── english-fill.svg │ │ │ │ ├── eraser.svg │ │ │ │ ├── exclamation-2-f.svg │ │ │ │ ├── exclamation-2.svg │ │ │ │ ├── exclamation-3-f.svg │ │ │ │ ├── exclamation.svg │ │ │ │ ├── expand.svg │ │ │ │ ├── experiment.svg │ │ │ │ ├── export.svg │ │ │ │ ├── eye-invisible.svg │ │ │ │ ├── eye.svg │ │ │ │ ├── face-frown-f.svg │ │ │ │ ├── face-meh-f.svg │ │ │ │ ├── face-smile-f.svg │ │ │ │ ├── file-audio.svg │ │ │ │ ├── file-image.svg │ │ │ │ ├── file-pdf.svg │ │ │ │ ├── file-video.svg │ │ │ │ ├── file.svg │ │ │ │ ├── filter.svg │ │ │ │ ├── find-replace.svg │ │ │ │ ├── fire.svg │ │ │ │ ├── fold.svg │ │ │ │ ├── folder-add.svg │ │ │ │ ├── folder-delete.svg │ │ │ │ ├── folder.svg │ │ │ │ ├── font-colors.svg │ │ │ │ ├── formula.svg │ │ │ │ ├── forward.svg │ │ │ │ ├── fullscreen-exit.svg │ │ │ │ ├── fullscreen.svg │ │ │ │ ├── general.svg │ │ │ │ ├── gift.svg │ │ │ │ ├── github.svg │ │ │ │ ├── h1.svg │ │ │ │ ├── h2.svg │ │ │ │ ├── h3.svg │ │ │ │ ├── h4.svg │ │ │ │ ├── h5.svg │ │ │ │ ├── h6.svg │ │ │ │ ├── h7.svg │ │ │ │ ├── heart-fill.svg │ │ │ │ ├── heart.svg │ │ │ │ ├── highlight.svg │ │ │ │ ├── history.svg │ │ │ │ ├── home.svg │ │ │ │ ├── idcard.svg │ │ │ │ ├── image-close.svg │ │ │ │ ├── image.svg │ │ │ │ ├── import.svg │ │ │ │ ├── info-circle-fill.svg │ │ │ │ ├── info-circle.svg │ │ │ │ ├── info.svg │ │ │ │ ├── interaction.svg │ │ │ │ ├── italic.svg │ │ │ │ ├── language.svg │ │ │ │ ├── launch.svg │ │ │ │ ├── layout.svg │ │ │ │ ├── left-circle.svg │ │ │ │ ├── left.svg │ │ │ │ ├── line-height.svg │ │ │ │ ├── link.svg │ │ │ │ ├── list.svg │ │ │ │ ├── live-broadcast.svg │ │ │ │ ├── loading.svg │ │ │ │ ├── location.svg │ │ │ │ ├── lock.svg │ │ │ │ ├── loop.svg │ │ │ │ ├── man.svg │ │ │ │ ├── menu-fold.svg │ │ │ │ ├── menu-unfold.svg │ │ │ │ ├── menu.svg │ │ │ │ ├── message-2.svg │ │ │ │ ├── message.svg │ │ │ │ ├── mind-mapping.svg │ │ │ │ ├── minus-circle-f.svg │ │ │ │ ├── minus-circle.svg │ │ │ │ ├── minus.svg │ │ │ │ ├── mobile.svg │ │ │ │ ├── moon-fill.svg │ │ │ │ ├── moon.svg │ │ │ │ ├── more-vertical.svg │ │ │ │ ├── more.svg │ │ │ │ ├── mosaic.svg │ │ │ │ ├── music.svg │ │ │ │ ├── mute-fill.svg │ │ │ │ ├── mute.svg │ │ │ │ ├── nav.svg │ │ │ │ ├── notification-2.svg │ │ │ │ ├── notification.svg │ │ │ │ ├── oblique-line.svg │ │ │ │ ├── old-version.svg │ │ │ │ ├── ordered-list.svg │ │ │ │ ├── original-size.svg │ │ │ │ ├── palette.svg │ │ │ │ ├── paste.svg │ │ │ │ ├── pause-circle-f.svg │ │ │ │ ├── pause-circle.svg │ │ │ │ ├── pause.svg │ │ │ │ ├── pen-fill.svg │ │ │ │ ├── pen.svg │ │ │ │ ├── phone.svg │ │ │ │ ├── play-arrow-f.svg │ │ │ │ ├── play-arrow.svg │ │ │ │ ├── play-circle-f.svg │ │ │ │ ├── play-circle.svg │ │ │ │ ├── plus-circle-fill.svg │ │ │ │ ├── plus-circle.svg │ │ │ │ ├── plus.svg │ │ │ │ ├── poweroff.svg │ │ │ │ ├── printer.svg │ │ │ │ ├── privacy.svg │ │ │ │ ├── public.svg │ │ │ │ ├── pushpin.svg │ │ │ │ ├── qrcode.svg │ │ │ │ ├── question-2-f.svg │ │ │ │ ├── question-2.svg │ │ │ │ ├── question.svg │ │ │ │ ├── quote.svg │ │ │ │ ├── record-stop.svg │ │ │ │ ├── record.svg │ │ │ │ ├── redo.svg │ │ │ │ ├── reference.svg │ │ │ │ ├── refresh.svg │ │ │ │ ├── reply.svg │ │ │ │ ├── right-circle.svg │ │ │ │ ├── right.svg │ │ │ │ ├── robot-add.svg │ │ │ │ ├── robot.svg │ │ │ │ ├── rotate-left.svg │ │ │ │ ├── rotate-right.svg │ │ │ │ ├── safe.svg │ │ │ │ ├── save.svg │ │ │ │ ├── scan.svg │ │ │ │ ├── schedule.svg │ │ │ │ ├── scissor.svg │ │ │ │ ├── search.svg │ │ │ │ ├── select-all.svg │ │ │ │ ├── send.svg │ │ │ │ ├── settings.svg │ │ │ │ ├── shake.svg │ │ │ │ ├── share-alt.svg │ │ │ │ ├── share-external.svg │ │ │ │ ├── share-internal.svg │ │ │ │ ├── shrink.svg │ │ │ │ ├── skin.svg │ │ │ │ ├── skip-next-fill.svg │ │ │ │ ├── skip-next.svg │ │ │ │ ├── skip-previous-f.svg │ │ │ │ ├── skip-previous.svg │ │ │ │ ├── sort-ascend.svg │ │ │ │ ├── sort-descend.svg │ │ │ │ ├── sort.svg │ │ │ │ ├── sound-fill.svg │ │ │ │ ├── sound.svg │ │ │ │ ├── stamp.svg │ │ │ │ ├── star-fill.svg │ │ │ │ ├── star.svg │ │ │ │ ├── stop.svg │ │ │ │ ├── storage.svg │ │ │ │ ├── strikethrough.svg │ │ │ │ ├── subscribe-add.svg │ │ │ │ ├── subscribe.svg │ │ │ │ ├── subscribed.svg │ │ │ │ ├── sun-fill.svg │ │ │ │ ├── sun.svg │ │ │ │ ├── swap.svg │ │ │ │ ├── sync.svg │ │ │ │ ├── tag.svg │ │ │ │ ├── tags.svg │ │ │ │ ├── thumb-down-f.svg │ │ │ │ ├── thumb-down.svg │ │ │ │ ├── thumb-up-f.svg │ │ │ │ ├── thumb-up.svg │ │ │ │ ├── thunderbolt.svg │ │ │ │ ├── to-bottom.svg │ │ │ │ ├── to-left.svg │ │ │ │ ├── to-right.svg │ │ │ │ ├── to-top.svg │ │ │ │ ├── tool.svg │ │ │ │ ├── translate.svg │ │ │ │ ├── trophy.svg │ │ │ │ ├── underline.svg │ │ │ │ ├── undo.svg │ │ │ │ ├── unfold.svg │ │ │ │ ├── unlock.svg │ │ │ │ ├── unordered-list.svg │ │ │ │ ├── up-circle.svg │ │ │ │ ├── up.svg │ │ │ │ ├── upload.svg │ │ │ │ ├── user-add.svg │ │ │ │ ├── user-group.svg │ │ │ │ ├── user.svg │ │ │ │ ├── video-camera.svg │ │ │ │ ├── voice.svg │ │ │ │ ├── wifi.svg │ │ │ │ ├── woman.svg │ │ │ │ ├── zoom-in.svg │ │ │ │ └── zoom-out.svg │ │ ├── images │ │ │ ├── avatar.jpg │ │ │ ├── back1.png │ │ │ ├── back2.png │ │ │ ├── login-banner.png │ │ │ └── monkey.png │ │ ├── logo.svg │ │ ├── style │ │ │ ├── breakpoint.less │ │ │ └── global.less │ │ └── world.json │ ├── components │ │ ├── breadcrumb │ │ │ └── index.vue │ │ ├── chart │ │ │ └── index.vue │ │ ├── download │ │ │ └── index.ts │ │ ├── footer │ │ │ └── index.vue │ │ ├── global-setting │ │ │ ├── block.vue │ │ │ ├── form-wrapper.vue │ │ │ └── index.vue │ │ ├── icon-select │ │ │ ├── index.vue │ │ │ └── requireIcons.ts │ │ ├── index.ts │ │ ├── menu │ │ │ ├── index.vue │ │ │ └── use-menu-tree.ts │ │ ├── message-box │ │ │ ├── index.vue │ │ │ ├── list.vue │ │ │ └── locale │ │ │ │ ├── en-US.ts │ │ │ │ └── zh-CN.ts │ │ ├── navbar │ │ │ └── index.vue │ │ ├── range-picker │ │ │ └── index.vue │ │ ├── right-toolbar │ │ │ └── index.vue │ │ ├── svg-icon │ │ │ └── index.vue │ │ └── tab-bar │ │ │ ├── index.vue │ │ │ ├── readme.md │ │ │ └── tab-item.vue │ ├── config │ │ └── settings.json │ ├── directive │ │ ├── index.ts │ │ └── permission │ │ │ └── index.ts │ ├── env.d.ts │ ├── hooks │ │ ├── chart-option.ts │ │ ├── loading.ts │ │ ├── locale.ts │ │ ├── permission.ts │ │ ├── request.ts │ │ ├── responsive.ts │ │ ├── themes.ts │ │ ├── user.ts │ │ └── visible.ts │ ├── layout │ │ ├── default-layout.vue │ │ └── page-layout.vue │ ├── locale │ │ ├── en-US.ts │ │ ├── en-US │ │ │ └── settings.ts │ │ ├── index.ts │ │ ├── zh-CN.ts │ │ └── zh-CN │ │ │ └── settings.ts │ ├── main.ts │ ├── router │ │ ├── app-menus │ │ │ └── index.ts │ │ ├── constants.ts │ │ ├── guard │ │ │ ├── index.ts │ │ │ ├── permission.ts │ │ │ └── userLoginInfo.ts │ │ ├── index.ts │ │ ├── routes │ │ │ ├── base.ts │ │ │ ├── externalModules │ │ │ │ └── arco.ts │ │ │ ├── index.ts │ │ │ ├── modules │ │ │ │ └── system.ts │ │ │ └── types.ts │ │ └── typings.d.ts │ ├── store │ │ ├── index.ts │ │ └── modules │ │ │ ├── app │ │ │ ├── index.ts │ │ │ └── types.ts │ │ │ ├── dict │ │ │ └── types.ts │ │ │ ├── login │ │ │ ├── index.ts │ │ │ └── types.ts │ │ │ ├── tab-bar │ │ │ ├── index.ts │ │ │ └── types.ts │ │ │ └── user │ │ │ ├── index.ts │ │ │ └── types.ts │ ├── types │ │ ├── echarts.ts │ │ ├── global.ts │ │ └── mock.ts │ ├── utils │ │ ├── auth.ts │ │ ├── check-permission.ts │ │ ├── env.ts │ │ ├── event.ts │ │ ├── index.ts │ │ ├── is.ts │ │ ├── monitor.ts │ │ ├── password.ts │ │ ├── route-listener.ts │ │ └── setup-mock.ts │ └── views │ │ ├── dashboard │ │ └── workplace │ │ │ ├── components │ │ │ ├── announcement.vue │ │ │ ├── banner.vue │ │ │ ├── carousel.vue │ │ │ ├── categories-percent.vue │ │ │ ├── content-chart.vue │ │ │ ├── data-panel.vue │ │ │ ├── docs.vue │ │ │ ├── popular-content.vue │ │ │ ├── quick-operation.vue │ │ │ └── recently-visited.vue │ │ │ ├── index.vue │ │ │ ├── locale │ │ │ ├── en-US.ts │ │ │ └── zh-CN.ts │ │ │ └── mock.ts │ │ ├── login │ │ ├── components │ │ │ ├── banner.vue │ │ │ └── login-form.vue │ │ ├── index.vue │ │ └── locale │ │ │ ├── en-US.ts │ │ │ └── zh-CN.ts │ │ ├── not-found │ │ └── index.vue │ │ ├── redirect │ │ └── index.vue │ │ └── system │ │ ├── admin │ │ ├── index.vue │ │ └── locale │ │ │ ├── en-US.ts │ │ │ └── zh-CN.ts │ │ ├── menu │ │ ├── index.vue │ │ └── locale │ │ │ ├── en-US.ts │ │ │ └── zh-CN.ts │ │ └── role │ │ ├── index.vue │ │ └── locale │ │ ├── en-US.ts │ │ └── zh-CN.ts ├── tsconfig.json └── yarn.lock ├── tt-zhipin-server ├── pom.xml ├── tt-zhipin-admin │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── admin │ │ │ ├── AdminApplication.java │ │ │ ├── controller │ │ │ ├── login │ │ │ │ ├── CaptchaController.java │ │ │ │ └── MemberController.java │ │ │ ├── monitor │ │ │ │ └── OnlineController.java │ │ │ └── sys │ │ │ │ ├── AdminController.java │ │ │ │ ├── MenuController.java │ │ │ │ └── RoleController.java │ │ │ ├── cqrs │ │ │ ├── command │ │ │ │ ├── AdminAddCommand.java │ │ │ │ ├── AdminRoleUpdateCommand.java │ │ │ │ ├── AdminUpdateCommand.java │ │ │ │ ├── LoginByPasswordCommand.java │ │ │ │ ├── MenuAddCommand.java │ │ │ │ ├── MenuUpdateCommand.java │ │ │ │ ├── RoleAddCommand.java │ │ │ │ └── RoleUpdateCommand.java │ │ │ ├── query │ │ │ │ ├── AdminQuery.java │ │ │ │ ├── MenuQuery.java │ │ │ │ └── RoleQuery.java │ │ │ └── response │ │ │ │ ├── AdminDetailResponse.java │ │ │ │ ├── AdminResponse.java │ │ │ │ ├── ImageCaptchaResponse.java │ │ │ │ ├── MenuResponse.java │ │ │ │ ├── RoleDetailResponse.java │ │ │ │ └── RoleResponse.java │ │ │ ├── entity │ │ │ ├── Admin.java │ │ │ ├── AdminRole.java │ │ │ ├── Menu.java │ │ │ ├── Role.java │ │ │ └── RoleMenu.java │ │ │ ├── generator │ │ │ └── MyBatisFastAutoGenerator.java │ │ │ ├── mapper │ │ │ ├── AdminMapper.java │ │ │ ├── AdminRoleMapper.java │ │ │ ├── MenuMapper.java │ │ │ ├── RoleMapper.java │ │ │ ├── RoleMenuMapper.java │ │ │ └── xml │ │ │ │ ├── AdminMapper.xml │ │ │ │ ├── AdminRoleMapper.xml │ │ │ │ ├── MenuMapper.xml │ │ │ │ ├── RoleMapper.xml │ │ │ │ └── RoleMenuMapper.xml │ │ │ ├── service │ │ │ ├── IAdminRoleService.java │ │ │ ├── IAdminService.java │ │ │ ├── IMenuService.java │ │ │ ├── IRoleMenuService.java │ │ │ ├── IRoleService.java │ │ │ ├── LoginService.java │ │ │ ├── PermissionService.java │ │ │ └── impl │ │ │ │ ├── AdminRoleServiceImpl.java │ │ │ │ ├── AdminServiceImpl.java │ │ │ │ ├── LoginServiceImpl.java │ │ │ │ ├── MenuServiceImpl.java │ │ │ │ ├── PermissionServiceImpl.java │ │ │ │ ├── RoleMenuServiceImpl.java │ │ │ │ └── RoleServiceImpl.java │ │ │ └── task │ │ │ └── RedisScheduleTask.java │ │ └── resources │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── db │ │ └── changelog │ │ │ ├── db.changelog-master.yaml │ │ │ └── v1.0.0 │ │ │ ├── zhipin-admin-data.sql │ │ │ └── zhipin-admin-table.sql │ │ ├── logback-spring.xml │ │ └── spy.properties ├── tt-zhipin-discovery │ ├── pom.xml │ ├── tt-zhipin-discovery-api │ │ └── pom.xml │ └── tt-zhipin-discovery-web │ │ └── pom.xml ├── tt-zhipin-file │ ├── pom.xml │ ├── tt-zhipin-file-api │ │ └── pom.xml │ └── tt-zhipin-file-web │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── file │ │ │ ├── FileApplication.java │ │ │ ├── controller │ │ │ └── FileController.java │ │ │ ├── cqrs │ │ │ ├── command │ │ │ │ └── FileDeleteCommand.java │ │ │ ├── query │ │ │ │ └── FmsFileQuery.java │ │ │ └── response │ │ │ │ ├── FmsFileResponse.java │ │ │ │ └── UploadResponse.java │ │ │ ├── entity │ │ │ └── FmsFile.java │ │ │ ├── mapper │ │ │ ├── FileMapper.java │ │ │ └── xml │ │ │ │ └── FileMapper.xml │ │ │ └── service │ │ │ ├── FileService.java │ │ │ └── impl │ │ │ ├── FileInfoPersistenceService.java │ │ │ └── FileServiceImpl.java │ │ └── resources │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── db │ │ └── changelog │ │ │ ├── db.changelog-master.yaml │ │ │ └── v1.0.0 │ │ │ ├── zhipin-file-data.sql │ │ │ └── zhipin-file-table.sql │ │ ├── logback-spring.xml │ │ └── spy.properties ├── tt-zhipin-gateway │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── gateway │ │ │ ├── GatewayApplication.java │ │ │ └── config │ │ │ └── WebConfiguration.java │ │ └── resources │ │ ├── application.yml │ │ └── banner.txt ├── tt-zhipin-im │ ├── pom.xml │ ├── tt-zhipin-im-api │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── im │ │ │ ├── dto │ │ │ ├── CheckGroupChatPermissionQuery.java │ │ │ └── CheckPrivateChatPermissionQuery.java │ │ │ └── feign │ │ │ └── PermissionCheckFeign.java │ ├── tt-zhipin-im-core │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── im │ │ │ ├── codec │ │ │ ├── MessageDecoder.java │ │ │ ├── MessageEncoder.java │ │ │ ├── WebSocketDecoder.java │ │ │ └── WebSocketEncoder.java │ │ │ ├── constants │ │ │ ├── AckIsServerReceiveStatusEnum.java │ │ │ ├── AckStatusEnum.java │ │ │ ├── ConnectStatusEnum.java │ │ │ ├── FieldConstants.java │ │ │ ├── FriendRequestStatusEnum.java │ │ │ ├── FriendStatusEnum.java │ │ │ ├── FriendVerificationEnum.java │ │ │ ├── GroupMemberStatusEnum.java │ │ │ ├── GroupMemberTypeEnum.java │ │ │ ├── ImRedisKeysEnum.java │ │ │ ├── KafkaMQConstants.java │ │ │ ├── RocketMqTopicEnum.java │ │ │ ├── SequenceConstants.java │ │ │ └── TalkTypeEnum.java │ │ │ ├── entity │ │ │ ├── BaseRequest.java │ │ │ └── MemberSession.java │ │ │ ├── pack │ │ │ ├── AddFriendPack.java │ │ │ ├── GroupChatPack.java │ │ │ ├── GroupChatReadPack.java │ │ │ ├── LoginPack.java │ │ │ ├── LogoutPack.java │ │ │ ├── MessageAckPack.java │ │ │ ├── MessagePack.java │ │ │ ├── PrivateChatPack.java │ │ │ ├── PrivateChatReadPack.java │ │ │ └── PrivateChatReceiveAckPack.java │ │ │ └── protocol │ │ │ ├── ChatMessage.java │ │ │ ├── Command.java │ │ │ └── Packet.java │ ├── tt-zhipin-im-netty-server │ │ ├── pom.xml │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── whoiszxl │ │ │ │ │ └── zhipin │ │ │ │ │ └── im │ │ │ │ │ ├── ImNettyServerApplication.java │ │ │ │ │ ├── bean │ │ │ │ │ └── ChannelAttrDto.java │ │ │ │ │ ├── handler │ │ │ │ │ ├── HeartBeatHandler.java │ │ │ │ │ └── NettyServerHandler.java │ │ │ │ │ ├── mq │ │ │ │ │ ├── KafkaProducerService.java │ │ │ │ │ ├── MqSenderService.java │ │ │ │ │ └── consumer │ │ │ │ │ │ ├── ImConsumer.java │ │ │ │ │ │ └── KafkaConsumerService.java │ │ │ │ │ ├── properties │ │ │ │ │ └── ImNettyProperties.java │ │ │ │ │ ├── server │ │ │ │ │ ├── NettyServer.java │ │ │ │ │ └── WebSocketServer.java │ │ │ │ │ └── session │ │ │ │ │ └── ChannelHolder.java │ │ │ └── resources │ │ │ │ ├── application.yml │ │ │ │ ├── banner.txt │ │ │ │ ├── logback-spring.xml │ │ │ │ └── spy.properties │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── im │ │ │ ├── MessageHexBuildTest.java │ │ │ ├── MessagePackChatTest.java │ │ │ └── SendTest.java │ └── tt-zhipin-im-web │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── im │ │ │ ├── ImWebApplication.java │ │ │ ├── controller │ │ │ ├── FriendController.java │ │ │ ├── GroupController.java │ │ │ ├── GroupMessageController.java │ │ │ ├── MessageController.java │ │ │ └── TalkController.java │ │ │ ├── cqrs │ │ │ ├── command │ │ │ │ ├── FriendAddCommand.java │ │ │ │ ├── FriendDeleteCommand.java │ │ │ │ ├── FriendRequestApproveCommand.java │ │ │ │ ├── GroupCreateCommand.java │ │ │ │ ├── GroupMemberAddCommand.java │ │ │ │ ├── TalkAddCommand.java │ │ │ │ └── TalkDeleteCommand.java │ │ │ ├── dto │ │ │ │ └── AddMemberToGroupDto.java │ │ │ ├── query │ │ │ │ ├── FriendFetchOneQuery.java │ │ │ │ ├── FriendFetchQuery.java │ │ │ │ ├── GroupInfoQuery.java │ │ │ │ ├── OfflineListQuery.java │ │ │ │ └── TalkQuery.java │ │ │ └── response │ │ │ │ ├── FriendAddMultiResultResponse.java │ │ │ │ ├── FriendImportMultiResultResponse.java │ │ │ │ ├── GroupInfoResponse.java │ │ │ │ ├── GroupJoinedListResponse.java │ │ │ │ └── TalkResponse.java │ │ │ ├── entity │ │ │ ├── Friend.java │ │ │ ├── FriendRequest.java │ │ │ ├── Group.java │ │ │ ├── GroupMember.java │ │ │ ├── GroupMessage.java │ │ │ ├── Message.java │ │ │ ├── MessageContent.java │ │ │ └── Talk.java │ │ │ ├── feign │ │ │ └── PermissionCheckFeignImpl.java │ │ │ ├── generator │ │ │ └── MyBatisFastAutoGenerator.java │ │ │ ├── idempotent │ │ │ └── MessageIdempotentService.java │ │ │ ├── mapper │ │ │ ├── FriendMapper.java │ │ │ ├── FriendRequestMapper.java │ │ │ ├── GroupMapper.java │ │ │ ├── GroupMemberMapper.java │ │ │ ├── GroupMessageMapper.java │ │ │ ├── MessageContentMapper.java │ │ │ ├── MessageMapper.java │ │ │ ├── TalkMapper.java │ │ │ └── xml │ │ │ │ ├── FriendMapper.xml │ │ │ │ ├── FriendRequestMapper.xml │ │ │ │ ├── GroupMapper.xml │ │ │ │ ├── GroupMemberMapper.xml │ │ │ │ ├── GroupMessageMapper.xml │ │ │ │ ├── MessageContentMapper.xml │ │ │ │ ├── MessageMapper.xml │ │ │ │ └── TalkMapper.xml │ │ │ ├── mq │ │ │ ├── consumer │ │ │ │ ├── GptChatConsumer.java │ │ │ │ ├── GroupChatConsumer.java │ │ │ │ └── PrivateChatConsumer.java │ │ │ └── producer │ │ │ │ ├── ChatProducer.java │ │ │ │ ├── KafkaProducerService.java │ │ │ │ └── MqSenderService.java │ │ │ ├── processor │ │ │ ├── GptChatProcessor.java │ │ │ ├── GroupChatProcessor.java │ │ │ └── PrivateChatProcessor.java │ │ │ ├── sequence │ │ │ ├── RedisSequenceServiceImpl.java │ │ │ └── SequenceService.java │ │ │ ├── service │ │ │ ├── IFriendRequestService.java │ │ │ ├── IFriendService.java │ │ │ ├── IGroupMemberService.java │ │ │ ├── IGroupMessageService.java │ │ │ ├── IGroupService.java │ │ │ ├── IMessageContentService.java │ │ │ ├── IMessageService.java │ │ │ ├── ITalkService.java │ │ │ └── impl │ │ │ │ ├── FriendRequestServiceImpl.java │ │ │ │ ├── FriendServiceImpl.java │ │ │ │ ├── GroupMemberServiceImpl.java │ │ │ │ ├── GroupMessageServiceImpl.java │ │ │ │ ├── GroupServiceImpl.java │ │ │ │ ├── MessageContentServiceImpl.java │ │ │ │ ├── MessageServiceImpl.java │ │ │ │ └── TalkServiceImpl.java │ │ │ └── session │ │ │ └── MemberSessionHolder.java │ │ └── resources │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── db │ │ └── changelog │ │ │ ├── db.changelog-master.yaml │ │ │ └── v1.0.0 │ │ │ ├── zhipin-im-data.sql │ │ │ └── zhipin-im-table.sql │ │ ├── logback-spring.xml │ │ └── spy.properties ├── tt-zhipin-job │ ├── pom.xml │ ├── tt-zhipin-job-api │ │ └── pom.xml │ └── tt-zhipin-job-web │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── job │ │ │ ├── JobApplication.java │ │ │ ├── controller │ │ │ ├── CompanyController.java │ │ │ ├── JobCategoryController.java │ │ │ └── JobController.java │ │ │ ├── cqrs │ │ │ ├── dto │ │ │ │ └── SalaryOptionalDTO.java │ │ │ ├── query │ │ │ │ └── JobQuery.java │ │ │ └── response │ │ │ │ ├── CompanyResponse.java │ │ │ │ ├── JobCategoryTreeResponse.java │ │ │ │ └── JobResponse.java │ │ │ ├── entity │ │ │ ├── Company.java │ │ │ ├── Job.java │ │ │ └── JobCategory.java │ │ │ ├── generator │ │ │ └── MyBatisFastAutoGenerator.java │ │ │ ├── mapper │ │ │ ├── CompanyMapper.java │ │ │ ├── JobCategoryMapper.java │ │ │ ├── JobMapper.java │ │ │ └── xml │ │ │ │ ├── CompanyMapper.xml │ │ │ │ ├── JobCategoryMapper.xml │ │ │ │ └── JobMapper.xml │ │ │ └── service │ │ │ ├── ICompanyService.java │ │ │ ├── IJobCategoryService.java │ │ │ ├── IJobService.java │ │ │ └── impl │ │ │ ├── CompanyServiceImpl.java │ │ │ ├── JobCategoryServiceImpl.java │ │ │ └── JobServiceImpl.java │ │ └── resources │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── db │ │ └── changelog │ │ │ ├── db.changelog-master.yaml │ │ │ └── v1.0.0 │ │ │ ├── zhipin-job-data.sql │ │ │ └── zhipin-job-table.sql │ │ ├── logback-spring.xml │ │ └── spy.properties ├── tt-zhipin-member │ ├── pom.xml │ ├── tt-zhipin-member-api │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── member │ │ │ ├── dto │ │ │ └── MemberDTO.java │ │ │ └── feign │ │ │ └── MemberFeignClient.java │ └── tt-zhipin-member-web │ │ ├── pom.xml │ │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── member │ │ │ ├── MemberApplication.java │ │ │ ├── controller │ │ │ ├── LoginApiController.java │ │ │ ├── MemberApiController.java │ │ │ ├── MemberAttachmentResumeController.java │ │ │ ├── MemberBossApiController.java │ │ │ ├── MemberComplaintApiController.java │ │ │ ├── MemberExpApiController.java │ │ │ ├── MemberToutouApiController.java │ │ │ └── OnlineResumeApiController.java │ │ │ ├── cqrs │ │ │ ├── command │ │ │ │ ├── AttachmentResumeSaveCommand.java │ │ │ │ ├── InitBaseInfoCommand.java │ │ │ │ ├── OnlineResumeSaveCommand.java │ │ │ │ ├── ResumeNameUpdateCommand.java │ │ │ │ ├── SendSmsCaptchaCommand.java │ │ │ │ ├── SmsLoginCommand.java │ │ │ │ └── ToutouSubmitCommand.java │ │ │ ├── dto │ │ │ │ ├── EduExperienceDto.java │ │ │ │ ├── ProjectExperienceDto.java │ │ │ │ ├── WorkExpectDto.java │ │ │ │ └── WorkExperienceDto.java │ │ │ └── response │ │ │ │ ├── MemberInfoResponse.java │ │ │ │ ├── MemberRecommandResponse.java │ │ │ │ └── OnlineResumeResponse.java │ │ │ ├── entity │ │ │ ├── Member.java │ │ │ ├── MemberAttachmentResume.java │ │ │ ├── MemberComplaint.java │ │ │ ├── MemberExp.java │ │ │ └── MemberToutou.java │ │ │ ├── enums │ │ │ ├── MemberInitEnum.java │ │ │ └── ToutouStatusEnum.java │ │ │ ├── feign │ │ │ └── MemberFeignClientImpl.java │ │ │ ├── generator │ │ │ └── MyBatisFastAutoGenerator.java │ │ │ ├── mapper │ │ │ ├── MemberAttachmentResumeMapper.java │ │ │ ├── MemberComplaintMapper.java │ │ │ ├── MemberExpMapper.java │ │ │ ├── MemberMapper.java │ │ │ ├── MemberToutouMapper.java │ │ │ └── xml │ │ │ │ ├── MemberAttachmentResumeMapper.xml │ │ │ │ ├── MemberComplaintMapper.xml │ │ │ │ ├── MemberExpMapper.xml │ │ │ │ ├── MemberMapper.xml │ │ │ │ └── MemberToutouMapper.xml │ │ │ └── service │ │ │ ├── ILoginService.java │ │ │ ├── IMemberAttachmentResumeService.java │ │ │ ├── IMemberComplaintService.java │ │ │ ├── IMemberExpService.java │ │ │ ├── IMemberService.java │ │ │ ├── IMemberToutouService.java │ │ │ ├── IOnlineResumeService.java │ │ │ └── impl │ │ │ ├── LoginServiceImpl.java │ │ │ ├── MemberAttachmentResumeServiceImpl.java │ │ │ ├── MemberComplaintServiceImpl.java │ │ │ ├── MemberExpServiceImpl.java │ │ │ ├── MemberServiceImpl.java │ │ │ ├── MemberToutouServiceImpl.java │ │ │ └── OnlineResumeServiceImpl.java │ │ └── resources │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── db │ │ └── changelog │ │ │ ├── db.changelog-master.yaml │ │ │ └── v1.0.0 │ │ │ ├── zhipin-member-data.sql │ │ │ └── zhipin-member-table.sql │ │ ├── logback-spring.xml │ │ └── spy.properties └── tt-zhipin-tools │ ├── pom.xml │ ├── tt-zhipin-tools-common │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── whoiszxl │ │ └── zhipin │ │ └── tools │ │ └── common │ │ ├── annotation │ │ └── Query.java │ │ ├── base │ │ ├── BaseController.java │ │ └── BaseMapper.java │ │ ├── config │ │ ├── IdSnowflakeConfiguration.java │ │ ├── JsonConfiguration.java │ │ └── SecurityProperties.java │ │ ├── constants │ │ ├── CommonConstants.java │ │ ├── LoginConstants.java │ │ └── RedisPrefixConstants.java │ │ ├── entity │ │ ├── PageQuery.java │ │ ├── ResponseResult.java │ │ ├── SortQuery.java │ │ ├── StatusCode.java │ │ └── response │ │ │ ├── DictResponse.java │ │ │ └── PageResponse.java │ │ ├── enums │ │ ├── BaseEnum.java │ │ ├── FileType.java │ │ └── FlagEnum.java │ │ ├── exception │ │ ├── ExceptionCatchAdvice.java │ │ ├── ExceptionCatcher.java │ │ └── custom │ │ │ └── ServiceException.java │ │ ├── feign │ │ └── FeignTokenConfig.java │ │ ├── properties │ │ ├── CaptchaProperties.java │ │ ├── RsaProperties.java │ │ └── ZhipinProperties.java │ │ ├── token │ │ ├── TokenHelper.java │ │ ├── entity │ │ │ ├── AppLoginMember.java │ │ │ └── LoginMember.java │ │ ├── enums │ │ │ └── PermissionNameEnum.java │ │ ├── impl │ │ │ └── SaTokenHelper.java │ │ └── permission │ │ │ └── PermissionInterfaceImpl.java │ │ └── utils │ │ ├── DateUtils.java │ │ ├── ExcelUtil.java │ │ ├── FileTypeUtil.java │ │ ├── HexUtils.java │ │ ├── IpUtils.java │ │ ├── LoggerUtil.java │ │ ├── MapHelper.java │ │ ├── MyServletUtil.java │ │ ├── OpsTemplateUtil.java │ │ ├── RedisUtils.java │ │ ├── ReflectUtils.java │ │ ├── SecureUtils.java │ │ ├── StrHelper.java │ │ └── StrPoolUtil.java │ ├── tt-zhipin-tools-doc │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── whoiszxl │ │ └── zhipin │ │ └── tools │ │ └── doc │ │ ├── SwaggerConfiguration.java │ │ └── config │ │ └── WebMvcConfiguration.java │ ├── tt-zhipin-tools-email │ └── pom.xml │ ├── tt-zhipin-tools-gpt │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── whoiszxl │ │ │ │ └── zhipin │ │ │ │ └── tools │ │ │ │ └── gpt │ │ │ │ ├── IGptApi.java │ │ │ │ ├── config │ │ │ │ └── GptConfiguration.java │ │ │ │ ├── cqrs │ │ │ │ ├── dto │ │ │ │ │ └── Message.java │ │ │ │ ├── request │ │ │ │ │ ├── ChatCommand.java │ │ │ │ │ └── CompletionsCommand.java │ │ │ │ └── response │ │ │ │ │ ├── ChatResponse.java │ │ │ │ │ └── CompletionsResponse.java │ │ │ │ ├── interceptor │ │ │ │ └── GptInterceptor.java │ │ │ │ └── session │ │ │ │ ├── GptSession.java │ │ │ │ ├── GptSessionFactory.java │ │ │ │ └── impl │ │ │ │ ├── OpenAiGptSession.java │ │ │ │ └── OpenAiGptSessionFactory.java │ │ └── resources │ │ │ └── META-INF │ │ │ └── spring.factories │ │ └── test │ │ └── java │ │ └── com │ │ └── whoiszxl │ │ └── zhipin │ │ └── tools │ │ └── gpt │ │ └── test │ │ └── GptTest.java │ ├── tt-zhipin-tools-lock │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── tools │ │ │ └── lock │ │ │ ├── DistributedLock.java │ │ │ ├── DistributedLockFactory.java │ │ │ ├── configuration │ │ │ └── RedissonConfiguration.java │ │ │ └── redisson │ │ │ └── RedissonDistributedLockFactory.java │ │ └── resources │ │ └── META-INF │ │ └── spring.factories │ ├── tt-zhipin-tools-map │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── whoiszxl │ │ │ └── zhipin │ │ │ └── tools │ │ │ └── map │ │ │ ├── IMapApi.java │ │ │ ├── cqrs │ │ │ └── request │ │ │ │ └── StaticMapRequest.java │ │ │ └── session │ │ │ ├── MapSession.java │ │ │ ├── MapSessionFactory.java │ │ │ └── impl │ │ │ ├── DefaultMapSession.java │ │ │ └── DefaultMapSessionFactory.java │ │ └── test │ │ └── java │ │ └── com │ │ └── whoiszxl │ │ └── zhipin │ │ └── tools │ │ └── map │ │ └── test │ │ ├── MapTest.java │ │ └── api │ │ └── MyOssUploadApi.java │ └── tt-zhipin-tools-mybatis │ ├── pom.xml │ └── src │ └── main │ ├── java │ └── com │ │ └── whoiszxl │ │ └── zhipin │ │ └── tools │ │ └── mybatis │ │ ├── MyBatisConfiguration.java │ │ └── base │ │ └── Entity.java │ └── resources │ └── META-INF │ └── spring.factories └── ttZhipinApp ├── .bundle └── config ├── .eslintrc.js ├── .gitignore ├── .prettierrc.js ├── .watchmanconfig ├── App.tsx ├── Gemfile ├── README.md ├── __tests__ └── App.test.tsx ├── android ├── app │ ├── build.gradle │ ├── debug.keystore │ ├── proguard-rules.pro │ └── src │ │ ├── debug │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── ttzhipinapp │ │ │ └── ReactNativeFlipper.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── ttzhipinapp │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ └── res │ │ │ ├── drawable │ │ │ └── rn_edit_text_material.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── release │ │ └── java │ │ └── com │ │ └── ttzhipinapp │ │ └── ReactNativeFlipper.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── app.json ├── babel.config.js ├── index.js ├── ios ├── .xcode.env ├── Podfile ├── ttZhipinApp.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ └── ttZhipinApp.xcscheme ├── ttZhipinApp │ ├── AppDelegate.h │ ├── AppDelegate.mm │ ├── Images.xcassets │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Info.plist │ ├── LaunchScreen.storyboard │ └── main.m └── ttZhipinAppTests │ ├── Info.plist │ └── ttZhipinAppTests.m ├── jest.config.js ├── metro.config.js ├── package.json ├── src ├── apis │ ├── ApiService.ts │ ├── apis.ts │ └── methods.ts ├── assets │ ├── animated │ │ └── loader.json │ ├── icons │ │ ├── apple.png │ │ ├── arrow_left.png │ │ ├── close.png │ │ ├── exchange.png │ │ ├── file-logo.png │ │ ├── phone.png │ │ ├── qq.png │ │ ├── selection.png │ │ ├── show_more.png │ │ ├── un_selection.png │ │ ├── view.png │ │ ├── view_off.png │ │ └── weixin.png │ └── images │ │ ├── become-boss.png │ │ ├── logo_bg_transparent.png │ │ ├── mine_bg.jpg │ │ ├── mine_bg2.jpg │ │ ├── mine_bg3.jpg │ │ ├── mine_bg4.jpg │ │ └── star_bg.png ├── common │ ├── Command.ts │ ├── CommonColor.ts │ ├── CommonConstant.ts │ ├── CommonLogo.ts │ ├── CommonStyle.ts │ └── NormalEnum.ts ├── components │ ├── CounterLabel.tsx │ ├── LikeButton.tsx │ ├── MenuBar.tsx │ ├── flowlist │ │ ├── FlowList.js │ │ ├── FlowListItem.js │ │ └── ResizeImage.tsx │ ├── slidePager │ │ ├── PropsTypes.ts │ │ ├── index.tsx │ │ ├── indicator.tsx │ │ ├── sliderHeader.tsx │ │ └── style.tsx │ └── ttDivider.tsx ├── pages │ ├── login │ │ ├── CheckSmsCaptchaPage.tsx │ │ └── LoginPage.tsx │ ├── splash │ │ └── SplashPage.tsx │ ├── toutou │ │ ├── ToutouTabPage.tsx │ │ ├── toutou_mine │ │ │ └── ToutouMinePage.tsx │ │ ├── toutou_search │ │ │ └── ToutouSearchPage.tsx │ │ └── toutou_worker │ │ │ ├── ToutouWorkerPage.tsx │ │ │ └── components │ │ │ └── TitleBar.tsx │ └── worker │ │ ├── TabPage.tsx │ │ ├── attachmentResume │ │ ├── AttachmentResumePage.tsx │ │ ├── PdfViewPage.tsx │ │ └── components │ │ │ └── TitleBar.tsx │ │ ├── discovery │ │ └── DiscoveryPage.tsx │ │ ├── init │ │ └── InitMemberInfoPage.tsx │ │ ├── job │ │ ├── JobDetailPage.tsx │ │ ├── JobPage.tsx │ │ └── components │ │ │ ├── DetailTitleBar.tsx │ │ │ ├── ListWithRefresh.tsx │ │ │ └── TitleBar.tsx │ │ ├── message │ │ ├── ChatPage.tsx │ │ ├── MessagePage.tsx │ │ └── components │ │ │ ├── ChatTopMenu.tsx │ │ │ └── TitleBar.tsx │ │ ├── mine │ │ ├── BecomeBossPage.tsx │ │ ├── MinePage.tsx │ │ └── components │ │ │ ├── MineSideMenu.tsx │ │ │ └── TitleBar.tsx │ │ └── onlineResume │ │ ├── OnlineResumePage.tsx │ │ └── components │ │ └── TitleBar.tsx ├── stores │ ├── AttachmentResumeStore.ts │ ├── ChatWebSocket.ts │ ├── HomeStore.ts │ ├── MemberStore.ts │ ├── MessageStore.ts │ ├── MineStore.ts │ ├── OnlineResumeStore.ts │ └── ToutouWorkerStore.ts └── utils │ ├── DatabaseHelper.ts │ ├── DateUtil.ts │ ├── DistanceUtil.ts │ ├── StorageUtil.ts │ ├── StrUtil.ts │ └── WebSocketUtil.ts ├── tsconfig.json └── typings.d.ts /docs/.gitignore: -------------------------------------------------------------------------------- 1 | # Node modules 2 | node_modules/ 3 | 4 | # Dist files 5 | dist/ 6 | lib/ 7 | 8 | # Test coverage files 9 | coverage/ 10 | 11 | # MacOS Desktop Services Store 12 | .DS_Store 13 | 14 | # Log files 15 | *.log 16 | 17 | # IDE setting files 18 | .idea 19 | .vscode 20 | 21 | # Temp files 22 | cache/ 23 | .vite_opt_cache 24 | 25 | # Other files 26 | /src/client/shared.ts 27 | /src/node/shared.ts 28 | pnpm-global 29 | TODOs.md 30 | article-data.json 31 | 32 | CNAME 33 | package-lock.json 34 | yarn.lock -------------------------------------------------------------------------------- /docs/.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmmirror.com/ 2 | -------------------------------------------------------------------------------- /docs/docs/.vitepress/config/constants.ts: -------------------------------------------------------------------------------- 1 | const site = 'https://whoiszxl.com' 2 | 3 | export const metaData = { 4 | lang: 'zh-CN', 5 | locale: 'zh_CN', 6 | title: 'tt-zhipin微服务招聘', 7 | description: '一个使用SpringCloud Alibaba开发的招聘项目', 8 | site: "https://whoiszxl.github.io/tt-zhipin/", 9 | image: `${site}/logo.jpg` 10 | } -------------------------------------------------------------------------------- /docs/docs/.vitepress/config/nav.ts: -------------------------------------------------------------------------------- 1 | import DefaultTheme from 'vitepress/theme' 2 | 3 | export const nav: DefaultTheme.Config['nav'] = [ 4 | { 5 | text: '项目文档', 6 | link: '/tt-zhipin/01-快速开始/01-简介', 7 | }, 8 | { 9 | text: '我的归档', 10 | link: '/archives', 11 | activeMatch: '/archives' 12 | } 13 | ] -------------------------------------------------------------------------------- /docs/docs/.vitepress/theme/api/index.js: -------------------------------------------------------------------------------- 1 | export * from './interface' 2 | 3 | export { default } from './interface' -------------------------------------------------------------------------------- /docs/docs/.vitepress/theme/api/interface.js: -------------------------------------------------------------------------------- 1 | import { request } from './config' 2 | 3 | export const getArticleViewCount = (id, pageUrl, call) => { 4 | request.get(`/article/view/${id}?pageUrl=${pageUrl}`, {}).then(result => { 5 | call(process(result)) 6 | }) 7 | } 8 | 9 | function process(result) { 10 | if (result.code === 200) { 11 | return result.data 12 | } else { 13 | console.log(result.msg) 14 | } 15 | } 16 | 17 | export default { getArticleViewCount } -------------------------------------------------------------------------------- /docs/docs/archives.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的归档 3 | aside: false 4 | editLink: false 5 | lastUpdated: false 6 | showComment: false 7 | --- 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /docs/docs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/favicon.ico -------------------------------------------------------------------------------- /docs/docs/public/img/badge/gongan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/badge/gongan.png -------------------------------------------------------------------------------- /docs/docs/public/img/base/arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/base/arch.png -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_1.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_10.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_11.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_12.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_13.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_2.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_3.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_4.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_5.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_6.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_7.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_8.jpg -------------------------------------------------------------------------------- /docs/docs/public/img/screenshot/Screenshot_9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/img/screenshot/Screenshot_9.jpg -------------------------------------------------------------------------------- /docs/docs/public/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/docs/docs/public/logo.png -------------------------------------------------------------------------------- /docs/docs/tags.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 我的标签 3 | aside: false 4 | editLink: false 5 | lastUpdated: false 6 | showComment: false 7 | --- 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /docs/docs/tt-zhipin/01-快速开始/02-项目预览.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 项目预览 3 | author: tt-zhipin 4 | date: 2023/02/23 12:28 5 | editLink: false 6 | categories: 7 | - 8 | tags: 9 | - 10 | --- 11 | 12 | 13 | # 项目预览 14 | 15 | ## 管理后台预览 16 | //TODO 17 | 18 | 19 | ## React Native 预览 20 | //TODO 21 | 22 | 23 | ## 运维界面预览 24 | //TODO -------------------------------------------------------------------------------- /docs/docs/tt-zhipin/01-快速开始/03-数据库设计.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 数据库设计 3 | author: tt-zhipin 4 | date: 2023/02/23 12:29 5 | editLink: false 6 | categories: 7 | - 8 | tags: 9 | - 10 | --- 11 | 12 | # 数据库设计 13 | 14 | -------------------------------------------------------------------------------- /docs/docs/tt-zhipin/01-快速开始/05-后端环境手动搭建.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 后端环境手动搭建 3 | author: tt-zhipin 4 | date: 2023/02/23 12:28 5 | editLink: false 6 | categories: 7 | - 8 | tags: 9 | --- 10 | 11 | # 后端环境手动搭建 12 | 13 | :::tip 提示 14 | 通过下载安装包来手动安装后端的环境 15 | ::: 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /docs/docs/tt-zhipin/01-快速开始/06-前端环境构建.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 前端环境构建 3 | author: tt-zhipin 4 | date: 2023/02/23 12:28 5 | editLink: false 6 | categories: 7 | - 8 | tags: 9 | --- 10 | 11 | # 测试环境自动搭建 12 | 13 | :::tip 提示 14 | 此处通过脚本实现自动搭建,需要先将banana-zz-admin服务运行起来,再将banana-zz-ui前端项目运行起来才能够自动进行环境搭建。 15 | ::: 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /environment/docker/config/elk/elasticsearch.yml: -------------------------------------------------------------------------------- 1 | http.port: 9200 2 | network.host: 0.0.0.0 3 | 4 | xpack.license.self_generated.type: trial 5 | xpack.security.enabled: false 6 | xpack.monitoring.collection.enabled: false -------------------------------------------------------------------------------- /environment/docker/config/elk/kibana.yml: -------------------------------------------------------------------------------- 1 | # 允许所有IP访问 2 | server.host: 0.0.0.0 3 | # 指定 ES 地址 4 | elasticsearch.hosts: [ "http://elasticsearch:9200" ] 5 | monitoring.ui.container.elasticsearch.enabled: false -------------------------------------------------------------------------------- /environment/docker/config/elk/logstash.yml: -------------------------------------------------------------------------------- 1 | http.host: "0.0.0.0" 2 | xpack.monitoring.elasticsearch.hosts: [ "http://elasticsearch:9200" ] 3 | 4 | xpack.monitoring.enabled: false 5 | xpack.monitoring.elasticsearch.username: elastic 6 | xpack.monitoring.elasticsearch.password: elastic -------------------------------------------------------------------------------- /environment/docker/config/mysql/conf/my.cnf: -------------------------------------------------------------------------------- 1 | [client] 2 | default-character-set=utf8 3 | [mysql] 4 | default-character-set=utf8 5 | [mysqld] 6 | port=3300 7 | init_connect='SET collation_connection = utf8_unicode_ci' 8 | init_connect='SET NAMES utf8' 9 | character-set-server=utf8 10 | collation-server=utf8_unicode_ci 11 | skip-character-set-client-handshake 12 | skip-name-resolve -------------------------------------------------------------------------------- /environment/docker/config/mysql/init/gitea-mysql.sql: -------------------------------------------------------------------------------- 1 | /******************************************/ 2 | /* 创建 nacos 数据库 */ 3 | /******************************************/ 4 | CREATE DATABASE IF NOT EXISTS gitea default charset = utf8mb4; 5 | 6 | /******************************************/ 7 | /* 创建 MySQL 用户,Nacos Server 连接用 */ 8 | /******************************************/ 9 | CREATE USER 'tt-zhipin-gitea'@'%' IDENTIFIED BY 'tt-zhipin-gitea'; 10 | GRANT ALL PRIVILEGES ON `gitea`.* TO 'tt-zhipin-gitea'@'%' IDENTIFIED BY 'tt-zhipin-gitea'; 11 | FLUSH PRIVILEGES; -------------------------------------------------------------------------------- /environment/docker/config/nacos/custom.properties: -------------------------------------------------------------------------------- 1 | management.endpoints.web.exposure.include=* -------------------------------------------------------------------------------- /environment/docker/config/nacos/nacos-standlone-mysql.env: -------------------------------------------------------------------------------- 1 | PREFER_HOST_MODE=hostname 2 | MODE=standalone 3 | SPRING_DATASOURCE_PLATFORM=mysql 4 | MYSQL_SERVICE_HOST=mysql 5 | MYSQL_SERVICE_DB_NAME=nacos 6 | MYSQL_SERVICE_PORT=3300 7 | MYSQL_SERVICE_USER=root 8 | MYSQL_SERVICE_PASSWORD=123456 9 | MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false&serverTimezone=UTC -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/.env.development: -------------------------------------------------------------------------------- 1 | VITE_API_BASE_URL= 'http://localhost:80' -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/.env.production: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/tt-zhipin-admin-ui/.env.production -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/.eslintignore: -------------------------------------------------------------------------------- 1 | /*.json 2 | /*.js 3 | dist -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist 4 | dist-ssr 5 | *.local 6 | node_modules 7 | .DS_Store 8 | dist 9 | dist-ssr 10 | *.local 11 | package-lock.json -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/.husky/commit-msg: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | yarn commitlint --edit $1 5 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npm run lint-staged 5 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/.prettierignore: -------------------------------------------------------------------------------- 1 | /dist/* 2 | .local 3 | .output.js 4 | /node_modules/** 5 | 6 | **/*.svg 7 | **/*.sh -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | tabWidth: 2, 3 | semi: true, 4 | printWidth: 80, 5 | singleQuote: true, 6 | quoteProps: 'consistent', 7 | htmlWhitespaceSensitivity: 'strict', 8 | vueIndentScriptAndStyle: true, 9 | }; 10 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: ['@vue/babel-plugin-jsx'], 3 | }; 4 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/commitlint.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['@commitlint/config-conventional'], 3 | }; 4 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/config/plugin/svg-icon.ts: -------------------------------------------------------------------------------- 1 | import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'; 2 | // @ts-ignore 3 | import path from 'path'; 4 | 5 | export default function createSvgIcon(isBuild: boolean) { 6 | return createSvgIconsPlugin({ 7 | iconDirs: [path.resolve(process.cwd(), 'src/assets/icons/svg')], 8 | symbolId: 'icon-[dir]-[name]', 9 | svgoOptions: isBuild, 10 | }); 11 | } 12 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/config/plugin/visualizer.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generation packaging analysis 3 | * 生成打包分析 4 | */ 5 | import visualizer from 'rollup-plugin-visualizer'; 6 | import { isReportMode } from '../utils'; 7 | 8 | export default function configVisualizerPlugin() { 9 | if (isReportMode()) { 10 | return visualizer({ 11 | filename: './node_modules/.cache/visualizer/stats.html', 12 | open: true, 13 | gzipSize: true, 14 | brotliSize: true, 15 | }); 16 | } 17 | return []; 18 | } 19 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/config/utils/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Whether to generate package preview 3 | * 是否生成打包报告 4 | */ 5 | export default {}; 6 | 7 | export function isReportMode(): boolean { 8 | return process.env.REPORT === 'true'; 9 | } 10 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | tt-zhipin - 管理后台 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/api/login/captcha.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | 3 | export interface ImageCaptchaRes { 4 | uuid: string; 5 | captcha: string; 6 | } 7 | export function getImageCaptcha() { 8 | return axios.get('/admin/captcha/image'); 9 | } 10 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/align-center.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/align-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/align-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/apps.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/archive.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/arrow-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/arrow-fall.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/arrow-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/arrow-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/arrow-rise.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/arrow-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/at.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/attachment.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/backward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/bg-colors.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/bold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/book.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/branch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/brush.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/bug.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/bulb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/calendar.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/calendar_clock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/caret-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/caret-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/caret-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/caret-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/check-circle-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/check-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/check-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/check.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/chinese-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/clock-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/close-circle-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/close-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/cloud-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/cloud.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/code-block.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/code-square.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/code.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/command.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/common.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/compass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/computer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/copyright.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/cust-service.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/dashboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/delete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/desktop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/double-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/double-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/double-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/double-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/down-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/download.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/drag-arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/drag-dot-2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/drag-dot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/drive-file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/ear.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/edit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/email.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/empty.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/english-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/eraser.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/exclamation-2-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/exclamation-2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/exclamation-3-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/exclamation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/expand.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/experiment.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/export.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/eye-invisible.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/eye.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/face-frown-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/face-meh-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/face-smile-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/file-audio.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/file-image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/file-pdf.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/file-video.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/file.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/filter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/find-replace.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/fire.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/fold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/folder-add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/folder-delete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/font-colors.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/formula.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/forward.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/fullscreen-exit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/fullscreen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/gift.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/h1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/h2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/h3.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/h4.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/h5.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/h6.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/h7.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/heart-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/heart.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/highlight.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/history.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/home.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/idcard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/import.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/info-circle-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/info-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/interaction.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/italic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/language.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/launch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/layout.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/left-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/line-height.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/link.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/list.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/live-broadcast.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/loading.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/location.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/loop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/man.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/menu-fold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/menu-unfold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/menu.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/message-2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/message.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/mind-mapping.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/minus-circle-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/minus-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/minus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/mobile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/moon-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/moon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/more-vertical.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/more.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/mosaic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/music.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/mute.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/nav.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/notification-2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/notification.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/oblique-line.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/old-version.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/original-size.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/paste.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/pause-circle-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/pause-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/pause.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/pen-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/pen.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/phone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/play-arrow-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/play-arrow.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/play-circle-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/play-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/plus-circle-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/plus-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/plus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/poweroff.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/printer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/public.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/pushpin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/qrcode.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/question-2-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/question-2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/question.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/quote.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/record-stop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/record.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/redo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/refresh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/reply.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/right-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/robot-add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/robot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/rotate-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/rotate-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/safe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/save.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/scan.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/schedule.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/scissor.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/search.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/select-all.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/send.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/shake.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/share-alt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/share-external.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/share-internal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/shrink.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/skin.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/skip-next-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/skip-next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/skip-previous-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/skip-previous.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/sort-ascend.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/sort-descend.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/sort.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/sound.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/stamp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/star-fill.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/star.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/stop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/storage.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/strikethrough.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/subscribe-add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/subscribe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/subscribed.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/swap.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/sync.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/tag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/thumb-down-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/thumb-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/thumb-up-f.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/thumb-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/thunderbolt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/to-bottom.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/to-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/to-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/to-top.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/tool.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/translate.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/trophy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/underline.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/undo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/unfold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/unlock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/unordered-list.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/up-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/upload.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/user-add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/user-group.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/user.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/video-camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/voice.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/wifi.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/woman.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/zoom-in.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/icons/svg/zoom-out.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/images/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/tt-zhipin-admin-ui/src/assets/images/avatar.jpg -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/images/back1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/tt-zhipin-admin-ui/src/assets/images/back1.png -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/images/back2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/tt-zhipin-admin-ui/src/assets/images/back2.png -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/images/login-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/tt-zhipin-admin-ui/src/assets/images/login-banner.png -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/images/monkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/tt-zhipin-admin-ui/src/assets/images/monkey.png -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/assets/style/breakpoint.less: -------------------------------------------------------------------------------- 1 | // ==============breakpoint============ 2 | 3 | // Extra small screen / phone 4 | @screen-xs: 480px; 5 | 6 | // Small screen / tablet 7 | @screen-sm: 576px; 8 | 9 | // Medium screen / desktop 10 | @screen-md: 768px; 11 | 12 | // Large screen / wide desktop 13 | @screen-lg: 992px; 14 | 15 | // Extra large screen / full hd 16 | @screen-xl: 1200px; 17 | 18 | // Extra extra large screen / large desktop 19 | @screen-xxl: 1600px; 20 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/components/footer/index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 17 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/components/icon-select/requireIcons.ts: -------------------------------------------------------------------------------- 1 | const modules = import.meta.glob('./../../assets/icons/svg/*.svg'); 2 | const icons = [] as Array; 3 | 4 | // eslint-disable-next-line guard-for-in,no-restricted-syntax 5 | for (const path in modules) { 6 | const p = path.split('assets/icons/svg/')[1].split('.svg')[0]; 7 | icons.push(p); 8 | } 9 | 10 | export default icons; 11 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/components/message-box/locale/en-US.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | 'messageBox.tab.title.message': 'Message', 3 | 'messageBox.tab.title.notice': 'Notice', 4 | 'messageBox.tab.title.todo': 'Todo', 5 | 'messageBox.tab.button': 'empty', 6 | 'messageBox.allRead': 'All Read', 7 | 'messageBox.viewMore': 'View More', 8 | 'messageBox.noContent': 'No Content', 9 | 'messageBox.switchRoles': 'Switch Roles', 10 | 'messageBox.userCenter': 'User Center', 11 | 'messageBox.userSettings': 'User Settings', 12 | 'messageBox.logout': 'Logout', 13 | }; 14 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/components/message-box/locale/zh-CN.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | 'messageBox.tab.title.message': '消息', 3 | 'messageBox.tab.title.notice': '通知', 4 | 'messageBox.tab.title.todo': '待办', 5 | 'messageBox.tab.button': '清空', 6 | 'messageBox.allRead': '全部已读', 7 | 'messageBox.viewMore': '查看更多', 8 | 'messageBox.noContent': '暂无内容', 9 | 'messageBox.switchRoles': '切换角色', 10 | 'messageBox.userCenter': '用户中心', 11 | 'messageBox.userSettings': '用户设置', 12 | 'messageBox.logout': '登出登录', 13 | }; 14 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/components/tab-bar/readme.md: -------------------------------------------------------------------------------- 1 | ## 组件说明 2 | 3 | 该组件非官方最终设计规范,以单独组件存在。 4 | 5 | 同时仅仅提供最基本的功能,后续进行优化及更改。 6 | 7 | 8 | ## Component description 9 | 10 | The component unofficial final design specification exists as a separate component. 11 | 12 | At the same time, only the most basic functions are provided, and subsequent optimizations and changes will be made. -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/config/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "theme": "light", 3 | "colorWeak": false, 4 | "navbar": true, 5 | "menu": true, 6 | "topMenu": false, 7 | "hideMenu": false, 8 | "menuCollapse": false, 9 | "footer": true, 10 | "themeColor": "#165DFF", 11 | "menuWidth": 220, 12 | "globalSettings": false, 13 | "device": "desktop", 14 | "tabBar": false, 15 | "menuFromServer": false, 16 | "serverMenu": [] 17 | } 18 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/directive/index.ts: -------------------------------------------------------------------------------- 1 | import { App } from 'vue'; 2 | import permission from './permission'; 3 | 4 | export default { 5 | install(Vue: App) { 6 | Vue.directive('permission', permission); 7 | }, 8 | }; 9 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import { DefineComponent } from 'vue'; 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any>; 7 | export default component; 8 | } 9 | interface ImportMetaEnv { 10 | readonly VITE_API_BASE_URL: string; 11 | } 12 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/hooks/loading.ts: -------------------------------------------------------------------------------- 1 | import { ref } from 'vue'; 2 | 3 | export default function useLoading(initValue = false) { 4 | const loading = ref(initValue); 5 | const setLoading = (value: boolean) => { 6 | loading.value = value; 7 | }; 8 | const toggle = () => { 9 | loading.value = !loading.value; 10 | }; 11 | return { 12 | loading, 13 | setLoading, 14 | toggle, 15 | }; 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/hooks/themes.ts: -------------------------------------------------------------------------------- 1 | import { computed } from 'vue'; 2 | import { useAppStore } from '@/store'; 3 | 4 | export default function useThemes() { 5 | const appStore = useAppStore(); 6 | const isDark = computed(() => { 7 | return appStore.theme === 'dark'; 8 | }); 9 | return { 10 | isDark, 11 | }; 12 | } 13 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/hooks/visible.ts: -------------------------------------------------------------------------------- 1 | import { ref } from 'vue'; 2 | 3 | export default function useVisible(initValue = false) { 4 | const visible = ref(initValue); 5 | const setVisible = (value: boolean) => { 6 | visible.value = value; 7 | }; 8 | const toggle = () => { 9 | visible.value = !visible.value; 10 | }; 11 | return { 12 | visible, 13 | setVisible, 14 | toggle, 15 | }; 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/locale/index.ts: -------------------------------------------------------------------------------- 1 | import { createI18n } from 'vue-i18n'; 2 | import en from './en-US'; 3 | import cn from './zh-CN'; 4 | 5 | export const LOCALE_OPTIONS = [ 6 | { label: '中文', value: 'zh-CN' }, 7 | { label: 'English', value: 'en-US' }, 8 | ]; 9 | const defaultLocale = localStorage.getItem('arco-locale') || 'zh-CN'; 10 | 11 | const i18n = createI18n({ 12 | locale: defaultLocale, 13 | fallbackLocale: 'en-US', 14 | allowComposition: true, 15 | messages: { 16 | 'en-US': en, 17 | 'zh-CN': cn, 18 | }, 19 | }); 20 | 21 | export default i18n; 22 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/router/app-menus/index.ts: -------------------------------------------------------------------------------- 1 | import { appRoutes, appExternalRoutes } from '../routes'; 2 | 3 | const mixinRoutes = [...appRoutes, ...appExternalRoutes]; 4 | 5 | const appClientMenus = mixinRoutes.map((el) => { 6 | const { name, path, meta, redirect, children } = el; 7 | return { 8 | name, 9 | path, 10 | meta, 11 | redirect, 12 | children, 13 | }; 14 | }); 15 | 16 | export default appClientMenus; 17 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/router/constants.ts: -------------------------------------------------------------------------------- 1 | export const WHITE_LIST = [ 2 | { name: 'notFound', children: [] }, 3 | { name: 'login', children: [] }, 4 | ]; 5 | 6 | export const NOT_FOUND = { 7 | name: 'notFound', 8 | }; 9 | 10 | export const REDIRECT_ROUTE_NAME = 'Redirect'; 11 | 12 | export const DEFAULT_ROUTE_NAME = 'Workplace'; 13 | 14 | export const DEFAULT_ROUTE = { 15 | title: 'menu.dashboard.workplace', 16 | name: DEFAULT_ROUTE_NAME, 17 | fullPath: '/dashboard/workplace', 18 | }; 19 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/router/routes/externalModules/arco.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | path: 'https://github.com/whoiszxl/tt-zhipin', 3 | name: 'github', 4 | meta: { 5 | locale: 'menu.github', 6 | icon: 'icon-link', 7 | requiresAuth: true, 8 | order: 100, 9 | }, 10 | }; 11 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/store/index.ts: -------------------------------------------------------------------------------- 1 | import { createPinia } from 'pinia'; 2 | import useAppStore from './modules/app'; 3 | import useUserStore from './modules/user'; 4 | import useTabBarStore from './modules/tab-bar'; 5 | import useLoginStore from './modules/login'; 6 | 7 | const pinia = createPinia(); 8 | 9 | export { useAppStore, useUserStore, useTabBarStore, useLoginStore }; 10 | export default pinia; 11 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/store/modules/app/types.ts: -------------------------------------------------------------------------------- 1 | import type { RouteRecordNormalized } from 'vue-router'; 2 | 3 | export interface AppState { 4 | theme: string; 5 | colorWeak: boolean; 6 | navbar: boolean; 7 | menu: boolean; 8 | topMenu: boolean; 9 | hideMenu: boolean; 10 | menuCollapse: boolean; 11 | footer: boolean; 12 | themeColor: string; 13 | menuWidth: number; 14 | globalSettings: boolean; 15 | device: string; 16 | tabBar: boolean; 17 | menuFromServer: boolean; 18 | serverMenu: RouteRecordNormalized[]; 19 | [key: string]: unknown; 20 | } 21 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/store/modules/dict/types.ts: -------------------------------------------------------------------------------- 1 | export interface DictResponseState { 2 | label: string; 3 | value: any; 4 | } 5 | 6 | export interface DictListState { 7 | name: string; 8 | detail: Array; 9 | } 10 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/store/modules/login/types.ts: -------------------------------------------------------------------------------- 1 | export interface MemberState { 2 | id: number; 3 | username: string; 4 | avatar?: string; 5 | realName: string; 6 | gender: number; 7 | mobile?: string; 8 | email: string; 9 | googleStatus: number; 10 | lastLoginTime?: string; 11 | ip?: string; 12 | location?: string; 13 | browser?: string; 14 | permissions: Array; 15 | roles: Array; 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/store/modules/tab-bar/types.ts: -------------------------------------------------------------------------------- 1 | export interface TagProps { 2 | title: string; 3 | name: string; 4 | fullPath: string; 5 | query?: any; 6 | ignoreCache?: boolean; 7 | } 8 | 9 | export interface TabBarState { 10 | tagList: TagProps[]; 11 | cacheTabList: Set; 12 | } 13 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/store/modules/user/types.ts: -------------------------------------------------------------------------------- 1 | export type RoleType = '' | '*' | 'admin' | 'user'; 2 | export interface UserState { 3 | name?: string; 4 | avatar?: string; 5 | job?: string; 6 | organization?: string; 7 | location?: string; 8 | email?: string; 9 | introduction?: string; 10 | personalWebsite?: string; 11 | jobName?: string; 12 | organizationName?: string; 13 | locationName?: string; 14 | phone?: string; 15 | registrationDate?: string; 16 | accountId?: string; 17 | certification?: number; 18 | role: RoleType; 19 | } 20 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/types/echarts.ts: -------------------------------------------------------------------------------- 1 | import { CallbackDataParams } from 'echarts/types/dist/shared'; 2 | 3 | export interface ToolTipFormatterParams extends CallbackDataParams { 4 | axisDim: string; 5 | axisIndex: number; 6 | axisType: string; 7 | axisId: string; 8 | axisValue: string; 9 | axisValueLabel: string; 10 | } 11 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/types/mock.ts: -------------------------------------------------------------------------------- 1 | export interface MockParams { 2 | url: string; 3 | type: string; 4 | body: string; 5 | } 6 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/utils/auth.ts: -------------------------------------------------------------------------------- 1 | const TOKEN_KEY = 'token'; 2 | 3 | const isLogin = () => { 4 | return !!localStorage.getItem(TOKEN_KEY); 5 | }; 6 | 7 | const getToken = () => { 8 | return localStorage.getItem(TOKEN_KEY); 9 | }; 10 | 11 | const setToken = (token: string) => { 12 | localStorage.setItem(TOKEN_KEY, token); 13 | }; 14 | 15 | const clearToken = () => { 16 | localStorage.removeItem(TOKEN_KEY); 17 | }; 18 | 19 | export { isLogin, getToken, setToken, clearToken }; 20 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/utils/env.ts: -------------------------------------------------------------------------------- 1 | const debug = process.env.NODE_ENV !== 'production'; 2 | 3 | export default debug; 4 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/utils/setup-mock.ts: -------------------------------------------------------------------------------- 1 | import debug from './env'; 2 | 3 | export default ({ mock, setup }: { mock?: boolean; setup: () => void }) => { 4 | if (mock !== false && debug) setup(); 5 | }; 6 | 7 | export const successResponseWrap = (data: unknown) => { 8 | return { 9 | data, 10 | status: 'ok', 11 | msg: '请求成功', 12 | code: 20000, 13 | }; 14 | }; 15 | 16 | export const failResponseWrap = (data: unknown, msg: string, code = 50000) => { 17 | return { 18 | data, 19 | status: 'fail', 20 | msg, 21 | code, 22 | }; 23 | }; 24 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/views/redirect/index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/views/system/admin/locale/en-US.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | 'menu.system.admin.list': 'Admin management', 3 | }; 4 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/views/system/admin/locale/zh-CN.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | 'menu.system.admin.list': '管理员管理', 3 | }; 4 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/views/system/menu/locale/en-US.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | 'menu.system.menu.list': 'Menu management', 3 | }; 4 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/views/system/menu/locale/zh-CN.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | 'menu.system.menu.list': '菜单管理', 3 | }; 4 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/views/system/role/locale/en-US.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | 'menu.system.role.list': 'Role management', 3 | }; 4 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/src/views/system/role/locale/zh-CN.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | 'menu.system.role.list': '角色管理', 3 | }; 4 | -------------------------------------------------------------------------------- /tt-zhipin-admin-ui/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "module": "ES2020", 5 | "moduleResolution": "node", 6 | "strict": true, 7 | "jsx": "preserve", 8 | "sourceMap": true, 9 | "resolveJsonModule": true, 10 | "esModuleInterop": true, 11 | "baseUrl": ".", 12 | "paths": { 13 | "@/*": ["src/*"] 14 | }, 15 | "lib": ["es2020", "dom"], 16 | "skipLibCheck": true 17 | }, 18 | "include": ["src/**/*", "src/**/*.vue"], 19 | "exclude": ["node_modules"] 20 | } 21 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-admin/src/main/java/com/whoiszxl/zhipin/admin/mapper/AdminRoleMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.admin.mapper; 2 | 3 | import com.whoiszxl.zhipin.admin.entity.AdminRole; 4 | import com.whoiszxl.zhipin.tools.common.base.BaseMapper; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | *

9 | * 管理员&角色关联表 Mapper 接口 10 | *

11 | * 12 | * @author whoiszxl 13 | * @since 2023-03-02 14 | */ 15 | @Mapper 16 | public interface AdminRoleMapper extends BaseMapper { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-admin/src/main/java/com/whoiszxl/zhipin/admin/mapper/RoleMenuMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.admin.mapper; 2 | 3 | import com.whoiszxl.zhipin.admin.entity.RoleMenu; 4 | import com.whoiszxl.zhipin.tools.common.base.BaseMapper; 5 | import org.apache.ibatis.annotations.Mapper; 6 | 7 | /** 8 | *

9 | * 角色与菜单关联表 Mapper 接口 10 | *

11 | * 12 | * @author whoiszxl 13 | * @since 2023-03-02 14 | */ 15 | @Mapper 16 | public interface RoleMenuMapper extends BaseMapper { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-admin/src/main/java/com/whoiszxl/zhipin/admin/mapper/xml/AdminMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-admin/src/main/java/com/whoiszxl/zhipin/admin/mapper/xml/AdminRoleMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-admin/src/main/java/com/whoiszxl/zhipin/admin/mapper/xml/MenuMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-admin/src/main/java/com/whoiszxl/zhipin/admin/mapper/xml/RoleMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-admin/src/main/java/com/whoiszxl/zhipin/admin/mapper/xml/RoleMenuMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-admin/src/main/java/com/whoiszxl/zhipin/admin/service/LoginService.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.admin.service; 2 | 3 | /** 4 | * @author whoiszxl 5 | */ 6 | public interface LoginService { 7 | 8 | /** 9 | * 用户登录 10 | * @param username 用户名 11 | * @param password 密码 12 | * @return token 13 | */ 14 | String login(String username, String password); 15 | } 16 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-admin/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _____ _____ _____ _ _ _ _____ _ __ _ 2 | |_ _||_ _|` / /_| |_| || || ()_)| || \| | 3 | |_| |_| /___/|_| |_||_||_| |_||_|\__| -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-admin/src/main/resources/db/changelog/db.changelog-master.yaml: -------------------------------------------------------------------------------- 1 | databaseChangeLog: 2 | - include: 3 | file: db/changelog/v1.0.0/zhipin-admin-table.sql 4 | - include: 5 | file: db/changelog/v1.0.0/zhipin-admin-data.sql -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-file/tt-zhipin-file-web/src/main/java/com/whoiszxl/zhipin/file/mapper/FileMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.file.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import com.whoiszxl.zhipin.file.entity.FmsFile; 5 | 6 | /** 7 | *

8 | * 文件表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2022-03-23 13 | */ 14 | public interface FileMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-file/tt-zhipin-file-web/src/main/java/com/whoiszxl/zhipin/file/mapper/xml/FileMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-file/tt-zhipin-file-web/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _____ _____ _____ _ _ _ _____ _ __ _ 2 | |_ _||_ _|` / /_| |_| || || ()_)| || \| | 3 | |_| |_| /___/|_| |_||_||_| |_||_|\__| -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-file/tt-zhipin-file-web/src/main/resources/db/changelog/db.changelog-master.yaml: -------------------------------------------------------------------------------- 1 | databaseChangeLog: 2 | - include: 3 | file: db/changelog/v1.0.0/zhipin-file-table.sql 4 | - include: 5 | file: db/changelog/v1.0.0/zhipin-file-data.sql -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-file/tt-zhipin-file-web/src/main/resources/db/changelog/v1.0.0/zhipin-file-data.sql: -------------------------------------------------------------------------------- 1 | -- liquibase formatted sql 2 | 3 | -- changeset whoiszxl:1 4 | -- comment 初始化file表数据 5 | 6 | select 1 -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-gateway/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _____ _____ _____ _ _ _ _____ _ __ _ 2 | |_ _||_ _|` / /_| |_| || || ()_)| || \| | 3 | |_| |_| /___/|_| |_||_||_| |_||_|\__| -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-core/src/main/java/com/whoiszxl/zhipin/im/constants/FieldConstants.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.constants; 2 | 3 | /** 4 | * 字段常量 5 | * @author whoiszxl 6 | */ 7 | public interface FieldConstants { 8 | 9 | String CLIENT_TYPE = "clientType"; 10 | 11 | String MEMBER_ID = "memberId"; 12 | 13 | String TOKEN = "token"; 14 | 15 | String IMEI = "imei"; 16 | 17 | String HEART_BEAT = "heartBeat"; 18 | } 19 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-core/src/main/java/com/whoiszxl/zhipin/im/constants/ImRedisKeysEnum.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.constants; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | /** 7 | * Im Redis键枚举 8 | * @author whoiszxl 9 | */ 10 | @Getter 11 | @AllArgsConstructor 12 | public enum ImRedisKeysEnum { 13 | 14 | /** 15 | * 账号session key 16 | */ 17 | MEMBER_SESSION_KEY("im:member_session:%s", 0L); 18 | 19 | private String prefix; 20 | 21 | private Long time; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-core/src/main/java/com/whoiszxl/zhipin/im/constants/SequenceConstants.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.constants; 2 | 3 | /** 4 | * 序列号常量 5 | */ 6 | public interface SequenceConstants { 7 | 8 | String PRIVATE_CHAT_SEQUENCE = "private_chat_sequence"; 9 | 10 | String GROUP_CHAT_SEQUENCE = "group_chat_sequence"; 11 | } 12 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-core/src/main/java/com/whoiszxl/zhipin/im/entity/BaseRequest.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.entity; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | /** 7 | * 基础请求类 8 | * @author whoiszxl 9 | */ 10 | @Data 11 | @Schema(description = "基础请求类") 12 | public class BaseRequest { 13 | 14 | @Schema(description = "客户端类型") 15 | private Integer clientType; 16 | 17 | @Schema(description = "移动设备唯一识别码") 18 | private String imei; 19 | 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-core/src/main/java/com/whoiszxl/zhipin/im/entity/MemberSession.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.entity; 2 | 3 | import lombok.Builder; 4 | import lombok.Data; 5 | 6 | /** 7 | * 账号session 8 | * @author whoiszxl 9 | */ 10 | @Data 11 | @Builder 12 | public class MemberSession { 13 | 14 | private String memberId; 15 | 16 | private Byte clientType; 17 | 18 | private String imei; 19 | 20 | private Integer connectStatus; 21 | 22 | private String nodeId; 23 | 24 | private String nodeHost; 25 | } 26 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-core/src/main/java/com/whoiszxl/zhipin/im/pack/LoginPack.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.pack; 2 | 3 | import com.whoiszxl.zhipin.im.protocol.Command; 4 | import com.whoiszxl.zhipin.im.protocol.Packet; 5 | import lombok.Data; 6 | 7 | /** 8 | * 登录的数据包 9 | * @author whoiszxl 10 | */ 11 | @Data 12 | public class LoginPack extends Packet { 13 | 14 | private String token; 15 | @Override 16 | public Integer getCommand() { 17 | return Command.LOGIN; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-core/src/main/java/com/whoiszxl/zhipin/im/pack/MessagePack.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.pack; 2 | 3 | import com.whoiszxl.zhipin.im.protocol.Packet; 4 | import lombok.Data; 5 | 6 | /** 7 | * 消息 8 | * @author whoiszxl 9 | */ 10 | @Data 11 | public class MessagePack { 12 | 13 | private Integer command; 14 | 15 | private byte clientType; 16 | 17 | private String imei; 18 | 19 | private String token; 20 | 21 | private Packet dataPack; 22 | 23 | } 24 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-netty-server/src/main/java/com/whoiszxl/zhipin/im/mq/consumer/KafkaConsumerService.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.mq.consumer; 2 | 3 | import org.springframework.kafka.annotation.KafkaListener; 4 | import org.springframework.stereotype.Service; 5 | 6 | @Service 7 | public class KafkaConsumerService { 8 | 9 | @KafkaListener(topics = "my-topic", groupId = "my-group") 10 | public void receiveMessage(String message) { 11 | System.out.println("Received message: " + message); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-netty-server/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _____ _____ _____ _ _ _ _____ _ __ _ 2 | |_ _||_ _|` / /_| |_| || || ()_)| || \| | 3 | |_| |_| /___/|_| |_||_||_| |_||_|\__| -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/cqrs/command/TalkDeleteCommand.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.cqrs.command; 2 | 3 | import com.whoiszxl.zhipin.im.entity.BaseRequest; 4 | import io.swagger.v3.oas.annotations.media.Schema; 5 | import lombok.Data; 6 | 7 | /** 8 | * 对话删除命令 9 | * @author whoiszxl 10 | */ 11 | @Data 12 | @Schema(description = "对话删除命令") 13 | public class TalkDeleteCommand extends BaseRequest { 14 | 15 | @Schema(description = "对话ID") 16 | private Long talkId; 17 | } 18 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/cqrs/query/FriendFetchQuery.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.cqrs.query; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotBlank; 7 | 8 | /** 9 | * 好友拉取查询条件 10 | * @author whoiszxl 11 | */ 12 | @Data 13 | @Schema(description = "好友拉取查询条件") 14 | public class FriendFetchQuery { 15 | 16 | @Schema(description = "自身的账号ID") 17 | @NotBlank(message = "自身的账号ID不能为空") 18 | private Long fromMemberId; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/cqrs/query/GroupInfoQuery.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.cqrs.query; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotBlank; 7 | 8 | /** 9 | * 群组信息查询参数 10 | * @author whoiszxl 11 | */ 12 | @Data 13 | @Schema(description = "群组信息查询参数") 14 | public class GroupInfoQuery { 15 | 16 | @Schema(description = "群组ID") 17 | @NotBlank(message = "群组ID不能为空") 18 | private String groupId; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/cqrs/query/OfflineListQuery.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.cqrs.query; 2 | 3 | import com.whoiszxl.zhipin.tools.common.entity.PageQuery; 4 | import io.swagger.v3.oas.annotations.media.Schema; 5 | import lombok.Data; 6 | 7 | /** 8 | * 离线消息列表查询参数 9 | * @author whoiszxl 10 | */ 11 | @Data 12 | @Schema(description = "对话查询参数") 13 | public class OfflineListQuery extends PageQuery { 14 | 15 | @Schema(description = "客户端当前离线消息最大的序列号") 16 | private String clientSequence; 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/cqrs/query/TalkQuery.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.cqrs.query; 2 | 3 | import com.whoiszxl.zhipin.tools.common.entity.PageQuery; 4 | import io.swagger.v3.oas.annotations.media.Schema; 5 | import lombok.Data; 6 | 7 | import javax.validation.constraints.NotBlank; 8 | 9 | /** 10 | * 群组信息查询参数 11 | * @author whoiszxl 12 | */ 13 | @Data 14 | @Schema(description = "对话查询参数") 15 | public class TalkQuery extends PageQuery { 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/FriendMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.mapper; 2 | 3 | import com.whoiszxl.zhipin.im.entity.Friend; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 好友表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-17 13 | */ 14 | public interface FriendMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/FriendRequestMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.mapper; 2 | 3 | import com.whoiszxl.zhipin.im.entity.FriendRequest; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 好友申请表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-17 13 | */ 14 | public interface FriendRequestMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/GroupMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.mapper; 2 | 3 | import com.whoiszxl.zhipin.im.entity.Group; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 群组表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-17 13 | */ 14 | public interface GroupMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/GroupMemberMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.mapper; 2 | 3 | import com.whoiszxl.zhipin.im.entity.GroupMember; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 群组表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-17 13 | */ 14 | public interface GroupMemberMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/GroupMessageMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.mapper; 2 | 3 | import com.whoiszxl.zhipin.im.entity.GroupMessage; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 群组消息表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-17 13 | */ 14 | public interface GroupMessageMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/MessageContentMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.mapper; 2 | 3 | import com.whoiszxl.zhipin.im.entity.MessageContent; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 消息内容表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-17 13 | */ 14 | public interface MessageContentMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/MessageMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.mapper; 2 | 3 | import com.whoiszxl.zhipin.im.entity.Message; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 消息表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-17 13 | */ 14 | public interface MessageMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/TalkMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.mapper; 2 | 3 | import com.whoiszxl.zhipin.im.entity.Talk; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 对话表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-18 13 | */ 14 | public interface TalkMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/xml/FriendMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/xml/FriendRequestMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/xml/GroupMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/xml/GroupMemberMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/xml/GroupMessageMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/xml/MessageContentMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/xml/MessageMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/mapper/xml/TalkMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/service/IFriendRequestService.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.service; 2 | 3 | import com.whoiszxl.zhipin.im.entity.FriendRequest; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /** 7 | *

8 | * 好友申请表 服务类 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-17 13 | */ 14 | public interface IFriendRequestService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/service/IGroupMessageService.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.service; 2 | 3 | import com.whoiszxl.zhipin.im.entity.GroupMessage; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /** 7 | *

8 | * 群组消息表 服务类 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-17 13 | */ 14 | public interface IGroupMessageService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/java/com/whoiszxl/zhipin/im/service/IMessageContentService.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.im.service; 2 | 3 | import com.whoiszxl.zhipin.im.entity.MessageContent; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /** 7 | *

8 | * 消息内容表 服务类 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-17 13 | */ 14 | public interface IMessageContentService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _____ _____ _____ _ _ _ _____ _ __ _ 2 | |_ _||_ _|` / /_| |_| || || ()_)| || \| | 3 | |_| |_| /___/|_| |_||_||_| |_||_|\__| -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/resources/db/changelog/db.changelog-master.yaml: -------------------------------------------------------------------------------- 1 | databaseChangeLog: 2 | - include: 3 | file: db/changelog/v1.0.0/zhipin-im-table.sql 4 | - include: 5 | file: db/changelog/v1.0.0/zhipin-im-data.sql -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-im/tt-zhipin-im-web/src/main/resources/db/changelog/v1.0.0/zhipin-im-data.sql: -------------------------------------------------------------------------------- 1 | -- liquibase formatted sql 2 | 3 | -- changeset whoiszxl:1 4 | -- comment 初始化im表数据 5 | 6 | INSERT INTO `im_friend` VALUES (1, 2, 'remark备注1', '通讯录', NULL, NULL, 1, 1, 0, '2023-08-21 17:24:49', '2023-08-21 17:24:49'); 7 | INSERT INTO `im_friend` VALUES (2, 1, 'remark备注2', '直接添加', NULL, NULL, 1, 1, 0, '2023-08-21 17:24:55', '2023-08-21 17:24:55'); -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-job/tt-zhipin-job-web/src/main/java/com/whoiszxl/zhipin/job/mapper/CompanyMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.job.mapper; 2 | 3 | import com.whoiszxl.zhipin.job.entity.Company; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 公司表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-09 13 | */ 14 | public interface CompanyMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-job/tt-zhipin-job-web/src/main/java/com/whoiszxl/zhipin/job/mapper/JobCategoryMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.job.mapper; 2 | 3 | import com.whoiszxl.zhipin.job.entity.JobCategory; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 职位三级分类表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-14 13 | */ 14 | public interface JobCategoryMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-job/tt-zhipin-job-web/src/main/java/com/whoiszxl/zhipin/job/mapper/JobMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.job.mapper; 2 | 3 | import com.whoiszxl.zhipin.job.entity.Job; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 职位表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-09 13 | */ 14 | public interface JobMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-job/tt-zhipin-job-web/src/main/java/com/whoiszxl/zhipin/job/mapper/xml/CompanyMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-job/tt-zhipin-job-web/src/main/java/com/whoiszxl/zhipin/job/mapper/xml/JobCategoryMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-job/tt-zhipin-job-web/src/main/java/com/whoiszxl/zhipin/job/mapper/xml/JobMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-job/tt-zhipin-job-web/src/main/java/com/whoiszxl/zhipin/job/service/ICompanyService.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.job.service; 2 | 3 | import com.whoiszxl.zhipin.job.entity.Company; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /** 7 | *

8 | * 公司表 服务类 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-09 13 | */ 14 | public interface ICompanyService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-job/tt-zhipin-job-web/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _____ _____ _____ _ _ _ _____ _ __ _ 2 | |_ _||_ _|` / /_| |_| || || ()_)| || \| | 3 | |_| |_| /___/|_| |_||_||_| |_||_|\__| -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-job/tt-zhipin-job-web/src/main/resources/db/changelog/db.changelog-master.yaml: -------------------------------------------------------------------------------- 1 | databaseChangeLog: 2 | - include: 3 | file: db/changelog/v1.0.0/zhipin-job-table.sql 4 | - include: 5 | file: db/changelog/v1.0.0/zhipin-job-data.sql -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/cqrs/command/AttachmentResumeSaveCommand.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.cqrs.command; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | @Data 7 | @Schema(description = "附件简历保存命令") 8 | public class AttachmentResumeSaveCommand { 9 | 10 | @Schema(description = "文件名称") 11 | private String filename; 12 | 13 | @Schema(description = "文件路径") 14 | private String url; 15 | } 16 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/cqrs/command/ResumeNameUpdateCommand.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.cqrs.command; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | @Data 7 | @Schema(description = "附件简历名称更新命令") 8 | public class ResumeNameUpdateCommand { 9 | 10 | @Schema(description = "附件简历id") 11 | private String id; 12 | 13 | @Schema(description = "附件简历新名称") 14 | private String newFilename; 15 | } 16 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/cqrs/command/SendSmsCaptchaCommand.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.cqrs.command; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | import javax.validation.constraints.NotBlank; 7 | 8 | /** 9 | * @author whoiszxl 10 | */ 11 | @Data 12 | @Schema(description = "短信发送命令") 13 | public class SendSmsCaptchaCommand { 14 | 15 | @NotBlank 16 | @Schema(description = "手机号") 17 | private String phone; 18 | } 19 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/cqrs/command/ToutouSubmitCommand.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.cqrs.command; 2 | 3 | import io.swagger.v3.oas.annotations.media.Schema; 4 | import lombok.Data; 5 | 6 | @Data 7 | @Schema(description = "公司提交审核条件") 8 | public class ToutouSubmitCommand { 9 | 10 | @Schema(description = "公司名称") 11 | private String company; 12 | 13 | @Schema(description = "营业执照") 14 | private String businessLicense; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/mapper/MemberAttachmentResumeMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.mapper; 2 | 3 | import com.whoiszxl.zhipin.member.entity.MemberAttachmentResume; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 会员附件简历表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-12-21 13 | */ 14 | public interface MemberAttachmentResumeMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/mapper/MemberComplaintMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.mapper; 2 | 3 | import com.whoiszxl.zhipin.member.entity.MemberComplaint; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 会员投诉表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-04 13 | */ 14 | public interface MemberComplaintMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/mapper/MemberExpMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.mapper; 2 | 3 | import com.whoiszxl.zhipin.member.entity.MemberExp; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 会员经历表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-04 13 | */ 14 | public interface MemberExpMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/mapper/MemberMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.mapper; 2 | 3 | import com.whoiszxl.zhipin.member.entity.Member; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 会员表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-04 13 | */ 14 | public interface MemberMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/mapper/MemberToutouMapper.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.mapper; 2 | 3 | import com.whoiszxl.zhipin.member.entity.MemberToutou; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | 6 | /** 7 | *

8 | * 头头表 Mapper 接口 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-04 13 | */ 14 | public interface MemberToutouMapper extends BaseMapper { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/mapper/xml/MemberAttachmentResumeMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/mapper/xml/MemberComplaintMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/mapper/xml/MemberExpMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/mapper/xml/MemberMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/mapper/xml/MemberToutouMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/service/IMemberComplaintService.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.service; 2 | 3 | import com.whoiszxl.zhipin.member.entity.MemberComplaint; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /** 7 | *

8 | * 会员投诉表 服务类 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-04 13 | */ 14 | public interface IMemberComplaintService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/java/com/whoiszxl/zhipin/member/service/IMemberExpService.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.member.service; 2 | 3 | import com.whoiszxl.zhipin.member.entity.MemberExp; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /** 7 | *

8 | * 会员经历表 服务类 9 | *

10 | * 11 | * @author whoiszxl 12 | * @since 2023-08-04 13 | */ 14 | public interface IMemberExpService extends IService { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _____ _____ _____ _ _ _ _____ _ __ _ 2 | |_ _||_ _|` / /_| |_| || || ()_)| || \| | 3 | |_| |_| /___/|_| |_||_||_| |_||_|\__| -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-member/tt-zhipin-member-web/src/main/resources/db/changelog/db.changelog-master.yaml: -------------------------------------------------------------------------------- 1 | databaseChangeLog: 2 | - include: 3 | file: db/changelog/v1.0.0/zhipin-member-table.sql 4 | - include: 5 | file: db/changelog/v1.0.0/zhipin-member-data.sql -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-common/src/main/java/com/whoiszxl/zhipin/tools/common/constants/CommonConstants.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.tools.common.constants; 2 | 3 | /** 4 | * 通用常量 5 | * @author whoiszxl 6 | */ 7 | public interface CommonConstants { 8 | 9 | String DEFAULT_PASSWORD = "123456"; 10 | 11 | String PASSWORD_SALT = "banana"; 12 | 13 | String SUPER_ADMIN = "admin"; 14 | 15 | String ALL_PERMISSION = "*"; 16 | 17 | } 18 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-common/src/main/java/com/whoiszxl/zhipin/tools/common/constants/LoginConstants.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.tools.common.constants; 2 | 3 | /** 4 | * 登录常量 5 | * @author whoiszxl 6 | */ 7 | public interface LoginConstants { 8 | 9 | String LOGIN_ADMIN_MEMBER_KEY = "login_admin_member_key"; 10 | 11 | String LOGIN_APP_MEMBER_KEY = "login_app_member_key"; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-common/src/main/java/com/whoiszxl/zhipin/tools/common/entity/StatusCode.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.tools.common.entity; 2 | 3 | /** 4 | * 常用状态码 5 | * 6 | * @author whoiszxl 7 | */ 8 | public interface StatusCode { 9 | 10 | int OK = 0; 11 | int ERROR = 1; 12 | } -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-common/src/main/java/com/whoiszxl/zhipin/tools/common/exception/ExceptionCatcher.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.tools.common.exception; 2 | 3 | import com.whoiszxl.zhipin.tools.common.exception.custom.ServiceException; 4 | 5 | /** 6 | * 异常捕获工具 7 | * @author whoiszxl 8 | */ 9 | public class ExceptionCatcher { 10 | 11 | public static void catchServiceEx(String message) { 12 | throw new ServiceException(message); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-common/src/main/java/com/whoiszxl/zhipin/tools/common/exception/custom/ServiceException.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.tools.common.exception.custom; 2 | 3 | import lombok.NoArgsConstructor; 4 | 5 | /** 6 | * 业务异常 7 | * @author whoiszxl 8 | */ 9 | @NoArgsConstructor 10 | public class ServiceException extends RuntimeException { 11 | 12 | public ServiceException(String message) { 13 | super(message); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-common/src/main/java/com/whoiszxl/zhipin/tools/common/properties/RsaProperties.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.tools.common.properties; 2 | 3 | import cn.hutool.extra.spring.SpringUtil; 4 | 5 | /** 6 | * rsa配置 7 | * @author whoiszxl 8 | */ 9 | public class RsaProperties { 10 | 11 | public static final String PRIVATE_KEY; 12 | 13 | static { 14 | PRIVATE_KEY = SpringUtil.getProperty("zhipin.rsa.privateKey"); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-common/src/main/java/com/whoiszxl/zhipin/tools/common/token/enums/PermissionNameEnum.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.tools.common.token.enums; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | 6 | /** 7 | * 权限名称,枚举 8 | * @author whoiszxl 9 | */ 10 | @Getter 11 | @AllArgsConstructor 12 | public enum PermissionNameEnum { 13 | 14 | LIST("list"), 15 | ADD("add"), 16 | DELETE("delete"), 17 | UPDATE("update"), 18 | EXPORT("export"), 19 | ; 20 | private String name; 21 | } -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-gpt/src/main/java/com/whoiszxl/zhipin/tools/gpt/session/GptSessionFactory.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.tools.gpt.session; 2 | 3 | /** 4 | * gpt session 工厂 5 | * @author whoiszxl 6 | */ 7 | public interface GptSessionFactory { 8 | 9 | /** 10 | * 打开 session会话 11 | * @return session 12 | */ 13 | GptSession openSession(); 14 | } 15 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-gpt/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.whoiszxl.zhipin.tools.gpt.config.GptConfiguration -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-lock/src/main/java/com/whoiszxl/zhipin/tools/lock/DistributedLockFactory.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.tools.lock; 2 | 3 | /** 4 | * 分布式锁工厂 5 | * 6 | * @author whoiszxl 7 | */ 8 | public interface DistributedLockFactory { 9 | 10 | /** 11 | * 获取分布式锁 12 | * @param key 锁key 13 | * @return 14 | */ 15 | DistributedLock getDistributedLock(String key); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-lock/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.whoiszxl.zhipin.tools.lock.configuration.RedissonConfiguration -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-map/src/main/java/com/whoiszxl/zhipin/tools/map/session/MapSessionFactory.java: -------------------------------------------------------------------------------- 1 | package com.whoiszxl.zhipin.tools.map.session; 2 | 3 | /** 4 | * @author whoiszxl 5 | */ 6 | public interface MapSessionFactory { 7 | 8 | /** 9 | * 打开map session会话 10 | * @return mapSession 11 | */ 12 | MapSession openSession(); 13 | } 14 | -------------------------------------------------------------------------------- /tt-zhipin-server/tt-zhipin-tools/tt-zhipin-tools-mybatis/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | com.whoiszxl.zhipin.tools.mybatis.MyBatisConfiguration -------------------------------------------------------------------------------- /ttZhipinApp/.bundle/config: -------------------------------------------------------------------------------- 1 | BUNDLE_PATH: "vendor/bundle" 2 | BUNDLE_FORCE_RUBY_PLATFORM: 1 3 | -------------------------------------------------------------------------------- /ttZhipinApp/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | extends: '@react-native', 4 | }; 5 | -------------------------------------------------------------------------------- /ttZhipinApp/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | arrowParens: 'avoid', 3 | bracketSameLine: true, 4 | bracketSpacing: false, 5 | singleQuote: true, 6 | trailingComma: 'all', 7 | }; 8 | -------------------------------------------------------------------------------- /ttZhipinApp/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /ttZhipinApp/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version 4 | ruby ">= 2.6.10" 5 | 6 | gem 'cocoapods', '~> 1.12' 7 | -------------------------------------------------------------------------------- /ttZhipinApp/__tests__/App.test.tsx: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import 'react-native'; 6 | import React from 'react'; 7 | import App from '../App'; 8 | 9 | // Note: import explicitly to use the types shiped with jest. 10 | import {it} from '@jest/globals'; 11 | 12 | // Note: test renderer must be required after react-native. 13 | import renderer from 'react-test-renderer'; 14 | 15 | it('renders correctly', () => { 16 | renderer.create(); 17 | }); 18 | -------------------------------------------------------------------------------- /ttZhipinApp/android/app/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/debug.keystore -------------------------------------------------------------------------------- /ttZhipinApp/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TT直聘 3 | 4 | -------------------------------------------------------------------------------- /ttZhipinApp/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ttZhipinApp/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /ttZhipinApp/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'ttZhipinApp' 2 | apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings) 3 | include ':app' 4 | includeBuild('../node_modules/@react-native/gradle-plugin') 5 | 6 | include ':react-native-vector-icons' 7 | project(':react-native-vector-icons').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-vector-icons/android') -------------------------------------------------------------------------------- /ttZhipinApp/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ttZhipinApp", 3 | "displayName": "ttZhipinApp" 4 | } 5 | -------------------------------------------------------------------------------- /ttZhipinApp/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['module:metro-react-native-babel-preset'], 3 | plugins: [ 4 | [ 5 | "@babel/plugin-proposal-decorators", 6 | { 7 | "legacy": true 8 | } 9 | ] 10 | ] 11 | }; 12 | -------------------------------------------------------------------------------- /ttZhipinApp/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @format 3 | */ 4 | 5 | import {AppRegistry} from 'react-native'; 6 | import App from './App'; 7 | import {name as appName} from './app.json'; 8 | 9 | AppRegistry.registerComponent(appName, () => App); 10 | -------------------------------------------------------------------------------- /ttZhipinApp/ios/.xcode.env: -------------------------------------------------------------------------------- 1 | # This `.xcode.env` file is versioned and is used to source the environment 2 | # used when running script phases inside Xcode. 3 | # To customize your local environment, you can create an `.xcode.env.local` 4 | # file that is not versioned. 5 | 6 | # NODE_BINARY variable contains the PATH to the node executable. 7 | # 8 | # Customize the NODE_BINARY variable here. 9 | # For example, to use nvm with brew, add the following line 10 | # . "$(brew --prefix nvm)/nvm.sh" --no-use 11 | export NODE_BINARY=$(command -v node) 12 | -------------------------------------------------------------------------------- /ttZhipinApp/ios/ttZhipinApp/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : RCTAppDelegate 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /ttZhipinApp/ios/ttZhipinApp/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ttZhipinApp/ios/ttZhipinApp/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char *argv[]) 6 | { 7 | @autoreleasepool { 8 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /ttZhipinApp/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | preset: 'react-native', 3 | }; 4 | -------------------------------------------------------------------------------- /ttZhipinApp/metro.config.js: -------------------------------------------------------------------------------- 1 | const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config'); 2 | 3 | /** 4 | * Metro configuration 5 | * https://facebook.github.io/metro/docs/configuration 6 | * 7 | * @type {import('metro-config').MetroConfig} 8 | */ 9 | const config = {}; 10 | 11 | module.exports = mergeConfig(getDefaultConfig(__dirname), config); 12 | -------------------------------------------------------------------------------- /ttZhipinApp/src/apis/methods.ts: -------------------------------------------------------------------------------- 1 | export const METHODS = { 2 | GET: 'get', 3 | POST: 'post', 4 | PUT: 'put', 5 | DELETE: 'delete', 6 | }; 7 | 8 | export const PARAM_TYPE = { 9 | PATH: 'path', 10 | BODY: 'body' 11 | }; -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/apple.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/arrow_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/arrow_left.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/close.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/exchange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/exchange.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/file-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/file-logo.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/phone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/phone.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/qq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/qq.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/selection.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/show_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/show_more.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/un_selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/un_selection.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/view.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/view_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/view_off.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/icons/weixin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/icons/weixin.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/images/become-boss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/images/become-boss.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/images/logo_bg_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/images/logo_bg_transparent.png -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/images/mine_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/images/mine_bg.jpg -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/images/mine_bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/images/mine_bg2.jpg -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/images/mine_bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/images/mine_bg3.jpg -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/images/mine_bg4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/images/mine_bg4.jpg -------------------------------------------------------------------------------- /ttZhipinApp/src/assets/images/star_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whoiszxl/tt-zhipin/758039a4fd65de843d91d9a87b5b5e41b83c702d/ttZhipinApp/src/assets/images/star_bg.png -------------------------------------------------------------------------------- /ttZhipinApp/src/common/CommonColor.ts: -------------------------------------------------------------------------------- 1 | export const CommonColor = { 2 | mainColor: '#0050c6', 3 | transparentMainColor: 'rgba(0, 80, 198, 0.3)', 4 | transparentMainColor2: 'rgba(0, 80, 198, 0.8)', 5 | tagBg: '#f2f2f2', 6 | greyButtonBg: '#f0f0f0', 7 | fontColor: '#333333', 8 | deepGrey: '#666666', 9 | normalGrey: '#999999', 10 | normalBg: '#eeeeee', 11 | line: '#e5e5e5', 12 | transparentGreyBg: 'rgba(169, 169, 169, 0.4)', 13 | wxColor: '#07c160', 14 | chatBg: '#f6f6f6', 15 | zhipinBg: 'F6F6F8' 16 | 17 | }; -------------------------------------------------------------------------------- /ttZhipinApp/src/common/CommonConstant.ts: -------------------------------------------------------------------------------- 1 | export const CommonConstant = { 2 | TOKEN: 'token', 3 | LOGIN_TOKEN: 'token', 4 | MEMBER_INFO: 'member_info', 5 | 6 | 7 | 8 | IM_DB_NAME: 'im.db', 9 | IM_PRIVATE_CHAT_TABLE: 'im_messages', 10 | 11 | 12 | //seq 13 | OFFLINE_MESSAGE_SEQ: "offline_message_seq" 14 | }; -------------------------------------------------------------------------------- /ttZhipinApp/src/common/CommonLogo.ts: -------------------------------------------------------------------------------- 1 | export const CommonLogo = { 2 | Ionicons: { 3 | arrow_back: 'chevron-back', 4 | help_tips: 'help-circle-outline', 5 | three_dot_menu: 'ellipsis-horizontal-sharp', 6 | share_outline: 'share-outline', 7 | share_social_outline: 'share-social-outline', 8 | }, 9 | }; -------------------------------------------------------------------------------- /ttZhipinApp/src/common/CommonStyle.ts: -------------------------------------------------------------------------------- 1 | import { StyleSheet } from "react-native"; 2 | 3 | export const CommonStyle = StyleSheet.create({ 4 | p1: { padding:1 }, 5 | p2: { padding:2 }, 6 | p3: { padding:3 }, 7 | p4: { padding:4 }, 8 | p5: { padding:5 }, 9 | 10 | 11 | pl1: {paddingLeft: 1}, 12 | pl2: {paddingLeft: 2}, 13 | pl5: {paddingLeft: 5}, 14 | pl10: {paddingLeft: 10}, 15 | pl20: {paddingLeft: 20}, 16 | pl30: {paddingLeft: 30}, 17 | }); -------------------------------------------------------------------------------- /ttZhipinApp/src/components/slidePager/style.tsx: -------------------------------------------------------------------------------- 1 | import {StyleSheet, Dimensions} from 'react-native'; 2 | 3 | const width = Dimensions.get('screen').width; 4 | export const styles = StyleSheet.create({ 5 | caroselImageStyle: { 6 | width: width, 7 | resizeMode: 'contain', 8 | height: 300, 9 | }, 10 | previewImageContainerStyle: { 11 | width, 12 | justifyContent: 'center', 13 | alignItems: 'center', 14 | }, 15 | previewImageStyle: { 16 | width: width, 17 | resizeMode: 'contain', 18 | height: 400, 19 | }, 20 | }); 21 | -------------------------------------------------------------------------------- /ttZhipinApp/src/components/ttDivider.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { View, StyleSheet } from 'react-native'; 3 | import { CommonColor } from '../common/CommonColor'; 4 | 5 | const TtDivider = () => { 6 | return ; 7 | }; 8 | 9 | const styles = StyleSheet.create({ 10 | divider: { 11 | height: 0.5, // 设置分割线高度 12 | marginHorizontal: 7, 13 | backgroundColor: CommonColor.line, // 设置分割线颜色 14 | }, 15 | }); 16 | 17 | export default TtDivider; 18 | -------------------------------------------------------------------------------- /ttZhipinApp/src/pages/toutou/toutou_search/ToutouSearchPage.tsx: -------------------------------------------------------------------------------- 1 | import { Text, View } from 'react-native' 2 | import React, { Component } from 'react' 3 | 4 | export default class ToutouSearchPage extends Component { 5 | render() { 6 | return ( 7 | 8 | ToutouSearchPage 9 | 10 | ) 11 | } 12 | } -------------------------------------------------------------------------------- /ttZhipinApp/src/pages/worker/discovery/DiscoveryPage.tsx: -------------------------------------------------------------------------------- 1 | import { Text, View } from 'react-native' 2 | import React, { Component } from 'react' 3 | 4 | export default class DiscoveryPage extends Component { 5 | render() { 6 | return ( 7 | 8 | DiscoveryPage 9 | 10 | ) 11 | } 12 | } --------------------------------------------------------------------------------