在 xiyuetaCMS 打造“一言”功能的完整指南
摘要:本文介绍如何在 xiyuetaCMS 中启用和运营内置的“一言”模块,包括数据导入、后台管理、前台调用以及常见问题排查,帮助你快速搭建可维护的金句内容池。
xiyuetaCMS 自带的 “一言” 模块集成了 hitokoto-osc 开源句子库,结合后台的批量管理、导入导出和 API 能力,可以快速为官网、活动页、移动端等渠道提供日更文案或随机金句。本文基于 admin/app/test_yiyan/list.asp 的最新实现。
功能亮点
- 多源数据:后台默认接入
https://cdn.jsdelivr.net/gh/hitokoto-osc/sentences-bundle@latest/,涵盖动画、游戏、原创等 12 类句子。 - 类型映射已内置:
stypet-动画_a-漫画_b-…-抖机灵_l,后台列表直接显示中文分类,便于筛选。 - 一键批量导入:置入 JSON 后自动执行
addYiYan(),支持上千条数据秒级入库。 - 灵活检索:关键词模糊搜索、时间范围筛选、分页/排序、移动端适配
checkMobile()。 - 数据安全:权限校验(
checkAdminRule)、可选操作口令、系统日志留痕。 - 配套能力:批量删除/复制、导入导出(
exportData.handleDaoChuData)、下载本地 JSON(downYiYanJson)、快速开关isOnOff。
安装与启动
- 部署 xiyuetaCMS
将源码放入 IIS/ASP 运行环境,确认inc/Config.asp中数据库连接等信息已经配置。 - 初始化“一言”表
默认表名为[db_PREFIX]yiyan,字段包含stype / hitokoto / creator / sfrom / uuid / isthrough / createtime等。若是新站点,可通过后台的 “导入一言 JSON” 按钮完成初始化。 - 进入后台页面
访问admin/app/test_yiyan/list.asp?act=list,系统会根据账号权限判断是否允许查看列表。
数据批量导入(推荐)
- 准备数据
官方句子包支持 CDN 直链,也可以自建 JSON,结构需包含type、creator、hitokoto、from、uuid。 - 上传方式
- 在后台点击 “导入导出” → “导入 JSON”。
- 或在调试模式下,将 JSON 串赋值给
printJson(str),系统会循环调用addYiYan()入库。

- 分类匹配
type字段会被转换为stypet中的中文枚举,确保前端展示统一。 - 导入完成
列表实时刷新,可通过searchType=hitokoto或默认搜索验证。


管理与运营技巧
- 审核开关:
isthrough字段控制前台是否展示,批量操作时可直接在表格中切换。 - 时间筛选:在列表顶部输入
date_min / date_max,系统会自动拼接到 SQL,便于统计某个时间段的热门文案。 - 导出备份:点击 “导出” 获取 Excel/JSON,借助
handleDaoChuData()完成格式转换。 - 复制生成模板:选中句子后执行 “复制行”,可批量生成节日主题或专题活动素材。
- 下载 JSON 供二次分发:调用
act=downYiYanJson&version=xxx,即可在 CDN、桌面端等场景复用。
在前台调用“一言”
- 接口示例
后台对应的 API 入口通常位于list.asp?act=list&limit=1&isthrough=1,可按照自己的需求增加参数(如类型、关键字)。 - 页面嵌入(伪代码)
<div id="yy-text"></div>
<script>
fetch('/admin/app/test_yiyan/list.asp?act=list&limit=1')
.then(resp => resp.json())
.then(res => {
if (res.data && res.data.length) {
document.getElementById('yy-text').innerText = res.data[0].hitokoto;
}
});
</script>
- 定时轮播
可结合前端setInterval或后端缓存策略,实现每次刷新随机句子、每小时更换等玩法。

常见问题
- 权限不足:出现 “没有【一言列表】权限” 提示时,确认当前管理员是否在
excludeAdminIDList中,或让超级管理员勾选对应权限。 - SQL 报错:
getHandleRs()已内置异常捕获,若返回sql=...错误=...,请先复制 SQL 在数据库中执行排查。 - 导入失败:确保 JSON 字段不为
null,若确需为空可让逻辑填充默认值;并检查数据库字段长度是否足够。 - 移动端展示错位:
isMobile判断可根据需要改进,或在模板层做响应式处理。
写在最后
通过内置的一言模块,xiyuetaCMS 可以在保留后台权限与审计的同时,快速为产品植入“每日金句”“弹幕文案”“社交分享语”等功能。无论是需要稳定输出的企业官网,还是强调玩法的活动页面,都能用上面步骤快速打通:导入句子 → 后台筛选 → 前台 API 调用。如果你也需要一个轻量而可控的文案池,不妨立刻开启“一言”功能。
作者信息
如果您对本文或 xiyuetaCMS 有任何疑问或建议,欢迎联系作者:
邮箱:313801120@qq.com
CSDN 博客:https://blog.csdn.net/mydd3
感谢您的阅读与支持!

3621

被折叠的 条评论
为什么被折叠?



