Skip to content

动态页面

介绍如何用 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 覆盖同名字段。

namepackageNameversionCodeversionNameicon 可写在入口文件(打包用)。页面请求在 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
12require把公共 JS 拆出去
13页面跳转页面栈:navigate / redirect / switchTab / back