品牌改名:家书 → 岁月家(网页端标题/logo/文案;首页标题改「某某某的家庭岁月」)

This commit is contained in:
2026-11-01 19:55:40 +08:00
parent 7f3df7a40b
commit 0b8012f5dd
12 changed files with 16 additions and 16 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ final class ApiHandler
// 🔴 v55:端上"输地址 → 连接"那一步要能确认
// "这是个家书服务器、且支持账号登录" —— 只回 HTTP 200 不够
// (任何网页都 200,用户填错地址会让他在登录页反复试密码)。
'app' => '家书',
'app' => '岁月家',
'features' => [
'login' => 1,
// 认手机号也认用户名(见 `login()` 的说明)
+2 -2
View File
@@ -195,12 +195,12 @@ final class Auth
/**
* 首页标题 —— 「以我为中心」最直接的一处落点。
* 登录后看到的不是「家书」,而是「<我的名字>的家书」。
* 登录后看到的不是品牌名「岁月家」,而是「<我的名字>的家庭岁月」。
*/
public static function homeTitle(): string
{
$name = self::name();
return $name === '' ? '家书' : $name . '的家书';
return $name === '' ? '岁月家' : $name . '的家庭岁月';
}
/** 未登录跳登录页 */
+1 -1
View File
@@ -965,7 +965,7 @@ SQL,
<<<'SQL'
CREATE TABLE IF NOT EXISTS `nav_groups` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`person_id` int(10) unsigned NOT NULL COMMENT '这份导航属于谁(家书 person id)',
`person_id` int(10) unsigned NOT NULL COMMENT '这份导航属于谁(岁月家 person id)',
`name` VARCHAR(60) NOT NULL,
`slug` VARCHAR(60) NOT NULL DEFAULT '',
`display` ENUM('grid','tabs') NOT NULL DEFAULT 'grid' COMMENT 'grid=普通网格 tabs=合集标签页',
+2 -2
View File
@@ -21,7 +21,7 @@ final class View
$tplFile = $file;
$pageKey = $page ?: $tpl;
$pageTitle = $data['title'] ?? '家书';
$pageTitle = $data['title'] ?? '岁月家';
$extraHead = $data['extraHead'] ?? '';
extract($data, EXTR_SKIP);
@@ -67,7 +67,7 @@ final class View
throw new \RuntimeException('模板不存在:' . $tpl);
}
$tplFile = $file;
$pageTitle = $data['title'] ?? '家书';
$pageTitle = $data['title'] ?? '岁月家';
$extraHead = $data['extraHead'] ?? '';
extract($data, EXTR_SKIP);
require dirname(__DIR__) . '/templates/layout-bare.php';
+1 -1
View File
@@ -47,7 +47,7 @@ if (!defined('ICON_STORE')) {
$configFile = FB_ROOT . '/config.php';
if (!is_file($configFile)) {
http_response_code(500);
echo '<!doctype html><meta charset="utf-8"><title>家书 · 未配置</title>'
echo '<!doctype html><meta charset="utf-8"><title>岁月家 · 未配置</title>'
. '<div style="max-width:520px;margin:12vh auto;padding:28px 32px;'
. 'background:#fff;border:1px solid rgba(47,36,30,.1);border-radius:16px;'
. 'font:15px/1.8 -apple-system,\'PingFang SC\',\'Microsoft YaHei\',sans-serif;color:#2F241E">'
+2 -2
View File
@@ -1,7 +1,7 @@
<div class="auth-wrap">
<div class="auth-card">
<img class="logo" src="<?= e(asset('/assets/icons/icon-192.png')) ?>" alt="">
<h1>安装「家书」</h1>
<h1>安装「岁月家」</h1>
<p class="lead">先建好你的家庭空间,再给家里人开通知。填完这一步就能用了。</p>
<?php if (!empty($errors['_'])): ?>
@@ -15,7 +15,7 @@
<label for="family_name">家庭名称</label>
<input class="input" id="family_name" name="family_name"
value="<?= e(old('family_name', '我们家')) ?>" placeholder="比如:我们家" required>
<span class="tip">只存档用 —— 页面上显示的是「某某某的家书」,不会再展示这个名称。</span>
<span class="tip">只存档用 —— 页面上显示的是「某某某的家庭岁月」,不会再展示这个名称。</span>
</div>
<div class="field full">
<label for="motto">系统 slogan</label>
+1 -1
View File
@@ -14,7 +14,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?= e($pageTitle) ?> · 家书</title>
<title><?= e($pageTitle) ?> · 岁月家</title>
<link rel="icon" href="/favicon.ico">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
+2 -2
View File
@@ -43,7 +43,7 @@ $isLoggedIn = \App\Auth::check();
document.documentElement.className.replace('no-js', 'js');</script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?= e($pageTitle) ?> · 家书</title>
<title><?= e($pageTitle) ?> · 岁月家</title>
<link rel="icon" href="/favicon.ico">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<link rel="manifest" href="/site.webmanifest">
@@ -143,7 +143,7 @@ if ($_needAddr): ?>
<div class="topbar-inner">
<a class="brand" href="<?= e(url('home')) ?>">
<img src="<?= e(asset('/assets/icons/icon-96.png')) ?>" alt="">
<span>家书</span>
<span>岁月家</span>
</a>
<nav class="nav">
<?php foreach ($navItems as $key => list($label, $route)): ?>
+1 -1
View File
@@ -3,7 +3,7 @@
<div class="auth-head">
<img class="logo" src="<?= e(asset('/assets/icons/icon-192.png')) ?>" alt="">
<h1><?= e($familyName) ?></h1>
<p class="lead">用手机号登录你的家书</p>
<p class="lead">用手机号登录你的岁月家</p>
</div>
<?php if (!empty($error)): ?>
+1 -1
View File
@@ -366,7 +366,7 @@ $renderGrid = function (array $list) use ($meId, $canMove): void {
<b>你的姓名或手机号</b> + <b>DAV 口令</b>,就能把<b>这份名册</b>同步过去。
<br>同步的就是你在这一页看到的这些人(<b><?= (int)$total ?></b> 个)——
谁加进你的名册、谁就会出现在手机通讯录里。
<br>目前是<b>只读</b>同步:在手机上改的联系人<b>不会</b>写回家书,要改请回到本站来改。
<br>目前是<b>只读</b>同步:在手机上改的联系人<b>不会</b>写回岁月家,要改请回到本站来改。
</p>
<div class="field">
<label>通讯录地址</label>
+1 -1
View File
@@ -564,7 +564,7 @@ $shortKind = \App\Birthday::KINDS;
<?php if (empty($p['account_id'])): ?>
<p class="small muted" style="margin:0 0 14px">
开通后,<?= e($p['name']) ?> 就能用手机号和密码登录家书了。
开通后,<?= e($p['name']) ?> 就能用手机号和密码登录岁月家了。
</p>
<form method="post" action="<?= e(url('accounts/create')) ?>" class="form-grid">
<?= csrf_field() ?>
+1 -1
View File
@@ -66,7 +66,7 @@ $rosterCount = $rosterCount ?? 0;
<b>我的日历本</b>和<b>我的名册</b>同步过去。
<br><b>口令和登录密码是分开的</b> —— 第三方客户端会把凭据长期存在设备上并反复自动发送,
用登录密码等于把主密码复制到每一台设备;所以这里单独发一个,随时可换、不影响登录。
<br>目前是<b>只读</b>同步:在手机上改日程 / 加联系人<b>不会</b>写回家书,
<br>目前是<b>只读</b>同步:在手机上改日程 / 加联系人<b>不会</b>写回岁月家,
要改请回到本站来改。
</p>