修复TypeScript中导入vue文件报错显红

修复 TypeScript 中导入 vue 文件报错显红 vue 2 的解决办法,针对 vue 文件导入报错 创建一个 shims.d.ts 文件,放置到 src/globalDeclare 中 declare module '*.vue' { import Vue from 'vue'; export default Vue; } vue 3.0 的解决办法,针对 vue 文件导入报错 vue3.0 中使用上述办法,会使 createApp 与 vue 类型不符合 导致 Vue 类型与 PublicAPIComponent 不符合 因此 vue3 中的声明方法使用以下办法: declare module '*.vue' { import { defineComponent } from 'vue'; const Component: ReturnType<typeof defineComponent>; export default Component; } 注意,该模块声明需要单独创建文件声明 在 tsconfig.json 中添加 { "compilerOptions": { "typeRoots": [ "src/globalDeclare" ] } }

2024年1月3日 · 1 分钟 · 诚哥博客

开源项目 ChatGPT Web Share 分享多用户共享 ChatGPT 账号

本文介绍了开源项目 ChatGPT Web Share,该项目使用 FastAPI + Vue3 开发,支持多语言、夜间模式适配以及一键导出对话为 Markdown 或 PDF 文件等特点,并提供了完善的管理功能,能够实现共享一个 ChatGPT Plus 账号给多个用户的需求。 介绍 近一年来,随着 GPT 技术的不断发展,越来越多的公司和个人开始使用该技术进行各种应用、产品的开发。然而,GPT 技术往往需要高昂的费用才能购买到官方提供的 API,这对于许多小型团队和个人来说是一个巨大的负担,因此有必要寻找一些替代方案来降低使用 GPT 技术的门槛。 在这个背景下,开源项目 ChatGPT Web Share 应运而生。该项目旨在为多个用户提供一个共享的 ChatGPT Plus 账号,从而使得更多的用户能够充分利用该技术,并且不需要承担过高的费用。 ChatGPT Web Share 是一个由 FastAPI 和 Vue3 搭建的前后端分离应用,可以提供多语言支持、夜间模式适配、一键导出对话为 Markdown 或 PDF 文件等特性。此外,该应用还提供完善的管理功能,包括修改用户对话限制、管理对话、查看成员对话记录等功能。 特点 多语言支持 ChatGPT Web Share 支持多语言,目前支持简体中文和英语,这可以让更多的用户使用该应用。 夜间模式适配 该应用针对夜间使用场景进行了优化,提供了适配夜间模式的界面。 一键导出对话为 Markdown 或 PDF 文件 ChatGPT Web Share 提供了一键导出对话为美观的 Markdown 或 PDF 文件,方便用户保存对话记录或分享给他人。 完善的管理功能 该应用提供了完善的管理功能,可以修改用户对话限制、管理对话、查看成员对话记录等操作,以便管理员更好地管理应用。 使用指南 以下是 ChatGPT Web Share 的使用指南: ...

2023年11月10日 · 1 分钟 · 诚哥博客

浏览器史上最强开源翻译插件immersive-translate - 沉浸式网页翻译浏览器扩展

