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