Skip to content

配置

入口文件是项目根目录的 deekeScript.json。有界面时,启动经过 Splash 后进入 homePage。只跑脚本时,这个文件用来识别工程,不必打开任何页面。

必须有入口文件

项目根目录必须有 deekeScript.json,否则无法使用 VSCode 中的 DeekeScript 插件(无法同步代码、无法在 VSCode 上运行 JS)。

最小配置

json
{
  "name": "Deeke",
  "packageName": "cn.deeke.demo",
  "host": "https://example.com",
  "homePage": "pages/home"
}

做界面时有这一份就能进首页。只跑脚本时,这个文件用来识别工程,不必打开 homePage。底栏、全局窗口按需再加。

主体参数

参数名类型必填示例说明
nameStringDeeke安装后在手机上显示的名称
packageNameStringcn.deeke.test包名,打包时请改成自己的,不要用默认值
versionCodeString100版本号,用于判断是否可升级
versionNameString1.0.0版本名称,尽量和 versionCode 对应
iconStringlogo/dke.png图标,建议 200×200
hostStringhttps://example.com接口请求域名
debugBooleantrue默认 true;设为 false 时需要激活码才能使用
apisArray后端接口激活码等接口
homePageStringpages/home入口页面文件夹,加载该目录下的 page.json / page.js
windowObject见下表全局窗口。先应用,再由当前页面覆盖
pagesArray见下表页面别名。跳转也可直接写文件夹
componentsArray见下表自定义组件别名。不写则按 components/<id> 加载
bottomMenusArray见下表底部 Tab。不配或空数组则隐藏底栏
bottomMenusHiddenBooleantrue强制隐藏底栏
floatWindowObject悬浮球项目悬浮窗的展开菜单(点「运行」进入项目后,或打包 App)。开发器那颗球仍是连点两次停止

homePage 写目录,无需再放入 pages。兼容旧写法:页面 id(如 "home")会先在 pages 中查找,未找到则按 pages/home 加载。

先读取 deekeScript.json 里的 window 参数,再读取当前页面的 page.json,同名字段由页面覆盖。

window 参数

全局窗口,作用于所有页面的内容区和系统栏。页面 JSON 里的同名字段优先。

参数名类型必填示例说明
styleObject{ "padding": 16, "background": "#F5F5F5" }内容区样式:padding / margin / background 等。未写 padding 时为 16
titleString / Object页面导航栏默认样式。页面未写 title 时不显示导航栏
statusBarString / Object见下表顶部状态栏
tabBarObjecttabBar底部 Tab 颜色。也可写在入口根上

statusBar 为对象时:

参数名类型说明
backgroundString状态栏背景色。未写时跟随导航栏 title.background
colorString状态栏图标颜色:light(浅色图标)或 dark(深色图标)。未写时按背景明暗推断

statusBar 也可直接写成颜色字符串,如 "#006A65"

pages 参数

参数名类型必填示例说明
idStringstats页面别名,用于跳转和底部菜单
fileStringpages/stats页面目录,也可写成 pages/stats/page.json
titleString数据统计备用标题;page.json 的 title 优先

components 参数

pages 一样按 id 注册,目录里是 component.json + component.js,且 JSON 必须有 "component": true。页面或弹窗里用 "type": "choose" 引用,见 组件结构

参数名类型必填示例说明
idStringchoose组件名,页面里可写 "type": "choose"
fileStringcomponents/choose组件目录,也可写成 components/choose/component.json

bottomMenus 参数

参数名类型必填示例说明
titleString首页,也可用 {NAME}菜单文字
iconStringimg/home.png菜单图标
pageStringpages/home入口文件夹,或 pages 中的 id。未写则回落到 homePage

未配置 bottomMenus(或 [])时隐藏底栏,启动后显示 homePage

tabBar 参数

底栏颜色写在 window.tabBar(也可写在入口根上的 tabBar)。不写则用默认绿/灰。

参数名类型说明
colorString未选中项的文字颜色,默认 #6F7978。未写 iconColor 时图标也用这个
selectedColorString选中项的文字颜色,默认 #006A65。也可用 activeColor。未写 selectedIconColor 时图标也用这个
iconColorString未选中项的图标颜色。不写则跟 color。SVG / 单色图会跟着着色
selectedIconColorString选中项的图标颜色。不写则跟 selectedColor
backgroundString底栏背景,默认 #FFFFFF。也可用 backgroundColor
borderColorString顶部分割线,默认 #EEEEEE
fontSizeNumber文字大小 sp。页面里也可用 this.setTabBarStyle

bottomMenus 每一项还可写:

参数名类型说明
selectedIconString选中态图标。未写则沿用 icon 并按 selectedIconColor(未写则 selectedColor)着色
badgeString / Number初始角标。运行时改数量用 this.setTabBarItem

整栏或某一项要在页面里改(文字、图标色、角标、隐藏、背景),见 底部菜单

floatWindow 参数

项目悬浮窗点开后展开的图标(开发器那颗球不会读这份配置)。不写 menus 时,脚本运行中点球仍会展开「停止」。字段和 FloatWindow 方法见 悬浮球

json
{
  "floatWindow": {
    "menus": [
      { "id": "stop", "icon": "close", "label": "停止", "action": "stop", "show": "running" },
      { "id": "skip", "icon": "img/skip.png", "label": "跳过", "onTap": "onSkip", "show": "running" }
    ]
  }
}

完整示例

json
{
  "name": "Deeke",
  "packageName": "cn.deeke.demo",
  "versionCode": "100",
  "versionName": "1.0.0",
  "host": "https://example.com",
  "homePage": "pages/home",
  "window": {
    "style": {
      "background": "#F5F5F5",
      "padding": 16
    },
    "title": {
      "fontSize": 18,
      "color": "#FFFFFF",
      "background": "#006A65"
    },
    "statusBar": {
      "background": "#006A65",
      "color": "light"
    },
    "tabBar": {
      "color": "#6F7978",
      "selectedColor": "#006A65",
      "background": "#FFFFFF",
      "borderColor": "#EEEEEE"
    }
  },
  "pages": [
    { "id": "stats", "file": "pages/stats", "title": "统计" },
    { "id": "settings", "file": "pages/settings", "title": "设置" },
    { "id": "detail", "file": "pages/detail", "title": "详情" }
  ],
  "components": [
    { "id": "choose", "file": "components/choose" }
  ],
  "bottomMenus": [
    { "title": "{NAME}", "icon": "img/home.png", "page": "pages/home" },
    { "title": "统计", "icon": "img/statistics.png", "page": "pages/stats", "badge": 3 },
    { "title": "设置", "icon": "img/setting.png", "page": "pages/settings" }
  ],
  "floatWindow": {
    "menus": [
      { "id": "stop", "icon": "close", "label": "停止", "action": "stop", "show": "running" }
    ]
  }
}

写好入口后,给 homePage 对应的目录写 页面结构

AutoJS文档 Released under the ISC License.