MiraResearch 是一个面向研究生和科研工作者的开源科研辅助工具集,提供微信小程序、静态 Web 页面和 Electron 桌面封装。
核心功能包括:
- DOI、标题、BibTeX 与 RIS 输入;
- GB/T 7714-2015、APA、MLA、IEEE、Chicago、Vancouver 等引用格式;
- 可替换数据源的期刊与会议信息查询;
- 收藏、历史、分享与微信云开发数据同步;
- 期刊/会议数据清洗、导入和回归检查工具。
本公开仓库只含虚构演示记录,不分发 JCR、EI 等商业数据库导出、第三方期刊封面、生产 AppID、CloudBase 环境 ID或用户数据。详见 DATA_POLICY.md。
miniprogram/ 微信小程序前端
cloudfunctions/ 微信云开发函数
web/ 独立静态 Web 版本
desktop/ Electron 桌面封装
scripts/ 数据转换、校验与维护工具
docs/ 架构与实现说明
引用渲染基于 Citation.js / citeproc-js 和 CSL 样式;第三方许可证说明见 THIRD_PARTY_NOTICES.md。
- 克隆仓库,并用微信开发者工具导入根目录。
- 在
project.config.json填入自己的 AppID。 - 在
miniprogram/envList.js填入自己的 CloudBase 环境 ID。 - 在
cloudfunctions/citationEngine/config.js配置自己的 Crossrefmailto邮箱。 - 创建
journals、conferences、favorites和history集合。 - 上传并部署
citationEngine、journalQuery和userData云函数。
不要提交上述本地配置中的真实生产标识。公开部署前请结合自己的账号体系调整配置管理方式。
cd web
npm start仓库自带两条虚构期刊记录,用于验证界面。若你拥有合法数据,可先生成 scripts/out/journals.import.json,再执行:
cd web
npm run sync:data该命令写入被 Git 忽略的 web/data/journals.local.js;web/index.html 会在演示数据之后加载它。
cd desktop
npm ci
npm start构建 Windows 安装包:
npm run dist:win使用 scripts/import-journals.js 将你有权使用的 CSV 转换为 CloudBase JSONL:
node scripts/import-journals.js path\to\authorized-journals.csv输出位于 scripts/out/,默认不会进入 Git。请勿提交商业数据库导出或无权再分发的图片。
常用检查:
node --check web/app.js
node --check cloudfunctions/citationEngine/index.js
node scripts/fetch-journal-covers-batch.test.js
node scripts/journal-identifier-regression.test.js
node scripts/journal-page-conference.test.js云函数测试与引用引擎冒烟测试需要先安装各自锁定的依赖:
cd cloudfunctions/journalQuery
npm ci
node search-logic.test.js
cd cloudfunctions/citationEngine
npm ci
node smoke-test.jsconference-catalog.test.js、conference-series.test.js 和 merge-conference-supplement.test.js 是数据产物验证器,必须按脚本报出的用法传入本地数据目录;公开仓库不附带这些授权数据。
静态检查不等同于微信开发者工具预览、平台构建或真机测试;发布前请分别完成这些验证。
- 贡献说明:CONTRIBUTING.md
- 安全报告:SECURITY.md
- 数据规则:DATA_POLICY.md
- 第三方声明:THIRD_PARTY_NOTICES.md
项目自有代码采用 MIT License。第三方 CSL 样式等材料适用其各自许可证。