导入 AKSRT 主题开发源码

This commit is contained in:
Claude Code committed 2026-07-03 22:50:34 +08:00
1 parent 9681dd3d48
commit 1268a55dd0
595 files changed
+127705

No files matched your search

@@ -0,0 +1,68 @@
export const auditSchema = {
key: 'extensions.audit',
title: 'API内容审核',
icon: 'fas fa-shield-virus',
description: '配置第三方内容审核 API 接入、审核范围和失败回退策略。',
defaults: {
content_audit_enabled: false,
content_audit_provider: 'baidu',
content_audit_api_key: '',
content_audit_api_secret: '',
content_audit_text_enabled: true,
content_audit_image_enabled: false,
content_audit_on_failure: 'allow',
content_audit_log_enabled: true,
},
groups: [
{
key: 'provider',
title: '审核接口',
icon: 'fas fa-plug',
fields: [
{ key: 'content_audit_enabled', label: '启用内容审核', type: 'switch', default: false, help: '开启后将对接第三方内容审核 API' },
{
key: 'content_audit_provider',
label: '审核服务商',
type: 'radio',
default: 'baidu',
options: [
{ label: '百度内容审核', value: 'baidu' },
{ label: '关闭审核接口', value: 'null' },
],
dependsOn: { key: 'content_audit_enabled', value: true },
},
{ key: 'content_audit_api_key', label: 'API Key', type: 'input', default: '', dependsOn: { key: 'content_audit_enabled', value: true }, help: '百度智能云 API Key' },
{ key: 'content_audit_api_secret', label: 'Secret Key', type: 'input', default: '', dependsOn: { key: 'content_audit_enabled', value: true }, help: '百度智能云 Secret Key' },
],
},
{
key: 'scope',
title: '审核范围',
icon: 'fas fa-check-double',
fields: [
{ key: 'content_audit_text_enabled', label: '文本审核', type: 'switch', default: true, dependsOn: { key: 'content_audit_enabled', value: true } },
{ key: 'content_audit_image_enabled', label: '图片审核', type: 'switch', default: false, dependsOn: { key: 'content_audit_enabled', value: true } },
{ key: 'audit_bbs_term', label: '审核论坛分类', type: 'switch', default: false, dependsOn: { key: 'content_audit_enabled', value: true } },
],
},
{
key: 'fallback',
title: '失败策略',
icon: 'fas fa-exclamation-triangle',
fields: [
{
key: 'content_audit_on_failure',
label: '审核失败时',
type: 'radio',
default: 'allow',
options: [
{ label: '放行', value: 'allow' },
{ label: '拦截', value: 'block' },
],
dependsOn: { key: 'content_audit_enabled', value: true },
},
{ key: 'content_audit_log_enabled', label: '记录审核日志', type: 'switch', default: true, dependsOn: { key: 'content_audit_enabled', value: true } },
],
},
],
}
@@ -0,0 +1,125 @@
export const docsModeSchema = {
key: 'extensions.docs-mode',
title: '文档模式',
icon: 'fas fa-book-open',
description: '启用文档专题内容模式,配置文档导航页面和文档站式体验。',
defaults: {
docs_mode_enabled: false,
docs_mode_default_template: 'documentnav',
docs_mode_toc_enabled: true,
docs_mode_chapter_nav_enabled: true,
docs_mode_default_order: 'menu_order',
docs_mode_cats: [],
docs_mode_exclude: true,
docs_mode_toc_depth: 3,
docs_mode_chapter_title: '',
docs_mode_style: 'default',
docs_mode_icon: true,
docs_mode_count: true,
},
groups: [
{
key: 'basic',
title: '基础配置',
icon: 'fas fa-cog',
fields: [
{ key: 'docs_mode_enabled', label: '启用文档模式', type: 'switch', default: false, help: '开启后将激活文档导航页面模板和文档站式侧边栏' },
{
key: 'docs_mode_default_template',
label: '文档首页模板',
type: 'select',
default: 'documentnav',
options: [
{ label: '文档导航页', value: 'documentnav' },
{ label: '专题聚合页', value: 'special' },
],
dependsOn: { key: 'docs_mode_enabled', value: true },
},
],
},
{
key: 'navigation',
title: '导航设置',
icon: 'fas fa-compass',
fields: [
{ key: 'docs_mode_toc_enabled', label: '显示目录树', type: 'switch', default: true, dependsOn: { key: 'docs_mode_enabled', value: true }, help: '在文档页面侧边栏显示章节目录树' },
{ key: 'docs_mode_chapter_nav_enabled', label: '显示章节导航', type: 'switch', default: true, dependsOn: { key: 'docs_mode_enabled', value: true }, help: '在文档底部显示上一章/下一章导航' },
{
key: 'docs_mode_default_order',
label: '默认排序',
type: 'radio',
default: 'menu_order',
options: [
{ label: '按菜单顺序', value: 'menu_order' },
{ label: '按发布时间', value: 'date' },
{ label: '按标题排序', value: 'title' },
],
dependsOn: { key: 'docs_mode_enabled', value: true },
},
{
key: 'docs_mode_toc_depth',
label: '目录深度',
type: 'number',
default: 3,
min: 1,
max: 6,
dependsOn: { key: 'docs_mode_enabled', value: true },
},
{
key: 'docs_mode_chapter_title',
label: '章节标题',
type: 'input',
default: '',
dependsOn: { key: 'docs_mode_enabled', value: true },
},
],
},
{
key: 'filter',
title: '筛选设置',
icon: 'fas fa-filter',
fields: [
{
key: 'docs_mode_cats',
label: '文档分类',
type: 'taxonomy_select',
taxonomy: 'category',
multiple: true,
clearable: true,
default: [],
placeholder: '选择用于文档模式的分类',
dependsOn: { key: 'docs_mode_enabled', value: true },
},
{
key: 'docs_mode_exclude',
label: '在首页排除此类内容',
type: 'switch',
default: true,
dependsOn: { key: 'docs_mode_enabled', value: true },
help: '开启后,所选文档分类的内容不会出现在首页常规文章流中。',
},
],
},
{
key: 'style',
title: '样式设置',
icon: 'fas fa-palette',
fields: [
{
key: 'docs_mode_style',
label: '文档样式',
type: 'select',
default: 'default',
options: [
{ label: '默认', value: 'default' },
{ label: '简洁', value: 'simple' },
{ label: '卡片', value: 'card' },
],
dependsOn: { key: 'docs_mode_enabled', value: true },
},
{ key: 'docs_mode_icon', label: '显示图标', type: 'switch', default: true, dependsOn: { key: 'docs_mode_enabled', value: true } },
{ key: 'docs_mode_count', label: '显示文章数', type: 'switch', default: true, dependsOn: { key: 'docs_mode_enabled', value: true } },
],
},
],
}
@@ -0,0 +1,16 @@
/**
* Extensions & Enhancements domain schemas.
* Each key corresponds to a sub-page under the "扩展&增强" section.
*/
import { ipSchema } from './ip.js'
import { auditSchema } from './audit.js'
import { pushSchema } from './push.js'
import { docsModeSchema } from './docs-mode.js'
export const extensionsSchemas = {
ip: ipSchema,
audit: auditSchema,
push: pushSchema,
'docs-mode': docsModeSchema,
}
@@ -0,0 +1,86 @@
export const ipSchema = {
key: 'extensions.ip',
title: 'IP归属地',
icon: 'fas fa-map-marker-alt',
description: '配置 IP 数据源、缓存策略和前台归属地展示。',
defaults: {
ip_geo_enabled: false,
ip_addr_sdk: 'null',
ip_geo_cache_ttl: 86400,
ip_geo_display: ['comment'],
ip_geo_format: 'province_city',
ip_geo_fallback_text: '',
ip_addr_sdk_qq_appkey: '',
ip_addr_sdk_qq_secretkey: '',
ip_addr_sdk_amap_appkey: '',
ip_addr_sdk_amap_secretkey: '',
},
groups: [
{
key: 'basic',
title: '基础配置',
icon: 'fas fa-globe',
fields: [
{ key: 'ip_geo_enabled', label: '启用 IP 归属地', type: 'switch', default: false, help: '开启后将在评论、用户主页等位置显示 IP 归属地信息' },
{
key: 'ip_addr_sdk',
label: 'IP 接口服务商',
type: 'radio',
default: 'null',
options: [
{ label: '轮流查询', value: 'polling' },
{ label: '腾讯位置服务', value: 'qq' },
{ label: '高德位置服务', value: 'amap' },
{ label: '太平洋公共接口', value: 'null' },
],
dependsOn: { key: 'ip_geo_enabled', value: true },
help: '优先使用国内接口,轮流查询会按腾讯→高德→公共接口顺序回退。',
},
{ key: 'ip_geo_cache_ttl', label: '缓存时间 (秒)', type: 'number', default: 86400, min: 3600, max: 604800, dependsOn: { key: 'ip_geo_enabled', value: true }, help: 'IP 查询结果缓存时长,避免频繁请求外部接口' },
],
},
{
key: 'providers',
title: '接口凭据',
icon: 'fas fa-key',
fields: [
{ key: 'ip_addr_sdk_qq_appkey', label: '腾讯 AppKey', type: 'input', default: '', dependsOn: { key: 'ip_addr_sdk', value: 'qq' } },
{ key: 'ip_addr_sdk_qq_secretkey', label: '腾讯 SecretKey', type: 'input', default: '', dependsOn: { key: 'ip_addr_sdk', value: 'qq' } },
{ key: 'ip_addr_sdk_amap_appkey', label: '高德 AppKey', type: 'input', default: '', dependsOn: { key: 'ip_addr_sdk', value: 'amap' } },
{ key: 'ip_addr_sdk_amap_secretkey', label: '高德 SecretKey', type: 'input', default: '', dependsOn: { key: 'ip_addr_sdk', value: 'amap' } },
],
},
{
key: 'display',
title: '展示设置',
icon: 'fas fa-eye',
fields: [
{
key: 'ip_geo_display',
label: '展示位置',
type: 'checkbox',
default: ['comment'],
options: [
{ label: '评论区', value: 'comment' },
{ label: '用户主页', value: 'user_home' },
{ label: '文章页', value: 'post' },
],
dependsOn: { key: 'ip_geo_enabled', value: true },
},
{
key: 'ip_geo_format',
label: '显示格式',
type: 'radio',
default: 'province_city',
options: [
{ label: '省份+城市', value: 'province_city' },
{ label: '仅省份', value: 'province' },
{ label: '国家+省份', value: 'country_province' },
],
dependsOn: { key: 'ip_geo_enabled', value: true },
},
{ key: 'ip_geo_fallback_text', label: '查询失败时文案', type: 'input', default: '', placeholder: '留空则不显示', dependsOn: { key: 'ip_geo_enabled', value: true } },
],
},
],
}
@@ -0,0 +1,64 @@
export const pushSchema = {
key: 'extensions.push',
title: '百度推送',
icon: 'fas fa-paper-plane',
description: '配置搜索引擎主动推送、批量提交和状态追踪。',
defaults: {
baidu_push_enabled: false,
baidu_push_token: '',
baidu_push_auto: true,
baidu_push_on_publish: true,
baidu_push_on_update: false,
baidu_push_batch_size: 50,
baidu_push_log_enabled: true,
xzh_on: false,
xzh_appid: '',
xzh_render_tail: true,
xzh_jsonld_single: true,
xzh_jsonld_page: false,
xzh_jsonld_img: false,
},
groups: [
{
key: 'basic',
title: '推送配置',
icon: 'fas fa-rocket',
fields: [
{ key: 'baidu_push_enabled', label: '启用百度推送', type: 'switch', default: false, help: '开启后将自动向百度搜索推送页面链接' },
{ key: 'baidu_push_token', label: '推送 Token', type: 'input', default: '', dependsOn: { key: 'baidu_push_enabled', value: true }, help: '在百度搜索资源平台获取的推送准入 Token' },
],
},
{
key: 'trigger',
title: '触发规则',
icon: 'fas fa-bolt',
fields: [
{ key: 'baidu_push_auto', label: '自动推送 (页面加载时)', type: 'switch', default: true, dependsOn: { key: 'baidu_push_enabled', value: true }, help: '在前台页面中嵌入百度自动推送 JS 代码' },
{ key: 'baidu_push_on_publish', label: '发布时主动推送', type: 'switch', default: true, dependsOn: { key: 'baidu_push_enabled', value: true } },
{ key: 'baidu_push_on_update', label: '更新时推送', type: 'switch', default: false, dependsOn: { key: 'baidu_push_enabled', value: true } },
],
},
{
key: 'xzh',
title: '熊掌号 / JSON-LD',
icon: 'fas fa-paw',
fields: [
{ key: 'xzh_on', label: '启用熊掌号', type: 'switch', default: false },
{ key: 'xzh_appid', label: '百度 AppID', type: 'input', default: '', dependsOn: { key: 'xzh_on', value: true } },
{ key: 'xzh_render_tail', label: '文章底部显示熊掌号尾部', type: 'switch', default: true, dependsOn: { key: 'xzh_on', value: true } },
{ key: 'xzh_jsonld_single', label: '文章页 JSON-LD', type: 'switch', default: true, dependsOn: { key: 'xzh_on', value: true } },
{ key: 'xzh_jsonld_page', label: '页面 JSON-LD', type: 'switch', default: false, dependsOn: { key: 'xzh_on', value: true } },
{ key: 'xzh_jsonld_img', label: '不添加图片', type: 'switch', default: false, dependsOn: { key: 'xzh_on', value: true } },
],
},
{
key: 'advanced',
title: '高级设置',
icon: 'fas fa-cog',
fields: [
{ key: 'baidu_push_batch_size', label: '批量推送条数', type: 'number', default: 50, min: 1, max: 500, dependsOn: { key: 'baidu_push_enabled', value: true } },
{ key: 'baidu_push_log_enabled', label: '记录推送日志', type: 'switch', default: true, dependsOn: { key: 'baidu_push_enabled', value: true } },
],
},
],
}