[
  {
    "path": ".babelrc",
    "content": "{\n  \t\"presets\": [\"stage-3\"],\n  \t\"plugins\": [\n  \t\t\"transform-async-to-generator\",\n        \"transform-es2015-modules-commonjs\",\n        \"transform-export-extensions\"\n    ]\n}"
  },
  {
    "path": ".gitignore",
    "content": "/node_modules\ncoverage\npackage-lock.json\n.DS_Store\n**/.DS_Store\n.env.local\n.env.development.local\n.env.test.local\n.env.production.local\n\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n"
  },
  {
    "path": "API.md",
    "content": "# node-elm 接口文档\n```\n\nbaseUrl: https://elm.cangdu.org\n\n```\n\n## 目录：\n\n[1、获取城市列表](#1获取城市列表)<br/>\n[2、获取所选城市信息](#2获取所选城市信息)<br/>\n[3、搜索地址](#3搜索地址)<br/>\n[4、根据经纬度详细定位](#4根据经纬度详细定位)<br/>\n[5、食品分类列表](#5食品分类列表)<br/>\n[6、获取商铺列表](#6获取商铺列表)<br/>\n[7、搜索餐馆](#7搜索餐馆)<br/>\n[8、获取所有商铺分类列表](#8获取所有商铺分类列表)<br/>\n[9、获取配送方式](#9获取配送方式)<br/>\n[10、商家属性活动列表](#10商家属性活动列表)<br/>\n[11、餐馆详情](#11餐馆详情)<br/>\n[12、上传图片](#12上传图片)<br/>\n[13、添加餐馆](#13添加餐馆)<br/>\n[14、添加食品种类](#14添加食品种类)<br/>\n[15、添加食品](#15添加食品)<br/>\n[16、获取食品列表](#16获取食品列表)<br/>\n[17、获取评价信息](#17获取评价信息)<br/>\n[18、获取评价分数](#18获取评价分数)<br/>\n[19、获取评价分类](#19获取评价分类)<br/>\n[20、加入购物车](#20加入购物车)<br/>\n[21、获取备注信息](#21获取备注信息)<br/>\n[22、获取收货地址列表](#22获取收货地址列表)<br/>\n[23、获取验证码](#23获取验证码)<br/>\n[24、获取用户信息](#24获取用户信息)<br/>\n[25、登录](#25登录)<br/>\n[26、退出](#26退出)<br/>\n[27、修改密码](#27修改密码)<br/>\n[28、增加收货地址](#28增加收货地址)<br/>\n[29、删除收货地址](#29删除收货地址)<br/>\n[30、下单](#30下单)<br/>\n[31、订单列表](#31订单列表)<br/>\n[32、订单详情](#32订单详情)<br/>\n[33、服务中心](#33服务中心)<br/>\n[34、可用红包](#34可用红包)<br/>\n[35、过期红包](#35过期红包)<br/>\n[36、兑换红包](#36兑换红包)<br/>\n[37、管理员登录](#37管理员登录)<br/>\n[38、管理员退出登录](#38管理员退出登录)<br/>\n[39、管理员信息](#39管理员信息)<br/>\n[40、获取某日API请求量](#40获取某日API请求量)<br/>\n[41、获取所有API请求量](#41获取所有API请求量)<br/>\n[42、获取某天用户注册量](#42获取某天用户注册量)<br/>\n[43、获取所有用户注册量](#43获取所有用户注册量)<br/>\n[44、获取某天订单数量](#44获取某天订单数量)<br/>\n[45、获取所有订单数量](#45获取所有订单数量)<br/>\n[46、管理员列表](#46管理员列表)<br/>\n[47、获取管理员数量](#47获取管理员数量)<br/>\n[48、获取店铺食品种类](#48获取店铺食品种类)<br/>\n[49、获取餐馆数量](#49获取餐馆数量)<br/>\n[50、更新餐馆](#50更新餐馆)<br/>\n[51、删除餐馆](#51删除餐馆)<br/>\n[52、获取食品列表](#52获取食品列表)<br/>\n[53、获取食品数量](#53获取食品数量)<br/>\n[54、获取食品种类详情](#54获取食品种类详情)<br/>\n[55、更新食品](#55更新食品)<br/>\n[56、删除食品](#56删除食品)<br/>\n[57、获取用户列表](#57获取用户列表)<br/>\n[58、获取订单列表](#58获取订单列表)<br/>\n[59、获取地址信息](#59获取地址信息)<br/>\n[60、获取用户分布信息](#60获取用户分布信息)<br/>\n[61、获取某天管理员注册量](#61获取某天管理员注册量)<br/>\n\n\n\n\n\n## 接口列表：\n\n### 1、获取城市列表\n\n#### 请求URL:  \n```\nhttps://elm.cangdu.org/v1/cities\n```\n\n#### 示例：\n [https://elm.cangdu.org/v1/cities?type=guess](https://elm.cangdu.org/v1/cities?type=guess)\n\n#### 请求方式: \n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|type      |Y       |string  |guess：定位城市，  hot：热门城市， group：所有城市 |\n\n#### 返回示例：\n\n```javascript\n{\n  id: 1,\n  name: \"上海\",\n  abbr: \"SH\",\n  area_code: \"021\",\n  sort: 1,\n  latitude: 31.23037,\n  longitude: 121.473701,\n  is_map: true,\n  pinyin: \"shanghai\"\n}\n```\n\n### 2、获取所选城市信息\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/cities/:id\n```\n\n#### 示例：\n[https://elm.cangdu.org/v1/cities/1](https://elm.cangdu.org/v1/cities/1)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|id      |Y       |int   |城市id |\n\n#### 返回示例：\n```javascript\n{\n  id: 1,\n  name: \"上海\",\n  abbr: \"SH\",\n  area_code: \"021\",\n  sort: 1,\n  latitude: 31.23037,\n  longitude: 121.473701,\n  is_map: true,\n  pinyin: \"shanghai\"\n}\n```\n\n### 3、搜索地址\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/pois\n```\n\n#### 示例：\n[https://elm.cangdu.org/v1/pois?city_id=1&keyword=迪士尼&type=search](https://elm.cangdu.org/v1/pois?city_id=1&keyword=%E8%BF%AA%E5%A3%AB%E5%B0%BC&type=search)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|city_id      |Y       |int   |城市id |\n|keyword      |Y       |string   |搜索关键词 |\n|type      |N       |string   |搜索类型，默认为search |\n\n#### 返回示例：\n\n```javascript\n[\n    {\n        name: \"上海迪士尼乐园\",\n        address: \"上海市浦东新区申迪西路753号\",\n        latitude: 31.14419,\n        longitude: 121.66034,\n        geohash: \"31.14419,121.66034\"\n    },\n    {\n        name: \"迪士尼\",\n        address: \"上海市浦东新区妙境路1118号家乐福川沙店1层\",\n        latitude: 31.18183,\n        longitude: 121.69279,\n        geohash: \"31.18183,121.69279\"\n    },\n    ...  //共10条数据\n]\n```\n\n### 4、根据经纬度详细定位\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v2/pois/:geohash\n```\n\n#### 示例：\n[https://elm.cangdu.org/v2/pois/31.22967,121.4762](https://elm.cangdu.org/v2/pois/31.22967,121.4762)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|geohash      |Y       |string   |经纬度 |\n\n#### 返回示例：\n\n```javascript\n{\n  address: \"上海市黄浦区西藏中路\",\n  city: \"上海市\",\n  geohash: \"31.22967,121.4762\",\n  latitude: \"31.22967\",\n  longitude: \"121.4762\",\n  name: \"黄浦区上海人民广场\"\n}\n```\n\n### 5、食品分类列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v2/index_entry\n```\n\n#### 示例：\n[https://elm.cangdu.org/v2/index_entry](https://elm.cangdu.org/v2/index_entry)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n#### 返回示例：\n\n```javascript\n[\n  {\n    id: 1,\n    is_in_serving: true,\n    description: \"0元早餐0起送，每天都有新花样。\",\n    title: \"预订早餐\",\n    link: \"\",\n    image_url: \"/d/49/7757ff22e8ab28e7dfa5f7e2c2692jpeg.jpeg\",\n    icon_url: \"\",\n    title_color: \"\",\n    __v: 0\n  },\n  {\n    id: 65,\n    is_in_serving: true,\n    description: \"\",\n    title: \"土豪推荐\",\n    image_url: \"/d/49/7757ff22e8ab28e7dfa5f7e2c2692jpeg.jpeg\",\n    link: \"\",\n    icon_url: \"\",\n    title_color: \"\",\n    __v: 0\n  },\n  ... 共n条数据\n]\n```\n\n### 6、获取商铺列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/restaurants\n```\n\n#### 示例：\n[https://elm.cangdu.org/shopping/restaurants?latitude=31.22967&longitude=121.4762](https://elm.cangdu.org/shopping/restaurants?latitude=31.22967&longitude=121.4762)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|latitude      |Y       |string  |纬度|\n|longitude      |Y       |string  |经度|\n|offset      |N       |int |跳过多少条数据，默认0|\n|limit      |N      |int |请求数据的数量，默认20|\n|restaurant_category_id      |N      |int |餐馆分类id|\n|order_by      |N       |int |排序方式id： 1：起送价、2：配送速度、3:评分、4: 智能排序(默认)、5:距离最近、6:销量最高|\n|delivery_mode      |N      |array |配送方式id|\n|support_ids      |N      |array |餐馆支持特权的id|\n|restaurant_category_ids      |N      |array |餐馆分类id|\n\n\n#### 返回示例：\n\n```javascript\n[\n  {\n    name: \"肯德基\",\n    address: \"上海市宝山区淞宝路155弄18号星月国际商务广场1层\",\n    id: 1,\n    latitude: 31.38098,\n    longitude: 121.50146,\n    location: [\n      121.50146,\n      31.38098\n    ],\n    phone: \"1232313124324\",\n    category: \"快餐便当/简餐\",\n    supports: [\n      {\n        description: \"已加入“外卖保”计划，食品安全有保障\",\n        icon_color: \"999999\",\n        icon_name: \"保\",\n        id: 7,\n        name: \"外卖保\",\n        _id: \"591bec73c2bbc84a6328a1e5\"\n      },\n      {\n        description: \"准时必达，超时秒赔\",\n        icon_color: \"57A9FF\",\n        icon_name: \"准\",\n        id: 9,\n        name: \"准时达\",\n        _id: \"591bec73c2bbc84a6328a1e4\"\n      },\n      {\n        description: \"该商家支持开发票，请在下单时填写好发票抬头\",\n        icon_color: \"999999\",\n        icon_name: \"票\",\n        id: 4,\n        name: \"开发票\",\n        _id: \"591bec73c2bbc84a6328a1e3\"\n      }\n    ],\n    status: 0,\n    recent_order_num: 615,\n    rating_count: 389,\n    rating: 1.6,\n    promotion_info: \"他依然有人有人有人有人有人\",\n    piecewise_agent_fee: {\n      tips: \"配送费约¥5\"\n    },\n    opening_hours: [\n      \"8:30/20:30\"\n    ],\n    license: {\n      catering_service_license_image: \"\",\n      business_license_image: \"\"\n    },\n    is_new: true,\n    is_premium: true,\n    image_path: \"/img/shop/15c1513a00615.jpg\",\n    identification: {\n      registered_number: \"\",\n      registered_address: \"\",\n      operation_period: \"\",\n      licenses_scope: \"\",\n      licenses_number: \"\",\n      licenses_date: \"\",\n      legal_person: \"\",\n      identificate_date: null,\n      identificate_agency: \"\",\n      company_name: \"\"\n    },\n    float_minimum_order_amount: 20,\n    float_delivery_fee: 5,\n    distance: \"19.5公里\",\n    order_lead_time: \"40分钟\",\n    description: \"好吃的\",\n    delivery_mode: {\n      color: \"57A9FF\",\n      id: 1,\n      is_solid: true,\n      text: \"蜂鸟专送\"\n    },\n    activities: [\n      {\n        icon_name: \"减\",\n        name: \"满减优惠\",\n        description: \"满30减5，满60减8\",\n        icon_color: \"f07373\",\n        id: 1,\n        _id: \"591bec73c2bbc84a6328a1e7\"\n      },\n      {\n        icon_name: \"特\",\n        name: \"优惠大酬宾\",\n        description: \"是对冯绍峰的上市房地产\",\n        icon_color: \"EDC123\",\n        id: 2,\n        _id: \"591bec73c2bbc84a6328a1e6\"\n      }\n    ],\n  }\n  ... 共20条数据\n]\n```\n\n\n### 7、搜索餐馆\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v4/restaurants\n```\n\n#### 示例：\n[https://elm.cangdu.org/v4/restaurants?geohash=31.22967,121.4762&keyword=肯德基](https://elm.cangdu.org/v4/restaurants?geohash=31.22967,121.4762&keyword=肯德基)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|geohash      |Y       |string  |经纬度|\n|keyword      |Y       |string  |关键词|\n\n#### 返回示例：\n\n```javascript\n[\n  {\n    name: \"肯德基\",\n    address: \"上海市宝山区淞宝路155弄18号星月国际商务广场1层\",\n    id: 1,\n    latitude: 31.38098,\n    longitude: 121.50146,\n    location: [\n      121.50146,\n      31.38098\n    ],\n    phone: \"1232313124324\",\n    category: \"快餐便当/简餐\",\n    supports: [\n      {\n        description: \"已加入“外卖保”计划，食品安全有保障\",\n        icon_color: \"999999\",\n        icon_name: \"保\",\n        id: 7,\n        name: \"外卖保\",\n        _id: \"591bec73c2bbc84a6328a1e5\"\n      },\n      {\n        description: \"准时必达，超时秒赔\",\n        icon_color: \"57A9FF\",\n        icon_name: \"准\",\n        id: 9,\n        name: \"准时达\",\n        _id: \"591bec73c2bbc84a6328a1e4\"\n      },\n      {\n        description: \"该商家支持开发票，请在下单时填写好发票抬头\",\n        icon_color: \"999999\",\n        icon_name: \"票\",\n        id: 4,\n        name: \"开发票\",\n        _id: \"591bec73c2bbc84a6328a1e3\"\n      }\n    ],\n    status: 0,\n    recent_order_num: 615,\n    rating_count: 389,\n    rating: 1.6,\n    promotion_info: \"他依然有人有人有人有人有人\",\n    piecewise_agent_fee: {\n      tips: \"配送费约¥5\"\n    },\n    opening_hours: [\n      \"8:30/20:30\"\n    ],\n    license: {\n      catering_service_license_image: \"\",\n      business_license_image: \"\"\n    },\n    is_new: true,\n    is_premium: true,\n    image_path: \"/img/shop/15c1513a00615.jpg\",\n    identification: {\n      registered_number: \"\",\n      registered_address: \"\",\n      operation_period: \"\",\n      licenses_scope: \"\",\n      licenses_number: \"\",\n      licenses_date: \"\",\n      legal_person: \"\",\n      identificate_date: null,\n      identificate_agency: \"\",\n      company_name: \"\"\n    },\n    float_minimum_order_amount: 20,\n    float_delivery_fee: 5,\n    distance: \"19.5公里\",\n    order_lead_time: \"40分钟\",\n    description: \"好吃的\",\n    delivery_mode: {\n      color: \"57A9FF\",\n      id: 1,\n      is_solid: true,\n      text: \"蜂鸟专送\"\n    },\n    activities: [\n      {\n        icon_name: \"减\",\n        name: \"满减优惠\",\n        description: \"满30减5，满60减8\",\n        icon_color: \"f07373\",\n        id: 1,\n        _id: \"591bec73c2bbc84a6328a1e7\"\n      },\n      {\n        icon_name: \"特\",\n        name: \"优惠大酬宾\",\n        description: \"是对冯绍峰的上市房地产\",\n        icon_color: \"EDC123\",\n        id: 2,\n        _id: \"591bec73c2bbc84a6328a1e6\"\n      }\n    ],\n  }\n  ... 共n条数据\n]\n```\n\n\n### 8、获取所有商铺分类列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/v2/restaurant/category\n```\n\n#### 示例：\n[https://elm.cangdu.org/shopping/v2/restaurant/category](https://elm.cangdu.org/shopping/v2/restaurant/category)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|latitude      |N       |string   |纬度 |\n|longitude      |N       |string   |经度 |\n\n#### 返回示例：\n\n```javascript\n[\n  {\n    count: 0,\n    id: 248,\n    image_url: \"0e07558e305abfb2618ae760142222f9png\",\n    level: 1,\n    name: \"鲜花蛋糕\",\n    sub_categories: [\n      {\n        count: 0,\n        id: 248,\n        image_url: \"3edf3f4ef8ed1d300896c5b9178685ebpng\",\n        level: 1,\n        name: \"全部鲜花蛋糕\",\n        _id: \"591af9a4c434cf6a823d63d8\"\n      },\n      {\n        count: 0,\n        id: 251,\n        image_url: \"cf598de7338b4bf9dd2924736c4ec9d2png\",\n        level: 2,\n        name: \"鲜花\",\n        _id: \"591af9a4c434cf6a823d63d7\"\n      },\n      {\n        count: 0,\n        id: 249,\n        image_url: \"ac94b005c97ef158282326cb49389893png\",\n        level: 2,\n        name: \"蛋糕\",\n        _id: \"591af9a4c434cf6a823d63d6\"\n      },\n      {\n        count: 0,\n        id: 250,\n        image_url: \"512232422a83e25a2c0a5588b7b6e730png\",\n        level: 2,\n        name: \"面包\",\n        _id: \"591af9a4c434cf6a823d63d5\"\n      }\n    ],\n  }\n  ...共n条数据\n]\n```\n\n\n### 9、获取配送方式\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/v1/restaurants/delivery_modes\n```\n\n#### 示例：\n[https://elm.cangdu.org/shopping/v1/restaurants/delivery_modes](https://elm.cangdu.org/shopping/v1/restaurants/delivery_modes)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|latitude      |N       |string   |纬度 |\n|longitude      |N       |string   |经度 |\n\n#### 返回示例：\n\n```javascript\n[\n  {\n    color: \"57A9FF\",\n    id: 1,\n    is_solid: true,\n    text: \"蜂鸟专送\",\n    __v: 0\n  }\n]\n```\n\n### 10、商家属性活动列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/v1/restaurants/activity_attributes\n```\n\n#### 示例：\n[https://elm.cangdu.org/shopping/v1/restaurants/activity_attributes](https://elm.cangdu.org/shopping/v1/restaurants/activity_attributes)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|latitude      |N       |string   |纬度 |\n|longitude      |N       |string   |经度 |\n\n#### 返回示例：\n\n```javascript\n[\n  {\n    description: \"可使用支付宝、微信、手机QQ进行在线支付\",\n    icon_color: \"FF4E00\",\n    icon_name: \"付\",\n    id: 3,\n    name: \"在线支付\",\n    ranking_weight: 2,\n    __v: 0\n  },\n  ...共n条数据\n]\n```\n\n\n### 11、餐馆详情\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/restaurant/:shopid\n```\n\n#### 示例：\n[https://elm.cangdu.org/shopping/restaurant/1](https://elm.cangdu.org/shopping/restaurant/1)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|shopid      |Y       |int   |餐馆id |\n\n\n#### 返回示例：\n\n```javascript\n{\n  name: \"肯德基\",\n  address: \"上海市宝山区淞宝路155弄18号星月国际商务广场1层\",\n  id: 1,\n  latitude: 31.38098,\n  longitude: 121.50146,\n  location: [\n    121.50146,\n    31.38098\n  ],\n  phone: \"1232313124324\",\n  category: \"快餐便当/简餐\",\n  supports: [\n    {\n      description: \"已加入“外卖保”计划，食品安全有保障\",\n      icon_color: \"999999\",\n      icon_name: \"保\",\n      id: 7,\n      name: \"外卖保\",\n      _id: \"591bec73c2bbc84a6328a1e5\"\n    },\n    {\n      description: \"准时必达，超时秒赔\",\n      icon_color: \"57A9FF\",\n      icon_name: \"准\",\n      id: 9,\n      name: \"准时达\",\n      _id: \"591bec73c2bbc84a6328a1e4\"\n    },\n    {\n      description: \"该商家支持开发票，请在下单时填写好发票抬头\",\n      icon_color: \"999999\",\n      icon_name: \"票\",\n      id: 4,\n      name: \"开发票\",\n      _id: \"591bec73c2bbc84a6328a1e3\"\n    }\n  ],\n  status: 0,\n  recent_order_num: 615,\n  rating_count: 389,\n  rating: 1.6,\n  promotion_info: \"他依然有人有人有人有人有人\",\n  piecewise_agent_fee: {\n    tips: \"配送费约¥5\"\n  },\n  opening_hours: [\n    \"8:30/20:30\"\n  ],\n  license: {\n    catering_service_license_image: \"\",\n    business_license_image: \"\"\n  },\n  is_new: true,\n  is_premium: true,\n  image_path: \"/img/shop/15c1513a00615.jpg\",\n  identification: {\n    registered_number: \"\",\n    registered_address: \"\",\n    operation_period: \"\",\n    licenses_scope: \"\",\n    licenses_number: \"\",\n    licenses_date: \"\",\n    legal_person: \"\",\n    identificate_date: null,\n    identificate_agency: \"\",\n    company_name: \"\"\n  },\n  float_minimum_order_amount: 20,\n  float_delivery_fee: 5,\n  distance: \"19.5公里\",\n  order_lead_time: \"40分钟\",\n  description: \"好吃的\",\n  delivery_mode: {\n    color: \"57A9FF\",\n    id: 1,\n    is_solid: true,\n    text: \"蜂鸟专送\"\n  },\n  activities: [\n    {\n      icon_name: \"减\",\n      name: \"满减优惠\",\n      description: \"满30减5，满60减8\",\n      icon_color: \"f07373\",\n      id: 1,\n      _id: \"591bec73c2bbc84a6328a1e7\"\n    },\n    {\n      icon_name: \"特\",\n      name: \"优惠大酬宾\",\n      description: \"是对冯绍峰的上市房地产\",\n      icon_color: \"EDC123\",\n      id: 2,\n      _id: \"591bec73c2bbc84a6328a1e6\"\n    }\n  ],\n}\n```\n\n\n### 12、上传图片\n\n#### 请求URL:  \n```\nhttps://elm.cangdu.org/v1/addimg/:type\n```\n\n#### 示例：\n\n#### 请求方式: \n```\nPOST\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|type      |Y       |string  |shop：商铺图片，food：食品图片，avatar：头像 |\n\n#### 返回示例：\n\n```javascript\n{\n  status: 1,\n  image_path: '15bfafa418322.jpeg'  \n  // 图片保存至七牛，图片全部地址为， https://elm.cangdu.org/img/15bfafa418322.jpeg\n}\n```\n\n\n### 13、添加餐馆\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/addshop\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|name      |Y       |string   | 餐馆名称 |\n|address      |Y       |string   | 餐馆地址 |\n|phone      |Y       |int   |联系电话 |\n|latitude      |Y       |string   | 纬度 |\n|longitude      |Y       |string   | 经度 |\n|category      |Y      |string   |食品分类 |\n|image_path      |Y       |string   |店铺图片地址 |\n|float_delivery_fee      |Y       |int   | 运费|\n|float_minimum_order_amount      |Y       | init   | 起送价 |\n|description      |N      |string   | 餐馆介绍 |\n|promotion_info      |N       |string   | 店铺标语 |\n|is_premium      |N       |boolean   | 品牌商铺,默认false |\n|delivery_mode      |N       |boolean   | 支持蜂鸟专送，默认false |\n|new      |N      |boolean   |新开店铺，默认false|\n|bao      |N       |boolean   |支持保险，默认false|\n|zhun      |N       |boolean   |准时达，默认false|\n|piao      |N       |boolean   |开发票，默认false|\n|startTime      |N       |string   |开始营业时间 |\n|endTime      |N       |string   |停止营业时间 |\n|business_license_image      |N       |string   |营业执照图片地址 |\n|catering_service_license_image      |N       |string   |餐饮服务许可证图片地址 |\n|catering_service_license_image      |N       |string   |餐饮服务许可证图片地址 |\n|activities      |N      |array   | 商铺活动：示例：[{icon_name:'新', name:'新用户立减', description: ''}]|\n\n#### 返回示例：\n\n```javascript\n{\n  status: 1,\n  sussess: '添加餐馆成功',\n}\n```\n\n### 14、添加食品种类\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/addcategory\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|name      |Y       |string   | 种类 |\n|description      |Y       |string   | 描述 |\n|restaurant_id      |Y       |int   | 餐馆id |\n\n#### 返回示例：\n\n```javascript\n{\n  status: 1,\n  sussess: '添加食品种类成功',\n}\n```\n\n### 15、添加食品\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/addfood\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|restaurant_id      |Y       |int   | 餐馆ID |\n|category_id      |Y       |int   | 分类ID |\n|name      |Y       |string   | 食品名称 |\n|image_path      |Y       |string   | 图片地址 |\n|specs      |Y       |array   | 规格： [{specs: '默认',packing_fee: 0,price: 20,}]|\n|description      |N       |string   |描述 |\n|activity      |N      |string   |活动 |\n|attributes      |N       |array   |特点：[{value: '新',label: '新品'}] |\n\n#### 返回示例：\n\n```javascript\n{\n  status: 1,\n  sussess: '添加食品成功',\n}\n```\n\n### 16、获取食品列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/v2/menu\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/shopping/v2/menu?restaurant_id=1](https://elm.cangdu.org/shopping/v2/menu?restaurant_id=1)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|restaurant_id      |Y       |int   | 餐馆ID |\n\n\n#### 返回示例：\n\n```javascript\n\n[\n  {\n    name: \"热销榜\",\n    description: \"大家喜欢吃，才叫真好吃。\",\n    id: 1,\n    restaurant_id: 3,\n    foods: [\n      {\n        name: \"好似懂非\",\n        image_path: \"/img/food/15c1ab95e7620.jpg\",\n        activity: {\n          image_text_color: \"f1884f\",\n          icon_color: \"f07373\",\n          image_text: \"实行政策支持支持支持\"\n        },\n        restaurant_id: 3,\n        category_id: 1,\n        item_id: 1,\n        tips: \"626评价 月售713份\",\n        _id: \"591d5ea243f73a7dbdc97c6b\",\n        specfoods: [\n          {\n            name: \"好似懂非\",\n            item_id: 1,\n            sku_id: 1,\n            food_id: 1,\n            restaurant_id: 3,\n            _id: \"591d5ea243f73a7dbdc97c6c\",\n            specs: [ ],\n            stock: 1000,\n            checkout_mode: 1,\n            is_essential: false,\n            recent_popularity: 941,\n            sold_out: false,\n            price: 21,\n            promotion_stock: -1,\n            recent_rating: 0.6,\n            packing_fee: 1,\n            pinyin_name: \"\",\n            original_price: 0\n          }\n        ],\n        satisfy_rate: 79,\n        satisfy_count: 461,\n        attributes: [\n          {\n            icon_color: \"5ec452\",\n            icon_name: \"新\"\n          },\n          {\n            icon_color: \"f07373\",\n            icon_name: \"招牌\"\n          }\n        ],\n        is_essential: false,\n        server_utc: \"2017-05-18T08:37:10.963Z\",\n        specifications: [ ],\n        rating_count: 626,\n        month_sales: 713,\n        description: \"中小城镇创新政策中\",\n        attrs: [ ],\n        display_times: [ ],\n        pinyin_name: \"\",\n        is_featured: 0,\n        rating: 3.2\n      }\n    ],\n    type: 1,\n    icon_url: \"5da3872d782f707b4c82ce4607c73d1ajpeg\",\n    is_selected: true,\n    __v: 1\n  },\n]\n```\n\n\n### 17、获取评价信息\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/ugc/v2/restaurants/:restaurant_id/ratings\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/ugc/v2/restaurants/1/ratings?offset=0&limit=10](https://elm.cangdu.org/ugc/v2/restaurants/1/ratings?offset=0&limit=10)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query, param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|restaurant_id      |Y       |int   | 餐馆ID |\n|tag_name      |N       |string   | 评价类型，默认全部 |\n|offset      |N       |int   | 跳过数据条数 |\n|limit      |N      |int   | 单次获取数据条数 |\n\n\n#### 返回示例：\n\n```javascript\n\n[\n  {\n  rated_at: \"2017-02-10\",\n  rating_star: 5,\n  rating_text: \"\",\n  time_spent_desc: \"按时送达\",\n  _id: \"591d5e5643f73a7dbdc97c66\",\n  username: \"4*******b\",\n  tags: [ ],\n  item_ratings: [\n    {\n      food_id: 508807792,\n      food_name: \"超级至尊比萨-铁盘\",\n      _id: \"591d5e5643f73a7dbdc97c68\",\n      is_valid: 1,\n      image_hash: \"dc864033625905f0a15a2d181d53a425jpeg\"\n    },\n    {\n      food_id: 508808743,\n      food_name: \"韩式浓情风味鸡（标准份）\",\n      _id: \"591d5e5643f73a7dbdc97c67\",\n      is_valid: 1,\n      image_hash: \"074e0e203f613deff4e456c31e4177d1jpeg\"\n    }\n  ],\n  highlights: [ ],\n  avatar: \"\"\n  },\n]\n```\n\n### 18、获取评价分数\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/ugc/v2/restaurants/:restaurant_id/ratings/scores\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/ugc/v2/restaurants/1/ratings/scores](https://elm.cangdu.org/ugc/v2/restaurants/1/ratings/scores)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型： param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|restaurant_id      |Y       |int   | 餐馆ID |\n\n\n#### 返回示例：\n\n```javascript\n\n{\ncompare_rating: 0.76869,\ndeliver_time: 40,\nfood_score: 4.76378,\norder_rating_amount: 473,\noverall_score: 4.72836,\nservice_score: 4.69295\n}\n\n```\n\n### 19、获取评价分类\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/ugc/v2/restaurants/:restaurant_id/ratings/tags\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/ugc/v2/restaurants/1/ratings/tags](https://elm.cangdu.org/ugc/v2/restaurants/1/ratings/tags)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型： param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|restaurant_id      |Y       |int   | 餐馆ID |\n\n\n#### 返回示例：\n\n```javascript\n\n[\n  {\n    name: \"全部\",\n    _id: \"591d5e5643f73a7dbdc97c52\",\n    unsatisfied: false,\n    count: 473\n  },\n]\n\n```\n\n### 20、加入购物车\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/carts/checkout\n```\n\n#### 示例：\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型： param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|restaurant_id      |Y       |int   | 餐馆ID |\n|geohash      |Y       |string   | 经纬度 |\n|entities      |Y       |array   | 购物车数据[{attrs:[],extra:{},id:食品id,name:食品名称,packing_fee:打包费,price:价格,quantity:数量,sku_id:规格id,specs:规格,stock:存量,}] |\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  cart: {\n    id: 1,\n    groups: [],\n    extra: this.extra,\n    deliver_amount,\n    deliver_time: '',\n    discount_amount: '',\n    dist_info: '',\n    is_address_too_far: false,\n    is_deliver_by_fengniao: !!restaurant.delivery_mode,\n    is_online_paid: 1,\n    is_ontime_available: 0,\n    must_new_user: 0,\n    must_pay_online: 0,\n    ontime_status: 0,\n    ontime_unavailable_reason: '',\n    original_total: total,\n    phone: restaurant.phone,\n    promise_delivery_time: 0,\n    restaurant_id,\n    restaurant_info: restaurant,\n    restaurant_minimum_order_amount: restaurant.float_minimum_order_amount,\n    restaurant_name_for_url: '',\n    restaurant_status: 1,\n    service_fee_explanation: 0,\n    total,\n    user_id: 1,\n  },\n  delivery_reach_time,\n  invoice,\n  sig: \"8d65fd81cb962c1f64cd162c6ac5728f\",\n  current_address: {},\n  payments,\n  deliver_times: [],\n  deliver_times_v2: [],\n  merchant_coupon_info: {},\n  number_of_meals: {},\n  discount_rule: {},\n  hongbao_info: {},\n  is_support_coupon: false,\n  is_support_ninja: 1,\n}\n\n```\n\n\n### 21、获取备注信息\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/carts/:cart_id/remarks\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/v1/carts/1/remarks](https://elm.cangdu.org/v1/carts/1/remarks)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型： param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|cart_id      |Y       |int   | 购物车id |\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  remarks: [\n    [\n    \"不要辣\",\n    \"少点辣\",\n    \"多点辣\"\n    ],\n  ],\n}\n\n```\n\n\n### 22、获取收货地址列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/users/:user_id/addresses\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/v1/users/1/addresses](https://elm.cangdu.org/v1/users/1/addresses)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型： param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|user_id      |Y       |int   | 用户id |\n\n\n#### 返回示例：\n\n```javascript\n\n[\n  {\n    id: 297740202,\n    address: \"桂平路680号33幢\",\n    phone: \"13683220505\",\n    is_valid: 1,\n    created_at: \"2017-03-31T15:10:25+0800\",\n    phone_bk: \"\",\n    name: \"1231\",\n    st_geohash: \"wtw2dfyxb62\",\n    address_detail: \"123123\",\n    poi_type: 0,\n    sex: 1,\n    city_id: 1,\n    tag: \"家\",\n    agent_fee: 3,\n    deliver_amount: 20,\n    is_deliverable: true,\n    phone_had_bound: true,\n    is_brand_member: false\n  }\n]\n```\n\n### 23、获取验证码\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/captchas\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  code: base64\n}\n```\n\n\n### 24、获取用户信息\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/user\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  username: \"1\",\n  user_id: 2,\n  id: 2,\n  point: 0,\n  mobile: \"\",\n  is_mobile_valid: true,\n  is_email_valid: false,\n  is_active: 1,\n  gift_amount: 3,\n  email: \"\",\n  delivery_card_expire_days: 0,\n  current_invoice_id: 0,\n  current_address_id: 0,\n  brand_member_new: 0,\n  balance: 0,\n  avatar: \"/img/default/default.jpg\",\n  __v: 0\n}\n```\n\n### 25、登录\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v2/login\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|username      |Y       |string   | 用户名 |\n|password      |Y       |string  | 密码 |\n|captcha_code      |Y       |string   | 验证码 |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  username: \"1\",\n  user_id: 2,\n  id: 2,\n  point: 0,\n  mobile: \"\",\n  is_mobile_valid: true,\n  is_email_valid: false,\n  is_active: 1,\n  gift_amount: 3,\n  email: \"\",\n  delivery_card_expire_days: 0,\n  current_invoice_id: 0,\n  current_address_id: 0,\n  brand_member_new: 0,\n  balance: 0,\n  avatar: \"/img/default/default.jpg\",\n  __v: 0\n}\n```\n\n### 26、退出\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v2/signout\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  message: '退出成功'\n}\n```\n\n\n### 27、修改密码\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v2/changepassword\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|username      |Y       |string   | 用户名 |\n|oldpassWord      |Y       |string  | 旧密码 |\n|newpassword      |Y       |string   | 新密码 |\n|confirmpassword      |Y       |string   | 确认密码 |\n|captcha_code      |Y       |string   | 验证码 |\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  success: '密码修改成功',\n}\n```\n\n### 28、增加收货地址\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/users/:user_id/addresses\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型：param, query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|user_id      |Y       |int   | 用户id |\n|address      |Y       |string   | 地址 |\n|address_detail      |Y       |string  | 地址详情 |\n|geohash      |Y       |string   | 经纬度 |\n|name      |Y       |string   | 收货人姓名 |\n|phone      |Y       |string   | 电话号码 |\n|tag      |Y       |string   | 标签 |\n|sex      |Y       |int   | 性别， 1:男，2:女 |\n|poi_type      |N       |int   | 类型，默认：0 |\n|phone_bk      |Y       |string   | 备注电话 |\n|tag_type      |Y       |int   | 标签类型，2:家，3:学校，4:公司 |\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  success: '添加地址成功',\n}\n```\n\n\n### 29、删除收货地址\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/users/:user_id/addresses/:address_id\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nDELETE\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|user_id      |Y       |int   | 用户id |\n|address_id      |Y       |int   | 收货地址id |\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  success: '删除地址成功',\n}\n```\n\n\n### 30、下单\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/users/:user_id/carts/:cart_id/orders\n```\n\n#### 示例：\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型： param, query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|user_id      |Y       |int   | 用户ID |\n|cart_id      |Y       |int   | 购物车ID |\n|address_id      |Y       |int   | 收货地址ID |\n|restaurant_id      |Y       |int   | 餐馆ID |\n|geohash      |N       |string   | 经纬度 |\n|description      |N       |string   | 备注 |\n|entities      |Y       |array   | 购物车数据[{attrs:[],extra:{},id:食品id,name:食品名称,packing_fee:打包费,price:价格,quantity:数量,sku_id:规格id,specs:规格,stock:存量,}] |\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  success: '下单成功，请及时付款',\n  need_validation: false,\n}\n\n```\n\n\n\n### 31、订单列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/bos/v2/users/:user_id/orders\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/bos/v2/users/1/orders?limit=10&offset=0](https://elm.cangdu.org/bos/v2/users/1/orders?limit=10&offset=0)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型： param, query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|user_id      |Y       |int   | 用户id |\n|limit      |N       |int   | 获取数据数量 |\n|offset      |N       |int   | 跳过数据条数 |\n\n\n#### 返回示例：\n\n```javascript\n\n[\n  {\n    restaurant_id: 6,\n    restaurant_image_url: \"/img/shop/15c19349ebe12.jpg\",\n    restaurant_name: \"sdf\",\n    formatted_created_at: \"2017-05-21 42:34\",\n    order_time: 1495298554692,\n    time_pass: 55315,\n    total_amount: 21,\n    total_quantity: 1,\n    unique_id: 16,\n    id: 16,\n    user_id: 3,\n    address_id: 6,\n    __v: 0,\n    top_show: 0,\n    timeline_node: {\n      in_processing: 0,\n      actions: [ ]\n    },\n    status_code: 0,\n    status_bar: {\n      color: \"f60\",\n      image_type: \"\",\n      sub_title: \"15分钟内支付\",\n      title: \"支付超时\"\n    },\n    restaurant_type: 0,\n    remind_reply_count: 0,\n    rated_point: 0,\n    pay_remain_seconds: 0,\n    operation_upload_photo: 0,\n    operation_rebuy: 2,\n    operation_rate: 0,\n    operation_pay: 0,\n    operation_confirm: 0,\n    is_pindan: 0,\n    is_new_pay: 1,\n    is_deletable: 1,\n    is_brand: 0,\n    basket: {\n      pindan_map: [ ],\n      packing_fee: {\n        price: 0,\n        quantity: 1,\n        name: \"餐盒\",\n        category_id: 1\n      },\n      group: [\n        [\n          {\n          name: \"fsefsf\",\n          price: 21,\n          quantity: 1,\n          _id: \"592071f966867336d7f8bce6\",\n          specs: [\n          \"\"\n          ],\n          new_specs: [ ],\n          attrs: [ ]\n          }\n        ]\n      ],\n      extra: [ ],\n      deliver_fee: {\n      quantity: 1,\n      price: 4,\n      name: \"配送费\",\n      category_id: 2\n      },\n      abandoned_extra: [ ]\n    }\n  },\n]\n```\n\n\n### 32、订单详情\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/bos/v1/users/:user_id/orders/:order_id/snapshot\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/bos/v1/users/1/orders/1/snapshot](https://elm.cangdu.org/bos/v1/users/1/orders/1/snapshot)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型： param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|user_id      |Y       |int   | 用户id |\n|order_id      |Y       |int   | 订单id |\n\n#### 返回示例：\n\n```javascript\n\n{\n  isNew: false,\n  _doc: {\n    __v: 0,\n    basket: {\n      abandoned_extra: [ ],\n      deliver_fee: {\n        category_id: 2,\n        name: \"配送费\",\n        price: 4,\n        quantity: 1\n      },\n      extra: [ ],\n      group: [\n        [\n        {\n          name: \"fsefsf\",\n          price: 21,\n          quantity: 2,\n          _id: \"5920fffc12df813c6643d76b\",\n          specs: [\n          \"\"\n          ],\n          new_specs: [ ],\n          attrs: [ ]\n        },\n        {\n          name: \"35345435\",\n          price: 21,\n          quantity: 2,\n          _id: \"5920fffc12df813c6643d76a\",\n          specs: [\n          \"\"\n          ],\n          new_specs: [ ],\n          attrs: [ ]\n        }\n        ]\n      ],\n      packing_fee: {\n        category_id: 1,\n        name: \"餐盒\",\n        quantity: 1,\n        price: 4\n      },\n      pindan_map: [ ]\n    },\n    is_brand: 0,\n    is_deletable: 1,\n    is_new_pay: 1,\n    is_pindan: 0,\n    operation_confirm: 0,\n    operation_pay: 0,\n    operation_rate: 0,\n    operation_rebuy: 2,\n    operation_upload_photo: 0,\n    pay_remain_seconds: 0,\n    rated_point: 0,\n    remind_reply_count: 0,\n    restaurant_type: 0,\n    status_bar: {\n      title: \"支付超时\",\n      sub_title: \"15分钟内支付\",\n      image_type: \"\",\n      color: \"f60\"\n    },\n    status_code: 0,\n    timeline_node: {\n      actions: [ ],\n      in_processing: 0\n    },\n    top_show: 0,\n    address_id: 6,\n    user_id: 3,\n    id: 17,\n    unique_id: 17,\n    total_quantity: 2,\n    total_amount: 88,\n    time_pass: 18959,\n    order_time: 1495334910518,\n    formatted_created_at: \"2017-05-21 48:30\",\n    restaurant_name: \"sdf\",\n    restaurant_image_url: \"/img/shop/15c19349ebe12.jpg\",\n    restaurant_id: 6\n  },\n  addressDetail: \"sdfsf\",\n  consignee: \"ccc\",\n  deliver_time: \"尽快送达\",\n  pay_method: \"在线支付\",\n  phone: \"13323454321\"\n}\n```\n\n\n### 33、服务中心\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v3/profile/explain\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/v3/profile/explain](https://elm.cangdu.org/v3/profile/explain)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型： param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n#### 返回示例：\n\n```javascript\n\n{\n  \n}\n```\n\n\n### 34、可用红包\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/promotion/v2/users/:user_id/hongbaos\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/promotion/v2/users/1/hongbaos?limit=20&offset=0](https://elm.cangdu.org/promotion/v2/users/1/hongbaos?limit=20&offset=0)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型： param, query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|user_id      |Y       |int   | 用户id |\n|limit      |N       |int   | 获取数据数量 |\n|offset      |N       |int   | 跳过数据条数 |\n\n\n#### 返回示例：\n\n```javascript\n\n[\n  {\n    id: 7160761341773,\n    sn: \"201705211244186655961161757573\",\n    user_id: 186655961,\n    amount: 2,\n    sum_condition: 40,\n    name: \"分享红包\",\n    phone: \"13681711254\",\n    begin_date: \"2017-05-21\",\n    end_date: \"2017-05-23\",\n    status: 0,\n    present_status: 1,\n    share_status: 0,\n    description_map: {\n      phone: \"限收货手机号为 13681711254\",\n      online_paid_only: \"限在线支付使用\",\n      validity_delta: \"剩3日\",\n      validity_periods: \"2017-05-23到期\",\n      sum_condition: \"满 40 元可用\"\n    },\n    __v: 0\n  },\n]\n```\n\n\n### 35、过期红包\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/promotion/v2/users/:user_id/expired_hongbaos\n```\n\n#### 示例：\n\n[https://elm.cangdu.org/promotion/v2/users/1/expired_hongbaos?limit=20&offset=0](https://elm.cangdu.org/promotion/v2/users/1/expired_hongbaos?limit=20&offset=0)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型： param, query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|user_id      |Y       |int   | 用户id |\n|limit      |N       |int   | 获取数据数量 |\n|offset      |N       |int   | 跳过数据条数 |\n\n\n#### 返回示例：\n\n```javascript\n\n[\n  {\n    id: 7160761341773,\n    sn: \"201705211244186655961161757573\",\n    user_id: 186655961,\n    amount: 2,\n    sum_condition: 40,\n    name: \"分享红包\",\n    phone: \"13681711254\",\n    begin_date: \"2017-05-21\",\n    end_date: \"2017-05-23\",\n    status: 0,\n    present_status: 4,\n    share_status: 0,\n    description_map: {\n      phone: \"限收货手机号为 13681711254\",\n      online_paid_only: \"限在线支付使用\",\n      validity_delta: \"剩3日\",\n      validity_periods: \"2017-05-23到期\",\n      sum_condition: \"满 40 元可用\"\n    },\n    __v: 0\n  },\n]\n```\n\n\n\n### 36、兑换红包\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/users/:user_id/hongbao/exchange\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型： param, query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|user_id      |Y       |int   | 用户id |\n|exchange_code      |Y       |int   | 兑换码 |\n|captcha_code      |Y       |int   | 验证码 |\n\n\n#### 返回示例：\n\n```javascript\n{\n  status: 0,\n  type: 'NOT_ALLOWD_API',\n  message: '无效的兑换码'\n}\n```\n\n\n### 37、管理员登录\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/admin/login\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|user_name      |Y       |string   | 用户名 |\n|password      |Y       |string  | 密码 |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  success: '登录成功'\n}\n```\n\n### 38、管理员退出登录\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/admin/singout\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  success: '退出成功'\n}\n```\n\n\n\n### 39、管理员信息\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/admin/info\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  data: {\n    user_name: \"cangdu\",\n    id: 1,\n    create_time: \"2017-05-29 12:02\",\n    status: 1,\n    city: \"上海\",\n    avatar: \"default.jpg\",\n    admin: \"管理员\"\n  }\n}\n```\n\n### 40、获取某日API请求量\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/statis/api/:date/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/statis/api/2017-05-29/count](https://elm.cangdu.org/statis/api/2017-05-29/count)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|date      |Y       |string  | 日期：格式 2017-05-29 |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  count: 1\n}\n```\n\n\n\n### 41、获取所有API请求量\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/statis/api/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/statis/api/count](https://elm.cangdu.org/statis/api/count)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  count: 1\n}\n```\n\n\n\n### 42、获取某天用户注册量\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/statis/user/:date/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/statis/user/2017-05-29/count](https://elm.cangdu.org/statis/user/2017-05-29/count)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|date      |Y       |string  | 日期：格式 2017-05-29 |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  count: 1\n}\n```\n\n\n\n### 43、获取所有用户注册量\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/users/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/v1/users/count](https://elm.cangdu.org/v1/users/count)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  count: 1\n}\n```\n\n\n\n\n### 44、获取某天订单数量\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/statis/order/:date/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/statis/order/2017-05-29/count](https://elm.cangdu.org/statis/order/2017-05-29/count)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|date      |Y       |string  | 日期：格式 2017-05-29 |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  count: 1\n}\n```\n\n\n### 45、获取所有订单数量\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/bos/orders/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/bos/orders/count](https://elm.cangdu.org/bos/orders/count)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  count: 1\n}\n```\n\n\n\n### 46、管理员列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/admin/all\n```\n\n#### 示例：\n[https://elm.cangdu.org/admin/all?offset=0&limit=20](https://elm.cangdu.org/admin/all?offset=0&limit=20)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|limit      |Y       |int | 获取数据数量，默认 20 |\n|offset      |Y       |int | 跳过数据条数 默认 0 |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  data: [\n    {\n      user_name: \"s\",\n      id: 14,\n      create_time: \"2017-05-29 21:23\",\n      status: 1,\n      city: \"北京\",\n      __v: 0,\n      avatar: \"default.jpg\",\n      admin: \"管理员\"\n    },\n  ]\n}\n```\n\n\n\n\n### 47、获取管理员数量\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/admin/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/admin/count](https://elm.cangdu.org/admin/count)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  count: 1\n}\n```\n\n\n\n### 48、获取店铺食品种类\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/getcategory/:restaurant_id\n```\n\n#### 示例：\n[https://elm.cangdu.org/shopping/getcategory/2](https://elm.cangdu.org/shopping/getcategory/2)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|restaurant_id      |Y       |int | 餐馆id |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  category_list: [\n    {\n      name: \"热销榜\",\n      description: \"大家喜欢吃，才叫真好吃。\",\n      id: 1,\n      restaurant_id: 2,\n      __v: 3,\n      foods: []\n    }\n    ...\n  ]\n}\n```\n\n\n\n### 49、获取餐馆数量\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/restaurants/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/shopping/restaurants/count](https://elm.cangdu.org/shopping/restaurants/count)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  count: 1\n}\n```\n\n\n\n\n\n\n### 50、更新餐馆\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/updateshop\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|id      |Y       |int   | 餐馆id |\n|name      |Y       |string   | 餐馆名称 |\n|address      |Y       |string   | 餐馆地址 |\n|description      |N      |string   | 餐馆介绍 |\n|phone      |Y       |int   |联系电话 |\n|image_path      |Y       |string   |店铺图片地址 |\n|category      |Y       |string   |店铺分类 |\n\n\n#### 返回示例：\n\n```javascript\n{\n  status: 1,\n  success: '修改商铺信息成功',\n}\n```\n\n\n\n\n### 51、删除餐馆\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/restaurant/:restaurant_id\n```\n\n#### 示例：\n\n\n\n#### 请求方式：\n```\nDELETE\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|restaurant_id      |Y       |int | 餐馆id |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  success: '删除餐馆成功'\n}\n```\n\n\n\n\n### 52、获取食品列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/v2/foods\n```\n\n#### 示例：\n[https://elm.cangdu.org/shopping/v2/foods?offset=0&limit=20&restaurant_id=2](https://elm.cangdu.org/shopping/v2/foods?offset=0&limit=20&restaurant_id=2)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|limit      |Y       |int | 获取数据数量，默认 20 |\n|offset      |Y       |int | 跳过数据条数 默认 0 |\n|restaurant_id      |Y       |int | 餐馆id |\n\n\n\n#### 返回示例：\n\n```javascript\n[\n  {\n  name: \"fdsf\",\n  image_path: \"15c545e4a705.png\",\n  activity: {\n    image_text_color: \"f1884f\",\n    icon_color: \"f07373\",\n    image_text: \"dsf\"\n  },\n  restaurant_id: 2,\n  category_id: 1,\n  item_id: 2,\n  tips: \"880评价 月售123份\",\n  specfoods: [\n    {\n      specs_name: \"默认\",\n      name: \"fdsf\",\n      item_id: 2,\n      sku_id: 2,\n      food_id: 2,\n      restaurant_id: 2,\n      _id: \"592c2063153b1136968e3393\",\n      specs: [ ],\n      stock: 1000,\n      checkout_mode: 1,\n      is_essential: false,\n      recent_popularity: 254,\n      sold_out: false,\n      price: 20,\n      promotion_stock: -1,\n      recent_rating: 2.8,\n      packing_fee: 0,\n      pinyin_name: \"\",\n      original_price: 0\n    }\n  ],\n  satisfy_rate: 87,\n  satisfy_count: 803,\n  attributes: [\n    {\n      icon_color: \"5ec452\",\n      icon_name: \"新\"\n    }\n  ],\n  is_essential: false,\n  server_utc: \"2017-05-29T05:53:51.103Z\",\n  specifications: [ ],\n  rating_count: 880,\n  month_sales: 123,\n  description: \"dfs\",\n  attrs: [ ],\n  display_times: [ ],\n  pinyin_name: \"\",\n  is_featured: 0,\n  rating: 3.4,\n  __v: 0\n  },\n]\n```\n\n\n\n\n### 53、获取食品数量\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/v2/foods/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/shopping/v2/foods/count](https://elm.cangdu.org/shopping/v2/foods/count)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  count: 1\n}\n```\n\n\n\n\n### 54、获取食品种类详情\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/v2/menu/:category_id\n```\n\n#### 示例：\n[https://elm.cangdu.org/shopping/v2/menu/1](https://elm.cangdu.org/shopping/v2/menu/1)\n\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|category_id      |Y       |int | 食品种类id |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  name: \"热销榜\",\n  description: \"大家喜欢吃，才叫真好吃。\",\n  id: 1,\n  restaurant_id: 2,\n  type: 1,\n  icon_url: \"5da3872d782f707b4c82ce4607c73d1ajpeg\",\n  is_selected: true,\n  __v: 3\n}\n```\n\n\n\n\n### 55、更新食品\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/v2/updatefood\n```\n\n#### 示例：\n\n\n#### 请求方式：\n```\nPOST\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|item_id      |Y       |int   | 食品id |\n|name      |Y       |string   | 食品名称 |\n|description      |N      |string   | 食品介绍 |\n|image_path      |Y       |string   |店铺图片地址 |\n|restaurant_id      |Y       |int   | 餐馆id |\n|category_id      |Y       |int   | 食品分类id |\n|specfoods      |Y       |array   | 规格： [{specs: '默认',packing_fee: 0,price: 20,}]|\n\n#### 返回示例：\n\n```javascript\n{\n  status: 1,\n  success: '修改食品信息成功',\n}\n```\n\n\n\n\n### 56、删除食品\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/shopping/v2/food/:food_id\n```\n\n#### 示例：\n\n\n\n#### 请求方式：\n```\nDELETE\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|food_id      |Y       |int | 食品id |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  success: '删除食品成功'\n}\n```\n\n\n\n### 57、获取用户列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/users/list\n```\n\n#### 示例：\n[https://elm.cangdu.org/v1/users/list?offset=0&limit=20](https://elm.cangdu.org/v1/users/list?offset=0&limit=20)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|limit      |Y       |int | 获取数据数量，默认 20 |\n|offset      |Y       |int | 跳过数据条数 默认 0 |\n\n\n#### 返回示例：\n\n```javascript\n[\n  {\n    username: \"ddfdsf\",\n    user_id: 2,\n    id: 2,\n    city: \"北京\",\n    registe_time: \"2017-05-29 21:46\",\n    column_desc: {\n      gift_mall_desc: \"0元好物在这里\",\n      game_link: \"https://gamecenter.faas.ele.me\",\n      game_is_show: 1,\n      game_image_hash: \"05f108ca4e0c543488799f0c7c708cb1jpeg\",\n      game_desc: \"玩游戏领红包\"\n    },\n    point: 0,\n    mobile: \"\",\n    is_mobile_valid: true,\n    is_email_valid: false,\n    is_active: 1,\n    gift_amount: 3,\n    email: \"\",\n    delivery_card_expire_days: 0,\n    current_invoice_id: 0,\n    current_address_id: 0,\n    brand_member_new: 0,\n    balance: 0,\n    avatar: \"default.jpg\",\n    __v: 0\n  },\n  ...\n]\n```\n\n\n\n### 58、获取订单列表\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/bos/orders\n```\n\n#### 示例：\n[https://elm.cangdu.org/bos/orders?offset=0&limit=20](https://elm.cangdu.org/bos/orders?offset=0&limit=20)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：query\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|limit      |Y       |int | 获取数据数量，默认 20 |\n|offset      |Y       |int | 跳过数据条数 默认 0 |\n\n\n#### 返回示例：\n\n```javascript\n[\n  \n]\n```\n\n\n\n\n### 59、获取地址信息\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/addresse/:address_id\n```\n\n#### 示例：\n[https://elm.cangdu.org/v1/addresse/1](https://elm.cangdu.org/v1/addresse/1)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|address_id      |Y       |int | 地址id |\n\n\n#### 返回示例：\n\n```javascript\n[\n  \n]\n```\n\n\n\n### 60、获取用户分布信息\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/v1/user/city/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/v1/user/city/count](https://elm.cangdu.org/v1/user/city/count)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n\n\n#### 返回示例：\n\n```javascript\n{\n  status: 1,\n  user_city: {\n    beijing: 1,\n    shanghai: 0,\n    shenzhen: 1,\n    hangzhou: 0,\n    qita: 0\n  }\n}\n```\n\n\n\n### 61、获取某天管理员注册量\n\n#### 请求URL：\n```\nhttps://elm.cangdu.org/statis/admin/:date/count\n```\n\n#### 示例：\n[https://elm.cangdu.org/statis/admin/2017-05-30/count](https://elm.cangdu.org/statis/admin/2017-05-30/count)\n\n#### 请求方式：\n```\nGET\n```\n\n#### 参数类型：param\n\n|参数|是否必选|类型|说明|\n|:-----|:-------:|:-----|:-----|\n|date      |Y       |string  | 日期：格式 2017-05-29 |\n\n\n\n#### 返回示例：\n\n```javascript\n\n{\n  status: 1,\n  count: 1\n}\n```\n"
  },
  {
    "path": "COPYING",
    "content": "\n        GNU GENERAL PUBLIC LICENSE\n           Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc.\n                       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n          Preamble\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation's software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author's protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone's free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\f\n        GNU GENERAL PUBLIC LICENSE\n   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program's\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\f\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\f\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\f\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\n          NO WARRANTY\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n\n         END OF TERMS AND CONDITIONS\n\f\n      How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nconvey the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software; you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation; either version 2 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program; if not, write to the Free Software\n    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n\n\nAlso add information on how to contact you by electronic and paper mail.\n\nIf the program is interactive, make it output a short notice like this\nwhen it starts in an interactive mode:\n\n    Gnomovision version 69, Copyright (C) year name of author\n    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, the commands you use may\nbe called something other than `show w' and `show c'; they could even be\nmouse-clicks or menu items--whatever suits your program.\n\nYou should also get your employer (if you work as a programmer) or your\nschool, if any, to sign a \"copyright disclaimer\" for the program, if\nnecessary.  Here is a sample; alter the names:\n\n  Yoyodyne, Inc., hereby disclaims all copyright interest in the program\n  `Gnomovision' (which makes passes at compilers) written by James Hacker.\n\n  <signature of Ty Coon>, 1 April 1989\n  Ty Coon, President of Vice\n\nThis General Public License does not permit incorporating your program into\nproprietary programs.  If your program is a subroutine library, you may\nconsider it more useful to permit linking proprietary applications with the\nlibrary.  If this is what you want to do, use the GNU Library General\nPublic License instead of this License."
  },
  {
    "path": "InitData/activity.js",
    "content": "export default [\n{\ndescription: \"\",\nicon_color: \"3FBDE6\",\nicon_name: \"品\",\nid: 8,\nname: \"品牌商家\",\nranking_weight: 7\n},\n{\ndescription: \"已加入“外卖保”计划，食品安全有保障\",\nicon_color: \"999999\",\nicon_name: \"保\",\nid: 7,\nname: \"外卖保\",\nranking_weight: 6\n},\n{\ndescription: \"新店\",\nicon_color: \"E8842D\",\nicon_name: \"新\",\nid: 5,\nname: \"新店\",\nranking_weight: 4\n},\n{\ndescription: \"该商家支持开发票，请在下单时填写好发票抬头\",\nicon_color: \"999999\",\nicon_name: \"票\",\nid: 4,\nname: \"开发票\",\nranking_weight: 3\n},\n{\ndescription: \"可使用支付宝、微信、手机QQ进行在线支付\",\nicon_color: \"FF4E00\",\nicon_name: \"付\",\nid: 3,\nname: \"在线支付\",\nranking_weight: 2\n},\n{\ndescription: \"准时必达，超时秒赔\",\nicon_color: \"57A9FF\",\nicon_name: \"准\",\nid: 9,\nname: \"准时达\",\nranking_weight: 1\n}\n]"
  },
  {
    "path": "InitData/category.js",
    "content": "export default [\n{\ncount: 0,\nids: [\n207,\n220,\n260,\n233,\n239,\n244,\n248,\n252\n],\nimage_url: \"\",\nlevel: 1,\nname: \"全部商家\"\n},\n{\ncount: 0,\nid: 207,\nids: [\n207\n],\nimage_url: \"bff533cf9617bd57fe1dfb05603bebcfpng\",\nlevel: 1,\nname: \"快餐便当\",\nsub_categories: [\n{\ncount: 0,\nid: 207,\nimage_url: \"44545a0518aab93817cfe611e88bb702png\",\nlevel: 1,\nname: \"全部快餐便当\"\n},\n{\ncount: 0,\nid: 265,\nimage_url: \"be84bc4d7cf12deee9115b16eb099302png\",\nlevel: 2,\nname: \"简餐\"\n},\n{\ncount: 0,\nid: 209,\nimage_url: \"66b78c0e7099c278977298d7c6042c80png\",\nlevel: 2,\nname: \"盖浇饭\"\n},\n{\ncount: 0,\nid: 213,\nimage_url: \"02e6c9e3bf338ec0ba0d923717b9f8acpng\",\nlevel: 2,\nname: \"米粉面馆\"\n},\n{\ncount: 0,\nid: 215,\nimage_url: \"af6ab89041b3e77fe115d1e4b72d69f0png\",\nlevel: 2,\nname: \"包子粥店\"\n},\n{\ncount: 0,\nid: 219,\nimage_url: \"eddd9dc7e5d21debe2fb278ae01fefe9png\",\nlevel: 2,\nname: \"香锅砂锅\"\n},\n{\ncount: 0,\nid: 214,\nimage_url: \"4d347d0dc65dd75fb2911256aabf2327png\",\nlevel: 2,\nname: \"麻辣烫\"\n},\n{\ncount: 0,\nid: 217,\nimage_url: \"65b575c2278a3f6e5c70af45b578cbeepng\",\nlevel: 2,\nname: \"饺子馄饨\"\n},\n{\ncount: 0,\nid: 212,\nimage_url: \"7d47af01fccc46fc3621865a9cc07c93png\",\nlevel: 2,\nname: \"汉堡\"\n},\n{\ncount: 0,\nid: 216,\nimage_url: \"4c6af48f68284ad91c6d95d2bd3f4aa6png\",\nlevel: 2,\nname: \"生煎锅贴\"\n},\n{\ncount: 0,\nid: 267,\nimage_url: \"79637dc36d67de4fe48d121ea77b3eddpng\",\nlevel: 2,\nname: \"黄焖鸡米饭\"\n},\n{\ncount: 0,\nid: 266,\nimage_url: \"c09d1ff71384e2e1664f72e0a928810dpng\",\nlevel: 2,\nname: \"烧腊饭\"\n},\n{\ncount: 0,\nid: 269,\nimage_url: \"180cb951c2d4eb2e220debf4571bf83apng\",\nlevel: 2,\nname: \"煲仔饭\"\n},\n{\ncount: 0,\nid: 268,\nimage_url: \"cdf208b399b854e456f23d28b1972e97png\",\nlevel: 2,\nname: \"咖喱饭\"\n}\n]\n},\n{\ncount: 0,\nid: 220,\nids: [\n220\n],\nimage_url: \"655ac1bfd1e818013a9f099e964f1e9djpeg\",\nlevel: 1,\nname: \"特色菜系\",\nsub_categories: [\n{\ncount: 0,\nid: 220,\nimage_url: \"ef32dabbcd88fbed5a336383e74c733dpng\",\nlevel: 1,\nname: \"全部特色菜系\"\n},\n{\ncount: 0,\nid: 221,\nimage_url: \"43b0e4694f8ebc393cce6723d5df5222png\",\nlevel: 2,\nname: \"川湘菜\"\n},\n{\ncount: 0,\nid: 263,\nimage_url: \"94ac841e2c3e27f8eeeaa917574ed574png\",\nlevel: 2,\nname: \"其他菜系\"\n},\n{\ncount: 0,\nid: 225,\nimage_url: \"2d098842683548f9626cf0a8c879257dpng\",\nlevel: 2,\nname: \"江浙菜\"\n},\n{\ncount: 0,\nid: 222,\nimage_url: \"e320bf1ab9762cb1faad27d79f51219cpng\",\nlevel: 2,\nname: \"粤菜\"\n},\n{\ncount: 0,\nid: 232,\nimage_url: \"a33f1ec0044ddd4d282fbc8b1f0a946fpng\",\nlevel: 2,\nname: \"海鲜\"\n},\n{\ncount: 0,\nid: 231,\nimage_url: \"c03d81f550eb849ed2d4d0290ced9099png\",\nlevel: 2,\nname: \"火锅烤鱼\"\n},\n{\ncount: 0,\nid: 223,\nimage_url: \"aa4de1e9b54170cf495d8052407658c5png\",\nlevel: 2,\nname: \"东北菜\"\n},\n{\ncount: 0,\nid: 226,\nimage_url: \"741d15270496d7699dd2e7804fccc7a1png\",\nlevel: 2,\nname: \"西北菜\"\n},\n{\ncount: 0,\nid: 224,\nimage_url: \"54dabf93116f4a336fcc91431be43828png\",\nlevel: 2,\nname: \"云南菜\"\n},\n{\ncount: 0,\nid: 228,\nimage_url: \"a7e6d9cf1993fa4fe0bd02d74d40c9c2png\",\nlevel: 2,\nname: \"新疆菜\"\n},\n{\ncount: 0,\nid: 227,\nimage_url: \"e19bf59188a157dfc372b3d254fc986dpng\",\nlevel: 2,\nname: \"鲁菜\"\n}\n]\n},\n{\ncount: 0,\nid: 260,\nids: [\n260\n],\nimage_url: \"1babf6efbfdb0ef701f19689a5529e5fjpeg\",\nlevel: 1,\nname: \"异国料理\",\nsub_categories: [\n{\ncount: 0,\nid: 260,\nimage_url: \"754c5c2ad1b01668a7186ec5f0fb0e59png\",\nlevel: 1,\nname: \"全部异国料理\"\n},\n{\ncount: 0,\nid: 229,\nimage_url: \"cf8c84a2fe5ecf27b21bcbddc1724d36png\",\nlevel: 2,\nname: \"日韩料理\"\n},\n{\ncount: 0,\nid: 230,\nimage_url: \"78c45200d58e5c02cb70fb8287df732dpng\",\nlevel: 2,\nname: \"西餐\"\n},\n{\ncount: 0,\nid: 211,\nimage_url: \"bb7eb2afe778ba9afbe54f9d282818d1png\",\nlevel: 2,\nname: \"披萨意面\"\n},\n{\ncount: 0,\nid: 264,\nimage_url: \"614053401fddc171eed0436f3cd1f7dcpng\",\nlevel: 2,\nname: \"东南亚菜\"\n}\n]\n},\n{\ncount: 0,\nid: 233,\nids: [\n233\n],\nimage_url: \"435a7eda7659bac613e524ca7c1ae12epng\",\nlevel: 1,\nname: \"小吃夜宵\",\nsub_categories: [\n{\ncount: 0,\nid: 233,\nimage_url: \"7d714540b1590552d991fd731e8772a3png\",\nlevel: 1,\nname: \"全部小吃夜宵\"\n},\n{\ncount: 0,\nid: 236,\nimage_url: \"d049fb617edcea921185258d1675db83png\",\nlevel: 2,\nname: \"小龙虾\"\n},\n{\ncount: 0,\nid: 237,\nimage_url: \"90483b16d9598aec798263220eb3a821png\",\nlevel: 2,\nname: \"地方小吃\"\n},\n{\ncount: 0,\nid: 218,\nimage_url: \"3c6e2763cf4ee56f18fd1b7360585fb3png\",\nlevel: 2,\nname: \"烧烤\"\n},\n{\ncount: 0,\nid: 234,\nimage_url: \"71164ef684e8a13b5e66a20a1c55671cpng\",\nlevel: 2,\nname: \"炸鸡炸串\"\n},\n{\ncount: 0,\nid: 235,\nimage_url: \"efdba78945f83ed1e8e6e838718b4c65png\",\nlevel: 2,\nname: \"鸭脖卤味\"\n},\n{\ncount: 0,\nid: 238,\nimage_url: \"d7e0be7e5420e213ea42e4fa3efa762bpng\",\nlevel: 2,\nname: \"零食\"\n}\n]\n},\n{\ncount: 0,\nid: 239,\nids: [\n239\n],\nimage_url: \"48243703799592368585b23589cf3ba8png\",\nlevel: 1,\nname: \"甜品饮品\",\nsub_categories: [\n{\ncount: 0,\nid: 239,\nimage_url: \"3233a4cac2e5e02cade80cce22992796png\",\nlevel: 1,\nname: \"全部甜品饮品\"\n},\n{\ncount: 0,\nid: 240,\nimage_url: \"3a40add809b4405e677c4cab574e56c4png\",\nlevel: 2,\nname: \"奶茶果汁\"\n},\n{\ncount: 0,\nid: 241,\nimage_url: \"213cbac0242d4845d1d28af0fa5fe35epng\",\nlevel: 2,\nname: \"甜品\"\n},\n{\ncount: 0,\nid: 242,\nimage_url: \"c2f05ef82a7ee44b7848b7fb598d42e3png\",\nlevel: 2,\nname: \"咖啡\"\n}\n]\n},\n{\ncount: 0,\nid: 244,\nids: [\n244\n],\nimage_url: \"6235a6fce94bed63a21508f68a72c158png\",\nlevel: 1,\nname: \"果蔬生鲜\",\nsub_categories: [\n{\ncount: 0,\nid: 244,\nimage_url: \"1ce198f37a81285f4afa2aaf826a558fpng\",\nlevel: 1,\nname: \"全部果蔬生鲜\"\n},\n{\ncount: 0,\nid: 245,\nimage_url: \"a831a37ec670ca93cd35a8a6b5a20e62png\",\nlevel: 2,\nname: \"水果\"\n},\n{\ncount: 0,\nid: 247,\nimage_url: \"6d3cef77e055d03598cba821ebcf1f06png\",\nlevel: 2,\nname: \"生鲜\"\n},\n{\ncount: 0,\nid: 246,\nimage_url: \"1729548b88614c1b3a6e71ef7f89f294png\",\nlevel: 2,\nname: \"蔬菜\"\n},\n{\ncount: 0,\nid: 270,\nimage_url: \"a2ab438ee4ac09e6e53b3f96694bac81png\",\nlevel: 2,\nname: \"海鲜水产\"\n}\n]\n},\n{\ncount: 0,\nid: 248,\nids: [\n248\n],\nimage_url: \"0e07558e305abfb2618ae760142222f9png\",\nlevel: 1,\nname: \"鲜花蛋糕\",\nsub_categories: [\n{\ncount: 0,\nid: 248,\nimage_url: \"3edf3f4ef8ed1d300896c5b9178685ebpng\",\nlevel: 1,\nname: \"全部鲜花蛋糕\"\n},\n{\ncount: 0,\nid: 251,\nimage_url: \"cf598de7338b4bf9dd2924736c4ec9d2png\",\nlevel: 2,\nname: \"鲜花\"\n},\n{\ncount: 0,\nid: 249,\nimage_url: \"ac94b005c97ef158282326cb49389893png\",\nlevel: 2,\nname: \"蛋糕\"\n},\n{\ncount: 0,\nid: 250,\nimage_url: \"512232422a83e25a2c0a5588b7b6e730png\",\nlevel: 2,\nname: \"面包\"\n}\n]\n},\n{\ncount: 0,\nid: 252,\nids: [\n252\n],\nimage_url: \"ac15c5dd59b641bdfdeb822362547fb4png\",\nlevel: 1,\nname: \"商店超市\",\nsub_categories: [\n{\ncount: 0,\nid: 252,\nimage_url: \"df21b511f287ccb402e68285d2653caepng\",\nlevel: 1,\nname: \"全部商店超市\"\n},\n{\ncount: 0,\nid: 254,\nimage_url: \"92ae70438be9a3adfc5a560c1e6ae818png\",\nlevel: 2,\nname: \"超市\"\n},\n{\ncount: 0,\nid: 271,\nimage_url: \"841d136b17fa4cb871a296c9e4997cfapng\",\nlevel: 2,\nname: \"便利店\"\n},\n{\ncount: 0,\nid: 274,\nimage_url: \"7df84232aebbb5ffb53e564c9e328d31png\",\nlevel: 2,\nname: \"名酒坊\"\n},\n{\ncount: 0,\nid: 273,\nimage_url: \"c2b0e2b27ea55a9a7211f14ad95dcd0apng\",\nlevel: 2,\nname: \"零食饮料\"\n},\n{\ncount: 0,\nid: 255,\nimage_url: \"825031dc99e1f99c26feb7186b6cf3a6png\",\nlevel: 2,\nname: \"水站\"\n},\n{\ncount: 0,\nid: 258,\nimage_url: \"54b7ce87994d6770f1ead57b0038c569png\",\nlevel: 2,\nname: \"茶\"\n},\n{\ncount: 0,\nid: 256,\nimage_url: \"f6460e330d25dabd4fd8db07cf53f039png\",\nlevel: 2,\nname: \"奶站\"\n},\n{\ncount: 0,\nid: 257,\nimage_url: \"b435af6662fd0b3e9fb6537474753f72png\",\nlevel: 2,\nname: \"粮油\"\n},\n{\ncount: 0,\nid: 272,\nimage_url: \"f7e32a289deca477c286362e3a1bc2bcpng\",\nlevel: 2,\nname: \"美妆母婴\"\n}\n]\n}\n]"
  },
  {
    "path": "InitData/cities.js",
    "content": "export default {\nS: [\n{\nid: 1,\nname: \"上海\",\nabbr: \"SH\",\narea_code: \"021\",\nsort: 1,\nlatitude: 31.23037,\nlongitude: 121.473701,\nis_map: true,\npinyin: \"shanghai\"\n},\n{\nid: 31,\nname: \"石家庄\",\nabbr: \"SJZ\",\narea_code: \"0311\",\nsort: 17,\nlatitude: 38.042759,\nlongitude: 114.514297,\nis_map: true,\npinyin: \"shijiazhuang\"\n},\n{\nid: 401,\nname: \"三门峡\",\nabbr: \"SMX\",\narea_code: \"0398\",\nsort: 1900,\nlatitude: 34.77261,\nlongitude: 111.200302,\nis_map: true,\npinyin: \"sanmenxia\"\n},\n{\nid: 8,\nname: \"苏州\",\nabbr: \"SZ\",\narea_code: \"0512\",\nsort: 2000,\nlatitude: 31.29834,\nlongitude: 120.583191,\nis_map: true,\npinyin: \"suzhou\"\n},\n{\nid: 11,\nname: \"深圳\",\nabbr: \"SZ\",\narea_code: \"0755\",\nsort: 2000,\nlatitude: 22.54286,\nlongitude: 114.059563,\nis_map: true,\npinyin: \"shenzhen\"\n},\n{\nid: 16,\nname: \"沈阳\",\nabbr: \"SY\",\narea_code: \"024\",\nsort: 2000,\nlatitude: 41.80563,\nlongitude: 123.432358,\nis_map: true,\npinyin: \"shenyang\"\n},\n{\nid: 69,\nname: \"绍兴\",\nabbr: \"SX\",\narea_code: \"0575\",\nsort: 2000,\nlatitude: 30.030331,\nlongitude: 120.5802,\nis_map: true,\npinyin: \"shaoxing\"\n},\n{\nid: 72,\nname: \"韶关\",\nabbr: \"SG\",\narea_code: \"0751\",\nsort: 2000,\nlatitude: 24.81039,\nlongitude: 113.597229,\nis_map: true,\npinyin: \"shaoguan\"\n},\n{\nid: 97,\nname: \"上饶\",\nabbr: \"SR\",\narea_code: \"0793\",\nsort: 2000,\nlatitude: 28.45463,\nlongitude: 117.943573,\nis_map: true,\npinyin: \"shangrao\"\n},\n{\nid: 135,\nname: \"宿州\",\nabbr: \"SZ\",\narea_code: \"0557\",\nsort: 2000,\nlatitude: 33.646141,\nlongitude: 116.963913,\nis_map: true,\npinyin: \"suzhou\"\n},\n{\nid: 165,\nname: \"三亚\",\nabbr: \"SY\",\narea_code: \"460200\",\nsort: 2000,\nlatitude: 18.25248,\nlongitude: 109.512093,\nis_map: true,\npinyin: \"sanya\"\n},\n{\nid: 171,\nname: \"四平\",\nabbr: \"SP\",\narea_code: \"0434\",\nsort: 2000,\nlatitude: 43.166458,\nlongitude: 124.350357,\nis_map: true,\npinyin: \"siping\"\n},\n{\nid: 173,\nname: \"邵阳\",\nabbr: \"SY\",\narea_code: \"0739\",\nsort: 2000,\nlatitude: 27.238899,\nlongitude: 111.467697,\nis_map: true,\npinyin: \"shaoyang\"\n},\n{\nid: 196,\nname: \"十堰\",\nabbr: \"SY\",\narea_code: \"0719\",\nsort: 2000,\nlatitude: 32.615768,\nlongitude: 110.18734,\nis_map: true,\npinyin: \"shiyan\"\n},\n{\nid: 200,\nname: \"汕头\",\nabbr: \"ST\",\narea_code: \"0754\",\nsort: 2000,\nlatitude: 23.3535,\nlongitude: 116.682213,\nis_map: true,\npinyin: \"shantou\"\n},\n{\nid: 206,\nname: \"宿迁\",\nabbr: \"SQ\",\narea_code: \"0527\",\nsort: 2000,\nlatitude: 33.961929,\nlongitude: 118.27549,\nis_map: true,\npinyin: \"suqian\"\n},\n{\nid: 228,\nname: \"绥化\",\nabbr: \"SH\",\narea_code: \"0455\",\nsort: 2000,\nlatitude: 46.652458,\nlongitude: 126.969322,\nis_map: true,\npinyin: \"suihua\"\n},\n{\nid: 253,\nname: \"商丘\",\nabbr: \"SQ\",\narea_code: \"0370\",\nsort: 2000,\nlatitude: 34.414268,\nlongitude: 115.656349,\nis_map: true,\npinyin: \"shangqiu\"\n},\n{\nid: 258,\nname: \"石河子\",\nabbr: \"SHZ\",\narea_code: \"0993\",\nsort: 2000,\nlatitude: 44.30653,\nlongitude: 86.078934,\nis_map: true,\npinyin: \"shihezi\"\n},\n{\nid: 270,\nname: \"三明\",\nabbr: \"SM\",\narea_code: \"0598\",\nsort: 2000,\nlatitude: 26.263849,\nlongitude: 117.639221,\nis_map: true,\npinyin: \"sanming\"\n},\n{\nid: 291,\nname: \"遂宁\",\nabbr: \"SNS\",\narea_code: \"0825\",\nsort: 2000,\nlatitude: 30.53286,\nlongitude: 105.592728,\nis_map: true,\npinyin: \"suiningshi\"\n},\n{\nid: 329,\nname: \"石狮\",\nabbr: \"SS\",\narea_code: \"05951\",\nsort: 2000,\nlatitude: 24.73172,\nlongitude: 118.648048,\nis_map: true,\npinyin: \"shishi\"\n},\n{\nid: 392,\nname: \"朔州\",\nabbr: \"SZ\",\narea_code: \"0349\",\nsort: 2000,\nlatitude: 39.331589,\nlongitude: 112.431808,\nis_map: true,\npinyin: \"shuozhou\"\n},\n{\nid: 447,\nname: \"沙坪坝\",\nabbr: \"SPB\",\narea_code: \"10025\",\nsort: 2000,\nlatitude: 29.540979,\nlongitude: 106.457733,\nis_map: true,\npinyin: \"shapingba\"\n},\n{\nid: 458,\nname: \"寿县\",\nabbr: \"SX\",\narea_code: \"200004\",\nsort: 2000,\nlatitude: 32.573318,\nlongitude: 116.787079,\nis_map: true,\npinyin: \"shouxian\"\n},\n{\nid: 467,\nname: \"舒城\",\nabbr: \"SC\",\narea_code: \"200013\",\nsort: 2000,\nlatitude: 31.46209,\nlongitude: 116.9487,\nis_map: true,\npinyin: \"shucheng\"\n},\n{\nid: 473,\nname: \"濉溪\",\nabbr: \"SX\",\narea_code: \"200019\",\nsort: 2000,\nlatitude: 33.915371,\nlongitude: 116.766197,\nis_map: true,\npinyin: \"suixi\"\n},\n{\nid: 513,\nname: \"邵武\",\nabbr: \"SW\",\narea_code: \"200059\",\nsort: 2000,\nlatitude: 27.340361,\nlongitude: 117.492531,\nis_map: true,\npinyin: \"shaowu\"\n},\n{\nid: 542,\nname: \"四会\",\nabbr: \"SH\",\narea_code: \"200088\",\nsort: 2000,\nlatitude: 23.327431,\nlongitude: 112.734039,\nis_map: true,\npinyin: \"sihui\"\n},\n{\nid: 544,\nname: \"汕尾\",\nabbr: \"SW\",\narea_code: \"200090\",\nsort: 2000,\nlatitude: 22.78566,\nlongitude: 115.375137,\nis_map: true,\npinyin: \"shanwei\"\n},\n{\nid: 560,\nname: \"遂溪\",\nabbr: \"SX\",\narea_code: \"200106\",\nsort: 2000,\nlatitude: 21.377081,\nlongitude: 110.250061,\nis_map: true,\npinyin: \"suixi\"\n},\n{\nid: 604,\nname: \"沙河\",\nabbr: \"SH\",\narea_code: \"200150\",\nsort: 2000,\nlatitude: 36.85516,\nlongitude: 114.503319,\nis_map: true,\npinyin: \"shahe\"\n},\n{\nid: 605,\nname: \"涉县\",\nabbr: \"SX\",\narea_code: \"200151\",\nsort: 2000,\nlatitude: 36.584949,\nlongitude: 113.691422,\nis_map: true,\npinyin: \"shexian\"\n},\n{\nid: 609,\nname: \"深州\",\nabbr: \"SZ\",\narea_code: \"200155\",\nsort: 2000,\nlatitude: 38.000221,\nlongitude: 115.560013,\nis_map: true,\npinyin: \"shenzhou\"\n},\n{\nid: 631,\nname: \"上蔡\",\nabbr: \"SC\",\narea_code: \"200177\",\nsort: 2000,\nlatitude: 33.26255,\nlongitude: 114.264351,\nis_map: true,\npinyin: \"shangcai\"\n},\n{\nid: 646,\nname: \"沈丘\",\nabbr: \"SQ\",\narea_code: \"200192\",\nsort: 2000,\nlatitude: 33.409401,\nlongitude: 115.098557,\nis_map: true,\npinyin: \"shenqiu\"\n},\n{\nid: 656,\nname: \"商水\",\nabbr: \"SS\",\narea_code: \"200202\",\nsort: 2000,\nlatitude: 33.542561,\nlongitude: 114.611649,\nis_map: true,\npinyin: \"shangshui\"\n},\n{\nid: 658,\nname: \"社旗\",\nabbr: \"SQ\",\narea_code: \"200204\",\nsort: 2000,\nlatitude: 33.056141,\nlongitude: 112.947929,\nis_map: true,\npinyin: \"sheqi\"\n},\n{\nid: 699,\nname: \"双鸭山\",\nabbr: \"SYS\",\narea_code: \"200245\",\nsort: 2000,\nlatitude: 46.64658,\nlongitude: 131.159103,\nis_map: true,\npinyin: \"shuangyashan\"\n},\n{\nid: 702,\nname: \"尚志\",\nabbr: \"SZ\",\narea_code: \"200248\",\nsort: 2000,\nlatitude: 45.211021,\nlongitude: 127.960274,\nis_map: true,\npinyin: \"shangzhi\"\n},\n{\nid: 704,\nname: \"双城\",\nabbr: \"SC\",\narea_code: \"200250\",\nsort: 2000,\nlatitude: 45.383549,\nlongitude: 126.312271,\nis_map: true,\npinyin: \"shuangcheng\"\n},\n{\nid: 721,\nname: \"松滋\",\nabbr: \"SZ\",\narea_code: \"200267\",\nsort: 2000,\nlatitude: 30.1696,\nlongitude: 111.767433,\nis_map: true,\npinyin: \"songzi\"\n},\n{\nid: 733,\nname: \"石首\",\nabbr: \"SS\",\narea_code: \"200279\",\nsort: 2000,\nlatitude: 29.72085,\nlongitude: 112.425499,\nis_map: true,\npinyin: \"shishou\"\n},\n{\nid: 747,\nname: \"随县\",\nabbr: \"SX\",\narea_code: \"200293\",\nsort: 2000,\nlatitude: 31.8538,\nlongitude: 113.29995,\nis_map: true,\npinyin: \"suixian\"\n},\n{\nid: 748,\nname: \"沙洋\",\nabbr: \"SY\",\narea_code: \"200294\",\nsort: 2000,\nlatitude: 30.709181,\nlongitude: 112.588539,\nis_map: true,\npinyin: \"shayang\"\n},\n{\nid: 754,\nname: \"邵东\",\nabbr: \"SD\",\narea_code: \"200300\",\nsort: 2000,\nlatitude: 27.25844,\nlongitude: 111.744461,\nis_map: true,\npinyin: \"shaodong\"\n},\n{\nid: 790,\nname: \"石门\",\nabbr: \"SM\",\narea_code: \"200336\",\nsort: 2000,\nlatitude: 29.584129,\nlongitude: 111.379822,\nis_map: true,\npinyin: \"shimen\"\n},\n{\nid: 791,\nname: \"双峰\",\nabbr: \"SF\",\narea_code: \"200337\",\nsort: 2000,\nlatitude: 27.45702,\nlongitude: 112.193916,\nis_map: true,\npinyin: \"shuangfeng\"\n},\n{\nid: 808,\nname: \"舒兰\",\nabbr: \"SL\",\narea_code: \"200354\",\nsort: 2000,\nlatitude: 44.405861,\nlongitude: 126.965317,\nis_map: true,\npinyin: \"shulan\"\n},\n{\nid: 819,\nname: \"双辽\",\nabbr: \"SL\",\narea_code: \"200365\",\nsort: 2000,\nlatitude: 43.518452,\nlongitude: 123.50296,\nis_map: true,\npinyin: \"shuangliao\"\n},\n{\nid: 826,\nname: \"沭阳\",\nabbr: \"SY\",\narea_code: \"200372\",\nsort: 2000,\nlatitude: 34.112148,\nlongitude: 118.804062,\nis_map: true,\npinyin: \"shuyang\"\n},\n{\nid: 845,\nname: \"射阳\",\nabbr: \"SY\",\narea_code: \"200391\",\nsort: 2000,\nlatitude: 33.77496,\nlongitude: 120.258148,\nis_map: true,\npinyin: \"sheyang\"\n},\n{\nid: 847,\nname: \"泗洪\",\nabbr: \"SH\",\narea_code: \"200393\",\nsort: 2000,\nlatitude: 33.459,\nlongitude: 118.21624,\nis_map: true,\npinyin: \"sihong\"\n},\n{\nid: 849,\nname: \"泗阳\",\nabbr: \"SY\",\narea_code: \"200395\",\nsort: 2000,\nlatitude: 33.721008,\nlongitude: 118.703346,\nis_map: true,\npinyin: \"siyang\"\n},\n{\nid: 889,\nname: \"上栗\",\nabbr: \"SL\",\narea_code: \"200435\",\nsort: 2000,\nlatitude: 27.880421,\nlongitude: 113.795372,\nis_map: true,\npinyin: \"shangli\"\n},\n{\nid: 910,\nname: \"绥中\",\nabbr: \"SZ\",\narea_code: \"200456\",\nsort: 2000,\nlatitude: 40.325649,\nlongitude: 120.344307,\nis_map: true,\npinyin: \"suizhong\"\n},\n{\nid: 921,\nname: \"石嘴山\",\nabbr: \"SZS\",\narea_code: \"200467\",\nsort: 2000,\nlatitude: 38.9841,\nlongitude: 106.384178,\nis_map: true,\npinyin: \"shizuishan\"\n},\n{\nid: 932,\nname: \"寿光\",\nabbr: \"SG\",\narea_code: \"200478\",\nsort: 2000,\nlatitude: 36.855412,\nlongitude: 118.790977,\nis_map: true,\npinyin: \"shouguang\"\n},\n{\nid: 947,\nname: \"莘县\",\nabbr: \"SX\",\narea_code: \"200493\",\nsort: 2000,\nlatitude: 36.233608,\nlongitude: 115.670723,\nis_map: true,\npinyin: \"shenxian\"\n},\n{\nid: 1009,\nname: \"神木\",\nabbr: \"SM\",\narea_code: \"200555\",\nsort: 2000,\nlatitude: 38.842388,\nlongitude: 110.498962,\nis_map: true,\npinyin: \"shenmu\"\n},\n{\nid: 1011,\nname: \"双流\",\nabbr: \"SL\",\narea_code: \"200557\",\nsort: 2000,\nlatitude: 30.574471,\nlongitude: 103.923767,\nis_map: true,\npinyin: \"shuangliu\"\n},\n{\nid: 1016,\nname: \"射洪\",\nabbr: \"SH\",\narea_code: \"200562\",\nsort: 2000,\nlatitude: 30.87113,\nlongitude: 105.388359,\nis_map: true,\npinyin: \"shehong\"\n},\n{\nid: 1040,\nname: \"三台\",\nabbr: \"ST\",\narea_code: \"200586\",\nsort: 2000,\nlatitude: 31.095631,\nlongitude: 105.094589,\nis_map: true,\npinyin: \"santai\"\n},\n{\nid: 1048,\nname: \"什邡\",\nabbr: \"SF\",\narea_code: \"200594\",\nsort: 2000,\nlatitude: 31.127359,\nlongitude: 104.166939,\nis_map: true,\npinyin: \"shifang\"\n},\n{\nid: 1089,\nname: \"上虞\",\nabbr: \"SY\",\narea_code: \"200635\",\nsort: 2000,\nlatitude: 30.03227,\nlongitude: 120.868584,\nis_map: true,\npinyin: \"shangyu\"\n},\n{\nid: 1094,\nname: \"嵊州\",\nabbr: \"SZ\",\narea_code: \"200640\",\nsort: 2000,\nlatitude: 29.58849,\nlongitude: 120.821701,\nis_map: true,\npinyin: \"shengzhou\"\n},\n{\nid: 1113,\nname: \"三门\",\nabbr: \"SM\",\narea_code: \"200659\",\nsort: 2000,\nlatitude: 29.10467,\nlongitude: 121.395683,\nis_map: true,\npinyin: \"sanmen\"\n},\n{\nid: 1140,\nname: \"顺平\",\nabbr: \"SP\",\narea_code: \"130636\",\nsort: 2000,\nlatitude: 38.837589,\nlongitude: 115.135429,\nis_map: false,\npinyin: \"shunping\"\n},\n{\nid: 347,\nname: \"三河\",\nabbr: \"SH\",\narea_code: \"03161\",\nsort: 9999,\nlatitude: 39.98246,\nlongitude: 117.078217,\nis_map: true,\npinyin: \"sanhe\"\n},\n{\nid: 361,\nname: \"松原\",\nabbr: \"SY\",\narea_code: \"04381\",\nsort: 9999,\nlatitude: 45.141102,\nlongitude: 124.82515,\nis_map: true,\npinyin: \"songyuan\"\n},\n{\nid: 383,\nname: \"随州\",\nabbr: \"SZ\",\narea_code: \"0722\",\nsort: 9999,\nlatitude: 31.69013,\nlongitude: 113.382622,\nis_map: true,\npinyin: \"suizhou\"\n},\n{\nid: 1160,\nname: \"沙县\",\nabbr: \"SX\",\narea_code: \"350427\",\nsort: 9999,\nlatitude: 26.39617,\nlongitude: 117.792679,\nis_map: true,\npinyin: \"shaxian\"\n},\n{\nid: 1163,\nname: \"绥棱\",\nabbr: \"SL\",\narea_code: \"231226\",\nsort: 9999,\nlatitude: 47.236092,\nlongitude: 127.114777,\nis_map: true,\npinyin: \"suiling\"\n},\n{\nid: 1221,\nname: \"尚义\",\nabbr: \"SY\",\narea_code: \"130725\",\nsort: 9999,\nlatitude: 41.08009,\nlongitude: 113.977715,\nis_map: true,\npinyin: \"shangyi\"\n},\n{\nid: 1241,\nname: \"肃宁\",\nabbr: \"SN\",\narea_code: \"130926\",\nsort: 9999,\nlatitude: 38.427101,\nlongitude: 115.835854,\nis_map: true,\npinyin: \"suning\"\n},\n{\nid: 1389,\nname: \"商都\",\nabbr: \"SD\",\narea_code: \"150923\",\nsort: 9999,\nlatitude: 41.560162,\nlongitude: 113.560646,\nis_map: true,\npinyin: \"shangdu\"\n},\n{\nid: 1395,\nname: \"四子王旗\",\nabbr: \"SZWQ\",\narea_code: \"150929\",\nsort: 9999,\nlatitude: 41.528114,\nlongitude: 111.701233,\nis_map: true,\npinyin: \"siziwangqi\"\n},\n{\nid: 1406,\nname: \"苏尼特左旗\",\nabbr: \"SNTZQ\",\narea_code: \"152523\",\nsort: 9999,\nlatitude: 43.854107,\nlongitude: 113.653412,\nis_map: true,\npinyin: \"sunitezuoqi\"\n},\n{\nid: 1407,\nname: \"苏尼特右旗\",\nabbr: \"SNTYQ\",\narea_code: \"152524\",\nsort: 9999,\nlatitude: 42.746662,\nlongitude: 112.655388,\nis_map: true,\npinyin: \"suniteyouqi\"\n},\n{\nid: 1481,\nname: \"绥滨\",\nabbr: \"SB\",\narea_code: \"230422\",\nsort: 9999,\nlatitude: 47.28989,\nlongitude: 131.860519,\nis_map: true,\npinyin: \"suibin\"\n},\n{\nid: 1499,\nname: \"绥芬河\",\nabbr: \"SFH\",\narea_code: \"231080\",\nsort: 9999,\nlatitude: 44.396866,\nlongitude: 131.164856,\nis_map: true,\npinyin: \"suifenhe\"\n},\n{\nid: 1504,\nname: \"孙吴\",\nabbr: \"SW\",\narea_code: \"231124\",\nsort: 9999,\nlatitude: 49.423943,\nlongitude: 127.327316,\nis_map: true,\npinyin: \"sunwu\"\n},\n{\nid: 1521,\nname: \"嵊泗\",\nabbr: \"SS\",\narea_code: \"330922\",\nsort: 9999,\nlatitude: 30.727165,\nlongitude: 122.457809,\nis_map: true,\npinyin: \"shengsi\"\n},\n{\nid: 1522,\nname: \"遂昌\",\nabbr: \"SC\",\narea_code: \"331123\",\nsort: 9999,\nlatitude: 28.5924,\nlongitude: 119.275887,\nis_map: true,\npinyin: \"suichang\"\n},\n{\nid: 1523,\nname: \"松阳\",\nabbr: \"SY\",\narea_code: \"331124\",\nsort: 9999,\nlatitude: 28.449938,\nlongitude: 119.485291,\nis_map: true,\npinyin: \"songyang\"\n},\n{\nid: 1533,\nname: \"宿松\",\nabbr: \"SS\",\narea_code: \"340826\",\nsort: 9999,\nlatitude: 30.158327,\nlongitude: 116.120201,\nis_map: true,\npinyin: \"susong\"\n},\n{\nid: 1561,\nname: \"顺昌\",\nabbr: \"SC\",\narea_code: \"350721\",\nsort: 9999,\nlatitude: 26.79285,\nlongitude: 117.807709,\nis_map: true,\npinyin: \"shunchang\"\n},\n{\nid: 1563,\nname: \"松溪\",\nabbr: \"SX\",\narea_code: \"350724\",\nsort: 9999,\nlatitude: 27.525785,\nlongitude: 118.783493,\nis_map: true,\npinyin: \"songxi\"\n},\n{\nid: 1565,\nname: \"上杭县\",\nabbr: \"SHX\",\narea_code: \"350823\",\nsort: 9999,\nlatitude: 25.049431,\nlongitude: 116.420258,\nis_map: true,\npinyin: \"shanghangxian\"\n},\n{\nid: 1570,\nname: \"寿宁\",\nabbr: \"SN\",\narea_code: \"350924\",\nsort: 9999,\nlatitude: 27.457798,\nlongitude: 119.506737,\nis_map: true,\npinyin: \"shouning\"\n},\n{\nid: 1582,\nname: \"深泽县\",\nabbr: \"SZX\",\narea_code: \"130128\",\nsort: 9999,\nlatitude: 38.18454,\nlongitude: 115.200211,\nis_map: true,\npinyin: \"shenze\"\n},\n{\nid: 1587,\nname: \"上犹\",\nabbr: \"SY\",\narea_code: \"360724\",\nsort: 9999,\nlatitude: 25.794285,\nlongitude: 114.540535,\nis_map: true,\npinyin: \"shangyou\"\n},\n{\nid: 1593,\nname: \"石城县\",\nabbr: \"SCX\",\narea_code: \"360735\",\nsort: 9999,\nlatitude: 26.326582,\nlongitude: 116.342247,\nis_map: true,\npinyin: \"shicheng\"\n},\n{\nid: 1598,\nname: \"遂川县\",\nabbr: \"SCX\",\narea_code: \"360827\",\nsort: 9999,\nlatitude: 26.323706,\nlongitude: 114.516891,\nis_map: true,\npinyin: \"suichuan\"\n},\n{\nid: 1604,\nname: \"上高\",\nabbr: \"SG\",\narea_code: \"360923\",\nsort: 9999,\nlatitude: 28.234789,\nlongitude: 114.932655,\nis_map: true,\npinyin: \"shanggao\"\n},\n{\nid: 1625,\nname: \"商河\",\nabbr: \"SH\",\narea_code: \"370126\",\nsort: 9999,\nlatitude: 37.310543,\nlongitude: 117.156372,\nis_map: true,\npinyin: \"shanghe\"\n},\n{\nid: 1632,\nname: \"泗水\",\nabbr: \"SS\",\narea_code: \"370831\",\nsort: 9999,\nlatitude: 35.653217,\nlongitude: 117.273605,\nis_map: true,\npinyin: \"sishui\"\n},\n{\nid: 1643,\nname: \"嵩县\",\nabbr: \"SX\",\narea_code: \"410325\",\nsort: 9999,\nlatitude: 34.131561,\nlongitude: 112.087769,\nis_map: true,\npinyin: \"songxian\"\n},\n{\nid: 1664,\nname: \"陕县\",\nabbr: \"SX\",\narea_code: \"411222\",\nsort: 9999,\nlatitude: 34.701946,\nlongitude: 111.090828,\nis_map: true,\npinyin: \"shanxian\"\n},\n{\nid: 1671,\nname: \"商城\",\nabbr: \"SC\",\narea_code: \"411524\",\nsort: 9999,\nlatitude: 31.799982,\nlongitude: 115.406296,\nis_map: true,\npinyin: \"shangcheng\"\n},\n{\nid: 1703,\nname: \"韶山\",\nabbr: \"SS\",\narea_code: \"430382\",\nsort: 9999,\nlatitude: 27.922682,\nlongitude: 112.528481,\nis_map: true,\npinyin: \"shaoshan\"\n},\n{\nid: 1706,\nname: \"邵阳县\",\nabbr: \"SYX\",\narea_code: \"430523\",\nsort: 9999,\nlatitude: 26.989714,\nlongitude: 111.275703,\nis_map: true,\npinyin: \"shaoyang\"\n},\n{\nid: 1715,\nname: \"双牌\",\nabbr: \"SP\",\narea_code: \"431123\",\nsort: 9999,\nlatitude: 25.959396,\nlongitude: 111.662148,\nis_map: true,\npinyin: \"shuangpai\"\n},\n{\nid: 1769,\nname: \"上林\",\nabbr: \"SL\",\narea_code: \"450125\",\nsort: 9999,\nlatitude: 23.431768,\nlongitude: 108.603935,\nis_map: true,\npinyin: \"shanglin\"\n},\n{\nid: 1777,\nname: \"三江侗族自治县\",\nabbr: \"SJDZZZX\",\narea_code: \"450226\",\nsort: 9999,\nlatitude: 25.78553,\nlongitude: 109.614845,\nis_map: true,\npinyin: \"sanjiangdongzuzizhixian\"\n},\n{\nid: 1795,\nname: \"上思\",\nabbr: \"SS\",\narea_code: \"450621\",\nsort: 9999,\nlatitude: 22.151423,\nlongitude: 107.98214,\nis_map: true,\npinyin: \"shangsi\"\n},\n{\nid: 1959,\nname: \"水城\",\nabbr: \"SC\",\narea_code: \"520221\",\nsort: 9999,\nlatitude: 26.540478,\nlongitude: 104.956848,\nis_map: true,\npinyin: \"shuicheng\"\n},\n{\nid: 1962,\nname: \"绥阳\",\nabbr: \"SY\",\narea_code: \"520323\",\nsort: 9999,\nlatitude: 27.951342,\nlongitude: 107.191025,\nis_map: true,\npinyin: \"suiyang\"\n},\n{\nid: 1980,\nname: \"石阡\",\nabbr: \"SQ\",\narea_code: \"520623\",\nsort: 9999,\nlatitude: 27.519386,\nlongitude: 108.229851,\nis_map: true,\npinyin: \"shiqian\"\n},\n{\nid: 1981,\nname: \"思南\",\nabbr: \"SN\",\narea_code: \"520624\",\nsort: 9999,\nlatitude: 27.941332,\nlongitude: 108.255829,\nis_map: true,\npinyin: \"sinan\"\n},\n{\nid: 1985,\nname: \"松桃苗族自治县\",\nabbr: \"STMZZZX\",\narea_code: \"520628\",\nsort: 9999,\nlatitude: 28.165419,\nlongitude: 109.202629,\nis_map: true,\npinyin: \"songtaomiaozuzizhixian\"\n},\n{\nid: 1996,\nname: \"施秉\",\nabbr: \"SB\",\narea_code: \"522623\",\nsort: 9999,\nlatitude: 27.034657,\nlongitude: 108.126778,\nis_map: true,\npinyin: \"shibing\"\n},\n{\nid: 1997,\nname: \"三穗\",\nabbr: \"SS\",\narea_code: \"522624\",\nsort: 9999,\nlatitude: 26.959885,\nlongitude: 108.681122,\nis_map: true,\npinyin: \"sansui\"\n},\n{\nid: 2021,\nname: \"三都水族自治县\",\nabbr: \"SDSZZZX\",\narea_code: \"522732\",\nsort: 9999,\nlatitude: 25.985184,\nlongitude: 107.877472,\nis_map: true,\npinyin: \"sandushuizuzizhixian\"\n},\n{\nid: 2024,\nname: \"石林彝族自治县\",\nabbr: \"SLYZZZX\",\narea_code: \"530126\",\nsort: 9999,\nlatitude: 24.754545,\nlongitude: 103.271965,\nis_map: true,\npinyin: \"shilinyizuzizhixian\"\n},\n{\nid: 2025,\nname: \"嵩明\",\nabbr: \"SM\",\narea_code: \"530127\",\nsort: 9999,\nlatitude: 25.335087,\nlongitude: 103.03878,\nis_map: true,\npinyin: \"songming\"\n},\n{\nid: 2029,\nname: \"师宗\",\nabbr: \"SZ\",\narea_code: \"530323\",\nsort: 9999,\nlatitude: 24.825682,\nlongitude: 103.993805,\nis_map: true,\npinyin: \"shizong\"\n},\n{\nid: 2038,\nname: \"施甸\",\nabbr: \"SD\",\narea_code: \"530521\",\nsort: 9999,\nlatitude: 24.730846,\nlongitude: 99.183762,\nis_map: true,\npinyin: \"shidian\"\n},\n{\nid: 2046,\nname: \"绥江\",\nabbr: \"SJ\",\narea_code: \"530626\",\nsort: 9999,\nlatitude: 28.599953,\nlongitude: 103.961098,\nis_map: true,\npinyin: \"suijiang\"\n},\n{\nid: 2049,\nname: \"水富\",\nabbr: \"SF\",\narea_code: \"530630\",\nsort: 9999,\nlatitude: 28.629688,\nlongitude: 104.415375,\nis_map: true,\npinyin: \"shuifu\"\n},\n{\nid: 2068,\nname: \"双江拉祜族佤族布朗族傣族自治县\",\nabbr: \"SJLHZWZBLZDZZZX\",\narea_code: \"530925\",\nsort: 9999,\nlatitude: 23.477476,\nlongitude: 99.824417,\nis_map: true,\npinyin: \"shuangjianglahuzuwazubulangzudaizuzizhixian\"\n},\n{\nid: 2072,\nname: \"双柏\",\nabbr: \"SB\",\narea_code: \"532322\",\nsort: 9999,\nlatitude: 24.685095,\nlongitude: 101.638237,\nis_map: true,\npinyin: \"shuangbai\"\n},\n{\nid: 2083,\nname: \"石屏\",\nabbr: \"SP\",\narea_code: \"532525\",\nsort: 9999,\nlatitude: 23.712568,\nlongitude: 102.484467,\nis_map: true,\npinyin: \"shiping\"\n},\n{\nid: 2217,\nname: \"三原\",\nabbr: \"SY\",\narea_code: \"610422\",\nsort: 9999,\nlatitude: 34.613995,\nlongitude: 108.943481,\nis_map: true,\npinyin: \"sanyuan\"\n},\n{\nid: 2269,\nname: \"石泉\",\nabbr: \"SQ\",\narea_code: \"610922\",\nsort: 9999,\nlatitude: 33.038513,\nlongitude: 108.250511,\nis_map: true,\npinyin: \"shiquan\"\n},\n{\nid: 2277,\nname: \"商洛\",\nabbr: \"SL\",\narea_code: \"611000\",\nsort: 9999,\nlatitude: 33.86832,\nlongitude: 109.939774,\nis_map: true,\npinyin: \"shangluo\"\n},\n{\nid: 2280,\nname: \"商南\",\nabbr: \"SN\",\narea_code: \"611023\",\nsort: 9999,\nlatitude: 33.526367,\nlongitude: 110.885437,\nis_map: true,\npinyin: \"shangnan\"\n},\n{\nid: 2281,\nname: \"山阳\",\nabbr: \"SY\",\narea_code: \"611024\",\nsort: 9999,\nlatitude: 33.530411,\nlongitude: 109.880432,\nis_map: true,\npinyin: \"shanyang\"\n},\n{\nid: 2299,\nname: \"肃南裕固族自治县\",\nabbr: \"SNYGZZZX\",\narea_code: \"620721\",\nsort: 9999,\nlatitude: 38.837269,\nlongitude: 99.617088,\nis_map: true,\npinyin: \"sunanyuguzuzizhixian\"\n},\n{\nid: 2303,\nname: \"山丹\",\nabbr: \"SD\",\narea_code: \"620725\",\nsort: 9999,\nlatitude: 38.78484,\nlongitude: 101.08844,\nis_map: true,\npinyin: \"shandan\"\n},\n{\nid: 5819,\nname: \"思茅区\",\nabbr: \"SMQ\",\narea_code: \"530802\",\nsort: 9999,\nlatitude: 22.776594,\nlongitude: 100.973228,\nis_map: true,\npinyin: \"simaoqu\"\n}\n],\nH: [\n{\nid: 10,\nname: \"哈尔滨\",\nabbr: \"HEB\",\narea_code: \"0451\",\nsort: 4,\nlatitude: 45.802158,\nlongitude: 126.535797,\nis_map: true,\npinyin: \"haerbin\"\n},\n{\nid: 2,\nname: \"杭州\",\nabbr: \"HZ\",\narea_code: \"0571\",\nsort: 8,\nlatitude: 30.274151,\nlongitude: 120.155151,\nis_map: true,\npinyin: \"hangzhou\"\n},\n{\nid: 385,\nname: \"黄骅\",\nabbr: \"HH\",\narea_code: \"03172\",\nsort: 1900,\nlatitude: 38.371391,\nlongitude: 117.330116,\nis_map: true,\npinyin: \"huanghua\"\n},\n{\nid: 406,\nname: \"鹤壁\",\nabbr: \"HB\",\narea_code: \"0392\",\nsort: 1900,\nlatitude: 35.747002,\nlongitude: 114.297447,\nis_map: true,\npinyin: \"hebi\"\n},\n{\nid: 17,\nname: \"合肥\",\nabbr: \"HF\",\narea_code: \"0551\",\nsort: 2000,\nlatitude: 31.82057,\nlongitude: 117.229012,\nis_map: true,\npinyin: \"hefei\"\n},\n{\nid: 53,\nname: \"淮南\",\nabbr: \"HN\",\narea_code: \"0554\",\nsort: 2000,\nlatitude: 32.625488,\nlongitude: 116.999802,\nis_map: true,\npinyin: \"huainan\"\n},\n{\nid: 57,\nname: \"惠州\",\nabbr: \"HZ\",\narea_code: \"0752\",\nsort: 2000,\nlatitude: 23.11075,\nlongitude: 114.416786,\nis_map: true,\npinyin: \"huizhou\"\n},\n{\nid: 61,\nname: \"湖州\",\nabbr: \"HZ\",\narea_code: \"0572\",\nsort: 2000,\nlatitude: 30.893049,\nlongitude: 120.088051,\nis_map: true,\npinyin: \"huzhou\"\n},\n{\nid: 62,\nname: \"海口\",\nabbr: \"HK\",\narea_code: \"0898\",\nsort: 2000,\nlatitude: 20.04422,\nlongitude: 110.19989,\nis_map: true,\npinyin: \"haikou\"\n},\n{\nid: 92,\nname: \"呼和浩特\",\nabbr: \"HHHT\",\narea_code: \"0471\",\nsort: 2000,\nlatitude: 40.841492,\nlongitude: 111.751991,\nis_map: true,\npinyin: \"huhehaote\"\n},\n{\nid: 114,\nname: \"淮安\",\nabbr: \"HA\",\narea_code: \"0517\",\nsort: 2000,\nlatitude: 33.610161,\nlongitude: 119.015953,\nis_map: true,\npinyin: \"huaian\"\n},\n{\nid: 116,\nname: \"衡阳\",\nabbr: \"HY\",\narea_code: \"0734\",\nsort: 2000,\nlatitude: 26.89324,\nlongitude: 112.571953,\nis_map: true,\npinyin: \"hengyang\"\n},\n{\nid: 133,\nname: \"怀化\",\nabbr: \"HH\",\narea_code: \"0745\",\nsort: 2000,\nlatitude: 27.56974,\nlongitude: 110.001602,\nis_map: true,\npinyin: \"huaihua\"\n},\n{\nid: 152,\nname: \"黄石\",\nabbr: \"HS\",\narea_code: \"0714\",\nsort: 2000,\nlatitude: 30.19953,\nlongitude: 115.038902,\nis_map: true,\npinyin: \"huangshi\"\n},\n{\nid: 170,\nname: \"邯郸\",\nabbr: \"HD\",\narea_code: \"0310\",\nsort: 2000,\nlatitude: 36.625561,\nlongitude: 114.539177,\nis_map: true,\npinyin: \"handan\"\n},\n{\nid: 177,\nname: \"菏泽\",\nabbr: \"HZ\",\narea_code: \"0530\",\nsort: 2000,\nlatitude: 35.233631,\nlongitude: 115.481148,\nis_map: true,\npinyin: \"heze\"\n},\n{\nid: 199,\nname: \"黄山\",\nabbr: \"HS\",\narea_code: \"0559\",\nsort: 2000,\nlatitude: 29.71517,\nlongitude: 118.338661,\nis_map: true,\npinyin: \"huangshan\"\n},\n{\nid: 214,\nname: \"淮北\",\nabbr: \"HB\",\narea_code: \"0561\",\nsort: 2000,\nlatitude: 33.67078,\nlongitude: 116.926224,\nis_map: true,\npinyin: \"huaibei\"\n},\n{\nid: 217,\nname: \"黄冈\",\nabbr: \"HG\",\narea_code: \"0713\",\nsort: 2000,\nlatitude: 30.45347,\nlongitude: 114.872383,\nis_map: true,\npinyin: \"huanggang\"\n},\n{\nid: 218,\nname: \"葫芦岛\",\nabbr: \"HLD\",\narea_code: \"0429\",\nsort: 2000,\nlatitude: 40.710999,\nlongitude: 120.83699,\nis_map: true,\npinyin: \"huludao\"\n},\n{\nid: 245,\nname: \"红河\",\nabbr: \"HHZZZ\",\narea_code: \"0873\",\nsort: 2000,\nlatitude: 23.36907,\nlongitude: 102.420792,\nis_map: true,\npinyin: \"honghezizhizhou\"\n},\n{\nid: 252,\nname: \"贺州\",\nabbr: \"HZ\",\narea_code: \"4401002\",\nsort: 2000,\nlatitude: 24.40346,\nlongitude: 111.566551,\nis_map: true,\npinyin: \"hezhou\"\n},\n{\nid: 259,\nname: \"汉中\",\nabbr: \"HZ\",\narea_code: \"0916\",\nsort: 2000,\nlatitude: 33.067612,\nlongitude: 107.023773,\nis_map: true,\npinyin: \"hanzhong\"\n},\n{\nid: 266,\nname: \"衡水\",\nabbr: \"HS\",\narea_code: \"0318\",\nsort: 2000,\nlatitude: 37.738861,\nlongitude: 115.67054,\nis_map: true,\npinyin: \"hengshui\"\n},\n{\nid: 398,\nname: \"呼伦贝尔\",\nabbr: \"HLBE\",\narea_code: \"0470\",\nsort: 2000,\nlatitude: 49.211632,\nlongitude: 119.765839,\nis_map: true,\npinyin: \"hulunbeier\"\n},\n{\nid: 432,\nname: \"合川\",\nabbr: \"HC\",\narea_code: \"10010\",\nsort: 2000,\nlatitude: 29.972879,\nlongitude: 106.276787,\nis_map: true,\npinyin: \"hechuan\"\n},\n{\nid: 433,\nname: \"河西\",\nabbr: \"HX\",\narea_code: \"10011\",\nsort: 2000,\nlatitude: 39.109539,\nlongitude: 117.223358,\nis_map: true,\npinyin: \"hexi\"\n},\n{\nid: 466,\nname: \"霍邱\",\nabbr: \"HQ\",\narea_code: \"200012\",\nsort: 2000,\nlatitude: 32.353199,\nlongitude: 116.278229,\nis_map: true,\npinyin: \"huoqiu\"\n},\n{\nid: 471,\nname: \"怀远\",\nabbr: \"HY\",\narea_code: \"200017\",\nsort: 2000,\nlatitude: 32.9701,\nlongitude: 117.205139,\nis_map: true,\npinyin: \"huaiyuan\"\n},\n{\nid: 478,\nname: \"和县\",\nabbr: \"HX\",\narea_code: \"200024\",\nsort: 2000,\nlatitude: 31.74423,\nlongitude: 118.351448,\nis_map: true,\npinyin: \"hexian\"\n},\n{\nid: 481,\nname: \"怀宁\",\nabbr: \"HN\",\narea_code: \"200027\",\nsort: 2000,\nlatitude: 30.73381,\nlongitude: 116.829742,\nis_map: true,\npinyin: \"huaining\"\n},\n{\nid: 488,\nname: \"霍山\",\nabbr: \"HS\",\narea_code: \"200034\",\nsort: 2000,\nlatitude: 31.39279,\nlongitude: 116.332687,\nis_map: true,\npinyin: \"huoshan\"\n},\n{\nid: 496,\nname: \"惠安\",\nabbr: \"HA\",\narea_code: \"200042\",\nsort: 2000,\nlatitude: 25.030649,\nlongitude: 118.796951,\nis_map: true,\npinyin: \"huian\"\n},\n{\nid: 535,\nname: \"海丰\",\nabbr: \"HF\",\narea_code: \"200081\",\nsort: 2000,\nlatitude: 22.96657,\nlongitude: 115.32341,\nis_map: true,\npinyin: \"haifeng\"\n},\n{\nid: 536,\nname: \"惠来\",\nabbr: \"HL\",\narea_code: \"200082\",\nsort: 2000,\nlatitude: 23.033211,\nlongitude: 116.295113,\nis_map: true,\npinyin: \"huilai\"\n},\n{\nid: 537,\nname: \"惠东\",\nabbr: \"HD\",\narea_code: \"200083\",\nsort: 2000,\nlatitude: 22.984859,\nlongitude: 114.719994,\nis_map: true,\npinyin: \"huidong\"\n},\n{\nid: 550,\nname: \"鹤山\",\nabbr: \"HS\",\narea_code: \"200096\",\nsort: 2000,\nlatitude: 22.765301,\nlongitude: 112.964363,\nis_map: true,\npinyin: \"heshan\"\n},\n{\nid: 554,\nname: \"化州\",\nabbr: \"HZ\",\narea_code: \"200100\",\nsort: 2000,\nlatitude: 21.663971,\nlongitude: 110.639542,\nis_map: true,\npinyin: \"huazhou\"\n},\n{\nid: 633,\nname: \"淮阳\",\nabbr: \"HY\",\narea_code: \"200179\",\nsort: 2000,\nlatitude: 33.731499,\nlongitude: 114.886139,\nis_map: true,\npinyin: \"huaiyang\"\n},\n{\nid: 648,\nname: \"潢川\",\nabbr: \"HC\",\narea_code: \"200194\",\nsort: 2000,\nlatitude: 32.131561,\nlongitude: 115.051292,\nis_map: true,\npinyin: \"huangchuan\"\n},\n{\nid: 653,\nname: \"辉县\",\nabbr: \"HX\",\narea_code: \"200199\",\nsort: 2000,\nlatitude: 35.46212,\nlongitude: 113.805397,\nis_map: true,\npinyin: \"huixian\"\n},\n{\nid: 660,\nname: \"滑县\",\nabbr: \"HX\",\narea_code: \"200206\",\nsort: 2000,\nlatitude: 35.57534,\nlongitude: 114.519302,\nis_map: true,\npinyin: \"huaxian\"\n},\n{\nid: 672,\nname: \"睢县\",\nabbr: \"HX\",\narea_code: \"200218\",\nsort: 2000,\nlatitude: 34.445259,\nlongitude: 115.071533,\nis_map: true,\npinyin: \"huixian\"\n},\n{\nid: 682,\nname: \"淮滨\",\nabbr: \"HB\",\narea_code: \"200228\",\nsort: 2000,\nlatitude: 32.473389,\nlongitude: 115.419868,\nis_map: true,\npinyin: \"huaibin\"\n},\n{\nid: 697,\nname: \"鹤岗\",\nabbr: \"HG\",\narea_code: \"200243\",\nsort: 2000,\nlatitude: 47.349892,\nlongitude: 130.297852,\nis_map: true,\npinyin: \"hegang\"\n},\n{\nid: 711,\nname: \"汉川\",\nabbr: \"HC\",\narea_code: \"200257\",\nsort: 2000,\nlatitude: 30.661221,\nlongitude: 113.839073,\nis_map: true,\npinyin: \"hanchuan\"\n},\n{\nid: 717,\nname: \"黄梅\",\nabbr: \"HM\",\narea_code: \"200263\",\nsort: 2000,\nlatitude: 30.07037,\nlongitude: 115.944321,\nis_map: true,\npinyin: \"huangmei\"\n},\n{\nid: 720,\nname: \"洪湖\",\nabbr: \"HH\",\narea_code: \"200266\",\nsort: 2000,\nlatitude: 29.82756,\nlongitude: 113.477753,\nis_map: true,\npinyin: \"honghu\"\n},\n{\nid: 738,\nname: \"红安\",\nabbr: \"HA\",\narea_code: \"200284\",\nsort: 2000,\nlatitude: 31.288099,\nlongitude: 114.618134,\nis_map: true,\npinyin: \"hongan\"\n},\n{\nid: 759,\nname: \"衡南\",\nabbr: \"HN\",\narea_code: \"200305\",\nsort: 2000,\nlatitude: 26.73831,\nlongitude: 112.677917,\nis_map: true,\npinyin: \"hengnan\"\n},\n{\nid: 775,\nname: \"汉寿\",\nabbr: \"HS\",\narea_code: \"200321\",\nsort: 2000,\nlatitude: 28.905491,\nlongitude: 111.970428,\nis_map: true,\npinyin: \"hanshou\"\n},\n{\nid: 778,\nname: \"华容\",\nabbr: \"HR\",\narea_code: \"200324\",\nsort: 2000,\nlatitude: 29.53023,\nlongitude: 112.540947,\nis_map: true,\npinyin: \"huarong\"\n},\n{\nid: 787,\nname: \"衡东\",\nabbr: \"HD\",\narea_code: \"200333\",\nsort: 2000,\nlatitude: 27.08116,\nlongitude: 112.953247,\nis_map: true,\npinyin: \"hengdong\"\n},\n{\nid: 793,\nname: \"洪江\",\nabbr: \"HJ\",\narea_code: \"200339\",\nsort: 2000,\nlatitude: 27.209249,\nlongitude: 109.836548,\nis_map: true,\npinyin: \"hongjiang\"\n},\n{\nid: 816,\nname: \"桦甸\",\nabbr: \"HD\",\narea_code: \"200362\",\nsort: 2000,\nlatitude: 42.97208,\nlongitude: 126.746269,\nis_map: true,\npinyin: \"huadian\"\n},\n{\nid: 820,\nname: \"珲春\",\nabbr: \"HC\",\narea_code: \"200366\",\nsort: 2000,\nlatitude: 42.862492,\nlongitude: 130.365768,\nis_map: true,\npinyin: \"hunchun\"\n},\n{\nid: 822,\nname: \"辉南\",\nabbr: \"HN\",\narea_code: \"200368\",\nsort: 2000,\nlatitude: 42.68499,\nlongitude: 126.046867,\nis_map: true,\npinyin: \"huinan\"\n},\n{\nid: 835,\nname: \"睢宁\",\nabbr: \"HN\",\narea_code: \"200381\",\nsort: 2000,\nlatitude: 33.912739,\nlongitude: 117.941078,\nis_map: true,\npinyin: \"huining\"\n},\n{\nid: 837,\nname: \"海门\",\nabbr: \"HM\",\narea_code: \"200383\",\nsort: 2000,\nlatitude: 31.871651,\nlongitude: 121.181793,\nis_map: true,\npinyin: \"haimen\"\n},\n{\nid: 838,\nname: \"海安\",\nabbr: \"HA\",\narea_code: \"200384\",\nsort: 2000,\nlatitude: 32.533081,\nlongitude: 120.46759,\nis_map: true,\npinyin: \"haian\"\n},\n{\nid: 882,\nname: \"会昌\",\nabbr: \"HC\",\narea_code: \"200428\",\nsort: 2000,\nlatitude: 25.600389,\nlongitude: 115.786003,\nis_map: true,\npinyin: \"huichang\"\n},\n{\nid: 908,\nname: \"黑山\",\nabbr: \"HS\",\narea_code: \"200454\",\nsort: 2000,\nlatitude: 41.693909,\nlongitude: 122.120659,\nis_map: true,\npinyin: \"heishan\"\n},\n{\nid: 961,\nname: \"桓台\",\nabbr: \"HT\",\narea_code: \"200507\",\nsort: 2000,\nlatitude: 36.959332,\nlongitude: 118.097969,\nis_map: true,\npinyin: \"huantai\"\n},\n{\nid: 975,\nname: \"海阳\",\nabbr: \"HY\",\narea_code: \"200521\",\nsort: 2000,\nlatitude: 36.776451,\nlongitude: 121.158463,\nis_map: true,\npinyin: \"haiyang\"\n},\n{\nid: 978,\nname: \"惠民\",\nabbr: \"HM\",\narea_code: \"200524\",\nsort: 2000,\nlatitude: 37.489819,\nlongitude: 117.509201,\nis_map: true,\npinyin: \"huimin\"\n},\n{\nid: 998,\nname: \"洪洞\",\nabbr: \"HD\",\narea_code: \"200544\",\nsort: 2000,\nlatitude: 36.253738,\nlongitude: 111.674957,\nis_map: true,\npinyin: \"hongdong\"\n},\n{\nid: 1006,\nname: \"河津\",\nabbr: \"HJ\",\narea_code: \"200552\",\nsort: 2000,\nlatitude: 35.596432,\nlongitude: 110.711861,\nis_map: true,\npinyin: \"hejin\"\n},\n{\nid: 1038,\nname: \"合江\",\nabbr: \"HJ\",\narea_code: \"200584\",\nsort: 2000,\nlatitude: 28.81147,\nlongitude: 105.831352,\nis_map: true,\npinyin: \"hejiang\"\n},\n{\nid: 1061,\nname: \"会泽\",\nabbr: \"HZ\",\narea_code: \"200607\",\nsort: 2000,\nlatitude: 26.41791,\nlongitude: 103.297371,\nis_map: true,\npinyin: \"huize\"\n},\n{\nid: 1085,\nname: \"海宁\",\nabbr: \"HN\",\narea_code: \"200631\",\nsort: 2000,\nlatitude: 30.50938,\nlongitude: 120.681023,\nis_map: true,\npinyin: \"haining\"\n},\n{\nid: 1101,\nname: \"海盐\",\nabbr: \"HY\",\narea_code: \"200647\",\nsort: 2000,\nlatitude: 30.52553,\nlongitude: 120.945793,\nis_map: true,\npinyin: \"haiyan\"\n},\n{\nid: 365,\nname: \"河源\",\nabbr: \"HY\",\narea_code: \"0762\",\nsort: 9999,\nlatitude: 23.74365,\nlongitude: 114.700653,\nis_map: true,\npinyin: \"heyuan\"\n},\n{\nid: 366,\nname: \"河间\",\nabbr: \"HJ\",\narea_code: \"03173\",\nsort: 9999,\nlatitude: 38.44548,\nlongitude: 116.098999,\nis_map: true,\npinyin: \"hejian\"\n},\n{\nid: 368,\nname: \"海城\",\nabbr: \"HC\",\narea_code: \"04121\",\nsort: 9999,\nlatitude: 40.881451,\nlongitude: 122.684631,\nis_map: true,\npinyin: \"haicheng\"\n},\n{\nid: 1149,\nname: \"黑河\",\nabbr: \"HH\",\narea_code: \"231100\",\nsort: 9999,\nlatitude: 50.245232,\nlongitude: 127.528519,\nis_map: true,\npinyin: \"heihe\"\n},\n{\nid: 1156,\nname: \"海伦\",\nabbr: \"HL\",\narea_code: \"231283\",\nsort: 9999,\nlatitude: 47.462101,\nlongitude: 126.973381,\nis_map: true,\npinyin: \"hailun\"\n},\n{\nid: 1167,\nname: \"河池\",\nabbr: \"HC\",\narea_code: \"451200\",\nsort: 9999,\nlatitude: 24.692909,\nlongitude: 108.085403,\nis_map: true,\npinyin: \"hechi\"\n},\n{\nid: 1173,\nname: \"怀柔\",\nabbr: \"HY\",\narea_code: \"110116\",\nsort: 9999,\nlatitude: 40.316002,\nlongitude: 116.631767,\nis_map: true,\npinyin: \"huairou\"\n},\n{\nid: 1224,\nname: \"怀安\",\nabbr: \"HA\",\narea_code: \"130728\",\nsort: 9999,\nlatitude: 40.678555,\nlongitude: 114.718155,\nis_map: true,\npinyin: \"huaian\"\n},\n{\nid: 1226,\nname: \"怀来\",\nabbr: \"HL\",\narea_code: \"130730\",\nsort: 9999,\nlatitude: 40.405403,\nlongitude: 115.520844,\nis_map: true,\npinyin: \"huailai\"\n},\n{\nid: 1240,\nname: \"海兴\",\nabbr: \"HX\",\narea_code: \"130924\",\nsort: 9999,\nlatitude: 38.141582,\nlongitude: 117.496605,\nis_map: true,\npinyin: \"haixing\"\n},\n{\nid: 1289,\nname: \"怀仁县\",\nabbr: \"HRX\",\narea_code: \"140624\",\nsort: 9999,\nlatitude: 39.820789,\nlongitude: 113.10051,\nis_map: true,\npinyin: \"huairen\"\n},\n{\nid: 1330,\nname: \"侯马\",\nabbr: \"HM\",\narea_code: \"141081\",\nsort: 9999,\nlatitude: 35.6203,\nlongitude: 111.371269,\nis_map: true,\npinyin: \"houma\"\n},\n{\nid: 1345,\nname: \"和林格尔\",\nabbr: \"HLGE\",\narea_code: \"150123\",\nsort: 9999,\nlatitude: 40.380287,\nlongitude: 111.824142,\nis_map: true,\npinyin: \"helingeer\"\n},\n{\nid: 1365,\nname: \"霍林郭勒\",\nabbr: \"HLGL\",\narea_code: \"150581\",\nsort: 9999,\nlatitude: 45.53236,\nlongitude: 119.65786,\nis_map: true,\npinyin: \"huolinguole\"\n},\n{\nid: 1368,\nname: \"杭锦旗\",\nabbr: \"HJQ\",\narea_code: \"150625\",\nsort: 9999,\nlatitude: 39.831787,\nlongitude: 108.73632,\nis_map: true,\npinyin: \"hangjinqi\"\n},\n{\nid: 1386,\nname: \"杭锦后旗\",\nabbr: \"HJHQ\",\narea_code: \"150826\",\nsort: 9999,\nlatitude: 40.888798,\nlongitude: 107.147682,\nis_map: true,\npinyin: \"hangjinhouqi\"\n},\n{\nid: 1388,\nname: \"化德\",\nabbr: \"HD\",\narea_code: \"150922\",\nsort: 9999,\nlatitude: 41.899334,\nlongitude: 114.010078,\nis_map: true,\npinyin: \"huade\"\n},\n{\nid: 1428,\nname: \"桓仁满族自治县\",\nabbr: \"HRMZZZX\",\narea_code: \"210522\",\nsort: 9999,\nlatitude: 41.268997,\nlongitude: 125.359192,\nis_map: true,\npinyin: \"huanrenmanzuzizhixian\"\n},\n{\nid: 1462,\nname: \"和龙\",\nabbr: \"HL\",\narea_code: \"222406\",\nsort: 9999,\nlatitude: 42.547005,\nlongitude: 129.008743,\nis_map: true,\npinyin: \"helong\"\n},\n{\nid: 1478,\nname: \"虎林\",\nabbr: \"HL\",\narea_code: \"230381\",\nsort: 9999,\nlatitude: 45.767986,\nlongitude: 132.973877,\nis_map: true,\npinyin: \"hulin\"\n},\n{\nid: 1491,\nname: \"桦南\",\nabbr: \"HN\",\narea_code: \"230822\",\nsort: 9999,\nlatitude: 46.240116,\nlongitude: 130.570114,\nis_map: true,\npinyin: \"huanan\"\n},\n{\nid: 1492,\nname: \"桦川\",\nabbr: \"HC\",\narea_code: \"230826\",\nsort: 9999,\nlatitude: 47.023041,\nlongitude: 130.723709,\nis_map: true,\npinyin: \"huachuan\"\n},\n{\nid: 1500,\nname: \"海林\",\nabbr: \"HL\",\narea_code: \"231082\",\nsort: 9999,\nlatitude: 44.57415,\nlongitude: 129.387909,\nis_map: true,\npinyin: \"hailin\"\n},\n{\nid: 1512,\nname: \"呼玛\",\nabbr: \"HM\",\narea_code: \"232721\",\nsort: 9999,\nlatitude: 51.726997,\nlongitude: 126.662102,\nis_map: true,\npinyin: \"huma\"\n},\n{\nid: 1514,\nname: \"洪泽\",\nabbr: \"HZ\",\narea_code: \"320829\",\nsort: 9999,\nlatitude: 33.294975,\nlongitude: 118.867874,\nis_map: true,\npinyin: \"hongze\"\n},\n{\nid: 1560,\nname: \"华安\",\nabbr: \"HA\",\narea_code: \"350629\",\nsort: 9999,\nlatitude: 25.001415,\nlongitude: 117.536308,\nis_map: true,\npinyin: \"huaan\"\n},\n{\nid: 1580,\nname: \"湖口\",\nabbr: \"HK\",\narea_code: \"360429\",\nsort: 9999,\nlatitude: 29.726299,\nlongitude: 116.244316,\nis_map: true,\npinyin: \"hukou\"\n},\n{\nid: 1618,\nname: \"横峰\",\nabbr: \"HF\",\narea_code: \"361125\",\nsort: 9999,\nlatitude: 28.415104,\nlongitude: 117.608246,\nis_map: true,\npinyin: \"hengfeng\"\n},\n{\nid: 1653,\nname: \"获嘉\",\nabbr: \"HJ\",\narea_code: \"410724\",\nsort: 9999,\nlatitude: 35.261684,\nlongitude: 113.657249,\nis_map: true,\npinyin: \"huojia\"\n},\n{\nid: 1705,\nname: \"衡山\",\nabbr: \"HS\",\narea_code: \"430423\",\nsort: 9999,\nlatitude: 27.234808,\nlongitude: 112.869713,\nis_map: true,\npinyin: \"hengshan\"\n},\n{\nid: 1754,\nname: \"和平\",\nabbr: \"HP\",\narea_code: \"441624\",\nsort: 9999,\nlatitude: 24.44318,\nlongitude: 114.941475,\nis_map: true,\npinyin: \"heping\"\n},\n{\nid: 1771,\nname: \"横县\",\nabbr: \"HX\",\narea_code: \"450127\",\nsort: 9999,\nlatitude: 22.687429,\nlongitude: 109.270988,\nis_map: true,\npinyin: \"hengxian\"\n},\n{\nid: 1793,\nname: \"合浦\",\nabbr: \"HP\",\narea_code: \"450521\",\nsort: 9999,\nlatitude: 21.663553,\nlongitude: 109.200691,\nis_map: true,\npinyin: \"hepu\"\n},\n{\nid: 1823,\nname: \"环江毛南族自治县\",\nabbr: \"HJMNZZZX\",\narea_code: \"451226\",\nsort: 9999,\nlatitude: 24.827627,\nlongitude: 108.258667,\nis_map: true,\npinyin: \"huanjiangmaonanzuzizhixian\"\n},\n{\nid: 1832,\nname: \"合山\",\nabbr: \"HS\",\narea_code: \"451381\",\nsort: 9999,\nlatitude: 23.81311,\nlongitude: 108.88858,\nis_map: true,\npinyin: \"heshan\"\n},\n{\nid: 1893,\nname: \"华蓥\",\nabbr: \"HY\",\narea_code: \"511681\",\nsort: 9999,\nlatitude: 30.380573,\nlongitude: 106.777885,\nis_map: true,\npinyin: \"huaying\"\n},\n{\nid: 1977,\nname: \"赫章\",\nabbr: \"HZ\",\narea_code: \"520527\",\nsort: 9999,\nlatitude: 27.119244,\nlongitude: 104.72644,\nis_map: true,\npinyin: \"hezhang\"\n},\n{\nid: 1995,\nname: \"黄平\",\nabbr: \"HP\",\narea_code: \"522622\",\nsort: 9999,\nlatitude: 26.896973,\nlongitude: 107.901337,\nis_map: true,\npinyin: \"huangping\"\n},\n{\nid: 2020,\nname: \"惠水\",\nabbr: \"HS\",\narea_code: \"522731\",\nsort: 9999,\nlatitude: 26.128637,\nlongitude: 106.657845,\nis_map: true,\npinyin: \"huishui\"\n},\n{\nid: 2033,\nname: \"华宁\",\nabbr: \"HN\",\narea_code: \"530424\",\nsort: 9999,\nlatitude: 24.189808,\nlongitude: 102.928986,\nis_map: true,\npinyin: \"huaning\"\n},\n{\nid: 2052,\nname: \"华坪\",\nabbr: \"HP\",\narea_code: \"530723\",\nsort: 9999,\nlatitude: 26.628834,\nlongitude: 101.267799,\nis_map: true,\npinyin: \"huaping\"\n},\n{\nid: 2081,\nname: \"红河哈尼族彝族自治州\",\nabbr: \"HHHNZYZZZZ\",\narea_code: \"532500\",\nsort: 9999,\nlatitude: 23.366776,\nlongitude: 103.384186,\nis_map: true,\npinyin: \"honghehanizuyizuzizhizhou\"\n},\n{\nid: 2088,\nname: \"河口瑶族自治县\",\nabbr: \"HKYZZZX\",\narea_code: \"532532\",\nsort: 9999,\nlatitude: 22.507563,\nlongitude: 103.961594,\nis_map: true,\npinyin: \"hekouyaozuzizhixian\"\n},\n{\nid: 2110,\nname: \"鹤庆\",\nabbr: \"HQ\",\narea_code: \"532932\",\nsort: 9999,\nlatitude: 26.55839,\nlongitude: 100.173378,\nis_map: true,\npinyin: \"heqing\"\n},\n{\nid: 2231,\nname: \"合阳\",\nabbr: \"HY\",\narea_code: \"610524\",\nsort: 9999,\nlatitude: 35.237099,\nlongitude: 110.14798,\nis_map: true,\npinyin: \"heyang\"\n},\n{\nid: 2236,\nname: \"韩城\",\nabbr: \"HC\",\narea_code: \"610581\",\nsort: 9999,\nlatitude: 35.475239,\nlongitude: 110.452393,\nis_map: true,\npinyin: \"hancheng\"\n},\n{\nid: 2237,\nname: \"华阴\",\nabbr: \"HY\",\narea_code: \"610582\",\nsort: 9999,\nlatitude: 34.565357,\nlongitude: 110.089523,\nis_map: true,\npinyin: \"huayin\"\n},\n{\nid: 2261,\nname: \"横山\",\nabbr: \"HS\",\narea_code: \"610823\",\nsort: 9999,\nlatitude: 37.964046,\nlongitude: 109.292595,\nis_map: true,\npinyin: \"hengshan\"\n},\n{\nid: 2268,\nname: \"汉阴\",\nabbr: \"HY\",\narea_code: \"610921\",\nsort: 9999,\nlatitude: 32.891121,\nlongitude: 108.510948,\nis_map: true,\npinyin: \"hanyin\"\n},\n{\nid: 2348,\nname: \"合作\",\nabbr: \"HZ\",\narea_code: \"623001\",\nsort: 9999,\nlatitude: 34.985973,\nlongitude: 102.911491,\nis_map: true,\npinyin: \"hezuo\"\n},\n{\nid: 2359,\nname: \"海东\",\nabbr: \"HD\",\narea_code: \"630200\",\nsort: 9999,\nlatitude: 36.502914,\nlongitude: 102.103271,\nis_map: true,\npinyin: \"haidong\"\n},\n{\nid: 2422,\nname: \"哈密\",\nabbr: \"HM\",\narea_code: \"650500\",\nsort: 9999,\nlatitude: 42.833248,\nlongitude: 93.513161,\nis_map: true,\npinyin: \"hami\"\n},\n{\nid: 5106,\nname: \"海拉尔区\",\nabbr: \"HLEQ\",\narea_code: \"150702\",\nsort: 9999,\nlatitude: 49.215385,\nlongitude: 119.758965,\nis_map: true,\npinyin: \"hailaerqu\"\n}\n],\nN: [\n{\nid: 6,\nname: \"南京\",\nabbr: \"NJ\",\narea_code: \"025\",\nsort: 5,\nlatitude: 31.84178,\nlongitude: 118.504669,\nis_map: true,\npinyin: \"nanjing\"\n},\n{\nid: 18,\nname: \"宁波\",\nabbr: \"NB\",\narea_code: \"0574\",\nsort: 18,\nlatitude: 29.873859,\nlongitude: 121.55027,\nis_map: true,\npinyin: \"ningbo\"\n},\n{\nid: 25,\nname: \"南昌\",\nabbr: \"NC\",\narea_code: \"0791\",\nsort: 2000,\nlatitude: 28.68202,\nlongitude: 115.857941,\nis_map: true,\npinyin: \"nanchang\"\n},\n{\nid: 39,\nname: \"南通\",\nabbr: \"NT\",\narea_code: \"0513\",\nsort: 2000,\nlatitude: 31.97958,\nlongitude: 120.893707,\nis_map: true,\npinyin: \"nantong\"\n},\n{\nid: 45,\nname: \"南宁\",\nabbr: \"NN\",\narea_code: \"0771\",\nsort: 2000,\nlatitude: 22.81673,\nlongitude: 108.366898,\nis_map: true,\npinyin: \"nanning\"\n},\n{\nid: 99,\nname: \"南充\",\nabbr: \"NC\",\narea_code: \"0817\",\nsort: 2000,\nlatitude: 30.837311,\nlongitude: 106.110733,\nis_map: true,\npinyin: \"nanchong\"\n},\n{\nid: 104,\nname: \"内江\",\nabbr: \"NJ\",\narea_code: \"0832\",\nsort: 2000,\nlatitude: 29.580151,\nlongitude: 105.058441,\nis_map: true,\npinyin: \"neijiang\"\n},\n{\nid: 117,\nname: \"南平\",\nabbr: \"NP\",\narea_code: \"0599\",\nsort: 2000,\nlatitude: 26.64152,\nlongitude: 118.177834,\nis_map: true,\npinyin: \"nanping\"\n},\n{\nid: 260,\nname: \"南阳\",\nabbr: \"NY\",\narea_code: \"0377\",\nsort: 2000,\nlatitude: 32.99073,\nlongitude: 112.528511,\nis_map: true,\npinyin: \"nanyang\"\n},\n{\nid: 271,\nname: \"宁德\",\nabbr: \"ND\",\narea_code: \"0593\",\nsort: 2000,\nlatitude: 26.66571,\nlongitude: 119.548187,\nis_map: true,\npinyin: \"ningde\"\n},\n{\nid: 442,\nname: \"南岸\",\nabbr: \"NA\",\narea_code: \"10020\",\nsort: 2000,\nlatitude: 29.521681,\nlongitude: 106.562561,\nis_map: true,\npinyin: \"nanan\"\n},\n{\nid: 443,\nname: \"南川\",\nabbr: \"NC\",\narea_code: \"10021\",\nsort: 2000,\nlatitude: 29.157881,\nlongitude: 107.098961,\nis_map: true,\npinyin: \"nanchuan\"\n},\n{\nid: 480,\nname: \"宁国\",\nabbr: \"NG\",\narea_code: \"200026\",\nsort: 2000,\nlatitude: 30.63364,\nlongitude: 118.98336,\nis_map: true,\npinyin: \"ningguo\"\n},\n{\nid: 495,\nname: \"南安\",\nabbr: \"NA\",\narea_code: \"200041\",\nsort: 2000,\nlatitude: 24.9604,\nlongitude: 118.386269,\nis_map: true,\npinyin: \"nanan\"\n},\n{\nid: 579,\nname: \"纳雍\",\nabbr: \"NY\",\narea_code: \"200125\",\nsort: 2000,\nlatitude: 26.7777,\nlongitude: 105.38269,\nis_map: true,\npinyin: \"nayong\"\n},\n{\nid: 590,\nname: \"宁晋\",\nabbr: \"NJ\",\narea_code: \"200136\",\nsort: 2000,\nlatitude: 37.619801,\nlongitude: 114.919319,\nis_map: true,\npinyin: \"ningjin\"\n},\n{\nid: 616,\nname: \"南宫\",\nabbr: \"NG\",\narea_code: \"200162\",\nsort: 2000,\nlatitude: 37.357948,\nlongitude: 115.408661,\nis_map: true,\npinyin: \"nangong\"\n},\n{\nid: 687,\nname: \"南召\",\nabbr: \"NZ\",\narea_code: \"200233\",\nsort: 2000,\nlatitude: 33.489792,\nlongitude: 112.429138,\nis_map: true,\npinyin: \"nanzhao\"\n},\n{\nid: 691,\nname: \"内乡\",\nabbr: \"NX\",\narea_code: \"200237\",\nsort: 2000,\nlatitude: 33.04483,\nlongitude: 111.849258,\nis_map: true,\npinyin: \"neixiang\"\n},\n{\nid: 703,\nname: \"嫩江\",\nabbr: \"NJ\",\narea_code: \"200249\",\nsort: 2000,\nlatitude: 49.185719,\nlongitude: 125.22094,\nis_map: true,\npinyin: \"nenjiang\"\n},\n{\nid: 706,\nname: \"讷河\",\nabbr: \"NH\",\narea_code: \"200252\",\nsort: 2000,\nlatitude: 48.484192,\nlongitude: 124.883972,\nis_map: true,\npinyin: \"nehe\"\n},\n{\nid: 742,\nname: \"南漳\",\nabbr: \"NZ\",\narea_code: \"200288\",\nsort: 2000,\nlatitude: 31.77471,\nlongitude: 111.83902,\nis_map: true,\npinyin: \"nanzhang\"\n},\n{\nid: 751,\nname: \"宁乡\",\nabbr: \"NX\",\narea_code: \"200297\",\nsort: 2000,\nlatitude: 28.277411,\nlongitude: 112.551826,\nis_map: true,\npinyin: \"ningxiang\"\n},\n{\nid: 765,\nname: \"南县\",\nabbr: \"NX\",\narea_code: \"200311\",\nsort: 2000,\nlatitude: 29.36162,\nlongitude: 112.396362,\nis_map: true,\npinyin: \"nanxian\"\n},\n{\nid: 771,\nname: \"宁远\",\nabbr: \"NY\",\narea_code: \"200317\",\nsort: 2000,\nlatitude: 25.569189,\nlongitude: 111.94445,\nis_map: true,\npinyin: \"ningyuan\"\n},\n{\nid: 815,\nname: \"农安\",\nabbr: \"NA\",\narea_code: \"200361\",\nsort: 2000,\nlatitude: 44.43195,\nlongitude: 125.18512,\nis_map: true,\npinyin: \"nongan\"\n},\n{\nid: 872,\nname: \"南康\",\nabbr: \"NK\",\narea_code: \"200418\",\nsort: 2000,\nlatitude: 25.66144,\nlongitude: 114.76535,\nis_map: true,\npinyin: \"nankang\"\n},\n{\nid: 881,\nname: \"宁都\",\nabbr: \"ND\",\narea_code: \"200427\",\nsort: 2000,\nlatitude: 26.47019,\nlongitude: 116.009407,\nis_map: true,\npinyin: \"ningdu\"\n},\n{\nid: 967,\nname: \"宁阳\",\nabbr: \"NY\",\narea_code: \"200513\",\nsort: 2000,\nlatitude: 35.759609,\nlongitude: 116.807266,\nis_map: true,\npinyin: \"ningyang\"\n},\n{\nid: 1033,\nname: \"南部\",\nabbr: \"NB\",\narea_code: \"200579\",\nsort: 2000,\nlatitude: 31.353161,\nlongitude: 106.067337,\nis_map: true,\npinyin: \"nanbu\"\n},\n{\nid: 1051,\nname: \"宁河\",\nabbr: \"NH\",\narea_code: \"200597\",\nsort: 2000,\nlatitude: 39.330761,\nlongitude: 117.824738,\nis_map: true,\npinyin: \"ninghe\"\n},\n{\nid: 1090,\nname: \"宁海\",\nabbr: \"NH\",\narea_code: \"200636\",\nsort: 2000,\nlatitude: 29.288071,\nlongitude: 121.429611,\nis_map: true,\npinyin: \"ninghai\"\n},\n{\nid: 1172,\nname: \"宁化\",\nabbr: \"NH\",\narea_code: \"350424\",\nsort: 9999,\nlatitude: 26.26178,\nlongitude: 116.654427,\nis_map: true,\npinyin: \"ninghua\"\n},\n{\nid: 1192,\nname: \"内丘\",\nabbr: \"NQ\",\narea_code: \"130523\",\nsort: 9999,\nlatitude: 37.287663,\nlongitude: 114.51152,\nis_map: true,\npinyin: \"neiqiu\"\n},\n{\nid: 1195,\nname: \"南和\",\nabbr: \"NH\",\narea_code: \"130527\",\nsort: 9999,\nlatitude: 37.003811,\nlongitude: 114.691376,\nis_map: true,\npinyin: \"nanhe\"\n},\n{\nid: 1242,\nname: \"南皮\",\nabbr: \"NP\",\narea_code: \"130927\",\nsort: 9999,\nlatitude: 38.042439,\nlongitude: 116.709167,\nis_map: true,\npinyin: \"nanpi\"\n},\n{\nid: 1357,\nname: \"宁城\",\nabbr: \"NC\",\narea_code: \"150429\",\nsort: 9999,\nlatitude: 41.598694,\nlongitude: 119.339241,\nis_map: true,\npinyin: \"ningcheng\"\n},\n{\nid: 1363,\nname: \"奈曼旗\",\nabbr: \"NMQ\",\narea_code: \"150525\",\nsort: 9999,\nlatitude: 42.846851,\nlongitude: 120.662544,\nis_map: true,\npinyin: \"naimanqi\"\n},\n{\nid: 1501,\nname: \"宁安\",\nabbr: \"NA\",\narea_code: \"231084\",\nsort: 9999,\nlatitude: 44.346836,\nlongitude: 129.470016,\nis_map: true,\npinyin: \"ningan\"\n},\n{\nid: 1528,\nname: \"南陵\",\nabbr: \"NL\",\narea_code: \"340223\",\nsort: 9999,\nlatitude: 30.919638,\nlongitude: 118.337105,\nis_map: true,\npinyin: \"nanling\"\n},\n{\nid: 1559,\nname: \"南靖\",\nabbr: \"NJ\",\narea_code: \"350627\",\nsort: 9999,\nlatitude: 24.516424,\nlongitude: 117.365463,\nis_map: true,\npinyin: \"nanjing\"\n},\n{\nid: 1608,\nname: \"南城\",\nabbr: \"NC\",\narea_code: \"361021\",\nsort: 9999,\nlatitude: 27.555309,\nlongitude: 116.63945,\nis_map: true,\npinyin: \"nancheng\"\n},\n{\nid: 1610,\nname: \"南丰\",\nabbr: \"NF\",\narea_code: \"361023\",\nsort: 9999,\nlatitude: 27.210133,\nlongitude: 116.532997,\nis_map: true,\npinyin: \"nanfeng\"\n},\n{\nid: 1634,\nname: \"宁津\",\nabbr: \"NJ\",\narea_code: \"371422\",\nsort: 9999,\nlatitude: 37.64962,\nlongitude: 116.793716,\nis_map: true,\npinyin: \"ningjin\"\n},\n{\nid: 1650,\nname: \"内黄\",\nabbr: \"NH\",\narea_code: \"410527\",\nsort: 9999,\nlatitude: 35.953701,\nlongitude: 114.904579,\nis_map: true,\npinyin: \"neihuang\"\n},\n{\nid: 1658,\nname: \"南乐\",\nabbr: \"NL\",\narea_code: \"410923\",\nsort: 9999,\nlatitude: 36.075203,\nlongitude: 115.204338,\nis_map: true,\npinyin: \"nanle\"\n},\n{\nid: 1668,\nname: \"宁陵\",\nabbr: \"NL\",\narea_code: \"411423\",\nsort: 9999,\nlatitude: 34.449299,\nlongitude: 115.320053,\nis_map: true,\npinyin: \"ningling\"\n},\n{\nid: 1740,\nname: \"南雄市\",\nabbr: \"NXS\",\narea_code: \"440282\",\nsort: 9999,\nlatitude: 25.115328,\nlongitude: 114.311234,\nis_map: true,\npinyin: \"nanxiongshi\"\n},\n{\nid: 1808,\nname: \"那坡\",\nabbr: \"NP\",\narea_code: \"451026\",\nsort: 9999,\nlatitude: 23.400785,\nlongitude: 105.833549,\nis_map: true,\npinyin: \"napo\"\n},\n{\nid: 1818,\nname: \"南丹\",\nabbr: \"ND\",\narea_code: \"451221\",\nsort: 9999,\nlatitude: 24.983192,\nlongitude: 107.546608,\nis_map: true,\npinyin: \"nandan\"\n},\n{\nid: 2053,\nname: \"宁蒗彝族自治县\",\nabbr: \"NLYZZZX\",\narea_code: \"530724\",\nsort: 9999,\nlatitude: 27.281109,\nlongitude: 100.852425,\nis_map: true,\npinyin: \"ninglangyizuzizhixian\"\n},\n{\nid: 2054,\nname: \"宁洱哈尼族彝族自治县\",\nabbr: \"NEHNZYZZZX\",\narea_code: \"530821\",\nsort: 9999,\nlatitude: 23.062508,\nlongitude: 101.045242,\nis_map: true,\npinyin: \"ningerhanizuyizuzizhixian\"\n},\n{\nid: 2074,\nname: \"南华\",\nabbr: \"NH\",\narea_code: \"532324\",\nsort: 9999,\nlatitude: 25.192408,\nlongitude: 101.274994,\nis_map: true,\npinyin: \"nanhua\"\n},\n{\nid: 2104,\nname: \"南涧彝族自治县\",\nabbr: \"NJYZZZX\",\narea_code: \"532926\",\nsort: 9999,\nlatitude: 25.041279,\nlongitude: 100.518684,\nis_map: true,\npinyin: \"nanjianyizuzizhixian\"\n},\n{\nid: 2176,\nname: \"那曲地区\",\nabbr: \"NQDQ\",\narea_code: \"542400\",\nsort: 9999,\nlatitude: 31.47694,\nlongitude: 92.058083,\nis_map: true,\npinyin: \"naqudiqu\"\n},\n{\nid: 5224,\nname: \"南岔区\",\nabbr: \"NCQ\",\narea_code: \"230703\",\nsort: 9999,\nlatitude: 47.137314,\nlongitude: 129.282455,\nis_map: true,\npinyin: \"nanchaqu\"\n}\n],\nG: [\n{\nid: 4,\nname: \"广州\",\nabbr: \"GZ\",\narea_code: \"020\",\nsort: 6,\nlatitude: 23.12908,\nlongitude: 113.264359,\nis_map: true,\npinyin: \"guangzhou\"\n},\n{\nid: 417,\nname: \"巩义\",\nabbr: \"GY\",\narea_code: \"03712\",\nsort: 1900,\nlatitude: 34.747978,\nlongitude: 113.022057,\nis_map: true,\npinyin: \"gongyi\"\n},\n{\nid: 98,\nname: \"桂林\",\nabbr: \"GL\",\narea_code: \"0773\",\nsort: 2000,\nlatitude: 25.273609,\nlongitude: 110.290024,\nis_map: true,\npinyin: \"guilin\"\n},\n{\nid: 129,\nname: \"赣州\",\nabbr: \"GZ\",\narea_code: \"0797\",\nsort: 2000,\nlatitude: 25.831091,\nlongitude: 114.934761,\nis_map: true,\npinyin: \"ganzhou\"\n},\n{\nid: 137,\nname: \"贵阳\",\nabbr: \"GY\",\narea_code: \"0851\",\nsort: 2000,\nlatitude: 26.64702,\nlongitude: 106.630241,\nis_map: true,\npinyin: \"guiyang\"\n},\n{\nid: 197,\nname: \"广汉\",\nabbr: \"GHS\",\narea_code: \"510600\",\nsort: 2000,\nlatitude: 30.97706,\nlongitude: 104.282494,\nis_map: true,\npinyin: \"guanghanshi\"\n},\n{\nid: 262,\nname: \"广元\",\nabbr: \"GY\",\narea_code: \"0839\",\nsort: 2000,\nlatitude: 32.43549,\nlongitude: 105.843567,\nis_map: true,\npinyin: \"guangyuan\"\n},\n{\nid: 316,\nname: \"广安\",\nabbr: \"GA\",\narea_code: \"0826\",\nsort: 2000,\nlatitude: 30.455959,\nlongitude: 106.633217,\nis_map: true,\npinyin: \"guangan\"\n},\n{\nid: 431,\nname: \"贵港\",\nabbr: \"GG\",\narea_code: \"10009\",\nsort: 2000,\nlatitude: 23.11306,\nlongitude: 109.597641,\nis_map: true,\npinyin: \"guigang\"\n},\n{\nid: 477,\nname: \"广德\",\nabbr: \"GD\",\narea_code: \"200023\",\nsort: 2000,\nlatitude: 30.893801,\nlongitude: 119.417053,\nis_map: true,\npinyin: \"guangde\"\n},\n{\nid: 551,\nname: \"高州\",\nabbr: \"GZ\",\narea_code: \"200097\",\nsort: 2000,\nlatitude: 21.918119,\nlongitude: 110.853378,\nis_map: true,\npinyin: \"gaozhou\"\n},\n{\nid: 561,\nname: \"高要\",\nabbr: \"GY\",\narea_code: \"200107\",\nsort: 2000,\nlatitude: 23.02581,\nlongitude: 112.458389,\nis_map: true,\npinyin: \"gaoyao\"\n},\n{\nid: 568,\nname: \"桂平\",\nabbr: \"GP\",\narea_code: \"200114\",\nsort: 2000,\nlatitude: 23.3941,\nlongitude: 110.07901,\nis_map: true,\npinyin: \"guiping\"\n},\n{\nid: 593,\nname: \"藁城\",\nabbr: \"GC\",\narea_code: \"200139\",\nsort: 2000,\nlatitude: 38.02166,\nlongitude: 114.846764,\nis_map: true,\npinyin: \"gaocheng\"\n},\n{\nid: 594,\nname: \"高碑店\",\nabbr: \"GBD\",\narea_code: \"200140\",\nsort: 2000,\nlatitude: 39.32658,\nlongitude: 115.873734,\nis_map: true,\npinyin: \"gaobeidian\"\n},\n{\nid: 619,\nname: \"固安\",\nabbr: \"GA\",\narea_code: \"200165\",\nsort: 2000,\nlatitude: 39.438251,\nlongitude: 116.298523,\nis_map: true,\npinyin: \"guan\"\n},\n{\nid: 632,\nname: \"固始\",\nabbr: \"GS\",\narea_code: \"200178\",\nsort: 2000,\nlatitude: 32.168388,\nlongitude: 115.654808,\nis_map: true,\npinyin: \"gushi\"\n},\n{\nid: 683,\nname: \"光山\",\nabbr: \"GS\",\narea_code: \"200229\",\nsort: 2000,\nlatitude: 32.009972,\nlongitude: 114.918777,\nis_map: true,\npinyin: \"guangshan\"\n},\n{\nid: 718,\nname: \"公安\",\nabbr: \"GA\",\narea_code: \"200264\",\nsort: 2000,\nlatitude: 30.0583,\nlongitude: 112.229477,\nis_map: true,\npinyin: \"gongan\"\n},\n{\nid: 724,\nname: \"广水\",\nabbr: \"GS\",\narea_code: \"200270\",\nsort: 2000,\nlatitude: 31.616859,\nlongitude: 113.825996,\nis_map: true,\npinyin: \"guangshui\"\n},\n{\nid: 741,\nname: \"谷城\",\nabbr: \"GC\",\narea_code: \"200287\",\nsort: 2000,\nlatitude: 32.263378,\nlongitude: 111.653038,\nis_map: true,\npinyin: \"gucheng\"\n},\n{\nid: 773,\nname: \"桂阳\",\nabbr: \"GY\",\narea_code: \"200319\",\nsort: 2000,\nlatitude: 25.754101,\nlongitude: 112.733681,\nis_map: true,\npinyin: \"guiyang\"\n},\n{\nid: 804,\nname: \"公主岭\",\nabbr: \"GZL\",\narea_code: \"200350\",\nsort: 2000,\nlatitude: 43.504681,\nlongitude: 124.8228,\nis_map: true,\npinyin: \"gongzhuling\"\n},\n{\nid: 841,\nname: \"赣榆\",\nabbr: \"GY\",\narea_code: \"200387\",\nsort: 2000,\nlatitude: 34.840649,\nlongitude: 119.177299,\nis_map: true,\npinyin: \"ganyu\"\n},\n{\nid: 854,\nname: \"高邮\",\nabbr: \"GY\",\narea_code: \"200400\",\nsort: 2000,\nlatitude: 32.78112,\nlongitude: 119.455582,\nis_map: true,\npinyin: \"gaoyou\"\n},\n{\nid: 857,\nname: \"灌云\",\nabbr: \"GY\",\narea_code: \"200403\",\nsort: 2000,\nlatitude: 34.284069,\nlongitude: 119.240959,\nis_map: true,\npinyin: \"guanyun\"\n},\n{\nid: 861,\nname: \"灌南\",\nabbr: \"GN\",\narea_code: \"200407\",\nsort: 2000,\nlatitude: 34.086731,\nlongitude: 119.315628,\nis_map: true,\npinyin: \"guannan\"\n},\n{\nid: 864,\nname: \"高淳\",\nabbr: \"GC\",\narea_code: \"200410\",\nsort: 2000,\nlatitude: 31.327511,\nlongitude: 118.892097,\nis_map: true,\npinyin: \"gaochun\"\n},\n{\nid: 869,\nname: \"广丰\",\nabbr: \"GF\",\narea_code: \"200415\",\nsort: 2000,\nlatitude: 28.43631,\nlongitude: 118.19133,\nis_map: true,\npinyin: \"guangfeng\"\n},\n{\nid: 874,\nname: \"高安\",\nabbr: \"GA\",\narea_code: \"200420\",\nsort: 2000,\nlatitude: 28.41729,\nlongitude: 115.375618,\nis_map: true,\npinyin: \"gaoan\"\n},\n{\nid: 885,\nname: \"贵溪\",\nabbr: \"GX\",\narea_code: \"200431\",\nsort: 2000,\nlatitude: 28.292521,\nlongitude: 117.245247,\nis_map: true,\npinyin: \"guixi\"\n},\n{\nid: 892,\nname: \"赣县\",\nabbr: \"GX\",\narea_code: \"200438\",\nsort: 2000,\nlatitude: 25.86062,\nlongitude: 115.011749,\nis_map: true,\npinyin: \"ganxian\"\n},\n{\nid: 906,\nname: \"盖州\",\nabbr: \"GZ\",\narea_code: \"200452\",\nsort: 2000,\nlatitude: 40.400532,\nlongitude: 122.348801,\nis_map: true,\npinyin: \"gaizhou\"\n},\n{\nid: 922,\nname: \"格尔木\",\nabbr: \"GEM\",\narea_code: \"200468\",\nsort: 2000,\nlatitude: 33.660332,\nlongitude: 90,\nis_map: true,\npinyin: \"geermu\"\n},\n{\nid: 929,\nname: \"高密\",\nabbr: \"GM\",\narea_code: \"200475\",\nsort: 2000,\nlatitude: 36.382568,\nlongitude: 119.755676,\nis_map: true,\npinyin: \"gaomi\"\n},\n{\nid: 981,\nname: \"冠县\",\nabbr: \"GX\",\narea_code: \"200527\",\nsort: 2000,\nlatitude: 36.483349,\nlongitude: 115.442627,\nis_map: true,\npinyin: \"guanxian\"\n},\n{\nid: 985,\nname: \"高唐\",\nabbr: \"GT\",\narea_code: \"200531\",\nsort: 2000,\nlatitude: 36.86602,\nlongitude: 116.23111,\nis_map: true,\npinyin: \"gaotang\"\n},\n{\nid: 987,\nname: \"广饶\",\nabbr: \"GR\",\narea_code: \"200533\",\nsort: 2000,\nlatitude: 37.053589,\nlongitude: 118.407021,\nis_map: true,\npinyin: \"guangrao\"\n},\n{\nid: 999,\nname: \"高平\",\nabbr: \"GP\",\narea_code: \"200545\",\nsort: 2000,\nlatitude: 35.798069,\nlongitude: 112.923576,\nis_map: true,\npinyin: \"gaoping\"\n},\n{\nid: 1071,\nname: \"个旧\",\nabbr: \"GJ\",\narea_code: \"200617\",\nsort: 2000,\nlatitude: 23.35899,\nlongitude: 103.160042,\nis_map: true,\npinyin: \"gejiu\"\n},\n{\nid: 1161,\nname: \"古田\",\nabbr: \"GT\",\narea_code: \"350922\",\nsort: 9999,\nlatitude: 26.57762,\nlongitude: 118.746063,\nis_map: true,\npinyin: \"gutian\"\n},\n{\nid: 1165,\nname: \"高陵\",\nabbr: \"GL\",\narea_code: \"610126\",\nsort: 9999,\nlatitude: 34.53487,\nlongitude: 109.088219,\nis_map: true,\npinyin: \"gaoling\"\n},\n{\nid: 1187,\nname: \"广平\",\nabbr: \"GP\",\narea_code: \"130432\",\nsort: 9999,\nlatitude: 36.483604,\nlongitude: 114.950859,\nis_map: true,\npinyin: \"guangping\"\n},\n{\nid: 1188,\nname: \"馆陶\",\nabbr: \"GT\",\narea_code: \"130433\",\nsort: 9999,\nlatitude: 36.539459,\nlongitude: 115.289055,\nis_map: true,\npinyin: \"guantao\"\n},\n{\nid: 1198,\nname: \"广宗县\",\nabbr: \"GZX\",\narea_code: \"130531\",\nsort: 9999,\nlatitude: 37.075546,\nlongitude: 115.142799,\nis_map: true,\npinyin: \"guangzong\"\n},\n{\nid: 1207,\nname: \"高阳县\",\nabbr: \"GYX\",\narea_code: \"130628\",\nsort: 9999,\nlatitude: 38.700069,\nlongitude: 115.778839,\nis_map: true,\npinyin: \"gaoyangxian\"\n},\n{\nid: 1220,\nname: \"沽源\",\nabbr: \"GY\",\narea_code: \"130724\",\nsort: 9999,\nlatitude: 41.667419,\nlongitude: 115.684837,\nis_map: true,\npinyin: \"guyuan\"\n},\n{\nid: 1253,\nname: \"故城\",\nabbr: \"GC\",\narea_code: \"131126\",\nsort: 9999,\nlatitude: 37.350983,\nlongitude: 115.966743,\nis_map: true,\npinyin: \"gucheng\"\n},\n{\nid: 1380,\nname: \"根河\",\nabbr: \"GH\",\narea_code: \"150785\",\nsort: 9999,\nlatitude: 50.780453,\nlongitude: 121.532722,\nis_map: true,\npinyin: \"genhe\"\n},\n{\nid: 1472,\nname: \"甘南\",\nabbr: \"GN\",\narea_code: \"230225\",\nsort: 9999,\nlatitude: 47.917839,\nlongitude: 123.506035,\nis_map: true,\npinyin: \"gannan\"\n},\n{\nid: 1529,\nname: \"固镇县\",\nabbr: \"GZX\",\narea_code: \"340323\",\nsort: 9999,\nlatitude: 33.31868,\nlongitude: 117.315964,\nis_map: true,\npinyin: \"guzhen\"\n},\n{\nid: 1562,\nname: \"光泽\",\nabbr: \"GZ\",\narea_code: \"350723\",\nsort: 9999,\nlatitude: 27.542803,\nlongitude: 117.337898,\nis_map: true,\npinyin: \"guangze\"\n},\n{\nid: 1583,\nname: \"共青城\",\nabbr: \"GQC\",\narea_code: \"360482\",\nsort: 9999,\nlatitude: 29.2484,\nlongitude: 115.79406,\nis_map: true,\npinyin: \"gongqingcheng\"\n},\n{\nid: 1592,\nname: \"高邑\",\nabbr: \"GY\",\narea_code: \"130127\",\nsort: 9999,\nlatitude: 37.605713,\nlongitude: 114.610703,\nis_map: true,\npinyin: \"gaoyi\"\n},\n{\nid: 1616,\nname: \"广昌县\",\nabbr: \"GCX\",\narea_code: \"361030\",\nsort: 9999,\nlatitude: 26.838427,\nlongitude: 116.327293,\nis_map: true,\npinyin: \"guangchang\"\n},\n{\nid: 1626,\nname: \"高青\",\nabbr: \"GQ\",\narea_code: \"370322\",\nsort: 9999,\nlatitude: 37.169582,\nlongitude: 117.829842,\nis_map: true,\npinyin: \"gaoqing\"\n},\n{\nid: 1714,\nname: \"桂东\",\nabbr: \"GD\",\narea_code: \"431027\",\nsort: 9999,\nlatitude: 26.073917,\nlongitude: 113.945877,\nis_map: true,\npinyin: \"guidong\"\n},\n{\nid: 1783,\nname: \"灌阳\",\nabbr: \"GY\",\narea_code: \"450327\",\nsort: 9999,\nlatitude: 25.489098,\nlongitude: 111.160248,\nis_map: true,\npinyin: \"guanyang\"\n},\n{\nid: 1788,\nname: \"恭城瑶族自治县\",\nabbr: \"GCYZZZX\",\narea_code: \"450332\",\nsort: 9999,\nlatitude: 24.833612,\nlongitude: 110.829521,\nis_map: true,\npinyin: \"gongchengyaozuzizhixian\"\n},\n{\nid: 1919,\nname: \"甘孜藏族自治州\",\nabbr: \"GZZZZZZ\",\narea_code: \"513300\",\nsort: 9999,\nlatitude: 31.618486,\nlongitude: 99.991486,\nis_map: true,\npinyin: \"ganzizangzuzizhizhou\"\n},\n{\nid: 1974,\nname: \"关岭布依族苗族自治县\",\nabbr: \"GLBYZMZZZX\",\narea_code: \"520424\",\nsort: 9999,\nlatitude: 25.980713,\nlongitude: 105.666855,\nis_map: true,\npinyin: \"guanlingbuyizumiaozuzizhixian\"\n},\n{\nid: 2013,\nname: \"贵定\",\nabbr: \"GD\",\narea_code: \"522723\",\nsort: 9999,\nlatitude: 26.580807,\nlongitude: 107.233589,\nis_map: true,\npinyin: \"guiding\"\n},\n{\nid: 2069,\nname: \"耿马傣族佤族自治县\",\nabbr: \"GMDZWZZZX\",\narea_code: \"530926\",\nsort: 9999,\nlatitude: 23.534578,\nlongitude: 99.402496,\nis_map: true,\npinyin: \"gengmadaizuwazuzizhixian\"\n},\n{\nid: 2095,\nname: \"广南\",\nabbr: \"GN\",\narea_code: \"532627\",\nsort: 9999,\nlatitude: 24.050699,\nlongitude: 105.049263,\nis_map: true,\npinyin: \"guangnan\"\n},\n{\nid: 2120,\nname: \"贡山独龙族怒族自治县\",\nabbr: \"GSDLZNZZZX\",\narea_code: \"533324\",\nsort: 9999,\nlatitude: 27.738054,\nlongitude: 98.666138,\nis_map: true,\npinyin: \"gongshandulongzunuzuzizhixian\"\n},\n{\nid: 2302,\nname: \"高台\",\nabbr: \"GT\",\narea_code: \"620724\",\nsort: 9999,\nlatitude: 39.376308,\nlongitude: 99.81665,\nis_map: true,\npinyin: \"gaotai\"\n},\n{\nid: 2381,\nname: \"果洛藏族自治州\",\nabbr: \"GLZZZZZ\",\narea_code: \"632600\",\nsort: 9999,\nlatitude: 34.468685,\nlongitude: 100.247078,\nis_map: true,\npinyin: \"guoluozangzuzizhizhou\"\n},\n{\nid: 2384,\nname: \"甘德县\",\nabbr: \"GDX\",\narea_code: \"632623\",\nsort: 9999,\nlatitude: 33.966988,\nlongitude: 99.902588,\nis_map: true,\npinyin: \"gande\"\n},\n{\nid: 2410,\nname: \"固原\",\nabbr: \"GY\",\narea_code: \"640400\",\nsort: 9999,\nlatitude: 36.004562,\nlongitude: 106.28524,\nis_map: true,\npinyin: \"guyuan\"\n},\n{\nid: 5038,\nname: \"古冶区\",\nabbr: \"GYQ\",\narea_code: \"130204\",\nsort: 9999,\nlatitude: 39.715736,\nlongitude: 118.454292,\nis_map: true,\npinyin: \"guyequ\"\n}\n],\nX: [\n{\nid: 13,\nname: \"厦门\",\nabbr: \"XM\",\narea_code: \"0592\",\nsort: 7,\nlatitude: 24.479509,\nlongitude: 118.089478,\nis_map: true,\npinyin: \"xiamen\"\n},\n{\nid: 15,\nname: \"西安\",\nabbr: \"XA\",\narea_code: \"029\",\nsort: 24,\nlatitude: 34.34127,\nlongitude: 108.939842,\nis_map: true,\npinyin: \"xian\"\n},\n{\nid: 42,\nname: \"湘潭\",\nabbr: \"XT\",\narea_code: \"0732\",\nsort: 80,\nlatitude: 27.82975,\nlongitude: 112.944107,\nis_map: true,\npinyin: \"xiangtan\"\n},\n{\nid: 29,\nname: \"徐州\",\nabbr: \"XZ\",\narea_code: \"0516\",\nsort: 2000,\nlatitude: 34.204399,\nlongitude: 117.285767,\nis_map: true,\npinyin: \"xuzhou\"\n},\n{\nid: 76,\nname: \"新乡\",\nabbr: \"XX\",\narea_code: \"0373\",\nsort: 2000,\nlatitude: 35.30323,\nlongitude: 113.92675,\nis_map: true,\npinyin: \"xinxiang\"\n},\n{\nid: 115,\nname: \"咸阳\",\nabbr: \"XY\",\narea_code: \"0910\",\nsort: 2000,\nlatitude: 34.329319,\nlongitude: 108.70929,\nis_map: true,\npinyin: \"xianyang\"\n},\n{\nid: 127,\nname: \"新余\",\nabbr: \"XY\",\narea_code: \"0790\",\nsort: 2000,\nlatitude: 27.81776,\nlongitude: 114.91713,\nis_map: true,\npinyin: \"xinyu\"\n},\n{\nid: 179,\nname: \"邢台\",\nabbr: \"XT\",\narea_code: \"0319\",\nsort: 2000,\nlatitude: 37.070549,\nlongitude: 114.504433,\nis_map: true,\npinyin: \"xingtai\"\n},\n{\nid: 198,\nname: \"许昌\",\nabbr: \"XC\",\narea_code: \"0374\",\nsort: 2000,\nlatitude: 34.035702,\nlongitude: 113.852333,\nis_map: true,\npinyin: \"xuchang\"\n},\n{\nid: 205,\nname: \"孝感\",\nabbr: \"XG\",\narea_code: \"0712\",\nsort: 2000,\nlatitude: 30.924829,\nlongitude: 113.916451,\nis_map: true,\npinyin: \"xiaogan\"\n},\n{\nid: 215,\nname: \"香港\",\nabbr: \"XG\",\narea_code: \"00852\",\nsort: 2000,\nlatitude: 22.276283,\nlongitude: 114.163826,\nis_map: true,\npinyin: \"xianggang\"\n},\n{\nid: 230,\nname: \"咸宁\",\nabbr: \"XN\",\narea_code: \"0715\",\nsort: 2000,\nlatitude: 29.841261,\nlongitude: 114.322449,\nis_map: true,\npinyin: \"xianning\"\n},\n{\nid: 233,\nname: \"西宁\",\nabbr: \"XN\",\narea_code: \"0971\",\nsort: 2000,\nlatitude: 36.61729,\nlongitude: 101.777817,\nis_map: true,\npinyin: \"xining\"\n},\n{\nid: 234,\nname: \"信阳\",\nabbr: \"XY\",\narea_code: \"0376\",\nsort: 2000,\nlatitude: 32.147141,\nlongitude: 114.092789,\nis_map: true,\npinyin: \"xinyang\"\n},\n{\nid: 241,\nname: \"襄阳\",\nabbr: \"XY\",\narea_code: \"0710\",\nsort: 2000,\nlatitude: 32.008999,\nlongitude: 112.122551,\nis_map: true,\npinyin: \"xiangyang\"\n},\n{\nid: 263,\nname: \"忻州\",\nabbr: \"XZ\",\narea_code: \"0350\",\nsort: 2000,\nlatitude: 38.416698,\nlongitude: 112.734177,\nis_map: true,\npinyin: \"xinzhou\"\n},\n{\nid: 296,\nname: \"西昌\",\nabbr: \"XC\",\narea_code: \"0843\",\nsort: 2000,\nlatitude: 27.894489,\nlongitude: 102.263046,\nis_map: true,\npinyin: \"xichang\"\n},\n{\nid: 314,\nname: \"宣城\",\nabbr: \"XC\",\narea_code: \"0563\",\nsort: 2000,\nlatitude: 30.940781,\nlongitude: 118.758659,\nis_map: true,\npinyin: \"xuancheng\"\n},\n{\nid: 476,\nname: \"萧县\",\nabbr: \"XX\",\narea_code: \"200022\",\nsort: 2000,\nlatitude: 34.188759,\nlongitude: 116.947243,\nis_map: true,\npinyin: \"xiaoxian\"\n},\n{\nid: 501,\nname: \"仙游\",\nabbr: \"XY\",\narea_code: \"200047\",\nsort: 2000,\nlatitude: 25.36215,\nlongitude: 118.691811,\nis_map: true,\npinyin: \"xianyou\"\n},\n{\nid: 512,\nname: \"霞浦\",\nabbr: \"XP\",\narea_code: \"200058\",\nsort: 2000,\nlatitude: 26.88517,\nlongitude: 120.005562,\nis_map: true,\npinyin: \"xiapu\"\n},\n{\nid: 543,\nname: \"兴宁\",\nabbr: \"XN\",\narea_code: \"200089\",\nsort: 2000,\nlatitude: 24.136499,\nlongitude: 115.731194,\nis_map: true,\npinyin: \"xingning\"\n},\n{\nid: 553,\nname: \"信宜\",\nabbr: \"XY\",\narea_code: \"200099\",\nsort: 2000,\nlatitude: 22.35429,\nlongitude: 110.947098,\nis_map: true,\npinyin: \"xinyi\"\n},\n{\nid: 558,\nname: \"徐闻\",\nabbr: \"XW\",\narea_code: \"200104\",\nsort: 2000,\nlatitude: 20.326521,\nlongitude: 110.175018,\nis_map: true,\npinyin: \"xuwen\"\n},\n{\nid: 571,\nname: \"兴义\",\nabbr: \"XY\",\narea_code: \"200117\",\nsort: 2000,\nlatitude: 25.091921,\nlongitude: 104.895531,\nis_map: true,\npinyin: \"xingyi\"\n},\n{\nid: 598,\nname: \"辛集\",\nabbr: \"XJ\",\narea_code: \"200144\",\nsort: 2000,\nlatitude: 37.943161,\nlongitude: 115.217918,\nis_map: true,\npinyin: \"xinji\"\n},\n{\nid: 601,\nname: \"徐水\",\nabbr: \"XS\",\narea_code: \"200147\",\nsort: 2000,\nlatitude: 39.01865,\nlongitude: 115.655861,\nis_map: true,\npinyin: \"xushui\"\n},\n{\nid: 613,\nname: \"香河\",\nabbr: \"XH\",\narea_code: \"200159\",\nsort: 2000,\nlatitude: 39.761421,\nlongitude: 117.006447,\nis_map: true,\npinyin: \"xianghe\"\n},\n{\nid: 614,\nname: \"新乐\",\nabbr: \"XL\",\narea_code: \"200160\",\nsort: 2000,\nlatitude: 38.34338,\nlongitude: 114.683838,\nis_map: true,\npinyin: \"xinle\"\n},\n{\nid: 625,\nname: \"新密\",\nabbr: \"XM\",\narea_code: \"200171\",\nsort: 2000,\nlatitude: 34.53952,\nlongitude: 113.390442,\nis_map: true,\npinyin: \"xinmi\"\n},\n{\nid: 627,\nname: \"项城\",\nabbr: \"XC\",\narea_code: \"200173\",\nsort: 2000,\nlatitude: 33.467232,\nlongitude: 114.875618,\nis_map: true,\npinyin: \"xiangcheng\"\n},\n{\nid: 628,\nname: \"新郑\",\nabbr: \"XZ\",\narea_code: \"200174\",\nsort: 2000,\nlatitude: 34.396049,\nlongitude: 113.741608,\nis_map: true,\npinyin: \"xinzheng\"\n},\n{\nid: 644,\nname: \"荥阳\",\nabbr: \"XY\",\narea_code: \"200190\",\nsort: 2000,\nlatitude: 34.787621,\nlongitude: 113.383492,\nis_map: true,\npinyin: \"xingyang\"\n},\n{\nid: 647,\nname: \"夏邑\",\nabbr: \"XY\",\narea_code: \"200193\",\nsort: 2000,\nlatitude: 34.239288,\nlongitude: 116.129692,\nis_map: true,\npinyin: \"xiayi\"\n},\n{\nid: 650,\nname: \"息县\",\nabbr: \"XX\",\narea_code: \"200196\",\nsort: 2000,\nlatitude: 32.342819,\nlongitude: 114.740242,\nis_map: true,\npinyin: \"xixian\"\n},\n{\nid: 655,\nname: \"淅川\",\nabbr: \"XC\",\narea_code: \"200201\",\nsort: 2000,\nlatitude: 33.138149,\nlongitude: 111.490784,\nis_map: true,\npinyin: \"xichuan\"\n},\n{\nid: 661,\nname: \"西华\",\nabbr: \"XH\",\narea_code: \"200207\",\nsort: 2000,\nlatitude: 33.76754,\nlongitude: 114.529739,\nis_map: true,\npinyin: \"xihua\"\n},\n{\nid: 668,\nname: \"新野\",\nabbr: \"XY\",\narea_code: \"200214\",\nsort: 2000,\nlatitude: 32.520931,\nlongitude: 112.360062,\nis_map: true,\npinyin: \"xinye\"\n},\n{\nid: 669,\nname: \"新蔡\",\nabbr: \"XC\",\narea_code: \"200215\",\nsort: 2000,\nlatitude: 32.74926,\nlongitude: 114.98571,\nis_map: true,\npinyin: \"xincai\"\n},\n{\nid: 671,\nname: \"襄城\",\nabbr: \"XC\",\narea_code: \"200217\",\nsort: 2000,\nlatitude: 33.850719,\nlongitude: 113.506691,\nis_map: true,\npinyin: \"xiangcheng\"\n},\n{\nid: 675,\nname: \"西峡\",\nabbr: \"XX\",\narea_code: \"200221\",\nsort: 2000,\nlatitude: 33.305599,\nlongitude: 111.472443,\nis_map: true,\npinyin: \"xixia\"\n},\n{\nid: 676,\nname: \"西平\",\nabbr: \"XP\",\narea_code: \"200222\",\nsort: 2000,\nlatitude: 33.387798,\nlongitude: 114.021584,\nis_map: true,\npinyin: \"xiping\"\n},\n{\nid: 686,\nname: \"新安\",\nabbr: \"XA\",\narea_code: \"200232\",\nsort: 2000,\nlatitude: 34.72818,\nlongitude: 112.132423,\nis_map: true,\npinyin: \"xinan\"\n},\n{\nid: 725,\nname: \"浠水\",\nabbr: \"XS\",\narea_code: \"200271\",\nsort: 2000,\nlatitude: 30.451839,\nlongitude: 115.265511,\nis_map: true,\npinyin: \"xishui\"\n},\n{\nid: 739,\nname: \"孝昌\",\nabbr: \"XC\",\narea_code: \"200285\",\nsort: 2000,\nlatitude: 31.25803,\nlongitude: 113.998016,\nis_map: true,\npinyin: \"xiaochang\"\n},\n{\nid: 761,\nname: \"湘阴\",\nabbr: \"XY\",\narea_code: \"200307\",\nsort: 2000,\nlatitude: 28.689251,\nlongitude: 112.909172,\nis_map: true,\npinyin: \"xiangyin\"\n},\n{\nid: 772,\nname: \"新化\",\nabbr: \"XH\",\narea_code: \"200318\",\nsort: 2000,\nlatitude: 27.726629,\nlongitude: 111.327431,\nis_map: true,\npinyin: \"xinhua\"\n},\n{\nid: 780,\nname: \"湘乡\",\nabbr: \"XX\",\narea_code: \"200326\",\nsort: 2000,\nlatitude: 27.7341,\nlongitude: 112.535042,\nis_map: true,\npinyin: \"xiangxiang\"\n},\n{\nid: 781,\nname: \"新邵\",\nabbr: \"XS\",\narea_code: \"200327\",\nsort: 2000,\nlatitude: 27.32091,\nlongitude: 111.459,\nis_map: true,\npinyin: \"xinshao\"\n},\n{\nid: 783,\nname: \"溆浦\",\nabbr: \"XP\",\narea_code: \"200329\",\nsort: 2000,\nlatitude: 27.90834,\nlongitude: 110.594856,\nis_map: true,\npinyin: \"xupu\"\n},\n{\nid: 795,\nname: \"新宁\",\nabbr: \"XN\",\narea_code: \"200341\",\nsort: 2000,\nlatitude: 26.43346,\nlongitude: 110.856743,\nis_map: true,\npinyin: \"xinning\"\n},\n{\nid: 829,\nname: \"兴化\",\nabbr: \"XH\",\narea_code: \"200375\",\nsort: 2000,\nlatitude: 32.910412,\nlongitude: 119.852722,\nis_map: true,\npinyin: \"xinghua\"\n},\n{\nid: 843,\nname: \"新沂\",\nabbr: \"XY\",\narea_code: \"200389\",\nsort: 2000,\nlatitude: 34.36927,\nlongitude: 118.355476,\nis_map: true,\npinyin: \"xinyi\"\n},\n{\nid: 859,\nname: \"盱眙\",\nabbr: \"XY\",\narea_code: \"200405\",\nsort: 2000,\nlatitude: 33.010891,\nlongitude: 118.544991,\nis_map: true,\npinyin: \"xuyi\"\n},\n{\nid: 863,\nname: \"响水\",\nabbr: \"XS\",\narea_code: \"200409\",\nsort: 2000,\nlatitude: 34.199188,\nlongitude: 119.578392,\nis_map: true,\npinyin: \"xiangshui\"\n},\n{\nid: 868,\nname: \"新建\",\nabbr: \"XJ\",\narea_code: \"200414\",\nsort: 2000,\nlatitude: 28.333691,\nlongitude: 115.651123,\nis_map: true,\npinyin: \"xinjian\"\n},\n{\nid: 876,\nname: \"信丰\",\nabbr: \"XF\",\narea_code: \"200422\",\nsort: 2000,\nlatitude: 25.386169,\nlongitude: 114.922852,\nis_map: true,\npinyin: \"xinfeng\"\n},\n{\nid: 883,\nname: \"修水\",\nabbr: \"XS\",\narea_code: \"200429\",\nsort: 2000,\nlatitude: 29.02533,\nlongitude: 114.546883,\nis_map: true,\npinyin: \"xiushui\"\n},\n{\nid: 890,\nname: \"兴国\",\nabbr: \"XG\",\narea_code: \"200436\",\nsort: 2000,\nlatitude: 26.33779,\nlongitude: 115.363136,\nis_map: true,\npinyin: \"xingguo\"\n},\n{\nid: 907,\nname: \"新民\",\nabbr: \"XM\",\narea_code: \"200453\",\nsort: 2000,\nlatitude: 41.997669,\nlongitude: 122.828003,\nis_map: true,\npinyin: \"xinmin\"\n},\n{\nid: 912,\nname: \"兴城\",\nabbr: \"XC\",\narea_code: \"200458\",\nsort: 2000,\nlatitude: 40.610191,\nlongitude: 120.756187,\nis_map: true,\npinyin: \"xingcheng\"\n},\n{\nid: 920,\nname: \"锡林浩特\",\nabbr: \"XLHT\",\narea_code: \"200466\",\nsort: 2000,\nlatitude: 43.933392,\nlongitude: 116.086082,\nis_map: true,\npinyin: \"xilinhaote\"\n},\n{\nid: 924,\nname: \"新泰\",\nabbr: \"XT\",\narea_code: \"200470\",\nsort: 2000,\nlatitude: 35.908779,\nlongitude: 117.767998,\nis_map: true,\npinyin: \"xintai\"\n},\n{\nid: 984,\nname: \"夏津\",\nabbr: \"XJ\",\narea_code: \"200530\",\nsort: 2000,\nlatitude: 36.948559,\nlongitude: 116.001747,\nis_map: true,\npinyin: \"xiajin\"\n},\n{\nid: 997,\nname: \"孝义\",\nabbr: \"XY\",\narea_code: \"200543\",\nsort: 2000,\nlatitude: 37.14534,\nlongitude: 111.77903,\nis_map: true,\npinyin: \"xiaoyi\"\n},\n{\nid: 1019,\nname: \"宣汉\",\nabbr: \"XH\",\narea_code: \"200565\",\nsort: 2000,\nlatitude: 31.353861,\nlongitude: 107.727097,\nis_map: true,\npinyin: \"xuanhan\"\n},\n{\nid: 1059,\nname: \"宣威\",\nabbr: \"XW\",\narea_code: \"200605\",\nsort: 2000,\nlatitude: 26.219891,\nlongitude: 104.104477,\nis_map: true,\npinyin: \"xuanwei\"\n},\n{\nid: 1072,\nname: \"祥云\",\nabbr: \"XY\",\narea_code: \"200618\",\nsort: 2000,\nlatitude: 25.48381,\nlongitude: 100.550591,\nis_map: true,\npinyin: \"xiangyun\"\n},\n{\nid: 1098,\nname: \"象山\",\nabbr: \"XS\",\narea_code: \"200644\",\nsort: 2000,\nlatitude: 29.47665,\nlongitude: 121.869324,\nis_map: true,\npinyin: \"xiangshan\"\n},\n{\nid: 1109,\nname: \"新昌\",\nabbr: \"XC\",\narea_code: \"200655\",\nsort: 2000,\nlatitude: 29.49983,\nlongitude: 120.903847,\nis_map: true,\npinyin: \"xinchang\"\n},\n{\nid: 1110,\nname: \"仙居\",\nabbr: \"XJ\",\narea_code: \"200656\",\nsort: 2000,\nlatitude: 28.84683,\nlongitude: 120.728813,\nis_map: true,\npinyin: \"xianju\"\n},\n{\nid: 350,\nname: \"仙桃\",\nabbr: \"XT\",\narea_code: \"0728\",\nsort: 9999,\nlatitude: 30.362511,\nlongitude: 113.454498,\nis_map: true,\npinyin: \"xiantao\"\n},\n{\nid: 1170,\nname: \"寻乌\",\nabbr: \"XW\",\narea_code: \"360734\",\nsort: 9999,\nlatitude: 24.963511,\nlongitude: 115.646729,\nis_map: true,\npinyin: \"xunwu\"\n},\n{\nid: 1197,\nname: \"新河\",\nabbr: \"XH\",\narea_code: \"130530\",\nsort: 9999,\nlatitude: 37.526215,\nlongitude: 115.247536,\nis_map: true,\npinyin: \"xinhe\"\n},\n{\nid: 1215,\nname: \"雄县\",\nabbr: \"XX\",\narea_code: \"130638\",\nsort: 9999,\nlatitude: 38.990818,\nlongitude: 116.107475,\nis_map: true,\npinyin: \"xiongxian\"\n},\n{\nid: 1231,\nname: \"兴隆\",\nabbr: \"XL\",\narea_code: \"130822\",\nsort: 9999,\nlatitude: 40.418526,\nlongitude: 117.507095,\nis_map: true,\npinyin: \"xinglong\"\n},\n{\nid: 1244,\nname: \"献县\",\nabbr: \"XX\",\narea_code: \"130929\",\nsort: 9999,\nlatitude: 38.189659,\nlongitude: 116.12384,\nis_map: true,\npinyin: \"xianxian\"\n},\n{\nid: 1273,\nname: \"襄垣县\",\nabbr: \"XYX\",\narea_code: \"140423\",\nsort: 9999,\nlatitude: 36.532852,\nlongitude: 113.050095,\nis_map: true,\npinyin: \"xiangyuan\"\n},\n{\nid: 1300,\nname: \"新绛\",\nabbr: \"XJ\",\narea_code: \"140825\",\nsort: 9999,\nlatitude: 35.613697,\nlongitude: 111.225204,\nis_map: true,\npinyin: \"xinjiang\"\n},\n{\nid: 1319,\nname: \"襄汾\",\nabbr: \"XF\",\narea_code: \"141023\",\nsort: 9999,\nlatitude: 35.876141,\nlongitude: 111.442932,\nis_map: true,\npinyin: \"xiangfen\"\n},\n{\nid: 1376,\nname: \"新巴尔虎左旗\",\nabbr: \"XBEHZQ\",\narea_code: \"150726\",\nsort: 9999,\nlatitude: 48.216572,\nlongitude: 118.267456,\nis_map: true,\npinyin: \"xinbaerhuzuoqi\"\n},\n{\nid: 1377,\nname: \"新巴尔虎右旗\",\nabbr: \"XBEHYQ\",\narea_code: \"150727\",\nsort: 9999,\nlatitude: 48.669132,\nlongitude: 116.825989,\nis_map: true,\npinyin: \"xinbaerhuyouqi\"\n},\n{\nid: 1390,\nname: \"兴和\",\nabbr: \"XH\",\narea_code: \"150924\",\nsort: 9999,\nlatitude: 40.872437,\nlongitude: 113.834007,\nis_map: true,\npinyin: \"xinghe\"\n},\n{\nid: 1397,\nname: \"兴安盟\",\nabbr: \"XAM\",\narea_code: \"152200\",\nsort: 9999,\nlatitude: 46.076267,\nlongitude: 122.07032,\nis_map: true,\npinyin: \"xinganmeng\"\n},\n{\nid: 1409,\nname: \"西乌珠穆沁旗\",\nabbr: \"XWZMQQ\",\narea_code: \"152526\",\nsort: 9999,\nlatitude: 44.586147,\nlongitude: 117.61525,\nis_map: true,\npinyin: \"xiwuzhumuqinqi\"\n},\n{\nid: 1411,\nname: \"镶黄旗\",\nabbr: \"XHQ\",\narea_code: \"152528\",\nsort: 9999,\nlatitude: 42.239227,\nlongitude: 113.843872,\nis_map: true,\npinyin: \"xianghuangqi\"\n},\n{\nid: 1423,\nname: \"岫岩满族自治县\",\nabbr: \"XYMZZZX\",\narea_code: \"210323\",\nsort: 9999,\nlatitude: 40.281509,\nlongitude: 123.28833,\nis_map: true,\npinyin: \"xiuyanmanzuzizhixian\"\n},\n{\nid: 1425,\nname: \"新宾满族自治县\",\nabbr: \"XBMZZZX\",\narea_code: \"210422\",\nsort: 9999,\nlatitude: 41.732456,\nlongitude: 125.037544,\nis_map: true,\npinyin: \"xinbinmanzuzizhixian\"\n},\n{\nid: 1439,\nname: \"西丰\",\nabbr: \"XF\",\narea_code: \"211223\",\nsort: 9999,\nlatitude: 42.738091,\nlongitude: 124.72332,\nis_map: true,\npinyin: \"xifeng\"\n},\n{\nid: 1503,\nname: \"逊克\",\nabbr: \"XK\",\narea_code: \"231123\",\nsort: 9999,\nlatitude: 49.582973,\nlongitude: 128.476151,\nis_map: true,\npinyin: \"xunke\"\n},\n{\nid: 1519,\nname: \"行唐\",\nabbr: \"XT\",\narea_code: \"130125\",\nsort: 9999,\nlatitude: 38.437424,\nlongitude: 114.552734,\nis_map: true,\npinyin: \"xingtang\"\n},\n{\nid: 1579,\nname: \"星子\",\nabbr: \"XZ\",\narea_code: \"360427\",\nsort: 9999,\nlatitude: 29.456169,\nlongitude: 116.043739,\nis_map: true,\npinyin: \"xingzi\"\n},\n{\nid: 1595,\nname: \"峡江\",\nabbr: \"XJ\",\narea_code: \"360823\",\nsort: 9999,\nlatitude: 27.580862,\nlongitude: 115.319328,\nis_map: true,\npinyin: \"xiajiang\"\n},\n{\nid: 1596,\nname: \"新干\",\nabbr: \"XG\",\narea_code: \"360824\",\nsort: 9999,\nlatitude: 27.755758,\nlongitude: 115.399292,\nis_map: true,\npinyin: \"xingan\"\n},\n{\nid: 1652,\nname: \"新乡\",\nabbr: \"XX\",\narea_code: \"410721\",\nsort: 9999,\nlatitude: 35.187477,\nlongitude: 113.780563,\nis_map: true,\npinyin: \"xinxiang\"\n},\n{\nid: 1655,\nname: \"修武\",\nabbr: \"XW\",\narea_code: \"410821\",\nsort: 9999,\nlatitude: 35.229923,\nlongitude: 113.447464,\nis_map: true,\npinyin: \"xiuwu\"\n},\n{\nid: 1662,\nname: \"许昌县\",\nabbr: \"XCX\",\narea_code: \"411023\",\nsort: 9999,\nlatitude: 33.995064,\nlongitude: 113.800606,\nis_map: true,\npinyin: \"xuchangxian\"\n},\n{\nid: 1670,\nname: \"新县\",\nabbr: \"XX\",\narea_code: \"411523\",\nsort: 9999,\nlatitude: 31.635151,\nlongitude: 114.877052,\nis_map: true,\npinyin: \"xinxian\"\n},\n{\nid: 1680,\nname: \"兴山县\",\nabbr: \"XSX\",\narea_code: \"420526\",\nsort: 9999,\nlatitude: 31.34795,\nlongitude: 110.754501,\nis_map: true,\npinyin: \"xingshan\"\n},\n{\nid: 1702,\nname: \"湘潭县\",\nabbr: \"XT\",\narea_code: \"430320\",\nsort: 9999,\nlatitude: 27.778601,\nlongitude: 112.952827,\nis_map: true,\npinyin: \"xiangtanxian\"\n},\n{\nid: 1718,\nname: \"新田\",\nabbr: \"XT\",\narea_code: \"431128\",\nsort: 9999,\nlatitude: 25.906927,\nlongitude: 112.220345,\nis_map: true,\npinyin: \"xintian\"\n},\n{\nid: 1764,\nname: \"新兴\",\nabbr: \"XX\",\narea_code: \"445321\",\nsort: 9999,\nlatitude: 22.703203,\nlongitude: 112.230827,\nis_map: true,\npinyin: \"xinxing\"\n},\n{\nid: 1781,\nname: \"兴安\",\nabbr: \"XA\",\narea_code: \"450325\",\nsort: 9999,\nlatitude: 25.609554,\nlongitude: 110.670784,\nis_map: true,\npinyin: \"xingan\"\n},\n{\nid: 1802,\nname: \"兴业\",\nabbr: \"XY\",\narea_code: \"450924\",\nsort: 9999,\nlatitude: 22.741871,\nlongitude: 109.877769,\nis_map: true,\npinyin: \"xingye\"\n},\n{\nid: 1812,\nname: \"西林\",\nabbr: \"XL\",\narea_code: \"451030\",\nsort: 9999,\nlatitude: 24.492041,\nlongitude: 105.095024,\nis_map: true,\npinyin: \"xilin\"\n},\n{\nid: 1828,\nname: \"忻城\",\nabbr: \"XC\",\narea_code: \"451321\",\nsort: 9999,\nlatitude: 24.064779,\nlongitude: 108.667358,\nis_map: true,\npinyin: \"xincheng\"\n},\n{\nid: 1829,\nname: \"象州\",\nabbr: \"XZ\",\narea_code: \"451322\",\nsort: 9999,\nlatitude: 23.959824,\nlongitude: 109.684555,\nis_map: true,\npinyin: \"xiangzhou\"\n},\n{\nid: 1852,\nname: \"秀山土家族苗族自治县\",\nabbr: \"XSTJZMZZZX\",\narea_code: \"500241\",\nsort: 9999,\nlatitude: 28.444773,\nlongitude: 108.99604,\nis_map: true,\npinyin: \"xiushantujiazumiaozuzizhixian\"\n},\n{\nid: 1856,\nname: \"新津\",\nabbr: \"XJ\",\narea_code: \"510132\",\nsort: 9999,\nlatitude: 30.414284,\nlongitude: 103.812447,\nis_map: true,\npinyin: \"xinjin\"\n},\n{\nid: 1859,\nname: \"叙永\",\nabbr: \"XY\",\narea_code: \"510524\",\nsort: 9999,\nlatitude: 28.167919,\nlongitude: 105.437775,\nis_map: true,\npinyin: \"xuyong\"\n},\n{\nid: 1879,\nname: \"西充\",\nabbr: \"XC\",\narea_code: \"511325\",\nsort: 9999,\nlatitude: 30.994616,\nlongitude: 105.893021,\nis_map: true,\npinyin: \"xichong\"\n},\n{\nid: 1956,\nname: \"息烽\",\nabbr: \"XF\",\narea_code: \"520122\",\nsort: 9999,\nlatitude: 27.092665,\nlongitude: 106.737694,\nis_map: true,\npinyin: \"xifeng\"\n},\n{\nid: 1957,\nname: \"修文\",\nabbr: \"XW\",\narea_code: \"520123\",\nsort: 9999,\nlatitude: 26.840672,\nlongitude: 106.59922,\nis_map: true,\npinyin: \"xiuwen\"\n},\n{\nid: 1969,\nname: \"习水\",\nabbr: \"XS\",\narea_code: \"520330\",\nsort: 9999,\nlatitude: 28.327826,\nlongitude: 106.200951,\nis_map: true,\npinyin: \"xishui\"\n},\n{\nid: 1987,\nname: \"兴仁\",\nabbr: \"XR\",\narea_code: \"522322\",\nsort: 9999,\nlatitude: 25.431377,\nlongitude: 105.19278,\nis_map: true,\npinyin: \"xingren\"\n},\n{\nid: 2027,\nname: \"寻甸回族彝族自治县\",\nabbr: \"XDHZYZZZX\",\narea_code: \"530129\",\nsort: 9999,\nlatitude: 25.559475,\nlongitude: 103.257591,\nis_map: true,\npinyin: \"xundianhuizuyizuzizhixian\"\n},\n{\nid: 2036,\nname: \"新平彝族傣族自治县\",\nabbr: \"XPYZDZZZX\",\narea_code: \"530427\",\nsort: 9999,\nlatitude: 24.066401,\nlongitude: 101.990906,\nis_map: true,\npinyin: \"xinpingyizudaizuzizhixian\"\n},\n{\nid: 2062,\nname: \"西盟佤族自治县\",\nabbr: \"XMWZZZX\",\narea_code: \"530829\",\nsort: 9999,\nlatitude: 22.644423,\nlongitude: 99.594376,\nis_map: true,\npinyin: \"ximengwazuzizhixian\"\n},\n{\nid: 2091,\nname: \"西畴\",\nabbr: \"XC\",\narea_code: \"532623\",\nsort: 9999,\nlatitude: 23.437439,\nlongitude: 104.675713,\nis_map: true,\npinyin: \"xichou\"\n},\n{\nid: 2097,\nname: \"西双版纳傣族自治州\",\nabbr: \"XSBNDZZZZ\",\narea_code: \"532800\",\nsort: 9999,\nlatitude: 22.001724,\nlongitude: 100.797943,\nis_map: true,\npinyin: \"xishuangbannadaizuzizhizhou\"\n},\n{\nid: 2123,\nname: \"香格里拉\",\nabbr: \"XGLL\",\narea_code: \"533421\",\nsort: 9999,\nlatitude: 27.825804,\nlongitude: 99.708664,\nis_map: true,\npinyin: \"xianggelila\"\n},\n{\nid: 2227,\nname: \"兴平\",\nabbr: \"XP\",\narea_code: \"610481\",\nsort: 9999,\nlatitude: 34.297134,\nlongitude: 108.488495,\nis_map: true,\npinyin: \"xingping\"\n},\n{\nid: 5557,\nname: \"新洲区\",\nabbr: \"XZQ\",\narea_code: \"420117\",\nsort: 9999,\nlatitude: 30.84215,\nlongitude: 114.802109,\nis_map: true,\npinyin: \"xinzhouqu\"\n}\n],\nT: [\n{\nid: 5,\nname: \"天津\",\nabbr: \"TJ\",\narea_code: \"022\",\nsort: 14,\nlatitude: 39.085098,\nlongitude: 117.199371,\nis_map: true,\npinyin: \"tianjin\"\n},\n{\nid: 43,\nname: \"太原\",\nabbr: \"TY\",\narea_code: \"0351\",\nsort: 2000,\nlatitude: 37.87059,\nlongitude: 112.550667,\nis_map: true,\npinyin: \"taiyuan\"\n},\n{\nid: 52,\nname: \"台州\",\nabbr: \"TZ\",\narea_code: \"0576\",\nsort: 2000,\nlatitude: 28.656111,\nlongitude: 121.420563,\nis_map: true,\npinyin: \"taizhou\"\n},\n{\nid: 65,\nname: \"铜陵\",\nabbr: \"TL\",\narea_code: \"0562\",\nsort: 2000,\nlatitude: 30.908871,\nlongitude: 117.742203,\nis_map: true,\npinyin: \"tongling\"\n},\n{\nid: 74,\nname: \"泰安\",\nabbr: \"TA\",\narea_code: \"0538\",\nsort: 2000,\nlatitude: 36.19994,\nlongitude: 117.088402,\nis_map: true,\npinyin: \"taian\"\n},\n{\nid: 87,\nname: \"唐山\",\nabbr: \"TS\",\narea_code: \"0315\",\nsort: 2000,\nlatitude: 39.630482,\nlongitude: 118.18058,\nis_map: true,\npinyin: \"tangshan\"\n},\n{\nid: 93,\nname: \"泰州\",\nabbr: \"TZ\",\narea_code: \"0523\",\nsort: 2000,\nlatitude: 32.45546,\nlongitude: 119.925537,\nis_map: true,\npinyin: \"taizhou\"\n},\n{\nid: 113,\nname: \"泰兴\",\nabbr: \"TX\",\narea_code: \"321200\",\nsort: 2000,\nlatitude: 32.171909,\nlongitude: 120.052002,\nis_map: true,\npinyin: \"taixing\"\n},\n{\nid: 226,\nname: \"铜仁\",\nabbr: \"TR\",\narea_code: \"0856\",\nsort: 2000,\nlatitude: 27.69066,\nlongitude: 109.180992,\nis_map: true,\npinyin: \"tongren\"\n},\n{\nid: 239,\nname: \"通化\",\nabbr: \"TH\",\narea_code: \"0435\",\nsort: 2000,\nlatitude: 41.728291,\nlongitude: 125.939903,\nis_map: true,\npinyin: \"tonghua\"\n},\n{\nid: 268,\nname: \"通辽\",\nabbr: \"TL\",\narea_code: \"0475\",\nsort: 2000,\nlatitude: 43.65247,\nlongitude: 122.24469,\nis_map: true,\npinyin: \"tongliao\"\n},\n{\nid: 298,\nname: \"天水\",\nabbr: \"TS\",\narea_code: \"0938\",\nsort: 2000,\nlatitude: 34.580849,\nlongitude: 105.724861,\nis_map: true,\npinyin: \"tianshui\"\n},\n{\nid: 382,\nname: \"铁岭\",\nabbr: \"TL\",\narea_code: \"0241\",\nsort: 2000,\nlatitude: 42.286201,\nlongitude: 123.842407,\nis_map: true,\npinyin: \"tieling\"\n},\n{\nid: 454,\nname: \"太和\",\nabbr: \"TH\",\narea_code: \"200000\",\nsort: 2000,\nlatitude: 33.160259,\nlongitude: 115.622032,\nis_map: true,\npinyin: \"taihe\"\n},\n{\nid: 461,\nname: \"天长\",\nabbr: \"TC\",\narea_code: \"200007\",\nsort: 2000,\nlatitude: 32.689449,\nlongitude: 119.003548,\nis_map: true,\npinyin: \"tianchang\"\n},\n{\nid: 474,\nname: \"桐城\",\nabbr: \"TC\",\narea_code: \"200020\",\nsort: 2000,\nlatitude: 31.035851,\nlongitude: 116.974159,\nis_map: true,\npinyin: \"tongcheng\"\n},\n{\nid: 539,\nname: \"台山\",\nabbr: \"TS\",\narea_code: \"200085\",\nsort: 2000,\nlatitude: 22.25156,\nlongitude: 112.7939,\nis_map: true,\npinyin: \"taishan\"\n},\n{\nid: 585,\nname: \"屯昌\",\nabbr: \"TC\",\narea_code: \"200131\",\nsort: 2000,\nlatitude: 19.35182,\nlongitude: 110.10347,\nis_map: true,\npinyin: \"tunchang\"\n},\n{\nid: 622,\nname: \"唐河\",\nabbr: \"TH\",\narea_code: \"200168\",\nsort: 2000,\nlatitude: 32.681171,\nlongitude: 112.807449,\nis_map: true,\npinyin: \"tanghe\"\n},\n{\nid: 638,\nname: \"太康\",\nabbr: \"TK\",\narea_code: \"200184\",\nsort: 2000,\nlatitude: 34.063789,\nlongitude: 114.837791,\nis_map: true,\npinyin: \"taikang\"\n},\n{\nid: 694,\nname: \"通许\",\nabbr: \"TX\",\narea_code: \"200240\",\nsort: 2000,\nlatitude: 34.480438,\nlongitude: 114.467407,\nis_map: true,\npinyin: \"tongxu\"\n},\n{\nid: 707,\nname: \"铁力\",\nabbr: \"TL\",\narea_code: \"200253\",\nsort: 2000,\nlatitude: 46.986641,\nlongitude: 128.032425,\nis_map: true,\npinyin: \"tieli\"\n},\n{\nid: 710,\nname: \"天门\",\nabbr: \"TM\",\narea_code: \"200256\",\nsort: 2000,\nlatitude: 30.663389,\nlongitude: 113.166138,\nis_map: true,\npinyin: \"tianmen\"\n},\n{\nid: 766,\nname: \"桃江\",\nabbr: \"TJ\",\narea_code: \"200312\",\nsort: 2000,\nlatitude: 28.51819,\nlongitude: 112.155708,\nis_map: true,\npinyin: \"taojiang\"\n},\n{\nid: 776,\nname: \"桃源\",\nabbr: \"TY\",\narea_code: \"200322\",\nsort: 2000,\nlatitude: 28.90259,\nlongitude: 111.48893,\nis_map: true,\npinyin: \"taoyuan\"\n},\n{\nid: 823,\nname: \"洮南\",\nabbr: \"TN\",\narea_code: \"200369\",\nsort: 2000,\nlatitude: 45.33559,\nlongitude: 122.786346,\nis_map: true,\npinyin: \"taonan\"\n},\n{\nid: 842,\nname: \"太仓\",\nabbr: \"TC\",\narea_code: \"200388\",\nsort: 2000,\nlatitude: 31.45911,\nlongitude: 121.129753,\nis_map: true,\npinyin: \"taicang\"\n},\n{\nid: 894,\nname: \"泰和\",\nabbr: \"TH\",\narea_code: \"200440\",\nsort: 2000,\nlatitude: 26.78993,\nlongitude: 114.908867,\nis_map: true,\npinyin: \"taihe\"\n},\n{\nid: 913,\nname: \"调兵山\",\nabbr: \"TBS\",\narea_code: \"200459\",\nsort: 2000,\nlatitude: 42.467548,\nlongitude: 123.566902,\nis_map: true,\npinyin: \"tiaobingshan\"\n},\n{\nid: 923,\nname: \"滕州\",\nabbr: \"TZ\",\narea_code: \"200469\",\nsort: 2000,\nlatitude: 35.11338,\nlongitude: 117.165962,\nis_map: true,\npinyin: \"tengzhou\"\n},\n{\nid: 942,\nname: \"郯城\",\nabbr: \"TC\",\narea_code: \"200488\",\nsort: 2000,\nlatitude: 34.613571,\nlongitude: 118.367172,\nis_map: true,\npinyin: \"tancheng\"\n},\n{\nid: 1008,\nname: \"铜川\",\nabbr: \"TC\",\narea_code: \"200554\",\nsort: 2000,\nlatitude: 34.896729,\nlongitude: 108.945152,\nis_map: true,\npinyin: \"tongchuan\"\n},\n{\nid: 1074,\nname: \"腾冲\",\nabbr: \"TC\",\narea_code: \"200620\",\nsort: 2000,\nlatitude: 25.020531,\nlongitude: 98.490967,\nis_map: true,\npinyin: \"tengchong\"\n},\n{\nid: 1084,\nname: \"桐乡\",\nabbr: \"TX\",\narea_code: \"200630\",\nsort: 2000,\nlatitude: 30.630739,\nlongitude: 120.564323,\nis_map: true,\npinyin: \"tongxiang\"\n},\n{\nid: 1104,\nname: \"桐庐\",\nabbr: \"TL\",\narea_code: \"200650\",\nsort: 2000,\nlatitude: 29.793171,\nlongitude: 119.691498,\nis_map: true,\npinyin: \"tonglu\"\n},\n{\nid: 1108,\nname: \"天台\",\nabbr: \"TT\",\narea_code: \"200654\",\nsort: 2000,\nlatitude: 29.14304,\nlongitude: 121.007278,\nis_map: true,\npinyin: \"tiantai\"\n},\n{\nid: 1126,\nname: \"铜梁\",\nabbr: \"TL\",\narea_code: \"200672\",\nsort: 2000,\nlatitude: 29.844749,\nlongitude: 106.056381,\nis_map: true,\npinyin: \"tongliang\"\n},\n{\nid: 1127,\nname: \"潼南\",\nabbr: \"TN\",\narea_code: \"200673\",\nsort: 2000,\nlatitude: 30.19054,\nlongitude: 105.839523,\nis_map: true,\npinyin: \"tongnan\"\n},\n{\nid: 1164,\nname: \"土默特右旗\",\nabbr: \"TMTYQ\",\narea_code: \"150221\",\nsort: 9999,\nlatitude: 40.568829,\nlongitude: 110.524208,\nis_map: true,\npinyin: \"tumoteyouqi\"\n},\n{\nid: 1206,\nname: \"唐县\",\nabbr: \"TX\",\narea_code: \"130627\",\nsort: 9999,\nlatitude: 38.759914,\nlongitude: 115.003204,\nis_map: true,\npinyin: \"tangxian\"\n},\n{\nid: 1295,\nname: \"太谷县\",\nabbr: \"TGX\",\narea_code: \"140726\",\nsort: 9999,\nlatitude: 37.424595,\nlongitude: 112.5541,\nis_map: true,\npinyin: \"taigu\"\n},\n{\nid: 1343,\nname: \"土默特左旗\",\nabbr: \"TMTZQ\",\narea_code: \"150121\",\nsort: 9999,\nlatitude: 40.720417,\nlongitude: 111.133614,\nis_map: true,\npinyin: \"tumotezuoqi\"\n},\n{\nid: 1402,\nname: \"突泉\",\nabbr: \"TQ\",\narea_code: \"152224\",\nsort: 9999,\nlatitude: 45.380985,\nlongitude: 121.564857,\nis_map: true,\npinyin: \"tuquan\"\n},\n{\nid: 1410,\nname: \"太仆寺旗\",\nabbr: \"TPSQ\",\narea_code: \"152527\",\nsort: 9999,\nlatitude: 41.895199,\nlongitude: 115.287277,\nis_map: true,\npinyin: \"taipusiqi\"\n},\n{\nid: 1422,\nname: \"台安\",\nabbr: \"TA\",\narea_code: \"210320\",\nsort: 9999,\nlatitude: 41.38686,\nlongitude: 122.429733,\nis_map: true,\npinyin: \"taian\"\n},\n{\nid: 1449,\nname: \"通化\",\nabbr: \"TH\",\narea_code: \"220521\",\nsort: 9999,\nlatitude: 41.677917,\nlongitude: 125.75312,\nis_map: true,\npinyin: \"tonghua\"\n},\n{\nid: 1459,\nname: \"通榆\",\nabbr: \"TY\",\narea_code: \"220822\",\nsort: 9999,\nlatitude: 44.809151,\nlongitude: 123.088547,\nis_map: true,\npinyin: \"tongyu\"\n},\n{\nid: 1460,\nname: \"图们\",\nabbr: \"TM\",\narea_code: \"222402\",\nsort: 9999,\nlatitude: 42.966621,\nlongitude: 129.846695,\nis_map: true,\npinyin: \"tumen\"\n},\n{\nid: 1469,\nname: \"通河县\",\nabbr: \"THX\",\narea_code: \"230128\",\nsort: 9999,\nlatitude: 45.455647,\nlongitude: 128.331879,\nis_map: true,\npinyin: \"tonghe\"\n},\n{\nid: 1471,\nname: \"泰来\",\nabbr: \"TL\",\narea_code: \"230224\",\nsort: 9999,\nlatitude: 46.39233,\nlongitude: 123.419533,\nis_map: true,\npinyin: \"tailai\"\n},\n{\nid: 1493,\nname: \"汤原\",\nabbr: \"TY\",\narea_code: \"230828\",\nsort: 9999,\nlatitude: 46.730049,\nlongitude: 129.904465,\nis_map: true,\npinyin: \"tangyuan\"\n},\n{\nid: 1495,\nname: \"同江\",\nabbr: \"TJ\",\narea_code: \"230881\",\nsort: 9999,\nlatitude: 47.651131,\nlongitude: 132.510117,\nis_map: true,\npinyin: \"tongjiang\"\n},\n{\nid: 1513,\nname: \"塔河\",\nabbr: \"TH\",\narea_code: \"232722\",\nsort: 9999,\nlatitude: 52.335228,\nlongitude: 124.710518,\nis_map: true,\npinyin: \"tahe\"\n},\n{\nid: 1517,\nname: \"泰顺县\",\nabbr: \"TSX\",\narea_code: \"330329\",\nsort: 9999,\nlatitude: 27.557308,\nlongitude: 119.71624,\nis_map: true,\npinyin: \"taishun\"\n},\n{\nid: 1532,\nname: \"太湖县\",\nabbr: \"THX\",\narea_code: \"340825\",\nsort: 9999,\nlatitude: 30.451868,\nlongitude: 116.305222,\nis_map: true,\npinyin: \"taihu\"\n},\n{\nid: 1555,\nname: \"泰宁\",\nabbr: \"TN\",\narea_code: \"350429\",\nsort: 9999,\nlatitude: 26.897995,\nlongitude: 117.177521,\nis_map: true,\npinyin: \"taining\"\n},\n{\nid: 1607,\nname: \"铜鼓\",\nabbr: \"TG\",\narea_code: \"360926\",\nsort: 9999,\nlatitude: 28.520956,\nlongitude: 114.37014,\nis_map: true,\npinyin: \"tonggu\"\n},\n{\nid: 1649,\nname: \"汤阴\",\nabbr: \"TY\",\narea_code: \"410523\",\nsort: 9999,\nlatitude: 35.922348,\nlongitude: 114.362358,\nis_map: true,\npinyin: \"tangyin\"\n},\n{\nid: 1660,\nname: \"台前\",\nabbr: \"TQ\",\narea_code: \"410927\",\nsort: 9999,\nlatitude: 35.996475,\nlongitude: 115.855682,\nis_map: true,\npinyin: \"taiqian\"\n},\n{\nid: 1686,\nname: \"团风\",\nabbr: \"TF\",\narea_code: \"421121\",\nsort: 9999,\nlatitude: 30.635691,\nlongitude: 114.872032,\nis_map: true,\npinyin: \"tuanfeng\"\n},\n{\nid: 1689,\nname: \"通城县\",\nabbr: \"TCX\",\narea_code: \"421222\",\nsort: 9999,\nlatitude: 29.246077,\nlongitude: 113.814133,\nis_map: true,\npinyin: \"tongcheng\"\n},\n{\nid: 1790,\nname: \"藤县\",\nabbr: \"TX\",\narea_code: \"450422\",\nsort: 9999,\nlatitude: 23.373962,\nlongitude: 110.931824,\nis_map: true,\npinyin: \"tengxian\"\n},\n{\nid: 1803,\nname: \"田阳\",\nabbr: \"TY\",\narea_code: \"451021\",\nsort: 9999,\nlatitude: 23.736078,\nlongitude: 106.904312,\nis_map: true,\npinyin: \"tianyang\"\n},\n{\nid: 1804,\nname: \"田东\",\nabbr: \"TD\",\narea_code: \"451022\",\nsort: 9999,\nlatitude: 23.600445,\nlongitude: 107.12426,\nis_map: true,\npinyin: \"tiandong\"\n},\n{\nid: 1811,\nname: \"田林\",\nabbr: \"TL\",\narea_code: \"451029\",\nsort: 9999,\nlatitude: 24.290262,\nlongitude: 106.235046,\nis_map: true,\npinyin: \"tianlin\"\n},\n{\nid: 1819,\nname: \"天峨\",\nabbr: \"TE\",\narea_code: \"451222\",\nsort: 9999,\nlatitude: 24.985964,\nlongitude: 107.174942,\nis_map: true,\npinyin: \"tiane\"\n},\n{\nid: 1961,\nname: \"桐梓\",\nabbr: \"TZ\",\narea_code: \"520322\",\nsort: 9999,\nlatitude: 28.131559,\nlongitude: 106.826591,\nis_map: true,\npinyin: \"tongzi\"\n},\n{\nid: 2000,\nname: \"天柱\",\nabbr: \"TZ\",\narea_code: \"522627\",\nsort: 9999,\nlatitude: 26.909683,\nlongitude: 109.212799,\nis_map: true,\npinyin: \"tianzhu\"\n},\n{\nid: 2003,\nname: \"台江\",\nabbr: \"TJ\",\narea_code: \"522630\",\nsort: 9999,\nlatitude: 26.669138,\nlongitude: 108.314636,\nis_map: true,\npinyin: \"taijiang\"\n},\n{\nid: 2032,\nname: \"通海\",\nabbr: \"TH\",\narea_code: \"530423\",\nsort: 9999,\nlatitude: 24.112206,\nlongitude: 102.76004,\nis_map: true,\npinyin: \"tonghai\"\n},\n{\nid: 2229,\nname: \"潼关\",\nabbr: \"TG\",\narea_code: \"610522\",\nsort: 9999,\nlatitude: 34.544514,\nlongitude: 110.247261,\nis_map: true,\npinyin: \"tongguan\"\n},\n{\nid: 2371,\nname: \"同仁县\",\nabbr: \"TRX\",\narea_code: \"632321\",\nsort: 9999,\nlatitude: 35.516338,\nlongitude: 102.017601,\nis_map: true,\npinyin: \"tongren\"\n}\n],\nQ: [\n{\nid: 28,\nname: \"青岛\",\nabbr: \"QD\",\narea_code: \"0532\",\nsort: 15,\nlatitude: 36.066231,\nlongitude: 120.382988,\nis_map: true,\npinyin: \"qingdao\"\n},\n{\nid: 341,\nname: \"庆阳\",\nabbr: \"QY\",\narea_code: \"0934\",\nsort: 1900,\nlatitude: 35.709782,\nlongitude: 107.642921,\nis_map: true,\npinyin: \"qingyang\"\n},\n{\nid: 63,\nname: \"秦皇岛\",\nabbr: \"QHD\",\narea_code: \"0335\",\nsort: 2000,\nlatitude: 39.935452,\nlongitude: 119.59964,\nis_map: true,\npinyin: \"qinhuangdao\"\n},\n{\nid: 91,\nname: \"齐齐哈尔\",\nabbr: \"QQHE\",\narea_code: \"0452\",\nsort: 2000,\nlatitude: 47.354309,\nlongitude: 123.917961,\nis_map: true,\npinyin: \"qiqihaer\"\n},\n{\nid: 102,\nname: \"泉州\",\nabbr: \"QZ\",\narea_code: \"0595\",\nsort: 2000,\nlatitude: 24.87389,\nlongitude: 118.675873,\nis_map: true,\npinyin: \"quanzhou\"\n},\n{\nid: 157,\nname: \"钦州\",\nabbr: \"QZ\",\narea_code: \"0777\",\nsort: 2000,\nlatitude: 21.9797,\nlongitude: 108.654312,\nis_map: true,\npinyin: \"qinzhou\"\n},\n{\nid: 182,\nname: \"衢州\",\nabbr: \"QZ\",\narea_code: \"0570\",\nsort: 2000,\nlatitude: 28.935921,\nlongitude: 118.874191,\nis_map: true,\npinyin: \"quzhou\"\n},\n{\nid: 265,\nname: \"曲靖\",\nabbr: \"QJS\",\narea_code: \"0874\",\nsort: 2000,\nlatitude: 25.490021,\nlongitude: 103.796249,\nis_map: true,\npinyin: \"qujingshi\"\n},\n{\nid: 278,\nname: \"琼海\",\nabbr: \"QH\",\narea_code: \"469002\",\nsort: 2000,\nlatitude: 19.258381,\nlongitude: 110.47464,\nis_map: true,\npinyin: \"qionghai\"\n},\n{\nid: 444,\nname: \"綦江\",\nabbr: \"QJ\",\narea_code: \"10022\",\nsort: 2000,\nlatitude: 28.96463,\nlongitude: 106.92852,\nis_map: true,\npinyin: \"qijiang\"\n},\n{\nid: 445,\nname: \"潜江\",\nabbr: \"QJ\",\narea_code: \"10023\",\nsort: 2000,\nlatitude: 30.40147,\nlongitude: 112.8993,\nis_map: true,\npinyin: \"qianjiang\"\n},\n{\nid: 491,\nname: \"全椒\",\nabbr: \"QJ\",\narea_code: \"200037\",\nsort: 2000,\nlatitude: 32.0853,\nlongitude: 118.273033,\nis_map: true,\npinyin: \"quanjiao\"\n},\n{\nid: 492,\nname: \"潜山\",\nabbr: \"QS\",\narea_code: \"200038\",\nsort: 2000,\nlatitude: 30.631069,\nlongitude: 116.581329,\nis_map: true,\npinyin: \"qianshan\"\n},\n{\nid: 549,\nname: \"清新\",\nabbr: \"QX\",\narea_code: \"200095\",\nsort: 2000,\nlatitude: 23.734739,\nlongitude: 113.016579,\nis_map: true,\npinyin: \"qingxin\"\n},\n{\nid: 573,\nname: \"黔西\",\nabbr: \"QX\",\narea_code: \"200119\",\nsort: 2000,\nlatitude: 27.008659,\nlongitude: 106.032303,\nis_map: true,\npinyin: \"qianxi\"\n},\n{\nid: 597,\nname: \"清苑\",\nabbr: \"QY\",\narea_code: \"200143\",\nsort: 2000,\nlatitude: 38.765259,\nlongitude: 115.489891,\nis_map: true,\npinyin: \"qingyuan\"\n},\n{\nid: 611,\nname: \"青县\",\nabbr: \"QX\",\narea_code: \"200157\",\nsort: 2000,\nlatitude: 38.583481,\nlongitude: 116.803177,\nis_map: true,\npinyin: \"qingxian\"\n},\n{\nid: 615,\nname: \"清河\",\nabbr: \"QH\",\narea_code: \"200161\",\nsort: 2000,\nlatitude: 37.039928,\nlongitude: 115.667183,\nis_map: true,\npinyin: \"qinghe\"\n},\n{\nid: 651,\nname: \"杞县\",\nabbr: \"QX\",\narea_code: \"200197\",\nsort: 2000,\nlatitude: 34.550339,\nlongitude: 114.782829,\nis_map: true,\npinyin: \"qixian\"\n},\n{\nid: 666,\nname: \"沁阳\",\nabbr: \"QY\",\narea_code: \"200212\",\nsort: 2000,\nlatitude: 35.087601,\nlongitude: 112.9506,\nis_map: true,\npinyin: \"qinyang\"\n},\n{\nid: 698,\nname: \"七台河\",\nabbr: \"QTH\",\narea_code: \"200244\",\nsort: 2000,\nlatitude: 45.770649,\nlongitude: 131.003067,\nis_map: true,\npinyin: \"qitaihe\"\n},\n{\nid: 730,\nname: \"蕲春\",\nabbr: \"QC\",\narea_code: \"200276\",\nsort: 2000,\nlatitude: 30.22617,\nlongitude: 115.436211,\nis_map: true,\npinyin: \"qichun\"\n},\n{\nid: 755,\nname: \"祁东\",\nabbr: \"QD\",\narea_code: \"200301\",\nsort: 2000,\nlatitude: 26.79965,\nlongitude: 112.090431,\nis_map: true,\npinyin: \"qidong\"\n},\n{\nid: 764,\nname: \"祁阳\",\nabbr: \"QY\",\narea_code: \"200310\",\nsort: 2000,\nlatitude: 26.58012,\nlongitude: 111.840149,\nis_map: true,\npinyin: \"qiyang\"\n},\n{\nid: 836,\nname: \"启东\",\nabbr: \"QD\",\narea_code: \"200382\",\nsort: 2000,\nlatitude: 31.80805,\nlongitude: 121.657867,\nis_map: true,\npinyin: \"qidong\"\n},\n{\nid: 943,\nname: \"青州\",\nabbr: \"QZ\",\narea_code: \"200489\",\nsort: 2000,\nlatitude: 36.684559,\nlongitude: 118.47966,\nis_map: true,\npinyin: \"qingzhou\"\n},\n{\nid: 956,\nname: \"齐河\",\nabbr: \"QH\",\narea_code: \"200502\",\nsort: 2000,\nlatitude: 36.794922,\nlongitude: 116.760017,\nis_map: true,\npinyin: \"qihe\"\n},\n{\nid: 957,\nname: \"曲阜\",\nabbr: \"QF\",\narea_code: \"200503\",\nsort: 2000,\nlatitude: 35.580818,\nlongitude: 116.986481,\nis_map: true,\npinyin: \"qufu\"\n},\n{\nid: 989,\nname: \"栖霞\",\nabbr: \"QX\",\narea_code: \"200535\",\nsort: 2000,\nlatitude: 37.335049,\nlongitude: 120.84977,\nis_map: true,\npinyin: \"qixia\"\n},\n{\nid: 1020,\nname: \"渠县\",\nabbr: \"QX\",\narea_code: \"200566\",\nsort: 2000,\nlatitude: 30.836639,\nlongitude: 106.972992,\nis_map: true,\npinyin: \"quxian\"\n},\n{\nid: 1042,\nname: \"邛崃\",\nabbr: \"QL\",\narea_code: \"200588\",\nsort: 2000,\nlatitude: 30.41032,\nlongitude: 103.464363,\nis_map: true,\npinyin: \"qionglai\"\n},\n{\nid: 1114,\nname: \"青田\",\nabbr: \"QT\",\narea_code: \"200660\",\nsort: 2000,\nlatitude: 28.13987,\nlongitude: 120.289551,\nis_map: true,\npinyin: \"qingtian\"\n},\n{\nid: 371,\nname: \"清远\",\nabbr: \"QY\",\narea_code: \"0763\",\nsort: 9999,\nlatitude: 23.682011,\nlongitude: 113.056152,\nis_map: true,\npinyin: \"qingyuan\"\n},\n{\nid: 378,\nname: \"迁安\",\nabbr: \"QA\",\narea_code: \"03152\",\nsort: 9999,\nlatitude: 39.99836,\nlongitude: 118.700729,\nis_map: true,\npinyin: \"qianan\"\n},\n{\nid: 1150,\nname: \"青阳\",\nabbr: \"QY\",\narea_code: \"341723\",\nsort: 9999,\nlatitude: 30.639351,\nlongitude: 117.847488,\nis_map: true,\npinyin: \"qingyang\"\n},\n{\nid: 1175,\nname: \"黔南\",\nabbr: \"QN\",\narea_code: \"522700\",\nsort: 9999,\nlatitude: 26.254271,\nlongitude: 107.522263,\nis_map: true,\npinyin: \"qiannan\"\n},\n{\nid: 1176,\nname: \"黔东南\",\nabbr: \"QDN\",\narea_code: \"522600\",\nsort: 9999,\nlatitude: 26.583639,\nlongitude: 107.984161,\nis_map: true,\npinyin: \"qiandongnan\"\n},\n{\nid: 1177,\nname: \"黔西南\",\nabbr: \"QXN\",\narea_code: \"522300\",\nsort: 9999,\nlatitude: 25.08988,\nlongitude: 104.904373,\nis_map: true,\npinyin: \"qianxinan\"\n},\n{\nid: 1185,\nname: \"邱县\",\nabbr: \"QX\",\narea_code: \"130430\",\nsort: 9999,\nlatitude: 36.813251,\nlongitude: 115.168587,\nis_map: true,\npinyin: \"qiuxian\"\n},\n{\nid: 1189,\nname: \"曲周\",\nabbr: \"QZ\",\narea_code: \"130435\",\nsort: 9999,\nlatitude: 36.773399,\nlongitude: 114.957588,\nis_map: true,\npinyin: \"quzhou\"\n},\n{\nid: 1212,\nname: \"曲阳\",\nabbr: \"QY\",\narea_code: \"130634\",\nsort: 9999,\nlatitude: 38.619991,\nlongitude: 114.704056,\nis_map: true,\npinyin: \"quyang\"\n},\n{\nid: 1296,\nname: \"祁县\",\nabbr: \"QX\",\narea_code: \"140727\",\nsort: 9999,\nlatitude: 37.358738,\nlongitude: 112.330528,\nis_map: true,\npinyin: \"qixian\"\n},\n{\nid: 1317,\nname: \"曲沃\",\nabbr: \"QW\",\narea_code: \"141021\",\nsort: 9999,\nlatitude: 35.641388,\nlongitude: 111.475533,\nis_map: true,\npinyin: \"quwo\"\n},\n{\nid: 1426,\nname: \"清原满族自治县\",\nabbr: \"QYMZZZX\",\narea_code: \"210423\",\nsort: 9999,\nlatitude: 42.101349,\nlongitude: 124.927193,\nis_map: true,\npinyin: \"qingyuanmanzuzizhixian\"\n},\n{\nid: 1456,\nname: \"乾安\",\nabbr: \"QA\",\narea_code: \"220723\",\nsort: 9999,\nlatitude: 45.006847,\nlongitude: 124.024361,\nis_map: true,\npinyin: \"qianan\"\n},\n{\nid: 1507,\nname: \"青冈\",\nabbr: \"QG\",\narea_code: \"231223\",\nsort: 9999,\nlatitude: 46.686596,\nlongitude: 126.112267,\nis_map: true,\npinyin: \"qinggang\"\n},\n{\nid: 1508,\nname: \"庆安\",\nabbr: \"QA\",\narea_code: \"231224\",\nsort: 9999,\nlatitude: 46.879204,\nlongitude: 127.510025,\nis_map: true,\npinyin: \"qingan\"\n},\n{\nid: 1525,\nname: \"庆元\",\nabbr: \"QY\",\narea_code: \"331126\",\nsort: 9999,\nlatitude: 27.618231,\nlongitude: 119.06723,\nis_map: true,\npinyin: \"qingyuan\"\n},\n{\nid: 1552,\nname: \"清流\",\nabbr: \"QL\",\narea_code: \"350423\",\nsort: 9999,\nlatitude: 26.17761,\nlongitude: 116.815819,\nis_map: true,\npinyin: \"qingliu\"\n},\n{\nid: 1591,\nname: \"全南\",\nabbr: \"QN\",\narea_code: \"360729\",\nsort: 9999,\nlatitude: 24.742651,\nlongitude: 114.531586,\nis_map: true,\npinyin: \"quannan\"\n},\n{\nid: 1635,\nname: \"庆云\",\nabbr: \"QY\",\narea_code: \"371423\",\nsort: 9999,\nlatitude: 37.777725,\nlongitude: 117.390511,\nis_map: true,\npinyin: \"qingyun\"\n},\n{\nid: 1651,\nname: \"淇县\",\nabbr: \"QX\",\narea_code: \"410622\",\nsort: 9999,\nlatitude: 35.609478,\nlongitude: 114.200378,\nis_map: true,\npinyin: \"qixian\"\n},\n{\nid: 1657,\nname: \"清丰\",\nabbr: \"QF\",\narea_code: \"410922\",\nsort: 9999,\nlatitude: 35.902412,\nlongitude: 115.107285,\nis_map: true,\npinyin: \"qingfeng\"\n},\n{\nid: 1780,\nname: \"全州\",\nabbr: \"QZ\",\narea_code: \"450324\",\nsort: 9999,\nlatitude: 25.929897,\nlongitude: 111.07299,\nis_map: true,\npinyin: \"quanzhou\"\n},\n{\nid: 1849,\nname: \"琼中黎族苗族自治县\",\nabbr: \"QZLZMZZZX\",\narea_code: \"469030\",\nsort: 9999,\nlatitude: 19.03557,\nlongitude: 109.839996,\nis_map: true,\npinyin: \"qiongzhonglizumiaozuzizhixian\"\n},\n{\nid: 1958,\nname: \"清镇\",\nabbr: \"QZ\",\narea_code: \"520181\",\nsort: 9999,\nlatitude: 26.551289,\nlongitude: 106.470276,\nis_map: true,\npinyin: \"qingzhen\"\n},\n{\nid: 1986,\nname: \"迁西\",\nabbr: \"QX\",\narea_code: \"130227\",\nsort: 9999,\nlatitude: 40.146236,\nlongitude: 118.305138,\nis_map: true,\npinyin: \"qianxi\"\n},\n{\nid: 1989,\nname: \"晴隆\",\nabbr: \"QL\",\narea_code: \"522324\",\nsort: 9999,\nlatitude: 25.832882,\nlongitude: 105.218773,\nis_map: true,\npinyin: \"qinglong\"\n},\n{\nid: 2042,\nname: \"巧家\",\nabbr: \"QJ\",\narea_code: \"530622\",\nsort: 9999,\nlatitude: 26.911699,\nlongitude: 102.929283,\nis_map: true,\npinyin: \"qiaojia\"\n},\n{\nid: 2094,\nname: \"丘北\",\nabbr: \"QB\",\narea_code: \"532626\",\nsort: 9999,\nlatitude: 24.040981,\nlongitude: 104.194366,\nis_map: true,\npinyin: \"qiubei\"\n},\n{\nid: 2409,\nname: \"青铜峡\",\nabbr: \"QTX\",\narea_code: \"640381\",\nsort: 9999,\nlatitude: 38.021507,\nlongitude: 106.075394,\nis_map: true,\npinyin: \"qingtongxia\"\n},\n{\nid: 5419,\nname: \"泉港区\",\nabbr: \"QGX\",\narea_code: \"350505\",\nsort: 9999,\nlatitude: 25.12686,\nlongitude: 118.912285,\nis_map: true,\npinyin: \"quangangqu\"\n},\n{\nid: 5738,\nname: \"黔江区\",\nabbr: \"QJQ\",\narea_code: \"500114\",\nsort: 9999,\nlatitude: 29.527548,\nlongitude: 108.782578,\nis_map: true,\npinyin: \"qianjiangqu\"\n}\n],\nW: [\n{\nid: 7,\nname: \"武汉\",\nabbr: \"WH\",\narea_code: \"027\",\nsort: 20,\nlatitude: 30.59276,\nlongitude: 114.305252,\nis_map: true,\npinyin: \"wuhan\"\n},\n{\nid: 30,\nname: \"温州\",\nabbr: \"WZ\",\narea_code: \"0577\",\nsort: 2000,\nlatitude: 27.994921,\nlongitude: 120.699387,\nis_map: true,\npinyin: \"wenzhou\"\n},\n{\nid: 34,\nname: \"威海\",\nabbr: \"WH\",\narea_code: \"0631\",\nsort: 2000,\nlatitude: 37.513481,\nlongitude: 122.121712,\nis_map: true,\npinyin: \"weihai\"\n},\n{\nid: 35,\nname: \"无锡\",\nabbr: \"WX\",\narea_code: \"0510\",\nsort: 2000,\nlatitude: 31.49099,\nlongitude: 120.31237,\nis_map: true,\npinyin: \"wuxi\"\n},\n{\nid: 38,\nname: \"芜湖\",\nabbr: \"WH\",\narea_code: \"0553\",\nsort: 2000,\nlatitude: 31.352461,\nlongitude: 118.433128,\nis_map: true,\npinyin: \"wuhu\"\n},\n{\nid: 48,\nname: \"潍坊\",\nabbr: \"WF\",\narea_code: \"0536\",\nsort: 2000,\nlatitude: 36.70686,\nlongitude: 119.161758,\nis_map: true,\npinyin: \"weifang\"\n},\n{\nid: 236,\nname: \"乌鲁木齐\",\nabbr: \"WLMQ\",\narea_code: \"0991\",\nsort: 2000,\nlatitude: 43.82663,\nlongitude: 87.616882,\nis_map: true,\npinyin: \"wulumuqi\"\n},\n{\nid: 243,\nname: \"梧州\",\nabbr: \"WZ\",\narea_code: \"0774\",\nsort: 2000,\nlatitude: 23.47703,\nlongitude: 111.279129,\nis_map: true,\npinyin: \"wuzhou\"\n},\n{\nid: 282,\nname: \"文昌\",\nabbr: \"WC\",\narea_code: \"0989\",\nsort: 2000,\nlatitude: 19.543289,\nlongitude: 110.797737,\nis_map: true,\npinyin: \"wenchang\"\n},\n{\nid: 293,\nname: \"文山\",\nabbr: \"WS\",\narea_code: \"0876\",\nsort: 2000,\nlatitude: 23.38678,\nlongitude: 104.233002,\nis_map: true,\npinyin: \"wenshan\"\n},\n{\nid: 306,\nname: \"渭南\",\nabbr: \"WN\",\narea_code: \"0913\",\nsort: 2000,\nlatitude: 34.499969,\nlongitude: 109.510147,\nis_map: true,\npinyin: \"weinan\"\n},\n{\nid: 393,\nname: \"乌海\",\nabbr: \"WH\",\narea_code: \"0473\",\nsort: 2000,\nlatitude: 39.653839,\nlongitude: 106.795464,\nis_map: true,\npinyin: \"wuhai\"\n},\n{\nid: 394,\nname: \"乌兰察布\",\nabbr: \"WLCB\",\narea_code: \"0474\",\nsort: 2000,\nlatitude: 40.993912,\nlongitude: 113.133759,\nis_map: true,\npinyin: \"wulanchabu\"\n},\n{\nid: 396,\nname: \"吴忠\",\nabbr: \"WZ\",\narea_code: \"0953\",\nsort: 2000,\nlatitude: 37.997551,\nlongitude: 106.198792,\nis_map: true,\npinyin: \"wuzhong\"\n},\n{\nid: 449,\nname: \"万州\",\nabbr: \"WZ\",\narea_code: \"10027\",\nsort: 2000,\nlatitude: 30.807899,\nlongitude: 108.40873,\nis_map: true,\npinyin: \"wanzhou\"\n},\n{\nid: 455,\nname: \"无为\",\nabbr: \"WW\",\narea_code: \"200001\",\nsort: 2000,\nlatitude: 31.303169,\nlongitude: 117.902237,\nis_map: true,\npinyin: \"wuwei\"\n},\n{\nid: 463,\nname: \"涡阳\",\nabbr: \"WY\",\narea_code: \"200009\",\nsort: 2000,\nlatitude: 33.492851,\nlongitude: 116.215813,\nis_map: true,\npinyin: \"woyang\"\n},\n{\nid: 483,\nname: \"五河\",\nabbr: \"WH\",\narea_code: \"200029\",\nsort: 2000,\nlatitude: 33.145069,\nlongitude: 117.885292,\nis_map: true,\npinyin: \"wuhe\"\n},\n{\nid: 489,\nname: \"望江\",\nabbr: \"WJ\",\narea_code: \"200035\",\nsort: 2000,\nlatitude: 30.12442,\nlongitude: 116.694229,\nis_map: true,\npinyin: \"wangjiang\"\n},\n{\nid: 523,\nname: \"武威\",\nabbr: \"WW\",\narea_code: \"200069\",\nsort: 2000,\nlatitude: 37.9282,\nlongitude: 102.63797,\nis_map: true,\npinyin: \"wuwei\"\n},\n{\nid: 546,\nname: \"吴川\",\nabbr: \"WC\",\narea_code: \"200092\",\nsort: 2000,\nlatitude: 21.44182,\nlongitude: 110.778236,\nis_map: true,\npinyin: \"wuchuan\"\n},\n{\nid: 557,\nname: \"五华\",\nabbr: \"WH\",\narea_code: \"200103\",\nsort: 2000,\nlatitude: 23.932541,\nlongitude: 115.776093,\nis_map: true,\npinyin: \"wuhua\"\n},\n{\nid: 581,\nname: \"万宁\",\nabbr: \"WN\",\narea_code: \"200127\",\nsort: 2000,\nlatitude: 18.795321,\nlongitude: 110.389748,\nis_map: true,\npinyin: \"wanning\"\n},\n{\nid: 588,\nname: \"魏县\",\nabbr: \"WX\",\narea_code: \"200134\",\nsort: 2000,\nlatitude: 36.359909,\nlongitude: 114.93882,\nis_map: true,\npinyin: \"weixian\"\n},\n{\nid: 602,\nname: \"文安\",\nabbr: \"WA\",\narea_code: \"200148\",\nsort: 2000,\nlatitude: 38.87328,\nlongitude: 116.458481,\nis_map: true,\npinyin: \"wenan\"\n},\n{\nid: 654,\nname: \"尉氏\",\nabbr: \"WS\",\narea_code: \"200200\",\nsort: 2000,\nlatitude: 34.41161,\nlongitude: 114.19297,\nis_map: true,\npinyin: \"weishi\"\n},\n{\nid: 673,\nname: \"武陟\",\nabbr: \"WZ\",\narea_code: \"200219\",\nsort: 2000,\nlatitude: 35.099522,\nlongitude: 113.40184,\nis_map: true,\npinyin: \"wuzhi\"\n},\n{\nid: 677,\nname: \"舞阳\",\nabbr: \"WY\",\narea_code: \"200223\",\nsort: 2000,\nlatitude: 33.437649,\nlongitude: 113.609306,\nis_map: true,\npinyin: \"wuyang\"\n},\n{\nid: 688,\nname: \"卫辉\",\nabbr: \"WH\",\narea_code: \"200234\",\nsort: 2000,\nlatitude: 35.398472,\nlongitude: 114.06459,\nis_map: true,\npinyin: \"weihui\"\n},\n{\nid: 693,\nname: \"温县\",\nabbr: \"WX\",\narea_code: \"200239\",\nsort: 2000,\nlatitude: 34.940231,\nlongitude: 113.080566,\nis_map: true,\npinyin: \"wenxian\"\n},\n{\nid: 701,\nname: \"五常\",\nabbr: \"WC\",\narea_code: \"200247\",\nsort: 2000,\nlatitude: 44.931911,\nlongitude: 127.167458,\nis_map: true,\npinyin: \"wuchang\"\n},\n{\nid: 726,\nname: \"武穴\",\nabbr: \"WX\",\narea_code: \"200272\",\nsort: 2000,\nlatitude: 29.84433,\nlongitude: 115.561302,\nis_map: true,\npinyin: \"wuxue\"\n},\n{\nid: 774,\nname: \"望城\",\nabbr: \"WC\",\narea_code: \"200320\",\nsort: 2000,\nlatitude: 28.36121,\nlongitude: 112.817902,\nis_map: true,\npinyin: \"wangcheng\"\n},\n{\nid: 788,\nname: \"武冈\",\nabbr: \"WG\",\narea_code: \"200334\",\nsort: 2000,\nlatitude: 26.726589,\nlongitude: 110.631378,\nis_map: true,\npinyin: \"wugang\"\n},\n{\nid: 824,\nname: \"汪清\",\nabbr: \"WQ\",\narea_code: \"200370\",\nsort: 2000,\nlatitude: 43.312809,\nlongitude: 129.771255,\nis_map: true,\npinyin: \"wangqing\"\n},\n{\nid: 825,\nname: \"吴江\",\nabbr: \"WJ\",\narea_code: \"200371\",\nsort: 2000,\nlatitude: 31.137621,\nlongitude: 120.645042,\nis_map: true,\npinyin: \"wujiang\"\n},\n{\nid: 916,\nname: \"乌兰浩特\",\nabbr: \"WLHT\",\narea_code: \"200462\",\nsort: 2000,\nlatitude: 46.072819,\nlongitude: 122.093163,\nis_map: true,\npinyin: \"wulanhaote\"\n},\n{\nid: 960,\nname: \"文登\",\nabbr: \"WD\",\narea_code: \"200506\",\nsort: 2000,\nlatitude: 37.19397,\nlongitude: 122.058098,\nis_map: true,\npinyin: \"wendeng\"\n},\n{\nid: 964,\nname: \"微山\",\nabbr: \"WS\",\narea_code: \"200510\",\nsort: 2000,\nlatitude: 34.807178,\nlongitude: 117.12886,\nis_map: true,\npinyin: \"weishan\"\n},\n{\nid: 983,\nname: \"汶上\",\nabbr: \"WS\",\narea_code: \"200529\",\nsort: 2000,\nlatitude: 35.732811,\nlongitude: 116.489166,\nis_map: true,\npinyin: \"wenshang\"\n},\n{\nid: 990,\nname: \"无棣\",\nabbr: \"WD\",\narea_code: \"200536\",\nsort: 2000,\nlatitude: 37.769932,\nlongitude: 117.625771,\nis_map: true,\npinyin: \"wudi\"\n},\n{\nid: 991,\nname: \"武城\",\nabbr: \"WC\",\narea_code: \"200537\",\nsort: 2000,\nlatitude: 37.213169,\nlongitude: 116.069229,\nis_map: true,\npinyin: \"wucheng\"\n},\n{\nid: 1007,\nname: \"闻喜\",\nabbr: \"WX\",\narea_code: \"200553\",\nsort: 2000,\nlatitude: 35.356628,\nlongitude: 111.224716,\nis_map: true,\npinyin: \"wenxi\"\n},\n{\nid: 1031,\nname: \"威远\",\nabbr: \"WY\",\narea_code: \"200577\",\nsort: 2000,\nlatitude: 29.52742,\nlongitude: 104.668854,\nis_map: true,\npinyin: \"weiyuan\"\n},\n{\nid: 1077,\nname: \"温岭\",\nabbr: \"WL\",\narea_code: \"200623\",\nsort: 2000,\nlatitude: 28.371799,\nlongitude: 121.385986,\nis_map: true,\npinyin: \"wenling\"\n},\n{\nid: 1103,\nname: \"武义\",\nabbr: \"WY\",\narea_code: \"200649\",\nsort: 2000,\nlatitude: 28.892599,\nlongitude: 119.816513,\nis_map: true,\npinyin: \"wuyi\"\n},\n{\nid: 1132,\nname: \"巫山\",\nabbr: \"WS\",\narea_code: \"200678\",\nsort: 2000,\nlatitude: 31.074619,\nlongitude: 109.878799,\nis_map: true,\npinyin: \"wushan\"\n},\n{\nid: 1133,\nname: \"武隆\",\nabbr: \"WL\",\narea_code: \"200679\",\nsort: 2000,\nlatitude: 29.32543,\nlongitude: 107.759933,\nis_map: true,\npinyin: \"wulong\"\n},\n{\nid: 1134,\nname: \"巫溪\",\nabbr: \"WX\",\narea_code: \"200680\",\nsort: 2000,\nlatitude: 31.3986,\nlongitude: 109.57016,\nis_map: true,\npinyin: \"wuxi\"\n},\n{\nid: 363,\nname: \"武安\",\nabbr: \"WA\",\narea_code: \"03101\",\nsort: 9999,\nlatitude: 36.696709,\nlongitude: 114.203758,\nis_map: true,\npinyin: \"wuan\"\n},\n{\nid: 375,\nname: \"瓦房店\",\nabbr: \"WFD\",\narea_code: \"04111\",\nsort: 9999,\nlatitude: 39.626438,\nlongitude: 121.97995,\nis_map: true,\npinyin: \"wafangdian\"\n},\n{\nid: 1200,\nname: \"威县\",\nabbr: \"WX\",\narea_code: \"130533\",\nsort: 9999,\nlatitude: 36.983273,\nlongitude: 115.272751,\nis_map: true,\npinyin: \"weixian\"\n},\n{\nid: 1210,\nname: \"望都\",\nabbr: \"WD\",\narea_code: \"130631\",\nsort: 9999,\nlatitude: 38.707447,\nlongitude: 115.154007,\nis_map: true,\npinyin: \"wangdu\"\n},\n{\nid: 1225,\nname: \"万全\",\nabbr: \"WQ\",\narea_code: \"130729\",\nsort: 9999,\nlatitude: 40.765137,\nlongitude: 114.73613,\nis_map: true,\npinyin: \"wanquan\"\n},\n{\nid: 1237,\nname: \"围场满族蒙古族自治县\",\nabbr: \"WCMZMGZZZX\",\narea_code: \"130828\",\nsort: 9999,\nlatitude: 41.949406,\nlongitude: 117.764084,\nis_map: true,\npinyin: \"weichangmanzumengguzuzizhixian\"\n},\n{\nid: 1243,\nname: \"吴桥\",\nabbr: \"WQ\",\narea_code: \"130928\",\nsort: 9999,\nlatitude: 37.628181,\nlongitude: 116.39151,\nis_map: true,\npinyin: \"wuqiao\"\n},\n{\nid: 1249,\nname: \"武邑\",\nabbr: \"WY\",\narea_code: \"131122\",\nsort: 9999,\nlatitude: 37.803776,\nlongitude: 115.892418,\nis_map: true,\npinyin: \"wuyi\"\n},\n{\nid: 1250,\nname: \"武强\",\nabbr: \"WQ\",\narea_code: \"131123\",\nsort: 9999,\nlatitude: 38.03698,\nlongitude: 115.970238,\nis_map: true,\npinyin: \"wuqiang\"\n},\n{\nid: 1298,\nname: \"万荣\",\nabbr: \"WR\",\narea_code: \"140822\",\nsort: 9999,\nlatitude: 35.417042,\nlongitude: 110.843559,\nis_map: true,\npinyin: \"wanrong\"\n},\n{\nid: 1355,\nname: \"翁牛特旗\",\nabbr: \"WNTQ\",\narea_code: \"150426\",\nsort: 9999,\nlatitude: 42.937126,\nlongitude: 119.022621,\nis_map: true,\npinyin: \"wengniuteqi\"\n},\n{\nid: 1369,\nname: \"乌审旗\",\nabbr: \"WSQ\",\narea_code: \"150626\",\nsort: 9999,\nlatitude: 38.603703,\nlongitude: 108.840927,\nis_map: true,\npinyin: \"wushenqi\"\n},\n{\nid: 1381,\nname: \"五原\",\nabbr: \"WY\",\narea_code: \"150821\",\nsort: 9999,\nlatitude: 41.097637,\nlongitude: 108.27066,\nis_map: true,\npinyin: \"wuyuan\"\n},\n{\nid: 1383,\nname: \"乌拉特前旗\",\nabbr: \"WLTQQ\",\narea_code: \"150823\",\nsort: 9999,\nlatitude: 40.725208,\nlongitude: 108.656815,\nis_map: true,\npinyin: \"wulateqianqi\"\n},\n{\nid: 1384,\nname: \"乌拉特中旗\",\nabbr: \"WLTZQ\",\narea_code: \"150824\",\nsort: 9999,\nlatitude: 41.57254,\nlongitude: 108.515259,\nis_map: true,\npinyin: \"wulatezhongqi\"\n},\n{\nid: 1385,\nname: \"乌拉特后旗\",\nabbr: \"WLTHQ\",\narea_code: \"150825\",\nsort: 9999,\nlatitude: 41.084309,\nlongitude: 107.074944,\nis_map: true,\npinyin: \"wulatehouqi\"\n},\n{\nid: 1505,\nname: \"五大连池市\",\nabbr: \"WDLC\",\narea_code: \"231182\",\nsort: 9999,\nlatitude: 48.512688,\nlongitude: 126.197693,\nis_map: true,\npinyin: \"wudalianchi\"\n},\n{\nid: 1506,\nname: \"望奎\",\nabbr: \"WK\",\narea_code: \"231221\",\nsort: 9999,\nlatitude: 46.833519,\nlongitude: 126.484192,\nis_map: true,\npinyin: \"wangkui\"\n},\n{\nid: 1516,\nname: \"文成县\",\nabbr: \"WCX\",\narea_code: \"330328\",\nsort: 9999,\nlatitude: 27.789133,\nlongitude: 120.092453,\nis_map: true,\npinyin: \"wencheng\"\n},\n{\nid: 1527,\nname: \"芜湖县\",\nabbr: \"WH\",\narea_code: \"340220\",\nsort: 9999,\nlatitude: 31.145262,\nlongitude: 118.572304,\nis_map: true,\npinyin: \"wuhuxian\"\n},\n{\nid: 1564,\nname: \"武夷山\",\nabbr: \"WYS\",\narea_code: \"350782\",\nsort: 9999,\nlatitude: 27.751734,\nlongitude: 118.032799,\nis_map: true,\npinyin: \"wuyishan\"\n},\n{\nid: 1566,\nname: \"武平\",\nabbr: \"WP\",\narea_code: \"350824\",\nsort: 9999,\nlatitude: 25.08865,\nlongitude: 116.100929,\nis_map: true,\npinyin: \"wuping\"\n},\n{\nid: 1577,\nname: \"武宁\",\nabbr: \"WN\",\narea_code: \"360423\",\nsort: 9999,\nlatitude: 29.260181,\nlongitude: 115.105644,\nis_map: true,\npinyin: \"wuning\"\n},\n{\nid: 1599,\nname: \"万安\",\nabbr: \"WA\",\narea_code: \"360828\",\nsort: 9999,\nlatitude: 26.462086,\nlongitude: 114.784691,\nis_map: true,\npinyin: \"wanan\"\n},\n{\nid: 1603,\nname: \"万载\",\nabbr: \"WZ\",\narea_code: \"360922\",\nsort: 9999,\nlatitude: 28.104528,\nlongitude: 114.449013,\nis_map: true,\npinyin: \"wanzai\"\n},\n{\nid: 1620,\nname: \"万年\",\nabbr: \"WN\",\narea_code: \"361129\",\nsort: 9999,\nlatitude: 28.692589,\nlongitude: 117.070152,\nis_map: true,\npinyin: \"wannian\"\n},\n{\nid: 1621,\nname: \"婺源\",\nabbr: \"WY\",\narea_code: \"361130\",\nsort: 9999,\nlatitude: 29.254015,\nlongitude: 117.86219,\nis_map: true,\npinyin: \"wuyuan\"\n},\n{\nid: 1633,\nname: \"五莲县\",\nabbr: \"WLX\",\narea_code: \"371121\",\nsort: 9999,\nlatitude: 35.751938,\nlongitude: 119.206741,\nis_map: true,\npinyin: \"wulian\"\n},\n{\nid: 1647,\nname: \"舞钢\",\nabbr: \"WG\",\narea_code: \"410481\",\nsort: 9999,\nlatitude: 33.302082,\nlongitude: 113.526253,\nis_map: true,\npinyin: \"wugang\"\n},\n{\nid: 1766,\nname: \"武鸣\",\nabbr: \"WM\",\narea_code: \"450122\",\nsort: 9999,\nlatitude: 23.157164,\nlongitude: 108.280716,\nis_map: true,\npinyin: \"wuming\"\n},\n{\nid: 1830,\nname: \"武宣\",\nabbr: \"WX\",\narea_code: \"451323\",\nsort: 9999,\nlatitude: 23.604162,\nlongitude: 109.662872,\nis_map: true,\npinyin: \"wuxuan\"\n},\n{\nid: 1892,\nname: \"武胜\",\nabbr: \"WS\",\narea_code: \"511622\",\nsort: 9999,\nlatitude: 30.344292,\nlongitude: 106.292473,\nis_map: true,\npinyin: \"wusheng\"\n},\n{\nid: 1965,\nname: \"务川仡佬族苗族自治县\",\nabbr: \"WCGLZMZZZX\",\narea_code: \"520326\",\nsort: 9999,\nlatitude: 28.521566,\nlongitude: 107.887856,\nis_map: true,\npinyin: \"wuchuangelaozumiaozuzizhixian\"\n},\n{\nid: 1976,\nname: \"威宁彝族回族苗族自治县\",\nabbr: \"WNYZHZMZZZX\",\narea_code: \"520526\",\nsort: 9999,\nlatitude: 26.859098,\nlongitude: 104.286522,\nis_map: true,\npinyin: \"weiningyizuhuizumiaozuzizhixian\"\n},\n{\nid: 1991,\nname: \"望谟\",\nabbr: \"WM\",\narea_code: \"522326\",\nsort: 9999,\nlatitude: 25.166668,\nlongitude: 106.09156,\nis_map: true,\npinyin: \"wangmo\"\n},\n{\nid: 2014,\nname: \"瓮安\",\nabbr: \"WA\",\narea_code: \"522725\",\nsort: 9999,\nlatitude: 27.066339,\nlongitude: 107.478416,\nis_map: true,\npinyin: \"wengan\"\n},\n{\nid: 2048,\nname: \"威信\",\nabbr: \"WX\",\narea_code: \"530629\",\nsort: 9999,\nlatitude: 27.843382,\nlongitude: 105.048691,\nis_map: true,\npinyin: \"weixin\"\n},\n{\nid: 2079,\nname: \"武定\",\nabbr: \"WD\",\narea_code: \"532329\",\nsort: 9999,\nlatitude: 25.5301,\nlongitude: 102.406784,\nis_map: true,\npinyin: \"wuding\"\n},\n{\nid: 2105,\nname: \"巍山彝族回族自治县\",\nabbr: \"WSYZHZZZX\",\narea_code: \"532927\",\nsort: 9999,\nlatitude: 25.230909,\nlongitude: 100.30793,\nis_map: true,\npinyin: \"weishanyizuhuizuzizhixian\"\n},\n{\nid: 2125,\nname: \"维西傈僳族自治县\",\nabbr: \"WXLSZZZX\",\narea_code: \"533423\",\nsort: 9999,\nlatitude: 27.180948,\nlongitude: 99.286354,\nis_map: true,\npinyin: \"weixilisuzuzizhixian\"\n},\n{\nid: 2243,\nname: \"吴起\",\nabbr: \"WQ\",\narea_code: \"610626\",\nsort: 9999,\nlatitude: 36.92485,\nlongitude: 108.176979,\nis_map: true,\npinyin: \"wuqi\"\n},\n{\nid: 5013,\nname: \"无极\",\nabbr: \"WJ\",\narea_code: \"130130\",\nsort: 9999,\nlatitude: 38.176376,\nlongitude: 114.977844,\nis_map: true,\npinyin: \"wuji\"\n},\n{\nid: 5231,\nname: \"五营区\",\nabbr: \"WYQ\",\narea_code: \"230710\",\nsort: 9999,\nlatitude: 48.108204,\nlongitude: 129.245026,\nis_map: true,\npinyin: \"wuyingqu\"\n},\n{\nid: 5235,\nname: \"乌伊岭区\",\nabbr: \"WYLQ\",\narea_code: \"230714\",\nsort: 9999,\nlatitude: 48.591122,\nlongitude: 129.437851,\nis_map: true,\npinyin: \"wuyilingqu\"\n},\n{\nid: 5428,\nname: \"湾里区\",\nabbr: \"WLQ\",\narea_code: \"360105\",\nsort: 9999,\nlatitude: 28.676081,\nlongitude: 115.746628,\nis_map: true,\npinyin: \"wanliqu\"\n}\n],\nC: [\n{\nid: 14,\nname: \"成都\",\nabbr: \"CD\",\narea_code: \"028\",\nsort: 21,\nlatitude: 30.5702,\nlongitude: 104.064758,\nis_map: true,\npinyin: \"chengdu\"\n},\n{\nid: 337,\nname: \"赤峰\",\nabbr: \"CF\",\narea_code: \"476\",\nsort: 1500,\nlatitude: 42.258598,\nlongitude: 118.888939,\nis_map: true,\npinyin: \"chifeng\"\n},\n{\nid: 360,\nname: \"朝阳\",\nabbr: \"CY\",\narea_code: \"04211\",\nsort: 1900,\nlatitude: 41.573471,\nlongitude: 120.450798,\nis_map: true,\npinyin: \"chaoyang\"\n},\n{\nid: 12,\nname: \"长春\",\nabbr: \"CC\",\narea_code: \"0431\",\nsort: 2000,\nlatitude: 43.816021,\nlongitude: 125.32357,\nis_map: true,\npinyin: \"changchun\"\n},\n{\nid: 21,\nname: \"长沙\",\nabbr: \"CS\",\narea_code: \"0731\",\nsort: 2000,\nlatitude: 28.227779,\nlongitude: 112.938858,\nis_map: true,\npinyin: \"changsha\"\n},\n{\nid: 44,\nname: \"重庆\",\nabbr: \"CQ\",\narea_code: \"023\",\nsort: 2000,\nlatitude: 29.564711,\nlongitude: 106.550728,\nis_map: true,\npinyin: \"chongqing\"\n},\n{\nid: 59,\nname: \"常州\",\nabbr: \"CZ\",\narea_code: \"0519\",\nsort: 2000,\nlatitude: 31.81072,\nlongitude: 119.973648,\nis_map: true,\npinyin: \"changzhou\"\n},\n{\nid: 83,\nname: \"滁州\",\nabbr: \"CZ\",\narea_code: \"0550\",\nsort: 2000,\nlatitude: 32.301811,\nlongitude: 118.316833,\nis_map: true,\npinyin: \"chuzhou\"\n},\n{\nid: 120,\nname: \"常德\",\nabbr: \"CD\",\narea_code: \"0736\",\nsort: 2000,\nlatitude: 29.03158,\nlongitude: 111.69854,\nis_map: true,\npinyin: \"changde\"\n},\n{\nid: 172,\nname: \"承德\",\nabbr: \"CD\",\narea_code: \"0314\",\nsort: 2000,\nlatitude: 40.9515,\nlongitude: 117.963402,\nis_map: true,\npinyin: \"chengde\"\n},\n{\nid: 175,\nname: \"沧州\",\nabbr: \"CZ\",\narea_code: \"0317\",\nsort: 2000,\nlatitude: 38.304409,\nlongitude: 116.838692,\nis_map: true,\npinyin: \"cangzhou\"\n},\n{\nid: 178,\nname: \"郴州\",\nabbr: \"CZ\",\narea_code: \"0735\",\nsort: 2000,\nlatitude: 25.77063,\nlongitude: 113.014847,\nis_map: false,\npinyin: \"chenzhou\"\n},\n{\nid: 235,\nname: \"潮州\",\nabbr: \"CZ\",\narea_code: \"0768\",\nsort: 2000,\nlatitude: 23.6567,\nlongitude: 116.622963,\nis_map: true,\npinyin: \"chaozhou\"\n},\n{\nid: 237,\nname: \"长治\",\nabbr: \"CZ\",\narea_code: \"0355\",\nsort: 2000,\nlatitude: 36.195808,\nlongitude: 113.116493,\nis_map: true,\npinyin: \"changzhi\"\n},\n{\nid: 238,\nname: \"巢湖\",\nabbr: \"CH\",\narea_code: \"0565\",\nsort: 2000,\nlatitude: 31.623289,\nlongitude: 117.889374,\nis_map: true,\npinyin: \"chaohu\"\n},\n{\nid: 246,\nname: \"池州\",\nabbr: \"CZ\",\narea_code: \"0566\",\nsort: 2000,\nlatitude: 30.66469,\nlongitude: 117.491417,\nis_map: true,\npinyin: \"chizhou\"\n},\n{\nid: 267,\nname: \"昌吉\",\nabbr: \"CJ\",\narea_code: \"0994\",\nsort: 2000,\nlatitude: 44.01437,\nlongitude: 87.267487,\nis_map: true,\npinyin: \"changji\"\n},\n{\nid: 279,\nname: \"楚雄\",\nabbr: \"CX\",\narea_code: \"0878\",\nsort: 2000,\nlatitude: 25.032881,\nlongitude: 101.545822,\nis_map: true,\npinyin: \"chuxiong\"\n},\n{\nid: 289,\nname: \"崇左\",\nabbr: \"CZ\",\narea_code: \"4401004\",\nsort: 2000,\nlatitude: 22.37895,\nlongitude: 107.364853,\nis_map: true,\npinyin: \"chongzuo\"\n},\n{\nid: 482,\nname: \"长丰\",\nabbr: \"CF\",\narea_code: \"200028\",\nsort: 2000,\nlatitude: 32.477959,\nlongitude: 117.167664,\nis_map: true,\npinyin: \"changfeng\"\n},\n{\nid: 505,\nname: \"长乐\",\nabbr: \"CL\",\narea_code: \"200051\",\nsort: 2000,\nlatitude: 25.96283,\nlongitude: 119.523239,\nis_map: true,\npinyin: \"changle\"\n},\n{\nid: 514,\nname: \"长汀\",\nabbr: \"CT\",\narea_code: \"200060\",\nsort: 2000,\nlatitude: 25.833481,\nlongitude: 116.357651,\nis_map: true,\npinyin: \"changting\"\n},\n{\nid: 530,\nname: \"潮安\",\nabbr: \"CA\",\narea_code: \"200076\",\nsort: 2000,\nlatitude: 23.46244,\nlongitude: 116.678093,\nis_map: true,\npinyin: \"chaoan\"\n},\n{\nid: 563,\nname: \"从化\",\nabbr: \"CH\",\narea_code: \"200109\",\nsort: 2000,\nlatitude: 23.548349,\nlongitude: 113.586456,\nis_map: true,\npinyin: \"conghua\"\n},\n{\nid: 582,\nname: \"澄迈\",\nabbr: \"CM\",\narea_code: \"200128\",\nsort: 2000,\nlatitude: 19.738489,\nlongitude: 110.004868,\nis_map: true,\npinyin: \"chengmai\"\n},\n{\nid: 592,\nname: \"磁县\",\nabbr: \"CX\",\narea_code: \"200138\",\nsort: 2000,\nlatitude: 36.373959,\nlongitude: 114.373917,\nis_map: true,\npinyin: \"cixian\"\n},\n{\nid: 636,\nname: \"长垣\",\nabbr: \"CY\",\narea_code: \"200182\",\nsort: 2000,\nlatitude: 35.200489,\nlongitude: 114.668861,\nis_map: true,\npinyin: \"changyuan\"\n},\n{\nid: 641,\nname: \"长葛\",\nabbr: \"CG\",\narea_code: \"200187\",\nsort: 2000,\nlatitude: 34.216721,\nlongitude: 113.768272,\nis_map: true,\npinyin: \"changge\"\n},\n{\nid: 740,\nname: \"赤壁\",\nabbr: \"CB\",\narea_code: \"200286\",\nsort: 2000,\nlatitude: 29.72476,\nlongitude: 113.900543,\nis_map: true,\npinyin: \"chibi\"\n},\n{\nid: 749,\nname: \"崇阳\",\nabbr: \"CY\",\narea_code: \"200295\",\nsort: 2000,\nlatitude: 29.55537,\nlongitude: 114.038918,\nis_map: true,\npinyin: \"chongyang\"\n},\n{\nid: 758,\nname: \"常宁\",\nabbr: \"CN\",\narea_code: \"200304\",\nsort: 2000,\nlatitude: 26.420931,\nlongitude: 112.399918,\nis_map: true,\npinyin: \"changning\"\n},\n{\nid: 760,\nname: \"茶陵\",\nabbr: \"CL\",\narea_code: \"200306\",\nsort: 2000,\nlatitude: 26.777451,\nlongitude: 113.539268,\nis_map: true,\npinyin: \"chaling\"\n},\n{\nid: 797,\nname: \"慈利\",\nabbr: \"CL\",\narea_code: \"200343\",\nsort: 2000,\nlatitude: 29.429701,\nlongitude: 111.139214,\nis_map: true,\npinyin: \"cili\"\n},\n{\nid: 812,\nname: \"长岭\",\nabbr: \"CL\",\narea_code: \"200358\",\nsort: 2000,\nlatitude: 44.275909,\nlongitude: 123.9673,\nis_map: true,\npinyin: \"changling\"\n},\n{\nid: 911,\nname: \"昌图\",\nabbr: \"CT\",\narea_code: \"200457\",\nsort: 2000,\nlatitude: 42.786129,\nlongitude: 124.110924,\nis_map: true,\npinyin: \"changtu\"\n},\n{\nid: 931,\nname: \"曹县\",\nabbr: \"CX\",\narea_code: \"200477\",\nsort: 2000,\nlatitude: 34.825531,\nlongitude: 115.542137,\nis_map: true,\npinyin: \"caoxian\"\n},\n{\nid: 959,\nname: \"昌邑\",\nabbr: \"CY\",\narea_code: \"200505\",\nsort: 2000,\nlatitude: 36.858841,\nlongitude: 119.398621,\nis_map: true,\npinyin: \"changyi\"\n},\n{\nid: 962,\nname: \"昌乐\",\nabbr: \"CL\",\narea_code: \"200508\",\nsort: 2000,\nlatitude: 36.70702,\nlongitude: 118.829842,\nis_map: true,\npinyin: \"changle\"\n},\n{\nid: 979,\nname: \"茌平\",\nabbr: \"CP\",\narea_code: \"200525\",\nsort: 2000,\nlatitude: 36.580681,\nlongitude: 116.255219,\nis_map: true,\npinyin: \"chiping\"\n},\n{\nid: 982,\nname: \"成武\",\nabbr: \"CW\",\narea_code: \"200528\",\nsort: 2000,\nlatitude: 34.95245,\nlongitude: 115.889641,\nis_map: true,\npinyin: \"chengwu\"\n},\n{\nid: 1010,\nname: \"崇明\",\nabbr: \"CM\",\narea_code: \"200556\",\nsort: 2000,\nlatitude: 31.6229,\nlongitude: 121.397301,\nis_map: true,\npinyin: \"chongming\"\n},\n{\nid: 1037,\nname: \"崇州\",\nabbr: \"CZ\",\narea_code: \"200583\",\nsort: 2000,\nlatitude: 30.630211,\nlongitude: 103.67289,\nis_map: true,\npinyin: \"chongzhou\"\n},\n{\nid: 1075,\nname: \"慈溪\",\nabbr: \"CX\",\narea_code: \"200621\",\nsort: 2000,\nlatitude: 30.16964,\nlongitude: 121.266472,\nis_map: true,\npinyin: \"cixi\"\n},\n{\nid: 1080,\nname: \"苍南\",\nabbr: \"CN\",\narea_code: \"200626\",\nsort: 2000,\nlatitude: 27.517429,\nlongitude: 120.426308,\nis_map: true,\npinyin: \"cangnan\"\n},\n{\nid: 1096,\nname: \"长兴\",\nabbr: \"CX\",\narea_code: \"200642\",\nsort: 2000,\nlatitude: 31.02663,\nlongitude: 119.91011,\nis_map: true,\npinyin: \"changxing\"\n},\n{\nid: 1118,\nname: \"淳安\",\nabbr: \"CA\",\narea_code: \"200664\",\nsort: 2000,\nlatitude: 29.608521,\nlongitude: 119.041878,\nis_map: true,\npinyin: \"chunan\"\n},\n{\nid: 355,\nname: \"常熟\",\nabbr: \"CS\",\narea_code: \"05121\",\nsort: 9999,\nlatitude: 31.65382,\nlongitude: 120.752373,\nis_map: true,\npinyin: \"changshu\"\n},\n{\nid: 373,\nname: \"澄海\",\nabbr: \"CH\",\narea_code: \"07541\",\nsort: 9999,\nlatitude: 23.466129,\nlongitude: 116.756081,\nis_map: true,\npinyin: \"chenghai\"\n},\n{\nid: 1158,\nname: \"长泰\",\nabbr: \"CT\",\narea_code: \"350625\",\nsort: 9999,\nlatitude: 24.625799,\nlongitude: 117.759483,\nis_map: true,\npinyin: \"changtai\"\n},\n{\nid: 1168,\nname: \"常山县\",\nabbr: \"CS\",\narea_code: \"330822\",\nsort: 9999,\nlatitude: 28.901409,\nlongitude: 118.511162,\nis_map: true,\npinyin: \"changshan\"\n},\n{\nid: 1174,\nname: \"潮南\",\nabbr: \"CN\",\narea_code: \"440514\",\nsort: 9999,\nlatitude: 23.25029,\nlongitude: 116.433098,\nis_map: true,\npinyin: \"chaonan\"\n},\n{\nid: 1179,\nname: \"昌黎\",\nabbr: \"CL\",\narea_code: \"130321\",\nsort: 9999,\nlatitude: 39.709728,\nlongitude: 119.164543,\nis_map: true,\npinyin: \"changli\"\n},\n{\nid: 1183,\nname: \"成安\",\nabbr: \"CA\",\narea_code: \"130424\",\nsort: 9999,\nlatitude: 36.442997,\nlongitude: 114.691841,\nis_map: true,\npinyin: \"chengan\"\n},\n{\nid: 1228,\nname: \"赤城\",\nabbr: \"CC\",\narea_code: \"130732\",\nsort: 9999,\nlatitude: 40.912083,\nlongitude: 115.83271,\nis_map: true,\npinyin: \"chicheng\"\n},\n{\nid: 1375,\nname: \"陈巴尔虎旗\",\nabbr: \"CBEHQ\",\narea_code: \"150725\",\nsort: 9999,\nlatitude: 49.328423,\nlongitude: 119.437607,\nis_map: true,\npinyin: \"chenbaerhuqi\"\n},\n{\nid: 1392,\nname: \"察哈尔右翼前旗\",\nabbr: \"CHEYYQQ\",\narea_code: \"150926\",\nsort: 9999,\nlatitude: 40.786858,\nlongitude: 113.21196,\nis_map: true,\npinyin: \"chahaeryouyiqianqi\"\n},\n{\nid: 1393,\nname: \"察哈尔右翼中旗\",\nabbr: \"CHEYYZQ\",\narea_code: \"150927\",\nsort: 9999,\nlatitude: 41.274212,\nlongitude: 112.63356,\nis_map: true,\npinyin: \"chahaeryouyizhongqi\"\n},\n{\nid: 1394,\nname: \"察哈尔右翼后旗\",\nabbr: \"CHEYYHQ\",\narea_code: \"150928\",\nsort: 9999,\nlatitude: 41.447212,\nlongitude: 113.190598,\nis_map: true,\npinyin: \"chahaeryouyihouqi\"\n},\n{\nid: 1421,\nname: \"长海县\",\nabbr: \"CHX\",\narea_code: \"210224\",\nsort: 9999,\nlatitude: 39.2724,\nlongitude: 122.587822,\nis_map: true,\npinyin: \"changhai\"\n},\n{\nid: 1453,\nname: \"长白朝鲜族自治县\",\nabbr: \"CZBCXZZZX\",\narea_code: \"220623\",\nsort: 9999,\nlatitude: 41.419361,\nlongitude: 128.203384,\nis_map: true,\npinyin: \"changbaichaoxianzuzizhixian\"\n},\n{\nid: 1588,\nname: \"崇义\",\nabbr: \"CY\",\narea_code: \"360725\",\nsort: 9999,\nlatitude: 25.68791,\nlongitude: 114.30735,\nis_map: true,\npinyin: \"chongyi\"\n},\n{\nid: 1611,\nname: \"崇仁县\",\nabbr: \"CRX\",\narea_code: \"361024\",\nsort: 9999,\nlatitude: 27.760906,\nlongitude: 116.059113,\nis_map: true,\npinyin: \"chongren\"\n},\n{\nid: 1721,\nname: \"辰溪县\",\nabbr: \"CXX\",\narea_code: \"431223\",\nsort: 9999,\nlatitude: 28.005474,\nlongitude: 110.196953,\nis_map: true,\npinyin: \"chenxi\"\n},\n{\nid: 1789,\nname: \"苍梧\",\nabbr: \"CW\",\narea_code: \"450421\",\nsort: 9999,\nlatitude: 23.40996,\nlongitude: 111.246033,\nis_map: true,\npinyin: \"cangwu\"\n},\n{\nid: 1792,\nname: \"岑溪\",\nabbr: \"CX\",\narea_code: \"450481\",\nsort: 9999,\nlatitude: 22.918406,\nlongitude: 110.998116,\nis_map: true,\npinyin: \"cenxi\"\n},\n{\nid: 1970,\nname: \"赤水\",\nabbr: \"CS\",\narea_code: \"520381\",\nsort: 9999,\nlatitude: 28.587057,\nlongitude: 105.698112,\nis_map: true,\npinyin: \"chishui\"\n},\n{\nid: 1992,\nname: \"册亨\",\nabbr: \"CH\",\narea_code: \"522327\",\nsort: 9999,\nlatitude: 24.983337,\nlongitude: 105.812408,\nis_map: true,\npinyin: \"ceheng\"\n},\n{\nid: 1999,\nname: \"岑巩\",\nabbr: \"CG\",\narea_code: \"522626\",\nsort: 9999,\nlatitude: 27.173244,\nlongitude: 108.81646,\nis_map: true,\npinyin: \"cengong\"\n},\n{\nid: 2006,\nname: \"从江\",\nabbr: \"CJ\",\narea_code: \"522633\",\nsort: 9999,\nlatitude: 25.747059,\nlongitude: 108.912651,\nis_map: true,\npinyin: \"congjiang\"\n},\n{\nid: 2018,\nname: \"长顺\",\nabbr: \"CS\",\narea_code: \"522729\",\nsort: 9999,\nlatitude: 26.022116,\nlongitude: 106.447372,\nis_map: true,\npinyin: \"changshun\"\n},\n{\nid: 2031,\nname: \"澄江\",\nabbr: \"CJ\",\narea_code: \"530422\",\nsort: 9999,\nlatitude: 24.66968,\nlongitude: 102.916649,\nis_map: true,\npinyin: \"chengjiang\"\n},\n{\nid: 2040,\nname: \"昌宁\",\nabbr: \"CN\",\narea_code: \"530524\",\nsort: 9999,\nlatitude: 24.823662,\nlongitude: 99.612343,\nis_map: true,\npinyin: \"changning\"\n},\n{\nid: 2070,\nname: \"沧源佤族自治县\",\nabbr: \"CYWZZZX\",\narea_code: \"530927\",\nsort: 9999,\nlatitude: 23.146887,\nlongitude: 99.247398,\nis_map: true,\npinyin: \"cangyuanwazuzizhixian\"\n},\n{\nid: 2151,\nname: \"昌都地区\",\nabbr: \"CDDQ\",\narea_code: \"542100\",\nsort: 9999,\nlatitude: 31.136875,\nlongitude: 97.178452,\nis_map: true,\npinyin: \"changdudiqu\"\n},\n{\nid: 2232,\nname: \"澄城\",\nabbr: \"CC\",\narea_code: \"610525\",\nsort: 9999,\nlatitude: 35.183998,\nlongitude: 109.937607,\nis_map: true,\npinyin: \"chengcheng\"\n},\n{\nid: 2425,\nname: \"昌吉回族自治州\",\nabbr: \"CJHZZZZ\",\narea_code: \"652300\",\nsort: 9999,\nlatitude: 44.014576,\nlongitude: 87.304008,\nis_map: true,\npinyin: \"changjihuizuzizhizhou\"\n},\n{\nid: 5042,\nname: \"曹妃甸区\",\nabbr: \"CFD\",\narea_code: \"130209\",\nsort: 9999,\nlatitude: 39.273129,\nlongitude: 118.460228,\nis_map: true,\npinyin: \"caofeidianqu\"\n},\n{\nid: 5647,\nname: \"潮阳区\",\nabbr: \"CYQ\",\narea_code: \"440513\",\nsort: 9999,\nlatitude: 23.262337,\nlongitude: 116.6026,\nis_map: true,\npinyin: \"chaoyangqu\"\n},\n{\nid: 5687,\nname: \"城中区\",\nabbr: \"CZQ\",\narea_code: \"450202\",\nsort: 9999,\nlatitude: 0,\nlongitude: 0,\nis_map: true,\npinyin: \"chengzhongqu\"\n},\n{\nid: 5813,\nname: \"呈贡区\",\nabbr: \"CGQ\",\narea_code: \"530114\",\nsort: 9999,\nlatitude: 24.889275,\nlongitude: 102.801384,\nis_map: true,\npinyin: \"chenggongqu\"\n}\n],\nF: [\n{\nid: 24,\nname: \"佛山\",\nabbr: \"FS\",\narea_code: \"0757\",\nsort: 23,\nlatitude: 23.021851,\nlongitude: 113.121918,\nis_map: true,\npinyin: \"foshan\"\n},\n{\nid: 9,\nname: \"福州\",\nabbr: \"FZ\",\narea_code: \"0591\",\nsort: 2000,\nlatitude: 26.074209,\nlongitude: 119.296471,\nis_map: true,\npinyin: \"fuzhou\"\n},\n{\nid: 108,\nname: \"抚顺\",\nabbr: \"FS\",\narea_code: \"0413\",\nsort: 2000,\nlatitude: 41.879711,\nlongitude: 123.957222,\nis_map: true,\npinyin: \"fushun\"\n},\n{\nid: 118,\nname: \"阜新\",\nabbr: \"FX\",\narea_code: \"0418\",\nsort: 2000,\nlatitude: 42.02166,\nlongitude: 121.670113,\nis_map: true,\npinyin: \"fuxin\"\n},\n{\nid: 195,\nname: \"阜阳\",\nabbr: \"FY\",\narea_code: \"0558\",\nsort: 2000,\nlatitude: 32.889629,\nlongitude: 115.814949,\nis_map: true,\npinyin: \"fuyang\"\n},\n{\nid: 219,\nname: \"抚州\",\nabbr: \"FZ\",\narea_code: \"0794\",\nsort: 2000,\nlatitude: 27.947809,\nlongitude: 116.358093,\nis_map: true,\npinyin: \"fuzhou\"\n},\n{\nid: 429,\nname: \"涪陵\",\nabbr: \"FL\",\narea_code: \"10007\",\nsort: 2000,\nlatitude: 29.70315,\nlongitude: 107.389816,\nis_map: true,\npinyin: \"fuling\"\n},\n{\nid: 459,\nname: \"肥东\",\nabbr: \"FD\",\narea_code: \"200005\",\nsort: 2000,\nlatitude: 31.887699,\nlongitude: 117.469276,\nis_map: true,\npinyin: \"feidong\"\n},\n{\nid: 460,\nname: \"肥西\",\nabbr: \"FX\",\narea_code: \"200006\",\nsort: 2000,\nlatitude: 31.70653,\nlongitude: 117.158401,\nis_map: true,\npinyin: \"feixi\"\n},\n{\nid: 468,\nname: \"阜南\",\nabbr: \"FN\",\narea_code: \"200014\",\nsort: 2000,\nlatitude: 32.658871,\nlongitude: 115.593193,\nis_map: true,\npinyin: \"funan\"\n},\n{\nid: 475,\nname: \"凤台\",\nabbr: \"FT\",\narea_code: \"200021\",\nsort: 2000,\nlatitude: 32.709461,\nlongitude: 116.71077,\nis_map: true,\npinyin: \"fengtai\"\n},\n{\nid: 490,\nname: \"凤阳\",\nabbr: \"FY\",\narea_code: \"200036\",\nsort: 2000,\nlatitude: 32.866001,\nlongitude: 117.561241,\nis_map: true,\npinyin: \"fengyang\"\n},\n{\nid: 497,\nname: \"福清\",\nabbr: \"FQ\",\narea_code: \"200043\",\nsort: 2000,\nlatitude: 25.72024,\nlongitude: 119.384109,\nis_map: true,\npinyin: \"fuqing\"\n},\n{\nid: 500,\nname: \"福安\",\nabbr: \"FA\",\narea_code: \"200046\",\nsort: 2000,\nlatitude: 27.087971,\nlongitude: 119.647682,\nis_map: true,\npinyin: \"fuan\"\n},\n{\nid: 504,\nname: \"福鼎\",\nabbr: \"FD\",\narea_code: \"200050\",\nsort: 2000,\nlatitude: 27.32436,\nlongitude: 120.216713,\nis_map: true,\npinyin: \"fuding\"\n},\n{\nid: 635,\nname: \"方城\",\nabbr: \"FC\",\narea_code: \"200181\",\nsort: 2000,\nlatitude: 33.254391,\nlongitude: 113.01255,\nis_map: true,\npinyin: \"fangcheng\"\n},\n{\nid: 667,\nname: \"封丘\",\nabbr: \"FQ\",\narea_code: \"200213\",\nsort: 2000,\nlatitude: 35.041191,\nlongitude: 114.41861,\nis_map: true,\npinyin: \"fengqiu\"\n},\n{\nid: 680,\nname: \"扶沟\",\nabbr: \"FG\",\narea_code: \"200226\",\nsort: 2000,\nlatitude: 34.060001,\nlongitude: 114.394821,\nis_map: true,\npinyin: \"fugou\"\n},\n{\nid: 708,\nname: \"富锦\",\nabbr: \"FJ\",\narea_code: \"200254\",\nsort: 2000,\nlatitude: 47.250221,\nlongitude: 132.037277,\nis_map: true,\npinyin: \"fujin\"\n},\n{\nid: 811,\nname: \"抚松\",\nabbr: \"FS\",\narea_code: \"200357\",\nsort: 2000,\nlatitude: 42.342018,\nlongitude: 127.280357,\nis_map: true,\npinyin: \"fusong\"\n},\n{\nid: 821,\nname: \"扶余\",\nabbr: \"FY\",\narea_code: \"200367\",\nsort: 2000,\nlatitude: 44.990139,\nlongitude: 126.049721,\nis_map: true,\npinyin: \"fuyu\"\n},\n{\nid: 840,\nname: \"丰县\",\nabbr: \"FX\",\narea_code: \"200386\",\nsort: 2000,\nlatitude: 34.693958,\nlongitude: 116.595322,\nis_map: true,\npinyin: \"fengxian\"\n},\n{\nid: 848,\nname: \"阜宁\",\nabbr: \"FN\",\narea_code: \"200394\",\nsort: 2000,\nlatitude: 33.759312,\nlongitude: 119.802582,\nis_map: true,\npinyin: \"funing\"\n},\n{\nid: 871,\nname: \"丰城\",\nabbr: \"FC\",\narea_code: \"200417\",\nsort: 2000,\nlatitude: 28.159201,\nlongitude: 115.77121,\nis_map: true,\npinyin: \"fengcheng\"\n},\n{\nid: 884,\nname: \"浮梁\",\nabbr: \"FL\",\narea_code: \"200430\",\nsort: 2000,\nlatitude: 29.351589,\nlongitude: 117.215233,\nis_map: true,\npinyin: \"fuliang\"\n},\n{\nid: 904,\nname: \"凤城\",\nabbr: \"FC\",\narea_code: \"200450\",\nsort: 2000,\nlatitude: 40.452789,\nlongitude: 124.066048,\nis_map: true,\npinyin: \"fengcheng\"\n},\n{\nid: 934,\nname: \"费县\",\nabbr: \"FX\",\narea_code: \"200480\",\nsort: 2000,\nlatitude: 35.26659,\nlongitude: 117.977112,\nis_map: true,\npinyin: \"feixian\"\n},\n{\nid: 935,\nname: \"肥城\",\nabbr: \"FC\",\narea_code: \"200481\",\nsort: 2000,\nlatitude: 36.182449,\nlongitude: 116.769173,\nis_map: true,\npinyin: \"feicheng\"\n},\n{\nid: 1030,\nname: \"富顺\",\nabbr: \"FS\",\narea_code: \"200576\",\nsort: 2000,\nlatitude: 29.181271,\nlongitude: 104.974953,\nis_map: true,\npinyin: \"fushun\"\n},\n{\nid: 1060,\nname: \"富源\",\nabbr: \"FY\",\narea_code: \"200606\",\nsort: 2000,\nlatitude: 25.674219,\nlongitude: 104.254852,\nis_map: true,\npinyin: \"fuyuan\"\n},\n{\nid: 1087,\nname: \"富阳\",\nabbr: \"FY\",\narea_code: \"200633\",\nsort: 2000,\nlatitude: 30.048849,\nlongitude: 119.960426,\nis_map: true,\npinyin: \"fuyang\"\n},\n{\nid: 1102,\nname: \"奉化\",\nabbr: \"FH\",\narea_code: \"200648\",\nsort: 2000,\nlatitude: 29.655029,\nlongitude: 121.40686,\nis_map: true,\npinyin: \"fenghua\"\n},\n{\nid: 1122,\nname: \"奉节\",\nabbr: \"FJ\",\narea_code: \"200668\",\nsort: 2000,\nlatitude: 31.018459,\nlongitude: 109.464058,\nis_map: true,\npinyin: \"fengjie\"\n},\n{\nid: 1131,\nname: \"丰都\",\nabbr: \"FD\",\narea_code: \"200677\",\nsort: 2000,\nlatitude: 29.86352,\nlongitude: 107.73085,\nis_map: true,\npinyin: \"fengdu\"\n},\n{\nid: 1151,\nname: \"繁昌\",\nabbr: \"FC\",\narea_code: \"340222\",\nsort: 9999,\nlatitude: 31.082911,\nlongitude: 118.199341,\nis_map: true,\npinyin: \"fanchang\"\n},\n{\nid: 1180,\nname: \"抚宁\",\nabbr: \"FN\",\narea_code: \"130323\",\nsort: 9999,\nlatitude: 39.887054,\nlongitude: 119.240654,\nis_map: true,\npinyin: \"funing\"\n},\n{\nid: 1184,\nname: \"肥乡\",\nabbr: \"FX\",\narea_code: \"130428\",\nsort: 9999,\nlatitude: 36.555779,\nlongitude: 114.805153,\nis_map: true,\npinyin: \"feixiang\"\n},\n{\nid: 1204,\nname: \"阜平\",\nabbr: \"FP\",\narea_code: \"130624\",\nsort: 9999,\nlatitude: 38.847275,\nlongitude: 114.198799,\nis_map: true,\npinyin: \"fuping\"\n},\n{\nid: 1235,\nname: \"丰宁满族自治县\",\nabbr: \"FNMZZZX\",\narea_code: \"130826\",\nsort: 9999,\nlatitude: 41.209904,\nlongitude: 116.651207,\nis_map: true,\npinyin: \"fengningmanzuzizhixian\"\n},\n{\nid: 1254,\nname: \"阜城\",\nabbr: \"FC\",\narea_code: \"131128\",\nsort: 9999,\nlatitude: 37.869946,\nlongitude: 116.164726,\nis_map: true,\npinyin: \"fucheng\"\n},\n{\nid: 1308,\nname: \"繁峙县\",\nabbr: \"FZX\",\narea_code: \"140924\",\nsort: 9999,\nlatitude: 39.2663,\nlongitude: 113.559258,\nis_map: true,\npinyin: \"fanzhi\"\n},\n{\nid: 1342,\nname: \"汾阳\",\nabbr: \"FY\",\narea_code: \"141182\",\nsort: 9999,\nlatitude: 37.267742,\nlongitude: 111.785271,\nis_map: true,\npinyin: \"fenyang\"\n},\n{\nid: 1396,\nname: \"丰镇\",\nabbr: \"FZ\",\narea_code: \"150981\",\nsort: 9999,\nlatitude: 40.437534,\nlongitude: 113.16346,\nis_map: true,\npinyin: \"fengzhen\"\n},\n{\nid: 1420,\nname: \"法库县\",\nabbr: \"FKX\",\narea_code: \"210124\",\nsort: 9999,\nlatitude: 42.507046,\nlongitude: 123.416725,\nis_map: true,\npinyin: \"faku\"\n},\n{\nid: 1433,\nname: \"阜新蒙古族自治县\",\nabbr: \"FXMGZZZX\",\narea_code: \"210921\",\nsort: 9999,\nlatitude: 42.058605,\nlongitude: 121.743126,\nis_map: true,\npinyin: \"fuxinmengguzuzizhixian\"\n},\n{\nid: 1465,\nname: \"方正\",\nabbr: \"FZ\",\narea_code: \"230124\",\nsort: 9999,\nlatitude: 45.839535,\nlongitude: 128.836136,\nis_map: true,\npinyin: \"fangzheng\"\n},\n{\nid: 1473,\nname: \"富裕\",\nabbr: \"FY\",\narea_code: \"230227\",\nsort: 9999,\nlatitude: 47.797173,\nlongitude: 124.469109,\nis_map: true,\npinyin: \"fuyu\"\n},\n{\nid: 1494,\nname: \"抚远\",\nabbr: \"FY\",\narea_code: \"230833\",\nsort: 9999,\nlatitude: 48.364708,\nlongitude: 134.294495,\nis_map: true,\npinyin: \"fuyuan\"\n},\n{\nid: 1584,\nname: \"分宜\",\nabbr: \"FY\",\narea_code: \"360521\",\nsort: 9999,\nlatitude: 27.8113,\nlongitude: 114.675262,\nis_map: true,\npinyin: \"fenyi\"\n},\n{\nid: 1602,\nname: \"奉新\",\nabbr: \"FX\",\narea_code: \"360921\",\nsort: 9999,\nlatitude: 28.700672,\nlongitude: 115.3899,\nis_map: true,\npinyin: \"fengxin\"\n},\n{\nid: 1659,\nname: \"范县\",\nabbr: \"FX\",\narea_code: \"410926\",\nsort: 9999,\nlatitude: 35.851955,\nlongitude: 115.504204,\nis_map: true,\npinyin: \"fanxian\"\n},\n{\nid: 1748,\nname: \"丰顺\",\nabbr: \"FS\",\narea_code: \"441423\",\nsort: 9999,\nlatitude: 23.752771,\nlongitude: 116.184418,\nis_map: true,\npinyin: \"fengshun\"\n},\n{\nid: 1757,\nname: \"佛冈县\",\nabbr: \"FG\",\narea_code: \"441821\",\nsort: 9999,\nlatitude: 23.866739,\nlongitude: 113.534096,\nis_map: true,\npinyin: \"fogang\"\n},\n{\nid: 1794,\nname: \"防城港\",\nabbr: \"FCG\",\narea_code: \"450600\",\nsort: 9999,\nlatitude: 21.6138,\nlongitude: 108.33799,\nis_map: true,\npinyin: \"fangchenggang\"\n},\n{\nid: 1816,\nname: \"富川瑶族自治县\",\nabbr: \"FCYZZZX\",\narea_code: \"451123\",\nsort: 9999,\nlatitude: 24.81896,\nlongitude: 111.277229,\nis_map: true,\npinyin: \"fuchuanyaozuzizhixian\"\n},\n{\nid: 1820,\nname: \"凤山\",\nabbr: \"FS\",\narea_code: \"451223\",\nsort: 9999,\nlatitude: 24.544561,\nlongitude: 107.044594,\nis_map: true,\npinyin: \"fengshan\"\n},\n{\nid: 1833,\nname: \"扶绥\",\nabbr: \"FS\",\narea_code: \"451421\",\nsort: 9999,\nlatitude: 22.63582,\nlongitude: 107.91153,\nis_map: true,\npinyin: \"fusui\"\n},\n{\nid: 1966,\nname: \"凤冈\",\nabbr: \"FG\",\narea_code: \"520327\",\nsort: 9999,\nlatitude: 27.960857,\nlongitude: 107.722023,\nis_map: true,\npinyin: \"fenggang\"\n},\n{\nid: 2011,\nname: \"福泉\",\nabbr: \"FQ\",\narea_code: \"522702\",\nsort: 9999,\nlatitude: 26.702509,\nlongitude: 107.513512,\nis_map: true,\npinyin: \"fuquan\"\n},\n{\nid: 2023,\nname: \"富民\",\nabbr: \"FM\",\narea_code: \"530124\",\nsort: 9999,\nlatitude: 25.219667,\nlongitude: 102.497887,\nis_map: true,\npinyin: \"fumin\"\n},\n{\nid: 2064,\nname: \"凤庆\",\nabbr: \"FQ\",\narea_code: \"530921\",\nsort: 9999,\nlatitude: 24.592737,\nlongitude: 99.918709,\nis_map: true,\npinyin: \"fengqing\"\n},\n{\nid: 2096,\nname: \"富宁\",\nabbr: \"FN\",\narea_code: \"532628\",\nsort: 9999,\nlatitude: 23.626493,\nlongitude: 105.628563,\nis_map: true,\npinyin: \"funing\"\n},\n{\nid: 2119,\nname: \"福贡\",\nabbr: \"FG\",\narea_code: \"533323\",\nsort: 9999,\nlatitude: 26.902739,\nlongitude: 98.867416,\nis_map: true,\npinyin: \"fugong\"\n},\n{\nid: 2235,\nname: \"富平\",\nabbr: \"FP\",\narea_code: \"610528\",\nsort: 9999,\nlatitude: 34.746677,\nlongitude: 109.187172,\nis_map: true,\npinyin: \"fuping\"\n},\n{\nid: 2260,\nname: \"府谷\",\nabbr: \"FG\",\narea_code: \"610822\",\nsort: 9999,\nlatitude: 39.029243,\nlongitude: 111.069649,\nis_map: true,\npinyin: \"fugu\"\n},\n{\nid: 5199,\nname: \"富拉尔基区\",\nabbr: \"FLEJQ\",\narea_code: \"230206\",\nsort: 9999,\nlatitude: 47.20697,\nlongitude: 123.63887,\nis_map: true,\npinyin: \"fulaerjiqu\"\n}\n],\nY: [\n{\nid: 339,\nname: \"营口\",\nabbr: \"YK\",\narea_code: \"04171\",\nsort: 80,\nlatitude: 40.666828,\nlongitude: 122.234901,\nis_map: true,\npinyin: \"yingkou\"\n},\n{\nid: 421,\nname: \"云浮\",\nabbr: \"YF\",\narea_code: \"07662\",\nsort: 1900,\nlatitude: 22.915251,\nlongitude: 112.044533,\nis_map: true,\npinyin: \"yunfu\"\n},\n{\nid: 22,\nname: \"扬州\",\nabbr: \"YZ\",\narea_code: \"0514\",\nsort: 2000,\nlatitude: 32.393581,\nlongitude: 119.412689,\nis_map: true,\npinyin: \"yangzhou\"\n},\n{\nid: 71,\nname: \"盐城\",\nabbr: \"YC\",\narea_code: \"0515\",\nsort: 2000,\nlatitude: 33.34951,\nlongitude: 120.161636,\nis_map: true,\npinyin: \"yancheng\"\n},\n{\nid: 77,\nname: \"烟台\",\nabbr: \"YT\",\narea_code: \"0535\",\nsort: 2000,\nlatitude: 37.463531,\nlongitude: 121.448013,\nis_map: true,\npinyin: \"yantai\"\n},\n{\nid: 80,\nname: \"宜昌\",\nabbr: \"YC\",\narea_code: \"0717\",\nsort: 2000,\nlatitude: 30.69186,\nlongitude: 111.286423,\nis_map: true,\npinyin: \"yichang\"\n},\n{\nid: 103,\nname: \"宜宾\",\nabbr: \"YB\",\narea_code: \"0831\",\nsort: 2000,\nlatitude: 28.751301,\nlongitude: 104.641701,\nis_map: true,\npinyin: \"yibin\"\n},\n{\nid: 119,\nname: \"益阳\",\nabbr: \"YY\",\narea_code: \"0737\",\nsort: 2000,\nlatitude: 28.553909,\nlongitude: 112.355164,\nis_map: true,\npinyin: \"yiyang\"\n},\n{\nid: 124,\nname: \"岳阳\",\nabbr: \"YY\",\narea_code: \"0730\",\nsort: 2000,\nlatitude: 29.357281,\nlongitude: 113.129189,\nis_map: true,\npinyin: \"yueyang\"\n},\n{\nid: 128,\nname: \"宜春\",\nabbr: \"YC\",\narea_code: \"0795\",\nsort: 2000,\nlatitude: 27.81443,\nlongitude: 114.416122,\nis_map: true,\npinyin: \"yichun\"\n},\n{\nid: 166,\nname: \"运城\",\nabbr: \"YC\",\narea_code: \"0359\",\nsort: 2000,\nlatitude: 35.026279,\nlongitude: 111.006989,\nis_map: true,\npinyin: \"yuncheng\"\n},\n{\nid: 167,\nname: \"延边\",\nabbr: \"YBZXZZZZ\",\narea_code: \"0433\",\nsort: 2000,\nlatitude: 42.89119,\nlongitude: 129.509094,\nis_map: true,\npinyin: \"yan bian\"\n},\n{\nid: 176,\nname: \"永州\",\nabbr: \"YZ\",\narea_code: \"0746\",\nsort: 2000,\nlatitude: 26.42034,\nlongitude: 111.612251,\nis_map: true,\npinyin: \"yongzhou\"\n},\n{\nid: 191,\nname: \"义乌\",\nabbr: \"YW\",\narea_code: \"579\",\nsort: 2000,\nlatitude: 29.30558,\nlongitude: 120.074677,\nis_map: true,\npinyin: \"yiwu\"\n},\n{\nid: 194,\nname: \"银川\",\nabbr: \"YC\",\narea_code: \"0951\",\nsort: 2000,\nlatitude: 38.486439,\nlongitude: 106.232483,\nis_map: true,\npinyin: \"yinchuan\"\n},\n{\nid: 202,\nname: \"阳江\",\nabbr: \"YJ\",\narea_code: \"0662\",\nsort: 2000,\nlatitude: 21.85829,\nlongitude: 111.982559,\nis_map: true,\npinyin: \"yangjiang\"\n},\n{\nid: 240,\nname: \"雅安\",\nabbr: \"YA\",\narea_code: \"0835\",\nsort: 2000,\nlatitude: 30.01543,\nlongitude: 103.039803,\nis_map: true,\npinyin: \"yaan\"\n},\n{\nid: 242,\nname: \"延安\",\nabbr: \"YA\",\narea_code: \"0911\",\nsort: 2000,\nlatitude: 36.585289,\nlongitude: 109.489777,\nis_map: true,\npinyin: \"yanan\"\n},\n{\nid: 254,\nname: \"玉林\",\nabbr: \"YL\",\narea_code: \"0775\",\nsort: 2000,\nlatitude: 22.65451,\nlongitude: 110.180977,\nis_map: true,\npinyin: \"yulin\"\n},\n{\nid: 292,\nname: \"玉溪\",\nabbr: \"YX\",\narea_code: \"0877\",\nsort: 2000,\nlatitude: 24.351931,\nlongitude: 102.5466,\nis_map: true,\npinyin: \"yuxi\"\n},\n{\nid: 297,\nname: \"宜州\",\nabbr: \"YZ\",\narea_code: \"0778\",\nsort: 2000,\nlatitude: 24.48513,\nlongitude: 108.636559,\nis_map: true,\npinyin: \"yizhou\"\n},\n{\nid: 307,\nname: \"榆林\",\nabbr: \"YL\",\narea_code: \"0912\",\nsort: 2000,\nlatitude: 38.285198,\nlongitude: 109.734581,\nis_map: true,\npinyin: \"yulin\"\n},\n{\nid: 335,\nname: \"伊宁市\",\nabbr: \"YNS\",\narea_code: \"0999\",\nsort: 2000,\nlatitude: 43.9095,\nlongitude: 81.277252,\nis_map: true,\npinyin: \"yiningshi\"\n},\n{\nid: 450,\nname: \"永川\",\nabbr: \"YC\",\narea_code: \"10028\",\nsort: 2000,\nlatitude: 29.356001,\nlongitude: 105.927094,\nis_map: true,\npinyin: \"yongchuan\"\n},\n{\nid: 451,\nname: \"渝北\",\nabbr: \"YB\",\narea_code: \"10029\",\nsort: 2000,\nlatitude: 29.717979,\nlongitude: 106.630432,\nis_map: true,\npinyin: \"yubei\"\n},\n{\nid: 452,\nname: \"渝中\",\nabbr: \"YZ\",\narea_code: \"10030\",\nsort: 2000,\nlatitude: 29.553141,\nlongitude: 106.568604,\nis_map: true,\npinyin: \"yuzhong\"\n},\n{\nid: 457,\nname: \"颍上\",\nabbr: \"YS\",\narea_code: \"200003\",\nsort: 2000,\nlatitude: 32.628929,\nlongitude: 116.264549,\nis_map: true,\npinyin: \"yingshang\"\n},\n{\nid: 494,\nname: \"延庆\",\nabbr: \"YQ\",\narea_code: \"200040\",\nsort: 2000,\nlatitude: 40.456779,\nlongitude: 115.975029,\nis_map: true,\npinyin: \"yanqing\"\n},\n{\nid: 506,\nname: \"永春\",\nabbr: \"YC\",\narea_code: \"200052\",\nsort: 2000,\nlatitude: 25.32188,\nlongitude: 118.294243,\nis_map: true,\npinyin: \"yongchun\"\n},\n{\nid: 507,\nname: \"永安\",\nabbr: \"YA\",\narea_code: \"200053\",\nsort: 2000,\nlatitude: 25.94138,\nlongitude: 117.365181,\nis_map: true,\npinyin: \"yongan\"\n},\n{\nid: 515,\nname: \"云霄\",\nabbr: \"YX\",\narea_code: \"200061\",\nsort: 2000,\nlatitude: 23.958059,\nlongitude: 117.339653,\nis_map: true,\npinyin: \"yunxiao\"\n},\n{\nid: 521,\nname: \"尤溪\",\nabbr: \"YX\",\narea_code: \"200067\",\nsort: 2000,\nlatitude: 26.17004,\nlongitude: 118.190491,\nis_map: true,\npinyin: \"youxi\"\n},\n{\nid: 548,\nname: \"英德\",\nabbr: \"YD\",\narea_code: \"200094\",\nsort: 2000,\nlatitude: 24.18572,\nlongitude: 113.415047,\nis_map: true,\npinyin: \"yingde\"\n},\n{\nid: 556,\nname: \"阳春\",\nabbr: \"YC\",\narea_code: \"200102\",\nsort: 2000,\nlatitude: 22.1703,\nlongitude: 111.791527,\nis_map: true,\npinyin: \"yangchun\"\n},\n{\nid: 565,\nname: \"阳东\",\nabbr: \"YD\",\narea_code: \"200111\",\nsort: 2000,\nlatitude: 21.86829,\nlongitude: 112.006699,\nis_map: true,\npinyin: \"yangdong\"\n},\n{\nid: 589,\nname: \"永年\",\nabbr: \"YN\",\narea_code: \"200135\",\nsort: 2000,\nlatitude: 36.77771,\nlongitude: 114.490952,\nis_map: true,\npinyin: \"yongnian\"\n},\n{\nid: 591,\nname: \"玉田\",\nabbr: \"YT\",\narea_code: \"200137\",\nsort: 2000,\nlatitude: 39.900501,\nlongitude: 117.738808,\nis_map: true,\npinyin: \"yutian\"\n},\n{\nid: 617,\nname: \"盐山\",\nabbr: \"YS\",\narea_code: \"200163\",\nsort: 2000,\nlatitude: 38.0583,\nlongitude: 117.230247,\nis_map: true,\npinyin: \"yanshan\"\n},\n{\nid: 623,\nname: \"永城\",\nabbr: \"YC\",\narea_code: \"200169\",\nsort: 2000,\nlatitude: 33.92915,\nlongitude: 116.449463,\nis_map: true,\npinyin: \"yongcheng\"\n},\n{\nid: 624,\nname: \"禹州\",\nabbr: \"YZ\",\narea_code: \"200170\",\nsort: 2000,\nlatitude: 34.14048,\nlongitude: 113.487938,\nis_map: true,\npinyin: \"yuzhou\"\n},\n{\nid: 640,\nname: \"偃师\",\nabbr: \"YS\",\narea_code: \"200186\",\nsort: 2000,\nlatitude: 34.727631,\nlongitude: 112.78965,\nis_map: true,\npinyin: \"yanshi\"\n},\n{\nid: 645,\nname: \"虞城\",\nabbr: \"YC\",\narea_code: \"200191\",\nsort: 2000,\nlatitude: 34.397369,\nlongitude: 115.865189,\nis_map: true,\npinyin: \"yucheng\"\n},\n{\nid: 657,\nname: \"叶县\",\nabbr: \"YX\",\narea_code: \"200203\",\nsort: 2000,\nlatitude: 33.626831,\nlongitude: 113.357368,\nis_map: true,\npinyin: \"yexian\"\n},\n{\nid: 678,\nname: \"伊川\",\nabbr: \"YC\",\narea_code: \"200224\",\nsort: 2000,\nlatitude: 34.421349,\nlongitude: 112.425682,\nis_map: true,\npinyin: \"yichuan\"\n},\n{\nid: 685,\nname: \"鄢陵\",\nabbr: \"YL\",\narea_code: \"200231\",\nsort: 2000,\nlatitude: 34.102329,\nlongitude: 114.177391,\nis_map: true,\npinyin: \"yanling\"\n},\n{\nid: 692,\nname: \"原阳\",\nabbr: \"YY\",\narea_code: \"200238\",\nsort: 2000,\nlatitude: 35.065689,\nlongitude: 113.939972,\nis_map: true,\npinyin: \"yuanyang\"\n},\n{\nid: 696,\nname: \"伊春\",\nabbr: \"YC\",\narea_code: \"200242\",\nsort: 2000,\nlatitude: 47.72752,\nlongitude: 128.840485,\nis_map: true,\npinyin: \"yichun\"\n},\n{\nid: 722,\nname: \"应城\",\nabbr: \"YC\",\narea_code: \"200268\",\nsort: 2000,\nlatitude: 30.928379,\nlongitude: 113.572922,\nis_map: true,\npinyin: \"yingcheng\"\n},\n{\nid: 727,\nname: \"阳新\",\nabbr: \"YX\",\narea_code: \"200273\",\nsort: 2000,\nlatitude: 29.830391,\nlongitude: 115.215302,\nis_map: true,\npinyin: \"yangxin\"\n},\n{\nid: 732,\nname: \"云梦\",\nabbr: \"YM\",\narea_code: \"200278\",\nsort: 2000,\nlatitude: 31.02103,\nlongitude: 113.753311,\nis_map: true,\npinyin: \"yunmeng\"\n},\n{\nid: 736,\nname: \"宜城\",\nabbr: \"YC\",\narea_code: \"200282\",\nsort: 2000,\nlatitude: 31.719761,\nlongitude: 112.257759,\nis_map: true,\npinyin: \"yicheng\"\n},\n{\nid: 743,\nname: \"郧县\",\nabbr: \"YX\",\narea_code: \"200289\",\nsort: 2000,\nlatitude: 32.834881,\nlongitude: 110.811974,\nis_map: true,\npinyin: \"yunxian\"\n},\n{\nid: 745,\nname: \"宜都\",\nabbr: \"YD\",\narea_code: \"200291\",\nsort: 2000,\nlatitude: 30.37846,\nlongitude: 111.450104,\nis_map: true,\npinyin: \"yidu\"\n},\n{\nid: 763,\nname: \"攸县\",\nabbr: \"YX\",\narea_code: \"200309\",\nsort: 2000,\nlatitude: 27.000231,\nlongitude: 113.345688,\nis_map: true,\npinyin: \"youxian\"\n},\n{\nid: 768,\nname: \"沅江\",\nabbr: \"YJ\",\narea_code: \"200314\",\nsort: 2000,\nlatitude: 28.844021,\nlongitude: 112.354683,\nis_map: true,\npinyin: \"yuanjiang\"\n},\n{\nid: 777,\nname: \"宜章\",\nabbr: \"YZ\",\narea_code: \"200323\",\nsort: 2000,\nlatitude: 25.39957,\nlongitude: 112.948868,\nis_map: true,\npinyin: \"yizhang\"\n},\n{\nid: 786,\nname: \"永兴\",\nabbr: \"YX\",\narea_code: \"200332\",\nsort: 2000,\nlatitude: 26.127199,\nlongitude: 113.116592,\nis_map: true,\npinyin: \"yongxing\"\n},\n{\nid: 794,\nname: \"沅陵\",\nabbr: \"YL\",\narea_code: \"200340\",\nsort: 2000,\nlatitude: 28.45277,\nlongitude: 110.393883,\nis_map: true,\npinyin: \"yuanling\"\n},\n{\nid: 802,\nname: \"永顺\",\nabbr: \"YS\",\narea_code: \"200348\",\nsort: 2000,\nlatitude: 29.00515,\nlongitude: 109.848068,\nis_map: true,\npinyin: \"yongshun\"\n},\n{\nid: 805,\nname: \"榆树\",\nabbr: \"YS\",\narea_code: \"200351\",\nsort: 2000,\nlatitude: 44.83989,\nlongitude: 126.532997,\nis_map: true,\npinyin: \"yushu\"\n},\n{\nid: 862,\nname: \"仪征\",\nabbr: \"YZ\",\narea_code: \"200408\",\nsort: 2000,\nlatitude: 32.27203,\nlongitude: 119.184441,\nis_map: true,\npinyin: \"yizheng\"\n},\n{\nid: 866,\nname: \"扬中\",\nabbr: \"YZ\",\narea_code: \"200412\",\nsort: 2000,\nlatitude: 32.237019,\nlongitude: 119.796822,\nis_map: true,\npinyin: \"yangzhong\"\n},\n{\nid: 875,\nname: \"余干\",\nabbr: \"YG\",\narea_code: \"200421\",\nsort: 2000,\nlatitude: 28.70211,\nlongitude: 116.695602,\nis_map: true,\npinyin: \"yugan\"\n},\n{\nid: 877,\nname: \"于都\",\nabbr: \"YD\",\narea_code: \"200423\",\nsort: 2000,\nlatitude: 25.951839,\nlongitude: 115.415443,\nis_map: true,\npinyin: \"yudu\"\n},\n{\nid: 878,\nname: \"玉山\",\nabbr: \"YS\",\narea_code: \"200424\",\nsort: 2000,\nlatitude: 28.68194,\nlongitude: 118.244812,\nis_map: true,\npinyin: \"yushan\"\n},\n{\nid: 879,\nname: \"铅山\",\nabbr: \"YS\",\narea_code: \"200425\",\nsort: 2000,\nlatitude: 28.31535,\nlongitude: 117.709419,\nis_map: true,\npinyin: \"yanshan\"\n},\n{\nid: 886,\nname: \"永新\",\nabbr: \"YX\",\narea_code: \"200432\",\nsort: 2000,\nlatitude: 26.944981,\nlongitude: 114.243073,\nis_map: true,\npinyin: \"yongxin\"\n},\n{\nid: 891,\nname: \"永修\",\nabbr: \"YX\",\narea_code: \"200437\",\nsort: 2000,\nlatitude: 29.020969,\nlongitude: 115.809158,\nis_map: true,\npinyin: \"yongxiu\"\n},\n{\nid: 915,\nname: \"牙克石\",\nabbr: \"YKS\",\narea_code: \"200461\",\nsort: 2000,\nlatitude: 49.285629,\nlongitude: 120.711739,\nis_map: true,\npinyin: \"yakeshi\"\n},\n{\nid: 930,\nname: \"沂水\",\nabbr: \"YS\",\narea_code: \"200476\",\nsort: 2000,\nlatitude: 35.79034,\nlongitude: 118.627823,\nis_map: true,\npinyin: \"yishui\"\n},\n{\nid: 936,\nname: \"郓城\",\nabbr: \"YC\",\narea_code: \"200482\",\nsort: 2000,\nlatitude: 35.599838,\nlongitude: 115.943642,\nis_map: true,\npinyin: \"yuncheng\"\n},\n{\nid: 941,\nname: \"沂南\",\nabbr: \"YN\",\narea_code: \"200487\",\nsort: 2000,\nlatitude: 35.550011,\nlongitude: 118.46566,\nis_map: true,\npinyin: \"yinan\"\n},\n{\nid: 946,\nname: \"兖州\",\nabbr: \"YZ\",\narea_code: \"200492\",\nsort: 2000,\nlatitude: 35.552601,\nlongitude: 116.785698,\nis_map: true,\npinyin: \"yanzhou\"\n},\n{\nid: 958,\nname: \"阳谷\",\nabbr: \"YG\",\narea_code: \"200504\",\nsort: 2000,\nlatitude: 36.114471,\nlongitude: 115.791313,\nis_map: true,\npinyin: \"yanggu\"\n},\n{\nid: 977,\nname: \"沂源\",\nabbr: \"YY\",\narea_code: \"200523\",\nsort: 2000,\nlatitude: 36.184879,\nlongitude: 118.170769,\nis_map: true,\npinyin: \"yiyuan\"\n},\n{\nid: 992,\nname: \"禹城\",\nabbr: \"YC\",\narea_code: \"200538\",\nsort: 2000,\nlatitude: 36.933941,\nlongitude: 116.63813,\nis_map: true,\npinyin: \"yucheng\"\n},\n{\nid: 995,\nname: \"阳泉\",\nabbr: \"YQ\",\narea_code: \"200541\",\nsort: 2000,\nlatitude: 37.856682,\nlongitude: 113.580467,\nis_map: true,\npinyin: \"yangquan\"\n},\n{\nid: 1002,\nname: \"原平\",\nabbr: \"YP\",\narea_code: \"200548\",\nsort: 2000,\nlatitude: 38.730511,\nlongitude: 112.710922,\nis_map: true,\npinyin: \"yuanping\"\n},\n{\nid: 1004,\nname: \"永济\",\nabbr: \"YJ\",\narea_code: \"200550\",\nsort: 2000,\nlatitude: 34.867161,\nlongitude: 110.447731,\nis_map: true,\npinyin: \"yongji\"\n},\n{\nid: 1013,\nname: \"仪陇\",\nabbr: \"YL\",\narea_code: \"200559\",\nsort: 2000,\nlatitude: 31.269979,\nlongitude: 106.303299,\nis_map: true,\npinyin: \"yilong\"\n},\n{\nid: 1039,\nname: \"营山\",\nabbr: \"YS\",\narea_code: \"200585\",\nsort: 2000,\nlatitude: 31.0767,\nlongitude: 106.565529,\nis_map: true,\npinyin: \"yingshan\"\n},\n{\nid: 1044,\nname: \"岳池\",\nabbr: \"YC\",\narea_code: \"200590\",\nsort: 2000,\nlatitude: 30.537951,\nlongitude: 106.43988,\nis_map: true,\npinyin: \"yuechi\"\n},\n{\nid: 1054,\nname: \"伊宁县\",\nabbr: \"YN\",\narea_code: \"200600\",\nsort: 2000,\nlatitude: 43.9095,\nlongitude: 81.277252,\nis_map: true,\npinyin: \"yining\"\n},\n{\nid: 1068,\nname: \"宜良\",\nabbr: \"YL\",\narea_code: \"200614\",\nsort: 2000,\nlatitude: 24.92005,\nlongitude: 103.14119,\nis_map: true,\npinyin: \"yiliang\"\n},\n{\nid: 1073,\nname: \"砚山\",\nabbr: \"YS\",\narea_code: \"200619\",\nsort: 2000,\nlatitude: 23.60586,\nlongitude: 104.33709,\nis_map: true,\npinyin: \"yanshan\"\n},\n{\nid: 1079,\nname: \"余姚\",\nabbr: \"YY\",\narea_code: \"200625\",\nsort: 2000,\nlatitude: 30.037109,\nlongitude: 121.15435,\nis_map: true,\npinyin: \"yuyao\"\n},\n{\nid: 1086,\nname: \"永嘉\",\nabbr: \"YJ\",\narea_code: \"200632\",\nsort: 2000,\nlatitude: 28.15336,\nlongitude: 120.691711,\nis_map: true,\npinyin: \"yongjia\"\n},\n{\nid: 1091,\nname: \"玉环\",\nabbr: \"YH\",\narea_code: \"200637\",\nsort: 2000,\nlatitude: 28.135889,\nlongitude: 121.231644,\nis_map: true,\npinyin: \"yuhuan\"\n},\n{\nid: 1092,\nname: \"永康\",\nabbr: \"YK\",\narea_code: \"200638\",\nsort: 2000,\nlatitude: 28.88851,\nlongitude: 120.04731,\nis_map: true,\npinyin: \"yongkang\"\n},\n{\nid: 1121,\nname: \"云阳\",\nabbr: \"YY\",\narea_code: \"200667\",\nsort: 2000,\nlatitude: 30.93063,\nlongitude: 108.696983,\nis_map: true,\npinyin: \"yunyang\"\n},\n{\nid: 354,\nname: \"宜兴\",\nabbr: \"YX\",\narea_code: \"05102\",\nsort: 9999,\nlatitude: 31.34042,\nlongitude: 119.823463,\nis_map: true,\npinyin: \"yixin\"\n},\n{\nid: 356,\nname: \"延吉\",\nabbr: \"YJ\",\narea_code: \"04331\",\nsort: 9999,\nlatitude: 42.891071,\nlongitude: 129.509094,\nis_map: true,\npinyin: \"yanji\"\n},\n{\nid: 384,\nname: \"鹰潭\",\nabbr: \"YT\",\narea_code: \"0701\",\nsort: 9999,\nlatitude: 28.260189,\nlongitude: 117.069191,\nis_map: true,\npinyin: \"yingtan\"\n},\n{\nid: 1211,\nname: \"易县\",\nabbr: \"YX\",\narea_code: \"130633\",\nsort: 9999,\nlatitude: 39.35297,\nlongitude: 115.501144,\nis_map: true,\npinyin: \"yixian\"\n},\n{\nid: 1222,\nname: \"蔚县\",\nabbr: \"YX\",\narea_code: \"130726\",\nsort: 9999,\nlatitude: 39.837181,\nlongitude: 114.582695,\nis_map: true,\npinyin: \"yuxian\"\n},\n{\nid: 1223,\nname: \"阳原\",\nabbr: \"YY\",\narea_code: \"130727\",\nsort: 9999,\nlatitude: 40.113419,\nlongitude: 114.167343,\nis_map: true,\npinyin: \"yangyuan\"\n},\n{\nid: 1246,\nname: \"永清\",\nabbr: \"YQ\",\narea_code: \"131023\",\nsort: 9999,\nlatitude: 39.319717,\nlongitude: 116.498093,\nis_map: true,\npinyin: \"yongqing\"\n},\n{\nid: 1271,\nname: \"盂县\",\nabbr: \"YX\",\narea_code: \"140322\",\nsort: 9999,\nlatitude: 38.086132,\nlongitude: 113.412231,\nis_map: true,\npinyin: \"yuxian\"\n},\n{\nid: 1370,\nname: \"伊金霍洛旗\",\nabbr: \"YJHLQ\",\narea_code: \"150627\",\nsort: 9999,\nlatitude: 39.604313,\nlongitude: 109.787399,\nis_map: true,\npinyin: \"yijinhuoluoqi\"\n},\n{\nid: 1430,\nname: \"义县\",\nabbr: \"YX\",\narea_code: \"210727\",\nsort: 9999,\nlatitude: 41.537224,\nlongitude: 121.242828,\nis_map: true,\npinyin: \"yixian\"\n},\n{\nid: 1445,\nname: \"永吉县\",\nabbr: \"YJX\",\narea_code: \"220221\",\nsort: 9999,\nlatitude: 43.667416,\nlongitude: 126.501625,\nis_map: true,\npinyin: \"yongji\"\n},\n{\nid: 1446,\nname: \"伊通满族自治县\",\nabbr: \"YTMZZZX\",\narea_code: \"220323\",\nsort: 9999,\nlatitude: 43.345463,\nlongitude: 125.303123,\nis_map: true,\npinyin: \"yitongmanzuzizhixian\"\n},\n{\nid: 1464,\nname: \"依兰\",\nabbr: \"YL\",\narea_code: \"230123\",\nsort: 9999,\nlatitude: 46.315105,\nlongitude: 129.565598,\nis_map: true,\npinyin: \"yilan\"\n},\n{\nid: 1470,\nname: \"依安\",\nabbr: \"YA\",\narea_code: \"230223\",\nsort: 9999,\nlatitude: 47.890099,\nlongitude: 125.307564,\nis_map: true,\npinyin: \"yian\"\n},\n{\nid: 1524,\nname: \"云和\",\nabbr: \"YH\",\narea_code: \"331125\",\nsort: 9999,\nlatitude: 28.111076,\nlongitude: 119.569458,\nis_map: true,\npinyin: \"yunhe\"\n},\n{\nid: 1585,\nname: \"余江县\",\nabbr: \"YJX\",\narea_code: \"360622\",\nsort: 9999,\nlatitude: 28.206177,\nlongitude: 116.822762,\nis_map: true,\npinyin: \"yujiang\"\n},\n{\nid: 1597,\nname: \"永丰\",\nabbr: \"YF\",\narea_code: \"360825\",\nsort: 9999,\nlatitude: 27.321087,\nlongitude: 115.435562,\nis_map: true,\npinyin: \"yongfeng\"\n},\n{\nid: 1605,\nname: \"宜丰\",\nabbr: \"YF\",\narea_code: \"360924\",\nsort: 9999,\nlatitude: 28.388288,\nlongitude: 114.787384,\nis_map: true,\npinyin: \"yifeng\"\n},\n{\nid: 1613,\nname: \"宜黄\",\nabbr: \"YH\",\narea_code: \"361026\",\nsort: 9999,\nlatitude: 27.546513,\nlongitude: 116.223022,\nis_map: true,\npinyin: \"yihuang\"\n},\n{\nid: 1619,\nname: \"弋阳\",\nabbr: \"YY\",\narea_code: \"361126\",\nsort: 9999,\nlatitude: 28.402391,\nlongitude: 117.435005,\nis_map: true,\npinyin: \"yiyang\"\n},\n{\nid: 1631,\nname: \"鱼台\",\nabbr: \"YT\",\narea_code: \"370827\",\nsort: 9999,\nlatitude: 34.997707,\nlongitude: 116.650024,\nis_map: true,\npinyin: \"yutai\"\n},\n{\nid: 1638,\nname: \"阳信县\",\nabbr: \"YXX\",\narea_code: \"371622\",\nsort: 9999,\nlatitude: 37.640491,\nlongitude: 117.581329,\nis_map: true,\npinyin: \"yangxin\"\n},\n{\nid: 1645,\nname: \"宜阳\",\nabbr: \"YY\",\narea_code: \"410327\",\nsort: 9999,\nlatitude: 34.516479,\nlongitude: 112.179993,\nis_map: true,\npinyin: \"yiyang\"\n},\n{\nid: 1654,\nname: \"延津\",\nabbr: \"YJ\",\narea_code: \"410726\",\nsort: 9999,\nlatitude: 35.149513,\nlongitude: 114.200981,\nis_map: true,\npinyin: \"yanjin\"\n},\n{\nid: 1666,\nname: \"义马\",\nabbr: \"YM\",\narea_code: \"411281\",\nsort: 9999,\nlatitude: 34.746868,\nlongitude: 111.869415,\nis_map: true,\npinyin: \"yima\"\n},\n{\nid: 1679,\nname: \"远安\",\nabbr: \"YA\",\narea_code: \"420525\",\nsort: 9999,\nlatitude: 31.059626,\nlongitude: 111.643311,\nis_map: true,\npinyin: \"yuanan\"\n},\n{\nid: 1701,\nname: \"炎陵县\",\nabbr: \"YLX\",\narea_code: \"430225\",\nsort: 9999,\nlatitude: 26.489458,\nlongitude: 113.776886,\nis_map: true,\npinyin: \"yanling\"\n},\n{\nid: 1709,\nname: \"岳阳\",\nabbr: \"YY\",\narea_code: \"430621\",\nsort: 9999,\nlatitude: 29.144842,\nlongitude: 113.116074,\nis_map: true,\npinyin: \"yueyang\"\n},\n{\nid: 1756,\nname: \"阳西\",\nabbr: \"YX\",\narea_code: \"441721\",\nsort: 9999,\nlatitude: 21.75367,\nlongitude: 111.617554,\nis_map: true,\npinyin: \"yangxi\"\n},\n{\nid: 1765,\nname: \"郁南\",\nabbr: \"YN\",\narea_code: \"445322\",\nsort: 9999,\nlatitude: 23.237709,\nlongitude: 111.535919,\nis_map: true,\npinyin: \"yunan\"\n},\n{\nid: 1778,\nname: \"阳朔\",\nabbr: \"YS\",\narea_code: \"450321\",\nsort: 9999,\nlatitude: 24.775339,\nlongitude: 110.494698,\nis_map: true,\npinyin: \"yangshuo\"\n},\n{\nid: 1782,\nname: \"永福\",\nabbr: \"YF\",\narea_code: \"450326\",\nsort: 9999,\nlatitude: 24.986692,\nlongitude: 109.989204,\nis_map: true,\npinyin: \"yongfu\"\n},\n{\nid: 1968,\nname: \"余庆\",\nabbr: \"YQ\",\narea_code: \"520329\",\nsort: 9999,\nlatitude: 27.221552,\nlongitude: 107.892563,\nis_map: true,\npinyin: \"yuqing\"\n},\n{\nid: 1979,\nname: \"玉屏侗族自治县\",\nabbr: \"YPDZZZX\",\narea_code: \"520622\",\nsort: 9999,\nlatitude: 27.238024,\nlongitude: 108.917885,\nis_map: true,\npinyin: \"yupingdongzuzizhixian\"\n},\n{\nid: 1982,\nname: \"印江土家族苗族自治县\",\nabbr: \"YJTJZMZZZX\",\narea_code: \"520625\",\nsort: 9999,\nlatitude: 27.997976,\nlongitude: 108.405518,\nis_map: true,\npinyin: \"yinjiangtujiazumiaozuzizhixian\"\n},\n{\nid: 1984,\nname: \"沿河土家族自治县\",\nabbr: \"YHTJZZZX\",\narea_code: \"520627\",\nsort: 9999,\nlatitude: 28.560488,\nlongitude: 108.495743,\nis_map: true,\npinyin: \"yanhetujiazuzizhixian\"\n},\n{\nid: 2010,\nname: \"元氏\",\nabbr: \"YS\",\narea_code: \"130132\",\nsort: 9999,\nlatitude: 37.762512,\nlongitude: 114.526176,\nis_map: true,\npinyin: \"yuanshi\"\n},\n{\nid: 2034,\nname: \"易门\",\nabbr: \"YM\",\narea_code: \"530425\",\nsort: 9999,\nlatitude: 24.669598,\nlongitude: 102.162109,\nis_map: true,\npinyin: \"yimen\"\n},\n{\nid: 2037,\nname: \"元江哈尼族彝族傣族自治县\",\nabbr: \"YJHNZYZDZZZX\",\narea_code: \"530428\",\nsort: 9999,\nlatitude: 23.597618,\nlongitude: 101.999657,\nis_map: true,\npinyin: \"yuanjianghanizuyizudaizuzizhixian\"\n},\n{\nid: 2043,\nname: \"盐津\",\nabbr: \"YJ\",\narea_code: \"530623\",\nsort: 9999,\nlatitude: 28.106922,\nlongitude: 104.235062,\nis_map: true,\npinyin: \"yanjin\"\n},\n{\nid: 2045,\nname: \"永善\",\nabbr: \"YS\",\narea_code: \"530625\",\nsort: 9999,\nlatitude: 28.231525,\nlongitude: 103.637321,\nis_map: true,\npinyin: \"yongshan\"\n},\n{\nid: 2047,\nname: \"彝良\",\nabbr: \"YL\",\narea_code: \"530628\",\nsort: 9999,\nlatitude: 27.627424,\nlongitude: 104.048492,\nis_map: true,\npinyin: \"yiliang\"\n},\n{\nid: 2050,\nname: \"玉龙纳西族自治县\",\nabbr: \"YLNXZZZX\",\narea_code: \"530721\",\nsort: 9999,\nlatitude: 26.830593,\nlongitude: 100.238312,\nis_map: true,\npinyin: \"yulongnaxizuzizhixian\"\n},\n{\nid: 2051,\nname: \"永胜\",\nabbr: \"YS\",\narea_code: \"530722\",\nsort: 9999,\nlatitude: 26.685623,\nlongitude: 100.7509,\nis_map: true,\npinyin: \"yongsheng\"\n},\n{\nid: 2065,\nname: \"云县\",\nabbr: \"YX\",\narea_code: \"530922\",\nsort: 9999,\nlatitude: 24.439026,\nlongitude: 100.125633,\nis_map: true,\npinyin: \"yunxian\"\n},\n{\nid: 2066,\nname: \"永德\",\nabbr: \"YD\",\narea_code: \"530923\",\nsort: 9999,\nlatitude: 24.028158,\nlongitude: 99.253677,\nis_map: true,\npinyin: \"yongde\"\n},\n{\nid: 2075,\nname: \"姚安\",\nabbr: \"YA\",\narea_code: \"532325\",\nsort: 9999,\nlatitude: 25.505404,\nlongitude: 101.238396,\nis_map: true,\npinyin: \"yaoan\"\n},\n{\nid: 2077,\nname: \"永仁\",\nabbr: \"YR\",\narea_code: \"532327\",\nsort: 9999,\nlatitude: 26.056316,\nlongitude: 101.671173,\nis_map: true,\npinyin: \"yongren\"\n},\n{\nid: 2078,\nname: \"元谋\",\nabbr: \"YM\",\narea_code: \"532328\",\nsort: 9999,\nlatitude: 25.703314,\nlongitude: 101.870834,\nis_map: true,\npinyin: \"yuanmou\"\n},\n{\nid: 2085,\nname: \"元阳\",\nabbr: \"YY\",\narea_code: \"532528\",\nsort: 9999,\nlatitude: 23.219772,\nlongitude: 102.837059,\nis_map: true,\npinyin: \"yuanyang\"\n},\n{\nid: 2101,\nname: \"漾濞彝族自治县\",\nabbr: \"YBYZZZX\",\narea_code: \"532922\",\nsort: 9999,\nlatitude: 25.669542,\nlongitude: 99.95797,\nis_map: true,\npinyin: \"yangbiyizuzizhixian\"\n},\n{\nid: 2106,\nname: \"永平\",\nabbr: \"YP\",\narea_code: \"532928\",\nsort: 9999,\nlatitude: 25.461281,\nlongitude: 99.533539,\nis_map: true,\npinyin: \"yongping\"\n},\n{\nid: 2107,\nname: \"云龙\",\nabbr: \"YL\",\narea_code: \"532929\",\nsort: 9999,\nlatitude: 25.884954,\nlongitude: 99.3694,\nis_map: true,\npinyin: \"yunlong\"\n},\n{\nid: 2115,\nname: \"盈江\",\nabbr: \"YJ\",\narea_code: \"533123\",\nsort: 9999,\nlatitude: 24.709541,\nlongitude: 97.933929,\nis_map: true,\npinyin: \"yingjiang\"\n},\n{\nid: 2389,\nname: \"玉树\",\nabbr: \"YS\",\narea_code: \"632701\",\nsort: 9999,\nlatitude: 33.004047,\nlongitude: 97.008522,\nis_map: true,\npinyin: \"yushu\"\n},\n{\nid: 2407,\nname: \"盐池\",\nabbr: \"YC\",\narea_code: \"640323\",\nsort: 9999,\nlatitude: 37.784222,\nlongitude: 107.405411,\nis_map: true,\npinyin: \"yanchi\"\n},\n{\nid: 5829,\nname: \"阎良区\",\nabbr: \"YLQ\",\narea_code: \"610114\",\nsort: 9999,\nlatitude: 34.66214,\nlongitude: 109.22802,\nis_map: true,\npinyin: \"yanliangqu\"\n}\n],\nP: [\n{\nid: 340,\nname: \"盘锦\",\nabbr: \"PJ\",\narea_code: \"0427\",\nsort: 80,\nlatitude: 41.119961,\nlongitude: 122.070778,\nis_map: true,\npinyin: \"panjin\"\n},\n{\nid: 150,\nname: \"萍乡\",\nabbr: \"PX\",\narea_code: \"0799\",\nsort: 2000,\nlatitude: 27.62289,\nlongitude: 113.854271,\nis_map: true,\npinyin: \"pingxiang\"\n},\n{\nid: 180,\nname: \"莆田\",\nabbr: \"PT\",\narea_code: \"0594\",\nsort: 2000,\nlatitude: 25.454,\nlongitude: 119.007713,\nis_map: true,\npinyin: \"putian\"\n},\n{\nid: 269,\nname: \"平顶山\",\nabbr: \"PDS\",\narea_code: \"0375\",\nsort: 2000,\nlatitude: 33.76609,\nlongitude: 113.192413,\nis_map: true,\npinyin: \"pingdingshan\"\n},\n{\nid: 294,\nname: \"普洱\",\nabbr: \"PE\",\narea_code: \"0879\",\nsort: 2000,\nlatitude: 22.825211,\nlongitude: 100.96624,\nis_map: true,\npinyin: \"puer\"\n},\n{\nid: 315,\nname: \"攀枝花\",\nabbr: \"PZH\",\narea_code: \"0812\",\nsort: 2000,\nlatitude: 26.582279,\nlongitude: 101.718719,\nis_map: true,\npinyin: \"panzhihua\"\n},\n{\nid: 516,\nname: \"平和\",\nabbr: \"PH\",\narea_code: \"200062\",\nsort: 2000,\nlatitude: 24.36344,\nlongitude: 117.315872,\nis_map: true,\npinyin: \"pinghe\"\n},\n{\nid: 520,\nname: \"浦城\",\nabbr: \"PC\",\narea_code: \"200066\",\nsort: 2000,\nlatitude: 27.91721,\nlongitude: 118.541382,\nis_map: true,\npinyin: \"pucheng\"\n},\n{\nid: 524,\nname: \"平凉\",\nabbr: \"PL\",\narea_code: \"200070\",\nsort: 2000,\nlatitude: 35.54303,\nlongitude: 106.665298,\nis_map: true,\npinyin: \"pingliang\"\n},\n{\nid: 529,\nname: \"普宁\",\nabbr: \"PN\",\narea_code: \"200075\",\nsort: 2000,\nlatitude: 23.297359,\nlongitude: 116.165688,\nis_map: true,\npinyin: \"puning\"\n},\n{\nid: 569,\nname: \"平南\",\nabbr: \"PN\",\narea_code: \"200115\",\nsort: 2000,\nlatitude: 23.53919,\nlongitude: 110.392151,\nis_map: true,\npinyin: \"pingnan\"\n},\n{\nid: 578,\nname: \"盘县\",\nabbr: \"PX\",\narea_code: \"200124\",\nsort: 2000,\nlatitude: 25.70993,\nlongitude: 104.471581,\nis_map: true,\npinyin: \"panxian\"\n},\n{\nid: 664,\nname: \"平舆\",\nabbr: \"PY\",\narea_code: \"200210\",\nsort: 2000,\nlatitude: 32.96183,\nlongitude: 114.619408,\nis_map: true,\npinyin: \"pingyu\"\n},\n{\nid: 757,\nname: \"平江\",\nabbr: \"PJ\",\narea_code: \"200303\",\nsort: 2000,\nlatitude: 28.70203,\nlongitude: 113.581337,\nis_map: true,\npinyin: \"pingjiang\"\n},\n{\nid: 810,\nname: \"磐石\",\nabbr: \"PS\",\narea_code: \"200356\",\nsort: 2000,\nlatitude: 42.946621,\nlongitude: 126.060463,\nis_map: true,\npinyin: \"panshi\"\n},\n{\nid: 827,\nname: \"邳州\",\nabbr: \"PZ\",\narea_code: \"200373\",\nsort: 2000,\nlatitude: 34.335201,\nlongitude: 118.012459,\nis_map: true,\npinyin: \"pizhou\"\n},\n{\nid: 830,\nname: \"沛县\",\nabbr: \"PX\",\narea_code: \"200376\",\nsort: 2000,\nlatitude: 34.721661,\nlongitude: 116.9375,\nis_map: true,\npinyin: \"peixian\"\n},\n{\nid: 870,\nname: \"鄱阳\",\nabbr: \"PY\",\narea_code: \"200416\",\nsort: 2000,\nlatitude: 29.00563,\nlongitude: 116.70343,\nis_map: true,\npinyin: \"poyang\"\n},\n{\nid: 900,\nname: \"普兰店\",\nabbr: \"PLD\",\narea_code: \"200446\",\nsort: 2000,\nlatitude: 39.394428,\nlongitude: 121.963226,\nis_map: true,\npinyin: \"pulandian\"\n},\n{\nid: 933,\nname: \"平度\",\nabbr: \"PD\",\narea_code: \"200479\",\nsort: 2000,\nlatitude: 36.786701,\nlongitude: 119.959938,\nis_map: true,\npinyin: \"pingdu\"\n},\n{\nid: 951,\nname: \"平邑\",\nabbr: \"PY\",\narea_code: \"200497\",\nsort: 2000,\nlatitude: 35.505871,\nlongitude: 117.64048,\nis_map: true,\npinyin: \"pingyi\"\n},\n{\nid: 1005,\nname: \"平遥\",\nabbr: \"PY\",\narea_code: \"200551\",\nsort: 2000,\nlatitude: 37.189339,\nlongitude: 112.175568,\nis_map: true,\npinyin: \"pingyao\"\n},\n{\nid: 1012,\nname: \"郫县\",\nabbr: \"PX\",\narea_code: \"200558\",\nsort: 2000,\nlatitude: 30.795891,\nlongitude: 103.902557,\nis_map: true,\npinyin: \"pixian\"\n},\n{\nid: 1029,\nname: \"彭州\",\nabbr: \"PZ\",\narea_code: \"200575\",\nsort: 2000,\nlatitude: 30.990179,\nlongitude: 103.958107,\nis_map: true,\npinyin: \"pengzhou\"\n},\n{\nid: 1034,\nname: \"平昌\",\nabbr: \"PC\",\narea_code: \"200580\",\nsort: 2000,\nlatitude: 31.560539,\nlongitude: 107.103577,\nis_map: true,\npinyin: \"pingchang\"\n},\n{\nid: 1041,\nname: \"蓬安\",\nabbr: \"PA\",\narea_code: \"200587\",\nsort: 2000,\nlatitude: 31.028601,\nlongitude: 106.4123,\nis_map: true,\npinyin: \"pengan\"\n},\n{\nid: 1088,\nname: \"平湖\",\nabbr: \"PH\",\narea_code: \"200634\",\nsort: 2000,\nlatitude: 30.67585,\nlongitude: 121.01606,\nis_map: true,\npinyin: \"pinghu\"\n},\n{\nid: 1093,\nname: \"平阳\",\nabbr: \"PY\",\narea_code: \"200639\",\nsort: 2000,\nlatitude: 27.6621,\nlongitude: 120.565948,\nis_map: true,\npinyin: \"pingyang\"\n},\n{\nid: 1099,\nname: \"浦江\",\nabbr: \"PJ\",\narea_code: \"200645\",\nsort: 2000,\nlatitude: 29.452511,\nlongitude: 119.892059,\nis_map: true,\npinyin: \"pujiang\"\n},\n{\nid: 374,\nname: \"濮阳市\",\nabbr: \"PA\",\narea_code: \"03931\",\nsort: 9999,\nlatitude: 35.895161,\nlongitude: 115.498688,\nis_map: true,\npinyin: \"puyang\"\n},\n{\nid: 1159,\nname: \"平谷\",\nabbr: \"PG\",\narea_code: \"110117\",\nsort: 9999,\nlatitude: 40.140621,\nlongitude: 117.121407,\nis_map: true,\npinyin: \"pinggu\"\n},\n{\nid: 1178,\nname: \"濮阳县\",\nabbr: \"PY\",\narea_code: \"410928\",\nsort: 9999,\nlatitude: 35.712212,\nlongitude: 115.02903,\nis_map: true,\npinyin: \"puyangxian\"\n},\n{\nid: 1199,\nname: \"平乡\",\nabbr: \"PX\",\narea_code: \"130532\",\nsort: 9999,\nlatitude: 37.069405,\nlongitude: 115.029221,\nis_map: true,\npinyin: \"pingxiang\"\n},\n{\nid: 1232,\nname: \"平泉\",\nabbr: \"PQ\",\narea_code: \"130823\",\nsort: 9999,\nlatitude: 41.005611,\nlongitude: 118.690239,\nis_map: true,\npinyin: \"pingquan\"\n},\n{\nid: 1518,\nname: \"磐安\",\nabbr: \"PA\",\narea_code: \"330727\",\nsort: 9999,\nlatitude: 29.052628,\nlongitude: 120.445129,\nis_map: true,\npinyin: \"panan\"\n},\n{\nid: 1550,\nname: \"平潭\",\nabbr: \"PT\",\narea_code: \"350128\",\nsort: 9999,\nlatitude: 25.503672,\nlongitude: 119.791199,\nis_map: true,\npinyin: \"pingtan\"\n},\n{\nid: 1569,\nname: \"屏南\",\nabbr: \"PN\",\narea_code: \"350923\",\nsort: 9999,\nlatitude: 26.910826,\nlongitude: 118.987541,\nis_map: true,\npinyin: \"pingnan\"\n},\n{\nid: 1581,\nname: \"彭泽县\",\nabbr: \"PZX\",\narea_code: \"360430\",\nsort: 9999,\nlatitude: 29.898865,\nlongitude: 116.55584,\nis_map: true,\npinyin: \"pengze\"\n},\n{\nid: 1623,\nname: \"平阴\",\nabbr: \"PY\",\narea_code: \"370124\",\nsort: 9999,\nlatitude: 36.286922,\nlongitude: 116.455055,\nis_map: true,\npinyin: \"pingyin\"\n},\n{\nid: 1630,\nname: \"蓬莱\",\nabbr: \"PL\",\narea_code: \"370684\",\nsort: 9999,\nlatitude: 37.811169,\nlongitude: 120.762688,\nis_map: true,\npinyin: \"penglai\"\n},\n{\nid: 1749,\nname: \"平远\",\nabbr: \"PY\",\narea_code: \"441426\",\nsort: 9999,\nlatitude: 24.569651,\nlongitude: 115.891731,\nis_map: true,\npinyin: \"pingyuan\"\n},\n{\nid: 1786,\nname: \"平乐\",\nabbr: \"PL\",\narea_code: \"450330\",\nsort: 9999,\nlatitude: 24.632215,\nlongitude: 110.642822,\nis_map: true,\npinyin: \"pingle\"\n},\n{\nid: 1798,\nname: \"浦北\",\nabbr: \"PB\",\narea_code: \"450722\",\nsort: 9999,\nlatitude: 22.268335,\nlongitude: 109.556343,\nis_map: true,\npinyin: \"pubei\"\n},\n{\nid: 1805,\nname: \"平果\",\nabbr: \"PG\",\narea_code: \"451023\",\nsort: 9999,\nlatitude: 23.320478,\nlongitude: 107.580406,\nis_map: true,\npinyin: \"pingguo\"\n},\n{\nid: 1838,\nname: \"凭祥\",\nabbr: \"PX\",\narea_code: \"451481\",\nsort: 9999,\nlatitude: 22.108883,\nlongitude: 106.759041,\nis_map: true,\npinyin: \"pingxiang\"\n},\n{\nid: 1855,\nname: \"蒲江\",\nabbr: \"PJ\",\narea_code: \"510131\",\nsort: 9999,\nlatitude: 30.194359,\nlongitude: 103.511543,\nis_map: true,\npinyin: \"pujiang\"\n},\n{\nid: 1880,\nname: \"彭山区\",\nabbr: \"PSQ\",\narea_code: \"511403\",\nsort: 9999,\nlatitude: 30.192299,\nlongitude: 103.870102,\nis_map: true,\npinyin: \"pengshanqu\"\n},\n{\nid: 1971,\nname: \"平坝\",\nabbr: \"PB\",\narea_code: \"520421\",\nsort: 9999,\nlatitude: 26.40608,\nlongitude: 106.259941,\nis_map: true,\npinyin: \"pingba\"\n},\n{\nid: 1972,\nname: \"普定\",\nabbr: \"PD\",\narea_code: \"520422\",\nsort: 9999,\nlatitude: 26.305794,\nlongitude: 105.745605,\nis_map: true,\npinyin: \"puding\"\n},\n{\nid: 1988,\nname: \"普安\",\nabbr: \"PA\",\narea_code: \"522323\",\nsort: 9999,\nlatitude: 25.786404,\nlongitude: 104.955345,\nis_map: true,\npinyin: \"puan\"\n},\n{\nid: 2016,\nname: \"平塘\",\nabbr: \"PT\",\narea_code: \"522727\",\nsort: 9999,\nlatitude: 25.831802,\nlongitude: 107.324051,\nis_map: true,\npinyin: \"pingtang\"\n},\n{\nid: 2082,\nname: \"屏边苗族自治县\",\nabbr: \"PBMZZZX\",\narea_code: \"532523\",\nsort: 9999,\nlatitude: 22.987013,\nlongitude: 103.687225,\nis_map: true,\npinyin: \"pingbianmiaozuzizhixian\"\n},\n{\nid: 2233,\nname: \"蒲城\",\nabbr: \"PC\",\narea_code: \"610526\",\nsort: 9999,\nlatitude: 34.956036,\nlongitude: 109.589653,\nis_map: true,\npinyin: \"pucheng\"\n},\n{\nid: 2406,\nname: \"平罗\",\nabbr: \"PL\",\narea_code: \"640221\",\nsort: 9999,\nlatitude: 38.906738,\nlongitude: 106.544891,\nis_map: true,\npinyin: \"pingluo\"\n},\n{\nid: 5648,\nname: \"平山\",\nabbr: \"PS\",\narea_code: \"130131\",\nsort: 9999,\nlatitude: 38.25449,\nlongitude: 114.20929,\nis_map: true,\npinyin: \"pingshan\"\n}\n],\nJ: [\n{\nid: 415,\nname: \"济源\",\nabbr: \"JY\",\narea_code: \"03912\",\nsort: 1867,\nlatitude: 35.06707,\nlongitude: 112.60273,\nis_map: true,\npinyin: \"jiyuan\"\n},\n{\nid: 19,\nname: \"济南\",\nabbr: \"JN\",\narea_code: \"0531\",\nsort: 2000,\nlatitude: 36.665291,\nlongitude: 116.994926,\nis_map: true,\npinyin: \"jinan\"\n},\n{\nid: 47,\nname: \"济宁\",\nabbr: \"JN\",\narea_code: \"0537\",\nsort: 2000,\nlatitude: 35.414589,\nlongitude: 116.587242,\nis_map: true,\npinyin: \"jining\"\n},\n{\nid: 49,\nname: \"景德镇\",\nabbr: \"JDZ\",\narea_code: \"0798\",\nsort: 2000,\nlatitude: 29.26869,\nlongitude: 117.178391,\nis_map: true,\npinyin: \"jingdezhen\"\n},\n{\nid: 55,\nname: \"嘉兴\",\nabbr: \"JX\",\narea_code: \"0573\",\nsort: 2000,\nlatitude: 30.74501,\nlongitude: 120.755501,\nis_map: true,\npinyin: \"jiaxing\"\n},\n{\nid: 66,\nname: \"九江市\",\nabbr: \"JJ\",\narea_code: \"0792\",\nsort: 2000,\nlatitude: 29.705481,\nlongitude: 116.001457,\nis_map: true,\npinyin: \"jiujiang\"\n},\n{\nid: 67,\nname: \"金华\",\nabbr: \"JH\",\narea_code: \"0579\",\nsort: 2000,\nlatitude: 29.078119,\nlongitude: 119.647591,\nis_map: true,\npinyin: \"jinhua\"\n},\n{\nid: 88,\nname: \"佳木斯\",\nabbr: \"JMS\",\narea_code: \"0454\",\nsort: 2000,\nlatitude: 46.80019,\nlongitude: 130.320602,\nis_map: true,\npinyin: \"jiamusi\"\n},\n{\nid: 100,\nname: \"荆州\",\nabbr: \"JZ\",\narea_code: \"0716\",\nsort: 2000,\nlatitude: 30.334789,\nlongitude: 112.240692,\nis_map: true,\npinyin: \"jingzhou\"\n},\n{\nid: 101,\nname: \"吉林\",\nabbr: \"JL\",\narea_code: \"0432\",\nsort: 2000,\nlatitude: 43.837841,\nlongitude: 126.549438,\nis_map: true,\npinyin: \"jilin\"\n},\n{\nid: 110,\nname: \"锦州\",\nabbr: \"JZ\",\narea_code: \"0416\",\nsort: 2000,\nlatitude: 41.09515,\nlongitude: 121.127029,\nis_map: true,\npinyin: \"jinzhou\"\n},\n{\nid: 130,\nname: \"江门\",\nabbr: \"JM\",\narea_code: \"0750\",\nsort: 2000,\nlatitude: 22.57865,\nlongitude: 113.081612,\nis_map: true,\npinyin: \"jiangmen\"\n},\n{\nid: 144,\nname: \"焦作\",\nabbr: \"JZ\",\narea_code: \"03911\",\nsort: 2000,\nlatitude: 35.21563,\nlongitude: 113.242012,\nis_map: true,\npinyin: \"jiaozuo\"\n},\n{\nid: 151,\nname: \"荆门\",\nabbr: \"JM\",\narea_code: \"0724\",\nsort: 2000,\nlatitude: 31.03546,\nlongitude: 112.199448,\nis_map: true,\npinyin: \"jingmen\"\n},\n{\nid: 153,\nname: \"晋中\",\nabbr: \"JZ\",\narea_code: \"0354\",\nsort: 2000,\nlatitude: 37.687019,\nlongitude: 112.752777,\nis_map: true,\npinyin: \"jinzhong\"\n},\n{\nid: 220,\nname: \"吉安\",\nabbr: \"JA\",\narea_code: \"0796\",\nsort: 2000,\nlatitude: 27.113819,\nlongitude: 114.993759,\nis_map: true,\npinyin: \"jian\"\n},\n{\nid: 221,\nname: \"鸡西\",\nabbr: \"JX\",\narea_code: \"0467\",\nsort: 2000,\nlatitude: 45.295238,\nlongitude: 130.969543,\nis_map: true,\npinyin: \"jixi\"\n},\n{\nid: 231,\nname: \"揭阳\",\nabbr: \"JY\",\narea_code: \"0663\",\nsort: 2000,\nlatitude: 23.549721,\nlongitude: 116.372711,\nis_map: true,\npinyin: \"jieyang\"\n},\n{\nid: 274,\nname: \"吉首\",\nabbr: \"JS\",\narea_code: \"0743\",\nsort: 2000,\nlatitude: 28.26244,\nlongitude: 109.698112,\nis_map: true,\npinyin: \"jishou\"\n},\n{\nid: 319,\nname: \"江油\",\nabbr: \"JY\",\narea_code: \"08161\",\nsort: 2000,\nlatitude: 31.75691,\nlongitude: 104.724579,\nis_map: true,\npinyin: \"jiangyou\"\n},\n{\nid: 334,\nname: \"晋江\",\nabbr: \"JJ\",\narea_code: \"0595111\",\nsort: 2000,\nlatitude: 24.781441,\nlongitude: 118.551987,\nis_map: true,\npinyin: \"jinjiang\"\n},\n{\nid: 434,\nname: \"简阳\",\nabbr: \"JY\",\narea_code: \"10012\",\nsort: 2000,\nlatitude: 30.411329,\nlongitude: 104.547333,\nis_map: true,\npinyin: \"jianyang\"\n},\n{\nid: 435,\nname: \"江北\",\nabbr: \"JB\",\narea_code: \"10013\",\nsort: 2000,\nlatitude: 29.606609,\nlongitude: 106.574387,\nis_map: true,\npinyin: \"jiangbei\"\n},\n{\nid: 436,\nname: \"江津\",\nabbr: \"JJ\",\narea_code: \"10014\",\nsort: 2000,\nlatitude: 29.29014,\nlongitude: 106.259361,\nis_map: true,\npinyin: \"jiangjin\"\n},\n{\nid: 437,\nname: \"晋城\",\nabbr: \"JC\",\narea_code: \"10015\",\nsort: 2000,\nlatitude: 35.490391,\nlongitude: 112.851128,\nis_map: true,\npinyin: \"jincheng\"\n},\n{\nid: 438,\nname: \"九龙坡\",\nabbr: \"JLP\",\narea_code: \"10016\",\nsort: 2000,\nlatitude: 29.502069,\nlongitude: 106.511398,\nis_map: true,\npinyin: \"jiulongpo\"\n},\n{\nid: 487,\nname: \"界首\",\nabbr: \"JS\",\narea_code: \"200033\",\nsort: 2000,\nlatitude: 33.257179,\nlongitude: 115.374512,\nis_map: true,\npinyin: \"jieshou\"\n},\n{\nid: 509,\nname: \"建瓯\",\nabbr: \"JO\",\narea_code: \"200055\",\nsort: 2000,\nlatitude: 27.022659,\nlongitude: 118.304977,\nis_map: true,\npinyin: \"jianou\"\n},\n{\nid: 517,\nname: \"建阳\",\nabbr: \"JY\",\narea_code: \"200063\",\nsort: 2000,\nlatitude: 27.331751,\nlongitude: 118.12043,\nis_map: true,\npinyin: \"jianyang\"\n},\n{\nid: 526,\nname: \"酒泉\",\nabbr: \"JQ\",\narea_code: \"200072\",\nsort: 2000,\nlatitude: 39.732552,\nlongitude: 98.493942,\nis_map: true,\npinyin: \"jiuquan\"\n},\n{\nid: 527,\nname: \"嘉峪关\",\nabbr: \"JYG\",\narea_code: \"200073\",\nsort: 2000,\nlatitude: 39.772011,\nlongitude: 98.290108,\nis_map: true,\npinyin: \"jiayuguan\"\n},\n{\nid: 528,\nname: \"金昌\",\nabbr: \"JC\",\narea_code: \"200074\",\nsort: 2000,\nlatitude: 38.520061,\nlongitude: 102.187592,\nis_map: true,\npinyin: \"jinchang\"\n},\n{\nid: 533,\nname: \"揭东\",\nabbr: \"JD\",\narea_code: \"200079\",\nsort: 2000,\nlatitude: 23.566059,\nlongitude: 116.412109,\nis_map: true,\npinyin: \"jiedong\"\n},\n{\nid: 552,\nname: \"揭西\",\nabbr: \"JX\",\narea_code: \"200098\",\nsort: 2000,\nlatitude: 23.43141,\nlongitude: 115.841888,\nis_map: true,\npinyin: \"jiexi\"\n},\n{\nid: 580,\nname: \"金沙\",\nabbr: \"JS\",\narea_code: \"200126\",\nsort: 2000,\nlatitude: 27.459221,\nlongitude: 106.220139,\nis_map: true,\npinyin: \"jinsha\"\n},\n{\nid: 610,\nname: \"景县\",\nabbr: \"JX\",\narea_code: \"200156\",\nsort: 2000,\nlatitude: 37.692341,\nlongitude: 116.270599,\nis_map: true,\npinyin: \"jingxian\"\n},\n{\nid: 674,\nname: \"郏县\",\nabbr: \"JX\",\narea_code: \"200220\",\nsort: 2000,\nlatitude: 33.971802,\nlongitude: 113.212624,\nis_map: true,\npinyin: \"jiaxian\"\n},\n{\nid: 689,\nname: \"浚县\",\nabbr: \"JX\",\narea_code: \"200235\",\nsort: 2000,\nlatitude: 35.67617,\nlongitude: 114.550781,\nis_map: true,\npinyin: \"junxian\"\n},\n{\nid: 716,\nname: \"监利\",\nabbr: \"JL\",\narea_code: \"200262\",\nsort: 2000,\nlatitude: 29.839279,\nlongitude: 112.904922,\nis_map: true,\npinyin: \"jianli\"\n},\n{\nid: 723,\nname: \"京山\",\nabbr: \"JS\",\narea_code: \"200269\",\nsort: 2000,\nlatitude: 31.01848,\nlongitude: 113.11953,\nis_map: true,\npinyin: \"jingshan\"\n},\n{\nid: 800,\nname: \"津市\",\nabbr: \"JS\",\narea_code: \"200346\",\nsort: 2000,\nlatitude: 29.605431,\nlongitude: 111.877411,\nis_map: true,\npinyin: \"jinshi\"\n},\n{\nid: 814,\nname: \"蛟河\",\nabbr: \"JH\",\narea_code: \"200360\",\nsort: 2000,\nlatitude: 43.72393,\nlongitude: 127.344772,\nis_map: true,\npinyin: \"jiaohe\"\n},\n{\nid: 817,\nname: \"九台\",\nabbr: \"JT\",\narea_code: \"200363\",\nsort: 2000,\nlatitude: 44.151741,\nlongitude: 125.839493,\nis_map: true,\npinyin: \"jiutai\"\n},\n{\nid: 833,\nname: \"江都\",\nabbr: \"JD\",\narea_code: \"200379\",\nsort: 2000,\nlatitude: 32.434582,\nlongitude: 119.570061,\nis_map: true,\npinyin: \"jiangdu\"\n},\n{\nid: 846,\nname: \"靖江\",\nabbr: \"JJ\",\narea_code: \"200392\",\nsort: 2000,\nlatitude: 32.014938,\nlongitude: 120.274544,\nis_map: true,\npinyin: \"jingjiang\"\n},\n{\nid: 850,\nname: \"姜堰\",\nabbr: \"JY\",\narea_code: \"200396\",\nsort: 2000,\nlatitude: 32.50882,\nlongitude: 120.127007,\nis_map: true,\npinyin: \"jiangyan\"\n},\n{\nid: 851,\nname: \"建湖\",\nabbr: \"JH\",\narea_code: \"200397\",\nsort: 2000,\nlatitude: 33.464062,\nlongitude: 119.798576,\nis_map: true,\npinyin: \"jianhu\"\n},\n{\nid: 858,\nname: \"句容\",\nabbr: \"JR\",\narea_code: \"200404\",\nsort: 2000,\nlatitude: 31.94482,\nlongitude: 119.16864,\nis_map: true,\npinyin: \"jurong\"\n},\n{\nid: 860,\nname: \"金坛\",\nabbr: \"JT\",\narea_code: \"200406\",\nsort: 2000,\nlatitude: 31.723221,\nlongitude: 119.597939,\nis_map: true,\npinyin: \"jintan\"\n},\n{\nid: 867,\nname: \"金湖\",\nabbr: \"JH\",\narea_code: \"200413\",\nsort: 2000,\nlatitude: 33.02359,\nlongitude: 119.020432,\nis_map: true,\npinyin: \"jinhu\"\n},\n{\nid: 887,\nname: \"进贤\",\nabbr: \"JX\",\narea_code: \"200433\",\nsort: 2000,\nlatitude: 28.376789,\nlongitude: 116.242493,\nis_map: true,\npinyin: \"jinxian\"\n},\n{\nid: 888,\nname: \"吉水\",\nabbr: \"JS\",\narea_code: \"200434\",\nsort: 2000,\nlatitude: 27.229759,\nlongitude: 115.135498,\nis_map: true,\npinyin: \"jishui\"\n},\n{\nid: 940,\nname: \"胶州\",\nabbr: \"JZ\",\narea_code: \"200486\",\nsort: 2000,\nlatitude: 36.26445,\nlongitude: 120.033539,\nis_map: true,\npinyin: \"jiaozhou\"\n},\n{\nid: 945,\nname: \"巨野\",\nabbr: \"JY\",\narea_code: \"200491\",\nsort: 2000,\nlatitude: 35.396332,\nlongitude: 116.094948,\nis_map: true,\npinyin: \"juye\"\n},\n{\nid: 950,\nname: \"莒南\",\nabbr: \"JN\",\narea_code: \"200496\",\nsort: 2000,\nlatitude: 35.174858,\nlongitude: 118.835426,\nis_map: true,\npinyin: \"junan\"\n},\n{\nid: 968,\nname: \"莒县\",\nabbr: \"JX\",\narea_code: \"200514\",\nsort: 2000,\nlatitude: 35.579971,\nlongitude: 118.836868,\nis_map: true,\npinyin: \"juxian\"\n},\n{\nid: 969,\nname: \"鄄城\",\nabbr: \"JC\",\narea_code: \"200515\",\nsort: 2000,\nlatitude: 35.563499,\nlongitude: 115.510048,\nis_map: true,\npinyin: \"juancheng\"\n},\n{\nid: 976,\nname: \"金乡\",\nabbr: \"JX\",\narea_code: \"200522\",\nsort: 2000,\nlatitude: 35.066608,\nlongitude: 116.311478,\nis_map: true,\npinyin: \"jinxiang\"\n},\n{\nid: 988,\nname: \"嘉祥\",\nabbr: \"JX\",\narea_code: \"200534\",\nsort: 2000,\nlatitude: 35.407501,\nlongitude: 116.342491,\nis_map: true,\npinyin: \"jiaxiang\"\n},\n{\nid: 1000,\nname: \"介休\",\nabbr: \"JX\",\narea_code: \"200546\",\nsort: 2000,\nlatitude: 37.0271,\nlongitude: 111.916718,\nis_map: true,\npinyin: \"jiexiu\"\n},\n{\nid: 1043,\nname: \"金堂\",\nabbr: \"JT\",\narea_code: \"200589\",\nsort: 2000,\nlatitude: 30.86203,\nlongitude: 104.412048,\nis_map: true,\npinyin: \"jintang\"\n},\n{\nid: 1049,\nname: \"静海\",\nabbr: \"JH\",\narea_code: \"200595\",\nsort: 2000,\nlatitude: 38.947369,\nlongitude: 116.974281,\nis_map: true,\npinyin: \"jinghai\"\n},\n{\nid: 1050,\nname: \"蓟县\",\nabbr: \"JX\",\narea_code: \"200596\",\nsort: 2000,\nlatitude: 40.045769,\nlongitude: 117.408287,\nis_map: true,\npinyin: \"jixian\"\n},\n{\nid: 1069,\nname: \"建水\",\nabbr: \"JS\",\narea_code: \"200615\",\nsort: 2000,\nlatitude: 23.634991,\nlongitude: 102.826988,\nis_map: true,\npinyin: \"jianshui\"\n},\n{\nid: 1095,\nname: \"嘉善\",\nabbr: \"JS\",\narea_code: \"200641\",\nsort: 2000,\nlatitude: 30.83075,\nlongitude: 120.927162,\nis_map: true,\npinyin: \"jiashan\"\n},\n{\nid: 1107,\nname: \"江山\",\nabbr: \"JS\",\narea_code: \"200653\",\nsort: 2000,\nlatitude: 28.737249,\nlongitude: 118.6269,\nis_map: true,\npinyin: \"jiangshan\"\n},\n{\nid: 1111,\nname: \"建德\",\nabbr: \"JD\",\narea_code: \"200657\",\nsort: 2000,\nlatitude: 29.474751,\nlongitude: 119.281212,\nis_map: true,\npinyin: \"jiande\"\n},\n{\nid: 1112,\nname: \"缙云\",\nabbr: \"JY\",\narea_code: \"200658\",\nsort: 2000,\nlatitude: 28.659281,\nlongitude: 120.091583,\nis_map: true,\npinyin: \"jinyun\"\n},\n{\nid: 353,\nname: \"即墨\",\nabbr: \"JM\",\narea_code: \"05321\",\nsort: 9999,\nlatitude: 36.38932,\nlongitude: 120.447151,\nis_map: true,\npinyin: \"jimo\"\n},\n{\nid: 359,\nname: \"景洪\",\nabbr: \"JH\",\narea_code: \"0691\",\nsort: 9999,\nlatitude: 22.00008,\nlongitude: 100.771629,\nis_map: true,\npinyin: \"jinghong\"\n},\n{\nid: 364,\nname: \"江阴\",\nabbr: \"JY\",\narea_code: \"05101\",\nsort: 9999,\nlatitude: 31.92005,\nlongitude: 120.2854,\nis_map: true,\npinyin: \"jiangyin\"\n},\n{\nid: 1154,\nname: \"靖边县\",\nabbr: \"JBX\",\narea_code: \"610824\",\nsort: 9999,\nlatitude: 37.599312,\nlongitude: 108.795677,\nis_map: true,\npinyin: \"jingbian\"\n},\n{\nid: 1155,\nname: \"晋州\",\nabbr: \"JZ\",\narea_code: \"130183\",\nsort: 9999,\nlatitude: 38.033562,\nlongitude: 115.044098,\nis_map: true,\npinyin: \"jinzhou\"\n},\n{\nid: 1186,\nname: \"鸡泽\",\nabbr: \"JZ\",\narea_code: \"130431\",\nsort: 9999,\nlatitude: 36.914909,\nlongitude: 114.878517,\nis_map: true,\npinyin: \"jize\"\n},\n{\nid: 1196,\nname: \"巨鹿\",\nabbr: \"JL\",\narea_code: \"130529\",\nsort: 9999,\nlatitude: 37.217682,\nlongitude: 115.03878,\nis_map: true,\npinyin: \"julu\"\n},\n{\nid: 1255,\nname: \"冀州\",\nabbr: \"JZ\",\narea_code: \"131181\",\nsort: 9999,\nlatitude: 37.542789,\nlongitude: 115.57917,\nis_map: true,\npinyin: \"jizhou\"\n},\n{\nid: 1299,\nname: \"稷山\",\nabbr: \"JS\",\narea_code: \"140824\",\nsort: 9999,\nlatitude: 35.60041,\nlongitude: 110.978996,\nis_map: true,\npinyin: \"jishan\"\n},\n{\nid: 1444,\nname: \"建昌\",\nabbr: \"JC\",\narea_code: \"211422\",\nsort: 9999,\nlatitude: 40.81308,\nlongitude: 119.804108,\nis_map: true,\npinyin: \"jianchang\"\n},\n{\nid: 1451,\nname: \"集安\",\nabbr: \"JA\",\narea_code: \"220582\",\nsort: 9999,\nlatitude: 41.126274,\nlongitude: 126.186203,\nis_map: true,\npinyin: \"jian\"\n},\n{\nid: 1452,\nname: \"靖宇\",\nabbr: \"JY\",\narea_code: \"220622\",\nsort: 9999,\nlatitude: 42.38969,\nlongitude: 126.808388,\nis_map: true,\npinyin: \"jingyu\"\n},\n{\nid: 1477,\nname: \"鸡东\",\nabbr: \"JD\",\narea_code: \"230321\",\nsort: 9999,\nlatitude: 45.252918,\nlongitude: 131.146378,\nis_map: true,\npinyin: \"jidong\"\n},\n{\nid: 1482,\nname: \"集贤\",\nabbr: \"JX\",\narea_code: \"230521\",\nsort: 9999,\nlatitude: 46.728981,\nlongitude: 131.139328,\nis_map: true,\npinyin: \"jixian\"\n},\n{\nid: 1490,\nname: \"嘉荫\",\nabbr: \"JY\",\narea_code: \"230722\",\nsort: 9999,\nlatitude: 48.891376,\nlongitude: 130.39769,\nis_map: true,\npinyin: \"jiayin\"\n},\n{\nid: 1526,\nname: \"景宁畲族自治县\",\nabbr: \"JNSZZZX\",\narea_code: \"331127\",\nsort: 9999,\nlatitude: 27.977247,\nlongitude: 119.634666,\nis_map: true,\npinyin: \"jingningshezuzizhixian\"\n},\n{\nid: 1541,\nname: \"金寨\",\nabbr: \"JZ\",\narea_code: \"341524\",\nsort: 9999,\nlatitude: 31.681623,\nlongitude: 115.878517,\nis_map: true,\npinyin: \"jinzhai\"\n},\n{\nid: 1554,\nname: \"将乐\",\nabbr: \"JL\",\narea_code: \"350428\",\nsort: 9999,\nlatitude: 26.728666,\nlongitude: 117.473557,\nis_map: true,\npinyin: \"jiangle\"\n},\n{\nid: 1556,\nname: \"建宁\",\nabbr: \"JN\",\narea_code: \"350430\",\nsort: 9999,\nlatitude: 26.831398,\nlongitude: 116.845833,\nis_map: true,\npinyin: \"jianning\"\n},\n{\nid: 1576,\nname: \"九江县\",\nabbr: \"JJ\",\narea_code: \"360421\",\nsort: 9999,\nlatitude: 29.610264,\nlongitude: 115.892975,\nis_map: true,\npinyin: \"jiujiang\"\n},\n{\nid: 1594,\nname: \"吉安县\",\nabbr: \"JAX\",\narea_code: \"360821\",\nsort: 9999,\nlatitude: 27.040043,\nlongitude: 114.905113,\nis_map: true,\npinyin: \"jianxian\"\n},\n{\nid: 1601,\nname: \"井冈山\",\nabbr: \"JGS\",\narea_code: \"360881\",\nsort: 9999,\nlatitude: 26.57053,\nlongitude: 114.166115,\nis_map: true,\npinyin: \"jinggangshan\"\n},\n{\nid: 1606,\nname: \"靖安\",\nabbr: \"JA\",\narea_code: \"360925\",\nsort: 9999,\nlatitude: 28.86054,\nlongitude: 115.361748,\nis_map: true,\npinyin: \"jingan\"\n},\n{\nid: 1614,\nname: \"金溪\",\nabbr: \"JX\",\narea_code: \"361027\",\nsort: 9999,\nlatitude: 27.907387,\nlongitude: 116.778748,\nis_map: true,\npinyin: \"jinxi\"\n},\n{\nid: 1624,\nname: \"济阳\",\nabbr: \"JY\",\narea_code: \"370125\",\nsort: 9999,\nlatitude: 36.976772,\nlongitude: 117.176033,\nis_map: true,\npinyin: \"jiyang\"\n},\n{\nid: 1685,\nname: \"江陵\",\nabbr: \"JL\",\narea_code: \"421024\",\nsort: 9999,\nlatitude: 30.033918,\nlongitude: 112.417351,\nis_map: true,\npinyin: \"jiangling\"\n},\n{\nid: 1692,\nname: \"建始\",\nabbr: \"JS\",\narea_code: \"422822\",\nsort: 9999,\nlatitude: 30.601631,\nlongitude: 109.723824,\nis_map: true,\npinyin: \"jianshi\"\n},\n{\nid: 1711,\nname: \"嘉禾\",\nabbr: \"JH\",\narea_code: \"431024\",\nsort: 9999,\nlatitude: 25.587309,\nlongitude: 112.370621,\nis_map: true,\npinyin: \"jiahe\"\n},\n{\nid: 1716,\nname: \"江永\",\nabbr: \"JY\",\narea_code: \"431125\",\nsort: 9999,\nlatitude: 25.268154,\nlongitude: 111.346802,\nis_map: true,\npinyin: \"jiangyong\"\n},\n{\nid: 1719,\nname: \"江华瑶族自治县\",\nabbr: \"JHYZZZX\",\narea_code: \"431129\",\nsort: 9999,\nlatitude: 25.182596,\nlongitude: 111.577278,\nis_map: true,\npinyin: \"jianghuayaozuzizhixian\"\n},\n{\nid: 1750,\nname: \"蕉岭县\",\nabbr: \"JLX\",\narea_code: \"441427\",\nsort: 9999,\nlatitude: 24.653313,\nlongitude: 116.170532,\nis_map: true,\npinyin: \"jiaoling\"\n},\n{\nid: 1807,\nname: \"靖西\",\nabbr: \"JX\",\narea_code: \"451025\",\nsort: 9999,\nlatitude: 23.134766,\nlongitude: 106.417549,\nis_map: true,\npinyin: \"jingxi\"\n},\n{\nid: 1817,\nname: \"井陉\",\nabbr: \"JX\",\narea_code: \"130121\",\nsort: 9999,\nlatitude: 38.033615,\nlongitude: 114.144485,\nis_map: true,\npinyin: \"jingxing\"\n},\n{\nid: 1831,\nname: \"金秀瑶族自治县\",\nabbr: \"JXYZZZX\",\narea_code: \"451324\",\nsort: 9999,\nlatitude: 24.134941,\nlongitude: 110.188553,\nis_map: true,\npinyin: \"jinxiuyaozuzizhixian\"\n},\n{\nid: 1978,\nname: \"江口\",\nabbr: \"JK\",\narea_code: \"520621\",\nsort: 9999,\nlatitude: 27.691904,\nlongitude: 108.848427,\nis_map: true,\npinyin: \"jiangkou\"\n},\n{\nid: 2001,\nname: \"锦屏\",\nabbr: \"JP\",\narea_code: \"522628\",\nsort: 9999,\nlatitude: 26.680626,\nlongitude: 109.202522,\nis_map: true,\npinyin: \"jinping\"\n},\n{\nid: 2002,\nname: \"剑河\",\nabbr: \"JH\",\narea_code: \"522629\",\nsort: 9999,\nlatitude: 26.652386,\nlongitude: 108.589508,\nis_map: true,\npinyin: \"jianhe\"\n},\n{\nid: 2022,\nname: \"晋宁\",\nabbr: \"JN\",\narea_code: \"530122\",\nsort: 9999,\nlatitude: 24.666945,\nlongitude: 102.594986,\nis_map: true,\npinyin: \"jinning\"\n},\n{\nid: 2030,\nname: \"江川\",\nabbr: \"JC\",\narea_code: \"530421\",\nsort: 9999,\nlatitude: 24.291006,\nlongitude: 102.74984,\nis_map: true,\npinyin: \"jiangchuan\"\n},\n{\nid: 2056,\nname: \"景东彝族自治县\",\nabbr: \"JDYZZZX\",\narea_code: \"530823\",\nsort: 9999,\nlatitude: 24.448523,\nlongitude: 100.840012,\nis_map: true,\npinyin: \"jingdongyizuzizhixian\"\n},\n{\nid: 2057,\nname: \"景谷傣族彝族自治县\",\nabbr: \"JGDZYZZZX\",\narea_code: \"530824\",\nsort: 9999,\nlatitude: 23.500278,\nlongitude: 100.701424,\nis_map: true,\npinyin: \"jinggudaizuyizuzizhixian\"\n},\n{\nid: 2059,\nname: \"江城哈尼族彝族自治县\",\nabbr: \"JCHNZYZZZX\",\narea_code: \"530826\",\nsort: 9999,\nlatitude: 22.583361,\nlongitude: 101.859146,\nis_map: true,\npinyin: \"jiangchenghanizuyizuzizhixian\"\n},\n{\nid: 2086,\nname: \"金平苗族瑶族傣族自治县\",\nabbr: \"JPMZYZDZZZX\",\narea_code: \"532530\",\nsort: 9999,\nlatitude: 22.779982,\nlongitude: 103.228355,\nis_map: true,\npinyin: \"jinpingmiaozuyaozudaizuzizhixian\"\n},\n{\nid: 2109,\nname: \"剑川\",\nabbr: \"JC\",\narea_code: \"532931\",\nsort: 9999,\nlatitude: 26.530066,\nlongitude: 99.905884,\nis_map: true,\npinyin: \"jianchuan\"\n},\n{\nid: 2218,\nname: \"泾阳\",\nabbr: \"JY\",\narea_code: \"610423\",\nsort: 9999,\nlatitude: 34.528492,\nlongitude: 108.837837,\nis_map: true,\npinyin: \"jingyang\"\n},\n{\nid: 2386,\nname: \"久治县\",\nabbr: \"JZX\",\narea_code: \"632625\",\nsort: 9999,\nlatitude: 33.430218,\nlongitude: 101.484886,\nis_map: true,\npinyin: \"jiuzhi\"\n},\n{\nid: 5904,\nname: \"加格达奇区\",\nabbr: \"JGDQQ\",\narea_code: \"232701\",\nsort: 9999,\nlatitude: 50.424652,\nlongitude: 124.126717,\nis_map: true,\npinyin: \"jiagedaqiqu\"\n}\n],\nL: [\n{\nid: 400,\nname: \"漯河\",\nabbr: \"LH\",\narea_code: \"0395\",\nsort: 1868,\nlatitude: 33.58149,\nlongitude: 114.016808,\nis_map: true,\npinyin: \"luohe\"\n},\n{\nid: 40,\nname: \"廊坊\",\nabbr: \"LF\",\narea_code: \"0316\",\nsort: 2000,\nlatitude: 39.02177,\nlongitude: 116.756378,\nis_map: true,\npinyin: \"langfang\"\n},\n{\nid: 41,\nname: \"兰州\",\nabbr: \"LZ\",\narea_code: \"0931\",\nsort: 2000,\nlatitude: 36.19622,\nlongitude: 103.125,\nis_map: true,\npinyin: \"lanzhou\"\n},\n{\nid: 60,\nname: \"临沂\",\nabbr: \"LY\",\narea_code: \"0539\",\nsort: 2000,\nlatitude: 35.104649,\nlongitude: 118.356461,\nis_map: true,\npinyin: \"linyi\"\n},\n{\nid: 73,\nname: \"丽水\",\nabbr: \"LS\",\narea_code: \"0578\",\nsort: 2000,\nlatitude: 28.467199,\nlongitude: 119.922928,\nis_map: true,\npinyin: \"lishui\"\n},\n{\nid: 81,\nname: \"柳州\",\nabbr: \"LZ\",\narea_code: \"0772\",\nsort: 2000,\nlatitude: 24.32543,\nlongitude: 109.41552,\nis_map: true,\npinyin: \"liuzhou\"\n},\n{\nid: 84,\nname: \"聊城\",\nabbr: \"LC\",\narea_code: \"0635\",\nsort: 2000,\nlatitude: 36.45702,\nlongitude: 115.985489,\nis_map: true,\npinyin: \"liaocheng\"\n},\n{\nid: 85,\nname: \"六安\",\nabbr: \"LA\",\narea_code: \"0564\",\nsort: 2000,\nlatitude: 31.73488,\nlongitude: 116.523239,\nis_map: true,\npinyin: \"luan\"\n},\n{\nid: 89,\nname: \"连云港\",\nabbr: \"LYG\",\narea_code: \"0518\",\nsort: 2000,\nlatitude: 34.596691,\nlongitude: 119.222954,\nis_map: true,\npinyin: \"lianyungang\"\n},\n{\nid: 94,\nname: \"洛阳\",\nabbr: \"LY\",\narea_code: \"0379\",\nsort: 2000,\nlatitude: 34.618118,\nlongitude: 112.453613,\nis_map: true,\npinyin: \"luoyang\"\n},\n{\nid: 106,\nname: \"泸州\",\nabbr: \"LZ\",\narea_code: \"0830\",\nsort: 2000,\nlatitude: 28.8717,\nlongitude: 105.442574,\nis_map: true,\npinyin: \"luzhou\"\n},\n{\nid: 139,\nname: \"乐山\",\nabbr: \"LS\",\narea_code: \"0833\",\nsort: 2000,\nlatitude: 29.55221,\nlongitude: 103.765388,\nis_map: true,\npinyin: \"leshan\"\n},\n{\nid: 143,\nname: \"娄底\",\nabbr: \"LD\",\narea_code: \"0738\",\nsort: 2000,\nlatitude: 27.697281,\nlongitude: 111.994583,\nis_map: true,\npinyin: \"loudi\"\n},\n{\nid: 155,\nname: \"丽江\",\nabbr: \"LJ\",\narea_code: \"0888\",\nsort: 2000,\nlatitude: 26.85648,\nlongitude: 100.227097,\nis_map: true,\npinyin: \"lijiang\"\n},\n{\nid: 168,\nname: \"临汾\",\nabbr: \"LF\",\narea_code: \"0357\",\nsort: 2000,\nlatitude: 36.088219,\nlongitude: 111.519623,\nis_map: true,\npinyin: \"linfen\"\n},\n{\nid: 181,\nname: \"龙岩\",\nabbr: \"LY\",\narea_code: \"0597\",\nsort: 2000,\nlatitude: 25.075041,\nlongitude: 117.01722,\nis_map: true,\npinyin: \"longyan\"\n},\n{\nid: 201,\nname: \"罗定\",\nabbr: \"LD\",\narea_code: \"0766\",\nsort: 2000,\nlatitude: 22.768299,\nlongitude: 111.570038,\nis_map: true,\npinyin: \"luoding\"\n},\n{\nid: 222,\nname: \"辽阳市\",\nabbr: \"LYS\",\narea_code: \"0419\",\nsort: 2000,\nlatitude: 41.268089,\nlongitude: 123.237358,\nis_map: true,\npinyin: \"liaoyangshi\"\n},\n{\nid: 227,\nname: \"辽源\",\nabbr: \"LY\",\narea_code: \"0437\",\nsort: 2000,\nlatitude: 42.88805,\nlongitude: 125.143677,\nis_map: true,\npinyin: \"liaoyuan\"\n},\n{\nid: 232,\nname: \"拉萨\",\nabbr: \"LS\",\narea_code: \"0891\",\nsort: 2000,\nlatitude: 29.64415,\nlongitude: 91.114502,\nis_map: true,\npinyin: \"lasa\"\n},\n{\nid: 281,\nname: \"吕梁\",\nabbr: \"LL\",\narea_code: \"0358\",\nsort: 2000,\nlatitude: 37.519341,\nlongitude: 111.141647,\nis_map: true,\npinyin: \"lvliang\"\n},\n{\nid: 391,\nname: \"莱芜\",\nabbr: \"LW\",\narea_code: \"0634\",\nsort: 2000,\nlatitude: 36.213589,\nlongitude: 117.676666,\nis_map: true,\npinyin: \"laiwu\"\n},\n{\nid: 441,\nname: \"六盘水\",\nabbr: \"LPS\",\narea_code: \"10019\",\nsort: 2000,\nlatitude: 26.68469,\nlongitude: 104.746681,\nis_map: true,\npinyin: \"liupanshui\"\n},\n{\nid: 456,\nname: \"庐江\",\nabbr: \"LJ\",\narea_code: \"200002\",\nsort: 2000,\nlatitude: 31.255671,\nlongitude: 117.287361,\nis_map: true,\npinyin: \"lujiang\"\n},\n{\nid: 462,\nname: \"临泉\",\nabbr: \"LQ\",\narea_code: \"200008\",\nsort: 2000,\nlatitude: 33.064571,\nlongitude: 115.25811,\nis_map: true,\npinyin: \"linquan\"\n},\n{\nid: 470,\nname: \"利辛\",\nabbr: \"LX\",\narea_code: \"200016\",\nsort: 2000,\nlatitude: 33.14484,\nlongitude: 116.208389,\nis_map: true,\npinyin: \"lixin\"\n},\n{\nid: 472,\nname: \"灵璧\",\nabbr: \"LB\",\narea_code: \"200018\",\nsort: 2000,\nlatitude: 33.54232,\nlongitude: 117.558548,\nis_map: true,\npinyin: \"lingbi\"\n},\n{\nid: 498,\nname: \"龙海\",\nabbr: \"LH\",\narea_code: \"200044\",\nsort: 2000,\nlatitude: 24.446581,\nlongitude: 117.81813,\nis_map: true,\npinyin: \"longhai\"\n},\n{\nid: 510,\nname: \"连江\",\nabbr: \"LJ\",\narea_code: \"200056\",\nsort: 2000,\nlatitude: 26.197531,\nlongitude: 119.539574,\nis_map: true,\npinyin: \"lianjiang\"\n},\n{\nid: 525,\nname: \"临夏\",\nabbr: \"LX\",\narea_code: \"200071\",\nsort: 2000,\nlatitude: 35.6045,\nlongitude: 103.243172,\nis_map: true,\npinyin: \"linxia\"\n},\n{\nid: 532,\nname: \"陆丰\",\nabbr: \"LF\",\narea_code: \"200078\",\nsort: 2000,\nlatitude: 22.94511,\nlongitude: 115.644623,\nis_map: true,\npinyin: \"lufeng\"\n},\n{\nid: 538,\nname: \"廉江\",\nabbr: \"LJ\",\narea_code: \"200084\",\nsort: 2000,\nlatitude: 21.609619,\nlongitude: 110.286247,\nis_map: true,\npinyin: \"lianjiang\"\n},\n{\nid: 541,\nname: \"雷州\",\nabbr: \"LZ\",\narea_code: \"200087\",\nsort: 2000,\nlatitude: 20.91444,\nlongitude: 110.096512,\nis_map: true,\npinyin: \"leizhou\"\n},\n{\nid: 584,\nname: \"临高\",\nabbr: \"LG\",\narea_code: \"200130\",\nsort: 2000,\nlatitude: 19.91243,\nlongitude: 109.690773,\nis_map: true,\npinyin: \"lingao\"\n},\n{\nid: 599,\nname: \"临漳\",\nabbr: \"LZ\",\narea_code: \"200145\",\nsort: 2000,\nlatitude: 36.334641,\nlongitude: 114.619553,\nis_map: true,\npinyin: \"linzhang\"\n},\n{\nid: 600,\nname: \"滦县\",\nabbr: \"LX\",\narea_code: \"200146\",\nsort: 2000,\nlatitude: 39.740582,\nlongitude: 118.703506,\nis_map: true,\npinyin: \"luanxian\"\n},\n{\nid: 603,\nname: \"滦南\",\nabbr: \"LN\",\narea_code: \"200149\",\nsort: 2000,\nlatitude: 39.166672,\nlongitude: 118.068031,\nis_map: true,\npinyin: \"luannan\"\n},\n{\nid: 607,\nname: \"隆尧\",\nabbr: \"LY\",\narea_code: \"200153\",\nsort: 2000,\nlatitude: 37.35025,\nlongitude: 114.770309,\nis_map: true,\npinyin: \"longyao\"\n},\n{\nid: 639,\nname: \"林州\",\nabbr: \"LZ\",\narea_code: \"200185\",\nsort: 2000,\nlatitude: 36.08308,\nlongitude: 113.819077,\nis_map: true,\npinyin: \"linzhou\"\n},\n{\nid: 643,\nname: \"鹿邑\",\nabbr: \"LY\",\narea_code: \"200189\",\nsort: 2000,\nlatitude: 33.860088,\nlongitude: 115.484428,\nis_map: true,\npinyin: \"luyi\"\n},\n{\nid: 649,\nname: \"临颍\",\nabbr: \"LY\",\narea_code: \"200195\",\nsort: 2000,\nlatitude: 33.809582,\nlongitude: 113.934433,\nis_map: true,\npinyin: \"linying\"\n},\n{\nid: 659,\nname: \"灵宝\",\nabbr: \"LB\",\narea_code: \"200205\",\nsort: 2000,\nlatitude: 34.51685,\nlongitude: 110.894562,\nis_map: true,\npinyin: \"lingbao\"\n},\n{\nid: 662,\nname: \"鲁山\",\nabbr: \"LS\",\narea_code: \"200208\",\nsort: 2000,\nlatitude: 33.738541,\nlongitude: 112.90802,\nis_map: true,\npinyin: \"lushan\"\n},\n{\nid: 681,\nname: \"兰考\",\nabbr: \"LK\",\narea_code: \"200227\",\nsort: 2000,\nlatitude: 34.8223,\nlongitude: 114.821152,\nis_map: true,\npinyin: \"lankao\"\n},\n{\nid: 695,\nname: \"罗山\",\nabbr: \"LS\",\narea_code: \"200241\",\nsort: 2000,\nlatitude: 32.20314,\nlongitude: 114.513069,\nis_map: true,\npinyin: \"luoshan\"\n},\n{\nid: 734,\nname: \"利川\",\nabbr: \"LC\",\narea_code: \"200280\",\nsort: 2000,\nlatitude: 30.29121,\nlongitude: 108.935951,\nis_map: true,\npinyin: \"lichuan\"\n},\n{\nid: 735,\nname: \"老河口\",\nabbr: \"LHK\",\narea_code: \"200281\",\nsort: 2000,\nlatitude: 32.386711,\nlongitude: 111.675072,\nis_map: true,\npinyin: \"laohekou\"\n},\n{\nid: 737,\nname: \"罗田\",\nabbr: \"LT\",\narea_code: \"200283\",\nsort: 2000,\nlatitude: 30.78397,\nlongitude: 115.399429,\nis_map: true,\npinyin: \"luotian\"\n},\n{\nid: 750,\nname: \"浏阳\",\nabbr: \"LY\",\narea_code: \"200296\",\nsort: 2000,\nlatitude: 28.16378,\nlongitude: 113.643173,\nis_map: true,\npinyin: \"liuyang\"\n},\n{\nid: 752,\nname: \"耒阳\",\nabbr: \"LY\",\narea_code: \"200298\",\nsort: 2000,\nlatitude: 26.42243,\nlongitude: 112.859879,\nis_map: true,\npinyin: \"leiyang\"\n},\n{\nid: 753,\nname: \"醴陵\",\nabbr: \"LL\",\narea_code: \"200299\",\nsort: 2000,\nlatitude: 27.64617,\nlongitude: 113.497032,\nis_map: true,\npinyin: \"liling\"\n},\n{\nid: 762,\nname: \"隆回\",\nabbr: \"LH\",\narea_code: \"200308\",\nsort: 2000,\nlatitude: 27.114019,\nlongitude: 111.032494,\nis_map: true,\npinyin: \"longhui\"\n},\n{\nid: 767,\nname: \"澧县\",\nabbr: \"LX\",\narea_code: \"200313\",\nsort: 2000,\nlatitude: 29.633181,\nlongitude: 111.758682,\nis_map: true,\npinyin: \"lixian\"\n},\n{\nid: 769,\nname: \"涟源\",\nabbr: \"LY\",\narea_code: \"200315\",\nsort: 2000,\nlatitude: 27.692711,\nlongitude: 111.664459,\nis_map: true,\npinyin: \"lianyuan\"\n},\n{\nid: 779,\nname: \"冷水江\",\nabbr: \"LSJ\",\narea_code: \"200325\",\nsort: 2000,\nlatitude: 27.68615,\nlongitude: 111.435249,\nis_map: true,\npinyin: \"lengshuijiang\"\n},\n{\nid: 782,\nname: \"临湘\",\nabbr: \"LX\",\narea_code: \"200328\",\nsort: 2000,\nlatitude: 29.476839,\nlongitude: 113.450577,\nis_map: true,\npinyin: \"linxiang\"\n},\n{\nid: 798,\nname: \"临澧\",\nabbr: \"LL\",\narea_code: \"200344\",\nsort: 2000,\nlatitude: 29.440981,\nlongitude: 111.647346,\nis_map: true,\npinyin: \"linli\"\n},\n{\nid: 799,\nname: \"龙山\",\nabbr: \"LS\",\narea_code: \"200345\",\nsort: 2000,\nlatitude: 29.457899,\nlongitude: 109.443871,\nis_map: true,\npinyin: \"longshan\"\n},\n{\nid: 809,\nname: \"梨树\",\nabbr: \"LS\",\narea_code: \"200355\",\nsort: 2000,\nlatitude: 43.307171,\nlongitude: 124.33564,\nis_map: true,\npinyin: \"lishu\"\n},\n{\nid: 852,\nname: \"溧阳\",\nabbr: \"LY\",\narea_code: \"200398\",\nsort: 2000,\nlatitude: 31.415859,\nlongitude: 119.484596,\nis_map: true,\npinyin: \"liyang\"\n},\n{\nid: 853,\nname: \"涟水\",\nabbr: \"LS\",\narea_code: \"200399\",\nsort: 2000,\nlatitude: 33.780979,\nlongitude: 119.260887,\nis_map: true,\npinyin: \"lianshui\"\n},\n{\nid: 865,\nname: \"溧水\",\nabbr: \"LS\",\narea_code: \"200411\",\nsort: 2000,\nlatitude: 31.381029,\nlongitude: 118.969948,\nis_map: true,\npinyin: \"lishui\"\n},\n{\nid: 873,\nname: \"乐平\",\nabbr: \"LP\",\narea_code: \"200419\",\nsort: 2000,\nlatitude: 28.961729,\nlongitude: 117.128998,\nis_map: true,\npinyin: \"leping\"\n},\n{\nid: 897,\nname: \"龙南\",\nabbr: \"LN\",\narea_code: \"200443\",\nsort: 2000,\nlatitude: 24.911051,\nlongitude: 114.789932,\nis_map: true,\npinyin: \"longnan\"\n},\n{\nid: 909,\nname: \"凌源\",\nabbr: \"LY\",\narea_code: \"200455\",\nsort: 2000,\nlatitude: 41.24548,\nlongitude: 119.401337,\nis_map: true,\npinyin: \"lingyuan\"\n},\n{\nid: 938,\nname: \"兰陵\",\nabbr: \"LL\",\narea_code: \"200484\",\nsort: 2000,\nlatitude: 34.857288,\nlongitude: 118.070717,\nis_map: true,\npinyin: \"lanling\"\n},\n{\nid: 944,\nname: \"龙口\",\nabbr: \"LK\",\narea_code: \"200490\",\nsort: 2000,\nlatitude: 37.643452,\nlongitude: 120.478722,\nis_map: true,\npinyin: \"longkou\"\n},\n{\nid: 948,\nname: \"莱西\",\nabbr: \"LX\",\narea_code: \"200494\",\nsort: 2000,\nlatitude: 36.888081,\nlongitude: 120.517769,\nis_map: true,\npinyin: \"laixi\"\n},\n{\nid: 949,\nname: \"莱州\",\nabbr: \"LZ\",\narea_code: \"200495\",\nsort: 2000,\nlatitude: 37.177021,\nlongitude: 119.942169,\nis_map: true,\npinyin: \"laizhou\"\n},\n{\nid: 952,\nname: \"莱阳\",\nabbr: \"LY\",\narea_code: \"200498\",\nsort: 2000,\nlatitude: 36.978779,\nlongitude: 120.711807,\nis_map: true,\npinyin: \"laiyang\"\n},\n{\nid: 954,\nname: \"临清\",\nabbr: \"LQ\",\narea_code: \"200500\",\nsort: 2000,\nlatitude: 36.838341,\nlongitude: 115.70504,\nis_map: true,\npinyin: \"linqing\"\n},\n{\nid: 955,\nname: \"临沭\",\nabbr: \"LS\",\narea_code: \"200501\",\nsort: 2000,\nlatitude: 34.919849,\nlongitude: 118.650627,\nis_map: true,\npinyin: \"linshu\"\n},\n{\nid: 973,\nname: \"临朐\",\nabbr: \"LQ\",\narea_code: \"200519\",\nsort: 2000,\nlatitude: 36.51231,\nlongitude: 118.542999,\nis_map: true,\npinyin: \"linqu\"\n},\n{\nid: 974,\nname: \"梁山\",\nabbr: \"LS\",\narea_code: \"200520\",\nsort: 2000,\nlatitude: 35.802399,\nlongitude: 116.09584,\nis_map: true,\npinyin: \"liangshan\"\n},\n{\nid: 980,\nname: \"乐陵\",\nabbr: \"LL\",\narea_code: \"200526\",\nsort: 2000,\nlatitude: 37.72979,\nlongitude: 117.231712,\nis_map: true,\npinyin: \"leling\"\n},\n{\nid: 986,\nname: \"临邑\",\nabbr: \"LY\",\narea_code: \"200532\",\nsort: 2000,\nlatitude: 37.18998,\nlongitude: 116.8666,\nis_map: true,\npinyin: \"linyi\"\n},\n{\nid: 993,\nname: \"陵县\",\nabbr: \"LX\",\narea_code: \"200539\",\nsort: 2000,\nlatitude: 37.335659,\nlongitude: 116.57634,\nis_map: true,\npinyin: \"lingxian\"\n},\n{\nid: 1001,\nname: \"临猗\",\nabbr: \"LY\",\narea_code: \"200547\",\nsort: 2000,\nlatitude: 35.144711,\nlongitude: 110.774078,\nis_map: true,\npinyin: \"linyi\"\n},\n{\nid: 1023,\nname: \"隆昌\",\nabbr: \"LC\",\narea_code: \"200569\",\nsort: 2000,\nlatitude: 29.339479,\nlongitude: 105.287727,\nis_map: true,\npinyin: \"longchang\"\n},\n{\nid: 1026,\nname: \"泸县\",\nabbr: \"LX\",\narea_code: \"200572\",\nsort: 2000,\nlatitude: 29.1516,\nlongitude: 105.381851,\nis_map: true,\npinyin: \"luxian\"\n},\n{\nid: 1035,\nname: \"阆中\",\nabbr: \"LZ\",\narea_code: \"200581\",\nsort: 2000,\nlatitude: 31.558371,\nlongitude: 106.00499,\nis_map: true,\npinyin: \"langzhong\"\n},\n{\nid: 1036,\nname: \"邻水\",\nabbr: \"LS\",\narea_code: \"200582\",\nsort: 2000,\nlatitude: 30.334579,\nlongitude: 106.930481,\nis_map: true,\npinyin: \"linshui\"\n},\n{\nid: 1063,\nname: \"陆良\",\nabbr: \"LL\",\narea_code: \"200609\",\nsort: 2000,\nlatitude: 25.029409,\nlongitude: 103.666832,\nis_map: true,\npinyin: \"luliang\"\n},\n{\nid: 1064,\nname: \"罗平\",\nabbr: \"LP\",\narea_code: \"200610\",\nsort: 2000,\nlatitude: 24.88468,\nlongitude: 104.308701,\nis_map: true,\npinyin: \"luoping\"\n},\n{\nid: 1078,\nname: \"乐清\",\nabbr: \"LQ\",\narea_code: \"200624\",\nsort: 2000,\nlatitude: 28.11289,\nlongitude: 120.983383,\nis_map: true,\npinyin: \"leqing\"\n},\n{\nid: 1082,\nname: \"临海\",\nabbr: \"LH\",\narea_code: \"200628\",\nsort: 2000,\nlatitude: 28.8584,\nlongitude: 121.144951,\nis_map: true,\npinyin: \"linhai\"\n},\n{\nid: 1097,\nname: \"临安\",\nabbr: \"LA\",\narea_code: \"200643\",\nsort: 2000,\nlatitude: 30.233829,\nlongitude: 119.7248,\nis_map: true,\npinyin: \"linan\"\n},\n{\nid: 1106,\nname: \"兰溪\",\nabbr: \"LX\",\narea_code: \"200652\",\nsort: 2000,\nlatitude: 29.20838,\nlongitude: 119.46051,\nis_map: true,\npinyin: \"lanxi\"\n},\n{\nid: 1115,\nname: \"龙游\",\nabbr: \"LY\",\narea_code: \"200661\",\nsort: 2000,\nlatitude: 29.028271,\nlongitude: 119.172249,\nis_map: true,\npinyin: \"longyou\"\n},\n{\nid: 1117,\nname: \"龙泉\",\nabbr: \"LQ\",\narea_code: \"200663\",\nsort: 2000,\nlatitude: 28.074341,\nlongitude: 119.141678,\nis_map: true,\npinyin: \"longquan\"\n},\n{\nid: 1130,\nname: \"梁平\",\nabbr: \"LP\",\narea_code: \"200676\",\nsort: 2000,\nlatitude: 30.673731,\nlongitude: 107.802353,\nis_map: true,\npinyin: \"liangping\"\n},\n{\nid: 1146,\nname: \"陵水黎族自治县\",\nabbr: \"LSLZZZX\",\narea_code: \"469028\",\nsort: 9999,\nlatitude: 18.50596,\nlongitude: 110.037201,\nis_map: true,\npinyin: \"lingshuilizuzizhixian\"\n},\n{\nid: 1147,\nname: \"兰西\",\nabbr: \"LX\",\narea_code: \"231222\",\nsort: 9999,\nlatitude: 46.252411,\nlongitude: 126.28788,\nis_map: true,\npinyin: \"lanxi\"\n},\n{\nid: 1148,\nname: \"龙江\",\nabbr: \"LJ\",\narea_code: \"230221\",\nsort: 9999,\nlatitude: 47.337372,\nlongitude: 123.204826,\nis_map: true,\npinyin: \"longjiang\"\n},\n{\nid: 1153,\nname: \"辽中区\",\nabbr: \"LZQ\",\narea_code: \"210122\",\nsort: 9999,\nlatitude: 41.511799,\nlongitude: 122.731613,\nis_map: true,\npinyin: \"liaozhongqu\"\n},\n{\nid: 1181,\nname: \"卢龙\",\nabbr: \"LL\",\narea_code: \"130324\",\nsort: 9999,\nlatitude: 39.883953,\nlongitude: 118.872932,\nis_map: true,\npinyin: \"lulong\"\n},\n{\nid: 1191,\nname: \"临城\",\nabbr: \"LC\",\narea_code: \"130522\",\nsort: 9999,\nlatitude: 37.444008,\nlongitude: 114.506874,\nis_map: true,\npinyin: \"lincheng\"\n},\n{\nid: 1201,\nname: \"临西\",\nabbr: \"LX\",\narea_code: \"130535\",\nsort: 9999,\nlatitude: 36.864201,\nlongitude: 115.498688,\nis_map: true,\npinyin: \"linxi\"\n},\n{\nid: 1203,\nname: \"涞水\",\nabbr: \"LS\",\narea_code: \"130623\",\nsort: 9999,\nlatitude: 39.393147,\nlongitude: 115.711983,\nis_map: true,\npinyin: \"laishui\"\n},\n{\nid: 1209,\nname: \"涞源\",\nabbr: \"LY\",\narea_code: \"130630\",\nsort: 9999,\nlatitude: 39.357552,\nlongitude: 114.692566,\nis_map: true,\npinyin: \"laiyuan\"\n},\n{\nid: 1213,\nname: \"蠡县\",\nabbr: \"LX\",\narea_code: \"130635\",\nsort: 9999,\nlatitude: 38.496429,\nlongitude: 115.583633,\nis_map: true,\npinyin: \"lixian\"\n},\n{\nid: 1233,\nname: \"滦平\",\nabbr: \"LP\",\narea_code: \"130824\",\nsort: 9999,\nlatitude: 40.936646,\nlongitude: 117.337128,\nis_map: true,\npinyin: \"luanping\"\n},\n{\nid: 1234,\nname: \"隆化\",\nabbr: \"LH\",\narea_code: \"130825\",\nsort: 9999,\nlatitude: 41.316666,\nlongitude: 117.736343,\nis_map: true,\npinyin: \"longhua\"\n},\n{\nid: 1297,\nname: \"灵石\",\nabbr: \"LS\",\narea_code: \"140729\",\nsort: 9999,\nlatitude: 36.847469,\nlongitude: 111.772758,\nis_map: true,\npinyin: \"lingshi\"\n},\n{\nid: 1353,\nname: \"林西\",\nabbr: \"LX\",\narea_code: \"150424\",\nsort: 9999,\nlatitude: 43.605328,\nlongitude: 118.057747,\nis_map: true,\npinyin: \"linxi\"\n},\n{\nid: 1371,\nname: \"灵寿\",\nabbr: \"LS\",\narea_code: \"130126\",\nsort: 9999,\nlatitude: 38.306545,\nlongitude: 114.379463,\nis_map: true,\npinyin: \"lingshou\"\n},\n{\nid: 1391,\nname: \"凉城\",\nabbr: \"LC\",\narea_code: \"150925\",\nsort: 9999,\nlatitude: 40.531628,\nlongitude: 112.500908,\nis_map: true,\npinyin: \"liangcheng\"\n},\n{\nid: 1431,\nname: \"凌海\",\nabbr: \"LH\",\narea_code: \"210781\",\nsort: 9999,\nlatitude: 41.171738,\nlongitude: 121.364235,\nis_map: true,\npinyin: \"linghai\"\n},\n{\nid: 1435,\nname: \"辽阳县\",\nabbr: \"LYX\",\narea_code: \"211021\",\nsort: 9999,\nlatitude: 41.21648,\nlongitude: 123.079674,\nis_map: true,\npinyin: \"liaoyangxian\"\n},\n{\nid: 1450,\nname: \"柳河\",\nabbr: \"LH\",\narea_code: \"220524\",\nsort: 9999,\nlatitude: 42.281483,\nlongitude: 125.74054,\nis_map: true,\npinyin: \"liuhe\"\n},\n{\nid: 1454,\nname: \"临江\",\nabbr: \"LJ\",\narea_code: \"220681\",\nsort: 9999,\nlatitude: 41.810688,\nlongitude: 126.919296,\nis_map: true,\npinyin: \"linjiang\"\n},\n{\nid: 1461,\nname: \"龙井\",\nabbr: \"LJ\",\narea_code: \"222405\",\nsort: 9999,\nlatitude: 42.77103,\nlongitude: 129.425751,\nis_map: true,\npinyin: \"longjing\"\n},\n{\nid: 1480,\nname: \"萝北\",\nabbr: \"LB\",\narea_code: \"230421\",\nsort: 9999,\nlatitude: 47.429726,\nlongitude: 130.544571,\nis_map: true,\npinyin: \"luobei\"\n},\n{\nid: 1488,\nname: \"林甸\",\nabbr: \"LD\",\narea_code: \"230623\",\nsort: 9999,\nlatitude: 47.186413,\nlongitude: 124.877739,\nis_map: true,\npinyin: \"lindian\"\n},\n{\nid: 1498,\nname: \"林口\",\nabbr: \"LK\",\narea_code: \"231025\",\nsort: 9999,\nlatitude: 45.286644,\nlongitude: 130.268402,\nis_map: true,\npinyin: \"linkou\"\n},\n{\nid: 1547,\nname: \"罗源\",\nabbr: \"LY\",\narea_code: \"350123\",\nsort: 9999,\nlatitude: 26.487234,\nlongitude: 119.552643,\nis_map: true,\npinyin: \"luoyuan\"\n},\n{\nid: 1567,\nname: \"连城\",\nabbr: \"LC\",\narea_code: \"350825\",\nsort: 9999,\nlatitude: 25.708506,\nlongitude: 116.756683,\nis_map: true,\npinyin: \"liancheng\"\n},\n{\nid: 1574,\nname: \"莲花\",\nabbr: \"LH\",\narea_code: \"360321\",\nsort: 9999,\nlatitude: 27.127808,\nlongitude: 113.955582,\nis_map: true,\npinyin: \"lianhua\"\n},\n{\nid: 1575,\nname: \"芦溪\",\nabbr: \"LX\",\narea_code: \"360323\",\nsort: 9999,\nlatitude: 27.633633,\nlongitude: 114.041206,\nis_map: true,\npinyin: \"luxi\"\n},\n{\nid: 1609,\nname: \"黎川\",\nabbr: \"LC\",\narea_code: \"361022\",\nsort: 9999,\nlatitude: 27.292561,\nlongitude: 116.914574,\nis_map: true,\npinyin: \"lichuan\"\n},\n{\nid: 1612,\nname: \"乐安\",\nabbr: \"LA\",\narea_code: \"361025\",\nsort: 9999,\nlatitude: 27.420101,\nlongitude: 115.838432,\nis_map: true,\npinyin: \"lean\"\n},\n{\nid: 1628,\nname: \"利津县\",\nabbr: \"LJX\",\narea_code: \"370522\",\nsort: 9999,\nlatitude: 37.493366,\nlongitude: 118.248856,\nis_map: true,\npinyin: \"lijin\"\n},\n{\nid: 1642,\nname: \"栾川\",\nabbr: \"LC\",\narea_code: \"410324\",\nsort: 9999,\nlatitude: 33.783195,\nlongitude: 111.618385,\nis_map: true,\npinyin: \"luanchuan\"\n},\n{\nid: 1646,\nname: \"洛宁\",\nabbr: \"LN\",\narea_code: \"410328\",\nsort: 9999,\nlatitude: 34.38718,\nlongitude: 111.655396,\nis_map: true,\npinyin: \"luoning\"\n},\n{\nid: 1665,\nname: \"卢氏\",\nabbr: \"LS\",\narea_code: \"411224\",\nsort: 9999,\nlatitude: 34.053993,\nlongitude: 111.05265,\nis_map: true,\npinyin: \"lushi\"\n},\n{\nid: 1712,\nname: \"临武\",\nabbr: \"LW\",\narea_code: \"431025\",\nsort: 9999,\nlatitude: 25.279119,\nlongitude: 112.56459,\nis_map: true,\npinyin: \"linwu\"\n},\n{\nid: 1717,\nname: \"蓝山\",\nabbr: \"LS\",\narea_code: \"431127\",\nsort: 9999,\nlatitude: 25.375256,\nlongitude: 112.194199,\nis_map: true,\npinyin: \"lanshan\"\n},\n{\nid: 1739,\nname: \"乐昌\",\nabbr: \"LC\",\narea_code: \"440281\",\nsort: 9999,\nlatitude: 25.128445,\nlongitude: 113.352409,\nis_map: true,\npinyin: \"lechang\"\n},\n{\nid: 1746,\nname: \"龙门\",\nabbr: \"LM\",\narea_code: \"441324\",\nsort: 9999,\nlatitude: 23.723894,\nlongitude: 114.259987,\nis_map: true,\npinyin: \"longmen\"\n},\n{\nid: 1751,\nname: \"陆河\",\nabbr: \"LH\",\narea_code: \"441523\",\nsort: 9999,\nlatitude: 23.302683,\nlongitude: 115.657562,\nis_map: true,\npinyin: \"luhe\"\n},\n{\nid: 1752,\nname: \"龙川\",\nabbr: \"LC\",\narea_code: \"441622\",\nsort: 9999,\nlatitude: 24.101173,\nlongitude: 115.256416,\nis_map: true,\npinyin: \"longchuan\"\n},\n{\nid: 1753,\nname: \"连平\",\nabbr: \"LP\",\narea_code: \"441623\",\nsort: 9999,\nlatitude: 24.364227,\nlongitude: 114.495949,\nis_map: true,\npinyin: \"lianping\"\n},\n{\nid: 1767,\nname: \"隆安\",\nabbr: \"LA\",\narea_code: \"450123\",\nsort: 9999,\nlatitude: 23.174763,\nlongitude: 107.68866,\nis_map: true,\npinyin: \"longan\"\n},\n{\nid: 1772,\nname: \"柳江\",\nabbr: \"LJ\",\narea_code: \"450221\",\nsort: 9999,\nlatitude: 24.257511,\nlongitude: 109.334503,\nis_map: true,\npinyin: \"liujiang\"\n},\n{\nid: 1773,\nname: \"柳城\",\nabbr: \"LC\",\narea_code: \"450222\",\nsort: 9999,\nlatitude: 24.655121,\nlongitude: 109.245811,\nis_map: true,\npinyin: \"liucheng\"\n},\n{\nid: 1774,\nname: \"鹿寨\",\nabbr: \"LZ\",\narea_code: \"450223\",\nsort: 9999,\nlatitude: 24.483404,\nlongitude: 109.740807,\nis_map: true,\npinyin: \"luzhai\"\n},\n{\nid: 1779,\nname: \"灵川\",\nabbr: \"LC\",\narea_code: \"450323\",\nsort: 9999,\nlatitude: 25.408541,\nlongitude: 110.325714,\nis_map: true,\npinyin: \"lingchuan\"\n},\n{\nid: 1784,\nname: \"龙胜各族自治县\",\nabbr: \"LSGZZZX\",\narea_code: \"450328\",\nsort: 9999,\nlatitude: 25.796429,\nlongitude: 110.009422,\nis_map: true,\npinyin: \"longshenggezuzizhixian\"\n},\n{\nid: 1787,\nname: \"荔浦\",\nabbr: \"LP\",\narea_code: \"450331\",\nsort: 9999,\nlatitude: 24.497786,\nlongitude: 110.400146,\nis_map: true,\npinyin: \"lipu\"\n},\n{\nid: 1797,\nname: \"灵山县\",\nabbr: \"LSX\",\narea_code: \"450721\",\nsort: 9999,\nlatitude: 22.418041,\nlongitude: 109.293465,\nis_map: true,\npinyin: \"lingshan\"\n},\n{\nid: 1800,\nname: \"陆川\",\nabbr: \"LC\",\narea_code: \"450922\",\nsort: 9999,\nlatitude: 22.321054,\nlongitude: 110.264839,\nis_map: true,\npinyin: \"luchuan\"\n},\n{\nid: 1809,\nname: \"凌云\",\nabbr: \"LY\",\narea_code: \"451027\",\nsort: 9999,\nlatitude: 24.345642,\nlongitude: 106.564873,\nis_map: true,\npinyin: \"lingyun\"\n},\n{\nid: 1810,\nname: \"乐业\",\nabbr: \"LY\",\narea_code: \"451028\",\nsort: 9999,\nlatitude: 24.782204,\nlongitude: 106.559639,\nis_map: true,\npinyin: \"leye\"\n},\n{\nid: 1813,\nname: \"隆林各族自治县\",\nabbr: \"LLGZZZX\",\narea_code: \"451031\",\nsort: 9999,\nlatitude: 24.774319,\nlongitude: 105.342361,\nis_map: true,\npinyin: \"longlingezuzizhixian\"\n},\n{\nid: 1822,\nname: \"罗城仫佬族自治县\",\nabbr: \"LCMLZZZX\",\narea_code: \"451225\",\nsort: 9999,\nlatitude: 24.779327,\nlongitude: 108.902451,\nis_map: true,\npinyin: \"luochengmulaozuzizhixian\"\n},\n{\nid: 1827,\nname: \"来宾\",\nabbr: \"LB\",\narea_code: \"451300\",\nsort: 9999,\nlatitude: 23.733767,\nlongitude: 109.229774,\nis_map: true,\npinyin: \"laibin\"\n},\n{\nid: 1904,\nname: \"乐至\",\nabbr: \"LZ\",\narea_code: \"512022\",\nsort: 9999,\nlatitude: 30.27562,\nlongitude: 105.031143,\nis_map: true,\npinyin: \"lezhi\"\n},\n{\nid: 1938,\nname: \"凉山彝族自治州\",\nabbr: \"LSYZZZZ\",\narea_code: \"513400\",\nsort: 9999,\nlatitude: 27.886763,\nlongitude: 102.258743,\nis_map: true,\npinyin: \"liangshanyizuzizhizhou\"\n},\n{\nid: 1994,\nname: \"乐亭\",\nabbr: \"LT\",\narea_code: \"130225\",\nsort: 9999,\nlatitude: 39.428131,\nlongitude: 118.905342,\nis_map: true,\npinyin: \"laoting\"\n},\n{\nid: 2004,\nname: \"黎平\",\nabbr: \"LP\",\narea_code: \"522631\",\nsort: 9999,\nlatitude: 26.230637,\nlongitude: 109.136505,\nis_map: true,\npinyin: \"liping\"\n},\n{\nid: 2007,\nname: \"雷山\",\nabbr: \"LS\",\narea_code: \"522634\",\nsort: 9999,\nlatitude: 26.381027,\nlongitude: 108.079613,\nis_map: true,\npinyin: \"leishan\"\n},\n{\nid: 2012,\nname: \"荔波\",\nabbr: \"LB\",\narea_code: \"522722\",\nsort: 9999,\nlatitude: 25.412239,\nlongitude: 107.883797,\nis_map: true,\npinyin: \"libo\"\n},\n{\nid: 2017,\nname: \"罗甸\",\nabbr: \"LD\",\narea_code: \"522728\",\nsort: 9999,\nlatitude: 25.429893,\nlongitude: 106.750008,\nis_map: true,\npinyin: \"luodian\"\n},\n{\nid: 2019,\nname: \"龙里\",\nabbr: \"LL\",\narea_code: \"522730\",\nsort: 9999,\nlatitude: 26.448809,\nlongitude: 106.97773,\nis_map: true,\npinyin: \"longli\"\n},\n{\nid: 2026,\nname: \"禄劝彝族苗族自治县\",\nabbr: \"LQYZMZZZX\",\narea_code: \"530128\",\nsort: 9999,\nlatitude: 25.556534,\nlongitude: 102.469048,\nis_map: true,\npinyin: \"luquanyizumiaozuzizhixian\"\n},\n{\nid: 2039,\nname: \"龙陵\",\nabbr: \"LL\",\narea_code: \"530523\",\nsort: 9999,\nlatitude: 24.591911,\nlongitude: 98.693565,\nis_map: true,\npinyin: \"longling\"\n},\n{\nid: 2041,\nname: \"鲁甸\",\nabbr: \"LD\",\narea_code: \"530621\",\nsort: 9999,\nlatitude: 27.191637,\nlongitude: 103.549332,\nis_map: true,\npinyin: \"ludian\"\n},\n{\nid: 2061,\nname: \"澜沧拉祜族自治县\",\nabbr: \"LCLHZZZX\",\narea_code: \"530828\",\nsort: 9999,\nlatitude: 22.553083,\nlongitude: 99.931198,\nis_map: true,\npinyin: \"lancanglahuzuzizhixian\"\n},\n{\nid: 2063,\nname: \"临沧\",\nabbr: \"LC\",\narea_code: \"530900\",\nsort: 9999,\nlatitude: 23.886566,\nlongitude: 100.086967,\nis_map: true,\npinyin: \"lincang\"\n},\n{\nid: 2080,\nname: \"禄丰\",\nabbr: \"LF\",\narea_code: \"532331\",\nsort: 9999,\nlatitude: 25.14327,\nlongitude: 102.075691,\nis_map: true,\npinyin: \"lufeng\"\n},\n{\nid: 2084,\nname: \"泸西\",\nabbr: \"LX\",\narea_code: \"532527\",\nsort: 9999,\nlatitude: 24.532368,\nlongitude: 103.759621,\nis_map: true,\npinyin: \"luxi\"\n},\n{\nid: 2087,\nname: \"绿春\",\nabbr: \"LC\",\narea_code: \"532531\",\nsort: 9999,\nlatitude: 22.993521,\nlongitude: 102.39286,\nis_map: true,\npinyin: \"lvchun\"\n},\n{\nid: 2114,\nname: \"梁河\",\nabbr: \"LH\",\narea_code: \"533122\",\nsort: 9999,\nlatitude: 24.807421,\nlongitude: 98.298195,\nis_map: true,\npinyin: \"lianghe\"\n},\n{\nid: 2116,\nname: \"陇川\",\nabbr: \"LC\",\narea_code: \"533124\",\nsort: 9999,\nlatitude: 24.184065,\nlongitude: 97.794441,\nis_map: true,\npinyin: \"longchuan\"\n},\n{\nid: 2118,\nname: \"泸水\",\nabbr: \"LS\",\narea_code: \"533321\",\nsort: 9999,\nlatitude: 25.851143,\nlongitude: 98.854065,\nis_map: true,\npinyin: \"lushui\"\n},\n{\nid: 2121,\nname: \"兰坪白族普米族自治县\",\nabbr: \"LPBZPMZZZX\",\narea_code: \"533325\",\nsort: 9999,\nlatitude: 26.453838,\nlongitude: 99.421379,\nis_map: true,\npinyin: \"lanpingbaizupumizuzizhixian\"\n},\n{\nid: 2196,\nname: \"林芝地区\",\nabbr: \"LZDQ\",\narea_code: \"542600\",\nsort: 9999,\nlatitude: 29.654694,\nlongitude: 94.36235,\nis_map: true,\npinyin: \"linzhidiqu\"\n},\n{\nid: 2204,\nname: \"蓝田县\",\nabbr: \"LTX\",\narea_code: \"610122\",\nsort: 9999,\nlatitude: 34.156189,\nlongitude: 109.317635,\nis_map: true,\npinyin: \"lantian\"\n},\n{\nid: 2278,\nname: \"洛南\",\nabbr: \"LN\",\narea_code: \"611021\",\nsort: 9999,\nlatitude: 34.088501,\nlongitude: 110.145714,\nis_map: true,\npinyin: \"luonan\"\n},\n{\nid: 2301,\nname: \"临泽\",\nabbr: \"LZ\",\narea_code: \"620723\",\nsort: 9999,\nlatitude: 39.152149,\nlongitude: 100.166336,\nis_map: true,\npinyin: \"linze\"\n},\n{\nid: 2330,\nname: \"陇南\",\nabbr: \"LN\",\narea_code: \"621200\",\nsort: 9999,\nlatitude: 33.388599,\nlongitude: 104.929382,\nis_map: true,\npinyin: \"longnan\"\n},\n{\nid: 2405,\nname: \"灵武\",\nabbr: \"LW\",\narea_code: \"640181\",\nsort: 9999,\nlatitude: 38.094059,\nlongitude: 106.334702,\nis_map: true,\npinyin: \"lingwu\"\n},\n{\nid: 5034,\nname: \"鹿泉区\",\nabbr: \"LQQ\",\narea_code: \"130110\",\nsort: 9999,\nlatitude: 38.085869,\nlongitude: 114.313438,\nis_map: true,\npinyin: \"luquanqu\"\n},\n{\nid: 5035,\nname: \"栾城区\",\nabbr: \"LCQ\",\narea_code: \"130111\",\nsort: 9999,\nlatitude: 37.900249,\nlongitude: 114.648392,\nis_map: true,\npinyin: \"luanchengqu\"\n},\n{\nid: 5696,\nname: \"临桂区\",\nabbr: \"LGQ\",\narea_code: \"450312\",\nsort: 9999,\nlatitude: 25.24774,\nlongitude: 110.201714,\nis_map: true,\npinyin: \"linguiqu\"\n},\n{\nid: 5820,\nname: \"临翔区\",\nabbr: \"LXQ\",\narea_code: \"530902\",\nsort: 9999,\nlatitude: 23.886562,\nlongitude: 100.086487,\nis_map: true,\npinyin: \"linxiangqu\"\n},\n{\nid: 5830,\nname: \"临潼区\",\nabbr: \"LTQ\",\narea_code: \"610115\",\nsort: 9999,\nlatitude: 34.372066,\nlongitude: 109.213989,\nis_map: true,\npinyin: \"lintongqu\"\n}\n],\nZ: [\n{\nid: 342,\nname: \"张掖\",\nabbr: \"ZY\",\narea_code: \"0936\",\nsort: 1900,\nlatitude: 38.925919,\nlongitude: 100.449806,\nis_map: true,\npinyin: \"zhangye\"\n},\n{\nid: 399,\nname: \"驻马店\",\nabbr: \"ZMD\",\narea_code: \"0396\",\nsort: 1900,\nlatitude: 33.011421,\nlongitude: 114.022987,\nis_map: true,\npinyin: \"zhumadian\"\n},\n{\nid: 26,\nname: \"珠海\",\nabbr: \"ZH\",\narea_code: \"0756\",\nsort: 2000,\nlatitude: 22.270729,\nlongitude: 113.576683,\nis_map: true,\npinyin: \"zhuhai\"\n},\n{\nid: 27,\nname: \"镇江\",\nabbr: \"ZJ\",\narea_code: \"0511\",\nsort: 2000,\nlatitude: 32.18959,\nlongitude: 119.425003,\nis_map: true,\npinyin: \"zhenjiang\"\n},\n{\nid: 32,\nname: \"郑州\",\nabbr: \"ZZ\",\narea_code: \"0371\",\nsort: 2000,\nlatitude: 34.74725,\nlongitude: 113.624931,\nis_map: true,\npinyin: \"zhengzhou\"\n},\n{\nid: 50,\nname: \"淄博\",\nabbr: \"ZB\",\narea_code: \"0533\",\nsort: 2000,\nlatitude: 36.813099,\nlongitude: 118.054802,\nis_map: true,\npinyin: \"zibo\"\n},\n{\nid: 54,\nname: \"枣庄\",\nabbr: \"ZZ\",\narea_code: \"0632\",\nsort: 2000,\nlatitude: 34.810711,\nlongitude: 117.32196,\nis_map: true,\npinyin: \"zaozhuang\"\n},\n{\nid: 64,\nname: \"肇庆\",\nabbr: \"ZQ\",\narea_code: \"0758\",\nsort: 2000,\nlatitude: 23.0469,\nlongitude: 112.465279,\nis_map: true,\npinyin: \"zhaoqing\"\n},\n{\nid: 79,\nname: \"湛江\",\nabbr: \"ZJ\",\narea_code: \"0759\",\nsort: 2000,\nlatitude: 21.271339,\nlongitude: 110.35894,\nis_map: true,\npinyin: \"zhanjiang\"\n},\n{\nid: 105,\nname: \"自贡\",\nabbr: \"ZG\",\narea_code: \"0813\",\nsort: 2000,\nlatitude: 29.339199,\nlongitude: 104.778442,\nis_map: true,\npinyin: \"zigong\"\n},\n{\nid: 111,\nname: \"漳州\",\nabbr: \"ZZ\",\narea_code: \"0596\",\nsort: 2000,\nlatitude: 24.51347,\nlongitude: 117.647247,\nis_map: true,\npinyin: \"zhangzhou\"\n},\n{\nid: 126,\nname: \"株洲\",\nabbr: \"ZZ\",\narea_code: \"430200\",\nsort: 2000,\nlatitude: 27.827669,\nlongitude: 113.133957,\nis_map: true,\npinyin: \"zhuzhou\"\n},\n{\nid: 154,\nname: \"张家口\",\nabbr: \"ZJK\",\narea_code: \"0313\",\nsort: 2000,\nlatitude: 40.82444,\nlongitude: 114.88755,\nis_map: true,\npinyin: \"zhangjiakou\"\n},\n{\nid: 203,\nname: \"中山\",\nabbr: \"ZS\",\narea_code: \"0760\",\nsort: 2000,\nlatitude: 22.515949,\nlongitude: 113.392601,\nis_map: true,\npinyin: \"zhongshan\"\n},\n{\nid: 204,\nname: \"周口\",\nabbr: \"ZK\",\narea_code: \"0394\",\nsort: 2000,\nlatitude: 33.625832,\nlongitude: 114.696953,\nis_map: true,\npinyin: \"zhoukou\"\n},\n{\nid: 280,\nname: \"张家界\",\nabbr: \"ZJJ\",\narea_code: \"0744\",\nsort: 2000,\nlatitude: 29.116671,\nlongitude: 110.478394,\nis_map: true,\npinyin: \"zhangjiajie\"\n},\n{\nid: 295,\nname: \"昭通\",\nabbr: \"ZTS\",\narea_code: \"88888888888\",\nsort: 2000,\nlatitude: 27.338169,\nlongitude: 103.716797,\nis_map: true,\npinyin: \"zhaotongshi\"\n},\n{\nid: 299,\nname: \"舟山\",\nabbr: \"ZS\",\narea_code: \"0580\",\nsort: 2000,\nlatitude: 29.98539,\nlongitude: 122.207779,\nis_map: true,\npinyin: \"zhoushan\"\n},\n{\nid: 323,\nname: \"资阳\",\nabbr: \"ZY\",\narea_code: \"02811\",\nsort: 2000,\nlatitude: 30.12859,\nlongitude: 104.627983,\nis_map: true,\npinyin: \"ziyang\"\n},\n{\nid: 453,\nname: \"长寿\",\nabbr: \"ZS\",\narea_code: \"10031\",\nsort: 2000,\nlatitude: 29.857809,\nlongitude: 107.081047,\nis_map: true,\npinyin: \"zhangshou\"\n},\n{\nid: 485,\nname: \"枞阳\",\nabbr: \"ZY\",\narea_code: \"200031\",\nsort: 2000,\nlatitude: 30.69961,\nlongitude: 117.220192,\nis_map: true,\npinyin: \"zongyang\"\n},\n{\nid: 503,\nname: \"漳浦\",\nabbr: \"ZP\",\narea_code: \"200049\",\nsort: 2000,\nlatitude: 24.1171,\nlongitude: 117.613724,\nis_map: true,\npinyin: \"zhangpu\"\n},\n{\nid: 508,\nname: \"诏安\",\nabbr: \"ZA\",\narea_code: \"200054\",\nsort: 2000,\nlatitude: 23.711519,\nlongitude: 117.175079,\nis_map: true,\npinyin: \"zhaoan\"\n},\n{\nid: 531,\nname: \"增城\",\nabbr: \"ZC\",\narea_code: \"200077\",\nsort: 2000,\nlatitude: 23.260929,\nlongitude: 113.810898,\nis_map: true,\npinyin: \"zengcheng\"\n},\n{\nid: 564,\nname: \"紫金\",\nabbr: \"ZJ\",\narea_code: \"200110\",\nsort: 2000,\nlatitude: 23.635321,\nlongitude: 115.183983,\nis_map: true,\npinyin: \"zijin\"\n},\n{\nid: 574,\nname: \"织金\",\nabbr: \"ZJ\",\narea_code: \"200120\",\nsort: 2000,\nlatitude: 26.66301,\nlongitude: 105.774879,\nis_map: true,\npinyin: \"zhijin\"\n},\n{\nid: 606,\nname: \"正定\",\nabbr: \"ZD\",\narea_code: \"200152\",\nsort: 2000,\nlatitude: 38.146179,\nlongitude: 114.570961,\nis_map: true,\npinyin: \"zhengding\"\n},\n{\nid: 612,\nname: \"赵县\",\nabbr: \"ZX\",\narea_code: \"200158\",\nsort: 2000,\nlatitude: 37.75631,\nlongitude: 114.776161,\nis_map: true,\npinyin: \"zhaoxian\"\n},\n{\nid: 637,\nname: \"镇平\",\nabbr: \"ZP\",\narea_code: \"200183\",\nsort: 2000,\nlatitude: 33.033909,\nlongitude: 112.234482,\nis_map: true,\npinyin: \"zhenping\"\n},\n{\nid: 663,\nname: \"柘城\",\nabbr: \"ZC\",\narea_code: \"200209\",\nsort: 2000,\nlatitude: 34.091141,\nlongitude: 115.305443,\nis_map: true,\npinyin: \"zhecheng\"\n},\n{\nid: 670,\nname: \"中牟\",\nabbr: \"ZM\",\narea_code: \"200216\",\nsort: 2000,\nlatitude: 34.719028,\nlongitude: 113.976242,\nis_map: true,\npinyin: \"zhongmou\"\n},\n{\nid: 700,\nname: \"肇东\",\nabbr: \"ZD\",\narea_code: \"200246\",\nsort: 2000,\nlatitude: 46.051208,\nlongitude: 125.962502,\nis_map: true,\npinyin: \"zhaodong\"\n},\n{\nid: 713,\nname: \"枣阳\",\nabbr: \"ZY\",\narea_code: \"200259\",\nsort: 2000,\nlatitude: 32.128361,\nlongitude: 112.773979,\nis_map: true,\npinyin: \"zaoyang\"\n},\n{\nid: 715,\nname: \"钟祥\",\nabbr: \"ZX\",\narea_code: \"200261\",\nsort: 2000,\nlatitude: 31.167971,\nlongitude: 112.588173,\nis_map: true,\npinyin: \"zhongxiang\"\n},\n{\nid: 731,\nname: \"枝江\",\nabbr: \"ZJ\",\narea_code: \"200277\",\nsort: 2000,\nlatitude: 30.425831,\nlongitude: 111.760437,\nis_map: true,\npinyin: \"zhijiang\"\n},\n{\nid: 785,\nname: \"资兴\",\nabbr: \"ZX\",\narea_code: \"200331\",\nsort: 2000,\nlatitude: 25.976191,\nlongitude: 113.236008,\nis_map: true,\npinyin: \"zixing\"\n},\n{\nid: 893,\nname: \"樟树\",\nabbr: \"ZS\",\narea_code: \"200439\",\nsort: 2000,\nlatitude: 28.055889,\nlongitude: 115.54615,\nis_map: true,\npinyin: \"zhangshu\"\n},\n{\nid: 899,\nname: \"庄河\",\nabbr: \"ZH\",\narea_code: \"200445\",\nsort: 2000,\nlatitude: 39.68037,\nlongitude: 122.96611,\nis_map: true,\npinyin: \"zhuanghe\"\n},\n{\nid: 918,\nname: \"准格尔\",\nabbr: \"ZGE\",\narea_code: \"200464\",\nsort: 2000,\nlatitude: 39.864262,\nlongitude: 111.239868,\nis_map: true,\npinyin: \"zhungeer\"\n},\n{\nid: 925,\nname: \"诸城\",\nabbr: \"ZC\",\narea_code: \"200471\",\nsort: 2000,\nlatitude: 35.995831,\nlongitude: 119.409828,\nis_map: true,\npinyin: \"zhucheng\"\n},\n{\nid: 926,\nname: \"章丘\",\nabbr: \"ZQ\",\narea_code: \"200472\",\nsort: 2000,\nlatitude: 36.67968,\nlongitude: 117.52578,\nis_map: true,\npinyin: \"zhangqiu\"\n},\n{\nid: 927,\nname: \"邹城\",\nabbr: \"ZC\",\narea_code: \"200473\",\nsort: 2000,\nlatitude: 35.40522,\nlongitude: 117.003853,\nis_map: true,\npinyin: \"zoucheng\"\n},\n{\nid: 939,\nname: \"邹平\",\nabbr: \"ZP\",\narea_code: \"200485\",\nsort: 2000,\nlatitude: 36.862991,\nlongitude: 117.743088,\nis_map: true,\npinyin: \"zouping\"\n},\n{\nid: 965,\nname: \"招远\",\nabbr: \"ZY\",\narea_code: \"200511\",\nsort: 2000,\nlatitude: 37.355309,\nlongitude: 120.434212,\nis_map: true,\npinyin: \"zhaoyuan\"\n},\n{\nid: 1003,\nname: \"泽州\",\nabbr: \"ZZ\",\narea_code: \"200549\",\nsort: 2000,\nlatitude: 35.500431,\nlongitude: 112.943657,\nis_map: true,\npinyin: \"zezhou\"\n},\n{\nid: 1025,\nname: \"资中\",\nabbr: \"ZZ\",\narea_code: \"200571\",\nsort: 2000,\nlatitude: 29.76416,\nlongitude: 104.852119,\nis_map: true,\npinyin: \"zizhong\"\n},\n{\nid: 1028,\nname: \"中江\",\nabbr: \"ZJ\",\narea_code: \"200574\",\nsort: 2000,\nlatitude: 31.033039,\nlongitude: 104.678719,\nis_map: true,\npinyin: \"zhongjiang\"\n},\n{\nid: 1066,\nname: \"镇雄\",\nabbr: \"ZX\",\narea_code: \"200612\",\nsort: 2000,\nlatitude: 27.4415,\nlongitude: 104.873596,\nis_map: true,\npinyin: \"zhenxiong\"\n},\n{\nid: 1067,\nname: \"沾益\",\nabbr: \"ZY\",\narea_code: \"200613\",\nsort: 2000,\nlatitude: 25.60009,\nlongitude: 103.822258,\nis_map: true,\npinyin: \"zhanyi\"\n},\n{\nid: 1081,\nname: \"诸暨\",\nabbr: \"ZJ\",\narea_code: \"200627\",\nsort: 2000,\nlatitude: 29.71364,\nlongitude: 120.23632,\nis_map: true,\npinyin: \"zhuji\"\n},\n{\nid: 1128,\nname: \"忠县\",\nabbr: \"ZX\",\narea_code: \"200674\",\nsort: 2000,\nlatitude: 30.300261,\nlongitude: 108.037666,\nis_map: true,\npinyin: \"zhongxian\"\n},\n{\nid: 1142,\nname: \"樟木头\",\nabbr: \"ZMT\",\narea_code: \"441900000\",\nsort: 2000,\nlatitude: 23.020691,\nlongitude: 113.751808,\nis_map: false,\npinyin: \"zhangmutou\"\n},\n{\nid: 357,\nname: \"张家港\",\nabbr: \"ZJG\",\narea_code: \"05123\",\nsort: 9999,\nlatitude: 31.875469,\nlongitude: 120.555496,\nis_map: true,\npinyin: \"zhangjiagang\"\n},\n{\nid: 370,\nname: \"涿州\",\nabbr: \"ZZ\",\narea_code: \"03121\",\nsort: 9999,\nlatitude: 39.485291,\nlongitude: 115.974388,\nis_map: true,\npinyin: \"zhuozhou\"\n},\n{\nid: 379,\nname: \"遵义\",\nabbr: \"ZY\",\narea_code: \"0852\",\nsort: 9999,\nlatitude: 28.17544,\nlongitude: 107.816093,\nis_map: true,\npinyin: \"zunyi\"\n},\n{\nid: 380,\nname: \"遵化\",\nabbr: \"ZH\",\narea_code: \"03151\",\nsort: 9999,\nlatitude: 40.18924,\nlongitude: 117.965668,\nis_map: true,\npinyin: \"zunhua\"\n},\n{\nid: 1144,\nname: \"中卫\",\nabbr: \"ZW\",\narea_code: \"640500\",\nsort: 9999,\nlatitude: 37.500259,\nlongitude: 105.196762,\nis_map: true,\npinyin: \"zhongwei\"\n},\n{\nid: 1145,\nname: \"政和\",\nabbr: \"ZH\",\narea_code: \"350725\",\nsort: 9999,\nlatitude: 27.366091,\nlongitude: 118.857536,\nis_map: true,\npinyin: \"zhenghe\"\n},\n{\nid: 1152,\nname: \"柘荣\",\nabbr: \"ZR\",\narea_code: \"350926\",\nsort: 9999,\nlatitude: 27.23513,\nlongitude: 119.900848,\nis_map: true,\npinyin: \"zherong\"\n},\n{\nid: 1162,\nname: \"正阳\",\nabbr: \"ZY\",\narea_code: \"411724\",\nsort: 9999,\nlatitude: 32.605659,\nlongitude: 114.392738,\nis_map: true,\npinyin: \"zhengyang\"\n},\n{\nid: 1218,\nname: \"张北\",\nabbr: \"ZB\",\narea_code: \"130722\",\nsort: 9999,\nlatitude: 41.151714,\nlongitude: 114.71595,\nis_map: true,\npinyin: \"zhangbei\"\n},\n{\nid: 1227,\nname: \"涿鹿\",\nabbr: \"ZL\",\narea_code: \"130731\",\nsort: 9999,\nlatitude: 40.3787,\nlongitude: 115.219246,\nis_map: true,\npinyin: \"zhuolu\"\n},\n{\nid: 1248,\nname: \"枣强\",\nabbr: \"ZQ\",\narea_code: \"131121\",\nsort: 9999,\nlatitude: 37.511513,\nlongitude: 115.726501,\nis_map: true,\npinyin: \"zaoqiang\"\n},\n{\nid: 1278,\nname: \"长子\",\nabbr: \"ZZ\",\narea_code: \"140428\",\nsort: 9999,\nlatitude: 36.119484,\nlongitude: 112.884659,\nis_map: true,\npinyin: \"zhangzi\"\n},\n{\nid: 1364,\nname: \"扎鲁特旗\",\nabbr: \"ZLTQ\",\narea_code: \"150526\",\nsort: 9999,\nlatitude: 44.555294,\nlongitude: 120.905273,\nis_map: true,\npinyin: \"zhaluteqi\"\n},\n{\nid: 1378,\nname: \"扎兰屯\",\nabbr: \"ZLT\",\narea_code: \"150783\",\nsort: 9999,\nlatitude: 48.007412,\nlongitude: 122.7444,\nis_map: true,\npinyin: \"zhalantun\"\n},\n{\nid: 1387,\nname: \"卓资\",\nabbr: \"ZZ\",\narea_code: \"150921\",\nsort: 9999,\nlatitude: 40.89576,\nlongitude: 112.577705,\nis_map: true,\npinyin: \"zhuozi\"\n},\n{\nid: 1401,\nname: \"扎赉特旗\",\nabbr: \"ZLTQ\",\narea_code: \"152223\",\nsort: 9999,\nlatitude: 46.725136,\nlongitude: 122.909332,\nis_map: true,\npinyin: \"zhalaiteqi\"\n},\n{\nid: 1412,\nname: \"正镶白旗\",\nabbr: \"ZXBQ\",\narea_code: \"152529\",\nsort: 9999,\nlatitude: 42.307152,\nlongitude: 115.005943,\nis_map: true,\npinyin: \"zhengxiangbaiqi\"\n},\n{\nid: 1413,\nname: \"正蓝旗\",\nabbr: \"ZLQ\",\narea_code: \"152530\",\nsort: 9999,\nlatitude: 42.245895,\nlongitude: 116.003311,\nis_map: true,\npinyin: \"zhenglanqi\"\n},\n{\nid: 1434,\nname: \"彰武\",\nabbr: \"ZW\",\narea_code: \"210922\",\nsort: 9999,\nlatitude: 42.384823,\nlongitude: 122.537445,\nis_map: true,\npinyin: \"zhangwu\"\n},\n{\nid: 1458,\nname: \"镇赉\",\nabbr: \"ZL\",\narea_code: \"220821\",\nsort: 9999,\nlatitude: 45.846088,\nlongitude: 123.202248,\nis_map: true,\npinyin: \"zhenlai\"\n},\n{\nid: 1486,\nname: \"肇州\",\nabbr: \"ZZ\",\narea_code: \"230621\",\nsort: 9999,\nlatitude: 45.708687,\nlongitude: 125.273254,\nis_map: true,\npinyin: \"zhaozhou\"\n},\n{\nid: 1487,\nname: \"肇源\",\nabbr: \"ZY\",\narea_code: \"230622\",\nsort: 9999,\nlatitude: 45.518833,\nlongitude: 125.08197,\nis_map: true,\npinyin: \"zhaoyuan\"\n},\n{\nid: 1553,\nname: \"赞皇\",\nabbr: \"ZH\",\narea_code: \"130129\",\nsort: 9999,\nlatitude: 37.660198,\nlongitude: 114.387756,\nis_map: true,\npinyin: \"zanhuang\"\n},\n{\nid: 1568,\nname: \"漳平\",\nabbr: \"ZP\",\narea_code: \"350881\",\nsort: 9999,\nlatitude: 25.291597,\nlongitude: 117.420731,\nis_map: true,\npinyin: \"zhangping\"\n},\n{\nid: 1571,\nname: \"周宁\",\nabbr: \"ZN\",\narea_code: \"350925\",\nsort: 9999,\nlatitude: 27.103106,\nlongitude: 119.338242,\nis_map: true,\npinyin: \"zhouning\"\n},\n{\nid: 1615,\nname: \"资溪\",\nabbr: \"ZX\",\narea_code: \"361028\",\nsort: 9999,\nlatitude: 27.70653,\nlongitude: 117.066093,\nis_map: true,\npinyin: \"zixi\"\n},\n{\nid: 1700,\nname: \"株洲县\",\nabbr: \"ZZX\",\narea_code: \"430221\",\nsort: 9999,\nlatitude: 27.705845,\nlongitude: 113.146179,\nis_map: true,\npinyin: \"zhuzhou\"\n},\n{\nid: 1785,\nname: \"资源\",\nabbr: \"ZY\",\narea_code: \"450329\",\nsort: 9999,\nlatitude: 26.034201,\nlongitude: 110.642586,\nis_map: true,\npinyin: \"ziyuan\"\n},\n{\nid: 1814,\nname: \"昭平\",\nabbr: \"ZP\",\narea_code: \"451121\",\nsort: 9999,\nlatitude: 24.172958,\nlongitude: 110.810867,\nis_map: true,\npinyin: \"zhaoping\"\n},\n{\nid: 1815,\nname: \"钟山\",\nabbr: \"ZS\",\narea_code: \"451122\",\nsort: 9999,\nlatitude: 24.528566,\nlongitude: 111.303627,\nis_map: true,\npinyin: \"zhongshan\"\n},\n{\nid: 1963,\nname: \"正安\",\nabbr: \"ZA\",\narea_code: \"520324\",\nsort: 9999,\nlatitude: 28.550337,\nlongitude: 107.441872,\nis_map: true,\npinyin: \"zhengan\"\n},\n{\nid: 1973,\nname: \"镇宁布依族苗族自治县\",\nabbr: \"ZNBYZMZZZX\",\narea_code: \"520423\",\nsort: 9999,\nlatitude: 26.056095,\nlongitude: 105.768654,\nis_map: true,\npinyin: \"zhenningbuyizumiaozuzizhixian\"\n},\n{\nid: 1975,\nname: \"紫云苗族布依族自治县\",\nabbr: \"ZYMZBYZZZX\",\narea_code: \"520425\",\nsort: 9999,\nlatitude: 25.751568,\nlongitude: 106.084518,\nis_map: true,\npinyin: \"ziyunmiaozubuyizuzizhixian\"\n},\n{\nid: 1990,\nname: \"贞丰\",\nabbr: \"ZF\",\narea_code: \"522325\",\nsort: 9999,\nlatitude: 25.385752,\nlongitude: 105.650131,\nis_map: true,\npinyin: \"zhenfeng\"\n},\n{\nid: 1998,\nname: \"镇远\",\nabbr: \"ZY\",\narea_code: \"522625\",\nsort: 9999,\nlatitude: 27.050234,\nlongitude: 108.423653,\nis_map: true,\npinyin: \"zhenyuan\"\n},\n{\nid: 2058,\nname: \"镇沅彝族哈尼族拉祜族自治县\",\nabbr: \"ZYYZHNZLHZZZX\",\narea_code: \"530825\",\nsort: 9999,\nlatitude: 24.005713,\nlongitude: 101.108513,\nis_map: true,\npinyin: \"zhenyuanyizuhanizulahuzuzizhixian\"\n},\n{\nid: 2067,\nname: \"镇康\",\nabbr: \"ZK\",\narea_code: \"530924\",\nsort: 9999,\nlatitude: 23.88583,\nlongitude: 99.024818,\nis_map: true,\npinyin: \"zhenkang\"\n},\n{\nid: 2242,\nname: \"志丹\",\nabbr: \"ZD\",\narea_code: \"610625\",\nsort: 9999,\nlatitude: 36.823032,\nlongitude: 108.768898,\nis_map: true,\npinyin: \"zhidan\"\n},\n{\nid: 2282,\nname: \"镇安\",\nabbr: \"ZA\",\narea_code: \"611025\",\nsort: 9999,\nlatitude: 33.423981,\nlongitude: 109.151077,\nis_map: true,\npinyin: \"zhenan\"\n},\n{\nid: 2283,\nname: \"柞水\",\nabbr: \"ZS\",\narea_code: \"611026\",\nsort: 9999,\nlatitude: 33.682774,\nlongitude: 109.111252,\nis_map: true,\npinyin: \"zuoshui\"\n},\n{\nid: 2415,\nname: \"中宁县\",\nabbr: \"ZNX\",\narea_code: \"640521\",\nsort: 9999,\nlatitude: 37.489735,\nlongitude: 105.675781,\nis_map: true,\npinyin: \"zhongning\"\n}\n],\nB: [\n{\nid: 3,\nname: \"北京\",\nabbr: \"BJ\",\narea_code: \"010\",\nsort: 2000,\nlatitude: 39.90469,\nlongitude: 116.407173,\nis_map: true,\npinyin: \"beijing\"\n},\n{\nid: 68,\nname: \"包头\",\nabbr: \"BT\",\narea_code: \"0472\",\nsort: 2000,\nlatitude: 40.65781,\nlongitude: 109.84021,\nis_map: true,\npinyin: \"baotou\"\n},\n{\nid: 75,\nname: \"蚌埠\",\nabbr: \"BB\",\narea_code: \"0552\",\nsort: 2000,\nlatitude: 32.915482,\nlongitude: 117.38932,\nis_map: true,\npinyin: \"bengbu\"\n},\n{\nid: 95,\nname: \"保定\",\nabbr: \"BD\",\narea_code: \"0312\",\nsort: 2000,\nlatitude: 38.873959,\nlongitude: 115.464592,\nis_map: true,\npinyin: \"baoding\"\n},\n{\nid: 134,\nname: \"滨州\",\nabbr: \"BZ\",\narea_code: \"0543\",\nsort: 2000,\nlatitude: 37.382111,\nlongitude: 117.972794,\nis_map: true,\npinyin: \"binzhou\"\n},\n{\nid: 136,\nname: \"毕节\",\nabbr: \"BJ\",\narea_code: \"0857\",\nsort: 2000,\nlatitude: 27.29847,\nlongitude: 105.305038,\nis_map: true,\npinyin: \"bijie\"\n},\n{\nid: 156,\nname: \"百色\",\nabbr: \"BS\",\narea_code: \"0776\",\nsort: 2000,\nlatitude: 23.902161,\nlongitude: 106.618378,\nis_map: true,\npinyin: \"baise\"\n},\n{\nid: 223,\nname: \"白城\",\nabbr: \"BC\",\narea_code: \"0436\",\nsort: 2000,\nlatitude: 45.619598,\nlongitude: 122.838707,\nis_map: true,\npinyin: \"baicheng\"\n},\n{\nid: 244,\nname: \"宝鸡\",\nabbr: \"BJ\",\narea_code: \"0917\",\nsort: 2000,\nlatitude: 34.361938,\nlongitude: 107.23732,\nis_map: true,\npinyin: \"baoji\"\n},\n{\nid: 264,\nname: \"保山\",\nabbr: \"BS\",\narea_code: \"0875\",\nsort: 2000,\nlatitude: 25.112049,\nlongitude: 99.161812,\nis_map: true,\npinyin: \"baoshan\"\n},\n{\nid: 290,\nname: \"北海\",\nabbr: \"BH\",\narea_code: \"0779\",\nsort: 2000,\nlatitude: 21.481119,\nlongitude: 109.120079,\nis_map: true,\npinyin: \"beihai\"\n},\n{\nid: 313,\nname: \"亳州\",\nabbr: \"BZ\",\narea_code: \"05581\",\nsort: 2000,\nlatitude: 33.844608,\nlongitude: 115.779312,\nis_map: true,\npinyin: \"bozhou\"\n},\n{\nid: 317,\nname: \"巴中\",\nabbr: \"BZ\",\narea_code: \"0827\",\nsort: 2000,\nlatitude: 31.867149,\nlongitude: 106.74733,\nis_map: true,\npinyin: \"bazhong\"\n},\n{\nid: 336,\nname: \"本溪\",\nabbr: \"BX\",\narea_code: \"0414\",\nsort: 2000,\nlatitude: 41.294128,\nlongitude: 123.766861,\nis_map: true,\npinyin: \"benxi\"\n},\n{\nid: 397,\nname: \"白山\",\nabbr: \"BS\",\narea_code: \"0439\",\nsort: 2000,\nlatitude: 41.9408,\nlongitude: 126.424431,\nis_map: true,\npinyin: \"baishan\"\n},\n{\nid: 422,\nname: \"巴南\",\nabbr: \"BN\",\narea_code: \"10000\",\nsort: 2000,\nlatitude: 29.402679,\nlongitude: 106.540413,\nis_map: true,\npinyin: \"banan\"\n},\n{\nid: 423,\nname: \"北碚\",\nabbr: \"BB\",\narea_code: \"10001\",\nsort: 2000,\nlatitude: 29.80583,\nlongitude: 106.396278,\nis_map: true,\npinyin: \"beibei\"\n},\n{\nid: 425,\nname: \"璧山\",\nabbr: \"BS\",\narea_code: \"10003\",\nsort: 2000,\nlatitude: 29.59202,\nlongitude: 106.227417,\nis_map: true,\npinyin: \"bishan\"\n},\n{\nid: 522,\nname: \"白银\",\nabbr: \"BY\",\narea_code: \"200068\",\nsort: 2000,\nlatitude: 36.544701,\nlongitude: 104.137733,\nis_map: true,\npinyin: \"baiyin\"\n},\n{\nid: 534,\nname: \"博罗\",\nabbr: \"BL\",\narea_code: \"200080\",\nsort: 2000,\nlatitude: 23.173149,\nlongitude: 114.289726,\nis_map: true,\npinyin: \"boluo\"\n},\n{\nid: 566,\nname: \"北流\",\nabbr: \"BL\",\narea_code: \"200112\",\nsort: 2000,\nlatitude: 22.70837,\nlongitude: 110.354263,\nis_map: true,\npinyin: \"beiliu\"\n},\n{\nid: 596,\nname: \"霸州\",\nabbr: \"BZ\",\narea_code: \"200142\",\nsort: 2000,\nlatitude: 39.12709,\nlongitude: 116.391342,\nis_map: true,\npinyin: \"bazhou\"\n},\n{\nid: 652,\nname: \"泌阳\",\nabbr: \"BY\",\narea_code: \"200198\",\nsort: 2000,\nlatitude: 32.724098,\nlongitude: 113.327087,\nis_map: true,\npinyin: \"biyang\"\n},\n{\nid: 684,\nname: \"博爱\",\nabbr: \"BA\",\narea_code: \"200230\",\nsort: 2000,\nlatitude: 35.17123,\nlongitude: 113.064529,\nis_map: true,\npinyin: \"boai\"\n},\n{\nid: 690,\nname: \"宝丰\",\nabbr: \"BF\",\narea_code: \"200236\",\nsort: 2000,\nlatitude: 33.868401,\nlongitude: 113.054787,\nis_map: true,\npinyin: \"baofeng\"\n},\n{\nid: 705,\nname: \"北安\",\nabbr: \"BA\",\narea_code: \"200251\",\nsort: 2000,\nlatitude: 48.241459,\nlongitude: 126.491081,\nis_map: true,\npinyin: \"beian\"\n},\n{\nid: 839,\nname: \"滨海\",\nabbr: \"BH\",\narea_code: \"200385\",\nsort: 2000,\nlatitude: 33.98975,\nlongitude: 119.820641,\nis_map: true,\npinyin: \"binhai\"\n},\n{\nid: 856,\nname: \"宝应\",\nabbr: \"BY\",\narea_code: \"200402\",\nsort: 2000,\nlatitude: 33.241421,\nlongitude: 119.358414,\nis_map: true,\npinyin: \"baoying\"\n},\n{\nid: 914,\nname: \"巴彦淖尔\",\nabbr: \"BYNE\",\narea_code: \"200460\",\nsort: 2000,\nlatitude: 40.743172,\nlongitude: 107.387733,\nis_map: true,\npinyin: \"bayannaoer\"\n},\n{\nid: 970,\nname: \"博兴\",\nabbr: \"BX\",\narea_code: \"200516\",\nsort: 2000,\nlatitude: 37.152988,\nlongitude: 118.110962,\nis_map: true,\npinyin: \"boxing\"\n},\n{\nid: 367,\nname: \"泊头\",\nabbr: \"BT\",\narea_code: \"03174\",\nsort: 9999,\nlatitude: 38.083641,\nlongitude: 116.578278,\nis_map: true,\npinyin: \"botou\"\n},\n{\nid: 1157,\nname: \"宾县\",\nabbr: \"BX\",\narea_code: \"230125\",\nsort: 9999,\nlatitude: 45.75864,\nlongitude: 127.485863,\nis_map: true,\npinyin: \"binxian\"\n},\n{\nid: 1193,\nname: \"柏乡\",\nabbr: \"BX\",\narea_code: \"130524\",\nsort: 9999,\nlatitude: 37.483597,\nlongitude: 114.693382,\nis_map: true,\npinyin: \"baixiang\"\n},\n{\nid: 1214,\nname: \"博野\",\nabbr: \"BY\",\narea_code: \"130637\",\nsort: 9999,\nlatitude: 38.458271,\nlongitude: 115.4618,\nis_map: true,\npinyin: \"boye\"\n},\n{\nid: 1351,\nname: \"巴林左旗\",\nabbr: \"BLZQ\",\narea_code: \"150422\",\nsort: 9999,\nlatitude: 43.980717,\nlongitude: 119.391739,\nis_map: true,\npinyin: \"balinzuoqi\"\n},\n{\nid: 1352,\nname: \"巴林右旗\",\nabbr: \"BLYQ\",\narea_code: \"150423\",\nsort: 9999,\nlatitude: 43.528961,\nlongitude: 118.678345,\nis_map: true,\npinyin: \"balinyouqi\"\n},\n{\nid: 1427,\nname: \"本溪满族自治县\",\nabbr: \"BXMZZZX\",\narea_code: \"210521\",\nsort: 9999,\nlatitude: 41.300343,\nlongitude: 124.12616,\nis_map: true,\npinyin: \"benximanzuzizhixian\"\n},\n{\nid: 1432,\nname: \"北镇\",\nabbr: \"BZ\",\narea_code: \"210782\",\nsort: 9999,\nlatitude: 41.598763,\nlongitude: 121.795959,\nis_map: true,\npinyin: \"beizhen\"\n},\n{\nid: 1443,\nname: \"北票\",\nabbr: \"BP\",\narea_code: \"211381\",\nsort: 9999,\nlatitude: 41.803288,\nlongitude: 120.766953,\nis_map: true,\npinyin: \"beipiao\"\n},\n{\nid: 1466,\nname: \"巴彦\",\nabbr: \"BY\",\narea_code: \"230126\",\nsort: 9999,\nlatitude: 46.08189,\nlongitude: 127.403603,\nis_map: true,\npinyin: \"bayan\"\n},\n{\nid: 1476,\nname: \"拜泉\",\nabbr: \"BQ\",\narea_code: \"230231\",\nsort: 9999,\nlatitude: 47.607365,\nlongitude: 126.091911,\nis_map: true,\npinyin: \"baiquan\"\n},\n{\nid: 1484,\nname: \"宝清\",\nabbr: \"BQ\",\narea_code: \"230522\",\nsort: 9999,\nlatitude: 46.328781,\nlongitude: 132.206421,\nis_map: true,\npinyin: \"baoqing\"\n},\n{\nid: 1496,\nname: \"勃利\",\nabbr: \"BL\",\narea_code: \"230921\",\nsort: 9999,\nlatitude: 45.751572,\nlongitude: 130.575027,\nis_map: true,\npinyin: \"boli\"\n},\n{\nid: 1770,\nname: \"宾阳\",\nabbr: \"BY\",\narea_code: \"450126\",\nsort: 9999,\nlatitude: 23.216885,\nlongitude: 108.816734,\nis_map: true,\npinyin: \"binyang\"\n},\n{\nid: 1801,\nname: \"博白\",\nabbr: \"BB\",\narea_code: \"450923\",\nsort: 9999,\nlatitude: 22.271284,\nlongitude: 109.980003,\nis_map: true,\npinyin: \"bobai\"\n},\n{\nid: 1824,\nname: \"巴马瑶族自治县\",\nabbr: \"BMYZZZX\",\narea_code: \"451227\",\nsort: 9999,\nlatitude: 24.139538,\nlongitude: 107.253128,\nis_map: true,\npinyin: \"bamayaozuzizhixian\"\n},\n{\nid: 1845,\nname: \"白沙黎族自治县\",\nabbr: \"BSLZZZX\",\narea_code: \"469025\",\nsort: 9999,\nlatitude: 19.360565,\nlongitude: 109.122688,\nis_map: true,\npinyin: \"baishalizuzizhixian\"\n},\n{\nid: 1848,\nname: \"保亭黎族苗族自治县\",\nabbr: \"BTLZMZZZX\",\narea_code: \"469029\",\nsort: 9999,\nlatitude: 18.636372,\nlongitude: 109.702454,\nis_map: true,\npinyin: \"baotinglizumiaozuzizhixian\"\n},\n{\nid: 2102,\nname: \"宾川\",\nabbr: \"BC\",\narea_code: \"532924\",\nsort: 9999,\nlatitude: 25.829161,\nlongitude: 100.584801,\nis_map: true,\npinyin: \"binchuan\"\n},\n{\nid: 2234,\nname: \"白水\",\nabbr: \"BS\",\narea_code: \"610527\",\nsort: 9999,\nlatitude: 35.177292,\nlongitude: 109.594307,\nis_map: true,\npinyin: \"baishui\"\n},\n{\nid: 2383,\nname: \"班玛县\",\nabbr: \"BMX\",\narea_code: \"632622\",\nsort: 9999,\nlatitude: 32.931587,\nlongitude: 100.737953,\nis_map: true,\npinyin: \"banma\"\n},\n{\nid: 5026,\nname: \"宝坻区\",\nabbr: \"BCQ\",\narea_code: \"120115\",\nsort: 9999,\nlatitude: 39.716965,\nlongitude: 117.30809,\nis_map: true,\npinyin: \"baochiqu\"\n},\n{\nid: 5145,\nname: \"鲅鱼圈区\",\nabbr: \"BYQQ\",\narea_code: \"210804\",\nsort: 9999,\nlatitude: 40.263645,\nlongitude: 122.127243,\nis_map: true,\npinyin: \"bayuquanqu\"\n}\n],\nD: [\n{\nid: 20,\nname: \"大连\",\nabbr: \"DL\",\narea_code: \"0411\",\nsort: 2000,\nlatitude: 38.913689,\nlongitude: 121.614761,\nis_map: true,\npinyin: \"dalian\"\n},\n{\nid: 51,\nname: \"东莞\",\nabbr: \"DG\",\narea_code: \"0769\",\nsort: 2000,\nlatitude: 23.020691,\nlongitude: 113.751808,\nis_map: true,\npinyin: \"dongguan\"\n},\n{\nid: 86,\nname: \"大庆\",\nabbr: \"DQ\",\narea_code: \"0459\",\nsort: 2000,\nlatitude: 46.587582,\nlongitude: 125.103073,\nis_map: true,\npinyin: \"daqing\"\n},\n{\nid: 131,\nname: \"德阳\",\nabbr: \"DY\",\narea_code: \"0838\",\nsort: 2000,\nlatitude: 31.126789,\nlongitude: 104.397903,\nis_map: true,\npinyin: \"deyang\"\n},\n{\nid: 132,\nname: \"东营\",\nabbr: \"DY\",\narea_code: \"0546\",\nsort: 2000,\nlatitude: 37.433651,\nlongitude: 118.67466,\nis_map: true,\npinyin: \"dongying\"\n},\n{\nid: 145,\nname: \"丹东\",\nabbr: \"DD\",\narea_code: \"0415\",\nsort: 2000,\nlatitude: 39.999802,\nlongitude: 124.35601,\nis_map: true,\npinyin: \"dandong\"\n},\n{\nid: 169,\nname: \"大同\",\nabbr: \"DT\",\narea_code: \"0352\",\nsort: 2000,\nlatitude: 40.07637,\nlongitude: 113.300011,\nis_map: true,\npinyin: \"datong\"\n},\n{\nid: 174,\nname: \"大理\",\nabbr: \"DL\",\narea_code: \"0872\",\nsort: 2000,\nlatitude: 25.591579,\nlongitude: 100.229759,\nis_map: true,\npinyin: \"dali\"\n},\n{\nid: 224,\nname: \"德州\",\nabbr: \"DZ\",\narea_code: \"0534\",\nsort: 2000,\nlatitude: 37.435501,\nlongitude: 116.359268,\nis_map: true,\npinyin: \"dezhou\"\n},\n{\nid: 247,\nname: \"达州\",\nabbr: \"DZ\",\narea_code: \"0818\",\nsort: 2000,\nlatitude: 31.208639,\nlongitude: 107.467911,\nis_map: true,\npinyin: \"dazhou\"\n},\n{\nid: 286,\nname: \"儋州\",\nabbr: \"DZ\",\narea_code: \"4600003\",\nsort: 2000,\nlatitude: 19.520929,\nlongitude: 109.580688,\nis_map: true,\npinyin: \"danzhou\"\n},\n{\nid: 426,\nname: \"大渡口\",\nabbr: \"DDK\",\narea_code: \"10004\",\nsort: 2000,\nlatitude: 29.484079,\nlongitude: 106.482246,\nis_map: true,\npinyin: \"dadukou\"\n},\n{\nid: 427,\nname: \"大足\",\nabbr: \"DZ\",\narea_code: \"10005\",\nsort: 2000,\nlatitude: 29.48604,\nlongitude: 105.780167,\nis_map: true,\npinyin: \"dazu\"\n},\n{\nid: 428,\nname: \"都江堰\",\nabbr: \"DJY\",\narea_code: \"10006\",\nsort: 2000,\nlatitude: 30.988371,\nlongitude: 103.646622,\nis_map: true,\npinyin: \"doujiangyan\"\n},\n{\nid: 464,\nname: \"当涂\",\nabbr: \"DT\",\narea_code: \"200010\",\nsort: 2000,\nlatitude: 31.569901,\nlongitude: 118.497803,\nis_map: true,\npinyin: \"dangtu\"\n},\n{\nid: 465,\nname: \"砀山\",\nabbr: \"DS\",\narea_code: \"200011\",\nsort: 2000,\nlatitude: 34.440971,\nlongitude: 116.366058,\nis_map: true,\npinyin: \"dangshan\"\n},\n{\nid: 479,\nname: \"定远\",\nabbr: \"DY\",\narea_code: \"200025\",\nsort: 2000,\nlatitude: 32.52998,\nlongitude: 117.698563,\nis_map: true,\npinyin: \"dingyuan\"\n},\n{\nid: 484,\nname: \"东至\",\nabbr: \"DZ\",\narea_code: \"200030\",\nsort: 2000,\nlatitude: 30.09663,\nlongitude: 117.027657,\nis_map: true,\npinyin: \"dongzhi\"\n},\n{\nid: 511,\nname: \"德化\",\nabbr: \"DH\",\narea_code: \"200057\",\nsort: 2000,\nlatitude: 25.4916,\nlongitude: 118.240982,\nis_map: true,\npinyin: \"dehua\"\n},\n{\nid: 518,\nname: \"大田\",\nabbr: \"DT\",\narea_code: \"200064\",\nsort: 2000,\nlatitude: 25.69261,\nlongitude: 117.84713,\nis_map: true,\npinyin: \"datian\"\n},\n{\nid: 545,\nname: \"电白\",\nabbr: \"DB\",\narea_code: \"200091\",\nsort: 2000,\nlatitude: 21.514139,\nlongitude: 111.013557,\nis_map: true,\npinyin: \"dianbai\"\n},\n{\nid: 575,\nname: \"大方\",\nabbr: \"DF\",\narea_code: \"200121\",\nsort: 2000,\nlatitude: 27.141609,\nlongitude: 105.612999,\nis_map: true,\npinyin: \"dafang\"\n},\n{\nid: 576,\nname: \"都匀\",\nabbr: \"DY\",\narea_code: \"200122\",\nsort: 2000,\nlatitude: 26.25979,\nlongitude: 107.518669,\nis_map: true,\npinyin: \"duyun\"\n},\n{\nid: 583,\nname: \"东方\",\nabbr: \"DF\",\narea_code: \"200129\",\nsort: 2000,\nlatitude: 19.09614,\nlongitude: 108.653671,\nis_map: true,\npinyin: \"dongfang\"\n},\n{\nid: 586,\nname: \"定安\",\nabbr: \"DA\",\narea_code: \"200132\",\nsort: 2000,\nlatitude: 19.68121,\nlongitude: 110.359299,\nis_map: true,\npinyin: \"dingan\"\n},\n{\nid: 587,\nname: \"定州\",\nabbr: \"DZ\",\narea_code: \"200133\",\nsort: 2000,\nlatitude: 38.516258,\nlongitude: 114.99025,\nis_map: true,\npinyin: \"dingzhou\"\n},\n{\nid: 595,\nname: \"大名\",\nabbr: \"DM\",\narea_code: \"200141\",\nsort: 2000,\nlatitude: 36.28558,\nlongitude: 115.147881,\nis_map: true,\npinyin: \"daming\"\n},\n{\nid: 618,\nname: \"大城\",\nabbr: \"DC\",\narea_code: \"200164\",\nsort: 2000,\nlatitude: 38.704689,\nlongitude: 116.654228,\nis_map: true,\npinyin: \"daicheng\"\n},\n{\nid: 621,\nname: \"邓州\",\nabbr: \"DZ\",\narea_code: \"200167\",\nsort: 2000,\nlatitude: 32.687771,\nlongitude: 112.087357,\nis_map: true,\npinyin: \"dengzhou\"\n},\n{\nid: 630,\nname: \"登封\",\nabbr: \"DF\",\narea_code: \"200176\",\nsort: 2000,\nlatitude: 34.45348,\nlongitude: 113.050278,\nis_map: true,\npinyin: \"dengfeng\"\n},\n{\nid: 642,\nname: \"郸城\",\nabbr: \"DC\",\narea_code: \"200188\",\nsort: 2000,\nlatitude: 33.644749,\nlongitude: 115.17704,\nis_map: true,\npinyin: \"dancheng\"\n},\n{\nid: 712,\nname: \"大冶\",\nabbr: \"DY\",\narea_code: \"200258\",\nsort: 2000,\nlatitude: 30.09551,\nlongitude: 114.979767,\nis_map: true,\npinyin: \"daye\"\n},\n{\nid: 728,\nname: \"大悟\",\nabbr: \"DW\",\narea_code: \"200274\",\nsort: 2000,\nlatitude: 31.560961,\nlongitude: 114.126938,\nis_map: true,\npinyin: \"dawu\"\n},\n{\nid: 744,\nname: \"丹江口\",\nabbr: \"DJK\",\narea_code: \"200290\",\nsort: 2000,\nlatitude: 32.540401,\nlongitude: 111.513222,\nis_map: true,\npinyin: \"danjiangkou\"\n},\n{\nid: 746,\nname: \"当阳\",\nabbr: \"DY\",\narea_code: \"200292\",\nsort: 2000,\nlatitude: 30.82118,\nlongitude: 111.78833,\nis_map: true,\npinyin: \"dangyang\"\n},\n{\nid: 784,\nname: \"洞口\",\nabbr: \"DK\",\narea_code: \"200330\",\nsort: 2000,\nlatitude: 27.060381,\nlongitude: 110.575829,\nis_map: true,\npinyin: \"dongkou\"\n},\n{\nid: 789,\nname: \"东安\",\nabbr: \"DA\",\narea_code: \"200335\",\nsort: 2000,\nlatitude: 26.392059,\nlongitude: 111.316437,\nis_map: true,\npinyin: \"dongan\"\n},\n{\nid: 792,\nname: \"道县\",\nabbr: \"DX\",\narea_code: \"200338\",\nsort: 2000,\nlatitude: 25.527531,\nlongitude: 111.600067,\nis_map: true,\npinyin: \"daoxian\"\n},\n{\nid: 806,\nname: \"敦化\",\nabbr: \"DH\",\narea_code: \"200352\",\nsort: 2000,\nlatitude: 43.372711,\nlongitude: 128.232056,\nis_map: true,\npinyin: \"dunhua\"\n},\n{\nid: 813,\nname: \"大安\",\nabbr: \"DA\",\narea_code: \"200359\",\nsort: 2000,\nlatitude: 45.507111,\nlongitude: 124.292519,\nis_map: true,\npinyin: \"daan\"\n},\n{\nid: 818,\nname: \"德惠\",\nabbr: \"DH\",\narea_code: \"200364\",\nsort: 2000,\nlatitude: 44.53709,\nlongitude: 125.705582,\nis_map: true,\npinyin: \"dehui\"\n},\n{\nid: 834,\nname: \"东台\",\nabbr: \"DT\",\narea_code: \"200380\",\nsort: 2000,\nlatitude: 32.866951,\nlongitude: 120.320503,\nis_map: true,\npinyin: \"dongtai\"\n},\n{\nid: 844,\nname: \"东海\",\nabbr: \"DH\",\narea_code: \"200390\",\nsort: 2000,\nlatitude: 34.54216,\nlongitude: 118.771469,\nis_map: true,\npinyin: \"donghai\"\n},\n{\nid: 855,\nname: \"大丰\",\nabbr: \"DF\",\narea_code: \"200401\",\nsort: 2000,\nlatitude: 33.201069,\nlongitude: 120.501022,\nis_map: true,\npinyin: \"dafeng\"\n},\n{\nid: 895,\nname: \"东乡\",\nabbr: \"DX\",\narea_code: \"200441\",\nsort: 2000,\nlatitude: 28.247709,\nlongitude: 116.60334,\nis_map: true,\npinyin: \"dongxiang\"\n},\n{\nid: 896,\nname: \"都昌\",\nabbr: \"DC\",\narea_code: \"200442\",\nsort: 2000,\nlatitude: 29.273069,\nlongitude: 116.204086,\nis_map: true,\npinyin: \"duchang\"\n},\n{\nid: 901,\nname: \"大石桥\",\nabbr: \"DSQ\",\narea_code: \"200447\",\nsort: 2000,\nlatitude: 40.644482,\nlongitude: 122.509171,\nis_map: true,\npinyin: \"dashiqiao\"\n},\n{\nid: 902,\nname: \"东港\",\nabbr: \"DG\",\narea_code: \"200448\",\nsort: 2000,\nlatitude: 39.861721,\nlongitude: 124.152092,\nis_map: true,\npinyin: \"donggang\"\n},\n{\nid: 905,\nname: \"大洼\",\nabbr: \"DW\",\narea_code: \"200451\",\nsort: 2000,\nlatitude: 41.002468,\nlongitude: 122.082451,\nis_map: true,\npinyin: \"dawa\"\n},\n{\nid: 919,\nname: \"达拉特\",\nabbr: \"DLT\",\narea_code: \"200465\",\nsort: 2000,\nlatitude: 40.400162,\nlongitude: 110.032928,\nis_map: true,\npinyin: \"dalate\"\n},\n{\nid: 937,\nname: \"单县\",\nabbr: \"DX\",\narea_code: \"200483\",\nsort: 2000,\nlatitude: 34.79438,\nlongitude: 116.087242,\nis_map: true,\npinyin: \"danxian\"\n},\n{\nid: 966,\nname: \"东平\",\nabbr: \"DP\",\narea_code: \"200512\",\nsort: 2000,\nlatitude: 35.93708,\nlongitude: 116.470238,\nis_map: true,\npinyin: \"dongping\"\n},\n{\nid: 971,\nname: \"东明\",\nabbr: \"DM\",\narea_code: \"200517\",\nsort: 2000,\nlatitude: 35.289532,\nlongitude: 115.090157,\nis_map: true,\npinyin: \"dongming\"\n},\n{\nid: 1018,\nname: \"达县\",\nabbr: \"DX\",\narea_code: \"200564\",\nsort: 2000,\nlatitude: 31.19603,\nlongitude: 107.511772,\nis_map: true,\npinyin: \"daxian\"\n},\n{\nid: 1024,\nname: \"大竹\",\nabbr: \"DZ\",\narea_code: \"200570\",\nsort: 2000,\nlatitude: 30.736071,\nlongitude: 107.204407,\nis_map: true,\npinyin: \"dazhu\"\n},\n{\nid: 1045,\nname: \"大邑\",\nabbr: \"DY\",\narea_code: \"200591\",\nsort: 2000,\nlatitude: 30.58757,\nlongitude: 103.520851,\nis_map: true,\npinyin: \"dayi\"\n},\n{\nid: 1083,\nname: \"东阳\",\nabbr: \"DY\",\narea_code: \"200629\",\nsort: 2000,\nlatitude: 29.289459,\nlongitude: 120.241913,\nis_map: true,\npinyin: \"dongyang\"\n},\n{\nid: 1100,\nname: \"德清\",\nabbr: \"DQ\",\narea_code: \"200646\",\nsort: 2000,\nlatitude: 30.54269,\nlongitude: 119.977539,\nis_map: true,\npinyin: \"deqing\"\n},\n{\nid: 1116,\nname: \"岱山\",\nabbr: \"DS\",\narea_code: \"200662\",\nsort: 2000,\nlatitude: 30.24369,\nlongitude: 122.204979,\nis_map: true,\npinyin: \"daishan\"\n},\n{\nid: 1129,\nname: \"垫江\",\nabbr: \"DJ\",\narea_code: \"200675\",\nsort: 2000,\nlatitude: 30.326799,\nlongitude: 107.335152,\nis_map: true,\npinyin: \"dianjiang\"\n},\n{\nid: 349,\nname: \"丹阳\",\nabbr: \"DY\",\narea_code: \"05111\",\nsort: 9999,\nlatitude: 32.009449,\nlongitude: 119.606941,\nis_map: true,\npinyin: \"danyang\"\n},\n{\nid: 1143,\nname: \"定边\",\nabbr: \"DB\",\narea_code: \"610825\",\nsort: 9999,\nlatitude: 37.59454,\nlongitude: 107.60128,\nis_map: true,\npinyin: \"dingbian\"\n},\n{\nid: 1166,\nname: \"代县\",\nabbr: \"DX\",\narea_code: \"140923\",\nsort: 9999,\nlatitude: 39.066891,\nlongitude: 112.959961,\nis_map: true,\npinyin: \"daixian\"\n},\n{\nid: 1205,\nname: \"定兴县\",\nabbr: \"DXX\",\narea_code: \"130626\",\nsort: 9999,\nlatitude: 39.266193,\nlongitude: 115.796898,\nis_map: true,\npinyin: \"dingxing\"\n},\n{\nid: 1239,\nname: \"东光\",\nabbr: \"DG\",\narea_code: \"130923\",\nsort: 9999,\nlatitude: 37.886551,\nlongitude: 116.542061,\nis_map: true,\npinyin: \"dongguang\"\n},\n{\nid: 1247,\nname: \"大厂回族自治县\",\nabbr: \"DCHZZZX\",\narea_code: \"131028\",\nsort: 9999,\nlatitude: 39.889267,\nlongitude: 116.986504,\nis_map: true,\npinyin: \"dachanghuizuzizhixian\"\n},\n{\nid: 1382,\nname: \"磴口\",\nabbr: \"DK\",\narea_code: \"150822\",\nsort: 9999,\nlatitude: 40.330479,\nlongitude: 107.006058,\nis_map: true,\npinyin: \"dengkou\"\n},\n{\nid: 1408,\nname: \"东乌珠穆沁旗\",\nabbr: \"DWZMQQ\",\narea_code: \"152525\",\nsort: 9999,\nlatitude: 45.510307,\nlongitude: 116.980019,\nis_map: true,\npinyin: \"dongwuzhumuqinqi\"\n},\n{\nid: 1436,\nname: \"灯塔市\",\nabbr: \"DT\",\narea_code: \"211081\",\nsort: 9999,\nlatitude: 41.427837,\nlongitude: 123.325867,\nis_map: true,\npinyin: \"dengta\"\n},\n{\nid: 1447,\nname: \"东丰\",\nabbr: \"DF\",\narea_code: \"220421\",\nsort: 9999,\nlatitude: 42.675228,\nlongitude: 125.529625,\nis_map: true,\npinyin: \"dongfeng\"\n},\n{\nid: 1448,\nname: \"东辽\",\nabbr: \"DL\",\narea_code: \"220422\",\nsort: 9999,\nlatitude: 42.927723,\nlongitude: 124.991997,\nis_map: true,\npinyin: \"dongliao\"\n},\n{\nid: 1489,\nname: \"杜尔伯特蒙古族自治县\",\nabbr: \"DEBTMGZZZX\",\narea_code: \"230624\",\nsort: 9999,\nlatitude: 46.865974,\nlongitude: 124.446259,\nis_map: true,\npinyin: \"duerbotemengguzuzizhixian\"\n},\n{\nid: 1497,\nname: \"东宁\",\nabbr: \"DN\",\narea_code: \"231024\",\nsort: 9999,\nlatitude: 44.06358,\nlongitude: 131.12529,\nis_map: true,\npinyin: \"dongning\"\n},\n{\nid: 1515,\nname: \"洞头\",\nabbr: \"DT\",\narea_code: \"330322\",\nsort: 9999,\nlatitude: 27.836058,\nlongitude: 121.156181,\nis_map: true,\npinyin: \"dongtou\"\n},\n{\nid: 1558,\nname: \"东山\",\nabbr: \"DS\",\narea_code: \"350626\",\nsort: 9999,\nlatitude: 23.702845,\nlongitude: 117.427681,\nis_map: true,\npinyin: \"dongshan\"\n},\n{\nid: 1578,\nname: \"德安\",\nabbr: \"DA\",\narea_code: \"360426\",\nsort: 9999,\nlatitude: 29.327475,\nlongitude: 115.762611,\nis_map: true,\npinyin: \"dean\"\n},\n{\nid: 1586,\nname: \"大余\",\nabbr: \"DY\",\narea_code: \"360723\",\nsort: 9999,\nlatitude: 25.395937,\nlongitude: 114.362244,\nis_map: true,\npinyin: \"dayu\"\n},\n{\nid: 1590,\nname: \"定南\",\nabbr: \"DN\",\narea_code: \"360728\",\nsort: 9999,\nlatitude: 24.774277,\nlongitude: 115.032669,\nis_map: true,\npinyin: \"dingnan\"\n},\n{\nid: 1622,\nname: \"德兴\",\nabbr: \"DX\",\narea_code: \"361181\",\nsort: 9999,\nlatitude: 28.945034,\nlongitude: 117.578735,\nis_map: true,\npinyin: \"dexing\"\n},\n{\nid: 1637,\nname: \"东阿\",\nabbr: \"DE\",\narea_code: \"371524\",\nsort: 9999,\nlatitude: 36.336002,\nlongitude: 116.248856,\nis_map: true,\npinyin: \"donge\"\n},\n{\nid: 1639,\nname: \"定陶\",\nabbr: \"DT\",\narea_code: \"371727\",\nsort: 9999,\nlatitude: 35.072701,\nlongitude: 115.569603,\nis_map: true,\npinyin: \"dingtao\"\n},\n{\nid: 1747,\nname: \"大埔\",\nabbr: \"DP\",\narea_code: \"441422\",\nsort: 9999,\nlatitude: 24.351587,\nlongitude: 116.695518,\nis_map: true,\npinyin: \"dapu\"\n},\n{\nid: 1755,\nname: \"东源\",\nabbr: \"DY\",\narea_code: \"441625\",\nsort: 9999,\nlatitude: 23.789093,\nlongitude: 114.742714,\nis_map: true,\npinyin: \"dongyuan\"\n},\n{\nid: 1796,\nname: \"东兴\",\nabbr: \"DX\",\narea_code: \"450681\",\nsort: 9999,\nlatitude: 21.541172,\nlongitude: 107.970169,\nis_map: true,\npinyin: \"dongxing\"\n},\n{\nid: 1806,\nname: \"德保\",\nabbr: \"DB\",\narea_code: \"451024\",\nsort: 9999,\nlatitude: 23.321465,\nlongitude: 106.618164,\nis_map: true,\npinyin: \"debao\"\n},\n{\nid: 1821,\nname: \"东兰\",\nabbr: \"DL\",\narea_code: \"451224\",\nsort: 9999,\nlatitude: 24.509367,\nlongitude: 107.373695,\nis_map: true,\npinyin: \"donglan\"\n},\n{\nid: 1825,\nname: \"都安瑶族自治县\",\nabbr: \"DAYZZZX\",\narea_code: \"451228\",\nsort: 9999,\nlatitude: 23.934963,\nlongitude: 108.10276,\nis_map: true,\npinyin: \"duanyaozuzizhixian\"\n},\n{\nid: 1826,\nname: \"大化瑶族自治县\",\nabbr: \"DHYZZZX\",\narea_code: \"451229\",\nsort: 9999,\nlatitude: 23.739595,\nlongitude: 107.994499,\nis_map: true,\npinyin: \"dahuayaozuzizhixian\"\n},\n{\nid: 1836,\nname: \"大新\",\nabbr: \"DX\",\narea_code: \"451424\",\nsort: 9999,\nlatitude: 22.833368,\nlongitude: 107.200806,\nis_map: true,\npinyin: \"daxin\"\n},\n{\nid: 1964,\nname: \"道真仡佬族苗族自治县\",\nabbr: \"DZGLZMZZZX\",\narea_code: \"520325\",\nsort: 9999,\nlatitude: 28.880089,\nlongitude: 107.605339,\nis_map: true,\npinyin: \"daozhengelaozumiaozuzizhixian\"\n},\n{\nid: 1983,\nname: \"德江\",\nabbr: \"DJ\",\narea_code: \"520626\",\nsort: 9999,\nlatitude: 28.260941,\nlongitude: 108.117317,\nis_map: true,\npinyin: \"dejiang\"\n},\n{\nid: 2009,\nname: \"丹寨\",\nabbr: \"DZ\",\narea_code: \"522636\",\nsort: 9999,\nlatitude: 26.19875,\nlongitude: 107.792107,\nis_map: true,\npinyin: \"danzhai\"\n},\n{\nid: 2015,\nname: \"独山\",\nabbr: \"DS\",\narea_code: \"522726\",\nsort: 9999,\nlatitude: 25.826283,\nlongitude: 107.542755,\nis_map: true,\npinyin: \"dushan\"\n},\n{\nid: 2044,\nname: \"大关\",\nabbr: \"DG\",\narea_code: \"530624\",\nsort: 9999,\nlatitude: 27.747114,\nlongitude: 103.891609,\nis_map: true,\npinyin: \"daguan\"\n},\n{\nid: 2076,\nname: \"大姚\",\nabbr: \"DY\",\narea_code: \"532326\",\nsort: 9999,\nlatitude: 25.722347,\nlongitude: 101.323601,\nis_map: true,\npinyin: \"dayao\"\n},\n{\nid: 2111,\nname: \"德宏傣族景颇族自治州\",\nabbr: \"DHDZJPZZZZ\",\narea_code: \"533100\",\nsort: 9999,\nlatitude: 24.436693,\nlongitude: 98.578362,\nis_map: true,\npinyin: \"dehongdaizujingpozuzizhizhou\"\n},\n{\nid: 2122,\nname: \"迪庆藏族自治州\",\nabbr: \"DQZZZZZ\",\narea_code: \"533400\",\nsort: 9999,\nlatitude: 27.826853,\nlongitude: 99.706467,\nis_map: true,\npinyin: \"diqingzangzuzizhizhou\"\n},\n{\nid: 2124,\nname: \"德钦\",\nabbr: \"DQ\",\narea_code: \"533422\",\nsort: 9999,\nlatitude: 28.483273,\nlongitude: 98.915062,\nis_map: true,\npinyin: \"deqin\"\n},\n{\nid: 2230,\nname: \"大荔\",\nabbr: \"DL\",\narea_code: \"610523\",\nsort: 9999,\nlatitude: 34.79501,\nlongitude: 109.943123,\nis_map: true,\npinyin: \"dali\"\n},\n{\nid: 2279,\nname: \"丹凤\",\nabbr: \"DF\",\narea_code: \"611022\",\nsort: 9999,\nlatitude: 33.69471,\nlongitude: 110.331909,\nis_map: true,\npinyin: \"danfeng\"\n},\n{\nid: 2315,\nname: \"敦煌\",\nabbr: \"DH\",\narea_code: \"620982\",\nsort: 9999,\nlatitude: 40.141117,\nlongitude: 94.664276,\nis_map: true,\npinyin: \"dunhuang\"\n},\n{\nid: 2323,\nname: \"定西\",\nabbr: \"DX\",\narea_code: \"621100\",\nsort: 9999,\nlatitude: 35.579578,\nlongitude: 104.626297,\nis_map: true,\npinyin: \"dingxi\"\n},\n{\nid: 2385,\nname: \"达日县\",\nabbr: \"DRX\",\narea_code: \"632624\",\nsort: 9999,\nlatitude: 33.753258,\nlongitude: 99.651718,\nis_map: true,\npinyin: \"dari\"\n},\n{\nid: 2396,\nname: \"德令哈\",\nabbr: \"DLH\",\narea_code: \"632802\",\nsort: 9999,\nlatitude: 37.374554,\nlongitude: 97.37014,\nis_map: true,\npinyin: \"delingha\"\n}\n],\nK: [\n{\nid: 23,\nname: \"昆明\",\nabbr: \"KM\",\narea_code: \"0871\",\nsort: 2000,\nlatitude: 24.87966,\nlongitude: 102.833221,\nis_map: true,\npinyin: \"kunming\"\n},\n{\nid: 140,\nname: \"凯里\",\nabbr: \"KL\",\narea_code: \"0855\",\nsort: 2000,\nlatitude: 26.56756,\nlongitude: 107.9804,\nis_map: true,\npinyin: \"kaili\"\n},\n{\nid: 183,\nname: \"开封\",\nabbr: \"KF\",\narea_code: \"410203\",\nsort: 2000,\nlatitude: 34.79726,\nlongitude: 114.307312,\nis_map: true,\npinyin: \"kaifeng\"\n},\n{\nid: 326,\nname: \"库尔勒\",\nabbr: \"KEL\",\narea_code: \"0996\",\nsort: 2000,\nlatitude: 41.726429,\nlongitude: 86.173691,\nis_map: true,\npinyin: \"kuerle\"\n},\n{\nid: 439,\nname: \"开县\",\nabbr: \"KX\",\narea_code: \"10017\",\nsort: 2000,\nlatitude: 31.16098,\nlongitude: 108.393112,\nis_map: true,\npinyin: \"kaixian\"\n},\n{\nid: 547,\nname: \"开平\",\nabbr: \"KP\",\narea_code: \"200093\",\nsort: 2000,\nlatitude: 22.376381,\nlongitude: 112.698509,\nis_map: true,\npinyin: \"kaiping\"\n},\n{\nid: 903,\nname: \"开原\",\nabbr: \"KY\",\narea_code: \"200449\",\nsort: 2000,\nlatitude: 42.546452,\nlongitude: 124.0382,\nis_map: true,\npinyin: \"kaiyuan\"\n},\n{\nid: 1053,\nname: \"克拉玛依\",\nabbr: \"KLMY\",\narea_code: \"200599\",\nsort: 2000,\nlatitude: 44.67762,\nlongitude: 84.76297,\nis_map: true,\npinyin: \"kelamayi\"\n},\n{\nid: 1055,\nname: \"喀什\",\nabbr: \"KS\",\narea_code: \"200601\",\nsort: 2000,\nlatitude: 39.46772,\nlongitude: 75.993813,\nis_map: true,\npinyin: \"kashi\"\n},\n{\nid: 1058,\nname: \"库车\",\nabbr: \"KC\",\narea_code: \"200604\",\nsort: 2000,\nlatitude: 41.717411,\nlongitude: 82.96212,\nis_map: true,\npinyin: \"kuche\"\n},\n{\nid: 1070,\nname: \"开远\",\nabbr: \"KY\",\narea_code: \"200616\",\nsort: 2000,\nlatitude: 23.71434,\nlongitude: 103.266762,\nis_map: true,\npinyin: \"kaiyuan\"\n},\n{\nid: 358,\nname: \"昆山\",\nabbr: \"KS\",\narea_code: \"05122\",\nsort: 9999,\nlatitude: 31.38475,\nlongitude: 120.981812,\nis_map: true,\npinyin: \"kunshan\"\n},\n{\nid: 1219,\nname: \"康保\",\nabbr: \"KB\",\narea_code: \"130723\",\nsort: 9999,\nlatitude: 41.850044,\nlongitude: 114.615807,\nis_map: true,\npinyin: \"kangbao\"\n},\n{\nid: 1236,\nname: \"宽城满族自治县\",\nabbr: \"KCMZZZX\",\narea_code: \"130827\",\nsort: 9999,\nlatitude: 40.607983,\nlongitude: 118.48864,\nis_map: true,\npinyin: \"kuanchengmanzuzizhixian\"\n},\n{\nid: 1354,\nname: \"克什克腾旗\",\nabbr: \"KSKTQ\",\narea_code: \"150425\",\nsort: 9999,\nlatitude: 43.256233,\nlongitude: 117.542465,\nis_map: true,\npinyin: \"keshiketengqi\"\n},\n{\nid: 1356,\nname: \"喀喇沁旗\",\nabbr: \"KLQQ\",\narea_code: \"150428\",\nsort: 9999,\nlatitude: 41.92778,\nlongitude: 118.708572,\nis_map: true,\npinyin: \"kalaqinqi\"\n},\n{\nid: 1359,\nname: \"科尔沁左翼中旗\",\nabbr: \"KEQZYZQ\",\narea_code: \"150521\",\nsort: 9999,\nlatitude: 44.127167,\nlongitude: 123.313873,\nis_map: true,\npinyin: \"keerqinzuoyizhongqi\"\n},\n{\nid: 1360,\nname: \"科尔沁左翼后旗\",\nabbr: \"KEQZYHQ\",\narea_code: \"150522\",\nsort: 9999,\nlatitude: 42.954563,\nlongitude: 122.355156,\nis_map: true,\npinyin: \"keerqinzuoyihouqi\"\n},\n{\nid: 1361,\nname: \"开鲁\",\nabbr: \"KL\",\narea_code: \"150523\",\nsort: 9999,\nlatitude: 43.602432,\nlongitude: 121.3088,\nis_map: true,\npinyin: \"kailu\"\n},\n{\nid: 1362,\nname: \"库伦旗\",\nabbr: \"KLQ\",\narea_code: \"150524\",\nsort: 9999,\nlatitude: 42.734692,\nlongitude: 121.774887,\nis_map: true,\npinyin: \"kulunqi\"\n},\n{\nid: 1399,\nname: \"科尔沁右翼前旗\",\nabbr: \"KEQYYQQ\",\narea_code: \"152221\",\nsort: 9999,\nlatitude: 46.076496,\nlongitude: 121.957542,\nis_map: true,\npinyin: \"keerqinyouyiqianqi\"\n},\n{\nid: 1400,\nname: \"科尔沁右翼中旗\",\nabbr: \"KEQYYZQ\",\narea_code: \"152222\",\nsort: 9999,\nlatitude: 45.059647,\nlongitude: 121.472816,\nis_map: true,\npinyin: \"keerqinyouyizhongqi\"\n},\n{\nid: 1419,\nname: \"康平\",\nabbr: \"KP\",\narea_code: \"210123\",\nsort: 9999,\nlatitude: 42.741531,\nlongitude: 124.352699,\nis_map: true,\npinyin: \"kangping\"\n},\n{\nid: 1429,\nname: \"宽甸满族自治县\",\nabbr: \"KDMZZZX\",\narea_code: \"210624\",\nsort: 9999,\nlatitude: 40.730412,\nlongitude: 124.784866,\nis_map: true,\npinyin: \"kuandianmanzuzizhixian\"\n},\n{\nid: 1474,\nname: \"克山\",\nabbr: \"KS\",\narea_code: \"230229\",\nsort: 9999,\nlatitude: 48.034344,\nlongitude: 125.874352,\nis_map: true,\npinyin: \"keshan\"\n},\n{\nid: 1475,\nname: \"克东\",\nabbr: \"KD\",\narea_code: \"230230\",\nsort: 9999,\nlatitude: 48.037319,\nlongitude: 126.249092,\nis_map: true,\npinyin: \"kedong\"\n},\n{\nid: 1520,\nname: \"开化\",\nabbr: \"KH\",\narea_code: \"330824\",\nsort: 9999,\nlatitude: 29.136503,\nlongitude: 118.414436,\nis_map: true,\npinyin: \"kaihua\"\n},\n{\nid: 1627,\nname: \"垦利县\",\nabbr: \"KLX\",\narea_code: \"370521\",\nsort: 9999,\nlatitude: 37.58868,\nlongitude: 118.551315,\nis_map: true,\npinyin: \"kenli\"\n},\n{\nid: 1955,\nname: \"开阳\",\nabbr: \"KY\",\narea_code: \"520121\",\nsort: 9999,\nlatitude: 27.056793,\nlongitude: 106.969437,\nis_map: true,\npinyin: \"kaiyang\"\n},\n{\nid: 2481,\nname: \"奎屯\",\nabbr: \"KT\",\narea_code: \"654003\",\nsort: 9999,\nlatitude: 44.423447,\nlongitude: 84.901604,\nis_map: true,\npinyin: \"kuitun\"\n}\n],\nM: [\n{\nid: 56,\nname: \"梅州\",\nabbr: \"MZ\",\narea_code: \"0753\",\nsort: 2000,\nlatitude: 24.288441,\nlongitude: 116.122643,\nis_map: true,\npinyin: \"meizhou\"\n},\n{\nid: 82,\nname: \"绵阳\",\nabbr: \"MY\",\narea_code: \"0816\",\nsort: 2000,\nlatitude: 31.46751,\nlongitude: 104.679604,\nis_map: true,\npinyin: \"mianyang\"\n},\n{\nid: 90,\nname: \"马鞍山\",\nabbr: \"MAS\",\narea_code: \"0555\",\nsort: 2000,\nlatitude: 31.67067,\nlongitude: 118.506111,\nis_map: true,\npinyin: \"maanshan\"\n},\n{\nid: 123,\nname: \"茂名\",\nabbr: \"MM\",\narea_code: \"0668\",\nsort: 2000,\nlatitude: 21.66329,\nlongitude: 110.925232,\nis_map: true,\npinyin: \"maoming\"\n},\n{\nid: 138,\nname: \"牡丹江\",\nabbr: \"MDJ\",\narea_code: \"0453\",\nsort: 2000,\nlatitude: 44.552689,\nlongitude: 129.632446,\nis_map: true,\npinyin: \"mudanjiang\"\n},\n{\nid: 312,\nname: \"眉山\",\nabbr: \"MS\",\narea_code: \"0281\",\nsort: 2000,\nlatitude: 30.07563,\nlongitude: 103.848511,\nis_map: true,\npinyin: \"meishan\"\n},\n{\nid: 325,\nname: \"绵竹\",\nabbr: \"MZ\",\narea_code: \"08381\",\nsort: 2000,\nlatitude: 31.337761,\nlongitude: 104.220833,\nis_map: true,\npinyin: \"mianzhu\"\n},\n{\nid: 469,\nname: \"蒙城\",\nabbr: \"MC\",\narea_code: \"200015\",\nsort: 2000,\nlatitude: 33.265839,\nlongitude: 116.564499,\nis_map: true,\npinyin: \"mengcheng\"\n},\n{\nid: 486,\nname: \"明光\",\nabbr: \"MG\",\narea_code: \"200032\",\nsort: 2000,\nlatitude: 32.776989,\nlongitude: 117.989441,\nis_map: true,\npinyin: \"mingguang\"\n},\n{\nid: 493,\nname: \"密云\",\nabbr: \"MY\",\narea_code: \"200039\",\nsort: 2000,\nlatitude: 40.376251,\nlongitude: 116.84317,\nis_map: true,\npinyin: \"miyun\"\n},\n{\nid: 502,\nname: \"闽侯\",\nabbr: \"MH\",\narea_code: \"200048\",\nsort: 2000,\nlatitude: 26.150209,\nlongitude: 119.131393,\nis_map: true,\npinyin: \"minhou\"\n},\n{\nid: 559,\nname: \"梅县\",\nabbr: \"MX\",\narea_code: \"200105\",\nsort: 2000,\nlatitude: 24.26539,\nlongitude: 116.082451,\nis_map: true,\npinyin: \"meixian\"\n},\n{\nid: 679,\nname: \"民权\",\nabbr: \"MQ\",\narea_code: \"200225\",\nsort: 2000,\nlatitude: 34.646912,\nlongitude: 115.147659,\nis_map: true,\npinyin: \"minquan\"\n},\n{\nid: 719,\nname: \"麻城\",\nabbr: \"MC\",\narea_code: \"200265\",\nsort: 2000,\nlatitude: 31.17333,\nlongitude: 115.00869,\nis_map: true,\npinyin: \"macheng\"\n},\n{\nid: 756,\nname: \"汨罗\",\nabbr: \"ML\",\narea_code: \"200302\",\nsort: 2000,\nlatitude: 28.806419,\nlongitude: 113.067108,\nis_map: true,\npinyin: \"miluo\"\n},\n{\nid: 807,\nname: \"梅河口\",\nabbr: \"MHK\",\narea_code: \"200353\",\nsort: 2000,\nlatitude: 42.538731,\nlongitude: 125.712097,\nis_map: true,\npinyin: \"meihekou\"\n},\n{\nid: 917,\nname: \"满洲里\",\nabbr: \"MZL\",\narea_code: \"200463\",\nsort: 2000,\nlatitude: 49.59655,\nlongitude: 117.378357,\nis_map: true,\npinyin: \"manzhouli\"\n},\n{\nid: 994,\nname: \"蒙阴\",\nabbr: \"MY\",\narea_code: \"200540\",\nsort: 2000,\nlatitude: 35.710098,\nlongitude: 117.944939,\nis_map: true,\npinyin: \"mengyin\"\n},\n{\nid: 1065,\nname: \"弥勒\",\nabbr: \"ML\",\narea_code: \"200611\",\nsort: 2000,\nlatitude: 24.410509,\nlongitude: 103.41465,\nis_map: true,\npinyin: \"mile\"\n},\n{\nid: 1135,\nname: \"漠河\",\nabbr: \"MH\",\narea_code: \"333333\",\nsort: 2000,\nlatitude: 52.972092,\nlongitude: 122.538643,\nis_map: true,\npinyin: \"mohe\"\n},\n{\nid: 377,\nname: \"蒙自\",\nabbr: \"MZ\",\narea_code: \"08731\",\nsort: 9999,\nlatitude: 23.396219,\nlongitude: 103.364807,\nis_map: true,\npinyin: \"mengzi\"\n},\n{\nid: 1202,\nname: \"满城县\",\nabbr: \"MCX\",\narea_code: \"130621\",\nsort: 9999,\nlatitude: 38.948921,\nlongitude: 115.322166,\nis_map: true,\npinyin: \"manchengxian\"\n},\n{\nid: 1245,\nname: \"孟村回族自治县\",\nabbr: \"MCHZZZX\",\narea_code: \"130930\",\nsort: 9999,\nlatitude: 38.057953,\nlongitude: 117.105103,\nis_map: true,\npinyin: \"mengcunhuizuzizhixian\"\n},\n{\nid: 1372,\nname: \"莫力达瓦达斡尔族自治旗\",\nabbr: \"MLDWDWEZZZQ\",\narea_code: \"150722\",\nsort: 9999,\nlatitude: 48.478386,\nlongitude: 124.507401,\nis_map: true,\npinyin: \"molidawadawoerzuzizhiqi\"\n},\n{\nid: 1467,\nname: \"木兰\",\nabbr: \"ML\",\narea_code: \"230127\",\nsort: 9999,\nlatitude: 45.949825,\nlongitude: 128.042679,\nis_map: true,\npinyin: \"mulan\"\n},\n{\nid: 1479,\nname: \"密山\",\nabbr: \"MS\",\narea_code: \"230382\",\nsort: 9999,\nlatitude: 45.5457,\nlongitude: 131.872726,\nis_map: true,\npinyin: \"mishan\"\n},\n{\nid: 1502,\nname: \"穆棱\",\nabbr: \"ML\",\narea_code: \"231085\",\nsort: 9999,\nlatitude: 44.91967,\nlongitude: 130.527084,\nis_map: true,\npinyin: \"muleng\"\n},\n{\nid: 1509,\nname: \"明水\",\nabbr: \"MS\",\narea_code: \"231225\",\nsort: 9999,\nlatitude: 47.183529,\nlongitude: 125.907547,\nis_map: true,\npinyin: \"mingshui\"\n},\n{\nid: 1548,\nname: \"闽清\",\nabbr: \"MQ\",\narea_code: \"350124\",\nsort: 9999,\nlatitude: 26.223793,\nlongitude: 118.868416,\nis_map: true,\npinyin: \"minqing\"\n},\n{\nid: 1551,\nname: \"明溪\",\nabbr: \"MX\",\narea_code: \"350421\",\nsort: 9999,\nlatitude: 26.357374,\nlongitude: 117.201843,\nis_map: true,\npinyin: \"mingxi\"\n},\n{\nid: 1641,\nname: \"孟津\",\nabbr: \"MJ\",\narea_code: \"410322\",\nsort: 9999,\nlatitude: 34.826485,\nlongitude: 112.443893,\nis_map: true,\npinyin: \"mengjin\"\n},\n{\nid: 1656,\nname: \"孟州\",\nabbr: \"MZ\",\narea_code: \"410883\",\nsort: 9999,\nlatitude: 34.90963,\nlongitude: 112.787079,\nis_map: true,\npinyin: \"mengzhou\"\n},\n{\nid: 1663,\nname: \"渑池\",\nabbr: \"MC\",\narea_code: \"411221\",\nsort: 9999,\nlatitude: 34.763489,\nlongitude: 111.762993,\nis_map: true,\npinyin: \"mianchi\"\n},\n{\nid: 1768,\nname: \"马山\",\nabbr: \"MS\",\narea_code: \"450124\",\nsort: 9999,\nlatitude: 23.711758,\nlongitude: 108.172905,\nis_map: true,\npinyin: \"mashan\"\n},\n{\nid: 1791,\nname: \"蒙山\",\nabbr: \"MS\",\narea_code: \"450423\",\nsort: 9999,\nlatitude: 24.199829,\nlongitude: 110.522598,\nis_map: true,\npinyin: \"mengshan\"\n},\n{\nid: 1967,\nname: \"湄潭\",\nabbr: \"MT\",\narea_code: \"520328\",\nsort: 9999,\nlatitude: 27.765839,\nlongitude: 107.485725,\nis_map: true,\npinyin: \"meitan\"\n},\n{\nid: 2008,\nname: \"麻江\",\nabbr: \"MJ\",\narea_code: \"522635\",\nsort: 9999,\nlatitude: 26.494802,\nlongitude: 107.59317,\nis_map: true,\npinyin: \"majiang\"\n},\n{\nid: 2028,\nname: \"马龙\",\nabbr: \"ML\",\narea_code: \"530321\",\nsort: 9999,\nlatitude: 25.429451,\nlongitude: 103.578758,\nis_map: true,\npinyin: \"malong\"\n},\n{\nid: 2055,\nname: \"墨江哈尼族自治县\",\nabbr: \"MJHNZZZX\",\narea_code: \"530822\",\nsort: 9999,\nlatitude: 23.428165,\nlongitude: 101.687607,\nis_map: true,\npinyin: \"mojianghanizuzizhixian\"\n},\n{\nid: 2060,\nname: \"孟连傣族拉祜族佤族自治县\",\nabbr: \"MLDZLHZWZZZX\",\narea_code: \"530827\",\nsort: 9999,\nlatitude: 22.325924,\nlongitude: 99.585403,\nis_map: true,\npinyin: \"mengliandaizulahuzuwazuzizhixian\"\n},\n{\nid: 2073,\nname: \"牟定\",\nabbr: \"MD\",\narea_code: \"532323\",\nsort: 9999,\nlatitude: 25.312111,\nlongitude: 101.543045,\nis_map: true,\npinyin: \"mouding\"\n},\n{\nid: 2092,\nname: \"麻栗坡\",\nabbr: \"MLP\",\narea_code: \"532624\",\nsort: 9999,\nlatitude: 23.124203,\nlongitude: 104.701897,\nis_map: true,\npinyin: \"malipo\"\n},\n{\nid: 2093,\nname: \"马关\",\nabbr: \"MG\",\narea_code: \"532625\",\nsort: 9999,\nlatitude: 23.011723,\nlongitude: 104.398621,\nis_map: true,\npinyin: \"maguan\"\n},\n{\nid: 2098,\nname: \"勐海\",\nabbr: \"MH\",\narea_code: \"532822\",\nsort: 9999,\nlatitude: 21.955866,\nlongitude: 100.448288,\nis_map: true,\npinyin: \"menghai\"\n},\n{\nid: 2099,\nname: \"勐腊\",\nabbr: \"ML\",\narea_code: \"532823\",\nsort: 9999,\nlatitude: 21.479448,\nlongitude: 101.567055,\nis_map: true,\npinyin: \"mengla\"\n},\n{\nid: 2103,\nname: \"弥渡\",\nabbr: \"MD\",\narea_code: \"532925\",\nsort: 9999,\nlatitude: 25.342594,\nlongitude: 100.490669,\nis_map: true,\npinyin: \"midu\"\n},\n{\nid: 2113,\nname: \"芒市\",\nabbr: \"MS\",\narea_code: \"533103\",\nsort: 9999,\nlatitude: 24.436699,\nlongitude: 98.577606,\nis_map: true,\npinyin: \"mangshi\"\n},\n{\nid: 2254,\nname: \"勉县\",\nabbr: \"MX\",\narea_code: \"610725\",\nsort: 9999,\nlatitude: 33.155617,\nlongitude: 106.680176,\nis_map: true,\npinyin: \"mianxian\"\n},\n{\nid: 2300,\nname: \"民乐\",\nabbr: \"ML\",\narea_code: \"620722\",\nsort: 9999,\nlatitude: 38.434456,\nlongitude: 100.81662,\nis_map: true,\npinyin: \"minle\"\n},\n{\nid: 2382,\nname: \"玛沁县\",\nabbr: \"MQX\",\narea_code: \"632621\",\nsort: 9999,\nlatitude: 34.473385,\nlongitude: 100.24353,\nis_map: true,\npinyin: \"maqin\"\n},\n{\nid: 2387,\nname: \"玛多县\",\nabbr: \"MDX\",\narea_code: \"632626\",\nsort: 9999,\nlatitude: 34.915279,\nlongitude: 98.211342,\nis_map: true,\npinyin: \"maduo\"\n}\n],\nR: [\n{\nid: 58,\nname: \"日照\",\nabbr: \"RZ\",\narea_code: \"0633\",\nsort: 2000,\nlatitude: 35.416458,\nlongitude: 119.527191,\nis_map: true,\npinyin: \"rizhao\"\n},\n{\nid: 446,\nname: \"荣昌县\",\nabbr: \"RCX\",\narea_code: \"10024\",\nsort: 2000,\nlatitude: 29.40485,\nlongitude: 105.594437,\nis_map: true,\npinyin: \"rongchangxian\"\n},\n{\nid: 540,\nname: \"饶平\",\nabbr: \"RP\",\narea_code: \"200086\",\nsort: 2000,\nlatitude: 23.66412,\nlongitude: 117.003899,\nis_map: true,\npinyin: \"raoping\"\n},\n{\nid: 577,\nname: \"仁怀\",\nabbr: \"RH\",\narea_code: \"200123\",\nsort: 2000,\nlatitude: 27.792339,\nlongitude: 106.401558,\nis_map: true,\npinyin: \"renhuai\"\n},\n{\nid: 629,\nname: \"汝州\",\nabbr: \"RZ\",\narea_code: \"200175\",\nsort: 2000,\nlatitude: 34.167171,\nlongitude: 112.844368,\nis_map: true,\npinyin: \"ruzhou\"\n},\n{\nid: 665,\nname: \"汝南\",\nabbr: \"RN\",\narea_code: \"200211\",\nsort: 2000,\nlatitude: 33.006851,\nlongitude: 114.362289,\nis_map: true,\npinyin: \"runan\"\n},\n{\nid: 828,\nname: \"如皋\",\nabbr: \"RG\",\narea_code: \"200374\",\nsort: 2000,\nlatitude: 32.371601,\nlongitude: 120.573822,\nis_map: true,\npinyin: \"rugao\"\n},\n{\nid: 832,\nname: \"如东\",\nabbr: \"RD\",\narea_code: \"200378\",\nsort: 2000,\nlatitude: 32.329559,\nlongitude: 121.18502,\nis_map: true,\npinyin: \"rudong\"\n},\n{\nid: 880,\nname: \"瑞金\",\nabbr: \"RJ\",\narea_code: \"200426\",\nsort: 2000,\nlatitude: 25.88562,\nlongitude: 116.027092,\nis_map: true,\npinyin: \"ruijin\"\n},\n{\nid: 953,\nname: \"荣成\",\nabbr: \"RC\",\narea_code: \"200499\",\nsort: 2000,\nlatitude: 37.16523,\nlongitude: 122.486282,\nis_map: true,\npinyin: \"rongcheng\"\n},\n{\nid: 972,\nname: \"乳山\",\nabbr: \"RS\",\narea_code: \"200518\",\nsort: 2000,\nlatitude: 36.920212,\nlongitude: 121.540199,\nis_map: true,\npinyin: \"rushan\"\n},\n{\nid: 1027,\nname: \"仁寿\",\nabbr: \"RS\",\narea_code: \"200573\",\nsort: 2000,\nlatitude: 29.99572,\nlongitude: 104.134071,\nis_map: true,\npinyin: \"renshou\"\n},\n{\nid: 1046,\nname: \"荣县\",\nabbr: \"RX\",\narea_code: \"200592\",\nsort: 2000,\nlatitude: 29.4445,\nlongitude: 104.417664,\nis_map: true,\npinyin: \"rongxian\"\n},\n{\nid: 1076,\nname: \"瑞安\",\nabbr: \"RA\",\narea_code: \"200622\",\nsort: 2000,\nlatitude: 27.778379,\nlongitude: 120.655182,\nis_map: true,\npinyin: \"ruian\"\n},\n{\nid: 1123,\nname: \"荣昌\",\nabbr: \"RC\",\narea_code: \"200669\",\nsort: 2000,\nlatitude: 29.40485,\nlongitude: 105.594437,\nis_map: true,\npinyin: \"rongchang\"\n},\n{\nid: 351,\nname: \"任丘\",\nabbr: \"RQ\",\narea_code: \"03171\",\nsort: 9999,\nlatitude: 38.711639,\nlongitude: 116.099541,\nis_map: true,\npinyin: \"renqiu\"\n},\n{\nid: 1171,\nname: \"瑞昌\",\nabbr: \"RC\",\narea_code: \"360481\",\nsort: 9999,\nlatitude: 29.67658,\nlongitude: 115.68103,\nis_map: true,\npinyin: \"ruichang\"\n},\n{\nid: 1194,\nname: \"任县\",\nabbr: \"RX\",\narea_code: \"130526\",\nsort: 9999,\nlatitude: 37.129951,\nlongitude: 114.684471,\nis_map: true,\npinyin: \"renxian\"\n},\n{\nid: 1208,\nname: \"容城\",\nabbr: \"RC\",\narea_code: \"130629\",\nsort: 9999,\nlatitude: 39.052818,\nlongitude: 115.866249,\nis_map: true,\npinyin: \"rongcheng\"\n},\n{\nid: 1251,\nname: \"饶阳\",\nabbr: \"RY\",\narea_code: \"131124\",\nsort: 9999,\nlatitude: 38.23267,\nlongitude: 115.726578,\nis_map: true,\npinyin: \"raoyang\"\n},\n{\nid: 1305,\nname: \"芮城\",\nabbr: \"RC\",\narea_code: \"140830\",\nsort: 9999,\nlatitude: 34.694771,\nlongitude: 110.691139,\nis_map: true,\npinyin: \"ruicheng\"\n},\n{\nid: 1485,\nname: \"饶河\",\nabbr: \"RH\",\narea_code: \"230524\",\nsort: 9999,\nlatitude: 46.801289,\nlongitude: 134.021164,\nis_map: true,\npinyin: \"raohe\"\n},\n{\nid: 1644,\nname: \"汝阳\",\nabbr: \"RY\",\narea_code: \"410326\",\nsort: 9999,\nlatitude: 34.153229,\nlongitude: 112.473785,\nis_map: true,\npinyin: \"ruyang\"\n},\n{\nid: 1713,\nname: \"汝城\",\nabbr: \"RC\",\narea_code: \"431026\",\nsort: 9999,\nlatitude: 25.553759,\nlongitude: 113.685684,\nis_map: true,\npinyin: \"rucheng\"\n},\n{\nid: 1737,\nname: \"乳源瑶族自治县\",\nabbr: \"RYYZZZX\",\narea_code: \"440232\",\nsort: 9999,\nlatitude: 24.77611,\nlongitude: 113.278419,\nis_map: true,\npinyin: \"ruyuanyaozuzizhixian\"\n},\n{\nid: 1775,\nname: \"融安\",\nabbr: \"RA\",\narea_code: \"450224\",\nsort: 9999,\nlatitude: 25.214703,\nlongitude: 109.403618,\nis_map: true,\npinyin: \"rongan\"\n},\n{\nid: 1776,\nname: \"融水苗族自治县\",\nabbr: \"RSMZZZX\",\narea_code: \"450225\",\nsort: 9999,\nlatitude: 25.068811,\nlongitude: 109.252747,\nis_map: true,\npinyin: \"rongshuimiaozuzizhixian\"\n},\n{\nid: 1799,\nname: \"容县\",\nabbr: \"RX\",\narea_code: \"450921\",\nsort: 9999,\nlatitude: 22.856436,\nlongitude: 110.552467,\nis_map: true,\npinyin: \"rongxian\"\n},\n{\nid: 2005,\nname: \"榕江\",\nabbr: \"RJ\",\narea_code: \"522632\",\nsort: 9999,\nlatitude: 25.931086,\nlongitude: 108.521027,\nis_map: true,\npinyin: \"rongjiang\"\n},\n{\nid: 2112,\nname: \"瑞丽\",\nabbr: \"RL\",\narea_code: \"533102\",\nsort: 9999,\nlatitude: 24.010735,\nlongitude: 97.855881,\nis_map: true,\npinyin: \"ruili\"\n},\n{\nid: 2133,\nname: \"日喀则\",\nabbr: \"RKZ\",\narea_code: \"540200\",\nsort: 9999,\nlatitude: 29.261454,\nlongitude: 88.884346,\nis_map: true,\npinyin: \"rikaze\"\n}\n],\nA: [\n{\nid: 70,\nname: \"安庆\",\nabbr: \"AQ\",\narea_code: \"0556\",\nsort: 2000,\nlatitude: 30.54294,\nlongitude: 117.063538,\nis_map: true,\npinyin: \"anqing\"\n},\n{\nid: 96,\nname: \"鞍山\",\nabbr: \"AS\",\narea_code: \"0412\",\nsort: 2000,\nlatitude: 41.107769,\nlongitude: 122.994598,\nis_map: true,\npinyin: \"anshan\"\n},\n{\nid: 216,\nname: \"澳门\",\nabbr: \"AM\",\narea_code: \"00853\",\nsort: 2000,\nlatitude: 22.186834,\nlongitude: 113.54303,\nis_map: true,\npinyin: \"aomen\"\n},\n{\nid: 257,\nname: \"安宁\",\nabbr: \"AN\",\narea_code: \"4401003\",\nsort: 2000,\nlatitude: 24.91954,\nlongitude: 102.477997,\nis_map: true,\npinyin: \"anning\"\n},\n{\nid: 261,\nname: \"安阳\",\nabbr: \"AY\",\narea_code: \"0372\",\nsort: 2000,\nlatitude: 36.09771,\nlongitude: 114.393097,\nis_map: true,\npinyin: \"anyang\"\n},\n{\nid: 272,\nname: \"安康\",\nabbr: \"AK\",\narea_code: \"0915\",\nsort: 2000,\nlatitude: 32.68486,\nlongitude: 109.02932,\nis_map: true,\npinyin: \"ankang\"\n},\n{\nid: 273,\nname: \"安顺\",\nabbr: \"AS\",\narea_code: \"085\",\nsort: 2000,\nlatitude: 26.25367,\nlongitude: 105.946198,\nis_map: true,\npinyin: \"anshun\"\n},\n{\nid: 327,\nname: \"阿拉尔\",\nabbr: \"ALE\",\narea_code: \"0997\",\nsort: 2000,\nlatitude: 40.547981,\nlongitude: 81.28067,\nis_map: true,\npinyin: \"alaer\"\n},\n{\nid: 499,\nname: \"安溪\",\nabbr: \"AX\",\narea_code: \"200045\",\nsort: 2000,\nlatitude: 25.055441,\nlongitude: 118.186852,\nis_map: true,\npinyin: \"anxi\"\n},\n{\nid: 608,\nname: \"安新\",\nabbr: \"AX\",\narea_code: \"200154\",\nsort: 2000,\nlatitude: 38.935349,\nlongitude: 115.935638,\nis_map: true,\npinyin: \"anxin\"\n},\n{\nid: 729,\nname: \"安陆\",\nabbr: \"AL\",\narea_code: \"200275\",\nsort: 2000,\nlatitude: 31.255541,\nlongitude: 113.689133,\nis_map: true,\npinyin: \"anlu\"\n},\n{\nid: 770,\nname: \"安化\",\nabbr: \"AH\",\narea_code: \"200316\",\nsort: 2000,\nlatitude: 28.374281,\nlongitude: 111.213028,\nis_map: true,\npinyin: \"anhua\"\n},\n{\nid: 796,\nname: \"安乡\",\nabbr: \"AX\",\narea_code: \"200342\",\nsort: 2000,\nlatitude: 29.411421,\nlongitude: 112.170959,\nis_map: true,\npinyin: \"anxiang\"\n},\n{\nid: 801,\nname: \"安仁\",\nabbr: \"AR\",\narea_code: \"200347\",\nsort: 2000,\nlatitude: 26.709419,\nlongitude: 113.269478,\nis_map: true,\npinyin: \"anren\"\n},\n{\nid: 963,\nname: \"安丘\",\nabbr: \"AQ\",\narea_code: \"200509\",\nsort: 2000,\nlatitude: 36.47842,\nlongitude: 119.217842,\nis_map: true,\npinyin: \"anqiu\"\n},\n{\nid: 1032,\nname: \"安岳\",\nabbr: \"AY\",\narea_code: \"200578\",\nsort: 2000,\nlatitude: 30.09733,\nlongitude: 105.335373,\nis_map: true,\npinyin: \"anyue\"\n},\n{\nid: 1057,\nname: \"阿克苏\",\nabbr: \"AKS\",\narea_code: \"200603\",\nsort: 2000,\nlatitude: 39.48328,\nlongitude: 81.08432,\nis_map: true,\npinyin: \"akesu\"\n},\n{\nid: 1105,\nname: \"安吉\",\nabbr: \"AJ\",\narea_code: \"200651\",\nsort: 2000,\nlatitude: 30.638241,\nlongitude: 119.68219,\nis_map: true,\npinyin: \"anji\"\n},\n{\nid: 1169,\nname: \"阿荣旗\",\nabbr: \"ARQ\",\narea_code: \"150721\",\nsort: 9999,\nlatitude: 48.12582,\nlongitude: 123.459442,\nis_map: true,\npinyin: \"arongqi\"\n},\n{\nid: 1216,\nname: \"安国\",\nabbr: \"AG\",\narea_code: \"130683\",\nsort: 9999,\nlatitude: 38.421368,\nlongitude: 115.331413,\nis_map: true,\npinyin: \"anguo\"\n},\n{\nid: 1252,\nname: \"安平\",\nabbr: \"AP\",\narea_code: \"131125\",\nsort: 9999,\nlatitude: 38.233513,\nlongitude: 115.51963,\nis_map: true,\npinyin: \"anping\"\n},\n{\nid: 1350,\nname: \"阿鲁科尔沁旗\",\nabbr: \"ALKEQQ\",\narea_code: \"150421\",\nsort: 9999,\nlatitude: 43.878769,\nlongitude: 120.094971,\nis_map: true,\npinyin: \"alukeerqinqi\"\n},\n{\nid: 1358,\nname: \"敖汉旗\",\nabbr: \"AHQ\",\narea_code: \"150430\",\nsort: 9999,\nlatitude: 42.28701,\nlongitude: 119.906487,\nis_map: true,\npinyin: \"aohanqi\"\n},\n{\nid: 1398,\nname: \"阿尔山\",\nabbr: \"AES\",\narea_code: \"152202\",\nsort: 9999,\nlatitude: 47.176998,\nlongitude: 119.943657,\nis_map: true,\npinyin: \"aershan\"\n},\n{\nid: 1405,\nname: \"阿巴嘎旗\",\nabbr: \"ABGQ\",\narea_code: \"152522\",\nsort: 9999,\nlatitude: 44.022728,\nlongitude: 114.970619,\nis_map: true,\npinyin: \"abagaqi\"\n},\n{\nid: 1416,\nname: \"阿拉善左旗\",\nabbr: \"ALSZQ\",\narea_code: \"152921\",\nsort: 9999,\nlatitude: 38.844841,\nlongitude: 105.705528,\nis_map: true,\npinyin: \"alashanzuoqi\"\n},\n{\nid: 1417,\nname: \"阿拉善右旗\",\nabbr: \"ALSYQ\",\narea_code: \"152922\",\nsort: 9999,\nlatitude: 39.21159,\nlongitude: 101.671982,\nis_map: true,\npinyin: \"alashanyouqi\"\n},\n{\nid: 1463,\nname: \"安图\",\nabbr: \"AT\",\narea_code: \"222426\",\nsort: 9999,\nlatitude: 43.110992,\nlongitude: 128.901871,\nis_map: true,\npinyin: \"antu\"\n},\n{\nid: 1510,\nname: \"安达\",\nabbr: \"AD\",\narea_code: \"231281\",\nsort: 9999,\nlatitude: 46.410614,\nlongitude: 125.329926,\nis_map: true,\npinyin: \"anda\"\n},\n{\nid: 1573,\nname: \"安义\",\nabbr: \"AY\",\narea_code: \"360123\",\nsort: 9999,\nlatitude: 28.841333,\nlongitude: 115.553108,\nis_map: true,\npinyin: \"anyi\"\n},\n{\nid: 1589,\nname: \"安远\",\nabbr: \"AY\",\narea_code: \"360726\",\nsort: 9999,\nlatitude: 25.13459,\nlongitude: 115.392326,\nis_map: true,\npinyin: \"anyuan\"\n},\n{\nid: 1600,\nname: \"安福\",\nabbr: \"AF\",\narea_code: \"360829\",\nsort: 9999,\nlatitude: 27.382746,\nlongitude: 114.613838,\nis_map: true,\npinyin: \"anfu\"\n},\n{\nid: 1648,\nname: \"安阳\",\nabbr: \"AY\",\narea_code: \"410522\",\nsort: 9999,\nlatitude: 36.130585,\nlongitude: 114.130203,\nis_map: true,\npinyin: \"anyang\"\n},\n{\nid: 1905,\nname: \"阿坝藏族羌族自治州\",\nabbr: \"ABZZQZZZZ\",\narea_code: \"513200\",\nsort: 9999,\nlatitude: 31.899792,\nlongitude: 102.221375,\nis_map: true,\npinyin: \"abazangzuqiangzuzizhizhou\"\n},\n{\nid: 1993,\nname: \"安龙\",\nabbr: \"AL\",\narea_code: \"522328\",\nsort: 9999,\nlatitude: 25.106426,\nlongitude: 105.469063,\nis_map: true,\npinyin: \"anlong\"\n},\n{\nid: 2241,\nname: \"安塞\",\nabbr: \"AS\",\narea_code: \"610624\",\nsort: 9999,\nlatitude: 36.86441,\nlongitude: 109.32534,\nis_map: true,\npinyin: \"ansai\"\n}\n],\nE: [\n{\nid: 184,\nname: \"鄂州\",\nabbr: \"EZ\",\narea_code: \"0711\",\nsort: 2000,\nlatitude: 30.39085,\nlongitude: 114.894951,\nis_map: true,\npinyin: \"ezhou\"\n},\n{\nid: 213,\nname: \"峨眉山\",\nabbr: \"EMS\",\narea_code: \"440100\",\nsort: 2000,\nlatitude: 29.60125,\nlongitude: 103.484467,\nis_map: true,\npinyin: \"emeishan\"\n},\n{\nid: 229,\nname: \"恩施\",\nabbr: \"ES\",\narea_code: \"0718\",\nsort: 2000,\nlatitude: 30.29504,\nlongitude: 109.479179,\nis_map: true,\npinyin: \"enshi\"\n},\n{\nid: 395,\nname: \"鄂尔多斯\",\nabbr: \"EEDS\",\narea_code: \"0477\",\nsort: 2000,\nlatitude: 39.608452,\nlongitude: 109.780869,\nis_map: true,\npinyin: \"eerduosi\"\n},\n{\nid: 555,\nname: \"恩平\",\nabbr: \"EP\",\narea_code: \"200101\",\nsort: 2000,\nlatitude: 22.18294,\nlongitude: 112.305321,\nis_map: true,\npinyin: \"enping\"\n},\n{\nid: 1366,\nname: \"鄂托克前旗\",\nabbr: \"ETKQQ\",\narea_code: \"150623\",\nsort: 9999,\nlatitude: 38.183258,\nlongitude: 107.48172,\nis_map: true,\npinyin: \"etuokeqianqi\"\n},\n{\nid: 1367,\nname: \"鄂托克旗\",\nabbr: \"ETKQ\",\narea_code: \"150624\",\nsort: 9999,\nlatitude: 39.095753,\nlongitude: 107.982605,\nis_map: true,\npinyin: \"etuokeqi\"\n},\n{\nid: 1373,\nname: \"鄂伦春自治旗\",\nabbr: \"ELCZZQ\",\narea_code: \"150723\",\nsort: 9999,\nlatitude: 50.590176,\nlongitude: 123.725685,\nis_map: true,\npinyin: \"elunchunzizhiqi\"\n},\n{\nid: 1374,\nname: \"鄂温克族自治旗\",\nabbr: \"EWKZZZQ\",\narea_code: \"150724\",\nsort: 9999,\nlatitude: 49.143291,\nlongitude: 119.754044,\nis_map: true,\npinyin: \"ewenkezuzizhiqi\"\n},\n{\nid: 1379,\nname: \"额尔古纳\",\nabbr: \"EEGN\",\narea_code: \"150784\",\nsort: 9999,\nlatitude: 50.2439,\nlongitude: 120.178635,\nis_map: true,\npinyin: \"eerguna\"\n},\n{\nid: 1404,\nname: \"二连浩特\",\nabbr: \"ELHT\",\narea_code: \"152501\",\nsort: 9999,\nlatitude: 43.652897,\nlongitude: 111.979813,\nis_map: true,\npinyin: \"erlianhaote\"\n},\n{\nid: 1418,\nname: \"额济纳旗\",\nabbr: \"EJNQ\",\narea_code: \"152923\",\nsort: 9999,\nlatitude: 41.958813,\nlongitude: 101.069443,\nis_map: true,\npinyin: \"ejinaqi\"\n},\n{\nid: 2035,\nname: \"峨山彝族自治县\",\nabbr: \"ESYZZZX\",\narea_code: \"530426\",\nsort: 9999,\nlatitude: 24.173256,\nlongitude: 102.404358,\nis_map: true,\npinyin: \"eshanyizuzizhixian\"\n},\n{\nid: 2108,\nname: \"洱源\",\nabbr: \"EY\",\narea_code: \"532930\",\nsort: 9999,\nlatitude: 26.111183,\nlongitude: 99.951706,\nis_map: true,\npinyin: \"eryuan\"\n}\n],\nhotCities: [\n{\nid: 1,\nname: \"上海\",\nabbr: \"SH\",\narea_code: \"021\",\nsort: 1,\nlatitude: 31.23037,\nlongitude: 121.473701,\nis_map: true,\npinyin: \"shanghai\"\n},\n{\nid: 10,\nname: \"哈尔滨\",\nabbr: \"HEB\",\narea_code: \"0451\",\nsort: 4,\nlatitude: 45.802158,\nlongitude: 126.535797,\nis_map: true,\npinyin: \"haerbin\"\n},\n{\nid: 6,\nname: \"南京\",\nabbr: \"NJ\",\narea_code: \"025\",\nsort: 5,\nlatitude: 31.84178,\nlongitude: 118.504669,\nis_map: true,\npinyin: \"nanjing\"\n},\n{\nid: 4,\nname: \"广州\",\nabbr: \"GZ\",\narea_code: \"020\",\nsort: 6,\nlatitude: 23.12908,\nlongitude: 113.264359,\nis_map: true,\npinyin: \"guangzhou\"\n},\n{\nid: 13,\nname: \"厦门\",\nabbr: \"XM\",\narea_code: \"0592\",\nsort: 7,\nlatitude: 24.479509,\nlongitude: 118.089478,\nis_map: true,\npinyin: \"xiamen\"\n},\n{\nid: 2,\nname: \"杭州\",\nabbr: \"HZ\",\narea_code: \"0571\",\nsort: 8,\nlatitude: 30.274151,\nlongitude: 120.155151,\nis_map: true,\npinyin: \"hangzhou\"\n},\n{\nid: 5,\nname: \"天津\",\nabbr: \"TJ\",\narea_code: \"022\",\nsort: 14,\nlatitude: 39.085098,\nlongitude: 117.199371,\nis_map: true,\npinyin: \"tianjin\"\n},\n{\nid: 28,\nname: \"青岛\",\nabbr: \"QD\",\narea_code: \"0532\",\nsort: 15,\nlatitude: 36.066231,\nlongitude: 120.382988,\nis_map: true,\npinyin: \"qingdao\"\n}\n]\n}"
  },
  {
    "path": "InitData/delivery.js",
    "content": "export default {\ncolor: \"57A9FF\",\nid: 1,\nis_solid: true,\ntext: \"蜂鸟专送\"\n}"
  },
  {
    "path": "InitData/entry.js",
    "content": "export default [\n{\nid: 15,\nis_in_serving: true,\ndescription: \"附近美食一网打尽\",\ntitle: \"美食\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu7f8e%5Cu98df%22%2C%22complex_category_ids%22%3A%5B207%2C220%2C233%2C260%5D%2C%22is_show_all_category%22%3Afalse%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A207%2C%22name%22%3A%22%5Cu5feb%5Cu9910%5Cu4fbf%5Cu5f53%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E7%BE%8E%E9%A3%9F&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/b/7e/d1890cf73ae6f2adb97caa39de7fcjpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 20,\nis_in_serving: true,\ndescription: \"苦了累了，来点甜的\",\ntitle: \"甜品饮品\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu751c%5Cu54c1%5Cu996e%5Cu54c1%22%2C%22complex_category_ids%22%3A%5B240%2C241%2C242%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A239%2C%22name%22%3A%22%5Cu751c%5Cu54c1%5Cu996e%5Cu54c1%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E7%94%9C%E5%93%81%E9%A5%AE%E5%93%81&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/2/35/696aa5cf9820adada9b11a3d14bf5jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 10,\nis_in_serving: true,\ndescription: \"足不出户，便利回家\",\ntitle: \"商超便利\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu5546%5Cu8d85%5Cu4fbf%5Cu5229%22%2C%22complex_category_ids%22%3A%5B254%2C255%2C256%2C257%2C258%2C271%2C272%2C273%2C274%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A252%2C%22name%22%3A%22%5Cu5546%5Cu5e97%5Cu8d85%5Cu5e02%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E5%95%86%E8%B6%85%E4%BE%BF%E5%88%A9&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/0/da/f42235e6929a5cb0e7013115ce78djpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 1,\nis_in_serving: true,\ndescription: \"0元早餐0起送，每天都有新花样。\",\ntitle: \"预订早餐\",\nlink: \"eleme://web?url=https%3A%2F%2Fzaocan.ele.me&target_name=%E9%A2%84%E8%AE%A2%E6%97%A9%E9%A4%90&animation_type=1&is_need_mark=&banner_type=\",\nimage_url: \"/d/49/7757ff22e8ab28e7dfa5f7e2c2692jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 8,\nis_in_serving: true,\ndescription: \"一天变女神\",\ntitle: \"果蔬生鲜\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu679c%5Cu852c%5Cu751f%5Cu9c9c%22%2C%22complex_category_ids%22%3A%5B245%2C246%2C247%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A244%2C%22name%22%3A%22%5Cu679c%5Cu852c%5Cu751f%5Cu9c9c%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E6%9E%9C%E8%94%AC%E7%94%9F%E9%B2%9C&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/4/34/ea0d51c9608310cf41faa5de6b8efjpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 403297,\nis_in_serving: true,\ndescription: \"大胆尝鲜，遇见惊喜\",\ntitle: \"新店特惠\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu65b0%5Cu5e97%5Cu7279%5Cu60e0%22%2C%22complex_category_ids%22%3A%5B207%2C220%2C233%2C239%2C244%2C248%2C252%2C260%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A207%2C%22name%22%3A%22%5Cu5feb%5Cu9910%5Cu4fbf%5Cu5f53%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22support_ids%22%3A%5B-1%5D%2C%22activities%22%3A%5B%5D%7D&target_name=%E6%96%B0%E5%BA%97%E7%89%B9%E6%83%A0&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/a/fa/d41b04d520d445dc5de42dae9a384jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 92,\nis_in_serving: true,\ndescription: \"准时必达，超时赔付\",\ntitle: \"准时达\",\nlink: \"eleme://restaurants?filter_key=%7B%22support_ids%22%3A%5B9%5D%2C%22activities%22%3A%5B%7B%22id%22%3A9%2C%22name%22%3A%22%5Cu51c6%5Cu65f6%5Cu8fbe%22%2C%22icon_name%22%3A%22%5Cu51c6%22%2C%22icon_color%22%3A%22E8842D%22%2C%22is_need_filling%22%3A0%2C%22is_multi_choice%22%3A1%2C%22filter_value%22%3A9%2C%22filter_key%22%3A%22support_ids%22%2C%22description%22%3A%22%5Cu51c6%5Cu65f6%5Cu8fbe%22%7D%5D%7D&target_name=%E5%87%86%E6%97%B6%E8%BE%BE&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/3/84/8e031bf7b3c036b4ec19edff16e46jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 225,\nis_in_serving: true,\ndescription: \"有菜有肉，营养均衡\",\ntitle: \"简餐\",\nlink: \"eleme://restaurants?filter_key=%7B%22activity_types%22%3A%5B3%5D%2C%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu7b80%5Cu9910%22%2C%22complex_category_ids%22%3A%5B209%2C212%2C215%2C265%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A207%2C%22name%22%3A%22%5Cu5feb%5Cu9910%5Cu4fbf%5Cu5f53%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%7B%22id%22%3A3%2C%22name%22%3A%22%5Cu4e0b%5Cu5355%5Cu7acb%5Cu51cf%22%2C%22icon_name%22%3A%22%5Cu51cf%22%2C%22icon_color%22%3A%22f07373%22%2C%22is_need_filling%22%3A1%2C%22is_multi_choice%22%3A0%2C%22filter_value%22%3A3%2C%22filter_key%22%3A%22activity_types%22%7D%5D%7D&target_name=%E7%AE%80%E9%A4%90&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/d/38/7bddb07503aea4b711236348e2632jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 65,\nis_in_serving: true,\ndescription: \"\",\ntitle: \"土豪推荐\",\nlink: \"eleme://restaurants?filter_key=%7B%22activities%22%3A%5B%7B%22filter_key%22%3A%22tags%22%2C%22filter_value%22%3A0%7D%5D%7D&target_name=%E5%9C%9F%E8%B1%AA%E6%8E%A8%E8%8D%90&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/e/7e/02b72b5e63c127d5bfae57b8e4ab1jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 236,\nis_in_serving: true,\ndescription: \"大口大口把你吃掉\",\ntitle: \"汉堡薯条\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu6c49%5Cu5821%22%2C%22complex_category_ids%22%3A%5B212%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A207%2C%22name%22%3A%22%5Cu5feb%5Cu9910%5Cu4fbf%5Cu5f53%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E6%B1%89%E5%A0%A1%E8%96%AF%E6%9D%A1&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/b/7f/432619fb21a40b05cd25d11eca02djpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 289,\nis_in_serving: true,\ndescription: \"老字号，好味道\",\ntitle: \"包子粥店\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu5305%5Cu5b50%5Cu7ca5%5Cu5e97%22%2C%22complex_category_ids%22%3A%5B215%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A207%2C%22name%22%3A%22%5Cu5feb%5Cu9910%5Cu4fbf%5Cu5f53%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E5%8C%85%E5%AD%90%E7%B2%A5%E5%BA%97&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/2/17/244241b514affc0f12f4168cf6628jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 9,\nis_in_serving: true,\ndescription: \"内心小公举，一直被宠爱\",\ntitle: \"鲜花蛋糕\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu9c9c%5Cu82b1%5Cu86cb%5Cu7cd5%22%2C%22complex_category_ids%22%3A%5B249%2C250%2C251%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A248%2C%22name%22%3A%22%5Cu9c9c%5Cu82b1%5Cu86cb%5Cu7cd5%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E9%B2%9C%E8%8A%B1%E8%9B%8B%E7%B3%95&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/8/83/171fd98b85dee3b3f4243b7459b48jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 286,\nis_in_serving: true,\ndescription: \"\",\ntitle: \"麻辣烫\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu9ebb%5Cu8fa3%5Cu70eb%22%2C%22complex_category_ids%22%3A%5B214%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A207%2C%22name%22%3A%22%5Cu5feb%5Cu9910%5Cu4fbf%5Cu5f53%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E9%BA%BB%E8%BE%A3%E7%83%AB&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/3/c7/a9ef469a12e7a596b559145b87f09jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 288,\nis_in_serving: true,\ndescription: \"无辣不欢\",\ntitle: \"川湘菜\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu5ddd%5Cu6e58%5Cu83dc%22%2C%22complex_category_ids%22%3A%5B221%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A220%2C%22name%22%3A%22%5Cu7279%5Cu8272%5Cu83dc%5Cu7cfb%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E5%B7%9D%E6%B9%98%E8%8F%9C&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/9/7c/9700836a33e05c2410bda8da59117jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 287,\nis_in_serving: true,\ndescription: \"西餐始祖，欧洲的味道\",\ntitle: \"披萨意面\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu62ab%5Cu8428%5Cu610f%5Cu9762%22%2C%22complex_category_ids%22%3A%5B211%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A260%2C%22name%22%3A%22%5Cu5f02%5Cu56fd%5Cu6599%5Cu7406%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E6%8A%AB%E8%90%A8%E6%84%8F%E9%9D%A2&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/7/b6/235761e50d391445f021922b71789jpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n},\n{\nid: 285,\nis_in_serving: true,\ndescription: \"寿司定食，泡菜烤肉\",\ntitle: \"日韩料理\",\nlink: \"eleme://restaurants?filter_key=%7B%22category_schema%22%3A%7B%22category_name%22%3A%22%5Cu65e5%5Cu97e9%5Cu6599%5Cu7406%22%2C%22complex_category_ids%22%3A%5B229%5D%2C%22is_show_all_category%22%3Atrue%7D%2C%22restaurant_category_id%22%3A%7B%22id%22%3A260%2C%22name%22%3A%22%5Cu5f02%5Cu56fd%5Cu6599%5Cu7406%22%2C%22sub_categories%22%3A%5B%5D%2C%22image_url%22%3A%22%22%7D%2C%22activities%22%3A%5B%5D%7D&target_name=%E6%97%A5%E9%9F%A9%E6%96%99%E7%90%86&animation_type=1&is_need_mark=0&banner_type=\",\nimage_url: \"/6/1a/1e0f448be0624c62db416e864d2afjpeg.jpeg\",\nicon_url: \"\",\ntitle_color: \"\"\n}\n]"
  },
  {
    "path": "InitData/explain.js",
    "content": "export default {\nactivityCaption: \"活动问题\",\nactivityContent: '### Q1: 我是新用户，为什么不能享受新用户下单立减优惠／新用户首单红包？ * 新用户是指您的下单设备、手机号、饿了么账号、支付账号都是第一次在饿了么平台使用。以上任意条件不满足，都不能享受新用户优惠。 * 新用户立减优惠、新用户红包、满减特价菜活动不能同时使用。在您首次下单过程中，我们会优先为您选择优惠最大（优惠金额最高）的。 ### Q2: 商品活动规则 * 新用户下首单时，如果用户自己主动退单，则下次不可再享受新用户优惠，如果是商家或客服取消订单，则可以再次享受新用户优惠。 * 6.0版本（含）之前的所有版本，用户在下单时不再享受任何优惠（包含新用户、在线满减、商品折扣、红包等）。 * 移动端所有活动，相同手机号或设备每天只限3单，超过3单收取原价。 * 每个订单最多享受3份活动优惠，超过3份的其余商品收取原价。 * 下单手机号和所选择下单的商家不在同一城市，不享受优惠活动。 * 配送费不计入满减活动的门槛。 ### Q3: 我第一次在 \"A\" 商家下单，\"A\" 商家有参加「新用户」活动，我为什么享受不到新用户的立减优惠？ * 活动中的新用户指的是饿了么网站的新用户，而不是指 \"A\" 商家的新客户。如果您不符合饿了么网站新用户的定义则无法享受于新用户相关的活动优惠。 ',\nanonymousBuyCaption: \"匿名购买\",\nanonymousBuyContent: \"![anonymous buy](https://fuss10.elemecdn.com/f/08/bb0bcfc2a10e26524633e38ea47f6jpeg.jpeg)\",\nawesomeRestaurantCaption: \"超赞商家\",\nawesomeRestaurantContent: \"# 超赞商家\",\nbalanceCaption: \"余额问题\",\nbalanceContent: \"### Q1: 使用余额的条件 为了保护账户安全，使用余额前必须先绑定手机号。 ### Q2: 余额可以怎么用？ 余额可以在饿了么平台上提现，当余额大于等于待支付金额时可以在支持在线支付的商家中进行消费。提现功能将于2016年12月25日00:00全面开放。 ### Q3:我要如何提现？ 为了保护账户和资金安全，您在提现前需要输入真实姓名和用该姓名开通的银行卡号、选择开户行，并验证已绑定饿了么账号的手机号。每日只能提现1次，每次限额50元。若提现金额超过50元，点击【提现】时系统会提示您已超额，请您修改提现金额。 ### Q4:为什么会提现失败？ 可能原因有：您的姓名、开户行、银行卡号等信息不匹配；您当日的提现次数和金额超过限制；您的账户存在异常，被风控拦截。 \",\nbusinessCaption: \"商务合作\",\nbusinessContent: '### 品牌合作 <a href=\"mailto:marketing_coop@ele.me\">marketing_coop@ele.me</a> ### 媒体合作 <a href=\"mailto:pr@ele.me\">pr@ele.me</a>',\ncouponCaption: \"代金券说明\",\ncouponContent: \"### Q1: 什么是商家代金券？ 商家代金券是指由商家自己发放代金券，只限在指定的商家使用，可根据条件抵扣相应金额。 ### Q2: 怎么获得商家代金券？ * 进入有「进店领券」或「下单返券」标示的商家即有机会获得代金券。 * 「下单返券」需要在指定商家完成满足返券金额要求的订单后才会返还，代金券可在下次下单时使用。 ### Q3: 商家代金券使用条件 * 商家代金券仅限在指定商家使用 * 商家代金券仅限在线支付使用 * 每个订单只能使用一张商家代金券，不可与其他代金券叠加使用\",\ndisclaimerCaption: \"免责声明\",\ndisclaimerContent: \"# Disclaimer: The application developed by Ele.me or have. Ele.me makes it clear that, your business activities through the participation of the software have nothing to do with Apple Inc., and Apple does not assume any responsibilities of the program. Mobile phone brand partners from Ele.me, such as Apple and App Store. Sponsors of non-mobile phone clients from Ele.me, nor do you get the mobile phone client’s intellectual property rights or any other rights. If the mobile phone client violates the third party’s intellectual property rights, Ele.me will bears the corresponding legal responsibility. Ele.me has the right but not the obligation to improve or correct any errors or defects. Ele.me will not represent or warrant the accuracy or reliability of any contents,information or advertisements which users obtain from the application. Moreover, Ele.me will not be responsible for any products or information which users purchase by the mobile client. Users shall use the application at their own risk. # 免责声明： 本应用由饿了么开发或拥有。饿了么在此申明，用户通过本软件参加的商业活动，与Apple Inc.无关，Apple不承担该程序的任何责任。 饿了么手机客户端的品牌合作商，如Apple，AppStore，非饿了么手机客户端的赞助商，也未拥有该客户端的知识产权或其他任何权益。因饿了么手机客户端侵犯第三方知识产权的，由饿了么承担相应的法律责任。 饿了么有权但无义务，改善或更正本手机客户端的任何错误或缺陷。 用户通过饿了么手机客户端及其中的任何链接、下载获得的一切信息、内容或广告，饿了么不声明或保证其正确性或可靠性；并且对于用户经本手机客户端上的展示、内容、广告而购买、取得的任何产品、或信息，饿了么不负保证责任。用户自行承担使用本软件的风险。\",\ndiscountCaption: \"优惠说明\",\ndiscountContent: '### Q1: 我是新用户，为什么不能享受新用户下单立减优惠／新用户首单红包？ * 新用户是指您的下单设备、手机号、饿了么账号、支付账号都是第一次在饿了么平台使用。以上任意条件不满足，都不能享受新用户优惠。 * 如果监测到您不满足以上的信用条件，您的订单将被系统拦截或无偿取消。 * 新用户立减优惠、新用户红包、满减特价菜活动不能同时使用。在您首次下单过程中，我们会优先为您选择优惠最大（优惠金额最高）的。 ### Q2: 首单被取消，再次下单还能享受新用户立减优惠／新用户红包吗？ * 您主动取消或商家、骑手取消的订单，饿了么会返还您的新用户资格，这时您仍然可以享受新用户的优惠。 * 您被取消的首单因为「使用的支付账户曾下过单」，必须更换新的支付账户才可以享受新用户优惠。 * 但您取消的原因是账户异常等原因，则不能享受新用户优惠。 ### Q3: 我第一次在 \"A\" 商家下单，\"A\" 商家有参加「新用户」活动，我为什么享受不到新用户的立减优惠？ * 活动中的新用户指的是饿了么网站的新用户，而不是指 \"A\" 商家的新客户。如果您不符合饿了么网站新用户的定义则无法享受于新用户相关的活动优惠。 ### Q4: 一个红包能拆开多次使用吗？ * 不能，一个红包只能一次性使用，不能分开使用。 ### Q5: 下单的时候使用了红包，但是后来订单取消了，红包还会返还吗？ * 会的，订单无效后红包会自动返还到您的账户里。 ### Q6: 红包兑换码怎样兑换成红包，怎样查看红包？ * 在个人中心 > 我的红包 > 兑换红包，输入兑换码进行兑换。 ### Q7: 在线支付订单取消后，钱怎么返还？ * 使用饿了么账户余额支付，订单无效后，所有款项将退到您的饿了么账户；使用第三方支付订单无效后，支付款项将于2个工作日内返还到您的第三方支付账户，红包退还到饿了么账户。 ### Q8: 每天限制优惠3单，前面下了一个在线支付的单子，由于未付款，订单自动取消了，这单会计算我的参与活动次数吗？ * 不会。未付款的订单不会计入您使用优惠的次数。 ### Q9: 每天红包使用次数有限制吗？ * 同一个手机号每天最多能使用两个红包优惠（不含预订早餐和预订午餐），使用红包的订单出现退单情况不计入限制。 ',\nforgotCaption: \"补签规则\",\nforgotContent: \"### 如何补签？ 如忘记签到，可通过下单补签，漏签当日至红包领取日前一天每1笔有效订单可补签 1 天（仅限在线支付订单），例：如您在活动第 3 天忘记签到，只要你在第 3 天至第 9 天内完成1笔有效的订单，即可完成补签。\",\nfreshmanCaption: \"活动细则\",\nfreshmanContent: \"* 新用户是根据设备、饿了么账号、下单手机号进行判断，如果您下单时以上信息均为首次使用则符合饿了么定义的新用户 * 仅限新用户使用移动端app提交订单并选择在线支付时享受（饿配送订单选择餐到付款也可享受） * 在本设备上曾经有过购买记录行为的手机不能参加本活动 * 新用户首单立减金额各区域不同 * 活动仅支持手机客户端最新版本\",\nhongbaoCaption: \"红包问题\",\nhongbaoContent: \"### Q1: 怎么获得红包？ * 抢微信朋友分享的红包获得； * 玩游戏领红包（仅限Android客户端）； ### Q2: 红包如何使用？ * 红包仅限订单选择在线支付时使用； * 每个订单限使用一个红包，每天最多可使用2个红包； * 每个红包只能使用一次，不能叠加或拆分使用； * 红包如有使用金额门槛，则购物车金额需满足金额门槛才可使用； * 红包如有品类、商家、手机号或时段限制，订单需满足对应条件后才可使用； * 红包使用不设找零，如红包可抵扣金额大于订单金额，则订单需支付0.01元。 ### Q3: 下单的时候使用了红包，但是后来订单取消了，红包还会返还吗？ * 会的，订单无效后红包会自动返还到您的账户里。 ### Q4: 红包兑换码怎样兑换成红包，怎样查看红包？ * 在个人中心 > 我的红包 > 兑换红包，输入兑换码进行兑换。 ### Q5: 预订早餐、预订午餐的红包怎么使用？在哪里查询？ * 预订早餐、预订午餐的红包暂时不支持直接点外卖使用，并且当前点外卖的红包也暂时不支持在预订早餐、预订午餐时使用。 * 预订早餐、预订午餐的红包从APP首页点击“预订早餐”按钮进入后在右上角的个人中心中查找预订早餐、预订午餐的红包。 ### Q6: 互斥红包怎么使用？ * 互斥红包不与其他优惠活动（包含但不限于：新用户专享、满X元减X元、满X元赠XX）同时使用。 ### Q7: 红包领取规则是什么? * 同一个手机号一天限领取三个。 * 同一注册用户一天限领取三个。 * 注册用户红包直接发送至用户账户里。 * 同一个手机号一天最多使用两个红包。 * 未收到红包短信的用户注意查看手机里的拦截短信。 * 有任何问题请拨打客服电话：10105757。 ### Q8：首单红包的使用条件？ * 首单红包需同时满足以下条件才可用，且首单红包不与其他优惠（首减、满减、满赠、套餐赠、折扣菜）同享。 * 新用户（设备、手机号、饿了么账号、支付账号均未在饿了么外卖下过单）首次下单。 * 仅限在线支付使用，且收餐人手机号、领取红包时输入的手机号和账号中的手机号需为同一手机号。 * 微信小程序中“商超便利”和“果蔬生鲜”分类暂未开通。 \",\nindex: \"payment,balance,hongbao,pointtext,member,activity,other\",\nmemberCaption: \"会员问题\",\nmemberContent: \"### 会员权益调整 尊敬的用户，随着会员服务体系优化，「蜂鸟专送」商家得到大规模普及，大大丰富了会员用户的用餐选择，从2016年9月1日开始，新购及续费的会员服务将由免配送费调整为每单最高减免4元配送费，之前购买的会员服务不受影响，感谢您的支持！敬请期待更多会员特权。 ### Q1: 特权介绍 * 减配送费：饿了么会员卡绑定账户，每日前3单在「蜂鸟专送」标识商家可减配送费，每单最高可减4元。 * 更多特权，敬请期待！ ### Q2: 会员资费 * 月卡20元（一个月按31天计算） ### Q3: 购卡说明 * 在线购买：饿了么App > 我的 > 饿了么会员卡。 * 请认准饿了么官方认证渠道，任何从其他第三方途径获得的会员卡，饿了么不保证其可用性。\",\nmemberFullCutCaption: \"会员说明\",\nmemberFullCutContent: \"### Q1: 特权介绍 * 免配送费：饿了么会员卡绑定账户，每日前3单在「蜂鸟专送」标识商家免配送费。 * 更多特权，敬请期待！ ### Q2: 温馨提示 * 用户在当前会员服务失效前，无法购买新卡。 * 请认准饿了么官方渠道，任何从其他第三方途径获得的会员卡，饿了么不保证其可用性。\",\nmemberPartCutCaption: \"会员说明\",\nmemberPartCutContent: \"### Q1: 特权介绍 * 减免配送费： 饿了么会员卡绑定账户，每日前3单在「蜂鸟专送」标识商家可减免配送费，每单最高可减免4元。 * 更多特权，敬请期待！ ### Q2: 温馨提示 * 用户在当前会员服务失效前，无法购买新卡。 * 请认准饿了么官方渠道，任何从其他第三方途径获得的会员卡，饿了么不保证其可用性。\",\nmemberTimesCaption: \"会员说明\",\nmemberTimesContent: \"> 尊敬的用户，随着会员体系逐渐完善，自2016年10月10日起，饿了么会员权益将做如下优化： 购卡后31天内，累积享有30单减免配送费服务（每日最多3单，每单最高减免4元）。 > 注：已购买的会员服务不受影响，当前会员服务失效前无法购买新卡。 ### Q1: 特权介绍 * 身份标识：饿了么会员服务有效期内，享有专属皇冠标识。 * 减免配送费： 饿了么会员卡自绑定账户之日起31天内，在「蜂鸟专送」标识商家下单，享有30次减免配送费特权，每日最多减免3单，每单最高可减4元。 * 更多特权，敬请期待！ ### Q2: 资费介绍 * 饿了么会员卡：20元 ### Q3: 使用说明 当用户满足以下任一条件，会员服务自动失效： 1. 自绑定之日起超过31天； 2. 在31天内累计使用减免配送费的蜂鸟订单数量达到30单； ### Q4: 购卡说明 * 在线购买：饿了么App>我的>饿了么会员卡 ### Q5: 温馨提示 * 用户在当前会员服务失效前，无法购买新卡。 * 请认准饿了么官方渠道，任何从其他第三方途径获得的会员卡，饿了么不保证其可用性。\",\nontimeCaption: \"准时达问题\",\nontimeContent: \"### Q1: 准时达规则： 饿了么用户在饿了么App带有「准时达」标签的商家下单，若商品送达时间超过承诺送达时间10分钟，我们将为您赔付一个无门槛红包。 ### Q2: 关于准时达的特殊情况： a. 预订单暂不参加赔付； b. 夜间部分时段下单暂不参加赔付； c. 恶劣天气（雨、雪等）暂不参加赔付； d. 每位用户每天最多赔付3个红包； ### Q3: 常见问题Q&A Q1：我怎么收到赔付红包？ A1：当确认送达商品时已超过承诺送达时间10分钟，我们将向您的饿了么账户发放一个无门槛红包，同时会有短信通知到您的手机号码。 ### 饿了么保留法律允许范围内对活动的解释权\",\notherCaption: \"其它问题\",\notherContent: \"### Q1: 什么是订单数 订单数是指商家最近30天的订单总数，这个数据是动态的，每天都会进行更新。 ### Q2: 商品多久内可以评价？评价后是否能修改？ * 下单确认收货后，7天内可以对商品进行评价。超过7天，评价功能自动失效。 * 美食一旦点评就不能做修改，评价不可删除撤销，请知悉。 ### Q3: 为什么提示下单次数过多，无法下单？ 在24小时内，同一手机号在同一设备上最多可以成功提交7次订单。\",\npaymentCaption: \"支付问题\",\npaymentContent: \"### Q1: 使用余额支付不了？ 先确认下您的饿了么账户是否有绑定手机号，使用余额支付必须先绑定手机号。 ### Q2: 在线支付订单取消后，钱怎么返还？ 使用饿了么账户余额支付（包括：余额、余额+红包），订单无效后，所有款项（包括红包）将退到您的饿了么账户；使用第三方支付（包括：第三方支付、第三方支付+红包），订单无效后，支付款项将于2个工作日内返还到您的第三方支付账户，红包退还到饿了么账户。 ### Q3: 在线支付的过程中，订单显示未支付成功，款项却被扣了，怎么办？ 该问题属于第三方（银行/支付宝/微信等）数据传输延迟问题。您可以再等待一下， 如果超过半个小时，订单还是未支付状态，第三方会把款项返还到您的付款账户。具体到账时间依银行而定，一般会在2个工作日内。 ### Q4: 每天限制优惠3单，前面下了一个在线支付的单子，由于未付款，订单自动取消了，这单会计算我的参与活动次数吗？ 不会，您可以在「订单列表页」或者「订单详情页」查看，当订单状态变为「订单已取消」时，系统会自动将您之前享受的优惠返还到您的账户中，下一次下单依然可以使用。自己取消订单、超时未付款自动取消订单、商家取消订单，这些情况都会返还优惠次数。 ### Q5: 饿了么账户里的款项怎么提现？ 在个人中心 > 我的余额 > 提现处进行提现操作。操作日起2个工作日内，款项会返还至您最近消费过的账户中。 ### Q6: 支付宝免密支付功能如何使用？ 首次进入支付收银台并使用支付宝支付时，系统会默认进入免密支付签约页面，您可以根据自身支付喜好选择是否签约免密支付功能。如您不签约该功能，之后会默认使用正常支付宝支付流程。此外，您还可以通过“个人中心”－“小额免密支付”中的免密支付开关，随时进行“签约”、“解约”支付宝免密支付操作。\",\nphototutorialCaption: \"教我拍大片\",\nphototutorialContent: \"![](http://fuss10.elemecdn.com/5/de/5efc9ee81ceba1ae835b0c2298ba9jpeg.jpeg) ## 1. 清晰 拍照时持稳手机，避免出现大幅度晃动。将焦点对准食物本身，锁焦后、点击快门。<br /><br /><br /> ![](http://fuss10.elemecdn.com/8/89/4920bc3a0a34c0d26a4460ce03157jpeg.jpeg) ## 2. 光线 尽量选择明亮、柔和的光线，避免强光直射；拍摄时避免身体或器物的阴影遮住食物本身，有条件时，可以用小型手电进行补光，以提高食物质感。<br /><br /><br /> ![](http://fuss10.elemecdn.com/4/9b/ca198810b12c8fc57ae562c6fa92cjpeg.jpeg) ## 3. 构图 构图可以选择通用的三分构图法或中心构图法，如果是拍摄整体食物时，需要考虑食物的完整性；如果拍摄特写时，需要将细节体现清楚。<br /><br /><br /> ![](http://fuss10.elemecdn.com/c/3b/958696046787bb467708c8d9a5171jpeg.jpeg) ## 4.角度 可以选择45度拍摄、90度俯拍或者水平拍摄，一切都看你的心情哦~<br /><br /><br /> ![](http://fuss10.elemecdn.com/2/d3/d31b1f81eb853c6042b9c172a514bjpeg.jpeg) ## 5. 背景 可以选择合适的背景拍摄，例如黑色能体现食物蒸腾的热气，白色让食物更有质感，米色更加温馨等；但背景尽量不要太乱，以免影响整体效果。<br /><br /><br /> ![](http://fuss10.elemecdn.com/a/fe/b9716e028917fd81f6c5a99242b6fjpeg.jpeg) ## 6. 细节 餐具的搭配使用、人物的烘托、道具的陪衬等都能使食物更具诱惑力，照片更有氛围。\",\npointtextCaption: \"积分问题\",\npointtextContent: \"### Q1: 怎么获得积分？ 在线支付的订单将获得订单积分奖励： * 积分将在用户完成评价后获得,会根据订单实际支付金额和评价的质量发放。 * 每位用户每天最多可以获得2000积分，体验商家的订单和评价不会增加积分。 ### Q2: 积分用来做什么？ 可以在积分商城兑换各种礼品。 ### Q3: 礼品兑换很多天了还没有收到，该怎么办？ 礼品从兑换日起，3个工作日（周末不算）内处理发货，发货后，通常会在3个工作日左右送达。 ### Q4: 礼品兑换中的手机充值卡兑换，怎么样进行充值，充值之前会和我电话确认嘛？ 不会，手机充值卡兑换，是直接充值到您填写的手机号上，充值之前不会和您电话确认，所以您在填写电话的时候，请确认电话是否正确。\",\nrankCaption: \"用户等级说明\",\nrankContent: \"用户等级是你在饿了么的身份表现，为了感谢您长期以来对饿了么的信赖和支持，我们会根据你的等级回馈相应福利和特权，功能还在内测中，暂定规则如下： ### 用户等级的划分： 用户等级按月度计算，每个自然月的最后一天会统计你当月的累计消费金额（限在线支付金额，不包含活动优惠及红包及代金券抵扣），决定你次月的等级，具体要求如下。 * Lv0 月累计消费100元以下； * Lv1 月累计消费大于等于100，小于200元 * Lv2 月累计消费大于等于200，小于500元 * Lv3 月累计消费大于等于500 ### 升级及降级规则： 每笔订单完成后，系统会自动计算你当月有效的消费金额（限在线支付金额，不包含活动优惠及红包及代金券抵扣），当月累计消费一旦达到下一等级要求，我们会立刻为您升级，您即时就可享受新等级的相关权益。</br> 如你本月累计消费金额未达到当前等级要求，次月你将被降到与本月消费相匹配的对应等级。 *内测期间饿了么会调整等级权益及规则，饿了么保留对等级体系的所有解释权\",\nsignCaption: \"签到规则\",\nsignContent: \"### 如何签到领红包 用户需要支付 1 元参与活动（后续签到不收费）</br> 活动期间每日签到，9 天后即可领取 10 元无门槛红包</br> 如期间忘记签到，可领红包金额会减少，详细如下：</br> - **完成 9 天签到：**10元（2个5元红包） - **漏签 1 天：**8元（2个4元红包） - **漏签 2 天：**6元（2个3元红包） - **漏签 3 天：**4元（2个2元红包） - **漏签 4 天及以上：**1个2元红包 </br> ### 漏签后如何补签 如忘记签到，可通过下单补签，漏签当日至红包领取日前一天每1笔有效订单可补签 1 天（仅限在线支付订单），例：如您在活动第 3 天忘记签到，只要你在第 3 天至第 9 天内完成1笔有效的订单，即可完成补签。 ### 每日签到拿福利： - 签到期间，每日 10:30 可抢 5 元红包，每日限领取 1个。红包数量有限，抢完即止，要记得来早哦~\",\nsupervipCaption: \"超级会员权益说明\",\nsupervipContent: \"## 什么是超级会员 超级会员是饿了么为了更好服务用户，推出的一项增值会员服务，包含众多会员专属权益，全面提升核心用户购物体验，加入会员后您将获得以下会员特权： ### 专享红包 * 当月购买当月生效，可立即获得4张面额5元的饿了么红包，总计20元； * 发放的4个红包皆无使用金额要求，全品类通用（早餐及帮买帮送等特殊订单除外）； * 其中有2个红包限蜂鸟专送使用，其余红包无配送要求; * 发放的红包使用日期有区别，相隔14天，也就是有2个红包发放日当日即可使用，有2个需14天后才能使用。 ### 下单奖励 * 每完成5笔在线支付订单，更可领取5元红包，下单越多可领取的红包越多！ * 奖励的红包无使用金额要求，全品类通用（早餐及帮买帮送订单除外）。 ### 专属活动 * 针对会员不定期会推出专属活动，可享受会员折扣商品，可获得专属红包及商家代金券等活动。 ### 积分特权 * 积分商城的会员专区将为超级会员不定期推出专属礼品，优惠多多，豪礼多多！ ## 常见问题 ### 超级会员是否有配送费优惠？ * 超级会员暂无配送费优惠政策，配送费按商家定价收取。 ### 为何没收到会员专享红包？ * 专享红包按月发放，如用户购买多月会员，则每月会员生效日可获得对应的4个专享红包。 ### 如何获得下单奖励红包？ * 会员有效期内，用户每完成5笔在线支付订单，用户可去会员主页领取5元红包，如会员已过期，则无法领取。 ### 超级会员如何退订？ * 会员到期后，如用户不再续费则自动退订，会员有效期内无法退订会员，已缴纳的会费不能返还。 ### 红包有无使用限制？ * 专享红包及下单奖励红包无金额门槛要求，但每笔订单需最少支付0.01元，如抵扣金额小于红包金额，则需支付0.01元； * 每个红包只能使用一次，不能叠加或拆分使用； * 红包需在有效期内使用，过期红包即刻失效，请注意红包有效期； * 每月专享红包中，有2个红包有配送限制，订单需为蜂鸟专送方可使用，其余红包无配送限制。 \"\n}"
  },
  {
    "path": "InitData/hongbao.js",
    "content": "export default [\n{\nid: 7160761341773,\nsn: \"201705211244186655961161757573\",\nuser_id: 186655961,\namount: 2,\nsum_condition: 40,\nname: \"分享红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-21\",\nend_date: \"2017-05-23\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"剩3日\",\nvalidity_periods: \"2017-05-23到期\",\nsum_condition: \"满 40 元可用\"\n},\nlimit_map: { },\nstatus: 0,\npresent_status: 1,\nshare_status: 0,\nschema: \"eleme://restaurants?target_name=%E9%99%84%E8%BF%91%E5%95%86%E5%AE%B6&target=%7B%7D\"\n},\n{\nid: 7160771283789,\nsn: \"201705211244186655961313417766\",\nuser_id: 186655961,\namount: 1,\nsum_condition: 20,\nname: \"分享红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-21\",\nend_date: \"2017-05-23\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"剩3日\",\nvalidity_periods: \"2017-05-23到期\",\nsum_condition: \"满 20 元可用\"\n},\nlimit_map: { },\nstatus: 0,\npresent_status: 1,\nshare_status: 0,\nschema: \"eleme://restaurants?target_name=%E9%99%84%E8%BF%91%E5%95%86%E5%AE%B6&target=%7B%7D\"\n},\n{\nid: 7160754582349,\nsn: \"201705211243186655961753696656\",\nuser_id: 186655961,\namount: 4.5,\nsum_condition: 30,\nname: \"分享红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-21\",\nend_date: \"2017-05-23\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"剩3日\",\nvalidity_periods: \"2017-05-23到期\",\nsum_condition: \"满 30 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：快餐便当、特色菜系、小吃夜宵、甜品饮品、异国料理\"\n},\nstatus: 0,\npresent_status: 1,\nshare_status: 0,\nschema: \"eleme://restaurants?target_name=%E5%BF%AB%E9%A4%90%E4%BE%BF%E5%BD%93%E7%89%B9%E8%89%B2%E8%8F%9C%E7%B3%BB%E5%B0%8F%E5%90%83%E5%A4%9C%E5%AE%B5%E7%94%9C%E5%93%81%E9%A5%AE%E5%93%81%E5%BC%82%E5%9B%BD%E6%96%99%E7%90%86&target=%7B%22category_schema%22%3A%7B%22is_show_all_category%22%3Atrue%2C%22complex_category_ids%22%3A%5B207%2C220%2C233%2C239%2C260%5D%2C%22category_name%22%3A%22%5Cu5feb%5Cu9910%5Cu4fbf%5Cu5f53%5Cu7279%5Cu8272%5Cu83dc%5Cu7cfb%5Cu5c0f%5Cu5403%5Cu591c%5Cu5bb5%5Cu751c%5Cu54c1%5Cu996e%5Cu54c1%5Cu5f02%5Cu56fd%5Cu6599%5Cu7406%22%7D%7D\"\n},\n{\nid: 7114345941837,\nsn: \"201705180135186655961227785920\",\nuser_id: 186655961,\namount: 5,\nsum_condition: 24,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-18\",\nend_date: \"2017-05-20\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-3天后可用\",\nvalidity_periods: \"2017-05-20到期\",\nsum_condition: \"满 24 元可用\"\n},\nlimit_map: { },\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 7114345943885,\nsn: \"201705180135186655961682785933\",\nuser_id: 186655961,\namount: 4,\nsum_condition: 18,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-18\",\nend_date: \"2017-05-20\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-3天后可用\",\nvalidity_periods: \"2017-05-20到期\",\nsum_condition: \"满 18 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：果蔬生鲜、商店超市\"\n},\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 7114345944909,\nsn: \"201705180135186655961379164125\",\nuser_id: 186655961,\namount: 5,\nsum_condition: 25,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-18\",\nend_date: \"2017-05-20\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-3天后可用\",\nvalidity_periods: \"2017-05-20到期\",\nsum_condition: \"满 25 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：小吃夜宵\",\ntime_periods: \"限时段：21:00 - 02:00\"\n},\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6988252000077,\nsn: \"201705110124186655961361787430\",\nuser_id: 186655961,\namount: 5,\nsum_condition: 25,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-11\",\nend_date: \"2017-05-13\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-10天后可用\",\nvalidity_periods: \"2017-05-13到期\",\nsum_condition: \"满 25 元可用\"\n},\nlimit_map: { },\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6988252001101,\nsn: \"201705110124186655961722477791\",\nuser_id: 186655961,\namount: 4,\nsum_condition: 18,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-11\",\nend_date: \"2017-05-13\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-10天后可用\",\nvalidity_periods: \"2017-05-13到期\",\nsum_condition: \"满 18 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：果蔬生鲜、商店超市\"\n},\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6988252002125,\nsn: \"201705110124186655961378209054\",\nuser_id: 186655961,\namount: 5,\nsum_condition: 25,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-11\",\nend_date: \"2017-05-13\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-10天后可用\",\nvalidity_periods: \"2017-05-13到期\",\nsum_condition: \"满 25 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：小吃夜宵\",\ntime_periods: \"限时段：21:00 - 23:59\"\n},\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6826679667533,\nsn: \"201705040218186655961404756960\",\nuser_id: 186655961,\namount: 5,\nsum_condition: 25,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-04\",\nend_date: \"2017-05-06\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-17天后可用\",\nvalidity_periods: \"2017-05-06到期\",\nsum_condition: \"满 25 元可用\"\n},\nlimit_map: { },\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6826679668557,\nsn: \"201705040218186655961625497972\",\nuser_id: 186655961,\namount: 4,\nsum_condition: 18,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-04\",\nend_date: \"2017-05-06\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-17天后可用\",\nvalidity_periods: \"2017-05-06到期\",\nsum_condition: \"满 18 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：果蔬生鲜\"\n},\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6826679669581,\nsn: \"201705040218186655961724208735\",\nuser_id: 186655961,\namount: 4,\nsum_condition: 20,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-04\",\nend_date: \"2017-05-06\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-17天后可用\",\nvalidity_periods: \"2017-05-06到期\",\nsum_condition: \"满 20 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：超市便利店\"\n},\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6776347937613,\nsn: \"201705020237186655961587770680\",\nuser_id: 186655961,\namount: 5,\nsum_condition: 25,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-02\",\nend_date: \"2017-05-04\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-19天后可用\",\nvalidity_periods: \"2017-05-04到期\",\nsum_condition: \"满 25 元可用\"\n},\nlimit_map: { },\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6776347939661,\nsn: \"201705020237186655961281037962\",\nuser_id: 186655961,\namount: 4,\nsum_condition: 20,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-02\",\nend_date: \"2017-05-04\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-19天后可用\",\nvalidity_periods: \"2017-05-04到期\",\nsum_condition: \"满 20 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：果蔬生鲜\"\n},\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6776347942733,\nsn: \"201705020237186655961580452097\",\nuser_id: 186655961,\namount: 4,\nsum_condition: 28,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-05-02\",\nend_date: \"2017-05-04\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-19天后可用\",\nvalidity_periods: \"2017-05-04到期\",\nsum_condition: \"满 28 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：超市便利店\"\n},\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6635705093965,\nsn: \"201704250238186655961834564160\",\nuser_id: 186655961,\namount: 5,\nsum_condition: 25,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-04-25\",\nend_date: \"2017-04-27\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-26天后可用\",\nvalidity_periods: \"2017-04-27到期\",\nsum_condition: \"满 25 元可用\"\n},\nlimit_map: { },\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6635705096013,\nsn: \"201704250238186655961925708910\",\nuser_id: 186655961,\namount: 4,\nsum_condition: 20,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-04-25\",\nend_date: \"2017-04-27\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-26天后可用\",\nvalidity_periods: \"2017-04-27到期\",\nsum_condition: \"满 20 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：果蔬生鲜\"\n},\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n},\n{\nid: 6635705097037,\nsn: \"201704250238186655961400865908\",\nuser_id: 186655961,\namount: 4,\nsum_condition: 28,\nname: \"普通红包\",\nphone: \"13681711254\",\nbegin_date: \"2017-04-25\",\nend_date: \"2017-04-27\",\ndescription_map: {\nphone: \"限收货手机号为 13681711254\",\nonline_paid_only: \"限在线支付使用\",\nvalidity_delta: \"-26天后可用\",\nvalidity_periods: \"2017-04-27到期\",\nsum_condition: \"满 28 元可用\"\n},\nlimit_map: {\nrestaurant_flavor_ids: \"限品类：超市便利店\"\n},\nstatus: 0,\npresent_status: 4,\nshare_status: 0\n}\n]"
  },
  {
    "path": "InitData/payments.js",
    "content": "export default [{\n\tdescription: \"（商家仅支持在线支付）\",\n\tdisabled_reason: \"\",\n\tid: 1,\n\tis_online_payment: true,\n\tname: \"在线支付\",\n\tpromotion: [],\n\tselect_state: 1,\n}, {\n\tdescription: \"（商家不支持货到付款）\",\n\tdisabled_reason: \"商家仅支持在线支付\",\n\tid: 2,\n\tis_online_payment: false,\n\tname: \"货到付款\",\n\tpromotion: [],\n\tselect_state: -1,\n}]"
  },
  {
    "path": "InitData/rate.js",
    "content": "export const ratingList = [{\"avatar\":\"\",\"highlights\":[],\"item_ratings\":[{\"food_id\":508807792,\"food_name\":\"超级至尊比萨-铁盘\",\"image_hash\":\"dc864033625905f0a15a2d181d53a425jpeg\",\"is_valid\":1},{\"food_id\":508808743,\"food_name\":\"韩式浓情风味鸡（标准份）\",\"image_hash\":\"074e0e203f613deff4e456c31e4177d1jpeg\",\"is_valid\":1}],\"rated_at\":\"2017-02-10\",\"rating_star\":5,\"rating_text\":\"\",\"tags\":[],\"time_spent_desc\":\"按时送达\",\"username\":\"4*******b\"},{\"avatar\":\"15f6cf782b0c9cd5ca8daa7f76ab05aejpeg\",\"highlights\":[],\"item_ratings\":[{\"food_id\":508809467,\"food_name\":\"香草凤尾虾-5只装\",\"image_hash\":\"\",\"is_valid\":1},{\"food_id\":508808754,\"food_name\":\"鸡茸蘑菇汤\",\"image_hash\":\"5388b26ad173389d89e0e015dbf295fcjpeg\",\"is_valid\":1}],\"rated_at\":\"2017-02-09\",\"rating_star\":5,\"rating_text\":\"\",\"tags\":[],\"time_spent_desc\":\"\",\"username\":\"t****n\"},{\"avatar\":\"\",\"highlights\":[],\"item_ratings\":[{\"food_id\":508809480,\"food_name\":\"冰柠檬红茶（标准份）\",\"image_hash\":\"\",\"is_valid\":1}],\"rated_at\":\"2017-01-18\",\"rating_star\":5,\"rating_text\":\"\",\"tags\":[],\"time_spent_desc\":\"\",\"username\":\"，******C\"},{\"avatar\":\"\",\"highlights\":[],\"item_ratings\":[],\"rated_at\":\"2017-02-10\",\"rating_star\":5,\"rating_text\":\"\",\"tags\":[],\"time_spent_desc\":\"\",\"username\":\"试******春\"},{\"avatar\":\"1b523ca27369a0eed1ce0c3fc0a5ba8bjpeg\",\"highlights\":[],\"item_ratings\":[{\"food_id\":529149980,\"food_name\":\"富贵“鸡”祥大吉大利比萨\",\"image_hash\":\"\",\"is_valid\":1},{\"food_id\":144654782,\"food_name\":\"热柠檬红茶\",\"image_hash\":\"\",\"is_valid\":1}],\"rated_at\":\"2017-02-10\",\"rating_star\":5,\"rating_text\":\"\",\"tags\":[],\"time_spent_desc\":\"\",\"username\":\"王******a\"},{\"avatar\":\"\",\"highlights\":[],\"item_ratings\":[{\"food_id\":508808726,\"food_name\":\"加州风情香烤牛肉比萨-铁盘\",\"image_hash\":\"\",\"is_valid\":1},{\"food_id\":508810265,\"food_name\":\"海鲜至尊比萨-铁盘\",\"image_hash\":\"\",\"is_valid\":1},{\"food_id\":508807792,\"food_name\":\"超级至尊比萨-铁盘\",\"image_hash\":\"\",\"is_valid\":1}],\"rated_at\":\"2017-02-10\",\"rating_star\":5,\"rating_text\":\"\",\"tags\":[],\"time_spent_desc\":\"\",\"username\":\"3*******7\"},{\"avatar\":\"\",\"highlights\":[],\"item_ratings\":[{\"food_id\":529149980,\"food_name\":\"富贵“鸡”祥大吉大利比萨\",\"image_hash\":\"\",\"is_valid\":1},{\"food_id\":508808743,\"food_name\":\"韩式浓情风味鸡（标准份）\",\"image_hash\":\"\",\"is_valid\":1}],\"rated_at\":\"2017-02-10\",\"rating_star\":5,\"rating_text\":\"\",\"tags\":[],\"time_spent_desc\":\"\",\"username\":\"3*******6\"},{\"avatar\":\"818cf0c977c77ca365557230db619a18jpeg\",\"highlights\":[],\"item_ratings\":[],\"rated_at\":\"2017-02-10\",\"rating_star\":5,\"rating_text\":\"送餐速度很快！\",\"tags\":[],\"time_spent_desc\":\"\",\"username\":\"3*******7\"},{\"avatar\":\"\",\"highlights\":[],\"item_ratings\":[],\"rated_at\":\"2017-02-10\",\"rating_star\":5,\"rating_text\":\"\",\"tags\":[],\"time_spent_desc\":\"\",\"username\":\"3*******b\"},{\"avatar\":\"\",\"highlights\":[],\"item_ratings\":[],\"rated_at\":\"2017-02-09\",\"rating_star\":5,\"rating_text\":\"\",\"tags\":[],\"time_spent_desc\":\"\",\"username\":\"景***0\"}];\n\nexport const scores = {\"compare_rating\":0.76869,\"deliver_time\":40,\"food_score\":4.76378,\"order_rating_amount\":473,\"overall_score\":4.72836,\"service_score\":4.69295};\n\nexport const tags = [{\"count\":473,\"name\":\"全部\",\"unsatisfied\":false},{\"count\":453,\"name\":\"满意\",\"unsatisfied\":false},{\"count\":20,\"name\":\"不满意\",\"unsatisfied\":true},{\"count\":2,\"name\":\"有图\",\"unsatisfied\":false},{\"count\":47,\"name\":\"味道好\",\"unsatisfied\":false},{\"count\":32,\"name\":\"送货快\",\"unsatisfied\":false},{\"count\":18,\"name\":\"分量足\",\"unsatisfied\":false},{\"count\":15,\"name\":\"包装精美\",\"unsatisfied\":false},{\"count\":15,\"name\":\"干净卫生\",\"unsatisfied\":false},{\"count\":15,\"name\":\"食材新鲜\",\"unsatisfied\":false},{\"count\":11,\"name\":\"服务不错\",\"unsatisfied\":false}];"
  },
  {
    "path": "InitData/remark.js",
    "content": "export default {\nremarks: [\n[\n\"不要辣\",\n\"少点辣\",\n\"多点辣\"\n],\n[\n\"不要香菜\"\n],\n[\n\"不要洋葱\"\n],\n[\n\"多点醋\"\n],\n[\n\"多点葱\"\n],\n[\n\"去冰\",\n\"少冰\"\n]\n]\n}"
  },
  {
    "path": "README.md",
    "content": "# About\n\n因为前端项目是根据饿了么官网接口写的，所以后台系统也保持了和官网一致的API接口。\n\n整个项目分为两部分：前台项目接口、后台管理接口，共60多个。涉及登陆、注册、添加商品、商品展示、筛选排序、购物车、下单、用户中心等，构成一个完整的流程。\n\n__注1：此项目纯属个人瞎搞，不用于任何商业用途。__\n\n__注2：项目预览地址和接口需要使用https访问哦！__\n\n\n# 说明\n\n>  node-elm 接口文档: [接口文档地址](https://github.com/bailicangdu/node-elm/blob/master/API.md) \n\n>  如果对您对此项目有兴趣，可以点 \"Star\" 支持一下 谢谢！ ^_^\n\n>  或者您可以 \"follow\" 一下，我会不断开源更多的有趣的项目\n\n>  开发环境 macOS 10.12.4 nodejs 6.10.0  Mongodb 3.4.2\n\n>  部署环境 阿里云 CentOS 7.2 64位\n\n>  如有问题请直接在 Issues 中提，或者您发现问题并有非常好的解决方案，欢迎 PR 👍\n\n>  相关项目地址：[前端项目地址](https://github.com/bailicangdu/vue2-elm)  、 [后台管理系统地址](https://github.com/bailicangdu/back-manage)\n\n## 技术栈\n\nnodejs + express + mongodb + mongoose + es6/7 + vue + element-ui\n\n\n## 项目运行\n\n```\n项目运行之前，请确保系统已经安装以下应用\n1、node (6.0 及以上版本)\n2、mongodb (开启状态)\n3、GraphicsMagick (裁切图片)\n```\n\n```\ngit clone https://github.com/bailicangdu/node-elm  \n\ncd node-elm\n\nnpm install 或 yarn(推荐)\n\nnpm run dev\n\n访问: http://localhost:8001（如果已启动前台程序，则不需打开此地址）\n\n```\n\n## API接口文档\n\n接口文档地址：https://github.com/bailicangdu/node-elm/blob/master/API.md\n\n## 数据库文件\n\n数据库备份文件：https://cangdu.org/file/elm.zip (mongodb)\n\n按照mongodb的方式恢复备份即可\n\n\n## 效果演示\n\n#### (可在后台管理系统添加商铺，食品等数据，并在前端地址查看效果)\n\n### 前端网址\n[前端网址戳这里](https://cangdu.org/elm/)（请用chrome手机模式预览）\n\n###### 移动端扫描下方二维码\n\n<img src=\"https://github.com/bailicangdu/node-elm/blob/master/screenshots/ewm.png\" width=\"200\" height=\"200\"/>\n\n### 后台管理系统网址\n[后台管理网址戳这里](https://cangdu.org/manage/)\n\n\n\n\n## 目标功能\n\n- [x] IP定位 -- 完成\n- [x] 城市列表 -- 完成\n- [x] 搜索地址 -- 完成\n- [x] 上传图片 -- 完成\n- [x] 添加商铺 -- 完成\n- [x] 添加食品 -- 完成\n- [x] 测量距离 -- 完成\n- [x] 搜索美食，餐馆 -- 完成\n- [x] 根据距离、销量、评分、特色菜、配送方式等进行排序和筛选 -- 完成\n- [x] 评价列表 -- 完成\n- [x] 食品详情 -- 完成\n- [x] 商家详情 -- 完成\n- [x] 购物车功能 -- 完成\n- [x] 登录、注册 -- 完成\n- [x] 修改密码 -- 完成\n- [x] 用户信息 -- 完成\n- [x] 添加、删除、修改收货地址 -- 完成\n- [x] 下单  -- 完成 ✨✨\n- [x] 订单信息 -- 完成\n- [x] 红包 -- 完成\n- [x] 商铺管理 -- 完成\n- [x] 食品管理 -- 完成\n- [x] 管理员权限验证 -- 完成\n- [x] 超级管理员 -- 完成\n- [x] 订单管理 -- 完成\n- [x] 流量统计 -- 完成\n- [x] 前后台路由同构 -- 完成\n- [x] 部署上线 -- 完成\n\n\n## 部分截图\n\n#### 部分前台页面\n\n<img src=\"https://github.com/bailicangdu/node-elm/blob/master/screenshots/elm_msite.png\" width=\"365\" height=\"619\"/> <img src=\"https://github.com/bailicangdu/node-elm/blob/master/screenshots/elm_shop.png\" width=\"365\" height=\"619\"/>\n\n#### 部分后台管理系统页面\n\n<img src=\"https://github.com/bailicangdu/node-elm/blob/master/screenshots/manage_home.png\"/>\n\n<img src=\"https://github.com/bailicangdu/node-elm/blob/master/screenshots/manage_shop.png\"/>\n\n\n\n\n## 项目布局\n\n```\n.\n├── InitData                        初始化数据\n│   ├── activity.js                 餐馆活动\n│   ├── category.js                 餐馆分类\n│   ├── cities.js                   城市列表\n│   ├── delivery.js                 配送方式\n│   ├── entry.js                    食品分类\n│   ├── explain.js                  解释说明\n│   ├── hongbao.js                  红包\n│   ├── payments.js                 支付方式\n│   ├── rate.js                     评论\n│   └── remark.js                   备注列表\n├── config                          运行配置\n│   ├── default.js                  默认配置\n│   └── development.js              开发环境\n├── controller                      处理中心，负责路由及数据库的具体操作\n│   ├── admin\n│   │   └── admin.js                管理员\n│   ├── bos\n│   ├── eus\n│   ├── member\n│   │   └── vipcart.js              会员卡\n│   ├── payapi\n│   ├── promotion\n│   │   └── hongbao.js              红包\n│   ├── shopping\n│   │   ├── category.js             餐馆分类\n│   │   ├── food.js                 食品\n│   │   └── shop.js                 餐馆\n│   ├── statis\n│   │   └── statis.js               数据统计\n│   ├── ugc\n│   │   └── rating.js               评论\n│   ├── v1\n│   │   ├── address.js              收获地址\n│   │   ├── captchas.js             验证码\n│   │   ├── carts.js                购物车\n│   │   ├── cities.js               城市列表\n│   │   ├── order.js                订单\n│   │   ├── remark.js               备注\n│   │   └── search.js               搜索\n│   ├── v2\n│   │   ├── entry.js                食品分类\n│   │   └── user.js                 用户信息\n│   ├── v3\n│   │   └── explain.js              解析说明\n│   └── v4\n├── logs                            日志文件\n├── middlewares                     中间件\n│   ├── check.js                    权限验证    \n│   └── statistic.js                API数据统计\n├── models                          模型(数据库)\n│   ├── admin\n│   │   └── admin.js                管理员模型\n│   ├── bos\n│   │   └── order.js                订单模型\n│   ├── eus\n│   ├── ids.js\n│   ├── member\n│   ├── payapi\n│   ├── promotion\n│   │   └── hongbao.js              红包模型\n│   ├── shopping\n│   │   ├── activity.js             餐馆活动模型\n│   │   ├── category.js             餐馆分类模型\n│   │   ├── delivery.js             配送方式模型\n│   │   ├── food.js                 食品模型\n│   │   └── shop.js                 餐馆模型\n│   ├── statis\n│   │   └── statis.js               数据统计模型\n│   ├── ugc\n│   │   └── rating.js               评论模型\n│   ├── v1\n│   │   ├── address.js              收获地址模型\n│   │   ├── cart.js                 购物车模型\n│   │   ├── cities.js               城市列表模型\n│   │   ├── payments.js             付款方式模型\n│   │   └── remark.js               备注模型\n│   ├── v2\n│   │   ├── entry.js                食品分类模型\n│   │   ├── user.js                 用户模型\n│   │   └── userInfo.js             用户信息模型\n│   ├── v3\n│   │   └── explain.js              解释说明模型\n│   └── v4\n├── mongodb                         连接数据库\n│   └── db.js\n├── prototype                       基础功能Class\n│   ├── addressComponent.js         与腾讯、百度地图API相关的Class\n│   └── baseComponent.js            底层类\n├── public                          静态资源目录\n├── routes                          路由配置\n│   ├── admin.js                    管理员\n│   ├── bos.js                      订单\n│   ├── eus.js                      用户\n│   ├── index.js                    路由配置主文件\n│   ├── member.js                   会员卡\n│   ├── payapi.js                   付款\n│   ├── promotion.js                红包\n│   ├── shopping.js                 餐馆、食品、Menu\n│   ├── statis.js                   数据统计\n│   ├── ugc.js                      评论\n│   ├── v1.js                       城市、用户、收获地址\n│   ├── v2.js                       登陆、退出\n│   ├── v3.js                       解释说明\n│   └── v4.js                       餐馆\n├── screenshots                     项目截图\n├── views   \n├── .babelrc \n├── .gitignore\n├── API.md                          接口文档\n├── app.js                          基础配置\n├── COPYING                         GPL协议\n├── index.js                        入口文件\n├── package.json\n├── README.md                  \n.\n\n47 directories, 197 files\n\n```\n\n## License\n\n[GPL](https://github.com/bailicangdu/node-elm/blob/master/COPYING)\n"
  },
  {
    "path": "app.js",
    "content": "import express from 'express';\nimport db from './mongodb/db.js';\nimport config from 'config-lite';\nimport router from './routes/index.js';\nimport cookieParser from 'cookie-parser'\nimport session from 'express-session';\nimport connectMongo from 'connect-mongo';\nimport winston from 'winston';\nimport expressWinston from 'express-winston';\nimport history from 'connect-history-api-fallback';\nimport chalk from 'chalk';\n// import Statistic from './middlewares/statistic'\n\nconst app = express();\n\napp.all('*', (req, res, next) => {\n  const { origin, Origin, referer, Referer } = req.headers;\n  const allowOrigin = origin || Origin || referer || Referer || '*';\n\tres.header(\"Access-Control-Allow-Origin\", allowOrigin);\n\tres.header(\"Access-Control-Allow-Headers\", \"Content-Type, Authorization, X-Requested-With\");\n\tres.header(\"Access-Control-Allow-Methods\", \"PUT,POST,GET,DELETE,OPTIONS\");\n  res.header(\"Access-Control-Allow-Credentials\", true); //可以带cookies\n\tres.header(\"X-Powered-By\", 'Express');\n\tif (req.method == 'OPTIONS') {\n  \tres.sendStatus(200);\n\t} else {\n    next();\n\t}\n});\n\n// app.use(Statistic.apiRecord)\nconst MongoStore = connectMongo(session);\napp.use(cookieParser());\napp.use(session({\n  name: config.session.name,\n\tsecret: config.session.secret,\n\tresave: true,\n\tsaveUninitialized: false,\n\tcookie: config.session.cookie,\n\tstore: new MongoStore({\n  \turl: config.url\n\t})\n}))\n\n// app.use(expressWinston.logger({\n//     transports: [\n//         new (winston.transports.Console)({\n//           json: true,\n//           colorize: true\n//         }),\n//         new winston.transports.File({\n//           filename: 'logs/success.log'\n//         })\n//     ]\n// }));\n\nrouter(app);\n\n// app.use(expressWinston.errorLogger({\n//     transports: [\n//         new winston.transports.Console({\n//           json: true,\n//           colorize: true\n//         }),\n//         new winston.transports.File({\n//           filename: 'logs/error.log'\n//         })\n//     ]\n// }));\n\napp.use(history());\napp.use(express.static('./public'));\napp.listen(config.port, () => {\n\tconsole.log(\n\t\tchalk.green(`成功监听端口：${config.port}`)\n\t)\n});"
  },
  {
    "path": "config/.gitignore",
    "content": "# Ignore everything in this directory\nproduction.js"
  },
  {
    "path": "config/default.js",
    "content": "'use strict';\n\nmodule.exports = {\n\tport: parseInt(process.env.PORT, 10) || 8001,\n\turl: 'mongodb://localhost:27017/elm',\n\tsession: {\n\t\tname: 'SID',\n\t\tsecret: 'SID',\n\t\tcookie: {\n\t\t\thttpOnly: true,\n\t    secure:   false,\n\t    maxAge:   365 * 24 * 60 * 60 * 1000,\n\t\t}\n\t}\n}"
  },
  {
    "path": "config/development.js",
    "content": "'use strict';\n\nmodule.exports = {\n\t\n}"
  },
  {
    "path": "controller/admin/admin.js",
    "content": "'use strict';\n\nimport AdminModel from '../../models/admin/admin'\nimport AddressComponent from '../../prototype/addressComponent'\nimport crypto from 'crypto'\nimport formidable from 'formidable'\nimport dtime from 'time-formater'\n\nclass Admin extends AddressComponent {\n\tconstructor(){\n\t\tsuper()\n\t\tthis.login = this.login.bind(this)\n\t\tthis.register = this.register.bind(this)\n\t\tthis.encryption = this.encryption.bind(this)\n\t\tthis.updateAvatar = this.updateAvatar.bind(this)\n\t}\n\tasync login(req, res, next){\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\tif (err) {\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'FORM_DATA_ERROR',\n\t\t\t\t\tmessage: '表单信息错误'\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst {user_name, password, status = 1} = fields;\n\t\t\ttry{\n\t\t\t\tif (!user_name) {\n\t\t\t\t\tthrow new Error('用户名参数错误')\n\t\t\t\t}else if(!password){\n\t\t\t\t\tthrow new Error('密码参数错误')\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log(err.message, err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'GET_ERROR_PARAM',\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst newpassword = this.encryption(password);\n\t\t\ttry{\n\t\t\t\tconst admin = await AdminModel.findOne({user_name})\n\t\t\t\tif (!admin) {\n\t\t\t\t\tconst adminTip = status == 1 ? '管理员' : '超级管理员'\n\t\t\t\t\tconst admin_id = await this.getId('admin_id');\n\t\t\t\t\tconst cityInfo = await this.guessPosition(req);\n\t\t\t\t\tconst newAdmin = {\n\t\t\t\t\t\tuser_name, \n\t\t\t\t\t\tpassword: newpassword, \n\t\t\t\t\t\tid: admin_id,\n\t\t\t\t\t\tcreate_time: dtime().format('YYYY-MM-DD HH:mm'),\n\t\t\t\t\t\tadmin: adminTip,\n\t\t\t\t\t\tstatus,\n\t\t\t\t\t\tcity: cityInfo.city\n\t\t\t\t\t}\n\t\t\t\t\tawait AdminModel.create(newAdmin)\n\t\t\t\t\treq.session.admin_id = admin_id;\n\t\t\t\t\tres.send({\n\t\t\t\t\t\tstatus: 1,\n\t\t\t\t\t\tsuccess: '注册管理员成功',\n\t\t\t\t\t})\n\t\t\t\t}else if(newpassword.toString() != admin.password.toString()){\n\t\t\t\t\tconsole.log('管理员登录密码错误');\n\t\t\t\t\tres.send({\n\t\t\t\t\t\tstatus: 0,\n\t\t\t\t\t\ttype: 'ERROR_PASSWORD',\n\t\t\t\t\t\tmessage: '该用户已存在，密码输入错误',\n\t\t\t\t\t})\n\t\t\t\t}else{\n\t\t\t\t\treq.session.admin_id = admin.id;\n\t\t\t\t\tres.send({\n\t\t\t\t\t\tstatus: 1,\n\t\t\t\t\t\tsuccess: '登录成功'\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('登录管理员失败', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'LOGIN_ADMIN_FAILED',\n\t\t\t\t\tmessage: '登录管理员失败',\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\tasync register(req, res, next){\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\tif (err) {\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'FORM_DATA_ERROR',\n\t\t\t\t\tmessage: '表单信息错误'\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst {user_name, password, status = 1} = fields;\n\t\t\ttry{\n\t\t\t\tif (!user_name) {\n\t\t\t\t\tthrow new Error('用户名错误')\n\t\t\t\t}else if(!password){\n\t\t\t\t\tthrow new Error('密码错误')\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log(err.message, err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'GET_ERROR_PARAM',\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\ttry{\n\t\t\t\tconst admin = await AdminModel.findOne({user_name})\n\t\t\t\tif (admin) {\n\t\t\t\t\tconsole.log('该用户已经存在');\n\t\t\t\t\tres.send({\n\t\t\t\t\t\tstatus: 0,\n\t\t\t\t\t\ttype: 'USER_HAS_EXIST',\n\t\t\t\t\t\tmessage: '该用户已经存在',\n\t\t\t\t\t})\n\t\t\t\t}else{\n\t\t\t\t\tconst adminTip = status == 1 ? '管理员' : '超级管理员'\n\t\t\t\t\tconst admin_id = await this.getId('admin_id');\n\t\t\t\t\tconst newpassword = this.encryption(password);\n\t\t\t\t\tconst newAdmin = {\n\t\t\t\t\t\tuser_name, \n\t\t\t\t\t\tpassword: newpassword, \n\t\t\t\t\t\tid: admin_id,\n\t\t\t\t\t\tcreate_time: dtime().format('YYYY-MM-DD'),\n\t\t\t\t\t\tadmin: adminTip,\n\t\t\t\t\t\tstatus,\n\t\t\t\t\t}\n\t\t\t\t\tawait AdminModel.create(newAdmin)\n\t\t\t\t\treq.session.admin_id = admin_id;\n\t\t\t\t\tres.send({\n\t\t\t\t\t\tstatus: 1,\n\t\t\t\t\t\tmessage: '注册管理员成功',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('注册管理员失败', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'REGISTER_ADMIN_FAILED',\n\t\t\t\t\tmessage: '注册管理员失败',\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\tencryption(password){\n\t\tconst newpassword = this.Md5(this.Md5(password).substr(2, 7) + this.Md5(password));\n\t\treturn newpassword\n\t}\n\tMd5(password){\n\t\tconst md5 = crypto.createHash('md5');\n\t\treturn md5.update(password).digest('base64');\n\t}\n\tasync singout(req, res, next){\n\t\ttry{\n\t\t\tdelete req.session.admin_id;\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tsuccess: '退出成功'\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('退出失败', err)\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\tmessage: '退出失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getAllAdmin(req, res, next){\n\t\tconst {limit = 20, offset = 0} = req.query;\n\t\ttry{\n\t\t\tconst allAdmin = await AdminModel.find({}, '-_id -password').sort({id: -1}).skip(Number(offset)).limit(Number(limit))\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tdata: allAdmin,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取超级管理列表失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_ADMIN_LIST',\n\t\t\t\tmessage: '获取超级管理列表失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getAdminCount(req, res, next){\n\t\ttry{\n\t\t\tconst count = await AdminModel.count()\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcount,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取管理员数量失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_ADMIN_COUNT',\n\t\t\t\tmessage: '获取管理员数量失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getAdminInfo(req, res, next){\n\t\tconst admin_id = req.session.admin_id;\n\t\tif (!admin_id || !Number(admin_id)) {\n\t\t\t// console.log('获取管理员信息的session失效');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_SESSION',\n\t\t\t\tmessage: '获取管理员信息失败'\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\ttry{\n\t\t\tconst info = await AdminModel.findOne({id: admin_id}, '-_id -__v -password');\n\t\t\tif (!info) {\n\t\t\t\tthrow new Error('未找到当前管理员')\n\t\t\t}else{\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 1,\n\t\t\t\t\tdata: info\n\t\t\t\t})\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log('获取管理员信息失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_ADMIN_INFO_FAILED',\n\t\t\t\tmessage: '获取管理员信息失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync updateAvatar(req, res, next){\n\t\tconst admin_id = req.params.admin_id;\n\t\tif (!admin_id || !Number(admin_id)) {\n\t\t\tconsole.log('admin_id参数错误', admin_id)\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_ADMINID',\n\t\t\t\tmessage: 'admin_id参数错误',\n\t\t\t})\n\t\t\treturn \n\t\t}\n\n\t\ttry{\n\t\t\tconst image_path = await this.getPath(req);\n\t\t\tawait AdminModel.findOneAndUpdate({id: admin_id}, {$set: {avatar: image_path}});\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\timage_path,\n\t\t\t})\n\t\t\treturn\n\t\t}catch(err){\n\t\t\tconsole.log('上传图片失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_UPLOAD_IMG',\n\t\t\t\tmessage: '上传图片失败'\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n}\n\nexport default new Admin()"
  },
  {
    "path": "controller/member/vipcart.js",
    "content": "'use strict'\n\nclass VipCart {\n\tconstructor(props) {\n\n\t}\n\tasync useCart(req, res, next){\n\t\tres.send({\n\t\t\tstatus: 0,\n\t\t\ttype: 'INVALID_CART',\n\t\t\tmessage: '无效的卡号'\n\t\t})\n\t}\n}\n\n\nexport default new VipCart()"
  },
  {
    "path": "controller/promotion/hongbao.js",
    "content": "'use strict'\n\nimport HongbaoModel from '../../models/promotion/hongbao'\nimport BaseComponent from '../../prototype/baseComponent'\n\nclass Hongbao extends BaseComponent{\n\tconstructor(){\n\t\tsuper()\n\t\tthis.getHongbao = this.getHongbao.bind(this);\n\t\tthis.getExpiredHongbao = this.getExpiredHongbao.bind(this);\n\t}\n\tasync getHongbao(req, res, next){\n\t\tthis.hongbaoHandle(req, res, 'intime')\n\t}\n\tasync getExpiredHongbao(req, res, next){\n\t\tthis.hongbaoHandle(req, res, 'expired')\n\t}\n\tasync hongbaoHandle(req, res, type){\n\t\tconst present_status = type == 'intime'? 1 : 4;\n\t\tconst user_id = req.params.user_id;\n\t\tconst {limit = 0, offset = 0} = req.query;\n\t\ttry{\n\t\t\tif(!user_id || !Number(user_id)){\n\t\t\t\tthrow new Error('user_id参数错误')\n\t\t\t}else if(!Number(limit)){\n\t\t\t\tthrow new Error('limit参数错误')\n\t\t\t}else if(typeof Number(offset) !== 'number'){\n\t\t\t\tthrow new Error('offset参数错误')\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log(err.message, err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: err.message\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\ttry{\n\t\t\tconst hongbaos = await HongbaoModel.find({present_status}, '-_id').limit(Number(limit)).skip(Number(offset));\n\t\t\tres.send(hongbaos)\n\t\t}catch(err){\n\t\t\tconsole.log('获取红包数据失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_TO_GET_HONGBAO_DATA',\n\t\t\t\tmessage: '获取红包数据失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync exchange(req, res, next){\n\t\tres.send({\n\t\t\tstatus: 0,\n\t\t\ttype: 'NOT_ALLOWD_API',\n\t\t\tmessage: '无效的兑换码'\n\t\t})\n\t}\t\n}\n\nexport default new Hongbao()"
  },
  {
    "path": "controller/shopping/category.js",
    "content": "'use strict';\n\nimport CategoryModel from '../../models/shopping/category'\nimport BaseComponent from '../../prototype/baseComponent'\nimport DeliveryModel from '../../models/shopping/delivery'\nimport ActivityModel from '../../models/shopping/activity'\n\nclass Category extends BaseComponent{\n\tconstructor(){\n\t\tsuper()\n\t}\n\t//获取所有餐馆分类和数量\n\tasync getCategories(req, res, next){\n\t\ttry{\n\t\t\tconst categories = await CategoryModel.find({}, '-_id');\n\t\t\tres.send(categories);\n\t\t}catch(err){\n\t\t\tconsole.log('获取categories失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\tmessage: '获取categories失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync addCategory(type){\n\t\ttry{\n\t\t\tawait CategoryModel.addCategory(type)\n\t\t}catch(err){\n\t\t\tconsole.log('增加category数量失败');\n\t\t}\n\t}\n\tasync findById(id){\n\t\ttry{\n\t\t\tconst CateEntity = await CategoryModel.findOne({'sub_categories.id': id});\n\t\t\tlet categoName = CateEntity.name;\n\t\t\tCateEntity.sub_categories.forEach(item => {\n\t\t\t\tif (item.id == id) {\n\t\t\t\t\tcategoName += '/' + item.name;\n\t\t\t\t}\n\t\t\t})\n\t\t\treturn categoName\n\t\t}catch(err){\n\t\t\tconsole.log('通过category id获取数据失败')\n\t\t\tthrow new Error(err)\n\t\t}\n\t}\n\t//获取配送方式\n\tasync getDelivery(req, res, next){\n\t\ttry{\n\t\t\tconst deliveries = await DeliveryModel.find({}, '-_id');\n\t\t\tres.send(deliveries)\n\t\t}catch(err){\n\t\t\tconsole.log('获取配送方式数据失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\tmessage: '获取配送方式数据失败'\n\t\t\t})\n\t\t}\n\t}\n\t//获取活动列表\n\tasync getActivity(req, res, next){\n\t\ttry{\n\t\t\tconst activities = await ActivityModel.find({}, '-_id');\n\t\t\tres.send(activities)\n\t\t}catch(err){\n\t\t\tconsole.log('获取活动数据失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\tmessage: '获取活动数据失败'\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport default new Category()"
  },
  {
    "path": "controller/shopping/food.js",
    "content": "'use strict';\n\nimport {Food as FoodModel, Menu as MenuModel} from '../../models/shopping/food'\nimport ShopModel from '../../models/shopping/shop'\nimport BaseComponent from '../../prototype/baseComponent'\nimport formidable from 'formidable'\n\nclass Food extends BaseComponent{\n\tconstructor(){\n\t\tsuper();\n\t\tthis.defaultData = [{\n\t\t\tname: '热销榜',\n\t\t\tdescription: '大家喜欢吃，才叫真好吃。', \n\t\t\ticon_url: \"5da3872d782f707b4c82ce4607c73d1ajpeg\",\n\t\t\tis_selected: true,\n\t\t\ttype: 1,\n\t\t\tfoods: [],\n\t\t}, {\n\t\t\tname: '优惠',\n\t\t\tdescription: '美味又实惠, 大家快来抢!', \n\t\t\ticon_url: \"4735c4342691749b8e1a531149a46117jpeg\",\n\t\t\ttype: 1,\n\t\t\tfoods: [],\n\t\t}]\n\t\tthis.initData = this.initData.bind(this);\n\t\tthis.addFood = this.addFood.bind(this);\n\t\tthis.getCategory = this.getCategory.bind(this);\n\t\tthis.addCategory = this.addCategory.bind(this);\n\t\tthis.getSpecfoods = this.getSpecfoods.bind(this);\n\t\tthis.updateFood = this.updateFood.bind(this);\n\t}\n\tasync initData(restaurant_id){\n\t\tfor (let i = 0; i < this.defaultData.length; i++) {\n\t\t\tlet category_id;\n\t\t\ttry{\n\t\t\t\tcategory_id = await this.getId('category_id');\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('获取category_id失败');\n\t\t\t\tthrow new Error(err);\n\t\t\t}\n\t\t\tconst defaultData = this.defaultData[i];\n\t\t\tconst Category = {...defaultData, id: category_id, restaurant_id};\n\t\t\tconst newFood = new MenuModel(Category);\n\t\t\ttry{\n\t\t\t\tawait newFood.save();\n\t\t\t\tconsole.log('初始化食品数据成功');\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('初始化食品数据失败');\n\t\t\t\tthrow new Error(err);\n\t\t\t}\n\t\t}\n\t}\n\tasync getCategory(req, res, next){\n\t\tconst restaurant_id = req.params.restaurant_id;\n\t\ttry{\n\t\t\tconst category_list = await MenuModel.find({restaurant_id});\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcategory_list,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取餐馆食品种类失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_DATA',\n\t\t\t\tmessage: '获取数据失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync addCategory(req, res, next){\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\ttry{\n\t\t\t\tif (!fields.name) {\n\t\t\t\t\tthrow new Error('必须填写食品类型名称');\n\t\t\t\t}else if(!fields.restaurant_id){\n\t\t\t\t\tthrow new Error('餐馆ID错误');\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log(err.message, err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\t\tmessage: err.message\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet category_id;\n\t\t\ttry{\n\t\t\t\tcategory_id = await this.getId('category_id');\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('获取category_id失败');\n\t\t\t\tres.send({\n\t\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\t\tmessage: '获取数据失败'\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst foodObj = {\n\t\t\t\tname: fields.name,\n\t\t\t\tdescription: fields.description, \n\t\t\t\trestaurant_id: fields.restaurant_id, \n\t\t\t\tid: category_id,\n\t\t\t\tfoods: [],\n\t\t\t}\n\t\t\tconst newFood = new MenuModel(foodObj);\n\t\t\ttry{\n\t\t\t\tawait newFood.save();\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 1,\n\t\t\t\t\tsuccess: '添加食品种类成功',\n\t\t\t\t})\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('保存数据失败');\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_IN_SAVE_DATA',\n\t\t\t\t\tmessage: '保存数据失败',\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\tasync addFood(req, res, next){\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\ttry{\n\t\t\t\tif (!fields.name) {\n\t\t\t\t\tthrow new Error('必须填写食品名称');\n\t\t\t\t}else if(!fields.image_path){\n\t\t\t\t\tthrow new Error('必须上传食品图片');\n\t\t\t\t}else if(!fields.specs.length){\n\t\t\t\t\tthrow new Error('至少填写一种规格');\n\t\t\t\t}else if(!fields.category_id){\n\t\t\t\t\tthrow new Error('食品类型ID错误');\n\t\t\t\t}else if(!fields.restaurant_id){\n\t\t\t\t\tthrow new Error('餐馆ID错误');\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('前台参数错误', err.message);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\t\tmessage: err.message\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet category;\n\t\t\tlet restaurant;\n\t\t\ttry{\n\t\t\t\tcategory = await MenuModel.findOne({id: fields.category_id});\n\t\t\t\trestaurant = await ShopModel.findOne({id: fields.restaurant_id});\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('获取食品类型和餐馆信息失败');\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\t\tmessage: '添加食品失败'\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlet item_id;\n\t\t\ttry{\n\t\t\t\titem_id = await this.getId('item_id');\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('获取item_id失败');\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\t\tmessage: '添加食品失败'\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst rating_count = Math.ceil(Math.random()*1000);\n\t\t\tconst month_sales = Math.ceil(Math.random()*1000);\n\t\t\tconst tips = rating_count + \"评价 月售\" + month_sales + \"份\";\n\t\t\tconst newFood = {\n\t\t\t\tname: fields.name,\n\t\t\t\tdescription: fields.description,\n\t\t\t\timage_path: fields.image_path,\n\t\t\t\tactivity: null,\n\t\t\t\tattributes: [],\n\t\t\t\trestaurant_id: fields.restaurant_id,\n\t\t\t\tcategory_id: fields.category_id,\n\t\t\t\tsatisfy_rate: Math.ceil(Math.random()*100),\n\t\t\t\tsatisfy_count: Math.ceil(Math.random()*1000),\n\t\t\t\titem_id,\n\t\t\t\trating: (4 + Math.random()).toFixed(1),\n\t\t\t\trating_count,\n\t\t\t\tmonth_sales,\n\t\t\t\ttips,\n\t\t\t\tspecfoods: [],\n\t\t\t\tspecifications: [],\n\t\t\t}\n\t\t\tif (fields.activity) {\n\t\t\t\tnewFood.activity = {\n\t\t\t\t\timage_text_color: 'f1884f',\n\t\t\t\t\ticon_color: 'f07373',\n\t\t\t\t\timage_text: fields.activity,\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (fields.attributes.length) {\n\t\t\t\tfields.attributes.forEach(item => {\n\t\t\t\t\tlet attr;\n\t\t\t\t\tswitch(item){\n\t\t\t\t\t\tcase '新': \n\t\t\t\t\t\t\tattr = {\n\t\t\t\t\t\t\t\ticon_color: '5ec452',\n\t\t\t\t\t\t\t\ticon_name: '新'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase '招牌': \n\t\t\t\t\t\t\tattr = {\n\t\t\t\t\t\t\t\ticon_color: 'f07373',\n\t\t\t\t\t\t\t\ticon_name: '招牌'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tnewFood.attributes.push(attr);\n\t\t\t\t})\n\t\t\t}\n\t\t\ttry{\n\t\t\t\tconst [specfoods, specifications] = await this.getSpecfoods(fields, item_id);\n\t\t\t\tnewFood.specfoods = specfoods;\n\t\t\t\tnewFood.specifications = specifications;\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('添加specs失败', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\t\tmessage: '添加食品失败'\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\ttry{\n\t\t\t\tconst foodEntity = await FoodModel.create(newFood);\n\t\t\t\tcategory.foods.push(foodEntity);\n\t\t\t\tcategory.markModified('foods');\n\t\t\t\tawait category.save();\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 1,\n\t\t\t\t\tsuccess: '添加食品成功',\n\t\t\t\t});\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('保存食品到数据库失败', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\t\tmessage: '添加食品失败'\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\tasync getSpecfoods(fields, item_id){\n\t\tlet specfoods = [], specifications = [];\n\t\tif (fields.specs.length < 2) {\n\t\t\tlet food_id, sku_id;\n\t\t\ttry{\n\t\t\t\tsku_id = await this.getId('sku_id');\n\t\t\t\tfood_id = await this.getId('food_id');\n\t\t\t}catch(err){\n\t\t\t\tthrow new Error('获取sku_id、food_id失败')\n\t\t\t}\n\t\t\tspecfoods.push({\n\t\t\t\tpacking_fee: fields.specs[0].packing_fee,\n\t\t\t\tprice: fields.specs[0].price,\n\t\t\t\tspecs: [],\n\t\t\t\tspecs_name: fields.specs[0].specs,\n\t\t\t\tname: fields.name,\n\t\t\t\titem_id,\n\t\t\t\tsku_id,\n\t\t\t\tfood_id,\n\t\t\t\trestaurant_id: fields.restaurant_id,\n\t\t\t\trecent_rating: (Math.random()*5).toFixed(1),\n\t\t\t\trecent_popularity: Math.ceil(Math.random()*1000),\n\t\t\t})\n\t\t}else{\n\t\t\tspecifications.push({\n\t\t\t\tvalues: [],\n\t\t\t\tname: \"规格\"\n\t\t\t})\n\t\t\tfor (let i = 0; i < fields.specs.length; i++) {\n\t\t\t\tlet food_id, sku_id;\n\t\t\t\ttry{\n\t\t\t\t\tsku_id = await this.getId('sku_id');\n\t\t\t\t\tfood_id = await this.getId('food_id');\n\t\t\t\t}catch(err){\n\t\t\t\t\tthrow new Error('获取sku_id、food_id失败')\n\t\t\t\t}\n\t\t\t\tspecfoods.push({\n\t\t\t\t\tpacking_fee: fields.specs[i].packing_fee,\n\t\t\t\t\tprice: fields.specs[i].price,\n\t\t\t\t\tspecs: [{\n\t\t\t\t\t\tname: \"规格\",\n\t\t\t\t\t\tvalue: fields.specs[i].specs\n\t\t\t\t\t}],\n\t\t\t\t\tspecs_name: fields.specs[i].specs,\n\t\t\t\t\tname: fields.name,\n\t\t\t\t\titem_id,\n\t\t\t\t\tsku_id,\n\t\t\t\t\tfood_id,\n\t\t\t\t\trestaurant_id: fields.restaurant_id,\n\t\t\t\t\trecent_rating: (Math.random()*5).toFixed(1),\n\t\t\t\t\trecent_popularity: Math.ceil(Math.random()*1000),\n\t\t\t\t})\n\t\t\t\tspecifications[0].values.push(fields.specs[i].specs);\n\t\t\t}\n\t\t}\n\t\treturn [specfoods, specifications]\n\t}\n\tasync getMenu(req, res, next){\n\t\tconst restaurant_id = req.query.restaurant_id;\n\t\tconst allMenu = req.query.allMenu;\n\t\tif (!restaurant_id || !Number(restaurant_id)) {\n\t\t\tconsole.log('获取餐馆参数ID错误');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '餐馆ID参数错误',\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\tlet filter;\n\t\tif (allMenu) {\n\t\t\tfilter = {restaurant_id}\n\t\t}else{\n\t\t\tfilter = {restaurant_id, $where: function(){return this.foods.length}};\n\t\t}\n\t\ttry{\n\t\t\tconst menu = await MenuModel.find(filter, '-_id');\n\t\t\tres.send(menu);\n\t\t}catch(err){\n\t\t\tconsole.log('获取食品数据失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_DATA_ERROR',\n\t\t\t\tmessage: '获取食品数据失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getMenuDetail(req, res, next){\n\t\tconst category_id = req.params.category_id;\n\t\tif (!category_id || !Number(category_id)) {\n\t\t\tconsole.log('获取Menu详情参数ID错误');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: 'Menu ID参数错误',\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst menu = await MenuModel.findOne({id: category_id}, '-_id');\n\t\t\tres.send(menu)\n\t\t}catch(err){\n\t\t\tconsole.log('获取Menu详情失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_DATA_ERROR',\n\t\t\t\tmessage: '获取Menu详情失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getFoods(req, res, next){\n\t\tconst {restaurant_id, limit = 20, offset = 0} = req.query;\n\t\ttry{\n\t\t\tlet filter = {};\n\t\t\tif (restaurant_id && Number(restaurant_id)) {\n\t\t\t\tfilter = {restaurant_id}\n\t\t\t}\n\n\t\t\tconst foods = await FoodModel.find(filter, '-_id').sort({item_id: -1}).limit(Number(limit)).skip(Number(offset));\n\t\t\tres.send(foods);\n\t\t}catch(err){\n\t\t\tconsole.log('获取食品数据失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_DATA_ERROR',\n\t\t\t\tmessage: '获取食品数据失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getFoodsCount(req, res, next){\n\t\tconst restaurant_id = req.query.restaurant_id;\n\t\ttry{\n\t\t\tlet filter = {};\n\t\t\tif (restaurant_id && Number(restaurant_id)) {\n\t\t\t\tfilter = {restaurant_id}\n\t\t\t}\n\n\t\t\tconst count = await FoodModel.find(filter).count();\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcount,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取食品数量失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_TO_GET_COUNT',\n\t\t\t\tmessage: '获取食品数量失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync updateFood(req, res, next){\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\tif (err) {\n\t\t\t\tconsole.log('获取食品信息form出错', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_FORM',\n\t\t\t\t\tmessage: '表单信息错误',\n\t\t\t\t})\n\t\t\t\treturn \n\t\t\t}\n\t\t\tconst {name, item_id, description = \"\", image_path, category_id, new_category_id} = fields;\n\t\t\ttry{\n\t\t\t\tif (!name) {\n\t\t\t\t\tthrow new Error('食品名称错误');\n\t\t\t\t}else if(!item_id || !Number(item_id)){\n\t\t\t\t\tthrow new Error('食品ID错误');\n\t\t\t\t}else if(!category_id || !Number(category_id)){\n\t\t\t\t\tthrow new Error('食品分类ID错误');\n\t\t\t\t}else if(!image_path){\n\t\t\t\t\tthrow new Error('食品图片地址错误');\n\t\t\t\t}\n\t\t\t\tconst [specfoods, specifications] = await this.getSpecfoods(fields, item_id);\n\t\t\t\tlet newData;\n\t\t\t\tif (new_category_id !== category_id) {\n\t\t\t\t\tnewData = {name, description, image_path, category_id: new_category_id, specfoods, specifications};\n\t\t\t\t\tconst food = await FoodModel.findOneAndUpdate({item_id}, {$set: newData});\n\n\t\t\t\t\tconst menu = await MenuModel.findOne({id: category_id})\n\t\t\t\t\tconst targetmenu = await MenuModel.findOne({id: new_category_id})\n\n\t\t\t\t\tlet subFood = menu.foods.id(food._id);\n\t\t\t\t\tsubFood.set(newData)\n\t\t\t\t\ttargetmenu.foods.push(subFood)\n\t\t\t\t\ttargetmenu.markModified('foods');\n\t\t\t\t\tawait targetmenu.save()\n\t\t\t\t\tawait subFood.remove()\n\t\t\t\t\tawait menu.save()\n\t\t\t\t}else{\n\t\t\t\t\tnewData = {name, description, image_path, specfoods, specifications};\n\t\t\t\t\tconst food = await FoodModel.findOneAndUpdate({item_id}, {$set: newData});\n\n\t\t\t\t\tconst menu = await MenuModel.findOne({id: category_id})\n\t\t\t\t\tlet subFood = menu.foods.id(food._id);\n\t\t\t\t\tsubFood.set(newData)\n\t\t\t\t\tawait menu.save()\n\t\t\t\t}\n\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 1,\n\t\t\t\t\tsuccess: '修改食品信息成功',\n\t\t\t\t})\n\t\t\t}catch(err){\n\t\t\t\tconsole.log(err.message, err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_UPDATE_FOOD',\n\t\t\t\t\tmessage: '更新食品信息失败',\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\tasync deleteFood(req, res, next){\n\t\tconst food_id = req.params.food_id;\n\t\tif (!food_id || !Number(food_id)) {\n\t\t\tconsole.log('food_id参数错误');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: 'food_id参数错误',\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\ttry{\n\t\t\tconst food = await FoodModel.findOne({item_id: food_id});\n\t\t\tconst menu = await MenuModel.findOne({id: food.category_id})\n\t\t\tlet subFood = menu.foods.id(food._id);\n\t\t\tawait subFood.remove()\n\t\t\tawait menu.save()\n\t\t\tawait food.remove()\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tsuccess: '删除食品成功',\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('删除食品失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'DELETE_FOOD_FAILED',\n\t\t\t\tmessage: '删除食品失败',\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport default new Food()"
  },
  {
    "path": "controller/shopping/shop.js",
    "content": "'use strict';\n\nimport ShopModel from '../../models/shopping/shop'\nimport AddressComponent from '../../prototype/addressComponent'\nimport Food from './food'\nimport formidable from 'formidable'\nimport CategoryHandle from './category'\nimport Rating from '../ugc/rating'\n\nclass Shop extends AddressComponent{\n\tconstructor(){\n\t\tsuper()\n\t\tthis.addShop = this.addShop.bind(this);\n\t\tthis.getRestaurants = this.getRestaurants.bind(this);\n\t\tthis.searchResaturant = this.searchResaturant.bind(this);\n\t}\n\t//添加商铺\n\tasync addShop(req, res, next){\n\t\tlet restaurant_id;\n\t\ttry{\n\t\t\trestaurant_id = await this.getId('restaurant_id');\n\t\t}catch(err){\n\t\t\tconsole.log('获取商店id失败');\n\t\t\tres.send({\n\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\tmessage: '获取数据失败'\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\ttry{\n\t\t\t\tif (!fields.name) {\n\t\t\t\t\tthrow new Error('必须填写商店名称');\n\t\t\t\t}else if(!fields.address){\n\t\t\t\t\tthrow new Error('必须填写商店地址');\n\t\t\t\t}else if(!fields.phone){\n\t\t\t\t\tthrow new Error('必须填写联系电话');\n\t\t\t\t}else if(!fields.latitude || !fields.longitude){\n\t\t\t\t\tthrow new Error('商店位置信息错误');\n\t\t\t\t}else if(!fields.image_path){\n\t\t\t\t\tthrow new Error('必须上传商铺图片');\n\t\t\t\t}else if(!fields.category){\n\t\t\t\t\tthrow new Error('必须上传食品种类');\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('前台参数出错', err.message);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\t\tmessage: err.message\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst exists = await ShopModel.findOne({name: fields.name});\n\t\t\tif (exists) {\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'RESTURANT_EXISTS',\n\t\t\t\t\tmessage: '店铺已存在，请尝试其他店铺名称'\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst opening_hours = fields.startTime&&fields.endTime? fields.startTime + '/' + fields.endTime : \"8:30/20:30\";\n\t\t\tconst newShop = {\n\t\t\t\tname: fields.name,\n\t\t\t\taddress: fields.address,\n\t\t\t\tdescription: fields.description || '',\n\t\t\t\tfloat_delivery_fee: fields.float_delivery_fee || 0,\n\t\t\t\tfloat_minimum_order_amount: fields.float_minimum_order_amount || 0,\n\t\t\t\tid: restaurant_id,\n\t\t\t\tis_premium: fields.is_premium || false,\n\t\t\t\tis_new: fields.new || false,\n\t\t\t\tlatitude: fields.latitude,\n\t\t\t\tlongitude: fields.longitude,\n\t\t\t\tlocation: [fields.longitude, fields.latitude],\n\t\t\t\topening_hours: [opening_hours],\n\t\t\t\tphone: fields.phone,\n\t\t\t\tpromotion_info: fields.promotion_info || \"欢迎光临，用餐高峰请提前下单，谢谢\",\n\t\t\t\trating: (4 + Math.random()).toFixed(1),\n\t\t\t\trating_count: Math.ceil(Math.random()*1000),\n\t\t\t\trecent_order_num: Math.ceil(Math.random()*1000),\n\t\t\t\tstatus: Math.round(Math.random()),\n\t\t\t\timage_path: fields.image_path,\n\t\t\t\tcategory: fields.category,\n\t\t\t\tpiecewise_agent_fee: {\n\t\t\t\t\ttips: \"配送费约¥\" + (fields.float_delivery_fee || 0),\n\t\t\t\t},\n\t\t\t\tactivities: [],\n\t\t\t\tsupports: [],\n\t\t\t\tlicense: {\n\t\t\t\t\tbusiness_license_image: fields.business_license_image || '',\n\t\t\t\t\tcatering_service_license_image: fields.catering_service_license_image || '',\n\t\t\t\t},\n\t\t\t\tidentification: {\n\t\t\t\t\tcompany_name: \"\",\n\t\t\t\t\tidentificate_agency: \"\",\n\t\t\t\t\tidentificate_date: \"\",\n\t\t\t\t\tlegal_person: \"\",\n\t\t\t\t\tlicenses_date: \"\",\n\t\t\t\t\tlicenses_number: \"\",\n\t\t\t\t\tlicenses_scope: \"\",\n\t\t\t\t\toperation_period: \"\",\n\t\t\t\t\tregistered_address: \"\",\n\t\t\t\t\tregistered_number: \"\",\n\t\t\t\t},\n\t\t\t}\n\t\t\t//配送方式\n\t\t\tif (fields.delivery_mode) {\n\t\t\t\tObject.assign(newShop, {delivery_mode: {\n\t\t\t\t\tcolor: \"57A9FF\",\n\t\t\t\t\tid: 1,\n\t\t\t\t\tis_solid: true,\n\t\t\t\t\ttext: \"蜂鸟专送\"\n\t\t\t\t}})\n\t\t\t}\n\t\t\t//商店支持的活动\n\t\t\tfields.activities.forEach((item, index) => {\n\t\t\t\tswitch(item.icon_name){\n\t\t\t\t\tcase '减': \n\t\t\t\t\t\titem.icon_color = 'f07373';\n\t\t\t\t\t\titem.id = index + 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '特': \n\t\t\t\t\t\titem.icon_color = 'EDC123';\n\t\t\t\t\t\titem.id = index + 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '新': \n\t\t\t\t\t\titem.icon_color = '70bc46';\n\t\t\t\t\t\titem.id = index + 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase '领': \n\t\t\t\t\t\titem.icon_color = 'E3EE0D';\n\t\t\t\t\t\titem.id = index + 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tnewShop.activities.push(item);\n\t\t\t})\n\t\t\tif (fields.bao) {\n\t\t\t\tnewShop.supports.push({\n\t\t\t\t\tdescription: \"已加入“外卖保”计划，食品安全有保障\",\n\t\t\t\t\ticon_color: \"999999\",\n\t\t\t\t\ticon_name: \"保\",\n\t\t\t\t\tid: 7,\n\t\t\t\t\tname: \"外卖保\"\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (fields.zhun) {\n\t\t\t\tnewShop.supports.push({\n\t\t\t\t\tdescription: \"准时必达，超时秒赔\",\n\t\t\t\t\ticon_color: \"57A9FF\",\n\t\t\t\t\ticon_name: \"准\",\n\t\t\t\t\tid: 9,\n\t\t\t\t\tname: \"准时达\"\n\t\t\t\t})\n\t\t\t}\n\t\t\tif (fields.piao) {\n\t\t\t\tnewShop.supports.push({\n\t\t\t\t\tdescription: \"该商家支持开发票，请在下单时填写好发票抬头\",\n\t\t\t\t\ticon_color: \"999999\",\n\t\t\t\t\ticon_name: \"票\",\n\t\t\t\t\tid: 4,\n\t\t\t\t\tname: \"开发票\"\n\t\t\t\t})\n\t\t\t}\n\t\t\ttry{\n\t\t\t\t//保存数据，并增加对应食品种类的数量\n\t\t\t\tconst shop = new ShopModel(newShop);\n\t\t\t\tawait shop.save();\n\t\t\t\tCategoryHandle.addCategory(fields.category)\n\t\t\t\tRating.initData(restaurant_id);\n\t\t\t\tFood.initData(restaurant_id);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 1,\n\t\t\t\t\tsussess: '添加餐馆成功',\n\t\t\t\t\tshopDetail: newShop\n\t\t\t\t})\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('商铺写入数据库失败');\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_SERVER',\n\t\t\t\t\tmessage: '添加商铺失败',\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\t//获取餐馆列表\n\tasync getRestaurants(req, res, next){\n\t\tconst {\n\t\t\tlatitude,\n\t\t\tlongitude,\n\t\t\toffset = 0,\n\t\t\tlimit = 20,\n\t\t\tkeyword,\n\t\t\trestaurant_category_id,\n\t\t\torder_by,\n\t\t\textras,\n\t\t\tdelivery_mode = [],\n\t\t\tsupport_ids = [],\n\t\t\trestaurant_category_ids = [],\n\t\t} = req.query;\n\n\t\ttry{\n\t\t\tif (!latitude) {\n\t\t\t\tthrow new Error('latitude参数错误')\n\t\t\t}else if(!longitude){\n\t\t\t\tthrow new Error('longitude参数错误');\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log('latitude,longitude参数错误');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: err.message\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\tlet filter = {};\n\t\t//获取对应食品种类\n\t\tif (restaurant_category_ids.length && Number(restaurant_category_ids[0])) {\n\t\t\tconst category =  await CategoryHandle.findById(restaurant_category_ids[0]);\n\t\t\tObject.assign(filter, {category})\n\t\t}\n\t\t//按照距离，评分，销量等排序\n\t\tlet sortBy = {};\n\t\tif (Number(order_by)) {\n\t\t\tswitch(Number(order_by)){\n\t\t\t\tcase 1:\n\t\t\t\t\tObject.assign(sortBy, {float_minimum_order_amount: 1});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\tObject.assign(filter, {location: {$near: [longitude, latitude]}});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tObject.assign(sortBy, {rating: -1});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 5:\n\t\t\t\t\tObject.assign(filter, {location: {$near: [longitude, latitude]}});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 6:\n\t\t\t\t\tObject.assign(sortBy, {recent_order_num: -1});\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t//查找配送方式\n\t\tif (delivery_mode.length) {\n\t\t\tdelivery_mode.forEach(item => {\n\t\t\t\tif (Number(item)) {\n\t\t\t\t\tObject.assign(filter, {'delivery_mode.id': Number(item)})\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\t//查找活动支持方式\n\t\tif (support_ids.length) {\n\t\t\tconst filterArr = []; \n\t\t\tsupport_ids.forEach(item => {\n\t\t\t\tif (Number(item) && (Number(item) !== 8)) {\n\t\t\t\t\tfilterArr.push(Number(item))\n\t\t\t\t}else if(Number(item) == 8){ //品牌保证特殊处理\n\t\t\t\t\tObject.assign(filter, {is_premium: true})\n\t\t\t\t}\n\t\t\t})\n\t\t\tif (filterArr.length) {\n\t\t\t\t//匹配同时拥有多种活动的数据\n\t\t\t\tObject.assign(filter, {'supports.id': {$all: filterArr}})\n\t\t\t}\n\t\t}\n\n\t\tconst restaurants = await ShopModel.find(filter, '-_id').sort(sortBy).limit(Number(limit)).skip(Number(offset))\n\t\tconst from = latitude + ',' + longitude;\n\t\tlet to = '';\n\t\t//获取百度地图测局所需经度纬度\n\t\trestaurants.forEach((item, index) => {\n\t\t\tconst slpitStr = (index == restaurants.length -1) ? '' : '|';\n\t\t\tto += item.latitude + ',' + item.longitude + slpitStr;\n\t\t})\n\t\ttry{\n\t\t\tif (restaurants.length) {\n\t\t\t\t//获取距离信息，并合并到数据中\n\t\t\t\tconst distance_duration = await this.getDistance(from, to)\n\t\t\t\trestaurants.map((item, index) => {\n\t\t\t\t\treturn Object.assign(item, distance_duration[index])\n\t\t\t\t})\n\t\t\t}\n\t\t}catch(err){\n\t\t\t// 百度地图达到上限后会导致加车失败，需优化\n\t\t\tconsole.log('从addressComoponent获取测距数据失败', err);\n\t\t\trestaurants.map((item, index) => {\n\t\t\t\treturn Object.assign(item, {distance: '10公里', order_lead_time: '40分钟'})\n\t\t\t})\n\t\t}\n\t\ttry{\n\t\t\tres.send(restaurants)\n\t\t}catch(err){\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_SHOP_LIST',\n\t\t\t\tmessage: '获取店铺列表数据失败'\n\t\t\t})\n\t\t}\n\t}\n\t//搜索餐馆\n\tasync searchResaturant(req, res, next){\n\t\tconst {geohash, keyword} = req.query;\n\t\ttry{\n\t\t\tif (!geohash || geohash.indexOf(',') == -1) {\n\t\t\t\tthrow new Error('经纬度参数错误');\n\t\t\t}else if(!keyword){\n\t\t\t\tthrow new Error('关键词参数错误');\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log('搜索商铺参数错误');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: err.message,\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\t\n\t\ttry{\n\t\t\tconst restaurants = await ShopModel.find({name: eval('/' + keyword + '/gi')}, '-_id').limit(50);\n\t\t\tif (restaurants.length) {\n\t\t\t\tconst [latitude, longitude] = geohash.split(',');\n\t\t\t\tconst from = latitude + ',' + longitude;\n\t\t\t\tlet to = '';\n\t\t\t\t//获取百度地图测局所需经度纬度\n\t\t\t\trestaurants.forEach((item, index) => {\n\t\t\t\t\tconst slpitStr = (index == restaurants.length -1) ? '' : '|';\n\t\t\t\t\tto += item.latitude + ',' + item.longitude + slpitStr;\n\t\t\t\t})\n\t\t\t\t//获取距离信息，并合并到数据中\n\t\t\t\tconst distance_duration = await this.getDistance(from, to)\n\t\t\t\trestaurants.map((item, index) => {\n\t\t\t\t\treturn Object.assign(item, distance_duration[index])\n\t\t\t\t})\n\t\t\t}\n\t\t\tres.send(restaurants);\n\t\t}catch(err){\n\t\t\tconsole.log('搜索餐馆数据失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\tmessage: '搜索餐馆数据失败'\n\t\t\t})\n\t\t}\n\t}\n\t//获取餐馆详情\n\tasync getRestaurantDetail(req, res, next){\n\t\tconst restaurant_id = req.params.restaurant_id;\n\t\tif (!restaurant_id || !Number(restaurant_id)) {\n\t\t\tconsole.log('获取餐馆详情参数ID错误');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '餐馆ID参数错误',\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst restaurant = await ShopModel.findOne({id: restaurant_id}, '-_id');\n\t\t\tres.send(restaurant)\n\t\t}catch(err){\n\t\t\tconsole.log('获取餐馆详情失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_DATA_ERROR',\n\t\t\t\tmessage: '获取餐馆详情失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getShopCount(req, res, next){\n\t\ttry{\n\t\t\tconst count = await ShopModel.count();\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcount,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取餐馆数量失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_TO_GET_COUNT',\n\t\t\t\tmessage: '获取餐馆数量失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync updateshop(req, res, next){\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\tif (err) {\n\t\t\t\tconsole.log('获取商铺信息form出错', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_FORM',\n\t\t\t\t\tmessage: '表单信息错误',\n\t\t\t\t})\n\t\t\t\treturn \n\t\t\t}\n\t\t\tconst {name, address, description = \"\", phone, category, id, latitude, longitude, image_path} = fields;\n\t\t\tif (id == 1) {\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\tmessage: '此店铺用做展示，请不要修改'\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\ttry{\n\t\t\t\tif (!name) {\n\t\t\t\t\tthrow new Error('餐馆名称错误');\n\t\t\t\t}else if(!address){\n\t\t\t\t\tthrow new Error('餐馆地址错误');\n\t\t\t\t}else if(!phone){\n\t\t\t\t\tthrow new Error('餐馆联系电话错误');\n\t\t\t\t}else if(!category){\n\t\t\t\t\tthrow new Error('餐馆分类错误');\n\t\t\t\t}else if(!id || !Number(id)){\n\t\t\t\t\tthrow new Error('餐馆ID错误');\n\t\t\t\t}else if(!image_path){\n\t\t\t\t\tthrow new Error('餐馆图片地址错误');\n\t\t\t\t}\n\t\t\t\tlet newData;\n\t\t\t\tif (latitude && longitude) {\n\t\t\t\t\tnewData = {name, address, description, phone, category, latitude, longitude, image_path}\n\t\t\t\t}else{\n\t\t\t\t\tnewData = {name, address, description, phone, category, image_path}\n\t\t\t\t}\n\t\t\t\tawait ShopModel.findOneAndUpdate({id}, {$set: newData});\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 1,\n\t\t\t\t\tsuccess: '修改商铺信息成功',\n\t\t\t\t})\n\t\t\t}catch(err){\n\t\t\t\tconsole.log(err.message, err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_UPDATE_RESTAURANT',\n\t\t\t\t\tmessage: '更新商铺信息失败',\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\tasync deleteResturant(req, res, next){\n\t\tconst restaurant_id = req.params.restaurant_id;\n\t\tif (!restaurant_id || !Number(restaurant_id)) {\n\t\t\tconsole.log('restaurant_id参数错误');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: 'restaurant_id参数错误',\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\tif (restaurant_id == 1) {\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\tmessage: '此店铺用做展示，请不要删除'\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\ttry{\n\t\t\tawait ShopModel.remove({id: restaurant_id});\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tsuccess: '删除餐馆成功',\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('删除餐馆失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'DELETE_RESTURANT_FAILED',\n\t\t\t\tmessage: '删除餐馆失败',\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport default new Shop()"
  },
  {
    "path": "controller/statis/statis.js",
    "content": "'use strict'\n\nimport StatisModel from '../../models/statis/statis'\nimport UserInfoModel from '../../models/v2/userInfo'\nimport OrderModel from '../../models/bos/order'\nimport dtime from 'time-formater'\nimport AdminModel from '../../models/admin/admin'\n\nclass Statis {\n\tconstructor(){\n\n\t}\n\tasync apiCount(req, res, next){\n\t\tconst date = req.params.date;\n\t\tif (!date) {\n\t\t\tconsole.log('参数错误')\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '参数错误'\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst count = await StatisModel.find({date}).count()\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcount,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取当天API请求次数失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_TODAY_API_COUNT',\n\t\t\t\tmessage: '获取当天API请求次数失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync apiAllCount(req, res, next){\n\t\ttry{\n\t\t\tconst count = await StatisModel.count()\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcount,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取所有API请求次数失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_ALL_API_COUNT',\n\t\t\t\tmessage: '获取所有API请求次数失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync allApiRecord(req, res, next){\n\t\ttry{\n\t\t\tconst allRecord = await StatisModel.find({}, '-_id -__v')\n\t\t\tres.send(allRecord)\n\t\t}catch(err){\n\t\t\tconsole.log('获取所有API请求信息失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_ALL_API_RECORD_DATA_FAILED',\n\t\t\t\tmessage: '获取所有API请求信息失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync userCount(req, res, next){\n\t\tconst date = req.params.date;\n\t\tif (!date) {\n\t\t\tconsole.log('参数错误')\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '参数错误'\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst count = await UserInfoModel.find({registe_time: eval('/^' + date + '/gi')}).count()\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcount,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取当天注册人数失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_USER_REGISTE_COUNT',\n\t\t\t\tmessage: '获取当天注册人数失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync adminCount(req, res, next){\n\t\tconst date = req.params.date;\n\t\tif (!date) {\n\t\t\tconsole.log('参数错误')\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '参数错误'\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst count = await AdminModel.find({create_time: eval('/^' + date + '/gi')}).count()\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcount,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取当天注册管理员人数失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_ADMIN_REGISTE_COUNT',\n\t\t\t\tmessage: '获取当天注册管理员人数失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync orderCount(req, res, next){\n\t\tconst date = req.params.date;\n\t\tif (!date) {\n\t\t\tconsole.log('参数错误')\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '参数错误'\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst count = await OrderModel.find({formatted_created_at: eval('/^' + date + '/gi')}).count()\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcount,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取当天订单数量失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_ORDER_COUNT',\n\t\t\t\tmessage: '获取当天订单数量失败'\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport default new Statis()"
  },
  {
    "path": "controller/ugc/rating.js",
    "content": "'use strict';\n\nimport RatingModel from '../../models/ugc/rating'\n\nclass Rating {\n\tconstructor(){\n\t\tthis.type = ['ratings', 'scores', 'tags'];\n\t\tthis.getRatings = this.getRatings.bind(this);\n\t\tthis.getScores = this.getScores.bind(this);\n\t\tthis.getTags = this.getTags.bind(this);\n\t}\n\tasync initData(restaurant_id){\n\t\ttry{\n\t\t\tconst status = await RatingModel.initData(restaurant_id);\n\t\t\tif (status) {\n\t\t\t\tconsole.log('初始化评论数据成功');\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log('初始化评论数据失败');\n\t\t\tthrow new Error(err);\n\t\t}\n\t}\n\tasync getRatings(req, res, next){\n\t\tconst restaurant_id = req.params.restaurant_id;\n\t\tif (!restaurant_id || !Number(restaurant_id)) {\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '餐馆ID参数错误'\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst ratings = await RatingModel.getData(restaurant_id, this.type[0]);\n\t\t\tres.send(ratings)\n\t\t}catch(err){\n\t\t\tconsole.log('获取评论列表失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: \"ERROR_DATA\",\n\t\t\t\tmessage: '未找到当前餐馆的评论数据'\n\t\t\t})\n\t\t}\n\t}\n\tasync getScores(req, res, next){\n\t\tconst restaurant_id = req.params.restaurant_id;\n\t\tif (!restaurant_id || !Number(restaurant_id)) {\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '餐馆ID参数错误'\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst scores = await RatingModel.getData(restaurant_id, this.type[1]);\n\t\t\tres.send(scores)\n\t\t}catch(err){\n\t\t\tconsole.log('获取评论列表失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: \"ERROR_DATA\",\n\t\t\t\tmessage: '未找到当前餐馆的评论数据'\n\t\t\t})\n\t\t}\n\t}\n\tasync getTags(req, res, next){\n\t\tconst restaurant_id = req.params.restaurant_id;\n\t\tif (!restaurant_id || !Number(restaurant_id)) {\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '餐馆ID参数错误'\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst tags = await RatingModel.getData(restaurant_id, this.type[2]);\n\t\t\tres.send(tags)\n\t\t}catch(err){\n\t\t\tconsole.log('获取评论列表失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: \"ERROR_DATA\",\n\t\t\t\tmessage: '未找到当前餐馆的评论数据'\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport default new Rating()"
  },
  {
    "path": "controller/v1/address.js",
    "content": "'use strict';\n\nimport BaseComponent from '../../prototype/baseComponent'\nimport AddressModel from '../../models/v1/address'\nimport formidable from 'formidable'\n\nclass Address extends BaseComponent{\n\tconstructor(){\n\t\tsuper()\n\t\tthis.addAddress = this.addAddress.bind(this);\n\n\t}\n\tasync getAddress(req, res, next){\n\t\tconst user_id = req.params.user_id;\n\t\tif (!user_id || !Number(user_id)) {\n\t\t\tres.send({\n\t\t\t\ttype: 'ERROR_USER_ID',\n\t\t\t\tmessage: 'user_id参数错误',\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\ttry{\n\t\t\tconst addressList = await AddressModel.find({user_id}, '-_id');\n\t\t\tres.send(addressList)\n\t\t}catch(err){\n\t\t\tconsole.log('获取收获地址失败', err);\n\t\t\tres.send({\n\t\t\t\ttype: 'ERROR_GET_ADDRESS',\n\t\t\t\tmessage: '获取地址列表失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync addAddress(req, res, next){\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\tconst user_id = req.params.user_id;\n\t\t\tconst {address, address_detail, geohash, name, phone, phone_bk, poi_type = 0, sex, tag, tag_type} = fields;\n\t\t\ttry{\n\t\t\t\tif (!user_id || !Number(user_id)) {\n\t\t\t\t\tthrow new Error('用户ID参数错误');\n\t\t\t\t}else if(!address){\n\t\t\t\t\tthrow new Error('地址信息错误');\n\t\t\t\t}else if(!address_detail){\n\t\t\t\t\tthrow new Error('详细地址信息错误');\n\t\t\t\t}else if(!geohash){\n\t\t\t\t\tthrow new Error('geohash参数错误');\n\t\t\t\t}else if(!name){\n\t\t\t\t\tthrow new Error('收货人姓名错误');\n\t\t\t\t}else if(!phone){\n\t\t\t\t\tthrow new Error('收获手机号错误');\n\t\t\t\t}else if(!sex){\n\t\t\t\t\tthrow new Error('性别错误');\n\t\t\t\t}else if(!tag){\n\t\t\t\t\tthrow new Error('标签错误');\n\t\t\t\t}else if(!tag_type){\n\t\t\t\t\tthrow new Error('标签类型错误');\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log(err.message);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'GET_WRONG_PARAM',\n\t\t\t\t\tmessage: err.message\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\ttry{\t\n\t\t\t\tconst address_id = await this.getId('address_id');\n\t\t\t\tconst newAddress = {\n\t\t\t\t\tid: address_id,\n\t\t\t\t\taddress,\n\t\t\t\t\tphone,\n\t\t\t\t\tphone_bk: phone_bk&&phone_bk,\n\t\t\t\t\tname,\n\t\t\t\t\tst_geohash: geohash,\n\t\t\t\t\taddress_detail,\n\t\t\t\t\tsex,\n\t\t\t\t\ttag,\n\t\t\t\t\ttag_type,\n\t\t\t\t\tuser_id,\n\t\t\t\t}\n\t\t\t\tawait AddressModel.create(newAddress);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 1,\n\t\t\t\t\tsuccess: '添加地址成功'\n\t\t\t\t})\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('添加地址失败', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_ADD_ADDRESS',\n\t\t\t\t\tmessage: '添加地址失败'\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\tasync deleteAddress(req, res, next){\n\t\tconst {user_id, address_id} = req.params;\n\t\tif (!user_id || !Number(user_id) || !address_id || !Number(address_id)) {\n\t\t\tres.send({\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '参数错误',\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\ttry{\n\t\t\tawait AddressModel.findOneAndRemove({id: address_id});\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tsuccess: '删除地址成功',\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('删除收获地址失败', err);\n\t\t\tres.send({\n\t\t\t\ttype: 'ERROR_DELETE_ADDRESS',\n\t\t\t\tmessage: '删除收获地址失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getAddAddressById(req, res, next){\n\t\tconst address_id = req.params.address_id;\n\t\tif (!address_id || !Number(address_id)) {\n\t\t\tres.send({\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '参数错误',\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\ttry{\n\t\t\tconst address = await AddressModel.findOne({id: address_id});\n\t\t\tres.send(address)\n\t\t}catch(err){\n\t\t\tconsole.log('获取地址信息失败', err);\n\t\t\tres.send({\n\t\t\t\ttype: 'ERROR_GET_ADDRESS',\n\t\t\t\tmessage: '获取地址信息失败'\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport default new Address()"
  },
  {
    "path": "controller/v1/captchas.js",
    "content": "'use strict';\n\nimport captchapng from 'captchapng';\n\nclass Captchas {\n\tconstructor(){\n\n\t}\n\t//验证码\n\tasync getCaptchas(req, res, next){\n    \tconst cap = parseInt(Math.random()*9000+1000);\n    \tconst p = new captchapng(80,30, cap);\n        p.color(0, 0, 0, 0); \n        p.color(80, 80, 80, 255);\n        const base64 = p.getBase64();\n        res.cookie('cap', cap, { maxAge: 300000, httpOnly: true });\n        res.send({\n            status: 1,\n        \tcode: 'data:image/png;base64,' + base64\n        });\n\t}\n}\n\nexport default new Captchas()"
  },
  {
    "path": "controller/v1/carts.js",
    "content": "'use strict';\n\nimport AddressComponent from '../../prototype/addressComponent'\nimport formidable from 'formidable'\nimport PaymentsModel from '../../models/v1/payments'\nimport ShopModel from '../../models/shopping/shop'\nimport CartModel from '../../models/v1/cart'\n\nclass Carts extends AddressComponent{\n\tconstructor(){\n\t\tsuper();\n\t\tthis.extra = [{\n\t\t\tdescription: '',\n\t\t\tname: '餐盒',\n\t\t\tprice: 0,\n\t\t\tquantity: 1,\n\t\t\ttype: 0,\n\t\t}]\n\t\tthis.checkout = this.checkout.bind(this);\n\t}\n\tasync checkout(req, res, next){\n\t\tconst UID = req.session.UID;\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\tconst {come_from, geohash, entities = [], restaurant_id} = fields;\n\t\t\ttry{\n\t\t\t\tif(!(entities instanceof Array) || !entities.length){\n\t\t\t\t\tthrow new Error('entities参数错误')\n\t\t\t\t}else if(!(entities[0] instanceof Array) || !entities[0].length){\n\t\t\t\t\tthrow new Error('entities参数错误')\n\t\t\t\t}else if(!restaurant_id){\n\t\t\t\t\tthrow new Error('restaurant_id参数错误')\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log(err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\t\tmessage: err.message\n\t\t\t\t})\n\t\t\t\treturn \n\t\t\t}\n\t\t\tlet payments; //付款方式\n\t\t\tlet cart_id; //购物车id\n\t\t\tlet restaurant; //餐馆详情\n\t\t\tlet deliver_time; //配送时间\n\t\t\tlet delivery_reach_time; //到达时间\n\t\t\tlet from = geohash.split(',')[0] + ',' +  geohash.split(',')[1];\n\t\t\ttry{\n\t\t\t\tpayments = await PaymentsModel.find({}, '-_id');\n\t\t\t\tcart_id = await this.getId('cart_id');\n\t\t\t\trestaurant = await ShopModel.findOne({id: restaurant_id});\n\t\t\t\tconst to = restaurant.latitude+ ',' + restaurant.longitude;\n\t\t\t\tdeliver_time = await this.getDistance(from, to, 'tiemvalue');\n\t\t\t\tlet time = new Date().getTime() + deliver_time*1000;\n\t\t\t\tlet hour = ('0' + new Date(time).getHours()).substr(-2);\n\t\t\t\tlet minute = ('0' + new Date(time).getMinutes()).substr(-2);\n\t\t\t\tdelivery_reach_time = hour + ':' + minute;\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('获取数据数据失败', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\t\tmessage: '添加购物车失败',\n\t\t\t\t})\n\t\t\t\treturn \n\t\t\t}\n\t\t\tconst deliver_amount = 4;\n\t\t\tlet price = 0; //食品价格\n\t\t\tentities[0].map(item => {\n\t\t\t\tprice += item.price * item.quantity;\n\t\t\t\tif (item.packing_fee) {\n\t\t\t\t\tthis.extra[0].price += item.packing_fee*item.quantity;\n\t\t\t\t}\n\t\t\t\tif (item.specs[0]) {\n\t\t\t\t\treturn item.name = item.name + '-' + item.specs[0];\n\t\t\t\t}\n\t\t\t})\n\t\t\t//食品总价格\n\t\t\tconst total = price + this.extra[0].price * this.extra[0].quantity + deliver_amount;\n\t\t\t//是否支持发票\n\t\t\tlet invoice = {\n\t\t\t\tis_available: false,\n\t\t\t\tstatus_text: \"商家不支持开发票\",\n\t\t\t};\n\t\t\trestaurant.supports.forEach(item => {\n\t\t\t\tif (item.icon_name == '票') {\n\t\t\t\t\tinvoice = {\n\t\t\t\t\t\tis_available: true,\n\t\t\t\t\t\tstatus_text: \"不需要开发票\",\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t})\n\t\t\tconst checkoutInfo = {\n\t\t\t\tid: cart_id,\n\t\t\t\tcart: {\n\t\t\t\t\tid: cart_id,\n\t\t\t\t\tgroups: entities,\n\t\t\t\t\textra: this.extra,\n\t\t\t\t\tdeliver_amount,\n\t\t\t\t\tis_deliver_by_fengniao: !!restaurant.delivery_mode,\n\t\t\t\t\toriginal_total: total,\n\t\t\t\t\tphone: restaurant.phone,\n\t\t\t\t\trestaurant_id,\n\t\t\t\t\trestaurant_info: restaurant,\n\t\t\t\t\trestaurant_minimum_order_amount: restaurant.float_minimum_order_amount,\n\t\t\t\t\ttotal,\n\t\t\t\t\tuser_id: UID,\n\t\t\t\t},\n\t\t\t\tdelivery_reach_time,\n\t\t\t\tinvoice,\n\t\t\t\tsig: Math.ceil(Math.random()*1000000).toString(),\n\t\t\t\tpayments,\n\t\t\t}\n\t\t\ttry{\n\t\t\t\tconst newCart = new CartModel(checkoutInfo);\n\t\t\t\tconst cart = await newCart.save();\n\t\t\t\tres.send(cart)\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('保存购物车数据失败');\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_TO_SAVE_CART',\n\t\t\t\t\tmessage: '加入购物车失败'\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n}\n\nexport default new Carts()"
  },
  {
    "path": "controller/v1/cities.js",
    "content": "'use strict';\n\nimport Cities from '../../models/v1/cities'\nimport pinyin from \"pinyin\"\nimport AddressComponent from '../../prototype/addressComponent'\n\n\nclass CityHandle extends AddressComponent{\n\tconstructor(){\n\t\tsuper()\n\t\tthis.getCity = this.getCity.bind(this);\n\t\tthis.getExactAddress = this.getExactAddress.bind(this);\n\t\tthis.pois = this.pois.bind(this);\n\t}\n\tasync getCity(req, res, next){\n\t\tconst type = req.query.type;\n\t\tlet cityInfo;\n\t\ttry{\n\t\t\tswitch (type){\n\t\t\t\tcase 'guess': \n\t\t\t\t\tconst city = await this.getCityName(req);\n\t\t\t\t\tcityInfo = await Cities.cityGuess(city);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'hot': \n\t\t\t\t\tcityInfo = await Cities.cityHot();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'group': \n\t\t\t\t\tcityInfo = await Cities.cityGroup();\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: \n\t\t\t\t\tres.json({\n\t\t\t\t\t\tname: 'ERROR_QUERY_TYPE',\n\t\t\t\t\t\tmessage: '参数错误',\n\t\t\t\t\t})\n\t\t\t\t\treturn\n\t\t\t}\n\t\t\tres.send(cityInfo);\n\t\t}catch(err){\n\t\t\tres.send({\n\t\t\t\tname: 'ERROR_DATA',\n\t\t\t\tmessage: '获取数据失败',\n\t\t\t});\n\t\t}\n\t}\n\tasync getCityById(req, res, next){\n\t\tconst cityid = req.params.id;\n\t\tif (isNaN(cityid)) {\n\t\t\tres.json({\n\t\t\t\tname: 'ERROR_PARAM_TYPE',\n\t\t\t\tmessage: '参数错误',\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst cityInfo = await Cities.getCityById(cityid);\n\t\t\tres.send(cityInfo);\n\t\t}catch(err){\n\t\t\tres.send({\n\t\t\t\tname: 'ERROR_DATA',\n\t\t\t\tmessage: '获取数据失败',\n\t\t\t});\n\t\t}\n\t}\n\tasync getCityName(req){\n\t\ttry{\n\t\t\tconst cityInfo = await this.guessPosition(req);\n\t\t\t/*\n\t\t\t汉字转换成拼音\n\t\t\t */\n\t    const pinyinArr = pinyin(cityInfo.city, {\n\t\t  \tstyle: pinyin.STYLE_NORMAL,\n\t\t\t});\n\t\t\tlet cityName = '';\n\t\t\tpinyinArr.forEach(item => {\n\t\t\t\tcityName += item[0];\n\t\t\t})\n\t\t\treturn cityName;\n\t\t}catch(err){\n\t\t\treturn '北京';\n\t\t}\n\t}\n\tasync getExactAddress(req, res, next){\n\t\ttry{\n\t\t\tconst position = await this.geocoder(req)\n\t\t\tres.send(position);\n\t\t}catch(err){\n\t\t\tconsole.log('获取精确位置信息失败');\n\t\t\tres.send({\n\t\t\t\tname: 'ERROR_DATA',\n\t\t\t\tmessage: '获取精确位置信息失败',\n\t\t\t});\n\t\t}\n\t}\n\tasync pois(req, res, next){\n\t\ttry{\n\t\t\tconst geohash = req.params.geohash || '';\n\t\t\tif (geohash.indexOf(',') == -1) {\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\t\tmessage: '参数错误',\n\t\t\t\t})\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst poisArr = geohash.split(',');\n\t\t\tconst result = await this.getpois(poisArr[0], poisArr[1]);\n\t\t\tconst address = {\n\t\t\t\taddress: result.result.address,\n\t\t\t\tcity: result.result.address_component.province,\n\t\t\t\tgeohash,\n\t\t\t\tlatitude: poisArr[0],\n\t\t\t\tlongitude: poisArr[1],\n\t\t\t\tname: result.result.formatted_addresses.recommend,\n\t\t\t}\n\t\t\tres.send(address);\n\t\t}catch(err){\n\t\t\tconsole.log('getpois返回信息失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\tmessage: '获取数据失败',\n\t\t\t})\n\t\t}\n\t}\n}\nexport default new CityHandle()"
  },
  {
    "path": "controller/v1/order.js",
    "content": "'use strict';\n\nimport BaseComponent from '../../prototype/baseComponent'\nimport formidable from 'formidable'\nimport OrderModel from '../../models/bos/order'\nimport CartModel from '../../models/v1/cart'\nimport dtime from 'time-formater'\nimport AddressModel from '../../models/v1/address'\n\nclass Order extends BaseComponent{\n\tconstructor(){\n\t\tsuper()\n\t\tthis.postOrder = this.postOrder.bind(this);\n\t}\n\tasync postOrder(req, res, next){\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\tif (err) {\n\t\t\t\tconsole.log('formidable解析出错', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 1,\n\t\t\t\t\tmessage: '下单失败'\n\t\t\t\t})\n\t\t\t\treturn \n\t\t\t}\n\t\t\tconst {user_id, cart_id} = req.params;\n\t\t\tconst {address_id, come_from = 'mobile_web', deliver_time = '', description, entities, geohash, paymethod_id = 1} = fields;\n\t\t\ttry{\n\t\t\t\tif(!(entities instanceof Array) || !entities.length){\n\t\t\t\t\tthrow new Error('entities参数错误')\n\t\t\t\t}else if(!(entities[0] instanceof Array) || !entities[0].length){\n\t\t\t\t\tthrow new Error('entities参数错误')\n\t\t\t\t}else if(!address_id){\n\t\t\t\t\tthrow new Error('address_id参数错误')\n\t\t\t\t}else if(!user_id || !Number(user_id)){\n\t\t\t\t\tthrow new Error('user_id参数错误')\n\t\t\t\t}else if(!cart_id || !Number(cart_id)){\n\t\t\t\t\tthrow new Error('cart_id参数错误')\n\t\t\t\t}else if(!user_id){\n\t\t\t\t\tthrow new Error('未登录')\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log(err.message, err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\t\tmessage: err.message\n\t\t\t\t})\n\t\t\t\treturn \n\t\t\t}\n\t\t\tlet cartDetail;\n\t\t\tlet order_id;\n\t\t\ttry{\n\t\t\t\tcartDetail = await CartModel.findOne({id: cart_id});\n\t\t\t\torder_id = await this.getId('order_id');\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('获取数据失败', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_GET_DATA',\n\t\t\t\t\tmessage: '获取订单失败',\n\t\t\t\t})\n\t\t\t\treturn \n\t\t\t}\n\t\t\tconst deliver_fee = {price: cartDetail.cart.deliver_amount};\n\t\t\tconst orderObj = {\n\t\t\t\tbasket: {\n\t\t\t\t\tgroup: entities,\n\t\t\t\t\tpacking_fee: {\n\t\t\t\t\t\tname: cartDetail.cart.extra[0].name,\n\t\t\t\t\t\tprice: cartDetail.cart.extra[0].price,\n\t\t\t\t\t\tquantity: cartDetail.cart.extra[0].quantity,\n\t\t\t\t\t},\n\t\t\t\t\tdeliver_fee,\n\t\t\t\t},\n\t\t\t\trestaurant_id: cartDetail.cart.restaurant_id,\n\t\t\t\trestaurant_image_url: cartDetail.cart.restaurant_info.image_path,\n\t\t\t\trestaurant_name:  cartDetail.cart.restaurant_info.name,\n\t\t\t\tformatted_created_at: dtime().format('YYYY-MM-DD HH:mm'),\n\t\t\t\torder_time: new Date().getTime(),\n\t\t\t\ttime_pass: 900,\n\t\t\t\tstatus_bar: {\n\t\t\t\t\tcolor: 'f60',\n\t\t\t\t\timage_type: '',\n\t\t\t\t\tsub_title: '15分钟内支付',\n\t\t\t\t\ttitle: '',\n\t\t\t\t},\n\t\t\t\ttotal_amount: cartDetail.cart.total,\n\t\t\t\ttotal_quantity: entities[0].length,\n\t\t\t\tunique_id: order_id,\n\t\t\t\tid: order_id,\n\t\t\t\tuser_id,\n\t\t\t\taddress_id,\n\t\t\t}\n\t\t\ttry{\n\t\t\t\tawait OrderModel.create(orderObj);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 1,\n\t\t\t\t\tsuccess: '下单成功，请及时付款',\n\t\t\t\t\tneed_validation: false,\n\t\t\t\t})\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('保存订单数据失败');\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_SAVE_ORDER',\n\t\t\t\t\tmessage: '保存订单失败'\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\tasync getOrders(req, res, next){\n\t\tconst user_id = req.params.user_id;\n\t\tconst {limit = 0, offset = 0} = req.query;\n\t\ttry{\n\t\t\tif(!user_id || !Number(user_id)){\n\t\t\t\tthrow new Error('user_id参数错误')\n\t\t\t}else if(!Number(limit)){\n\t\t\t\tthrow new Error('limit参数错误')\n\t\t\t}else if(typeof Number(offset) !== 'number'){\n\t\t\t\tthrow new Error('offset参数错误')\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log(err.message, err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: err.message\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\ttry{\n\t\t\tconst orders = await OrderModel.find({user_id}).sort({id: -1}).limit(Number(limit)).skip(Number(offset));\n\t\t\tconst timeNow = new Date().getTime();\n\t\t\torders.map(item => {\n\t\t\t\tif (timeNow - item.order_time < 900000) {\n\t\t\t\t\titem.status_bar.title = '等待支付';\n\t\t\t\t}else{\n\t\t\t\t\titem.status_bar.title = '支付超时';\n\t\t\t\t}\n\t\t\t\titem.time_pass = Math.ceil((timeNow - item.order_time)/1000);\n\t\t\t\titem.save()\n\t\t\t\treturn item\n\t\t\t})\n\t\t\tres.send(orders);\n\t\t}catch(err){\n\t\t\tconsole.log('获取订单列表失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_ORDER_LIST',\n\t\t\t\tmessage: '获取订单列表失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getDetail(req, res, next){\n\t\tconst {user_id, order_id} = req.params;\n\t\ttry{\n\t\t\tif (!user_id || !Number(user_id)) {\n\t\t\t\tthrow new Error('user_id参数错误')\n\t\t\t}else if(!order_id || !Number(order_id)){\n\t\t\t\tthrow new Error('order_id参数错误')\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log(err.message);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_ERROR_PARAM',\n\t\t\t\tmessage: err.message,\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst order = await OrderModel.findOne({id: order_id}, '-_id');\n\t\t\tconst addressDetail = await AddressModel.findOne({id: order.address_id});\n\t\t\tconst orderDetail = {...order, ...{addressDetail: addressDetail.address, consignee: addressDetail.name, deliver_time: '尽快送达', pay_method: '在线支付', phone: addressDetail.phone}};\n\t\t\tres.send(orderDetail)\n\t\t}catch(err){\n\t\t\tconsole.log('获取订单信息失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_TO_GET_ORDER_DETAIL',\n\t\t\t\tmessage: '获取订单信息失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getAllOrders(req, res, next){\n\t\tconst {restaurant_id, limit = 20, offset = 0} = req.query;\n\t\ttry{\n\t\t\tlet filter = {};\n\t\t\tif (restaurant_id && Number(restaurant_id)) {\n\t\t\t\tfilter = {restaurant_id}\n\t\t\t}\n\n\t\t\tconst orders = await OrderModel.find(filter).sort({id: -1}).limit(Number(limit)).skip(Number(offset));\n\t\t\tconst timeNow = new Date().getTime();\n\t\t\torders.map(item => {\n\t\t\t\tif (timeNow - item.order_time < 900000) {\n\t\t\t\t\titem.status_bar.title = '等待支付';\n\t\t\t\t}else{\n\t\t\t\t\titem.status_bar.title = '支付超时';\n\t\t\t\t}\n\t\t\t\titem.time_pass = Math.ceil((timeNow - item.order_time)/1000);\n\t\t\t\titem.save()\n\t\t\t\treturn item\n\t\t\t})\n\t\t\tres.send(orders);\n\t\t}catch(err){\n\t\t\tconsole.log('获取订单数据失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_ORDER_DATA_ERROR',\n\t\t\t\tmessage: '获取订单数据失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getOrdersCount(req, res, next){\n\t\tconst restaurant_id = req.query.restaurant_id;\n\t\ttry{\n\t\t\tlet filter = {};\n\t\t\tif (restaurant_id && Number(restaurant_id)) {\n\t\t\t\tfilter = {restaurant_id}\n\t\t\t}\n\n\t\t\tconst count = await OrderModel.find(filter).count();\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcount,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取订单数量失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_TO_GET_COUNT',\n\t\t\t\tmessage: '获取订单数量失败'\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport default new Order()"
  },
  {
    "path": "controller/v1/remark.js",
    "content": "'use strict';\n\nimport BaseComponent from '../../prototype/baseComponent'\nimport RemarkModel from '../../models/v1/remark'\n\nclass Remark extends BaseComponent{\n\tconstructor(){\n\t\tsuper()\n\t}\n\tasync getRemarks(req, res, next){\n\t\tconst cart_id = req.params.cart_id;\n\t\tif (!cart_id || !Number(cart_id)) {\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_PARAMS',\n\t\t\t\tmessage: '购物车ID参数错误'\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\ttry{\n\t\t\tconst remarks = await RemarkModel.findOne({}, '-_id');\n\t\t\tres.send(remarks);\n\t\t}catch(err){\n\t\t\tconsole.log('获取备注数据失败',err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_DATA',\n\t\t\t\tmessage: '获取备注数据失败'\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport default new Remark()"
  },
  {
    "path": "controller/v1/search.js",
    "content": "'use strict';\n\nimport AddressComponent from '../../prototype/addressComponent';\nimport Cities from '../../models/v1/cities';\nimport CityHandle from './cities'\n\nclass SearchPlace extends AddressComponent{\n\tconstructor(){\n\t\tsuper()\n\t\tthis.search = this.search.bind(this)\n\t}\n\tasync search(req, res, next){\n\t\tlet {type = 'search', city_id, keyword} = req.query;\n\t\tif (!keyword) {\n\t\t\tres.send({\n\t\t\t\tname: 'ERROR_QUERY_TYPE',\n\t\t\t\tmessage: '参数错误',\n\t\t\t})\n\t\t\treturn\n\t\t}else if(isNaN(city_id)){\n\t\t\ttry{\n\t\t\t\tconst cityname = await CityHandle.getCityName(req);\n\t\t\t\tconst cityInfo = await Cities.cityGuess(cityname);\n\t\t\t\tcity_id = cityInfo.id;\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('搜索地址时，获取定位城失败')\n\t\t\t\tres.send({\n\t\t\t\t\tname: 'ERROR_GET_POSITION',\n\t\t\t\t\tmessage: '获取数据失败',\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\ttry{\n\t\t\tconst cityInfo = await Cities.getCityById(city_id);\n\t\t\tconst resObj = await this.searchPlace(keyword, cityInfo.name, type);\n\t\t\tconst cityList = [];\n\t\t\tresObj.data.forEach((item, index) => {\n\t\t\t\tcityList.push({\n\t\t\t\t\tname: item.title,\n\t\t\t\t\taddress: item.address,\n\t\t\t\t\tlatitude: item.location.lat,\n\t\t\t\t\tlongitude: item.location.lng,\n\t\t\t\t\tgeohash: item.location.lat + ',' + item.location.lng,\n\t\t\t\t})\n\t\t\t});\n\t\t\tres.send(cityList);\n\t\t}catch(err){\n\t\t\tres.send({\n\t\t\t\tname: 'GET_ADDRESS_ERROR',\n\t\t\t\tmessage: '获取地址信息失败',\n\t\t\t});\n\t\t}\n\t}\n}\n\nexport default new SearchPlace();"
  },
  {
    "path": "controller/v2/entry.js",
    "content": "'use strict';\n\nimport EntryModel from '../../models/v2/entry'\n\nclass Entry {\n\tconstructor(){\n\n\t}\n\tasync getEntry(req, res, next){\n\t\ttry{\n\t\t\tconst entries = await EntryModel.find({}, '-_id');\n\t\t\tres.send(entries);\n\t\t}catch(err){\n\t\t\tconsole.log('获取数据失败');\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_DATA',\n\t\t\t\tmessage: '获取数据失败'\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t}\n}\n\nexport default new Entry()"
  },
  {
    "path": "controller/v2/user.js",
    "content": "'use strict';\n\nimport AddressComponent from '../../prototype/addressComponent'\nimport formidable from 'formidable'\nimport UserInfoModel from '../../models/v2/userInfo'\nimport UserModel from '../../models/v2/user'\nimport crypto from 'crypto'\nimport dtime from 'time-formater'\n\nclass User extends AddressComponent {\n\tconstructor(){\n\t\tsuper()\n\t\tthis.login = this.login.bind(this);\n\t\tthis.encryption = this.encryption.bind(this);\n\t\tthis.chanegPassword = this.chanegPassword.bind(this);\n\t\tthis.updateAvatar = this.updateAvatar.bind(this);\n\t}\n\tasync login(req, res, next){\n\t\tconst cap = req.cookies.cap;\n\t\tif (!cap) {\n\t\t\tconsole.log('验证码失效')\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_CAPTCHA',\n\t\t\t\tmessage: '验证码失效',\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\tconst {username, password, captcha_code} = fields;\n\t\t\ttry{\n\t\t\t\tif (!username) {\n\t\t\t\t\tthrow new Error('用户名参数错误');\n\t\t\t\t}else if(!password){\n\t\t\t\t\tthrow new Error('密码参数错误');\n\t\t\t\t}else if(!captcha_code){\n\t\t\t\t\tthrow new Error('验证码参数错误');\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('登陆参数错误', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_QUERY',\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (cap.toString() !== captcha_code.toString()) {\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_CAPTCHA',\n\t\t\t\t\tmessage: '验证码不正确',\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst newpassword = this.encryption(password);\n\t\t\ttry{\n\t\t\t\tconst user = await UserModel.findOne({username});\n\t\t\t\t//创建一个新的用户\n\t\t\t\tif (!user) {\n\t\t\t\t\tconst user_id = await this.getId('user_id');\n\t\t\t\t\tconst cityInfo = await this.guessPosition(req);\n\t\t\t\t\tconst registe_time = dtime().format('YYYY-MM-DD HH:mm');\n\t\t\t\t\tconst newUser = {username, password: newpassword, user_id};\n\t\t\t\t\tconst newUserInfo = {username, user_id, id: user_id, city: cityInfo.city, registe_time, };\n\t\t\t\t\tUserModel.create(newUser);\n\t\t\t\t\tconst createUser = new UserInfoModel(newUserInfo);\n\t\t\t\t\tconst userinfo = await createUser.save();\n\t\t\t\t\treq.session.user_id = user_id;\n\t\t\t\t\tres.send(userinfo);\n\t\t\t\t}else if (user.password.toString() !== newpassword.toString()) {\n\t\t\t\t\tconsole.log('用户登录密码错误')\n\t\t\t\t\tres.send({\n\t\t\t\t\t\tstatus: 0,\n\t\t\t\t\t\ttype: 'ERROR_PASSWORD',\n\t\t\t\t\t\tmessage: '密码错误',\n\t\t\t\t\t})\n\t\t\t\t\treturn \n\t\t\t\t}else{\n\t\t\t\t\treq.session.user_id = user.user_id;\n\t\t\t\t\tconst userinfo = await UserInfoModel.findOne({user_id: user.user_id}, '-_id');\n\t\t\t\t\tres.send(userinfo) \n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('用户登陆失败', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'SAVE_USER_FAILED',\n\t\t\t\t\tmessage: '登陆失败',\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\tasync getInfo(req, res, next){\n\t\tconst sid = req.session.user_id;\n\t\tconst qid = req.query.user_id;\n\t\tconst user_id = sid || qid;\n\t\tif (!user_id || !Number(user_id)) {\n\t\t\t// console.log('获取用户信息的参数user_id无效', user_id)\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_USER_INFO_FAIELD',\n\t\t\t\tmessage: '通过session获取用户信息失败',\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\ttry{\n\t\t\tconst userinfo = await UserInfoModel.findOne({user_id}, '-_id');\n\t\t\tres.send(userinfo) \n\t\t}catch(err){\n\t\t\tconsole.log('通过session获取用户信息失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_USER_INFO_FAIELD',\n\t\t\t\tmessage: '通过session获取用户信息失败',\n\t\t\t})\n\t\t}\n\t}\n\tasync getInfoById(req, res, next){\n\t\tconst user_id = req.params.user_id;\n\t\tif (!user_id || !Number(user_id)) {\n\t\t\tconsole.log('通过ID获取用户信息失败')\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_USER_INFO_FAIELD',\n\t\t\t\tmessage: '通过用户ID获取用户信息失败',\n\t\t\t})\n\t\t\treturn \n\t\t}\n\t\ttry{\n\t\t\tconst userinfo = await UserInfoModel.findOne({user_id}, '-_id');\n\t\t\tres.send(userinfo) \n\t\t}catch(err){\n\t\t\tconsole.log('通过用户ID获取用户信息失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_USER_INFO_FAIELD',\n\t\t\t\tmessage: '通过用户ID获取用户信息失败',\n\t\t\t})\n\t\t}\n\t}\n\tasync signout(req, res, next){\n\t\tdelete req.session.user_id;\n\t\tres.send({\n\t\t\tstatus: 1,\n\t\t\tmessage: '退出成功'\n\t\t})\n\t}\n\tasync chanegPassword(req, res, next){\n\t\tconst cap = req.cookies.cap;\n\t\tif (!cap) {\n\t\t\tconsole.log('验证码失效')\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_CAPTCHA',\n\t\t\t\tmessage: '验证码失效',\n\t\t\t})\n\t\t\treturn\n\t\t}\n\t\tconst form = new formidable.IncomingForm();\n\t\tform.parse(req, async (err, fields, files) => {\n\t\t\tconst {username, oldpassWord, newpassword, confirmpassword, captcha_code} = fields;\n\t\t\ttry{\n\t\t\t\tif (!username) {\n\t\t\t\t\tthrow new Error('用户名参数错误');\n\t\t\t\t}else if(!oldpassWord){\n\t\t\t\t\tthrow new Error('必须添加旧密码');\n\t\t\t\t}else if(!newpassword){\n\t\t\t\t\tthrow new Error('必须填写新密码');\n\t\t\t\t}else if(!confirmpassword){\n\t\t\t\t\tthrow new Error('必须填写确认密码');\n\t\t\t\t}else if(newpassword !== confirmpassword){\n\t\t\t\t\tthrow new Error('两次密码不一致');\n\t\t\t\t}else if(!captcha_code){\n\t\t\t\t\tthrow new Error('请填写验证码');\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('修改密码参数错误', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_QUERY',\n\t\t\t\t\tmessage: err.message,\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tif (cap.toString() !== captcha_code.toString()) {\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_CAPTCHA',\n\t\t\t\t\tmessage: '验证码不正确',\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t\tconst md5password = this.encryption(oldpassWord);\n\t\t\ttry{\n\t\t\t\tconst user = await UserModel.findOne({username});\n\t\t\t\tif (!user) {\n\t\t\t\t\tres.send({\n\t\t\t\t\t\tstatus: 0,\n\t\t\t\t\t\ttype: 'USER_NOT_FOUND',\n\t\t\t\t\t\tmessage: '未找到当前用户',\n\t\t\t\t\t})\n\t\t\t\t}else if(user.password.toString() !== md5password.toString()){\n\t\t\t\t\tres.send({\n\t\t\t\t\t\tstatus: 0,\n\t\t\t\t\t\ttype: 'ERROR_PASSWORD',\n\t\t\t\t\t\tmessage: '密码不正确',\n\t\t\t\t\t})\n\t\t\t\t}else{\n\t\t\t\t\tuser.password = this.encryption(newpassword);\n\t\t\t\t\tuser.save();\n\t\t\t\t\tres.send({\n\t\t\t\t\t\tstatus: 1,\n\t\t\t\t\t\tsuccess: '密码修改成功',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}catch(err){\n\t\t\t\tconsole.log('修改密码失败', err);\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'ERROR_CHANGE_PASSWORD',\n\t\t\t\t\tmessage: '修改密码失败',\n\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n\tencryption(password){\n\t\tconst newpassword = this.Md5(this.Md5(password).substr(2, 7) + this.Md5(password));\n\t\treturn newpassword\n\t}\n\tMd5(password){\n\t\tconst md5 = crypto.createHash('md5');\n\t\treturn md5.update(password).digest('base64');\n\t}\n\tasync getUserList(req, res, next){\n\t\tconst {limit = 20, offset = 0} = req.query;\n\t\ttry{\n\t\t\tconst users = await UserInfoModel.find({}, '-_id').sort({user_id: -1}).limit(Number(limit)).skip(Number(offset));\n\t\t\tres.send(users);\n\t\t}catch(err){\n\t\t\tconsole.log('获取用户列表数据失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'GET_DATA_ERROR',\n\t\t\t\tmessage: '获取用户列表数据失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getUserCount(req, res, next){\n\t\ttry{\n\t\t\tconst count = await UserInfoModel.count();\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tcount,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('获取用户数量失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_TO_GET_USER_COUNT',\n\t\t\t\tmessage: '获取用户数量失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync updateAvatar(req, res, next){\n\t\tconst sid = req.session.user_id;\n\t\tconst pid = req.params.user_id;\n\t\tconst user_id = sid || pid;\n\t\tif (!user_id || !Number(user_id)) {\n\t\t\tconsole.log('更新头像，user_id错误', user_id)\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_USERID',\n\t\t\t\tmessage: 'user_id参数错误',\n\t\t\t})\n\t\t\treturn \n\t\t}\n\n\t\ttry{\n\t\t\tconst image_path = await this.getPath(req);\n\t\t\tawait UserInfoModel.findOneAndUpdate({user_id}, {$set: {avatar: image_path}});\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\timage_path,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('上传图片失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_UPLOAD_IMG',\n\t\t\t\tmessage: '上传图片失败'\n\t\t\t})\n\t\t}\n\t}\n\tasync getUserCity(req, res, next){\n\t\tconst cityArr = ['北京', '上海', '深圳', '杭州'];\n\t\tconst filterArr = [];\n\t\tcityArr.forEach(item => {\n\t\t\tfilterArr.push(UserInfoModel.find({city: item}).count())\n\t\t})\n\t\tfilterArr.push(UserInfoModel.$where('!\"北京上海深圳杭州\".includes(this.city)').count())\n\t\tPromise.all(filterArr).then(result => {\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\tuser_city: {\n\t\t\t\t\tbeijing: result[0],\n\t\t\t\t\tshanghai: result[1],\n\t\t\t\t\tshenzhen: result[2],\n\t\t\t\t\thangzhou: result[3],\n\t\t\t\t\tqita: result[4],\n\t\t\t\t}\n\t\t\t})\n\t\t}).catch(err => {\n\t\t\tconsole.log('获取用户分布城市数据失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_USER_CITY',\n\t\t\t\tmessage: '获取用户分布城市数据失败'\n\t\t\t})\n\t\t})\n\t}\n} \n\nexport default new User()"
  },
  {
    "path": "controller/v3/explain.js",
    "content": "'use strict';\n\nimport ExplainModel from '../../models/v3/explain'\n\nclass Explain {\n\tconstructor(){\n\n\t}\n\tasync getExpalin(req, res, next){\n\t\ttry{\n\t\t\tconst explain = await ExplainModel.findOne();\n\t\t\tres.send(explain.data)\n\t\t}catch(err){\n\t\t\tconsole.log('获取服务中心数据失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_GET_SERVER_DATA',\n\t\t\t\tmessage: '获取服务中心数据失败'\n\t\t\t})\n\t\t}\n\t}\n}\n\nexport default new Explain()"
  },
  {
    "path": "ecosystem.config.js",
    "content": "module.exports = {\n  apps : [{\n    name: 'node-elm',\n    script: 'index.js',\n    instances: 1 ,\n    autorestart: true,\n    watch: false,\n    max_memory_restart: '1G',\n    output: 'logs/out.log',\n    error: 'logs/error.log',\n    log: 'logs/combined.outerr.log',\n    env: {\n      NODE_ENV: 'development'\n    },\n    env_production: {\n      NODE_ENV: 'production',\n      HOST: '0.0.0.0',\n      PORT: 8001,\n    }\n  }],\n  deploy: {\n    production: {\n      user: 'root',\n      host: ['139.224.234.213'],\n      port: '22',\n      ref : 'origin/master',\n      repo: 'git@github.com:bailicangdu/node-elm.git',\n      path: '/root/mygit/node-elm',\n      'ssh_options': 'StrictHostKeyChecking=no',\n      'post-deploy': 'npm install && pm2 reload ecosystem.config.js --env production',\n    }\n  }\n};\n"
  },
  {
    "path": "index.js",
    "content": "require('babel-core/register');\nrequire('./app.js');"
  },
  {
    "path": "logs/.gitignore",
    "content": "# Ignore everything in this directory\n*\n# Except this file\n!.gitignore"
  },
  {
    "path": "middlewares/check.js",
    "content": "'use strict';\n\nimport AdminModel from '../models/admin/admin'\n\nclass Check {\n\tconstructor(){\n\t\t\n\t}\n\tasync checkAdmin(req, res, next){\n\t\tconst admin_id = req.session.admin_id;\n\t\tif (!admin_id || !Number(admin_id)) {\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_SESSION',\n\t\t\t\tmessage: '亲，您还没有登录',\n\t\t\t})\n\t\t\treturn\n\t\t}else{\n\t\t\tconst admin = await AdminModel.findOne({id: admin_id});\n\t\t\tif (!admin) {\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'HAS_NO_ACCESS',\n\t\t\t\t\tmessage: '亲，您还不是管理员',\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tnext()\n\t}\n\tasync checkSuperAdmin(req, res, next){\n\t\tconst admin_id = req.session.admin_id;\n\t\tif (!admin_id || !Number(admin_id)) {\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_SESSION',\n\t\t\t\tmessage: '亲，您还没有登录',\n\t\t\t})\n\t\t\treturn\n\t\t}else{\n\t\t\tconst admin = await AdminModel.findOne({id: admin_id});\n\t\t\tif (!admin || admin.status != 2) {\n\t\t\t\tres.send({\n\t\t\t\t\tstatus: 0,\n\t\t\t\t\ttype: 'HAS_NO_ACCESS',\n\t\t\t\t\tmessage: '亲，您的权限不足',\n\t\t\t\t})\n\t\t\t\treturn\n\t\t\t}\n\t\t}\n\t\tnext()\n\t}\n}\n\nexport default new Check()"
  },
  {
    "path": "middlewares/history.js",
    "content": "// 'use strict'\n\n// export default (req, res, next) => {\n// \tif ((/manage/gi).test(req.url)) {\n// \t\tres.sendFile(__dirname + '/public/manage/index.html')\n// \t}else{\n// \t\tres.sendFile(__dirname + '/public/elm/index.html')\n// \t}\n// }"
  },
  {
    "path": "middlewares/statistic.js",
    "content": "'use strict';\n\nimport BaseComponent from '../prototype/baseComponent'\nimport StatisModel from '../models/statis/statis'\nimport dtime from 'time-formater'\n\nclass Statistic extends BaseComponent {\n\tconstructor(){\n\t\tsuper()\n\t\tthis.apiRecord = this.apiRecord.bind(this)\n\t}\n\tasync apiRecord(req, res, next){\n\t\ttry{\n\t\t\tconst statis_id = await this.getId('statis_id')\n\t\t\tconst apiInfo = {\n\t\t\t\tdate: dtime().format('YYYY-MM-DD'),\n\t\t\t\torigin: req.headers.origin,\n\t\t\t\tid: statis_id,\n\t\t\t}\n\t\t\tStatisModel.create(apiInfo)\n\t\t}catch(err){\n\t\t\tconsole.log('API记录出错', err);\n\t\t}\n\t\tnext()\n\t}\n}\n\nexport default new Statistic()"
  },
  {
    "path": "middlewares/w2-proxy",
    "content": ""
  },
  {
    "path": "models/admin/admin.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst adminSchema = new Schema({\n\tuser_name: String,\n\tpassword: String,\n\tid: Number,\n\tcreate_time: String,\n\tadmin: {type: String, default: '管理员'},\n\tstatus: Number,  //1:普通管理、 2:超级管理员\n\tavatar: {type: String, default: 'default.jpg'},\n\tcity: String,\n})\n\nadminSchema.index({id: 1});\n\nconst Admin = mongoose.model('Admin', adminSchema);\n\n\nexport default Admin\n"
  },
  {
    "path": "models/bos/order.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst orderSchema = new Schema({\n\tbasket: {\n\t\tabandoned_extra: [\n\t\t\t{\n\t\t\t\tcategory_id: Number,\n\t\t\t\tname: {type: String, default: ''},\n\t\t\t\tprice: {type: Number, default: 0},\n\t\t\t\tquantity: {type: Number, default: 0},\n\t\t\t}\n\t\t],\n\t\tdeliver_fee: {\n\t\t\tcategory_id: {type: Number, default: 2},\n\t\t\tname: {type: String, default: '配送费'},\n\t\t\tprice: {type: Number, default: 4},\n\t\t\tquantity: {type: Number, default: 1},\n\t\t},\n\t\textra: [],\n\t\tgroup: [\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tattrs: [],\n\t\t\t\t\tnew_specs: [],\n\t\t\t\t\tname: String,\n\t\t\t\t\tprice: Number,\n\t\t\t\t\tquantity: Number,\n\t\t\t\t\tspecs: [String]\n\t\t\t\t}\n\t\t\t]\n\t\t],\n\t\tpacking_fee: {\n\t\t\tcategory_id: {type: Number, default: 1},\n\t\t\tname: {type: String, default: '餐盒'},\n\t\t\tprice: Number,\n\t\t\tquantity: Number\n\t\t},\n\t\tpindan_map: []\n\t},\n\tformatted_created_at: String,\n\torder_time: Number,\n\ttime_pass: Number,\n\tid: Number,\n\tis_brand: {type: Number, default: 0},\n\tis_deletable: {type: Number, default: 1},\n\tis_new_pay: {type: Number, default: 1},\n\tis_pindan: {type: Number, default: 0},\n\toperation_confirm: {type: Number, default: 0},\n\toperation_pay: {type: Number, default: 0},\n\toperation_rate: {type: Number, default: 0},\n\toperation_rebuy: {type: Number, default: 2},\n\toperation_upload_photo: {type: Number, default: 0},\n\tpay_remain_seconds: {type: Number, default: 0},\n\trated_point: {type: Number, default: 0},\n\tremind_reply_count: {type: Number, default: 0},\n\trestaurant_id: Number,\n\trestaurant_image_hash: String,\n\trestaurant_image_url: String,\n\trestaurant_name: String,\n\trestaurant_type: {type: Number, default: 0},\n\tstatus_bar: {\n\t\tcolor: String,\n\t\timage_type: String,\n\t\tsub_title: String,\n\t\ttitle: String,\n\t},\n\tstatus_code: {type: Number, default: 0},\n\ttimeline_node: {\n\t\tactions: [],\n\t\tdescription: String,\n\t\tin_processing: {type: Number, default: 0},\n\t\tsub_description: String,\n\t\ttitle: String,\n\t},\n\ttop_show: {type: Number, default: 0},\n\ttotal_amount: Number,\n\ttotal_quantity: Number,\n\tunique_id: Number,\n\tuser_id: Number,\n\taddress_id: Number,\n})\n\norderSchema.index({id: 1});\n\nconst Order = mongoose.model('Order', orderSchema);\n\nexport default Order"
  },
  {
    "path": "models/ids.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst idsSchema = new mongoose.Schema({\n\trestaurant_id: Number,\n\tfood_id: Number,\n\torder_id: Number,\n\tuser_id: Number,\n\taddress_id: Number,\n\tcart_id: Number,\n\timg_id: Number,\n\tcategory_id: Number,\n\titem_id: Number,\n\tsku_id: Number, \n\tadmin_id: Number,\n\tstatis_id: Number,\n});\n\nconst Ids = mongoose.model('Ids', idsSchema);\n\nIds.findOne((err, data) => {\n\tif (!data) {\n\t\tconst newIds = new Ids({\n\t\t\trestaurant_id: 0,\n\t\t\tfood_id: 0,\n\t\t\torder_id: 0,\n\t\t\tuser_id: 0,\n\t\t\taddress_id: 0,\n\t\t\tcart_id: 0,\n\t\t\timg_id: 0,\n\t\t\tcategory_id: 0,\n\t\t\titem_id: 0,\n\t\t\tsku_id: 0, \n\t\t\tadmin_id: 0,\n\t\t\tstatis_id: 0,\n\t\t});\n\t\tnewIds.save();\n\t}\n})\nexport default Ids"
  },
  {
    "path": "models/promotion/hongbao.js",
    "content": "'use strict'\n\nimport mongoose from 'mongoose'\nimport hongbaoData from '../../InitData/hongbao'\n\nconst Schema = mongoose.Schema;\n\nconst hongbaoSchema = new Schema({\n\tid: Number,\n\tsn: String,\n\tuser_id: Number,\n\tamount: Number,\n\tsum_condition: Number,\n\tname: String,\n\tphone: String,\n\tbegin_date: String,\n\tend_date: String,\n\tdescription_map: {\n\t\tphone: String,\n\t\tonline_paid_only: String,\n\t\tvalidity_delta: String,\n\t\tvalidity_periods: String,\n\t\tsum_condition: String\n\t},\n\tlimit_map: {},\n\tstatus: Number,\n\tpresent_status: Number,\n\tshare_status: Number,\n})\n\nhongbaoSchema.index({id: 1});\n\nconst Hongbao = mongoose.model('Hongbao', hongbaoSchema);\n\nHongbao.findOne((err, data) => {\n\tif (!data) {\n\t\thongbaoData.forEach(item => {\n\t\t\tHongbao.create(item)\n\t\t})\n\t}\n})\n\nexport default  Hongbao"
  },
  {
    "path": "models/shopping/activity.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\nimport activityData from '../../InitData/activity'\n\nconst Schema = mongoose.Schema;\n\nconst activitySchema = new Schema({\n\tdescription: String,\n\ticon_color: String,\n\ticon_name: String,\n\tid: Number,\n\tname: String,\n\tranking_weight: Number\n})\n\nactivitySchema.index({index: 1});\n\nconst Activity = mongoose.model('Activity', activitySchema);\n\nActivity.findOne((err, data) => {\n\tif (!data) {\n\t\tactivityData.forEach(item => {\n\t\t\tActivity.create(item);\n\t\t})\n\t}\n})\n\nexport default Activity"
  },
  {
    "path": "models/shopping/category.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\nimport categoryData from '../../InitData/category'\n\nconst Schema = mongoose.Schema;\n\nconst categorySchema = new Schema({\n\tcount: Number,\n\tid: Number,\n\tids: [],\n\timage_url: String,\n\tlevel: Number,\n\tname: String,\n\tsub_categories: [\n\t\t{\n\t\t\tcount: Number,\n\t\t\tid: Number,\n\t\t\timage_url: String,\n\t\t\tlevel: Number,\n\t\t\tname: String\n\t\t},\n\t]\n});\n\ncategorySchema.statics.addCategory = async function (type){\n\tconst categoryName = type.split('/');\n\ttry{\n\t\tconst allcate = await this.findOne();\n\t\tconst subcate = await this.findOne({name: categoryName[0]});\n\t\tallcate.count ++;\n\t\tsubcate.count ++ ;\n\t\tsubcate.sub_categories.map(item => {\n\t\t\tif (item.name == categoryName[1]) {\n\t\t\t\treturn item.count ++ \n\t\t\t}\n\t\t})\n\t\tawait allcate.save();\n\t\tawait subcate.save();\n\t\tconsole.log('保存cetegroy成功');\n\t\treturn\n\t}catch(err){\n\t\tconsole.log('保存cetegroy失败');\n\t\tthrow new Error(err)\n\t}\n}\n\nconst Category = mongoose.model('Category', categorySchema)\n\nCategory.findOne((err, data) => {\n\tif (!data) {\n\t\tfor (let i = 0; i < categoryData.length; i++) {\n\t\t\tCategory.create(categoryData[i]);\n\t\t}\n\t}\n})\n\nexport default Category"
  },
  {
    "path": "models/shopping/delivery.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\nimport deliveryData from '../../InitData/delivery'\n\nconst Schema = mongoose.Schema;\n\nconst DeliverySchema = new Schema({\n\tcolor: String,\n\tid: Number,\n\tis_solid: Boolean,\n\ttext: String\n})\n\nDeliverySchema.index({id: 1});\n\nconst Delivery = mongoose.model('Delivery', DeliverySchema);\n\nDelivery.findOne((err, data) => {\n\tif (!data) {\n\t\tDelivery.create(deliveryData);\n\t}\n})\n\nexport default Delivery\n"
  },
  {
    "path": "models/shopping/food.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\nconst Schema = mongoose.Schema;\n\nconst foodSchema = new Schema({\n\trating: {type: Number, default: 0},\n\tis_featured: {type: Number, default: 0},\n\trestaurant_id: {type: Number, isRequired: true},\n\tcategory_id: {type: Number, isRequired: true},\n\tpinyin_name: {type: String, default: ''},\n\tdisplay_times: {type: Array, default: []},\n\tattrs: {type: Array, default: []},\n\tdescription: {type: String, default: \"\"},\n\tmonth_sales: {type: Number, default: 0},\n\trating_count: {type: Number, default: 0},\n\ttips: String,\n\timage_path: String,\n\tspecifications: [Schema.Types.Mixed],\n\tserver_utc: {type: Date, default: Date.now()},\n\tis_essential: {type: Boolean, default: false},\n\tattributes: {type: Array, default: []},\n\titem_id: {type: Number, isRequired: true},\n\tlimitation: Schema.Types.Mixed,\n\tname: {type: String, isRequired: true},\n\tsatisfy_count: {type: Number, default: 0},\n\tactivity: Schema.Types.Mixed,\n\tsatisfy_rate: {type: Number, default: 0},\n\tspecfoods: [{\n\t\toriginal_price: {type: Number, default: 0},\n\t\tsku_id: {type: Number, isRequired: true},\n\t\tname: {type: String, isRequired: true},\n\t\tpinyin_name: {type: String, default: \"\"},\n\t\trestaurant_id: {type: Number, isRequired: true},\n\t\tfood_id: {type: Number, isRequired: true},\n\t\tpacking_fee: {type: Number, default: 0},\n\t\trecent_rating: {type: Number, default: 0},\n\t\tpromotion_stock: {type: Number, default: -1},\n\t\tprice: {type: Number, default: 0},\n\t\tsold_out: {type: Boolean, default: false},\n\t\trecent_popularity: {type: Number, default: 0},\n\t\tis_essential: {type: Boolean, default: false},\n\t\titem_id: {type: Number, isRequired: true},\n\t\tcheckout_mode: {type: Number, default: 1},\n\t\tstock: {type: Number, default: 1000},\n\t\tspecs_name: String,\n\t\tspecs: [\n\t\t\t{\n\t\t\t\tname: String,\n\t\t\t\tvalue: String\n\t\t\t}\n\t\t]\n\t}]\n})\n\nfoodSchema.index({item_id: 1});\n\nconst menuSchema = new Schema({\n\tdescription: String,\n\tis_selected: {type: Boolean, default: true},\n\ticon_url: {type: String, default: ''},\n\tname: {type: String, isRequired: true},\n\tid:  {type: Number, isRequired: true},\n\trestaurant_id: {type: Number, isRequired: true},\n\ttype: {type: Number, default: 1},\n\tfoods: [foodSchema]\n});\n\nmenuSchema.index({ id: 1 });\n\nconst Food = mongoose.model('Food', foodSchema);\n\nconst Menu = mongoose.model('Menu', menuSchema);\n\nexport {Food, Menu}"
  },
  {
    "path": "models/shopping/shop.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst shopSchema = new mongoose.Schema({\n\tactivities: [{\n\t\tdescription: String,\n\t\ticon_color: String,\n\t\ticon_name: String,\n\t\tid: Number,\n\t\tname: String,\n\t}],\n\taddress: String,\n\tdelivery_mode: {\n\t\tcolor: String,\n\t\tid: Number,\n\t\tis_solid: Boolean,\n\t\ttext: String\n\t},\n\tdescription: { type: String, default: \"\" },\n\torder_lead_time: { type: String, default: \"\" },\n\tdistance: { type: String, default: \"\" },\n\tlocation:{type:[Number],index: '2d'},\n\tfloat_delivery_fee: { type: Number, default: 0 },\n\tfloat_minimum_order_amount: { type: Number, default: 0 },\n\tid: Number,\n\tcategory: String,\n\tidentification: {\n\t\tcompany_name: { type: String, default: \"\" },\n\t\tidentificate_agency: { type: String, default: \"\" },\n\t\tidentificate_date: { type: Date, default: Date.now },\n\t\tlegal_person: { type: String, default: \"\" },\n\t\tlicenses_date: { type: String, default: \"\" },\n\t\tlicenses_number: { type: String, default: \"\" },\n\t\tlicenses_scope: { type: String, default: \"\" },\n\t\toperation_period: { type: String, default: \"\" },\n\t\tregistered_address: { type: String, default: \"\" },\n\t\tregistered_number: { type: String, default: \"\" },\n\t},\n\timage_path: { type: String, default: \"\" },\n\tis_premium: { type: Boolean, default: false },\n\tis_new: { type: Boolean, default: false },\n\tlatitude: Number,\n\tlongitude: Number,\n\tlicense: {\n\t\tbusiness_license_image: { type: String, default: \"\" },\n\t\tcatering_service_license_image: { type: String, default: \"\" },\n\t},\n\tname: {\n        type: String,\n        required: true \n    },\n\topening_hours: { type: Array, default: [\"08:30/20:30\"] },\n\tphone: {\n        type: String,\n        required: true \n    },\n\tpiecewise_agent_fee: {\n\t\ttips: String\n\t},\n\tpromotion_info: { type: String, default: \"欢迎光临，用餐高峰请提前下单，谢谢\" },\n\trating: { type: Number, default: 0 },\n\trating_count: { type: Number, default: 0 },\n\trecent_order_num: { type: Number, default: 0 },\n\tstatus: { type: Number, default: 0 },\n\tsupports: [{\n\t\tdescription: String,\n\t\ticon_color: String,\n\t\ticon_name: String,\n\t\tid: Number,\n\t\tname: String\n\t}],\n});\n\nshopSchema.index({ id: 1 }); //primary_key 主键\n\nconst Shop = mongoose.model('Shop', shopSchema);\n\nexport default Shop"
  },
  {
    "path": "models/statis/statis.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema  = mongoose.Schema;\n\nconst statisSchema = new Schema({\n\tdate: String,\n\torigin: String,\n\tid: Number,\n})\n\nstatisSchema.index({id: 1})\n\nconst Statis = mongoose.model('Statis', statisSchema)\n\nexport default Statis"
  },
  {
    "path": "models/ugc/rating.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\nimport {ratingList, scores, tags} from '../../InitData/rate'\nconst Schema = mongoose.Schema;\n\nconst rateSchema = new Schema({\n\trestaurant_id: Number,\n\tratings: [\n\t\t{\n\t\t\tavatar: {type: String, default: ''},\n\t\t\thighlights: [],\n\t\t\titem_ratings: [\n\t\t\t\t{\n\t\t\t\t\tfood_id: Number,\n\t\t\t\t\tfood_name: String,\n\t\t\t\t\timage_hash: {type: String, default: ''},\n\t\t\t\t\tis_valid: {type: Number, default: 1},\n\t\t\t\t},\n\t\t\t],\n\t\t\trated_at: String,\n\t\t\trating_star: Number,\n\t\t\trating_text: String,\n\t\t\ttags: {type: Array, default: []},\n\t\t\ttime_spent_desc: String,\n\t\t\tusername: {type: String, default: \"匿名用户\"},\n\t\t},\n\t],\n\tscores: {\n\t\tcompare_rating: {type: Number, default: 0},\n\t\tdeliver_time: {type: Number, default: 0},\n\t\tfood_score: {type: Number, default: 0},\n\t\torder_rating_amount: {type: Number, default: 0},\n\t\toverall_score: {type: Number, default: 0},\n\t\tservice_score: {type: Number, default: 0},\n\t},\n\ttags: [{\n\t\tcount: {type: Number, default: 0},\n\t\tname: String,\n\t\tunsatisfied: {type: Boolean, default: false},\n\t}]\n})\n\nrateSchema.index({restaurant_id: 1});\n\nrateSchema.statics.initData = async function (restaurant_id){\n\ttry{\n\t\tconst data = await this.findOne({restaurant_id});\n\t\tif (!data) {\n\t\t\tconst newRating = {\n\t\t\t\trestaurant_id,\n\t\t\t\tratings: ratingList,\n\t\t\t\tscores,\n\t\t\t\ttags,\n\t\t\t}\n\t\t\tawait this.create(newRating);\n\t\t\treturn true\n\t\t}else{\n\t\t\treturn false\n\t\t}\n\t}catch(err){\n\t\tconsole.log('初始化评论数据失败');\n\t\tthrow new Error(err)\n\t}\n}\n\nrateSchema.statics.getData = async function (restaurant_id, type){\n\ttry{\n\t\tconst data = await this.findOne({restaurant_id}, '-_id');\n\t\tif (!data) {\n\t\t\tthrow new Error('未找到当前餐馆的评论数据');\n\t\t}else{\n\t\t\treturn data[type]\n\t\t}\n\t}catch(err){\n\t\tconsole.log('初始化评论数据失败');\n\t\tthrow new Error(err)\n\t}\n}\n\nconst Rating = mongoose.model('Rating', rateSchema);\n\n\n\nexport default Rating"
  },
  {
    "path": "models/v1/address.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst addressSchema = new Schema({\n\tid: Number,\n\taddress: String,\n\tphone: String,\n\tuser_id: Number,\n\tis_valid: {type: Number, default: 1},\n\tcreated_at: {type: Date, default: Date.now()},\n\tphone_bk: String,\n\ttag_type: Number,\n\tname: String,\n\tst_geohash: String,\n\taddress_detail: String,\n\tpoi_type: {type: Number, default: 0},\n\tsex: {type: Number, default: 1},\n\tcity_id: {type: Number, default: 1},\n\ttag: {type: String, default: '家'},\n\tis_user_default: {type: Boolean, default: true},\n\tis_deliverable: {type: Boolean, default: true},\n\tagent_fee: {type: Number, default: 0},\n\tdeliver_amount: {type: Number, default: 0},\n\tphone_had_bound: {type: Boolean, default: true},\n})\n\naddressSchema.index({id: 1});\n\nconst Address = mongoose.model('Address', addressSchema);\n\nexport default Address"
  },
  {
    "path": "models/v1/cart.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst cartSchema = Schema({\n\tid: Number,\n\tcart: {\n\t\tid: Number,\n\t\tgroups: [\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\tattrs: [],\n\t\t\t\t\textra: [],\n\t\t\t\t\tid: Number,\n\t\t\t\t\tnew_specs: [],\n\t\t\t\t\tname: String,\n\t\t\t\t\tprice: Number,\n\t\t\t\t\tquantity: Number,\n\t\t\t\t\tspecs: [String],\n\t\t\t\t\tpacking_fee: Number,\n\t\t\t\t\tsku_id: Number,\n\t\t\t\t\tstock: Number,\n\t\t\t\t}\n\t\t\t]\n\t\t],\n\t\textra: [{\n\t\t\tdescription: String,\n\t\t\tname: {type: String, default: '餐盒'},\n\t\t\tprice: {type: Number, default: 0},\n\t\t\tquantity: {type: Number, default: 0},\n\t\t\ttype: {type: Number, default: 0},\n\t\t}],\n\t\tdeliver_amount: Number,\n\t\tdeliver_time: String,\n\t\tdiscount_amount: String,\n\t\tdist_info: String,\n\t\tis_address_too_far: {type: Boolean, default: false},\n\t\tis_deliver_by_fengniao: Boolean,\n\t\tis_online_paid: {type: Number, default: 1},\n\t\tis_ontime_available: {type: Number, default: 0},\n\t\tmust_new_user: {type: Number, default: 0},\n\t\tmust_pay_online: {type: Number, default: 0},\n\t\tontime_status: {type: Number, default: 0},\n\t\tontime_unavailable_reason: String,\n\t\toriginal_total: Number,\n\t\tphone: String,\n\t\tpromise_delivery_time: {type: Number, default: 0},\n\t\trestaurant_id: Number,\n\t\trestaurant_info: Schema.Types.Mixed,\n\t\trestaurant_minimum_order_amount: Number,\n\t\trestaurant_name_for_url: String,\n\t\trestaurant_status: {type: Number, default: 1},\n\t\tservice_fee_explanation: {type: Number, default: 0},\n\t\ttotal: Number,\n\t\tuser_id: Number,\n\t},\n\tdelivery_reach_time: String,\n\tinvoice: {\n\t\tis_available: {type: Boolean, default: false},\n\t\tstatus_text: String,\n\t},\n\tsig: String,\n\tcurrent_address: {},\n\tpayments: [{\n\t\tdescription: String,\n\t\tdisabled_reason: String,\n\t\tid: Number,\n\t\tis_online_payment: {type: Boolean, default: true},\n\t\tname: String,\n\t\tpromotion:[],\n\t\tselect_state: Number,\n\t}],\n\tdeliver_times: [],\n\tdeliver_times_v2: [],\n\tmerchant_coupon_info: {},\n\tnumber_of_meals: {},\n\tdiscount_rule: {},\n\thongbao_info: {},\n\tis_support_coupon: {type: Boolean, default: false},\n\tis_support_ninja: {type: Number, default: 1},\n})\n\ncartSchema.index({id: 1});\n\nconst Cart = mongoose.model('Cart', cartSchema);\n\nexport default Cart"
  },
  {
    "path": "models/v1/cities.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose';\nimport cityData from '../../InitData/cities'\n\nconst citySchema = new mongoose.Schema({\n\tdata: {}\n});\n\ncitySchema.statics.cityGuess = function(name){\n\treturn new Promise(async (resolve, reject) => {\n\t\tconst firtWord = name.substr(0,1).toUpperCase();\n\t\ttry{\n\t\t\tconst city = await this.findOne();\n\t\t\tObject.entries(city.data).forEach(item => {\n\t\t\t\tif(item[0] == firtWord){\n\t\t\t\t\titem[1].forEach(cityItem => {\n\t\t\t\t\t\tif (cityItem.pinyin == name) {\n\t\t\t\t\t\t\tresolve(cityItem)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t}catch(err){\n\t\t\treject({\n\t\t\t\tname: 'ERROR_DATA',\n\t\t\t\tmessage: '查找数据失败',\n\t\t\t});\n\t\t\tconsole.error(err);\n\t\t}\n\t})\n}\n\ncitySchema.statics.cityHot = function (){\n\treturn new Promise(async (resolve, reject) => {\n\t\ttry{\n\t\t\tconst city = await this.findOne();\n\t\t\tresolve(city.data.hotCities)\n\t\t}catch(err){\n\t\t\treject({\n\t\t\t\tname: 'ERROR_DATA',\n\t\t\t\tmessage: '查找数据失败',\n\t\t\t});\n\t\t\tconsole.error(err);\n\t\t}\n\t})\n}\n\ncitySchema.statics.cityGroup = function (){\n\treturn new Promise(async (resolve, reject) => {\n\t\ttry{\n\t\t\tconst city = await this.findOne();\n\t\t\tconst cityObj = city.data;\n\t\t\tdelete(cityObj._id)\n\t\t\tdelete(cityObj.hotCities)\n\t\t\tresolve(cityObj)\n\t\t}catch(err){\n\t\t\treject({\n\t\t\t\tname: 'ERROR_DATA',\n\t\t\t\tmessage: '查找数据失败',\n\t\t\t});\n\t\t\tconsole.error(err);\n\t\t}\n\t})\n}\n\ncitySchema.statics.getCityById = function(id){\n\treturn new Promise(async (resolve, reject) => {\n\t\ttry{\n\t\t\tconst city = await this.findOne();\n\t\t\tObject.entries(city.data).forEach(item => {\n\t\t\t\tif(item[0] !== '_id' && item[0] !== 'hotCities'){\n\t\t\t\t\titem[1].forEach(cityItem => {\n\t\t\t\t\t\tif (cityItem.id == id) {\n\t\t\t\t\t\t\tresolve(cityItem)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t})\n\t\t}catch(err){\n\t\t\treject({\n\t\t\t\tname: 'ERROR_DATA',\n\t\t\t\tmessage: '查找数据失败',\n\t\t\t});\n\t\t\tconsole.error(err);\n\t\t}\n\t})\n}\n\nconst Cities = mongoose.model('Cities', citySchema);\n\n\nCities.findOne((err, data) => {\n\tif (!data) {\n\t\tCities.create({data: cityData});\n\t}\n});\n\nexport default Cities"
  },
  {
    "path": "models/v1/payments.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\nimport paymentsData from '../../InitData/payments'\n\nconst Schema = mongoose.Schema;\n\nconst paymentsSchema = new Schema({\n\tdescription: String,\n\tdisabled_reason: String,\n\tid: Number,\n\tis_online_payment: Boolean,\n\tname: String,\n\tpromotion: [],\n\tselect_state: Number,\n})\n\nconst Payments = mongoose.model('Payments', paymentsSchema);\n\nPayments.findOne((err, data) => {\n\tif (!data) {\n\t\tpaymentsData.forEach(item => {\n\t\t\tPayments.create(item);\n\t\t})\n\t}\n})\t\n\n\nexport default Payments"
  },
  {
    "path": "models/v1/remark.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\nimport remarkData from '../../InitData/remark'\nconst Schema  = mongoose.Schema;\n\nconst remarkSchema = new Schema({\n\tremarks: [],\n})\n\nconst Remark = mongoose.model('Remark', remarkSchema);\n\nRemark.findOne((err, data) => {\n\tif(!data){\n\t\tRemark.create(remarkData)\n\t}\n})\n\nexport default Remark"
  },
  {
    "path": "models/v2/entry.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\nimport entryData from '../../InitData/entry'\n\nconst Schema = mongoose.Schema;\n\nconst entrySchema = new Schema({\n\tid: Number,\n\tis_in_serving: Boolean,\n\tdescription: String,\n\ttitle: String,\n\tlink: String,\n\timage_url: String,\n\ticon_url: String,\n\ttitle_color: String\n});\n\nconst Entry = mongoose.model('Entry', entrySchema)\n\nEntry.findOne((err, data) => {\n\tif (!data) {\n\t\tfor (let i = 0; i < entryData.length; i++) {\n\t\t\tEntry.create(entryData[i]);\n\t\t}\n\t}\n})\n\nexport default Entry"
  },
  {
    "path": "models/v2/user.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst userSchema = new Schema({\n\tuser_id: Number,\n\tusername: String,\n\tpassword: String,\n})\n\nconst User = mongoose.model('User', userSchema);\n\nexport default User"
  },
  {
    "path": "models/v2/userInfo.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst userInfoSchema = new Schema({\n\tavatar: {type: String, default: 'default.jpg'},\n\tbalance: {type: Number, default: 0},\n\tbrand_member_new: {type: Number, default: 0},\n\tcurrent_address_id: {type: Number, default: 0},\n\tcurrent_invoice_id: {type: Number, default: 0},\n\tdelivery_card_expire_days: {type: Number, default: 0},\n\temail: {type: String, default: ''},\n\tgift_amount: {type: Number, default: 3},\n\tcity: String,\n\tregiste_time: String,\n\tid: Number,\n\tuser_id: Number,\n\tis_active: {type: Number, default: 1},\n\tis_email_valid: {type: Boolean, default: false},\n\tis_mobile_valid: {type: Boolean, default: true},\n\tmobile: {type: String, default: ''},\n\tpoint: {type: Number, default: 0},\n\tusername: String,\n\tcolumn_desc: {\n\t\tgame_desc: {type: String, default: '玩游戏领红包'},\n\t\tgame_image_hash: {type: String, default: '05f108ca4e0c543488799f0c7c708cb1jpeg'},\n\t\tgame_is_show: {type: Number, default: 1},\n\t\tgame_link: {type: String, default: 'https://gamecenter.faas.ele.me'},\n\t\tgift_mall_desc: {type: String, default: '0元好物在这里'},\n\t},\n})\n\nuserInfoSchema.index({id: 1});\n\n\nconst UserInfo = mongoose.model('UserInfo', userInfoSchema);\n\nexport default UserInfo"
  },
  {
    "path": "models/v3/explain.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose'\nimport explainData from '../../InitData/explain'\n\nconst Schema = mongoose.Schema;\n\nconst explainSchema = new Schema({\n\tdata: Schema.Types.Mixed,\n})\n\nconst Explain = mongoose.model('Explain', explainSchema);\n\nExplain.findOne((err, data) => {\n\tif(!data){\n\t\tExplain.create({data: explainData});\n\t}\n})\n\nexport default Explain"
  },
  {
    "path": "mongodb/db.js",
    "content": "'use strict';\n\nimport mongoose from 'mongoose';\nimport config from 'config-lite';\nimport chalk from 'chalk';\nmongoose.connect(config.url, {useMongoClient:true});\nmongoose.Promise = global.Promise;\n\nconst db = mongoose.connection;\n\ndb.once('open' ,() => {\n\tconsole.log(\n    chalk.green('连接数据库成功')\n  );\n})\n\ndb.on('error', function(error) {\n    console.error(\n      chalk.red('Error in MongoDb connection: ' + error)\n    );\n    mongoose.disconnect();\n});\n\ndb.on('close', function() {\n    console.log(\n      chalk.red('数据库断开，重新连接数据库')\n    );\n    mongoose.connect(config.url, {server:{auto_reconnect:true}});\n});\n\nexport default db;\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"node-elm\",\n  \"version\": \"1.0.0\",\n  \"description\": \"\",\n  \"main\": \"index.js\",\n  \"author\": \"cangdu <1264889788@qq.com>\",\n  \"license\": \"GPL\",\n  \"private\": true,\n  \"scripts\": {\n    \"dev\": \"cross-env NODE_ENV=development nodemon --harmony index.js\",\n    \"check\": \"cross-env NODE_ENV=production nodemon --harmony index.js\",\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\",\n    \"deploy\": \"pm2 deploy production\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/bailicangdu/node-elm\"\n  },\n  \"dependencies\": {\n    \"babel\": \"^6.23.0\",\n    \"babel-cli\": \"^6.24.1\",\n    \"babel-core\": \"^6.24.0\",\n    \"babel-preset-es2015\": \"^6.24.0\",\n    \"babel-preset-stage-3\": \"^6.22.0\",\n    \"babel-register\": \"^6.24.0\",\n    \"bluebird\": \"^3.5.0\",\n    \"captchapng\": \"0.0.1\",\n    \"chalk\": \"^2.3.0\",\n    \"config-lite\": \"^1.5.0\",\n    \"connect-flash\": \"^0.1.1\",\n    \"connect-history-api-fallback\": \"^1.3.0\",\n    \"connect-mongo\": \"^1.3.2\",\n    \"cookie-parser\": \"^1.4.3\",\n    \"cross-env\": \"^5.0.0\",\n    \"express\": \"^4.15.2\",\n    \"express-session\": \"^1.15.2\",\n    \"express-winston\": \"^2.3.0\",\n    \"formidable\": \"^1.1.1\",\n    \"gm\": \"^1.23.0\",\n    \"marked\": \"^0.3.6\",\n    \"moment\": \"^2.18.1\",\n    \"mongodb\": \"^2.2.25\",\n    \"mongoose\": \"^4.9.3\",\n    \"node-fetch\": \"^1.6.3\",\n    \"pinyin\": \"^2.8.3\",\n    \"pm2\": \"^2.8.0\",\n    \"qiniu\": \"^6.1.13\",\n    \"sha1\": \"^1.1.1\",\n    \"time-formater\": \"1.0.1\",\n    \"time-stamp\": \"^2.0.0\",\n    \"winston\": \"^2.3.1\"\n  },\n  \"devDependencies\": {\n    \"babel-plugin-transform-async-to-generator\": \"^6.24.1\",\n    \"babel-plugin-transform-es2015-classes\": \"^6.24.1\",\n    \"babel-plugin-transform-es2015-modules-commonjs\": \"^6.24.1\",\n    \"babel-plugin-transform-export-extensions\": \"^6.22.0\",\n    \"nodemon\": \"^1.18.6\"\n  }\n}\n"
  },
  {
    "path": "prototype/addressComponent.js",
    "content": "'use strict';\n\nimport BaseComponent from './baseComponent'\n\n/*\n腾讯地图和百度地图API统一调配组件\n */\nclass AddressComponent extends BaseComponent {\n\tconstructor(){\n\t\tsuper();\n\t\tthis.tencentkey = 'RLHBZ-WMPRP-Q3JDS-V2IQA-JNRFH-EJBHL';\n\t\tthis.tencentkey2 = 'RRXBZ-WC6KF-ZQSJT-N2QU7-T5QIT-6KF5X';\n\t\tthis.tencentkey3 = 'OHTBZ-7IFRG-JG2QF-IHFUK-XTTK6-VXFBN';\n\t\tthis.tencentkey4 = 'Z2BBZ-QBSKJ-DFUFG-FDGT3-4JRYV-JKF5O';\n\t\tthis.baidukey = 'fjke3YUipM9N64GdOIh1DNeK2APO2WcT';\n\t\t// this.baidukey2 = 'fjke3YUipM9N64GdOIh1DNeK2APO2WcT';\n\t}\n\t//获取定位地址\n\tasync guessPosition(req){\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tlet ip;\n\t\t\tconst defaultIp = '180.158.102.141';\n\t \t\tif (process.env.NODE_ENV == 'development') {\n\t \t\t\tip = defaultIp;\n\t \t\t} else {\n\t \t\t\ttry {\n\t\t\t\t\tip = req.headers['x-forwarded-for'] || \n\t\t\t \t\treq.connection.remoteAddress || \n\t\t\t \t\treq.socket.remoteAddress ||\n\t\t\t \t\treq.connection.socket.remoteAddress;\n\t\t\t \t\tconst ipArr = ip.split(':');\n\t\t\t \t\tip = ipArr[ipArr.length -1] || defaultIp;\n\t\t\t\t} catch (e) {\n\t\t\t\t\tip = defaultIp;\n\t\t\t\t}\n\t \t\t}\n\t \t\ttry{\n\t\t \t\tlet result = await this.fetch('http://apis.map.qq.com/ws/location/v1/ip', {\n\t\t \t\t\tip,\n\t\t \t\t\tkey: this.tencentkey,\n\t\t \t\t})\n\t\t \t\tif (result.status != 0) {\n\t\t \t\t\tresult = await this.fetch('http://apis.map.qq.com/ws/location/v1/ip', {\n\t\t\t \t\t\tip,\n\t\t\t \t\t\tkey: this.tencentkey2,\n\t\t\t \t\t})\n\t\t \t\t}\n\t\t \t\tif (result.status != 0) {\n\t\t \t\t\tresult = await this.fetch('http://apis.map.qq.com/ws/location/v1/ip', {\n\t\t\t \t\t\tip,\n\t\t\t \t\t\tkey: this.tencentkey3,\n\t\t\t \t\t})\n\t\t \t\t}\n\t\t \t\tif (result.status != 0) {\n\t\t \t\t\tresult = await this.fetch('http://apis.map.qq.com/ws/location/v1/ip', {\n\t\t\t \t\t\tip,\n\t\t\t \t\t\tkey: this.tencentkey4,\n\t\t\t \t\t})\n\t\t \t\t}\n\t\t \t\tif (result.status == 0) {\n\t\t \t\t\tconst cityInfo = {\n\t\t \t\t\t\tlat: result.result.location.lat,\n\t\t \t\t\t\tlng: result.result.location.lng,\n\t\t \t\t\t\tcity: result.result.ad_info.city,\n\t\t \t\t\t}\n\t\t \t\t\tcityInfo.city = cityInfo.city.replace(/市$/, '');\n\t\t \t\t\tresolve(cityInfo)\n\t\t \t\t}else{\n\t\t \t\t\tconsole.log('定位失败', result)\n\t\t \t\t\treject('定位失败');\n\t\t \t\t}\n\t \t\t}catch(err){\n\t \t\t\treject(err);\n\t \t\t}\n\t\t})\n\t}\n\t//搜索地址\n\tasync searchPlace(keyword, cityName, type = 'search'){\n\t\ttry{\n\t\t\tconst resObj = await this.fetch('http://apis.map.qq.com/ws/place/v1/search', {\n\t\t\t\tkey: this.tencentkey,\n\t\t\t\tkeyword: encodeURIComponent(keyword),\n\t\t\t\tboundary: 'region(' + encodeURIComponent(cityName) + ',0)',\n\t\t\t\tpage_size: 10,\n\t\t\t});\n\t\t\tif (resObj.status == 0) {\n\t\t\t\treturn resObj\n\t\t\t}else{\n\t\t\t\tthrow new Error('搜索位置信息失败');\n\t\t\t}\n\t\t}catch(err){\n\t\t\tthrow new Error(err);\n\t\t}\n\t}\n\t//测量距离\n\tasync getDistance(from, to, type){\n\t\ttry{\n\t\t\tlet res\n\t\t\tres = await this.fetch('http://api.map.baidu.com/routematrix/v2/driving', {\n\t\t\t\tak: this.baidukey,\n\t\t\t\toutput: 'json',\n\t\t\t\torigins: from,\n\t\t\t\tdestinations: to,\n\t\t\t})\n\t\t\t// if(res.status !== 0){\n\t\t\t// \tres = await this.fetch('http://api.map.baidu.com/routematrix/v2/driving', {\n\t\t\t// \t\tak: this.baidukey2,\n\t\t\t// \t\toutput: 'json',\n\t\t\t// \t\torigins: from,\n\t\t\t// \t\tdestinations: to,\n\t\t\t// \t})\n\t\t\t// }\n\t\t\tif(res.status == 0){\n\t\t\t\tconst positionArr = [];\n\t\t\t\tlet timevalue;\n\t\t\t\tres.result.forEach(item => {\n\t\t\t\t\ttimevalue = parseInt(item.duration.value) + 1200;\n\t\t\t\t\tlet durationtime = Math.ceil(timevalue%3600/60) + '分钟';\n\t\t\t\t\tif(Math.floor(timevalue/3600)){\n\t\t\t\t\t\tdurationtime = Math.floor(timevalue/3600) + '小时' + durationtime;\n\t\t\t\t\t}\n\t\t\t\t\tpositionArr.push({\n\t\t\t\t\t\tdistance: item.distance.text,\n\t\t\t\t\t\torder_lead_time: durationtime,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\tif (type == 'tiemvalue') {\n\t\t\t\t\treturn timevalue\n\t\t\t\t}else{\n\t\t\t\t\treturn positionArr\n\t\t\t\t}\n\t\t\t}else{\n\t\t\t\tif (type == 'tiemvalue') {\n\t\t\t\t\treturn 2000;\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error('调用百度地图测距失败');\n\t\t\t\t}\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log('获取位置距离失败');\n\t\t\tthrow new Error(err);\n\t\t}\n\t}\n\t//通过ip地址获取精确位置\n\tasync geocoder(req){\n\t\ttry{\n\t\t\tconst address = await this.guessPosition(req);\n\t\t\tconst params = {\n\t\t\t\tkey: this.tencentkey,\n\t\t\t\tlocation: address.lat + ',' + address.lng\n\t\t\t};\n\t\t\tlet res = await this.fetch('http://apis.map.qq.com/ws/geocoder/v1/', params);\n\t\t\tif (res.status != 0) {\n\t\t\t\tparams.key = this.tencentkey2;\n\t \t\t\tres = await this.fetch('http://apis.map.qq.com/ws/geocoder/v1/', params);\n\t \t\t}\n\t \t\tif (res.status != 0) {\n\t \t\t\tparams.key = this.tencentkey3;\n\t \t\t\tres = await this.fetch('http://apis.map.qq.com/ws/geocoder/v1/', params);\n\t \t\t}\n\t \t\tif (res.status != 0) {\n\t \t\t\tparams.key = this.tencentkey4;\n\t \t\t\tres = await this.fetch('http://apis.map.qq.com/ws/geocoder/v1/', params);\n\t \t\t}\n\t\t\tif (res.status == 0) {\n\t\t\t\treturn res\n\t\t\t}else{\n\t\t\t\tthrow new Error('获取具体位置信息失败');\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log('geocoder获取定位失败', err);\n\t\t\tthrow new Error(err);\n\t\t}\n\t}\n\t//通过geohash获取精确位置\n\tasync getpois(lat, lng){\n\t\ttry{\n\t\t\tconst params = {\n\t\t\t\tkey: this.tencentkey,\n\t\t\t\tlocation: lat + ',' + lng\n\t\t\t};\n\t\t\tlet res = await this.fetch('http://apis.map.qq.com/ws/geocoder/v1/', params);\n\t\t\tif (res.status != 0) {\n\t\t\t\tparams.key = this.tencentkey2;\n\t \t\t\tres = await this.fetch('http://apis.map.qq.com/ws/geocoder/v1/', params);\n\t \t\t}\n\t \t\tif (res.status != 0) {\n\t \t\t\tparams.key = this.tencentkey3;\n\t \t\t\tres = await this.fetch('http://apis.map.qq.com/ws/geocoder/v1/', params);\n\t \t\t}\n\t \t\tif (res.status != 0) {\n\t \t\t\tparams.key = this.tencentkey4;\n\t \t\t\tres = await this.fetch('http://apis.map.qq.com/ws/geocoder/v1/', params);\n\t \t\t}\n\t\t\tif (res.status == 0) {\n\t\t\t\treturn res\n\t\t\t}else{\n\t\t\t\tthrow new Error('通过获geohash取具体位置失败');\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log('getpois获取定位失败', err)\n\t\t\tthrow new Error(err);\n\t\t}\n\t}\n}\n\nexport default AddressComponent"
  },
  {
    "path": "prototype/baseComponent.js",
    "content": "import fetch from 'node-fetch';\nimport Ids from '../models/ids'\nimport formidable from 'formidable'\nimport path from 'path'\nimport fs from 'fs'\nimport qiniu from 'qiniu'\nimport gm from 'gm'\nqiniu.conf.ACCESS_KEY = 'Ep714TDrVhrhZzV2VJJxDYgGHBAX-KmU1xV1SQdS';\nqiniu.conf.SECRET_KEY = 'XNIW2dNffPBdaAhvm9dadBlJ-H6yyCTIJLxNM_N6';\n\n\nexport default class BaseComponent {\n\tconstructor(){\n\t\tthis.idList = ['restaurant_id', 'food_id', 'order_id', 'user_id', 'address_id', 'cart_id', 'img_id', 'category_id', 'item_id', 'sku_id', 'admin_id', 'statis_id'];\n\t\tthis.imgTypeList = ['shop', 'food', 'avatar','default'];\n\t\tthis.uploadImg = this.uploadImg.bind(this)\n\t\tthis.qiniu = this.qiniu.bind(this)\n\t}\n\tasync fetch(url = '', data = {}, type = 'GET', resType = 'JSON'){\n\t\ttype = type.toUpperCase();\n\t\tresType = resType.toUpperCase();\n\t\tif (type == 'GET') {\n\t\t\tlet dataStr = ''; //数据拼接字符串\n\t\t\tObject.keys(data).forEach(key => {\n\t\t\t\tdataStr += key + '=' + data[key] + '&';\n\t\t\t})\n\n\t\t\tif (dataStr !== '') {\n\t\t\t\tdataStr = dataStr.substr(0, dataStr.lastIndexOf('&'));\n\t\t\t\turl = url + '?' + dataStr;\n\t\t\t}\n\t\t}\n\n\t\tlet requestConfig = {\n\t\t\tmethod: type,\n\t\t\theaders: {\n\t\t\t\t'Accept': 'application/json',\n\t\t\t\t'Content-Type': 'application/json'\n\t\t\t},\n\t\t}\n\n\t\tif (type == 'POST') {\n\t\t\tObject.defineProperty(requestConfig, 'body', {\n\t\t\t\tvalue: JSON.stringify(data)\n\t\t\t})\n\t\t}\n\t\tlet responseJson;\n\t\ttry {\n\t\t\tconst response = await fetch(url, requestConfig);\n\t\t\tif (resType === 'TEXT') {\n\t\t\t\tresponseJson = await response.text();\n\t\t\t}else{\n\t\t\t\tresponseJson = await response.json();\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tconsole.log('获取http数据失败', err);\n\t\t\tthrow new Error(err)\n\t\t}\n\t\treturn responseJson\n\t}\n\t//获取id列表\n\tasync getId(type){\n\t\tif (!this.idList.includes(type)) {\n\t\t\tconsole.log('id类型错误');\n\t\t\tthrow new Error('id类型错误');\n\t\t\treturn\n\t\t}\n\t\ttry{\n\t\t\tconst idData = await Ids.findOne();\n\t\t\tidData[type] ++ ;\n\t\t\tawait idData.save();\n\t\t\treturn idData[type]\n\t\t}catch(err){\n\t\t\tconsole.log('获取ID数据失败');\n\t\t\tthrow new Error(err)\n\t\t}\n\t}\n\n\tasync uploadImg(req, res, next){\n\t\tconst type = req.params.type;\n\t\ttry{\n\t\t\t//const image_path = await this.qiniu(req, type);\n\t\t\tconst image_path = await this.getPath(req, res);\n\t\t\tres.send({\n\t\t\t\tstatus: 1,\n\t\t\t\timage_path,\n\t\t\t})\n\t\t}catch(err){\n\t\t\tconsole.log('上传图片失败', err);\n\t\t\tres.send({\n\t\t\t\tstatus: 0,\n\t\t\t\ttype: 'ERROR_UPLOAD_IMG',\n\t\t\t\tmessage: '上传图片失败'\n\t\t\t})\n\t\t}\n\t}\n\n\tasync getPath(req, res){\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst form = formidable.IncomingForm();\n\t\t\tform.uploadDir = './public/img';\n\t\t\tform.parse(req, async (err, fields, files) => {\n\t\t\t\tlet img_id;\n\t\t\t\ttry{\n\t\t\t\t\timg_id = await this.getId('img_id');\n\t\t\t\t}catch(err){\n\t\t\t\t\tconsole.log('获取图片id失败');\n\t\t\t\t\tfs.unlinkSync(files.file.path);\n\t\t\t\t\treject('获取图片id失败');\n\t\t\t\t}\n\t\t\t\tconst hashName = (new Date().getTime() + Math.ceil(Math.random()*10000)).toString(16) + img_id;\n\t\t\t\tconst extname = path.extname(files.file.name);\n\t\t\t\tif (!['.jpg', '.jpeg', '.png'].includes(extname)) {\n\t\t\t\t\tfs.unlinkSync(files.file.path);\n\t\t\t\t\tres.send({\n\t\t\t\t\t\tstatus: 0,\n\t\t\t\t\t\ttype: 'ERROR_EXTNAME',\n\t\t\t\t\t\tmessage: '文件格式错误'\n\t\t\t\t\t})\n\t\t\t\t\treject('上传失败');\n\t\t\t\t\treturn \n\t\t\t\t}\n\t\t\t\tconst fullName = hashName + extname;\n\t\t\t\tconst repath = './public/img/' + fullName;\n\t\t\t\ttry{\n\t\t\t\t\tfs.renameSync(files.file.path, repath);\n\t\t\t\t\tgm(repath)\n\t\t\t\t\t.resize(200, 200, \"!\")\n\t\t\t\t\t.write(repath, async (err) => {\n\t\t\t\t\t\t// if(err){\n\t\t\t\t\t\t// \tconsole.log('裁切图片失败');\n\t\t\t\t\t\t// \treject('裁切图片失败');\n\t\t\t\t\t\t// \treturn\n\t\t\t\t\t\t// }\n\t\t\t\t\t\tresolve(fullName)\n\t\t\t\t\t})\n\t\t\t\t}catch(err){\n\t\t\t\t\tconsole.log('保存图片失败', err);\n\t\t\t\t\tif (fs.existsSync(repath)) {\n\t\t\t\t\t\tfs.unlinkSync(repath);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfs.unlinkSync(files.file.path);\n\t\t\t\t\t}\n\t\t\t\t\treject('保存图片失败')\n\t\t\t\t}\n\t\t\t});\n\t\t})\n\t}\n\n\tasync qiniu(req, type = 'default'){\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst form = formidable.IncomingForm();\n\t\t\tform.uploadDir = './public/img';\n\t\t\tform.parse(req, async (err, fields, files) => {\n\t\t\t\tlet img_id;\n\t\t\t\ttry{\n\t\t\t\t\timg_id = await this.getId('img_id');\n\t\t\t\t}catch(err){\n\t\t\t\t\tconsole.log('获取图片id失败');\n\t\t\t\t\tfs.unlinkSync(files.file.path);\n\t\t\t\t\treject('获取图片id失败')\n\t\t\t\t}\n\t\t\t\tconst hashName = (new Date().getTime() + Math.ceil(Math.random()*10000)).toString(16) + img_id;\n\t\t\t\tconst extname = path.extname(files.file.name);\n\t\t\t\tconst repath = './public/img/' + hashName + extname;\n\t\t\t\ttry{\n\t\t\t\t\tconst key = hashName + extname;\n\t\t\t\t\tawait fs.rename(files.file.path, repath);\n\t\t\t\t\tconst token = this.uptoken('node-elm', key);\n\t\t\t\t\tconst qiniuImg = await this.uploadFile(token.toString(), key, repath);\n\t\t\t\t\tfs.unlinkSync(repath);\n\t\t\t\t\tresolve(qiniuImg)\n\t\t\t\t}catch(err){\n\t\t\t\t\tconsole.log('保存至七牛失败', err);\n\t\t\t\t\tfs.unlinkSync(files.file.path)\n\t\t\t\t\treject('保存至七牛失败')\n\t\t\t\t}\n\t\t\t});\n\n\t\t})\n\t}\n\tuptoken(bucket, key){\n\t\tvar putPolicy = new qiniu.rs.PutPolicy(bucket+\":\"+key);\n  \t\treturn putPolicy.token();\n\t}\n\tuploadFile(uptoken, key, localFile){\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tvar extra = new qiniu.io.PutExtra();\n\t\t    qiniu.io.putFile(uptoken, key, localFile, extra, function(err, ret) {\n\t\t\t    if(!err) {  \n\t\t\t    \tresolve(ret.key)\n\t\t\t    } else {\n\t\t\t    \tconsole.log('图片上传至七牛失败', err);\n\t\t\t    \treject(err)\n\t\t\t    }\n\t\t  \t});\n\n\t\t})\n\t}\t\n}"
  },
  {
    "path": "public/elm/static/css/app.css",
    "content": "a,article,aside,b,body,button,dd,div,dl,dt,figcaption,figure,footer,h1,h2,h3,h4,h5,h6,header,i,input,li,nav,p,section,select,span,textarea,ul{padding:0;margin:0;list-style:none;font-style:normal;text-decoration:none;border:none;color:#333;font-weight:400;font-family:Microsoft Yahei;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}a:hover,article:hover,aside:hover,b:hover,body:hover,button:hover,dd:hover,div:hover,dl:hover,dt:hover,figcaption:hover,figure:hover,footer:hover,h1:hover,h2:hover,h3:hover,h4:hover,h5:hover,h6:hover,header:hover,i:hover,input:hover,li:hover,nav:hover,p:hover,section:hover,select:hover,span:hover,textarea:hover,ul:hover{outline:none}::-webkit-scrollbar{width:0;height:0;background-color:#f5f5f5}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 1px transparent;border-radius:10px;background-color:#f5f5f5}::-webkit-scrollbar-thumb{border-radius:10px;-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#555}input[type=button],input[type=reset],input[type=search],input[type=submit],textarea{-webkit-appearance:none}body,html{height:100%;width:100%;background-color:#f5f5f5}.clear:after{content:\"\";display:block;clear:both}.clear{zoom:1}.back_img{background-repeat:no-repeat;background-size:100% 100%}.margin{margin:0 auto}.left{float:left}.right{float:right}.hide{display:none}.show{display:block}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paddingTop{padding-top:1.95rem}@keyframes backOpacity{0%{opacity:1}25%{opacity:.5}50%{opacity:1}75%{opacity:.5}to{opacity:1}}.animation_opactiy{animation:backOpacity 2s ease-in-out infinite}.router-fade-enter-active,.router-fade-leave-active{transition:opacity .3s}.router-fade-enter,.router-fade-leave-active{opacity:0}"
  },
  {
    "path": "public/elm/static/js/app.js",
    "content": "webpackJsonp([47,45],{0:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}var a=n(120),o=r(a),i=n(439),s=r(i),c=n(172),u=r(c),l=n(175),d=r(l),f=n(17);n(170);var h=n(317),v=r(h);\"addEventListener\"in document&&document.addEventListener(\"DOMContentLoaded\",function(){v.default.attach(document.body)},!1),o.default.use(s.default);var p=new s.default({routes:u.default,mode:f.routerMode,strict:!1,scrollBehavior:function(t,e,n){return n?n:(e.meta.keepAlive&&(e.meta.savedPosition=document.body.scrollTop),{x:0,y:t.meta.savedPosition||0})}});new o.default({router:p,store:d.default}).$mount(\"#app\")},16:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.changePassword=e.signout=e.accountLogin=e.deleteAddress=e.getSearchAddress=e.getAddressList=e.getOrderDetail=e.getOrderList=e.getUser=e.exChangeHongbao=e.getExpired=e.getHongbaoNum=e.vipCart=e.getService=e.payRequest=e.validateOrders=e.rePostVerify=e.placeOrders=e.postAddAddress=e.searchNearby=e.getAddress=e.getRemark=e.checkout=e.sendMobile=e.checkExsis=e.getcaptchas=e.mobileCode=e.ratingTags=e.ratingScores=e.getRatingList=e.foodMenu=e.shopDetails=e.foodActivity=e.foodDelivery=e.foodCategory=e.searchRestaurant=e.shopList=e.msiteFoodTypes=e.msiteAddress=e.searchplace=e.currentcity=e.groupcity=e.hotcity=e.cityGuess=void 0;var a=n(66),o=r(a),i=n(169),s=r(i),c=n(27);e.cityGuess=function(){return(0,s.default)(\"/v1/cities\",{type:\"guess\"})},e.hotcity=function(){return(0,s.default)(\"/v1/cities\",{type:\"hot\"})},e.groupcity=function(){return(0,s.default)(\"/v1/cities\",{type:\"group\"})},e.currentcity=function(t){return(0,s.default)(\"/v1/cities/\"+t)},e.searchplace=function(t,e){return(0,s.default)(\"/v1/pois\",{type:\"search\",city_id:t,keyword:e})},e.msiteAddress=function(t){return(0,s.default)(\"/v2/pois/\"+t)},e.msiteFoodTypes=function(t){return(0,s.default)(\"/v2/index_entry\",{geohash:t,group_type:\"1\",\"flags[]\":\"F\"})},e.shopList=function(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"\",a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"\",o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"\",i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:\"\",c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:[],u=\"\";c.forEach(function(t){t.status&&(u+=\"&support_ids[]=\"+t.id)});var l={latitude:t,longitude:e,offset:n,limit:\"20\",\"extras[]\":\"activities\",keyword:\"\",restaurant_category_id:r,\"restaurant_category_ids[]\":a,order_by:o,\"delivery_mode[]\":i+u};return(0,s.default)(\"/shopping/restaurants\",l)},e.searchRestaurant=function(t,e){return(0,s.default)(\"/v4/restaurants\",{\"extras[]\":\"restaurant_activity\",geohash:t,keyword:e,type:\"search\"})},e.foodCategory=function(t,e){return(0,s.default)(\"/shopping/v2/restaurant/category\",{latitude:t,longitude:e})},e.foodDelivery=function(t,e){return(0,s.default)(\"/shopping/v1/restaurants/delivery_modes\",{latitude:t,longitude:e,kw:\"\"})},e.foodActivity=function(t,e){return(0,s.default)(\"/shopping/v1/restaurants/activity_attributes\",{latitude:t,longitude:e,kw:\"\"})},e.shopDetails=function(t,e,n){return(0,s.default)(\"/shopping/restaurant/\"+t,{latitude:e,longitude:n+\"&extras[]=activities&extras[]=album&extras[]=license&extras[]=identification&extras[]=statistics\"})},e.foodMenu=function(t){return(0,s.default)(\"/shopping/v2/menu\",{restaurant_id:t})},e.getRatingList=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\";return(0,s.default)(\"/ugc/v2/restaurants/\"+t+\"/ratings\",{has_content:!0,offset:e,limit:10,tag_name:n})},e.ratingScores=function(t){return(0,s.default)(\"/ugc/v2/restaurants/\"+t+\"/ratings/scores\")},e.ratingTags=function(t){return(0,s.default)(\"/ugc/v2/restaurants/\"+t+\"/ratings/tags\")},e.mobileCode=function(t){return(0,s.default)(\"/v4/mobile/verify_code/send\",{mobile:t,scene:\"login\",type:\"sms\"},\"POST\")},e.getcaptchas=function(){return(0,s.default)(\"/v1/captchas\",{},\"POST\")},e.checkExsis=function(t,e){var n;return(0,s.default)(\"/v1/users/exists\",(n={},(0,o.default)(n,e,t),(0,o.default)(n,\"type\",e),n))},e.sendMobile=function(t,e,n,r){var a;return(0,s.default)(\"/v1/mobile/verify_code/send\",(a={action:\"send\",captcha_code:e},(0,o.default)(a,n,t),(0,o.default)(a,\"type\",\"sms\"),(0,o.default)(a,\"way\",n),(0,o.default)(a,\"password\",r),a),\"POST\")},e.checkout=function(t,e,n){return(0,s.default)(\"/v1/carts/checkout\",{come_from:\"web\",geohash:t,entities:e,restaurant_id:n},\"POST\")},e.getRemark=function(t,e){return(0,s.default)(\"/v1/carts/\"+t+\"/remarks\",{sig:e})},e.getAddress=function(t,e){return(0,s.default)(\"/v1/carts/\"+t+\"/addresses\",{sig:e})},e.searchNearby=function(t){return(0,s.default)(\"/v1/pois\",{type:\"nearby\",keyword:t})},e.postAddAddress=function(t,e,n,r,a,o,i,c,u,l,d){return(0,s.default)(\"/v1/users/\"+t+\"/addresses\",{address:e,address_detail:n,geohash:r,name:a,phone:o,phone_bk:i,poi_type:c,sex:u,tag:l,tag_type:d},\"POST\")},e.placeOrders=function(t,e,n,r,a,o,i){return(0,s.default)(\"/v1/users/\"+t+\"/carts/\"+e+\"/orders\",{address_id:n,come_from:\"mobile_web\",deliver_time:\"\",description:r,entities:a,geohash:o,paymethod_id:1,sig:i},\"POST\")},e.rePostVerify=function(t,e,n){return(0,s.default)(\"/v1/carts/\"+t+\"/verify_code\",{sig:e,type:n},\"POST\")},e.validateOrders=function(t){var e=t.user_id,n=t.cart_id,r=t.address_id,a=t.description,o=t.entities,i=t.geohash,c=t.sig,u=t.validation_code,l=t.validation_token;return(0,s.default)(\"/v1/users/\"+e+\"/carts/\"+n+\"/orders\",{address_id:r,come_from:\"mobile_web\",deliver_time:\"\",description:a,entities:o,geohash:i,paymethod_id:1,sig:c,validation_code:u,validation_token:l},\"POST\")},e.payRequest=function(t,e){return(0,s.default)(\"/payapi/payment/queryOrder\",{merchantId:5,merchantOrderNo:t,source:\"MOBILE_WAP\",userId:e,version:\"1.0.0\"})},e.getService=function(){return(0,s.default)(\"/v3/profile/explain\")},e.vipCart=function(t,e,n){return(0,s.default)(\"/member/v1/users/\"+t+\"/delivery_card/physical_card/bind\",{number:e,password:n},\"POST\")},e.getHongbaoNum=function(t){return(0,s.default)(\"/promotion/v2/users/\"+t+\"/hongbaos?limit=20&offset=0\")},e.getExpired=function(t){return(0,s.default)(\"/promotion/v2/users/\"+t+\"/expired_hongbaos?limit=20&offset=0\")},e.exChangeHongbao=function(t,e,n){return(0,s.default)(\"/v1/users/\"+t+\"/hongbao/exchange\",{exchange_code:e,captcha_code:n},\"POST\")},e.getUser=function(){return(0,s.default)(\"/v1/user\",{user_id:(0,c.getStore)(\"user_id\")})},e.getOrderList=function(t,e){return(0,s.default)(\"/bos/v2/users/\"+t+\"/orders\",{limit:10,offset:e})},e.getOrderDetail=function(t,e){return(0,s.default)(\"/bos/v1/users/\"+t+\"/orders/\"+e+\"/snapshot\")},e.getAddressList=function(t){return(0,s.default)(\"/v1/users/\"+t+\"/addresses\")},e.getSearchAddress=function(t){return(0,s.default)(\"v1/pois\",{keyword:t,type:\"nearby\"})},e.deleteAddress=function(t,e){return(0,s.default)(\"/v1/users/\"+t+\"/addresses/\"+e,{},\"DELETE\")},e.accountLogin=function(t,e,n){return(0,s.default)(\"/v2/login\",{username:t,password:e,captcha_code:n},\"POST\")},e.signout=function(){return(0,s.default)(\"/v2/signout\")},e.changePassword=function(t,e,n,r,a){return(0,s.default)(\"/v2/changepassword\",{username:t,oldpassWord:e,newpassword:n,confirmpassword:r,captcha_code:a},\"POST\")}},17:function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var r=\"\",a=\"hash\",o=\"\";e.baseUrl=r=\"//elm.cangdu.org\",e.imgBaseUrl=o=\"//elm.cangdu.org/img/\",e.baseUrl=r,e.routerMode=a,e.imgBaseUrl=o},27:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.animate=e.showBack=e.loadMore=e.getStyle=e.removeStore=e.getStore=e.setStore=void 0;var a=n(65),o=r(a),i=n(98),s=r(i),c=(e.setStore=function(t,e){t&&(\"string\"!=typeof e&&(e=(0,s.default)(e)),window.localStorage.setItem(t,e))},e.getStore=function(t){if(t)return window.localStorage.getItem(t)},e.removeStore=function(t){t&&window.localStorage.removeItem(t)},e.getStyle=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"int\",r=void 0;return r=\"scrollTop\"===e?t.scrollTop:t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null)[e],\"float\"==n?parseFloat(r):parseInt(r)});e.loadMore=function t(e,n){var r=window.screen.height,a=void 0,o=void 0,i=void 0,s=void 0,u=void 0,l=void 0;document.body.addEventListener(\"scroll\",function(){t()},!1),e.addEventListener(\"touchstart\",function(){a=e.offsetHeight,o=e.offsetTop,i=c(e,\"paddingBottom\"),s=c(e,\"marginBottom\")},{passive:!0}),e.addEventListener(\"touchmove\",function(){t()},{passive:!0}),e.addEventListener(\"touchend\",function(){l=document.body.scrollTop,d()},{passive:!0});var d=function n(){u=requestAnimationFrame(function(){document.body.scrollTop!=l?(l=document.body.scrollTop,t(),n()):(cancelAnimationFrame(u),a=e.offsetHeight,t())})},t=function(){document.body.scrollTop+r>=a+o+i+s&&n()}},e.showBack=function(t){var e=void 0,n=void 0;document.addEventListener(\"scroll\",function(){a()},!1),document.addEventListener(\"touchstart\",function(){a()},{passive:!0}),document.addEventListener(\"touchmove\",function(){a()},{passive:!0}),document.addEventListener(\"touchend\",function(){n=document.body.scrollTop,r()},{passive:!0});var r=function t(){e=requestAnimationFrame(function(){document.body.scrollTop!=n?(n=document.body.scrollTop,t()):cancelAnimationFrame(e),a()})},a=function(){t(document.body.scrollTop>500?!0:!1)}},e.animate=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:400,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"ease-out\",a=arguments[4];clearInterval(t.timer),n instanceof Function?(a=n,n=400):n instanceof String&&(r=n,n=400),r instanceof Function&&(a=r,r=\"ease-out\");var i=function(e){return\"opacity\"===e?Math.round(100*c(t,e,\"float\")):c(t,e)},s=parseFloat(document.documentElement.style.fontSize),u={},l={};(0,o.default)(e).forEach(function(t){/[^\\d^\\.]+/gi.test(e[t])?u[t]=e[t].match(/[^\\d^\\.]+/gi)[0]||\"px\":u[t]=\"px\",l[t]=i(t)}),(0,o.default)(e).forEach(function(t){\"rem\"==u[t]?e[t]=Math.ceil(parseInt(e[t])*s):e[t]=parseInt(e[t])});var d=!0,f={};t.timer=setInterval(function(){(0,o.default)(e).forEach(function(o){var s=0,c=!1,u=i(o)||0,h=0,v=void 0;switch(r){case\"ease-out\":h=u,v=5*n/400;break;case\"linear\":h=l[o],v=20*n/400;break;case\"ease-in\":var p=f[o]||0;s=p+(e[o]-l[o])/n,f[o]=s;break;default:h=u,v=5*n/400}switch(\"ease-in\"!==r&&(s=(e[o]-h)/v,s=s>0?Math.ceil(s):Math.floor(s)),r){case\"ease-out\":c=u!=e[o];break;case\"linear\":c=Math.abs(Math.abs(u)-Math.abs(e[o]))>Math.abs(s);break;case\"ease-in\":c=Math.abs(Math.abs(u)-Math.abs(e[o]))>Math.abs(s);break;default:c=u!=e[o]}c?(d=!1,\"opacity\"===o?(t.style.filter=\"alpha(opacity:\"+(u+s)+\")\",t.style.opacity=(u+s)/100):\"scrollTop\"===o?t.scrollTop=u+s:t.style[o]=u+s+\"px\"):d=!0,d&&(clearInterval(t.timer),a&&a())})},20)}},96:function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});e.RECORD_ADDRESS=\"RECORD_ADDRESS\",e.ADD_CART=\"ADD_CART\",e.REDUCE_CART=\"REDUCE_CART\",e.INIT_BUYCART=\"INIT_BUYCART\",e.CLEAR_CART=\"CLEAR_CART\",e.RECORD_SHOPDETAIL=\"RECORD_SHOPDETAIL\",e.RECORD_USERINFO=\"RECORD_USERINFO\",e.GET_USERINFO=\"GET_USERINFO\",e.CONFIRM_REMARK=\"CONFIRM_REMARK\",e.CONFIRM_INVOICE=\"CONFIRM_INVOICE\",e.CHOOSE_SEARCH_ADDRESS=\"CHOOSE_SEARCH_ADDRESS\",e.SAVE_GEOHASH=\"SAVE_GEOHASH\",e.CONFIRM_ADDRESS=\"CONFIRM_ADDRESS\",e.CHOOSE_ADDRESS=\"CHOOSE_ADDRESS\",e.NEED_VALIDATION=\"NEED_VALIDATION\",e.SAVE_CART_ID_SIG=\"SAVE_CART_ID_SIG\",e.SAVE_ORDER_PARAM=\"SAVE_ORDER_PARAM\",e.CHANGE_ORDER_PARAM=\"CHANGE_ORDER_PARAM\",e.ORDER_SUCCESS=\"ORDER_SUCCESS\",e.SAVE_SHOPID=\"SAVE_SHOPID\",e.SAVE_ORDER=\"SAVE_ORDER\",e.OUT_LOGIN=\"OUT_LOGIN\",e.RETSET_NAME=\"RETSET_NAME\",e.SAVE_AVANDER=\"SAVE_AVANDER\",e.SAVE_ADDDETAIL=\"SAVE_ADDDETAIL\",e.SAVE_ADDRESS=\"SAVE_ADDRESS\",e.SAVE_QUESTION=\"SAVE_QUESTION\",e.ADD_ADDRESS=\"ADD_ADDRESS\",e.BUY_CART=\"BUY_CART\"},121:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var a=n(345),o=r(a);e.default={components:{svgIcon:o.default}}},123:function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={}},169:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var a=n(20),o=r(a),i=n(100),s=r(i),c=n(99),u=r(c),l=n(98),d=r(l),f=n(65),h=r(f),v=n(19),p=r(v),m=n(17);e.default=function(){var t=(0,p.default)(o.default.mark(function t(){var e,n,r,a,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"GET\",f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"fetch\";return o.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(l=l.toUpperCase(),i=m.baseUrl+i,\"GET\"==l&&(e=\"\",(0,h.default)(c).forEach(function(t){e+=t+\"=\"+c[t]+\"&\"}),\"\"!==e&&(e=e.substr(0,e.lastIndexOf(\"&\")),i=i+\"?\"+e)),!window.fetch||\"fetch\"!=f){t.next=21;break}return n={credentials:\"include\",method:l,headers:{Accept:\"application/json\",\"Content-Type\":\"application/json\"},mode:\"cors\",cache:\"force-cache\"},\"POST\"==l&&Object.defineProperty(n,\"body\",{value:(0,d.default)(c)}),t.prev=6,t.next=9,fetch(i,n);case 9:return r=t.sent,t.next=12,r.json();case 12:return a=t.sent,t.abrupt(\"return\",a);case 16:throw t.prev=16,t.t0=t.catch(6),new Error(t.t0);case 19:t.next=22;break;case 21:return t.abrupt(\"return\",new u.default(function(t,e){var n=void 0;n=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject;var r=\"\";\"POST\"==l&&(r=(0,d.default)(c)),n.open(l,i,!0),n.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\"),n.send(r),n.onreadystatechange=function(){if(4==n.readyState)if(200==n.status){var r=n.response;\"object\"!==(\"undefined\"==typeof r?\"undefined\":(0,s.default)(r))&&(r=JSON.parse(r)),t(r)}else e(n)}}));case 22:case\"end\":return t.stop()}},t,void 0,[[6,16]])}));return function(){return t.apply(this,arguments)}}()},170:function(t,e){\"use strict\";!function(t,e){var n=t.documentElement,r=\"orientationchange\"in window?\"orientationchange\":\"resize\",a=function(){var t=n.clientWidth;t&&(n.style.fontSize=20*(t/320)+\"px\")};t.addEventListener&&(e.addEventListener(r,a,!1),t.addEventListener(\"DOMContentLoaded\",a,!1))}(document,window)},172:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var a=n(343),o=r(a),i=function(t){return n.e(41,function(){return t(n(367))})},s=function(t){return n.e(44,function(){return t(n(354))})},c=function(t){return n.e(0,function(){return t(n(369))})},u=function(t){return n.e(25,function(){return t(n(380))})},l=function(t){return n.e(2,function(){return t(n(386))})},d=function(t){return n.e(27,function(){return t(n(368))})},f=function(t){return n.e(18,function(){return t(n(379))})},h=function(t){return n.e(28,function(){return t(n(366))})},v=function(t){return n.e(1,function(){return t(n(371))})},p=function(t){return n.e(12,function(){return t(n(370))})},m=function(t){return n.e(31,function(){return t(n(390))})},_=function(t){return n.e(34,function(){return t(n(387))})},g=function(t){return n.e(26,function(){return t(n(388))})},S=function(t){return n.e(39,function(){return t(n(389))})},y=function(t){return n.e(3,function(){return t(n(365))})},A=function(t){return n.e(4,function(){return t(n(362))})},E=function(t){return n.e(20,function(){return t(n(360))})},b=function(t){return n.e(23,function(){return t(n(359))})},M=function(t){return n.e(29,function(){return t(n(361))})},z=function(t){return n.e(42,function(){return t(n(358))})},R=function(t){return n.e(16,function(){return t(n(357))})},w=function(t){return n.e(24,function(){return t(n(355))})},D=function(t){return n.e(43,function(){return t(n(356))})},x=function(t){return n.e(5,function(){return t(n(384))})},O=function(t){return n.e(35,function(){return t(n(385))})},C=function(t){return n.e(32,function(){return t(n(383))})},L=function(t){return n.e(14,function(){return t(n(378))})},T=function(t){return n.e(36,function(){return t(n(377))})},I=function(t){return n.e(38,function(){return t(n(374))})},k=function(t){return n.e(21,function(){return t(n(375))})},H=function(t){return n.e(37,function(){return t(n(376))})},B=function(t){return n.e(17,function(){return t(n(346))})},V=function(t){return n.e(10,function(){return t(n(347))})},F=function(t){return n.e(6,function(){return t(n(348))})},P=function(t){return n.e(9,function(){return t(n(350))})},N=function(t){return n.e(7,function(){return t(n(352))})},U=function(t){return n.e(13,function(){return t(n(353))})},G=function(t){return n.e(30,function(){return t(n(351))})},j=function(t){return n.e(11,function(){return t(n(349))})},q=function(t){return n.e(15,function(){return t(n(373))})},X=function(t){return n.e(8,function(){return t(n(372))})},Y=function(t){return n.e(40,function(){return t(n(382))})},$=function(t){return n.e(33,function(){return t(n(381))})},J=function(t){return n.e(19,function(){return t(n(364))})},K=function(t){return n.e(22,function(){return t(n(363))})};e.default=[{path:\"/\",component:o.default,children:[{path:\"\",redirect:\"/home\"},{path:\"/home\",component:i},{path:\"/city/:cityid\",component:s},{path:\"/msite\",component:c,meta:{keepAlive:!0}},{path:\"/food\",component:y},{path:\"/search/:geohash\",component:u},{path:\"/shop\",component:l,children:[{path:\"foodDetail\",component:x},{path:\"shopDetail\",component:O,children:[{path:\"shopSafe\",component:C}]}]},{path:\"/confirmOrder\",component:A,children:[{path:\"remark\",component:E},{path:\"invoice\",component:z},{path:\"payment\",component:b},{path:\"userValidation\",component:M},{path:\"chooseAddress\",component:R,children:[{path:\"addAddress\",component:w,children:[{path:\"searchAddress\",component:D}]}]}]},{path:\"/login\",component:d},{path:\"/profile\",component:f,children:[{path:\"info\",component:L,children:[{path:\"setusername\",component:T},{path:\"address\",component:I,children:[{path:\"add\",component:k,children:[{path:\"addDetail\",component:H}]}]}]},{path:\"service\",component:Y}]},{path:\"/forget\",component:h},{path:\"/order\",component:v,children:[{path:\"orderDetail\",component:p}]},{path:\"/vipcard\",component:m,children:[{path:\"invoiceRecord\",component:_},{path:\"useCart\",component:g},{path:\"vipDescription\",component:S}]},{path:\"/find\",component:J},{path:\"/download\",component:K},{path:\"/service\",component:Y,children:[{path:\"questionDetail\",component:$}]},{path:\"balance\",component:B,children:[{path:\"detail\",component:V}]},{path:\"benefit\",component:F,children:[{path:\"coupon\",component:P},{path:\"hbDescription\",component:N},{path:\"hbHistory\",component:U},{path:\"exchange\",component:G},{path:\"commend\",component:j}]},{path:\"points\",component:q,children:[{path:\"detail\",component:X}]}]}]},173:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var a=n(20),o=r(a),i=n(19),s=r(i),c=n(16),u=n(96);e.default={getUserInfo:function(t){var e=this,n=t.commit;t.state;return(0,s.default)(o.default.mark(function t(){var r;return o.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,(0,c.getUser)();case 2:r=t.sent,n(u.GET_USERINFO,r);case 4:case\"end\":return t.stop()}},t,e)}))()},saveAddress:function(t){var e=this,n=t.commit,r=t.state;return(0,s.default)(o.default.mark(function t(){var a;return o.default.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!(r.removeAddress.length>0)){t.next=2;break}return t.abrupt(\"return\");case 2:return t.next=4,(0,c.getAddressList)(r.userInfo.user_id);case 4:a=t.sent,n(u.SAVE_ADDRESS,a);case 6:case\"end\":return t.stop()}},t,e)}))()}}},174:function(t,e){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={}},175:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var a=n(120),o=r(a),i=n(4),s=r(i),c=n(176),u=r(c),l=n(173),d=r(l),f=n(174),h=r(f);o.default.use(s.default);var v={latitude:\"\",longitude:\"\",cartList:{},shopDetail:null,userInfo:null,shopid:null,remarkText:null,inputText:\"\",invoice:!1,newAddress:[],searchAddress:null,geohash:\"31.22299,121.36025\",choosedAddress:null,addressIndex:null,needValidation:null,cartId:null,sig:null,orderParam:null,orderMessage:null,orderDetail:null,login:!0,imgPath:null,removeAddress:[],addAddress:\"\",question:null,cartPrice:null};e.default=new s.default.Store({state:v,getters:h.default,actions:d.default,mutations:u.default})},176:function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var a,o=n(66),i=r(o),s=n(52),c=r(s),u=n(55),l=r(u),d=n(10),f=r(d),h=n(96),v=n(27);n(17);e.default=(a={},(0,i.default)(a,h.RECORD_ADDRESS,function(t,e){var n=e.latitude,r=e.longitude;t.latitude=n,t.longitude=r}),(0,i.default)(a,h.RECORD_SHOPDETAIL,function(t,e){t.shopDetail=e}),(0,i.default)(a,h.ADD_CART,function(t,e){var n=e.shopid,r=e.category_id,a=e.item_id,o=e.food_id,i=e.name,s=e.price,c=e.specs,u=e.packing_fee,l=e.sku_id,d=e.stock,h=t.cartList,p=h[n]=h[n]||{},m=p[r]=p[r]||{},_=m[a]=m[a]||{};_[o]?_[o].num++:_[o]={num:1,id:o,name:i,price:s,specs:c,packing_fee:u,sku_id:l,stock:d},t.cartList=(0,f.default)({},h),(0,v.setStore)(\"buyCart\",t.cartList)}),(0,i.default)(a,h.REDUCE_CART,function(t,e){var n=e.shopid,r=e.category_id,a=e.item_id,o=e.food_id,i=(e.name,e.price,e.specs,t.cartList),s=i[n]||{},c=s[r]||{},u=c[a]||{};u&&u[o]&&(u[o].num>0?(u[o].num--,t.cartList=(0,f.default)({},i),(0,v.setStore)(\"buyCart\",t.cartList)):u[o]=null)}),(0,i.default)(a,h.INIT_BUYCART,function(t){var e=(0,v.getStore)(\"buyCart\");e&&(t.cartList=JSON.parse(e))}),(0,i.default)(a,h.CLEAR_CART,function(t,e){t.cartList[e]=null,t.cartList=(0,f.default)({},t.cartList),(0,v.setStore)(\"buyCart\",t.cartList)}),(0,i.default)(a,h.RECORD_USERINFO,function(t,e){t.userInfo=e,t.login=!0,(0,v.setStore)(\"user_id\",e.user_id)}),(0,i.default)(a,h.GET_USERINFO,function(t,e){t.userInfo&&t.userInfo.username!==e.username||t.login&&(e.message?t.userInfo=null:t.userInfo=(0,f.default)({},e))}),(0,i.default)(a,h.RETSET_NAME,function(t,e){t.userInfo=(0,l.default)({},t.userInfo,{username:e})}),(0,i.default)(a,h.SAVE_SHOPID,function(t,e){t.shopid=e}),(0,i.default)(a,h.CONFIRM_REMARK,function(t,e){var n=e.remarkText,r=e.inputText;t.remarkText=n,t.inputText=r}),(0,i.default)(a,h.CONFIRM_INVOICE,function(t,e){t.invoice=e}),(0,i.default)(a,h.CHOOSE_SEARCH_ADDRESS,function(t,e){t.searchAddress=e}),(0,i.default)(a,h.SAVE_GEOHASH,function(t,e){t.geohash=e}),(0,i.default)(a,h.CONFIRM_ADDRESS,function(t,e){t.newAddress.push(e)}),(0,i.default)(a,h.CHOOSE_ADDRESS,function(t,e){var n=e.address,r=e.index;t.choosedAddress=n,t.addressIndex=r}),(0,i.default)(a,h.NEED_VALIDATION,function(t,e){t.needValidation=e}),(0,i.default)(a,h.SAVE_CART_ID_SIG,function(t,e){var n=e.cart_id,r=e.sig;t.cart_id=n,t.sig=r}),(0,i.default)(a,h.SAVE_ORDER_PARAM,function(t,e){t.orderParam=e}),(0,i.default)(a,h.CHANGE_ORDER_PARAM,function(t,e){t.orderParam=(0,l.default)({},t.orderParam,e)}),(0,i.default)(a,h.ORDER_SUCCESS,function(t,e){t.cartPrice=null,t.orderMessage=e}),(0,i.default)(a,h.SAVE_ORDER,function(t,e){t.orderDetail=e}),(0,i.default)(a,h.OUT_LOGIN,function(t){t.userInfo={},t.login=!1}),(0,i.default)(a,h.SAVE_AVANDER,function(t,e){t.imgPath=e}),(0,i.default)(a,h.SAVE_ADDRESS,function(t,e){t.removeAddress=e}),(0,i.default)(a,h.SAVE_ADDDETAIL,function(t,e){t.addAddress=e}),(0,i.default)(a,h.SAVE_QUESTION,function(t,e){t.question=(0,f.default)({},e)}),(0,i.default)(a,h.ADD_ADDRESS,function(t,e){t.removeAddress=[e].concat((0,c.default)(t.removeAddress))}),(0,i.default)(a,h.BUY_CART,function(t,e){t.cartPrice=e}),a)},272:function(t,e){},289:function(t,e){},343:function(t,e,n){n(289);var r=n(1)(n(121),n(412),null,null);t.exports=r.exports},345:function(t,e,n){n(272);var r=n(1)(n(123),n(395),null,null);t.exports=r.exports},395:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"svg\",{staticStyle:{position:\"absolute\",width:\"0\",height:\"0\",visibility:\"hidden\"},attrs:{xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\"}},[n(\"defs\",[n(\"symbol\",{attrs:{viewBox:\"0 0 60 60\",id:\"eleme\"}},[n(\"path\",{attrs:{fill:\"#3CABFF\",\"fill-rule\":\"evenodd\",d:\"M0 9.375A9.374 9.374 0 0 1 9.375 0h41.25A9.374 9.374 0 0 1 60 9.375v41.25A9.374 9.374 0 0 1 50.625 60H9.375A9.374 9.374 0 0 1 0 50.625V9.375zm35.94 30.204c-5.601 3.147-12.645 1.256-15.834-4.217-3.206-5.501-1.303-12.537 4.25-15.713 4.7-2.689 10.51-1.749 14.127 1.941L27.526 27.89a2.81 2.81 0 0 0-1.037 3.854 2.862 2.862 0 0 0 3.887 1.035l15.988-9.166a17.238 17.238 0 0 0-1.222-2.571c-4.777-8.198-15.358-11.007-23.632-6.275-8.275 4.734-11.11 15.217-6.332 23.415 4.77 8.184 15.322 10.997 23.59 6.297.877-.5 1.654-1.037 2.376-1.623l-1.31-2.248a2.868 2.868 0 0 0-3.893-1.028zm10.824-7.39l-1.418-2.425-4.911 2.798 2.835 4.846 2.454-1.399h.002a2.779 2.779 0 0 0 1.038-3.82z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 28 33\",id:\"user\"}},[n(\"path\",{staticClass:\"path1\",attrs:{\"fill-rule\":\"evenodd\",d:\"M20.798 19.289c2.636-2.002 4.215-5.091 4.215-8.437 0-5.886-4.845-10.647-10.808-10.647S3.397 4.966 3.397 10.852c0 3.345 1.578 6.433 4.212 8.435l.264-2.678C4.358 18.32 1.591 21.403.168 25.187l1.478.556v-1.579c-1.485.73-1.485.73-1.501 1.079-.054.188-.054.188-.069.278a2.58 2.58 0 0 0-.026.229 9.112 9.112 0 0 0-.019.4c-.008.265-.014.617-.018 1.039-.005.511-.006 1.037-.006 1.451v.027c-.004 1.732 1.41 3.129 3.154 3.129h22.082a3.18 3.18 0 0 0 3.172-3.153l.011-1.305.008-.897.003-.296.001-.083v-.022-.006-.001l.002-.278-.093-.262c-1.385-3.918-4.203-7.122-7.812-8.88l.263 2.678zm-1.911-2.516l-2.045 1.553 2.309 1.125c2.856 1.392 5.106 3.949 6.218 7.093l-.09-.54V26.033l-.001.083-.003.296-.008.897-.011 1.305c0 .01-.011.021-.013.021H3.161c-.007 0 .005.011.005.032v-.031c0-.404.001-.92.006-1.418.004-.4.01-.732.017-.969.004-.121.008-.212.012-.262l-.006.043c-.009.06-.009.06-.058.229-.01.336-.01.336-1.49 1.063H2.74l.385-1.024c1.141-3.035 3.35-5.495 6.131-6.849l2.309-1.124-2.045-1.554c-1.859-1.412-2.964-3.576-2.964-5.92 0-4.129 3.418-7.488 7.649-7.488s7.649 3.359 7.649 7.488c0 2.344-1.106 4.509-2.966 5.921z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 32 31\",id:\"shop\"}},[n(\"g\",{attrs:{\"fill-rule\":\"evenodd\"}},[n(\"path\",{attrs:{d:\"M28.232 1.822C27.905.728 26.97.152 25.759.152H5.588c-1.252 0-1.867.411-2.397 1.415l-.101.243-.443 1.434-.975 3.154-.002.007C.837 9.101.294 10.854.26 10.956l-.059.259c-.231 1.787.337 3.349 1.59 4.448 1.159 1.017 2.545 1.384 3.865 1.384.07 0 .07 0 .132-.002-.01.001-.01.001.061.002 1.32 0 2.706-.367 3.865-1.384a4.96 4.96 0 0 0 .413-.407l-1.043-.946-1.056.931c1.033 1.171 2.51 1.792 4.21 1.801.04.002.088.004.173.004 1.32 0 2.706-.367 3.865-1.384.148-.13.287-.267.418-.411l-1.044-.944-1.057.93c1.033 1.174 2.511 1.796 4.213 1.806.04.002.088.004.173.004 1.32 0 2.706-.367 3.865-1.384.15-.131.29-.27.422-.416l-1.046-.943-1.058.929c1.033 1.177 2.513 1.801 4.218 1.811.04.002.088.004.173.004 1.32 0 2.706-.367 3.865-1.384 1.206-1.058 1.858-2.812 1.676-4.426-.069-.61-.535-2.207-1.354-4.785l-.109-.342a327.554 327.554 0 0 0-1.295-3.966l-.122-.366.014.043h.004zm-2.684.85l.12.361.318.962c.329.999.658 2.011.965 2.973l.108.338c.719 2.262 1.203 3.92 1.24 4.249.08.711-.233 1.553-.735 1.993-.553.485-1.308.685-2.008.685l-.098-.002c-.987-.007-1.695-.306-2.177-.854l-1.044-1.189-1.06 1.175a2.192 2.192 0 0 1-.188.185c-.553.485-1.308.685-2.008.685l-.098-.002c-.985-.007-1.693-.305-2.174-.852l-1.043-1.185-1.059 1.171c-.058.064-.12.125-.186.183-.553.485-1.308.685-2.008.685l-.098-.002c-.984-.007-1.692-.304-2.173-.85L9.101 12.2l-1.058 1.166a2.248 2.248 0 0 1-.184.181c-.553.485-1.307.685-2.008.685l-.061-.001-.131.001c-.701 0-1.455-.2-2.008-.685-.538-.472-.767-1.102-.654-1.971l-1.396-.18 1.338.44c.043-.13.552-1.775 1.425-4.599l.002-.007.975-3.155.443-1.434-1.345-.415 1.245.658c.054-.102.042-.085-.083-.001-.122.082-.143.086-.009.086H25.763c.053 0-.164-.133-.225-.339l.014.043-.004-.001zM5.528 19.48c.778 0 1.408.63 1.408 1.408v7.424a1.408 1.408 0 1 1-2.816 0v-7.424c0-.778.63-1.408 1.408-1.408z\"}}),t._v(\" \"),n(\"path\",{attrs:{d:\"M.28 29.72c0-.707.58-1.28 1.277-1.28h28.155a1.28 1.28 0 0 1 .007 2.56H1.561A1.278 1.278 0 0 1 .28 29.72z\"}}),t._v(\" \"),n(\"path\",{attrs:{d:\"M26.008 19.48c.778 0 1.408.63 1.408 1.408v7.424a1.408 1.408 0 1 1-2.816 0v-7.424c0-.778.63-1.408 1.408-1.408z\"}})])]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 28 33\",id:\"location\"}},[n(\"g\",{attrs:{\"fill-rule\":\"evenodd\"}},[n(\"path\",{staticClass:\"path1\",attrs:{d:\"M20.809 21.6L12.9 29.509h1.616l-7.992-7.992a13.003 13.003 0 0 1-.506-.478c-4.25-4.25-4.25-11.14 0-15.389s11.14-4.25 15.389 0c4.25 4.25 4.25 11.14 0 15.389a10.81 10.81 0 0 1-.543.508l-.056.052zm1.56 1.669c.225-.196.443-.401.656-.613 5.142-5.142 5.142-13.48 0-18.622s-13.48-5.142-18.622 0c-5.142 5.142-5.142 13.48 0 18.622.18.18.364.354.553.522l8.753 8.755 8.661-8.664z\"}}),t._v(\" \"),n(\"path\",{staticClass:\"path2\",attrs:{d:\"M9.428 16.739a6.063 6.063 0 1 0 8.573-8.575 6.063 6.063 0 0 0-8.573 8.575zm1.616-1.616a3.776 3.776 0 1 1 5.34-5.341 3.776 3.776 0 0 1-5.34 5.341z\"}})])]),t._v(\" \"),n(\"symbol\",{attrs:{id:\"star\",viewBox:\"0 0 32 32\"}},[n(\"path\",{staticClass:\"path1\",attrs:{d:\"M16 26.382l-8.16 4.992c-1.5 0.918-2.382 0.264-1.975-1.435l2.226-9.303-7.269-6.218c-1.337-1.143-0.987-2.184 0.755-2.322l9.536-0.758 3.667-8.835c0.674-1.624 1.772-1.613 2.442 0l3.667 8.835 9.536 0.758c1.753 0.139 2.082 1.187 0.755 2.322l-7.269 6.218 2.226 9.303c0.409 1.71-0.485 2.347-1.975 1.435l-8.16-4.992z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 32 32\",id:\"backtop\"}},[n(\"g\",{attrs:{\"fill-rule\":\"evenodd\"}},[n(\"circle\",{attrs:{cx:\"16\",cy:\"16\",r:\"15\",stroke:\"#999\",\"stroke-width\":\"0.6\",fill:\"none\"}}),t._v(\" \"),n(\"line\",{staticStyle:{stroke:\"#999\",\"stroke-width\":\"0.8\"},attrs:{x1:\"16\",y1:\"10\",x2:\"16\",y2:\"21\"}}),t._v(\" \"),n(\"line\",{staticStyle:{stroke:\"#999\",\"stroke-width\":\"0.8\"},attrs:{x1:\"10\",y1:\"10\",x2:\"22\",y2:\"10\"}}),t._v(\" \"),n(\"path\",{staticStyle:{stroke:\"#999\",\"stroke-width\":\"0.8\",fill:\"none\"},attrs:{d:\"M9.5 18 L16 10 L22.5 18\"}}),t._v(\" \"),n(\"text\",{staticStyle:{\"font-size\":\"6px\",fill:\"#999\",\"font-weight\":\"700\"},attrs:{x:\"10\",y:\"27\"}},[t._v(\"顶部\")])])]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 33 32\",id:\"default\"}},[n(\"path\",{attrs:{fill:\"#3b87c8\",d:\"M13.374 29.064a.94.94 0 0 1-.941-.941V6.476l-7.285 6.899a.942.942 0 0 1-1.299-1.364l8.876-8.424a.94.94 0 0 1 1.59.681v23.855a.94.94 0 0 1-.941.941zM20.904 29.355h-.008a.94.94 0 0 1-.375-.078.943.943 0 0 1-.559-.86V3.944a.94.94 0 1 1 1.882 0v22.287l7.238-6.842a.94.94 0 0 1 1.289 1.366l-8.818 8.338a.943.943 0 0 1-.649.264z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 32 32\",id:\"distance\"}},[n(\"path\",{attrs:{fill:\"#2a9bd3\",d:\"M15.884 31.236l-.042.001a.888.888 0 0 1-.59-.224l-7.91-7.91a7.548 7.548 0 0 1-.498-.471 12.752 12.752 0 0 1-3.747-9.045C3.097 6.523 8.824.796 15.888.796s12.791 5.727 12.791 12.791c0 3.532-1.432 6.73-3.747 9.045-.196.196-.409.391-.613.578l-7.813 7.804a.886.886 0 0 1-.589.223l-.035-.001zm0-28.667C9.818 2.59 4.908 7.513 4.908 13.582c0 3.023 1.218 5.762 3.19 7.752l.461.435 7.316 7.316 7.2-7.2q.284-.249.551-.516a10.977 10.977 0 0 0 3.225-7.787c0-6.066-4.905-10.987-10.965-11.013z\"}}),t._v(\" \"),n(\"path\",{attrs:{fill:\"#2a9bd3\",d:\"M15.884 18.524a5.707 5.707 0 0 1-4.07-1.732l-.001-.001a5.76 5.76 0 1 1 4.119 1.734h-.05zm-2.817-2.942a3.982 3.982 0 1 0 0-5.626c-.726.717-1.175 1.713-1.175 2.813s.449 2.096 1.175 2.813z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 32 32\",id:\"fengniao\"}},[n(\"path\",{attrs:{fill:\"#27a9e1\",d:\"M5.953 2.793s-.117 1.801.857 3.56c.361.255 10.458 6.218 10.458 6.218L5.953 2.794z\"}}),t._v(\" \"),n(\"path\",{attrs:{fill:\"#b8e5fa\",d:\"M9.604.889s-.333 1.404.069 3.147c.254.307 7.801 8.116 7.801 8.116L9.604.889z\"}}),t._v(\" \"),n(\"path\",{attrs:{fill:\"#0089cf\",d:\"M29.282 14.601l-4.861-.361s-.133-.001-.147-.226h-.002a2.652 2.652 0 0 0-2.978-2.357h-.003l-.011.001-.12.019-.004.001c-.432.075-1.812.374-3.038 1.285 0 0-.167.121-.421.33L2.665 6.043s3.254 8.665 12.207 11.98c-1.6 2.849-7.407 13.48-7.407 13.48l2.446-1.306s.775-2.853 1.884-4.957c.609-.936 1.211-.992 1.498-1.141.291-.151 3.707-.765 6.431-4.339.897-1.166 1.244-2.666 1.723-4.261.28-.061 3.008-.651 3.789-.718 1.068-.092 4.045-.181 4.045-.181z\"\n}}),t._v(\" \"),n(\"path\",{attrs:{fill:\"#0089cf\",d:\"M7.392 17.849c-1.567-1.368-2.199-3.219-2.035-5.217-.232-.288-.45-.572-.654-.851-.484 2.903.555 4.854 2.176 6.269 1.538 1.342 3.635 1.85 5.466 1.577-1.674.109-3.563-.565-4.953-1.778z\"}}),t._v(\" \"),n(\"path\",{attrs:{fill:\"#0089cf\",d:\"M12.345 19.628h.002zm-7.642-7.846c.204.279.421.563.654.851-.164 1.998.468 3.849 2.035 5.217 1.292 1.128 3.016 1.79 4.597 1.79.12 0 .238-.004.356-.011a6.554 6.554 0 0 1-.975.071c-1.568 0-3.22-.54-4.49-1.648-1.621-1.415-2.66-3.366-2.176-6.269z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 23 32\",id:\"hot\"}},[n(\"path\",{attrs:{fill:\"#f07373\",d:\"M9.859 29.375c-3.489-.771-6.362-3.097-7.187-5.551-.882-2.623-1.029-6.873-.238-9.318l-1.727.037.001.002.001.004.004.01.011.029.038.091c.039.09.086.191.142.3.155.304.349.627.586.955a7.477 7.477 0 0 0 2.711 2.318c.583.153.583.153 1.087-.188.187-.263.187-.263.224-.39.028-.094.041-.176.05-.28.01-.109.016-.238.022-.47.063-2.219.162-3.38.562-4.943a10.05 10.05 0 0 1 .814-2.185c1.433-2.723 4.843-6.053 6.699-7.021l-1.325-.962c-.064.382-.127.992-.131 1.722-.008 1.252.169 2.393.616 3.329.261.547.525.968 1.132 1.862l.23.339c.86 1.281 1.161 1.986 1.069 2.653l-.009.125c.069.517.069.517.781.906.451-.026.451-.026.578-.104.144-.093.144-.093.19-.136.041-.037.079-.077.123-.125.068-.076.153-.178.245-.295.22-.279.458-.615.677-.963.648-1.028 1.045-1.988 1.037-2.845l-.914.009-.706.581c.295.358.809 1.075 1.33 1.936.826 1.363 1.492 2.791 1.898 4.209 1.1 3.845.3 9.288-2.245 11.75a9.652 9.652 0 0 1-1.659 1.29 10.232 10.232 0 0 1-3.471 1.332c-.794.151-1.385.191-2.064.191h-.009a2.75 2.75 0 0 1-.373-.03 6.007 6.007 0 0 1-.585-.115 7.765 7.765 0 0 1-.536-.15l-.578 1.735a9.182 9.182 0 0 0 1.445.341c.221.031.43.048.627.048h.009a12.546 12.546 0 0 0 2.407-.224 12.011 12.011 0 0 0 4.088-1.572c.699-.431 1.358-.94 1.971-1.533 3.098-2.998 4-9.132 2.731-13.567-.455-1.591-1.188-3.161-2.092-4.653-.569-.939-1.134-1.727-1.482-2.15l-1.645-1.998.024 2.588c.004.412-.281 1.1-.756 1.853a9.64 9.64 0 0 1-.569.809 4.528 4.528 0 0 1-.158.195c.028-.027.028-.027.16-.113.122-.075.122-.075.57-.101.71.388.71.388.778.902h-.914l.906.125c.174-1.262-.261-2.281-1.362-3.922l-.235-.347c-.554-.817-.787-1.189-.995-1.624-.306-.642-.444-1.53-.438-2.53a10.566 10.566 0 0 1 .107-1.431L14.44.304l-1.628.85c-2.18 1.138-5.862 4.733-7.471 7.791a11.873 11.873 0 0 0-.967 2.583 19.2 19.2 0 0 0-.511 3.147c-.036.423-.061.839-.079 1.273-.011.281-.019.531-.029.924-.005.191-.01.298-.015.354a.403.403 0 0 1 .019-.077c.027-.099.027-.099.203-.346.492-.332.492-.332 1.112-.157a5.745 5.745 0 0 1-2.54-2.496 3.456 3.456 0 0 1-.093-.197l-.018-.044-.002-.006v.001l.001.002v.002l-.915-2.473-.812 2.51c-.917 2.836-.757 7.485.245 10.463 1.042 3.099 4.442 5.852 8.526 6.754l.395-1.785z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 32 32\",id:\"price\"}},[n(\"path\",{attrs:{fill:\"#e6b61a\",d:\"M16 32c8.837 0 16-7.163 16-16S24.837 0 16 0 0 7.163 0 16s7.163 16 16 16zm0-2C8.268 30 2 23.732 2 16S8.268 2 16 2s14 6.268 14 14-6.268 14-14 14z\"}}),n(\"path\",{attrs:{fill:\"#e6b61a\",d:\"M23.14 6.06l-5.12 8.65h4.48v1.54h-5.49v2.43h5.49v1.54h-5.49v5.1h-2.02v-5.1H9.53v-1.54h5.46v-2.43H9.53v-1.54h4.45L8.8 6.06h2.24l4.99 8.48 4.93-8.48h2.18z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 33 32\",id:\"rating\"}},[n(\"path\",{attrs:{fill:\"#eba53b\",d:\"M27.087 31.84L16.8 25.553 6.504 31.84l2.824-11.727-9.186-7.878 12.019-.941L16.801.16l4.631 11.134 12.019.941-9.158 7.849zM16.8 23.369l7.407 4.527-2.014-8.471 6.588-5.647-8.659-.696L16.8 5.063l-3.341 8.019-8.659.696 6.588 5.647-2.014 8.471z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 38 32\",id:\"selected\"}},[n(\"path\",{attrs:{fill:\"#3190e8\",d:\"M32.291 2.327c.582-.582 1.455-.582 2.036 0l2.036 2.036c.582.582.582 1.455 0 2.036L13.818 29.09c-.582.582-1.455.582-2.036 0L1.455 18.908c-.582-.582-.582-1.455 0-2.036l2.036-2.036c.582-.582 1.455-.582 2.036 0l7.273 7.273L32.291 2.327z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 32 32\",id:\"speed\"}},[n(\"path\",{attrs:{fill:\"#37c7b7\",d:\"M16 32c8.837 0 16-7.163 16-16S24.837 0 16 0 0 7.163 0 16s7.163 16 16 16zm0-2C8.268 30 2 23.732 2 16S8.268 2 16 2s14 6.268 14 14-6.268 14-14 14z\"}}),n(\"path\",{attrs:{fill:\"#37c7b7\",d:\"M15 7v11.002l5.678 4.882 1.304-1.517-5.33-4.583.348.758V6.999h-2z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 50 50\",id:\"cart-minus\"}},[n(\"path\",{attrs:{\"fill-rule\":\"evenodd\",\"stroke-width\":\"4\",d:\"M22 0C9.8 0 0 9.8 0 22s9.8 22 22 22 22-9.8 22-22S34.2 0 22 0zm0 42C11 42 2 33 2 22S11 2 22 2s20 9 20 20-9 20-20 20z\",\"clip-rule\":\"evenodd\"}}),t._v(\" \"),n(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M32 20c1.1 0 2 .9 2 2s-.9 2-2 2H12c-1.1 0-2-.9-2-2s.9-2 2-2h20z\",\"clip-rule\":\"evenodd\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 50 50\",id:\"cart-add\"}},[n(\"path\",{attrs:{fill:\"none\",d:\"M0 0h44v44H0z\"}}),t._v(\" \"),n(\"path\",{attrs:{\"fill-rule\":\"evenodd\",d:\"M22 0C9.8 0 0 9.8 0 22s9.8 22 22 22 22-9.8 22-22S34.2 0 22 0zm10 24h-8v8c0 1.1-.9 2-2 2s-2-.9-2-2v-8h-8c-1.1 0-2-.9-2-2s.9-2 2-2h8v-8c0-1.1.9-2 2-2s2 .9 2 2v8h8c1.1 0 2 .9 2 2s-.9 2-2 2z\",\"clip-rule\":\"evenodd\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 24 32\",id:\"cart-remove\"}},[n(\"path\",{attrs:{fill:\"#bbb\",\"fill-rule\":\"evenodd\",d:\"M21.5 10h-19c-1.1 0-1.918.896-1.819 1.992l1.638 18.016C2.419 31.104 3.4 32 4.5 32h15c1.1 0 2.081-.896 2.182-1.992l1.637-18.016A1.798 1.798 0 0 0 21.5 10zM8 28H5L4 14h4v14zm6 0h-4V14h4v14zm5 0h-3V14h4l-1 14zm2-24h-2.941l-.353-2.514C17.592.669 16.823 0 15.998 0H8c-.825 0-1.593.668-1.708 1.486L5.94 4H3a3 3 0 0 0-3 3v1h24V7a3 3 0 0 0-3-3zM8.24 2h7.52l.279 2H7.96l.28-2z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 14 16\",id:\"cart\"}},[n(\"path\",{attrs:{fill:\"#FFF\",\"fill-rule\":\"evenodd\",d:\"M12.364 2.998H2.088L1.816.687a.455.455 0 0 0-.478-.431L.431.303A.454.454 0 0 0 0 .78l1.256 10.893c.006.293.011 1.325.933 1.325h9.546a.455.455 0 0 0 .455-.454v-.881a.454.454 0 0 0-.455-.455H3.05l-.11-.937h8.606c.998 0 1.889-.724 1.989-1.616l.455-4.04c.1-.893-.628-1.617-1.626-1.617zm-.45 4.245c-.075.669-.317 1.212-1.066 1.212H2.727L2.3 4.812h8.821c.749 0 1.065.543.99 1.212l-.197 1.219zM2.416 15.79a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm9.092 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 58 58\",id:\"cart-icon\"}},[n(\"defs\",[n(\"filter\",{attrs:{id:\"a\",width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\",filterUnits:\"objectBoundingBox\"}},[n(\"feOffset\",{attrs:{in:\"SourceAlpha\",result:\"shadowOffsetOuter1\"}}),n(\"feGaussianBlur\",{attrs:{stdDeviation:\"1.5\",in:\"shadowOffsetOuter1\",result:\"shadowBlurOuter1\"}}),n(\"feColorMatrix\",{attrs:{values:\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0\",in:\"shadowBlurOuter1\",result:\"shadowMatrixOuter1\"}}),n(\"feMerge\",[n(\"feMergeNode\",{attrs:{in:\"shadowMatrixOuter1\"}}),n(\"feMergeNode\",{attrs:{in:\"SourceGraphic\"}})],1)],1),n(\"path\",{attrs:{id:\"b\",d:\"M7.614 4.051c-1.066.086-1.452-.398-1.752-1.584C5.562 1.28.33 5.88.33 5.88l3.71 19.476c0 .148-1.56 7.515-1.56 7.515-.489 2.19.292 4.27 3.56 4.32 0 0 36.917.017 36.92.047 1.979-.012 2.981-.995 3.013-3.039.03-2.043-1.045-2.978-2.987-2.993L8.83 31.192s.86-3.865 1.077-3.865c0 0-5.788.122 32.065-1.956.606-.033 2.018-.764 2.298-1.848 1.113-4.317 4.008-13.26 4.458-15.64.932-4.925 2.061-8.558-4.28-7.405 0 0-35.768 3.487-36.833 3.573z\"}})]),t._v(\" \"),n(\"g\",{attrs:{fill:\"none\",\"fill-rule\":\"evenodd\",filter:\"url(#a)\",transform:\"translate(3 2)\"}},[n(\"g\",{attrs:{transform:\"translate(5.038 7.808)\"}},[n(\"mask\",{attrs:{id:\"c\",fill:\"#fff\"}},[n(\"use\",{attrs:{\"xlink:href\":\"#b\"}})]),n(\"use\",{attrs:{fill:\"#FFF\",\"xlink:href\":\"#b\"}}),n(\"path\",{attrs:{fill:\"#2073C1\",d:\"M53.962 7.774l-5.701 19.305-40.78 1.574z\",opacity:\".1\",mask:\"url(#c)\"}})]),n(\"path\",{attrs:{stroke:\"#FFF\",\"stroke-width\":\"6\",d:\"M9.374 18.722S7.868 11.283 7.323 8.71C6.778 6.136 5.86 5.33 3.978 4.52 2.096 3.713.367 2.286.367 2.286\",\"stroke-linecap\":\"round\"}}),n(\"circle\",{attrs:{cx:\"46\",cy:\"51\",r:\"4\",fill:\"#FFF\"}}),n(\"circle\",{attrs:{cx:\"12\",cy:\"51\",r:\"4\",fill:\"#FFF\"}})])]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 14 14\",id:\"arrow-left\"}},[n(\"path\",{attrs:{d:\"M0 0 L8 7 L0 14\",stroke:\"#fff\",\"stroke-width\":\"1\",fill:\"none\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 1024 1024\",id:\"res-well\"}},[n(\"path\",{attrs:{fill:\"#7ED321\",\"fill-rule\":\"evenodd\",d:\"M512 0C229.376 0 0 229.376 0 512s229.376 512 512 512 512-229.376 512-512S794.624 0 512 0zM247.808 402.432c0-36.864 39.936-93.184 93.184-93.184s93.184 56.32 93.184 93.184c0 11.264-9.216 20.48-20.48 20.48-11.264 0-20.48-9.216-20.48-20.48 0-16.384-24.576-52.224-52.224-52.224-27.648 0-52.224 35.84-52.224 52.224 0 11.264-9.216 20.48-20.48 20.48-11.264 0-20.48-9.216-20.48-20.48zM512 800.768c-132.096 0-239.616-96.256-239.616-215.04 0-11.264 9.216-20.48 20.48-20.48 11.264 0 20.48 9.216 20.48 20.48 0 96.256 89.088 174.08 198.656 174.08 109.568 0 198.656-77.824 198.656-174.08 0-11.264 9.216-20.48 20.48-20.48 11.264 0 20.48 9.216 20.48 20.48 0 117.76-107.52 215.04-239.616 215.04zm243.712-377.856c-11.264 0-20.48-9.216-20.48-20.48 0-17.408-24.576-52.224-52.224-52.224-28.672 0-52.224 34.816-52.224 52.224 0 11.264-9.216 20.48-20.48 20.48-11.264 0-20.48-9.216-20.48-20.48 0-36.864 39.936-93.184 93.184-93.184s93.184 56.32 93.184 93.184c0 11.264-9.216 20.48-20.48 20.48z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 1024 1024\",id:\"res-bad\"}},[n(\"path\",{attrs:{fill:\"#D0021B\",\"fill-rule\":\"evenodd\",d:\"M512 0C230.326 0 0 230.326 0 512s230.573 512 512 512 512-230.326 512-512S793.674 0 512 0zM240.694 373.755l158.735-56.285 15.306 46.164L256 419.919l-15.306-46.164zm440.409 384.123c-10.122 0-20.49-10.122-25.674-20.49-10.122-10.122-61.47-25.674-148.366-25.674-86.896 0-138.245 15.306-148.366 25.674 0 10.122-10.122 20.49-25.674 20.49s-25.674-10.122-25.674-25.674c0-71.591 174.041-71.591 194.53-71.591 20.489 0 194.53 0 194.53 71.591 10.122 10.368 0 25.674-15.306 25.674zM768 419.919l-163.672-61.47 15.306-46.164 158.735 56.285-10.368 51.348-.001.001z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 122 122\",id:\"avatar-default\"}},[n(\"path\",{attrs:{fill:\"#DCDCDC\",\"fill-rule\":\"evenodd\",d:\"M61 121.5c33.413 0 60.5-27.087 60.5-60.5S94.413.5 61 .5.5 27.587.5 61s27.087 60.5 60.5 60.5zm12.526-45.806c-.019 3.316-.108 6.052.237 9.825 3.286 8.749 18.816 9.407 28.468 17.891-1.833 1.998-6.768 6.788-15 10.848-7.02 3.463-16.838 6.416-24.831 6.416-17.366 0-32.764-7.149-42.919-17.264 9.713-8.407 25.49-9.173 28.769-17.891.345-3.773.258-6.509.24-9.825l-.004-.002c-1.903-.985-5.438-7.268-6.01-12.571-1.492-.12-3.843-1.561-4.534-7.247-.37-3.053 1.107-4.77 2.004-5.31-5.046-19.212 1.507-33.16 20.749-34.406 5.753 0 10.18 1.52 11.909 4.523 15.35 2.702 11.756 22.658 9.328 29.882.899.54 2.376 2.258 2.004 5.31-.689 5.687-3.042 7.127-4.534 7.248-.575 5.305-3.25 10.82-5.873 12.57l-.003.003zM61 120.5C28.14 120.5 1.5 93.86 1.5 61S28.14 1.5 61 1.5s59.5 26.64 59.5 59.5-26.64 59.5-59.5 59.5z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 655 1024\",id:\"mobile\"}},[n(\"path\",{attrs:{d:\"M0 122.501v778.998C0 968.946 55.189 1024 123.268 1024h408.824c68.52 0 123.268-54.846 123.268-122.501V122.501C655.36 55.054 600.171 0 532.092 0H123.268C54.748 0 0 54.846 0 122.501zM327.68 942.08c-22.622 0-40.96-18.338-40.96-40.96s18.338-40.96 40.96-40.96 40.96 18.338 40.96 40.96-18.338 40.96-40.96 40.96zM81.92 163.84h491.52V819.2H81.92V163.84z\"}})]),t._v(\" \"),n(\"symbol\",{staticClass:\"icon\",attrs:{viewBox:\"0 0 1024 1024\",id:\"arrow-right\"}},[n(\"path\",{staticClass:\"selected\",attrs:{d:\"M716.298 417.341l-.01.01L307.702 7.23l-94.295 94.649 408.591 410.117-408.591 410.137 94.295 94.639 502.891-504.76z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 40 40\",id:\"order\"}},[n(\"path\",{attrs:{d:\"M31.5 3h-23C6 3 4 5.1 4 7.7v24.7C4 34.9 6 37 8.5 37h23c2.5 0 4.5-2.1 4.5-4.7V7.7C36 5.1 34 3 31.5 3zM11.8 28.2c-1.1 0-2-.9-2-2.1 0-1.1.9-2.1 2-2.1s2 .9 2 2.1c0 1.2-.9 2.1-2 2.1zm0-6.1c-1.1 0-2-.9-2-2.1 0-1.1.9-2.1 2-2.1s2 .9 2 2.1c0 1.1-.9 2.1-2 2.1zm0-6.2c-1.1 0-2-.9-2-2.1 0-1.1.9-2.1 2-2.1s2 .9 2 2.1c0 1.2-.9 2.1-2 2.1zm5.1 11.9h13.5v-2.6H16.9v2.6zm0-6.5h13.5v-2.6H16.9v2.6zm0-6.6h13.5v-2.6H16.9v2.6z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 40 40\",id:\"point\"}},[n(\"path\",{attrs:{d:\"M34.6 7.1c0-1.1-1-2.1-2.1-2.1h-24c-1.1 0-2 1-2.1 2.1l-1.6 25C4.6 34.3 6.3 36 8.5 36h24c2.2 0 3.9-1.7 3.7-3.9l-1.6-25zm-5.9 6.1c-.2 4.6-3.7 8.2-8.3 8.2-4.6 0-8.2-3.7-8.4-8.3-.3-.2-.5-.6-.5-1 0-.7.6-1.2 1.3-1.2s1.3.6 1.3 1.2c0 .5-.3.9-.7 1.1.2 3.8 3.2 6.8 7.1 6.8 3.9 0 6.8-3.1 7-6.9-.4-.2-.6-.6-.6-1.1 0-.7.6-1.2 1.3-1.2s1.3.6 1.3 1.2c-.2.6-.4 1-.8 1.2z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 40 40\",id:\"vip\"}},[n(\"path\",{attrs:{d:\"M7 33.4c0 1.1.9 1.6 2 1.6h22c1.1 0 2-.5 2-1.6V31H7v2.4z\"}}),n(\"path\",{staticClass:\"st0\",attrs:{d:\"M32.1 14.3c-.6 2.3-2.6 4-5.1 4-2.9 0-5.3-2.3-5.3-5.2v-.2c-.5.2-1 .3-1.6.3-.6 0-1.1-.1-1.7-.3v.2c0 2.9-2.4 5.2-5.3 5.2-2.5 0-4.6-1.7-5.1-4.1-.5.4-1.2.6-1.8.6-.3 0-.5.1-.8 0L7.2 29h26l1.7-14.2c-.3.1-.5.1-.8.1-.8 0-1.5-.2-2-.6z\"}}),n(\"ellipse\",{attrs:{cx:\"20.1\",cy:\"8.2\",rx:\"3.2\",ry:\"3.2\"}}),n(\"ellipse\",{attrs:{cx:\"6.4\",cy:\"10.5\",rx:\"2.4\",ry:\"2.4\"}}),n(\"ellipse\",{attrs:{cx:\"33.8\",cy:\"10.5\",rx:\"2.4\",ry:\"2.4\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 40 40\",id:\"download\"}},[n(\"path\",{attrs:{d:\"M30 5H10c-2.8 0-5 2.2-5 5v20c0 2.8 2.2 5 5 5h20c2.8 0 5-2.2 5-5V10c0-2.8-2.2-5-5-5zm-3.9 22.7c-.1.2-.3.4-.6.5-4.3 2.8-10.1 1.6-13-2.8-2.8-4.3-1.6-10.2 2.8-13 4.3-2.8 10.2-1.6 13 2.8.2.2.3.5.4.8.1.2 0 .5-.2.7l-8.8 5.7c-.2.2-.6.1-.7-.2l-.5-.7c-.4-.6-.2-1.5.4-1.9l5.6-3.6c.2-.2.3-.5.2-.7l-.1-.1c-2.2-1.8-5.4-2.1-7.9-.4-3.1 2-4 6.1-2 9.2 2 3.1 6.1 4 9.2 2 .6-.4 1.3-.2 1.7.4l.3.7c.1.2.4.5.2.6zm3.1-4.4l-.9.6c-.2.2-.6.1-.7-.2L26.5 22c-.2-.2-.1-.6.2-.7l1.8-1.1c.2-.2.6-.1.7.2l.6.9c.3.6.1 1.5-.6 2z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 40 40\",id:\"service\"}},[n(\"g\",{attrs:{id:\"service_XMLID_1_\"}},[n(\"path\",{attrs:{id:\"service_XMLID_6_\",d:\"M32.2 9.5c-.2-.7-.1-.7-.4-.9-1.7-1.2-5.3.2-6.7 1.9-.8-3.8-3.8-6.1-4.7-5.9-.9-.2-4 2.1-4.8 5.9-1.3-1.7-5-3.1-6.7-1.9-.1.1-.5.6-.5.7C5.4 20.7 15 24.6 19 25.7v8.7c0 .7.3 1.2 1 1.2s1-.5 1-1.2v-8.6c4-1 14.2-4.8 11.2-16.3z\"}}),n(\"path\",{attrs:{id:\"service_XMLID_7_\",d:\"M6 25c-.9 0-1.6.7-1.6 1.5.1.8.7 1.5 1.6 1.5 3.1 0 6.5 1.5 8.5 3.7.3.3.7.6 1.1.6.4 0 .7-.1 1-.4.6-.6.6-1.6.1-2.3C14.1 26.8 10 25 6 25z\"}}),n(\"path\",{attrs:{id:\"service_XMLID_8_\",d:\"M34.6 25c-4 0-8.1 1.9-10.7 4.6-.6.6-.5 1.6.1 2.2.3.3.7.4 1 .4.4 0 .8-.3 1.1-.6 2-2.1 5.3-3.7 8.4-3.7h.1c.8 0 1.5-.7 1.5-1.5 0-.7-.7-1.4-1.5-1.4z\"}})]),n(\"path\",{staticClass:\"st1\",attrs:{d:\"M0 0h40v40H0z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 120 120\",id:\"select\"}},[n(\"circle\",{attrs:{cx:\"60\",cy:\"60\",r:\"60\"}}),n(\"path\",{attrs:{fill:\"#FFF\",d:\"M63.84 84.678a1.976 1.976 0 0 1-.387.545l-7.975 7.976a1.996 1.996 0 0 1-2.829-.005L24.172 64.716a2.005 2.005 0 0 1-.005-2.828l7.976-7.976a1.996 1.996 0 0 1 2.828.005l19.015 19.015L91.498 35.42a1.991 1.991 0 0 1 2.823 0l7.976 7.977c.784.784.78 2.043 0 2.823L63.84 84.678z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",viewBox:\"0 0 72 72\",id:\"sdk_icon_zhifubao@2x\"}},[n(\"defs\",[n(\"path\",{attrs:{d:\"M36 72c19.882 0 36-16.118 36-36S55.882 0 36 0 0 16.118 0 36s16.118 36 36 36z\",id:\"sdk_icon_zhifubao@2x_a\"}})]),n(\"g\",{attrs:{fill:\"none\",\"fill-rule\":\"evenodd\"}},[n(\"mask\",{attrs:{id:\"sdk_icon_zhifubao@2x_b\",fill:\"#fff\"}},[n(\"use\",{attrs:{\"xlink:href\":\"#sdk_icon_zhifubao@2x_a\"}})]),n(\"use\",{attrs:{fill:\"#00A1E9\",\"xlink:href\":\"#sdk_icon_zhifubao@2x_a\"}}),n(\"path\",{attrs:{d:\"M33 21v-5h7v5h14v3H40v4h12c-.202.048-.408 3.223-2 7-1.32 4.134-2.683 6.15-2 6l23.6 8c-.2-.285-.848 2.3-2 4-.775 2.013-2 5-2 5L44 46c.237.162-3.79 4.674-8 7-4.002 1.645-8.717 2.88-14 1-4.93-.56-8.554-3.867-8-10 .693-6.083 7.138-8.19 13-8 4.739-.19 14.796 3.29 15 3-.204.29.642-1.628 2-4 .283-2.015.518-3.777 0-4H22v-3h11v-4H20v-3h13zm-7 30c-7.407 0-9-3.593-9-6 0-2.761 1.576-5.57 8-6 6.484-.383 15.2 4.436 15 4 .2.436-6.238 8-14 8z\",fill:\"#FFF\",mask:\"url(#sdk_icon_zhifubao@2x_b)\"}})])]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 72 72\",id:\"weixin\"}},[n(\"g\",{attrs:{fill:\"none\",\"fill-rule\":\"evenodd\"}},[n(\"path\",{attrs:{d:\"M36 72c19.882 0 36-16.118 36-36S55.882 0 36 0 0 16.118 0 36s16.118 36 36 36z\",fill:\"#45C144\"}}),n(\"path\",{attrs:{d:\"M29 40l-4-8c-.262-.292-.288-.398 0-1 .594-.228.743-.174 1 0l4 4c1.5 1.098 1.5 1.098 3 0l21-10c-3.668-4.964-10.11-8-17-8-12.33 0-22 8.12-22 18 0 5.6 2.91 10.518 7 14 1 .8 1.068.537 1 1 .068.185-.954 4.042-1 4-.027.316-.097.495 0 1-.097.075.225.4 1 0-.22.4 5-3 5-3 1.4.6 5.8 1 9 1 11.533 0 21.2-7.85 21-18 .2-2.899-.692-5.756-2-8L31 41c-1.5.5-2-1-2-1z\",fill:\"#FFF\"}})])]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 46 46\",id:\"human\"}},[n(\"path\",{attrs:{fill:\"#ff7b52\",d:\"M33.291 37.774c-.25.097-.504.175-.765.233-6.427 1.444-5.954-3.968-6-3.953 10.457-5.053 10.348-13.466 10-16.216-16.15-.041-22.943-7.063-22.943-7.063s-.176 1.733-2.933 4.996c-2.756 3.262-5.236 4.09-5.132 4.113.54 13.9 12.246 14.242 12.246 14.242-.762 4.662-4.357 4.33-4.357 4.33s-6.38.213-11.173-7.446c-.85-1.359-1.02-2.864-1.166-4.579-.217-2.542.14-4.643.312-7.2.271-4.064.96-6.269.96-6.269S7.13 0 21.4 0s17.828 12.508 17.828 12.508l-.035.074c.533.763.984 1.997 1.356 3.36A3.483 3.483 0 0 1 45 19.281v7.257a3.484 3.484 0 0 1-3.325 3.472c-2.009 4.537-6.657 12.185-15.241 12.457C26.023 44.485 24.269 46 22.168 46c-2.407 0-4.357-1.988-4.357-4.44 0-2.453 1.95-4.44 4.357-4.44 1.955 0 3.609 1.311 4.16 3.118 1.447.13 4.044-.094 6.963-2.464zM18.216 27.018s.99 3.08 3.705 3.08 3.807-1.875 3.807-2.906c.467-1.135 1.348-.541 1.482-.071.134.47-.763 4.67-5.24 4.67s-5.205-4.358-5.205-4.358.033-.97.702-.97c.669 0 .749.555.749.555zm10.052-2.332c.963 0 1.743-1.192 1.743-2.664 0-1.471-.78-2.664-1.743-2.664-.963 0-1.743 1.193-1.743 2.664 0 1.472.78 2.664 1.743 2.664zm-12.723 0c.962 0 1.743-1.192 1.743-2.664 0-1.471-.78-2.664-1.743-2.664-.963 0-1.743 1.193-1.743 2.664 0 1.472.78 2.664 1.743 2.664z\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 46 46\",id:\"phone\"}},[n(\"path\",{attrs:{fill:\"#6ac20b\",d:\"M15.433 30.568c9.342 9.342 17.708 12.15 18.871 12.316 1.163.167 3.07.542 5.837-2.225 3.24-3.24 3.566-4.94 1.783-6.724-1.783-1.783-6.212-4.48-7.416-5.176-1.206-.696-2.228-.472-3.097.133-.868.605-1.87 1.375-2.798 2.047-.927.671-2.087.955-3.332.167-1.245-.79-3.35-2.27-5.735-4.652-2.384-2.384-3.863-4.49-4.651-5.735-.789-1.245-.505-2.405.167-3.332.671-.928 1.441-1.93 2.046-2.798.605-.869.828-1.89.134-3.097-.696-1.204-3.394-5.633-5.177-7.416-1.783-1.783-3.484-1.457-6.724 1.783-2.766 2.766-2.391 4.674-2.226 5.837.167 1.164 2.976 9.53 12.318 18.872\"}})]),t._v(\" \"),n(\"symbol\",{attrs:{viewBox:\"0 0 126 126\",id:\"expired\"}},[n(\"path\",{attrs:{fill:\"#9B9B9B\",\"fill-rule\":\"evenodd\",d:\"M63 125.5c34.518 0 62.5-27.982 62.5-62.5S97.518.5 63 .5.5 28.482.5 63s27.982 62.5 62.5 62.5zM15.156 66.678l-3.073-1.258 2.868-1.674.248-3.31 2.478 2.21 3.225-.79-1.335 3.04 1.746 2.825-3.302-.33-2.147 2.533-.704-3.245zm4.07-24.55l-2.03-2.625 3.32-.015 1.87-2.744 1.04 3.153 3.187.93-2.677 1.964.1 3.32-2.695-1.94-3.124 1.122 1.01-3.163zm15.8-19.223l-.446-3.29 2.883 1.646 2.99-1.44-.674 3.25 2.294 2.4-3.3.363-1.573 2.924-1.363-3.027-3.267-.592 2.457-2.233zm23.296-8.75l1.258-3.072 1.674 2.868 3.31.248-2.21 2.478.79 3.225-3.04-1.335-2.825 1.746.33-3.302-2.533-2.147 3.245-.704zm24.55 4.072l2.625-2.032.015 3.32 2.744 1.87-3.153 1.04-.93 3.188-1.964-2.677-3.32.1 1.94-2.695-1.122-3.124 3.163 1.01zm27.972 39.095l3.073 1.258-2.868 1.674-.248 3.31-2.478-2.21-3.225.79 1.335-3.04-1.746-2.825 3.302.33 2.147-2.533.704 3.245zm-4.07 24.55l2.03 2.625-3.32.015-1.87 2.744-1.04-3.153-3.187-.93 2.677-1.964-.1-3.32 2.695 1.94 3.124-1.122-1.01 3.163zm-15.8 19.223l.446 3.29-2.883-1.646-2.99 1.44.674-3.25-2.294-2.4 3.3-.363 1.573-2.924 1.363 3.027 3.267.592-2.457 2.233zm-23.296 8.75l-1.258 3.072-1.674-2.868-3.31-.248 2.21-2.478-.79-3.225 3.04 1.335 2.825-1.746-.33 3.302 2.533 2.147-3.245.704zm-24.55-4.072l-2.625 2.032-.015-3.32-2.744-1.87 3.153-1.04.93-3.188 1.964 2.677 3.32-.1-1.94 2.695 1.122 3.124-3.163-1.01zM74.257 41.7a23.764 23.764 0 0 0-22.17.092 23.767 23.767 0 0 0-12.508 18.646l.995.1a22.767 22.767 0 0 1 11.983-17.863 22.764 22.764 0 0 1 21.238-.088l.462-.887zm11.387 22.436A22.764 22.764 0 0 1 74.313 82.1a22.767 22.767 0 0 1-21.5.696l-.44.897a23.767 23.767 0 0 0 22.44-.727A23.764 23.764 0 0 0 86.64 64.214l-.997-.078zM63 122.5C30.14 122.5 3.5 95.86 3.5 63S30.14 3.5 63 3.5s59.5 26.64 59.5 59.5-26.64 59.5-59.5 59.5zm14.127-71.148l1.14 1.975 3.388-1.956-1.14-1.974-3.388 1.956zm2.704-3.14l-1.055-1.83-3.388 1.956 1.056 1.83 3.388-1.957zm.237 8.232l3.388-1.956-1.14-1.974-3.388 1.956 1.14 1.974zm-6.89-8.715a24.73 24.73 0 0 0-.892-1.453 7.288 7.288 0 0 0-.79-.985c.31-.104.617-.227.924-.367a6.52 6.52 0 0 0 .842-.46c.13-.093.226-.12.285-.08.06.04.066.128.017.267a.653.653 0 0 0-.032.378c.03.113.09.253.187.42l.85 1.475 3.39-1.956a39.962 39.962 0 0 0-1.01-1.677c-.25-.383-.472-.665-.67-.847a13.33 13.33 0 0 0 1.857-.767c.19-.09.313-.107.374-.05.062.057.064.148.007.273-.09.2-.128.356-.117.47.01.114.06.247.147.4l.792 1.37c.24-.157.48-.318.718-.483a9.91 9.91 0 0 0 .673-.513l1.02 1.766c-.26.095-.52.204-.78.327-.262.123-.525.243-.79.36l4.655 8.063c.234-.17.46-.333.675-.486.217-.153.43-.318.643-.496l.912 1.58c-.21.085-.434.177-.672.278-.238.1-.534.243-.888.43-.354.185-.79.423-1.307.712a205.733 205.733 0 0 0-3.876 2.238c-.516.307-.943.567-1.28.78-.34.215-.615.402-.828.562-.212.16-.408.31-.586.45l-.912-1.58c.638-.24 1.29-.533 1.958-.882l-4.668-8.085a20.893 20.893 0 0 0-1.67 1.186l-1.02-1.767a21.623 21.623 0 0 0 1.862-.854zm14.762 2.285l3.387-1.956-2.124-3.68-3.388 1.956 2.124 3.68zm-1.45-10.332l-3.387 1.956 1.956 3.387 3.387-1.956-1.956-3.387zm2.11 11.67c.274.634.514 1.305.717 2.01.204.704.36 1.408.47 2.11.11.704.167 1.4.17 2.093a10.19 10.19 0 0 1-.17 1.94c-.51-.15-1.18-.14-2.008.024.213-.974.312-1.88.298-2.723a10.595 10.595 0 0 0-.37-2.558c-.23-.865-.573-1.77-1.028-2.72a48.398 48.398 0 0 0-1.714-3.208l-2.7-4.676a25.767 25.767 0 0 0-.875-1.42 21.753 21.753 0 0 0-.85-1.186c.525-.21 1.043-.45 1.554-.717.51-.267 1.112-.6 1.805-1a60.923 60.923 0 0 0 1.893-1.136 17.45 17.45 0 0 0 1.502-1.047c.137.364.325.787.565 1.267.24.48.517.99.83 1.53l7.535 13.054a6.1 6.1 0 0 1 .46.94.97.97 0 0 1-.036.756c-.115.25-.347.527-.698.832-.35.304-.864.688-1.54 1.15a3.186 3.186 0 0 0-.647-.858 4.97 4.97 0 0 0-1.038-.717 13.81 13.81 0 0 0 1.096-.55c.264-.152.45-.295.555-.43a.502.502 0 0 0 .108-.437 2.097 2.097 0 0 0-.243-.566l-2.172-3.762-3.47 2.004zm-1.954 7.223a6.16 6.16 0 0 0-1.466-.69 6.537 6.537 0 0 0-1.563-.332l.69-1.59a14.604 14.604 0 0 1 3.05.817l-.71 1.794zm-4.033-.027a2.137 2.137 0 0 0-.287.51 6.12 6.12 0 0 0-.26.872 23.78 23.78 0 0 0-.283 1.452c-.1.594-.225 1.34-.37 2.237a3.37 3.37 0 0 0-.92-.078 5.34 5.34 0 0 0-1.096.19 8.492 8.492 0 0 0 .812-2.41c.15-.843.175-1.782.077-2.816.39.034.75.034 1.08 0a8.61 8.61 0 0 0 1.06-.182c.14-.044.227-.04.26.017.03.056.007.126-.074.21zm-17.506-5.745c.68-.392 1.22-.72 1.624-.98.405-.26.798-.538 1.182-.834l1.044 1.81c-.426.19-.86.4-1.3.626a40.64 40.64 0 0 0-1.66.917l5.015 8.688c.21.36.354.684.435.97.082.285.043.584-.118.9-.16.313-.468.676-.924 1.086-.455.41-1.11.918-1.962 1.52a10.17 10.17 0 0 0-.84-.83 7.863 7.863 0 0 0-1.12-.836 20.7 20.7 0 0 0 1.457-.813c.36-.226.625-.43.797-.612.172-.183.262-.346.27-.49a.783.783 0 0 0-.117-.444l-4.68-8.105-4.448 2.568c-.846.488-1.512.886-2 1.195-.485.31-.936.6-1.35.877l-1.03-1.788c.236-.1.472-.204.706-.31.234-.108.484-.234.75-.38a93.69 93.69 0 0 0 2.035-1.132l4.45-2.568a106.39 106.39 0 0 0-1.3-2.202c-.33-.54-.576-.92-.74-1.138.35-.13.72-.29 1.105-.486.387-.194.696-.378.93-.55.192-.147.346-.176.462-.086.117.09.133.205.048.346a.79.79 0 0 0-.08.56c.044.186.098.335.162.446l1.2 2.08zm-1.79 11.537a25.633 25.633 0 0 0-1.934-1.475 35.97 35.97 0 0 0-2.03-1.31l1.267-1.644a38.25 38.25 0 0 1 2.034 1.195c.68.428 1.346.9 1.993 1.412l-1.33 1.822zm-12.53-7.01c.706.293 1.41.608 2.11.942.702.334 1.376.693 2.022 1.078l-1.13 2.12a56.81 56.81 0 0 0-2.01-1.152 41.097 41.097 0 0 0-2.06-1.044l1.067-1.945zM63 118.25c30.514 0 55.25-24.736 55.25-55.25S93.514 7.75 63 7.75 7.75 32.486 7.75 63 32.486 118.25 63 118.25zm-2.237-47.53c.262-.058.562-.097.9-.118.34-.02.753-.04 1.24-.063.52-.025 1.176-.163 1.964-.415.788-.25 1.72-.646 2.794-1.184 1.077-.536 2.303-1.235 3.682-2.096a87.9 87.9 0 0 0 4.634-3.133 10.2 10.2 0 0 0 .24 1.4c.098.378.23.74.394 1.09a321.96 321.96 0 0 1-4.068 2.362 69.403 69.403 0 0 1-3.052 1.65c-.88.445-1.643.802-2.29 1.074s-1.236.483-1.768.633c-.533.15-1.03.256-1.492.32-.462.063-.954.107-1.476.13-.62.046-1.087.126-1.4.24-.31.117-.536.344-.674.682-.123.33-.22.74-.286 1.232a18.89 18.89 0 0 0-.144 1.62 7.14 7.14 0 0 0-1.164-.31 9.118 9.118 0 0 0-1.23-.136c.132-.575.256-1.07.374-1.49.118-.42.23-.785.338-1.096.106-.31.212-.575.318-.793.105-.22.214-.407.326-.564l-3.66-6.34c-.582.337-1.08.634-1.495.892-.415.257-.75.498-1.01.722l-.972-1.684c.293-.132.648-.3 1.066-.505.42-.203.83-.42 1.23-.653a31.8 31.8 0 0 0 1.27-.775c.433-.277.775-.516 1.028-.718.14.4.292.778.46 1.134.17.355.413.81.733 1.364l3.193 5.53zm-15.907-.43l-2.712-4.7-5.425 3.133c-1.456.84-2.783 1.63-3.983 2.368-1.2.74-2.125 1.344-2.778 1.813l-1.237-2.14c.307-.14.708-.335 1.202-.583.494-.25 1.055-.54 1.684-.876a143.593 143.593 0 0 0 4.375-2.429 153.71 153.71 0 0 0 4.442-2.648c1.175-.734 2.054-1.315 2.638-1.745.15.357.367.813.652 1.37a42.88 42.88 0 0 0 1.05 1.915l1.848 3.2a32.46 32.46 0 0 0 1.93 2.96l-2.057 1.188-.72-1.247-9.395 5.424 3.072 5.32c.224.39.415.68.574.875.158.195.345.304.562.327.216.023.5-.045.853-.202.353-.157.838-.405 1.455-.743.876-.47 1.734-.942 2.577-1.42a68.054 68.054 0 0 0 2.465-1.465c.754-.453 1.335-.84 1.743-1.158.407-.318.686-.66.836-1.023.15-.364.185-.81.104-1.334a26.6 26.6 0 0 0-.45-2.124c.843.437 1.734.523 2.67.26.206 1.026.324 1.854.354 2.483.03.628-.083 1.184-.34 1.665-.258.48-.698.943-1.32 1.386-.623.443-1.495.988-2.617 1.636l-2.545 1.47c-.908.524-1.758.996-2.55 1.417-1.063.558-1.902.97-2.517 1.23-.615.264-1.123.368-1.524.313-.402-.055-.75-.274-1.045-.657-.297-.385-.652-.937-1.068-1.658l-3.444-5.965a27.726 27.726 0 0 0-1.155-1.855c-.337-.49-.602-.835-.793-1.04.37-.157.762-.342 1.176-.553.414-.212.79-.425 1.13-.64.185-.125.32-.144.41-.056.087.088.085.214-.005.377a.624.624 0 0 0-.105.394c.015.12.082.286.202.494l.384.665 9.396-5.424zM10.402 63c0-29.05 23.55-52.598 52.598-52.598 29.05 0 52.598 23.55 52.598 52.598 0 29.05-23.55 52.598-52.598 52.598-29.05 0-52.598-23.55-52.598-52.598z\"}})])])])},staticRenderFns:[]}},412:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",[n(\"transition\",{attrs:{name:\"router-fade\",mode:\"out-in\"}},[n(\"keep-alive\",[t.$route.meta.keepAlive?n(\"router-view\"):t._e()],1)],1),t._v(\" \"),n(\"transition\",{attrs:{name:\"router-fade\",mode:\"out-in\"}},[t.$route.meta.keepAlive?t._e():n(\"router-view\")],1),t._v(\" \"),n(\"svg-icon\")],1)},staticRenderFns:[]}}});"
  },
  {
    "path": "public/elm/static/js/manifest.js",
    "content": "!function(e){function a(d){if(c[d])return c[d].exports;var f=c[d]={exports:{},id:d,loaded:!1};return e[d].call(f.exports,f,f.exports,a),f.loaded=!0,f.exports}var d=window.webpackJsonp;window.webpackJsonp=function(b,o){for(var r,t,i=0,n=[];i<b.length;i++)t=b[i],f[t]&&n.push.apply(n,f[t]),f[t]=0;for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r]);for(d&&d(b,o);n.length;)n.shift().call(null,a);if(o[0])return c[0]=0,a(0)};var c={},f={45:0};a.e=function(e,d){if(0===f[e])return d.call(null,a);if(void 0!==f[e])f[e].push(d);else{f[e]=[d];var c=document.getElementsByTagName(\"head\")[0],b=document.createElement(\"script\");b.type=\"text/javascript\",b.charset=\"utf-8\",b.async=!0,b.src=a.p+\"static/js/\"+({0:\"msite\",1:\"order\",2:\"shop\",3:\"food\",4:\"confirmOrder\",5:\"foodDetail\",6:\"benefit\",7:\"hbDescription\",8:\"pointsDetail\",9:\"coupon\",10:\"balanceDetail\",11:\"commend\",12:\"orderDetail\",13:\"hbHistory\",14:\"info\",15:\"points\",16:\"chooseAddress\",17:\"balance\",18:\"profile\",19:\"find\",20:\"remark\",21:\"add\",22:\"download\",23:\"payment\",24:\"addAddress\",25:\"search\",26:\"useCart\",27:\"login\",28:\"forget\",29:\"userValidation\",30:\"exchange\",31:\"vipcard\",32:\"shopSafe\",33:\"questionDetail\",34:\"invoiceRecord\",35:\"shopDetail\",36:\"setusername\",37:\"addDetail\",38:\"address\",39:\"vipDescription\",40:\"service\",41:\"home\",42:\"invoice\",43:\"searchAddress\",44:\"city\",46:\"vendor\",47:\"app\"}[e]||e)+\".\"+{0:\"2eee2d17d8671351f05d\",1:\"2770ca2dc8eb4238d516\",2:\"440be25e5885b83e0413\",3:\"7c6617f794f61733a96e\",4:\"228b254aa88e6d9b7e3a\",5:\"3346421a69b0ed589715\",6:\"d1dc45208fb664c7b4c9\",7:\"94665e36403279dbec1f\",8:\"c8be0bcca4fe6d90bed1\",9:\"f1f66aa34b8c761600af\",10:\"74246e2daa361a86aab3\",11:\"af5ebaf2c2395ef19929\",12:\"3206313b787236449e3a\",13:\"03546eb2fa69c1a630da\",14:\"2a442fca44d182eb890d\",15:\"bfc3e4b1f074dac36e22\",16:\"d5b44edc46332cf918a4\",17:\"37dbad39c161c27bff91\",18:\"c94591d7ff320dcc3a8a\",19:\"ad4b62c63cbd0f256081\",20:\"4cf6594fd8669dec3d4a\",21:\"a9933136c86a2f0e783a\",22:\"35b0b538aef43c426bac\",23:\"e6f799f65b8fa1e749fd\",24:\"2e2c4085bbddef3a43d3\",25:\"e4669212b6069f98ed2f\",26:\"fa8966a13e200afc37b1\",27:\"1fa54fe830d2e0c7ca39\",28:\"b08d4c7b82f001a9a771\",29:\"1053f76dd4d6d52f262a\",30:\"900252b54d810dc240f4\",31:\"f1567128a2d3c580ddd6\",32:\"b318fd9212bcd2275b07\",33:\"7ee7dae0bc795c56ee11\",34:\"24b0c850c3970c62998a\",35:\"cb3f3ec86ce0801c1bd1\",36:\"4a32303d281e56e641cc\",37:\"75da563d1e4448287a21\",38:\"e654d765beee24bd610c\",39:\"199af1dcfbb98c257ee0\",40:\"42109737c50ef928069c\",41:\"5bd8d38bf00f59523e9e\",42:\"7a9e2184152292b47d94\",43:\"747b2cd095404ae58611\",44:\"ccfd1a3eb85c7b7630e8\",46:\"c6973196b78dd8da3e3e\",47:\"942784ab08bf2f2ec3e0\"}[e]+\".min.js\",c.appendChild(b)}},a.m=e,a.c=c,a.p=\"/elm/\"}([]);"
  },
  {
    "path": "public/elm/static/js/vendor.js",
    "content": "webpackJsonp([46,45],[,function(t,e){t.exports=function(t,e,n,r){var o,i=t=t||{},a=typeof t.default;\"object\"!==a&&\"function\"!==a||(o=t,i=t.default);var s=\"function\"==typeof i?i.options:i;if(e&&(s.render=e.render,s.staticRenderFns=e.staticRenderFns),n&&(s._scopeId=n),r){var c=s.computed||(s.computed={});Object.keys(r).forEach(function(t){var e=r[t];c[t]=function(){return e}})}return{esModule:o,exports:i,options:s}}},function(t,e){t.exports=function(){var t=[];return t.toString=function(){for(var t=[],e=0;e<this.length;e++){var n=this[e];n[2]?t.push(\"@media \"+n[2]+\"{\"+n[1]+\"}\"):t.push(n[1])}return t.join(\"\")},t.i=function(e,n){\"string\"==typeof e&&(e=[[null,e,\"\"]]);for(var r={},o=0;o<this.length;o++){var i=this[o][0];\"number\"==typeof i&&(r[i]=!0)}for(o=0;o<e.length;o++){var a=e[o];\"number\"==typeof a[0]&&r[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]=\"(\"+a[2]+\") and (\"+n+\")\"),t.push(a))}},t}},function(t,e,n){function r(t,e){for(var n=0;n<t.length;n++){var r=t[n],o=l[r.id];if(o){o.refs++;for(var i=0;i<o.parts.length;i++)o.parts[i](r.parts[i]);for(;i<r.parts.length;i++)o.parts.push(c(r.parts[i],e))}else{for(var a=[],i=0;i<r.parts.length;i++)a.push(c(r.parts[i],e));l[r.id]={id:r.id,refs:1,parts:a}}}}function o(t){for(var e=[],n={},r=0;r<t.length;r++){var o=t[r],i=o[0],a=o[1],s=o[2],c=o[3],u={css:a,media:s,sourceMap:c};n[i]?n[i].parts.push(u):e.push(n[i]={id:i,parts:[u]})}return e}function i(t,e){var n=h(),r=y[y.length-1];if(\"top\"===t.insertAt)r?r.nextSibling?n.insertBefore(e,r.nextSibling):n.appendChild(e):n.insertBefore(e,n.firstChild),y.push(e);else{if(\"bottom\"!==t.insertAt)throw new Error(\"Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.\");n.appendChild(e)}}function a(t){t.parentNode.removeChild(t);var e=y.indexOf(t);e>=0&&y.splice(e,1)}function s(t){var e=document.createElement(\"style\");return e.type=\"text/css\",i(t,e),e}function c(t,e){var n,r,o;if(e.singleton){var i=m++;n=v||(v=s(e)),r=u.bind(null,n,i,!1),o=u.bind(null,n,i,!0)}else n=s(e),r=f.bind(null,n),o=function(){a(n)};return r(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;r(t=e)}else o()}}function u(t,e,n,r){var o=n?\"\":r.css;if(t.styleSheet)t.styleSheet.cssText=g(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function f(t,e){var n=e.css,r=e.media,o=e.sourceMap;if(r&&t.setAttribute(\"media\",r),o&&(n+=\"\\n/*# sourceURL=\"+o.sources[0]+\" */\",n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+\" */\"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var l={},p=function(t){var e;return function(){return\"undefined\"==typeof e&&(e=t.apply(this,arguments)),e}},d=p(function(){return/msie [6-9]\\b/.test(window.navigator.userAgent.toLowerCase())}),h=p(function(){return document.head||document.getElementsByTagName(\"head\")[0]}),v=null,m=0,y=[];t.exports=function(t,e){e=e||{},\"undefined\"==typeof e.singleton&&(e.singleton=d()),\"undefined\"==typeof e.insertAt&&(e.insertAt=\"bottom\");var n=o(t);return r(n,e),function(t){for(var i=[],a=0;a<n.length;a++){var s=n[a],c=l[s.id];c.refs--,i.push(c)}if(t){var u=o(t);r(u,e)}for(var a=0;a<i.length;a++){var c=i[a];if(0===c.refs){for(var f=0;f<c.parts.length;f++)c.parts[f]();delete l[c.id]}}}};var g=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join(\"\\n\")}}()},function(t,e,n){/**\n\t * vuex v2.5.0\n\t * (c) 2017 Evan You\n\t * @license MIT\n\t */\n\"use strict\";function r(t){O&&(t._devtoolHook=O,O.emit(\"vuex:init\",t),O.on(\"vuex:travel-to-state\",function(e){t.replaceState(e)}),t.subscribe(function(t,e){O.emit(\"vuex:mutation\",t,e)}))}function o(t,e){Object.keys(t).forEach(function(n){return e(t[n],n)})}function i(t){return null!==t&&\"object\"==typeof t}function a(t){return t&&\"function\"==typeof t.then}function s(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e.getChild(r))return;s(t.concat(r),e.getChild(r),n.modules[r])}}function c(t,e){return e.indexOf(t)<0&&e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function u(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;l(t,n,[],t._modules.root,!0),f(t,n,e)}function f(t,e,n){var r=t._vm;t.getters={};var i=t._wrappedGetters,a={};o(i,function(e,n){a[n]=function(){return e(t)},Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})});var s=A.config.silent;A.config.silent=!0,t._vm=new A({data:{$$state:e},computed:a}),A.config.silent=s,t.strict&&y(t),r&&(n&&t._withCommit(function(){r._data.$$state=null}),A.nextTick(function(){return r.$destroy()}))}function l(t,e,n,r,o){var i=!n.length,a=t._modules.getNamespace(n);if(r.namespaced&&(t._modulesNamespaceMap[a]=r),!i&&!o){var s=g(e,n.slice(0,-1)),c=n[n.length-1];t._withCommit(function(){A.set(s,c,r.state)})}var u=r.context=p(t,a,n);r.forEachMutation(function(e,n){var r=a+n;h(t,r,e,u)}),r.forEachAction(function(e,n){var r=e.root?n:a+n,o=e.handler||e;v(t,r,o,u)}),r.forEachGetter(function(e,n){var r=a+n;m(t,r,e,u)}),r.forEachChild(function(r,i){l(t,e,n.concat(i),r,o)})}function p(t,e,n){var r=\"\"===e,o={dispatch:r?t.dispatch:function(n,r,o){var i=_(n,r,o),a=i.payload,s=i.options,c=i.type;return s&&s.root||(c=e+c),t.dispatch(c,a)},commit:r?t.commit:function(n,r,o){var i=_(n,r,o),a=i.payload,s=i.options,c=i.type;s&&s.root||(c=e+c),t.commit(c,a,s)}};return Object.defineProperties(o,{getters:{get:r?function(){return t.getters}:function(){return d(t,e)}},state:{get:function(){return g(t.state,n)}}}),o}function d(t,e){var n={},r=e.length;return Object.keys(t.getters).forEach(function(o){if(o.slice(0,r)===e){var i=o.slice(r);Object.defineProperty(n,i,{get:function(){return t.getters[o]},enumerable:!0})}}),n}function h(t,e,n,r){var o=t._mutations[e]||(t._mutations[e]=[]);o.push(function(e){n.call(t,r.state,e)})}function v(t,e,n,r){var o=t._actions[e]||(t._actions[e]=[]);o.push(function(e,o){var i=n.call(t,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:t.getters,rootState:t.state},e,o);return a(i)||(i=Promise.resolve(i)),t._devtoolHook?i.catch(function(e){throw t._devtoolHook.emit(\"vuex:error\",e),e}):i})}function m(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(r.state,r.getters,t.state,t.getters)})}function y(t){t._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function g(t,e){return e.length?e.reduce(function(t,e){return t[e]},t):t}function _(t,e,n){return i(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function b(t){A&&t===A||(A=t,C(A))}function w(t){return Array.isArray(t)?t.map(function(t){return{key:t,val:t}}):Object.keys(t).map(function(e){return{key:e,val:t[e]}})}function x(t){return function(e,n){return\"string\"!=typeof e?(n=e,e=\"\"):\"/\"!==e.charAt(e.length-1)&&(e+=\"/\"),t(e,n)}}function k(t,e,n){var r=t._modulesNamespaceMap[n];return r}var C=function(t){function e(){var t=this.$options;t.store?this.$store=\"function\"==typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}var n=Number(t.version.split(\".\")[0]);if(n>=2)t.mixin({beforeCreate:e});else{var r=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[e].concat(t.init):e,r.call(this,t)}}},O=\"undefined\"!=typeof window&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,$=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=(\"function\"==typeof n?n():n)||{}},S={namespaced:{configurable:!0}};S.namespaced.get=function(){return!!this._rawModule.namespaced},$.prototype.addChild=function(t,e){this._children[t]=e},$.prototype.removeChild=function(t){delete this._children[t]},$.prototype.getChild=function(t){return this._children[t]},$.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},$.prototype.forEachChild=function(t){o(this._children,t)},$.prototype.forEachGetter=function(t){this._rawModule.getters&&o(this._rawModule.getters,t)},$.prototype.forEachAction=function(t){this._rawModule.actions&&o(this._rawModule.actions,t)},$.prototype.forEachMutation=function(t){this._rawModule.mutations&&o(this._rawModule.mutations,t)},Object.defineProperties($.prototype,S);var E=function(t){this.register([],t,!1)};E.prototype.get=function(t){return t.reduce(function(t,e){return t.getChild(e)},this.root)},E.prototype.getNamespace=function(t){var e=this.root;return t.reduce(function(t,n){return e=e.getChild(n),t+(e.namespaced?n+\"/\":\"\")},\"\")},E.prototype.update=function(t){s([],this.root,t)},E.prototype.register=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=new $(e,n);if(0===t.length)this.root=i;else{var a=this.get(t.slice(0,-1));a.addChild(t[t.length-1],i)}e.modules&&o(e.modules,function(e,o){r.register(t.concat(o),e,n)})},E.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];e.getChild(n).runtime&&e.removeChild(n)};var A,T=function t(e){var n=this;void 0===e&&(e={}),!A&&\"undefined\"!=typeof window&&window.Vue&&b(window.Vue);var o=e.plugins;void 0===o&&(o=[]);var i=e.strict;void 0===i&&(i=!1);var a=e.state;void 0===a&&(a={}),\"function\"==typeof a&&(a=a()||{}),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new E(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new A;var s=this,c=this,u=c.dispatch,p=c.commit;this.dispatch=function(t,e){return u.call(s,t,e)},this.commit=function(t,e,n){return p.call(s,t,e,n)},this.strict=i,l(this,a,[],this._modules.root),f(this,a),o.forEach(function(t){return t(n)}),A.config.devtools&&r(this)},j={state:{configurable:!0}};j.state.get=function(){return this._vm._data.$$state},j.state.set=function(t){},T.prototype.commit=function(t,e,n){var r=this,o=_(t,e,n),i=o.type,a=o.payload,s=(o.options,{type:i,payload:a}),c=this._mutations[i];c&&(this._withCommit(function(){c.forEach(function(t){t(a)})}),this._subscribers.forEach(function(t){return t(s,r.state)}))},T.prototype.dispatch=function(t,e){var n=this,r=_(t,e),o=r.type,i=r.payload,a={type:o,payload:i},s=this._actions[o];if(s)return this._actionSubscribers.forEach(function(t){return t(a,n.state)}),s.length>1?Promise.all(s.map(function(t){return t(i)})):s[0](i)},T.prototype.subscribe=function(t){return c(t,this._subscribers)},T.prototype.subscribeAction=function(t){return c(t,this._actionSubscribers)},T.prototype.watch=function(t,e,n){var r=this;return this._watcherVM.$watch(function(){return t(r.state,r.getters)},e,n)},T.prototype.replaceState=function(t){var e=this;this._withCommit(function(){e._vm._data.$$state=t})},T.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),\"string\"==typeof t&&(t=[t]),this._modules.register(t,e),l(this,this.state,t,this._modules.get(t),n.preserveState),f(this,this.state)},T.prototype.unregisterModule=function(t){var e=this;\"string\"==typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var n=g(e.state,t.slice(0,-1));A.delete(n,t[t.length-1])}),u(this)},T.prototype.hotUpdate=function(t){this._modules.update(t),u(this,!0)},T.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(T.prototype,j);var L=x(function(t,e){var n={};return w(e).forEach(function(e){var r=e.key,o=e.val;n[r]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var r=k(this.$store,\"mapState\",t);if(!r)return;e=r.context.state,n=r.context.getters}return\"function\"==typeof o?o.call(this,e,n):e[o]},n[r].vuex=!0}),n}),M=x(function(t,e){var n={};return w(e).forEach(function(e){var r=e.key,o=e.val;n[r]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var r=this.$store.commit;if(t){var i=k(this.$store,\"mapMutations\",t);if(!i)return;r=i.context.commit}return\"function\"==typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}}),n}),P=x(function(t,e){var n={};return w(e).forEach(function(e){var r=e.key,o=e.val;o=t+o,n[r]=function(){if(!t||k(this.$store,\"mapGetters\",t))return this.$store.getters[o]},n[r].vuex=!0}),n}),N=x(function(t,e){var n={};return w(e).forEach(function(e){var r=e.key,o=e.val;n[r]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var r=this.$store.dispatch;if(t){var i=k(this.$store,\"mapActions\",t);if(!i)return;r=i.context.dispatch}return\"function\"==typeof o?o.apply(this,[r].concat(e)):r.apply(this.$store,[o].concat(e))}}),n}),I=function(t){return{mapState:L.bind(null,t),mapGetters:P.bind(null,t),mapMutations:M.bind(null,t),mapActions:N.bind(null,t)}},R={Store:T,install:b,version:\"2.5.0\",mapState:L,mapMutations:M,mapGetters:P,mapActions:N,createNamespacedHelpers:I};t.exports=R},,,,,,function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(55),i=r(o);e.default=i.default||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t}},,,,,,,,,function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(99),i=r(o);e.default=function(t){return function(){var e=t.apply(this,arguments);return new i.default(function(t,n){function r(o,a){try{var s=e[o](a),c=s.value}catch(t){return void n(t)}return s.done?void t(c):i.default.resolve(c).then(function(t){r(\"next\",t)},function(t){r(\"throw\",t)})}return r(\"next\")})}}},function(t,e,n){t.exports=n(319)},,,,,,,,function(t,e){var n=t.exports={version:\"2.5.5\"};\"number\"==typeof __e&&(__e=n)},,function(t,e){var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,n){var r=n(80)(\"wks\"),o=n(71),i=n(30).Symbol,a=\"function\"==typeof i,s=t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)(\"Symbol.\"+t))};s.store=r},function(t,e,n){var r=n(30),o=n(28),i=n(59),a=n(45),s=n(44),c=\"prototype\",u=function(t,e,n){var f,l,p,d=t&u.F,h=t&u.G,v=t&u.S,m=t&u.P,y=t&u.B,g=t&u.W,_=h?o:o[e]||(o[e]={}),b=_[c],w=h?r:v?r[e]:(r[e]||{})[c];h&&(n=e);for(f in n)l=!d&&w&&void 0!==w[f],l&&s(_,f)||(p=l?w[f]:n[f],_[f]=h&&\"function\"!=typeof w[f]?n[f]:y&&l?i(p,r):g&&w[f]==p?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[c]=t[c],e}(p):m&&\"function\"==typeof p?i(Function.call,p):p,m&&((_.virtual||(_.virtual={}))[f]=p,t&u.R&&b&&!b[f]&&a(b,f,p)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},,function(t,e,n){var r=n(40),o=n(103),i=n(83),a=Object.defineProperty;e.f=n(41)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(104),o=n(74);t.exports=function(t){return r(o(t))}},,,,,function(t,e,n){var r=n(46);t.exports=function(t){if(!r(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,n){t.exports=!n(53)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,n){var r=n(111),o=n(76);t.exports=Object.keys||function(t){return r(t,o)}},,function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(34),o=n(62);t.exports=n(41)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e){e.f={}.propertyIsEnumerable},,,,,function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(97),i=r(o);e.default=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return(0,i.default)(t)}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},,function(t,e,n){t.exports={default:n(182),__esModule:!0}},,,function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(67);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){t.exports={}},,function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},,,function(t,e,n){t.exports={default:n(184),__esModule:!0}},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(177),i=r(o);e.default=function(t,e,n){return e in t?(0,i.default)(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e){t.exports=!0},function(t,e,n){var r=n(34).f,o=n(44),i=n(31)(\"toStringTag\");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){var r=n(74);t.exports=function(t){return Object(r(t))}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+r).toString(36))}},,,function(t,e){t.exports=function(t){if(void 0==t)throw TypeError(\"Can't call method on  \"+t);return t}},function(t,e,n){var r=n(46),o=n(30).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,n){\"use strict\";function r(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError(\"Bad Promise constructor\");e=t,n=r}),this.resolve=o(e),this.reject=o(n)}var o=n(67);t.exports.f=function(t){return new r(t)}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(80)(\"keys\"),o=n(71);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e,n){var r=n(30),o=\"__core-js_shared__\",i=r[o]||(r[o]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(81),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(46);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&\"function\"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,n){var r=n(30),o=n(28),i=n(68),a=n(85),s=n(34).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});\"_\"==t.charAt(0)||t in e||s(e,t,{value:a.f(t)})}},function(t,e,n){e.f=n(31)},function(t,e,n){\"use strict\";var r=n(208)(!0);n(107)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},,,,,,,,,,,function(t,e,n){t.exports={default:n(180),__esModule:!0}},function(t,e,n){t.exports={default:n(181),__esModule:!0}},function(t,e,n){t.exports={default:n(185),__esModule:!0}},function(t,e,n){\"use strict\";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var o=n(179),i=r(o),a=n(178),s=r(a),c=\"function\"==typeof s.default&&\"symbol\"==typeof i.default?function(t){return typeof t}:function(t){return t&&\"function\"==typeof s.default&&t.constructor===s.default&&t!==s.default.prototype?\"symbol\":typeof t};e.default=\"function\"==typeof s.default&&\"symbol\"===c(i.default)?function(t){return\"undefined\"==typeof t?\"undefined\":c(t)}:function(t){return t&&\"function\"==typeof s.default&&t.constructor===s.default&&t!==s.default.prototype?\"symbol\":\"undefined\"==typeof t?\"undefined\":c(t)}},function(t,e,n){var r=n(58),o=n(31)(\"toStringTag\"),i=\"Arguments\"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,n,s;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=a(e=Object(t),o))?n:i?r(e):\"Object\"==(s=r(e))&&\"function\"==typeof e.callee?\"Arguments\":s}},function(t,e,n){var r=n(30).document;t.exports=r&&r.documentElement},function(t,e,n){t.exports=!n(41)&&!n(53)(function(){return 7!=Object.defineProperty(n(75)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,n){var r=n(58);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==r(t)?t.split(\"\"):Object(t)}},function(t,e,n){var r=n(60),o=n(31)(\"iterator\"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){var r=n(40);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw void 0!==i&&r(i.call(t)),e}}},function(t,e,n){\"use strict\";var r=n(68),o=n(32),i=n(114),a=n(45),s=n(60),c=n(196),u=n(69),f=n(204),l=n(31)(\"iterator\"),p=!([].keys&&\"next\"in[].keys()),d=\"@@iterator\",h=\"keys\",v=\"values\",m=function(){return this};t.exports=function(t,e,n,y,g,_,b){c(n,e,y);var w,x,k,C=function(t){if(!p&&t in E)return E[t];switch(t){case h:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+\" Iterator\",$=g==v,S=!1,E=t.prototype,A=E[l]||E[d]||g&&E[g],T=A||C(g),j=g?$?C(\"entries\"):T:void 0,L=\"Array\"==e?E.entries||A:A;if(L&&(k=f(L.call(new t)),k!==Object.prototype&&k.next&&(u(k,O,!0),r||\"function\"==typeof k[l]||a(k,l,m))),$&&A&&A.name!==v&&(S=!0,T=function(){return A.call(this)}),r&&!b||!p&&!S&&E[l]||a(E,l,T),s[e]=T,s[O]=m,g)if(w={values:$?T:C(v),keys:_?T:C(h),entries:j},b)for(x in w)x in E||i(E,x,w[x]);else o(o.P+o.F*(p||S),e,w);return w}},function(t,e,n){var r=n(31)(\"iterator\"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},function(t,e,n){var r=n(40),o=n(201),i=n(76),a=n(79)(\"IE_PROTO\"),s=function(){},c=\"prototype\",u=function(){var t,e=n(75)(\"iframe\"),r=i.length,o=\"<\",a=\">\";for(e.style.display=\"none\",n(102).appendChild(e),e.src=\"javascript:\",t=e.contentWindow.document,t.open(),t.write(o+\"script\"+a+\"document.F=Object\"+o+\"/script\"+a),t.close(),u=t.F;r--;)delete u[c][i[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[c]=r(t),n=new s,s[c]=null,n[a]=t):n=u(),void 0===e?n:o(n,e)}},function(t,e,n){var r=n(111),o=n(76).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e,n){var r=n(44),o=n(35),i=n(190)(!1),a=n(79)(\"IE_PROTO\");t.exports=function(t,e){var n,s=o(t),c=0,u=[];for(n in s)n!=a&&r(s,n)&&u.push(n);for(;e.length>c;)r(s,n=e[c++])&&(~i(u,n)||u.push(n));return u}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var r=n(40),o=n(46),i=n(77);t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t),a=n.resolve;return a(e),n.promise}},function(t,e,n){t.exports=n(45)},function(t,e,n){var r=n(40),o=n(67),i=n(31)(\"species\");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||void 0==(n=r(a)[i])?e:o(n)}},function(t,e,n){var r,o,i,a=n(59),s=n(194),c=n(102),u=n(75),f=n(30),l=f.process,p=f.setImmediate,d=f.clearImmediate,h=f.MessageChannel,v=f.Dispatch,m=0,y={},g=\"onreadystatechange\",_=function(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}},b=function(t){_.call(t.data)};p&&d||(p=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return y[++m]=function(){s(\"function\"==typeof t?t:Function(t),e)},r(m),m},d=function(t){delete y[t]},\"process\"==n(58)(l)?r=function(t){l.nextTick(a(_,t,1))}:v&&v.now?r=function(t){v.now(a(_,t,1))}:h?(o=new h,i=o.port2,o.port1.onmessage=b,r=a(i.postMessage,i,1)):f.addEventListener&&\"function\"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+\"\",\"*\")},f.addEventListener(\"message\",b,!1)):r=g in u(\"script\")?function(t){c.appendChild(u(\"script\"))[g]=function(){c.removeChild(this),_.call(t)}}:function(t){setTimeout(a(_,t,1),0)}),t.exports={set:p,clear:d}},function(t,e,n){var r=n(101),o=n(31)(\"iterator\"),i=n(60);t.exports=n(28).getIteratorMethod=function(t){if(void 0!=t)return t[o]||t[\"@@iterator\"]||i[r(t)]}},function(t,e){},function(t,e,n){n(211);for(var r=n(30),o=n(45),i=n(60),a=n(31)(\"toStringTag\"),s=\"CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList\".split(\",\"),c=0;c<s.length;c++){var u=s[c],f=r[u],l=f&&f.prototype;l&&!l[a]&&o(l,a,u),i[u]=i.Array}},function(t,e,n){(function(e,n){/*!\n\t * Vue.js v2.5.16\n\t * (c) 2014-2018 Evan You\n\t * Released under the MIT License.\n\t */\n\"use strict\";function r(t){return void 0===t||null===t}function o(t){return void 0!==t&&null!==t}function i(t){return t===!0}function a(t){return t===!1}function s(t){return\"string\"==typeof t||\"number\"==typeof t||\"symbol\"==typeof t||\"boolean\"==typeof t}function c(t){return null!==t&&\"object\"==typeof t}function u(t){return\"[object Object]\"===yi.call(t)}function f(t){return\"[object RegExp]\"===yi.call(t)}function l(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function p(t){return null==t?\"\":\"object\"==typeof t?JSON.stringify(t,null,2):String(t)}function d(t){var e=parseFloat(t);return isNaN(e)?t:e}function h(t,e){for(var n=Object.create(null),r=t.split(\",\"),o=0;o<r.length;o++)n[r[o]]=!0;return e?function(t){return n[t.toLowerCase()]}:function(t){return n[t]}}function v(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(n,1)}}function m(t,e){return bi.call(t,e)}function y(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}function g(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function _(t,e){return t.bind(e)}function b(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function w(t,e){for(var n in e)t[n]=e[n];return t}function x(t){for(var e={},n=0;n<t.length;n++)t[n]&&w(e,t[n]);return e}function k(t,e,n){}function C(t){return t.reduce(function(t,e){return t.concat(e.staticKeys||[])},[]).join(\",\")}function O(t,e){if(t===e)return!0;var n=c(t),r=c(e);if(!n||!r)return!n&&!r&&String(t)===String(e);try{var o=Array.isArray(t),i=Array.isArray(e);if(o&&i)return t.length===e.length&&t.every(function(t,n){return O(t,e[n])});if(o||i)return!1;var a=Object.keys(t),s=Object.keys(e);return a.length===s.length&&a.every(function(n){return O(t[n],e[n])})}catch(t){return!1}}function $(t,e){for(var n=0;n<t.length;n++)if(O(t[n],e))return n;return-1}function S(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments))}}function E(t){var e=(t+\"\").charCodeAt(0);return 36===e||95===e}function A(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,writable:!0,configurable:!0})}function T(t){if(!Mi.test(t)){var e=t.split(\".\");return function(t){for(var n=0;n<e.length;n++){if(!t)return;t=t[e[n]]}return t}}}function j(t){return\"function\"==typeof t&&/native code/.test(t.toString())}function L(t){Qi.target&&ta.push(Qi.target),Qi.target=t}function M(){Qi.target=ta.pop()}function P(t){return new ea(void 0,void 0,void 0,String(t))}function N(t){var e=new ea(t.tag,t.data,t.children,t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.isCloned=!0,e}function I(t){ca=t}function R(t,e,n){t.__proto__=e}function F(t,e,n){for(var r=0,o=n.length;r<o;r++){var i=n[r];A(t,i,e[i])}}function D(t,e){if(c(t)&&!(t instanceof ea)){var n;return m(t,\"__ob__\")&&t.__ob__ instanceof ua?n=t.__ob__:ca&&!Wi()&&(Array.isArray(t)||u(t))&&Object.isExtensible(t)&&!t._isVue&&(n=new ua(t)),e&&n&&n.vmCount++,n}}function H(t,e,n,r,o){var i=new Qi,a=Object.getOwnPropertyDescriptor(t,e);if(!a||a.configurable!==!1){var s=a&&a.get;s||2!==arguments.length||(n=t[e]);var c=a&&a.set,u=!o&&D(n);Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){var e=s?s.call(t):n;return Qi.target&&(i.depend(),u&&(u.dep.depend(),Array.isArray(e)&&V(e))),e},set:function(e){var r=s?s.call(t):n;e===r||e!==e&&r!==r||(c?c.call(t,e):n=e,u=!o&&D(e),i.notify())}})}}function B(t,e,n){if(Array.isArray(t)&&l(e))return t.length=Math.max(t.length,e),t.splice(e,1,n),n;if(e in t&&!(e in Object.prototype))return t[e]=n,n;var r=t.__ob__;return t._isVue||r&&r.vmCount?n:r?(H(r.value,e,n),r.dep.notify(),n):(t[e]=n,n)}function U(t,e){if(Array.isArray(t)&&l(e))return void t.splice(e,1);var n=t.__ob__;t._isVue||n&&n.vmCount||m(t,e)&&(delete t[e],n&&n.dep.notify())}function V(t){for(var e=void 0,n=0,r=t.length;n<r;n++)e=t[n],e&&e.__ob__&&e.__ob__.dep.depend(),Array.isArray(e)&&V(e)}function q(t,e){if(!e)return t;for(var n,r,o,i=Object.keys(e),a=0;a<i.length;a++)n=i[a],r=t[n],o=e[n],m(t,n)?u(r)&&u(o)&&q(r,o):B(t,n,o);return t}function G(t,e,n){return n?function(){var r=\"function\"==typeof e?e.call(n,n):e,o=\"function\"==typeof t?t.call(n,n):t;return r?q(r,o):o}:e?t?function(){return q(\"function\"==typeof e?e.call(this,this):e,\"function\"==typeof t?t.call(this,this):t)}:e:t}function z(t,e){return e?t?t.concat(e):Array.isArray(e)?e:[e]:t}function K(t,e,n,r){var o=Object.create(t||null);return e?w(o,e):o}function W(t,e){var n=t.props;if(n){var r,o,i,a={};if(Array.isArray(n))for(r=n.length;r--;)o=n[r],\"string\"==typeof o&&(i=xi(o),a[i]={type:null});else if(u(n))for(var s in n)o=n[s],i=xi(s),a[i]=u(o)?o:{type:o};t.props=a}}function J(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(n))for(var o=0;o<n.length;o++)r[n[o]]={from:n[o]};else if(u(n))for(var i in n){var a=n[i];r[i]=u(a)?w({from:i},a):{from:a}}}}function X(t){var e=t.directives;if(e)for(var n in e){var r=e[n];\"function\"==typeof r&&(e[n]={bind:r,update:r})}}function Y(t,e,n){function r(r){var o=fa[r]||da;c[r]=o(t[r],e[r],n,r)}\"function\"==typeof e&&(e=e.options),W(e,n),J(e,n),X(e);var o=e.extends;if(o&&(t=Y(t,o,n)),e.mixins)for(var i=0,a=e.mixins.length;i<a;i++)t=Y(t,e.mixins[i],n);var s,c={};for(s in t)r(s);for(s in e)m(t,s)||r(s);return c}function Z(t,e,n,r){if(\"string\"==typeof n){var o=t[e];if(m(o,n))return o[n];var i=xi(n);if(m(o,i))return o[i];var a=ki(i);if(m(o,a))return o[a];var s=o[n]||o[i]||o[a];return s}}function Q(t,e,n,r){var o=e[t],i=!m(n,t),a=n[t],s=rt(Boolean,o.type);if(s>-1)if(i&&!m(o,\"default\"))a=!1;else if(\"\"===a||a===Oi(t)){var c=rt(String,o.type);(c<0||s<c)&&(a=!0)}if(void 0===a){a=tt(r,o,t);var u=ca;I(!0),D(a),I(u)}return a}function tt(t,e,n){if(m(e,\"default\")){var r=e.default;return t&&t.$options.propsData&&void 0===t.$options.propsData[n]&&void 0!==t._props[n]?t._props[n]:\"function\"==typeof r&&\"Function\"!==et(e.type)?r.call(t):r}}function et(t){var e=t&&t.toString().match(/^\\s*function (\\w+)/);return e?e[1]:\"\"}function nt(t,e){return et(t)===et(e)}function rt(t,e){if(!Array.isArray(e))return nt(e,t)?0:-1;for(var n=0,r=e.length;n<r;n++)if(nt(e[n],t))return n;return-1}function ot(t,e,n){if(e)for(var r=e;r=r.$parent;){var o=r.$options.errorCaptured;if(o)for(var i=0;i<o.length;i++)try{var a=o[i].call(r,t,e,n)===!1;if(a)return}catch(t){it(t,r,\"errorCaptured hook\")}}it(t,e,n)}function it(t,e,n){if(Li.errorHandler)try{return Li.errorHandler.call(null,t,e,n)}catch(t){at(t,null,\"config.errorHandler\")}at(t,e,n)}function at(t,e,n){if(!Ni&&!Ii||\"undefined\"==typeof console)throw t;console.error(t)}function st(){va=!1;var t=ha.slice(0);ha.length=0;for(var e=0;e<t.length;e++)t[e]()}function ct(t){return t._withTask||(t._withTask=function(){ma=!0;var e=t.apply(null,arguments);return ma=!1,e})}function ut(t,e){var n;if(ha.push(function(){if(t)try{t.call(e)}catch(t){ot(t,e,\"nextTick\")}else n&&n(e)}),va||(va=!0,ma?pa():la()),!t&&\"undefined\"!=typeof Promise)return new Promise(function(t){n=t})}function ft(t){lt(t,wa),wa.clear()}function lt(t,e){var n,r,o=Array.isArray(t);if(!(!o&&!c(t)||Object.isFrozen(t)||t instanceof ea)){if(t.__ob__){var i=t.__ob__.dep.id;if(e.has(i))return;e.add(i)}if(o)for(n=t.length;n--;)lt(t[n],e);else for(r=Object.keys(t),n=r.length;n--;)lt(t[r[n]],e)}}function pt(t){function e(){var t=arguments,n=e.fns;if(!Array.isArray(n))return n.apply(null,arguments);for(var r=n.slice(),o=0;o<r.length;o++)r[o].apply(null,t)}return e.fns=t,e}function dt(t,e,n,o,i){var a,s,c,u,f;for(a in t)s=c=t[a],u=e[a],f=xa(a),r(c)||(r(u)?(r(c.fns)&&(c=t[a]=pt(c)),n(f.name,c,f.once,f.capture,f.passive,f.params)):c!==u&&(u.fns=c,t[a]=u));for(a in e)r(t[a])&&(f=xa(a),o(f.name,e[a],f.capture))}function ht(t,e,n){function a(){n.apply(this,arguments),v(s.fns,a)}t instanceof ea&&(t=t.data.hook||(t.data.hook={}));var s,c=t[e];r(c)?s=pt([a]):o(c.fns)&&i(c.merged)?(s=c,s.fns.push(a)):s=pt([c,a]),s.merged=!0,t[e]=s}function vt(t,e,n){var i=e.options.props;if(!r(i)){var a={},s=t.attrs,c=t.props;if(o(s)||o(c))for(var u in i){var f=Oi(u);mt(a,c,u,f,!0)||mt(a,s,u,f,!1)}return a}}function mt(t,e,n,r,i){if(o(e)){if(m(e,n))return t[n]=e[n],i||delete e[n],!0;if(m(e,r))return t[n]=e[r],i||delete e[r],!0}return!1}function yt(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return Array.prototype.concat.apply([],t);return t}function gt(t){return s(t)?[P(t)]:Array.isArray(t)?bt(t):void 0}function _t(t){return o(t)&&o(t.text)&&a(t.isComment)}function bt(t,e){var n,a,c,u,f=[];for(n=0;n<t.length;n++)a=t[n],r(a)||\"boolean\"==typeof a||(c=f.length-1,u=f[c],Array.isArray(a)?a.length>0&&(a=bt(a,(e||\"\")+\"_\"+n),_t(a[0])&&_t(u)&&(f[c]=P(u.text+a[0].text),a.shift()),f.push.apply(f,a)):s(a)?_t(u)?f[c]=P(u.text+a):\"\"!==a&&f.push(P(a)):_t(a)&&_t(u)?f[c]=P(u.text+a.text):(i(t._isVList)&&o(a.tag)&&r(a.key)&&o(e)&&(a.key=\"__vlist\"+e+\"_\"+n+\"__\"),f.push(a)));return f}function wt(t,e){return(t.__esModule||Xi&&\"Module\"===t[Symbol.toStringTag])&&(t=t.default),c(t)?e.extend(t):t}function xt(t,e,n,r,o){var i=ra();return i.asyncFactory=t,i.asyncMeta={data:e,context:n,children:r,tag:o},i}function kt(t,e,n){if(i(t.error)&&o(t.errorComp))return t.errorComp;if(o(t.resolved))return t.resolved;if(i(t.loading)&&o(t.loadingComp))return t.loadingComp;if(!o(t.contexts)){var a=t.contexts=[n],s=!0,u=function(){for(var t=0,e=a.length;t<e;t++)a[t].$forceUpdate()},f=S(function(n){t.resolved=wt(n,e),s||u()}),l=S(function(e){o(t.errorComp)&&(t.error=!0,u())}),p=t(f,l);return c(p)&&(\"function\"==typeof p.then?r(t.resolved)&&p.then(f,l):o(p.component)&&\"function\"==typeof p.component.then&&(p.component.then(f,l),o(p.error)&&(t.errorComp=wt(p.error,e)),o(p.loading)&&(t.loadingComp=wt(p.loading,e),0===p.delay?t.loading=!0:setTimeout(function(){r(t.resolved)&&r(t.error)&&(t.loading=!0,u())},p.delay||200)),o(p.timeout)&&setTimeout(function(){r(t.resolved)&&l(null)},p.timeout))),s=!1,t.loading?t.loadingComp:t.resolved}t.contexts.push(n)}function Ct(t){return t.isComment&&t.asyncFactory}function Ot(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e];if(o(n)&&(o(n.componentOptions)||Ct(n)))return n}}function $t(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&At(t,e)}function St(t,e,n){n?ba.$once(t,e):ba.$on(t,e)}function Et(t,e){ba.$off(t,e)}function At(t,e,n){ba=t,dt(e,n||{},St,Et,t),ba=void 0}function Tt(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this,o=this;if(Array.isArray(t))for(var i=0,a=t.length;i<a;i++)r.$on(t[i],n);else(o._events[t]||(o._events[t]=[])).push(n),e.test(t)&&(o._hasHookEvent=!0);return o},t.prototype.$once=function(t,e){function n(){r.$off(t,n),e.apply(r,arguments)}var r=this;return n.fn=e,r.$on(t,n),r},t.prototype.$off=function(t,e){var n=this,r=this;if(!arguments.length)return r._events=Object.create(null),r;if(Array.isArray(t)){for(var o=0,i=t.length;o<i;o++)n.$off(t[o],e);return r}var a=r._events[t];if(!a)return r;if(!e)return r._events[t]=null,r;if(e)for(var s,c=a.length;c--;)if(s=a[c],s===e||s.fn===e){a.splice(c,1);break}return r},t.prototype.$emit=function(t){var e=this,n=e._events[t];if(n){n=n.length>1?b(n):n;for(var r=b(arguments,1),o=0,i=n.length;o<i;o++)try{n[o].apply(e,r)}catch(n){ot(n,e,'event handler for \"'+t+'\"')}}return e}}function jt(t,e){var n={};if(!t)return n;for(var r=0,o=t.length;r<o;r++){var i=t[r],a=i.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,i.context!==e&&i.fnContext!==e||!a||null==a.slot)(n.default||(n.default=[])).push(i);else{var s=a.slot,c=n[s]||(n[s]=[]);\"template\"===i.tag?c.push.apply(c,i.children||[]):c.push(i)}}for(var u in n)n[u].every(Lt)&&delete n[u];return n}function Lt(t){return t.isComment&&!t.asyncFactory||\" \"===t.text}function Mt(t,e){e=e||{};for(var n=0;n<t.length;n++)Array.isArray(t[n])?Mt(t[n],e):e[t[n].key]=t[n].fn;return e}function Pt(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}function Nt(t){t.prototype._update=function(t,e){var n=this;n._isMounted&&Bt(n,\"beforeUpdate\");var r=n.$el,o=n._vnode,i=ka;ka=n,n._vnode=t,o?n.$el=n.__patch__(o,t):(n.$el=n.__patch__(n.$el,t,e,!1,n.$options._parentElm,n.$options._refElm),n.$options._parentElm=n.$options._refElm=null),ka=i,r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},t.prototype.$forceUpdate=function(){var t=this;t._watcher&&t._watcher.update()},t.prototype.$destroy=function(){var t=this;if(!t._isBeingDestroyed){Bt(t,\"beforeDestroy\"),t._isBeingDestroyed=!0;var e=t.$parent;!e||e._isBeingDestroyed||t.$options.abstract||v(e.$children,t),t._watcher&&t._watcher.teardown();for(var n=t._watchers.length;n--;)t._watchers[n].teardown();t._data.__ob__&&t._data.__ob__.vmCount--,t._isDestroyed=!0,t.__patch__(t._vnode,null),Bt(t,\"destroyed\"),t.$off(),t.$el&&(t.$el.__vue__=null),t.$vnode&&(t.$vnode.parent=null)}}}function It(t,e,n){t.$el=e,t.$options.render||(t.$options.render=ra),Bt(t,\"beforeMount\");var r;return r=function(){t._update(t._render(),n)},new ja(t,r,k,null,!0),n=!1,null==t.$vnode&&(t._isMounted=!0,Bt(t,\"mounted\")),t}function Rt(t,e,n,r,o){var i=!!(o||t.$options._renderChildren||r.data.scopedSlots||t.$scopedSlots!==mi);if(t.$options._parentVnode=r,t.$vnode=r,t._vnode&&(t._vnode.parent=r),t.$options._renderChildren=o,t.$attrs=r.data.attrs||mi,t.$listeners=n||mi,e&&t.$options.props){I(!1);for(var a=t._props,s=t.$options._propKeys||[],c=0;c<s.length;c++){var u=s[c],f=t.$options.props;a[u]=Q(u,f,e,t)}I(!0),t.$options.propsData=e}n=n||mi;var l=t.$options._parentListeners;t.$options._parentListeners=n,At(t,n,l),i&&(t.$slots=jt(o,r.context),t.$forceUpdate())}function Ft(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}function Dt(t,e){if(e){if(t._directInactive=!1,Ft(t))return}else if(t._directInactive)return;if(t._inactive||null===t._inactive){t._inactive=!1;for(var n=0;n<t.$children.length;n++)Dt(t.$children[n]);Bt(t,\"activated\")}}function Ht(t,e){if(!(e&&(t._directInactive=!0,Ft(t))||t._inactive)){t._inactive=!0;for(var n=0;n<t.$children.length;n++)Ht(t.$children[n]);Bt(t,\"deactivated\")}}function Bt(t,e){L();var n=t.$options[e];if(n)for(var r=0,o=n.length;r<o;r++)try{n[r].call(t)}catch(n){ot(n,t,e+\" hook\")}t._hasHookEvent&&t.$emit(\"hook:\"+e),M()}function Ut(){Aa=Ca.length=Oa.length=0,$a={},Sa=Ea=!1}function Vt(){Ea=!0;var t,e;for(Ca.sort(function(t,e){return t.id-e.id}),Aa=0;Aa<Ca.length;Aa++)t=Ca[Aa],e=t.id,$a[e]=null,t.run();var n=Oa.slice(),r=Ca.slice();Ut(),zt(n),qt(r),Ji&&Li.devtools&&Ji.emit(\"flush\")}function qt(t){for(var e=t.length;e--;){var n=t[e],r=n.vm;r._watcher===n&&r._isMounted&&Bt(r,\"updated\")}}function Gt(t){t._inactive=!1,Oa.push(t)}function zt(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,Dt(t[e],!0)}function Kt(t){var e=t.id;if(null==$a[e]){if($a[e]=!0,Ea){for(var n=Ca.length-1;n>Aa&&Ca[n].id>t.id;)n--;Ca.splice(n+1,0,t)}else Ca.push(t);Sa||(Sa=!0,ut(Vt))}}function Wt(t,e,n){La.get=function(){return this[e][n]},La.set=function(t){this[e][n]=t},Object.defineProperty(t,n,La)}function Jt(t){t._watchers=[];var e=t.$options;e.props&&Xt(t,e.props),e.methods&&ne(t,e.methods),e.data?Yt(t):D(t._data={},!0),e.computed&&Qt(t,e.computed),e.watch&&e.watch!==Vi&&re(t,e.watch)}function Xt(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[],i=!t.$parent;i||I(!1);var a=function(i){o.push(i);var a=Q(i,e,n,t);H(r,i,a),i in t||Wt(t,\"_props\",i)};for(var s in e)a(s);I(!0)}function Yt(t){var e=t.$options.data;e=t._data=\"function\"==typeof e?Zt(e,t):e||{},u(e)||(e={});for(var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);o--;){var i=n[o];r&&m(r,i)||E(i)||Wt(t,\"_data\",i)}D(e,!0)}function Zt(t,e){L();try{return t.call(e,e)}catch(t){return ot(t,e,\"data()\"),{}}finally{M()}}function Qt(t,e){var n=t._computedWatchers=Object.create(null),r=Wi();for(var o in e){var i=e[o],a=\"function\"==typeof i?i:i.get;r||(n[o]=new ja(t,a||k,k,Ma)),o in t||te(t,o,i)}}function te(t,e,n){var r=!Wi();\"function\"==typeof n?(La.get=r?ee(e):n,La.set=k):(La.get=n.get?r&&n.cache!==!1?ee(e):n.get:k,La.set=n.set?n.set:k),Object.defineProperty(t,e,La)}function ee(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),Qi.target&&e.depend(),e.value}}function ne(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?k:$i(e[n],t)}function re(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o<r.length;o++)oe(t,n,r[o]);else oe(t,n,r)}}function oe(t,e,n,r){return u(n)&&(r=n,n=n.handler),\"string\"==typeof n&&(n=t[n]),t.$watch(e,n,r)}function ie(t){var e={};e.get=function(){return this._data};var n={};n.get=function(){return this._props},Object.defineProperty(t.prototype,\"$data\",e),Object.defineProperty(t.prototype,\"$props\",n),t.prototype.$set=B,t.prototype.$delete=U,t.prototype.$watch=function(t,e,n){var r=this;if(u(e))return oe(r,t,e,n);n=n||{},n.user=!0;var o=new ja(r,t,e,n);return n.immediate&&e.call(r,o.value),function(){o.teardown()}}}function ae(t){var e=t.$options.provide;e&&(t._provided=\"function\"==typeof e?e.call(t):e)}function se(t){var e=ce(t.$options.inject,t);e&&(I(!1),Object.keys(e).forEach(function(n){H(t,n,e[n])}),I(!0))}function ce(t,e){if(t){for(var n=Object.create(null),r=Xi?Reflect.ownKeys(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}):Object.keys(t),o=0;o<r.length;o++){for(var i=r[o],a=t[i].from,s=e;s;){if(s._provided&&m(s._provided,a)){n[i]=s._provided[a];break}s=s.$parent}if(!s&&\"default\"in t[i]){var c=t[i].default;n[i]=\"function\"==typeof c?c.call(e):c}}return n}}function ue(t,e){var n,r,i,a,s;if(Array.isArray(t)||\"string\"==typeof t)for(n=new Array(t.length),r=0,i=t.length;r<i;r++)n[r]=e(t[r],r);else if(\"number\"==typeof t)for(n=new Array(t),r=0;r<t;r++)n[r]=e(r+1,r);else if(c(t))for(a=Object.keys(t),n=new Array(a.length),r=0,i=a.length;r<i;r++)s=a[r],n[r]=e(t[s],s,r);return o(n)&&(n._isVList=!0),n}function fe(t,e,n,r){var o,i=this.$scopedSlots[t];if(i)n=n||{},r&&(n=w(w({},r),n)),o=i(n)||e;else{var a=this.$slots[t];a&&(a._rendered=!0),o=a||e}var s=n&&n.slot;return s?this.$createElement(\"template\",{slot:s},o):o}function le(t){return Z(this.$options,\"filters\",t,!0)||Ei}function pe(t,e){return Array.isArray(t)?t.indexOf(e)===-1:t!==e}function de(t,e,n,r,o){var i=Li.keyCodes[e]||n;return o&&r&&!Li.keyCodes[e]?pe(o,r):i?pe(i,t):r?Oi(r)!==e:void 0}function he(t,e,n,r,o){if(n)if(c(n)){Array.isArray(n)&&(n=x(n));var i,a=function(a){if(\"class\"===a||\"style\"===a||_i(a))i=t;else{var s=t.attrs&&t.attrs.type;i=r||Li.mustUseProp(e,s,a)?t.domProps||(t.domProps={}):t.attrs||(t.attrs={})}if(!(a in i)&&(i[a]=n[a],o)){var c=t.on||(t.on={});c[\"update:\"+a]=function(t){n[a]=t}}};for(var s in n)a(s)}else;return t}function ve(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];return r&&!e?r:(r=n[t]=this.$options.staticRenderFns[t].call(this._renderProxy,null,this),ye(r,\"__static__\"+t,!1),r)}function me(t,e,n){return ye(t,\"__once__\"+e+(n?\"_\"+n:\"\"),!0),t}function ye(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&\"string\"!=typeof t[r]&&ge(t[r],e+\"_\"+r,n);else ge(t,e,n)}function ge(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}function _e(t,e){if(e)if(u(e)){var n=t.on=t.on?w({},t.on):{};for(var r in e){var o=n[r],i=e[r];n[r]=o?[].concat(o,i):i}}else;return t}function be(t){t._o=me,t._n=d,t._s=p,t._l=ue,t._t=fe,t._q=O,t._i=$,t._m=ve,t._f=le,t._k=de,t._b=he,t._v=P,t._e=ra,t._u=Mt,t._g=_e}function we(t,e,n,r,o){var a,s=o.options;m(r,\"_uid\")?(a=Object.create(r),a._original=r):(a=r,r=r._original);var c=i(s._compiled),u=!c;this.data=t,this.props=e,this.children=n,this.parent=r,this.listeners=t.on||mi,this.injections=ce(s.inject,r),this.slots=function(){return jt(n,r)},c&&(this.$options=s,this.$slots=this.slots(),this.$scopedSlots=t.scopedSlots||mi),s._scopeId?this._c=function(t,e,n,o){var i=Ae(a,t,e,n,o,u);return i&&!Array.isArray(i)&&(i.fnScopeId=s._scopeId,i.fnContext=r),i}:this._c=function(t,e,n,r){return Ae(a,t,e,n,r,u)}}function xe(t,e,n,r,i){var a=t.options,s={},c=a.props;if(o(c))for(var u in c)s[u]=Q(u,c,e||mi);else o(n.attrs)&&Ce(s,n.attrs),o(n.props)&&Ce(s,n.props);var f=new we(n,s,i,r,t),l=a.render.call(null,f._c,f);if(l instanceof ea)return ke(l,n,f.parent,a);if(Array.isArray(l)){for(var p=gt(l)||[],d=new Array(p.length),h=0;h<p.length;h++)d[h]=ke(p[h],n,f.parent,a);return d}}function ke(t,e,n,r){var o=N(t);return o.fnContext=n,o.fnOptions=r,e.slot&&((o.data||(o.data={})).slot=e.slot),o}function Ce(t,e){for(var n in e)t[xi(n)]=e[n]}function Oe(t,e,n,a,s){if(!r(t)){var u=n.$options._base;if(c(t)&&(t=u.extend(t)),\"function\"==typeof t){var f;if(r(t.cid)&&(f=t,t=kt(f,u,n),void 0===t))return xt(f,e,n,a,s);e=e||{},Re(t),o(e.model)&&Ee(t.options,e);var l=vt(e,t,s);if(i(t.options.functional))return xe(t,l,e,n,a);var p=e.on;if(e.on=e.nativeOn,i(t.options.abstract)){var d=e.slot;e={},d&&(e.slot=d)}Se(e);var h=t.options.name||s,v=new ea(\"vue-component-\"+t.cid+(h?\"-\"+h:\"\"),e,void 0,void 0,void 0,n,{Ctor:t,propsData:l,listeners:p,tag:s,children:a},f);return v}}}function $e(t,e,n,r){var i={_isComponent:!0,parent:e,_parentVnode:t,_parentElm:n||null,_refElm:r||null},a=t.data.inlineTemplate;return o(a)&&(i.render=a.render,i.staticRenderFns=a.staticRenderFns),new t.componentOptions.Ctor(i)}function Se(t){for(var e=t.hook||(t.hook={}),n=0;n<Na.length;n++){var r=Na[n];e[r]=Pa[r]}}function Ee(t,e){var n=t.model&&t.model.prop||\"value\",r=t.model&&t.model.event||\"input\";(e.props||(e.props={}))[n]=e.model.value;var i=e.on||(e.on={});o(i[r])?i[r]=[e.model.callback].concat(i[r]):i[r]=e.model.callback}function Ae(t,e,n,r,o,a){return(Array.isArray(n)||s(n))&&(o=r,r=n,n=void 0),i(a)&&(o=Ra),Te(t,e,n,r,o)}function Te(t,e,n,r,i){if(o(n)&&o(n.__ob__))return ra();if(o(n)&&o(n.is)&&(e=n.is),!e)return ra();Array.isArray(r)&&\"function\"==typeof r[0]&&(n=n||{},n.scopedSlots={default:r[0]},r.length=0),i===Ra?r=gt(r):i===Ia&&(r=yt(r));var a,s;if(\"string\"==typeof e){var c;s=t.$vnode&&t.$vnode.ns||Li.getTagNamespace(e),a=Li.isReservedTag(e)?new ea(Li.parsePlatformTagName(e),n,r,void 0,void 0,t):o(c=Z(t.$options,\"components\",e))?Oe(c,n,t,r,e):new ea(e,n,r,void 0,void 0,t)}else a=Oe(e,n,t,r);return Array.isArray(a)?a:o(a)?(o(s)&&je(a,s),o(n)&&Le(n),a):ra()}function je(t,e,n){if(t.ns=e,\"foreignObject\"===t.tag&&(e=void 0,n=!0),o(t.children))for(var a=0,s=t.children.length;a<s;a++){var c=t.children[a];o(c.tag)&&(r(c.ns)||i(n)&&\"svg\"!==c.tag)&&je(c,e,n)}}function Le(t){c(t.style)&&ft(t.style),c(t.class)&&ft(t.class)}function Me(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,r=n&&n.context;t.$slots=jt(e._renderChildren,r),t.$scopedSlots=mi,t._c=function(e,n,r,o){return Ae(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return Ae(t,e,n,r,o,!0)};var o=n&&n.data;H(t,\"$attrs\",o&&o.attrs||mi,null,!0),H(t,\"$listeners\",e._parentListeners||mi,null,!0)}function Pe(t){be(t.prototype),t.prototype.$nextTick=function(t){return ut(t,this)},t.prototype._render=function(){var t=this,e=t.$options,n=e.render,r=e._parentVnode;r&&(t.$scopedSlots=r.data.scopedSlots||mi),t.$vnode=r;var o;try{o=n.call(t._renderProxy,t.$createElement)}catch(e){ot(e,t,\"render\"),o=t._vnode}return o instanceof ea||(o=ra()),o.parent=r,o}}function Ne(t){t.prototype._init=function(t){var e=this;e._uid=Fa++;e._isVue=!0,t&&t._isComponent?Ie(e,t):e.$options=Y(Re(e.constructor),t||{},e),e._renderProxy=e,e._self=e,Pt(e),$t(e),Me(e),Bt(e,\"beforeCreate\"),se(e),Jt(e),ae(e),Bt(e,\"created\"),e.$options.el&&e.$mount(e.$options.el)}}function Ie(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r,n._parentElm=e._parentElm,n._refElm=e._refElm;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}function Re(t){var e=t.options;if(t.super){var n=Re(t.super),r=t.superOptions;if(n!==r){t.superOptions=n;var o=Fe(t);o&&w(t.extendOptions,o),e=t.options=Y(n,t.extendOptions),e.name&&(e.components[e.name]=t)}}return e}function Fe(t){var e,n=t.options,r=t.extendOptions,o=t.sealedOptions;for(var i in n)n[i]!==o[i]&&(e||(e={}),e[i]=De(n[i],r[i],o[i]));return e}function De(t,e,n){if(Array.isArray(t)){var r=[];n=Array.isArray(n)?n:[n],e=Array.isArray(e)?e:[e];for(var o=0;o<t.length;o++)(e.indexOf(t[o])>=0||n.indexOf(t[o])<0)&&r.push(t[o]);return r}return t}function He(t){this._init(t)}function Be(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=b(arguments,1);return n.unshift(this),\"function\"==typeof t.install?t.install.apply(t,n):\"function\"==typeof t&&t.apply(null,n),e.push(t),this}}function Ue(t){t.mixin=function(t){return this.options=Y(this.options,t),this}}function Ve(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=t.name||n.options.name,a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Y(n.options,t),a.super=n,a.options.props&&qe(a),a.options.computed&&Ge(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,Ti.forEach(function(t){a[t]=n[t]}),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=w({},a.options),o[r]=a,a}}function qe(t){var e=t.options.props;for(var n in e)Wt(t.prototype,\"_props\",n)}function Ge(t){var e=t.options.computed;for(var n in e)te(t.prototype,n,e[n])}function ze(t){Ti.forEach(function(e){t[e]=function(t,n){return n?(\"component\"===e&&u(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),\"directive\"===e&&\"function\"==typeof n&&(n={bind:n,update:n}),this.options[e+\"s\"][t]=n,n):this.options[e+\"s\"][t]}})}function Ke(t){return t&&(t.Ctor.options.name||t.tag)}function We(t,e){return Array.isArray(t)?t.indexOf(e)>-1:\"string\"==typeof t?t.split(\",\").indexOf(e)>-1:!!f(t)&&t.test(e)}function Je(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=Ke(a.componentOptions);s&&!e(s)&&Xe(n,i,r,o)}}}function Xe(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,v(n,e)}function Ye(t){var e={};e.get=function(){return Li},Object.defineProperty(t,\"config\",e),t.util={warn:Yi,extend:w,mergeOptions:Y,defineReactive:H},t.set=B,t.delete=U,t.nextTick=ut,t.options=Object.create(null),Ti.forEach(function(e){t.options[e+\"s\"]=Object.create(null)}),t.options._base=t,w(t.options.components,Ba),Be(t),Ue(t),Ve(t),ze(t)}function Ze(t){for(var e=t.data,n=t,r=t;o(r.componentInstance);)r=r.componentInstance._vnode,r&&r.data&&(e=Qe(r.data,e));for(;o(n=n.parent);)n&&n.data&&(e=Qe(e,n.data));return tn(e.staticClass,e.class)}function Qe(t,e){return{staticClass:en(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function tn(t,e){return o(t)||o(e)?en(t,nn(e)):\"\"}function en(t,e){return t?e?t+\" \"+e:t:e||\"\"}function nn(t){return Array.isArray(t)?rn(t):c(t)?on(t):\"string\"==typeof t?t:\"\"}function rn(t){for(var e,n=\"\",r=0,i=t.length;r<i;r++)o(e=nn(t[r]))&&\"\"!==e&&(n&&(n+=\" \"),n+=e);return n}function on(t){var e=\"\";for(var n in t)t[n]&&(e&&(e+=\" \"),e+=n);return e}function an(t){return cs(t)?\"svg\":\"math\"===t?\"math\":void 0}function sn(t){if(!Ni)return!0;if(fs(t))return!1;if(t=t.toLowerCase(),null!=ls[t])return ls[t];var e=document.createElement(t);return t.indexOf(\"-\")>-1?ls[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:ls[t]=/HTMLUnknownElement/.test(e.toString())}function cn(t){if(\"string\"==typeof t){var e=document.querySelector(t);return e?e:document.createElement(\"div\")}return t}function un(t,e){var n=document.createElement(t);return\"select\"!==t?n:(e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute(\"multiple\",\"multiple\"),n)}function fn(t,e){return document.createElementNS(as[t],e)}function ln(t){return document.createTextNode(t)}function pn(t){return document.createComment(t)}function dn(t,e,n){t.insertBefore(e,n)}function hn(t,e){t.removeChild(e)}function vn(t,e){t.appendChild(e)}function mn(t){return t.parentNode}function yn(t){return t.nextSibling}function gn(t){return t.tagName}function _n(t,e){t.textContent=e}function bn(t,e){t.setAttribute(e,\"\")}function wn(t,e){var n=t.data.ref;if(o(n)){var r=t.context,i=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?v(a[n],i):a[n]===i&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(i)<0&&a[n].push(i):a[n]=[i]:a[n]=i}}function xn(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&o(t.data)===o(e.data)&&kn(t,e)||i(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function kn(t,e){if(\"input\"!==t.tag)return!0;var n,r=o(n=t.data)&&o(n=n.attrs)&&n.type,i=o(n=e.data)&&o(n=n.attrs)&&n.type;return r===i||ps(r)&&ps(i)}function Cn(t,e,n){var r,i,a={};for(r=e;r<=n;++r)i=t[r].key,o(i)&&(a[i]=r);return a}function On(t){function e(t){return new ea(j.tagName(t).toLowerCase(),{},[],void 0,t)}function n(t,e){function n(){0===--n.listeners&&a(t)}return n.listeners=e,n}function a(t){var e=j.parentNode(t);o(e)&&j.removeChild(e,t)}function c(t,e,n,r,a,s,c){if(o(t.elm)&&o(s)&&(t=s[c]=N(t)),t.isRootInsert=!a,!u(t,e,n,r)){var f=t.data,l=t.children,h=t.tag;o(h)?(t.elm=t.ns?j.createElementNS(t.ns,h):j.createElement(h,t),y(t),d(t,l,e),o(f)&&m(t,e),p(n,t.elm,r)):i(t.isComment)?(t.elm=j.createComment(t.text),p(n,t.elm,r)):(t.elm=j.createTextNode(t.text),p(n,t.elm,r))}}function u(t,e,n,r){var a=t.data;if(o(a)){var s=o(t.componentInstance)&&a.keepAlive;if(o(a=a.hook)&&o(a=a.init)&&a(t,!1,n,r),o(t.componentInstance))return f(t,e),i(s)&&l(t,e,n,r),!0}}function f(t,e){o(t.data.pendingInsert)&&(e.push.apply(e,t.data.pendingInsert),t.data.pendingInsert=null),t.elm=t.componentInstance.$el,v(t)?(m(t,e),y(t)):(wn(t),e.push(t))}function l(t,e,n,r){for(var i,a=t;a.componentInstance;)if(a=a.componentInstance._vnode,o(i=a.data)&&o(i=i.transition)){for(i=0;i<A.activate.length;++i)A.activate[i](vs,a);e.push(a);break}p(n,t.elm,r)}function p(t,e,n){o(t)&&(o(n)?n.parentNode===t&&j.insertBefore(t,e,n):j.appendChild(t,e))}function d(t,e,n){if(Array.isArray(e))for(var r=0;r<e.length;++r)c(e[r],n,t.elm,null,!0,e,r);else s(t.text)&&j.appendChild(t.elm,j.createTextNode(String(t.text)))}function v(t){for(;t.componentInstance;)t=t.componentInstance._vnode;return o(t.tag)}function m(t,e){for(var n=0;n<A.create.length;++n)A.create[n](vs,t);S=t.data.hook,o(S)&&(o(S.create)&&S.create(vs,t),o(S.insert)&&e.push(t))}function y(t){var e;if(o(e=t.fnScopeId))j.setStyleScope(t.elm,e);else for(var n=t;n;)o(e=n.context)&&o(e=e.$options._scopeId)&&j.setStyleScope(t.elm,e),n=n.parent;o(e=ka)&&e!==t.context&&e!==t.fnContext&&o(e=e.$options._scopeId)&&j.setStyleScope(t.elm,e)}function g(t,e,n,r,o,i){for(;r<=o;++r)c(n[r],i,t,e,!1,n,r)}function _(t){var e,n,r=t.data;if(o(r))for(o(e=r.hook)&&o(e=e.destroy)&&e(t),e=0;e<A.destroy.length;++e)A.destroy[e](t);if(o(e=t.children))for(n=0;n<t.children.length;++n)_(t.children[n])}function b(t,e,n,r){for(;n<=r;++n){var i=e[n];o(i)&&(o(i.tag)?(w(i),_(i)):a(i.elm))}}function w(t,e){if(o(e)||o(t.data)){var r,i=A.remove.length+1;for(o(e)?e.listeners+=i:e=n(t.elm,i),o(r=t.componentInstance)&&o(r=r._vnode)&&o(r.data)&&w(r,e),r=0;r<A.remove.length;++r)A.remove[r](t,e);o(r=t.data.hook)&&o(r=r.remove)?r(t,e):e()}else a(t.elm)}function x(t,e,n,i,a){for(var s,u,f,l,p=0,d=0,h=e.length-1,v=e[0],m=e[h],y=n.length-1,_=n[0],w=n[y],x=!a;p<=h&&d<=y;)r(v)?v=e[++p]:r(m)?m=e[--h]:xn(v,_)?(C(v,_,i),v=e[++p],_=n[++d]):xn(m,w)?(C(m,w,i),m=e[--h],w=n[--y]):xn(v,w)?(C(v,w,i),x&&j.insertBefore(t,v.elm,j.nextSibling(m.elm)),v=e[++p],w=n[--y]):xn(m,_)?(C(m,_,i),x&&j.insertBefore(t,m.elm,v.elm),m=e[--h],_=n[++d]):(r(s)&&(s=Cn(e,p,h)),u=o(_.key)?s[_.key]:k(_,e,p,h),\nr(u)?c(_,i,t,v.elm,!1,n,d):(f=e[u],xn(f,_)?(C(f,_,i),e[u]=void 0,x&&j.insertBefore(t,f.elm,v.elm)):c(_,i,t,v.elm,!1,n,d)),_=n[++d]);p>h?(l=r(n[y+1])?null:n[y+1].elm,g(t,l,n,d,y,i)):d>y&&b(t,e,p,h)}function k(t,e,n,r){for(var i=n;i<r;i++){var a=e[i];if(o(a)&&xn(t,a))return i}}function C(t,e,n,a){if(t!==e){var s=e.elm=t.elm;if(i(t.isAsyncPlaceholder))return void(o(e.asyncFactory.resolved)?$(t.elm,e,n):e.isAsyncPlaceholder=!0);if(i(e.isStatic)&&i(t.isStatic)&&e.key===t.key&&(i(e.isCloned)||i(e.isOnce)))return void(e.componentInstance=t.componentInstance);var c,u=e.data;o(u)&&o(c=u.hook)&&o(c=c.prepatch)&&c(t,e);var f=t.children,l=e.children;if(o(u)&&v(e)){for(c=0;c<A.update.length;++c)A.update[c](t,e);o(c=u.hook)&&o(c=c.update)&&c(t,e)}r(e.text)?o(f)&&o(l)?f!==l&&x(s,f,l,n,a):o(l)?(o(t.text)&&j.setTextContent(s,\"\"),g(s,null,l,0,l.length-1,n)):o(f)?b(s,f,0,f.length-1):o(t.text)&&j.setTextContent(s,\"\"):t.text!==e.text&&j.setTextContent(s,e.text),o(u)&&o(c=u.hook)&&o(c=c.postpatch)&&c(t,e)}}function O(t,e,n){if(i(n)&&o(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r<e.length;++r)e[r].data.hook.insert(e[r])}function $(t,e,n,r){var a,s=e.tag,c=e.data,u=e.children;if(r=r||c&&c.pre,e.elm=t,i(e.isComment)&&o(e.asyncFactory))return e.isAsyncPlaceholder=!0,!0;if(o(c)&&(o(a=c.hook)&&o(a=a.init)&&a(e,!0),o(a=e.componentInstance)))return f(e,n),!0;if(o(s)){if(o(u))if(t.hasChildNodes())if(o(a=c)&&o(a=a.domProps)&&o(a=a.innerHTML)){if(a!==t.innerHTML)return!1}else{for(var l=!0,p=t.firstChild,h=0;h<u.length;h++){if(!p||!$(p,u[h],n,r)){l=!1;break}p=p.nextSibling}if(!l||p)return!1}else d(e,u,n);if(o(c)){var v=!1;for(var y in c)if(!L(y)){v=!0,m(e,n);break}!v&&c.class&&ft(c.class)}}else t.data!==e.text&&(t.data=e.text);return!0}var S,E,A={},T=t.modules,j=t.nodeOps;for(S=0;S<ms.length;++S)for(A[ms[S]]=[],E=0;E<T.length;++E)o(T[E][ms[S]])&&A[ms[S]].push(T[E][ms[S]]);var L=h(\"attrs,class,staticClass,staticStyle,key\");return function(t,n,a,s,u,f){if(r(n))return void(o(t)&&_(t));var l=!1,p=[];if(r(t))l=!0,c(n,p,u,f);else{var d=o(t.nodeType);if(!d&&xn(t,n))C(t,n,p,s);else{if(d){if(1===t.nodeType&&t.hasAttribute(Ai)&&(t.removeAttribute(Ai),a=!0),i(a)&&$(t,n,p))return O(n,p,!0),t;t=e(t)}var h=t.elm,m=j.parentNode(h);if(c(n,p,h._leaveCb?null:m,j.nextSibling(h)),o(n.parent))for(var y=n.parent,g=v(n);y;){for(var w=0;w<A.destroy.length;++w)A.destroy[w](y);if(y.elm=n.elm,g){for(var x=0;x<A.create.length;++x)A.create[x](vs,y);var k=y.data.hook.insert;if(k.merged)for(var S=1;S<k.fns.length;S++)k.fns[S]()}else wn(y);y=y.parent}o(m)?b(m,[t],0,0):o(t.tag)&&_(t)}}return O(n,p,l),n.elm}}function $n(t,e){(t.data.directives||e.data.directives)&&Sn(t,e)}function Sn(t,e){var n,r,o,i=t===vs,a=e===vs,s=En(t.data.directives,t.context),c=En(e.data.directives,e.context),u=[],f=[];for(n in c)r=s[n],o=c[n],r?(o.oldValue=r.value,Tn(o,\"update\",e,t),o.def&&o.def.componentUpdated&&f.push(o)):(Tn(o,\"bind\",e,t),o.def&&o.def.inserted&&u.push(o));if(u.length){var l=function(){for(var n=0;n<u.length;n++)Tn(u[n],\"inserted\",e,t)};i?ht(e,\"insert\",l):l()}if(f.length&&ht(e,\"postpatch\",function(){for(var n=0;n<f.length;n++)Tn(f[n],\"componentUpdated\",e,t)}),!i)for(n in s)c[n]||Tn(s[n],\"unbind\",t,t,a)}function En(t,e){var n=Object.create(null);if(!t)return n;var r,o;for(r=0;r<t.length;r++)o=t[r],o.modifiers||(o.modifiers=gs),n[An(o)]=o,o.def=Z(e.$options,\"directives\",o.name,!0);return n}function An(t){return t.rawName||t.name+\".\"+Object.keys(t.modifiers||{}).join(\".\")}function Tn(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}catch(r){ot(r,n.context,\"directive \"+t.name+\" \"+e+\" hook\")}}function jn(t,e){var n=e.componentOptions;if(!(o(n)&&n.Ctor.options.inheritAttrs===!1||r(t.data.attrs)&&r(e.data.attrs))){var i,a,s,c=e.elm,u=t.data.attrs||{},f=e.data.attrs||{};o(f.__ob__)&&(f=e.data.attrs=w({},f));for(i in f)a=f[i],s=u[i],s!==a&&Ln(c,i,a);(Di||Bi)&&f.value!==u.value&&Ln(c,\"value\",f.value);for(i in u)r(f[i])&&(rs(i)?c.removeAttributeNS(ns,os(i)):ts(i)||c.removeAttribute(i))}}function Ln(t,e,n){t.tagName.indexOf(\"-\")>-1?Mn(t,e,n):es(e)?is(n)?t.removeAttribute(e):(n=\"allowfullscreen\"===e&&\"EMBED\"===t.tagName?\"true\":e,t.setAttribute(e,n)):ts(e)?t.setAttribute(e,is(n)||\"false\"===n?\"false\":\"true\"):rs(e)?is(n)?t.removeAttributeNS(ns,os(e)):t.setAttributeNS(ns,e,n):Mn(t,e,n)}function Mn(t,e,n){if(is(n))t.removeAttribute(e);else{if(Di&&!Hi&&\"TEXTAREA\"===t.tagName&&\"placeholder\"===e&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener(\"input\",r)};t.addEventListener(\"input\",r),t.__ieph=!0}t.setAttribute(e,n)}}function Pn(t,e){var n=e.elm,i=e.data,a=t.data;if(!(r(i.staticClass)&&r(i.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=Ze(e),c=n._transitionClasses;o(c)&&(s=en(s,nn(c))),s!==n._prevClass&&(n.setAttribute(\"class\",s),n._prevClass=s)}}function Nn(t){function e(){(a||(a=[])).push(t.slice(h,o).trim()),h=o+1}var n,r,o,i,a,s=!1,c=!1,u=!1,f=!1,l=0,p=0,d=0,h=0;for(o=0;o<t.length;o++)if(r=n,n=t.charCodeAt(o),s)39===n&&92!==r&&(s=!1);else if(c)34===n&&92!==r&&(c=!1);else if(u)96===n&&92!==r&&(u=!1);else if(f)47===n&&92!==r&&(f=!1);else if(124!==n||124===t.charCodeAt(o+1)||124===t.charCodeAt(o-1)||l||p||d){switch(n){case 34:c=!0;break;case 39:s=!0;break;case 96:u=!0;break;case 40:d++;break;case 41:d--;break;case 91:p++;break;case 93:p--;break;case 123:l++;break;case 125:l--}if(47===n){for(var v=o-1,m=void 0;v>=0&&(m=t.charAt(v),\" \"===m);v--);m&&xs.test(m)||(f=!0)}}else void 0===i?(h=o+1,i=t.slice(0,o).trim()):e();if(void 0===i?i=t.slice(0,o).trim():0!==h&&e(),a)for(o=0;o<a.length;o++)i=In(i,a[o]);return i}function In(t,e){var n=e.indexOf(\"(\");if(n<0)return'_f(\"'+e+'\")('+t+\")\";var r=e.slice(0,n),o=e.slice(n+1);return'_f(\"'+r+'\")('+t+(\")\"!==o?\",\"+o:o)}function Rn(t){console.error(\"[Vue compiler]: \"+t)}function Fn(t,e){return t?t.map(function(t){return t[e]}).filter(function(t){return t}):[]}function Dn(t,e,n){(t.props||(t.props=[])).push({name:e,value:n}),t.plain=!1}function Hn(t,e,n){(t.attrs||(t.attrs=[])).push({name:e,value:n}),t.plain=!1}function Bn(t,e,n){t.attrsMap[e]=n,t.attrsList.push({name:e,value:n})}function Un(t,e,n,r,o,i){(t.directives||(t.directives=[])).push({name:e,rawName:n,value:r,arg:o,modifiers:i}),t.plain=!1}function Vn(t,e,n,r,o,i){r=r||mi,r.capture&&(delete r.capture,e=\"!\"+e),r.once&&(delete r.once,e=\"~\"+e),r.passive&&(delete r.passive,e=\"&\"+e),\"click\"===e&&(r.right?(e=\"contextmenu\",delete r.right):r.middle&&(e=\"mouseup\"));var a;r.native?(delete r.native,a=t.nativeEvents||(t.nativeEvents={})):a=t.events||(t.events={});var s={value:n.trim()};r!==mi&&(s.modifiers=r);var c=a[e];Array.isArray(c)?o?c.unshift(s):c.push(s):c?a[e]=o?[s,c]:[c,s]:a[e]=s,t.plain=!1}function qn(t,e,n){var r=Gn(t,\":\"+e)||Gn(t,\"v-bind:\"+e);if(null!=r)return Nn(r);if(n!==!1){var o=Gn(t,e);if(null!=o)return JSON.stringify(o)}}function Gn(t,e,n){var r;if(null!=(r=t.attrsMap[e]))for(var o=t.attrsList,i=0,a=o.length;i<a;i++)if(o[i].name===e){o.splice(i,1);break}return n&&delete t.attrsMap[e],r}function zn(t,e,n){var r=n||{},o=r.number,i=r.trim,a=\"$$v\",s=a;i&&(s=\"(typeof \"+a+\" === 'string'? \"+a+\".trim(): \"+a+\")\"),o&&(s=\"_n(\"+s+\")\");var c=Kn(e,s);t.model={value:\"(\"+e+\")\",expression:'\"'+e+'\"',callback:\"function (\"+a+\") {\"+c+\"}\"}}function Kn(t,e){var n=Wn(t);return null===n.key?t+\"=\"+e:\"$set(\"+n.exp+\", \"+n.key+\", \"+e+\")\"}function Wn(t){if(t=t.trim(),Ua=t.length,t.indexOf(\"[\")<0||t.lastIndexOf(\"]\")<Ua-1)return Ga=t.lastIndexOf(\".\"),Ga>-1?{exp:t.slice(0,Ga),key:'\"'+t.slice(Ga+1)+'\"'}:{exp:t,key:null};for(Va=t,Ga=za=Ka=0;!Xn();)qa=Jn(),Yn(qa)?Qn(qa):91===qa&&Zn(qa);return{exp:t.slice(0,za),key:t.slice(za+1,Ka)}}function Jn(){return Va.charCodeAt(++Ga)}function Xn(){return Ga>=Ua}function Yn(t){return 34===t||39===t}function Zn(t){var e=1;for(za=Ga;!Xn();)if(t=Jn(),Yn(t))Qn(t);else if(91===t&&e++,93===t&&e--,0===e){Ka=Ga;break}}function Qn(t){for(var e=t;!Xn()&&(t=Jn(),t!==e););}function tr(t,e,n){Wa=n;var r=e.value,o=e.modifiers,i=t.tag,a=t.attrsMap.type;if(t.component)return zn(t,r,o),!1;if(\"select\"===i)rr(t,r,o);else if(\"input\"===i&&\"checkbox\"===a)er(t,r,o);else if(\"input\"===i&&\"radio\"===a)nr(t,r,o);else if(\"input\"===i||\"textarea\"===i)or(t,r,o);else if(!Li.isReservedTag(i))return zn(t,r,o),!1;return!0}function er(t,e,n){var r=n&&n.number,o=qn(t,\"value\")||\"null\",i=qn(t,\"true-value\")||\"true\",a=qn(t,\"false-value\")||\"false\";Dn(t,\"checked\",\"Array.isArray(\"+e+\")?_i(\"+e+\",\"+o+\")>-1\"+(\"true\"===i?\":(\"+e+\")\":\":_q(\"+e+\",\"+i+\")\")),Vn(t,\"change\",\"var $$a=\"+e+\",$$el=$event.target,$$c=$$el.checked?(\"+i+\"):(\"+a+\");if(Array.isArray($$a)){var $$v=\"+(r?\"_n(\"+o+\")\":o)+\",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&(\"+Kn(e,\"$$a.concat([$$v])\")+\")}else{$$i>-1&&(\"+Kn(e,\"$$a.slice(0,$$i).concat($$a.slice($$i+1))\")+\")}}else{\"+Kn(e,\"$$c\")+\"}\",null,!0)}function nr(t,e,n){var r=n&&n.number,o=qn(t,\"value\")||\"null\";o=r?\"_n(\"+o+\")\":o,Dn(t,\"checked\",\"_q(\"+e+\",\"+o+\")\"),Vn(t,\"change\",Kn(e,o),null,!0)}function rr(t,e,n){var r=n&&n.number,o='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return '+(r?\"_n(val)\":\"val\")+\"})\",i=\"$event.target.multiple ? $$selectedVal : $$selectedVal[0]\",a=\"var $$selectedVal = \"+o+\";\";a=a+\" \"+Kn(e,i),Vn(t,\"change\",a,null,!0)}function or(t,e,n){var r=t.attrsMap.type,o=n||{},i=o.lazy,a=o.number,s=o.trim,c=!i&&\"range\"!==r,u=i?\"change\":\"range\"===r?ks:\"input\",f=\"$event.target.value\";s&&(f=\"$event.target.value.trim()\"),a&&(f=\"_n(\"+f+\")\");var l=Kn(e,f);c&&(l=\"if($event.target.composing)return;\"+l),Dn(t,\"value\",\"(\"+e+\")\"),Vn(t,u,l,null,!0),(s||a)&&Vn(t,\"blur\",\"$forceUpdate()\")}function ir(t){if(o(t[ks])){var e=Di?\"change\":\"input\";t[e]=[].concat(t[ks],t[e]||[]),delete t[ks]}o(t[Cs])&&(t.change=[].concat(t[Cs],t.change||[]),delete t[Cs])}function ar(t,e,n){var r=Ja;return function o(){var i=t.apply(null,arguments);null!==i&&cr(e,o,n,r)}}function sr(t,e,n,r,o){e=ct(e),n&&(e=ar(e,t,r)),Ja.addEventListener(t,e,qi?{capture:r,passive:o}:r)}function cr(t,e,n,r){(r||Ja).removeEventListener(t,e._withTask||e,n)}function ur(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},o=t.data.on||{};Ja=e.elm,ir(n),dt(n,o,sr,cr,e.context),Ja=void 0}}function fr(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,a=e.elm,s=t.data.domProps||{},c=e.data.domProps||{};o(c.__ob__)&&(c=e.data.domProps=w({},c));for(n in s)r(c[n])&&(a[n]=\"\");for(n in c){if(i=c[n],\"textContent\"===n||\"innerHTML\"===n){if(e.children&&(e.children.length=0),i===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if(\"value\"===n){a._value=i;var u=r(i)?\"\":String(i);lr(a,u)&&(a.value=u)}else a[n]=i}}}function lr(t,e){return!t.composing&&(\"OPTION\"===t.tagName||pr(t,e)||dr(t,e))}function pr(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}function dr(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.lazy)return!1;if(r.number)return d(n)!==d(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}function hr(t){var e=vr(t.style);return t.staticStyle?w(t.staticStyle,e):e}function vr(t){return Array.isArray(t)?x(t):\"string\"==typeof t?Ss(t):t}function mr(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)o=o.componentInstance._vnode,o&&o.data&&(n=hr(o.data))&&w(r,n);(n=hr(t.data))&&w(r,n);for(var i=t;i=i.parent;)i.data&&(n=hr(i.data))&&w(r,n);return r}function yr(t,e){var n=e.data,i=t.data;if(!(r(n.staticStyle)&&r(n.style)&&r(i.staticStyle)&&r(i.style))){var a,s,c=e.elm,u=i.staticStyle,f=i.normalizedStyle||i.style||{},l=u||f,p=vr(e.data.style)||{};e.data.normalizedStyle=o(p.__ob__)?w({},p):p;var d=mr(e,!0);for(s in l)r(d[s])&&Ts(c,s,\"\");for(s in d)a=d[s],a!==l[s]&&Ts(c,s,null==a?\"\":a)}}function gr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(\" \")>-1?e.split(/\\s+/).forEach(function(e){return t.classList.add(e)}):t.classList.add(e);else{var n=\" \"+(t.getAttribute(\"class\")||\"\")+\" \";n.indexOf(\" \"+e+\" \")<0&&t.setAttribute(\"class\",(n+e).trim())}}function _r(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(\" \")>-1?e.split(/\\s+/).forEach(function(e){return t.classList.remove(e)}):t.classList.remove(e),t.classList.length||t.removeAttribute(\"class\");else{for(var n=\" \"+(t.getAttribute(\"class\")||\"\")+\" \",r=\" \"+e+\" \";n.indexOf(r)>=0;)n=n.replace(r,\" \");n=n.trim(),n?t.setAttribute(\"class\",n):t.removeAttribute(\"class\")}}function br(t){if(t){if(\"object\"==typeof t){var e={};return t.css!==!1&&w(e,Ps(t.name||\"v\")),w(e,t),e}return\"string\"==typeof t?Ps(t):void 0}}function wr(t){Us(function(){Us(t)})}function xr(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),gr(t,e))}function kr(t,e){t._transitionClasses&&v(t._transitionClasses,e),_r(t,e)}function Cr(t,e,n){var r=Or(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s=o===Is?Ds:Bs,c=0,u=function(){t.removeEventListener(s,f),n()},f=function(e){e.target===t&&++c>=a&&u()};setTimeout(function(){c<a&&u()},i+1),t.addEventListener(s,f)}function Or(t,e){var n,r=window.getComputedStyle(t),o=r[Fs+\"Delay\"].split(\", \"),i=r[Fs+\"Duration\"].split(\", \"),a=$r(o,i),s=r[Hs+\"Delay\"].split(\", \"),c=r[Hs+\"Duration\"].split(\", \"),u=$r(s,c),f=0,l=0;e===Is?a>0&&(n=Is,f=a,l=i.length):e===Rs?u>0&&(n=Rs,f=u,l=c.length):(f=Math.max(a,u),n=f>0?a>u?Is:Rs:null,l=n?n===Is?i.length:c.length:0);var p=n===Is&&Vs.test(r[Fs+\"Property\"]);return{type:n,timeout:f,propCount:l,hasTransform:p}}function $r(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.apply(null,e.map(function(e,n){return Sr(e)+Sr(t[n])}))}function Sr(t){return 1e3*Number(t.slice(0,-1))}function Er(t,e){var n=t.elm;o(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var i=br(t.data.transition);if(!r(i)&&!o(n._enterCb)&&1===n.nodeType){for(var a=i.css,s=i.type,u=i.enterClass,f=i.enterToClass,l=i.enterActiveClass,p=i.appearClass,h=i.appearToClass,v=i.appearActiveClass,m=i.beforeEnter,y=i.enter,g=i.afterEnter,_=i.enterCancelled,b=i.beforeAppear,w=i.appear,x=i.afterAppear,k=i.appearCancelled,C=i.duration,O=ka,$=ka.$vnode;$&&$.parent;)$=$.parent,O=$.context;var E=!O._isMounted||!t.isRootInsert;if(!E||w||\"\"===w){var A=E&&p?p:u,T=E&&v?v:l,j=E&&h?h:f,L=E?b||m:m,M=E&&\"function\"==typeof w?w:y,P=E?x||g:g,N=E?k||_:_,I=d(c(C)?C.enter:C),R=a!==!1&&!Hi,F=jr(M),D=n._enterCb=S(function(){R&&(kr(n,j),kr(n,T)),D.cancelled?(R&&kr(n,A),N&&N(n)):P&&P(n),n._enterCb=null});t.data.show||ht(t,\"insert\",function(){var e=n.parentNode,r=e&&e._pending&&e._pending[t.key];r&&r.tag===t.tag&&r.elm._leaveCb&&r.elm._leaveCb(),M&&M(n,D)}),L&&L(n),R&&(xr(n,A),xr(n,T),wr(function(){kr(n,A),D.cancelled||(xr(n,j),F||(Tr(I)?setTimeout(D,I):Cr(n,s,D)))})),t.data.show&&(e&&e(),M&&M(n,D)),R||F||D()}}}function Ar(t,e){function n(){k.cancelled||(t.data.show||((i.parentNode._pending||(i.parentNode._pending={}))[t.key]=t),h&&h(i),b&&(xr(i,f),xr(i,p),wr(function(){kr(i,f),k.cancelled||(xr(i,l),w||(Tr(x)?setTimeout(k,x):Cr(i,u,k)))})),v&&v(i,k),b||w||k())}var i=t.elm;o(i._enterCb)&&(i._enterCb.cancelled=!0,i._enterCb());var a=br(t.data.transition);if(r(a)||1!==i.nodeType)return e();if(!o(i._leaveCb)){var s=a.css,u=a.type,f=a.leaveClass,l=a.leaveToClass,p=a.leaveActiveClass,h=a.beforeLeave,v=a.leave,m=a.afterLeave,y=a.leaveCancelled,g=a.delayLeave,_=a.duration,b=s!==!1&&!Hi,w=jr(v),x=d(c(_)?_.leave:_),k=i._leaveCb=S(function(){i.parentNode&&i.parentNode._pending&&(i.parentNode._pending[t.key]=null),b&&(kr(i,l),kr(i,p)),k.cancelled?(b&&kr(i,f),y&&y(i)):(e(),m&&m(i)),i._leaveCb=null});g?g(n):n()}}function Tr(t){return\"number\"==typeof t&&!isNaN(t)}function jr(t){if(r(t))return!1;var e=t.fns;return o(e)?jr(Array.isArray(e)?e[0]:e):(t._length||t.length)>1}function Lr(t,e){e.data.show!==!0&&Er(e)}function Mr(t,e,n){Pr(t,e,n),(Di||Bi)&&setTimeout(function(){Pr(t,e,n)},0)}function Pr(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,s=0,c=t.options.length;s<c;s++)if(a=t.options[s],o)i=$(r,Ir(a))>-1,a.selected!==i&&(a.selected=i);else if(O(Ir(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function Nr(t,e){return e.every(function(e){return!O(e,t)})}function Ir(t){return\"_value\"in t?t._value:t.value}function Rr(t){t.target.composing=!0}function Fr(t){t.target.composing&&(t.target.composing=!1,Dr(t.target,\"input\"))}function Dr(t,e){var n=document.createEvent(\"HTMLEvents\");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Hr(t){return!t.componentInstance||t.data&&t.data.transition?t:Hr(t.componentInstance._vnode)}function Br(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?Br(Ot(e.children)):t}function Ur(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[xi(i)]=o[i];return e}function Vr(t,e){if(/\\d-keep-alive$/.test(e.tag))return t(\"keep-alive\",{props:e.componentOptions.propsData})}function qr(t){for(;t=t.parent;)if(t.data.transition)return!0}function Gr(t,e){return e.key===t.key&&e.tag===t.tag}function zr(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Kr(t){t.data.newPos=t.elm.getBoundingClientRect()}function Wr(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform=\"translate(\"+r+\"px,\"+o+\"px)\",i.transitionDuration=\"0s\"}}function Jr(t,e){var n=e?ic(e):rc;if(n.test(t)){for(var r,o,i,a=[],s=[],c=n.lastIndex=0;r=n.exec(t);){o=r.index,o>c&&(s.push(i=t.slice(c,o)),a.push(JSON.stringify(i)));var u=Nn(r[1].trim());a.push(\"_s(\"+u+\")\"),s.push({\"@binding\":u}),c=o+r[0].length}return c<t.length&&(s.push(i=t.slice(c)),a.push(JSON.stringify(i))),{expression:a.join(\"+\"),tokens:s}}}function Xr(t,e){var n=(e.warn||Rn,Gn(t,\"class\"));n&&(t.staticClass=JSON.stringify(n));var r=qn(t,\"class\",!1);r&&(t.classBinding=r)}function Yr(t){var e=\"\";return t.staticClass&&(e+=\"staticClass:\"+t.staticClass+\",\"),t.classBinding&&(e+=\"class:\"+t.classBinding+\",\"),e}function Zr(t,e){var n=(e.warn||Rn,Gn(t,\"style\"));if(n){t.staticStyle=JSON.stringify(Ss(n))}var r=qn(t,\"style\",!1);r&&(t.styleBinding=r)}function Qr(t){var e=\"\";return t.staticStyle&&(e+=\"staticStyle:\"+t.staticStyle+\",\"),t.styleBinding&&(e+=\"style:(\"+t.styleBinding+\"),\"),e}function to(t,e){var n=e?Rc:Ic;return t.replace(n,function(t){return Nc[t]})}function eo(t,e){function n(e){p+=e,t=t.substring(e)}function r(){var e=t.match(vc);if(e){var r={tagName:e[1],attrs:[],start:p};n(e[0].length);for(var o,i;!(o=t.match(mc))&&(i=t.match(pc));)n(i[0].length),r.attrs.push(i);if(o)return r.unarySlash=o[1],n(o[0].length),r.end=p,r}}function o(t){var n=t.tagName,r=t.unarySlash;u&&(\"p\"===s&&lc(n)&&i(s),l(n)&&s===n&&i(n));for(var o=f(n)||!!r,a=t.attrs.length,p=new Array(a),d=0;d<a;d++){var h=t.attrs[d];wc&&h[0].indexOf('\"\"')===-1&&(\"\"===h[3]&&delete h[3],\"\"===h[4]&&delete h[4],\"\"===h[5]&&delete h[5]);var v=h[3]||h[4]||h[5]||\"\",m=\"a\"===n&&\"href\"===h[1]?e.shouldDecodeNewlinesForHref:e.shouldDecodeNewlines;p[d]={name:h[1],value:to(v,m)}}o||(c.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:p}),s=n),e.start&&e.start(n,p,o,t.start,t.end)}function i(t,n,r){var o,i;if(null==n&&(n=p),null==r&&(r=p),t&&(i=t.toLowerCase()),t)for(o=c.length-1;o>=0&&c[o].lowerCasedTag!==i;o--);else o=0;if(o>=0){for(var a=c.length-1;a>=o;a--)e.end&&e.end(c[a].tag,n,r);c.length=o,s=o&&c[o-1].tag}else\"br\"===i?e.start&&e.start(t,[],!0,n,r):\"p\"===i&&(e.start&&e.start(t,[],!1,n,r),e.end&&e.end(t,n,r))}for(var a,s,c=[],u=e.expectHTML,f=e.isUnaryTag||Si,l=e.canBeLeftOpenTag||Si,p=0;t;){if(a=t,s&&Mc(s)){var d=0,h=s.toLowerCase(),v=Pc[h]||(Pc[h]=new RegExp(\"([\\\\s\\\\S]*?)(</\"+h+\"[^>]*>)\",\"i\")),m=t.replace(v,function(t,n,r){return d=r.length,Mc(h)||\"noscript\"===h||(n=n.replace(/<!\\--([\\s\\S]*?)-->/g,\"$1\").replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g,\"$1\")),Dc(h,n)&&(n=n.slice(1)),e.chars&&e.chars(n),\"\"});p+=t.length-m.length,t=m,i(h,p-d,p)}else{var y=t.indexOf(\"<\");if(0===y){if(_c.test(t)){var g=t.indexOf(\"-->\");if(g>=0){e.shouldKeepComment&&e.comment(t.substring(4,g)),n(g+3);continue}}if(bc.test(t)){var _=t.indexOf(\"]>\");if(_>=0){n(_+2);continue}}var b=t.match(gc);if(b){n(b[0].length);continue}var w=t.match(yc);if(w){var x=p;n(w[0].length),i(w[1],x,p);continue}var k=r();if(k){o(k),Dc(s,t)&&n(1);continue}}var C=void 0,O=void 0,$=void 0;if(y>=0){for(O=t.slice(y);!(yc.test(O)||vc.test(O)||_c.test(O)||bc.test(O)||($=O.indexOf(\"<\",1),$<0));)y+=$,O=t.slice(y);C=t.substring(0,y),n(y)}y<0&&(C=t,t=\"\"),e.chars&&C&&e.chars(C)}if(t===a){e.chars&&e.chars(t);break}}i()}function no(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:xo(e),parent:n,children:[]}}function ro(t,e){function n(t){t.pre&&(s=!1),Sc(t.tag)&&(c=!1);for(var n=0;n<$c.length;n++)$c[n](t,e)}xc=e.warn||Rn,Sc=e.isPreTag||Si,Ec=e.mustUseProp||Si,Ac=e.getTagNamespace||Si,Cc=Fn(e.modules,\"transformNode\"),Oc=Fn(e.modules,\"preTransformNode\"),$c=Fn(e.modules,\"postTransformNode\"),kc=e.delimiters;var r,o,i=[],a=e.preserveWhitespace!==!1,s=!1,c=!1;return eo(t,{warn:xc,expectHTML:e.expectHTML,isUnaryTag:e.isUnaryTag,canBeLeftOpenTag:e.canBeLeftOpenTag,shouldDecodeNewlines:e.shouldDecodeNewlines,shouldDecodeNewlinesForHref:e.shouldDecodeNewlinesForHref,shouldKeepComment:e.comments,start:function(t,a,u){function f(t){}var l=o&&o.ns||Ac(t);Di&&\"svg\"===l&&(a=Oo(a));var p=no(t,a,o);l&&(p.ns=l),Co(p)&&!Wi()&&(p.forbidden=!0);for(var d=0;d<Oc.length;d++)p=Oc[d](p,e)||p;if(s||(oo(p),p.pre&&(s=!0)),Sc(p.tag)&&(c=!0),s?io(p):p.processed||(uo(p),lo(p),mo(p),ao(p,e)),r?i.length||r.if&&(p.elseif||p.else)&&(f(p),vo(r,{exp:p.elseif,block:p})):(r=p,f(r)),o&&!p.forbidden)if(p.elseif||p.else)po(p,o);else if(p.slotScope){o.plain=!1;var h=p.slotTarget||'\"default\"';(o.scopedSlots||(o.scopedSlots={}))[h]=p}else o.children.push(p),p.parent=o;u?n(p):(o=p,i.push(p))},end:function(){var t=i[i.length-1],e=t.children[t.children.length-1];e&&3===e.type&&\" \"===e.text&&!c&&t.children.pop(),i.length-=1,o=i[i.length-1],n(t)},chars:function(t){if(o&&(!Di||\"textarea\"!==o.tag||o.attrsMap.placeholder!==t)){var e=o.children;if(t=c||t.trim()?ko(o)?t:Wc(t):a&&e.length?\" \":\"\"){var n;!s&&\" \"!==t&&(n=Jr(t,kc))?e.push({type:2,expression:n.expression,tokens:n.tokens,text:t}):\" \"===t&&e.length&&\" \"===e[e.length-1].text||e.push({type:3,text:t})}}},comment:function(t){o.children.push({type:3,text:t,isComment:!0})}}),r}function oo(t){null!=Gn(t,\"v-pre\")&&(t.pre=!0)}function io(t){var e=t.attrsList.length;if(e)for(var n=t.attrs=new Array(e),r=0;r<e;r++)n[r]={name:t.attrsList[r].name,value:JSON.stringify(t.attrsList[r].value)};else t.pre||(t.plain=!0)}function ao(t,e){so(t),t.plain=!t.key&&!t.attrsList.length,co(t),yo(t),go(t);for(var n=0;n<Cc.length;n++)t=Cc[n](t,e)||t;_o(t)}function so(t){var e=qn(t,\"key\");e&&(t.key=e)}function co(t){var e=qn(t,\"ref\");e&&(t.ref=e,t.refInFor=bo(t))}function uo(t){var e;if(e=Gn(t,\"v-for\")){var n=fo(e);n&&w(t,n)}}function fo(t){var e=t.match(Uc);if(e){var n={};n.for=e[2].trim();var r=e[1].trim().replace(qc,\"\"),o=r.match(Vc);return o?(n.alias=r.replace(Vc,\"\"),n.iterator1=o[1].trim(),o[2]&&(n.iterator2=o[2].trim())):n.alias=r,n}}function lo(t){var e=Gn(t,\"v-if\");if(e)t.if=e,vo(t,{exp:e,block:t});else{null!=Gn(t,\"v-else\")&&(t.else=!0);var n=Gn(t,\"v-else-if\");n&&(t.elseif=n)}}function po(t,e){var n=ho(e.children);n&&n.if&&vo(n,{exp:t.elseif,block:t})}function ho(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.pop()}}function vo(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push(e)}function mo(t){var e=Gn(t,\"v-once\");null!=e&&(t.once=!0)}function yo(t){if(\"slot\"===t.tag)t.slotName=qn(t,\"name\");else{var e;\"template\"===t.tag?(e=Gn(t,\"scope\"),t.slotScope=e||Gn(t,\"slot-scope\")):(e=Gn(t,\"slot-scope\"))&&(t.slotScope=e);var n=qn(t,\"slot\");n&&(t.slotTarget='\"\"'===n?'\"default\"':n,\"template\"===t.tag||t.slotScope||Hn(t,\"slot\",n))}}function go(t){var e;(e=qn(t,\"is\"))&&(t.component=e),null!=Gn(t,\"inline-template\")&&(t.inlineTemplate=!0)}function _o(t){var e,n,r,o,i,a,s,c=t.attrsList;for(e=0,n=c.length;e<n;e++)if(r=o=c[e].name,i=c[e].value,Bc.test(r))if(t.hasBindings=!0,a=wo(r),a&&(r=r.replace(Kc,\"\")),zc.test(r))r=r.replace(zc,\"\"),i=Nn(i),s=!1,a&&(a.prop&&(s=!0,r=xi(r),\"innerHtml\"===r&&(r=\"innerHTML\")),a.camel&&(r=xi(r)),a.sync&&Vn(t,\"update:\"+xi(r),Kn(i,\"$event\"))),s||!t.component&&Ec(t.tag,t.attrsMap.type,r)?Dn(t,r,i):Hn(t,r,i);else if(Hc.test(r))r=r.replace(Hc,\"\"),Vn(t,r,i,a,!1,xc);else{r=r.replace(Bc,\"\");var u=r.match(Gc),f=u&&u[1];f&&(r=r.slice(0,-(f.length+1))),Un(t,r,o,i,f,a)}else{Hn(t,r,JSON.stringify(i)),!t.component&&\"muted\"===r&&Ec(t.tag,t.attrsMap.type,r)&&Dn(t,r,\"true\")}}function bo(t){for(var e=t;e;){if(void 0!==e.for)return!0;e=e.parent}return!1}function wo(t){var e=t.match(Kc);if(e){var n={};return e.forEach(function(t){n[t.slice(1)]=!0}),n}}function xo(t){for(var e={},n=0,r=t.length;n<r;n++)e[t[n].name]=t[n].value;return e}function ko(t){return\"script\"===t.tag||\"style\"===t.tag}function Co(t){return\"style\"===t.tag||\"script\"===t.tag&&(!t.attrsMap.type||\"text/javascript\"===t.attrsMap.type)}function Oo(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];Jc.test(r.name)||(r.name=r.name.replace(Xc,\"\"),e.push(r))}return e}function $o(t,e){if(\"input\"===t.tag){var n=t.attrsMap;if(!n[\"v-model\"])return;var r;if((n[\":type\"]||n[\"v-bind:type\"])&&(r=qn(t,\"type\")),n.type||r||!n[\"v-bind\"]||(r=\"(\"+n[\"v-bind\"]+\").type\"),r){var o=Gn(t,\"v-if\",!0),i=o?\"&&(\"+o+\")\":\"\",a=null!=Gn(t,\"v-else\",!0),s=Gn(t,\"v-else-if\",!0),c=So(t);uo(c),Bn(c,\"type\",\"checkbox\"),ao(c,e),c.processed=!0,c.if=\"(\"+r+\")==='checkbox'\"+i,vo(c,{exp:c.if,block:c});var u=So(t);Gn(u,\"v-for\",!0),Bn(u,\"type\",\"radio\"),ao(u,e),vo(c,{exp:\"(\"+r+\")==='radio'\"+i,block:u});var f=So(t);return Gn(f,\"v-for\",!0),Bn(f,\":type\",r),ao(f,e),vo(c,{exp:o,block:f}),a?c.else=!0:s&&(c.elseif=s),c}}}function So(t){return no(t.tag,t.attrsList.slice(),t.parent)}function Eo(t,e){e.value&&Dn(t,\"textContent\",\"_s(\"+e.value+\")\")}function Ao(t,e){e.value&&Dn(t,\"innerHTML\",\"_s(\"+e.value+\")\")}function To(t,e){t&&(Tc=eu(e.staticKeys||\"\"),jc=e.isReservedTag||Si,Lo(t),Mo(t,!1))}function jo(t){return h(\"type,tag,attrsList,attrsMap,plain,parent,children,attrs\"+(t?\",\"+t:\"\"))}function Lo(t){if(t.static=Po(t),1===t.type){if(!jc(t.tag)&&\"slot\"!==t.tag&&null==t.attrsMap[\"inline-template\"])return;for(var e=0,n=t.children.length;e<n;e++){var r=t.children[e];Lo(r),r.static||(t.static=!1)}if(t.ifConditions)for(var o=1,i=t.ifConditions.length;o<i;o++){var a=t.ifConditions[o].block;Lo(a),a.static||(t.static=!1)}}}function Mo(t,e){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=e),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var n=0,r=t.children.length;n<r;n++)Mo(t.children[n],e||!!t.for);if(t.ifConditions)for(var o=1,i=t.ifConditions.length;o<i;o++)Mo(t.ifConditions[o].block,e)}}function Po(t){return 2!==t.type&&(3===t.type||!(!t.pre&&(t.hasBindings||t.if||t.for||gi(t.tag)||!jc(t.tag)||No(t)||!Object.keys(t).every(Tc))))}function No(t){for(;t.parent;){if(t=t.parent,\"template\"!==t.tag)return!1;if(t.for)return!0}return!1}function Io(t,e,n){var r=e?\"nativeOn:{\":\"on:{\";for(var o in t)r+='\"'+o+'\":'+Ro(o,t[o])+\",\";return r.slice(0,-1)+\"}\"}function Ro(t,e){if(!e)return\"function(){}\";if(Array.isArray(e))return\"[\"+e.map(function(e){return Ro(t,e)}).join(\",\")+\"]\";var n=ru.test(e.value),r=nu.test(e.value);if(e.modifiers){var o=\"\",i=\"\",a=[];for(var s in e.modifiers)if(su[s])i+=su[s],ou[s]&&a.push(s);else if(\"exact\"===s){var c=e.modifiers;i+=au([\"ctrl\",\"shift\",\"alt\",\"meta\"].filter(function(t){return!c[t]}).map(function(t){return\"$event.\"+t+\"Key\"}).join(\"||\"))}else a.push(s);a.length&&(o+=Fo(a)),i&&(o+=i);var u=n?\"return \"+e.value+\"($event)\":r?\"return (\"+e.value+\")($event)\":e.value;return\"function($event){\"+o+u+\"}\"}return n||r?e.value:\"function($event){\"+e.value+\"}\"}function Fo(t){return\"if(!('button' in $event)&&\"+t.map(Do).join(\"&&\")+\")return null;\"}function Do(t){var e=parseInt(t,10);if(e)return\"$event.keyCode!==\"+e;var n=ou[t],r=iu[t];return\"_k($event.keyCode,\"+JSON.stringify(t)+\",\"+JSON.stringify(n)+\",$event.key,\"+JSON.stringify(r)+\")\"}function Ho(t,e){t.wrapListeners=function(t){return\"_g(\"+t+\",\"+e.value+\")\"}}function Bo(t,e){t.wrapData=function(n){return\"_b(\"+n+\",'\"+t.tag+\"',\"+e.value+\",\"+(e.modifiers&&e.modifiers.prop?\"true\":\"false\")+(e.modifiers&&e.modifiers.sync?\",true\":\"\")+\")\"}}function Uo(t,e){var n=new uu(e),r=t?Vo(t,n):'_c(\"div\")';return{render:\"with(this){return \"+r+\"}\",staticRenderFns:n.staticRenderFns}}function Vo(t,e){if(t.staticRoot&&!t.staticProcessed)return qo(t,e);if(t.once&&!t.onceProcessed)return Go(t,e);if(t.for&&!t.forProcessed)return Wo(t,e);if(t.if&&!t.ifProcessed)return zo(t,e);if(\"template\"!==t.tag||t.slotTarget){if(\"slot\"===t.tag)return si(t,e);var n;if(t.component)n=ci(t.component,t,e);else{var r=t.plain?void 0:Jo(t,e),o=t.inlineTemplate?null:ei(t,e,!0);n=\"_c('\"+t.tag+\"'\"+(r?\",\"+r:\"\")+(o?\",\"+o:\"\")+\")\"}for(var i=0;i<e.transforms.length;i++)n=e.transforms[i](t,n);return n}return ei(t,e)||\"void 0\"}function qo(t,e){return t.staticProcessed=!0,e.staticRenderFns.push(\"with(this){return \"+Vo(t,e)+\"}\"),\"_m(\"+(e.staticRenderFns.length-1)+(t.staticInFor?\",true\":\"\")+\")\"}function Go(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return zo(t,e);if(t.staticInFor){for(var n=\"\",r=t.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?\"_o(\"+Vo(t,e)+\",\"+e.onceId++ +\",\"+n+\")\":Vo(t,e)}return qo(t,e)}function zo(t,e,n,r){return t.ifProcessed=!0,Ko(t.ifConditions.slice(),e,n,r)}function Ko(t,e,n,r){function o(t){return n?n(t,e):t.once?Go(t,e):Vo(t,e)}if(!t.length)return r||\"_e()\";var i=t.shift();return i.exp?\"(\"+i.exp+\")?\"+o(i.block)+\":\"+Ko(t,e,n,r):\"\"+o(i.block)}function Wo(t,e,n,r){var o=t.for,i=t.alias,a=t.iterator1?\",\"+t.iterator1:\"\",s=t.iterator2?\",\"+t.iterator2:\"\";return t.forProcessed=!0,(r||\"_l\")+\"((\"+o+\"),function(\"+i+a+s+\"){return \"+(n||Vo)(t,e)+\"})\"}function Jo(t,e){var n=\"{\",r=Xo(t,e);r&&(n+=r+\",\"),t.key&&(n+=\"key:\"+t.key+\",\"),t.ref&&(n+=\"ref:\"+t.ref+\",\"),t.refInFor&&(n+=\"refInFor:true,\"),t.pre&&(n+=\"pre:true,\"),t.component&&(n+='tag:\"'+t.tag+'\",');for(var o=0;o<e.dataGenFns.length;o++)n+=e.dataGenFns[o](t);if(t.attrs&&(n+=\"attrs:{\"+ui(t.attrs)+\"},\"),t.props&&(n+=\"domProps:{\"+ui(t.props)+\"},\"),t.events&&(n+=Io(t.events,!1,e.warn)+\",\"),t.nativeEvents&&(n+=Io(t.nativeEvents,!0,e.warn)+\",\"),t.slotTarget&&!t.slotScope&&(n+=\"slot:\"+t.slotTarget+\",\"),t.scopedSlots&&(n+=Zo(t.scopedSlots,e)+\",\"),t.model&&(n+=\"model:{value:\"+t.model.value+\",callback:\"+t.model.callback+\",expression:\"+t.model.expression+\"},\"),t.inlineTemplate){var i=Yo(t,e);i&&(n+=i+\",\")}return n=n.replace(/,$/,\"\")+\"}\",t.wrapData&&(n=t.wrapData(n)),t.wrapListeners&&(n=t.wrapListeners(n)),n}function Xo(t,e){var n=t.directives;if(n){var r,o,i,a,s=\"directives:[\",c=!1;for(r=0,o=n.length;r<o;r++){i=n[r],a=!0;var u=e.directives[i.name];u&&(a=!!u(t,i,e.warn)),a&&(c=!0,s+='{name:\"'+i.name+'\",rawName:\"'+i.rawName+'\"'+(i.value?\",value:(\"+i.value+\"),expression:\"+JSON.stringify(i.value):\"\")+(i.arg?',arg:\"'+i.arg+'\"':\"\")+(i.modifiers?\",modifiers:\"+JSON.stringify(i.modifiers):\"\")+\"},\")}return c?s.slice(0,-1)+\"]\":void 0}}function Yo(t,e){var n=t.children[0];if(1===n.type){var r=Uo(n,e.options);return\"inlineTemplate:{render:function(){\"+r.render+\"},staticRenderFns:[\"+r.staticRenderFns.map(function(t){return\"function(){\"+t+\"}\"}).join(\",\")+\"]}\"}}function Zo(t,e){return\"scopedSlots:_u([\"+Object.keys(t).map(function(n){return Qo(n,t[n],e)}).join(\",\")+\"])\"}function Qo(t,e,n){if(e.for&&!e.forProcessed)return ti(t,e,n);var r=\"function(\"+String(e.slotScope)+\"){return \"+(\"template\"===e.tag?e.if?e.if+\"?\"+(ei(e,n)||\"undefined\")+\":undefined\":ei(e,n)||\"undefined\":Vo(e,n))+\"}\";return\"{key:\"+t+\",fn:\"+r+\"}\"}function ti(t,e,n){var r=e.for,o=e.alias,i=e.iterator1?\",\"+e.iterator1:\"\",a=e.iterator2?\",\"+e.iterator2:\"\";return e.forProcessed=!0,\"_l((\"+r+\"),function(\"+o+i+a+\"){return \"+Qo(t,e,n)+\"})\"}function ei(t,e,n,r,o){var i=t.children;if(i.length){var a=i[0];if(1===i.length&&a.for&&\"template\"!==a.tag&&\"slot\"!==a.tag)return(r||Vo)(a,e);var s=n?ni(i,e.maybeComponent):0,c=o||oi;return\"[\"+i.map(function(t){return c(t,e)}).join(\",\")+\"]\"+(s?\",\"+s:\"\")}}function ni(t,e){for(var n=0,r=0;r<t.length;r++){var o=t[r];if(1===o.type){if(ri(o)||o.ifConditions&&o.ifConditions.some(function(t){\nreturn ri(t.block)})){n=2;break}(e(o)||o.ifConditions&&o.ifConditions.some(function(t){return e(t.block)}))&&(n=1)}}return n}function ri(t){return void 0!==t.for||\"template\"===t.tag||\"slot\"===t.tag}function oi(t,e){return 1===t.type?Vo(t,e):3===t.type&&t.isComment?ai(t):ii(t)}function ii(t){return\"_v(\"+(2===t.type?t.expression:fi(JSON.stringify(t.text)))+\")\"}function ai(t){return\"_e(\"+JSON.stringify(t.text)+\")\"}function si(t,e){var n=t.slotName||'\"default\"',r=ei(t,e),o=\"_t(\"+n+(r?\",\"+r:\"\"),i=t.attrs&&\"{\"+t.attrs.map(function(t){return xi(t.name)+\":\"+t.value}).join(\",\")+\"}\",a=t.attrsMap[\"v-bind\"];return!i&&!a||r||(o+=\",null\"),i&&(o+=\",\"+i),a&&(o+=(i?\"\":\",null\")+\",\"+a),o+\")\"}function ci(t,e,n){var r=e.inlineTemplate?null:ei(e,n,!0);return\"_c(\"+t+\",\"+Jo(e,n)+(r?\",\"+r:\"\")+\")\"}function ui(t){for(var e=\"\",n=0;n<t.length;n++){var r=t[n];e+='\"'+r.name+'\":'+fi(r.value)+\",\"}return e.slice(0,-1)}function fi(t){return t.replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\")}function li(t,e){try{return new Function(t)}catch(n){return e.push({err:n,code:t}),k}}function pi(t){var e=Object.create(null);return function(n,r,o){r=w({},r);r.warn||Yi;delete r.warn;var i=r.delimiters?String(r.delimiters)+n:n;if(e[i])return e[i];var a=t(n,r),s={},c=[];return s.render=li(a.render,c),s.staticRenderFns=a.staticRenderFns.map(function(t){return li(t,c)}),e[i]=s}}function di(t){return function(e){function n(n,r){var o=Object.create(e),i=[],a=[];if(o.warn=function(t,e){(e?a:i).push(t)},r){r.modules&&(o.modules=(e.modules||[]).concat(r.modules)),r.directives&&(o.directives=w(Object.create(e.directives||null),r.directives));for(var s in r)\"modules\"!==s&&\"directives\"!==s&&(o[s]=r[s])}var c=t(n,o);return c.errors=i,c.tips=a,c}return{compile:n,compileToFunctions:pi(n)}}}function hi(t){return Lc=Lc||document.createElement(\"div\"),Lc.innerHTML=t?'<a href=\"\\n\"/>':'<div a=\"\\n\"/>',Lc.innerHTML.indexOf(\"&#10;\")>0}function vi(t){if(t.outerHTML)return t.outerHTML;var e=document.createElement(\"div\");return e.appendChild(t.cloneNode(!0)),e.innerHTML}var mi=Object.freeze({}),yi=Object.prototype.toString,gi=h(\"slot,component\",!0),_i=h(\"key,ref,slot,slot-scope,is\"),bi=Object.prototype.hasOwnProperty,wi=/-(\\w)/g,xi=y(function(t){return t.replace(wi,function(t,e){return e?e.toUpperCase():\"\"})}),ki=y(function(t){return t.charAt(0).toUpperCase()+t.slice(1)}),Ci=/\\B([A-Z])/g,Oi=y(function(t){return t.replace(Ci,\"-$1\").toLowerCase()}),$i=Function.prototype.bind?_:g,Si=function(t,e,n){return!1},Ei=function(t){return t},Ai=\"data-server-rendered\",Ti=[\"component\",\"directive\",\"filter\"],ji=[\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUpdate\",\"updated\",\"beforeDestroy\",\"destroyed\",\"activated\",\"deactivated\",\"errorCaptured\"],Li={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Si,isReservedAttr:Si,isUnknownElement:Si,getTagNamespace:k,parsePlatformTagName:Ei,mustUseProp:Si,_lifecycleHooks:ji},Mi=/[^\\w.$]/,Pi=\"__proto__\"in{},Ni=\"undefined\"!=typeof window,Ii=\"undefined\"!=typeof WXEnvironment&&!!WXEnvironment.platform,Ri=Ii&&WXEnvironment.platform.toLowerCase(),Fi=Ni&&window.navigator.userAgent.toLowerCase(),Di=Fi&&/msie|trident/.test(Fi),Hi=Fi&&Fi.indexOf(\"msie 9.0\")>0,Bi=Fi&&Fi.indexOf(\"edge/\")>0,Ui=(Fi&&Fi.indexOf(\"android\")>0||\"android\"===Ri,Fi&&/iphone|ipad|ipod|ios/.test(Fi)||\"ios\"===Ri),Vi=(Fi&&/chrome\\/\\d+/.test(Fi)&&!Bi,{}.watch),qi=!1;if(Ni)try{var Gi={};Object.defineProperty(Gi,\"passive\",{get:function(){qi=!0}}),window.addEventListener(\"test-passive\",null,Gi)}catch(t){}var zi,Ki,Wi=function(){return void 0===zi&&(zi=!Ni&&!Ii&&\"undefined\"!=typeof e&&\"server\"===e.process.env.VUE_ENV),zi},Ji=Ni&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,Xi=\"undefined\"!=typeof Symbol&&j(Symbol)&&\"undefined\"!=typeof Reflect&&j(Reflect.ownKeys);Ki=\"undefined\"!=typeof Set&&j(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return this.set[t]===!0},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var Yi=k,Zi=0,Qi=function(){this.id=Zi++,this.subs=[]};Qi.prototype.addSub=function(t){this.subs.push(t)},Qi.prototype.removeSub=function(t){v(this.subs,t)},Qi.prototype.depend=function(){Qi.target&&Qi.target.addDep(this)},Qi.prototype.notify=function(){for(var t=this.subs.slice(),e=0,n=t.length;e<n;e++)t[e].update()},Qi.target=null;var ta=[],ea=function(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},na={child:{configurable:!0}};na.child.get=function(){return this.componentInstance},Object.defineProperties(ea.prototype,na);var ra=function(t){void 0===t&&(t=\"\");var e=new ea;return e.text=t,e.isComment=!0,e},oa=Array.prototype,ia=Object.create(oa),aa=[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\",\"sort\",\"reverse\"];aa.forEach(function(t){var e=oa[t];A(ia,t,function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var o,i=e.apply(this,n),a=this.__ob__;switch(t){case\"push\":case\"unshift\":o=n;break;case\"splice\":o=n.slice(2)}return o&&a.observeArray(o),a.dep.notify(),i})});var sa=Object.getOwnPropertyNames(ia),ca=!0,ua=function(t){if(this.value=t,this.dep=new Qi,this.vmCount=0,A(t,\"__ob__\",this),Array.isArray(t)){var e=Pi?R:F;e(t,ia,sa),this.observeArray(t)}else this.walk(t)};ua.prototype.walk=function(t){for(var e=Object.keys(t),n=0;n<e.length;n++)H(t,e[n])},ua.prototype.observeArray=function(t){for(var e=0,n=t.length;e<n;e++)D(t[e])};var fa=Li.optionMergeStrategies;fa.data=function(t,e,n){return n?G(t,e,n):e&&\"function\"!=typeof e?t:G(t,e)},ji.forEach(function(t){fa[t]=z}),Ti.forEach(function(t){fa[t+\"s\"]=K}),fa.watch=function(t,e,n,r){if(t===Vi&&(t=void 0),e===Vi&&(e=void 0),!e)return Object.create(t||null);if(!t)return e;var o={};w(o,t);for(var i in e){var a=o[i],s=e[i];a&&!Array.isArray(a)&&(a=[a]),o[i]=a?a.concat(s):Array.isArray(s)?s:[s]}return o},fa.props=fa.methods=fa.inject=fa.computed=function(t,e,n,r){if(!t)return e;var o=Object.create(null);return w(o,t),e&&w(o,e),o},fa.provide=G;var la,pa,da=function(t,e){return void 0===e?t:e},ha=[],va=!1,ma=!1;if(\"undefined\"!=typeof n&&j(n))pa=function(){n(st)};else if(\"undefined\"==typeof MessageChannel||!j(MessageChannel)&&\"[object MessageChannelConstructor]\"!==MessageChannel.toString())pa=function(){setTimeout(st,0)};else{var ya=new MessageChannel,ga=ya.port2;ya.port1.onmessage=st,pa=function(){ga.postMessage(1)}}if(\"undefined\"!=typeof Promise&&j(Promise)){var _a=Promise.resolve();la=function(){_a.then(st),Ui&&setTimeout(k)}}else la=pa;var ba,wa=new Ki,xa=y(function(t){var e=\"&\"===t.charAt(0);t=e?t.slice(1):t;var n=\"~\"===t.charAt(0);t=n?t.slice(1):t;var r=\"!\"===t.charAt(0);return t=r?t.slice(1):t,{name:t,once:n,capture:r,passive:e}}),ka=null,Ca=[],Oa=[],$a={},Sa=!1,Ea=!1,Aa=0,Ta=0,ja=function(t,e,n,r,o){this.vm=t,o&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Ta,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new Ki,this.newDepIds=new Ki,this.expression=\"\",\"function\"==typeof e?this.getter=e:(this.getter=T(e),this.getter||(this.getter=function(){})),this.value=this.lazy?void 0:this.get()};ja.prototype.get=function(){L(this);var t,e=this.vm;try{t=this.getter.call(e,e)}catch(t){if(!this.user)throw t;ot(t,e,'getter for watcher \"'+this.expression+'\"')}finally{this.deep&&ft(t),M(),this.cleanupDeps()}return t},ja.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},ja.prototype.cleanupDeps=function(){for(var t=this,e=this.deps.length;e--;){var n=t.deps[e];t.newDepIds.has(n.id)||n.removeSub(t)}var r=this.depIds;this.depIds=this.newDepIds,this.newDepIds=r,this.newDepIds.clear(),r=this.deps,this.deps=this.newDeps,this.newDeps=r,this.newDeps.length=0},ja.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Kt(this)},ja.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||c(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(t){ot(t,this.vm,'callback for watcher \"'+this.expression+'\"')}else this.cb.call(this.vm,t,e)}}},ja.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},ja.prototype.depend=function(){for(var t=this,e=this.deps.length;e--;)t.deps[e].depend()},ja.prototype.teardown=function(){var t=this;if(this.active){this.vm._isBeingDestroyed||v(this.vm._watchers,this);for(var e=this.deps.length;e--;)t.deps[e].removeSub(t);this.active=!1}};var La={enumerable:!0,configurable:!0,get:k,set:k},Ma={lazy:!0};be(we.prototype);var Pa={init:function(t,e,n,r){if(t.componentInstance&&!t.componentInstance._isDestroyed&&t.data.keepAlive){var o=t;Pa.prepatch(o,o)}else{var i=t.componentInstance=$e(t,ka,n,r);i.$mount(e?t.elm:void 0,e)}},prepatch:function(t,e){var n=e.componentOptions,r=e.componentInstance=t.componentInstance;Rt(r,n.propsData,n.listeners,e,n.children)},insert:function(t){var e=t.context,n=t.componentInstance;n._isMounted||(n._isMounted=!0,Bt(n,\"mounted\")),t.data.keepAlive&&(e._isMounted?Gt(n):Dt(n,!0))},destroy:function(t){var e=t.componentInstance;e._isDestroyed||(t.data.keepAlive?Ht(e,!0):e.$destroy())}},Na=Object.keys(Pa),Ia=1,Ra=2,Fa=0;Ne(He),ie(He),Tt(He),Nt(He),Pe(He);var Da=[String,RegExp,Array],Ha={name:\"keep-alive\",abstract:!0,props:{include:Da,exclude:Da,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){var t=this;for(var e in t.cache)Xe(t.cache,e,t.keys)},mounted:function(){var t=this;this.$watch(\"include\",function(e){Je(t,function(t){return We(e,t)})}),this.$watch(\"exclude\",function(e){Je(t,function(t){return!We(e,t)})})},render:function(){var t=this.$slots.default,e=Ot(t),n=e&&e.componentOptions;if(n){var r=Ke(n),o=this,i=o.include,a=o.exclude;if(i&&(!r||!We(i,r))||a&&r&&We(a,r))return e;var s=this,c=s.cache,u=s.keys,f=null==e.key?n.Ctor.cid+(n.tag?\"::\"+n.tag:\"\"):e.key;c[f]?(e.componentInstance=c[f].componentInstance,v(u,f),u.push(f)):(c[f]=e,u.push(f),this.max&&u.length>parseInt(this.max)&&Xe(c,u[0],u,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Ba={KeepAlive:Ha};Ye(He),Object.defineProperty(He.prototype,\"$isServer\",{get:Wi}),Object.defineProperty(He.prototype,\"$ssrContext\",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(He,\"FunctionalRenderContext\",{value:we}),He.version=\"2.5.16\";var Ua,Va,qa,Ga,za,Ka,Wa,Ja,Xa,Ya=h(\"style,class\"),Za=h(\"input,textarea,option,select,progress\"),Qa=function(t,e,n){return\"value\"===n&&Za(t)&&\"button\"!==e||\"selected\"===n&&\"option\"===t||\"checked\"===n&&\"input\"===t||\"muted\"===n&&\"video\"===t},ts=h(\"contenteditable,draggable,spellcheck\"),es=h(\"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible\"),ns=\"http://www.w3.org/1999/xlink\",rs=function(t){return\":\"===t.charAt(5)&&\"xlink\"===t.slice(0,5)},os=function(t){return rs(t)?t.slice(6,t.length):\"\"},is=function(t){return null==t||t===!1},as={svg:\"http://www.w3.org/2000/svg\",math:\"http://www.w3.org/1998/Math/MathML\"},ss=h(\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot\"),cs=h(\"svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view\",!0),us=function(t){return\"pre\"===t},fs=function(t){return ss(t)||cs(t)},ls=Object.create(null),ps=h(\"text,number,password,search,email,tel,url\"),ds=Object.freeze({createElement:un,createElementNS:fn,createTextNode:ln,createComment:pn,insertBefore:dn,removeChild:hn,appendChild:vn,parentNode:mn,nextSibling:yn,tagName:gn,setTextContent:_n,setStyleScope:bn}),hs={create:function(t,e){wn(e)},update:function(t,e){t.data.ref!==e.data.ref&&(wn(t,!0),wn(e))},destroy:function(t){wn(t,!0)}},vs=new ea(\"\",{},[]),ms=[\"create\",\"activate\",\"update\",\"remove\",\"destroy\"],ys={create:$n,update:$n,destroy:function(t){$n(t,vs)}},gs=Object.create(null),_s=[hs,ys],bs={create:jn,update:jn},ws={create:Pn,update:Pn},xs=/[\\w).+\\-_$\\]]/,ks=\"__r\",Cs=\"__c\",Os={create:ur,update:ur},$s={create:fr,update:fr},Ss=y(function(t){var e={},n=/;(?![^(]*\\))/g,r=/:(.+)/;return t.split(n).forEach(function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}),Es=/^--/,As=/\\s*!important$/,Ts=function(t,e,n){if(Es.test(e))t.style.setProperty(e,n);else if(As.test(n))t.style.setProperty(e,n.replace(As,\"\"),\"important\");else{var r=Ls(e);if(Array.isArray(n))for(var o=0,i=n.length;o<i;o++)t.style[r]=n[o];else t.style[r]=n}},js=[\"Webkit\",\"Moz\",\"ms\"],Ls=y(function(t){if(Xa=Xa||document.createElement(\"div\").style,t=xi(t),\"filter\"!==t&&t in Xa)return t;for(var e=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<js.length;n++){var r=js[n]+e;if(r in Xa)return r}}),Ms={create:yr,update:yr},Ps=y(function(t){return{enterClass:t+\"-enter\",enterToClass:t+\"-enter-to\",enterActiveClass:t+\"-enter-active\",leaveClass:t+\"-leave\",leaveToClass:t+\"-leave-to\",leaveActiveClass:t+\"-leave-active\"}}),Ns=Ni&&!Hi,Is=\"transition\",Rs=\"animation\",Fs=\"transition\",Ds=\"transitionend\",Hs=\"animation\",Bs=\"animationend\";Ns&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Fs=\"WebkitTransition\",Ds=\"webkitTransitionEnd\"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Hs=\"WebkitAnimation\",Bs=\"webkitAnimationEnd\"));var Us=Ni?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()},Vs=/\\b(transform|all)(,|$)/,qs=Ni?{create:Lr,activate:Lr,remove:function(t,e){t.data.show!==!0?Ar(t,e):e()}}:{},Gs=[bs,ws,Os,$s,Ms,qs],zs=Gs.concat(_s),Ks=On({nodeOps:ds,modules:zs});Hi&&document.addEventListener(\"selectionchange\",function(){var t=document.activeElement;t&&t.vmodel&&Dr(t,\"input\")});var Ws={inserted:function(t,e,n,r){\"select\"===n.tag?(r.elm&&!r.elm._vOptions?ht(n,\"postpatch\",function(){Ws.componentUpdated(t,e,n)}):Mr(t,e,n.context),t._vOptions=[].map.call(t.options,Ir)):(\"textarea\"===n.tag||ps(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener(\"compositionstart\",Rr),t.addEventListener(\"compositionend\",Fr),t.addEventListener(\"change\",Fr),Hi&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if(\"select\"===n.tag){Mr(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,Ir);if(o.some(function(t,e){return!O(t,r[e])})){var i=t.multiple?e.value.some(function(t){return Nr(t,o)}):e.value!==e.oldValue&&Nr(e.value,o);i&&Dr(t,\"change\")}}}},Js={bind:function(t,e,n){var r=e.value;n=Hr(n);var o=n.data&&n.data.transition,i=t.__vOriginalDisplay=\"none\"===t.style.display?\"\":t.style.display;r&&o?(n.data.show=!0,Er(n,function(){t.style.display=i})):t.style.display=r?i:\"none\"},update:function(t,e,n){var r=e.value,o=e.oldValue;if(!r!=!o){n=Hr(n);var i=n.data&&n.data.transition;i?(n.data.show=!0,r?Er(n,function(){t.style.display=t.__vOriginalDisplay}):Ar(n,function(){t.style.display=\"none\"})):t.style.display=r?t.__vOriginalDisplay:\"none\"}},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},Xs={model:Ws,show:Js},Ys={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]},Zs={name:\"transition\",props:Ys,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(function(t){return t.tag||Ct(t)}),n.length)){var r=this.mode,o=n[0];if(qr(this.$vnode))return o;var i=Br(o);if(!i)return o;if(this._leaving)return Vr(t,o);var a=\"__transition-\"+this._uid+\"-\";i.key=null==i.key?i.isComment?a+\"comment\":a+i.tag:s(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var c=(i.data||(i.data={})).transition=Ur(this),u=this._vnode,f=Br(u);if(i.data.directives&&i.data.directives.some(function(t){return\"show\"===t.name})&&(i.data.show=!0),f&&f.data&&!Gr(i,f)&&!Ct(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=w({},c);if(\"out-in\"===r)return this._leaving=!0,ht(l,\"afterLeave\",function(){e._leaving=!1,e.$forceUpdate()}),Vr(t,o);if(\"in-out\"===r){if(Ct(i))return u;var p,d=function(){p()};ht(c,\"afterEnter\",d),ht(c,\"enterCancelled\",d),ht(l,\"delayLeave\",function(t){p=t})}}return o}}},Qs=w({tag:String,moveClass:String},Ys);delete Qs.mode;var tc={props:Qs,render:function(t){for(var e=this.tag||this.$vnode.data.tag||\"span\",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Ur(this),s=0;s<o.length;s++){var c=o[s];if(c.tag)if(null!=c.key&&0!==String(c.key).indexOf(\"__vlist\"))i.push(c),n[c.key]=c,(c.data||(c.data={})).transition=a;else;}if(r){for(var u=[],f=[],l=0;l<r.length;l++){var p=r[l];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?u.push(p):f.push(p)}this.kept=t(e,null,u),this.removed=f}return t(e,null,i)},beforeUpdate:function(){this.__patch__(this._vnode,this.kept,!1,!0),this._vnode=this.kept},updated:function(){var t=this.prevChildren,e=this.moveClass||(this.name||\"v\")+\"-move\";t.length&&this.hasMove(t[0].elm,e)&&(t.forEach(zr),t.forEach(Kr),t.forEach(Wr),this._reflow=document.body.offsetHeight,t.forEach(function(t){if(t.data.moved){var n=t.elm,r=n.style;xr(n,e),r.transform=r.WebkitTransform=r.transitionDuration=\"\",n.addEventListener(Ds,n._moveCb=function t(r){r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ds,t),n._moveCb=null,kr(n,e))})}}))},methods:{hasMove:function(t,e){if(!Ns)return!1;if(this._hasMove)return this._hasMove;var n=t.cloneNode();t._transitionClasses&&t._transitionClasses.forEach(function(t){_r(n,t)}),gr(n,e),n.style.display=\"none\",this.$el.appendChild(n);var r=Or(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}},ec={Transition:Zs,TransitionGroup:tc};He.config.mustUseProp=Qa,He.config.isReservedTag=fs,He.config.isReservedAttr=Ya,He.config.getTagNamespace=an,He.config.isUnknownElement=sn,w(He.options.directives,Xs),w(He.options.components,ec),He.prototype.__patch__=Ni?Ks:k,He.prototype.$mount=function(t,e){return t=t&&Ni?cn(t):void 0,It(this,t,e)},Ni&&setTimeout(function(){Li.devtools&&Ji&&Ji.emit(\"init\",He)},0);var nc,rc=/\\{\\{((?:.|\\n)+?)\\}\\}/g,oc=/[-.*+?^${}()|[\\]\\/\\\\]/g,ic=y(function(t){var e=t[0].replace(oc,\"\\\\$&\"),n=t[1].replace(oc,\"\\\\$&\");return new RegExp(e+\"((?:.|\\\\n)+?)\"+n,\"g\")}),ac={staticKeys:[\"staticClass\"],transformNode:Xr,genData:Yr},sc={staticKeys:[\"staticStyle\"],transformNode:Zr,genData:Qr},cc={decode:function(t){return nc=nc||document.createElement(\"div\"),nc.innerHTML=t,nc.textContent}},uc=h(\"area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr\"),fc=h(\"colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source\"),lc=h(\"address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track\"),pc=/^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/,dc=\"[a-zA-Z_][\\\\w\\\\-\\\\.]*\",hc=\"((?:\"+dc+\"\\\\:)?\"+dc+\")\",vc=new RegExp(\"^<\"+hc),mc=/^\\s*(\\/?)>/,yc=new RegExp(\"^<\\\\/\"+hc+\"[^>]*>\"),gc=/^<!DOCTYPE [^>]+>/i,_c=/^<!\\--/,bc=/^<!\\[/,wc=!1;\"x\".replace(/x(.)?/g,function(t,e){wc=\"\"===e});var xc,kc,Cc,Oc,$c,Sc,Ec,Ac,Tc,jc,Lc,Mc=h(\"script,style,textarea\",!0),Pc={},Nc={\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&amp;\":\"&\",\"&#10;\":\"\\n\",\"&#9;\":\"\\t\"},Ic=/&(?:lt|gt|quot|amp);/g,Rc=/&(?:lt|gt|quot|amp|#10|#9);/g,Fc=h(\"pre,textarea\",!0),Dc=function(t,e){return t&&Fc(t)&&\"\\n\"===e[0]},Hc=/^@|^v-on:/,Bc=/^v-|^@|^:/,Uc=/([^]*?)\\s+(?:in|of)\\s+([^]*)/,Vc=/,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/,qc=/^\\(|\\)$/g,Gc=/:(.*)$/,zc=/^:|^v-bind:/,Kc=/\\.[^.]+/g,Wc=y(cc.decode),Jc=/^xmlns:NS\\d+/,Xc=/^NS\\d+:/,Yc={preTransformNode:$o},Zc=[ac,sc,Yc],Qc={model:tr,text:Eo,html:Ao},tu={expectHTML:!0,modules:Zc,directives:Qc,isPreTag:us,isUnaryTag:uc,mustUseProp:Qa,canBeLeftOpenTag:fc,isReservedTag:fs,getTagNamespace:an,staticKeys:C(Zc)},eu=y(jo),nu=/^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*\\(/,ru=/^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/,ou={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},iu={esc:\"Escape\",tab:\"Tab\",enter:\"Enter\",space:\" \",up:[\"Up\",\"ArrowUp\"],left:[\"Left\",\"ArrowLeft\"],right:[\"Right\",\"ArrowRight\"],down:[\"Down\",\"ArrowDown\"],delete:[\"Backspace\",\"Delete\"]},au=function(t){return\"if(\"+t+\")return null;\"},su={stop:\"$event.stopPropagation();\",prevent:\"$event.preventDefault();\",self:au(\"$event.target !== $event.currentTarget\"),ctrl:au(\"!$event.ctrlKey\"),shift:au(\"!$event.shiftKey\"),alt:au(\"!$event.altKey\"),meta:au(\"!$event.metaKey\"),left:au(\"'button' in $event && $event.button !== 0\"),middle:au(\"'button' in $event && $event.button !== 1\"),right:au(\"'button' in $event && $event.button !== 2\")},cu={on:Ho,bind:Bo,cloak:k},uu=function(t){this.options=t,this.warn=t.warn||Rn,this.transforms=Fn(t.modules,\"transformCode\"),this.dataGenFns=Fn(t.modules,\"genData\"),this.directives=w(w({},cu),t.directives);var e=t.isReservedTag||Si;this.maybeComponent=function(t){return!e(t.tag)},this.onceId=0,this.staticRenderFns=[]},fu=(new RegExp(\"\\\\b\"+\"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments\".split(\",\").join(\"\\\\b|\\\\b\")+\"\\\\b\"),new RegExp(\"\\\\b\"+\"delete,typeof,void\".split(\",\").join(\"\\\\s*\\\\([^\\\\)]*\\\\)|\\\\b\")+\"\\\\s*\\\\([^\\\\)]*\\\\)\"),di(function(t,e){var n=ro(t.trim(),e);e.optimize!==!1&&To(n,e);var r=Uo(n,e);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}})),lu=fu(tu),pu=lu.compileToFunctions,du=!!Ni&&hi(!1),hu=!!Ni&&hi(!0),vu=y(function(t){var e=cn(t);return e&&e.innerHTML}),mu=He.prototype.$mount;He.prototype.$mount=function(t,e){if(t=t&&cn(t),t===document.body||t===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if(\"string\"==typeof r)\"#\"===r.charAt(0)&&(r=vu(r));else{if(!r.nodeType)return this;r=r.innerHTML}else t&&(r=vi(t));if(r){var o=pu(r,{shouldDecodeNewlines:du,shouldDecodeNewlinesForHref:hu,delimiters:n.delimiters,comments:n.comments},this),i=o.render,a=o.staticRenderFns;n.render=i,n.staticRenderFns=a}}return mu.call(this,t,e)},He.compile=pu,t.exports=He}).call(e,function(){return this}(),n(323).setImmediate)},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){t.exports={default:n(183),__esModule:!0}},function(t,e,n){t.exports={default:n(186),__esModule:!0}},function(t,e,n){t.exports={default:n(187),__esModule:!0}},function(t,e,n){n(86),n(210),t.exports=n(28).Array.from},function(t,e,n){var r=n(28),o=r.JSON||(r.JSON={stringify:JSON.stringify});t.exports=function(t){return o.stringify.apply(o,arguments)}},function(t,e,n){n(212),t.exports=n(28).Object.assign},function(t,e,n){n(213);var r=n(28).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){n(214),t.exports=n(28).Object.keys},function(t,e,n){n(118),n(86),n(119),n(215),n(217),n(218),t.exports=n(28).Promise},function(t,e,n){n(216),n(118),n(219),n(220),t.exports=n(28).Symbol},function(t,e,n){n(86),n(119),t.exports=n(85).f(\"iterator\")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+\": incorrect invocation!\");return t}},function(t,e,n){var r=n(35),o=n(82),i=n(209);t.exports=function(t){return function(e,n,a){var s,c=r(e),u=o(c.length),f=i(a,u);if(t&&n!=n){for(;u>f;)if(s=c[f++],s!=s)return!0}else for(;u>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){\"use strict\";var r=n(34),o=n(62);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){var r=n(42),o=n(78),i=n(47);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,s=n(t),c=i.f,u=0;s.length>u;)c.call(t,a=s[u++])&&e.push(a);return e}},function(t,e,n){var r=n(59),o=n(106),i=n(105),a=n(40),s=n(82),c=n(117),u={},f={},e=t.exports=function(t,e,n,l,p){var d,h,v,m,y=p?function(){return t}:c(t),g=r(n,l,e?2:1),_=0;if(\"function\"!=typeof y)throw TypeError(t+\" is not iterable!\");if(i(y)){for(d=s(t.length);d>_;_++)if(m=e?g(a(h=t[_])[0],h[1]):g(t[_]),m===u||m===f)return m}else for(v=y.call(t);!(h=v.next()).done;)if(m=o(v,g,h.value,e),m===u||m===f)return m};e.BREAK=u,e.RETURN=f},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){var r=n(58);t.exports=Array.isArray||function(t){return\"Array\"==r(t)}},function(t,e,n){\"use strict\";var r=n(109),o=n(62),i=n(69),a={};n(45)(a,n(31)(\"iterator\"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+\" Iterator\")}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r=n(71)(\"meta\"),o=n(46),i=n(44),a=n(34).f,s=0,c=Object.isExtensible||function(){return!0},u=!n(53)(function(){return c(Object.preventExtensions({}))}),f=function(t){a(t,r,{value:{i:\"O\"+ ++s,w:{}}})},l=function(t,e){if(!o(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!i(t,r)){if(!c(t))return\"F\";if(!e)return\"E\";f(t)}return t[r].i},p=function(t,e){if(!i(t,r)){if(!c(t))return!0;if(!e)return!1;f(t)}return t[r].w},d=function(t){return u&&h.NEED&&c(t)&&!i(t,r)&&f(t),t},h=t.exports={KEY:r,NEED:!1,fastKey:l,getWeak:p,onFreeze:d}},function(t,e,n){var r=n(30),o=n(116).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,c=\"process\"==n(58)(a);t.exports=function(){var t,e,n,u=function(){var r,o;for(c&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(r){throw t?n():e=void 0,r}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(u)};else if(!i||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var f=s.resolve();n=function(){f.then(u)}}else n=function(){o.call(r,u)};else{var l=!0,p=document.createTextNode(\"\");new i(u).observe(p,{characterData:!0}),n=function(){p.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){\"use strict\";var r=n(42),o=n(78),i=n(47),a=n(70),s=n(104),c=Object.assign;t.exports=!c||n(53)(function(){var t={},e={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return t[n]=7,r.split(\"\").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join(\"\")!=r})?function(t,e){for(var n=a(t),c=arguments.length,u=1,f=o.f,l=i.f;c>u;)for(var p,d=s(arguments[u++]),h=f?r(d).concat(f(d)):r(d),v=h.length,m=0;v>m;)l.call(d,p=h[m++])&&(n[p]=d[p]);return n}:c},function(t,e,n){var r=n(34),o=n(40),i=n(42);t.exports=n(41)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),s=a.length,c=0;s>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(47),o=n(62),i=n(35),a=n(83),s=n(44),c=n(103),u=Object.getOwnPropertyDescriptor;e.f=n(41)?u:function(t,e){if(t=i(t),e=a(e,!0),c)try{return u(t,e)}catch(t){}if(s(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(35),o=n(110).f,i={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return o(t)}catch(t){return a.slice()}};t.exports.f=function(t){return a&&\"[object Window]\"==i.call(t)?s(t):o(r(t))}},function(t,e,n){var r=n(44),o=n(70),i=n(79)(\"IE_PROTO\"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){var r=n(32),o=n(28),i=n(53);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),\"Object\",a)}},function(t,e,n){var r=n(45);t.exports=function(t,e,n){for(var o in e)n&&t[o]?t[o]=e[o]:r(t,o,e[o]);return t}},function(t,e,n){\"use strict\";var r=n(30),o=n(28),i=n(34),a=n(41),s=n(31)(\"species\");t.exports=function(t){var e=\"function\"==typeof o[t]?o[t]:r[t];a&&e&&!e[s]&&i.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e,n){var r=n(81),o=n(74);t.exports=function(t){return function(e,n){var i,a,s=String(o(e)),c=r(n),u=s.length;return c<0||c>=u?t?\"\":void 0:(i=s.charCodeAt(c),i<55296||i>56319||c+1===u||(a=s.charCodeAt(c+1))<56320||a>57343?t?s.charAt(c):i:t?s.slice(c,c+2):(i-55296<<10)+(a-56320)+65536)}}},function(t,e,n){var r=n(81),o=Math.max,i=Math.min;t.exports=function(t,e){return t=r(t),t<0?o(t+e,0):i(t,e)}},function(t,e,n){\"use strict\";var r=n(59),o=n(32),i=n(70),a=n(106),s=n(105),c=n(82),u=n(191),f=n(117);o(o.S+o.F*!n(108)(function(t){Array.from(t)}),\"Array\",{from:function(t){var e,n,o,l,p=i(t),d=\"function\"==typeof this?this:Array,h=arguments.length,v=h>1?arguments[1]:void 0,m=void 0!==v,y=0,g=f(p);if(m&&(v=r(v,h>2?arguments[2]:void 0,2)),void 0==g||d==Array&&s(g))for(e=c(p.length),n=new d(e);e>y;y++)u(n,y,m?v(p[y],y):p[y]);else for(l=g.call(p),n=new d;!(o=l.next()).done;y++)u(n,y,m?a(l,v,[o.value,y],!0):o.value);return n.length=y,n}})},function(t,e,n){\"use strict\";var r=n(188),o=n(197),i=n(60),a=n(35);t.exports=n(107)(Array,\"Array\",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):\"keys\"==e?o(0,n):\"values\"==e?o(0,t[n]):o(0,[n,t[n]])},\"values\"),i.Arguments=i.Array,r(\"keys\"),r(\"values\"),r(\"entries\")},function(t,e,n){var r=n(32);r(r.S+r.F,\"Object\",{assign:n(200)})},function(t,e,n){var r=n(32);r(r.S+r.F*!n(41),\"Object\",{defineProperty:n(34).f})},function(t,e,n){var r=n(70),o=n(42);n(205)(\"keys\",function(){return function(t){return o(r(t))}})},function(t,e,n){\"use strict\";var r,o,i,a,s=n(68),c=n(30),u=n(59),f=n(101),l=n(32),p=n(46),d=n(67),h=n(189),v=n(193),m=n(115),y=n(116).set,g=n(199)(),_=n(77),b=n(112),w=n(113),x=\"Promise\",k=c.TypeError,C=c.process,O=c[x],$=\"process\"==f(C),S=function(){},E=o=_.f,A=!!function(){try{var t=O.resolve(1),e=(t.constructor={})[n(31)(\"species\")]=function(t){t(S,S)};return($||\"function\"==typeof PromiseRejectionEvent)&&t.then(S)instanceof e}catch(t){}}(),T=function(t){var e;return!(!p(t)||\"function\"!=typeof(e=t.then))&&e},j=function(t,e){if(!t._n){t._n=!0;var n=t._c;g(function(){for(var r=t._v,o=1==t._s,i=0,a=function(e){var n,i,a,s=o?e.ok:e.fail,c=e.resolve,u=e.reject,f=e.domain;try{s?(o||(2==t._h&&P(t),t._h=1),s===!0?n=r:(f&&f.enter(),n=s(r),f&&(f.exit(),a=!0)),n===e.promise?u(k(\"Promise-chain cycle\")):(i=T(n))?i.call(n,c,u):c(n)):u(r);\n}catch(t){f&&!a&&f.exit(),u(t)}};n.length>i;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&L(t)})}},L=function(t){y.call(c,function(){var e,n,r,o=t._v,i=M(t);if(i&&(e=b(function(){$?C.emit(\"unhandledRejection\",o,t):(n=c.onunhandledrejection)?n({promise:t,reason:o}):(r=c.console)&&r.error&&r.error(\"Unhandled promise rejection\",o)}),t._h=$||M(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},M=function(t){return 1!==t._h&&0===(t._a||t._c).length},P=function(t){y.call(c,function(){var e;$?C.emit(\"rejectionHandled\",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},N=function(t){var e=this;e._d||(e._d=!0,e=e._w||e,e._v=t,e._s=2,e._a||(e._a=e._c.slice()),j(e,!0))},I=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw k(\"Promise can't be resolved itself\");(e=T(t))?g(function(){var r={_w:n,_d:!1};try{e.call(t,u(I,r,1),u(N,r,1))}catch(t){N.call(r,t)}}):(n._v=t,n._s=1,j(n,!1))}catch(t){N.call({_w:n,_d:!1},t)}}};A||(O=function(t){h(this,O,x,\"_h\"),d(t),r.call(this);try{t(u(I,this,1),u(N,this,1))}catch(t){N.call(this,t)}},r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(206)(O.prototype,{then:function(t,e){var n=E(m(this,O));return n.ok=\"function\"!=typeof t||t,n.fail=\"function\"==typeof e&&e,n.domain=$?C.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&j(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=u(I,t,1),this.reject=u(N,t,1)},_.f=E=function(t){return t===O||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!A,{Promise:O}),n(69)(O,x),n(207)(x),a=n(28)[x],l(l.S+l.F*!A,x,{reject:function(t){var e=E(this),n=e.reject;return n(t),e.promise}}),l(l.S+l.F*(s||!A),x,{resolve:function(t){return w(s&&this===a?O:this,t)}}),l(l.S+l.F*!(A&&n(108)(function(t){O.all(t).catch(S)})),x,{all:function(t){var e=this,n=E(e),r=n.resolve,o=n.reject,i=b(function(){var n=[],i=0,a=1;v(t,!1,function(t){var s=i++,c=!1;n.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,n[s]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=E(e),r=n.reject,o=b(function(){v(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){\"use strict\";var r=n(30),o=n(44),i=n(41),a=n(32),s=n(114),c=n(198).KEY,u=n(53),f=n(80),l=n(69),p=n(71),d=n(31),h=n(85),v=n(84),m=n(192),y=n(195),g=n(40),_=n(46),b=n(35),w=n(83),x=n(62),k=n(109),C=n(203),O=n(202),$=n(34),S=n(42),E=O.f,A=$.f,T=C.f,j=r.Symbol,L=r.JSON,M=L&&L.stringify,P=\"prototype\",N=d(\"_hidden\"),I=d(\"toPrimitive\"),R={}.propertyIsEnumerable,F=f(\"symbol-registry\"),D=f(\"symbols\"),H=f(\"op-symbols\"),B=Object[P],U=\"function\"==typeof j,V=r.QObject,q=!V||!V[P]||!V[P].findChild,G=i&&u(function(){return 7!=k(A({},\"a\",{get:function(){return A(this,\"a\",{value:7}).a}})).a})?function(t,e,n){var r=E(B,e);r&&delete B[e],A(t,e,n),r&&t!==B&&A(B,e,r)}:A,z=function(t){var e=D[t]=k(j[P]);return e._k=t,e},K=U&&\"symbol\"==typeof j.iterator?function(t){return\"symbol\"==typeof t}:function(t){return t instanceof j},W=function(t,e,n){return t===B&&W(H,e,n),g(t),e=w(e,!0),g(n),o(D,e)?(n.enumerable?(o(t,N)&&t[N][e]&&(t[N][e]=!1),n=k(n,{enumerable:x(0,!1)})):(o(t,N)||A(t,N,x(1,{})),t[N][e]=!0),G(t,e,n)):A(t,e,n)},J=function(t,e){g(t);for(var n,r=m(e=b(e)),o=0,i=r.length;i>o;)W(t,n=r[o++],e[n]);return t},X=function(t,e){return void 0===e?k(t):J(k(t),e)},Y=function(t){var e=R.call(this,t=w(t,!0));return!(this===B&&o(D,t)&&!o(H,t))&&(!(e||!o(this,t)||!o(D,t)||o(this,N)&&this[N][t])||e)},Z=function(t,e){if(t=b(t),e=w(e,!0),t!==B||!o(D,e)||o(H,e)){var n=E(t,e);return!n||!o(D,e)||o(t,N)&&t[N][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=T(b(t)),r=[],i=0;n.length>i;)o(D,e=n[i++])||e==N||e==c||r.push(e);return r},tt=function(t){for(var e,n=t===B,r=T(n?H:b(t)),i=[],a=0;r.length>a;)!o(D,e=r[a++])||n&&!o(B,e)||i.push(D[e]);return i};U||(j=function(){if(this instanceof j)throw TypeError(\"Symbol is not a constructor!\");var t=p(arguments.length>0?arguments[0]:void 0),e=function(n){this===B&&e.call(H,n),o(this,N)&&o(this[N],t)&&(this[N][t]=!1),G(this,t,x(1,n))};return i&&q&&G(B,t,{configurable:!0,set:e}),z(t)},s(j[P],\"toString\",function(){return this._k}),O.f=Z,$.f=W,n(110).f=C.f=Q,n(47).f=Y,n(78).f=tt,i&&!n(68)&&s(B,\"propertyIsEnumerable\",Y,!0),h.f=function(t){return z(d(t))}),a(a.G+a.W+a.F*!U,{Symbol:j});for(var et=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),nt=0;et.length>nt;)d(et[nt++]);for(var rt=S(d.store),ot=0;rt.length>ot;)v(rt[ot++]);a(a.S+a.F*!U,\"Symbol\",{for:function(t){return o(F,t+=\"\")?F[t]:F[t]=j(t)},keyFor:function(t){if(!K(t))throw TypeError(t+\" is not a symbol!\");for(var e in F)if(F[e]===t)return e},useSetter:function(){q=!0},useSimple:function(){q=!1}}),a(a.S+a.F*!U,\"Object\",{create:X,defineProperty:W,defineProperties:J,getOwnPropertyDescriptor:Z,getOwnPropertyNames:Q,getOwnPropertySymbols:tt}),L&&a(a.S+a.F*(!U||u(function(){var t=j();return\"[null]\"!=M([t])||\"{}\"!=M({a:t})||\"{}\"!=M(Object(t))})),\"JSON\",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(_(e)||void 0!==t)&&!K(t))return y(e)||(e=function(t,e){if(\"function\"==typeof n&&(e=n.call(this,t,e)),!K(e))return e}),r[1]=e,M.apply(L,r)}}),j[P][I]||n(45)(j[P],I,j[P].valueOf),l(j,\"Symbol\"),l(Math,\"Math\",!0),l(r.JSON,\"JSON\",!0)},function(t,e,n){\"use strict\";var r=n(32),o=n(28),i=n(30),a=n(115),s=n(113);r(r.P+r.R,\"Promise\",{finally:function(t){var e=a(this,o.Promise||i.Promise),n=\"function\"==typeof t;return this.then(n?function(n){return s(e,t()).then(function(){return n})}:t,n?function(n){return s(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){\"use strict\";var r=n(32),o=n(77),i=n(112);r(r.S,\"Promise\",{try:function(t){var e=o.f(this),n=i(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}})},function(t,e,n){n(84)(\"asyncIterator\")},function(t,e,n){n(84)(\"observable\")},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){var r;!function(){\"use strict\";/**\n\t\t * @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.\n\t\t *\n\t\t * @codingstandard ftlabs-jsv2\n\t\t * @copyright The Financial Times Limited [All Rights Reserved]\n\t\t * @license MIT License (see LICENSE.txt)\n\t\t */\nfunction o(t,e){function n(t,e){return function(){return t.apply(e,arguments)}}var r;if(e=e||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=e.touchBoundary||10,this.layer=t,this.tapDelay=e.tapDelay||200,this.tapTimeout=e.tapTimeout||700,!o.notNeeded(t)){for(var i=[\"onMouse\",\"onClick\",\"onTouchStart\",\"onTouchMove\",\"onTouchEnd\",\"onTouchCancel\"],s=this,c=0,u=i.length;c<u;c++)s[i[c]]=n(s[i[c]],s);a&&(t.addEventListener(\"mouseover\",this.onMouse,!0),t.addEventListener(\"mousedown\",this.onMouse,!0),t.addEventListener(\"mouseup\",this.onMouse,!0)),t.addEventListener(\"click\",this.onClick,!0),t.addEventListener(\"touchstart\",this.onTouchStart,!1),t.addEventListener(\"touchmove\",this.onTouchMove,!1),t.addEventListener(\"touchend\",this.onTouchEnd,!1),t.addEventListener(\"touchcancel\",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(t.removeEventListener=function(e,n,r){var o=Node.prototype.removeEventListener;\"click\"===e?o.call(t,e,n.hijacked||n,r):o.call(t,e,n,r)},t.addEventListener=function(e,n,r){var o=Node.prototype.addEventListener;\"click\"===e?o.call(t,e,n.hijacked||(n.hijacked=function(t){t.propagationStopped||n(t)}),r):o.call(t,e,n,r)}),\"function\"==typeof t.onclick&&(r=t.onclick,t.addEventListener(\"click\",function(t){r(t)},!1),t.onclick=null)}}var i=navigator.userAgent.indexOf(\"Windows Phone\")>=0,a=navigator.userAgent.indexOf(\"Android\")>0&&!i,s=/iP(ad|hone|od)/.test(navigator.userAgent)&&!i,c=s&&/OS 4_\\d(_\\d)?/.test(navigator.userAgent),u=s&&/OS [6-7]_\\d/.test(navigator.userAgent),f=navigator.userAgent.indexOf(\"BB10\")>0;o.prototype.needsClick=function(t){switch(t.nodeName.toLowerCase()){case\"button\":case\"select\":case\"textarea\":if(t.disabled)return!0;break;case\"input\":if(s&&\"file\"===t.type||t.disabled)return!0;break;case\"label\":case\"iframe\":case\"video\":return!0}return/\\bneedsclick\\b/.test(t.className)},o.prototype.needsFocus=function(t){switch(t.nodeName.toLowerCase()){case\"textarea\":return!0;case\"select\":return!a;case\"input\":switch(t.type){case\"button\":case\"checkbox\":case\"file\":case\"image\":case\"radio\":case\"submit\":return!1}return!t.disabled&&!t.readOnly;default:return/\\bneedsfocus\\b/.test(t.className)}},o.prototype.sendClick=function(t,e){var n,r;document.activeElement&&document.activeElement!==t&&document.activeElement.blur(),r=e.changedTouches[0],n=document.createEvent(\"MouseEvents\"),n.initMouseEvent(this.determineEventType(t),!0,!0,window,1,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.forwardedTouchEvent=!0,t.dispatchEvent(n)},o.prototype.determineEventType=function(t){return a&&\"select\"===t.tagName.toLowerCase()?\"mousedown\":\"click\"},o.prototype.focus=function(t){var e;s&&t.setSelectionRange&&0!==t.type.indexOf(\"date\")&&\"time\"!==t.type&&\"month\"!==t.type?(e=t.value.length,t.setSelectionRange(e,e)):t.focus()},o.prototype.updateScrollParent=function(t){var e,n;if(e=t.fastClickScrollParent,!e||!e.contains(t)){n=t;do{if(n.scrollHeight>n.offsetHeight){e=n,t.fastClickScrollParent=n;break}n=n.parentElement}while(n)}e&&(e.fastClickLastScrollTop=e.scrollTop)},o.prototype.getTargetElementFromEventTarget=function(t){return t.nodeType===Node.TEXT_NODE?t.parentNode:t},o.prototype.onTouchStart=function(t){var e,n,r;if(t.targetTouches.length>1)return!0;if(e=this.getTargetElementFromEventTarget(t.target),n=t.targetTouches[0],s){if(r=window.getSelection(),r.rangeCount&&!r.isCollapsed)return!0;if(!c){if(n.identifier&&n.identifier===this.lastTouchIdentifier)return t.preventDefault(),!1;this.lastTouchIdentifier=n.identifier,this.updateScrollParent(e)}}return this.trackingClick=!0,this.trackingClickStart=t.timeStamp,this.targetElement=e,this.touchStartX=n.pageX,this.touchStartY=n.pageY,t.timeStamp-this.lastClickTime<this.tapDelay&&t.preventDefault(),!0},o.prototype.touchHasMoved=function(t){var e=t.changedTouches[0],n=this.touchBoundary;return Math.abs(e.pageX-this.touchStartX)>n||Math.abs(e.pageY-this.touchStartY)>n},o.prototype.onTouchMove=function(t){return!this.trackingClick||((this.targetElement!==this.getTargetElementFromEventTarget(t.target)||this.touchHasMoved(t))&&(this.trackingClick=!1,this.targetElement=null),!0)},o.prototype.findControl=function(t){return void 0!==t.control?t.control:t.htmlFor?document.getElementById(t.htmlFor):t.querySelector(\"button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea\")},o.prototype.onTouchEnd=function(t){var e,n,r,o,i,f=this.targetElement;if(!this.trackingClick)return!0;if(t.timeStamp-this.lastClickTime<this.tapDelay)return this.cancelNextClick=!0,!0;if(t.timeStamp-this.trackingClickStart>this.tapTimeout)return!0;if(this.cancelNextClick=!1,this.lastClickTime=t.timeStamp,n=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,u&&(i=t.changedTouches[0],f=document.elementFromPoint(i.pageX-window.pageXOffset,i.pageY-window.pageYOffset)||f,f.fastClickScrollParent=this.targetElement.fastClickScrollParent),r=f.tagName.toLowerCase(),\"label\"===r){if(e=this.findControl(f)){if(this.focus(f),a)return!1;f=e}}else if(this.needsFocus(f))return t.timeStamp-n>100||s&&window.top!==window&&\"input\"===r?(this.targetElement=null,!1):(this.focus(f),this.sendClick(f,t),s&&\"select\"===r||(this.targetElement=null,t.preventDefault()),!1);return!(!s||c||(o=f.fastClickScrollParent,!o||o.fastClickLastScrollTop===o.scrollTop))||(this.needsClick(f)||(t.preventDefault(),this.sendClick(f,t)),!1)},o.prototype.onTouchCancel=function(){this.trackingClick=!1,this.targetElement=null},o.prototype.onMouse=function(t){return!this.targetElement||(!!t.forwardedTouchEvent||(!t.cancelable||(!(!this.needsClick(this.targetElement)||this.cancelNextClick)||(t.stopImmediatePropagation?t.stopImmediatePropagation():t.propagationStopped=!0,t.stopPropagation(),t.preventDefault(),!1))))},o.prototype.onClick=function(t){var e;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):\"submit\"===t.target.type&&0===t.detail||(e=this.onMouse(t),e||(this.targetElement=null),e)},o.prototype.destroy=function(){var t=this.layer;a&&(t.removeEventListener(\"mouseover\",this.onMouse,!0),t.removeEventListener(\"mousedown\",this.onMouse,!0),t.removeEventListener(\"mouseup\",this.onMouse,!0)),t.removeEventListener(\"click\",this.onClick,!0),t.removeEventListener(\"touchstart\",this.onTouchStart,!1),t.removeEventListener(\"touchmove\",this.onTouchMove,!1),t.removeEventListener(\"touchend\",this.onTouchEnd,!1),t.removeEventListener(\"touchcancel\",this.onTouchCancel,!1)},o.notNeeded=function(t){var e,n,r,o;if(\"undefined\"==typeof window.ontouchstart)return!0;if(n=+(/Chrome\\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1]){if(!a)return!0;if(e=document.querySelector(\"meta[name=viewport]\")){if(e.content.indexOf(\"user-scalable=no\")!==-1)return!0;if(n>31&&document.documentElement.scrollWidth<=window.outerWidth)return!0}}if(f&&(r=navigator.userAgent.match(/Version\\/([0-9]*)\\.([0-9]*)/),r[1]>=10&&r[2]>=3&&(e=document.querySelector(\"meta[name=viewport]\")))){if(e.content.indexOf(\"user-scalable=no\")!==-1)return!0;if(document.documentElement.scrollWidth<=window.outerWidth)return!0}return\"none\"===t.style.msTouchAction||\"manipulation\"===t.style.touchAction||(o=+(/Firefox\\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1],!!(o>=27&&(e=document.querySelector(\"meta[name=viewport]\"),e&&(e.content.indexOf(\"user-scalable=no\")!==-1||document.documentElement.scrollWidth<=window.outerWidth)))||(\"none\"===t.style.touchAction||\"manipulation\"===t.style.touchAction))},o.attach=function(t,e){return new o(t,e)},r=function(){return o}.call(e,n,e,t),!(void 0!==r&&(t.exports=r))}()},function(t,e){function n(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function o(t){if(f===setTimeout)return setTimeout(t,0);if((f===n||!f)&&setTimeout)return f=setTimeout,setTimeout(t,0);try{return f(t,0)}catch(e){try{return f.call(null,t,0)}catch(e){return f.call(this,t,0)}}}function i(t){if(l===clearTimeout)return clearTimeout(t);if((l===r||!l)&&clearTimeout)return l=clearTimeout,clearTimeout(t);try{return l(t)}catch(e){try{return l.call(null,t)}catch(e){return l.call(this,t)}}}function a(){v&&d&&(v=!1,d.length?h=d.concat(h):m=-1,h.length&&s())}function s(){if(!v){var t=o(a);v=!0;for(var e=h.length;e;){for(d=h,h=[];++m<e;)d&&d[m].run();m=-1,e=h.length}d=null,v=!1,i(t)}}function c(t,e){this.fun=t,this.array=e}function u(){}var f,l,p=t.exports={};!function(){try{f=\"function\"==typeof setTimeout?setTimeout:n}catch(t){f=n}try{l=\"function\"==typeof clearTimeout?clearTimeout:r}catch(t){l=r}}();var d,h=[],v=!1,m=-1;p.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];h.push(new c(t,e)),1!==h.length||v||o(s)},c.prototype.run=function(){this.fun.apply(null,this.array)},p.title=\"browser\",p.browser=!0,p.env={},p.argv=[],p.version=\"\",p.versions={},p.on=u,p.addListener=u,p.once=u,p.off=u,p.removeListener=u,p.removeAllListeners=u,p.emit=u,p.prependListener=u,p.prependOnceListener=u,p.listeners=function(t){return[]},p.binding=function(t){throw new Error(\"process.binding is not supported\")},p.cwd=function(){return\"/\"},p.chdir=function(t){throw new Error(\"process.chdir is not supported\")},p.umask=function(){return 0}},function(t,e,n){var r=function(){return this}()||Function(\"return this\")(),o=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf(\"regeneratorRuntime\")>=0,i=o&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,t.exports=n(320),o)r.regeneratorRuntime=i;else try{delete r.regeneratorRuntime}catch(t){r.regeneratorRuntime=void 0}},function(t,e){!function(e){\"use strict\";function n(t,e,n,r){var i=e&&e.prototype instanceof o?e:o,a=Object.create(i.prototype),s=new d(r||[]);return a._invoke=u(t,n,s),a}function r(t,e,n){try{return{type:\"normal\",arg:t.call(e,n)}}catch(t){return{type:\"throw\",arg:t}}}function o(){}function i(){}function a(){}function s(t){[\"next\",\"throw\",\"return\"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function c(t){function e(n,o,i,a){var s=r(t[n],t,o);if(\"throw\"!==s.type){var c=s.arg,u=c.value;return u&&\"object\"==typeof u&&g.call(u,\"__await\")?Promise.resolve(u.__await).then(function(t){e(\"next\",t,i,a)},function(t){e(\"throw\",t,i,a)}):Promise.resolve(u).then(function(t){c.value=t,i(c)},a)}a(s.arg)}function n(t,n){function r(){return new Promise(function(r,o){e(t,n,r,o)})}return o=o?o.then(r,r):r()}var o;this._invoke=n}function u(t,e,n){var o=O;return function(i,a){if(o===S)throw new Error(\"Generator is already running\");if(o===E){if(\"throw\"===i)throw a;return v()}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var c=f(s,n);if(c){if(c===A)continue;return c}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(o===O)throw o=E,n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);o=S;var u=r(t,e,n);if(\"normal\"===u.type){if(o=n.done?E:$,u.arg===A)continue;return{value:u.arg,done:n.done}}\"throw\"===u.type&&(o=E,n.method=\"throw\",n.arg=u.arg)}}}function f(t,e){var n=t.iterator[e.method];if(n===m){if(e.delegate=null,\"throw\"===e.method){if(t.iterator.return&&(e.method=\"return\",e.arg=m,f(t,e),\"throw\"===e.method))return A;e.method=\"throw\",e.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return A}var o=r(n,t.iterator,e.arg);if(\"throw\"===o.type)return e.method=\"throw\",e.arg=o.arg,e.delegate=null,A;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,\"return\"!==e.method&&(e.method=\"next\",e.arg=m),e.delegate=null,A):i:(e.method=\"throw\",e.arg=new TypeError(\"iterator result is not an object\"),e.delegate=null,A)}function l(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function p(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function d(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(l,this),this.reset(!0)}function h(t){if(t){var e=t[b];if(e)return e.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,r=function e(){for(;++n<t.length;)if(g.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=m,e.done=!0,e};return r.next=r}}return{next:v}}function v(){return{value:m,done:!0}}var m,y=Object.prototype,g=y.hasOwnProperty,_=\"function\"==typeof Symbol?Symbol:{},b=_.iterator||\"@@iterator\",w=_.asyncIterator||\"@@asyncIterator\",x=_.toStringTag||\"@@toStringTag\",k=\"object\"==typeof t,C=e.regeneratorRuntime;if(C)return void(k&&(t.exports=C));C=e.regeneratorRuntime=k?t.exports:{},C.wrap=n;var O=\"suspendedStart\",$=\"suspendedYield\",S=\"executing\",E=\"completed\",A={},T={};T[b]=function(){return this};var j=Object.getPrototypeOf,L=j&&j(j(h([])));L&&L!==y&&g.call(L,b)&&(T=L);var M=a.prototype=o.prototype=Object.create(T);i.prototype=M.constructor=a,a.constructor=i,a[x]=i.displayName=\"GeneratorFunction\",C.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===i||\"GeneratorFunction\"===(e.displayName||e.name))},C.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,a):(t.__proto__=a,x in t||(t[x]=\"GeneratorFunction\")),t.prototype=Object.create(M),t},C.awrap=function(t){return{__await:t}},s(c.prototype),c.prototype[w]=function(){return this},C.AsyncIterator=c,C.async=function(t,e,r,o){var i=new c(n(t,e,r,o));return C.isGeneratorFunction(e)?i:i.next().then(function(t){return t.done?t.value:i.next()})},s(M),M[x]=\"Generator\",M[b]=function(){return this},M.toString=function(){return\"[object Generator]\"},C.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},C.values=h,d.prototype={constructor:d,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=m,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=m,this.tryEntries.forEach(p),!t)for(var e in this)\"t\"===e.charAt(0)&&g.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=m)},stop:function(){this.done=!0;var t=this.tryEntries[0],e=t.completion;if(\"throw\"===e.type)throw e.arg;return this.rval},dispatchException:function(t){function e(e,r){return i.type=\"throw\",i.arg=t,n.next=e,r&&(n.method=\"next\",n.arg=m),!!r}if(this.done)throw t;for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if(\"root\"===o.tryLoc)return e(\"end\");if(o.tryLoc<=this.prev){var a=g.call(o,\"catchLoc\"),s=g.call(o,\"finallyLoc\");if(a&&s){if(this.prev<o.catchLoc)return e(o.catchLoc,!0);if(this.prev<o.finallyLoc)return e(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return e(o.catchLoc,!0)}else{if(!s)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return e(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&g.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===t||\"continue\"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method=\"next\",this.next=o.finallyLoc,A):this.complete(i)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),A},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),p(n),A}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if(\"throw\"===r.type){var o=r.arg;p(n)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,e,n){return this.delegate={iterator:h(t),resultName:e,nextLoc:n},\"next\"===this.method&&(this.arg=m),A}}}(function(){return this}()||Function(\"return this\")())},function(t,e,n){(function(t,e){!function(t,n){\"use strict\";function r(t){\"function\"!=typeof t&&(t=new Function(\"\"+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var r={callback:t,args:e};return v[h]=r,d(h),h++}function o(t){delete v[t]}function i(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(n,r)}}function a(t){if(m)setTimeout(a,0,t);else{var e=v[t];if(e){m=!0;try{i(e)}finally{o(t),m=!1}}}}function s(){d=function(t){e.nextTick(function(){a(t)})}}function c(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage(\"\",\"*\"),t.onmessage=n,e}}function u(){var e=\"setImmediate$\"+Math.random()+\"$\",n=function(n){n.source===t&&\"string\"==typeof n.data&&0===n.data.indexOf(e)&&a(+n.data.slice(e.length))};t.addEventListener?t.addEventListener(\"message\",n,!1):t.attachEvent(\"onmessage\",n),d=function(n){t.postMessage(e+n,\"*\")}}function f(){var t=new MessageChannel;t.port1.onmessage=function(t){var e=t.data;a(e)},d=function(e){t.port2.postMessage(e)}}function l(){var t=y.documentElement;d=function(e){var n=y.createElement(\"script\");n.onreadystatechange=function(){a(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}function p(){d=function(t){setTimeout(a,0,t)}}if(!t.setImmediate){var d,h=1,v={},m=!1,y=t.document,g=Object.getPrototypeOf&&Object.getPrototypeOf(t);g=g&&g.setTimeout?g:t,\"[object process]\"==={}.toString.call(t.process)?s():c()?u():t.MessageChannel?f():y&&\"onreadystatechange\"in y.createElement(\"script\")?l():p(),g.setImmediate=r,g.clearImmediate=o}}(\"undefined\"==typeof self?\"undefined\"==typeof t?this:t:self)}).call(e,function(){return this}(),n(318))},,function(t,e,n){(function(t){function r(t,e){this._id=t,this._clearFn=e}var o=\"undefined\"!=typeof t&&t||\"undefined\"!=typeof self&&self||window,i=Function.prototype.apply;e.setTimeout=function(){return new r(i.call(setTimeout,o,arguments),clearTimeout)},e.setInterval=function(){return new r(i.call(setInterval,o,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(o,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(321),e.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||\"undefined\"!=typeof t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||\"undefined\"!=typeof t&&t.clearImmediate||this&&this.clearImmediate}).call(e,function(){return this}())},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){/**\n\t  * vue-router v2.8.1\n\t  * (c) 2017 Evan You\n\t  * @license MIT\n\t  */\n\"use strict\";function r(t,e){}function o(t){return Object.prototype.toString.call(t).indexOf(\"Error\")>-1}function i(t,e){switch(typeof e){case\"undefined\":return;case\"object\":return e;case\"function\":return e(t);case\"boolean\":return e?t.params:void 0}}function a(t,e){for(var n in e)t[n]=e[n];return t}function s(t,e,n){void 0===e&&(e={});var r,o=n||c;try{r=o(t||\"\")}catch(t){r={}}for(var i in e)r[i]=e[i];return r}function c(t){var e={};return(t=t.trim().replace(/^(\\?|#|&)/,\"\"))?(t.split(\"&\").forEach(function(t){var n=t.replace(/\\+/g,\" \").split(\"=\"),r=Ht(n.shift()),o=n.length>0?Ht(n.join(\"=\")):null;void 0===e[r]?e[r]=o:Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]}),e):e}function u(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void 0===n)return\"\";if(null===n)return Dt(e);if(Array.isArray(n)){var r=[];return n.forEach(function(t){void 0!==t&&(null===t?r.push(Dt(e)):r.push(Dt(e)+\"=\"+Dt(t)))}),r.join(\"&\")}return Dt(e)+\"=\"+Dt(n)}).filter(function(t){return t.length>0}).join(\"&\"):null;return e?\"?\"+e:\"\"}function f(t,e,n,r){var o=r&&r.options.stringifyQuery,i=e.query||{};try{i=l(i)}catch(t){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||\"/\",hash:e.hash||\"\",query:i,params:e.params||{},fullPath:d(e,o),matched:t?p(t):[]};return n&&(a.redirectedFrom=d(n,o)),Object.freeze(a)}function l(t){if(Array.isArray(t))return t.map(l);if(t&&\"object\"==typeof t){var e={};for(var n in t)e[n]=l(t[n]);return e}return t}function p(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}function d(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var o=t.hash;void 0===o&&(o=\"\");var i=e||u;return(n||\"/\")+i(r)+o}function h(t,e){return e===Ut?t===e:!!e&&(t.path&&e.path?t.path.replace(Bt,\"\")===e.path.replace(Bt,\"\")&&t.hash===e.hash&&v(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&v(t.query,e.query)&&v(t.params,e.params)))}function v(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every(function(n){var r=t[n],o=e[n];return\"object\"==typeof r&&\"object\"==typeof o?v(r,o):String(r)===String(o)})}function m(t,e){return 0===t.path.replace(Bt,\"/\").indexOf(e.path.replace(Bt,\"/\"))&&(!e.hash||t.hash===e.hash)&&y(t.query,e.query)}function y(t,e){for(var n in e)if(!(n in t))return!1;return!0}function g(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.defaultPrevented||void 0!==t.button&&0!==t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute(\"target\");if(/\\b_blank\\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function _(t){if(t)for(var e,n=0;n<t.length;n++){if(e=t[n],\"a\"===e.tag)return e;if(e.children&&(e=_(e.children)))return e}}function b(t){if(!b.installed||Pt!==t){b.installed=!0,Pt=t;var e=function(t){return void 0!==t},n=function(t,n){var r=t.$options._parentVnode;e(r)&&e(r=r.data)&&e(r=r.registerRouteInstance)&&r(t,n)};t.mixin({beforeCreate:function(){e(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),t.util.defineReactive(this,\"_route\",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,n(this,this)},destroyed:function(){n(this)}}),Object.defineProperty(t.prototype,\"$router\",{get:function(){return this._routerRoot._router}}),Object.defineProperty(t.prototype,\"$route\",{get:function(){return this._routerRoot._route}}),t.component(\"router-view\",Nt),t.component(\"router-link\",Gt);var r=t.config.optionMergeStrategies;r.beforeRouteEnter=r.beforeRouteLeave=r.beforeRouteUpdate=r.created}}function w(t,e,n){var r=t.charAt(0);if(\"/\"===r)return t;if(\"?\"===r||\"#\"===r)return e+t;var o=e.split(\"/\");n&&o[o.length-1]||o.pop();for(var i=t.replace(/^\\//,\"\").split(\"/\"),a=0;a<i.length;a++){var s=i[a];\"..\"===s?o.pop():\".\"!==s&&o.push(s)}return\"\"!==o[0]&&o.unshift(\"\"),o.join(\"/\")}function x(t){var e=\"\",n=\"\",r=t.indexOf(\"#\");r>=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf(\"?\");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}function k(t){return t.replace(/\\/\\//g,\"/\")}function C(t,e){for(var n,r=[],o=0,i=0,a=\"\",s=e&&e.delimiter||\"/\";null!=(n=Qt.exec(t));){var c=n[0],u=n[1],f=n.index;if(a+=t.slice(i,f),i=f+c.length,u)a+=u[1];else{var l=t[i],p=n[2],d=n[3],h=n[4],v=n[5],m=n[6],y=n[7];a&&(r.push(a),a=\"\");var g=null!=p&&null!=l&&l!==p,_=\"+\"===m||\"*\"===m,b=\"?\"===m||\"*\"===m,w=n[2]||s,x=h||v;r.push({name:d||o++,prefix:p||\"\",delimiter:w,optional:b,repeat:_,partial:g,asterisk:!!y,pattern:x?T(x):y?\".*\":\"[^\"+A(w)+\"]+?\"})}}return i<t.length&&(a+=t.substr(i)),a&&r.push(a),r}function O(t,e){return E(C(t,e))}function $(t){return encodeURI(t).replace(/[\\/?#]/g,function(t){return\"%\"+t.charCodeAt(0).toString(16).toUpperCase()})}function S(t){return encodeURI(t).replace(/[?#]/g,function(t){return\"%\"+t.charCodeAt(0).toString(16).toUpperCase()})}function E(t){for(var e=new Array(t.length),n=0;n<t.length;n++)\"object\"==typeof t[n]&&(e[n]=new RegExp(\"^(?:\"+t[n].pattern+\")$\"));return function(n,r){for(var o=\"\",i=n||{},a=r||{},s=a.pretty?$:encodeURIComponent,c=0;c<t.length;c++){var u=t[c];if(\"string\"!=typeof u){var f,l=i[u.name];if(null==l){if(u.optional){u.partial&&(o+=u.prefix);continue}throw new TypeError('Expected \"'+u.name+'\" to be defined')}if(Kt(l)){if(!u.repeat)throw new TypeError('Expected \"'+u.name+'\" to not repeat, but received `'+JSON.stringify(l)+\"`\");if(0===l.length){if(u.optional)continue;throw new TypeError('Expected \"'+u.name+'\" to not be empty')}for(var p=0;p<l.length;p++){if(f=s(l[p]),!e[c].test(f))throw new TypeError('Expected all \"'+u.name+'\" to match \"'+u.pattern+'\", but received `'+JSON.stringify(f)+\"`\");o+=(0===p?u.prefix:u.delimiter)+f}}else{if(f=u.asterisk?S(l):s(l),!e[c].test(f))throw new TypeError('Expected \"'+u.name+'\" to match \"'+u.pattern+'\", but received \"'+f+'\"');o+=u.prefix+f}}else o+=u}return o}}function A(t){return t.replace(/([.+*?=^!:${}()[\\]|\\/\\\\])/g,\"\\\\$1\")}function T(t){return t.replace(/([=!:$\\/()])/g,\"\\\\$1\")}function j(t,e){return t.keys=e,t}function L(t){return t.sensitive?\"\":\"i\"}function M(t,e){var n=t.source.match(/\\((?!\\?)/g);if(n)for(var r=0;r<n.length;r++)e.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return j(t,e)}function P(t,e,n){for(var r=[],o=0;o<t.length;o++)r.push(R(t[o],e,n).source);var i=new RegExp(\"(?:\"+r.join(\"|\")+\")\",L(n));return j(i,e)}function N(t,e,n){return I(C(t,n),e,n)}function I(t,e,n){Kt(e)||(n=e||n,e=[]),n=n||{};for(var r=n.strict,o=n.end!==!1,i=\"\",a=0;a<t.length;a++){var s=t[a];if(\"string\"==typeof s)i+=A(s);else{var c=A(s.prefix),u=\"(?:\"+s.pattern+\")\";e.push(s),s.repeat&&(u+=\"(?:\"+c+u+\")*\"),u=s.optional?s.partial?c+\"(\"+u+\")?\":\"(?:\"+c+\"(\"+u+\"))?\":c+\"(\"+u+\")\",i+=u}}var f=A(n.delimiter||\"/\"),l=i.slice(-f.length)===f;return r||(i=(l?i.slice(0,-f.length):i)+\"(?:\"+f+\"(?=$))?\"),i+=o?\"$\":r&&l?\"\":\"(?=\"+f+\"|$)\",j(new RegExp(\"^\"+i,L(n)),e)}function R(t,e,n){return Kt(e)||(n=e||n,e=[]),n=n||{},t instanceof RegExp?M(t,e):Kt(t)?P(t,e,n):N(t,e,n)}function F(t,e,n){try{var r=te[t]||(te[t]=Wt.compile(t));return r(e||{},{pretty:!0})}catch(t){return\"\"}}function D(t,e,n,r){var o=e||[],i=n||Object.create(null),a=r||Object.create(null);t.forEach(function(t){H(o,i,a,t)});for(var s=0,c=o.length;s<c;s++)\"*\"===o[s]&&(o.push(o.splice(s,1)[0]),c--,s--);return{pathList:o,pathMap:i,nameMap:a}}function H(t,e,n,r,o,i){var a=r.path,s=r.name,c=r.pathToRegexpOptions||{},u=U(a,o,c.strict);\"boolean\"==typeof r.caseSensitive&&(c.sensitive=r.caseSensitive);var f={path:u,regex:B(u,c),components:r.components||{default:r.component},instances:{},name:s,parent:o,matchAs:i,redirect:r.redirect,beforeEnter:r.beforeEnter,meta:r.meta||{},props:null==r.props?{}:r.components?r.props:{default:r.props}};if(r.children&&r.children.forEach(function(r){var o=i?k(i+\"/\"+r.path):void 0;H(t,e,n,r,f,o)}),void 0!==r.alias){var l=Array.isArray(r.alias)?r.alias:[r.alias];l.forEach(function(i){var a={path:i,children:r.children};H(t,e,n,a,o,f.path||\"/\")})}e[f.path]||(t.push(f.path),e[f.path]=f),s&&(n[s]||(n[s]=f))}function B(t,e){var n=Wt(t,[],e);return n}function U(t,e,n){return n||(t=t.replace(/\\/$/,\"\")),\"/\"===t[0]?t:null==e?t:k(e.path+\"/\"+t)}function V(t,e,n,r){var o=\"string\"==typeof t?{path:t}:t;if(o.name||o._normalized)return o;if(!o.path&&o.params&&e){o=q({},o),o._normalized=!0;var i=q(q({},e.params),o.params);if(e.name)o.name=e.name,o.params=i;else if(e.matched.length){var a=e.matched[e.matched.length-1].path;o.path=F(a,i,\"path \"+e.path)}return o}var c=x(o.path||\"\"),u=e&&e.path||\"/\",f=c.path?w(c.path,u,n||o.append):u,l=s(c.query,o.query,r&&r.options.parseQuery),p=o.hash||c.hash;return p&&\"#\"!==p.charAt(0)&&(p=\"#\"+p),{_normalized:!0,path:f,query:l,hash:p}}function q(t,e){for(var n in e)t[n]=e[n];return t}function G(t,e){function n(t){D(t,c,u,l)}function r(t,n,r){var o=V(t,n,!1,e),i=o.name;if(i){var s=l[i];if(!s)return a(null,o);var f=s.regex.keys.filter(function(t){return!t.optional}).map(function(t){return t.name});if(\"object\"!=typeof o.params&&(o.params={}),n&&\"object\"==typeof n.params)for(var p in n.params)!(p in o.params)&&f.indexOf(p)>-1&&(o.params[p]=n.params[p]);if(s)return o.path=F(s.path,o.params,'named route \"'+i+'\"'),a(s,o,r)}else if(o.path){o.params={};for(var d=0;d<c.length;d++){var h=c[d],v=u[h];if(z(v.regex,o.path,o.params))return a(v,o,r)}}return a(null,o)}function o(t,n){var o=t.redirect,i=\"function\"==typeof o?o(f(t,n,null,e)):o;if(\"string\"==typeof i&&(i={path:i}),!i||\"object\"!=typeof i)return a(null,n);var s=i,c=s.name,u=s.path,p=n.query,d=n.hash,h=n.params;if(p=s.hasOwnProperty(\"query\")?s.query:p,d=s.hasOwnProperty(\"hash\")?s.hash:d,h=s.hasOwnProperty(\"params\")?s.params:h,c){l[c];return r({_normalized:!0,name:c,query:p,hash:d,params:h},void 0,n)}if(u){var v=K(u,t),m=F(v,h,'redirect route with path \"'+v+'\"');return r({_normalized:!0,path:m,query:p,hash:d},void 0,n)}return a(null,n)}function i(t,e,n){var o=F(n,e.params,'aliased route with path \"'+n+'\"'),i=r({_normalized:!0,path:o});if(i){var s=i.matched,c=s[s.length-1];return e.params=i.params,a(c,e)}return a(null,e)}function a(t,n,r){return t&&t.redirect?o(t,r||n):t&&t.matchAs?i(t,n,t.matchAs):f(t,n,r,e)}var s=D(t),c=s.pathList,u=s.pathMap,l=s.nameMap;return{match:r,addRoutes:n}}function z(t,e,n){var r=e.match(t);if(!r)return!1;if(!n)return!0;for(var o=1,i=r.length;o<i;++o){var a=t.keys[o-1],s=\"string\"==typeof r[o]?decodeURIComponent(r[o]):r[o];a&&(n[a.name]=s)}return!0}function K(t,e){return w(t,e.parent?e.parent.path:\"/\",!0)}function W(){window.history.replaceState({key:it()},\"\"),window.addEventListener(\"popstate\",function(t){X(),t.state&&t.state.key&&at(t.state.key)})}function J(t,e,n,r){if(t.app){var o=t.options.scrollBehavior;o&&t.app.$nextTick(function(){var t=Y(),i=o(e,n,r?t:null);i&&(\"function\"==typeof i.then?i.then(function(e){rt(e,t)}).catch(function(t){}):rt(i,t))})}}function X(){var t=it();t&&(ee[t]={x:window.pageXOffset,y:window.pageYOffset})}function Y(){var t=it();if(t)return ee[t]}function Z(t,e){var n=document.documentElement,r=n.getBoundingClientRect(),o=t.getBoundingClientRect();return{x:o.left-r.left-e.x,y:o.top-r.top-e.y}}function Q(t){return nt(t.x)||nt(t.y)}function tt(t){return{x:nt(t.x)?t.x:window.pageXOffset,y:nt(t.y)?t.y:window.pageYOffset}}function et(t){return{x:nt(t.x)?t.x:0,y:nt(t.y)?t.y:0}}function nt(t){return\"number\"==typeof t}function rt(t,e){var n=\"object\"==typeof t;if(n&&\"string\"==typeof t.selector){var r=document.querySelector(t.selector);if(r){var o=t.offset&&\"object\"==typeof t.offset?t.offset:{};o=et(o),e=Z(r,o)}else Q(t)&&(e=tt(t))}else n&&Q(t)&&(e=tt(t));e&&window.scrollTo(e.x,e.y)}function ot(){return re.now().toFixed(3)}function it(){return oe}function at(t){oe=t}function st(t,e){X();var n=window.history;try{e?n.replaceState({key:oe},\"\",t):(oe=ot(),n.pushState({key:oe},\"\",t))}catch(n){window.location[e?\"replace\":\"assign\"](t)}}function ct(t){st(t,!0)}function ut(t,e,n){var r=function(o){o>=t.length?n():t[o]?e(t[o],function(){r(o+1)}):r(o+1)};r(0)}function ft(t){return function(e,n,r){var i=!1,a=0,s=null;lt(t,function(t,e,n,c){if(\"function\"==typeof t&&void 0===t.cid){i=!0,a++;var u,f=ht(function(e){dt(e)&&(e=e.default),t.resolved=\"function\"==typeof e?e:Pt.extend(e),n.components[c]=e,a--,a<=0&&r()}),l=ht(function(t){var e=\"Failed to resolve async component \"+c+\": \"+t;s||(s=o(t)?t:new Error(e),r(s))});try{u=t(f,l)}catch(t){l(t)}if(u)if(\"function\"==typeof u.then)u.then(f,l);else{var p=u.component;p&&\"function\"==typeof p.then&&p.then(f,l)}}}),i||r()}}function lt(t,e){return pt(t.map(function(t){return Object.keys(t.components).map(function(n){return e(t.components[n],t.instances[n],t,n)})}))}function pt(t){return Array.prototype.concat.apply([],t)}function dt(t){return t.__esModule||ie&&\"Module\"===t[Symbol.toStringTag]}function ht(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}function vt(t){if(!t)if(zt){var e=document.querySelector(\"base\");t=e&&e.getAttribute(\"href\")||\"/\",t=t.replace(/^https?:\\/\\/[^\\/]+/,\"\")}else t=\"/\";return\"/\"!==t.charAt(0)&&(t=\"/\"+t),t.replace(/\\/$/,\"\")}function mt(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n<r&&t[n]===e[n];n++);return{updated:e.slice(0,n),activated:e.slice(n),deactivated:t.slice(n)}}function yt(t,e,n,r){var o=lt(t,function(t,r,o,i){var a=gt(t,e);if(a)return Array.isArray(a)?a.map(function(t){return n(t,r,o,i)}):n(a,r,o,i)});return pt(r?o.reverse():o)}function gt(t,e){return\"function\"!=typeof t&&(t=Pt.extend(t)),t.options[e]}function _t(t){return yt(t,\"beforeRouteLeave\",wt,!0)}function bt(t){return yt(t,\"beforeRouteUpdate\",wt)}function wt(t,e){if(e)return function(){return t.apply(e,arguments)}}function xt(t,e,n){return yt(t,\"beforeRouteEnter\",function(t,r,o,i){return kt(t,o,i,e,n)})}function kt(t,e,n,r,o){return function(i,a,s){return t(i,a,function(t){s(t),\"function\"==typeof t&&r.push(function(){Ct(t,e.instances,n,o)})})}}function Ct(t,e,n,r){e[n]?t(e[n]):r()&&setTimeout(function(){Ct(t,e,n,r)},16)}function Ot(t){var e=window.location.pathname;return t&&0===e.indexOf(t)&&(e=e.slice(t.length)),(e||\"/\")+window.location.search+window.location.hash}function $t(t){var e=Ot(t);if(!/^\\/#/.test(e))return window.location.replace(k(t+\"/#\"+e)),!0}function St(){var t=Et();return\"/\"===t.charAt(0)||(jt(\"/\"+t),!1)}function Et(){var t=window.location.href,e=t.indexOf(\"#\");return e===-1?\"\":t.slice(e+1)}function At(t){var e=window.location.href,n=e.indexOf(\"#\"),r=n>=0?e.slice(0,n):e;return r+\"#\"+t}function Tt(t){ne?st(At(t)):window.location.hash=t}function jt(t){ne?ct(At(t)):window.location.replace(At(t))}function Lt(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function Mt(t,e,n){var r=\"hash\"===n?\"#\"+e:e;return t?k(t+\"/\"+r):r}var Pt,Nt={name:\"router-view\",functional:!0,props:{name:{type:String,default:\"default\"}},render:function(t,e){var n=e.props,r=e.children,o=e.parent,s=e.data;s.routerView=!0;for(var c=o.$createElement,u=n.name,f=o.$route,l=o._routerViewCache||(o._routerViewCache={}),p=0,d=!1;o&&o._routerRoot!==o;)o.$vnode&&o.$vnode.data.routerView&&p++,o._inactive&&(d=!0),o=o.$parent;if(s.routerViewDepth=p,d)return c(l[u],s,r);var h=f.matched[p];if(!h)return l[u]=null,c();var v=l[u]=h.components[u];s.registerRouteInstance=function(t,e){var n=h.instances[u];(e&&n!==t||!e&&n===t)&&(h.instances[u]=e)},(s.hook||(s.hook={})).prepatch=function(t,e){h.instances[u]=e.componentInstance};var m=s.props=i(f,h.props&&h.props[u]);if(m){m=s.props=a({},m);var y=s.attrs=s.attrs||{};for(var g in m)v.props&&g in v.props||(y[g]=m[g],delete m[g])}return c(v,s,r)}},It=/[!'()*]/g,Rt=function(t){return\"%\"+t.charCodeAt(0).toString(16)},Ft=/%2C/g,Dt=function(t){return encodeURIComponent(t).replace(It,Rt).replace(Ft,\",\")},Ht=decodeURIComponent,Bt=/\\/?$/,Ut=f(null,{path:\"/\"}),Vt=[String,Object],qt=[String,Array],Gt={name:\"router-link\",props:{to:{type:Vt,required:!0},tag:{type:String,default:\"a\"},exact:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,event:{type:qt,default:\"click\"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,s=o.href,c={},u=n.options.linkActiveClass,l=n.options.linkExactActiveClass,p=null==u?\"router-link-active\":u,d=null==l?\"router-link-exact-active\":l,v=null==this.activeClass?p:this.activeClass,y=null==this.exactActiveClass?d:this.exactActiveClass,b=i.path?f(null,i,null,n):a;c[y]=h(r,b),c[v]=this.exact?c[y]:m(r,b);var w=function(t){g(t)&&(e.replace?n.replace(i):n.push(i))},x={click:g};Array.isArray(this.event)?this.event.forEach(function(t){x[t]=w}):x[this.event]=w;var k={class:c};if(\"a\"===this.tag)k.on=x,k.attrs={href:s};else{var C=_(this.$slots.default);if(C){C.isStatic=!1;var O=Pt.util.extend,$=C.data=O({},C.data);$.on=x;var S=C.data.attrs=O({},C.data.attrs);S.href=s}else k.on=x}return t(this.tag,k,this.$slots.default)}},zt=\"undefined\"!=typeof window,Kt=Array.isArray||function(t){return\"[object Array]\"==Object.prototype.toString.call(t)},Wt=R,Jt=C,Xt=O,Yt=E,Zt=I,Qt=new RegExp([\"(\\\\\\\\.)\",\"([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))\"].join(\"|\"),\"g\");Wt.parse=Jt,Wt.compile=Xt,Wt.tokensToFunction=Yt,Wt.tokensToRegExp=Zt;var te=Object.create(null),ee=Object.create(null),ne=zt&&function(){var t=window.navigator.userAgent;return(t.indexOf(\"Android 2.\")===-1&&t.indexOf(\"Android 4.0\")===-1||t.indexOf(\"Mobile Safari\")===-1||t.indexOf(\"Chrome\")!==-1||t.indexOf(\"Windows Phone\")!==-1)&&(window.history&&\"pushState\"in window.history)}(),re=zt&&window.performance&&window.performance.now?window.performance:Date,oe=ot(),ie=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.toStringTag,ae=function(t,e){this.router=t,this.base=vt(e),this.current=Ut,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};ae.prototype.listen=function(t){this.cb=t},ae.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},ae.prototype.onError=function(t){this.errorCbs.push(t)},ae.prototype.transitionTo=function(t,e,n){var r=this,o=this.router.match(t,this.current);this.confirmTransition(o,function(){r.updateRoute(o),e&&e(o),r.ensureURL(),r.ready||(r.ready=!0,r.readyCbs.forEach(function(t){t(o)}))},function(t){n&&n(t),t&&!r.ready&&(r.ready=!0,r.readyErrorCbs.forEach(function(e){e(t)}))})},ae.prototype.confirmTransition=function(t,e,n){var i=this,a=this.current,s=function(t){o(t)&&(i.errorCbs.length?i.errorCbs.forEach(function(e){e(t)}):(r(!1,\"uncaught error during route navigation:\"),console.error(t))),n&&n(t)};if(h(t,a)&&t.matched.length===a.matched.length)return this.ensureURL(),s();var c=mt(this.current.matched,t.matched),u=c.updated,f=c.deactivated,l=c.activated,p=[].concat(_t(f),this.router.beforeHooks,bt(u),l.map(function(t){return t.beforeEnter}),ft(l));this.pending=t;var d=function(e,n){if(i.pending!==t)return s();try{e(t,a,function(t){t===!1||o(t)?(i.ensureURL(!0),s(t)):\"string\"==typeof t||\"object\"==typeof t&&(\"string\"==typeof t.path||\"string\"==typeof t.name)?(s(),\"object\"==typeof t&&t.replace?i.replace(t):i.push(t)):n(t)})}catch(t){s(t)}};ut(p,d,function(){var n=[],r=function(){return i.current===t},o=xt(l,n,r),a=o.concat(i.router.resolveHooks);ut(a,d,function(){return i.pending!==t?s():(i.pending=null,e(t),void(i.router.app&&i.router.app.$nextTick(function(){n.forEach(function(t){t()})})))})})},ae.prototype.updateRoute=function(t){var e=this.current;this.current=t,this.cb&&this.cb(t),this.router.afterHooks.forEach(function(n){n&&n(t,e)})};var se=function(t){function e(e,n){var r=this;t.call(this,e,n);var o=e.options.scrollBehavior;o&&W();var i=Ot(this.base);window.addEventListener(\"popstate\",function(t){var n=r.current,a=Ot(r.base);r.current===Ut&&a===i||r.transitionTo(a,function(t){o&&J(e,t,n,!0)})})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,function(t){st(k(r.base+t.fullPath)),J(r.router,t,i,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,function(t){ct(k(r.base+t.fullPath)),J(r.router,t,i,!1),e&&e(t)},n)},e.prototype.ensureURL=function(t){if(Ot(this.base)!==this.current.fullPath){var e=k(this.base+this.current.fullPath);t?st(e):ct(e)}},e.prototype.getCurrentLocation=function(){return Ot(this.base)},e}(ae),ce=function(t){function e(e,n,r){t.call(this,e,n),r&&$t(this.base)||St()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this,e=this.router,n=e.options.scrollBehavior,r=ne&&n;r&&W(),window.addEventListener(ne?\"popstate\":\"hashchange\",function(){var e=t.current;St()&&t.transitionTo(Et(),function(n){r&&J(t.router,n,e,!0),ne||jt(n.fullPath)})})},e.prototype.push=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,function(t){Tt(t.fullPath),J(r.router,t,i,!1),e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this,o=this,i=o.current;this.transitionTo(t,function(t){jt(t.fullPath),J(r.router,t,i,!1),e&&e(t)},n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Et()!==e&&(t?Tt(e):jt(e))},e.prototype.getCurrentLocation=function(){return Et()},e}(ae),ue=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)},n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)},n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,function(){e.index=n,e.updateRoute(r)})}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:\"/\"},e.prototype.ensureURL=function(){},e}(ae),fe=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=G(t.routes||[],this);var e=t.mode||\"hash\";switch(this.fallback=\"history\"===e&&!ne&&t.fallback!==!1,this.fallback&&(e=\"hash\"),zt||(e=\"abstract\"),this.mode=e,e){case\"history\":this.history=new se(this,t.base);break;case\"hash\":this.history=new ce(this,t.base,this.fallback);break;case\"abstract\":this.history=new ue(this,t.base)}},le={currentRoute:{configurable:!0}};fe.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},le.currentRoute.get=function(){return this.history&&this.history.current},fe.prototype.init=function(t){var e=this;if(this.apps.push(t),!this.app){this.app=t;var n=this.history;if(n instanceof se)n.transitionTo(n.getCurrentLocation());else if(n instanceof ce){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen(function(t){e.apps.forEach(function(e){e._route=t})})}},fe.prototype.beforeEach=function(t){return Lt(this.beforeHooks,t)},fe.prototype.beforeResolve=function(t){return Lt(this.resolveHooks,t)},fe.prototype.afterEach=function(t){return Lt(this.afterHooks,t)},fe.prototype.onReady=function(t,e){this.history.onReady(t,e)},fe.prototype.onError=function(t){this.history.onError(t)},fe.prototype.push=function(t,e,n){this.history.push(t,e,n)},fe.prototype.replace=function(t,e,n){this.history.replace(t,e,n)},fe.prototype.go=function(t){this.history.go(t)},fe.prototype.back=function(){this.go(-1)},fe.prototype.forward=function(){this.go(1)},fe.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map(function(t){return Object.keys(t.components).map(function(e){return t.components[e]})})):[]},fe.prototype.resolve=function(t,e,n){var r=V(t,e||this.history.current,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath,a=this.history.base,s=Mt(a,i,this.mode);return{location:r,route:o,href:s,normalizedTo:r,resolved:o}},fe.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==Ut&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(fe.prototype,le),fe.install=b,fe.version=\"2.8.1\",zt&&window.Vue&&window.Vue.use(fe),t.exports=fe}]);"
  },
  {
    "path": "public/img/.gitignore",
    "content": "# Ignore everything in this directory\n*\n# Except this file\n!.gitignore\n!default.jpg"
  },
  {
    "path": "public/index.html",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui\">\n    <meta name=\"screen-orientation\" content=\"portrait\"/>\n    <meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n    <meta name=\"format-detection\" content=\"telephone=no\">\n    <meta name=\"full-screen\" content=\"yes\">\n    <meta name=\"x5-fullscreen\" content=\"true\">\n    <title>elm</title>\n  <link href=\"/elm/static/css/app.css\" rel=\"stylesheet\"></head>\n  <body>\n    <div id=\"app\">\n    \t<router-view></router-view>\n    </div>\n  <script type=\"text/javascript\" src=\"/elm/static/js/manifest.js\"></script><script type=\"text/javascript\" src=\"/elm/static/js/vendor.js\"></script><script type=\"text/javascript\" src=\"/elm/static/js/app.js\"></script></body>\n</html>\n"
  },
  {
    "path": "routes/admin.js",
    "content": "'use strict';\n\nimport express from 'express'\nimport Admin from '../controller/admin/admin'\nconst router = express.Router()\n\nrouter.post('/login', Admin.login);\n// router.post('/register', Admin.register);\nrouter.get('/signout', Admin.singout);\nrouter.get('/all', Admin.getAllAdmin);\nrouter.get('/count', Admin.getAdminCount);\nrouter.get('/info', Admin.getAdminInfo);\nrouter.post('/update/avatar/:admin_id', Admin.updateAvatar);\n\nexport default router\n"
  },
  {
    "path": "routes/bos.js",
    "content": "'use strict';\n\nimport express from 'express';\nimport Order from '../controller/v1/order'\nconst router = express.Router();\n\nrouter.get('/v2/users/:user_id/orders', Order.getOrders)\nrouter.get('/v1/users/:user_id/orders/:order_id/snapshot', Order.getDetail)\nrouter.get('/orders', Order.getAllOrders)\nrouter.get('/orders/count', Order.getOrdersCount)\n\nexport default router"
  },
  {
    "path": "routes/eus.js",
    "content": "'use strict';\n\nimport express from 'express';\nimport User from '../controller/v2/user'\nconst router = express.Router();\n\nrouter.post('/v1/users/:user_id/avatar', User.updateAvatar)\n\nexport default router"
  },
  {
    "path": "routes/index.js",
    "content": "'use strict';\n\nimport v1 from './v1'\nimport v2 from './v2'\nimport v3 from './v3'\nimport v4 from './v4'\nimport ugc from './ugc'\nimport bos from './bos'\nimport eus from './eus'\nimport admin from './admin'\nimport payapi from './payapi'\nimport statis from './statis'\nimport member from './member'\nimport shopping from './shopping'\nimport promotion from './promotion'\n\nexport default app => {\n\t// app.get('/', (req, res, next) => {\n\t// \tres.redirect('/');\n\t// });\n\tapp.use('/v1', v1);\n\tapp.use('/v2', v2);\n\tapp.use('/v3', v3);\n\tapp.use('/v4', v4);\n\tapp.use('/ugc', ugc);\n\tapp.use('/bos', bos);\n\tapp.use('/eus', eus);\n\tapp.use('/admin', admin);\n\tapp.use('/payapi', payapi);\n\tapp.use('/member', member);\n\tapp.use('/statis', statis);\n\tapp.use('/shopping', shopping);\n\tapp.use('/promotion', promotion);\n}"
  },
  {
    "path": "routes/member.js",
    "content": "'use strict';\n\nimport express from 'express';\nimport VipCart from '../controller/member/vipcart'\nconst router = express.Router();\n\nrouter.post('/v1/users/:user_id/delivery_card/physical_card/bind', VipCart.useCart)\n\nexport default router"
  },
  {
    "path": "routes/payapi.js",
    "content": "'use strict';\n\nimport express from 'express';\nconst router = express.Router();\n\nrouter.get('/payment/queryOrder', (req, res, next) => {\n  res.send({\n    status: 0,\n    type: 'PAY_FAILED',\n    message: '暂不开放支付功能',\n  });\n})\n\nexport default router;"
  },
  {
    "path": "routes/promotion.js",
    "content": "'use strict';\n\nimport express from 'express';\nimport Hongbao from '../controller/promotion/hongbao'\nconst router = express.Router();\n\nrouter.get('/v2/users/:user_id/hongbaos', Hongbao.getHongbao)\nrouter.get('/v2/users/:user_id/expired_hongbaos', Hongbao.getExpiredHongbao)\n\nexport default router"
  },
  {
    "path": "routes/shopping.js",
    "content": "'use strict';\n\nimport express from 'express';\nimport Shop from '../controller/shopping/shop'\nimport Food from '../controller/shopping/food'\nimport Category from '../controller/shopping/category'\nimport Check from '../middlewares/check'\n\nconst router = express.Router();\n\nrouter.post('/addshop', Check.checkAdmin, Shop.addShop);\nrouter.get('/restaurants', Shop.getRestaurants);\nrouter.get('/restaurants/count', Shop.getShopCount);\nrouter.post('/updateshop', Check.checkAdmin, Shop.updateshop);\nrouter.delete('/restaurant/:restaurant_id', Check.checkSuperAdmin, Shop.deleteResturant);\nrouter.get('/restaurant/:restaurant_id', Shop.getRestaurantDetail);\nrouter.post('/addfood', Check.checkAdmin, Food.addFood);\nrouter.get('/getcategory/:restaurant_id', Food.getCategory);\nrouter.post('/addcategory', Check.checkAdmin, Food.addCategory);\nrouter.get('/v2/menu', Food.getMenu);\nrouter.get('/v2/menu/:category_id', Food.getMenuDetail);\nrouter.get('/v2/foods', Food.getFoods);\nrouter.get('/v2/foods/count', Food.getFoodsCount);\nrouter.post('/v2/updatefood', Check.checkAdmin, Food.updateFood);\nrouter.delete('/v2/food/:food_id', Check.checkSuperAdmin, Food.deleteFood);\nrouter.get('/v2/restaurant/category', Category.getCategories);\nrouter.get('/v1/restaurants/delivery_modes', Category.getDelivery);\nrouter.get('/v1/restaurants/activity_attributes', Category.getActivity);\n\nexport default router"
  },
  {
    "path": "routes/statis.js",
    "content": "'use strict'\n\nimport express from 'express'\nimport Statis from '../controller/statis/statis'\n\nconst router = express.Router()\n\nrouter.get('/api/:date/count', Statis.apiCount)\nrouter.get('/api/count', Statis.apiAllCount)\nrouter.get('/api/all', Statis.allApiRecord)\nrouter.get('/user/:date/count', Statis.userCount)\nrouter.get('/order/:date/count', Statis.orderCount)\nrouter.get('/admin/:date/count', Statis.adminCount)\n\nexport default router"
  },
  {
    "path": "routes/ugc.js",
    "content": "'use strict';\n\nimport express from 'express';\nimport Rating from '../controller/ugc/rating'\nconst router = express.Router();\n\nrouter.get('/v2/restaurants/:restaurant_id/ratings', Rating.getRatings)\nrouter.get('/v2/restaurants/:restaurant_id/ratings/scores', Rating.getScores)\nrouter.get('/v2/restaurants/:restaurant_id/ratings/tags', Rating.getTags)\n\nexport default router"
  },
  {
    "path": "routes/v1.js",
    "content": "'use strict';\n\nimport express from 'express'\nimport CityHandle from '../controller/v1/cities'\nimport SearchPlace from '../controller/v1/search'\nimport Carts from '../controller/v1/carts'\nimport Address from '../controller/v1/address'\nimport Remark from '../controller/v1/remark'\nimport BaseComponent from '../prototype/baseComponent'\nimport Captchas from '../controller/v1/captchas'\nimport User from '../controller/v2/user'\nimport Order from '../controller/v1/order'\nimport Hongbao from '../controller/promotion/hongbao'\nconst baseHandle = new BaseComponent();\nconst router = express.Router();\n\nrouter.get('/cities', CityHandle.getCity);\nrouter.get('/cities/:id', CityHandle.getCityById);\nrouter.get('/exactaddress', CityHandle.getExactAddress);\nrouter.get('/pois', SearchPlace.search);\nrouter.post('/addimg/:type', baseHandle.uploadImg);\nrouter.post('/carts/checkout', Carts.checkout);\nrouter.get('/carts/:cart_id/remarks', Remark.getRemarks);\nrouter.post('/captchas', Captchas.getCaptchas);\nrouter.get('/user', User.getInfo);\nrouter.get('/user/:user_id', User.getInfoById);\nrouter.get('/users/list', User.getUserList);\nrouter.get('/users/count', User.getUserCount);\nrouter.get('/users/:user_id/addresses', Address.getAddress);\nrouter.post('/users/:user_id/addresses', Address.addAddress);\nrouter.get('/user/city/count', User.getUserCity);\nrouter.get('/addresse/:address_id', Address.getAddAddressById);\nrouter.delete('/users/:user_id/addresses/:address_id', Address.deleteAddress);\nrouter.post('/users/:user_id/carts/:cart_id/orders', Order.postOrder);\nrouter.post('/users/:user_id/hongbao/exchange', Hongbao.exchange);\n\n \nexport default router"
  },
  {
    "path": "routes/v2.js",
    "content": "'use strict';\n\nimport express from 'express';\nimport Entry from '../controller/v2/entry'\nimport CityHandle from '../controller/v1/cities'\nimport User from '../controller/v2/user'\nconst router = express.Router();\n\nrouter.get('/index_entry', Entry.getEntry);\nrouter.get('/pois/:geohash', CityHandle.pois);\nrouter.post('/login', User.login);\nrouter.get('/signout', User.signout);\nrouter.post('/changepassword', User.chanegPassword);\n\n\nexport default router"
  },
  {
    "path": "routes/v3.js",
    "content": "'use strict';\n\nimport express from 'express';\nimport Explain from '../controller/v3/explain'\nconst router = express.Router();\n\nrouter.get('/profile/explain', Explain.getExpalin)\n\nexport default router"
  },
  {
    "path": "routes/v4.js",
    "content": "'use strict';\n\nimport express from 'express';\nimport Food from '../controller/shopping/shop'\nconst router = express.Router();\n\nrouter.get('/restaurants', Food.searchResaturant);\n\nexport default router"
  },
  {
    "path": "todo.txt",
    "content": "## TODO\n\n- [ ] 图片管理系统 -- 进行中\n- [ ] 七日数据查询优化\n- [ ] 日志优化\n- [ ] 内存管理优化\n- [ ] 负载均衡优化\n- [ ] 弃用百度地图，改用腾讯地图\n"
  },
  {
    "path": "views/home.ejs",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"UTF-8\">\n\t<title>首页</title>\n</head>\n<body>\n\t\n</body>\n</html>"
  },
  {
    "path": "views/index.html",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui\">\n    <meta name=\"screen-orientation\" content=\"portrait\"/>\n    <meta name=\"apple-mobile-web-app-capable\" content=\"yes\">\n    <meta name=\"format-detection\" content=\"telephone=no\">\n    <meta name=\"full-screen\" content=\"yes\">\n    <meta name=\"x5-fullscreen\" content=\"true\">\n    <title>test</title>\n  <link href=\"/elm/static/css/app.css\" rel=\"stylesheet\"></head>\n  <body>\n    <div id=\"app\">\n    sdfsfsfdsfsdfsfsf\n        <svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" style=\"position:absolute;width:0;height:0;visibility:hidden\">\n        <defs>\n          <symbol viewBox=\"0 0 60 60\" id=\"eleme\">\n            <path fill=\"#3CABFF\" fill-rule=\"evenodd\" d=\"M0 9.375A9.374 9.374 0 0 1 9.375 0h41.25A9.374 9.374 0 0 1 60 9.375v41.25A9.374 9.374 0 0 1 50.625 60H9.375A9.374 9.374 0 0 1 0 50.625V9.375zm35.94 30.204c-5.601 3.147-12.645 1.256-15.834-4.217-3.206-5.501-1.303-12.537 4.25-15.713 4.7-2.689 10.51-1.749 14.127 1.941L27.526 27.89a2.81 2.81 0 0 0-1.037 3.854 2.862 2.862 0 0 0 3.887 1.035l15.988-9.166a17.238 17.238 0 0 0-1.222-2.571c-4.777-8.198-15.358-11.007-23.632-6.275-8.275 4.734-11.11 15.217-6.332 23.415 4.77 8.184 15.322 10.997 23.59 6.297.877-.5 1.654-1.037 2.376-1.623l-1.31-2.248a2.868 2.868 0 0 0-3.893-1.028zm10.824-7.39l-1.418-2.425-4.911 2.798 2.835 4.846 2.454-1.399h.002a2.779 2.779 0 0 0 1.038-3.82z\">\n            </path>\n          </symbol>\n          <symbol viewBox=\"0 0 28 33\" id=\"user\">\n            <path fill-rule=\"evenodd\" d=\"M20.798 19.289c2.636-2.002 4.215-5.091 4.215-8.437 0-5.886-4.845-10.647-10.808-10.647S3.397 4.966 3.397 10.852c0 3.345 1.578 6.433 4.212 8.435l.264-2.678C4.358 18.32 1.591 21.403.168 25.187l1.478.556v-1.579c-1.485.73-1.485.73-1.501 1.079-.054.188-.054.188-.069.278a2.58 2.58 0 0 0-.026.229 9.112 9.112 0 0 0-.019.4c-.008.265-.014.617-.018 1.039-.005.511-.006 1.037-.006 1.451v.027c-.004 1.732 1.41 3.129 3.154 3.129h22.082a3.18 3.18 0 0 0 3.172-3.153l.011-1.305.008-.897.003-.296.001-.083v-.022-.006-.001l.002-.278-.093-.262c-1.385-3.918-4.203-7.122-7.812-8.88l.263 2.678zm-1.911-2.516l-2.045 1.553 2.309 1.125c2.856 1.392 5.106 3.949 6.218 7.093l-.09-.54V26.033l-.001.083-.003.296-.008.897-.011 1.305c0 .01-.011.021-.013.021H3.161c-.007 0 .005.011.005.032v-.031c0-.404.001-.92.006-1.418.004-.4.01-.732.017-.969.004-.121.008-.212.012-.262l-.006.043c-.009.06-.009.06-.058.229-.01.336-.01.336-1.49 1.063H2.74l.385-1.024c1.141-3.035 3.35-5.495 6.131-6.849l2.309-1.124-2.045-1.554c-1.859-1.412-2.964-3.576-2.964-5.92 0-4.129 3.418-7.488 7.649-7.488s7.649 3.359 7.649 7.488c0 2.344-1.106 4.509-2.966 5.921z\" class=\"path1\">\n            </path>\n          </symbol>\n          <symbol viewBox=\"0 0 32 31\" id=\"shop\">\n            <g fill-rule=\"evenodd\">\n              <path d=\"M28.232 1.822C27.905.728 26.97.152 25.759.152H5.588c-1.252 0-1.867.411-2.397 1.415l-.101.243-.443 1.434-.975 3.154-.002.007C.837 9.101.294 10.854.26 10.956l-.059.259c-.231 1.787.337 3.349 1.59 4.448 1.159 1.017 2.545 1.384 3.865 1.384.07 0 .07 0 .132-.002-.01.001-.01.001.061.002 1.32 0 2.706-.367 3.865-1.384a4.96 4.96 0 0 0 .413-.407l-1.043-.946-1.056.931c1.033 1.171 2.51 1.792 4.21 1.801.04.002.088.004.173.004 1.32 0 2.706-.367 3.865-1.384.148-.13.287-.267.418-.411l-1.044-.944-1.057.93c1.033 1.174 2.511 1.796 4.213 1.806.04.002.088.004.173.004 1.32 0 2.706-.367 3.865-1.384.15-.131.29-.27.422-.416l-1.046-.943-1.058.929c1.033 1.177 2.513 1.801 4.218 1.811.04.002.088.004.173.004 1.32 0 2.706-.367 3.865-1.384 1.206-1.058 1.858-2.812 1.676-4.426-.069-.61-.535-2.207-1.354-4.785l-.109-.342a327.554 327.554 0 0 0-1.295-3.966l-.122-.366.014.043h.004zm-2.684.85l.12.361.318.962c.329.999.658 2.011.965 2.973l.108.338c.719 2.262 1.203 3.92 1.24 4.249.08.711-.233 1.553-.735 1.993-.553.485-1.308.685-2.008.685l-.098-.002c-.987-.007-1.695-.306-2.177-.854l-1.044-1.189-1.06 1.175a2.192 2.192 0 0 1-.188.185c-.553.485-1.308.685-2.008.685l-.098-.002c-.985-.007-1.693-.305-2.174-.852l-1.043-1.185-1.059 1.171c-.058.064-.12.125-.186.183-.553.485-1.308.685-2.008.685l-.098-.002c-.984-.007-1.692-.304-2.173-.85L9.101 12.2l-1.058 1.166a2.248 2.248 0 0 1-.184.181c-.553.485-1.307.685-2.008.685l-.061-.001-.131.001c-.701 0-1.455-.2-2.008-.685-.538-.472-.767-1.102-.654-1.971l-1.396-.18 1.338.44c.043-.13.552-1.775 1.425-4.599l.002-.007.975-3.155.443-1.434-1.345-.415 1.245.658c.054-.102.042-.085-.083-.001-.122.082-.143.086-.009.086H25.763c.053 0-.164-.133-.225-.339l.014.043-.004-.001zM5.528 19.48c.778 0 1.408.63 1.408 1.408v7.424a1.408 1.408 0 1 1-2.816 0v-7.424c0-.778.63-1.408 1.408-1.408z\">\n              </path>\n              <path d=\"M.28 29.72c0-.707.58-1.28 1.277-1.28h28.155a1.28 1.28 0 0 1 .007 2.56H1.561A1.278 1.278 0 0 1 .28 29.72z\">\n              </path>\n              <path d=\"M26.008 19.48c.778 0 1.408.63 1.408 1.408v7.424a1.408 1.408 0 1 1-2.816 0v-7.424c0-.778.63-1.408 1.408-1.408z\">\n              </path>\n            </g>\n          </symbol>\n          <symbol viewBox=\"0 0 28 33\" id=\"location\">\n            <g fill-rule=\"evenodd\">\n              <path d=\"M20.809 21.6L12.9 29.509h1.616l-7.992-7.992a13.003 13.003 0 0 1-.506-.478c-4.25-4.25-4.25-11.14 0-15.389s11.14-4.25 15.389 0c4.25 4.25 4.25 11.14 0 15.389a10.81 10.81 0 0 1-.543.508l-.056.052zm1.56 1.669c.225-.196.443-.401.656-.613 5.142-5.142 5.142-13.48 0-18.622s-13.48-5.142-18.622 0c-5.142 5.142-5.142 13.48 0 18.622.18.18.364.354.553.522l8.753 8.755 8.661-8.664z\" class=\"path1\">\n              </path>\n              <path d=\"M9.428 16.739a6.063 6.063 0 1 0 8.573-8.575 6.063 6.063 0 0 0-8.573 8.575zm1.616-1.616a3.776 3.776 0 1 1 5.34-5.341 3.776 3.776 0 0 1-5.34 5.341z\" class=\"path2\">\n              </path>\n            </g>\n          </symbol>\n          <symbol id=\"star\" viewBox=\"0 0 32 32\">\n            <path class=\"path1\" d=\"M16 26.382l-8.16 4.992c-1.5 0.918-2.382 0.264-1.975-1.435l2.226-9.303-7.269-6.218c-1.337-1.143-0.987-2.184 0.755-2.322l9.536-0.758 3.667-8.835c0.674-1.624 1.772-1.613 2.442 0l3.667 8.835 9.536 0.758c1.753 0.139 2.082 1.187 0.755 2.322l-7.269 6.218 2.226 9.303c0.409 1.71-0.485 2.347-1.975 1.435l-8.16-4.992z\">\n            </path>\n          </symbol>\n          <symbol viewBox=\"0 0 32 32\" id=\"backtop\">\n            <g fill-rule=\"evenodd\">\n              <circle cx=\"16\" cy=\"16\" r=\"15\" stroke=\"#999\" stroke-width=\"0.6\" fill=\"none\"/>\n              <line x1=\"16\" y1=\"10\" x2=\"16\" y2=\"21\" style=\"stroke:#999;stroke-width:0.8\"/>\n              <line x1=\"10\" y1=\"10\" x2=\"22\" y2=\"10\" style=\"stroke:#999;stroke-width:0.8\"/>\n              <path d=\"M9.5 18 L16 10 L22.5 18\" style=\"stroke:#999;stroke-width:0.8;fill:none\"/>\n              <text x=\"10\" y=\"27\"  style=\"font-size:6px;fill:#999;font-weight:700;\">顶部</text>\n            </g>\n          </symbol>\n          <symbol viewBox=\"0 0 33 32\" id=\"default\">\n            <path fill=\"#3b87c8\" d=\"M13.374 29.064a.94.94 0 0 1-.941-.941V6.476l-7.285 6.899a.942.942 0 0 1-1.299-1.364l8.876-8.424a.94.94 0 0 1 1.59.681v23.855a.94.94 0 0 1-.941.941zM20.904 29.355h-.008a.94.94 0 0 1-.375-.078.943.943 0 0 1-.559-.86V3.944a.94.94 0 1 1 1.882 0v22.287l7.238-6.842a.94.94 0 0 1 1.289 1.366l-8.818 8.338a.943.943 0 0 1-.649.264z\">\n            </path>\n          </symbol>\n          <symbol viewBox=\"0 0 32 32\" id=\"distance\">\n            <path fill=\"#2a9bd3\" d=\"M15.884 31.236l-.042.001a.888.888 0 0 1-.59-.224l-7.91-7.91a7.548 7.548 0 0 1-.498-.471 12.752 12.752 0 0 1-3.747-9.045C3.097 6.523 8.824.796 15.888.796s12.791 5.727 12.791 12.791c0 3.532-1.432 6.73-3.747 9.045-.196.196-.409.391-.613.578l-7.813 7.804a.886.886 0 0 1-.589.223l-.035-.001zm0-28.667C9.818 2.59 4.908 7.513 4.908 13.582c0 3.023 1.218 5.762 3.19 7.752l.461.435 7.316 7.316 7.2-7.2q.284-.249.551-.516a10.977 10.977 0 0 0 3.225-7.787c0-6.066-4.905-10.987-10.965-11.013z\">\n            </path>\n            <path fill=\"#2a9bd3\" d=\"M15.884 18.524a5.707 5.707 0 0 1-4.07-1.732l-.001-.001a5.76 5.76 0 1 1 4.119 1.734h-.05zm-2.817-2.942a3.982 3.982 0 1 0 0-5.626c-.726.717-1.175 1.713-1.175 2.813s.449 2.096 1.175 2.813z\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 32 32\" id=\"fengniao\">\n            <path fill=\"#27a9e1\" d=\"M5.953 2.793s-.117 1.801.857 3.56c.361.255 10.458 6.218 10.458 6.218L5.953 2.794z\"></path>\n            <path fill=\"#b8e5fa\" d=\"M9.604.889s-.333 1.404.069 3.147c.254.307 7.801 8.116 7.801 8.116L9.604.889z\"></path>\n            <path fill=\"#0089cf\" d=\"M29.282 14.601l-4.861-.361s-.133-.001-.147-.226h-.002a2.652 2.652 0 0 0-2.978-2.357h-.003l-.011.001-.12.019-.004.001c-.432.075-1.812.374-3.038 1.285 0 0-.167.121-.421.33L2.665 6.043s3.254 8.665 12.207 11.98c-1.6 2.849-7.407 13.48-7.407 13.48l2.446-1.306s.775-2.853 1.884-4.957c.609-.936 1.211-.992 1.498-1.141.291-.151 3.707-.765 6.431-4.339.897-1.166 1.244-2.666 1.723-4.261.28-.061 3.008-.651 3.789-.718 1.068-.092 4.045-.181 4.045-.181z\"></path>\n            <path fill=\"#0089cf\" d=\"M7.392 17.849c-1.567-1.368-2.199-3.219-2.035-5.217-.232-.288-.45-.572-.654-.851-.484 2.903.555 4.854 2.176 6.269 1.538 1.342 3.635 1.85 5.466 1.577-1.674.109-3.563-.565-4.953-1.778z\"></path>\n            <path fill=\"#0089cf\" d=\"M12.345 19.628h.002zm-7.642-7.846c.204.279.421.563.654.851-.164 1.998.468 3.849 2.035 5.217 1.292 1.128 3.016 1.79 4.597 1.79.12 0 .238-.004.356-.011a6.554 6.554 0 0 1-.975.071c-1.568 0-3.22-.54-4.49-1.648-1.621-1.415-2.66-3.366-2.176-6.269z\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 23 32\" id=\"hot\">\n            <path fill=\"#f07373\" d=\"M9.859 29.375c-3.489-.771-6.362-3.097-7.187-5.551-.882-2.623-1.029-6.873-.238-9.318l-1.727.037.001.002.001.004.004.01.011.029.038.091c.039.09.086.191.142.3.155.304.349.627.586.955a7.477 7.477 0 0 0 2.711 2.318c.583.153.583.153 1.087-.188.187-.263.187-.263.224-.39.028-.094.041-.176.05-.28.01-.109.016-.238.022-.47.063-2.219.162-3.38.562-4.943a10.05 10.05 0 0 1 .814-2.185c1.433-2.723 4.843-6.053 6.699-7.021l-1.325-.962c-.064.382-.127.992-.131 1.722-.008 1.252.169 2.393.616 3.329.261.547.525.968 1.132 1.862l.23.339c.86 1.281 1.161 1.986 1.069 2.653l-.009.125c.069.517.069.517.781.906.451-.026.451-.026.578-.104.144-.093.144-.093.19-.136.041-.037.079-.077.123-.125.068-.076.153-.178.245-.295.22-.279.458-.615.677-.963.648-1.028 1.045-1.988 1.037-2.845l-.914.009-.706.581c.295.358.809 1.075 1.33 1.936.826 1.363 1.492 2.791 1.898 4.209 1.1 3.845.3 9.288-2.245 11.75a9.652 9.652 0 0 1-1.659 1.29 10.232 10.232 0 0 1-3.471 1.332c-.794.151-1.385.191-2.064.191h-.009a2.75 2.75 0 0 1-.373-.03 6.007 6.007 0 0 1-.585-.115 7.765 7.765 0 0 1-.536-.15l-.578 1.735a9.182 9.182 0 0 0 1.445.341c.221.031.43.048.627.048h.009a12.546 12.546 0 0 0 2.407-.224 12.011 12.011 0 0 0 4.088-1.572c.699-.431 1.358-.94 1.971-1.533 3.098-2.998 4-9.132 2.731-13.567-.455-1.591-1.188-3.161-2.092-4.653-.569-.939-1.134-1.727-1.482-2.15l-1.645-1.998.024 2.588c.004.412-.281 1.1-.756 1.853a9.64 9.64 0 0 1-.569.809 4.528 4.528 0 0 1-.158.195c.028-.027.028-.027.16-.113.122-.075.122-.075.57-.101.71.388.71.388.778.902h-.914l.906.125c.174-1.262-.261-2.281-1.362-3.922l-.235-.347c-.554-.817-.787-1.189-.995-1.624-.306-.642-.444-1.53-.438-2.53a10.566 10.566 0 0 1 .107-1.431L14.44.304l-1.628.85c-2.18 1.138-5.862 4.733-7.471 7.791a11.873 11.873 0 0 0-.967 2.583 19.2 19.2 0 0 0-.511 3.147c-.036.423-.061.839-.079 1.273-.011.281-.019.531-.029.924-.005.191-.01.298-.015.354a.403.403 0 0 1 .019-.077c.027-.099.027-.099.203-.346.492-.332.492-.332 1.112-.157a5.745 5.745 0 0 1-2.54-2.496 3.456 3.456 0 0 1-.093-.197l-.018-.044-.002-.006v.001l.001.002v.002l-.915-2.473-.812 2.51c-.917 2.836-.757 7.485.245 10.463 1.042 3.099 4.442 5.852 8.526 6.754l.395-1.785z\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 32 32\" id=\"price\">\n            <path fill=\"#e6b61a\" d=\"M16 32c8.837 0 16-7.163 16-16S24.837 0 16 0 0 7.163 0 16s7.163 16 16 16zm0-2C8.268 30 2 23.732 2 16S8.268 2 16 2s14 6.268 14 14-6.268 14-14 14z\"></path><path fill=\"#e6b61a\" d=\"M23.14 6.06l-5.12 8.65h4.48v1.54h-5.49v2.43h5.49v1.54h-5.49v5.1h-2.02v-5.1H9.53v-1.54h5.46v-2.43H9.53v-1.54h4.45L8.8 6.06h2.24l4.99 8.48 4.93-8.48h2.18z\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 33 32\" id=\"rating\">\n            <path fill=\"#eba53b\" d=\"M27.087 31.84L16.8 25.553 6.504 31.84l2.824-11.727-9.186-7.878 12.019-.941L16.801.16l4.631 11.134 12.019.941-9.158 7.849zM16.8 23.369l7.407 4.527-2.014-8.471 6.588-5.647-8.659-.696L16.8 5.063l-3.341 8.019-8.659.696 6.588 5.647-2.014 8.471z\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 38 32\" id=\"selected\">\n            <path fill=\"#3190e8\" d=\"M32.291 2.327c.582-.582 1.455-.582 2.036 0l2.036 2.036c.582.582.582 1.455 0 2.036L13.818 29.09c-.582.582-1.455.582-2.036 0L1.455 18.908c-.582-.582-.582-1.455 0-2.036l2.036-2.036c.582-.582 1.455-.582 2.036 0l7.273 7.273L32.291 2.327z\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 32 32\" id=\"speed\">\n            <path fill=\"#37c7b7\" d=\"M16 32c8.837 0 16-7.163 16-16S24.837 0 16 0 0 7.163 0 16s7.163 16 16 16zm0-2C8.268 30 2 23.732 2 16S8.268 2 16 2s14 6.268 14 14-6.268 14-14 14z\"></path><path fill=\"#37c7b7\" d=\"M15 7v11.002l5.678 4.882 1.304-1.517-5.33-4.583.348.758V6.999h-2z\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 50 50\" id=\"cart-minus\">\n            <path fill-rule=\"evenodd\" stroke-width=\"4\" d=\"M22 0C9.8 0 0 9.8 0 22s9.8 22 22 22 22-9.8 22-22S34.2 0 22 0zm0 42C11 42 2 33 2 22S11 2 22 2s20 9 20 20-9 20-20 20z\" clip-rule=\"evenodd\"></path>\n            <path fill-rule=\"evenodd\" d=\"M32 20c1.1 0 2 .9 2 2s-.9 2-2 2H12c-1.1 0-2-.9-2-2s.9-2 2-2h20z\" clip-rule=\"evenodd\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 50 50\" id=\"cart-add\">\n            <path fill=\"none\" d=\"M0 0h44v44H0z\"></path>\n            <path fill-rule=\"evenodd\" d=\"M22 0C9.8 0 0 9.8 0 22s9.8 22 22 22 22-9.8 22-22S34.2 0 22 0zm10 24h-8v8c0 1.1-.9 2-2 2s-2-.9-2-2v-8h-8c-1.1 0-2-.9-2-2s.9-2 2-2h8v-8c0-1.1.9-2 2-2s2 .9 2 2v8h8c1.1 0 2 .9 2 2s-.9 2-2 2z\" clip-rule=\"evenodd\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 24 32\" id=\"cart-remove\">\n            <path fill=\"#bbb\" fill-rule=\"evenodd\" d=\"M21.5 10h-19c-1.1 0-1.918.896-1.819 1.992l1.638 18.016C2.419 31.104 3.4 32 4.5 32h15c1.1 0 2.081-.896 2.182-1.992l1.637-18.016A1.798 1.798 0 0 0 21.5 10zM8 28H5L4 14h4v14zm6 0h-4V14h4v14zm5 0h-3V14h4l-1 14zm2-24h-2.941l-.353-2.514C17.592.669 16.823 0 15.998 0H8c-.825 0-1.593.668-1.708 1.486L5.94 4H3a3 3 0 0 0-3 3v1h24V7a3 3 0 0 0-3-3zM8.24 2h7.52l.279 2H7.96l.28-2z\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 14 16\" id=\"cart\">\n            <path fill=\"#FFF\" fill-rule=\"evenodd\" d=\"M12.364 2.998H2.088L1.816.687a.455.455 0 0 0-.478-.431L.431.303A.454.454 0 0 0 0 .78l1.256 10.893c.006.293.011 1.325.933 1.325h9.546a.455.455 0 0 0 .455-.454v-.881a.454.454 0 0 0-.455-.455H3.05l-.11-.937h8.606c.998 0 1.889-.724 1.989-1.616l.455-4.04c.1-.893-.628-1.617-1.626-1.617zm-.45 4.245c-.075.669-.317 1.212-1.066 1.212H2.727L2.3 4.812h8.821c.749 0 1.065.543.99 1.212l-.197 1.219zM2.416 15.79a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm9.092 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z\"></path>\n          </symbol>\n          <symbol viewBox=\"0 0 58 58\" id=\"cart-icon\">\n            <defs>\n              <filter id=\"a\" width=\"200%\" height=\"200%\" x=\"-50%\" y=\"-50%\" filterUnits=\"objectBoundingBox\"><feOffset in=\"SourceAlpha\" result=\"shadowOffsetOuter1\"/><feGaussianBlur stdDeviation=\"1.5\" in=\"shadowOffsetOuter1\" result=\"shadowBlurOuter1\"/><feColorMatrix values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.08 0\" in=\"shadowBlurOuter1\" result=\"shadowMatrixOuter1\"/><feMerge><feMergeNode in=\"shadowMatrixOuter1\"/><feMergeNode in=\"SourceGraphic\"/></feMerge></filter><path id=\"b\" d=\"M7.614 4.051c-1.066.086-1.452-.398-1.752-1.584C5.562 1.28.33 5.88.33 5.88l3.71 19.476c0 .148-1.56 7.515-1.56 7.515-.489 2.19.292 4.27 3.56 4.32 0 0 36.917.017 36.92.047 1.979-.012 2.981-.995 3.013-3.039.03-2.043-1.045-2.978-2.987-2.993L8.83 31.192s.86-3.865 1.077-3.865c0 0-5.788.122 32.065-1.956.606-.033 2.018-.764 2.298-1.848 1.113-4.317 4.008-13.26 4.458-15.64.932-4.925 2.061-8.558-4.28-7.405 0 0-35.768 3.487-36.833 3.573z\"/>\n            </defs>\n            <g fill=\"none\" fill-rule=\"evenodd\" filter=\"url(#a)\" transform=\"translate(3 2)\">\n              <g transform=\"translate(5.038 7.808)\"><mask id=\"c\" fill=\"#fff\"><use xlink:href=\"#b\"/></mask><use fill=\"#FFF\" xlink:href=\"#b\"/><path fill=\"#2073C1\" d=\"M53.962 7.774l-5.701 19.305-40.78 1.574z\" opacity=\".1\" mask=\"url(#c)\"/></g><path stroke=\"#FFF\" stroke-width=\"6\" d=\"M9.374 18.722S7.868 11.283 7.323 8.71C6.778 6.136 5.86 5.33 3.978 4.52 2.096 3.713.367 2.286.367 2.286\" stroke-linecap=\"round\"/><circle cx=\"46\" cy=\"51\" r=\"4\" fill=\"#FFF\"/><circle cx=\"12\" cy=\"51\" r=\"4\" fill=\"#FFF\"/>\n            </g>\n          </symbol>\n          <symbol viewBox=\"0 0 14 14\" id=\"arrow-left\">\n            <path d=\"M0 0 L8 7 L0 14\"  stroke=\"#fff\" stroke-width=\"1\" fill=\"none\"/>\n          </symbol>\n          <symbol viewBox=\"0 0 1024 1024\" id=\"res-well\"><path fill=\"#7ED321\" fill-rule=\"evenodd\" d=\"M512 0C229.376 0 0 229.376 0 512s229.376 512 512 512 512-229.376 512-512S794.624 0 512 0zM247.808 402.432c0-36.864 39.936-93.184 93.184-93.184s93.184 56.32 93.184 93.184c0 11.264-9.216 20.48-20.48 20.48-11.264 0-20.48-9.216-20.48-20.48 0-16.384-24.576-52.224-52.224-52.224-27.648 0-52.224 35.84-52.224 52.224 0 11.264-9.216 20.48-20.48 20.48-11.264 0-20.48-9.216-20.48-20.48zM512 800.768c-132.096 0-239.616-96.256-239.616-215.04 0-11.264 9.216-20.48 20.48-20.48 11.264 0 20.48 9.216 20.48 20.48 0 96.256 89.088 174.08 198.656 174.08 109.568 0 198.656-77.824 198.656-174.08 0-11.264 9.216-20.48 20.48-20.48 11.264 0 20.48 9.216 20.48 20.48 0 117.76-107.52 215.04-239.616 215.04zm243.712-377.856c-11.264 0-20.48-9.216-20.48-20.48 0-17.408-24.576-52.224-52.224-52.224-28.672 0-52.224 34.816-52.224 52.224 0 11.264-9.216 20.48-20.48 20.48-11.264 0-20.48-9.216-20.48-20.48 0-36.864 39.936-93.184 93.184-93.184s93.184 56.32 93.184 93.184c0 11.264-9.216 20.48-20.48 20.48z\"></path></symbol>\n          <symbol viewBox=\"0 0 1024 1024\" id=\"res-bad\"><path fill=\"#D0021B\" fill-rule=\"evenodd\" d=\"M512 0C230.326 0 0 230.326 0 512s230.573 512 512 512 512-230.326 512-512S793.674 0 512 0zM240.694 373.755l158.735-56.285 15.306 46.164L256 419.919l-15.306-46.164zm440.409 384.123c-10.122 0-20.49-10.122-25.674-20.49-10.122-10.122-61.47-25.674-148.366-25.674-86.896 0-138.245 15.306-148.366 25.674 0 10.122-10.122 20.49-25.674 20.49s-25.674-10.122-25.674-25.674c0-71.591 174.041-71.591 194.53-71.591 20.489 0 194.53 0 194.53 71.591 10.122 10.368 0 25.674-15.306 25.674zM768 419.919l-163.672-61.47 15.306-46.164 158.735 56.285-10.368 51.348-.001.001z\"></path></symbol>\n          <symbol viewBox=\"0 0 122 122\" id=\"avatar-default\"><path fill=\"#DCDCDC\" fill-rule=\"evenodd\" d=\"M61 121.5c33.413 0 60.5-27.087 60.5-60.5S94.413.5 61 .5.5 27.587.5 61s27.087 60.5 60.5 60.5zm12.526-45.806c-.019 3.316-.108 6.052.237 9.825 3.286 8.749 18.816 9.407 28.468 17.891-1.833 1.998-6.768 6.788-15 10.848-7.02 3.463-16.838 6.416-24.831 6.416-17.366 0-32.764-7.149-42.919-17.264 9.713-8.407 25.49-9.173 28.769-17.891.345-3.773.258-6.509.24-9.825l-.004-.002c-1.903-.985-5.438-7.268-6.01-12.571-1.492-.12-3.843-1.561-4.534-7.247-.37-3.053 1.107-4.77 2.004-5.31-5.046-19.212 1.507-33.16 20.749-34.406 5.753 0 10.18 1.52 11.909 4.523 15.35 2.702 11.756 22.658 9.328 29.882.899.54 2.376 2.258 2.004 5.31-.689 5.687-3.042 7.127-4.534 7.248-.575 5.305-3.25 10.82-5.873 12.57l-.003.003zM61 120.5C28.14 120.5 1.5 93.86 1.5 61S28.14 1.5 61 1.5s59.5 26.64 59.5 59.5-26.64 59.5-59.5 59.5z\"></path></symbol>\n          <symbol viewBox=\"0 0 655 1024\" id=\"mobile\"><path d=\"M0 122.501v778.998C0 968.946 55.189 1024 123.268 1024h408.824c68.52 0 123.268-54.846 123.268-122.501V122.501C655.36 55.054 600.171 0 532.092 0H123.268C54.748 0 0 54.846 0 122.501zM327.68 942.08c-22.622 0-40.96-18.338-40.96-40.96s18.338-40.96 40.96-40.96 40.96 18.338 40.96 40.96-18.338 40.96-40.96 40.96zM81.92 163.84h491.52V819.2H81.92V163.84z\"></path></symbol>\n          <symbol viewBox=\"0 0 1024 1024\" id=\"arrow-right\" class=\"icon\"><path d=\"M716.298 417.341l-.01.01L307.702 7.23l-94.295 94.649 408.591 410.117-408.591 410.137 94.295 94.639 502.891-504.76z\" class=\"selected\"></path></symbol>\n          <symbol viewBox=\"0 0 40 40\" id=\"order\"><path d=\"M31.5 3h-23C6 3 4 5.1 4 7.7v24.7C4 34.9 6 37 8.5 37h23c2.5 0 4.5-2.1 4.5-4.7V7.7C36 5.1 34 3 31.5 3zM11.8 28.2c-1.1 0-2-.9-2-2.1 0-1.1.9-2.1 2-2.1s2 .9 2 2.1c0 1.2-.9 2.1-2 2.1zm0-6.1c-1.1 0-2-.9-2-2.1 0-1.1.9-2.1 2-2.1s2 .9 2 2.1c0 1.1-.9 2.1-2 2.1zm0-6.2c-1.1 0-2-.9-2-2.1 0-1.1.9-2.1 2-2.1s2 .9 2 2.1c0 1.2-.9 2.1-2 2.1zm5.1 11.9h13.5v-2.6H16.9v2.6zm0-6.5h13.5v-2.6H16.9v2.6zm0-6.6h13.5v-2.6H16.9v2.6z\"></path></symbol>\n          <symbol viewBox=\"0 0 40 40\" id=\"point\"><path d=\"M34.6 7.1c0-1.1-1-2.1-2.1-2.1h-24c-1.1 0-2 1-2.1 2.1l-1.6 25C4.6 34.3 6.3 36 8.5 36h24c2.2 0 3.9-1.7 3.7-3.9l-1.6-25zm-5.9 6.1c-.2 4.6-3.7 8.2-8.3 8.2-4.6 0-8.2-3.7-8.4-8.3-.3-.2-.5-.6-.5-1 0-.7.6-1.2 1.3-1.2s1.3.6 1.3 1.2c0 .5-.3.9-.7 1.1.2 3.8 3.2 6.8 7.1 6.8 3.9 0 6.8-3.1 7-6.9-.4-.2-.6-.6-.6-1.1 0-.7.6-1.2 1.3-1.2s1.3.6 1.3 1.2c-.2.6-.4 1-.8 1.2z\"></path></symbol>\n          <symbol viewBox=\"0 0 40 40\" id=\"vip\"><path d=\"M7 33.4c0 1.1.9 1.6 2 1.6h22c1.1 0 2-.5 2-1.6V31H7v2.4z\"></path><path d=\"M32.1 14.3c-.6 2.3-2.6 4-5.1 4-2.9 0-5.3-2.3-5.3-5.2v-.2c-.5.2-1 .3-1.6.3-.6 0-1.1-.1-1.7-.3v.2c0 2.9-2.4 5.2-5.3 5.2-2.5 0-4.6-1.7-5.1-4.1-.5.4-1.2.6-1.8.6-.3 0-.5.1-.8 0L7.2 29h26l1.7-14.2c-.3.1-.5.1-.8.1-.8 0-1.5-.2-2-.6z\" class=\"st0\"></path><ellipse cx=\"20.1\" cy=\"8.2\" rx=\"3.2\" ry=\"3.2\"></ellipse><ellipse cx=\"6.4\" cy=\"10.5\" rx=\"2.4\" ry=\"2.4\"></ellipse><ellipse cx=\"33.8\" cy=\"10.5\" rx=\"2.4\" ry=\"2.4\"></ellipse></symbol>\n          <symbol viewBox=\"0 0 40 40\" id=\"download\"><path d=\"M30 5H10c-2.8 0-5 2.2-5 5v20c0 2.8 2.2 5 5 5h20c2.8 0 5-2.2 5-5V10c0-2.8-2.2-5-5-5zm-3.9 22.7c-.1.2-.3.4-.6.5-4.3 2.8-10.1 1.6-13-2.8-2.8-4.3-1.6-10.2 2.8-13 4.3-2.8 10.2-1.6 13 2.8.2.2.3.5.4.8.1.2 0 .5-.2.7l-8.8 5.7c-.2.2-.6.1-.7-.2l-.5-.7c-.4-.6-.2-1.5.4-1.9l5.6-3.6c.2-.2.3-.5.2-.7l-.1-.1c-2.2-1.8-5.4-2.1-7.9-.4-3.1 2-4 6.1-2 9.2 2 3.1 6.1 4 9.2 2 .6-.4 1.3-.2 1.7.4l.3.7c.1.2.4.5.2.6zm3.1-4.4l-.9.6c-.2.2-.6.1-.7-.2L26.5 22c-.2-.2-.1-.6.2-.7l1.8-1.1c.2-.2.6-.1.7.2l.6.9c.3.6.1 1.5-.6 2z\"></path></symbol>\n          <symbol viewBox=\"0 0 40 40\" id=\"service\"><g id=\"service_XMLID_1_\"><path id=\"service_XMLID_6_\" d=\"M32.2 9.5c-.2-.7-.1-.7-.4-.9-1.7-1.2-5.3.2-6.7 1.9-.8-3.8-3.8-6.1-4.7-5.9-.9-.2-4 2.1-4.8 5.9-1.3-1.7-5-3.1-6.7-1.9-.1.1-.5.6-.5.7C5.4 20.7 15 24.6 19 25.7v8.7c0 .7.3 1.2 1 1.2s1-.5 1-1.2v-8.6c4-1 14.2-4.8 11.2-16.3z\"></path><path id=\"service_XMLID_7_\" d=\"M6 25c-.9 0-1.6.7-1.6 1.5.1.8.7 1.5 1.6 1.5 3.1 0 6.5 1.5 8.5 3.7.3.3.7.6 1.1.6.4 0 .7-.1 1-.4.6-.6.6-1.6.1-2.3C14.1 26.8 10 25 6 25z\"></path><path id=\"service_XMLID_8_\" d=\"M34.6 25c-4 0-8.1 1.9-10.7 4.6-.6.6-.5 1.6.1 2.2.3.3.7.4 1 .4.4 0 .8-.3 1.1-.6 2-2.1 5.3-3.7 8.4-3.7h.1c.8 0 1.5-.7 1.5-1.5 0-.7-.7-1.4-1.5-1.4z\"></path></g><path d=\"M0 0h40v40H0z\" class=\"st1\"></path></symbol>\n          <symbol viewBox=\"0 0 120 120\" id=\"select\"><circle cx=\"60\" cy=\"60\" r=\"60\"></circle><path fill=\"#FFF\" d=\"M63.84 84.678a1.976 1.976 0 0 1-.387.545l-7.975 7.976a1.996 1.996 0 0 1-2.829-.005L24.172 64.716a2.005 2.005 0 0 1-.005-2.828l7.976-7.976a1.996 1.996 0 0 1 2.828.005l19.015 19.015L91.498 35.42a1.991 1.991 0 0 1 2.823 0l7.976 7.977c.784.784.78 2.043 0 2.823L63.84 84.678z\"></path></symbol>\n          <symbol xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 72 72\" id=\"sdk_icon_zhifubao@2x\"><defs><path d=\"M36 72c19.882 0 36-16.118 36-36S55.882 0 36 0 0 16.118 0 36s16.118 36 36 36z\" id=\"sdk_icon_zhifubao@2x_a\"></path></defs><g fill=\"none\" fill-rule=\"evenodd\"><mask id=\"sdk_icon_zhifubao@2x_b\" fill=\"#fff\"><use xlink:href=\"#sdk_icon_zhifubao@2x_a\"></use></mask><use fill=\"#00A1E9\" xlink:href=\"#sdk_icon_zhifubao@2x_a\"></use><path d=\"M33 21v-5h7v5h14v3H40v4h12c-.202.048-.408 3.223-2 7-1.32 4.134-2.683 6.15-2 6l23.6 8c-.2-.285-.848 2.3-2 4-.775 2.013-2 5-2 5L44 46c.237.162-3.79 4.674-8 7-4.002 1.645-8.717 2.88-14 1-4.93-.56-8.554-3.867-8-10 .693-6.083 7.138-8.19 13-8 4.739-.19 14.796 3.29 15 3-.204.29.642-1.628 2-4 .283-2.015.518-3.777 0-4H22v-3h11v-4H20v-3h13zm-7 30c-7.407 0-9-3.593-9-6 0-2.761 1.576-5.57 8-6 6.484-.383 15.2 4.436 15 4 .2.436-6.238 8-14 8z\" fill=\"#FFF\" mask=\"url(#sdk_icon_zhifubao@2x_b)\"></path></g></symbol>\n          <symbol viewBox=\"0 0 72 72\" id=\"weixin\"><g fill=\"none\" fill-rule=\"evenodd\"><path d=\"M36 72c19.882 0 36-16.118 36-36S55.882 0 36 0 0 16.118 0 36s16.118 36 36 36z\" fill=\"#45C144\"></path><path d=\"M29 40l-4-8c-.262-.292-.288-.398 0-1 .594-.228.743-.174 1 0l4 4c1.5 1.098 1.5 1.098 3 0l21-10c-3.668-4.964-10.11-8-17-8-12.33 0-22 8.12-22 18 0 5.6 2.91 10.518 7 14 1 .8 1.068.537 1 1 .068.185-.954 4.042-1 4-.027.316-.097.495 0 1-.097.075.225.4 1 0-.22.4 5-3 5-3 1.4.6 5.8 1 9 1 11.533 0 21.2-7.85 21-18 .2-2.899-.692-5.756-2-8L31 41c-1.5.5-2-1-2-1z\" fill=\"#FFF\"></path></g></symbol>\n          <symbol viewBox=\"0 0 46 46\" id=\"human\"><path fill=\"#ff7b52\" d=\"M33.291 37.774c-.25.097-.504.175-.765.233-6.427 1.444-5.954-3.968-6-3.953 10.457-5.053 10.348-13.466 10-16.216-16.15-.041-22.943-7.063-22.943-7.063s-.176 1.733-2.933 4.996c-2.756 3.262-5.236 4.09-5.132 4.113.54 13.9 12.246 14.242 12.246 14.242-.762 4.662-4.357 4.33-4.357 4.33s-6.38.213-11.173-7.446c-.85-1.359-1.02-2.864-1.166-4.579-.217-2.542.14-4.643.312-7.2.271-4.064.96-6.269.96-6.269S7.13 0 21.4 0s17.828 12.508 17.828 12.508l-.035.074c.533.763.984 1.997 1.356 3.36A3.483 3.483 0 0 1 45 19.281v7.257a3.484 3.484 0 0 1-3.325 3.472c-2.009 4.537-6.657 12.185-15.241 12.457C26.023 44.485 24.269 46 22.168 46c-2.407 0-4.357-1.988-4.357-4.44 0-2.453 1.95-4.44 4.357-4.44 1.955 0 3.609 1.311 4.16 3.118 1.447.13 4.044-.094 6.963-2.464zM18.216 27.018s.99 3.08 3.705 3.08 3.807-1.875 3.807-2.906c.467-1.135 1.348-.541 1.482-.071.134.47-.763 4.67-5.24 4.67s-5.205-4.358-5.205-4.358.033-.97.702-.97c.669 0 .749.555.749.555zm10.052-2.332c.963 0 1.743-1.192 1.743-2.664 0-1.471-.78-2.664-1.743-2.664-.963 0-1.743 1.193-1.743 2.664 0 1.472.78 2.664 1.743 2.664zm-12.723 0c.962 0 1.743-1.192 1.743-2.664 0-1.471-.78-2.664-1.743-2.664-.963 0-1.743 1.193-1.743 2.664 0 1.472.78 2.664 1.743 2.664z\"></path></symbol>\n          <symbol viewBox=\"0 0 46 46\" id=\"phone\"><path fill=\"#6ac20b\" d=\"M15.433 30.568c9.342 9.342 17.708 12.15 18.871 12.316 1.163.167 3.07.542 5.837-2.225 3.24-3.24 3.566-4.94 1.783-6.724-1.783-1.783-6.212-4.48-7.416-5.176-1.206-.696-2.228-.472-3.097.133-.868.605-1.87 1.375-2.798 2.047-.927.671-2.087.955-3.332.167-1.245-.79-3.35-2.27-5.735-4.652-2.384-2.384-3.863-4.49-4.651-5.735-.789-1.245-.505-2.405.167-3.332.671-.928 1.441-1.93 2.046-2.798.605-.869.828-1.89.134-3.097-.696-1.204-3.394-5.633-5.177-7.416-1.783-1.783-3.484-1.457-6.724 1.783-2.766 2.766-2.391 4.674-2.226 5.837.167 1.164 2.976 9.53 12.318 18.872\"></path></symbol>\n          <symbol viewBox=\"0 0 126 126\" id=\"expired\"><path fill=\"#9B9B9B\" fill-rule=\"evenodd\" d=\"M63 125.5c34.518 0 62.5-27.982 62.5-62.5S97.518.5 63 .5.5 28.482.5 63s27.982 62.5 62.5 62.5zM15.156 66.678l-3.073-1.258 2.868-1.674.248-3.31 2.478 2.21 3.225-.79-1.335 3.04 1.746 2.825-3.302-.33-2.147 2.533-.704-3.245zm4.07-24.55l-2.03-2.625 3.32-.015 1.87-2.744 1.04 3.153 3.187.93-2.677 1.964.1 3.32-2.695-1.94-3.124 1.122 1.01-3.163zm15.8-19.223l-.446-3.29 2.883 1.646 2.99-1.44-.674 3.25 2.294 2.4-3.3.363-1.573 2.924-1.363-3.027-3.267-.592 2.457-2.233zm23.296-8.75l1.258-3.072 1.674 2.868 3.31.248-2.21 2.478.79 3.225-3.04-1.335-2.825 1.746.33-3.302-2.533-2.147 3.245-.704zm24.55 4.072l2.625-2.032.015 3.32 2.744 1.87-3.153 1.04-.93 3.188-1.964-2.677-3.32.1 1.94-2.695-1.122-3.124 3.163 1.01zm27.972 39.095l3.073 1.258-2.868 1.674-.248 3.31-2.478-2.21-3.225.79 1.335-3.04-1.746-2.825 3.302.33 2.147-2.533.704 3.245zm-4.07 24.55l2.03 2.625-3.32.015-1.87 2.744-1.04-3.153-3.187-.93 2.677-1.964-.1-3.32 2.695 1.94 3.124-1.122-1.01 3.163zm-15.8 19.223l.446 3.29-2.883-1.646-2.99 1.44.674-3.25-2.294-2.4 3.3-.363 1.573-2.924 1.363 3.027 3.267.592-2.457 2.233zm-23.296 8.75l-1.258 3.072-1.674-2.868-3.31-.248 2.21-2.478-.79-3.225 3.04 1.335 2.825-1.746-.33 3.302 2.533 2.147-3.245.704zm-24.55-4.072l-2.625 2.032-.015-3.32-2.744-1.87 3.153-1.04.93-3.188 1.964 2.677 3.32-.1-1.94 2.695 1.122 3.124-3.163-1.01zM74.257 41.7a23.764 23.764 0 0 0-22.17.092 23.767 23.767 0 0 0-12.508 18.646l.995.1a22.767 22.767 0 0 1 11.983-17.863 22.764 22.764 0 0 1 21.238-.088l.462-.887zm11.387 22.436A22.764 22.764 0 0 1 74.313 82.1a22.767 22.767 0 0 1-21.5.696l-.44.897a23.767 23.767 0 0 0 22.44-.727A23.764 23.764 0 0 0 86.64 64.214l-.997-.078zM63 122.5C30.14 122.5 3.5 95.86 3.5 63S30.14 3.5 63 3.5s59.5 26.64 59.5 59.5-26.64 59.5-59.5 59.5zm14.127-71.148l1.14 1.975 3.388-1.956-1.14-1.974-3.388 1.956zm2.704-3.14l-1.055-1.83-3.388 1.956 1.056 1.83 3.388-1.957zm.237 8.232l3.388-1.956-1.14-1.974-3.388 1.956 1.14 1.974zm-6.89-8.715a24.73 24.73 0 0 0-.892-1.453 7.288 7.288 0 0 0-.79-.985c.31-.104.617-.227.924-.367a6.52 6.52 0 0 0 .842-.46c.13-.093.226-.12.285-.08.06.04.066.128.017.267a.653.653 0 0 0-.032.378c.03.113.09.253.187.42l.85 1.475 3.39-1.956a39.962 39.962 0 0 0-1.01-1.677c-.25-.383-.472-.665-.67-.847a13.33 13.33 0 0 0 1.857-.767c.19-.09.313-.107.374-.05.062.057.064.148.007.273-.09.2-.128.356-.117.47.01.114.06.247.147.4l.792 1.37c.24-.157.48-.318.718-.483a9.91 9.91 0 0 0 .673-.513l1.02 1.766c-.26.095-.52.204-.78.327-.262.123-.525.243-.79.36l4.655 8.063c.234-.17.46-.333.675-.486.217-.153.43-.318.643-.496l.912 1.58c-.21.085-.434.177-.672.278-.238.1-.534.243-.888.43-.354.185-.79.423-1.307.712a205.733 205.733 0 0 0-3.876 2.238c-.516.307-.943.567-1.28.78-.34.215-.615.402-.828.562-.212.16-.408.31-.586.45l-.912-1.58c.638-.24 1.29-.533 1.958-.882l-4.668-8.085a20.893 20.893 0 0 0-1.67 1.186l-1.02-1.767a21.623 21.623 0 0 0 1.862-.854zm14.762 2.285l3.387-1.956-2.124-3.68-3.388 1.956 2.124 3.68zm-1.45-10.332l-3.387 1.956 1.956 3.387 3.387-1.956-1.956-3.387zm2.11 11.67c.274.634.514 1.305.717 2.01.204.704.36 1.408.47 2.11.11.704.167 1.4.17 2.093a10.19 10.19 0 0 1-.17 1.94c-.51-.15-1.18-.14-2.008.024.213-.974.312-1.88.298-2.723a10.595 10.595 0 0 0-.37-2.558c-.23-.865-.573-1.77-1.028-2.72a48.398 48.398 0 0 0-1.714-3.208l-2.7-4.676a25.767 25.767 0 0 0-.875-1.42 21.753 21.753 0 0 0-.85-1.186c.525-.21 1.043-.45 1.554-.717.51-.267 1.112-.6 1.805-1a60.923 60.923 0 0 0 1.893-1.136 17.45 17.45 0 0 0 1.502-1.047c.137.364.325.787.565 1.267.24.48.517.99.83 1.53l7.535 13.054a6.1 6.1 0 0 1 .46.94.97.97 0 0 1-.036.756c-.115.25-.347.527-.698.832-.35.304-.864.688-1.54 1.15a3.186 3.186 0 0 0-.647-.858 4.97 4.97 0 0 0-1.038-.717 13.81 13.81 0 0 0 1.096-.55c.264-.152.45-.295.555-.43a.502.502 0 0 0 .108-.437 2.097 2.097 0 0 0-.243-.566l-2.172-3.762-3.47 2.004zm-1.954 7.223a6.16 6.16 0 0 0-1.466-.69 6.537 6.537 0 0 0-1.563-.332l.69-1.59a14.604 14.604 0 0 1 3.05.817l-.71 1.794zm-4.033-.027a2.137 2.137 0 0 0-.287.51 6.12 6.12 0 0 0-.26.872 23.78 23.78 0 0 0-.283 1.452c-.1.594-.225 1.34-.37 2.237a3.37 3.37 0 0 0-.92-.078 5.34 5.34 0 0 0-1.096.19 8.492 8.492 0 0 0 .812-2.41c.15-.843.175-1.782.077-2.816.39.034.75.034 1.08 0a8.61 8.61 0 0 0 1.06-.182c.14-.044.227-.04.26.017.03.056.007.126-.074.21zm-17.506-5.745c.68-.392 1.22-.72 1.624-.98.405-.26.798-.538 1.182-.834l1.044 1.81c-.426.19-.86.4-1.3.626a40.64 40.64 0 0 0-1.66.917l5.015 8.688c.21.36.354.684.435.97.082.285.043.584-.118.9-.16.313-.468.676-.924 1.086-.455.41-1.11.918-1.962 1.52a10.17 10.17 0 0 0-.84-.83 7.863 7.863 0 0 0-1.12-.836 20.7 20.7 0 0 0 1.457-.813c.36-.226.625-.43.797-.612.172-.183.262-.346.27-.49a.783.783 0 0 0-.117-.444l-4.68-8.105-4.448 2.568c-.846.488-1.512.886-2 1.195-.485.31-.936.6-1.35.877l-1.03-1.788c.236-.1.472-.204.706-.31.234-.108.484-.234.75-.38a93.69 93.69 0 0 0 2.035-1.132l4.45-2.568a106.39 106.39 0 0 0-1.3-2.202c-.33-.54-.576-.92-.74-1.138.35-.13.72-.29 1.105-.486.387-.194.696-.378.93-.55.192-.147.346-.176.462-.086.117.09.133.205.048.346a.79.79 0 0 0-.08.56c.044.186.098.335.162.446l1.2 2.08zm-1.79 11.537a25.633 25.633 0 0 0-1.934-1.475 35.97 35.97 0 0 0-2.03-1.31l1.267-1.644a38.25 38.25 0 0 1 2.034 1.195c.68.428 1.346.9 1.993 1.412l-1.33 1.822zm-12.53-7.01c.706.293 1.41.608 2.11.942.702.334 1.376.693 2.022 1.078l-1.13 2.12a56.81 56.81 0 0 0-2.01-1.152 41.097 41.097 0 0 0-2.06-1.044l1.067-1.945zM63 118.25c30.514 0 55.25-24.736 55.25-55.25S93.514 7.75 63 7.75 7.75 32.486 7.75 63 32.486 118.25 63 118.25zm-2.237-47.53c.262-.058.562-.097.9-.118.34-.02.753-.04 1.24-.063.52-.025 1.176-.163 1.964-.415.788-.25 1.72-.646 2.794-1.184 1.077-.536 2.303-1.235 3.682-2.096a87.9 87.9 0 0 0 4.634-3.133 10.2 10.2 0 0 0 .24 1.4c.098.378.23.74.394 1.09a321.96 321.96 0 0 1-4.068 2.362 69.403 69.403 0 0 1-3.052 1.65c-.88.445-1.643.802-2.29 1.074s-1.236.483-1.768.633c-.533.15-1.03.256-1.492.32-.462.063-.954.107-1.476.13-.62.046-1.087.126-1.4.24-.31.117-.536.344-.674.682-.123.33-.22.74-.286 1.232a18.89 18.89 0 0 0-.144 1.62 7.14 7.14 0 0 0-1.164-.31 9.118 9.118 0 0 0-1.23-.136c.132-.575.256-1.07.374-1.49.118-.42.23-.785.338-1.096.106-.31.212-.575.318-.793.105-.22.214-.407.326-.564l-3.66-6.34c-.582.337-1.08.634-1.495.892-.415.257-.75.498-1.01.722l-.972-1.684c.293-.132.648-.3 1.066-.505.42-.203.83-.42 1.23-.653a31.8 31.8 0 0 0 1.27-.775c.433-.277.775-.516 1.028-.718.14.4.292.778.46 1.134.17.355.413.81.733 1.364l3.193 5.53zm-15.907-.43l-2.712-4.7-5.425 3.133c-1.456.84-2.783 1.63-3.983 2.368-1.2.74-2.125 1.344-2.778 1.813l-1.237-2.14c.307-.14.708-.335 1.202-.583.494-.25 1.055-.54 1.684-.876a143.593 143.593 0 0 0 4.375-2.429 153.71 153.71 0 0 0 4.442-2.648c1.175-.734 2.054-1.315 2.638-1.745.15.357.367.813.652 1.37a42.88 42.88 0 0 0 1.05 1.915l1.848 3.2a32.46 32.46 0 0 0 1.93 2.96l-2.057 1.188-.72-1.247-9.395 5.424 3.072 5.32c.224.39.415.68.574.875.158.195.345.304.562.327.216.023.5-.045.853-.202.353-.157.838-.405 1.455-.743.876-.47 1.734-.942 2.577-1.42a68.054 68.054 0 0 0 2.465-1.465c.754-.453 1.335-.84 1.743-1.158.407-.318.686-.66.836-1.023.15-.364.185-.81.104-1.334a26.6 26.6 0 0 0-.45-2.124c.843.437 1.734.523 2.67.26.206 1.026.324 1.854.354 2.483.03.628-.083 1.184-.34 1.665-.258.48-.698.943-1.32 1.386-.623.443-1.495.988-2.617 1.636l-2.545 1.47c-.908.524-1.758.996-2.55 1.417-1.063.558-1.902.97-2.517 1.23-.615.264-1.123.368-1.524.313-.402-.055-.75-.274-1.045-.657-.297-.385-.652-.937-1.068-1.658l-3.444-5.965a27.726 27.726 0 0 0-1.155-1.855c-.337-.49-.602-.835-.793-1.04.37-.157.762-.342 1.176-.553.414-.212.79-.425 1.13-.64.185-.125.32-.144.41-.056.087.088.085.214-.005.377a.624.624 0 0 0-.105.394c.015.12.082.286.202.494l.384.665 9.396-5.424zM10.402 63c0-29.05 23.55-52.598 52.598-52.598 29.05 0 52.598 23.55 52.598 52.598 0 29.05-23.55 52.598-52.598 52.598-29.05 0-52.598-23.55-52.598-52.598z\"></path></symbol>\n        </defs>\n        </svg>\n    \t<router-view></router-view>\n    </div>\n  <script type=\"text/javascript\" src=\"/elm/static/js/manifest.js\"></script><script type=\"text/javascript\" src=\"/elm/static/js/vendor.js\"></script><script type=\"text/javascript\" src=\"/elm/static/js/app.js\"></script></body>\n</html>\n"
  }
]