现在有的接口对接测试完成
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
(function (root, factory) {
|
||||
if (typeof module === 'object' && module.exports) {
|
||||
module.exports = factory(root);
|
||||
return;
|
||||
}
|
||||
|
||||
root.GenealogyEntryPages = factory(root);
|
||||
if (root.document) {
|
||||
root.document.addEventListener('DOMContentLoaded', function () {
|
||||
root.GenealogyEntryPages.init();
|
||||
});
|
||||
}
|
||||
})(typeof globalThis !== 'undefined' ? globalThis : window, function (root) {
|
||||
'use strict';
|
||||
|
||||
var TARGET_LABELS = {
|
||||
'profile-family-home.html': '家谱主页',
|
||||
'profile-feed.html': '家族圈动态',
|
||||
'profile-growth.html': '成长记录',
|
||||
'profile-relative.html': '亲友往来',
|
||||
'profile-memo.html': '备忘录',
|
||||
'profile-tree.html': '世系图',
|
||||
'profile-generation.html': '字辈谱'
|
||||
};
|
||||
|
||||
function getTargetPage(search) {
|
||||
var params = new URLSearchParams(String(search === undefined && root.location ? root.location.search : search || '').replace(/^\?/, ''));
|
||||
var target = params.get('next') || '';
|
||||
|
||||
return /^profile-[a-z-]+\.html$/.test(target) ? target : 'profile-family-home.html';
|
||||
}
|
||||
|
||||
function buildStatus(quota, target) {
|
||||
var source = quota || {};
|
||||
var details = [];
|
||||
var label = TARGET_LABELS[target] || '该家谱业务';
|
||||
|
||||
if (Number(source.createRemaining) >= 0) details.push('还可创建 ' + source.createRemaining + ' 部');
|
||||
if (Number(source.joinRemaining) >= 0) details.push('还可加入 ' + source.joinRemaining + ' 部');
|
||||
return '当前 PC 接口尚未提供“我的家谱”列表或家谱详情,不能伪造家谱编号进入“' + label + '”。' +
|
||||
(details.length ? ' 已读取额度:' + details.join(',') + '。' : '');
|
||||
}
|
||||
|
||||
async function init() {
|
||||
var status = root.document && root.document.querySelector('[data-genealogy-entry-status]');
|
||||
var api = root.GenealogyApi && root.GenealogyApi.defaultClient;
|
||||
var target = getTargetPage();
|
||||
|
||||
if (!status) return;
|
||||
if (!api || !api.genealogyQuota) {
|
||||
status.textContent = '家谱入口接口初始化失败,请刷新后重试。';
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
status.textContent = buildStatus(await api.genealogyQuota(), target);
|
||||
} catch (error) {
|
||||
status.textContent = '无法读取家谱额度,请稍后重试。当前 PC 接口仍未提供家谱列表或详情,不能伪造家谱编号。';
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
getTargetPage: getTargetPage,
|
||||
buildStatus: buildStatus,
|
||||
init: init
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user