Skip to content
/ home Public
forked from imsyy/home

个人主页,我的个人主页,个人主页源码,主页模板,homepage

License

Notifications You must be signed in to change notification settings

NanoRocky/home

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

352 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简体中文 | English

Important

致大家

     · 嘿!恭喜你看到这里~ 这是酪灰基于原作者 imsyy 主页的修改版本!修改版本添加了更多的功能,但是也会带来更高的性能占用!(主要来自逐字歌词以及季节效果渲染),也添加了安全更新,增强安全性。

     · 酪灰作为 Vue 初学者,因为热爱,拉着同学 Pizero 完善了这个项目,因此这些代码可能会很 shi,并可能充斥着不少 BUG。欢迎在遇到 BUG 时进行反馈,也欢迎各位大佬帮助!

关于问题反馈以及求助

     · 遇到问题请在 Github 上提 issue ,需要帮助请在 Github 上发 discussion ,看到了会回复。除特殊情况外,请不要直接通过其它社交方式联系酪灰!酪灰不是客服,不提供售后服务,并没有那么多的时间来回复私聊。还请谅解!

最后,喜欢本项目的话麻烦给个 STAR !阿里嘎多~

 

Warning

喜报

     · 间隔 386 天,Google 终于发布新版本 Workbox 了!

     · 目前 PWA 应正常工作!

 

無名の主页

無名の主页

無名の主页

無名の主页

👀 Demo

     · 由于 workbox 缓存原因,查看最新效果可能需要 Ctrl + F5 强制刷新浏览器缓存噢!

【小贴士】如果您的项目不需要 workbox 的本地缓存,比如有 CDN 的情况下,或者是遇到访问子路径自动跳转主页的情况,可以取消注释 vite.config.ts 内的两行代码:

selfDestroying: true,
injectRegister: false,

🎉 功能

  • 载入动画
  • 站点简介
  • Hitokoto 一言
  • 日期及时间
  • 实时天气
  • 时光进度条
  • 音乐播放器
  • 移动端适配
  • 逐字歌词兼容

⚙️ 自动部署

如果遇到构建环境或者打包过程出现错误,则可以采用 Github Actions 来进行自动构建

  • 在成功 fork 仓库后,前往 Actions 页面,若您是首次开启,则会出现下面的提示,点击开启

    步骤1

  • 然后在仓库中进行任意修改后均会触发工作流的运行,在工作流完成后,会在下方生成一个可供下载的压缩包,这就是构建出的静态文件,可自行上传至服务器

    步骤2

⚙️ 手动部署

  • 安装 node.js 环境

    node > 24.13.0

    npm > 10.15.0

  • 然后以 管理员权限 运行 PowerShell 终端,并 cd 到 项目根目录

  • 终端 中输入:

# 安装 pnpm
npm install -g pnpm

# 安装依赖
pnpm install

# 预览
pnpm dev

# 构建
pnpm build

构建完成后,静态资源会在 dist 目录 中生成,可将 dist 文件夹下的文件上传至服务器,也可使用 Vercel 等托管平台一键导入并自动部署

⚙️ Docker 部署

安装及配置 Docker 将不在此处说明,请自行解决

# 构建
docker build -t home .
# 运行
docker run -p 12445:12445 -d home

⚙️ Vercel 部署

其他部署平台大致相同,在此不做说明

  1. 点击本仓库右上角的 Fork,复制本仓库到你的 GitHub 账号
  2. 复制 /.env.example 文件并重命名为 /.env( 重要 )
  3. 按需修改 /.env 文件中的配置
  4. 点击 Deploy,即可成功部署

网站链接

src/assets/siteLinks.json 中可以自定义网站链接(以指向自己的网站):

{
  "icon": "Blog",
  "name": "博客",
  "link": "https://blog.your.domain/"
},

其中 icon 网站链接的图标可以在 src/components/Links/index.vue 中添加:

// 可前往 https://www.xicons.org 自行挑选并在此处引入
// 此处引入的是 fa 类型
import {
  Link,
  Blog,
  CompactDisc,
  Cloud,
  Compass,
  Book,
  Fire,
  LaptopCode,
} from "@vicons/fa";

...

// 网站链接图标
const siteIcon = {
  Blog,
  Cloud,
  CompactDisc,
  Compass,
  Book,
  Fire,
  LaptopCode,
};

社交链接

src/assets/socialLinks.json 中可以自定义社交链接。

天气

