feat(api): 添加帮助中心反馈系统和VIP服务功能
- 在ApiClient中新增submitFeedback、myFeedback、helpArticles、helpArticleDetail、 siteArticles、promotions、vipPackages、createVipOrder、vipOrders等方法 - 添加帮助文章和站点资讯的参数验证逻辑 - 更新测试文件添加新的API方法测试用例 - 在HTML页面中添加反馈、帮助和VIP服务相关页面的脚本引用 - 更新加入家谱页面为完整的申请流程界面 - 修改资讯详情页面为站点资讯展示页面 - 更新AxiosRequestUtil中认证处理逻辑 - 添加世系树渲染的HTML生成函数用于页面复用 - 更新文档中的API契约说明和页面规划
This commit is contained in:
@@ -341,16 +341,19 @@
|
||||
'<strong>' + escapeHtml(person.name) + '</strong><span>' + escapeHtml(getPersonSummary(person)) + '</span></button>' + branches + '</li>';
|
||||
}
|
||||
|
||||
function renderTree(data) {
|
||||
var container = query('[data-lineage-tree]');
|
||||
function renderLineageTreeHtml(data) {
|
||||
var nodes = normalizeList(data).map(function (item) { return renderTreeNode(item, {}); }).filter(Boolean);
|
||||
|
||||
if (!container) return;
|
||||
if (!nodes.length) {
|
||||
container.innerHTML = '<div class="api-empty">暂无世系树</div>';
|
||||
return;
|
||||
return '<div class="api-empty">暂无世系树</div>';
|
||||
}
|
||||
container.innerHTML = '<ul class="lineage-tree">' + nodes.join('') + '</ul>';
|
||||
return '<ul class="lineage-tree">' + nodes.join('') + '</ul>';
|
||||
}
|
||||
|
||||
function renderTree(data) {
|
||||
var container = query('[data-lineage-tree]');
|
||||
|
||||
if (container) container.innerHTML = renderLineageTreeHtml(data);
|
||||
}
|
||||
|
||||
function renderOptions(data) {
|
||||
@@ -962,6 +965,7 @@
|
||||
normalizeLineageBinding: normalizeLineageBinding,
|
||||
buildLineagePageQuery: buildLineagePageQuery,
|
||||
normalizeList: normalizeList,
|
||||
renderLineageTreeHtml: renderLineageTreeHtml,
|
||||
relationLabel: relationLabel,
|
||||
shouldRedirectToLogin: shouldRedirectToLogin,
|
||||
isForbidden: isForbidden,
|
||||
|
||||
Reference in New Issue
Block a user