immersive-translate 是一个沉浸式双语网页翻译扩展,支持输入框翻译、鼠标悬停翻译、PDF、Epub、字幕文件、TXT 文件翻译。它提供了沉浸式的网页双语翻译体验,并具有强大的功能特性和广泛的优点。了解更多关于这款开源插件的详细信息和如何安装。 主要功能特性 沉浸式阅读外文网站 通过智能识别网页主内容区域并进行双语对照翻译,沉浸式翻译提供了全新的外文阅读体验,因此得名“沉浸式翻译”。 强大的输入框翻译,将任何网页上的输入框化身为多语言翻译器,立刻解锁谷歌搜索,ChatGPT 等工具的双语实时对话体验。 高效的文件翻译 一键导出双语电子书,同时支持 PDF、字幕、TXT 等文件的实时双语翻译。 创新的鼠标悬停翻译 仅需将鼠标停留在任意网页的任意段落上,相应的译文就会立即出现在段落下方。段落在在沉浸式翻译的设计理念中被视为最小单位,保留其上下文,这样我们才能真正理解并学习外语。 深度定制优化主流网站 针对 Google、Twitter、Reddit、YouTube、彭博社、华尔街日报等主流网站进行优化,无论是搜索、社交还是获取资讯,都更加流畅高效。 全平台支持 除了各大桌面端浏览器,移动设备也可享受同样的沉浸式翻译体验。在 iOS Safari、安卓 Kiwi 浏览器等移动端浏览器上轻松实现双语浏览 Twitter,Reddit 等社交媒体。 支持 10+种翻译服务 在沉浸式翻译中,你可以选择超过 10 种翻译服务,如 Deepl、OpenAI、微软翻译、谷歌翻译、腾讯翻译等等,这份名单还在不断增加中。 优点 翻译质量好,支持中英互译 基于 MODAO、有道等接口,翻译质量较好,英中翻译也非常流畅准确。 使用简单,提供沉浸式体验 无需任何配置,安装后即可使用。鼠标悬停翻译提供极好的沉浸式体验。 功能强大,覆盖面广泛 支持大量文档格式翻译,功能强大。可插入式词典等进一步优化用户体验。 定制生词簿,助记忆 生词收集复习可以帮助记忆新词汇,提高学习效果。 开源免费,社区活跃 该项目完全开源,扩展下载完全免费。GitHub 上活跃讨论,作者维护积极。 总结 immersive-translate 提供了非常人性化、智能的网页翻译解决方案,是提高英语读写能力的绝佳工具。它也代表了浏览器扩展的发展方向,为用户提供更智能、便捷的增强功能。 项目地址 Github: https://github.com/immersive-translate/immersive-translate 🌟10k+ 在线安装 微软 Edge 浏览器: Edge 商店沉浸式翻译 谷歌 Chrome 浏览器: Chrome 商店沉浸式翻译 Firefox 火狐浏览器: Firefox Addon 商店沉浸式翻译 如果你无法访问谷歌官方商店,可以直接下载 最新沉浸式翻译 Chrome 浏览器 zip 安装包, 下载后请先解压到一个常用的文件夹内,然后在地址栏输入: chrome://extensions,打开扩展管理窗口,然后启用“开发人员模式”,选择“加载解压缩的扩展”,选择刚刚解压后的文件夹载入即可安装成功。 ...

2023年7月14日 · 1 分钟 · 诚哥博客

强大的开源项目推荐-基于React的在线简历生成器

Reactive Resume 是一个使用 React 框架开发的开源在线简历生成项目,具有高质量代码、易用性强和高度定制性等优点,适合前端开发者使用。该项目支持导入 JSON Resume 文件生成简历,提供简历主题定制和 Markdown 格式支持。它还具备桌面端和移动端自适应支持,实时预览编辑效果以及一键 PDF 下载功能。此外,项目还提供完善的文档支持,使用 TypeScript 进行开发,采用模块化和最佳实践,并拥有良好的社区生态。通过这个开源工具,开发者可以快速生成自己的在线简历。 主要功能 支持导入 JSON Resume 文件生成简历 用户只需要准备一个 JSON 格式的简历文件,就可以快速生成一个在线简历。项目 preset 目录下提供了一些示例文件,用户也可以完全自定义 JSON 文件内容。 支持简历主题定制 项目已内置多种漂亮的简历主题,同时也开放了自定义主题的接口。用户只需要修改样式文件,就可以自由定制简历显示效果。 支持 Markdown 格式的简历 用户可以使用 Markdown 语法来编辑简历内容,项目会自动渲染生成格式化的简历页面。非常适合技术博客写作者。 提供桌面端和移动端自适应支持 项目使用了响应式设计,可以在桌面和移动端都提供良好的简历浏览体验。 实时预览编辑效果 编辑简历时可以实时预览变化,无需再次生成就可以看到最新的内容效果。 一键 PDF 下载 简历生成后,可以直接在网页端转换生成 PDF 文件,方便用户下载简历。 提供完善的文档支撑 项目 README 提供了详细的使用说明、开发指南、Demo 等内容,还有特定的文档介绍主题定制和二次开发方式。 组件化开发,代码可维护性强 项目使用 React Hooks 和 Functional Components 进行组件化开发,代码结构清晰,可复用性高,便于长期维护。 使用 TypeScript 开发,更易维护 代码使用 TypeScript 语言编写,增加了类型检查,更利于长期维护。 采用模块化和最佳实践 使用模块化管理静态资源,组件拆分合理。并采用 Prettier、ESLint 等工具,以确保代码质量。 良好的社区生态 该项目在 GitHub 上拥有 1w+星标和 200+贡献者,Issue 讨论活跃,表示社区生态良好。 支持导入导出 ...

