{
    "$schema": "http://json-schema.org/draft-04/schema",
    "description": "\u5fae\u4fe1\u5c0f\u7a0b\u5e8f app.json \u7684 schema",
    "type": "object",
    "definitions": {
        "pages": {
            "type": "array",
            "items": {
                "type": "string",
                "description": "\u9875\u9762\u8def\u5f84"
            },
            "_uniqueItems": true,
            "description": "\u6bcf\u4e00\u9879\u90fd\u662f\u5b57\u7b26\u4e32\uff0c\u6765\u6307\u5b9a\u5c0f\u7a0b\u5e8f\u7531\u54ea\u4e9b\u9875\u9762\u7ec4\u6210\uff0c\u6570\u7ec4\u7684\u7b2c\u4e00\u9879\u4ee3\u8868\u5c0f\u7a0b\u5e8f\u9996\u9875"
        }
    },
    "properties": {
        "pages": {
            "$ref": "#/definitions/pages"
        },
        "window": {
            "type": "object",
            "properties": {
                "navigationBarBackgroundColor": {
                    "type": "string",
                    "default": "#000000",
                    "description": "\u5bfc\u822a\u680f\u80cc\u666f\u989c\u8272\uff0cHexColor"
                },
                "navigationBarTextStyle": {
                    "type": "string",
                    "description": "\u5bfc\u822a\u680f\u6807\u9898\u989c\u8272\uff0c\u4ec5\u652f\u6301 black/white",
                    "default": "white",
                    "enum": [
                        "white",
                        "black"
                    ]
                },
                "navigationBarTitleText": {
                    "type": "string",
                    "description": "\u5bfc\u822a\u680f\u6807\u9898\u6587\u5b57\u5185\u5bb9"
                },
                "navigationStyle": {
                    "type": "string",
                    "enum": [
                        "default",
                        "custom"
                    ],
                    "default": "default",
                    "description": "\u5bfc\u822a\u680f\u6837\u5f0f,\u5fae\u4fe1\u5ba2\u6237\u7aef 6.6.0"
                },
                "backgroundColor": {
                    "type": "string",
                    "default": "#ffffff",
                    "description": "\u7a97\u53e3\u7684\u80cc\u666f\u8272\uff0c HexColor"
                },
                "backgroundTextStyle": {
                    "type": "string",
                    "default": "dark",
                    "enum": [
                        "dark",
                        "light"
                    ],
                    "description": "\u4e0b\u62c9\u80cc\u666f\u5b57\u4f53\u3001loading \u56fe\u7684\u6837\u5f0f\uff0c\u4ec5\u652f\u6301 dark/light"
                },
                "backgroundColorTop": {
                    "type": "string",
                    "description": "\u9876\u90e8\u7a97\u53e3\u7684\u80cc\u666f\u8272\uff0c\u4ec5 iOS \u652f\u6301,\u5fae\u4fe1\u5ba2\u6237\u7aef 6.5.16",
                    "default": "#ffffff"
                },
                "backgroundColorBottom": {
                    "type": "string",
                    "description": "\u5e95\u90e8\u7a97\u53e3\u7684\u80cc\u666f\u8272\uff0c\u4ec5 iOS \u652f\u6301\u5fae\u4fe1\u5ba2\u6237\u7aef 6.5.16",
                    "default": "#ffffff"
                },
                "enablePullDownRefresh": {
                    "type": "boolean",
                    "default": false,
                    "description": "\u662f\u5426\u5f00\u542f\u4e0b\u62c9\u5237\u65b0"
                },
                "onReachBottomDistance": {
                    "type": "number",
                    "default": 50,
                    "description": "\u9875\u9762\u4e0a\u62c9\u89e6\u5e95\u4e8b\u4ef6\u89e6\u53d1\u65f6\u8ddd\u9875\u9762\u5e95\u90e8\u8ddd\u79bb\uff0c\u5355\u4f4d\u4e3apx"
                },
                "pageOrientation": {
                    "type": "string",
                    "description": "\u5c4f\u5e55\u65cb\u8f6c\u8bbe\u7f6e,2.4.0 (auto) / 2.5.0 (landscape)",
                    "default": "portrait",
                    "enum": [
                        "auto",
                        "portrait",
                        "landscape"
                    ]
                }
            },
            "description": "\u5168\u5c40\u7684\u9ed8\u8ba4\u7a97\u53e3\u8868\u73b0"
        },
        "tabBar": {
            "type": "object",
            "required": [
                "color",
                "selectedColor",
                "backgroundColor",
                "list"
            ],
            "default": {
                "color": "",
                "selectedColor": "",
                "backgroundColor": "",
                "list": []
            },
            "properties": {
                "color": {
                    "type": "string",
                    "description": "tab \u4e0a\u7684\u6587\u5b57\u9ed8\u8ba4\u989c\u8272"
                },
                "selectedColor": {
                    "type": "string",
                    "description": "tab \u4e0a\u7684\u6587\u5b57\u9009\u4e2d\u65f6\u7684\u989c\u8272"
                },
                "backgroundColor": {
                    "type": "string",
                    "description": "tab \u7684\u80cc\u666f\u8272"
                },
                "borderStyle": {
                    "type": "string",
                    "enum": [
                        "black",
                        "white"
                    ],
                    "default": "black",
                    "description": "tabbar\u4e0a\u8fb9\u6846\u7684\u989c\u8272\uff0c \u4ec5\u652f\u6301 black/white"
                },
                "position": {
                    "type": "string",
                    "default": "bottom",
                    "enum": [
                        "bottom",
                        "top"
                    ],
                    "description": "\u53ef\u9009\u503c bottom\u3001top"
                },
                "list": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "required": [
                            "pagePath",
                            "text"
                        ],
                        "properties": {
                            "pagePath": {
                                "type": "string",
                                "description": "\u9875\u9762\u8def\u5f84\uff0c\u5fc5\u987b\u5728 pages \u4e2d\u5148\u5b9a\u4e49"
                            },
                            "text": {
                                "type": "string",
                                "description": "tab \u4e0a\u6309\u94ae\u6587\u5b57"
                            },
                            "iconPath": {
                                "type": "string",
                                "description": "\u56fe\u7247\u8def\u5f84\uff0cicon \u5927\u5c0f\u9650\u5236\u4e3a40kb\uff0c\u5efa\u8bae\u5c3a\u5bf8\u4e3a 81px * 81px\uff0c\u5f53 postion \u4e3a top \u65f6\uff0c\u6b64\u53c2\u6570\u65e0\u6548\uff0c\u4e0d\u652f\u6301\u7f51\u7edc\u56fe\u7247"
                            },
                            "selectedIconPath": {
                                "type": "string",
                                "description": "\u9009\u4e2d\u65f6\u7684\u56fe\u7247\u8def\u5f84\uff0cicon \u5927\u5c0f\u9650\u5236\u4e3a40kb\uff0c\u5efa\u8bae\u5c3a\u5bf8\u4e3a 81px * 81px \uff0c\u5f53 postion \u4e3a top \u65f6\uff0c\u6b64\u53c2\u6570\u65e0\u6548"
                            }
                        }
                    },
                    "minItems": 2,
                    "maxItems": 5
                }
            },
            "description": "\u5e95\u90e8 tab \u680f\u7684\u8868\u73b0"
        },
        "networkTimeout": {
            "type": "object",
            "properties": {
                "request": {
                    "type": "number",
                    "default": 60000,
                    "description": "wx.request\u7684\u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u6beb\u79d2\uff0c\u9ed8\u8ba4\u4e3a\uff1a60000"
                },
                "connectSocket": {
                    "type": "number",
                    "default": 60000,
                    "description": "wx.connectSocket\u7684\u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u6beb\u79d2\uff0c\u9ed8\u8ba4\u4e3a\uff1a60000"
                },
                "uploadFile": {
                    "type": "number",
                    "default": 60000,
                    "description": "wx.uploadFile\u7684\u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u6beb\u79d2\uff0c\u9ed8\u8ba4\u4e3a\uff1a60000"
                },
                "downloadFile": {
                    "type": "number",
                    "default": 60000,
                    "description": "wx.downloadFile\u7684\u8d85\u65f6\u65f6\u95f4\uff0c\u5355\u4f4d\u6beb\u79d2\uff0c\u9ed8\u8ba4\u4e3a\uff1a60000"
                }
            },
            "description": "\u7f51\u7edc\u8d85\u65f6\u65f6\u95f4"
        },
        "debug": {
            "type": "boolean",
            "description": "\u53ef\u4ee5\u5728\u5f00\u53d1\u8005\u5de5\u5177\u4e2d\u5f00\u542f debug \u6a21\u5f0f\uff0c\u5728\u5f00\u53d1\u8005\u5de5\u5177\u7684\u63a7\u5236\u53f0\u9762\u677f\uff0c\u8c03\u8bd5\u4fe1\u606f\u4ee5 info \u7684\u5f62\u5f0f\u7ed9\u51fa\uff0c\u5176\u4fe1\u606f\u6709Page\u7684\u6ce8\u518c\uff0c\u9875\u9762\u8def\u7531\uff0c\u6570\u636e\u66f4\u65b0\uff0c\u4e8b\u4ef6\u89e6\u53d1 \u3002 \u53ef\u4ee5\u5e2e\u52a9\u5f00\u53d1\u8005\u5feb\u901f\u5b9a\u4f4d\u4e00\u4e9b\u5e38\u89c1\u7684\u95ee\u9898"
        },
        "functionalPages": {
            "type": "boolean",
            "description": "\u662f\u5426\u542f\u7528\u63d2\u4ef6\u529f\u80fd\u9875",
            "default": false
        },
        "subPackages": {
            "type": "array",
            "description": "\u5206\u5305\u52a0\u8f7d",
            "items": {
                "type": "object",
                "properties": {
                    "root": {
                        "type": "string",
                        "description": "\u6307\u5b9a\u5206\u5305\u7684\u540d\u79f0\uff0c\u5bf9\u5e94\u4f1a\u81ea\u52a8\u751f\u6210\u4e00\u4e2a\u6587\u4ef6\u5939"
                    },
                    "pages": {
                        "$ref": "#/definitions/pages"
                    }
                }
            }
        },
        "requiredBackgroundModes": {
            "type": "array",
            "items": {
                "type": "string",
                "description": "\u53f0\u8fd0\u884c\u7684\u80fd\u529b",
                "enum": [
                    "audio"
                ]
            },
            "description": "\u7533\u660e\u9700\u8981\u540e\u53f0\u8fd0\u884c\u7684\u80fd\u529b\uff0c\u7c7b\u578b\u4e3a\u6570\u7ec4",
            "_uniqueItems": true
        },
        "plugins": {
            "type": "object",
            "default": {},
            "description": "\u5f15\u5165\u63d2\u4ef6\u4ee3\u7801\u5305",
            "properties": {}
        },
        "resizable": {
            "type": "boolean",
            "description": "iPad \u5c0f\u7a0b\u5e8f\u662f\u5426\u652f\u6301\u5c4f\u5e55\u65cb\u8f6c",
            "default": false
        },
        "navigateToMiniProgramAppIdList": {
            "type": "array",
            "items": {
                "type": "string",
                "description": "\u5bf9\u5e94appid"
            },
            "description": "\u9700\u8981\u8df3\u8f6c\u7684\u5c0f\u7a0b\u5e8f\u5217\u8868"
        },
        "usingComponents": {
            "type": "object",
            "properties": {},
            "description": "\u5168\u5c40\u81ea\u5b9a\u4e49\u7ec4\u4ef6\u914d\u7f6e"
        },
        "permission": {
            "type": "object",
            "properties": {},
            "description": "\u5c0f\u7a0b\u5e8f\u63a5\u53e3\u6743\u9650\u76f8\u5173\u8bbe\u7f6e,\u5fae\u4fe1\u5ba2\u6237\u7aef 7.0.0"
        }
    },
    "required": [
        "pages"
    ]
}