天气及地区获取需要 腾讯位置服务高德开放平台 相关 API

  • 前往 腾讯位置服务高德开放平台控制台 创建一个 Web 服务 类型的 Key,并将 Key 填入 .env 中对应参数中。
  • 注:高德开放平台的 FREE IP定位接口不支持 IPV6,如果遇到高德接口异常,请检查网络环境是否有 IPV6,系统是否使用 IPV6 优先。你也可以在浏览器开发者选项中看到“远程地址”是否为 IPV6 地址。腾讯接口同时支持 IPV4 和 IPV6。

也可自行更换其他方式。

Warning

强烈建议自行注册天气 Token ,它们是免费且稳定的!

内置了三个免费接口,目前仅剩 小米天气 可正常工作。由于这些非公开接口没有 CORS 不允许跨域,必须使用中转。并且拥有较高的速率限制,所以经常失效。如果您希望使用这个接口,记得捐赠酪灰,帮助其承担服务器费用!

音乐

本项目采用了 Aplayer 音乐播放器,可实现快速自定义歌单 *仅支持 中国大陆地区

请在 .env 文件中更改歌曲相关参数即可实现自定义歌单列表

# 歌曲 API 地址 (强烈建议自行搭建 Meting-Api)
VITE_SONG_API = "https://metingapi.nanorocky.top/"
# 歌曲服务器 ( netease-网易云, tencent-qq音乐 )
VITE_SONG_SERVER = "netease"
VITE_SONG_SERVER_SECOND = "tencent"
# 播放类型 ( song-歌曲, playlist-播放列表, album-专辑, search-搜索, artist-艺术家 )
VITE_SONG_TYPE = "playlist"
# 播放 ID
VITE_SONG_ID = "3035221869"
VITE_SONG_ID_SECOND = "9518088898"

目前已支持设置两个歌单进行合并,如不需要,留空即可。

如果需要使用网易云音乐逐字歌词,请使用 修改版 Meting-Api

Warning

这里提供的 api 有较高的速率限制,且不太稳定,强烈建议自行搭建 Meting-API!你也可以赞助酪灰帮助他承担服务费用!阿里嘎多!

注意:提供的 api 可能出现Q音接口抛 401 的情况,并非服务异常,Q音接口需要将项目编译后挂到正常域名并使用 https only,使用正常 443 端口,才能正常工作。

字体

现采用 MiSans and HarmonyOS Sans 字体,采用字体拆分,提升加载速度。

https://cdn-font.hyperos.mi.com/font/css?family=MiSans_VF:VF:Chinese_Simplify,Latin&display=swap

https://s1.hdslb.com/bfs/static/jinkela/long/font/regular.css

网站图标及网站背景

网站背景

可以在 public/images 中修改网站背景。

如果想要添加更多的本地图片作为网站背景,可以将图片重命名 background+数字 的形式,并进行修改:

· 先编辑 src/components/Background/index.vue

// 设置一个默认值,防止在无法加载 JSON 文件时壁纸失效。应该尽量保证壁纸数始终不小于这个默认值
let bgImageCount = 10; // PC 版壁纸
let bgImageCountP = 2; // 移动版壁纸

· 再编辑 public/images/config.json

{
  "bgImageCount": 10, // PC 版壁纸
  "bgImageCountP": 2 // 移动版壁纸
}

后续添加或减少壁纸,可直接编辑 config.json ,而无需重新编译项目。但必须确保壁纸数始终大于或等于 index.vue 中的配置。

如需配置默认壁纸选项,请编辑 src/store/index.js

coverType: "0", // 壁纸种类

网站图标

可以在 public/images/icon 中修改网站图标。

语音交互

     · 语音交互区分 预生成 与 实时生成。

     · 预生成的语音需要提前生成并放在 public/speechlocal/ 路径下,替换原有音频。预生成的音频是为固定不变的通知设计的,有更低的语音延迟(推荐使用 CDN 或对音频文件启用客户端缓存)。

     · 实时生成的语音用于音乐播放器歌名播报,需自行搭建并填写在 .env 内。如果也使用 Azure ,您可直接使用AzureSpeechAPI-by-PHP 完成 API 部署。

更多默认设置

     · 自动播放,逐字开关,语音交互开关 等其它默认设置,请编辑 src/store/index.js ,但这些设置仅对编辑后首次打开网页的用户生效,覆盖用户设置需要清除网页数据

技术栈

API

Star History

Star History Chart

特别鸣谢

感谢原作者 imsyy 和帮助本项目的小伙伴们!

   

About

个人主页,我的个人主页,个人主页源码,主页模板,homepage

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages

  • Vue 58.4%
  • TypeScript 36.0%
  • SCSS 4.8%
  • Other 0.8%