上传文件至 /
This commit is contained in:
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 祈烨猫猫
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
45
README.md
Normal file
45
README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# RE-Amachiromaker
|
||||
|
||||
这个项目复活了被甘城猫猫下线的捏脸网站喵~
|
||||
|
||||
本项目基于Charlie Chiangm的Amachiromaker进行了UI大修喵~
|
||||
|
||||
# 特点
|
||||
|
||||
1.为所有的元素添加了交互动画喵;
|
||||
|
||||
2.修改原版简陋的UI界面,让网页更美观;
|
||||
|
||||
3.为所有的选项卡添加了一看就懂缩略图喵;
|
||||
|
||||
4.添加了深色模式,white.jpg为白天背景,black.jpg为夜晚背景喵~
|
||||
|
||||
# 如何构建
|
||||
|
||||
-下载所有的文件并解压到一个文件夹内;
|
||||
|
||||
-安装python;
|
||||
|
||||
-运行“python -m http.server 8000 --directory <项目根目录>”
|
||||
|
||||
-访问 localhost:8000 就可以啦~
|
||||
|
||||
# 特别说明
|
||||
|
||||
因为版权原因,本存储库不包含任何原项目的图像哦,抱歉呢
|
||||
|
||||
这个项目已经在我的服务器上部署可以访问这个网址使用喵
|
||||
|
||||
https://www.hutaotao.top/amachiromaker/
|
||||
|
||||
<p align="center">
|
||||
<figure>
|
||||
<img src="readme-assets/screenshot.png" alt="Screenshot">
|
||||
<figcaption>屏幕截图</figcaption>
|
||||
</figure>
|
||||
<figure>
|
||||
<img width="90%" src="readme-assets/gif1.gif" alt="Animated GIF">
|
||||
<figcaption>动画演示</figcaption>
|
||||
</figure>
|
||||
<p align="center">如果你喜欢这个项目,不要忘了加个star呐~</p>
|
||||
</p>
|
||||
28
asset-manifest.json
Normal file
28
asset-manifest.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"files": {
|
||||
"main.css": "/static/css/main.0f9b49cf.chunk.css",
|
||||
"main.js": "/static/js/main.72370a41.chunk.js",
|
||||
"main.js.map": "/static/js/main.72370a41.chunk.js.map",
|
||||
"runtime-main.js": "/static/js/runtime-main.a078233a.js",
|
||||
"runtime-main.js.map": "/static/js/runtime-main.a078233a.js.map",
|
||||
"static/css/2.27175f2b.chunk.css": "/static/css/2.27175f2b.chunk.css",
|
||||
"static/js/2.78bd1ab9.chunk.js": "/static/js/2.78bd1ab9.chunk.js",
|
||||
"static/js/2.78bd1ab9.chunk.js.map": "/static/js/2.78bd1ab9.chunk.js.map",
|
||||
"static/js/3.d88bd067.chunk.js": "/static/js/3.d88bd067.chunk.js",
|
||||
"static/js/3.d88bd067.chunk.js.map": "/static/js/3.d88bd067.chunk.js.map",
|
||||
"static/js/4.43d507be.chunk.js": "/static/js/4.43d507be.chunk.js",
|
||||
"static/js/4.43d507be.chunk.js.map": "/static/js/4.43d507be.chunk.js.map",
|
||||
"index.html": "/index.html",
|
||||
"static/css/2.27175f2b.chunk.css.map": "/static/css/2.27175f2b.chunk.css.map",
|
||||
"static/css/main.0f9b49cf.chunk.css.map": "/static/css/main.0f9b49cf.chunk.css.map",
|
||||
"static/js/2.78bd1ab9.chunk.js.LICENSE.txt": "/static/js/2.78bd1ab9.chunk.js.LICENSE.txt",
|
||||
"static/js/3.d88bd067.chunk.js.LICENSE.txt": "/static/js/3.d88bd067.chunk.js.LICENSE.txt"
|
||||
},
|
||||
"entrypoints": [
|
||||
"static/js/runtime-main.a078233a.js",
|
||||
"static/css/2.27175f2b.chunk.css",
|
||||
"static/js/2.78bd1ab9.chunk.js",
|
||||
"static/css/main.0f9b49cf.chunk.css",
|
||||
"static/js/main.72370a41.chunk.js"
|
||||
]
|
||||
}
|
||||
1
defaultCombination.json
Normal file
1
defaultCombination.json
Normal file
@@ -0,0 +1 @@
|
||||
[{"url":"/app/image_maker/168503/302526/i_Y5XjW1IGDNhRgscQ.png","x":0,"y":0,"itmId":1211621,"cId":704817},{"url":"/app/image_maker/168503/300805/i_jXP5nj6hyfXQW8Rd.png","x":0,"y":0,"itmId":1205343,"cId":700860},{"url":"/app/image_maker/168503/301908/i_NaLgjKfmTXyhM9bC.png","x":0,"y":0,"itmId":1209498,"cId":703645},{"url":"/app/image_maker/168503/300798/i_J4HV3dKAx3tbvTiF.png","x":135,"y":255,"itmId":1205332,"cId":700853},{"url":"/app/image_maker/168503/300126/i_NrwhGt1evdQGNFvZ.png","x":128,"y":236,"itmId":1203030,"cId":699295},{"url":"/app/image_maker/168503/301906/i_8Mve8WmqVPbm6DXG.png","x":128,"y":236,"itmId":1209496,"cId":703641},{"url":"/app/image_maker/168503/301886/i_pIaO8RLWC7PT3DRJ.png","x":128,"y":236,"itmId":1209455,"cId":703604},{"url":"/app/image_maker/168503/301888/i_NpOZzcJEM3oMu06Z.png","x":128,"y":236,"itmId":1209457,"cId":703606},{"url":"/app/image_maker/168503/300801/i_A5bSPHmCjfW0ur2y.png","x":230,"y":340,"itmId":1205339,"cId":700856},{"url":"/app/image_maker/168503/300802/i_0M26Atlekn3Glrij.png","x":140,"y":200,"itmId":1205340,"cId":703819},{"url":"","x":160,"y":270,"itmId":0,"cId":0},{"url":"","x":160,"y":270,"itmId":0,"cId":0},{"url":"/app/image_maker/168503/300809/i_Wt907OsvdYjuLLPk.png","x":0,"y":0,"itmId":1205347,"cId":700864},{"url":"","x":60,"y":0,"itmId":0,"cId":0},{"url":"","x":150,"y":70,"itmId":0,"cId":0},{"url":"","x":0,"y":90,"itmId":0,"cId":0},{"url":"/app/image_maker/168503/300807/i_Xh4Xfb8ES7CJYC3d.png","x":0,"y":350,"itmId":1205345,"cId":700862},{"url":"","x":220,"y":400,"itmId":0,"cId":0},{"url":"/app/image_maker/168503/300803/i_oKiZTtGdicR5cy6o.png","x":110,"y":30,"itmId":1205341,"cId":700858},{"url":"/app/image_maker/168503/300804/i_GT2XsGxAna72k4HK.png","x":0,"y":0,"itmId":1205342,"cId":700859},{"url":"","x":50,"y":50,"itmId":0,"cId":0},{"url":"","x":50,"y":50,"itmId":0,"cId":0},{"url":"","x":0,"y":400,"itmId":0,"cId":0},{"url":"","x":0,"y":400,"itmId":0,"cId":0},{"url":"","x":0,"y":0,"itmId":0,"cId":0}]
|
||||
63
emptyset.svg
Normal file
63
emptyset.svg
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://web.resource.org/cc/"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="400"
|
||||
height="400"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.45"
|
||||
sodipodi:modified="true"
|
||||
version="1.0">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
gridtolerance="10000"
|
||||
guidetolerance="10"
|
||||
objecttolerance="10"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.3025"
|
||||
inkscape:cx="200"
|
||||
inkscape:cy="201.25772"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
width="400px"
|
||||
height="400px"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1024"
|
||||
inkscape:window-height="719"
|
||||
inkscape:window-x="-4"
|
||||
inkscape:window-y="-4" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
>
|
||||
<path
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#666;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
|
||||
d="M 377.24609,39.84375 L 328.41797,88.671875 C 356.4124,120.4104 370.40979,157.60112 370.41016,200.24414 C 370.40979,247.28202 353.72686,287.44311 320.36133,320.72754 C 286.99516,354.01206 246.79337,370.65429 199.75586,370.6543 C 157.27523,370.65429 120.08452,356.81967 88.183594,329.15039 L 39.84375,377.24609 L 22.753906,360.15625 L 71.337891,312.30469 C 43.343055,280.07821 29.345674,242.72473 29.345703,200.24414 C 29.345674,153.20659 45.98791,113.0455 79.272461,79.760742 C 112.55685,46.476556 152.71795,29.83432 199.75586,29.833984 C 242.39885,29.83432 279.58956,43.831702 311.32813,71.826172 L 360.40039,22.753906 L 377.24609,39.84375 z M 294.23828,88.671875 C 267.21978,65.397436 235.72568,53.760078 199.75586,53.759766 C 159.55388,53.760078 125.08939,68.12367 96.362305,96.850586 C 67.635023,125.57804 53.271431,160.04252 53.271484,200.24414 C 53.271431,236.21432 64.908789,267.70843 88.183594,294.72656 L 294.23828,88.671875 z M 346.24023,200.24414 C 346.23989,164.27429 334.60253,132.78018 311.32813,105.76172 L 105.27344,311.81641 C 132.29153,335.09118 163.78564,346.72853 199.75586,346.72852 C 239.95744,346.72853 274.42193,332.36494 303.14941,303.6377 C 331.8763,274.91057 346.23989,240.44609 346.24023,200.24414 L 346.24023,200.24414 z "
|
||||
id="text2160" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
BIN
favicon.png
Normal file
BIN
favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 53 KiB |
194
index.html
Normal file
194
index.html
Normal file
@@ -0,0 +1,194 @@
|
||||
<!doctype html>
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<!-- 修改图标路径 -->
|
||||
<link rel="icon" href="./favicon.png"/>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1"/>
|
||||
<meta name="theme-color" content="#000000"/>
|
||||
<meta name="description" content="Web site created using create-react-app"/>
|
||||
<!-- 修改苹果图标路径 -->
|
||||
<link rel="apple-touch-icon" href="./icon_x9xMHja1yr84uqqE.png"/>
|
||||
<!-- 修改 manifest 路径 -->
|
||||
<link rel="manifest" href="./manifest.json"/>
|
||||
<title>amachiromaker</title>
|
||||
<!-- 修改 CSS 路径 -->
|
||||
<link href="./static/css/2.27175f2b.chunk.css" rel="stylesheet">
|
||||
<link href="./static/css/main.0f9b49cf.chunk.css" rel="stylesheet">
|
||||
<!-- 添加自定义主题CSS -->
|
||||
<link href="./static/css/custom-theme.css" rel="stylesheet">
|
||||
<link href="./static/css/modal.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<!-- 送给所有使用本项目的人 -->
|
||||
<div id="modal-overlay" class="modal-overlay">
|
||||
<div class="modal-content">
|
||||
<h2>⚠️注意注意⚠️</h2>
|
||||
<p>本项目为<strong>祈烨猫猫</strong>基于<strong>Charlie Chiangm</strong>的原项目进行二改。<br>本项目允许二改,<strong>但请在Github拉分支且标注本项目的地址</strong>呐!<br>请勿<strong>盗图说自己画的或售卖</strong>呐!<strong>违者公开展示喵~</strong><br>图片(除缩略图)版权均为<strong>甘城なつき</strong>所有。<br><strong>请勿商用或二次售卖</strong>本项目呐!<br><strong>违者自己承担一切后果呐~</strong></p>
|
||||
<div class="modal-buttons">
|
||||
<button id="agree-button" class="modal-button modal-button-agree">同意</button>
|
||||
<button id="disagree-button" class="modal-button modal-button-disagree">不同意</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 主题切换按钮 -->
|
||||
<button id="theme-toggle" class="theme-toggle" aria-label="切换深色/浅色模式">
|
||||
<svg id="theme-toggle-light-icon" class="theme-icon" viewBox="0 0 24 24" style="display: none;">
|
||||
<path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41.39.39 1.03.39 1.41 0l1.06-1.06zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41.39.39 1.03.39 1.41 0l1.06-1.06z"></path>
|
||||
</svg>
|
||||
<svg id="theme-toggle-dark-icon" class="theme-icon" viewBox="0 0 24 24">
|
||||
<path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"></path>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<noscript>你需要去浏览器的设置里面启用JAVA脚本才能使用本网站哦~杂鱼~</noscript>
|
||||
<div id="root"></div>
|
||||
|
||||
<!-- 项目信息区域,不许改!!! -->
|
||||
<div class="project-info animate__animated animate__fadeInUp">
|
||||
<div class="project-info-content">
|
||||
<h3>⭐RE:Amachiromaker⭐</h3>
|
||||
<div class="author-info">
|
||||
<p><span>项目简介:</span>复活被甘城猫猫下线的捏脸网站呐</a></p>
|
||||
<p><span>项目图片画师:</span>甘城なつき <a href="https://amashiro.com/" target="_blank">▶ 甘城なつき官网</a></p>
|
||||
<p><span>缩略图&项目所有者:</span>祈烨猫猫 <a href="https://github.com/NekoQiye" target="_blank">▶ Github资料</a></p>
|
||||
<p><span>网站运营&维护:</span>XiaoXhan1234 <a href="https://github.com/xiaoxhan1234" target="_blank">▶ Github资料</a></p>
|
||||
<p><span>原项目作者:</span>Charlie Chiangm <a href="https://github.com/charlie0129" target="_blank">▶ Github资料</a></p>
|
||||
<img src="neko.png" class="author-neko" alt="祈烨猫猫" />
|
||||
</div>
|
||||
<br>
|
||||
<h3>请勿商用本项目和本项目生成的图片!</h3>
|
||||
<a href="https://github.com/NekoQiye/RE-Amachiromaker" class="repo-button" target="_blank">
|
||||
<span>❤️ 项目仓库</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>!function(e){function r(r){for(var n,a,i=r[0],c=r[1],l=r[2],s=0,p=[];s<i.length;s++)a=i[s],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&p.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(r);p.length;)p.shift()();return u.push.apply(u,l||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var c=t[i];0!==o[c]&&(n=!1)}n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={1:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{3:"d88bd067",4:"43d507be"}[e]+".chunk.js"}(e);var c=new Error;u=function(r){i.onerror=i.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,function(r){return e[r]}.bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="./",a.oe=function(e){throw console.error(e),e};var i=this["webpackJsonpamachiromaker-clone"]=this["webpackJsonpamachiromaker-clone"]||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var l=0;l<i.length;l++)r(i[l]);var f=c;t()}([]) </script>
|
||||
|
||||
<script src="./static/js/2.78bd1ab9.chunk.js"></script>
|
||||
<script src="./static/js/main.72370a41.chunk.js"></script>
|
||||
<script src="./static/js/modal.js"></script>
|
||||
</body>
|
||||
<script>
|
||||
document.addEventListener('contextmenu', e => e.preventDefault());
|
||||
// 添加猫猫气泡对话功能w
|
||||
const nekoMessages = [
|
||||
'喵~今天的你也要元气满满喵~',
|
||||
'要摸摸我的头嘛?',
|
||||
'尾..尾巴不可以摸喵!所以我藏起来啦~',
|
||||
'尾巴被抓住啦~快放开喵~',
|
||||
'呼噜呼噜~好困喵~',
|
||||
'耳朵痒痒的呐,ruarua我喵~',
|
||||
'喵!发现可疑的用户在戳我喵!',
|
||||
'今天的网站应该没有什么bug吧喵~对吧?',
|
||||
'喵呜~摸摸头最舒服了喵~(≧ω≦)',
|
||||
'可以去GitHub帮主人点个star嘛?求你了喵~',
|
||||
'蹭蹭你~今天也要加油喵!',
|
||||
'好厄厄,祈烨又把我丢在这里当看板娘了喵...',
|
||||
'悄悄告诉你个秘密...逗你玩的啦,喵~',
|
||||
'喵喵拳!(ノ≧∇≦)ノ',
|
||||
'下面的这个按钮按起来好有趣喵~',
|
||||
'杂鱼杂鱼~',
|
||||
'喵喵~咕噜咕噜~',
|
||||
'今天的你也闪闪发亮呢喵~'
|
||||
];
|
||||
|
||||
// 添加气泡动画关键帧
|
||||
const bubbleStyle = document.createElement('style');
|
||||
bubbleStyle.textContent = `
|
||||
@keyframes bubbleAppear {
|
||||
0% { transform: translateY(10px); opacity: 0; }
|
||||
100% { transform: translateY(0); opacity: 1; }
|
||||
}`;
|
||||
document.head.appendChild(bubbleStyle);
|
||||
|
||||
let isBubbleActive = false;
|
||||
|
||||
document.querySelector('.author-neko').addEventListener('click', function(e) {
|
||||
if(isBubbleActive) return;
|
||||
|
||||
const bubble = document.createElement('div');
|
||||
bubble.style.position = 'absolute';
|
||||
bubble.style.padding = '8px 12px';
|
||||
bubble.style.background = 'rgba(157,215,255,0.45)';
|
||||
bubble.style.borderRadius = '12px';
|
||||
bubble.style.boxShadow = '0 2px 8px rgba(0,0,0,0.15)';
|
||||
bubble.style.color = '#fdeeff';
|
||||
bubble.style.fontSize = '14px';
|
||||
bubble.style.fontWeight = '500';
|
||||
bubble.style.whiteSpace = 'nowrap';
|
||||
bubble.style.animation = 'bubbleAppear 0.3s ease-out';
|
||||
|
||||
const rect = this.getBoundingClientRect();
|
||||
// 修改后..好累喵
|
||||
bubble.style.top = `${rect.top + window.scrollY - 100}px`;
|
||||
bubble.style.left = `${rect.left + window.scrollX + rect.width/2 - 50}px`;
|
||||
|
||||
bubble.textContent = nekoMessages[Math.floor(Math.random() * nekoMessages.length)];
|
||||
document.body.appendChild(bubble);
|
||||
|
||||
isBubbleActive = true;
|
||||
setTimeout(() => {
|
||||
bubble.style.transition = 'opacity 0.5s';
|
||||
bubble.style.opacity = '0';
|
||||
setTimeout(() => {
|
||||
bubble.remove();
|
||||
isBubbleActive = false;
|
||||
}, 500);
|
||||
}, 1400);
|
||||
});
|
||||
|
||||
document.addEventListener('dragstart', e => {
|
||||
if (e.target.tagName === 'IMG') {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
document.querySelectorAll('img').forEach(img => {
|
||||
img.draggable = false;
|
||||
});
|
||||
|
||||
// 主题切换功能~
|
||||
const themeToggleBtn = document.getElementById('theme-toggle');
|
||||
const themeToggleLightIcon = document.getElementById('theme-toggle-light-icon');
|
||||
const themeToggleDarkIcon = document.getElementById('theme-toggle-dark-icon');
|
||||
|
||||
// 检查用户偏好~
|
||||
const getThemePreference = () => {
|
||||
// 检查本地存储中的主题偏好~
|
||||
const storedTheme = localStorage.getItem('theme');
|
||||
if (storedTheme) {
|
||||
return storedTheme;
|
||||
}
|
||||
|
||||
// 检查系统偏好~
|
||||
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
};
|
||||
|
||||
// 设置主题w
|
||||
const setTheme = (theme) => {
|
||||
if (theme === 'dark') {
|
||||
document.documentElement.setAttribute('data-theme', 'dark');
|
||||
themeToggleLightIcon.style.display = 'block';
|
||||
themeToggleDarkIcon.style.display = 'none';
|
||||
} else {
|
||||
document.documentElement.removeAttribute('data-theme');
|
||||
themeToggleLightIcon.style.display = 'none';
|
||||
themeToggleDarkIcon.style.display = 'block';
|
||||
}
|
||||
localStorage.setItem('theme', theme);
|
||||
};
|
||||
|
||||
setTheme(getThemePreference());
|
||||
|
||||
themeToggleBtn.addEventListener('click', () => {
|
||||
const currentTheme = document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark';
|
||||
setTheme(currentTheme);
|
||||
});
|
||||
|
||||
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', e => {
|
||||
const newTheme = e.matches ? 'dark' : 'light';
|
||||
setTheme(newTheme);
|
||||
});
|
||||
</script>
|
||||
</html>
|
||||
15
manifest.json
Normal file
15
manifest.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"short_name": "React App",
|
||||
"name": "Create React App Sample",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512 192x192 64x64 32x32 24x24 16x16"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#ffffff",
|
||||
"background_color": "#fff5f8"
|
||||
}
|
||||
1
orderedLayers.json
Normal file
1
orderedLayers.json
Normal file
File diff suppressed because one or more lines are too long
3
robots.txt
Normal file
3
robots.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
Disallow:
|
||||
Reference in New Issue
Block a user