品牌更名为「云微」并替换为终端风格图标
- 面板/PWA/iOS/fnOS 显示名统一改为「云微」(英文项目名 WechatOnCloud 保留) - favicon 改为绿底 macOS 终端风格(>_ 提示符),重新编译 180/192/512 PNG - 登录页 logo 复用同款终端图标 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@@ -1,6 +1,6 @@
|
|||||||
appname=wechat-on-cloud
|
appname=wechat-on-cloud
|
||||||
version=1.0.0
|
version=1.0.0
|
||||||
display_name=云上微信
|
display_name=云微
|
||||||
desc=在飞牛 NAS 上运行服务端微信,浏览器多端共享同一会话;支持多实例与按账号的访问权限。面板为唯一对外入口,微信实例由面板按需创建。
|
desc=在飞牛 NAS 上运行服务端微信,浏览器多端共享同一会话;支持多实例与按账号的访问权限。面板为唯一对外入口,微信实例由面板按需创建。
|
||||||
platform=all
|
platform=all
|
||||||
source=thirdparty
|
source=thirdparty
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
<meta name="theme-color" content="#07C160" />
|
<meta name="theme-color" content="#07C160" />
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||||
<meta name="apple-mobile-web-app-title" content="云微信" />
|
<meta name="apple-mobile-web-app-title" content="云微" />
|
||||||
<link rel="apple-touch-icon" href="/icon-180.png" />
|
<link rel="apple-touch-icon" href="/icon-180.png" />
|
||||||
<title>云微信</title>
|
<title>云微</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|||||||
@@ -1,4 +1,15 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
|
||||||
<rect width="100" height="100" rx="22" fill="#07C160"/>
|
<defs>
|
||||||
<text x="50" y="50" font-family="-apple-system, 'PingFang SC', sans-serif" font-size="56" font-weight="700" fill="#ffffff" text-anchor="middle" dominant-baseline="central">微</text>
|
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
|
||||||
|
<stop offset="0" stop-color="#13D873"/>
|
||||||
|
<stop offset="1" stop-color="#05A852"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<rect width="100" height="100" rx="23" fill="url(#bg)"/>
|
||||||
|
<rect x="3.5" y="3.5" width="93" height="93" rx="20" fill="none" stroke="#ffffff" stroke-opacity="0.18" stroke-width="2"/>
|
||||||
|
<circle cx="22" cy="36" r="3.4" fill="#ffffff" fill-opacity="0.92"/>
|
||||||
|
<g fill="none" stroke="#ffffff" stroke-width="7.5" stroke-linecap="round" stroke-linejoin="round">
|
||||||
|
<path d="M34 30 L48 44 L34 58"/>
|
||||||
|
<path d="M56 60 L72 60"/>
|
||||||
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 338 B After Width: | Height: | Size: 715 B |
|
Before Width: | Height: | Size: 769 B After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 822 B After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 19 KiB |
@@ -56,7 +56,7 @@ export default function Dashboard() {
|
|||||||
return (
|
return (
|
||||||
<div className="page">
|
<div className="page">
|
||||||
<header className="topbar">
|
<header className="topbar">
|
||||||
<span className="topbar-title">云微信</span>
|
<span className="topbar-title">云微</span>
|
||||||
<button className="btn-text" onClick={() => logout()}>
|
<button className="btn-text" onClick={() => logout()}>
|
||||||
退出
|
退出
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ export default function Login() {
|
|||||||
<div className="center-screen">
|
<div className="center-screen">
|
||||||
<form className="card login-card" onSubmit={submit}>
|
<form className="card login-card" onSubmit={submit}>
|
||||||
<div className="brand">
|
<div className="brand">
|
||||||
<div className="brand-logo">微</div>
|
<div className="brand-logo"><img src="/favicon.svg" alt="" /></div>
|
||||||
<h1>云微信</h1>
|
<h1>云微</h1>
|
||||||
<p className="muted">登录以访问 NAS 上的微信</p>
|
<p className="muted">登录以访问 NAS 上的微信</p>
|
||||||
</div>
|
</div>
|
||||||
<input
|
<input
|
||||||
|
|||||||
@@ -132,6 +132,11 @@ button {
|
|||||||
box-shadow: var(--crease-accent);
|
box-shadow: var(--crease-accent);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
.brand-logo img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
.brand-logo::before {
|
.brand-logo::before {
|
||||||
content: '';
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ export default defineConfig({
|
|||||||
registerType: 'autoUpdate',
|
registerType: 'autoUpdate',
|
||||||
includeAssets: ['favicon.svg', 'icon-180.png'],
|
includeAssets: ['favicon.svg', 'icon-180.png'],
|
||||||
manifest: {
|
manifest: {
|
||||||
name: '云微信',
|
name: '云微',
|
||||||
short_name: '云微信',
|
short_name: '云微',
|
||||||
description: '在浏览器访问 NAS 上的微信',
|
description: '在浏览器访问 NAS 上的微信',
|
||||||
lang: 'zh-CN',
|
lang: 'zh-CN',
|
||||||
theme_color: '#07C160',
|
theme_color: '#07C160',
|
||||||
|
|||||||