309598bfa6
- 在ApiClient中新增submitFeedback、myFeedback、helpArticles、helpArticleDetail、 siteArticles、promotions、vipPackages、createVipOrder、vipOrders等方法 - 添加帮助文章和站点资讯的参数验证逻辑 - 更新测试文件添加新的API方法测试用例 - 在HTML页面中添加反馈、帮助和VIP服务相关页面的脚本引用 - 更新加入家谱页面为完整的申请流程界面 - 修改资讯详情页面为站点资讯展示页面 - 更新AxiosRequestUtil中认证处理逻辑 - 添加世系树渲染的HTML生成函数用于页面复用 - 更新文档中的API契约说明和页面规划
62 lines
2.7 KiB
HTML
62 lines
2.7 KiB
HTML
<!doctype html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>加入家谱 - 代代相传</title>
|
|
<link rel="stylesheet" href="public/css/public.css" />
|
|
<link rel="stylesheet" href="public/css/join-genealogy.css" />
|
|
</head>
|
|
<body class="page-join-genealogy" data-join-apply-page>
|
|
<main class="auth-layout">
|
|
<a class="brand auth-page-brand" href="index.html"
|
|
><img class="brand-logo" src="public/images/logo.png" alt="我们的家谱,代代相传" /></a
|
|
>
|
|
<section
|
|
class="card form-card auth-card join-card"
|
|
aria-labelledby="join-title"
|
|
>
|
|
<div class="eyebrow">Join Family</div>
|
|
<h1 id="join-title">加入家谱</h1>
|
|
<p class="lead">搜索并选择要加入的家谱,再补充申请资料。家谱编号由系统自动处理。</p>
|
|
<form class="form-grid" data-join-genealogy-search>
|
|
<label class="field">
|
|
<span>搜索家谱</span>
|
|
<input name="keyword" type="search" maxlength="50" placeholder="输入谱名或姓氏" />
|
|
</label>
|
|
<button class="btn ghost" type="submit">搜索</button>
|
|
</form>
|
|
<div class="module-list" data-join-genealogy-options></div>
|
|
<p class="form-note" data-join-selected-genealogy>尚未选择家谱</p>
|
|
<form class="form-grid" data-join-apply-form>
|
|
<label class="field">
|
|
<span>申请人姓名(选填)</span>
|
|
<input name="applicantName" maxlength="50" autocomplete="name" />
|
|
</label>
|
|
<label class="field">
|
|
<span>联系电话(选填)</span>
|
|
<input name="phone" maxlength="30" autocomplete="tel" />
|
|
</label>
|
|
<label class="field">
|
|
<span>与家谱关系(选填)</span>
|
|
<input name="relationDesc" maxlength="100" placeholder="例如:族亲" />
|
|
</label>
|
|
<label class="field">
|
|
<span>申请理由(选填)</span>
|
|
<textarea name="applyReason" maxlength="500" rows="4"></textarea>
|
|
</label>
|
|
<p class="form-note" aria-live="polite" data-join-apply-status></p>
|
|
<button class="btn primary" type="submit" data-join-apply-submit>提交申请</button>
|
|
<a class="btn ghost" href="profile-join-family.html">查看我的申请</a>
|
|
</form>
|
|
</section>
|
|
</main>
|
|
<script src="config.js"></script>
|
|
<script src="utils/StorageUtil.js"></script>
|
|
<script src="utils/axios.js"></script>
|
|
<script src="utils/AxiosRequestUtil.js"></script>
|
|
<script src="utils/ApiClient.js"></script>
|
|
<script src="public/js/join-pages.js"></script>
|
|
</body>
|
|
</html>
|