From 8cb21ad65f5be853b5e4200f6adcb26242e72c25 Mon Sep 17 00:00:00 2001 From: Zyronon Date: Fri, 21 Nov 2025 02:09:59 +0800 Subject: [PATCH] wip --- components.d.ts | 15 + package.json | 1 + pnpm-lock.yaml | 10 + public/static-home.html | 140 +++++++-- src/App.vue | 2 +- src/components/ChannelIcons.vue | 95 ++++++ src/{pages => components}/MigrateDialog.vue | 0 src/pages/word/Statistics.vue | 319 ++++++++------------ 8 files changed, 362 insertions(+), 220 deletions(-) create mode 100644 src/components/ChannelIcons.vue rename src/{pages => components}/MigrateDialog.vue (100%) diff --git a/components.d.ts b/components.d.ts index a8d1aa90..836a8575 100644 --- a/components.d.ts +++ b/components.d.ts @@ -18,6 +18,7 @@ declare module 'vue' { BasePage: typeof import('./src/components/BasePage.vue')['default'] BaseTable: typeof import('./src/components/BaseTable.vue')['default'] Book: typeof import('./src/components/Book.vue')['default'] + ChannelIcons: typeof import('./src/components/ChannelIcons.vue')['default'] Checkbox: typeof import('./src/components/base/checkbox/Checkbox.vue')['default'] Close: typeof import('./src/components/icon/Close.vue')['default'] ConflictNotice: typeof import('./src/components/ConflictNotice.vue')['default'] @@ -34,6 +35,7 @@ declare module 'vue' { IconBxVolumeFull: typeof import('~icons/bx/volume-full')['default'] IconBxVolumeLow: typeof import('~icons/bx/volume-low')['default'] IconBxVolumeMute: typeof import('~icons/bx/volume-mute')['default'] + IconDinkieIconsQq: typeof import('~icons/dinkie-icons/qq')['default'] IconEosIconsLoading: typeof import('~icons/eos-icons/loading')['default'] IconFluentAdd16Regular: typeof import('~icons/fluent/add16-regular')['default'] IconFluentAdd20Regular: typeof import('~icons/fluent/add20-regular')['default'] @@ -49,6 +51,7 @@ declare module 'vue' { IconFluentArrowShuffle20Filled: typeof import('~icons/fluent/arrow-shuffle20-filled')['default'] IconFluentArrowSort20Regular: typeof import('~icons/fluent/arrow-sort20-regular')['default'] IconFluentArrowSwap20Regular: typeof import('~icons/fluent/arrow-swap20-regular')['default'] + IconFluentBook20Regular: typeof import('~icons/fluent/book20-regular')['default'] IconFluentBookLetter20Regular: typeof import('~icons/fluent/book-letter20-regular')['default'] IconFluentBookNumber20Filled: typeof import('~icons/fluent/book-number20-filled')['default'] IconFluentCalendarDate20Regular: typeof import('~icons/fluent/calendar-date20-regular')['default'] @@ -60,6 +63,7 @@ declare module 'vue' { IconFluentChevronDown20Regular: typeof import('~icons/fluent/chevron-down20-regular')['default'] IconFluentChevronLeft20Filled: typeof import('~icons/fluent/chevron-left20-filled')['default'] IconFluentChevronLeft28Filled: typeof import('~icons/fluent/chevron-left28-filled')['default'] + IconFluentClock20Regular: typeof import('~icons/fluent/clock20-regular')['default'] IconFluentCrown20Regular: typeof import('~icons/fluent/crown20-regular')['default'] IconFluentDatabasePerson20Regular: typeof import('~icons/fluent/database-person20-regular')['default'] IconFluentDelete20Regular: typeof import('~icons/fluent/delete20-regular')['default'] @@ -79,6 +83,7 @@ declare module 'vue' { IconFluentNumberSymbol20Regular: typeof import('~icons/fluent/number-symbol20-regular')['default'] IconFluentPaddingLeft20Regular: typeof import('~icons/fluent/padding-left20-regular')['default'] IconFluentPayment20Regular: typeof import('~icons/fluent/payment20-regular')['default'] + IconFluentPen20Regular: typeof import('~icons/fluent/pen20-regular')['default'] IconFluentPerson20Regular: typeof import('~icons/fluent/person20-regular')['default'] IconFluentPhone20Regular: typeof import('~icons/fluent/phone20-regular')['default'] IconFluentPlay20Regular: typeof import('~icons/fluent/play20-regular')['default'] @@ -87,14 +92,18 @@ declare module 'vue' { IconFluentSearch20Regular: typeof import('~icons/fluent/search20-regular')['default'] IconFluentSearch24Regular: typeof import('~icons/fluent/search24-regular')['default'] IconFluentSettings20Regular: typeof import('~icons/fluent/settings20-regular')['default'] + IconFluentShare20Regular: typeof import('~icons/fluent/share20-regular')['default'] + IconFluentShare48Regular: typeof import('~icons/fluent/share48-regular')['default'] IconFluentShieldQuestion20Regular: typeof import('~icons/fluent/shield-question20-regular')['default'] IconFluentSlideTextTitleEdit20Regular: typeof import('~icons/fluent/slide-text-title-edit20-regular')['default'] + IconFluentSparkle20Regular: typeof import('~icons/fluent/sparkle20-regular')['default'] IconFluentSpeakerEdit20Regular: typeof import('~icons/fluent/speaker-edit20-regular')['default'] IconFluentSpeakerSettings20Regular: typeof import('~icons/fluent/speaker-settings20-regular')['default'] IconFluentStar16Filled: typeof import('~icons/fluent/star16-filled')['default'] IconFluentStar16Regular: typeof import('~icons/fluent/star16-regular')['default'] IconFluentStar20Filled: typeof import('~icons/fluent/star20-filled')['default'] IconFluentStarAdd16Regular: typeof import('~icons/fluent/star-add16-regular')['default'] + IconFluentTarget20Regular: typeof import('~icons/fluent/target20-regular')['default'] IconFluentTextBulletListSquare20Regular: typeof import('~icons/fluent/text-bullet-list-square20-regular')['default'] IconFluentTextEditStyle20Regular: typeof import('~icons/fluent/text-edit-style20-regular')['default'] IconFluentTextListAbcUppercaseLtr20Regular: typeof import('~icons/fluent/text-list-abc-uppercase-ltr20-regular')['default'] @@ -105,14 +114,20 @@ declare module 'vue' { IconFluentWeatherSunny16Regular: typeof import('~icons/fluent/weather-sunny16-regular')['default'] IconIconParkOutlineAddMusic: typeof import('~icons/icon-park-outline/add-music')['default'] IconIxWechatLogo: typeof import('~icons/ix/wechat-logo')['default'] + IconMaterialSymbolsMail: typeof import('~icons/material-symbols/mail')['default'] IconPhExportLight: typeof import('~icons/ph/export-light')['default'] + IconRiTwitterFill: typeof import('~icons/ri/twitter-fill')['default'] + IconSimpleIconsGithub: typeof import('~icons/simple-icons/github')['default'] IconSimpleIconsWechat: typeof import('~icons/simple-icons/wechat')['default'] + IconSimpleIconsXiaohongshu: typeof import('~icons/simple-icons/xiaohongshu')['default'] IconStreamlineDiscountPercentCoupon: typeof import('~icons/streamline/discount-percent-coupon')['default'] IconSystemUiconsImport: typeof import('~icons/system-uicons/import')['default'] IconUiwAlipay: typeof import('~icons/uiw/alipay')['default'] + IconUiwQq: typeof import('~icons/uiw/qq')['default'] InputNumber: typeof import('./src/components/base/InputNumber.vue')['default'] List: typeof import('./src/components/list/List.vue')['default'] Logo: typeof import('./src/components/Logo.vue')['default'] + MigrateDialog: typeof import('./src/components/MigrateDialog.vue')['default'] MiniDialog: typeof import('./src/components/dialog/MiniDialog.vue')['default'] Option: typeof import('./src/components/base/select/Option.vue')['default'] Pagination: typeof import('./src/components/base/Pagination.vue')['default'] diff --git a/package.json b/package.json index 67aca91b..a4131b0c 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "devDependencies": { "@alicloud/pop-core": "^1.8.0", "@iconify-json/bx": "^1.2.2", + "@iconify-json/dinkie-icons": "^1.2.0", "@iconify-json/eos-icons": "^1.2.4", "@iconify-json/fluent": "^1.2.28", "@iconify-json/icon-park-outline": "^1.2.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bdc7e481..21067954 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -63,6 +63,9 @@ importers: '@iconify-json/bx': specifier: ^1.2.2 version: 1.2.2 + '@iconify-json/dinkie-icons': + specifier: ^1.2.0 + version: 1.2.0 '@iconify-json/eos-icons': specifier: ^1.2.4 version: 1.2.4 @@ -511,6 +514,9 @@ packages: '@iconify-json/bx@1.2.2': resolution: {integrity: sha512-hZVx6LMEkYckScdRdUuQWcmv8Lm2au6Cnf799TLoR6YgiAfFvaJ4M5ElwcnExvCu8ntsS7jW89r0W5LwBAfZXQ==} + '@iconify-json/dinkie-icons@1.2.0': + resolution: {integrity: sha512-/RSAjK6twyEOKfW9FddZDP+EPMeSIocb4Y4Zq2Y2IbqUxYmNHqXtxidVioBzpv+a3JeiQ61ARlRKtCQ0BqSGpA==} + '@iconify-json/eos-icons@1.2.4': resolution: {integrity: sha512-gp2BCSF3+aRgMqE7LRAVxT5nXJLOtfcvGnOYwJz4gc4zxcEqAaOByxFVLZej15jXPRJmUv2TSzMNrQ2gDtw4VA==} @@ -4147,6 +4153,10 @@ snapshots: dependencies: '@iconify/types': 2.0.0 + '@iconify-json/dinkie-icons@1.2.0': + dependencies: + '@iconify/types': 2.0.0 + '@iconify-json/eos-icons@1.2.4': dependencies: '@iconify/types': 2.0.0 diff --git a/public/static-home.html b/public/static-home.html index ffc7a452..3bb1fd7a 100644 --- a/public/static-home.html +++ b/public/static-home.html @@ -50,12 +50,14 @@ @@ -364,14 +431,29 @@
+

Type Words

学习英语,一次敲击,一点进步,开源单词与文章练习工具

-
单词练习
-
文章练习
+
开始单词练习
+
开始文章练习
+
-
+
📚
单词练习
    -
  • 三种输入模式:跟打 / 复习 / 默写
  • +
  • 四种模式:跟打/听写/辨认/默写
  • 智能模式:智能规划复习与默写
  • 自由模式:不受限制,自行规划
@@ -488,14 +570,14 @@
- +
- +
- + @@ -516,7 +598,7 @@ rel="noreferrer" aria-label="关注我的 X 账户 typewords2">
- + @@ -528,7 +610,7 @@ rel="noreferrer" aria-label="发送邮件到 zyronon@163.com">
- + diff --git a/src/App.vue b/src/App.vue index 01a1b2ae..d12c7147 100644 --- a/src/App.vue +++ b/src/App.vue @@ -12,7 +12,7 @@ import {DictId} from "@/types/types.ts"; import {APP_VERSION, AppEnv, LOCAL_FILE_KEY, Origin, SAVE_DICT_KEY, SAVE_SETTING_KEY} from "@/config/env.ts"; import {syncSetting} from "@/apis"; import {useUserStore} from "@/stores/user.ts"; -import MigrateDialog from "@/pages/MigrateDialog.vue"; +import MigrateDialog from "@/components/MigrateDialog.vue"; const store = useBaseStore() const runtimeStore = useRuntimeStore() diff --git a/src/components/ChannelIcons.vue b/src/components/ChannelIcons.vue new file mode 100644 index 00000000..27c5468a --- /dev/null +++ b/src/components/ChannelIcons.vue @@ -0,0 +1,95 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ 加入我们的用户社群后,您可以与我们的开发团队进行沟通,分享您的使用体验和建议,帮助我们改进产品,同时也能够及时了解我们的最新动态和更新内容。 +
+
+ 微信群二维码 +
+
+
+ +
+
+ 关注小红书后,您可以获得开发团队的最新动态和更新内容,反馈您的使用体验和建议,帮助我们改进产品,同时也能够及时了解我们的最新动态和更新内容。 +
+
+ 小红书二维码 +
+
+
+ +
+
+ 加入我们的用户社群后,您可以与我们的开发团队进行沟通,分享您的使用体验和建议,帮助我们改进产品,同时也能够及时了解我们的最新动态和更新内容。 +
+
+ QQ群二维码 +
+
+
+ + + diff --git a/src/pages/MigrateDialog.vue b/src/components/MigrateDialog.vue similarity index 100% rename from src/pages/MigrateDialog.vue rename to src/components/MigrateDialog.vue diff --git a/src/pages/word/Statistics.vue b/src/pages/word/Statistics.vue index 1edc26a1..4b79fcc0 100644 --- a/src/pages/word/Statistics.vue +++ b/src/pages/word/Statistics.vue @@ -1,15 +1,17 @@ \ No newline at end of file