2023年7月14日 · 1 分钟 · 诚哥博客

Python脚本批量处理图片,批量压缩图片,轻松压缩路径下的所有图片

了解如何使用 Python 编写一个简单实用的图片压缩工具,它可以轻松压缩指定路径下的所有图片。通过该工具,您可以快速减小图片文件的大小,节省存储空间并提高网页加载速度。本文将介绍如何使用 Python 编写图片压缩工具,并演示了两种压缩方法,包括同类型压缩和转换为 jpg 格式进行压缩。跟随本文一起学习吧! 介绍 在现代社交媒体和网页设计中,图像是不可或缺的元素之一。然而,高分辨率的图片文件往往占用大量的存储空间,导致网页加载速度变慢,用户体验下降。为了解决这个问题,我们可以使用 Python 编写一个简单而实用的图片压缩工具,它能够快速压缩指定路径下的所有图片文件。 实现图片压缩工具的准备工作 在开始编写代码之前,我们需要安装 Python 的 Pillow 库,它提供了强大的图像处理功能。可以通过以下命令来安装 Pillow 库: pip install pillow 安装完成后,我们可以开始编写代码来实现图片压缩工具。 Python 代码实现 下面是使用 Python 编写的图片压缩工具代码: import os from PIL import Image def compress_images(input_dir, output_dir, quality=80): # 确保输出文件夹存在 if not os.path.exists(output_dir): os.makedirs(output_dir) # 遍历输入文件夹中的所有文件 for filename in os.listdir(input_dir): file_path = os.path.join(input_dir, filename) # 检查文件是否为图片 if not os.path.isfile(file_path) or not any(file_path.endswith(ext) for ext in ['.jpg', '.jpeg', '.png']): continue # 打开图像文件 with Image.open(file_path) as image: # 压缩图像并保存到输出文件夹 output_path = os.path.join(output_dir, filename) image.save(output_path, optimize=True, quality=quality) print(f'Compressed: {output_path}') # 指定输入和输出文件夹路径 input_folder = './' # 输入文件夹路径 output_folder = './output' # 输出文件夹路径 quality = 70 # 压缩等级 1-100 # 调用函数进行图片压缩 compress_images(input_folder, output_folder, quality) 以上代码使用了 Python 的 os 模块和 Pillow 库。首先,我们定义了一个 compress_images 函数,它接受输入文件夹路径、输出文件夹路径和可选的压缩质量参数。在函数内部,我们通过遍历输入文件夹中的所有文件,筛选出扩展名为 .jpg、 .jpeg 和 .png 的图片文件。然后,我们使用 Pillow 库打开每个图片文件,并将其压缩保存到输出文件夹中。压缩后的图片文件保持原文件名。 ...

2023年7月4日 · 2 分钟 · 诚哥博客