动态页面
介绍如何用 JSON 与 page.js 搭建自定义界面。界面用 JSON 描述,用 page.js 填数据、对接接口,因此也适合交给 AI 生成完整工程,见 AI 驱动开发。只跑无障碍脚本、不需要界面,见 快速开始。
建议按侧栏从上往下看:先配置和页面 JSON,再看内置组件和自定义组件,然后是页面生命周期、事件,以及能力(下拉刷新、底部菜单、悬浮球、悬浮窗)。
工程目录
入口是项目根目录的 deekeScript.json。每个页面一个文件夹,里面是 page.json + page.js:
your-project/
deekeScript.json
pages/
home/
page.json
page.js
records/
page.json
page.js
components/
choose/
component.json
component.js
common/
hello.js
tasks/
xxx.js入口文件约定见 认识 Pro。进入页面时先套用 deekeScript.json 里的 window 参数,再用当前目录的 page.json 覆盖同名字段。
name、packageName、versionCode、versionName、icon 可写在入口文件(打包用)。页面请求在 JS 里用 Http.get 写完整 URL。入口与 pages/ 下的 JSON 打包时同样加密。
先看效果
右侧是一个带底栏的完整示例。点「常用功能」里的入口会打开任务设置页,点最近记录会打开详情。
| 你看到的 | 对应写法 |
|---|---|
| 页面长什么样 | 各页的 page.json(可让 AI 生成) |
| 文案、列表数据 | Page({ data }) 和 this.setData |
| 底栏三个入口 | 入口文件的 bottomMenus |
| 点按钮跳转 / 提示 | JSON 的 action(见 页面结构),或 this.navigate / this.toast |
接下来读
| 顺序 | 文档 | 解决什么 |
|---|---|---|
| 1 | 配置 | 入口文件、全局窗口、底栏 |
| 2 | 页面结构 | page.json 字段与 JSON action |
| 3 | 组件 | 按基础 / 表单 / 导航 / 展示 / 反馈 / 布局挑选积木 |
| 4 | 自定义组件 | 文件、JSON、页面 / 弹窗里 type 引用 |
| 5 | 组件生命周期 | created / attached / detached |
| 6 | 父页交互 | triggerEvent / selectComponent |
| 7 | 页面生命周期 | onLoad 何时调用 |
| 8 | 页面事件 | 滚动、点击、this.toast / setTitle |
| 9 | 下拉刷新 | enablePullDownRefresh + onPullDownRefresh |
| 10 | 底部菜单 | setTabBar 创建/恢复,setTabBarItem / setTabBarStyle |
| 11 | 悬浮球 | 项目悬浮球:点球展开停止、跳过等图标 |
| 12 | 悬浮窗 | 系统悬浮层上的 JSON 界面,脚本可 setData |
| 12 | require | 把公共 JS 拆出去 |
| 13 | 页面跳转 | 页面栈:navigate / redirect / switchTab / back |
