Showing preview only (777K chars total). Download the full file or copy to clipboard to get everything.
Repository: bailicangdu/node-elm
Branch: master
Commit: 32ea999c63f5
Files: 91
Total size: 745.4 KB
Directory structure:
gitextract_pq5b2d9_/
├── .babelrc
├── .gitignore
├── API.md
├── COPYING
├── InitData/
│ ├── activity.js
│ ├── category.js
│ ├── cities.js
│ ├── delivery.js
│ ├── entry.js
│ ├── explain.js
│ ├── hongbao.js
│ ├── payments.js
│ ├── rate.js
│ └── remark.js
├── README.md
├── app.js
├── config/
│ ├── .gitignore
│ ├── default.js
│ └── development.js
├── controller/
│ ├── admin/
│ │ └── admin.js
│ ├── member/
│ │ └── vipcart.js
│ ├── promotion/
│ │ └── hongbao.js
│ ├── shopping/
│ │ ├── category.js
│ │ ├── food.js
│ │ └── shop.js
│ ├── statis/
│ │ └── statis.js
│ ├── ugc/
│ │ └── rating.js
│ ├── v1/
│ │ ├── address.js
│ │ ├── captchas.js
│ │ ├── carts.js
│ │ ├── cities.js
│ │ ├── order.js
│ │ ├── remark.js
│ │ └── search.js
│ ├── v2/
│ │ ├── entry.js
│ │ └── user.js
│ └── v3/
│ └── explain.js
├── ecosystem.config.js
├── index.js
├── logs/
│ └── .gitignore
├── middlewares/
│ ├── check.js
│ ├── history.js
│ ├── statistic.js
│ └── w2-proxy
├── models/
│ ├── admin/
│ │ └── admin.js
│ ├── bos/
│ │ └── order.js
│ ├── ids.js
│ ├── promotion/
│ │ └── hongbao.js
│ ├── shopping/
│ │ ├── activity.js
│ │ ├── category.js
│ │ ├── delivery.js
│ │ ├── food.js
│ │ └── shop.js
│ ├── statis/
│ │ └── statis.js
│ ├── ugc/
│ │ └── rating.js
│ ├── v1/
│ │ ├── address.js
│ │ ├── cart.js
│ │ ├── cities.js
│ │ ├── payments.js
│ │ └── remark.js
│ ├── v2/
│ │ ├── entry.js
│ │ ├── user.js
│ │ └── userInfo.js
│ └── v3/
│ └── explain.js
├── mongodb/
│ └── db.js
├── package.json
├── prototype/
│ ├── addressComponent.js
│ └── baseComponent.js
├── public/
│ ├── elm/
│ │ └── static/
│ │ ├── css/
│ │ │ └── app.css
│ │ └── js/
│ │ ├── app.js
│ │ ├── manifest.js
│ │ └── vendor.js
│ ├── img/
│ │ └── .gitignore
│ └── index.html
├── routes/
│ ├── admin.js
│ ├── bos.js
│ ├── eus.js
│ ├── index.js
│ ├── member.js
│ ├── payapi.js
│ ├── promotion.js
│ ├── shopping.js
│ ├── statis.js
│ ├── ugc.js
│ ├── v1.js
│ ├── v2.js
│ ├── v3.js
│ └── v4.js
├── todo.txt
└── views/
├── home.ejs
└── index.html
================================================
FILE CONTENTS
================================================
================================================
FILE: .babelrc
================================================
{
"presets": ["stage-3"],
"plugins": [
"transform-async-to-generator",
"transform-es2015-modules-commonjs",
"transform-export-extensions"
]
}
================================================
FILE: .gitignore
================================================
/node_modules
coverage
package-lock.json
.DS_Store
**/.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
================================================
FILE: API.md
================================================
# node-elm 接口文档
```
baseUrl: https://elm.cangdu.org
```
## 目录:
[1、获取城市列表](#1获取城市列表)<br/>
[2、获取所选城市信息](#2获取所选城市信息)<br/>
[3、搜索地址](#3搜索地址)<br/>
[4、根据经纬度详细定位](#4根据经纬度详细定位)<br/>
[5、食品分类列表](#5食品分类列表)<br/>
[6、获取商铺列表](#6获取商铺列表)<br/>
[7、搜索餐馆](#7搜索餐馆)<br/>
[8、获取所有商铺分类列表](#8获取所有商铺分类列表)<br/>
[9、获取配送方式](#9获取配送方式)<br/>
[10、商家属性活动列表](#10商家属性活动列表)<br/>
[11、餐馆详情](#11餐馆详情)<br/>
[12、上传图片](#12上传图片)<br/>
[13、添加餐馆](#13添加餐馆)<br/>
[14、添加食品种类](#14添加食品种类)<br/>
[15、添加食品](#15添加食品)<br/>
[16、获取食品列表](#16获取食品列表)<br/>
[17、获取评价信息](#17获取评价信息)<br/>
[18、获取评价分数](#18获取评价分数)<br/>
[19、获取评价分类](#19获取评价分类)<br/>
[20、加入购物车](#20加入购物车)<br/>
[21、获取备注信息](#21获取备注信息)<br/>
[22、获取收货地址列表](#22获取收货地址列表)<br/>
[23、获取验证码](#23获取验证码)<br/>
[24、获取用户信息](#24获取用户信息)<br/>
[25、登录](#25登录)<br/>
[26、退出](#26退出)<br/>
[27、修改密码](#27修改密码)<br/>
[28、增加收货地址](#28增加收货地址)<br/>
[29、删除收货地址](#29删除收货地址)<br/>
[30、下单](#30下单)<br/>
[31、订单列表](#31订单列表)<br/>
[32、订单详情](#32订单详情)<br/>
[33、服务中心](#33服务中心)<br/>
[34、可用红包](#34可用红包)<br/>
[35、过期红包](#35过期红包)<br/>
[36、兑换红包](#36兑换红包)<br/>
[37、管理员登录](#37管理员登录)<br/>
[38、管理员退出登录](#38管理员退出登录)<br/>
[39、管理员信息](#39管理员信息)<br/>
[40、获取某日API请求量](#40获取某日API请求量)<br/>
[41、获取所有API请求量](#41获取所有API请求量)<br/>
[42、获取某天用户注册量](#42获取某天用户注册量)<br/>
[43、获取所有用户注册量](#43获取所有用户注册量)<br/>
[44、获取某天订单数量](#44获取某天订单数量)<br/>
[45、获取所有订单数量](#45获取所有订单数量)<br/>
[46、管理员列表](#46管理员列表)<br/>
[47、获取管理员数量](#47获取管理员数量)<br/>
[48、获取店铺食品种类](#48获取店铺食品种类)<br/>
[49、获取餐馆数量](#49获取餐馆数量)<br/>
[50、更新餐馆](#50更新餐馆)<br/>
[51、删除餐馆](#51删除餐馆)<br/>
[52、获取食品列表](#52获取食品列表)<br/>
[53、获取食品数量](#53获取食品数量)<br/>
[54、获取食品种类详情](#54获取食品种类详情)<br/>
[55、更新食品](#55更新食品)<br/>
[56、删除食品](#56删除食品)<br/>
[57、获取用户列表](#57获取用户列表)<br/>
[58、获取订单列表](#58获取订单列表)<br/>
[59、获取地址信息](#59获取地址信息)<br/>
[60、获取用户分布信息](#60获取用户分布信息)<br/>
[61、获取某天管理员注册量](#61获取某天管理员注册量)<br/>
## 接口列表:
### 1、获取城市列表
#### 请求URL:
```
https://elm.cangdu.org/v1/cities
```
#### 示例:
[https://elm.cangdu.org/v1/cities?type=guess](https://elm.cangdu.org/v1/cities?type=guess)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|type |Y |string |guess:定位城市, hot:热门城市, group:所有城市 |
#### 返回示例:
```javascript
{
id: 1,
name: "上海",
abbr: "SH",
area_code: "021",
sort: 1,
latitude: 31.23037,
longitude: 121.473701,
is_map: true,
pinyin: "shanghai"
}
```
### 2、获取所选城市信息
#### 请求URL:
```
https://elm.cangdu.org/v1/cities/:id
```
#### 示例:
[https://elm.cangdu.org/v1/cities/1](https://elm.cangdu.org/v1/cities/1)
#### 请求方式:
```
GET
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|id |Y |int |城市id |
#### 返回示例:
```javascript
{
id: 1,
name: "上海",
abbr: "SH",
area_code: "021",
sort: 1,
latitude: 31.23037,
longitude: 121.473701,
is_map: true,
pinyin: "shanghai"
}
```
### 3、搜索地址
#### 请求URL:
```
https://elm.cangdu.org/v1/pois
```
#### 示例:
[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)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|city_id |Y |int |城市id |
|keyword |Y |string |搜索关键词 |
|type |N |string |搜索类型,默认为search |
#### 返回示例:
```javascript
[
{
name: "上海迪士尼乐园",
address: "上海市浦东新区申迪西路753号",
latitude: 31.14419,
longitude: 121.66034,
geohash: "31.14419,121.66034"
},
{
name: "迪士尼",
address: "上海市浦东新区妙境路1118号家乐福川沙店1层",
latitude: 31.18183,
longitude: 121.69279,
geohash: "31.18183,121.69279"
},
... //共10条数据
]
```
### 4、根据经纬度详细定位
#### 请求URL:
```
https://elm.cangdu.org/v2/pois/:geohash
```
#### 示例:
[https://elm.cangdu.org/v2/pois/31.22967,121.4762](https://elm.cangdu.org/v2/pois/31.22967,121.4762)
#### 请求方式:
```
GET
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|geohash |Y |string |经纬度 |
#### 返回示例:
```javascript
{
address: "上海市黄浦区西藏中路",
city: "上海市",
geohash: "31.22967,121.4762",
latitude: "31.22967",
longitude: "121.4762",
name: "黄浦区上海人民广场"
}
```
### 5、食品分类列表
#### 请求URL:
```
https://elm.cangdu.org/v2/index_entry
```
#### 示例:
[https://elm.cangdu.org/v2/index_entry](https://elm.cangdu.org/v2/index_entry)
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
[
{
id: 1,
is_in_serving: true,
description: "0元早餐0起送,每天都有新花样。",
title: "预订早餐",
link: "",
image_url: "/d/49/7757ff22e8ab28e7dfa5f7e2c2692jpeg.jpeg",
icon_url: "",
title_color: "",
__v: 0
},
{
id: 65,
is_in_serving: true,
description: "",
title: "土豪推荐",
image_url: "/d/49/7757ff22e8ab28e7dfa5f7e2c2692jpeg.jpeg",
link: "",
icon_url: "",
title_color: "",
__v: 0
},
... 共n条数据
]
```
### 6、获取商铺列表
#### 请求URL:
```
https://elm.cangdu.org/shopping/restaurants
```
#### 示例:
[https://elm.cangdu.org/shopping/restaurants?latitude=31.22967&longitude=121.4762](https://elm.cangdu.org/shopping/restaurants?latitude=31.22967&longitude=121.4762)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|latitude |Y |string |纬度|
|longitude |Y |string |经度|
|offset |N |int |跳过多少条数据,默认0|
|limit |N |int |请求数据的数量,默认20|
|restaurant_category_id |N |int |餐馆分类id|
|order_by |N |int |排序方式id: 1:起送价、2:配送速度、3:评分、4: 智能排序(默认)、5:距离最近、6:销量最高|
|delivery_mode |N |array |配送方式id|
|support_ids |N |array |餐馆支持特权的id|
|restaurant_category_ids |N |array |餐馆分类id|
#### 返回示例:
```javascript
[
{
name: "肯德基",
address: "上海市宝山区淞宝路155弄18号星月国际商务广场1层",
id: 1,
latitude: 31.38098,
longitude: 121.50146,
location: [
121.50146,
31.38098
],
phone: "1232313124324",
category: "快餐便当/简餐",
supports: [
{
description: "已加入“外卖保”计划,食品安全有保障",
icon_color: "999999",
icon_name: "保",
id: 7,
name: "外卖保",
_id: "591bec73c2bbc84a6328a1e5"
},
{
description: "准时必达,超时秒赔",
icon_color: "57A9FF",
icon_name: "准",
id: 9,
name: "准时达",
_id: "591bec73c2bbc84a6328a1e4"
},
{
description: "该商家支持开发票,请在下单时填写好发票抬头",
icon_color: "999999",
icon_name: "票",
id: 4,
name: "开发票",
_id: "591bec73c2bbc84a6328a1e3"
}
],
status: 0,
recent_order_num: 615,
rating_count: 389,
rating: 1.6,
promotion_info: "他依然有人有人有人有人有人",
piecewise_agent_fee: {
tips: "配送费约¥5"
},
opening_hours: [
"8:30/20:30"
],
license: {
catering_service_license_image: "",
business_license_image: ""
},
is_new: true,
is_premium: true,
image_path: "/img/shop/15c1513a00615.jpg",
identification: {
registered_number: "",
registered_address: "",
operation_period: "",
licenses_scope: "",
licenses_number: "",
licenses_date: "",
legal_person: "",
identificate_date: null,
identificate_agency: "",
company_name: ""
},
float_minimum_order_amount: 20,
float_delivery_fee: 5,
distance: "19.5公里",
order_lead_time: "40分钟",
description: "好吃的",
delivery_mode: {
color: "57A9FF",
id: 1,
is_solid: true,
text: "蜂鸟专送"
},
activities: [
{
icon_name: "减",
name: "满减优惠",
description: "满30减5,满60减8",
icon_color: "f07373",
id: 1,
_id: "591bec73c2bbc84a6328a1e7"
},
{
icon_name: "特",
name: "优惠大酬宾",
description: "是对冯绍峰的上市房地产",
icon_color: "EDC123",
id: 2,
_id: "591bec73c2bbc84a6328a1e6"
}
],
}
... 共20条数据
]
```
### 7、搜索餐馆
#### 请求URL:
```
https://elm.cangdu.org/v4/restaurants
```
#### 示例:
[https://elm.cangdu.org/v4/restaurants?geohash=31.22967,121.4762&keyword=肯德基](https://elm.cangdu.org/v4/restaurants?geohash=31.22967,121.4762&keyword=肯德基)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|geohash |Y |string |经纬度|
|keyword |Y |string |关键词|
#### 返回示例:
```javascript
[
{
name: "肯德基",
address: "上海市宝山区淞宝路155弄18号星月国际商务广场1层",
id: 1,
latitude: 31.38098,
longitude: 121.50146,
location: [
121.50146,
31.38098
],
phone: "1232313124324",
category: "快餐便当/简餐",
supports: [
{
description: "已加入“外卖保”计划,食品安全有保障",
icon_color: "999999",
icon_name: "保",
id: 7,
name: "外卖保",
_id: "591bec73c2bbc84a6328a1e5"
},
{
description: "准时必达,超时秒赔",
icon_color: "57A9FF",
icon_name: "准",
id: 9,
name: "准时达",
_id: "591bec73c2bbc84a6328a1e4"
},
{
description: "该商家支持开发票,请在下单时填写好发票抬头",
icon_color: "999999",
icon_name: "票",
id: 4,
name: "开发票",
_id: "591bec73c2bbc84a6328a1e3"
}
],
status: 0,
recent_order_num: 615,
rating_count: 389,
rating: 1.6,
promotion_info: "他依然有人有人有人有人有人",
piecewise_agent_fee: {
tips: "配送费约¥5"
},
opening_hours: [
"8:30/20:30"
],
license: {
catering_service_license_image: "",
business_license_image: ""
},
is_new: true,
is_premium: true,
image_path: "/img/shop/15c1513a00615.jpg",
identification: {
registered_number: "",
registered_address: "",
operation_period: "",
licenses_scope: "",
licenses_number: "",
licenses_date: "",
legal_person: "",
identificate_date: null,
identificate_agency: "",
company_name: ""
},
float_minimum_order_amount: 20,
float_delivery_fee: 5,
distance: "19.5公里",
order_lead_time: "40分钟",
description: "好吃的",
delivery_mode: {
color: "57A9FF",
id: 1,
is_solid: true,
text: "蜂鸟专送"
},
activities: [
{
icon_name: "减",
name: "满减优惠",
description: "满30减5,满60减8",
icon_color: "f07373",
id: 1,
_id: "591bec73c2bbc84a6328a1e7"
},
{
icon_name: "特",
name: "优惠大酬宾",
description: "是对冯绍峰的上市房地产",
icon_color: "EDC123",
id: 2,
_id: "591bec73c2bbc84a6328a1e6"
}
],
}
... 共n条数据
]
```
### 8、获取所有商铺分类列表
#### 请求URL:
```
https://elm.cangdu.org/shopping/v2/restaurant/category
```
#### 示例:
[https://elm.cangdu.org/shopping/v2/restaurant/category](https://elm.cangdu.org/shopping/v2/restaurant/category)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|latitude |N |string |纬度 |
|longitude |N |string |经度 |
#### 返回示例:
```javascript
[
{
count: 0,
id: 248,
image_url: "0e07558e305abfb2618ae760142222f9png",
level: 1,
name: "鲜花蛋糕",
sub_categories: [
{
count: 0,
id: 248,
image_url: "3edf3f4ef8ed1d300896c5b9178685ebpng",
level: 1,
name: "全部鲜花蛋糕",
_id: "591af9a4c434cf6a823d63d8"
},
{
count: 0,
id: 251,
image_url: "cf598de7338b4bf9dd2924736c4ec9d2png",
level: 2,
name: "鲜花",
_id: "591af9a4c434cf6a823d63d7"
},
{
count: 0,
id: 249,
image_url: "ac94b005c97ef158282326cb49389893png",
level: 2,
name: "蛋糕",
_id: "591af9a4c434cf6a823d63d6"
},
{
count: 0,
id: 250,
image_url: "512232422a83e25a2c0a5588b7b6e730png",
level: 2,
name: "面包",
_id: "591af9a4c434cf6a823d63d5"
}
],
}
...共n条数据
]
```
### 9、获取配送方式
#### 请求URL:
```
https://elm.cangdu.org/shopping/v1/restaurants/delivery_modes
```
#### 示例:
[https://elm.cangdu.org/shopping/v1/restaurants/delivery_modes](https://elm.cangdu.org/shopping/v1/restaurants/delivery_modes)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|latitude |N |string |纬度 |
|longitude |N |string |经度 |
#### 返回示例:
```javascript
[
{
color: "57A9FF",
id: 1,
is_solid: true,
text: "蜂鸟专送",
__v: 0
}
]
```
### 10、商家属性活动列表
#### 请求URL:
```
https://elm.cangdu.org/shopping/v1/restaurants/activity_attributes
```
#### 示例:
[https://elm.cangdu.org/shopping/v1/restaurants/activity_attributes](https://elm.cangdu.org/shopping/v1/restaurants/activity_attributes)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|latitude |N |string |纬度 |
|longitude |N |string |经度 |
#### 返回示例:
```javascript
[
{
description: "可使用支付宝、微信、手机QQ进行在线支付",
icon_color: "FF4E00",
icon_name: "付",
id: 3,
name: "在线支付",
ranking_weight: 2,
__v: 0
},
...共n条数据
]
```
### 11、餐馆详情
#### 请求URL:
```
https://elm.cangdu.org/shopping/restaurant/:shopid
```
#### 示例:
[https://elm.cangdu.org/shopping/restaurant/1](https://elm.cangdu.org/shopping/restaurant/1)
#### 请求方式:
```
GET
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|shopid |Y |int |餐馆id |
#### 返回示例:
```javascript
{
name: "肯德基",
address: "上海市宝山区淞宝路155弄18号星月国际商务广场1层",
id: 1,
latitude: 31.38098,
longitude: 121.50146,
location: [
121.50146,
31.38098
],
phone: "1232313124324",
category: "快餐便当/简餐",
supports: [
{
description: "已加入“外卖保”计划,食品安全有保障",
icon_color: "999999",
icon_name: "保",
id: 7,
name: "外卖保",
_id: "591bec73c2bbc84a6328a1e5"
},
{
description: "准时必达,超时秒赔",
icon_color: "57A9FF",
icon_name: "准",
id: 9,
name: "准时达",
_id: "591bec73c2bbc84a6328a1e4"
},
{
description: "该商家支持开发票,请在下单时填写好发票抬头",
icon_color: "999999",
icon_name: "票",
id: 4,
name: "开发票",
_id: "591bec73c2bbc84a6328a1e3"
}
],
status: 0,
recent_order_num: 615,
rating_count: 389,
rating: 1.6,
promotion_info: "他依然有人有人有人有人有人",
piecewise_agent_fee: {
tips: "配送费约¥5"
},
opening_hours: [
"8:30/20:30"
],
license: {
catering_service_license_image: "",
business_license_image: ""
},
is_new: true,
is_premium: true,
image_path: "/img/shop/15c1513a00615.jpg",
identification: {
registered_number: "",
registered_address: "",
operation_period: "",
licenses_scope: "",
licenses_number: "",
licenses_date: "",
legal_person: "",
identificate_date: null,
identificate_agency: "",
company_name: ""
},
float_minimum_order_amount: 20,
float_delivery_fee: 5,
distance: "19.5公里",
order_lead_time: "40分钟",
description: "好吃的",
delivery_mode: {
color: "57A9FF",
id: 1,
is_solid: true,
text: "蜂鸟专送"
},
activities: [
{
icon_name: "减",
name: "满减优惠",
description: "满30减5,满60减8",
icon_color: "f07373",
id: 1,
_id: "591bec73c2bbc84a6328a1e7"
},
{
icon_name: "特",
name: "优惠大酬宾",
description: "是对冯绍峰的上市房地产",
icon_color: "EDC123",
id: 2,
_id: "591bec73c2bbc84a6328a1e6"
}
],
}
```
### 12、上传图片
#### 请求URL:
```
https://elm.cangdu.org/v1/addimg/:type
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|type |Y |string |shop:商铺图片,food:食品图片,avatar:头像 |
#### 返回示例:
```javascript
{
status: 1,
image_path: '15bfafa418322.jpeg'
// 图片保存至七牛,图片全部地址为, https://elm.cangdu.org/img/15bfafa418322.jpeg
}
```
### 13、添加餐馆
#### 请求URL:
```
https://elm.cangdu.org/shopping/addshop
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|name |Y |string | 餐馆名称 |
|address |Y |string | 餐馆地址 |
|phone |Y |int |联系电话 |
|latitude |Y |string | 纬度 |
|longitude |Y |string | 经度 |
|category |Y |string |食品分类 |
|image_path |Y |string |店铺图片地址 |
|float_delivery_fee |Y |int | 运费|
|float_minimum_order_amount |Y | init | 起送价 |
|description |N |string | 餐馆介绍 |
|promotion_info |N |string | 店铺标语 |
|is_premium |N |boolean | 品牌商铺,默认false |
|delivery_mode |N |boolean | 支持蜂鸟专送,默认false |
|new |N |boolean |新开店铺,默认false|
|bao |N |boolean |支持保险,默认false|
|zhun |N |boolean |准时达,默认false|
|piao |N |boolean |开发票,默认false|
|startTime |N |string |开始营业时间 |
|endTime |N |string |停止营业时间 |
|business_license_image |N |string |营业执照图片地址 |
|catering_service_license_image |N |string |餐饮服务许可证图片地址 |
|catering_service_license_image |N |string |餐饮服务许可证图片地址 |
|activities |N |array | 商铺活动:示例:[{icon_name:'新', name:'新用户立减', description: ''}]|
#### 返回示例:
```javascript
{
status: 1,
sussess: '添加餐馆成功',
}
```
### 14、添加食品种类
#### 请求URL:
```
https://elm.cangdu.org/shopping/addcategory
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|name |Y |string | 种类 |
|description |Y |string | 描述 |
|restaurant_id |Y |int | 餐馆id |
#### 返回示例:
```javascript
{
status: 1,
sussess: '添加食品种类成功',
}
```
### 15、添加食品
#### 请求URL:
```
https://elm.cangdu.org/shopping/addfood
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|restaurant_id |Y |int | 餐馆ID |
|category_id |Y |int | 分类ID |
|name |Y |string | 食品名称 |
|image_path |Y |string | 图片地址 |
|specs |Y |array | 规格: [{specs: '默认',packing_fee: 0,price: 20,}]|
|description |N |string |描述 |
|activity |N |string |活动 |
|attributes |N |array |特点:[{value: '新',label: '新品'}] |
#### 返回示例:
```javascript
{
status: 1,
sussess: '添加食品成功',
}
```
### 16、获取食品列表
#### 请求URL:
```
https://elm.cangdu.org/shopping/v2/menu
```
#### 示例:
[https://elm.cangdu.org/shopping/v2/menu?restaurant_id=1](https://elm.cangdu.org/shopping/v2/menu?restaurant_id=1)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|restaurant_id |Y |int | 餐馆ID |
#### 返回示例:
```javascript
[
{
name: "热销榜",
description: "大家喜欢吃,才叫真好吃。",
id: 1,
restaurant_id: 3,
foods: [
{
name: "好似懂非",
image_path: "/img/food/15c1ab95e7620.jpg",
activity: {
image_text_color: "f1884f",
icon_color: "f07373",
image_text: "实行政策支持支持支持"
},
restaurant_id: 3,
category_id: 1,
item_id: 1,
tips: "626评价 月售713份",
_id: "591d5ea243f73a7dbdc97c6b",
specfoods: [
{
name: "好似懂非",
item_id: 1,
sku_id: 1,
food_id: 1,
restaurant_id: 3,
_id: "591d5ea243f73a7dbdc97c6c",
specs: [ ],
stock: 1000,
checkout_mode: 1,
is_essential: false,
recent_popularity: 941,
sold_out: false,
price: 21,
promotion_stock: -1,
recent_rating: 0.6,
packing_fee: 1,
pinyin_name: "",
original_price: 0
}
],
satisfy_rate: 79,
satisfy_count: 461,
attributes: [
{
icon_color: "5ec452",
icon_name: "新"
},
{
icon_color: "f07373",
icon_name: "招牌"
}
],
is_essential: false,
server_utc: "2017-05-18T08:37:10.963Z",
specifications: [ ],
rating_count: 626,
month_sales: 713,
description: "中小城镇创新政策中",
attrs: [ ],
display_times: [ ],
pinyin_name: "",
is_featured: 0,
rating: 3.2
}
],
type: 1,
icon_url: "5da3872d782f707b4c82ce4607c73d1ajpeg",
is_selected: true,
__v: 1
},
]
```
### 17、获取评价信息
#### 请求URL:
```
https://elm.cangdu.org/ugc/v2/restaurants/:restaurant_id/ratings
```
#### 示例:
[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)
#### 请求方式:
```
GET
```
#### 参数类型:query, param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|restaurant_id |Y |int | 餐馆ID |
|tag_name |N |string | 评价类型,默认全部 |
|offset |N |int | 跳过数据条数 |
|limit |N |int | 单次获取数据条数 |
#### 返回示例:
```javascript
[
{
rated_at: "2017-02-10",
rating_star: 5,
rating_text: "",
time_spent_desc: "按时送达",
_id: "591d5e5643f73a7dbdc97c66",
username: "4*******b",
tags: [ ],
item_ratings: [
{
food_id: 508807792,
food_name: "超级至尊比萨-铁盘",
_id: "591d5e5643f73a7dbdc97c68",
is_valid: 1,
image_hash: "dc864033625905f0a15a2d181d53a425jpeg"
},
{
food_id: 508808743,
food_name: "韩式浓情风味鸡(标准份)",
_id: "591d5e5643f73a7dbdc97c67",
is_valid: 1,
image_hash: "074e0e203f613deff4e456c31e4177d1jpeg"
}
],
highlights: [ ],
avatar: ""
},
]
```
### 18、获取评价分数
#### 请求URL:
```
https://elm.cangdu.org/ugc/v2/restaurants/:restaurant_id/ratings/scores
```
#### 示例:
[https://elm.cangdu.org/ugc/v2/restaurants/1/ratings/scores](https://elm.cangdu.org/ugc/v2/restaurants/1/ratings/scores)
#### 请求方式:
```
GET
```
#### 参数类型: param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|restaurant_id |Y |int | 餐馆ID |
#### 返回示例:
```javascript
{
compare_rating: 0.76869,
deliver_time: 40,
food_score: 4.76378,
order_rating_amount: 473,
overall_score: 4.72836,
service_score: 4.69295
}
```
### 19、获取评价分类
#### 请求URL:
```
https://elm.cangdu.org/ugc/v2/restaurants/:restaurant_id/ratings/tags
```
#### 示例:
[https://elm.cangdu.org/ugc/v2/restaurants/1/ratings/tags](https://elm.cangdu.org/ugc/v2/restaurants/1/ratings/tags)
#### 请求方式:
```
GET
```
#### 参数类型: param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|restaurant_id |Y |int | 餐馆ID |
#### 返回示例:
```javascript
[
{
name: "全部",
_id: "591d5e5643f73a7dbdc97c52",
unsatisfied: false,
count: 473
},
]
```
### 20、加入购物车
#### 请求URL:
```
https://elm.cangdu.org/v1/carts/checkout
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型: param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|restaurant_id |Y |int | 餐馆ID |
|geohash |Y |string | 经纬度 |
|entities |Y |array | 购物车数据[{attrs:[],extra:{},id:食品id,name:食品名称,packing_fee:打包费,price:价格,quantity:数量,sku_id:规格id,specs:规格,stock:存量,}] |
#### 返回示例:
```javascript
{
cart: {
id: 1,
groups: [],
extra: this.extra,
deliver_amount,
deliver_time: '',
discount_amount: '',
dist_info: '',
is_address_too_far: false,
is_deliver_by_fengniao: !!restaurant.delivery_mode,
is_online_paid: 1,
is_ontime_available: 0,
must_new_user: 0,
must_pay_online: 0,
ontime_status: 0,
ontime_unavailable_reason: '',
original_total: total,
phone: restaurant.phone,
promise_delivery_time: 0,
restaurant_id,
restaurant_info: restaurant,
restaurant_minimum_order_amount: restaurant.float_minimum_order_amount,
restaurant_name_for_url: '',
restaurant_status: 1,
service_fee_explanation: 0,
total,
user_id: 1,
},
delivery_reach_time,
invoice,
sig: "8d65fd81cb962c1f64cd162c6ac5728f",
current_address: {},
payments,
deliver_times: [],
deliver_times_v2: [],
merchant_coupon_info: {},
number_of_meals: {},
discount_rule: {},
hongbao_info: {},
is_support_coupon: false,
is_support_ninja: 1,
}
```
### 21、获取备注信息
#### 请求URL:
```
https://elm.cangdu.org/v1/carts/:cart_id/remarks
```
#### 示例:
[https://elm.cangdu.org/v1/carts/1/remarks](https://elm.cangdu.org/v1/carts/1/remarks)
#### 请求方式:
```
GET
```
#### 参数类型: param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|cart_id |Y |int | 购物车id |
#### 返回示例:
```javascript
{
remarks: [
[
"不要辣",
"少点辣",
"多点辣"
],
],
}
```
### 22、获取收货地址列表
#### 请求URL:
```
https://elm.cangdu.org/v1/users/:user_id/addresses
```
#### 示例:
[https://elm.cangdu.org/v1/users/1/addresses](https://elm.cangdu.org/v1/users/1/addresses)
#### 请求方式:
```
GET
```
#### 参数类型: param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|user_id |Y |int | 用户id |
#### 返回示例:
```javascript
[
{
id: 297740202,
address: "桂平路680号33幢",
phone: "13683220505",
is_valid: 1,
created_at: "2017-03-31T15:10:25+0800",
phone_bk: "",
name: "1231",
st_geohash: "wtw2dfyxb62",
address_detail: "123123",
poi_type: 0,
sex: 1,
city_id: 1,
tag: "家",
agent_fee: 3,
deliver_amount: 20,
is_deliverable: true,
phone_had_bound: true,
is_brand_member: false
}
]
```
### 23、获取验证码
#### 请求URL:
```
https://elm.cangdu.org/v1/captchas
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
code: base64
}
```
### 24、获取用户信息
#### 请求URL:
```
https://elm.cangdu.org/v1/user
```
#### 示例:
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
username: "1",
user_id: 2,
id: 2,
point: 0,
mobile: "",
is_mobile_valid: true,
is_email_valid: false,
is_active: 1,
gift_amount: 3,
email: "",
delivery_card_expire_days: 0,
current_invoice_id: 0,
current_address_id: 0,
brand_member_new: 0,
balance: 0,
avatar: "/img/default/default.jpg",
__v: 0
}
```
### 25、登录
#### 请求URL:
```
https://elm.cangdu.org/v2/login
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|username |Y |string | 用户名 |
|password |Y |string | 密码 |
|captcha_code |Y |string | 验证码 |
#### 返回示例:
```javascript
{
username: "1",
user_id: 2,
id: 2,
point: 0,
mobile: "",
is_mobile_valid: true,
is_email_valid: false,
is_active: 1,
gift_amount: 3,
email: "",
delivery_card_expire_days: 0,
current_invoice_id: 0,
current_address_id: 0,
brand_member_new: 0,
balance: 0,
avatar: "/img/default/default.jpg",
__v: 0
}
```
### 26、退出
#### 请求URL:
```
https://elm.cangdu.org/v2/signout
```
#### 示例:
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
message: '退出成功'
}
```
### 27、修改密码
#### 请求URL:
```
https://elm.cangdu.org/v2/changepassword
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|username |Y |string | 用户名 |
|oldpassWord |Y |string | 旧密码 |
|newpassword |Y |string | 新密码 |
|confirmpassword |Y |string | 确认密码 |
|captcha_code |Y |string | 验证码 |
#### 返回示例:
```javascript
{
status: 1,
success: '密码修改成功',
}
```
### 28、增加收货地址
#### 请求URL:
```
https://elm.cangdu.org/v1/users/:user_id/addresses
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:param, query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|user_id |Y |int | 用户id |
|address |Y |string | 地址 |
|address_detail |Y |string | 地址详情 |
|geohash |Y |string | 经纬度 |
|name |Y |string | 收货人姓名 |
|phone |Y |string | 电话号码 |
|tag |Y |string | 标签 |
|sex |Y |int | 性别, 1:男,2:女 |
|poi_type |N |int | 类型,默认:0 |
|phone_bk |Y |string | 备注电话 |
|tag_type |Y |int | 标签类型,2:家,3:学校,4:公司 |
#### 返回示例:
```javascript
{
status: 1,
success: '添加地址成功',
}
```
### 29、删除收货地址
#### 请求URL:
```
https://elm.cangdu.org/v1/users/:user_id/addresses/:address_id
```
#### 示例:
#### 请求方式:
```
DELETE
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|user_id |Y |int | 用户id |
|address_id |Y |int | 收货地址id |
#### 返回示例:
```javascript
{
status: 1,
success: '删除地址成功',
}
```
### 30、下单
#### 请求URL:
```
https://elm.cangdu.org/v1/users/:user_id/carts/:cart_id/orders
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型: param, query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|user_id |Y |int | 用户ID |
|cart_id |Y |int | 购物车ID |
|address_id |Y |int | 收货地址ID |
|restaurant_id |Y |int | 餐馆ID |
|geohash |N |string | 经纬度 |
|description |N |string | 备注 |
|entities |Y |array | 购物车数据[{attrs:[],extra:{},id:食品id,name:食品名称,packing_fee:打包费,price:价格,quantity:数量,sku_id:规格id,specs:规格,stock:存量,}] |
#### 返回示例:
```javascript
{
status: 1,
success: '下单成功,请及时付款',
need_validation: false,
}
```
### 31、订单列表
#### 请求URL:
```
https://elm.cangdu.org/bos/v2/users/:user_id/orders
```
#### 示例:
[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)
#### 请求方式:
```
GET
```
#### 参数类型: param, query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|user_id |Y |int | 用户id |
|limit |N |int | 获取数据数量 |
|offset |N |int | 跳过数据条数 |
#### 返回示例:
```javascript
[
{
restaurant_id: 6,
restaurant_image_url: "/img/shop/15c19349ebe12.jpg",
restaurant_name: "sdf",
formatted_created_at: "2017-05-21 42:34",
order_time: 1495298554692,
time_pass: 55315,
total_amount: 21,
total_quantity: 1,
unique_id: 16,
id: 16,
user_id: 3,
address_id: 6,
__v: 0,
top_show: 0,
timeline_node: {
in_processing: 0,
actions: [ ]
},
status_code: 0,
status_bar: {
color: "f60",
image_type: "",
sub_title: "15分钟内支付",
title: "支付超时"
},
restaurant_type: 0,
remind_reply_count: 0,
rated_point: 0,
pay_remain_seconds: 0,
operation_upload_photo: 0,
operation_rebuy: 2,
operation_rate: 0,
operation_pay: 0,
operation_confirm: 0,
is_pindan: 0,
is_new_pay: 1,
is_deletable: 1,
is_brand: 0,
basket: {
pindan_map: [ ],
packing_fee: {
price: 0,
quantity: 1,
name: "餐盒",
category_id: 1
},
group: [
[
{
name: "fsefsf",
price: 21,
quantity: 1,
_id: "592071f966867336d7f8bce6",
specs: [
""
],
new_specs: [ ],
attrs: [ ]
}
]
],
extra: [ ],
deliver_fee: {
quantity: 1,
price: 4,
name: "配送费",
category_id: 2
},
abandoned_extra: [ ]
}
},
]
```
### 32、订单详情
#### 请求URL:
```
https://elm.cangdu.org/bos/v1/users/:user_id/orders/:order_id/snapshot
```
#### 示例:
[https://elm.cangdu.org/bos/v1/users/1/orders/1/snapshot](https://elm.cangdu.org/bos/v1/users/1/orders/1/snapshot)
#### 请求方式:
```
GET
```
#### 参数类型: param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|user_id |Y |int | 用户id |
|order_id |Y |int | 订单id |
#### 返回示例:
```javascript
{
isNew: false,
_doc: {
__v: 0,
basket: {
abandoned_extra: [ ],
deliver_fee: {
category_id: 2,
name: "配送费",
price: 4,
quantity: 1
},
extra: [ ],
group: [
[
{
name: "fsefsf",
price: 21,
quantity: 2,
_id: "5920fffc12df813c6643d76b",
specs: [
""
],
new_specs: [ ],
attrs: [ ]
},
{
name: "35345435",
price: 21,
quantity: 2,
_id: "5920fffc12df813c6643d76a",
specs: [
""
],
new_specs: [ ],
attrs: [ ]
}
]
],
packing_fee: {
category_id: 1,
name: "餐盒",
quantity: 1,
price: 4
},
pindan_map: [ ]
},
is_brand: 0,
is_deletable: 1,
is_new_pay: 1,
is_pindan: 0,
operation_confirm: 0,
operation_pay: 0,
operation_rate: 0,
operation_rebuy: 2,
operation_upload_photo: 0,
pay_remain_seconds: 0,
rated_point: 0,
remind_reply_count: 0,
restaurant_type: 0,
status_bar: {
title: "支付超时",
sub_title: "15分钟内支付",
image_type: "",
color: "f60"
},
status_code: 0,
timeline_node: {
actions: [ ],
in_processing: 0
},
top_show: 0,
address_id: 6,
user_id: 3,
id: 17,
unique_id: 17,
total_quantity: 2,
total_amount: 88,
time_pass: 18959,
order_time: 1495334910518,
formatted_created_at: "2017-05-21 48:30",
restaurant_name: "sdf",
restaurant_image_url: "/img/shop/15c19349ebe12.jpg",
restaurant_id: 6
},
addressDetail: "sdfsf",
consignee: "ccc",
deliver_time: "尽快送达",
pay_method: "在线支付",
phone: "13323454321"
}
```
### 33、服务中心
#### 请求URL:
```
https://elm.cangdu.org/v3/profile/explain
```
#### 示例:
[https://elm.cangdu.org/v3/profile/explain](https://elm.cangdu.org/v3/profile/explain)
#### 请求方式:
```
GET
```
#### 参数类型: param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
}
```
### 34、可用红包
#### 请求URL:
```
https://elm.cangdu.org/promotion/v2/users/:user_id/hongbaos
```
#### 示例:
[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)
#### 请求方式:
```
GET
```
#### 参数类型: param, query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|user_id |Y |int | 用户id |
|limit |N |int | 获取数据数量 |
|offset |N |int | 跳过数据条数 |
#### 返回示例:
```javascript
[
{
id: 7160761341773,
sn: "201705211244186655961161757573",
user_id: 186655961,
amount: 2,
sum_condition: 40,
name: "分享红包",
phone: "13681711254",
begin_date: "2017-05-21",
end_date: "2017-05-23",
status: 0,
present_status: 1,
share_status: 0,
description_map: {
phone: "限收货手机号为 13681711254",
online_paid_only: "限在线支付使用",
validity_delta: "剩3日",
validity_periods: "2017-05-23到期",
sum_condition: "满 40 元可用"
},
__v: 0
},
]
```
### 35、过期红包
#### 请求URL:
```
https://elm.cangdu.org/promotion/v2/users/:user_id/expired_hongbaos
```
#### 示例:
[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)
#### 请求方式:
```
GET
```
#### 参数类型: param, query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|user_id |Y |int | 用户id |
|limit |N |int | 获取数据数量 |
|offset |N |int | 跳过数据条数 |
#### 返回示例:
```javascript
[
{
id: 7160761341773,
sn: "201705211244186655961161757573",
user_id: 186655961,
amount: 2,
sum_condition: 40,
name: "分享红包",
phone: "13681711254",
begin_date: "2017-05-21",
end_date: "2017-05-23",
status: 0,
present_status: 4,
share_status: 0,
description_map: {
phone: "限收货手机号为 13681711254",
online_paid_only: "限在线支付使用",
validity_delta: "剩3日",
validity_periods: "2017-05-23到期",
sum_condition: "满 40 元可用"
},
__v: 0
},
]
```
### 36、兑换红包
#### 请求URL:
```
https://elm.cangdu.org/v1/users/:user_id/hongbao/exchange
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型: param, query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|user_id |Y |int | 用户id |
|exchange_code |Y |int | 兑换码 |
|captcha_code |Y |int | 验证码 |
#### 返回示例:
```javascript
{
status: 0,
type: 'NOT_ALLOWD_API',
message: '无效的兑换码'
}
```
### 37、管理员登录
#### 请求URL:
```
https://elm.cangdu.org/admin/login
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|user_name |Y |string | 用户名 |
|password |Y |string | 密码 |
#### 返回示例:
```javascript
{
status: 1,
success: '登录成功'
}
```
### 38、管理员退出登录
#### 请求URL:
```
https://elm.cangdu.org/admin/singout
```
#### 示例:
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
success: '退出成功'
}
```
### 39、管理员信息
#### 请求URL:
```
https://elm.cangdu.org/admin/info
```
#### 示例:
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
data: {
user_name: "cangdu",
id: 1,
create_time: "2017-05-29 12:02",
status: 1,
city: "上海",
avatar: "default.jpg",
admin: "管理员"
}
}
```
### 40、获取某日API请求量
#### 请求URL:
```
https://elm.cangdu.org/statis/api/:date/count
```
#### 示例:
[https://elm.cangdu.org/statis/api/2017-05-29/count](https://elm.cangdu.org/statis/api/2017-05-29/count)
#### 请求方式:
```
GET
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|date |Y |string | 日期:格式 2017-05-29 |
#### 返回示例:
```javascript
{
status: 1,
count: 1
}
```
### 41、获取所有API请求量
#### 请求URL:
```
https://elm.cangdu.org/statis/api/count
```
#### 示例:
[https://elm.cangdu.org/statis/api/count](https://elm.cangdu.org/statis/api/count)
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
count: 1
}
```
### 42、获取某天用户注册量
#### 请求URL:
```
https://elm.cangdu.org/statis/user/:date/count
```
#### 示例:
[https://elm.cangdu.org/statis/user/2017-05-29/count](https://elm.cangdu.org/statis/user/2017-05-29/count)
#### 请求方式:
```
GET
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|date |Y |string | 日期:格式 2017-05-29 |
#### 返回示例:
```javascript
{
status: 1,
count: 1
}
```
### 43、获取所有用户注册量
#### 请求URL:
```
https://elm.cangdu.org/v1/users/count
```
#### 示例:
[https://elm.cangdu.org/v1/users/count](https://elm.cangdu.org/v1/users/count)
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
count: 1
}
```
### 44、获取某天订单数量
#### 请求URL:
```
https://elm.cangdu.org/statis/order/:date/count
```
#### 示例:
[https://elm.cangdu.org/statis/order/2017-05-29/count](https://elm.cangdu.org/statis/order/2017-05-29/count)
#### 请求方式:
```
GET
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|date |Y |string | 日期:格式 2017-05-29 |
#### 返回示例:
```javascript
{
status: 1,
count: 1
}
```
### 45、获取所有订单数量
#### 请求URL:
```
https://elm.cangdu.org/bos/orders/count
```
#### 示例:
[https://elm.cangdu.org/bos/orders/count](https://elm.cangdu.org/bos/orders/count)
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
count: 1
}
```
### 46、管理员列表
#### 请求URL:
```
https://elm.cangdu.org/admin/all
```
#### 示例:
[https://elm.cangdu.org/admin/all?offset=0&limit=20](https://elm.cangdu.org/admin/all?offset=0&limit=20)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|limit |Y |int | 获取数据数量,默认 20 |
|offset |Y |int | 跳过数据条数 默认 0 |
#### 返回示例:
```javascript
{
status: 1,
data: [
{
user_name: "s",
id: 14,
create_time: "2017-05-29 21:23",
status: 1,
city: "北京",
__v: 0,
avatar: "default.jpg",
admin: "管理员"
},
]
}
```
### 47、获取管理员数量
#### 请求URL:
```
https://elm.cangdu.org/admin/count
```
#### 示例:
[https://elm.cangdu.org/admin/count](https://elm.cangdu.org/admin/count)
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
count: 1
}
```
### 48、获取店铺食品种类
#### 请求URL:
```
https://elm.cangdu.org/shopping/getcategory/:restaurant_id
```
#### 示例:
[https://elm.cangdu.org/shopping/getcategory/2](https://elm.cangdu.org/shopping/getcategory/2)
#### 请求方式:
```
GET
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|restaurant_id |Y |int | 餐馆id |
#### 返回示例:
```javascript
{
status: 1,
category_list: [
{
name: "热销榜",
description: "大家喜欢吃,才叫真好吃。",
id: 1,
restaurant_id: 2,
__v: 3,
foods: []
}
...
]
}
```
### 49、获取餐馆数量
#### 请求URL:
```
https://elm.cangdu.org/shopping/restaurants/count
```
#### 示例:
[https://elm.cangdu.org/shopping/restaurants/count](https://elm.cangdu.org/shopping/restaurants/count)
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
count: 1
}
```
### 50、更新餐馆
#### 请求URL:
```
https://elm.cangdu.org/shopping/updateshop
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|id |Y |int | 餐馆id |
|name |Y |string | 餐馆名称 |
|address |Y |string | 餐馆地址 |
|description |N |string | 餐馆介绍 |
|phone |Y |int |联系电话 |
|image_path |Y |string |店铺图片地址 |
|category |Y |string |店铺分类 |
#### 返回示例:
```javascript
{
status: 1,
success: '修改商铺信息成功',
}
```
### 51、删除餐馆
#### 请求URL:
```
https://elm.cangdu.org/shopping/restaurant/:restaurant_id
```
#### 示例:
#### 请求方式:
```
DELETE
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|restaurant_id |Y |int | 餐馆id |
#### 返回示例:
```javascript
{
status: 1,
success: '删除餐馆成功'
}
```
### 52、获取食品列表
#### 请求URL:
```
https://elm.cangdu.org/shopping/v2/foods
```
#### 示例:
[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)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|limit |Y |int | 获取数据数量,默认 20 |
|offset |Y |int | 跳过数据条数 默认 0 |
|restaurant_id |Y |int | 餐馆id |
#### 返回示例:
```javascript
[
{
name: "fdsf",
image_path: "15c545e4a705.png",
activity: {
image_text_color: "f1884f",
icon_color: "f07373",
image_text: "dsf"
},
restaurant_id: 2,
category_id: 1,
item_id: 2,
tips: "880评价 月售123份",
specfoods: [
{
specs_name: "默认",
name: "fdsf",
item_id: 2,
sku_id: 2,
food_id: 2,
restaurant_id: 2,
_id: "592c2063153b1136968e3393",
specs: [ ],
stock: 1000,
checkout_mode: 1,
is_essential: false,
recent_popularity: 254,
sold_out: false,
price: 20,
promotion_stock: -1,
recent_rating: 2.8,
packing_fee: 0,
pinyin_name: "",
original_price: 0
}
],
satisfy_rate: 87,
satisfy_count: 803,
attributes: [
{
icon_color: "5ec452",
icon_name: "新"
}
],
is_essential: false,
server_utc: "2017-05-29T05:53:51.103Z",
specifications: [ ],
rating_count: 880,
month_sales: 123,
description: "dfs",
attrs: [ ],
display_times: [ ],
pinyin_name: "",
is_featured: 0,
rating: 3.4,
__v: 0
},
]
```
### 53、获取食品数量
#### 请求URL:
```
https://elm.cangdu.org/shopping/v2/foods/count
```
#### 示例:
[https://elm.cangdu.org/shopping/v2/foods/count](https://elm.cangdu.org/shopping/v2/foods/count)
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
count: 1
}
```
### 54、获取食品种类详情
#### 请求URL:
```
https://elm.cangdu.org/shopping/v2/menu/:category_id
```
#### 示例:
[https://elm.cangdu.org/shopping/v2/menu/1](https://elm.cangdu.org/shopping/v2/menu/1)
#### 请求方式:
```
GET
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|category_id |Y |int | 食品种类id |
#### 返回示例:
```javascript
{
name: "热销榜",
description: "大家喜欢吃,才叫真好吃。",
id: 1,
restaurant_id: 2,
type: 1,
icon_url: "5da3872d782f707b4c82ce4607c73d1ajpeg",
is_selected: true,
__v: 3
}
```
### 55、更新食品
#### 请求URL:
```
https://elm.cangdu.org/shopping/v2/updatefood
```
#### 示例:
#### 请求方式:
```
POST
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|item_id |Y |int | 食品id |
|name |Y |string | 食品名称 |
|description |N |string | 食品介绍 |
|image_path |Y |string |店铺图片地址 |
|restaurant_id |Y |int | 餐馆id |
|category_id |Y |int | 食品分类id |
|specfoods |Y |array | 规格: [{specs: '默认',packing_fee: 0,price: 20,}]|
#### 返回示例:
```javascript
{
status: 1,
success: '修改食品信息成功',
}
```
### 56、删除食品
#### 请求URL:
```
https://elm.cangdu.org/shopping/v2/food/:food_id
```
#### 示例:
#### 请求方式:
```
DELETE
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|food_id |Y |int | 食品id |
#### 返回示例:
```javascript
{
status: 1,
success: '删除食品成功'
}
```
### 57、获取用户列表
#### 请求URL:
```
https://elm.cangdu.org/v1/users/list
```
#### 示例:
[https://elm.cangdu.org/v1/users/list?offset=0&limit=20](https://elm.cangdu.org/v1/users/list?offset=0&limit=20)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|limit |Y |int | 获取数据数量,默认 20 |
|offset |Y |int | 跳过数据条数 默认 0 |
#### 返回示例:
```javascript
[
{
username: "ddfdsf",
user_id: 2,
id: 2,
city: "北京",
registe_time: "2017-05-29 21:46",
column_desc: {
gift_mall_desc: "0元好物在这里",
game_link: "https://gamecenter.faas.ele.me",
game_is_show: 1,
game_image_hash: "05f108ca4e0c543488799f0c7c708cb1jpeg",
game_desc: "玩游戏领红包"
},
point: 0,
mobile: "",
is_mobile_valid: true,
is_email_valid: false,
is_active: 1,
gift_amount: 3,
email: "",
delivery_card_expire_days: 0,
current_invoice_id: 0,
current_address_id: 0,
brand_member_new: 0,
balance: 0,
avatar: "default.jpg",
__v: 0
},
...
]
```
### 58、获取订单列表
#### 请求URL:
```
https://elm.cangdu.org/bos/orders
```
#### 示例:
[https://elm.cangdu.org/bos/orders?offset=0&limit=20](https://elm.cangdu.org/bos/orders?offset=0&limit=20)
#### 请求方式:
```
GET
```
#### 参数类型:query
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|limit |Y |int | 获取数据数量,默认 20 |
|offset |Y |int | 跳过数据条数 默认 0 |
#### 返回示例:
```javascript
[
]
```
### 59、获取地址信息
#### 请求URL:
```
https://elm.cangdu.org/v1/addresse/:address_id
```
#### 示例:
[https://elm.cangdu.org/v1/addresse/1](https://elm.cangdu.org/v1/addresse/1)
#### 请求方式:
```
GET
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|address_id |Y |int | 地址id |
#### 返回示例:
```javascript
[
]
```
### 60、获取用户分布信息
#### 请求URL:
```
https://elm.cangdu.org/v1/user/city/count
```
#### 示例:
[https://elm.cangdu.org/v1/user/city/count](https://elm.cangdu.org/v1/user/city/count)
#### 请求方式:
```
GET
```
#### 参数类型:
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
#### 返回示例:
```javascript
{
status: 1,
user_city: {
beijing: 1,
shanghai: 0,
shenzhen: 1,
hangzhou: 0,
qita: 0
}
}
```
### 61、获取某天管理员注册量
#### 请求URL:
```
https://elm.cangdu.org/statis/admin/:date/count
```
#### 示例:
[https://elm.cangdu.org/statis/admin/2017-05-30/count](https://elm.cangdu.org/statis/admin/2017-05-30/count)
#### 请求方式:
```
GET
```
#### 参数类型:param
|参数|是否必选|类型|说明|
|:-----|:-------:|:-----|:-----|
|date |Y |string | 日期:格式 2017-05-29 |
#### 返回示例:
```javascript
{
status: 1,
count: 1
}
```
================================================
FILE: COPYING
================================================
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
================================================
FILE: InitData/activity.js
================================================
export default [
{
description: "",
icon_color: "3FBDE6",
icon_name: "品",
id: 8,
name: "品牌商家",
ranking_weight: 7
},
{
description: "已加入“外卖保”计划,食品安全有保障",
icon_color: "999999",
icon_name: "保",
id: 7,
name: "外卖保",
ranking_weight: 6
},
{
description: "新店",
icon_color: "E8842D",
icon_name: "新",
id: 5,
name: "新店",
ranking_weight: 4
},
{
description: "该商家支持开发票,请在下单时填写好发票抬头",
icon_color: "999999",
icon_name: "票",
id: 4,
name: "开发票",
ranking_weight: 3
},
{
description: "可使用支付宝、微信、手机QQ进行在线支付",
icon_color: "FF4E00",
icon_name: "付",
id: 3,
name: "在线支付",
ranking_weight: 2
},
{
description: "准时必达,超时秒赔",
icon_color: "57A9FF",
icon_name: "准",
id: 9,
name: "准时达",
ranking_weight: 1
}
]
================================================
FILE: InitData/category.js
================================================
export default [
{
count: 0,
ids: [
207,
220,
260,
233,
239,
244,
248,
252
],
image_url: "",
level: 1,
name: "全部商家"
},
{
count: 0,
id: 207,
ids: [
207
],
image_url: "bff533cf9617bd57fe1dfb05603bebcfpng",
level: 1,
name: "快餐便当",
sub_categories: [
{
count: 0,
id: 207,
image_url: "44545a0518aab93817cfe611e88bb702png",
level: 1,
name: "全部快餐便当"
},
{
count: 0,
id: 265,
image_url: "be84bc4d7cf12deee9115b16eb099302png",
level: 2,
name: "简餐"
},
{
count: 0,
id: 209,
image_url: "66b78c0e7099c278977298d7c6042c80png",
level: 2,
name: "盖浇饭"
},
{
count: 0,
id: 213,
image_url: "02e6c9e3bf338ec0ba0d923717b9f8acpng",
level: 2,
name: "米粉面馆"
},
{
count: 0,
id: 215,
image_url: "af6ab89041b3e77fe115d1e4b72d69f0png",
level: 2,
name: "包子粥店"
},
{
count: 0,
id: 219,
image_url: "eddd9dc7e5d21debe2fb278ae01fefe9png",
level: 2,
name: "香锅砂锅"
},
{
count: 0,
id: 214,
image_url: "4d347d0dc65dd75fb2911256aabf2327png",
level: 2,
name: "麻辣烫"
},
{
count: 0,
id: 217,
image_url: "65b575c2278a3f6e5c70af45b578cbeepng",
level: 2,
name: "饺子馄饨"
},
{
count: 0,
id: 212,
image_url: "7d47af01fccc46fc3621865a9cc07c93png",
level: 2,
name: "汉堡"
},
{
count: 0,
id: 216,
image_url: "4c6af48f68284ad91c6d95d2bd3f4aa6png",
level: 2,
name: "生煎锅贴"
},
{
count: 0,
id: 267,
image_url: "79637dc36d67de4fe48d121ea77b3eddpng",
level: 2,
name: "黄焖鸡米饭"
},
{
count: 0,
id: 266,
image_url: "c09d1ff71384e2e1664f72e0a928810dpng",
level: 2,
name: "烧腊饭"
},
{
count: 0,
id: 269,
image_url: "180cb951c2d4eb2e220debf4571bf83apng",
level: 2,
name: "煲仔饭"
},
{
count: 0,
id: 268,
image_url: "cdf208b399b854e456f23d28b1972e97png",
level: 2,
name: "咖喱饭"
}
]
},
{
count: 0,
id: 220,
ids: [
220
],
image_url: "655ac1bfd1e818013a9f099e964f1e9djpeg",
level: 1,
name: "特色菜系",
sub_categories: [
{
count: 0,
id: 220,
image_url: "ef32dabbcd88fbed5a336383e74c733dpng",
level: 1,
name: "全部特色菜系"
},
{
count: 0,
id: 221,
image_url: "43b0e4694f8ebc393cce6723d5df5222png",
level: 2,
name: "川湘菜"
},
{
count: 0,
id: 263,
image_url: "94ac841e2c3e27f8eeeaa917574ed574png",
level: 2,
name: "其他菜系"
},
{
count: 0,
id: 225,
image_url: "2d098842683548f9626cf0a8c879257dpng",
level: 2,
name: "江浙菜"
},
{
count: 0,
id: 222,
image_url: "e320bf1ab9762cb1faad27d79f51219cpng",
level: 2,
name: "粤菜"
},
{
count: 0,
id: 232,
image_url: "a33f1ec0044ddd4d282fbc8b1f0a946fpng",
level: 2,
name: "海鲜"
},
{
count: 0,
id: 231,
image_url: "c03d81f550eb849ed2d4d0290ced9099png",
level: 2,
name: "火锅烤鱼"
},
{
count: 0,
id: 223,
image_url: "aa4de1e9b54170cf495d8052407658c5png",
level: 2,
name: "东北菜"
},
{
count: 0,
id: 226,
image_url: "741d15270496d7699dd2e7804fccc7a1png",
level: 2,
name: "西北菜"
},
{
count: 0,
id: 224,
image_url: "54dabf93116f4a336fcc91431be43828png",
level: 2,
name: "云南菜"
},
{
count: 0,
id: 228,
image_url: "a7e6d9cf1993fa4fe0bd02d74d40c9c2png",
level: 2,
name: "新疆菜"
},
{
count: 0,
id: 227,
image_url: "e19bf59188a157dfc372b3d254fc986dpng",
level: 2,
name: "鲁菜"
}
]
},
{
count: 0,
id: 260,
ids: [
260
],
image_url: "1babf6efbfdb0ef701f19689a5529e5fjpeg",
level: 1,
name: "异国料理",
sub_categories: [
{
count: 0,
id: 260,
image_url: "754c5c2ad1b01668a7186ec5f0fb0e59png",
level: 1,
name: "全部异国料理"
},
{
count: 0,
id: 229,
image_url: "cf8c84a2fe5ecf27b21bcbddc1724d36png",
level: 2,
name: "日韩料理"
},
{
count: 0,
id: 230,
image_url: "78c45200d58e5c02cb70fb8287df732dpng",
level: 2,
name: "西餐"
},
{
count: 0,
id: 211,
image_url: "bb7eb2afe778ba9afbe54f9d282818d1png",
level: 2,
name: "披萨意面"
},
{
count: 0,
id: 264,
image_url: "614053401fddc171eed0436f3cd1f7dcpng",
level: 2,
name: "东南亚菜"
}
]
},
{
count: 0,
id: 233,
ids: [
233
],
image_url: "435a7eda7659bac613e524ca7c1ae12epng",
level: 1,
name: "小吃夜宵",
sub_categories: [
{
count: 0,
id: 233,
image_url: "7d714540b1590552d991fd731e8772a3png",
level: 1,
name: "全部小吃夜宵"
},
{
count: 0,
id: 236,
image_url: "d049fb617edcea921185258d1675db83png",
level: 2,
name: "小龙虾"
},
{
count: 0,
id: 237,
image_url: "90483b16d9598aec798263220eb3a821png",
level: 2,
name: "地方小吃"
},
{
count: 0,
id: 218,
image_url: "3c6e2763cf4ee56f18fd1b7360585fb3png",
level: 2,
name: "烧烤"
},
{
count: 0,
id: 234,
image_url: "71164ef684e8a13b5e66a20a1c55671cpng",
level: 2,
name: "炸鸡炸串"
},
{
count: 0,
id: 235,
image_url: "efdba78945f83ed1e8e6e838718b4c65png",
level: 2,
name: "鸭脖卤味"
},
{
count: 0,
id: 238,
image_url: "d7e0be7e5420e213ea42e4fa3efa762bpng",
level: 2,
name: "零食"
}
]
},
{
count: 0,
id: 239,
ids: [
239
],
image_url: "48243703799592368585b23589cf3ba8png",
level: 1,
name: "甜品饮品",
sub_categories: [
{
count: 0,
id: 239,
image_url: "3233a4cac2e5e02cade80cce22992796png",
level: 1,
name: "全部甜品饮品"
},
{
count: 0,
id: 240,
image_url: "3a40add809b4405e677c4cab574e56c4png",
level: 2,
name: "奶茶果汁"
},
{
count: 0,
id: 241,
image_url: "213cbac0242d4845d1d28af0fa5fe35epng",
level: 2,
name: "甜品"
},
{
count: 0,
id: 242,
image_url: "c2f05ef82a7ee44b7848b7fb598d42e3png",
level: 2,
name: "咖啡"
}
]
},
{
count: 0,
id: 244,
ids: [
244
],
image_url: "6235a6fce94bed63a21508f68a72c158png",
level: 1,
name: "果蔬生鲜",
sub_categories: [
{
count: 0,
id: 244,
image_url: "1ce198f37a81285f4afa2aaf826a558fpng",
level: 1,
name: "全部果蔬生鲜"
},
{
count: 0,
id: 245,
image_url: "a831a37ec670ca93cd35a8a6b5a20e62png",
level: 2,
name: "水果"
},
{
count: 0,
id: 247,
image_url: "6d3cef77e055d03598cba821ebcf1f06png",
level: 2,
name: "生鲜"
},
{
count: 0,
id: 246,
image_url: "1729548b88614c1b3a6e71ef7f89f294png",
level: 2,
name: "蔬菜"
},
{
count: 0,
id: 270,
image_url: "a2ab438ee4ac09e6e53b3f96694bac81png",
level: 2,
name: "海鲜水产"
}
]
},
{
count: 0,
id: 248,
ids: [
248
],
image_url: "0e07558e305abfb2618ae760142222f9png",
level: 1,
name: "鲜花蛋糕",
sub_categories: [
{
count: 0,
id: 248,
image_url: "3edf3f4ef8ed1d300896c5b9178685ebpng",
level: 1,
name: "全部鲜花蛋糕"
},
{
count: 0,
id: 251,
image_url: "cf598de7338b4bf9dd2924736c4ec9d2png",
level: 2,
name: "鲜花"
},
{
count: 0,
id: 249,
image_url: "ac94b005c97ef158282326cb49389893png",
level: 2,
name: "蛋糕"
},
{
count: 0,
id: 250,
image_url: "512232422a83e25a2c0a5588b7b6e730png",
level: 2,
name: "面包"
}
]
},
{
count: 0,
id: 252,
ids: [
252
],
image_url: "ac15c5dd59b641bdfdeb822362547fb4png",
level: 1,
name: "商店超市",
sub_categories: [
{
count: 0,
id: 252,
image_url: "df21b511f287ccb402e68285d2653caepng",
level: 1,
name: "全部商店超市"
},
{
count: 0,
id: 254,
image_url: "92ae70438be9a3adfc5a560c1e6ae818png",
level: 2,
name: "超市"
},
{
count: 0,
id: 271,
image_url: "841d136b17fa4cb871a296c9e4997cfapng",
level: 2,
name: "便利店"
},
{
count: 0,
id: 274,
image_url: "7df84232aebbb5ffb53e564c9e328d31png",
level: 2,
name: "名酒坊"
},
{
count: 0,
id: 273,
image_url: "c2b0e2b27ea55a9a7211f14ad95dcd0apng",
level: 2,
name: "零食饮料"
},
{
count: 0,
id: 255,
image_url: "825031dc99e1f99c26feb7186b6cf3a6png",
level: 2,
name: "水站"
},
{
count: 0,
id: 258,
image_url: "54b7ce87994d6770f1ead57b0038c569png",
level: 2,
name: "茶"
},
{
count: 0,
id: 256,
image_url: "f6460e330d25dabd4fd8db07cf53f039png",
level: 2,
name: "奶站"
},
{
count: 0,
id: 257,
image_url: "b435af6662fd0b3e9fb6537474753f72png",
level: 2,
name: "粮油"
},
{
count: 0,
id: 272,
image_url: "f7e32a289deca477c286362e3a1bc2bcpng",
level: 2,
name: "美妆母婴"
}
]
}
]
================================================
FILE: InitData/cities.js
================================================
export default {
S: [
{
id: 1,
name: "上海",
abbr: "SH",
area_code: "021",
sort: 1,
latitude: 31.23037,
longitude: 121.473701,
is_map: true,
pinyin: "shanghai"
},
{
id: 31,
name: "石家庄",
abbr: "SJZ",
area_code: "0311",
sort: 17,
latitude: 38.042759,
longitude: 114.514297,
is_map: true,
pinyin: "shijiazhuang"
},
{
id: 401,
name: "三门峡",
abbr: "SMX",
area_code: "0398",
sort: 1900,
latitude: 34.77261,
longitude: 111.200302,
is_map: true,
pinyin: "sanmenxia"
},
{
id: 8,
name: "苏州",
abbr: "SZ",
area_code: "0512",
sort: 2000,
latitude: 31.29834,
longitude: 120.583191,
is_map: true,
pinyin: "suzhou"
},
{
id: 11,
name: "深圳",
abbr: "SZ",
area_code: "0755",
sort: 2000,
latitude: 22.54286,
longitude: 114.059563,
is_map: true,
pinyin: "shenzhen"
},
{
id: 16,
name: "沈阳",
abbr: "SY",
area_code: "024",
sort: 2000,
latitude: 41.80563,
longitude: 123.432358,
is_map: true,
pinyin: "shenyang"
},
{
id: 69,
name: "绍兴",
abbr: "SX",
area_code: "0575",
sort: 2000,
latitude: 30.030331,
longitude: 120.5802,
is_map: true,
pinyin: "shaoxing"
},
{
id: 72,
name: "韶关",
abbr: "SG",
area_code: "0751",
sort: 2000,
latitude: 24.81039,
longitude: 113.597229,
is_map: true,
pinyin: "shaoguan"
},
{
id: 97,
name: "上饶",
abbr: "SR",
area_code: "0793",
sort: 2000,
latitude: 28.45463,
longitude: 117.943573,
is_map: true,
pinyin: "shangrao"
},
{
id: 135,
name: "宿州",
abbr: "SZ",
area_code: "0557",
sort: 2000,
latitude: 33.646141,
longitude: 116.963913,
is_map: true,
pinyin: "suzhou"
},
{
id: 165,
name: "三亚",
abbr: "SY",
area_code: "460200",
sort: 2000,
latitude: 18.25248,
longitude: 109.512093,
is_map: true,
pinyin: "sanya"
},
{
id: 171,
name: "四平",
abbr: "SP",
area_code: "0434",
sort: 2000,
latitude: 43.166458,
longitude: 124.350357,
is_map: true,
pinyin: "siping"
},
{
id: 173,
name: "邵阳",
abbr: "SY",
area_code: "0739",
sort: 2000,
latitude: 27.238899,
longitude: 111.467697,
is_map: true,
pinyin: "shaoyang"
},
{
id: 196,
name: "十堰",
abbr: "SY",
area_code: "0719",
sort: 2000,
latitude: 32.615768,
longitude: 110.18734,
is_map: true,
pinyin: "shiyan"
},
{
id: 200,
name: "汕头",
abbr: "ST",
area_code: "0754",
sort: 2000,
latitude: 23.3535,
longitude: 116.682213,
is_map: true,
pinyin: "shantou"
},
{
id: 206,
name: "宿迁",
abbr: "SQ",
area_code: "0527",
sort: 2000,
latitude: 33.961929,
longitude: 118.27549,
is_map: true,
pinyin: "suqian"
},
{
id: 228,
name: "绥化",
abbr: "SH",
area_code: "0455",
sort: 2000,
latitude: 46.652458,
longitude: 126.969322,
is_map: true,
pinyin: "suihua"
},
{
id: 253,
name: "商丘",
abbr: "SQ",
area_code: "0370",
sort: 2000,
latitude: 34.414268,
longitude: 115.656349,
is_map: true,
pinyin: "shangqiu"
},
{
id: 258,
name: "石河子",
abbr: "SHZ",
area_code: "0993",
sort: 2000,
latitude: 44.30653,
longitude: 86.078934,
is_map: true,
pinyin: "shihezi"
},
{
id: 270,
name: "三明",
abbr: "SM",
area_code: "0598",
sort: 2000,
latitude: 26.263849,
longitude: 117.639221,
is_map: true,
pinyin: "sanming"
},
{
id: 291,
name: "遂宁",
abbr: "SNS",
area_code: "0825",
sort: 2000,
latitude: 30.53286,
longitude: 105.592728,
is_map: true,
pinyin: "suiningshi"
},
{
id: 329,
name: "石狮",
abbr: "SS",
area_code: "05951",
sort: 2000,
latitude: 24.73172,
longitude: 118.648048,
is_map: true,
pinyin: "shishi"
},
{
id: 392,
name: "朔州",
abbr: "SZ",
area_code: "0349",
sort: 2000,
latitude: 39.331589,
longitude: 112.431808,
is_map: true,
pinyin: "shuozhou"
},
{
id: 447,
name: "沙坪坝",
abbr: "SPB",
area_code: "10025",
sort: 2000,
latitude: 29.540979,
longitude: 106.457733,
is_map: true,
pinyin: "shapingba"
},
{
id: 458,
name: "寿县",
abbr: "SX",
area_code: "200004",
sort: 2000,
latitude: 32.573318,
longitude: 116.787079,
is_map: true,
pinyin: "shouxian"
},
{
id: 467,
name: "舒城",
abbr: "SC",
area_code: "200013",
sort: 2000,
latitude: 31.46209,
longitude: 116.9487,
is_map: true,
pinyin: "shucheng"
},
{
id: 473,
name: "濉溪",
abbr: "SX",
area_code: "200019",
sort: 2000,
latitude: 33.915371,
longitude: 116.766197,
is_map: true,
pinyin: "suixi"
},
{
id: 513,
name: "邵武",
abbr: "SW",
area_code: "200059",
sort: 2000,
latitude: 27.340361,
longitude: 117.492531,
is_map: true,
pinyin: "shaowu"
},
{
id: 542,
name: "四会",
abbr: "SH",
area_code: "200088",
sort: 2000,
latitude: 23.327431,
longitude: 112.734039,
is_map: true,
pinyin: "sihui"
},
{
id: 544,
name: "汕尾",
abbr: "SW",
area_code: "200090",
sort: 2000,
latitude: 22.78566,
longitude: 115.375137,
is_map: true,
pinyin: "shanwei"
},
{
id: 560,
name: "遂溪",
abbr: "SX",
area_code: "200106",
sort: 2000,
latitude: 21.377081,
longitude: 110.250061,
is_map: true,
pinyin: "suixi"
},
{
id: 604,
name: "沙河",
abbr: "SH",
area_code: "200150",
sort: 2000,
latitude: 36.85516,
longitude: 114.503319,
is_map: true,
pinyin: "shahe"
},
{
id: 605,
name: "涉县",
abbr: "SX",
area_code: "200151",
sort: 2000,
latitude: 36.584949,
longitude: 113.691422,
is_map: true,
pinyin: "shexian"
},
{
id: 609,
name: "深州",
abbr: "SZ",
area_code: "200155",
sort: 2000,
latitude: 38.000221,
longitude: 115.560013,
is_map: true,
pinyin: "shenzhou"
},
{
id: 631,
name: "上蔡",
abbr: "SC",
area_code: "200177",
sort: 2000,
latitude: 33.26255,
longitude: 114.264351,
is_map: true,
pinyin: "shangcai"
},
{
id: 646,
name: "沈丘",
abbr: "SQ",
area_code: "200192",
sort: 2000,
latitude: 33.409401,
longitude: 115.098557,
is_map: true,
pinyin: "shenqiu"
},
{
id: 656,
name: "商水",
abbr: "SS",
area_code: "200202",
sort: 2000,
latitude: 33.542561,
longitude: 114.611649,
is_map: true,
pinyin: "shangshui"
},
{
id: 658,
name: "社旗",
abbr: "SQ",
area_code: "200204",
sort: 2000,
latitude: 33.056141,
longitude: 112.947929,
is_map: true,
pinyin: "sheqi"
},
{
id: 699,
name: "双鸭山",
abbr: "SYS",
area_code: "200245",
sort: 2000,
latitude: 46.64658,
longitude: 131.159103,
is_map: true,
pinyin: "shuangyashan"
},
{
id: 702,
name: "尚志",
abbr: "SZ",
area_code: "200248",
sort: 2000,
latitude: 45.211021,
longitude: 127.960274,
is_map: true,
pinyin: "shangzhi"
},
{
id: 704,
name: "双城",
abbr: "SC",
area_code: "200250",
sort: 2000,
latitude: 45.383549,
longitude: 126.312271,
is_map: true,
pinyin: "shuangcheng"
},
{
id: 721,
name: "松滋",
abbr: "SZ",
area_code: "200267",
sort: 2000,
latitude: 30.1696,
longitude: 111.767433,
is_map: true,
pinyin: "songzi"
},
{
id: 733,
name: "石首",
abbr: "SS",
area_code: "200279",
sort: 2000,
latitude: 29.72085,
longitude: 112.425499,
is_map: true,
pinyin: "shishou"
},
{
id: 747,
name: "随县",
abbr: "SX",
area_code: "200293",
sort: 2000,
latitude: 31.8538,
longitude: 113.29995,
is_map: true,
pinyin: "suixian"
},
{
id: 748,
name: "沙洋",
abbr: "SY",
area_code: "200294",
sort: 2000,
latitude: 30.709181,
longitude: 112.588539,
is_map: true,
pinyin: "shayang"
},
{
id: 754,
name: "邵东",
abbr: "SD",
area_code: "200300",
sort: 2000,
latitude: 27.25844,
longitude: 111.744461,
is_map: true,
pinyin: "shaodong"
},
{
id: 790,
name: "石门",
abbr: "SM",
area_code: "200336",
sort: 2000,
latitude: 29.584129,
longitude: 111.379822,
is_map: true,
pinyin: "shimen"
},
{
id: 791,
name: "双峰",
abbr: "SF",
area_code: "200337",
sort: 2000,
latitude: 27.45702,
longitude: 112.193916,
is_map: true,
pinyin: "shuangfeng"
},
{
id: 808,
name: "舒兰",
abbr: "SL",
area_code: "200354",
sort: 2000,
latitude: 44.405861,
longitude: 126.965317,
is_map: true,
pinyin: "shulan"
},
{
id: 819,
name: "双辽",
abbr: "SL",
area_code: "200365",
sort: 2000,
latitude: 43.518452,
longitude: 123.50296,
is_map: true,
pinyin: "shuangliao"
},
{
id: 826,
name: "沭阳",
abbr: "SY",
area_code: "200372",
sort: 2000,
latitude: 34.112148,
longitude: 118.804062,
is_map: true,
pinyin: "shuyang"
},
{
id: 845,
name: "射阳",
abbr: "SY",
area_code: "200391",
sort: 2000,
latitude: 33.77496,
longitude: 120.258148,
is_map: true,
pinyin: "sheyang"
},
{
id: 847,
name: "泗洪",
abbr: "SH",
area_code: "200393",
sort: 2000,
latitude: 33.459,
longitude: 118.21624,
is_map: true,
pinyin: "sihong"
},
{
id: 849,
name: "泗阳",
abbr: "SY",
area_code: "200395",
sort: 2000,
latitude: 33.721008,
longitude: 118.703346,
is_map: true,
pinyin: "siyang"
},
{
id: 889,
name: "上栗",
abbr: "SL",
area_code: "200435",
sort: 2000,
latitude: 27.880421,
longitude: 113.795372,
is_map: true,
pinyin: "shangli"
},
{
id: 910,
name: "绥中",
abbr: "SZ",
area_code: "200456",
sort: 2000,
latitude: 40.325649,
longitude: 120.344307,
is_map: true,
pinyin: "suizhong"
},
{
id: 921,
name: "石嘴山",
abbr: "SZS",
area_code: "200467",
sort: 2000,
latitude: 38.9841,
longitude: 106.384178,
is_map: true,
pinyin: "shizuishan"
},
{
id: 932,
name: "寿光",
abbr: "SG",
area_code: "200478",
sort: 2000,
latitude: 36.855412,
longitude: 118.790977,
is_map: true,
pinyin: "shouguang"
},
{
id: 947,
name: "莘县",
abbr: "SX",
area_code: "200493",
sort: 2000,
latitude: 36.233608,
longitude: 115.670723,
is_map: true,
pinyin: "shenxian"
},
{
id: 1009,
name: "神木",
abbr: "SM",
area_code: "200555",
sort: 2000,
latitude: 38.842388,
longitude: 110.498962,
is_map: true,
pinyin: "shenmu"
},
{
id: 1011,
name: "双流",
abbr: "SL",
area_code: "200557",
sort: 2000,
latitude: 30.574471,
longitude: 103.923767,
is_map: true,
pinyin: "shuangliu"
},
{
id: 1016,
name: "射洪",
abbr: "SH",
area_code: "200562",
sort: 2000,
latitude: 30.87113,
longitude: 105.388359,
is_map: true,
pinyin: "shehong"
},
{
id: 1040,
name: "三台",
abbr: "ST",
area_code: "200586",
sort: 2000,
latitude: 31.095631,
longitude: 105.094589,
is_map: true,
pinyin: "santai"
},
{
id: 1048,
name: "什邡",
abbr: "SF",
area_code: "200594",
sort: 2000,
latitude: 31.127359,
longitude: 104.166939,
is_map: true,
pinyin: "shifang"
},
{
id: 1089,
name: "上虞",
abbr: "SY",
area_code: "200635",
sort: 2000,
latitude: 30.03227,
longitude: 120.868584,
is_map: true,
pinyin: "shangyu"
},
{
id: 1094,
name: "嵊州",
abbr: "SZ",
area_code: "200640",
sort: 2000,
latitude: 29.58849,
longitude: 120.821701,
is_map: true,
pinyin: "shengzhou"
},
{
id: 1113,
name: "三门",
abbr: "SM",
area_code: "200659",
sort: 2000,
latitude: 29.10467,
longitude: 121.395683,
is_map: true,
pinyin: "sanmen"
},
{
id: 1140,
name: "顺平",
abbr: "SP",
area_code: "130636",
sort: 2000,
latitude: 38.837589,
longitude: 115.135429,
is_map: false,
pinyin: "shunping"
},
{
id: 347,
name: "三河",
abbr: "SH",
area_code: "03161",
sort: 9999,
latitude: 39.98246,
longitude: 117.078217,
is_map: true,
pinyin: "sanhe"
},
{
id: 361,
name: "松原",
abbr: "SY",
area_code: "04381",
sort: 9999,
latitude: 45.141102,
longitude: 124.82515,
is_map: true,
pinyin: "songyuan"
},
{
id: 383,
name: "随州",
abbr: "SZ",
area_code: "0722",
sort: 9999,
latitude: 31.69013,
longitude: 113.382622,
is_map: true,
pinyin: "suizhou"
},
{
id: 1160,
name: "沙县",
abbr: "SX",
area_code: "350427",
sort: 9999,
latitude: 26.39617,
longitude: 117.792679,
is_map: true,
pinyin: "shaxian"
},
{
id: 1163,
name: "绥棱",
abbr: "SL",
area_code: "231226",
sort: 9999,
latitude: 47.236092,
longitude: 127.114777,
is_map: true,
pinyin: "suiling"
},
{
id: 1221,
name: "尚义",
abbr: "SY",
area_code: "130725",
sort: 9999,
latitude: 41.08009,
longitude: 113.977715,
is_map: true,
pinyin: "shangyi"
},
{
id: 1241,
name: "肃宁",
abbr: "SN",
area_code: "130926",
sort: 9999,
latitude: 38.427101,
longitude: 115.835854,
is_map: true,
pinyin: "suning"
},
{
id: 1389,
name: "商都",
abbr: "SD",
area_code: "150923",
sort: 9999,
latitude: 41.560162,
longitude: 113.560646,
is_map: true,
pinyin: "shangdu"
},
{
id: 1395,
name: "四子王旗",
abbr: "SZWQ",
area_code: "150929",
sort: 9999,
latitude: 41.528114,
longitude: 111.701233,
is_map: true,
pinyin: "siziwangqi"
},
{
id: 1406,
name: "苏尼特左旗",
abbr: "SNTZQ",
area_code: "152523",
sort: 9999,
latitude: 43.854107,
longitude: 113.653412,
is_map: true,
pinyin: "sunitezuoqi"
},
{
id: 1407,
name: "苏尼特右旗",
abbr: "SNTYQ",
area_code: "152524",
sort: 9999,
latitude: 42.746662,
longitude: 112.655388,
is_map: true,
pinyin: "suniteyouqi"
},
{
id: 1481,
name: "绥滨",
abbr: "SB",
area_code: "230422",
sort: 9999,
latitude: 47.28989,
longitude: 131.860519,
is_map: true,
pinyin: "suibin"
},
{
id: 1499,
name: "绥芬河",
abbr: "SFH",
area_code: "231080",
sort: 9999,
latitude: 44.396866,
longitude: 131.164856,
is_map: true,
pinyin: "suifenhe"
},
{
id: 1504,
name: "孙吴",
abbr: "SW",
area_code: "231124",
sort: 9999,
latitude: 49.423943,
longitude: 127.327316,
is_map: true,
pinyin: "sunwu"
},
{
id: 1521,
name: "嵊泗",
abbr: "SS",
area_code: "330922",
sort: 9999,
latitude: 30.727165,
longitude: 122.457809,
is_map: true,
pinyin: "shengsi"
},
{
id: 1522,
name: "遂昌",
abbr: "SC",
area_code: "331123",
sort: 9999,
latitude: 28.5924,
longitude: 119.275887,
is_map: true,
pinyin: "suichang"
},
{
id: 1523,
name: "松阳",
abbr: "SY",
area_code: "331124",
sort: 9999,
latitude: 28.449938,
longitude: 119.485291,
is_map: true,
pinyin: "songyang"
},
{
id: 1533,
name: "宿松",
abbr: "SS",
area_code: "340826",
sort: 9999,
latitude: 30.158327,
longitude: 116.120201,
is_map: true,
pinyin: "susong"
},
{
id: 1561,
name: "顺昌",
abbr: "SC",
area_code: "350721",
sort: 9999,
latitude: 26.79285,
longitude: 117.807709,
is_map: true,
pinyin: "shunchang"
},
{
id: 1563,
name: "松溪",
abbr: "SX",
area_code: "350724",
sort: 9999,
latitude: 27.525785,
longitude: 118.783493,
is_map: true,
pinyin: "songxi"
},
{
id: 1565,
name: "上杭县",
abbr: "SHX",
area_code: "350823",
sort: 9999,
latitude: 25.049431,
longitude: 116.420258,
is_map: true,
pinyin: "shanghangxian"
},
{
id: 1570,
name: "寿宁",
abbr: "SN",
area_code: "350924",
sort: 9999,
latitude: 27.457798,
longitude: 119.506737,
is_map: true,
pinyin: "shouning"
},
{
id: 1582,
name: "深泽县",
abbr: "SZX",
area_code: "130128",
sort: 9999,
latitude: 38.18454,
longitude: 115.200211,
is_map: true,
pinyin: "shenze"
},
{
id: 1587,
name: "上犹",
abbr: "SY",
area_code: "360724",
sort: 9999,
latitude: 25.794285,
longitude: 114.540535,
is_map: true,
pinyin: "shangyou"
},
{
id: 1593,
name: "石城县",
abbr: "SCX",
area_code: "360735",
sort: 9999,
latitude: 26.326582,
longitude: 116.342247,
is_map: true,
pinyin: "shicheng"
},
{
id: 1598,
name: "遂川县",
abbr: "SCX",
area_code: "360827",
sort: 9999,
latitude: 26.323706,
longitude: 114.516891,
is_map: true,
pinyin: "suichuan"
},
{
id: 1604,
name: "上高",
abbr: "SG",
area_code: "360923",
sort: 9999,
latitude: 28.234789,
longitude: 114.932655,
is_map: true,
pinyin: "shanggao"
},
{
id: 1625,
name: "商河",
abbr: "SH",
area_code: "370126",
sort: 9999,
latitude: 37.310543,
longitude: 117.156372,
is_map: true,
pinyin: "shanghe"
},
{
id: 1632,
name: "泗水",
abbr: "SS",
area_code: "370831",
sort: 9999,
latitude: 35.653217,
longitude: 117.273605,
is_map: true,
pinyin: "sishui"
},
{
id: 1643,
name: "嵩县",
abbr: "SX",
area_code: "410325",
sort: 9999,
latitude: 34.131561,
longitude: 112.087769,
is_map: true,
pinyin: "songxian"
},
{
id: 1664,
name: "陕县",
abbr: "SX",
area_code: "411222",
sort: 9999,
latitude: 34.701946,
longitude: 111.090828,
is_map: true,
pinyin: "shanxian"
},
{
id: 1671,
name: "商城",
abbr: "SC",
area_code: "411524",
sort: 9999,
latitude: 31.799982,
longitude: 115.406296,
is_map: true,
pinyin: "shangcheng"
},
{
id: 1703,
name: "韶山",
abbr: "SS",
area_code: "430382",
sort: 9999,
latitude: 27.922682,
longitude: 112.528481,
is_map: true,
pinyin: "shaoshan"
},
{
id: 1706,
name: "邵阳县",
abbr: "SYX",
area_code: "430523",
sort: 9999,
latitude: 26.989714,
longitude: 111.275703,
is_map: true,
pinyin: "shaoyang"
},
{
id: 1715,
name: "双牌",
abbr: "SP",
area_code: "431123",
sort: 9999,
latitude: 25.959396,
longitude: 111.662148,
is_map: true,
pinyin: "shuangpai"
},
{
id: 1769,
name: "上林",
abbr: "SL",
area_code: "450125",
sort: 9999,
latitude: 23.431768,
longitude: 108.603935,
is_map: true,
pinyin: "shanglin"
},
{
id: 1777,
name: "三江侗族自治县",
abbr: "SJDZZZX",
area_code: "450226",
sort: 9999,
latitude: 25.78553,
longitude: 109.614845,
is_map: true,
pinyin: "sanjiangdongzuzizhixian"
},
{
id: 1795,
name: "上思",
abbr: "SS",
area_code: "450621",
sort: 9999,
latitude: 22.151423,
longitude: 107.98214,
is_map: true,
pinyin: "shangsi"
},
{
id: 1959,
name: "水城",
abbr: "SC",
area_code: "520221",
sort: 9999,
latitude: 26.540478,
longitude: 104.956848,
is_map: true,
pinyin: "shuicheng"
},
{
id: 1962,
name: "绥阳",
abbr: "SY",
area_code: "520323",
sort: 9999,
latitude: 27.951342,
longitude: 107.191025,
is_map: true,
pinyin: "suiyang"
},
{
id: 1980,
name: "石阡",
abbr: "SQ",
area_code: "520623",
sort: 9999,
latitude: 27.519386,
longitude: 108.229851,
is_map: true,
pinyin: "shiqian"
},
{
id: 1981,
name: "思南",
abbr: "SN",
area_code: "520624",
sort: 9999,
latitude: 27.941332,
longitude: 108.255829,
is_map: true,
pinyin: "sinan"
},
{
id: 1985,
name: "松桃苗族自治县",
abbr: "STMZZZX",
area_code: "520628",
sort: 9999,
latitude: 28.165419,
longitude: 109.202629,
is_map: true,
pinyin: "songtaomiaozuzizhixian"
},
{
id: 1996,
name: "施秉",
abbr: "SB",
area_code: "522623",
sort: 9999,
latitude: 27.034657,
longitude: 108.126778,
is_map: true,
pinyin: "shibing"
},
{
id: 1997,
name: "三穗",
abbr: "SS",
area_code: "522624",
sort: 9999,
latitude: 26.959885,
longitude: 108.681122,
is_map: true,
pinyin: "sansui"
},
{
id: 2021,
name: "三都水族自治县",
abbr: "SDSZZZX",
area_code: "522732",
sort: 9999,
latitude: 25.985184,
longitude: 107.877472,
is_map: true,
pinyin: "sandushuizuzizhixian"
},
{
id: 2024,
name: "石林彝族自治县",
abbr: "SLYZZZX",
area_code: "530126",
sort: 9999,
latitude: 24.754545,
longitude: 103.271965,
is_map: true,
pinyin: "shilinyizuzizhixian"
},
{
id: 2025,
name: "嵩明",
abbr: "SM",
area_code: "530127",
sort: 9999,
latitude: 25.335087,
longitude: 103.03878,
is_map: true,
pinyin: "songming"
},
{
id: 2029,
name: "师宗",
abbr: "SZ",
area_code: "530323",
sort: 9999,
latitude: 24.825682,
longitude: 103.993805,
is_map: true,
pinyin: "shizong"
},
{
id: 2038,
name: "施甸",
abbr: "SD",
area_code: "530521",
sort: 9999,
latitude: 24.730846,
longitude: 99.183762,
is_map: true,
pinyin: "shidian"
},
{
id: 2046,
name: "绥江",
abbr: "SJ",
area_code: "530626",
sort: 9999,
latitude: 28.599953,
longitude: 103.961098,
is_map: true,
pinyin: "suijiang"
},
{
id: 2049,
name: "水富",
abbr: "SF",
area_code: "530630",
sort: 9999,
latitude: 28.629688,
longitude: 104.415375,
is_map: true,
pinyin: "shuifu"
},
{
id: 2068,
name: "双江拉祜族佤族布朗族傣族自治县",
abbr: "SJLHZWZBLZDZZZX",
area_code: "530925",
sort: 9999,
latitude: 23.477476,
longitude: 99.824417,
is_map: true,
pinyin: "shuangjianglahuzuwazubulangzudaizuzizhixian"
},
{
id: 2072,
name: "双柏",
abbr: "SB",
area_code: "532322",
sort: 9999,
latitude: 24.685095,
longitude: 101.638237,
is_map: true,
pinyin: "shuangbai"
},
{
id: 2083,
name: "石屏",
abbr: "SP",
area_code: "532525",
sort: 9999,
latitude: 23.712568,
longitude: 102.484467,
is_map: true,
pinyin: "shiping"
},
{
id: 2217,
name: "三原",
abbr: "SY",
area_code: "610422",
sort: 9999,
latitude: 34.613995,
longitude: 108.943481,
is_map: true,
pinyin: "sanyuan"
},
{
id: 2269,
name: "石泉",
abbr: "SQ",
area_code: "610922",
sort: 9999,
latitude: 33.038513,
longitude: 108.250511,
is_map: true,
pinyin: "shiquan"
},
{
id: 2277,
name: "商洛",
abbr: "SL",
area_code: "611000",
sort: 9999,
latitude: 33.86832,
longitude: 109.939774,
is_map: true,
pinyin: "shangluo"
},
{
id: 2280,
name: "商南",
abbr: "SN",
area_code: "611023",
sort: 9999,
latitude: 33.526367,
longitude: 110.885437,
is_map: true,
pinyin: "shangnan"
},
{
id: 2281,
name: "山阳",
abbr: "SY",
area_code: "611024",
sort: 9999,
latitude: 33.530411,
longitude: 109.880432,
is_map: true,
pinyin: "shanyang"
},
{
id: 2299,
name: "肃南裕固族自治县",
abbr: "SNYGZZZX",
area_code: "620721",
sort: 9999,
latitude: 38.837269,
longitude: 99.617088,
is_map: true,
pinyin: "sunanyuguzuzizhixian"
},
{
id: 2303,
name: "山丹",
abbr: "SD",
area_code: "620725",
sort: 9999,
latitude: 38.78484,
longitude: 101.08844,
is_map: true,
pinyin: "shandan"
},
{
id: 5819,
name: "思茅区",
abbr: "SMQ",
area_code: "530802",
sort: 9999,
latitude: 22.776594,
longitude: 100.973228,
is_map: true,
pinyin: "simaoqu"
}
],
H: [
{
id: 10,
name: "哈尔滨",
abbr: "HEB",
area_code: "0451",
sort: 4,
latitude: 45.802158,
longitude: 126.535797,
is_map: true,
pinyin: "haerbin"
},
{
id: 2,
name: "杭州",
abbr: "HZ",
area_code: "0571",
sort: 8,
latitude: 30.274151,
longitude: 120.155151,
is_map: true,
pinyin: "hangzhou"
},
{
id: 385,
name: "黄骅",
abbr: "HH",
area_code: "03172",
sort: 1900,
latitude: 38.371391,
longitude: 117.330116,
is_map: true,
pinyin: "huanghua"
},
{
id: 406,
name: "鹤壁",
abbr: "HB",
area_code: "0392",
sort: 1900,
latitude: 35.747002,
longitude: 114.297447,
is_map: true,
pinyin: "hebi"
},
{
id: 17,
name: "合肥",
abbr: "HF",
area_code: "0551",
sort: 2000,
latitude: 31.82057,
longitude: 117.229012,
is_map: true,
pinyin: "hefei"
},
{
id: 53,
name: "淮南",
abbr: "HN",
area_code: "0554",
sort: 2000,
latitude: 32.625488,
longitude: 116.999802,
is_map: true,
pinyin: "huainan"
},
{
id: 57,
name: "惠州",
abbr: "HZ",
area_code: "0752",
sort: 2000,
latitude: 23.11075,
longitude: 114.416786,
is_map: true,
pinyin: "huizhou"
},
{
id: 61,
name: "湖州",
abbr: "HZ",
area_code: "0572",
sort: 2000,
latitude: 30.893049,
longitude: 120.088051,
is_map: true,
pinyin: "huzhou"
},
{
id: 62,
name: "海口",
abbr: "HK",
area_code: "0898",
sort: 2000,
latitude: 20.04422,
longitude: 110.19989,
is_map: true,
pinyin: "haikou"
},
{
id: 92,
name: "呼和浩特",
abbr: "HHHT",
area_code: "0471",
sort: 2000,
latitude: 40.841492,
longitude: 111.751991,
is_map: true,
pinyin: "huhehaote"
},
{
id: 114,
name: "淮安",
abbr: "HA",
area_code: "0517",
sort: 2000,
latitude: 33.610161,
longitude: 119.015953,
is_map: true,
pinyin: "huaian"
},
{
id: 116,
name: "衡阳",
abbr: "HY",
area_code: "0734",
sort: 2000,
latitude: 26.89324,
longitude: 112.571953,
is_map: true,
pinyin: "hengyang"
},
{
id: 133,
name: "怀化",
abbr: "HH",
area_code: "0745",
sort: 2000,
latitude: 27.56974,
longitude: 110.001602,
is_map: true,
pinyin: "huaihua"
},
{
id: 152,
name: "黄石",
abbr: "HS",
area_code: "0714",
sort: 2000,
latitude: 30.19953,
longitude: 115.038902,
is_map: true,
pinyin: "huangshi"
},
{
id: 170,
name: "邯郸",
abbr: "HD",
area_code: "0310",
sort: 2000,
latitude: 36.625561,
longitude: 114.539177,
is_map: true,
pinyin: "handan"
},
{
id: 177,
name: "菏泽",
abbr: "HZ",
area_code: "0530",
sort: 2000,
latitude: 35.233631,
longitude: 115.481148,
is_map: true,
pinyin: "heze"
},
{
id: 199,
name: "黄山",
abbr: "HS",
area_code: "0559",
sort: 2000,
latitude: 29.71517,
longitude: 118.338661,
is_map: true,
pinyin: "huangshan"
},
{
id: 214,
name: "淮北",
abbr: "HB",
area_code: "0561",
sort: 2000,
latitude: 33.67078,
longitude: 116.926224,
is_map: true,
pinyin: "huaibei"
},
{
id: 217,
name: "黄冈",
abbr: "HG",
area_code: "0713",
sort: 2000,
latitude: 30.45347,
longitude: 114.872383,
is_map: true,
pinyin: "huanggang"
},
{
id: 218,
name: "葫芦岛",
abbr: "HLD",
area_code: "0429",
sort: 2000,
latitude: 40.710999,
longitude: 120.83699,
is_map: true,
pinyin: "huludao"
},
{
id: 245,
name: "红河",
abbr: "HHZZZ",
area_code: "0873",
sort: 2000,
latitude: 23.36907,
longitude: 102.420792,
is_map: true,
pinyin: "honghezizhizhou"
},
{
id: 252,
name: "贺州",
abbr: "HZ",
area_code: "4401002",
sort: 2000,
latitude: 24.40346,
longitude: 111.566551,
is_map: true,
pinyin: "hezhou"
},
{
id: 259,
name: "汉中",
abbr: "HZ",
area_code: "0916",
sort: 2000,
latitude: 33.067612,
longitude: 107.023773,
is_map: true,
pinyin: "hanzhong"
},
{
id: 266,
name: "衡水",
abbr: "HS",
area_code: "0318",
sort: 2000,
latitude: 37.738861,
longitude: 115.67054,
is_map: true,
pinyin: "hengshui"
},
{
id: 398,
name: "呼伦贝尔",
abbr: "HLBE",
area_code: "0470",
sort: 2000,
latitude: 49.211632,
longitude: 119.765839,
is_map: true,
pinyin: "hulunbeier"
},
{
id: 432,
name: "合川",
abbr: "HC",
area_code: "10010",
sort: 2000,
latitude: 29.972879,
longitude: 106.276787,
is_map: true,
pinyin: "hechuan"
},
{
id: 433,
name: "河西",
abbr: "HX",
area_code: "10011",
sort: 2000,
latitude: 39.109539,
longitude: 117.223358,
is_map: true,
pinyin: "hexi"
},
{
id: 466,
name: "霍邱",
abbr: "HQ",
area_code: "200012",
sort: 2000,
latitude: 32.353199,
longitude: 116.278229,
is_map: true,
pinyin: "huoqiu"
},
{
id: 471,
name: "怀远",
abbr: "HY",
area_code: "200017",
sort: 2000,
latitude: 32.9701,
longitude: 117.205139,
is_map: true,
pinyin: "huaiyuan"
},
{
id: 478,
name: "和县",
abbr: "HX",
area_code: "200024",
sort: 2000,
latitude: 31.74423,
longitude: 118.351448,
is_map: true,
pinyin: "hexian"
},
{
id: 481,
name: "怀宁",
abbr: "HN",
area_code: "200027",
sort: 2000,
latitude: 30.73381,
longitude: 116.829742,
is_map: true,
pinyin: "huaining"
},
{
id: 488,
name: "霍山",
abbr: "HS",
area_code: "200034",
sort: 2000,
latitude: 31.39279,
longitude: 116.332687,
is_map: true,
pinyin: "huoshan"
},
{
id: 496,
name: "惠安",
abbr: "HA",
area_code: "200042",
sort: 2000,
latitude: 25.030649,
longitude: 118.796951,
is_map: true,
pinyin: "huian"
},
{
id: 535,
name: "海丰",
abbr: "HF",
area_code: "200081",
sort: 2000,
latitude: 22.96657,
longitude: 115.32341,
is_map: true,
pinyin: "haifeng"
},
{
id: 536,
name: "惠来",
abbr: "HL",
area_code: "200082",
sort: 2000,
latitude: 23.033211,
longitude: 116.295113,
is_map: true,
pinyin: "huilai"
},
{
id: 537,
name: "惠东",
abbr: "HD",
area_code: "200083",
sort: 2000,
latitude: 22.984859,
longitude: 114.719994,
is_map: true,
pinyin: "huidong"
},
{
id: 550,
name: "鹤山",
abbr: "HS",
area_code: "200096",
sort: 2000,
latitude: 22.765301,
longitude: 112.964363,
is_map: true,
pinyin: "heshan"
},
{
id: 554,
name: "化州",
abbr: "HZ",
area_code: "200100",
sort: 2000,
latitude: 21.663971,
longitude: 110.639542,
is_map: true,
pinyin: "huazhou"
},
{
id: 633,
name: "淮阳",
abbr: "HY",
area_code: "200179",
sort: 2000,
latitude: 33.731499,
longitude: 114.886139,
is_map: true,
pinyin: "huaiyang"
},
{
id: 648,
name: "潢川",
abbr: "HC",
area_code: "200194",
sort: 2000,
latitude: 32.131561,
longitude: 115.051292,
is_map: true,
pinyin: "huangchuan"
},
{
id: 653,
name: "辉县",
abbr: "HX",
area_code: "200199",
sort: 2000,
latitude: 35.46212,
longitude: 113.805397,
is_map: true,
pinyin: "huixian"
},
{
id: 660,
name: "滑县",
abbr: "HX",
area_code: "200206",
sort: 2000,
latitude: 35.57534,
longitude: 114.519302,
is_map: true,
pinyin: "huaxian"
},
{
id: 672,
name: "睢县",
abbr: "HX",
area_code: "200218",
sort: 2000,
latitude: 34.445259,
longitude: 115.071533,
is_map: true,
pinyin: "huixian"
},
{
id: 682,
name: "淮滨",
abbr: "HB",
area_code: "200228",
sort: 2000,
latitude: 32.473389,
longitude: 115.419868,
is_map: true,
pinyin: "huaibin"
},
{
id: 697,
name: "鹤岗",
abbr: "HG",
area_code: "200243",
sort: 2000,
latitude: 47.349892,
longitude: 130.297852,
is_map: true,
pinyin: "hegang"
},
{
id: 711,
name: "汉川",
abbr: "HC",
area_code: "200257",
sort: 2000,
latitude: 30.661221,
longitude: 113.839073,
is_map: true,
pinyin: "hanchuan"
},
{
id: 717,
name: "黄梅",
abbr: "HM",
area_code: "200263",
sort: 2000,
latitude: 30.07037,
longitude: 115.944321,
is_map: true,
pinyin: "huangmei"
},
{
id: 720,
name: "洪湖",
abbr: "HH",
area_code: "200266",
sort: 2000,
latitude: 29.82756,
longitude: 113.477753,
is_map: true,
pinyin: "honghu"
},
{
id: 738,
name: "红安",
abbr: "HA",
area_code: "200284",
sort: 2000,
latitude: 31.288099,
longitude: 114.618134,
is_map: true,
pinyin: "hongan"
},
{
id: 759,
name: "衡南",
abbr: "HN",
area_code: "200305",
sort: 2000,
latitude: 26.73831,
longitude: 112.677917,
is_map: true,
pinyin: "hengnan"
},
{
id: 775,
name: "汉寿",
abbr: "HS",
area_code: "200321",
sort: 2000,
latitude: 28.905491,
longitude: 111.970428,
is_map: true,
pinyin: "hanshou"
},
{
id: 778,
name: "华容",
abbr: "HR",
area_code: "200324",
sort: 2000,
latitude: 29.53023,
longitude: 112.540947,
is_map: true,
pinyin: "huarong"
},
{
id: 787,
name: "衡东",
abbr: "HD",
area_code: "200333",
sort: 2000,
latitude: 27.08116,
longitude: 112.953247,
is_map: true,
pinyin: "hengdong"
},
{
id: 793,
name: "洪江",
abbr: "HJ",
area_code: "200339",
sort: 2000,
latitude: 27.209249,
longitude: 109.836548,
is_map: true,
pinyin: "hongjiang"
},
{
id: 816,
name: "桦甸",
abbr: "HD",
area_code: "200362",
sort: 2000,
latitude: 42.97208,
longitude: 126.746269,
is_map: true,
pinyin: "huadian"
},
{
id: 820,
name: "珲春",
abbr: "HC",
area_code: "200366",
sort: 2000,
latitude: 42.862492,
longitude: 130.365768,
is_map: true,
pinyin: "hunchun"
},
{
id: 822,
name: "辉南",
abbr: "HN",
area_code: "200368",
sort: 2000,
latitude: 42.68499,
longitude: 126.046867,
is_map: true,
pinyin: "huinan"
},
{
id: 835,
name: "睢宁",
abbr: "HN",
area_code: "200381",
sort: 2000,
latitude: 33.912739,
longitude: 117.941078,
is_map: true,
pinyin: "huining"
},
{
id: 837,
name: "海门",
abbr: "HM",
area_code: "200383",
sort: 2000,
latitude: 31.871651,
longitude: 121.181793,
is_map: true,
pinyin: "haimen"
},
{
id: 838,
name: "海安",
abbr: "HA",
area_code: "200384",
sort: 2000,
latitude: 32.533081,
longitude: 120.46759,
is_map: true,
pinyin: "haian"
},
{
id: 882,
name: "会昌",
abbr: "HC",
area_code: "200428",
sort: 2000,
latitude: 25.600389,
longitude: 115.786003,
is_map: true,
pinyin: "huichang"
},
{
id: 908,
name: "黑山",
abbr: "HS",
area_code: "200454",
sort: 2000,
latitude: 41.693909,
longitude: 122.120659,
is_map: true,
pinyin: "heishan"
},
{
id: 961,
name: "桓台",
abbr: "HT",
area_code: "200507",
sort: 2000,
latitude: 36.959332,
longitude: 118.097969,
is_map: true,
pinyin: "huantai"
},
{
id: 975,
name: "海阳",
abbr: "HY",
area_code: "200521",
sort: 2000,
latitude: 36.776451,
longitude: 121.158463,
is_map: true,
pinyin: "haiyang"
},
{
id: 978,
name: "惠民",
abbr: "HM",
area_code: "200524",
sort: 2000,
latitude: 37.489819,
longitude: 117.509201,
is_map: true,
pinyin: "huimin"
},
{
id: 998,
name: "洪洞",
abbr: "HD",
area_code: "200544",
sort: 2000,
latitude: 36.253738,
longitude: 111.674957,
is_map: true,
pinyin: "hongdong"
},
{
id: 1006,
name: "河津",
abbr: "HJ",
area_code: "200552",
sort: 2000,
latitude: 35.596432,
longitude: 110.711861,
is_map: true,
pinyin: "hejin"
},
{
id: 1038,
name: "合江",
abbr: "HJ",
area_code: "200584",
sort: 2000,
latitude: 28.81147,
longitude: 105.831352,
is_map: true,
pinyin: "hejiang"
},
{
id: 1061,
name: "会泽",
abbr: "HZ",
area_code: "200607",
sort: 2000,
latitude: 26.41791,
longitude: 103.297371,
is_map: true,
pinyin: "huize"
},
{
id: 1085,
name: "海宁",
abbr: "HN",
area_code: "200631",
sort: 2000,
latitude: 30.50938,
longitude: 120.681023,
is_map: true,
pinyin: "haining"
},
{
id: 1101,
name: "海盐",
abbr: "HY",
area_code: "200647",
sort: 2000,
latitude: 30.52553,
longitude: 120.945793,
is_map: true,
pinyin: "haiyan"
},
{
id: 365,
name: "河源",
abbr: "HY",
area_code: "0762",
sort: 9999,
latitude: 23.74365,
longitude: 114.700653,
is_map: true,
pinyin: "heyuan"
},
{
id: 366,
name: "河间",
abbr: "HJ",
area_code: "03173",
sort: 9999,
latitude: 38.44548,
longitude: 116.098999,
is_map: true,
pinyin: "hejian"
},
{
id: 368,
name: "海城",
abbr: "HC",
area_code: "04121",
sort: 9999,
latitude: 40.881451,
longitude: 122.684631,
is_map: true,
pinyin: "haicheng"
},
{
id: 1149,
name: "黑河",
abbr: "HH",
area_code: "231100",
sort: 9999,
latitude: 50.245232,
longitude: 127.528519,
is_map: true,
pinyin: "heihe"
},
{
id: 1156,
name: "海伦",
abbr: "HL",
area_code: "231283",
sort: 9999,
latitude: 47.462101,
longitude: 126.973381,
is_map: true,
pinyin: "hailun"
},
{
id: 1167,
name: "河池",
abbr: "HC",
area_code: "451200",
sort: 9999,
latitude: 24.692909,
longitude: 108.085403,
is_map: true,
pinyin: "hechi"
},
{
id: 1173,
name: "怀柔",
abbr: "HY",
area_code: "110116",
sort: 9999,
latitude: 40.316002,
longitude: 116.631767,
is_map: true,
pinyin: "huairou"
},
{
id: 1224,
name: "怀安",
abbr: "HA",
area_code: "130728",
sort: 9999,
latitude: 40.678555,
longitude: 114.718155,
is_map: true,
pinyin: "huaian"
},
{
id: 1226,
name: "怀来",
abbr: "HL",
area_code: "130730",
sort: 9999,
latitude: 40.405403,
longitude: 115.520844,
is_map: true,
pinyin: "huailai"
},
{
id: 1240,
name: "海兴",
abbr: "HX",
area_code: "130924",
sort: 9999,
latitude: 38.141582,
longitude: 117.496605,
is_map: true,
pinyin: "haixing"
},
{
id: 1289,
name: "怀仁县",
abbr: "HRX",
area_code: "140624",
sort: 9999,
latitude: 39.820789,
longitude: 113.10051,
is_map: true,
pinyin: "huairen"
},
{
id: 1330,
name: "侯马",
abbr: "HM",
area_code: "141081",
sort: 9999,
latitude: 35.6203,
longitude: 111.371269,
is_map: true,
pinyin: "houma"
},
{
id: 1345,
name: "和林格尔",
abbr: "HLGE",
area_code: "150123",
sort: 9999,
latitude: 40.380287,
longitude: 111.824142,
is_map: true,
pinyin: "helingeer"
},
{
id: 1365,
name: "霍林郭勒",
abbr: "HLGL",
area_code: "150581",
sort: 9999,
latitude: 45.53236,
longitude: 119.65786,
is_map: true,
pinyin: "huolinguole"
},
{
id: 1368,
name: "杭锦旗",
abbr: "HJQ",
area_code: "150625",
sort: 9999,
latitude: 39.831787,
longitude: 108.73632,
is_map: true,
pinyin: "hangjinqi"
},
{
id: 1386,
name: "杭锦后旗",
abbr: "HJHQ",
area_code: "150826",
sort: 9999,
latitude: 40.888798,
longitude: 107.147682,
is_map: true,
pinyin: "hangjinhouqi"
},
{
id: 1388,
name: "化德",
abbr: "HD",
area_code: "150922",
sort: 9999,
latitude: 41.899334,
longitude: 114.010078,
is_map: true,
pinyin: "huade"
},
{
id: 1428,
name: "桓仁满族自治县",
abbr: "HRMZZZX",
area_code: "210522",
sort: 9999,
latitude: 41.268997,
longitude: 125.359192,
is_map: true,
pinyin: "huanrenmanzuzizhixian"
},
{
id: 1462,
name: "和龙",
abbr: "HL",
area_code: "222406",
sort: 9999,
latitude: 42.547005,
longitude: 129.008743,
is_map: true,
pinyin: "helong"
},
{
id: 1478,
name: "虎林",
abbr: "HL",
area_code: "230381",
sort: 9999,
latitude: 45.767986,
longitude: 132.973877,
is_map: true,
pinyin: "hulin"
},
{
id: 1491,
name: "桦南",
abbr: "HN",
area_code: "230822",
sort: 9999,
latitude: 46.240116,
longitude: 130.570114,
is_map: true,
pinyin: "huanan"
},
{
id: 1492,
name: "桦川",
abbr: "HC",
area_code: "230826",
sort: 9999,
latitude: 47.023041,
longitude: 130.723709,
is_map: true,
pinyin: "huachuan"
},
{
id: 1500,
name: "海林",
abbr: "HL",
area_code: "231082",
sort: 9999,
latitude: 44.57415,
longitude: 129.387909,
is_map: true,
pinyin: "hailin"
},
{
id: 1512,
name: "呼玛",
abbr: "HM",
area_code: "232721",
sort: 9999,
latitude: 51.726997,
longitude: 126.662102,
is_map: true,
pinyin: "huma"
},
{
id: 1514,
name: "洪泽",
abbr: "HZ",
area_code: "320829",
sort: 9999,
latitude: 33.294975,
longitude: 118.867874,
is_map: true,
pinyin: "hongze"
},
{
id: 1560,
name: "华安",
abbr: "HA",
area_code: "350629",
sort: 9999,
latitude: 25.001415,
longitude: 117.536308,
is_map: true,
pinyin: "huaan"
},
{
id: 1580,
name: "湖口",
abbr: "HK",
area_code: "360429",
sort: 9999,
latitude: 29.726299,
longitude: 116.244316,
is_map: true,
pinyin: "hukou"
},
{
id: 1618,
name: "横峰",
abbr: "HF",
area_code: "361125",
sort: 9999,
latitude: 28.415104,
longitude: 117.608246,
is_map: true,
pinyin: "hengfeng"
},
{
id: 1653,
name: "获嘉",
abbr: "HJ",
area_code: "410724",
sort: 9999,
latitude: 35.261684,
longitude: 113.657249,
is_map: true,
pinyin: "huojia"
},
{
id: 1705,
name: "衡山",
abbr: "HS",
area_code: "430423",
sort: 9999,
latitude: 27.234808,
longitude: 112.869713,
is_map: true,
pinyin: "hengshan"
},
{
id: 1754,
name: "和平",
abbr: "HP",
area_code: "441624",
sort: 9999,
latitude: 24.44318,
longitude: 114.941475,
is_map: true,
pinyin: "heping"
},
{
id: 1771,
name: "横县",
abbr: "HX",
area_code: "450127",
sort: 9999,
latitude: 22.687429,
longitude: 109.270988,
is_map: true,
pinyin: "hengxian"
},
{
id: 1793,
name: "合浦",
abbr: "HP",
area_code: "450521",
sort: 9999,
latitude: 21.663553,
longitude: 109.200691,
is_map: true,
pinyin: "hepu"
},
{
id: 1823,
name: "环江毛南族自治县",
abbr: "HJMNZZZX",
area_code: "451226",
sort: 9999,
latitude: 24.827627,
longitude: 108.258667,
is_map: true,
pinyin: "huanjiangmaonanzuzizhixian"
},
{
id: 1832,
name: "合山",
abbr: "HS",
area_code: "451381",
sort: 9999,
latitude: 23.81311,
longitude: 108.88858,
is_map: true,
pinyin: "heshan"
},
{
id: 1893,
name: "华蓥",
abbr: "HY",
area_code: "511681",
sort: 9999,
latitude: 30.380573,
longitude: 106.777885,
is_map: true,
pinyin: "huaying"
},
{
id: 1977,
name: "赫章",
abbr: "HZ",
area_code: "520527",
sort: 9999,
latitude: 27.119244,
longitude: 104.72644,
is_map: true,
pinyin: "hezhang"
},
{
id: 1995,
name: "黄平",
abbr: "HP",
area_code: "522622",
sort: 9999,
latitude: 26.896973,
longitude: 107.901337,
is_map: true,
pinyin: "huangping"
},
{
id: 2020,
name: "惠水",
abbr: "HS",
area_code: "522731",
sort: 9999,
latitude: 26.128637,
longitude: 106.657845,
is_map: true,
pinyin: "huishui"
},
{
id: 2033,
name: "华宁",
abbr: "HN",
area_code: "530424",
sort: 9999,
latitude: 24.189808,
longitude: 102.928986,
is_map: true,
pinyin: "huaning"
},
{
id: 2052,
name: "华坪",
abbr: "HP",
area_code: "530723",
sort: 9999,
latitude: 26.628834,
longitude: 101.267799,
is_map: true,
pinyin: "huaping"
},
{
id: 2081,
name: "红河哈尼族彝族自治州",
abbr: "HHHNZYZZZZ",
area_code: "532500",
sort: 9999,
latitude: 23.366776,
longitude: 103.384186,
is_map: true,
pinyin: "honghehanizuyizuzizhizhou"
},
{
id: 2088,
name: "河口瑶族自治县",
abbr: "HKYZZZX",
area_code: "532532",
sort: 9999,
latitude: 22.507563,
longitude: 103.961594,
is_map: true,
pinyin: "hekouyaozuzizhixian"
},
{
id: 2110,
name: "鹤庆",
abbr: "HQ",
area_code: "532932",
sort: 9999,
latitude: 26.55839,
longitude: 100.173378,
is_map: true,
pinyin: "heqing"
},
{
id: 2231,
name: "合阳",
abbr: "HY",
area_code: "610524",
sort: 9999,
latitude: 35.237099,
longitude: 110.14798,
is_map: true,
pinyin: "heyang"
},
{
id: 2236,
name: "韩城",
abbr: "HC",
area_code: "610581",
sort: 9999,
latitude: 35.475239,
longitude: 110.452393,
is_map: true,
pinyin: "hancheng"
},
{
id: 2237,
name: "华阴",
abbr: "HY",
area_code: "610582",
sort: 9999,
latitude: 34.565357,
longitude: 110.089523,
is_map: true,
pinyin: "huayin"
},
{
id: 2261,
name: "横山",
abbr: "HS",
area_code: "610823",
sort: 9999,
latitude: 37.964046,
longitude: 109.292595,
is_map: true,
pinyin: "hengshan"
},
{
id: 2268,
name: "汉阴",
abbr: "HY",
area_code: "610921",
sort: 9999,
latitude: 32.891121,
longitude: 108.510948,
is_map: true,
pinyin: "hanyin"
},
{
id: 2348,
name: "合作",
abbr: "HZ",
area_code: "623001",
sort: 9999,
latitude: 34.985973,
longitude: 102.911491,
is_map: true,
pinyin: "hezuo"
},
{
id: 2359,
name: "海东",
abbr: "HD",
area_code: "630200",
sort: 9999,
latitude: 36.502914,
longitude: 102.103271,
is_map: true,
pinyin: "haidong"
},
{
id: 2422,
name: "哈密",
abbr: "HM",
area_code: "650500",
sort: 9999,
latitude: 42.833248,
longitude: 93.513161,
is_map: true,
pinyin: "hami"
},
{
id: 5106,
name: "海拉尔区",
abbr: "HLEQ",
area_code: "150702",
sort: 9999,
latitude: 49.215385,
longitude: 119.758965,
is_map: true,
pinyin: "hailaerqu"
}
],
N: [
{
id: 6,
name: "南京",
abbr: "NJ",
area_code: "025",
sort: 5,
latitude: 31.84178,
longitude: 118.504669,
is_map: true,
pinyin: "nanjing"
},
{
id: 18,
name: "宁波",
abbr: "NB",
area_code: "0574",
sort: 18,
latitude: 29.873859,
longitude: 121.55027,
is_map: true,
pinyin: "ningbo"
},
{
id: 25,
name: "南昌",
abbr: "NC",
area_code: "0791",
sort: 2000,
latitude: 28.68202,
longitude: 115.857941,
is_map: true,
pinyin: "nanchang"
},
{
id: 39,
name: "南通",
abbr: "NT",
area_code: "0513",
sort: 2000,
latitude: 31.97958,
longitude: 120.893707,
is_map: true,
pinyin: "nantong"
},
{
id: 45,
name: "南宁",
abbr: "NN",
area_code: "0771",
sort: 2000,
latitude: 22.81673,
longitude: 108.366898,
is_map: true,
pinyin: "nanning"
},
{
id: 99,
name: "南充",
abbr: "NC",
area_code: "0817",
sort: 2000,
latitude: 30.837311,
longitude: 106.110733,
is_map: true,
pinyin: "nanchong"
},
{
id: 104,
name: "内江",
abbr: "NJ",
area_code: "0832",
sort: 2000,
latitude: 29.580151,
longitude: 105.058441,
is_map: true,
pinyin: "neijiang"
},
{
id: 117,
name: "南平",
abbr: "NP",
area_code: "0599",
sort: 2000,
latitude: 26.64152,
longitude: 118.177834,
is_map: true,
pinyin: "nanping"
},
{
id: 260,
name: "南阳",
abbr: "NY",
area_code: "0377",
sort: 2000,
latitude: 32.99073,
longitude: 112.528511,
is_map: true,
pinyin: "nanyang"
},
{
id: 271,
name: "宁德",
abbr: "ND",
area_code: "0593",
sort: 2000,
latitude: 26.66571,
longitude: 119.548187,
is_map: true,
pinyin: "ningde"
},
{
id: 442,
name: "南岸",
abbr: "NA",
area_code: "10020",
sort: 2000,
latitude: 29.521681,
longitude: 106.562561,
is_map: true,
pinyin: "nanan"
},
{
id: 443,
name: "南川",
abbr: "NC",
area_code: "10021",
sort: 2000,
latitude: 29.157881,
longitude: 107.098961,
is_map: true,
pinyin: "nanchuan"
},
{
id: 480,
name: "宁国",
abbr: "NG",
area_code: "200026",
sort: 2000,
latitude: 30.63364,
longitude: 118.98336,
is_map: true,
pinyin: "ningguo"
},
{
id: 495,
name: "南安",
abbr: "NA",
area_code: "200041",
sort: 2000,
latitude: 24.9604,
longitude: 118.386269,
is_map: true,
pinyin: "nanan"
},
{
id: 579,
name: "纳雍",
abbr: "NY",
area_code: "200125",
sort: 2000,
latitude: 26.7777,
longitude: 105.38269,
is_map: true,
pinyin: "nayong"
},
{
id: 590,
name: "宁晋",
abbr: "NJ",
area_code: "200136",
sort: 2000,
latitude: 37.619801,
longitude: 114.919319,
is_map: true,
pinyin: "ningjin"
},
{
id: 616,
name: "南宫",
abbr: "NG",
area_code: "200162",
sort: 2000,
latitude: 37.357948,
longitude: 115.408661,
is_map: true,
pinyin: "nangong"
},
{
id: 687,
name: "南召",
abbr: "NZ",
area_code: "200233",
sort: 2000,
latitude: 33.489792,
longitude: 112.429138,
is_map: true,
pinyin: "nanzhao"
},
{
id: 691,
name: "内乡",
abbr: "NX",
area_code: "200237",
sort: 2000,
latitude: 33.04483,
longitude: 111.849258,
is_map: true,
pinyin: "neixiang"
},
{
id: 703,
name: "嫩江",
abbr: "NJ",
area_code: "200249",
sort: 2000,
latitude: 49.185719,
longitude: 125.22094,
is_map: true,
pinyin: "nenjiang"
},
{
id: 706,
name: "讷河",
abbr: "NH",
area_code: "200252",
sort: 2000,
latitude: 48.484192,
longitude: 124.883972,
is_map: true,
pinyin: "nehe"
},
{
id: 742,
name: "南漳",
abbr: "NZ",
area_code: "200288",
sort: 2000,
latitude: 31.77471,
longitude: 111.83902,
is_map: true,
pinyin: "nanzhang"
},
{
id: 751,
name: "宁乡",
abbr: "NX",
area_code: "200297",
sort: 2000,
latitude: 28.277411,
longitude: 112.551826,
is_map: true,
pinyin: "ningxiang"
},
{
id: 765,
name: "南县",
abbr: "NX",
area_code: "200311",
sort: 2000,
latitude: 29.36162,
longitude: 112.396362,
is_map: true,
pinyin: "nanxian"
},
{
id: 771,
name: "宁远",
abbr: "NY",
area_code: "200317",
sort: 2000,
latitude: 25.569189,
longitude: 111.94445,
is_map: true,
pinyin: "ningyuan"
},
{
id: 815,
name: "农安",
abbr: "NA",
area_code: "200361",
sort: 2000,
latitude: 44.43195,
longitude: 125.18512,
is_map: true,
pinyin: "nongan"
},
{
id: 872,
name: "南康",
abbr: "NK",
area_code: "200418",
sort: 2000,
latitude: 25.66144,
longitude: 114.76535,
is_map: true,
pinyin: "nankang"
},
{
id: 881,
name: "宁都",
abbr: "ND",
area_code: "200427",
sort: 2000,
latitude: 26.47019,
longitude: 116.009407,
is_map: true,
pinyin: "ningdu"
},
{
id: 967,
name: "宁阳",
abbr: "NY",
area_code: "200513",
sort: 2000,
latitude: 35.759609,
longitude: 116.807266,
is_map: true,
pinyin: "ningyang"
},
{
id: 1033,
name: "南部",
abbr: "NB",
area_code: "200579",
sort: 2000,
latitude: 31.353161,
longitude: 106.067337,
is_map: true,
pinyin: "nanbu"
},
{
id: 1051,
name: "宁河",
abbr: "NH",
area_code: "200597",
sort: 2000,
latitude: 39.330761,
longitude: 117.824738,
is_map: true,
pinyin: "ninghe"
},
{
id: 1090,
name: "宁海",
abbr: "NH",
area_code: "200636",
sort: 2000,
latitude: 29.288071,
longitude: 121.429611,
is_map: true,
pinyin: "ninghai"
},
{
id: 1172,
name: "宁化",
abbr: "NH",
area_code: "350424",
sort: 9999,
latitude: 26.26178,
longitude: 116.654427,
is_map: true,
pinyin: "ninghua"
},
{
id: 1192,
name: "内丘",
abbr: "NQ",
area_code: "130523",
sort: 9999,
latitude: 37.287663,
longitude: 114.51152,
is_map: true,
pinyin: "neiqiu"
},
{
id: 1195,
name: "南和",
abbr: "NH",
area_code: "130527",
sort: 9999,
latitude: 37.003811,
longitude: 114.691376,
is_map: true,
pinyin: "nanhe"
},
{
id: 1242,
name: "南皮",
abbr: "NP",
area_code: "130927",
sort: 9999,
latitude: 38.042439,
longitude: 116.709167,
is_map: true,
pinyin: "nanpi"
},
{
id: 1357,
name: "宁城",
abbr: "NC",
area_code: "150429",
sort: 9999,
latitude: 41.598694,
longitude: 119.339241,
is_map: true,
pinyin: "ningcheng"
},
{
id: 1363,
name: "奈曼旗",
abbr: "NMQ",
area_code: "150525",
sort: 9999,
latitude: 42.846851,
longitude: 120.662544,
is_map: true,
pinyin: "naimanqi"
},
{
id: 1501,
name: "宁安",
abbr: "NA",
area_code: "231084",
sort: 9999,
latitude: 44.346836,
longitude: 129.470016,
is_map: true,
pinyin: "ningan"
},
{
id: 1528,
name: "南陵",
abbr: "NL",
area_code: "340223",
sort: 9999,
latitude: 30.919638,
longitude: 118.337105,
is_map: true,
pinyin: "nanling"
},
{
id: 1559,
name: "南靖",
abbr: "NJ",
area_code: "350627",
sort: 9999,
latitude: 24.516424,
longitude: 117.365463,
is_map: true,
pinyin: "nanjing"
},
{
id: 1608,
name: "南城",
abbr: "NC",
area_code: "361021",
sort: 9999,
latitude: 27.555309,
longitude: 116.63945,
is_map: true,
pinyin: "nancheng"
},
{
id: 1610,
name: "南丰",
abbr: "NF",
area_code: "361023",
sort: 9999,
latitude: 27.210133,
longitude: 116.532997,
is_map: true,
pinyin: "nanfeng"
},
{
id: 1634,
name: "宁津",
abbr: "NJ",
area_code: "371422",
sort: 9999,
latitude: 37.64962,
longitude: 116.793716,
is_map: true,
pinyin: "ningjin"
},
{
id: 1650,
name: "内黄",
abbr: "NH",
area_code: "410527",
sort: 9999,
latitude: 35.953701,
longitude: 114.904579,
is_map: true,
pinyin: "neihuang"
},
{
id: 1658,
name: "南乐",
abbr: "NL",
area_code: "410923",
sort: 9999,
latitude: 36.075203,
longitude: 115.204338,
is_map: true,
pinyin: "nanle"
},
{
id: 1668,
name: "宁陵",
abbr: "NL",
area_code: "411423",
sort: 9999,
latitude: 34.449299,
longitude: 115.320053,
is_map: true,
pinyin: "ningling"
},
{
id: 1740,
name: "南雄市",
abbr: "NXS",
area_code: "440282",
sort: 9999,
latitude: 25.115328,
longitude: 114.311234,
is_map: true,
pinyin: "nanxiongshi"
},
{
id: 1808,
name: "那坡",
abbr: "NP",
area_code: "451026",
sort: 9999,
latitude: 23.400785,
longitude: 105.833549,
is_map: true,
pinyin: "napo"
},
{
id: 1818,
name: "南丹",
abbr: "ND",
area_code: "451221",
sort: 9999,
latitude: 24.983192,
longitude: 107.546608,
is_map: true,
pinyin: "nandan"
},
{
id: 2053,
name: "宁蒗彝族自治县",
abbr: "NLYZZZX",
area_code: "530724",
sort: 9999,
latitude: 27.281109,
longitude: 100.852425,
is_map: true,
pinyin: "ninglangyizuzizhixian"
},
{
id: 2054,
name: "宁洱哈尼族彝族自治县",
abbr: "NEHNZYZZZX",
area_code: "530821",
sort: 9999,
latitude: 23.062508,
longitude: 101.045242,
is_map: true,
pinyin: "ningerhanizuyizuzizhixian"
},
{
id: 2074,
name: "南华",
abbr: "NH",
area_code: "532324",
sort: 9999,
latitude: 25.192408,
longitude: 101.274994,
is_map: true,
pinyin: "nanhua"
},
{
id: 2104,
name: "南涧彝族自治县",
abbr: "NJYZZZX",
area_code: "532926",
sort: 9999,
latitude: 25.041279,
longitude: 100.518684,
is_map: true,
pinyin: "nanjianyizuzizhixian"
},
{
id: 2176,
name: "那曲地区",
abbr: "NQDQ",
area_code: "542400",
sort: 9999,
latitude: 31.47694,
longitude: 92.058083,
is_map: true,
pinyin: "naqudiqu"
},
{
id: 5224,
name: "南岔区",
abbr: "NCQ",
area_code: "230703",
sort: 9999,
latitude: 47.137314,
longitude: 129.282455,
is_map: true,
pinyin: "nanchaqu"
}
],
G: [
{
id: 4,
name: "广州",
abbr: "GZ",
area_code: "020",
sort: 6,
latitude: 23.12908,
longitude: 113.264359,
is_map: true,
pinyin: "guangzhou"
},
{
id: 417,
name: "巩义",
abbr: "GY",
area_code: "03712",
sort: 1900,
latitude: 34.747978,
longitude: 113.022057,
is_map: true,
pinyin: "gongyi"
},
{
id: 98,
name: "桂林",
abbr: "GL",
area_code: "0773",
sort: 2000,
latitude: 25.273609,
longitude: 110.290024,
is_map: true,
pinyin: "guilin"
},
{
id: 129,
name: "赣州",
abbr: "GZ",
area_code: "0797",
sort: 2000,
latitude: 25.831091,
longitude: 114.934761,
is_map: true,
pinyin: "ganzhou"
},
{
id: 137,
name: "贵阳",
abbr: "GY",
area_code: "0851",
sort: 2000,
latitude: 26.64702,
longitude: 106.630241,
is_map: true,
pinyin: "guiyang"
},
{
id: 197,
name: "广汉",
abbr: "GHS",
area_code: "510600",
sort: 2000,
latitude: 30.97706,
longitude: 104.282494,
is_map: true,
pinyin: "guanghanshi"
},
{
id: 262,
name: "广元",
abbr: "GY",
area_code: "0839",
sort: 2000,
latitude: 32.43549,
longitude: 105.843567,
is_map: true,
pinyin: "guangyuan"
},
{
id: 316,
name: "广安",
abbr: "GA",
area_code: "0826",
sort: 2000,
latitude: 30.455959,
longitude: 106.633217,
is_map: true,
pinyin: "guangan"
},
{
id: 431,
name: "贵港",
abbr: "GG",
area_code: "10009",
sort: 2000,
latitude: 23.11306,
longitude: 109.597641,
is_map: true,
pinyin: "guigang"
},
{
id: 477,
name: "广德",
abbr: "GD",
area_code: "200023",
sort: 2000,
latitude: 30.893801,
longitude: 119.417053,
is_map: true,
pinyin: "guangde"
},
{
id: 551,
name: "高州",
abbr: "GZ",
area_code: "200097",
sort: 2000,
latitude: 21.918119,
longitude: 110.853378,
is_map: true,
pinyin: "gaozhou"
},
{
id: 561,
name: "高要",
abbr: "GY",
area_code: "200107",
sort: 2000,
latitude: 23.02581,
longitude: 112.458389,
is_map: true,
pinyin: "gaoyao"
},
{
id: 568,
name: "桂平",
abbr: "GP",
area_code: "200114",
sort: 2000,
latitude: 23.3941,
longitude: 110.07901,
is_map: true,
pinyin: "guiping"
},
{
id: 593,
name: "藁城",
abbr: "GC",
area_code: "200139",
sort: 2000,
latitude: 38.02166,
longitude: 114.846764,
is_map: true,
pinyin: "gaocheng"
},
{
id: 594,
name: "高碑店",
abbr: "GBD",
area_code: "200140",
sort: 2000,
latitude: 39.32658,
longitude: 115.873734,
is_map: true,
pinyin: "gaobeidian"
},
{
id: 619,
name: "固安",
abbr: "GA",
area_code: "200165",
sort: 2000,
latitude: 39.438251,
longitude: 116.298523,
is_map: true,
pinyin: "guan"
},
{
id: 632,
name: "固始",
abbr: "GS",
area_code: "200178",
sort: 2000,
latitude: 32.168388,
longitude: 115.654808,
is_map: true,
pinyin: "gushi"
},
{
id: 683,
name: "光山",
abbr: "GS",
area_code: "200229",
sort: 2000,
latitude: 32.009972,
longitude: 114.918777,
is_map: true,
pinyin: "guangshan"
},
{
id: 718,
name: "公安",
abbr: "GA",
area_code: "200264",
sort: 2000,
latitude: 30.0583,
longitude: 112.229477,
is_map: true,
pinyin: "gongan"
},
{
id: 724,
name: "广水",
abbr: "GS",
area_code: "200270",
sort: 2000,
latitude: 31.616859,
longitude: 113.825996,
is_map: true,
pinyin: "guangshui"
},
{
id: 741,
name: "谷城",
abbr: "GC",
area_code: "200287",
sort: 2000,
latitude: 32.263378,
longitude: 111.653038,
is_map: true,
pinyin: "gucheng"
},
{
id: 773,
name: "桂阳",
abbr: "GY",
area_code: "200319",
sort: 2000,
latitude: 25.754101,
longitude: 112.733681,
is_map: true,
pinyin: "guiyang"
},
{
id: 804,
name: "公主岭",
abbr: "GZL",
area_code: "200350",
sort: 2000,
latitude: 43.504681,
longitude: 124.8228,
is_map: true,
pinyin: "gongzhuling"
},
{
id: 841,
name: "赣榆",
abbr: "GY",
area_code: "200387",
sort: 2000,
latitude: 34.840649,
longitude: 119.177299,
is_map: true,
pinyin: "ganyu"
},
{
id: 854,
name: "高邮",
abbr: "GY",
area_code: "200400",
sort: 2000,
latitude: 32.78112,
longitude: 119.455582,
is_map: true,
pinyin: "gaoyou"
},
{
id: 857,
name: "灌云",
abbr: "GY",
area_code: "200403",
sort: 2000,
latitude: 34.284069,
longitude: 119.240959,
is_map: true,
pinyin: "guanyun"
},
{
id: 861,
name: "灌南",
abbr: "GN",
area_code: "200407",
sort: 2000,
latitude: 34.086731,
longitude: 119.315628,
is_map: true,
pinyin: "guannan"
},
{
id: 864,
name: "高淳",
abbr: "GC",
area_code: "200410",
sort: 2000,
latitude: 31.327511,
longitude: 118.892097,
is_map: true,
pinyin: "gaochun"
},
{
id: 869,
name: "广丰",
abbr: "GF",
area_code: "200415",
sort: 2000,
latitude: 28.43631,
longitude: 118.19133,
is_map: true,
pinyin: "guangfeng"
},
{
id: 874,
name: "高安",
abbr: "GA",
area_code: "200420",
sort: 2000,
latitude: 28.41729,
longitude: 115.375618,
is_map: true,
pinyin: "gaoan"
},
{
id: 885,
name: "贵溪",
abbr: "GX",
area_code: "200431",
sort: 2000,
latitude: 28.292521,
longitude: 117.245247,
is_map: true,
pinyin: "guixi"
},
{
id: 892,
name: "赣县",
abbr: "GX",
area_code: "200438",
sort: 2000,
latitude: 25.86062,
longitude: 115.011749,
is_map: true,
pinyin: "ganxian"
},
{
id: 906,
name: "盖州",
abbr: "GZ",
area_code: "200452",
sort: 2000,
latitude: 40.400532,
longitude: 122.348801,
is_map: true,
pinyin: "gaizhou"
},
{
id: 922,
name: "格尔木",
abbr: "GEM",
area_code: "200468",
sort: 2000,
latitude: 33.660332,
longitude: 90,
is_map: true,
pinyin: "geermu"
},
{
id: 929,
name: "高密",
abbr: "GM",
area_code: "200475",
sort: 2000,
latitude: 36.382568,
longitude: 119.755676,
is_map: true,
pinyin: "gaomi"
},
{
id: 981,
name: "冠县",
abbr: "GX",
area_code: "200527",
sort: 2000,
latitude: 36.483349,
longitude: 115.442627,
is_map: true,
pinyin: "guanxian"
},
{
id: 985,
name: "高唐",
abbr: "GT",
area_code: "200531",
sort: 2000,
latitude: 36.86602,
longitude: 116.23111,
is_map: true,
pinyin: "gaotang"
},
{
id: 987,
name: "广饶",
abbr: "GR",
area_code: "200533",
sort: 2000,
latitude: 37.053589,
longitude: 118.407021,
is_map: true,
pinyin: "guangrao"
},
{
id: 999,
name: "高平",
abbr: "GP",
area_code: "200545",
sort: 2000,
latitude: 35.798069,
longitude: 112.923576,
is_map: true,
pinyin: "gaoping"
},
{
id: 1071,
name: "个旧",
abbr: "GJ",
area_code: "200617",
sort: 2000,
latitude: 23.35899,
longitude: 103.160042,
is_map: true,
pinyin: "gejiu"
},
{
id: 1161,
name: "古田",
abbr: "GT",
area_code: "350922",
sort: 9999,
latitude: 26.57762,
longitude: 118.746063,
is_map: true,
pinyin: "gutian"
},
{
id: 1165,
name: "高陵",
abbr: "GL",
area_code: "610126",
sort: 9999,
latitude: 34.53487,
longitude: 109.088219,
is_map: true,
pinyin: "gaoling"
},
{
id: 1187,
name: "广平",
abbr: "GP",
area_code: "130432",
sort: 9999,
latitude: 36.483604,
longitude: 114.950859,
is_map: true,
pinyin: "guangping"
},
{
id: 1188,
name: "馆陶",
abbr: "GT",
area_code: "130433",
sort: 9999,
latitude: 36.539459,
longitude: 115.289055,
is_map: true,
pinyin: "guantao"
},
{
id: 1198,
name: "广宗县",
abbr: "GZX",
area_code: "130531",
sort: 9999,
latitude: 37.075546,
longitude: 115.142799,
is_map: true,
pinyin: "guangzong"
},
{
id: 1207,
name: "高阳县",
abbr: "GYX",
area_code: "130628",
sort: 9999,
latitude: 38.700069,
longitude: 115.778839,
is_map: true,
pinyin: "gaoyangxian"
},
{
id: 1220,
name: "沽源",
abbr: "GY",
area_code: "130724",
sort: 9999,
latitude: 41.667419,
longitude: 115.684837,
is_map: true,
pinyin: "guyuan"
},
{
id: 1253,
name: "故城",
abbr: "GC",
area_code: "131126",
sort: 9999,
latitude: 37.350983,
longitude: 115.966743,
is_map: true,
pinyin: "gucheng"
},
{
id: 1380,
name: "根河",
abbr: "GH",
area_code: "150785",
sort: 9999,
latitude: 50.780453,
longitude: 121.532722,
is_map: true,
pinyin: "genhe"
},
{
id: 1472,
name: "甘南",
abbr: "GN",
area_code: "230225",
sort: 9999,
latitude: 47.917839,
longitude: 123.506035,
is_map: true,
pinyin: "gannan"
},
{
id: 1529,
name: "固镇县",
abbr: "GZX",
area_code: "340323",
sort: 9999,
latitude: 33.31868,
longitude: 117.315964,
is_map: true,
pinyin: "guzhen"
},
{
id: 1562,
name: "光泽",
abbr: "GZ",
area_code: "350723",
sort: 9999,
latitude: 27.542803,
longitude: 117.337898,
is_map: true,
pinyin: "guangze"
},
{
id: 1583,
name: "共青城",
abbr: "GQC",
area_code: "360482",
sort: 9999,
latitude: 29.2484,
longitude: 115.79406,
is_map: true,
pinyin: "gongqingcheng"
},
{
id: 1592,
name: "高邑",
abbr: "GY",
area_code: "130127",
sort: 9999,
latitude: 37.605713,
longitude: 114.610703,
is_map: true,
pinyin: "gaoyi"
},
{
id: 1616,
name: "广昌县",
abbr: "GCX",
area_code: "361030",
sort: 9999,
latitude: 26.838427,
longitude: 116.327293,
is_map: true,
pinyin: "guangchang"
},
{
id: 1626,
name: "高青",
abbr: "GQ",
area_code: "370322",
sort: 9999,
latitude: 37.169582,
longitude: 117.829842,
is_map: true,
pinyin: "gaoqing"
},
{
id: 1714,
name: "桂东",
abbr: "GD",
area_code: "431027",
sort: 9999,
latitude: 26.073917,
longitude: 113.945877,
is_map: true,
pinyin: "guidong"
},
{
id: 1783,
name: "灌阳",
abbr: "GY",
area_code: "450327",
sort: 9999,
latitude: 25.489098,
longitude: 111.160248,
is_map: true,
pinyin: "guanyang"
},
{
id: 1788,
name: "恭城瑶族自治县",
abbr: "GCYZZZX",
area_code: "450332",
sort: 9999,
latitude: 24.833612,
longitude: 110.829521,
is_map: true,
pinyin: "gongchengyaozuzizhixian"
},
{
id: 1919,
name: "甘孜藏族自治州",
abbr: "GZZZZZZ",
area_code: "513300",
sort: 9999,
latitude: 31.618486,
longitude: 99.991486,
is_map: true,
pinyin: "ganzizangzuzizhizhou"
},
{
id: 1974,
name: "关岭布依族苗族自治县",
abbr: "GLBYZMZZZX",
area_code: "520424",
sort: 9999,
latitude: 25.980713,
longitude: 105.666855,
is_map: true,
pinyin: "guanlingbuyizumiaozuzizhixian"
},
{
id: 2013,
name: "贵定",
abbr: "GD",
area_code: "522723",
sort: 9999,
latitude: 26.580807,
longitude: 107.233589,
is_map: true,
pinyin: "guiding"
},
{
id: 2069,
name: "耿马傣族佤族自治县",
abbr: "GMDZWZZZX",
area_code: "530926",
sort: 9999,
latitude: 23.534578,
longitude: 99.402496,
is_map: true,
pinyin: "gengmadaizuwazuzizhixian"
},
{
id: 2095,
name: "广南",
abbr: "GN",
area_code: "532627",
sort: 9999,
latitude: 24.050699,
longitude: 105.049263,
is_map: true,
pinyin: "guangnan"
},
{
id: 2120,
name: "贡山独龙族怒族自治县",
abbr: "GSDLZNZZZX",
area_code: "533324",
sort: 9999,
latitude: 27.738054,
longitude: 98.666138,
is_map: true,
pinyin: "gongshandulongzunuzuzizhixian"
},
{
id: 2302,
name: "高台",
abbr: "GT",
area_code: "620724",
sort: 9999,
latitude: 39.376308,
longitude: 99.81665,
is_map: true,
pinyin: "gaotai"
},
{
id: 2381,
name: "果洛藏族自治州",
abbr: "GLZZZZZ",
area_code: "632600",
sort: 9999,
latitude: 34.468685,
longitude: 100.247078,
is_map: true,
pinyin: "guoluozangzuzizhizhou"
},
{
id: 2384,
name: "甘德县",
abbr: "GDX",
area_code: "632623",
sort: 9999,
latitude: 33.966988,
longitude: 99.902588,
is_map: true,
pinyin: "gande"
},
{
id: 2410,
name: "固原",
abbr: "GY",
area_code: "640400",
sort: 9999,
latitude: 36.004562,
longitude: 106.28524,
is_map: true,
pinyin: "guyuan"
},
{
id: 5038,
name: "古冶区",
abbr: "GYQ",
area_code: "130204",
sort: 9999,
latitude: 39.715736,
longitude: 118.454292,
is_map: true,
pinyin: "guyequ"
}
],
X: [
{
id: 13,
name: "厦门",
abbr: "XM",
area_code: "0592",
sort: 7,
latitude: 24.479509,
longitude: 118.089478,
is_map: true,
pinyin: "xiamen"
},
{
id: 15,
name: "西安",
abbr: "XA",
area_code: "029",
sort: 24,
latitude: 34.34127,
longitude: 108.939842,
is_map: true,
pinyin: "xian"
},
{
id: 42,
name: "湘潭",
abbr: "XT",
area_code: "0732",
sort: 80,
latitude: 27.82975,
longitude: 112.944107,
is_map: true,
pinyin: "xiangtan"
},
{
id: 29,
name: "徐州",
abbr: "XZ",
area_code: "0516",
sort: 2000,
latitude: 34.204399,
longitude: 117.285767,
is_map: true,
pinyin: "xuzhou"
},
{
id: 76,
name: "新乡",
abbr: "XX",
area_code: "0373",
sort: 2000,
latitude: 35.30323,
longitude: 113.92675,
is_map: true,
pinyin: "xinxiang"
},
{
id: 115,
name: "咸阳",
abbr: "XY",
area_code: "0910",
sort: 2000,
latitude: 34.329319,
longitude: 108.70929,
is_map: true,
pinyin: "xianyang"
},
{
id: 127,
name: "新余",
abbr: "XY",
area_code: "0790",
sort: 2000,
latitude: 27.81776,
longitude: 114.91713,
is_map: true,
pinyin: "xinyu"
},
{
id: 179,
name: "邢台",
abbr: "XT",
area_code: "0319",
sort: 2000,
latitude: 37.070549,
longitude: 114.504433,
is_map: true,
pinyin: "xingtai"
},
{
id: 198,
name: "许昌",
abbr: "XC",
area_code: "0374",
sort: 2000,
latitude: 34.035702,
longitude: 113.852333,
is_map: true,
pinyin: "xuchang"
},
{
id: 205,
name: "孝感",
abbr: "XG",
area_code: "0712",
sort: 2000,
latitude: 30.924829,
longitude: 113.916451,
is_map: true,
pinyin: "xiaogan"
},
{
id: 215,
name: "香港",
abbr: "XG",
area_code: "00852",
sort: 2000,
latitude: 22.276283,
longitude: 114.163826,
is_map: true,
pinyin: "xianggang"
},
{
id: 230,
name: "咸宁",
abbr: "XN",
area_code: "0715",
sort: 2000,
latitude: 29.841261,
longitude: 114.322449,
is_map: true,
pinyin: "xianning"
},
{
id: 233,
name: "西宁",
abbr: "XN",
area_code: "0971",
sort: 2000,
latitude: 36.61729,
longitude: 101.777817,
is_map: true,
pinyin: "xining"
},
{
id: 234,
name: "信阳",
abbr: "XY",
area_code: "0376",
sort: 2000,
latitude: 32.147141,
longitude: 114.092789,
is_map: true,
pinyin: "xinyang"
},
{
id: 241,
name: "襄阳",
abbr: "XY",
area_code: "0710",
sort: 2000,
latitude: 32.008999,
longitude: 112.122551,
is_map: true,
pinyin: "xiangyang"
},
{
id: 263,
name: "忻州",
abbr: "XZ",
area_code: "0350",
sort: 2000,
latitude: 38.416698,
longitude: 112.734177,
is_map: true,
pinyin: "xinzhou"
},
{
id: 296,
name: "西昌",
abbr: "XC",
area_code: "0843",
sort: 2000,
latitude: 27.894489,
longitude: 102.263046,
is_map: true,
pinyin: "xichang"
},
{
id: 314,
name: "宣城",
abbr: "XC",
area_code: "0563",
sort: 2000,
latitude: 30.940781,
longitude: 118.758659,
is_map: true,
pinyin: "xuancheng"
},
{
id: 476,
name: "萧县",
abbr: "XX",
area_code: "200022",
sort: 2000,
latitude: 34.188759,
longitude: 116.947243,
is_map: true,
pinyin: "xiaoxian"
},
{
id: 501,
name: "仙游",
abbr: "XY",
area_code: "200047",
sort: 2000,
latitude: 25.36215,
longitude: 118.691811,
is_map: true,
pinyin: "xianyou"
},
{
id: 512,
name: "霞浦",
abbr: "XP",
area_code: "200058",
sort: 2000,
latitude: 26.88517,
longitude: 120.005562,
is_map: true,
pinyin: "xiapu"
},
{
id: 543,
name: "兴宁",
abbr: "XN",
area_code: "200089",
sort: 2000,
latitude: 24.136499,
longitude: 115.731194,
is_map: true,
pinyin: "xingning"
},
{
id: 553,
name: "信宜",
abbr: "XY",
area_code: "200099",
sort: 2000,
latitude: 22.35429,
longitude: 110.947098,
is_map: true,
pinyin: "xinyi"
},
{
id: 558,
name: "徐闻",
abbr: "XW",
area_code: "200104",
sort: 2000,
latitude: 20.326521,
longitude: 110.175018,
is_map: true,
pinyin: "xuwen"
},
{
id: 571,
name: "兴义",
abbr: "XY",
area_code: "200117",
sort: 2000,
latitude: 25.091921,
longitude: 104.895531,
is_map: true,
pinyin: "xingyi"
},
{
id: 598,
name: "辛集",
abbr: "XJ",
area_code: "200144",
sort: 2000,
latitude: 37.943161,
longitude: 115.217918,
is_map: true,
pinyin: "xinji"
},
{
id: 601,
name: "徐水",
abbr: "XS",
area_code: "200147",
sort: 2000,
latitude: 39.01865,
longitude: 115.655861,
is_map: true,
pinyin: "xushui"
},
{
id: 613,
name: "香河",
abbr: "XH",
area_code: "200159",
sort: 2000,
latitude: 39.761421,
longitude: 117.006447,
is_map: true,
pinyin: "xianghe"
},
{
id: 614,
name: "新乐",
abbr: "XL",
area_code: "200160",
sort: 2000,
latitude: 38.34338,
longitude: 114.683838,
is_map: true,
pinyin: "xinle"
},
{
id: 625,
name: "新密",
abbr: "XM",
area_code: "200171",
sort: 2000,
latitude: 34.53952,
longitude: 113.390442,
is_map: true,
pinyin: "xinmi"
},
{
id: 627,
name: "项城",
abbr: "XC",
area_code: "200173",
sort: 2000,
latitude: 33.467232,
longitude: 114.875618,
is_map: true,
pinyin: "xiangcheng"
},
{
id: 628,
name: "新郑",
abbr: "XZ",
area_code: "200174",
sort: 2000,
latitude: 34.396049,
longitude: 113.741608,
is_map: true,
pinyin: "xinzheng"
},
{
id: 644,
name: "荥阳",
abbr: "XY",
area_code: "200190",
sort: 2000,
latitude: 34.787621,
longitude: 113.383492,
is_map: true,
pinyin: "xingyang"
},
{
id: 647,
name: "夏邑",
abbr: "XY",
area_code: "200193",
sort: 2000,
latitude: 34.239288,
longitude: 116.129692,
is_map: true,
pinyin: "xiayi"
},
{
id: 650,
name: "息县",
abbr: "XX",
area_code: "200196",
sort: 2000,
latitude: 32.342819,
longitude: 114.740242,
is_map: true,
pinyin: "xixian"
},
{
id: 655,
name: "淅川",
abbr: "XC",
area_code: "200201",
sort: 2000,
latitude: 33.138149,
longitude: 111.490784,
is_map: true,
pinyin: "xichuan"
},
{
id: 661,
name: "西华",
abbr: "XH",
area_code: "200207",
sort: 2000,
latitude: 33.76754,
longitude: 114.529739,
is_map: true,
pinyin: "xihua"
},
{
id: 668,
name: "新野",
abbr: "XY",
area_code: "200214",
sort: 2000,
latitude: 32.520931,
longitude: 112.360062,
is_map: true,
pinyin: "xinye"
},
{
id: 669,
name: "新蔡",
abbr: "XC",
area_code: "200215",
sort: 2000,
latitude: 32.74926,
longitude: 114.98571,
is_map: true,
pinyin: "xincai"
},
{
id: 671,
name: "襄城",
abbr: "XC",
area_code: "200217",
sort: 2000,
latitude: 33.850719,
longitude: 113.506691,
is_map: true,
pinyin: "xiangcheng"
},
{
id: 675,
name: "西峡",
abbr: "XX",
area_code: "200221",
sort: 2000,
latitude: 33.305599,
longitude: 111.472443,
is_map: true,
pinyin: "xixia"
},
{
id: 676,
name: "西平",
abbr: "XP",
area_code: "200222",
sort: 2000,
latitude: 33.387798,
longitude: 114.021584,
is_map: true,
pinyin: "xiping"
},
{
id: 686,
name: "新安",
abbr: "XA",
area_code: "200232",
sort: 2000,
latitude: 34.72818,
longitude: 112.132423,
is_map: true,
pinyin: "xinan"
},
{
id: 725,
name: "浠水",
abbr: "XS",
area_code: "200271",
sort: 2000,
latitude: 30.451839,
longitude: 115.265511,
is_map: true,
pinyin: "xishui"
},
{
id: 739,
name: "孝昌",
abbr: "XC",
area_code: "200285",
sort: 2000,
latitude: 31.25803,
longitude: 113.998016,
is_map: true,
pinyin: "xiaochang"
},
{
id: 761,
name: "湘阴",
abbr: "XY",
area_code: "200307",
sort: 2000,
latitude: 28.689251,
longitude: 112.909172,
is_map: true,
pinyin: "xiangyin"
},
{
id: 772,
name: "新化",
abbr: "XH",
area_code: "200318",
sort: 2000,
latitude: 27.726629,
longitude: 111.327431,
is_map: true,
pinyin: "xinhua"
},
{
id: 780,
name: "湘乡",
abbr: "XX",
area_code: "200326",
sort: 2000,
latitude: 27.7341,
longitude: 112.535042,
is_map: true,
pinyin: "xiangxiang"
},
{
id: 781,
name: "新邵",
abbr: "XS",
area_code: "200327",
sort: 2000,
latitude: 27.32091,
longitude: 111.459,
is_map: true,
pinyin: "xinshao"
},
{
id: 783,
name: "溆浦",
abbr: "XP",
area_code: "200329",
sort: 2000,
latitude: 27.90834,
longitude: 110.594856,
is_map: true,
pinyin: "xupu"
},
{
id: 795,
name: "新宁",
abbr: "XN",
area_code: "200341",
sort: 2000,
latitude: 26.43346,
longitude: 110.856743,
is_map: true,
pinyin: "xinning"
},
{
id: 829,
name: "兴化",
abbr: "XH",
area_code: "200375",
sort: 2000,
latitude: 32.910412,
longitude: 119.852722,
is_map: true,
pinyin: "xinghua"
},
{
id: 843,
name: "新沂",
abbr: "XY",
area_code: "200389",
sort: 2000,
latitude: 34.36927,
longitude: 118.355476,
is_map: true,
pinyin: "xinyi"
},
{
id: 859,
name: "盱眙",
abbr: "XY",
area_code: "200405",
sort: 2000,
latitude: 33.010891,
longitude: 118.544991,
is_map: true,
pinyin: "xuyi"
},
{
id: 863,
name: "响水",
abbr: "XS",
area_code: "200409",
sort: 2000,
latitude: 34.199188,
longitude: 119.578392,
is_map: true,
pinyin: "xiangshui"
},
{
id: 868,
name: "新建",
abbr: "XJ",
area_code: "200414",
sort: 2000,
latitude: 28.333691,
longitude: 115.651123,
is_map: true,
pinyin: "xinjian"
},
{
id: 876,
name: "信丰",
abbr: "XF",
area_code: "200422",
sort: 2000,
latitude: 25.386169,
longitude: 114.922852,
is_map: true,
pinyin: "xinfeng"
},
{
id: 883,
name: "修水",
abbr: "XS",
area_code: "200429",
sort: 2000,
latitude: 29.02533,
longitude: 114.546883,
is_map: true,
pinyin: "xiushui"
},
{
id: 890,
name: "兴国",
abbr: "XG",
area_code: "200436",
sort: 2000,
latitude: 26.33779,
longitude: 115.363136,
is_map: true,
pinyin: "xingguo"
},
{
id: 907,
name: "新民",
abbr: "XM",
area_code: "200453",
sort: 2000,
latitude: 41.997669,
longitude: 122.828003,
is_map: true,
pinyin: "xinmin"
},
{
id: 912,
name: "兴城",
abbr: "XC",
area_code: "200458",
sort: 2000,
latitude: 40.610191,
longitude: 120.756187,
is_map: true,
pinyin: "xingcheng"
},
{
id: 920,
name: "锡林浩特",
abbr: "XLHT",
area_code: "200466",
sort: 2000,
latitude: 43.933392,
longitude: 116.086082,
is_map: true,
pinyin: "xilinhaote"
},
{
id: 924,
name: "新泰",
abbr: "XT",
area_code: "200470",
sort: 2000,
latitude: 35.908779,
longitude: 117.767998,
is_map: true,
pinyin: "xintai"
},
{
id: 984,
name: "夏津",
abbr: "XJ",
area_code: "200530",
sort: 2000,
latitude: 36.948559,
longitude: 116.001747,
is_map: true,
pinyin: "xiajin"
},
{
id: 997,
name: "孝义",
abbr: "XY",
area_code: "200543",
sort: 2000,
latitude: 37.14534,
longitude: 111.77903,
is_map: true,
pinyin: "xiaoyi"
},
{
id: 1019,
name: "宣汉",
abbr: "XH",
area_code: "200565",
sort: 2000,
latitude: 31.353861,
longitude: 107.727097,
is_map: true,
pinyin: "xuanhan"
},
{
id: 1059,
name: "宣威",
abbr: "XW",
area_code: "200605",
sort: 2000,
latitude: 26.219891,
longitude: 104.104477,
is_map: true,
pinyin: "xuanwei"
},
{
id: 1072,
name: "祥云",
abbr: "XY",
area_code: "200618",
sort: 2000,
latitude: 25.48381,
longitude: 100.550591,
is_map: true,
pinyin: "xiangyun"
},
{
id: 1098,
name: "象山",
abbr: "XS",
area_code: "200644",
sort: 2000,
latitude: 29.47665,
longitude: 121.869324,
is_map: true,
pinyin: "xiangshan"
},
{
id: 1109,
name: "新昌",
abbr: "XC",
area_code: "200655",
sort: 2000,
latitude: 29.49983,
longitude: 120.903847,
is_map: true,
pinyin: "xinchang"
},
{
id: 1110,
name: "仙居",
abbr: "XJ",
area_code: "200656",
sort: 2000,
latitude: 28.84683,
longitude: 120.728813,
is_map: true,
pinyin: "xianju"
},
{
id: 350,
name: "仙桃",
abbr: "XT",
area_code: "0728",
sort: 9999,
latitude: 30.362511,
longitude: 113.454498,
is_map: true,
pinyin: "xiantao"
},
{
id: 1170,
name: "寻乌",
abbr: "XW",
area_code: "360734",
sort: 9999,
latitude: 24.963511,
longitude: 115.646729,
is_map: true,
pinyin: "xunwu"
},
{
id: 1197,
name: "新河",
abbr: "XH",
area_code: "130530",
sort: 9999,
latitude: 37.526215,
longitude: 115.247536,
is_map: true,
pinyin: "xinhe"
},
{
id: 1215,
name: "雄县",
abbr: "XX",
area_code: "130638",
sort: 9999,
latitude: 38.990818,
longitude: 116.107475,
is_map: true,
pinyin: "xiongxian"
},
{
id: 1231,
name: "兴隆",
abbr: "XL",
area_code: "130822",
sort: 9999,
latitude: 40.418526,
longitude: 117.507095,
is_map: true,
pinyin: "xinglong"
},
{
id: 1244,
name: "献县",
abbr: "XX",
area_code: "130929",
sort: 9999,
latitude: 38.189659,
longitude: 116.12384,
is_map: true,
pinyin: "xianxian"
},
{
id: 1273,
name: "襄垣县",
abbr: "XYX",
area_code: "140423",
sort: 9999,
latitude: 36.532852,
longitude: 113.050095,
is_map: true,
pinyin: "xiangyuan"
},
{
id: 1300,
name: "新绛",
abbr: "XJ",
area_code: "140825",
sort: 9999,
latitude: 35.613697,
longitude: 111.225204,
is_map: true,
pinyin: "xinjiang"
},
{
id: 1319,
name: "襄汾",
abbr: "XF",
area_code: "141023",
sort: 9999,
latitude: 35.876141,
longitude: 111.442932,
is_map: true,
pinyin: "xiangfen"
},
{
id: 1376,
name: "新巴尔虎左旗",
abbr: "XBEHZQ",
area_code: "150726",
sort: 9999,
latitude: 48.216572,
longitude: 118.267456,
is_map: true,
pinyin: "xinbaerhuzuoqi"
},
{
id: 1377,
name: "新巴尔虎右旗",
abbr: "XBEHYQ",
area_code: "150727",
sort: 9999,
latitude: 48.669132,
longitude: 116.825989,
is_map: true,
pinyin: "xinbaerhuyouqi"
},
{
id: 1390,
name: "兴和",
abbr: "XH",
area_code: "150924",
sort: 9999,
latitude: 40.872437,
longitude: 113.834007,
is_map: true,
pinyin: "xinghe"
},
{
id: 1397,
name: "兴安盟",
abbr: "XAM",
area_code: "152200",
sort: 9999,
latitude: 46.076267,
longitude: 122.07032,
is_map: true,
pinyin: "xinganmeng"
},
{
id: 1409,
name: "西乌珠穆沁旗",
abbr: "XWZMQQ",
area_code: "152526",
sort: 9999,
latitude: 44.586147,
longitude: 117.61525,
is_map: true,
pinyin: "xiwuzhumuqinqi"
},
{
id: 1411,
name: "镶黄旗",
abbr: "XHQ",
area_code: "152528",
sort: 9999,
latitude: 42.239227,
longitude: 113.843872,
is_map: true,
pinyin: "xianghuangqi"
},
{
id: 1423,
name: "岫岩满族自治县",
abbr: "XYMZZZX",
area_code: "210323",
sort: 9999,
latitude: 40.281509,
longitude: 123.28833,
is_map: true,
pinyin: "xiuyanmanzuzizhixian"
},
{
id: 1425,
name: "新宾满族自治县",
abbr: "XBMZZZX",
area_code: "210422",
sort: 9999,
latitude: 41.732456,
longitude: 125.037544,
is_map: true,
pinyin: "xinbinmanzuzizhixian"
},
{
id: 1439,
name: "西丰",
abbr: "XF",
area_code: "211223",
sort: 9999,
latitude: 42.738091,
longitude: 124.72332,
is_map: true,
pinyin: "xifeng"
},
{
id: 1503,
name: "逊克",
abbr: "XK",
area_code: "231123",
sort: 9999,
latitude: 49.582973,
longitude: 128.476151,
is_map: true,
pinyin: "xunke"
},
{
id: 1519,
name: "行唐",
abbr: "XT",
area_code: "130125",
sort: 9999,
latitude: 38.437424,
longitude: 114.552734,
is_map: true,
pinyin: "xingtang"
},
{
id: 1579,
name: "星子",
abbr: "XZ",
area_code: "360427",
sort: 9999,
latitude: 29.456169,
longitude: 116.043739,
is_map: true,
pinyin: "xingzi"
},
{
id: 1595,
name: "峡江",
abbr: "XJ",
area_code: "360823",
sort: 9999,
latitude: 27.580862,
longitude: 115.319328,
is_map: true,
pinyin: "xiajiang"
},
{
id: 1596,
name: "新干",
abbr: "XG",
area_code: "360824",
sort: 9999,
latitude: 27.755758,
longitude: 115.399292,
is_map: true,
pinyin: "xingan"
},
{
id: 1652,
name: "新乡",
abbr: "XX",
area_code: "410721",
sort: 9999,
latitude: 35.187477,
longitude: 113.780563,
is_map: true,
pinyin: "xinxiang"
},
{
id: 1655,
name: "修武",
abbr: "XW",
area_code: "410821",
sort: 9999,
latitude: 35.229923,
longitude: 113.447464,
is_map: true,
pinyin: "xiuwu"
},
{
id: 1662,
name: "许昌县",
abbr: "XCX",
area_code: "411023",
sort: 9999,
latitude: 33.995064,
longitude: 113.800606,
is_map: true,
pinyin: "xuchangxian"
},
{
id: 1670,
name: "新县",
abbr: "XX",
area_code: "411523",
sort: 9999,
latitude: 31.635151,
longitude: 114.877052,
is_map: true,
pinyin: "xinxian"
},
{
id: 1680,
name: "兴山县",
abbr: "XSX",
area_code: "420526",
sort: 9999,
latitude: 31.34795,
longitude: 110.754501,
is_map: true,
pinyin: "xingshan"
},
{
id: 1702,
name: "湘潭县",
abbr: "XT",
area_code: "430320",
sort: 9999,
latitude: 27.778601,
longitude: 112.952827,
is_map: true,
pinyin: "xiangtanxian"
},
{
id: 1718,
name: "新田",
abbr: "XT",
area_code: "431128",
sort: 9999,
latitude: 25.906927,
longitude: 112.220345,
is_map: true,
pinyin: "xintian"
},
{
id: 1764,
name: "新兴",
abbr: "XX",
area_code: "445321",
sort: 9999,
latitude: 22.703203,
longitude: 112.230827,
is_map: true,
pinyin: "xinxing"
},
{
id: 1781,
name: "兴安",
abbr: "XA",
area_code: "450325",
sort: 9999,
latitude: 25.609554,
longitude: 110.670784,
is_map: true,
pinyin: "xingan"
},
{
id: 1802,
name: "兴业",
abbr: "XY",
area_code: "450924",
sort: 9999,
latitude: 22.741871,
longitude: 109.877769,
is_map: true,
pinyin: "xingye"
},
{
id: 1812,
name: "西林",
abbr: "XL",
area_code: "451030",
sort: 9999,
latitude: 24.492041,
longitude: 105.095024,
is_map: true,
pinyin: "xilin"
},
{
id: 1828,
name: "忻城",
abbr: "XC",
area_code: "451321",
sort: 9999,
latitude: 24.064779,
longitude: 108.667358,
is_map: true,
pinyin: "xincheng"
},
{
id: 1829,
name: "象州",
abbr: "XZ",
area_code: "451322",
sort: 9999,
latitude: 23.959824,
longitude: 109.684555,
is_map: true,
pinyin: "xiangzhou"
},
{
id: 1852,
name: "秀山土家族苗族自治县",
abbr: "XSTJZMZZZX",
area_code: "500241",
sort: 9999,
latitude: 28.444773,
longitude: 108.99604,
is_map: true,
pinyin: "xiushantujiazumiaozuzizhixian"
},
{
id: 1856,
name: "新津",
abbr: "XJ",
area_code: "510132",
sort: 9999,
latitude: 30.414284,
longitude: 103.812447,
is_map: true,
pinyin: "xinjin"
},
{
id: 1859,
name: "叙永",
abbr: "XY",
area_code: "510524",
sort: 9999,
latitude: 28.167919,
longitude: 105.437775,
is_map: true,
pinyin: "xuyong"
},
{
id: 1879,
name: "西充",
abbr: "XC",
area_code: "511325",
sort: 9999,
latitude: 30.994616,
longitude: 105.893021,
is_map: true,
pinyin: "xichong"
},
{
id: 1956,
name: "息烽",
abbr: "XF",
area_code: "520122",
sort: 9999,
latitude: 27.092665,
longitude: 106.737694,
is_map: true,
pinyin: "xifeng"
},
{
id: 1957,
name: "修文",
abbr: "XW",
area_code: "520123",
sort: 9999,
latitude: 26.840672,
longitude: 106.59922,
is_map: true,
pinyin: "xiuwen"
},
{
id: 1969,
name: "习水",
abbr: "XS",
area_code: "520330",
sort: 9999,
latitude: 28.327826,
longitude: 106.200951,
is_map: true,
pinyin: "xishui"
},
{
id: 1987,
name: "兴仁",
abbr: "XR",
area_code: "522322",
sort: 9999,
latitude: 25.431377,
longitude: 105.19278,
is_map: true,
pinyin: "xingren"
},
{
id: 2027,
name: "寻甸回族彝族自治县",
abbr: "XDHZYZZZX",
area_code: "530129",
sort: 9999,
latitude: 25.559475,
longitude: 103.257591,
is_map: true,
pinyin: "xundianhuizuyizuzizhixian"
},
{
id: 2036,
name: "新平彝族傣族自治县",
abbr: "XPYZDZZZX",
area_code: "530427",
sort: 9999,
latitude: 24.066401,
longitude: 101.990906,
is_map: true,
pinyin: "xinpingyizudaizuzizhixian"
},
{
id: 2062,
name: "西盟佤族自治县",
abbr: "XMWZZZX",
area_code: "530829",
sort: 9999,
latitude: 22.644423,
longitude: 99.594376,
is_map: true,
pinyin: "ximengwazuzizhixian"
},
{
id: 2091,
name: "西畴",
abbr: "XC",
area_code: "532623",
sort: 9999,
latitude: 23.437439,
longitude: 104.675713,
is_map: true,
pinyin: "xichou"
},
{
id: 2097,
name: "西双版纳傣族自治州",
abbr: "XSBNDZZZZ",
area_code: "532800",
sort: 9999,
latitude: 22.001724,
longitude: 100.797943,
is_map: true,
pinyin: "xishuangbannadaizuzizhizhou"
},
{
id: 2123,
name: "香格里拉",
abbr: "XGLL",
area_code: "533421",
sort: 9999,
latitude: 27.825804,
longitude: 99.708664,
is_map: true,
pinyin: "xianggelila"
},
{
id: 2227,
name: "兴平",
abbr: "XP",
area_code: "610481",
sort: 9999,
latitude: 34.297134,
longitude: 108.488495,
is_map: true,
pinyin: "xingping"
},
{
id: 5557,
name: "新洲区",
abbr: "XZQ",
area_code: "420117",
sort: 9999,
latitude: 30.84215,
longitude: 114.802109,
is_map: true,
pinyin: "xinzhouqu"
}
],
T: [
{
id: 5,
name: "天津",
abbr: "TJ",
area_code: "022",
sort: 14,
latitude: 39.085098,
longitude: 117.199371,
is_map: true,
pinyin: "tianjin"
},
{
id: 43,
name: "太原",
abbr: "TY",
area_code: "0351",
sort: 2000,
latitude: 37.87059,
longitude: 112.550667,
is_map: true,
pinyin: "taiyuan"
},
{
id: 52,
name: "台州",
abbr: "TZ",
area_code: "0576",
sort: 2000,
latitude: 28.656111,
longitude: 121.420563,
is_map: true,
pinyin: "taizhou"
},
{
id: 65,
name: "铜陵",
abbr: "TL",
area_code: "0562",
sort: 2000,
latitude: 30.908871,
longitude: 117.742203,
is_map: true,
pinyin: "tongling"
},
{
id: 74,
name: "泰安",
abbr: "TA",
area_code: "0538",
sort: 2000,
latitude: 36.19994,
longitude: 117.088402,
is_map: true,
pinyin: "taian"
},
{
id: 87,
name: "唐山",
abbr: "TS",
area_code: "0315",
sort: 2000,
latitude: 39.630482,
longitude: 118.18058,
is_map: true,
pinyin: "tangshan"
},
{
id: 93,
name: "泰州",
abbr: "TZ",
area_code: "0523",
sort: 2000,
latitude: 32.45546,
longitude: 119.925537,
is_map: true,
pinyin: "taizhou"
},
{
id: 113,
name: "泰兴",
abbr: "TX",
area_code: "321200",
sort: 2000,
latitude: 32.171909,
longitude: 120.052002,
is_map: true,
pinyin: "taixing"
},
{
id: 226,
name: "铜仁",
abbr: "TR",
area_code: "0856",
sort: 2000,
latitude: 27.69066,
longitude: 109.180992,
is_map: true,
pinyin: "tongren"
},
{
id: 239,
name: "通化",
abbr: "TH",
area_code: "0435",
sort: 2000,
latitude: 41.728291,
longitude: 125.939903,
is_map: true,
pinyin: "tonghua"
},
{
id: 268,
name: "通辽",
abbr: "TL",
area_code: "0475",
sort: 2000,
latitude: 43.65247,
longitude: 122.24469,
is_map: true,
pinyin: "tongliao"
},
{
id: 298,
name: "天水",
abbr: "TS",
area_code: "0938",
sort: 2000,
latitude: 34.580849,
longitude: 105.724861,
is_map: true,
pinyin: "tianshui"
},
{
id: 382,
name: "铁岭",
abbr: "TL",
area_code: "0241",
sort: 2000,
latitude: 42.286201,
longitude: 123.842407,
is_map: true,
pinyin: "tieling"
},
{
id: 454,
name: "太和",
abbr: "TH",
area_code: "200000",
sort: 2000,
latitude: 33.160259,
longitude: 115.622032,
is_map: true,
pinyin: "taihe"
},
{
id: 461,
name: "天长",
abbr: "TC",
area_code: "200007",
sort: 2000,
latitude: 32.689449,
longitude: 119.003548,
is_map: true,
pinyin: "tianchang"
},
{
id: 474,
name: "桐城",
abbr: "TC",
area_code: "200020",
sort: 2000,
latitude: 31.035851,
longitude: 116.974159,
is_map: true,
pinyin: "tongcheng"
},
{
id: 539,
name: "台山",
abbr: "TS",
area_code: "200085",
sort: 2000,
latitude: 22.25156,
longitude: 112.7939,
is_map: true,
pinyin: "taishan"
},
{
id: 585,
name: "屯昌",
abbr: "TC",
area_code: "200131",
sort: 2000,
latitude: 19.35182,
longitude: 110.10347,
is_map: true,
pinyin: "tunchang"
},
{
id: 622,
name: "唐河",
abbr: "TH",
area_code: "200168",
sort: 2000,
latitude: 32.681171,
longitude: 112.807449,
is_map: true,
pinyin: "tanghe"
},
{
id: 638,
name: "太康",
abbr: "TK",
area_code: "200184",
sort: 2000,
latitude: 34.063789,
longitude: 114.837791,
is_map: true,
pinyin: "taikang"
},
{
id: 694,
name: "通许",
abbr: "TX",
area_code: "200240",
sort: 2000,
latitude: 34.480438,
longitude: 114.467407,
is_map: true,
pinyin: "tongxu"
},
{
id: 707,
name: "铁力",
abbr: "TL",
area_code: "200253",
sort: 2000,
latitude: 46.986641,
longitude: 128.032425,
is_map: true,
pinyin: "tieli"
},
{
id: 710,
name: "天门",
abbr: "TM",
area_code: "200256",
sort: 2000,
latitude: 30.663389,
longitude: 113.166138,
is_map: true,
pinyin: "tianmen"
},
{
id: 766,
name: "桃江",
abbr: "TJ",
area_code: "200312",
sort: 2000,
latitude: 28.51819,
longitude: 112.155708,
is_map: true,
pinyin: "taojiang"
},
{
id: 776,
name: "桃源",
abbr: "TY",
area_code: "200322",
sort: 2000,
latitude: 28.90259,
longitude: 111.48893,
is_map: true,
pinyin: "taoyuan"
},
{
id: 823,
name: "洮南",
abbr: "TN",
area_code: "200369",
sort: 2000,
latitude: 45.33559,
longitude: 122.786346,
is_map: true,
pinyin: "taonan"
},
{
id: 842,
name: "太仓",
abbr: "TC",
area_code: "200388",
sort: 2000,
latitude: 31.45911,
longitude: 121.129753,
is_map: true,
pinyin: "taicang"
},
{
id: 894,
name: "泰和",
abbr: "TH",
area_code: "200440",
sort: 2000,
latitude: 26.78993,
longitude: 114.908867,
is_map: true,
pinyin: "taihe"
},
{
id: 913,
name: "调兵山",
abbr: "TBS",
area_code: "200459",
sort: 2000,
latitude: 42.467548,
longitude: 123.566902,
is_map: true,
pinyin: "tiaobingshan"
},
{
id: 923,
name: "滕州",
abbr: "TZ",
area_code: "200469",
sort: 2000,
latitude: 35.11338,
longitude: 117.165962,
is_map: true,
pinyin: "tengzhou"
},
{
id: 942,
name: "郯城",
abbr: "TC",
area_code: "200488",
sort: 2000,
latitude: 34.613571,
longitude: 118.367172,
is_map: true,
pinyin: "tancheng"
},
{
id: 1008,
name: "铜川",
abbr: "TC",
area_code: "200554",
sort: 2000,
latitude: 34.896729,
longitude: 108.945152,
is_map: true,
pinyin: "tongchuan"
},
{
id: 1074,
name: "腾冲",
abbr: "TC",
area_code: "200620",
sort: 2000,
latitude: 25.020531,
longitude: 98.490967,
is_map: true,
pinyin: "tengchong"
},
{
id: 1084,
name: "桐乡",
abbr: "TX",
area_code: "200630",
sort: 2000,
latitude: 30.630739,
longitude: 120.564323,
is_map: true,
pinyin: "tongxiang"
},
{
id: 1104,
name: "桐庐",
abbr: "TL",
area_code: "200650",
sort: 2000,
latitude: 29.793171,
longitude: 119.691498,
is_map: true,
pinyin: "tonglu"
},
{
id: 1108,
name: "天台",
abbr: "TT",
area_code: "200654",
sort: 2000,
latitude: 29.14304,
longitude: 121.007278,
is_map: true,
pinyin: "tiantai"
},
{
id: 1126,
name: "铜梁",
abbr: "TL",
area_code: "200672",
sort: 2000,
latitude: 29.844749,
longitude: 106.056381,
is_map: true,
pinyin: "tongliang"
},
{
id: 1127,
name: "潼南",
abbr: "TN",
area_code: "200673",
sort: 2000,
latitude: 30.19054,
longitude: 105.839523,
is_map: true,
pinyin: "tongnan"
},
{
id: 1164,
name: "土默特右旗",
abbr: "TMTYQ",
area_code: "150221",
sort: 9999,
latitude: 40.568829,
longitude: 110.524208,
is_map: true,
pinyin: "tumoteyouqi"
},
{
id: 1206,
name: "唐县",
abbr: "TX",
area_code: "130627",
sort: 9999,
latitude: 38.759914,
longitude: 115.003204,
is_map: true,
pinyin: "tangxian"
},
{
id: 1295,
name: "太谷县",
abbr: "TGX",
area_code: "140726",
sort: 9999,
latitude: 37.424595,
longitude: 112.5541,
is_map: true,
pinyin: "taigu"
},
{
id: 1343,
name: "土默特左旗",
abbr: "TMTZQ",
area_code: "150121",
sort: 9999,
latitude: 40.720417,
longitude: 111.133614,
is_map: true,
pinyin: "tumotezuoqi"
},
{
id: 1402,
name: "突泉",
abbr: "TQ",
area_code: "152224",
sort: 9999,
latitude: 45.380985,
longitude: 121.564857,
is_map: true,
pinyin: "tuquan"
},
{
id: 1410,
name: "太仆寺旗",
abbr: "TPSQ",
area_code: "152527",
sort: 9999,
latitude: 41.895199,
longitude: 115.287277,
is_map: true,
pinyin: "taipusiqi"
},
{
id: 1422,
name: "台安",
abbr: "TA",
area_code: "210320",
sort: 9999,
latitude: 41.38686,
longitude: 122.429733,
is_map: true,
pinyin: "taian"
},
{
id: 1449,
name: "通化",
abbr: "TH",
area_code: "220521",
sort: 9999,
latitude: 41.677917,
longitude: 125.75312,
is_map: true,
pinyin: "tonghua"
},
{
id: 1459,
name: "通榆",
abbr: "TY",
area_code: "220822",
sort: 9999,
latitude: 44.809151,
longitude: 123.088547,
is_map: true,
pinyin: "tongyu"
},
{
id: 1460,
name: "图们",
abbr: "TM",
area_code: "222402",
sort: 9999,
latitude: 42.966621,
longitude: 129.846695,
is_map: true,
pinyin: "tumen"
},
{
id: 1469,
name: "通河县",
abbr: "THX",
area_code: "230128",
sort: 9999,
latitude: 45.455647,
longitude: 128.331879,
is_map: true,
pinyin: "tonghe"
},
{
id: 1471,
name: "泰来",
abbr: "TL",
area_code: "230224",
sort: 9999,
latitude: 46.39233,
longitude: 123.419533,
is_map: true,
pinyin: "tailai"
},
{
id: 1493,
name: "汤原",
abbr: "TY",
area_code: "230828",
sort: 9999,
latitude: 46.730049,
longitude: 129.904465,
is_map: true,
pinyin: "tangyuan"
},
{
id: 1495,
name: "同江",
abbr: "TJ",
area_code: "230881",
sort: 9999,
latitude: 47.651131,
longitude: 132.510117,
is_map: true,
pinyin: "tongjiang"
},
{
id: 1513,
name: "塔河",
abbr: "TH",
area_code: "232722",
sort: 9999,
latitude: 52.335228,
longitude: 124.710518,
is_map: true,
pinyin: "tahe"
},
{
id: 1517,
name: "泰顺县",
abbr: "TSX",
area_code: "330329",
sort: 9999,
latitude: 27.557308,
longitude: 119.71624,
is_map: true,
pinyin: "taishun"
},
{
id: 1532,
name: "太湖县",
abbr: "THX",
area_code: "340825",
sort: 9999,
latitude: 30.451868,
longitude: 116.305222,
is_map: true,
pinyin: "taihu"
},
{
id: 1555,
name: "泰宁",
abbr: "TN",
area_code: "350429",
sort: 9999,
latitude: 26.897995,
longitude: 117.177521,
is_map: true,
pinyin: "taining"
},
{
id: 1607,
name: "铜鼓",
abbr: "TG",
area_code: "360926",
sort: 9999,
latitude: 28.520956,
longitude: 114.37014,
is_map: true,
pinyin: "tonggu"
},
{
id: 1649,
name: "汤阴",
abbr: "TY",
area_code: "410523",
sort: 9999,
latitude: 35.922348,
longitude: 114.362358,
is_map: true,
pinyin: "tangyin"
},
{
id: 1660,
name: "台前",
abbr: "TQ",
area_code: "410927",
sort: 9999,
latitude: 35.996475,
longitude: 115.855682,
is_map: true,
pinyin: "taiqian"
},
{
id: 1686,
name: "团风",
abbr: "TF",
area_code: "421121",
sort: 9999,
latitude: 30.635691,
longitude: 114.872032,
is_map: true,
pinyin: "tuanfeng"
},
{
id: 1689,
name: "通城县",
abbr: "TCX",
area_code: "421222",
sort: 9999,
latitude: 29.246077,
longitude: 113.814133,
is_map: true,
pinyin: "tongcheng"
},
{
id: 1790,
name: "藤县",
abbr: "TX",
area_code: "450422",
sort: 9999,
latitude: 23.373962,
longitude: 110.931824,
is_map: true,
pinyin: "tengxian"
},
{
id: 1803,
name: "田阳",
abbr: "TY",
area_code: "451021",
sort: 9999,
latitude: 23.736078,
longitude: 106.904312,
is_map: true,
pinyin: "tianyang"
},
{
id: 1804,
name: "田东",
abbr: "TD",
area_code: "451022",
sort: 9999,
latitude: 23.600445,
longitude: 107.12426,
is_map: true,
pinyin: "tiandong"
},
{
id: 1811,
name: "田林",
abbr: "TL",
area_code: "451029",
sort: 9999,
latitude: 24.290262,
longitude: 106.235046,
is_map: true,
pinyin: "tianlin"
},
{
id: 1819,
name: "天峨",
abbr: "TE",
area_code: "451222",
sort: 9999,
latitude: 24.985964,
longitude: 107.174942,
is_map: true,
pinyin: "tiane"
},
{
id: 1961,
name: "桐梓",
abbr: "TZ",
area_code: "520322",
sort: 9999,
latitude: 28.131559,
longitude: 106.826591,
is_map: true,
pinyin: "tongzi"
},
{
id: 2000,
name: "天柱",
abbr: "TZ",
area_code: "522627",
sort: 9999,
latitude: 26.909683,
longitude: 109.212799,
is_map: true,
pinyin: "tianzhu"
},
{
id: 2003,
name: "台江",
abbr: "TJ",
area_code: "522630",
sort: 9999,
latitude: 26.669138,
longitude: 108.314636,
is_map: true,
pinyin: "taijiang"
},
{
id: 2032,
name: "通海",
abbr: "TH",
area_code: "530423",
sort: 9999,
latitude: 24.112206,
longitude: 102.76004,
is_map: true,
pinyin: "tonghai"
},
{
id: 2229,
name: "潼关",
abbr: "TG",
area_code: "610522",
sort: 9999,
latitude: 34.544514,
longitude: 110.247261,
is_map: true,
pinyin: "tongguan"
},
{
id: 2371,
name: "同仁县",
abbr: "TRX",
area_code: "632321",
sort: 9999,
latitude: 35.516338,
longitude: 102.017601,
is_map: true,
pinyin: "tongren"
}
],
Q: [
{
id: 28,
name: "青岛",
abbr: "QD",
area_code: "0532",
sort: 15,
latitude: 36.066231,
longitude: 120.382988,
is_map: true,
pinyin: "qingdao"
},
{
id: 341,
name: "庆阳",
abbr: "QY",
area_code: "0934",
sort: 1900,
latitude: 35.709782,
longitude: 107.642921,
is_map: true,
pinyin: "qingyang"
},
{
id: 63,
name: "秦皇岛",
abbr: "QHD",
area_code: "0335",
sort: 2000,
latitude: 39.935452,
longitude: 119.59964,
is_map: true,
pinyin: "qinhuangdao"
},
{
id: 91,
name: "齐齐哈尔",
abbr: "QQHE",
area_code: "0452",
sort: 2000,
latitude: 47.354309,
longitude: 123.917961,
is_map: true,
pinyin: "qiqihaer"
},
{
id: 102,
name: "泉州",
abbr: "QZ",
area_code: "0595",
sort: 2000,
latitude: 24.87389,
longitude: 118.675873,
is_map: true,
pinyin: "quanzhou"
},
{
id: 157,
name: "钦州",
abbr: "QZ",
area_code: "0777",
sort: 2000,
latitude: 21.9797,
longitude: 108.654312,
is_map: true,
pinyin: "qinzhou"
},
{
id: 182,
name: "衢州",
abbr: "QZ",
area_code: "0570",
sort: 2000,
latitude: 28.935921,
longitude: 118.874191,
is_map: true,
pinyin: "quzhou"
},
{
id: 265,
name: "曲靖",
abbr: "QJS",
area_code: "0874",
sort: 2000,
latitude: 25.490021,
longitude: 103.796249,
is_map: true,
pinyin: "qujingshi"
},
{
id: 278,
name: "琼海",
abbr: "QH",
area_code: "469002",
sort: 2000,
latitude: 19.258381,
longitude: 110.47464,
is_map: true,
pinyin: "qionghai"
},
{
id: 444,
name: "綦江",
abbr: "QJ",
area_code: "10022",
sort: 2000,
latitude: 28.96463,
longitude: 106.92852,
is_map: true,
pinyin: "qijiang"
},
{
id: 445,
name: "潜江",
abbr: "QJ",
area_code: "10023",
sort: 2000,
latitude: 30.40147,
longitude: 112.8993,
is_map: true,
pinyin: "qianjiang"
},
{
id: 491,
name: "全椒",
abbr: "QJ",
area_code: "200037",
sort: 2000,
latitude: 32.0853,
longitude: 118.273033,
is_map: true,
pinyin: "quanjiao"
},
{
id: 492,
name: "潜山",
abbr: "QS",
area_code: "200038",
sort: 2000,
latitude: 30.631069,
longitude: 116.581329,
is_map: true,
pinyin: "qianshan"
},
{
id: 549,
name: "清新",
abbr: "QX",
area_code: "200095",
sort: 2000,
latitude: 23.734739,
longitude: 113.016579,
is_map: true,
pinyin: "qingxin"
},
{
id: 573,
name: "黔西",
abbr: "QX",
area_code: "200119",
sort: 2000,
latitude: 27.008659,
longitude: 106.032303,
is_map: true,
pinyin: "qianxi"
},
{
id: 597,
name: "清苑",
abbr: "QY",
area_code: "200143",
sort: 2000,
latitude: 38.765259,
longitude: 115.489891,
is_map: true,
pinyin: "qingyuan"
},
{
id: 611,
name: "青县",
abbr: "QX",
area_code: "200157",
sort: 2000,
latitude: 38.583481,
longitude: 116.803177,
is_map: true,
pinyin: "qingxian"
},
{
id: 615,
name: "清河",
abbr: "QH",
area_code: "200161",
sort: 2000,
latitude: 37.039928,
longitude: 115.667183,
is_map: true,
pinyin: "qinghe"
},
{
id: 651,
name: "杞县",
abbr: "QX",
area_code: "200197",
sort: 2000,
latitude: 34.550339,
longitude: 114.782829,
is_map: true,
pinyin: "qixian"
},
{
id: 666,
name: "沁阳",
abbr: "QY",
area_code: "200212",
sort: 2000,
latitude: 35.087601,
longitude: 112.9506,
is_map: true,
pinyin: "qinyang"
},
{
id: 698,
name: "七台河",
abbr: "QTH",
area_code: "200244",
sort: 2000,
latitude: 45.770649,
longitude: 131.003067,
is_map: true,
pinyin: "qitaihe"
},
{
id: 730,
name: "蕲春",
abbr: "QC",
area_code: "200276",
sort: 2000,
latitude: 30.22617,
longitude: 115.436211,
is_map: true,
pinyin: "qichun"
},
{
id: 755,
name: "祁东",
abbr: "QD",
area_code: "200301",
sort: 2000,
latitude: 26.79965,
longitude: 112.090431,
is_map: true,
pinyin: "qidong"
},
{
id: 764,
name: "祁阳",
abbr: "QY",
area_code: "200310",
sort: 2000,
latitude: 26.58012,
longitude: 111.840149,
is_map: true,
pinyin: "qiyang"
},
{
id: 836,
name: "启东",
abbr: "QD",
area_code: "200382",
sort: 2000,
latitude: 31.80805,
longitude: 121.657867,
is_map: true,
pinyin: "qidong"
},
{
id: 943,
name: "青州",
abbr: "QZ",
area_code: "200489",
sort: 2000,
latitude: 36.684559,
longitude: 118.47966,
is_map: true,
pinyin: "qingzhou"
},
{
id: 956,
name: "齐河",
abbr: "QH",
area_code: "200502",
sort: 2000,
latitude: 36.794922,
longitude: 116.760017,
is_map: true,
pinyin: "qihe"
},
{
id: 957,
name: "曲阜",
abbr: "QF",
area_code: "200503",
sort: 2000,
latitude: 35.580818,
longitude: 116.986481,
is_map: true,
pinyin: "qufu"
},
{
id: 989,
name: "栖霞",
abbr: "QX",
area_code: "200535",
sort: 2000,
latitude: 37.335049,
longitude: 120.84977,
is_map: true,
pinyin: "qixia"
},
{
id: 1020,
name: "渠县",
abbr: "QX",
area_code: "200566",
sort: 2000,
latitude: 30.836639,
longitude: 106.972992,
is_map: true,
pinyin: "quxian"
},
{
id: 1042,
name: "邛崃",
abbr: "QL",
area_code: "200588",
sort: 2000,
latitude: 30.41032,
longitude: 103.464363,
is_map: true,
pinyin: "qionglai"
},
{
id: 1114,
name: "青田",
abbr: "QT",
area_code: "200660",
sort: 2000,
latitude: 28.13987,
longitude: 120.289551,
is_map: true,
pinyin: "qingtian"
},
{
id: 371,
name: "清远",
abbr: "QY",
area_code: "0763",
sort: 9999,
latitude: 23.682011,
longitude: 113.056152,
is_map: true,
pinyin: "qingyuan"
},
{
id: 378,
name: "迁安",
abbr: "QA",
area_code: "03152",
sort: 9999,
latitude: 39.99836,
longitude: 118.700729,
is_map: true,
pinyin: "qianan"
},
{
id: 1150,
name: "青阳",
abbr: "QY",
area_code: "341723",
sort: 9999,
latitude: 30.639351,
longitude: 117.847488,
is_map: true,
pinyin: "qingyang"
},
{
id: 1175,
name: "黔南",
abbr: "QN",
area_code: "522700",
sort: 9999,
latitude: 26.254271,
longitude: 107.522263,
is_map: true,
pinyin: "qiannan"
},
{
id: 1176,
name: "黔东南",
abbr: "QDN",
area_code: "522600",
sort: 9999,
latitude: 26.583639,
longitude: 107.984161,
is_map: true,
pinyin: "qiandongnan"
},
{
id: 1177,
name: "黔西南",
abbr: "QXN",
area_code: "522300",
sort: 9999,
latitude: 25.08988,
longitude: 104.904373,
is_map: true,
pinyin: "qianxinan"
},
{
id: 1185,
name: "邱县",
abbr: "QX",
area_code: "130430",
sort: 9999,
latitude: 36.813251,
longitude: 115.168587,
is_map: true,
pinyin: "qiuxian"
},
{
id: 1189,
name: "曲周",
abbr: "QZ",
area_code: "130435",
sort: 9999,
latitude: 36.773399,
longitude: 114.957588,
is_map: true,
pinyin: "quzhou"
},
{
id: 1212,
name: "曲阳",
abbr: "QY",
area_code: "130634",
sort: 9999,
latitude: 38.619991,
longitude: 114.704056,
is_map: true,
pinyin: "quyang"
},
{
id: 1296,
name: "祁县",
abbr: "QX",
area_code: "140727",
sort: 9999,
latitude: 37.358738,
longitude: 112.330528,
is_map: true,
pinyin: "qixian"
},
{
id: 1317,
name: "曲沃",
abbr: "QW",
area_code: "141021",
sort: 9999,
latitude: 35.641388,
longitude: 111.475533,
is_map: true,
pinyin: "quwo"
},
{
id: 1426,
name: "清原满族自治县",
abbr: "QYMZZZX",
area_code: "210423",
sort: 9999,
latitude: 42.101349,
longitude: 124.927193,
is_map: true,
pinyin: "qingyuanmanzuzizhixian"
},
{
id: 1456,
name: "乾安",
abbr: "QA",
area_code: "220723",
sort: 9999,
latitude: 45.006847,
longitude: 124.024361,
is_map: true,
pinyin: "qianan"
},
{
id: 1507,
name: "青冈",
abbr: "QG",
area_code: "231223",
sort: 9999,
latitude: 46.686596,
longitude: 126.112267,
is_map: true,
pinyin: "qinggang"
},
{
id: 1508,
name: "庆安",
abbr: "QA",
area_code: "231224",
sort: 9999,
latitude: 46.879204,
longitude: 127.510025,
is_map: true,
pinyin: "qingan"
},
{
id: 1525,
name: "庆元",
abbr: "QY",
area_code: "331126",
sort: 9999,
latitude: 27.618231,
longitude: 119.06723,
is_map: true,
pinyin: "qingyuan"
},
{
id: 1552,
name: "清流",
abbr: "QL",
area_code: "350423",
sort: 9999,
latitude: 26.17761,
longitude: 116.815819,
is_map: true,
pinyin: "qingliu"
},
{
id: 1591,
name: "全南",
abbr: "QN",
area_code: "360729",
sort: 9999,
latitude: 24.742651,
longitude: 114.531586,
is_map: true,
pinyin: "quannan"
},
{
id: 1635,
name: "庆云",
abbr: "QY",
area_code: "371423",
sort: 9999,
latitude: 37.777725,
longitude: 117.390511,
is_map: true,
pinyin: "qingyun"
},
{
id: 1651,
name: "淇县",
abbr: "QX",
area_code: "410622",
sort: 9999,
latitude: 35.609478,
longitude: 114.200378,
is_map: true,
pinyin: "qixian"
},
{
id: 1657,
name: "清丰",
abbr: "QF",
area_code: "410922",
sort: 9999,
latitude: 35.902412,
longitude: 115.107285,
is_map: true,
pinyin: "qingfeng"
},
{
id: 1780,
name: "全州",
abbr: "QZ",
area_code: "450324",
sort: 9999,
latitude: 25.929897,
longitude: 111.07299,
is_map: true,
pinyin: "quanzhou"
},
{
id: 1849,
name: "琼中黎族苗族自治县",
abbr: "QZLZMZZZX",
area_code: "469030",
sort: 9999,
latitude: 19.03557,
longitude: 109.839996,
is_map: true,
pinyin: "qiongzhonglizumiaozuzizhixian"
},
{
id: 1958,
name: "清镇",
abbr: "QZ",
area_code: "520181",
sort: 9999,
latitude: 26.551289,
longitude: 106.470276,
is_map: true,
pinyin: "qingzhen"
},
{
id: 1986,
name: "迁西",
abbr: "QX",
area_code: "130227",
sort: 9999,
latitude: 40.146236,
longitude: 118.305138,
is_map: true,
pinyin: "qianxi"
},
{
id: 1989,
name: "晴隆",
abbr: "QL",
area_code: "522324",
sort: 9999,
latitude: 25.832882,
longitude: 105.218773,
is_map: true,
pinyin: "qinglong"
},
{
id: 2042,
name: "巧家",
abbr: "QJ",
area_code: "530622",
sort: 9999,
latitude: 26.911699,
longitude: 102.929283,
is_map: true,
pinyin: "qiaojia"
},
{
id: 2094,
name: "丘北",
abbr: "QB",
area_code: "532626",
sort: 9999,
latitude: 24.040981,
longitude: 104.194366,
is_map: true,
pinyin: "qiubei"
},
{
id: 2409,
name: "青铜峡",
abbr: "QTX",
area_code: "640381",
sort: 9999,
latitude: 38.021507,
longitude: 106.075394,
is_map: true,
pinyin: "qingtongxia"
},
{
id: 5419,
name: "泉港区",
abbr: "QGX",
area_code: "350505",
sort: 9999,
latitude: 25.12686,
longitude: 118.912285,
is_map: true,
pinyin: "quangangqu"
},
{
id: 5738,
name: "黔江区",
abbr: "QJQ",
area_code: "500114",
sort: 9999,
latitude: 29.527548,
longitude: 108.782578,
is_map: true,
pinyin: "qianjiangqu"
}
],
W: [
{
id: 7,
name: "武汉",
abbr: "WH",
area_code: "027",
sort: 20,
latitude: 30.59276,
longitude: 114.305252,
is_map: true,
pinyin: "wuhan"
},
{
id: 30,
name: "温州",
abbr: "WZ",
area_code: "0577",
sort: 2000,
latitude: 27.994921,
longitude: 120.699387,
is_map: true,
pinyin: "wenzhou"
},
{
id: 34,
name: "威海",
abbr: "WH",
area_code: "0631",
sort: 2000,
latitude: 37.513481,
longitude: 122.121712,
is_map: true,
pinyin: "weihai"
},
{
id: 35,
name: "无锡",
abbr: "WX",
area_code: "0510",
sort: 2000,
latitude: 31.49099,
longitude: 120.31237,
is_map: true,
pinyin: "wuxi"
},
{
id: 38,
name: "芜湖",
abbr: "WH",
area_code: "0553",
sort: 2000,
latitude: 31.352461,
longitude: 118.433128,
is_map: true,
pinyin: "wuhu"
},
{
id: 48,
name: "潍坊",
abbr: "WF",
area_code: "0536",
sort: 2000,
latitude: 36.70686,
longitude: 119.161758,
is_map: true,
pinyin: "weifang"
},
{
id: 236,
name: "乌鲁木齐",
abbr: "WLMQ",
area_code: "0991",
sort: 2000,
latitude: 43.82663,
longitude: 87.616882,
is_map: true,
pinyin: "wulumuqi"
},
{
id: 243,
name: "梧州",
abbr: "WZ",
area_code: "0774",
sort: 2000,
latitude: 23.47703,
longitude: 111.279129,
is_map: true,
pinyin: "wuzhou"
},
{
id: 282,
name: "文昌",
abbr: "WC",
area_code: "0989",
sort: 2000,
latitude: 19.543289,
longitude: 110.797737,
is_map: true,
pinyin: "wenchang"
},
{
id: 293,
name: "文山",
abbr: "WS",
area_code: "0876",
sort: 2000,
latitude: 23.38678,
longitude: 104.233002,
is_map: true,
pinyin: "wenshan"
},
{
id: 306,
name: "渭南",
abbr: "WN",
area_code: "0913",
sort: 2000,
latitude: 34.499969,
longitude: 109.510147,
is_map: true,
pinyin: "weinan"
},
{
id: 393,
name: "乌海",
abbr: "WH",
area_code: "0473",
sort: 2000,
latitude: 39.653839,
longitude: 106.795464,
is_map: true,
pinyin: "wuhai"
},
{
id: 394,
name: "乌兰察布",
abbr: "WLCB",
area_code: "0474",
sort: 2000,
latitude: 40.993912,
longitude: 113.133759,
is_map: true,
pinyin: "wulanchabu"
},
{
id: 396,
name: "吴忠",
abbr: "WZ",
area_code: "0953",
sort: 2000,
latitude: 37.997551,
longitude: 106.198792,
is_map: true,
pinyin: "wuzhong"
},
{
id: 449,
name: "万州",
abbr: "WZ",
area_code: "10027",
sort: 2000,
latitude: 30.807899,
longitude: 108.40873,
is_map: true,
pinyin: "wanzhou"
},
{
id: 455,
name: "无为",
abbr: "WW",
area_code: "200001",
sort: 2000,
latitude: 31.303169,
longitude: 117.902237,
is_map: true,
pinyin: "wuwei"
},
{
id: 463,
name: "涡阳",
abbr: "WY",
area_code: "200009",
sort: 2000,
latitude: 33.492851,
longitude: 116.215813,
is_map: true,
pinyin: "woyang"
},
{
id: 483,
name: "五河",
abbr: "WH",
area_code: "200029",
sort: 2000,
latitude: 33.145069,
longitude: 117.885292,
is_map: true,
pinyin: "wuhe"
},
{
id: 489,
name: "望江",
abbr: "WJ",
area_code: "200035",
sort: 2000,
latitude: 30.12442,
longitude: 116.694229,
is_map: true,
pinyin: "wangjiang"
},
{
id: 523,
name: "武威",
abbr: "WW",
area_code: "200069",
sort: 2000,
latitude: 37.9282,
longitude: 102.63797,
is_map: true,
pinyin: "wuwei"
},
{
id: 546,
name: "吴川",
abbr: "WC",
area_code: "200092",
sort: 2000,
latitude: 21.44182,
longitude: 110.778236,
is_map: true,
pinyin: "wuchuan"
},
{
id: 557,
name: "五华",
abbr: "WH",
area_code: "200103",
sort: 2000,
latitude: 23.932541,
longitude: 115.776093,
is_map: true,
pinyin: "wuhua"
},
{
id: 581,
name: "万宁",
abbr: "WN",
area_code: "200127",
sort: 2000,
latitude: 18.795321,
longitude: 110.389748,
is_map: true,
pinyin: "wanning"
},
{
id: 588,
name: "魏县",
abbr: "WX",
area_code: "200134",
sort: 2000,
latitude: 36.359909,
longitude: 114.93882,
is_map: true,
pinyin: "weixian"
},
{
id: 602,
name: "文安",
abbr: "WA",
area_code: "200148",
sort: 2000,
latitude: 38.87328,
longitude: 116.458481,
is_map: true,
pinyin: "wenan"
},
{
id: 654,
name: "尉氏",
abbr: "WS",
area_code: "200200",
sort: 2000,
latitude: 34.41161,
longitude: 114.19297,
is_map: true,
pinyin: "weishi"
},
{
id: 673,
name: "武陟",
abbr: "WZ",
area_code: "200219",
sort: 2000,
latitude: 35.099522,
longitude: 113.40184,
is_map: true,
pinyin: "wuzhi"
},
{
id: 677,
name: "舞阳",
abbr: "WY",
area_code: "200223",
sort: 2000,
latitude: 33.437649,
longitude: 113.609306,
is_map: true,
pinyin: "wuyang"
},
{
id: 688,
name: "卫辉",
abbr: "WH",
area_code: "200234",
sort: 2000,
latitude: 35.398472,
longitude: 114.06459,
is_map: true,
pinyin: "weihui"
},
{
id: 693,
name: "温县",
abbr: "WX",
area_code: "200239",
sort: 2000,
latitude: 34.940231,
longitude: 113.080566,
is_map: true,
pinyin: "wenxian"
},
{
id: 701,
name: "五常",
abbr: "WC",
area_code: "200247",
sort: 2000,
latitude: 44.931911,
longitude: 127.167458,
is_map: true,
pinyin: "wuchang"
},
{
id: 726,
name: "武穴",
abbr: "WX",
area_code: "200272",
sort: 2000,
latitude: 29.84433,
longitude: 115.561302,
is_map: true,
pinyin: "wuxue"
},
{
id: 774,
name: "望城",
abbr: "WC",
area_code: "200320",
sort: 2000,
latitude: 28.36121,
longitude: 112.817902,
is_map: true,
pinyin: "wangcheng"
},
{
id: 788,
name: "武冈",
abbr: "WG",
area_code: "200334",
sort: 2000,
latitude: 26.726589,
longitude: 110.631378,
is_map: true,
pinyin: "wugang"
},
{
id: 824,
name: "汪清",
abbr: "WQ",
area_code: "200370",
sort: 2000,
latitude: 43.312809,
longitude: 129.771255,
is_map: true,
pinyin: "wangqing"
},
{
id: 825,
name: "吴江",
abbr: "WJ",
area_code: "200371",
sort: 2000,
latitude: 31.137621,
longitude: 120.645042,
is_map: true,
pinyin: "wujiang"
},
{
id: 916,
name: "乌兰浩特",
abbr: "WLHT",
area_code: "200462",
sort: 2000,
latitude: 46.072819,
longitude: 122.093163,
is_map: true,
pinyin: "wulanhaote"
},
{
id: 960,
name: "文登",
abbr: "WD",
area_code: "200506",
sort: 2000,
latitude: 37.19397,
longitude: 122.058098,
is_map: true,
pinyin: "wendeng"
},
{
id: 964,
name: "微山",
abbr: "WS",
area_code: "200510",
sort: 2000,
latitude: 34.807178,
longitude: 117.12886,
is_map: true,
pinyin: "weishan"
},
{
id: 983,
name: "汶上",
abbr: "WS",
area_code: "200529",
sort: 2000,
latitude: 35.732811,
longitude: 116.489166,
is_map: true,
pinyin: "wenshang"
},
{
id: 990,
name: "无棣",
abbr: "WD",
area_code: "200536",
sort: 2000,
latitude: 37.769932,
longitude: 117.625771,
is_map: true,
pinyin: "wudi"
},
{
id: 991,
name: "武城",
abbr: "WC",
area_code: "200537",
sort: 2000,
latitude: 37.213169,
longitude: 116.069229,
is_map: true,
pinyin: "wucheng"
},
{
id: 1007,
name: "闻喜",
abbr: "WX",
area_code: "200553",
sort: 2000,
latitude: 35.356628,
longitude: 111.224716,
is_map: true,
pinyin: "wenxi"
},
{
id: 1031,
name: "威远",
abbr: "WY",
area_code: "200577",
sort: 2000,
latitude: 29.52742,
longitude: 104.668854,
is_map: true,
pinyin: "weiyuan"
},
{
id: 1077,
name: "温岭",
abbr: "WL",
area_code: "200623",
sort: 2000,
latitude: 28.371799,
longitude: 121.385986,
is_map: true,
pinyin: "wenling"
},
{
id: 1103,
name: "武义",
abbr: "WY",
area_code: "200649",
sort: 2000,
latitude: 28.892599,
longitude: 119.816513,
is_map: true,
pinyin: "wuyi"
},
{
id: 1132,
name: "巫山",
abbr: "WS",
area_code: "200678",
sort: 2000,
latitude: 31.074619,
longitude: 109.878799,
is_map: true,
pinyin: "wushan"
},
{
id: 1133,
name: "武隆",
abbr: "WL",
area_code: "200679",
sort: 2000,
latitude: 29.32543,
longitude: 107.759933,
is_map: true,
pinyin: "wulong"
},
{
id: 1134,
name: "巫溪",
abbr: "WX",
area_code: "200680",
sort: 2000,
latitude: 31.3986,
longitude: 109.57016,
is_map: true,
pinyin: "wuxi"
},
{
id: 363,
name: "武安",
abbr: "WA",
area_code: "03101",
sort: 9999,
latitude: 36.696709,
longitude: 114.203758,
is_map: true,
pinyin: "wuan"
},
{
id: 375,
name: "瓦房店",
abbr: "WFD",
area_code: "04111",
sort: 9999,
latitude: 39.626438,
longitude: 121.97995,
is_map: true,
pinyin: "wafangdian"
},
{
id: 1200,
name: "威县",
abbr: "WX",
area_code: "130533",
sort: 9999,
latitude: 36.983273,
longitude: 115.272751,
is_map: true,
pinyin: "weixian"
},
{
id: 1210,
name: "望都",
abbr: "WD",
area_code: "130631",
sort: 9999,
latitude: 38.707447,
longitude: 115.154007,
is_map: true,
pinyin: "wangdu"
},
{
id: 1225,
name: "万全",
abbr: "WQ",
area_code: "130729",
sort: 9999,
latitude: 40.765137,
longitude: 114.73613,
is_map: true,
pinyin: "wanquan"
},
{
id: 1237,
name: "围场满族蒙古族自治县",
abbr: "WCMZMGZZZX",
area_code: "130828",
sort: 9999,
latitude: 41.949406,
longitude: 117.764084,
is_map: true,
pinyin: "weichangmanzumengguzuzizhixian"
},
{
id: 1243,
name: "吴桥",
abbr: "WQ",
area_code: "130928",
sort: 9999,
latitude: 37.628181,
longitude: 116.39151,
is_map: true,
pinyin: "wuqiao"
},
{
id: 1249,
name: "武邑",
abbr: "WY",
area_code: "131122",
sort: 9999,
latitude: 37.803776,
longitude: 115.892418,
is_map: true,
pinyin: "wuyi"
},
{
id: 1250,
name: "武强",
abbr: "WQ",
area_code: "131123",
sort: 9999,
latitude: 38.03698,
longitude: 115.970238,
is_map: true,
pinyin: "wuqiang"
},
{
id: 1298,
name: "万荣",
abbr: "WR",
area_code: "140822",
sort: 9999,
latitude: 35.417042,
longitude: 110.843559,
is_map: true,
pinyin: "wanrong"
},
{
id: 1355,
name: "翁牛特旗",
abbr: "WNTQ",
area_code: "150426",
sort: 9999,
latitude: 42.937126,
longitude: 119.022621,
is_map: true,
pinyin: "wengniuteqi"
},
{
id: 1369,
name: "乌审旗",
abbr: "WSQ",
area_code: "150626",
sort: 9999,
latitude: 38.603703,
longitude: 108.840927,
is_map: true,
pinyin: "wushenqi"
},
{
id: 1381,
name: "五原",
abbr: "WY",
area_code: "150821",
sort: 9999,
latitude: 41.097637,
longitude: 108.27066,
is_map: true,
pinyin: "wuyuan"
},
{
id: 1383,
name: "乌拉特前旗",
abbr: "WLTQQ",
area_code: "150823",
sort: 9999,
latitude: 40.725208,
longitude: 108.656815,
is_map: true,
pinyin: "wulateqianqi"
},
{
id: 1384,
name: "乌拉特中旗",
abbr: "WLTZQ",
area_code: "150824",
sort: 9999,
latitude: 41.57254,
longitude: 108.515259,
is_map: true,
pinyin: "wulatezhongqi"
},
{
id: 1385,
name: "乌拉特后旗",
abbr: "WLTHQ",
area_code: "150825",
sort: 9999,
latitude: 41.084309,
longitude: 107.074944,
is_map: true,
pinyin: "wulatehouqi"
},
{
id: 1505,
name: "五大连池市",
abbr: "WDLC",
area_code: "231182",
sort: 9999,
latitude: 48.512688,
longitude: 126.197693,
is_map: true,
pinyin: "wudalianchi"
},
{
id: 1506,
name: "望奎",
abbr: "WK",
area_code: "231221",
sort: 9999,
latitude: 46.833519,
longitude: 126.484192,
is_map: true,
pinyin: "wangkui"
},
{
id: 1516,
name: "文成县",
abbr: "WCX",
area_code: "330328",
sort: 9999,
latitude: 27.789133,
longitude: 120.092453,
is_map: true,
pinyin: "wencheng"
},
{
id: 1527,
name: "芜湖县",
abbr: "WH",
area_code: "340220",
sort: 9999,
latitude: 31.145262,
longitude: 118.572304,
is_map: true,
pinyin: "wuhuxian"
},
{
id: 1564,
name: "武夷山",
abbr: "WYS",
area_code: "350782",
sort: 9999,
latitude: 27.751734,
longitude: 118.032799,
is_map: true,
pinyin: "wuyishan"
},
{
id: 1566,
name: "武平",
abbr: "WP",
area_code: "350824",
sort: 9999,
latitude: 25.08865,
longitude: 116.100929,
is_map: true,
pinyin: "wuping"
},
{
id: 1577,
name: "武宁",
abbr: "WN",
area_code: "360423",
sort: 9999,
latitude: 29.260181,
longitude: 115.105644,
is_map: true,
pinyin: "wuning"
},
{
id: 1599,
name: "万安",
abbr: "WA",
area_code: "360828",
sort: 9999,
latitude: 26.462086,
longitude: 114.784691,
is_map: true,
pinyin: "wanan"
},
{
id: 1603,
name: "万载",
abbr: "WZ",
area_code: "360922",
sort: 9999,
latitude: 28.104528,
longitude: 114.449013,
is_map: true,
pinyin: "wanzai"
},
{
id: 1620,
name: "万年",
abbr: "WN",
area_code: "361129",
sort: 9999,
latitude: 28.692589,
longitude: 117.070152,
is_map: true,
pinyin: "wannian"
},
{
id: 1621,
name: "婺源",
abbr: "WY",
area_code: "361130",
sort: 9999,
latitude: 29.254015,
longitude: 117.86219,
is_map: true,
pinyin: "wuyuan"
},
{
id: 1633,
name: "五莲县",
abbr: "WLX",
area_code: "371121",
sort: 9999,
latitude: 35.751938,
longitude: 119.206741,
is_map: true,
pinyin: "wulian"
},
{
id: 1647,
name: "舞钢",
abbr: "WG",
area_code: "410481",
sort: 9999,
latitude: 33.302082,
longitude: 113.526253,
is_map: true,
pinyin: "wugang"
},
{
id: 1766,
name: "武鸣",
abbr: "WM",
area_code: "450122",
sort: 9999,
latitude: 23.157164,
longitude: 108.280716,
is_map: true,
pinyin: "wuming"
},
{
id: 1830,
name: "武宣",
abbr: "WX",
area_code: "451323",
sort: 9999,
latitude: 23.604162,
longitude: 109.662872,
is_map: true,
pinyin: "wuxuan"
},
{
id: 1892,
name: "武胜",
abbr: "WS",
area_code: "511622",
sort: 9999,
latitude: 30.344292,
longitude: 106.292473,
is_map: true,
pinyin: "wusheng"
},
{
id: 1965,
name: "务川仡佬族苗族自治县",
abbr: "WCGLZMZZZX",
area_code: "520326",
sort: 9999,
latitude: 28.521566,
longitude: 107.887856,
is_map: true,
pinyin: "wuchuangelaozumiaozuzizhixian"
},
{
id: 1976,
name: "威宁彝族回族苗族自治县",
abbr: "WNYZHZMZZZX",
area_code: "520526",
sort: 9999,
latitude: 26.859098,
longitude: 104.286522,
is_map: true,
pinyin: "weiningyizuhuizumiaozuzizhixian"
},
{
id: 1991,
name: "望谟",
abbr: "WM",
area_code: "522326",
sort: 9999,
latitude: 25.166668,
longitude: 106.09156,
is_map: true,
pinyin: "wangmo"
},
{
id: 2014,
name: "瓮安",
abbr: "WA",
area_code: "522725",
sort: 9999,
latitude: 27.066339,
longitude: 107.478416,
is_map: true,
pinyin: "wengan"
},
{
id: 2048,
name: "威信",
abbr: "WX",
area_code: "530629",
sort: 9999,
latitude: 27.843382,
longitude: 105.048691,
is_map: true,
pinyin: "weixin"
},
{
id: 2079,
name: "武定",
abbr: "WD",
area_code: "532329",
sort: 9999,
latitude: 25.5301,
longitude: 102.406784,
is_map: true,
pinyin: "wuding"
},
{
id: 2105,
name: "巍山彝族回族自治县",
abbr: "WSYZHZZZX",
area_code: "532927",
sort: 9999,
latitude: 25.230909,
longitude: 100.30793,
is_map: true,
pinyin: "weishanyizuhuizuzizhixian"
},
{
id: 2125,
name: "维西傈僳族自治县",
abbr: "WXLSZZZX",
area_code: "533423",
sort: 9999,
latitude: 27.180948,
longitude: 99.286354,
is_map: true,
pinyin: "weixilisuzuzizhixian"
},
{
id: 2243,
name: "吴起",
abbr: "WQ",
area_code: "610626",
sort: 9999,
latitude: 36.92485,
longitude: 108.176979,
is_map: true,
pinyin: "wuqi"
},
{
id: 5013,
name: "无极",
abbr: "WJ",
area_code: "130130",
sort: 9999,
latitude: 38.176376,
longitude: 114.977844,
is_map: true,
pinyin: "wuji"
},
{
id: 5231,
name: "五营区",
abbr: "WYQ",
area_code: "230710",
sort: 9999,
latitude: 48.108204,
longitude: 129.245026,
is_map: true,
pinyin: "wuyingqu"
},
{
id: 5235,
name: "乌伊岭区",
abbr: "WYLQ",
area_code: "230714",
sort: 9999,
latitude: 48.591122,
longitude: 129.437851,
is_map: true,
pinyin: "wuyilingqu"
},
{
id: 5428,
name: "湾里区",
abbr: "WLQ",
area_code: "360105",
sort: 9999,
latitude: 28.676081,
longitude: 115.746628,
is_map: true,
pinyin: "wanliqu"
}
],
C: [
{
id: 14,
name: "成都",
abbr: "CD",
area_code: "028",
sort: 21,
latitude: 30.5702,
longitude: 104.064758,
is_map: true,
pinyin: "chengdu"
},
{
id: 337,
name: "赤峰",
abbr: "CF",
area_code: "476",
sort: 1500,
latitude: 42.258598,
longitude: 118.888939,
is_map: true,
pinyin: "chifeng"
},
{
id: 360,
name: "朝阳",
abbr: "CY",
area_code: "04211",
sort: 1900,
latitude: 41.573471,
longitude: 120.450798,
is_map: true,
pinyin: "chaoyang"
},
{
id: 12,
name: "长春",
abbr: "CC",
area_code: "0431",
sort: 2000,
latitude: 43.816021,
longitude: 125.32357,
is_map: true,
pinyin: "changchun"
},
{
id: 21,
name: "长沙",
abbr: "CS",
area_code: "0731",
sort: 2000,
latitude: 28.227779,
longitude: 112.938858,
is_map: true,
pinyin: "changsha"
},
{
id: 44,
name: "重庆",
abbr: "CQ",
area_code: "023",
sort: 2000,
latitude: 29.564711,
longitude: 106.550728,
is_map: true,
pinyin: "chongqing"
},
{
id: 59,
name: "常州",
abbr: "CZ",
area_code: "0519",
sort: 2000,
latitude: 31.81072,
longitude: 119.973648,
is_map: true,
pinyin: "changzhou"
},
{
id: 83,
name: "滁州",
abbr: "CZ",
area_code: "0550",
sort: 2000,
latitude: 32.301811,
longitude: 118.316833,
is_map: true,
pinyin: "chuzhou"
},
{
id: 120,
name: "常德",
abbr: "CD",
area_code: "0736",
sort: 2000,
latitude: 29.03158,
longitude: 111.69854,
is_map: true,
pinyin: "changde"
},
{
id: 172,
name: "承德",
abbr: "CD",
area_code: "0314",
sort: 2000,
latitude: 40.9515,
longitude: 117.963402,
is_map: true,
pinyin: "chengde"
},
{
id: 175,
name: "沧州",
abbr: "CZ",
area_code: "0317",
sort: 2000,
latitude: 38.304409,
longitude: 116.838692,
is_map: true,
pinyin: "cangzhou"
},
{
id: 178,
name: "郴州",
abbr: "CZ",
area_code: "0735",
sort: 2000,
latitude: 25.77063,
longitude: 113.014847,
is_map: false,
pinyin: "chenzhou"
},
{
id: 235,
name: "潮州",
abbr: "CZ",
area_code: "0768",
sort: 2000,
latitude: 23.6567,
longitude: 116.622963,
is_map: true,
pinyin: "chaozhou"
},
{
id: 237,
name: "长治",
abbr: "CZ",
area_code: "0355",
sort: 2000,
latitude: 36.195808,
longitude: 113.116493,
is_map: true,
pinyin: "changzhi"
},
{
id: 238,
name: "巢湖",
abbr: "CH",
area_code: "0565",
sort: 2000,
latitude: 31.623289,
longitude: 117.889374,
is_map: true,
pinyin: "chaohu"
},
{
id: 246,
name: "池州",
abbr: "CZ",
area_code: "0566",
sort: 2000,
latitude: 30.66469,
longitude: 117.491417,
is_map: true,
pinyin: "chizhou"
},
{
id: 267,
name: "昌吉",
abbr: "CJ",
area_code: "0994",
sort: 2000,
latitude: 44.01437,
longitude: 87.267487,
is_map: true,
pinyin: "changji"
},
{
id: 279,
name: "楚雄",
abbr: "CX",
area_code: "0878",
sort: 2000,
latitude: 25.032881,
longitude: 101.545822,
is_map: true,
pinyin: "chuxiong"
},
{
id: 289,
name: "崇左",
abbr: "CZ",
area_code: "4401004",
sort: 2000,
latitude: 22.37895,
longitude: 107.364853,
is_map: true,
pinyin: "chongzuo"
},
{
id: 482,
name: "长丰",
abbr: "CF",
area_code: "200028",
sort: 2000,
latitude: 32.477959,
longitude: 117.167664,
is_map: true,
pinyin: "changfeng"
},
{
id: 505,
name: "长乐",
abbr: "CL",
area_code: "200051",
sort: 2000,
latitude: 25.96283,
longitude: 119.523239,
is_map: true,
pinyin: "changle"
},
{
id: 514,
name: "长汀",
abbr: "CT",
area_code: "200060",
sort: 2000,
latitude: 25.833481,
longitude: 116.357651,
is_map: true,
pinyin: "changting"
},
{
id: 530,
name: "潮安",
abbr: "CA",
area_code: "200076",
sort: 2000,
latitude: 23.46244,
longitude: 116.678093,
is_map: true,
pinyin: "chaoan"
},
{
id: 563,
name: "从化",
abbr: "CH",
area_code: "200109",
sort: 2000,
latitude: 23.548349,
longitude: 113.586456,
is_map: true,
pinyin: "conghua"
},
{
id: 582,
name: "澄迈",
abbr: "CM",
area_code: "200128",
sort: 2000,
latitude: 19.738489,
longitude: 110.004868,
is_map: true,
pinyin: "chengmai"
},
{
id: 592,
name: "磁县",
abbr: "CX",
area_code: "200138",
sort: 2000,
latitude: 36.373959,
longitude: 114.373917,
is_map: true,
pinyin: "cixian"
},
{
id: 636,
name: "长垣",
abbr: "CY",
area_code: "200182",
sort: 2000,
latitude: 35.200489,
longitude: 114.668861,
is_map: true,
pinyin: "changyuan"
},
{
id: 641,
name: "长葛",
abbr: "CG",
area_code: "200187",
sort: 2000,
latitude: 34.216721,
longitude: 113.768272,
is_map: true,
pinyin: "changge"
},
{
id: 740,
name: "赤壁",
abbr: "CB",
area_code: "200286",
sort: 2000,
latitude: 29.72476,
longitude: 113.900543,
is_map: true,
pinyin: "chibi"
},
{
id: 749,
name: "崇阳",
abbr: "CY",
area_code: "200295",
sort: 2000,
latitude: 29.55537,
longitude: 114.038918,
is_map: true,
pinyin: "chongyang"
},
{
id: 758,
name: "常宁",
abbr: "CN",
area_code: "200304",
sort: 2000,
latitude: 26.420931,
longitude: 112.399918,
is_map: true,
pinyin: "changning"
},
{
id: 760,
name: "茶陵",
abbr: "CL",
area_code: "200306",
sort: 2000,
latitude: 26.777451,
longitude: 113.539268,
is_map: true,
pinyin: "chaling"
},
{
id: 797,
name: "慈利",
abbr: "CL",
area_code: "200343",
sort: 2000,
latitude: 29.429701,
longitude: 111.139214,
is_map: true,
pinyin: "cili"
},
{
id: 812,
name: "长岭",
abbr: "CL",
area_code: "200358",
sort: 2000,
latitude: 44.275909,
longitude: 123.9673,
is_map: true,
pinyin: "changling"
},
{
id: 911,
name: "昌图",
abbr: "CT",
area_code: "200457",
sort: 2000,
latitude: 42.786129,
longitude: 124.110924,
is_map: true,
pinyin: "changtu"
},
{
id: 931,
name: "曹县",
abbr: "CX",
area_code: "200477",
sort: 2000,
latitude: 34.825531,
longitude: 115.542137,
is_map: true,
pinyin: "caoxian"
},
{
id: 959,
name: "昌邑",
abbr: "CY",
area_code: "200505",
sort: 2000,
latitude: 36.858841,
longitude: 119.398621,
is_map: true,
pinyin: "changyi"
},
{
id: 962,
name: "昌乐",
abbr: "CL",
area_code: "200508",
sort: 2000,
latitude: 36.70702,
longitude: 118.829842,
is_map: true,
pinyin: "changle"
},
{
id: 979,
name: "茌平",
abbr: "CP",
area_code: "200525",
sort: 2000,
latitude: 36.580681,
longitude: 116.255219,
is_map: true,
pinyin: "chiping"
},
{
id: 982,
name: "成武",
abbr: "CW",
area_code: "200528",
sort: 2000,
latitude: 34.95245,
longitude: 115.889641,
is_map: true,
pinyin: "chengwu"
},
{
id: 1010,
name: "崇明",
abbr: "CM",
area_code: "200556",
sort: 2000,
latitude: 31.6229,
longitude: 121.397301,
is_map: true,
pinyin: "chongming"
},
{
id: 1037,
name: "崇州",
abbr: "CZ",
area_code: "200583",
sort: 2000,
latitude: 30.630211,
longitude: 103.67289,
is_map: true,
pinyin: "chongzhou"
},
{
id: 1075,
name: "慈溪",
abbr: "CX",
area_code: "200621",
sort: 2000,
latitude: 30.16964,
longitude: 121.266472,
is_map: true,
pinyin: "cixi"
},
{
id: 1080,
name: "苍南",
abbr: "CN",
area_code: "200626",
sort: 2000,
latitude: 27.517429,
longitude: 120.426308,
is_map: true,
pinyin: "cangnan"
},
{
id: 1096,
name: "长兴",
abbr: "CX",
area_code: "200642",
sort: 2000,
latitude: 31.02663,
longitude: 119.91011,
is_map: true,
pinyin: "changxing"
},
{
id: 1118,
name: "淳安",
abbr: "CA",
area_code: "200664",
sort: 2000,
latitude: 29.608521,
longitude: 119.041878,
is_map: true,
pinyin: "chunan"
},
{
id: 355,
name: "常熟",
abbr: "CS",
area_code: "05121",
sort: 9999,
latitude: 31.65382,
longitude: 120.752373,
is_map: true,
pinyin: "changshu"
},
{
id: 373,
name: "澄海",
abbr: "CH",
area_code: "07541",
sort: 9999,
latitude: 23.466129,
longitude: 116.756081,
is_map: true,
pinyin: "chenghai"
},
{
id: 1158,
name: "长泰",
abbr: "CT",
area_code: "350625",
sort: 9999,
latitude: 24.625799,
longitude: 117.759483,
is_map: true,
pinyin: "changtai"
},
{
id: 1168,
name: "常山县",
abbr: "CS",
area_code: "330822",
sort: 9999,
latitude: 28.901409,
longitude: 118.511162,
is_map: true,
pinyin: "changshan"
},
{
id: 1174,
name: "潮南",
abbr: "CN",
area_code: "440514",
sort: 9999,
latitude: 23.25029,
longitude: 116.433098,
is_map: true,
pinyin: "chaonan"
},
{
id: 1179,
name: "昌黎",
abbr: "CL",
area_code: "130321",
sort: 9999,
latitude: 39.709728,
longitude: 119.164543,
is_map: true,
pinyin: "changli"
},
{
id: 1183,
name: "成安",
abbr: "CA",
area_code: "130424",
sort: 9999,
latitude: 36.442997,
longitude: 114.691841,
is_map: true,
pinyin: "chengan"
},
{
id: 1228,
name: "赤城",
abbr: "CC",
area_code: "130732",
sort: 9999,
latitude: 40.912083,
longitude: 115.83271,
is_map: true,
pinyin: "chicheng"
},
{
id: 1375,
name: "陈巴尔虎旗",
abbr: "CBEHQ",
area_code: "150725",
sort: 9999,
latitude: 49.328423,
longitude: 119.437607,
is_map: true,
pinyin: "chenbaerhuqi"
},
{
id: 1392,
name: "察哈尔右翼前旗",
abbr: "CHEYYQQ",
area_code: "150926",
sort: 9999,
latitude: 40.786858,
longitude: 113.21196,
is_map: true,
pinyin: "chahaeryouyiqianqi"
},
{
id: 1393,
name: "察哈尔右翼中旗",
abbr: "CHEYYZQ",
area_code: "150927",
sort: 9999,
latitude: 41.274212,
longitude: 112.63356,
is_map: true,
pinyin: "chahaeryouyizhongqi"
},
{
id: 1394,
name: "察哈尔右翼后旗",
abbr: "CHEYYHQ",
area_code: "150928",
sort: 9999,
latitude: 41.447212,
longitude: 113.190598,
is_map: true,
pinyin: "chahaeryouyihouqi"
},
{
id: 1421,
name: "长海县",
abbr: "CHX",
area_code: "210224",
sort: 9999,
latitude: 39.2724,
longitude: 122.587822,
is_map: true,
pinyin: "changhai"
},
{
id: 1453,
name: "长白朝鲜族自治县",
abbr: "CZBCXZZZX",
area_code: "220623",
sort: 9999,
latitude: 41.419361,
longitude: 128.203384,
is_map: true,
pinyin: "changbaichaoxianzuzizhixian"
},
{
id: 1588,
name: "崇义",
abbr: "CY",
area_code: "360725",
sort: 9999,
latitude: 25.68791,
longitude: 114.30735,
is_map: true,
pinyin: "chongyi"
},
{
id: 1611,
name: "崇仁县",
abbr: "CRX",
area_code: "361024",
sort: 9999,
latitude: 27.760906,
longitude: 116.059113,
is_map: true,
pinyin: "chongren"
},
{
id: 1721,
name: "辰溪县",
abbr: "CXX",
area_code: "431223",
sort: 9999,
latitude: 28.005474,
longitude: 110.196953,
is_map: true,
pinyin: "chenxi"
},
{
id: 1789,
name: "苍梧",
abbr: "CW",
area_code: "450421",
sort: 9999,
latitude: 23.40996,
longitude: 111.246033,
is_map: true,
pinyin: "cangwu"
},
{
id: 1792,
name: "岑溪",
abbr: "CX",
area_code: "450481",
sort: 9999,
latitude: 22.918406,
longitude: 110.998116,
is_map: true,
pinyin: "cenxi"
},
{
id: 1970,
name: "赤水",
abbr: "CS",
area_code: "520381",
sort: 9999,
latitude: 28.587057,
longitude: 105.698112,
is_map: true,
pinyin: "chishui"
},
{
id: 1992,
name: "册亨",
abbr: "CH",
area_code: "522327",
sort: 9999,
latitude: 24.983337,
longitude: 105.812408,
is_map: true,
pinyin: "ceheng"
},
{
id: 1999,
name: "岑巩",
abbr: "CG",
area_code: "522626",
sort: 9999,
latitude: 27.173244,
longitude: 108.81646,
is_map: true,
pinyin: "cengong"
},
{
id: 2006,
name: "从江",
abbr: "CJ",
area_code: "522633",
sort: 9999,
latitude: 25.747059,
longitude: 108.912651,
is_map: true,
pinyin: "congjiang"
},
{
id: 2018,
name: "长顺",
abbr: "CS",
area_code: "522729",
sort: 9999,
latitude: 26.022116,
longitude: 106.447372,
is_map: true,
pinyin: "changshun"
},
{
id: 2031,
name: "澄江",
abbr: "CJ",
area_code: "530422",
sort: 9999,
latitude: 24.66968,
longitude: 102.916649,
is_map: true,
pinyin: "chengjiang"
},
{
id: 2040,
name: "昌宁",
abbr: "CN",
area_code: "530524",
sort: 9999,
latitude: 24.823662,
longitude: 99.612343,
is_map: true,
pinyin: "changning"
},
{
id: 2070,
name: "沧源佤族自治县",
abbr: "CYWZZZX",
area_code: "530927",
sort: 9999,
latitude: 23.146887,
longitude: 99.247398,
is_map: true,
pinyin: "cangyuanwazuzizhixian"
},
{
id: 2151,
name: "昌都地区",
abbr: "CDDQ",
area_code: "542100",
sort: 9999,
latitude: 31.136875,
longitude: 97.178452,
is_map: true,
pinyin: "changdudiqu"
},
{
id: 2232,
name: "澄城",
abbr: "CC",
area_code: "610525",
sort: 9999,
latitude: 35.183998,
longitude: 109.937607,
is_map: true,
pinyin: "chengcheng"
},
{
id: 2425,
name: "昌吉回族自治州",
abbr: "CJHZZZZ",
area_code: "652300",
sort: 9999,
latitude: 44.014576,
longitude: 87.304008,
is_map: true,
pinyin: "changjihuizuzizhizhou"
},
{
id: 5042,
name: "曹妃甸区",
abbr: "CFD",
area_code: "130209",
sort: 9999,
latitude: 39.273129,
longitude: 118.460228,
is_map: true,
pinyin: "caofeidianqu"
},
{
id: 5647,
name: "潮阳区",
abbr: "CYQ",
area_code: "440513",
sort: 9999,
latitude: 23.262337,
longitude: 116.6026,
is_map: true,
pinyin: "chaoyangqu"
},
{
id: 5687,
name: "城中区",
abbr: "CZQ",
area_code: "450202",
sort: 9999,
latitude: 0,
longitude: 0,
is_map: true,
pinyin: "chengzhongqu"
},
{
id: 5813,
name: "呈贡区",
abbr: "CGQ",
area_code: "530114",
sort: 9999,
latitude: 24.889275,
longitude: 102.801384,
is_map: true,
pinyin: "chenggongqu"
}
],
F: [
{
id: 24,
name: "佛山",
abbr: "FS",
area_code: "0757",
sort: 23,
latitude: 23.021851,
longitude: 113.121918,
is_map: true,
pinyin: "foshan"
},
{
id: 9,
name: "福州",
abbr: "FZ",
area_code: "0591",
sort: 2000,
latitude: 26.074209,
longitude: 119.296471,
is_map: true,
pinyin: "fuzhou"
},
{
id: 108,
name: "抚顺",
abbr: "FS",
area_code: "0413",
sort: 2000,
latitude: 41.879711,
longitude: 123.957222,
is_map: true,
pinyin: "fushun"
},
{
id: 118,
name: "阜新",
abbr: "FX",
area_code: "0418",
sort: 2000,
latitude: 42.02166,
longitude: 121.670113,
is_map: true,
pinyin: "fuxin"
},
{
id: 195,
name: "阜阳",
abbr: "FY",
area_code: "0558",
sort: 2000,
latitude: 32.889629,
longitude: 115.814949,
is_map: true,
pinyin: "fuyang"
},
{
id: 219,
name: "抚州",
abbr: "FZ",
area_code: "0794",
sort: 2000,
latitude: 27.947809,
longitude: 116.358093,
is_map: true,
pinyin: "fuzhou"
},
{
id: 429,
name: "涪陵",
abbr: "FL",
area_code: "10007",
sort: 2000,
latitude: 29.70315,
longitude: 107.389816,
is_map: true,
pinyin: "fuling"
},
{
id: 459,
name: "肥东",
abbr: "FD",
area_code: "200005",
sort: 2000,
latitude: 31.887699,
longitude: 117.469276,
is_map: true,
pinyin: "feidong"
},
{
id: 460,
name: "肥西",
abbr: "FX",
area_code: "200006",
sort: 2000,
latitude: 31.70653,
longitude: 117.158401,
is_map: true,
pinyin: "feixi"
},
{
id: 468,
name: "阜南",
abbr: "FN",
area_code: "200014",
sort: 2000,
latitude: 32.658871,
longitude: 115.593193,
is_map: true,
pinyin: "funan"
},
{
id: 475,
name: "凤台",
abbr: "FT",
area_code: "200021",
sort: 2000,
latitude: 32.709461,
longitude: 116.71077,
is_map: true,
pinyin: "fengtai"
},
{
id: 490,
name: "凤阳",
abbr: "FY",
area_code: "200036",
sort: 2000,
latitude: 32.866001,
longitude: 117.561241,
is_map: true,
pinyin: "fengyang"
},
{
id: 497,
name: "福清",
abbr: "FQ",
area_code: "200043",
sort: 2000,
latitude: 25.72024,
longitude: 119.384109,
is_map: true,
pinyin: "fuqing"
},
{
id: 500,
name: "福安",
abbr: "FA",
area_code: "200046",
sort: 2000,
latitude: 27.087971,
longitude: 119.647682,
is_map: true,
pinyin: "fuan"
},
{
id: 504,
name: "福鼎",
abbr: "FD",
area_code: "200050",
sort: 2000,
latitude: 27.32436,
longitude: 120.216713,
is_map: true,
pinyin: "fuding"
},
{
id: 635,
name: "方城",
abbr: "FC",
area_code: "200181",
sort: 2000,
latitude: 33.254391,
longitude: 113.01255,
is_map: true,
pinyin: "fangcheng"
},
{
id: 667,
name: "封丘",
abbr: "FQ",
area_code: "200213",
sort: 2000,
latitude: 35.041191,
longitude: 114.41861,
is_map: true,
pinyin: "fengqiu"
},
{
id: 680,
name: "扶沟",
abbr: "FG",
area_code: "200226",
sort: 2000,
latitude: 34.060001,
longitude: 114.394821,
is_map: true,
pinyin: "fugou"
},
{
id: 708,
name: "富锦",
abbr: "FJ",
area_code: "200254",
sort: 2000,
latitude: 47.250221,
longitude: 132.037277,
is_map: true,
pinyin: "fujin"
},
{
id: 811,
name: "抚松",
abbr: "FS",
area_code: "200357",
sort: 2000,
latitude: 42.342018,
longitude: 127.280357,
is_map: true,
pinyin: "fusong"
},
{
id: 821,
name: "扶余",
abbr: "FY",
area_code: "200367",
sort: 2000,
latitude: 44.990139,
longitude: 126.049721,
is_map: true,
pinyin: "fuyu"
},
{
id: 840,
name: "丰县",
abbr: "FX",
area_code: "200386",
sort: 2000,
latitude: 34.693958,
longitude: 116.595322,
is_map: true,
pinyin: "fengxian"
},
{
id: 848,
name: "阜宁",
abbr: "FN",
area_code: "200394",
sort: 2000,
latitude: 33.759312,
longitude: 119.802582,
is_map: true,
pinyin: "funing"
},
{
id: 871,
name: "丰城",
abbr: "FC",
area_code: "200417",
sort: 2000,
latitude: 28.159201,
longitude: 115.77121,
is_map: true,
pinyin: "fengcheng"
},
{
id: 884,
name: "浮梁",
abbr: "FL",
area_code: "200430",
sort: 2000,
latitude: 29.351589,
longitude: 117.215233,
is_map: true,
pinyin: "fuliang"
},
{
id: 904,
name: "凤城",
abbr: "FC",
area_code: "200450",
sort: 2000,
latitude: 40.452789,
longitude: 124.066048,
is_map: true,
pinyin: "fengcheng"
},
{
id: 934,
name: "费县",
abbr: "FX",
area_code: "200480",
sort: 2000,
latitude: 35.26659,
longitude: 117.977112,
is_map: true,
pinyin: "feixian"
},
{
id: 935,
name: "肥城",
abbr: "FC",
area_code: "200481",
sort: 2000,
latitude: 36.182449,
longitude: 116.769173,
is_map: true,
pinyin: "feicheng"
},
{
id: 1030,
name: "富顺",
abbr: "FS",
area_code: "200576",
sort: 2000,
latitude: 29.181271,
longitude: 104.974953,
is_map: true,
pinyin: "fushun"
},
{
id: 1060,
name: "富源",
abbr: "FY",
area_code: "200606",
sort: 2000,
latitude: 25.674219,
longitude: 104.254852,
is_map: true,
pinyin: "fuyuan"
},
{
id: 1087,
name: "富阳",
abbr: "FY",
area_code: "200633",
sort: 2000,
latitude: 30.048849,
longitude: 119.960426,
is_map: true,
pinyin: "fuyang"
},
{
id: 11
gitextract_pq5b2d9_/
├── .babelrc
├── .gitignore
├── API.md
├── COPYING
├── InitData/
│ ├── activity.js
│ ├── category.js
│ ├── cities.js
│ ├── delivery.js
│ ├── entry.js
│ ├── explain.js
│ ├── hongbao.js
│ ├── payments.js
│ ├── rate.js
│ └── remark.js
├── README.md
├── app.js
├── config/
│ ├── .gitignore
│ ├── default.js
│ └── development.js
├── controller/
│ ├── admin/
│ │ └── admin.js
│ ├── member/
│ │ └── vipcart.js
│ ├── promotion/
│ │ └── hongbao.js
│ ├── shopping/
│ │ ├── category.js
│ │ ├── food.js
│ │ └── shop.js
│ ├── statis/
│ │ └── statis.js
│ ├── ugc/
│ │ └── rating.js
│ ├── v1/
│ │ ├── address.js
│ │ ├── captchas.js
│ │ ├── carts.js
│ │ ├── cities.js
│ │ ├── order.js
│ │ ├── remark.js
│ │ └── search.js
│ ├── v2/
│ │ ├── entry.js
│ │ └── user.js
│ └── v3/
│ └── explain.js
├── ecosystem.config.js
├── index.js
├── logs/
│ └── .gitignore
├── middlewares/
│ ├── check.js
│ ├── history.js
│ ├── statistic.js
│ └── w2-proxy
├── models/
│ ├── admin/
│ │ └── admin.js
│ ├── bos/
│ │ └── order.js
│ ├── ids.js
│ ├── promotion/
│ │ └── hongbao.js
│ ├── shopping/
│ │ ├── activity.js
│ │ ├── category.js
│ │ ├── delivery.js
│ │ ├── food.js
│ │ └── shop.js
│ ├── statis/
│ │ └── statis.js
│ ├── ugc/
│ │ └── rating.js
│ ├── v1/
│ │ ├── address.js
│ │ ├── cart.js
│ │ ├── cities.js
│ │ ├── payments.js
│ │ └── remark.js
│ ├── v2/
│ │ ├── entry.js
│ │ ├── user.js
│ │ └── userInfo.js
│ └── v3/
│ └── explain.js
├── mongodb/
│ └── db.js
├── package.json
├── prototype/
│ ├── addressComponent.js
│ └── baseComponent.js
├── public/
│ ├── elm/
│ │ └── static/
│ │ ├── css/
│ │ │ └── app.css
│ │ └── js/
│ │ ├── app.js
│ │ ├── manifest.js
│ │ └── vendor.js
│ ├── img/
│ │ └── .gitignore
│ └── index.html
├── routes/
│ ├── admin.js
│ ├── bos.js
│ ├── eus.js
│ ├── index.js
│ ├── member.js
│ ├── payapi.js
│ ├── promotion.js
│ ├── shopping.js
│ ├── statis.js
│ ├── ugc.js
│ ├── v1.js
│ ├── v2.js
│ ├── v3.js
│ └── v4.js
├── todo.txt
└── views/
├── home.ejs
└── index.html
SYMBOL INDEX (643 symbols across 25 files)
FILE: controller/admin/admin.js
class Admin (line 9) | class Admin extends AddressComponent {
method constructor (line 10) | constructor(){
method login (line 17) | async login(req, res, next){
method register (line 90) | async register(req, res, next){
method encryption (line 155) | encryption(password){
method Md5 (line 159) | Md5(password){
method singout (line 163) | async singout(req, res, next){
method getAllAdmin (line 178) | async getAllAdmin(req, res, next){
method getAdminCount (line 195) | async getAdminCount(req, res, next){
method getAdminInfo (line 211) | async getAdminInfo(req, res, next){
method updateAvatar (line 241) | async updateAvatar(req, res, next){
FILE: controller/member/vipcart.js
class VipCart (line 3) | class VipCart {
method constructor (line 4) | constructor(props) {
method useCart (line 7) | async useCart(req, res, next){
FILE: controller/promotion/hongbao.js
class Hongbao (line 6) | class Hongbao extends BaseComponent{
method constructor (line 7) | constructor(){
method getHongbao (line 12) | async getHongbao(req, res, next){
method getExpiredHongbao (line 15) | async getExpiredHongbao(req, res, next){
method hongbaoHandle (line 18) | async hongbaoHandle(req, res, type){
method exchange (line 51) | async exchange(req, res, next){
FILE: controller/shopping/category.js
class Category (line 8) | class Category extends BaseComponent{
method constructor (line 9) | constructor(){
method getCategories (line 13) | async getCategories(req, res, next){
method addCategory (line 26) | async addCategory(type){
method findById (line 33) | async findById(id){
method getDelivery (line 49) | async getDelivery(req, res, next){
method getActivity (line 63) | async getActivity(req, res, next){
FILE: controller/shopping/food.js
class Food (line 8) | class Food extends BaseComponent{
method constructor (line 9) | constructor(){
method initData (line 32) | async initData(restaurant_id){
method getCategory (line 53) | async getCategory(req, res, next){
method addCategory (line 70) | async addCategory(req, res, next){
method addFood (line 123) | async addFood(req, res, next){
method getSpecfoods (line 253) | async getSpecfoods(fields, item_id){
method getMenu (line 310) | async getMenu(req, res, next){
method getMenuDetail (line 340) | async getMenuDetail(req, res, next){
method getFoods (line 363) | async getFoods(req, res, next){
method getFoodsCount (line 382) | async getFoodsCount(req, res, next){
method updateFood (line 404) | async updateFood(req, res, next){
method deleteFood (line 467) | async deleteFood(req, res, next){
FILE: controller/shopping/shop.js
class Shop (line 10) | class Shop extends AddressComponent{
method constructor (line 11) | constructor(){
method addShop (line 18) | async addShop(req, res, next){
method getRestaurants (line 189) | async getRestaurants(req, res, next){
method searchResaturant (line 304) | async searchResaturant(req, res, next){
method getRestaurantDetail (line 350) | async getRestaurantDetail(req, res, next){
method getShopCount (line 373) | async getShopCount(req, res, next){
method updateshop (line 389) | async updateshop(req, res, next){
method deleteResturant (line 444) | async deleteResturant(req, res, next){
FILE: controller/statis/statis.js
class Statis (line 9) | class Statis {
method constructor (line 10) | constructor(){
method apiCount (line 13) | async apiCount(req, res, next){
method apiAllCount (line 39) | async apiAllCount(req, res, next){
method allApiRecord (line 55) | async allApiRecord(req, res, next){
method userCount (line 68) | async userCount(req, res, next){
method adminCount (line 94) | async adminCount(req, res, next){
method orderCount (line 120) | async orderCount(req, res, next){
FILE: controller/ugc/rating.js
class Rating (line 5) | class Rating {
method constructor (line 6) | constructor(){
method initData (line 12) | async initData(restaurant_id){
method getRatings (line 23) | async getRatings(req, res, next){
method getScores (line 45) | async getScores(req, res, next){
method getTags (line 67) | async getTags(req, res, next){
FILE: controller/v1/address.js
class Address (line 7) | class Address extends BaseComponent{
method constructor (line 8) | constructor(){
method getAddress (line 13) | async getAddress(req, res, next){
method addAddress (line 33) | async addAddress(req, res, next){
method deleteAddress (line 97) | async deleteAddress(req, res, next){
method getAddAddressById (line 120) | async getAddAddressById(req, res, next){
FILE: controller/v1/captchas.js
class Captchas (line 5) | class Captchas {
method constructor (line 6) | constructor(){
method getCaptchas (line 10) | async getCaptchas(req, res, next){
FILE: controller/v1/carts.js
class Carts (line 9) | class Carts extends AddressComponent{
method constructor (line 10) | constructor(){
method checkout (line 21) | async checkout(req, res, next){
FILE: controller/v1/cities.js
class CityHandle (line 8) | class CityHandle extends AddressComponent{
method constructor (line 9) | constructor(){
method getCity (line 15) | async getCity(req, res, next){
method getCityById (line 45) | async getCityById(req, res, next){
method getCityName (line 64) | async getCityName(req){
method getExactAddress (line 82) | async getExactAddress(req, res, next){
method pois (line 94) | async pois(req, res, next){
FILE: controller/v1/order.js
class Order (line 10) | class Order extends BaseComponent{
method constructor (line 11) | constructor(){
method postOrder (line 15) | async postOrder(req, res, next){
method getOrders (line 112) | async getOrders(req, res, next){
method getDetail (line 155) | async getDetail(req, res, next){
method getAllOrders (line 186) | async getAllOrders(req, res, next){
method getOrdersCount (line 216) | async getOrdersCount(req, res, next){
FILE: controller/v1/remark.js
class Remark (line 6) | class Remark extends BaseComponent{
method constructor (line 7) | constructor(){
method getRemarks (line 10) | async getRemarks(req, res, next){
FILE: controller/v1/search.js
class SearchPlace (line 7) | class SearchPlace extends AddressComponent{
method constructor (line 8) | constructor(){
method search (line 12) | async search(req, res, next){
FILE: controller/v2/entry.js
class Entry (line 5) | class Entry {
method constructor (line 6) | constructor(){
method getEntry (line 9) | async getEntry(req, res, next){
FILE: controller/v2/user.js
class User (line 10) | class User extends AddressComponent {
method constructor (line 11) | constructor(){
method login (line 18) | async login(req, res, next){
method getInfo (line 95) | async getInfo(req, res, next){
method getInfoById (line 120) | async getInfoById(req, res, next){
method signout (line 143) | async signout(req, res, next){
method chanegPassword (line 150) | async chanegPassword(req, res, next){
method encryption (line 228) | encryption(password){
method Md5 (line 232) | Md5(password){
method getUserList (line 236) | async getUserList(req, res, next){
method getUserCount (line 250) | async getUserCount(req, res, next){
method updateAvatar (line 266) | async updateAvatar(req, res, next){
method getUserCity (line 296) | async getUserCity(req, res, next){
FILE: controller/v3/explain.js
class Explain (line 5) | class Explain {
method constructor (line 6) | constructor(){
method getExpalin (line 9) | async getExpalin(req, res, next){
FILE: middlewares/check.js
class Check (line 5) | class Check {
method constructor (line 6) | constructor(){
method checkAdmin (line 9) | async checkAdmin(req, res, next){
method checkSuperAdmin (line 31) | async checkSuperAdmin(req, res, next){
FILE: middlewares/statistic.js
class Statistic (line 7) | class Statistic extends BaseComponent {
method constructor (line 8) | constructor(){
method apiRecord (line 12) | async apiRecord(req, res, next){
FILE: prototype/addressComponent.js
class AddressComponent (line 8) | class AddressComponent extends BaseComponent {
method constructor (line 9) | constructor(){
method guessPosition (line 19) | async guessPosition(req){
method searchPlace (line 78) | async searchPlace(keyword, cityName, type = 'search'){
method getDistance (line 96) | async getDistance(from, to, type){
method geocoder (line 145) | async geocoder(req){
method getpois (line 176) | async getpois(lat, lng){
FILE: prototype/baseComponent.js
class BaseComponent (line 12) | class BaseComponent {
method constructor (line 13) | constructor(){
method fetch (line 19) | async fetch(url = '', data = {}, type = 'GET', resType = 'JSON'){
method getId (line 62) | async getId(type){
method uploadImg (line 79) | async uploadImg(req, res, next){
method getPath (line 98) | async getPath(req, res){
method qiniu (line 150) | async qiniu(req, type = 'default'){
method uptoken (line 182) | uptoken(bucket, key){
method uploadFile (line 186) | uploadFile(uptoken, key, localFile){
FILE: public/elm/static/js/app.js
function r (line 1) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 1) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 1) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 1) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 1) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 1) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 1) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 1) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 1) | function r(t){return t&&t.__esModule?t:{default:t}}
FILE: public/elm/static/js/manifest.js
function a (line 1) | function a(d){if(c[d])return c[d].exports;var f=c[d]={exports:{},id:d,lo...
FILE: public/elm/static/js/vendor.js
function r (line 1) | function r(t,e){for(var n=0;n<t.length;n++){var r=t[n],o=l[r.id];if(o){o...
function o (line 1) | function o(t){for(var e=[],n={},r=0;r<t.length;r++){var o=t[r],i=o[0],a=...
function i (line 1) | function i(t,e){var n=h(),r=y[y.length-1];if("top"===t.insertAt)r?r.next...
function a (line 1) | function a(t){t.parentNode.removeChild(t);var e=y.indexOf(t);e>=0&&y.spl...
function s (line 1) | function s(t){var e=document.createElement("style");return e.type="text/...
function c (line 1) | function c(t,e){var n,r,o;if(e.singleton){var i=m++;n=v||(v=s(e)),r=u.bi...
function u (line 1) | function u(t,e,n,r){var o=n?"":r.css;if(t.styleSheet)t.styleSheet.cssTex...
function f (line 1) | function f(t,e){var n=e.css,r=e.media,o=e.sourceMap;if(r&&t.setAttribute...
function r (line 6) | function r(t){O&&(t._devtoolHook=O,O.emit("vuex:init",t),O.on("vuex:trav...
function o (line 6) | function o(t,e){Object.keys(t).forEach(function(n){return e(t[n],n)})}
function i (line 6) | function i(t){return null!==t&&"object"==typeof t}
function a (line 6) | function a(t){return t&&"function"==typeof t.then}
function s (line 6) | function s(t,e,n){if(e.update(n),n.modules)for(var r in n.modules){if(!e...
function c (line 6) | function c(t,e){return e.indexOf(t)<0&&e.push(t),function(){var n=e.inde...
function u (line 6) | function u(t,e){t._actions=Object.create(null),t._mutations=Object.creat...
function f (line 6) | function f(t,e,n){var r=t._vm;t.getters={};var i=t._wrappedGetters,a={};...
function l (line 6) | function l(t,e,n,r,o){var i=!n.length,a=t._modules.getNamespace(n);if(r....
function p (line 6) | function p(t,e,n){var r=""===e,o={dispatch:r?t.dispatch:function(n,r,o){...
function d (line 6) | function d(t,e){var n={},r=e.length;return Object.keys(t.getters).forEac...
function h (line 6) | function h(t,e,n,r){var o=t._mutations[e]||(t._mutations[e]=[]);o.push(f...
function v (line 6) | function v(t,e,n,r){var o=t._actions[e]||(t._actions[e]=[]);o.push(funct...
function m (line 6) | function m(t,e,n,r){t._wrappedGetters[e]||(t._wrappedGetters[e]=function...
function y (line 6) | function y(t){t._vm.$watch(function(){return this._data.$$state},functio...
function g (line 6) | function g(t,e){return e.length?e.reduce(function(t,e){return t[e]},t):t}
function _ (line 6) | function _(t,e,n){return i(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payloa...
function b (line 6) | function b(t){A&&t===A||(A=t,C(A))}
function w (line 6) | function w(t){return Array.isArray(t)?t.map(function(t){return{key:t,val...
function x (line 6) | function x(t){return function(e,n){return"string"!=typeof e?(n=e,e=""):"...
function k (line 6) | function k(t,e,n){var r=t._modulesNamespaceMap[n];return r}
function e (line 6) | function e(){var t=this.$options;t.store?this.$store="function"==typeof ...
function r (line 6) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 6) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 6) | function r(o,a){try{var s=e[o](a),c=s.value}catch(t){return void n(t)}re...
function r (line 6) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 6) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 6) | function r(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||vo...
function r (line 6) | function r(t){return t&&t.__esModule?t:{default:t}}
function r (line 11) | function r(t){return void 0===t||null===t}
function o (line 11) | function o(t){return void 0!==t&&null!==t}
function i (line 11) | function i(t){return t===!0}
function a (line 11) | function a(t){return t===!1}
function s (line 11) | function s(t){return"string"==typeof t||"number"==typeof t||"symbol"==ty...
function c (line 11) | function c(t){return null!==t&&"object"==typeof t}
function u (line 11) | function u(t){return"[object Object]"===yi.call(t)}
function f (line 11) | function f(t){return"[object RegExp]"===yi.call(t)}
function l (line 11) | function l(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e...
function p (line 11) | function p(t){return null==t?"":"object"==typeof t?JSON.stringify(t,null...
function d (line 11) | function d(t){var e=parseFloat(t);return isNaN(e)?t:e}
function h (line 11) | function h(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o<r.len...
function v (line 11) | function v(t,e){if(t.length){var n=t.indexOf(e);if(n>-1)return t.splice(...
function m (line 11) | function m(t,e){return bi.call(t,e)}
function y (line 11) | function y(t){var e=Object.create(null);return function(n){var r=e[n];re...
function g (line 11) | function g(t,e){function n(n){var r=arguments.length;return r?r>1?t.appl...
function _ (line 11) | function _(t,e){return t.bind(e)}
function b (line 11) | function b(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n...
function w (line 11) | function w(t,e){for(var n in e)t[n]=e[n];return t}
function x (line 11) | function x(t){for(var e={},n=0;n<t.length;n++)t[n]&&w(e,t[n]);return e}
function k (line 11) | function k(t,e,n){}
function C (line 11) | function C(t){return t.reduce(function(t,e){return t.concat(e.staticKeys...
function O (line 11) | function O(t,e){if(t===e)return!0;var n=c(t),r=c(e);if(!n||!r)return!n&&...
function $ (line 11) | function $(t,e){for(var n=0;n<t.length;n++)if(O(t[n],e))return n;return-1}
function S (line 11) | function S(t){var e=!1;return function(){e||(e=!0,t.apply(this,arguments...
function E (line 11) | function E(t){var e=(t+"").charCodeAt(0);return 36===e||95===e}
function A (line 11) | function A(t,e,n,r){Object.defineProperty(t,e,{value:n,enumerable:!!r,wr...
function T (line 11) | function T(t){if(!Mi.test(t)){var e=t.split(".");return function(t){for(...
function j (line 11) | function j(t){return"function"==typeof t&&/native code/.test(t.toString())}
function L (line 11) | function L(t){Qi.target&&ta.push(Qi.target),Qi.target=t}
function M (line 11) | function M(){Qi.target=ta.pop()}
function P (line 11) | function P(t){return new ea(void 0,void 0,void 0,String(t))}
function N (line 11) | function N(t){var e=new ea(t.tag,t.data,t.children,t.text,t.elm,t.contex...
function I (line 11) | function I(t){ca=t}
function R (line 11) | function R(t,e,n){t.__proto__=e}
function F (line 11) | 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 (line 11) | function D(t,e){if(c(t)&&!(t instanceof ea)){var n;return m(t,"__ob__")&...
function H (line 11) | function H(t,e,n,r,o){var i=new Qi,a=Object.getOwnPropertyDescriptor(t,e...
function B (line 11) | function B(t,e,n){if(Array.isArray(t)&&l(e))return t.length=Math.max(t.l...
function U (line 11) | function U(t,e){if(Array.isArray(t)&&l(e))return void t.splice(e,1);var ...
function V (line 11) | function V(t){for(var e=void 0,n=0,r=t.length;n<r;n++)e=t[n],e&&e.__ob__...
function q (line 11) | function q(t,e){if(!e)return t;for(var n,r,o,i=Object.keys(e),a=0;a<i.le...
function G (line 11) | function G(t,e,n){return n?function(){var r="function"==typeof e?e.call(...
function z (line 11) | function z(t,e){return e?t?t.concat(e):Array.isArray(e)?e:[e]:t}
function K (line 11) | function K(t,e,n,r){var o=Object.create(t||null);return e?w(o,e):o}
function W (line 11) | function W(t,e){var n=t.props;if(n){var r,o,i,a={};if(Array.isArray(n))f...
function J (line 11) | function J(t,e){var n=t.inject;if(n){var r=t.inject={};if(Array.isArray(...
function X (line 11) | function X(t){var e=t.directives;if(e)for(var n in e){var r=e[n];"functi...
function Y (line 11) | function Y(t,e,n){function r(r){var o=fa[r]||da;c[r]=o(t[r],e[r],n,r)}"f...
function Z (line 11) | function Z(t,e,n,r){if("string"==typeof n){var o=t[e];if(m(o,n))return o...
function Q (line 11) | function Q(t,e,n,r){var o=e[t],i=!m(n,t),a=n[t],s=rt(Boolean,o.type);if(...
function tt (line 11) | function tt(t,e,n){if(m(e,"default")){var r=e.default;return t&&t.$optio...
function et (line 11) | function et(t){var e=t&&t.toString().match(/^\s*function (\w+)/);return ...
function nt (line 11) | function nt(t,e){return et(t)===et(e)}
function rt (line 11) | function rt(t,e){if(!Array.isArray(e))return nt(e,t)?0:-1;for(var n=0,r=...
function ot (line 11) | function ot(t,e,n){if(e)for(var r=e;r=r.$parent;){var o=r.$options.error...
function it (line 11) | function it(t,e,n){if(Li.errorHandler)try{return Li.errorHandler.call(nu...
function at (line 11) | function at(t,e,n){if(!Ni&&!Ii||"undefined"==typeof console)throw t;cons...
function st (line 11) | function st(){va=!1;var t=ha.slice(0);ha.length=0;for(var e=0;e<t.length...
function ct (line 11) | function ct(t){return t._withTask||(t._withTask=function(){ma=!0;var e=t...
function ut (line 11) | function ut(t,e){var n;if(ha.push(function(){if(t)try{t.call(e)}catch(t)...
function ft (line 11) | function ft(t){lt(t,wa),wa.clear()}
function lt (line 11) | function lt(t,e){var n,r,o=Array.isArray(t);if(!(!o&&!c(t)||Object.isFro...
function pt (line 11) | function pt(t){function e(){var t=arguments,n=e.fns;if(!Array.isArray(n)...
function dt (line 11) | 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),...
function ht (line 11) | function ht(t,e,n){function a(){n.apply(this,arguments),v(s.fns,a)}t ins...
function vt (line 11) | function vt(t,e,n){var i=e.options.props;if(!r(i)){var a={},s=t.attrs,c=...
function mt (line 11) | function mt(t,e,n,r,i){if(o(e)){if(m(e,n))return t[n]=e[n],i||delete e[n...
function yt (line 11) | function yt(t){for(var e=0;e<t.length;e++)if(Array.isArray(t[e]))return ...
function gt (line 11) | function gt(t){return s(t)?[P(t)]:Array.isArray(t)?bt(t):void 0}
function _t (line 11) | function _t(t){return o(t)&&o(t.text)&&a(t.isComment)}
function bt (line 11) | function bt(t,e){var n,a,c,u,f=[];for(n=0;n<t.length;n++)a=t[n],r(a)||"b...
function wt (line 11) | function wt(t,e){return(t.__esModule||Xi&&"Module"===t[Symbol.toStringTa...
function xt (line 11) | function xt(t,e,n,r,o){var i=ra();return i.asyncFactory=t,i.asyncMeta={d...
function kt (line 11) | function kt(t,e,n){if(i(t.error)&&o(t.errorComp))return t.errorComp;if(o...
function Ct (line 11) | function Ct(t){return t.isComment&&t.asyncFactory}
function Ot (line 11) | function Ot(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var n=t[e...
function $t (line 11) | function $t(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t....
function St (line 11) | function St(t,e,n){n?ba.$once(t,e):ba.$on(t,e)}
function Et (line 11) | function Et(t,e){ba.$off(t,e)}
function At (line 11) | function At(t,e,n){ba=t,dt(e,n||{},St,Et,t),ba=void 0}
function Tt (line 11) | function Tt(t){var e=/^hook:/;t.prototype.$on=function(t,n){var r=this,o...
function jt (line 11) | function jt(t,e){var n={};if(!t)return n;for(var r=0,o=t.length;r<o;r++)...
function Lt (line 11) | function Lt(t){return t.isComment&&!t.asyncFactory||" "===t.text}
function Mt (line 11) | function Mt(t,e){e=e||{};for(var n=0;n<t.length;n++)Array.isArray(t[n])?...
function Pt (line 11) | function Pt(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$op...
function Nt (line 11) | function Nt(t){t.prototype._update=function(t,e){var n=this;n._isMounted...
function It (line 11) | function It(t,e,n){t.$el=e,t.$options.render||(t.$options.render=ra),Bt(...
function Rt (line 11) | function Rt(t,e,n,r,o){var i=!!(o||t.$options._renderChildren||r.data.sc...
function Ft (line 11) | function Ft(t){for(;t&&(t=t.$parent);)if(t._inactive)return!0;return!1}
function Dt (line 11) | function Dt(t,e){if(e){if(t._directInactive=!1,Ft(t))return}else if(t._d...
function Ht (line 11) | function Ht(t,e){if(!(e&&(t._directInactive=!0,Ft(t))||t._inactive)){t._...
function Bt (line 11) | function Bt(t,e){L();var n=t.$options[e];if(n)for(var r=0,o=n.length;r<o...
function Ut (line 11) | function Ut(){Aa=Ca.length=Oa.length=0,$a={},Sa=Ea=!1}
function Vt (line 11) | function Vt(){Ea=!0;var t,e;for(Ca.sort(function(t,e){return t.id-e.id})...
function qt (line 11) | function qt(t){for(var e=t.length;e--;){var n=t[e],r=n.vm;r._watcher===n...
function Gt (line 11) | function Gt(t){t._inactive=!1,Oa.push(t)}
function zt (line 11) | function zt(t){for(var e=0;e<t.length;e++)t[e]._inactive=!0,Dt(t[e],!0)}
function Kt (line 11) | function Kt(t){var e=t.id;if(null==$a[e]){if($a[e]=!0,Ea){for(var n=Ca.l...
function Wt (line 11) | function Wt(t,e,n){La.get=function(){return this[e][n]},La.set=function(...
function Jt (line 11) | function Jt(t){t._watchers=[];var e=t.$options;e.props&&Xt(t,e.props),e....
function Xt (line 11) | function Xt(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$optio...
function Yt (line 11) | function Yt(t){var e=t.$options.data;e=t._data="function"==typeof e?Zt(e...
function Zt (line 11) | function Zt(t,e){L();try{return t.call(e,e)}catch(t){return ot(t,e,"data...
function Qt (line 11) | function Qt(t,e){var n=t._computedWatchers=Object.create(null),r=Wi();fo...
function te (line 11) | function te(t,e,n){var r=!Wi();"function"==typeof n?(La.get=r?ee(e):n,La...
function ee (line 11) | function ee(t){return function(){var e=this._computedWatchers&&this._com...
function ne (line 11) | function ne(t,e){t.$options.props;for(var n in e)t[n]=null==e[n]?k:$i(e[...
function re (line 11) | function re(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var ...
function oe (line 11) | function oe(t,e,n,r){return u(n)&&(r=n,n=n.handler),"string"==typeof n&&...
function ie (line 11) | function ie(t){var e={};e.get=function(){return this._data};var n={};n.g...
function ae (line 11) | function ae(t){var e=t.$options.provide;e&&(t._provided="function"==type...
function se (line 11) | function se(t){var e=ce(t.$options.inject,t);e&&(I(!1),Object.keys(e).fo...
function ce (line 11) | function ce(t,e){if(t){for(var n=Object.create(null),r=Xi?Reflect.ownKey...
function ue (line 11) | function ue(t,e){var n,r,i,a,s;if(Array.isArray(t)||"string"==typeof t)f...
function fe (line 11) | function fe(t,e,n,r){var o,i=this.$scopedSlots[t];if(i)n=n||{},r&&(n=w(w...
function le (line 11) | function le(t){return Z(this.$options,"filters",t,!0)||Ei}
function pe (line 11) | function pe(t,e){return Array.isArray(t)?t.indexOf(e)===-1:t!==e}
function de (line 11) | function de(t,e,n,r,o){var i=Li.keyCodes[e]||n;return o&&r&&!Li.keyCodes...
function he (line 11) | function he(t,e,n,r,o){if(n)if(c(n)){Array.isArray(n)&&(n=x(n));var i,a=...
function ve (line 11) | function ve(t,e){var n=this._staticTrees||(this._staticTrees=[]),r=n[t];...
function me (line 11) | function me(t,e,n){return ye(t,"__once__"+e+(n?"_"+n:""),!0),t}
function ye (line 11) | function ye(t,e,n){if(Array.isArray(t))for(var r=0;r<t.length;r++)t[r]&&...
function ge (line 11) | function ge(t,e,n){t.isStatic=!0,t.key=e,t.isOnce=n}
function _e (line 11) | function _e(t,e){if(e)if(u(e)){var n=t.on=t.on?w({},t.on):{};for(var r i...
function be (line 11) | 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=...
function we (line 11) | function we(t,e,n,r,o){var a,s=o.options;m(r,"_uid")?(a=Object.create(r)...
function xe (line 11) | function xe(t,e,n,r,i){var a=t.options,s={},c=a.props;if(o(c))for(var u ...
function ke (line 11) | function ke(t,e,n,r){var o=N(t);return o.fnContext=n,o.fnOptions=r,e.slo...
function Ce (line 11) | function Ce(t,e){for(var n in e)t[xi(n)]=e[n]}
function Oe (line 11) | function Oe(t,e,n,a,s){if(!r(t)){var u=n.$options._base;if(c(t)&&(t=u.ex...
function $e (line 11) | function $e(t,e,n,r){var i={_isComponent:!0,parent:e,_parentVnode:t,_par...
function Se (line 11) | function Se(t){for(var e=t.hook||(t.hook={}),n=0;n<Na.length;n++){var r=...
function Ee (line 11) | function Ee(t,e){var n=t.model&&t.model.prop||"value",r=t.model&&t.model...
function Ae (line 11) | function Ae(t,e,n,r,o,a){return(Array.isArray(n)||s(n))&&(o=r,r=n,n=void...
function Te (line 11) | function Te(t,e,n,r,i){if(o(n)&&o(n.__ob__))return ra();if(o(n)&&o(n.is)...
function je (line 11) | function je(t,e,n){if(t.ns=e,"foreignObject"===t.tag&&(e=void 0,n=!0),o(...
function Le (line 11) | function Le(t){c(t.style)&&ft(t.style),c(t.class)&&ft(t.class)}
function Me (line 11) | function Me(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$v...
function Pe (line 11) | function Pe(t){be(t.prototype),t.prototype.$nextTick=function(t){return ...
function Ne (line 11) | function Ne(t){t.prototype._init=function(t){var e=this;e._uid=Fa++;e._i...
function Ie (line 11) | function Ie(t,e){var n=t.$options=Object.create(t.constructor.options),r...
function Re (line 11) | function Re(t){var e=t.options;if(t.super){var n=Re(t.super),r=t.superOp...
function Fe (line 11) | function Fe(t){var e,n=t.options,r=t.extendOptions,o=t.sealedOptions;for...
function De (line 11) | function De(t,e,n){if(Array.isArray(t)){var r=[];n=Array.isArray(n)?n:[n...
function He (line 11) | function He(t){this._init(t)}
function Be (line 11) | function Be(t){t.use=function(t){var e=this._installedPlugins||(this._in...
function Ue (line 11) | function Ue(t){t.mixin=function(t){return this.options=Y(this.options,t)...
function Ve (line 11) | function Ve(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r...
function qe (line 11) | function qe(t){var e=t.options.props;for(var n in e)Wt(t.prototype,"_pro...
function Ge (line 11) | function Ge(t){var e=t.options.computed;for(var n in e)te(t.prototype,n,...
function ze (line 11) | function ze(t){Ti.forEach(function(e){t[e]=function(t,n){return n?("comp...
function Ke (line 11) | function Ke(t){return t&&(t.Ctor.options.name||t.tag)}
function We (line 11) | function We(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"==typeo...
function Je (line 11) | function Je(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a...
function Xe (line 11) | function Xe(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstanc...
function Ye (line 11) | function Ye(t){var e={};e.get=function(){return Li},Object.definePropert...
function Ze (line 11) | function Ze(t){for(var e=t.data,n=t,r=t;o(r.componentInstance);)r=r.comp...
function Qe (line 11) | function Qe(t,e){return{staticClass:en(t.staticClass,e.staticClass),clas...
function tn (line 11) | function tn(t,e){return o(t)||o(e)?en(t,nn(e)):""}
function en (line 11) | function en(t,e){return t?e?t+" "+e:t:e||""}
function nn (line 11) | function nn(t){return Array.isArray(t)?rn(t):c(t)?on(t):"string"==typeof...
function rn (line 11) | function rn(t){for(var e,n="",r=0,i=t.length;r<i;r++)o(e=nn(t[r]))&&""!=...
function on (line 11) | function on(t){var e="";for(var n in t)t[n]&&(e&&(e+=" "),e+=n);return e}
function an (line 11) | function an(t){return cs(t)?"svg":"math"===t?"math":void 0}
function sn (line 11) | function sn(t){if(!Ni)return!0;if(fs(t))return!1;if(t=t.toLowerCase(),nu...
function cn (line 11) | function cn(t){if("string"==typeof t){var e=document.querySelector(t);re...
function un (line 11) | function un(t,e){var n=document.createElement(t);return"select"!==t?n:(e...
function fn (line 11) | function fn(t,e){return document.createElementNS(as[t],e)}
function ln (line 11) | function ln(t){return document.createTextNode(t)}
function pn (line 11) | function pn(t){return document.createComment(t)}
function dn (line 11) | function dn(t,e,n){t.insertBefore(e,n)}
function hn (line 11) | function hn(t,e){t.removeChild(e)}
function vn (line 11) | function vn(t,e){t.appendChild(e)}
function mn (line 11) | function mn(t){return t.parentNode}
function yn (line 11) | function yn(t){return t.nextSibling}
function gn (line 11) | function gn(t){return t.tagName}
function _n (line 11) | function _n(t,e){t.textContent=e}
function bn (line 11) | function bn(t,e){t.setAttribute(e,"")}
function wn (line 11) | function wn(t,e){var n=t.data.ref;if(o(n)){var r=t.context,i=t.component...
function xn (line 11) | function xn(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.i...
function kn (line 11) | function kn(t,e){if("input"!==t.tag)return!0;var n,r=o(n=t.data)&&o(n=n....
function Cn (line 11) | function Cn(t,e,n){var r,i,a={};for(r=e;r<=n;++r)i=t[r].key,o(i)&&(a[i]=...
function On (line 11) | function On(t){function e(t){return new ea(j.tagName(t).toLowerCase(),{}...
function $n (line 12) | function $n(t,e){(t.data.directives||e.data.directives)&&Sn(t,e)}
function Sn (line 12) | function Sn(t,e){var n,r,o,i=t===vs,a=e===vs,s=En(t.data.directives,t.co...
function En (line 12) | function En(t,e){var n=Object.create(null);if(!t)return n;var r,o;for(r=...
function An (line 12) | function An(t){return t.rawName||t.name+"."+Object.keys(t.modifiers||{})...
function Tn (line 12) | function Tn(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}c...
function jn (line 12) | function jn(t,e){var n=e.componentOptions;if(!(o(n)&&n.Ctor.options.inhe...
function Ln (line 12) | function Ln(t,e,n){t.tagName.indexOf("-")>-1?Mn(t,e,n):es(e)?is(n)?t.rem...
function Mn (line 12) | function Mn(t,e,n){if(is(n))t.removeAttribute(e);else{if(Di&&!Hi&&"TEXTA...
function Pn (line 12) | function Pn(t,e){var n=e.elm,i=e.data,a=t.data;if(!(r(i.staticClass)&&r(...
function Nn (line 12) | function Nn(t){function e(){(a||(a=[])).push(t.slice(h,o).trim()),h=o+1}...
function In (line 12) | function In(t,e){var n=e.indexOf("(");if(n<0)return'_f("'+e+'")('+t+")";...
function Rn (line 12) | function Rn(t){console.error("[Vue compiler]: "+t)}
function Fn (line 12) | function Fn(t,e){return t?t.map(function(t){return t[e]}).filter(functio...
function Dn (line 12) | function Dn(t,e,n){(t.props||(t.props=[])).push({name:e,value:n}),t.plai...
function Hn (line 12) | function Hn(t,e,n){(t.attrs||(t.attrs=[])).push({name:e,value:n}),t.plai...
function Bn (line 12) | function Bn(t,e,n){t.attrsMap[e]=n,t.attrsList.push({name:e,value:n})}
function Un (line 12) | function Un(t,e,n,r,o,i){(t.directives||(t.directives=[])).push({name:e,...
function Vn (line 12) | function Vn(t,e,n,r,o,i){r=r||mi,r.capture&&(delete r.capture,e="!"+e),r...
function qn (line 12) | function qn(t,e,n){var r=Gn(t,":"+e)||Gn(t,"v-bind:"+e);if(null!=r)retur...
function Gn (line 12) | function Gn(t,e,n){var r;if(null!=(r=t.attrsMap[e]))for(var o=t.attrsLis...
function zn (line 12) | function zn(t,e,n){var r=n||{},o=r.number,i=r.trim,a="$$v",s=a;i&&(s="(t...
function Kn (line 12) | function Kn(t,e){var n=Wn(t);return null===n.key?t+"="+e:"$set("+n.exp+"...
function Wn (line 12) | function Wn(t){if(t=t.trim(),Ua=t.length,t.indexOf("[")<0||t.lastIndexOf...
function Jn (line 12) | function Jn(){return Va.charCodeAt(++Ga)}
function Xn (line 12) | function Xn(){return Ga>=Ua}
function Yn (line 12) | function Yn(t){return 34===t||39===t}
function Zn (line 12) | function Zn(t){var e=1;for(za=Ga;!Xn();)if(t=Jn(),Yn(t))Qn(t);else if(91...
function Qn (line 12) | function Qn(t){for(var e=t;!Xn()&&(t=Jn(),t!==e););}
function tr (line 12) | function tr(t,e,n){Wa=n;var r=e.value,o=e.modifiers,i=t.tag,a=t.attrsMap...
function er (line 12) | function er(t,e,n){var r=n&&n.number,o=qn(t,"value")||"null",i=qn(t,"tru...
function nr (line 12) | function nr(t,e,n){var r=n&&n.number,o=qn(t,"value")||"null";o=r?"_n("+o...
function rr (line 12) | function rr(t,e,n){var r=n&&n.number,o='Array.prototype.filter.call($eve...
function or (line 12) | function or(t,e,n){var r=t.attrsMap.type,o=n||{},i=o.lazy,a=o.number,s=o...
function ir (line 12) | function ir(t){if(o(t[ks])){var e=Di?"change":"input";t[e]=[].concat(t[k...
function ar (line 12) | function ar(t,e,n){var r=Ja;return function o(){var i=t.apply(null,argum...
function sr (line 12) | function sr(t,e,n,r,o){e=ct(e),n&&(e=ar(e,t,r)),Ja.addEventListener(t,e,...
function cr (line 12) | function cr(t,e,n,r){(r||Ja).removeEventListener(t,e._withTask||e,n)}
function ur (line 12) | function ur(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},o=...
function fr (line 12) | function fr(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,a=...
function lr (line 12) | function lr(t,e){return!t.composing&&("OPTION"===t.tagName||pr(t,e)||dr(...
function pr (line 12) | function pr(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}ret...
function dr (line 12) | function dr(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.lazy)return...
function hr (line 12) | function hr(t){var e=vr(t.style);return t.staticStyle?w(t.staticStyle,e):e}
function vr (line 12) | function vr(t){return Array.isArray(t)?x(t):"string"==typeof t?Ss(t):t}
function mr (line 12) | function mr(t,e){var n,r={};if(e)for(var o=t;o.componentInstance;)o=o.co...
function yr (line 12) | function yr(t,e){var n=e.data,i=t.data;if(!(r(n.staticStyle)&&r(n.style)...
function gr (line 12) | function gr(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.s...
function _r (line 12) | function _r(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.s...
function br (line 12) | function br(t){if(t){if("object"==typeof t){var e={};return t.css!==!1&&...
function wr (line 12) | function wr(t){Us(function(){Us(t)})}
function xr (line 12) | function xr(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n...
function kr (line 12) | function kr(t,e){t._transitionClasses&&v(t._transitionClasses,e),_r(t,e)}
function Cr (line 12) | function Cr(t,e,n){var r=Or(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!...
function Or (line 12) | function Or(t,e){var n,r=window.getComputedStyle(t),o=r[Fs+"Delay"].spli...
function $r (line 12) | function $r(t,e){for(;t.length<e.length;)t=t.concat(t);return Math.max.a...
function Sr (line 12) | function Sr(t){return 1e3*Number(t.slice(0,-1))}
function Er (line 12) | function Er(t,e){var n=t.elm;o(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._...
function Ar (line 12) | function Ar(t,e){function n(){k.cancelled||(t.data.show||((i.parentNode....
function Tr (line 12) | function Tr(t){return"number"==typeof t&&!isNaN(t)}
function jr (line 12) | function jr(t){if(r(t))return!1;var e=t.fns;return o(e)?jr(Array.isArray...
function Lr (line 12) | function Lr(t,e){e.data.show!==!0&&Er(e)}
function Mr (line 12) | function Mr(t,e,n){Pr(t,e,n),(Di||Bi)&&setTimeout(function(){Pr(t,e,n)},0)}
function Pr (line 12) | function Pr(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){f...
function Nr (line 12) | function Nr(t,e){return e.every(function(e){return!O(e,t)})}
function Ir (line 12) | function Ir(t){return"_value"in t?t._value:t.value}
function Rr (line 12) | function Rr(t){t.target.composing=!0}
function Fr (line 12) | function Fr(t){t.target.composing&&(t.target.composing=!1,Dr(t.target,"i...
function Dr (line 12) | function Dr(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,...
function Hr (line 12) | function Hr(t){return!t.componentInstance||t.data&&t.data.transition?t:H...
function Br (line 12) | function Br(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abst...
function Ur (line 12) | function Ur(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];...
function Vr (line 12) | function Vr(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{...
function qr (line 12) | function qr(t){for(;t=t.parent;)if(t.data.transition)return!0}
function Gr (line 12) | function Gr(t,e){return e.key===t.key&&e.tag===t.tag}
function zr (line 12) | function zr(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._ent...
function Kr (line 12) | function Kr(t){t.data.newPos=t.elm.getBoundingClientRect()}
function Wr (line 12) | function Wr(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-...
function Jr (line 12) | function Jr(t,e){var n=e?ic(e):rc;if(n.test(t)){for(var r,o,i,a=[],s=[],...
function Xr (line 12) | function Xr(t,e){var n=(e.warn||Rn,Gn(t,"class"));n&&(t.staticClass=JSON...
function Yr (line 12) | function Yr(t){var e="";return t.staticClass&&(e+="staticClass:"+t.stati...
function Zr (line 12) | function Zr(t,e){var n=(e.warn||Rn,Gn(t,"style"));if(n){t.staticStyle=JS...
function Qr (line 12) | function Qr(t){var e="";return t.staticStyle&&(e+="staticStyle:"+t.stati...
function to (line 12) | function to(t,e){var n=e?Rc:Ic;return t.replace(n,function(t){return Nc[...
function eo (line 12) | function eo(t,e){function n(e){p+=e,t=t.substring(e)}function r(){var e=...
function no (line 12) | function no(t,e,n){return{type:1,tag:t,attrsList:e,attrsMap:xo(e),parent...
function ro (line 12) | function ro(t,e){function n(t){t.pre&&(s=!1),Sc(t.tag)&&(c=!1);for(var n...
function oo (line 12) | function oo(t){null!=Gn(t,"v-pre")&&(t.pre=!0)}
function io (line 12) | function io(t){var e=t.attrsList.length;if(e)for(var n=t.attrs=new Array...
function ao (line 12) | function ao(t,e){so(t),t.plain=!t.key&&!t.attrsList.length,co(t),yo(t),g...
function so (line 12) | function so(t){var e=qn(t,"key");e&&(t.key=e)}
function co (line 12) | function co(t){var e=qn(t,"ref");e&&(t.ref=e,t.refInFor=bo(t))}
function uo (line 12) | function uo(t){var e;if(e=Gn(t,"v-for")){var n=fo(e);n&&w(t,n)}}
function fo (line 12) | function fo(t){var e=t.match(Uc);if(e){var n={};n.for=e[2].trim();var r=...
function lo (line 12) | function lo(t){var e=Gn(t,"v-if");if(e)t.if=e,vo(t,{exp:e,block:t});else...
function po (line 12) | function po(t,e){var n=ho(e.children);n&&n.if&&vo(n,{exp:t.elseif,block:...
function ho (line 12) | function ho(t){for(var e=t.length;e--;){if(1===t[e].type)return t[e];t.p...
function vo (line 12) | function vo(t,e){t.ifConditions||(t.ifConditions=[]),t.ifConditions.push...
function mo (line 12) | function mo(t){var e=Gn(t,"v-once");null!=e&&(t.once=!0)}
function yo (line 12) | function yo(t){if("slot"===t.tag)t.slotName=qn(t,"name");else{var e;"tem...
function go (line 12) | function go(t){var e;(e=qn(t,"is"))&&(t.component=e),null!=Gn(t,"inline-...
function _o (line 12) | function _o(t){var e,n,r,o,i,a,s,c=t.attrsList;for(e=0,n=c.length;e<n;e+...
function bo (line 12) | function bo(t){for(var e=t;e;){if(void 0!==e.for)return!0;e=e.parent}ret...
function wo (line 12) | function wo(t){var e=t.match(Kc);if(e){var n={};return e.forEach(functio...
function xo (line 12) | function xo(t){for(var e={},n=0,r=t.length;n<r;n++)e[t[n].name]=t[n].val...
function ko (line 12) | function ko(t){return"script"===t.tag||"style"===t.tag}
function Co (line 12) | function Co(t){return"style"===t.tag||"script"===t.tag&&(!t.attrsMap.typ...
function Oo (line 12) | function Oo(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];Jc.test(r.nam...
function $o (line 12) | function $o(t,e){if("input"===t.tag){var n=t.attrsMap;if(!n["v-model"])r...
function So (line 12) | function So(t){return no(t.tag,t.attrsList.slice(),t.parent)}
function Eo (line 12) | function Eo(t,e){e.value&&Dn(t,"textContent","_s("+e.value+")")}
function Ao (line 12) | function Ao(t,e){e.value&&Dn(t,"innerHTML","_s("+e.value+")")}
function To (line 12) | function To(t,e){t&&(Tc=eu(e.staticKeys||""),jc=e.isReservedTag||Si,Lo(t...
function jo (line 12) | function jo(t){return h("type,tag,attrsList,attrsMap,plain,parent,childr...
function Lo (line 12) | function Lo(t){if(t.static=Po(t),1===t.type){if(!jc(t.tag)&&"slot"!==t.t...
function Mo (line 12) | function Mo(t,e){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=e)...
function Po (line 12) | function Po(t){return 2!==t.type&&(3===t.type||!(!t.pre&&(t.hasBindings|...
function No (line 12) | function No(t){for(;t.parent;){if(t=t.parent,"template"!==t.tag)return!1...
function Io (line 12) | function Io(t,e,n){var r=e?"nativeOn:{":"on:{";for(var o in t)r+='"'+o+'...
function Ro (line 12) | function Ro(t,e){if(!e)return"function(){}";if(Array.isArray(e))return"[...
function Fo (line 12) | function Fo(t){return"if(!('button' in $event)&&"+t.map(Do).join("&&")+"...
function Do (line 12) | function Do(t){var e=parseInt(t,10);if(e)return"$event.keyCode!=="+e;var...
function Ho (line 12) | function Ho(t,e){t.wrapListeners=function(t){return"_g("+t+","+e.value+"...
function Bo (line 12) | function Bo(t,e){t.wrapData=function(n){return"_b("+n+",'"+t.tag+"',"+e....
function Uo (line 12) | function Uo(t,e){var n=new uu(e),r=t?Vo(t,n):'_c("div")';return{render:"...
function Vo (line 12) | function Vo(t,e){if(t.staticRoot&&!t.staticProcessed)return qo(t,e);if(t...
function qo (line 12) | function qo(t,e){return t.staticProcessed=!0,e.staticRenderFns.push("wit...
function Go (line 12) | function Go(t,e){if(t.onceProcessed=!0,t.if&&!t.ifProcessed)return zo(t,...
function zo (line 12) | function zo(t,e,n,r){return t.ifProcessed=!0,Ko(t.ifConditions.slice(),e...
function Ko (line 12) | function Ko(t,e,n,r){function o(t){return n?n(t,e):t.once?Go(t,e):Vo(t,e...
function Wo (line 12) | function Wo(t,e,n,r){var o=t.for,i=t.alias,a=t.iterator1?","+t.iterator1...
function Jo (line 12) | function Jo(t,e){var n="{",r=Xo(t,e);r&&(n+=r+","),t.key&&(n+="key:"+t.k...
function Xo (line 12) | function Xo(t,e){var n=t.directives;if(n){var r,o,i,a,s="directives:[",c...
function Yo (line 12) | function Yo(t,e){var n=t.children[0];if(1===n.type){var r=Uo(n,e.options...
function Zo (line 12) | function Zo(t,e){return"scopedSlots:_u(["+Object.keys(t).map(function(n)...
function Qo (line 12) | function Qo(t,e,n){if(e.for&&!e.forProcessed)return ti(t,e,n);var r="fun...
function ti (line 12) | function ti(t,e,n){var r=e.for,o=e.alias,i=e.iterator1?","+e.iterator1:"...
function ei (line 12) | function ei(t,e,n,r,o){var i=t.children;if(i.length){var a=i[0];if(1===i...
function ni (line 12) | function ni(t,e){for(var n=0,r=0;r<t.length;r++){var o=t[r];if(1===o.typ...
function ri (line 13) | function ri(t){return void 0!==t.for||"template"===t.tag||"slot"===t.tag}
function oi (line 13) | function oi(t,e){return 1===t.type?Vo(t,e):3===t.type&&t.isComment?ai(t)...
function ii (line 13) | function ii(t){return"_v("+(2===t.type?t.expression:fi(JSON.stringify(t....
function ai (line 13) | function ai(t){return"_e("+JSON.stringify(t.text)+")"}
function si (line 13) | function si(t,e){var n=t.slotName||'"default"',r=ei(t,e),o="_t("+n+(r?",...
function ci (line 13) | function ci(t,e,n){var r=e.inlineTemplate?null:ei(e,n,!0);return"_c("+t+...
function ui (line 13) | function ui(t){for(var e="",n=0;n<t.length;n++){var r=t[n];e+='"'+r.name...
function fi (line 13) | function fi(t){return t.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"...
function li (line 13) | function li(t,e){try{return new Function(t)}catch(n){return e.push({err:...
function pi (line 13) | function pi(t){var e=Object.create(null);return function(n,r,o){r=w({},r...
function di (line 13) | function di(t){return function(e){function n(n,r){var o=Object.create(e)...
function hi (line 13) | function hi(t){return Lc=Lc||document.createElement("div"),Lc.innerHTML=...
function vi (line 13) | function vi(t){if(t.outerHTML)return t.outerHTML;var e=document.createEl...
function t (line 13) | function t(){this.set=Object.create(null)}
function o (line 21) | function o(t,e){function n(t,e){return function(){return t.apply(e,argum...
function n (line 21) | function n(){throw new Error("setTimeout has not been defined")}
function r (line 21) | function r(){throw new Error("clearTimeout has not been defined")}
function o (line 21) | function o(t){if(f===setTimeout)return setTimeout(t,0);if((f===n||!f)&&s...
function i (line 21) | function i(t){if(l===clearTimeout)return clearTimeout(t);if((l===r||!l)&...
function a (line 21) | function a(){v&&d&&(v=!1,d.length?h=d.concat(h):m=-1,h.length&&s())}
function s (line 21) | function s(){if(!v){var t=o(a);v=!0;for(var e=h.length;e;){for(d=h,h=[];...
function c (line 21) | function c(t,e){this.fun=t,this.array=e}
function u (line 21) | function u(){}
function n (line 21) | function n(t,e,n,r){var i=e&&e.prototype instanceof o?e:o,a=Object.creat...
function r (line 21) | function r(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){ret...
function o (line 21) | function o(){}
function i (line 21) | function i(){}
function a (line 21) | function a(){}
function s (line 21) | function s(t){["next","throw","return"].forEach(function(e){t[e]=functio...
function c (line 21) | function c(t){function e(n,o,i,a){var s=r(t[n],t,o);if("throw"!==s.type)...
function u (line 21) | function u(t,e,n){var o=O;return function(i,a){if(o===S)throw new Error(...
function f (line 21) | function f(t,e){var n=t.iterator[e.method];if(n===m){if(e.delegate=null,...
function l (line 21) | function l(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.f...
function p (line 21) | function p(t){var e=t.completion||{};e.type="normal",delete e.arg,t.comp...
function d (line 21) | function d(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(l,this),this.r...
function h (line 21) | function h(t){if(t){var e=t[b];if(e)return e.call(t);if("function"==type...
function v (line 21) | function v(){return{value:m,done:!0}}
function e (line 21) | function e(e,r){return i.type="throw",i.arg=t,n.next=e,r&&(n.method="nex...
function r (line 21) | function r(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new...
function o (line 21) | function o(t){delete v[t]}
function i (line 21) | function i(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();brea...
function a (line 21) | function a(t){if(m)setTimeout(a,0,t);else{var e=v[t];if(e){m=!0;try{i(e)...
function s (line 21) | function s(){d=function(t){e.nextTick(function(){a(t)})}}
function c (line 21) | function c(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;...
function u (line 21) | function u(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.sou...
function f (line 21) | function f(){var t=new MessageChannel;t.port1.onmessage=function(t){var ...
function l (line 21) | function l(){var t=y.documentElement;d=function(e){var n=y.createElement...
function p (line 21) | function p(){d=function(t){setTimeout(a,0,t)}}
function r (line 21) | function r(t,e){this._id=t,this._clearFn=e}
function r (line 26) | function r(t,e){}
function o (line 26) | function o(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}
function i (line 26) | function i(t,e){switch(typeof e){case"undefined":return;case"object":ret...
function a (line 26) | function a(t,e){for(var n in e)t[n]=e[n];return t}
function s (line 26) | function s(t,e,n){void 0===e&&(e={});var r,o=n||c;try{r=o(t||"")}catch(t...
function c (line 26) | function c(t){var e={};return(t=t.trim().replace(/^(\?|#|&)/,""))?(t.spl...
function u (line 26) | function u(t){var e=t?Object.keys(t).map(function(e){var n=t[e];if(void ...
function f (line 26) | function f(t,e,n,r){var o=r&&r.options.stringifyQuery,i=e.query||{};try{...
function l (line 26) | function l(t){if(Array.isArray(t))return t.map(l);if(t&&"object"==typeof...
function p (line 26) | function p(t){for(var e=[];t;)e.unshift(t),t=t.parent;return e}
function d (line 26) | function d(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var o=t.hash;v...
function h (line 26) | function h(t,e){return e===Ut?t===e:!!e&&(t.path&&e.path?t.path.replace(...
function v (line 26) | function v(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t...
function m (line 26) | function m(t,e){return 0===t.path.replace(Bt,"/").indexOf(e.path.replace...
function y (line 26) | function y(t,e){for(var n in e)if(!(n in t))return!1;return!0}
function g (line 26) | function g(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||t.default...
function _ (line 26) | function _(t){if(t)for(var e,n=0;n<t.length;n++){if(e=t[n],"a"===e.tag)r...
function b (line 26) | function b(t){if(!b.installed||Pt!==t){b.installed=!0,Pt=t;var e=functio...
function w (line 26) | function w(t,e,n){var r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"=...
function x (line 26) | function x(t){var e="",n="",r=t.indexOf("#");r>=0&&(e=t.slice(r),t=t.sli...
function k (line 26) | function k(t){return t.replace(/\/\//g,"/")}
function C (line 26) | function C(t,e){for(var n,r=[],o=0,i=0,a="",s=e&&e.delimiter||"/";null!=...
function O (line 26) | function O(t,e){return E(C(t,e))}
function $ (line 26) | function $(t){return encodeURI(t).replace(/[\/?#]/g,function(t){return"%...
function S (line 26) | function S(t){return encodeURI(t).replace(/[?#]/g,function(t){return"%"+...
function E (line 26) | function E(t){for(var e=new Array(t.length),n=0;n<t.length;n++)"object"=...
function A (line 26) | function A(t){return t.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}
function T (line 26) | function T(t){return t.replace(/([=!:$\/()])/g,"\\$1")}
function j (line 26) | function j(t,e){return t.keys=e,t}
function L (line 26) | function L(t){return t.sensitive?"":"i"}
function M (line 26) | function M(t,e){var n=t.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.l...
function P (line 26) | function P(t,e,n){for(var r=[],o=0;o<t.length;o++)r.push(R(t[o],e,n).sou...
function N (line 26) | function N(t,e,n){return I(C(t,n),e,n)}
function I (line 26) | function I(t,e,n){Kt(e)||(n=e||n,e=[]),n=n||{};for(var r=n.strict,o=n.en...
function R (line 26) | function R(t,e,n){return Kt(e)||(n=e||n,e=[]),n=n||{},t instanceof RegEx...
function F (line 26) | function F(t,e,n){try{var r=te[t]||(te[t]=Wt.compile(t));return r(e||{},...
function D (line 26) | function D(t,e,n,r){var o=e||[],i=n||Object.create(null),a=r||Object.cre...
function H (line 26) | function H(t,e,n,r,o,i){var a=r.path,s=r.name,c=r.pathToRegexpOptions||{...
function B (line 26) | function B(t,e){var n=Wt(t,[],e);return n}
function U (line 26) | function U(t,e,n){return n||(t=t.replace(/\/$/,"")),"/"===t[0]?t:null==e...
function V (line 26) | function V(t,e,n,r){var o="string"==typeof t?{path:t}:t;if(o.name||o._no...
function q (line 26) | function q(t,e){for(var n in e)t[n]=e[n];return t}
function G (line 26) | function G(t,e){function n(t){D(t,c,u,l)}function r(t,n,r){var o=V(t,n,!...
function z (line 26) | function z(t,e,n){var r=e.match(t);if(!r)return!1;if(!n)return!0;for(var...
function K (line 26) | function K(t,e){return w(t,e.parent?e.parent.path:"/",!0)}
function W (line 26) | function W(){window.history.replaceState({key:it()},""),window.addEventL...
function J (line 26) | function J(t,e,n,r){if(t.app){var o=t.options.scrollBehavior;o&&t.app.$n...
function X (line 26) | function X(){var t=it();t&&(ee[t]={x:window.pageXOffset,y:window.pageYOf...
function Y (line 26) | function Y(){var t=it();if(t)return ee[t]}
function Z (line 26) | function Z(t,e){var n=document.documentElement,r=n.getBoundingClientRect...
function Q (line 26) | function Q(t){return nt(t.x)||nt(t.y)}
function tt (line 26) | function tt(t){return{x:nt(t.x)?t.x:window.pageXOffset,y:nt(t.y)?t.y:win...
function et (line 26) | function et(t){return{x:nt(t.x)?t.x:0,y:nt(t.y)?t.y:0}}
function nt (line 26) | function nt(t){return"number"==typeof t}
function rt (line 26) | function rt(t,e){var n="object"==typeof t;if(n&&"string"==typeof t.selec...
function ot (line 26) | function ot(){return re.now().toFixed(3)}
function it (line 26) | function it(){return oe}
function at (line 26) | function at(t){oe=t}
function st (line 26) | function st(t,e){X();var n=window.history;try{e?n.replaceState({key:oe},...
function ct (line 26) | function ct(t){st(t,!0)}
function ut (line 26) | function ut(t,e,n){var r=function(o){o>=t.length?n():t[o]?e(t[o],functio...
function ft (line 26) | function ft(t){return function(e,n,r){var i=!1,a=0,s=null;lt(t,function(...
function lt (line 26) | function lt(t,e){return pt(t.map(function(t){return Object.keys(t.compon...
function pt (line 26) | function pt(t){return Array.prototype.concat.apply([],t)}
function dt (line 26) | function dt(t){return t.__esModule||ie&&"Module"===t[Symbol.toStringTag]}
function ht (line 26) | function ht(t){var e=!1;return function(){for(var n=[],r=arguments.lengt...
function vt (line 26) | function vt(t){if(!t)if(zt){var e=document.querySelector("base");t=e&&e....
function mt (line 26) | function mt(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n<r&&t[n]==...
function yt (line 26) | function yt(t,e,n,r){var o=lt(t,function(t,r,o,i){var a=gt(t,e);if(a)ret...
function gt (line 26) | function gt(t,e){return"function"!=typeof t&&(t=Pt.extend(t)),t.options[e]}
function _t (line 26) | function _t(t){return yt(t,"beforeRouteLeave",wt,!0)}
function bt (line 26) | function bt(t){return yt(t,"beforeRouteUpdate",wt)}
function wt (line 26) | function wt(t,e){if(e)return function(){return t.apply(e,arguments)}}
function xt (line 26) | function xt(t,e,n){return yt(t,"beforeRouteEnter",function(t,r,o,i){retu...
function kt (line 26) | function kt(t,e,n,r,o){return function(i,a,s){return t(i,a,function(t){s...
function Ct (line 26) | function Ct(t,e,n,r){e[n]?t(e[n]):r()&&setTimeout(function(){Ct(t,e,n,r)...
function Ot (line 26) | function Ot(t){var e=window.location.pathname;return t&&0===e.indexOf(t)...
function $t (line 26) | function $t(t){var e=Ot(t);if(!/^\/#/.test(e))return window.location.rep...
function St (line 26) | function St(){var t=Et();return"/"===t.charAt(0)||(jt("/"+t),!1)}
function Et (line 26) | function Et(){var t=window.location.href,e=t.indexOf("#");return e===-1?...
function At (line 26) | function At(t){var e=window.location.href,n=e.indexOf("#"),r=n>=0?e.slic...
function Tt (line 26) | function Tt(t){ne?st(At(t)):window.location.hash=t}
function jt (line 26) | function jt(t){ne?ct(At(t)):window.location.replace(At(t))}
function Lt (line 26) | function Lt(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t....
function Mt (line 26) | function Mt(t,e,n){var r="hash"===n?"#"+e:e;return t?k(t+"/"+r):r}
function e (line 26) | function e(e,n){var r=this;t.call(this,e,n);var o=e.options.scrollBehavi...
function e (line 26) | function e(e,n,r){t.call(this,e,n),r&&$t(this.base)||St()}
function e (line 26) | function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}
Condensed preview — 91 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (832K chars).
[
{
"path": ".babelrc",
"chars": 171,
"preview": "{\n \t\"presets\": [\"stage-3\"],\n \t\"plugins\": [\n \t\t\"transform-async-to-generator\",\n \"transform-es2015-modules-commo"
},
{
"path": ".gitignore",
"chars": 184,
"preview": "/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.p"
},
{
"path": "API.md",
"chars": 47768,
"preview": "# node-elm 接口文档\n```\n\nbaseUrl: https://elm.cangdu.org\n\n```\n\n## 目录:\n\n[1、获取城市列表](#1获取城市列表)<br/>\n[2、获取所选城市信息](#2获取所选城市信息)<br"
},
{
"path": "COPYING",
"chars": 18026,
"preview": "\n GNU GENERAL PUBLIC LICENSE\n Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation,"
},
{
"path": "InitData/activity.js",
"chars": 676,
"preview": "export default [\n{\ndescription: \"\",\nicon_color: \"3FBDE6\",\nicon_name: \"品\",\nid: 8,\nname: \"品牌商家\",\nranking_weight: 7\n},\n{\nde"
},
{
"path": "InitData/category.js",
"chars": 7046,
"preview": "export default [\n{\ncount: 0,\nids: [\n207,\n220,\n260,\n233,\n239,\n244,\n248,\n252\n],\nimage_url: \"\",\nlevel: 1,\nname: \"全部商家\"\n},\n{"
},
{
"path": "InitData/cities.js",
"chars": 266326,
"preview": "export default {\nS: [\n{\nid: 1,\nname: \"上海\",\nabbr: \"SH\",\narea_code: \"021\",\nsort: 1,\nlatitude: 31.23037,\nlongitude: 121.473"
},
{
"path": "InitData/delivery.js",
"chars": 71,
"preview": "export default {\ncolor: \"57A9FF\",\nid: 1,\nis_solid: true,\ntext: \"蜂鸟专送\"\n}"
},
{
"path": "InitData/entry.js",
"chars": 10398,
"preview": "export default [\n{\nid: 15,\nis_in_serving: true,\ndescription: \"附近美食一网打尽\",\ntitle: \"美食\",\nlink: \"eleme://restaurants?filter_"
},
{
"path": "InitData/explain.js",
"chars": 11272,
"preview": "export default {\nactivityCaption: \"活动问题\",\nactivityContent: '### Q1: 我是新用户,为什么不能享受新用户下单立减优惠/新用户首单红包? * 新用户是指您的下单设备、手机号、饿了"
},
{
"path": "InitData/hongbao.js",
"chars": 8930,
"preview": "export default [\n{\nid: 7160761341773,\nsn: \"201705211244186655961161757573\",\nuser_id: 186655961,\namount: 2,\nsum_condition"
},
{
"path": "InitData/payments.js",
"chars": 304,
"preview": "export default [{\n\tdescription: \"(商家仅支持在线支付)\",\n\tdisabled_reason: \"\",\n\tid: 1,\n\tis_online_payment: true,\n\tname: \"在线支付\",\n\tp"
},
{
"path": "InitData/rate.js",
"chars": 3433,
"preview": "export const ratingList = [{\"avatar\":\"\",\"highlights\":[],\"item_ratings\":[{\"food_id\":508807792,\"food_name\":\"超级至尊比萨-铁盘\",\"im"
},
{
"path": "InitData/remark.js",
"chars": 117,
"preview": "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",
"chars": 6400,
"preview": "# About\n\n因为前端项目是根据饿了么官网接口写的,所以后台系统也保持了和官网一致的API接口。\n\n整个项目分为两部分:前台项目接口、后台管理接口,共60多个。涉及登陆、注册、添加商品、商品展示、筛选排序、购物车、下单、用户中心等,构成"
},
{
"path": "app.js",
"chars": 2117,
"preview": "import express from 'express';\nimport db from './mongodb/db.js';\nimport config from 'config-lite';\nimport router from '."
},
{
"path": "config/.gitignore",
"chars": 51,
"preview": "# Ignore everything in this directory\nproduction.js"
},
{
"path": "config/default.js",
"chars": 267,
"preview": "'use strict';\n\nmodule.exports = {\n\tport: parseInt(process.env.PORT, 10) || 8001,\n\turl: 'mongodb://localhost:27017/elm',\n"
},
{
"path": "config/development.js",
"chars": 37,
"preview": "'use strict';\n\nmodule.exports = {\n\t\n}"
},
{
"path": "controller/admin/admin.js",
"chars": 6068,
"preview": "'use strict';\n\nimport AdminModel from '../../models/admin/admin'\nimport AddressComponent from '../../prototype/addressCo"
},
{
"path": "controller/member/vipcart.js",
"chars": 200,
"preview": "'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\tty"
},
{
"path": "controller/promotion/hongbao.js",
"chars": 1461,
"preview": "'use strict'\n\nimport HongbaoModel from '../../models/promotion/hongbao'\nimport BaseComponent from '../../prototype/baseC"
},
{
"path": "controller/shopping/category.js",
"chars": 1682,
"preview": "'use strict';\n\nimport CategoryModel from '../../models/shopping/category'\nimport BaseComponent from '../../prototype/bas"
},
{
"path": "controller/shopping/food.js",
"chars": 12233,
"preview": "'use strict';\n\nimport {Food as FoodModel, Menu as MenuModel} from '../../models/shopping/food'\nimport ShopModel from '.."
},
{
"path": "controller/shopping/shop.js",
"chars": 11725,
"preview": "'use strict';\n\nimport ShopModel from '../../models/shopping/shop'\nimport AddressComponent from '../../prototype/addressC"
},
{
"path": "controller/statis/statis.js",
"chars": 2865,
"preview": "'use strict'\n\nimport StatisModel from '../../models/statis/statis'\nimport UserInfoModel from '../../models/v2/userInfo'\n"
},
{
"path": "controller/ugc/rating.js",
"chars": 1964,
"preview": "'use strict';\n\nimport RatingModel from '../../models/ugc/rating'\n\nclass Rating {\n\tconstructor(){\n\t\tthis.type = ['ratings"
},
{
"path": "controller/v1/address.js",
"chars": 3183,
"preview": "'use strict';\n\nimport BaseComponent from '../../prototype/baseComponent'\nimport AddressModel from '../../models/v1/addre"
},
{
"path": "controller/v1/captchas.js",
"chars": 536,
"preview": "'use strict';\n\nimport captchapng from 'captchapng';\n\nclass Captchas {\n\tconstructor(){\n\n\t}\n\t//验证码\n\tasync getCaptchas(req,"
},
{
"path": "controller/v1/carts.js",
"chars": 3529,
"preview": "'use strict';\n\nimport AddressComponent from '../../prototype/addressComponent'\nimport formidable from 'formidable'\nimpor"
},
{
"path": "controller/v1/cities.js",
"chars": 2634,
"preview": "'use strict';\n\nimport Cities from '../../models/v1/cities'\nimport pinyin from \"pinyin\"\nimport AddressComponent from '../"
},
{
"path": "controller/v1/order.js",
"chars": 6206,
"preview": "'use strict';\n\nimport BaseComponent from '../../prototype/baseComponent'\nimport formidable from 'formidable'\nimport Orde"
},
{
"path": "controller/v1/remark.js",
"chars": 658,
"preview": "'use strict';\n\nimport BaseComponent from '../../prototype/baseComponent'\nimport RemarkModel from '../../models/v1/remark"
},
{
"path": "controller/v1/search.js",
"chars": 1339,
"preview": "'use strict';\n\nimport AddressComponent from '../../prototype/addressComponent';\nimport Cities from '../../models/v1/citi"
},
{
"path": "controller/v2/entry.js",
"chars": 381,
"preview": "'use strict';\n\nimport EntryModel from '../../models/v2/entry'\n\nclass Entry {\n\tconstructor(){\n\n\t}\n\tasync getEntry(req, re"
},
{
"path": "controller/v2/user.js",
"chars": 7853,
"preview": "'use strict';\n\nimport AddressComponent from '../../prototype/addressComponent'\nimport formidable from 'formidable'\nimpor"
},
{
"path": "controller/v3/explain.js",
"chars": 404,
"preview": "'use strict';\n\nimport ExplainModel from '../../models/v3/explain'\n\nclass Explain {\n\tconstructor(){\n\n\t}\n\tasync getExpalin"
},
{
"path": "ecosystem.config.js",
"chars": 784,
"preview": "module.exports = {\n apps : [{\n name: 'node-elm',\n script: 'index.js',\n instances: 1 ,\n autorestart: true,\n "
},
{
"path": "index.js",
"chars": 52,
"preview": "require('babel-core/register');\nrequire('./app.js');"
},
{
"path": "logs/.gitignore",
"chars": 70,
"preview": "# Ignore everything in this directory\n*\n# Except this file\n!.gitignore"
},
{
"path": "middlewares/check.js",
"chars": 999,
"preview": "'use strict';\n\nimport AdminModel from '../models/admin/admin'\n\nclass Check {\n\tconstructor(){\n\t\t\n\t}\n\tasync checkAdmin(req"
},
{
"path": "middlewares/history.js",
"chars": 231,
"preview": "// 'use strict'\n\n// export default (req, res, next) => {\n// \tif ((/manage/gi).test(req.url)) {\n// \t\tres.sendFile(__dirna"
},
{
"path": "middlewares/statistic.js",
"chars": 605,
"preview": "'use strict';\n\nimport BaseComponent from '../prototype/baseComponent'\nimport StatisModel from '../models/statis/statis'\n"
},
{
"path": "middlewares/w2-proxy",
"chars": 0,
"preview": ""
},
{
"path": "models/admin/admin.js",
"chars": 436,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst adminSchema = new Schema({\n\tuser_"
},
{
"path": "models/bos/order.js",
"chars": 2149,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst orderSchema = new Schema({\n\tbaske"
},
{
"path": "models/ids.js",
"chars": 685,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst idsSchema = new mongoose.Schema({\n\trestaurant_id: Number,\n\tfood_id"
},
{
"path": "models/promotion/hongbao.js",
"chars": 780,
"preview": "'use strict'\n\nimport mongoose from 'mongoose'\nimport hongbaoData from '../../InitData/hongbao'\n\nconst Schema = mongoose."
},
{
"path": "models/shopping/activity.js",
"chars": 526,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\nimport activityData from '../../InitData/activity'\n\nconst Schema = mongoo"
},
{
"path": "models/shopping/category.js",
"chars": 1138,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\nimport categoryData from '../../InitData/category'\n\nconst Schema = mongoo"
},
{
"path": "models/shopping/delivery.js",
"chars": 441,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\nimport deliveryData from '../../InitData/delivery'\n\nconst Schema = mongoo"
},
{
"path": "models/shopping/food.js",
"chars": 2326,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\nconst Schema = mongoose.Schema;\n\nconst foodSchema = new Schema({\n\trating:"
},
{
"path": "models/shopping/shop.js",
"chars": 2172,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst shopSchema = new mongoose.Schema({\n\tactivities: [{\n\t\tdescription: "
},
{
"path": "models/statis/statis.js",
"chars": 270,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst statisSchema = new Schema({\n\tdat"
},
{
"path": "models/ugc/rating.js",
"chars": 1823,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\nimport {ratingList, scores, tags} from '../../InitData/rate'\nconst Schema"
},
{
"path": "models/v1/address.js",
"chars": 864,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst addressSchema = new Schema({\n\tid:"
},
{
"path": "models/v1/cart.js",
"chars": 2121,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst cartSchema = Schema({\n\tid: Number"
},
{
"path": "models/v1/cities.js",
"chars": 1937,
"preview": "'use strict';\n\nimport mongoose from 'mongoose';\nimport cityData from '../../InitData/cities'\n\nconst citySchema = new mon"
},
{
"path": "models/v1/payments.js",
"chars": 522,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\nimport paymentsData from '../../InitData/payments'\n\nconst Schema = mongoo"
},
{
"path": "models/v1/remark.js",
"chars": 336,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\nimport remarkData from '../../InitData/remark'\nconst Schema = mongoose.S"
},
{
"path": "models/v2/entry.js",
"chars": 521,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\nimport entryData from '../../InitData/entry'\n\nconst Schema = mongoose.Sch"
},
{
"path": "models/v2/user.js",
"chars": 242,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst userSchema = new Schema({\n\tuser_i"
},
{
"path": "models/v2/userInfo.js",
"chars": 1230,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\n\nconst Schema = mongoose.Schema;\n\nconst userInfoSchema = new Schema({\n\tav"
},
{
"path": "models/v3/explain.js",
"chars": 368,
"preview": "'use strict';\n\nimport mongoose from 'mongoose'\nimport explainData from '../../InitData/explain'\n\nconst Schema = mongoose"
},
{
"path": "mongodb/db.js",
"chars": 628,
"preview": "'use strict';\n\nimport mongoose from 'mongoose';\nimport config from 'config-lite';\nimport chalk from 'chalk';\nmongoose.co"
},
{
"path": "package.json",
"chars": 1752,
"preview": "{\n \"name\": \"node-elm\",\n \"version\": \"1.0.0\",\n \"description\": \"\",\n \"main\": \"index.js\",\n \"author\": \"cangdu <1264889788"
},
{
"path": "prototype/addressComponent.js",
"chars": 5478,
"preview": "'use strict';\n\nimport BaseComponent from './baseComponent'\n\n/*\n腾讯地图和百度地图API统一调配组件\n */\nclass AddressComponent extends Bas"
},
{
"path": "prototype/baseComponent.js",
"chars": 5156,
"preview": "import fetch from 'node-fetch';\nimport Ids from '../models/ids'\nimport formidable from 'formidable'\nimport path from 'pa"
},
{
"path": "public/elm/static/css/app.css",
"chars": 1786,
"preview": "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,se"
},
{
"path": "public/elm/static/js/app.js",
"chars": 58757,
"preview": "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"
},
{
"path": "public/elm/static/js/manifest.js",
"chars": 2646,
"preview": "!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"
},
{
"path": "public/elm/static/js/vendor.js",
"chars": 171525,
"preview": "webpackJsonp([46,45],[,function(t,e){t.exports=function(t,e,n,r){var o,i=t=t||{},a=typeof t.default;\"object\"!==a&&\"funct"
},
{
"path": "public/img/.gitignore",
"chars": 83,
"preview": "# Ignore everything in this directory\n*\n# Except this file\n!.gitignore\n!default.jpg"
},
{
"path": "public/index.html",
"chars": 858,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initia"
},
{
"path": "routes/admin.js",
"chars": 451,
"preview": "'use strict';\n\nimport express from 'express'\nimport Admin from '../controller/admin/admin'\nconst router = express.Router"
},
{
"path": "routes/bos.js",
"chars": 370,
"preview": "'use strict';\n\nimport express from 'express';\nimport Order from '../controller/v1/order'\nconst router = express.Router()"
},
{
"path": "routes/eus.js",
"chars": 203,
"preview": "'use strict';\n\nimport express from 'express';\nimport User from '../controller/v2/user'\nconst router = express.Router();\n"
},
{
"path": "routes/index.js",
"chars": 795,
"preview": "'use strict';\n\nimport v1 from './v1'\nimport v2 from './v2'\nimport v3 from './v3'\nimport v4 from './v4'\nimport ugc from '"
},
{
"path": "routes/member.js",
"chars": 237,
"preview": "'use strict';\n\nimport express from 'express';\nimport VipCart from '../controller/member/vipcart'\nconst router = express."
},
{
"path": "routes/payapi.js",
"chars": 245,
"preview": "'use strict';\n\nimport express from 'express';\nconst router = express.Router();\n\nrouter.get('/payment/queryOrder', (req, "
},
{
"path": "routes/promotion.js",
"chars": 295,
"preview": "'use strict';\n\nimport express from 'express';\nimport Hongbao from '../controller/promotion/hongbao'\nconst router = expre"
},
{
"path": "routes/shopping.js",
"chars": 1388,
"preview": "'use strict';\n\nimport express from 'express';\nimport Shop from '../controller/shopping/shop'\nimport Food from '../contro"
},
{
"path": "routes/statis.js",
"chars": 440,
"preview": "'use strict'\n\nimport express from 'express'\nimport Statis from '../controller/statis/statis'\n\nconst router = express.Rou"
},
{
"path": "routes/ugc.js",
"chars": 372,
"preview": "'use strict';\n\nimport express from 'express';\nimport Rating from '../controller/ugc/rating'\nconst router = express.Route"
},
{
"path": "routes/v1.js",
"chars": 1646,
"preview": "'use strict';\n\nimport express from 'express'\nimport CityHandle from '../controller/v1/cities'\nimport SearchPlace from '."
},
{
"path": "routes/v2.js",
"chars": 453,
"preview": "'use strict';\n\nimport express from 'express';\nimport Entry from '../controller/v2/entry'\nimport CityHandle from '../cont"
},
{
"path": "routes/v3.js",
"chars": 200,
"preview": "'use strict';\n\nimport express from 'express';\nimport Explain from '../controller/v3/explain'\nconst router = express.Rout"
},
{
"path": "routes/v4.js",
"chars": 200,
"preview": "'use strict';\n\nimport express from 'express';\nimport Food from '../controller/shopping/shop'\nconst router = express.Rout"
},
{
"path": "todo.txt",
"chars": 101,
"preview": "## TODO\n\n- [ ] 图片管理系统 -- 进行中\n- [ ] 七日数据查询优化\n- [ ] 日志优化\n- [ ] 内存管理优化\n- [ ] 负载均衡优化\n- [ ] 弃用百度地图,改用腾讯地图\n"
},
{
"path": "views/home.ejs",
"chars": 115,
"preview": "<!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",
"chars": 34999,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initia"
}
]
About this extraction
This page contains the full source code of the bailicangdu/node-elm GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 91 files (745.4 KB), approximately 299.6k tokens, and a symbol index with 643 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.