Appearance
DJAOD 主题开发文档
本文档库面向 DJAOD 平台的主题开发者,提供完整的技术参考,涵盖模板语法、控制器架构、可视化装修、交互约定、接口协议等全部环节。
快速导航
首页必读
| 文档 | 内容 |
|---|---|
| 系统架构总览 | 三层架构、请求数据流、最小主题示例 |
| 路由与模板变量映射 | ⭐ 每个 URL → 控制器 → 模板文件 → 注入变量 的完整速查表 |
| 模板目录结构 | 目录布局、页面路由约定、核心文件职责 |
模板开发
| 文档 | 内容 |
|---|---|
| EJS 模板语法参考 | 全部 EJS 标签、内置变量、model()/config()/url()/cdnurl()/include() 等函数的参数与示例 |
| 可视化装修系统 | design.json、config.js、DynamicPage.js、formBuilder 表单、侧边栏配置 |
后端开发
| 文档 | 内容 |
|---|---|
| 控制器架构 | Base 基类方法全解、请求生命周期、鉴权机制、新增控制器示例 |
前端交互
| 文档 | 内容 |
|---|---|
| 交互约定 | pageName 机制、data-link="ajax" 内置导航、AOD 全局对象、弹窗接口约定 |
| API 接口参考 | 全部 AJAX 接口的请求参数与响应格式 |
| 播放器对接 | WASM 加密音频接口对接指南 |
主题开发三步走
第一步:创建最小主题
参见 架构总览 - 快速上手,创建 info.json + 基础模板。
第二步:编写模板
第三步:添加交互
在模板中引入 JS,按照 交互约定 的 class 契约和 data 属性规范实现按钮、弹窗、列表加载等行为,调用 API 接口。
技术栈
| 层级 | 技术 |
|---|---|
| 后端框架 | Fastify v5 + AsyncLocalStorage |
| 模板引擎 | EJS(@fastify/view) |
| 数据库 | MongoDB (Mongoose) |
| 缓存 | Redis |
| CSS 框架 | Bulma 1.0.4(可替换) |
| 加密 | crypto-js + WASM + FingerprintJS + 点选验证码 |