hwq 2 éve
szülő
commit
858d5322ef

+ 2 - 5
api/shoping.js

@@ -2,13 +2,10 @@ import request from '@/utils/request'
 
 
 // 获取店铺信息
-export function getShoping(data) {
+export function getShoping(data, id) {
 	return request({
-		url: '/api/merchant',
+		url: '/api/store_info/' + id,
 		method: 'get',
 		data
 	});
 }
-
-
-

+ 69 - 51
api/user.js

@@ -1,54 +1,54 @@
-import request from '@/utils/request'
-
-// 订单统计信息
-export function orderData(data) {
-	return request({
-		url: '/api/order/data',
-		method: 'get',
-		data
-	});
-}
-
-// 订单统计信息
-export function orderVerific(data) {
-	return request({
-		url: '/api/order/order_verific',
-		method: 'post',
-		data
-	});
-}
-
-// 获取用户信息
-export function userinfo(data) {
-	return request({
-		url: '/api/userinfo',
-		method: 'get',
-		data
-	});
-}
-//获取会员
-export function getVip(data) {
-	return request({
-		url: '/api/level/lst',
-		method: 'get',
-		data
-	});
-}
-//开通会员
-export function becomeVip(data) {
-	return request({
-		url: '/api/level/recharge',
-		method: 'post',
-		data
-	});
-}
-// 获取用户信息
-export function getUserInfo(data) {
-	return request({
-		url: '/api/userinfo',
-		method: 'get',
-		data
-	});
+import request from '@/utils/request'
+
+// 订单统计信息
+export function orderData(data) {
+	return request({
+		url: '/api/order/data',
+		method: 'get',
+		data
+	});
+}
+
+// 订单统计信息
+export function orderVerific(data) {
+	return request({
+		url: '/api/order/order_verific',
+		method: 'post',
+		data
+	});
+}
+
+// 获取用户信息
+export function userinfo(data) {
+	return request({
+		url: '/api/userinfo',
+		method: 'get',
+		data
+	});
+}
+//获取会员
+export function getVip(data) {
+	return request({
+		url: '/api/level/lst',
+		method: 'get',
+		data
+	});
+}
+//开通会员
+export function becomeVip(data) {
+	return request({
+		url: '/api/level/recharge',
+		method: 'post',
+		data
+	});
+}
+// 获取用户信息
+export function getUserInfo(data) {
+	return request({
+		url: '/api/userinfo',
+		method: 'get',
+		data
+	});
 }
 
 // 用户分享图
@@ -59,3 +59,21 @@ export function spreadBanner(data) {
 		data
 	});
 }
+
+// 上级列表
+export function m_spread_list(data) {
+	return request({
+		url: '/api/user/m_spread_list',
+		method: 'get',
+		data
+	});
+}
+
+// 绑定上级
+export function m_spread(data) {
+	return request({
+		url: '/api/user/m_spread',
+		method: 'post',
+		data
+	});
+}

+ 4875 - 4914
components/wangding-pickerAddress/data.js

@@ -1,4914 +1,4875 @@
-export default [
-  {
-    "name": "北京市",
-    "city": [
-      {
-        "name": "北京市",
-        "area": [
-          "东城区",
-          "西城区",
-          "崇文区",
-          "宣武区",
-          "朝阳区",
-          "丰台区",
-          "石景山区",
-          "海淀区",
-          "门头沟区",
-          "房山区",
-          "通州区",
-          "顺义区",
-          "昌平区",
-          "大兴区",
-          "平谷区",
-          "怀柔区",
-          "密云县",
-          "延庆县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "天津市",
-    "city": [
-      {
-        "name": "天津市",
-        "area": [
-          "和平区",
-          "河东区",
-          "河西区",
-          "南开区",
-          "河北区",
-          "红桥区",
-          "塘沽区",
-          "汉沽区",
-          "大港区",
-          "东丽区",
-          "西青区",
-          "津南区",
-          "北辰区",
-          "武清区",
-          "宝坻区",
-          "宁河县",
-          "静海县",
-          "蓟  县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "河北省",
-    "city": [
-      {
-        "name": "石家庄市",
-        "area": [
-          "长安区",
-          "桥东区",
-          "桥西区",
-          "新华区",
-          "郊  区",
-          "井陉矿区",
-          "井陉县",
-          "正定县",
-          "栾城县",
-          "行唐县",
-          "灵寿县",
-          "高邑县",
-          "深泽县",
-          "赞皇县",
-          "无极县",
-          "平山县",
-          "元氏县",
-          "赵  县",
-          "辛集市",
-          "藁",
-          "晋州市",
-          "新乐市",
-          "鹿泉市"
-        ]
-      },
-      {
-        "name": "唐山市",
-        "area": [
-          "路南区",
-          "路北区",
-          "古冶区",
-          "开平区",
-          "新  区",
-          "丰润县",
-          "滦  县",
-          "滦南县",
-          "乐亭县",
-          "迁西县",
-          "玉田县",
-          "唐海县",
-          "遵化市",
-          "丰南市",
-          "迁安市"
-        ]
-      },
-      {
-        "name": "秦皇岛市",
-        "area": [
-          "海港区",
-          "山海关区",
-          "北戴河区",
-          "青龙满族自治县",
-          "昌黎县",
-          "抚宁县",
-          "卢龙县"
-        ]
-      },
-      {
-        "name": "邯郸市",
-        "area": [
-          "邯山区",
-          "丛台区",
-          "复兴区",
-          "峰峰矿区",
-          "邯郸县",
-          "临漳县",
-          "成安县",
-          "大名县",
-          "涉  县",
-          "磁  县",
-          "肥乡县",
-          "永年县",
-          "邱  县",
-          "鸡泽县",
-          "广平县",
-          "馆陶县",
-          "魏  县",
-          "曲周县",
-          "武安市"
-        ]
-      },
-      {
-        "name": "邢台市",
-        "area": [
-          "桥东区",
-          "桥西区",
-          "邢台县",
-          "临城县",
-          "内丘县",
-          "柏乡县",
-          "隆尧县",
-          "任  县",
-          "南和县",
-          "宁晋县",
-          "巨鹿县",
-          "新河县",
-          "广宗县",
-          "平乡县",
-          "威  县",
-          "清河县",
-          "临西县",
-          "南宫市",
-          "沙河市"
-        ]
-      },
-      {
-        "name": "保定市",
-        "area": [
-          "新市区",
-          "北市区",
-          "南市区",
-          "满城县",
-          "清苑县",
-          "涞水县",
-          "阜平县",
-          "徐水县",
-          "定兴县",
-          "唐  县",
-          "高阳县",
-          "容城县",
-          "涞源县",
-          "望都县",
-          "安新县",
-          "易  县",
-          "曲阳县",
-          "蠡  县",
-          "顺平县",
-          "博野",
-          "雄县",
-          "涿州市",
-          "定州市",
-          "安国市",
-          "高碑店市"
-        ]
-      },
-      {
-        "name": "张家口",
-        "area": [
-          "桥东区",
-          "桥西区",
-          "宣化区",
-          "下花园区",
-          "宣化县",
-          "张北县",
-          "康保县",
-          "沽源县",
-          "尚义县",
-          "蔚  县",
-          "阳原县",
-          "怀安县",
-          "万全县",
-          "怀来县",
-          "涿鹿县",
-          "赤城县",
-          "崇礼县"
-        ]
-      },
-      {
-        "name": "承德市",
-        "area": [
-          "双桥区",
-          "双滦区",
-          "鹰手营子矿区",
-          "承德县",
-          "兴隆县",
-          "平泉县",
-          "滦平县",
-          "隆化县",
-          "丰宁满族自治县",
-          "宽城满族自治县",
-          "围场满族蒙古族自治县"
-        ]
-      },
-      {
-        "name": "沧州市",
-        "area": [
-          "新华区",
-          "运河区",
-          "沧  县",
-          "青  县",
-          "东光县",
-          "海兴县",
-          "盐山县",
-          "肃宁县",
-          "南皮县",
-          "吴桥县",
-          "献  县",
-          "孟村回族自治县",
-          "泊头市",
-          "任丘市",
-          "黄骅市",
-          "河间市"
-        ]
-      },
-      {
-        "name": "廊坊市",
-        "area": [
-          "安次区",
-          "固安县",
-          "永清县",
-          "香河县",
-          "大城县",
-          "文安县",
-          "大厂回族自治县",
-          "霸州市",
-          "三河市"
-        ]
-      },
-      {
-        "name": "衡水市",
-        "area": [
-          "桃城区",
-          "枣强县",
-          "武邑县",
-          "武强县",
-          "饶阳县",
-          "安平县",
-          "故城县",
-          "景  县",
-          "阜城县",
-          "冀州市",
-          "深州市"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "山西省",
-    "city": [
-      {
-        "name": "太原市",
-        "area": [
-          "小店区",
-          "迎泽区",
-          "杏花岭区",
-          "尖草坪区",
-          "万柏林区",
-          "晋源区",
-          "清徐县",
-          "阳曲县",
-          "娄烦县",
-          "古交市"
-        ]
-      },
-      {
-        "name": "大同市",
-        "area": [
-          "城  区",
-          "矿  区",
-          "南郊区",
-          "新荣区",
-          "阳高县",
-          "天镇县",
-          "广灵县",
-          "灵丘县",
-          "浑源县",
-          "左云县",
-          "大同县"
-        ]
-      },
-      {
-        "name": "阳泉市",
-        "area": [
-          "城  区",
-          "矿  区",
-          "郊  区",
-          "平定县",
-          "盂  县"
-        ]
-      },
-      {
-        "name": "长治市",
-        "area": [
-          "城  区",
-          "郊  区",
-          "长治县",
-          "襄垣县",
-          "屯留县",
-          "平顺县",
-          "黎城县",
-          "壶关县",
-          "长子县",
-          "武乡县",
-          "沁  县",
-          "沁源县",
-          "潞城市"
-        ]
-      },
-      {
-        "name": "晋城市",
-        "area": [
-          "城  区",
-          "沁水县",
-          "阳城县",
-          "陵川县",
-          "泽州县",
-          "高平市"
-        ]
-      },
-      {
-        "name": "朔州市",
-        "area": [
-          "朔城区",
-          "平鲁区",
-          "山阴县",
-          "应  县",
-          "右玉县",
-          "怀仁县"
-        ]
-      },
-      {
-        "name": "忻州市",
-        "area": [
-          "忻府区",
-          "原平市",
-          "定襄县",
-          "五台县",
-          "代  县",
-          "繁峙县",
-          "宁武县",
-          "静乐县",
-          "神池县",
-          "五寨县",
-          "岢岚县",
-          "河曲县",
-          "保德县",
-          "偏关县"
-        ]
-      },
-      {
-        "name": "吕梁市",
-        "area": [
-          "离石区",
-          "孝义市",
-          "汾阳市",
-          "文水县",
-          "交城县",
-          "兴  县",
-          "临  县",
-          "柳林县",
-          "石楼县",
-          "岚  县",
-          "方山县",
-          "中阳县",
-          "交口县"
-        ]
-      },
-      {
-        "name": "晋中市",
-        "area": [
-          "榆次市",
-          "介休市",
-          "榆社县",
-          "左权县",
-          "和顺县",
-          "昔阳县",
-          "寿阳县",
-          "太谷县",
-          "祁  县",
-          "平遥县",
-          "灵石县"
-        ]
-      },
-      {
-        "name": "临汾市",
-        "area": [
-          "临汾市",
-          "侯马市",
-          "霍州市",
-          "曲沃县",
-          "翼城县",
-          "襄汾县",
-          "洪洞县",
-          "古  县",
-          "安泽县",
-          "浮山县",
-          "吉  县",
-          "乡宁县",
-          "蒲  县",
-          "大宁县",
-          "永和县",
-          "隰  县",
-          "汾西县"
-        ]
-      },
-      {
-        "name": "运城市",
-        "area": [
-          "运城市",
-          "永济市",
-          "河津市",
-          "芮城县",
-          "临猗县",
-          "万荣县",
-          "新绛县",
-          "稷山县",
-          "闻喜县",
-          "夏  县",
-          "绛  县",
-          "平陆县",
-          "垣曲县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "内蒙古",
-    "city": [
-      {
-        "name": "呼和浩特市",
-        "area": [
-          "新城区",
-          "回民区",
-          "玉泉区",
-          "郊  区",
-          "土默特左旗",
-          "托克托县",
-          "和林格尔县",
-          "清水河县",
-          "武川县"
-        ]
-      },
-      {
-        "name": "包头市",
-        "area": [
-          "东河区",
-          "昆都伦区",
-          "青山区",
-          "石拐矿区",
-          "白云矿区",
-          "郊  区",
-          "土默特右旗",
-          "固阳县",
-          "达尔罕茂明安联合旗"
-        ]
-      },
-      {
-        "name": "乌海市",
-        "area": [
-          "海勃湾区",
-          "海南区",
-          "乌达区"
-        ]
-      },
-      {
-        "name": "赤峰市",
-        "area": [
-          "红山区",
-          "元宝山区",
-          "松山区",
-          "阿鲁科尔沁旗",
-          "巴林左旗",
-          "巴林右旗",
-          "林西县",
-          "克什克腾旗",
-          "翁牛特旗",
-          "喀喇沁旗",
-          "宁城县",
-          "敖汉旗"
-        ]
-      },
-      {
-        "name": "呼伦贝尔市",
-        "area": [
-          "海拉尔市",
-          "满洲里市",
-          "扎兰屯市",
-          "牙克石市",
-          "根河市",
-          "额尔古纳市",
-          "阿荣旗",
-          "莫力达瓦达斡尔族自治旗",
-          "鄂伦春自治旗",
-          "鄂温克族自治旗",
-          "新巴尔虎右旗",
-          "新巴尔虎左旗",
-          "陈巴尔虎旗"
-        ]
-      },
-      {
-        "name": "兴安盟",
-        "area": [
-          "乌兰浩特市",
-          "阿尔山市",
-          "科尔沁右翼前旗",
-          "科尔沁右翼中旗",
-          "扎赉特旗",
-          "突泉县"
-        ]
-      },
-      {
-        "name": "通辽市",
-        "area": [
-          "科尔沁区",
-          "霍林郭勒市",
-          "科尔沁左翼中旗",
-          "科尔沁左翼后旗",
-          "开鲁县",
-          "库伦旗",
-          "奈曼旗",
-          "扎鲁特旗"
-        ]
-      },
-      {
-        "name": "锡林郭勒盟",
-        "area": [
-          "二连浩特市",
-          "锡林浩特市",
-          "阿巴嘎旗",
-          "苏尼特左旗",
-          "苏尼特右旗",
-          "东乌珠穆沁旗",
-          "西乌珠穆沁旗",
-          "太仆寺旗",
-          "镶黄旗",
-          "正镶白旗",
-          "正蓝旗",
-          "多伦县"
-        ]
-      },
-      {
-        "name": "乌兰察布盟",
-        "area": [
-          "集宁市",
-          "丰镇市",
-          "卓资县",
-          "化德县",
-          "商都县",
-          "兴和县",
-          "凉城县",
-          "察哈尔右翼前旗",
-          "察哈尔右翼中旗",
-          "察哈尔右翼后旗",
-          "四子王旗"
-        ]
-      },
-      {
-        "name": "伊克昭盟",
-        "area": [
-          "东胜市",
-          "达拉特旗",
-          "准格尔旗",
-          "鄂托克前旗",
-          "鄂托克旗",
-          "杭锦旗",
-          "乌审旗",
-          "伊金霍洛旗"
-        ]
-      },
-      {
-        "name": "巴彦淖尔盟",
-        "area": [
-          "临河市",
-          "五原县",
-          "磴口县",
-          "乌拉特前旗",
-          "乌拉特中旗",
-          "乌拉特后旗",
-          "杭锦后旗"
-        ]
-      },
-      {
-        "name": "阿拉善盟",
-        "area": [
-          "阿拉善左旗",
-          "阿拉善右旗",
-          "额济纳旗"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "辽宁省",
-    "city": [
-      {
-        "name": "沈阳市",
-        "area": [
-          "沈河区",
-          "皇姑区",
-          "和平区",
-          "大东区",
-          "铁西区",
-          "苏家屯区",
-          "东陵区",
-          "于洪区",
-          "新民市",
-          "法库县",
-          "辽中县",
-          "康平县",
-          "新城子区"
-        ]
-      },
-      {
-        "name": "大连市",
-        "area": [
-          "西岗区",
-          "中山区",
-          "沙河口区",
-          "甘井子区",
-          "旅顺口区",
-          "金州区",
-          "瓦房店市",
-          "普兰店市",
-          "庄河市",
-          "长海县"
-        ]
-      },
-      {
-        "name": "鞍山市",
-        "area": [
-          "铁东区",
-          "铁西区",
-          "立山区",
-          "千山区",
-          "海城市",
-          "台安县",
-          "岫岩满族自治县"
-        ]
-      },
-      {
-        "name": "抚顺市",
-        "area": [
-          "顺城区",
-          "新抚区",
-          "东洲区",
-          "望花区",
-          "抚顺县",
-          "清原满族自治县",
-          "新宾满族自治县"
-        ]
-      },
-      {
-        "name": "本溪市",
-        "area": [
-          "平山区",
-          "明山区",
-          "溪湖区",
-          "南芬区",
-          "本溪满族自治县",
-          "桓仁满族自治县"
-        ]
-      },
-      {
-        "name": "丹东市",
-        "area": [
-          "振兴区",
-          "元宝区",
-          "振安区",
-          "东港市",
-          "凤城市",
-          "宽甸满族自治县"
-        ]
-      },
-      {
-        "name": "锦州市",
-        "area": [
-          "太和区",
-          "古塔区",
-          "凌河区",
-          "凌海市",
-          "黑山县",
-          "义县",
-          "北宁市"
-        ]
-      },
-      {
-        "name": "营口市",
-        "area": [
-          "站前区",
-          "西市区",
-          "鲅鱼圈区",
-          "老边区",
-          "大石桥市",
-          "盖州市"
-        ]
-      },
-      {
-        "name": "阜新市",
-        "area": [
-          "海州区",
-          "新邱区",
-          "太平区",
-          "清河门区",
-          "细河区",
-          "彰武县",
-          "阜新蒙古族自治县"
-        ]
-      },
-      {
-        "name": "辽阳市",
-        "area": [
-          "白塔区",
-          "文圣区",
-          "宏伟区",
-          "太子河区",
-          "弓长岭区",
-          "灯塔市",
-          "辽阳县"
-        ]
-      },
-      {
-        "name": "盘锦",
-        "area": [
-          "双台子区",
-          "兴隆台区",
-          "盘山县",
-          "大洼县"
-        ]
-      },
-      {
-        "name": "铁岭市",
-        "area": [
-          "银州区",
-          "清河区",
-          "调兵山市",
-          "开原市",
-          "铁岭县",
-          "昌图县",
-          "西丰县"
-        ]
-      },
-      {
-        "name": "朝阳市",
-        "area": [
-          "双塔区",
-          "龙城区",
-          "凌源市",
-          "北票市",
-          "朝阳县",
-          "建平县",
-          "喀喇沁左翼蒙古族自治县"
-        ]
-      },
-      {
-        "name": "葫芦岛市",
-        "area": [
-          "龙港区",
-          "南票区",
-          "连山区",
-          "兴城市",
-          "绥中县",
-          "建昌县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "吉林省",
-    "city": [
-      {
-        "name": "长春市",
-        "area": [
-          "朝阳区",
-          "宽城区",
-          "二道区",
-          "南关区",
-          "绿园区",
-          "双阳区",
-          "九台市",
-          "榆树市",
-          "德惠市",
-          "农安县"
-        ]
-      },
-      {
-        "name": "吉林市",
-        "area": [
-          "船营区",
-          "昌邑区",
-          "龙潭区",
-          "丰满区",
-          "舒兰市",
-          "桦甸市",
-          "蛟河市",
-          "磐石市",
-          "永吉县"
-        ]
-      },
-      {
-        "name": "四平",
-        "area": [
-          "铁西区",
-          "铁东区",
-          "公主岭市",
-          "双辽市",
-          "梨树县",
-          "伊通满族自治县"
-        ]
-      },
-      {
-        "name": "辽源市",
-        "area": [
-          "龙山区",
-          "西安区",
-          "东辽县",
-          "东丰县"
-        ]
-      },
-      {
-        "name": "通化市",
-        "area": [
-          "东昌区",
-          "二道江区",
-          "梅河口市",
-          "集安市",
-          "通化县",
-          "辉南县",
-          "柳河县"
-        ]
-      },
-      {
-        "name": "白山市",
-        "area": [
-          "八道江区",
-          "江源区",
-          "临江市",
-          "靖宇县",
-          "抚松县",
-          "长白朝鲜族自治县"
-        ]
-      },
-      {
-        "name": "松原市",
-        "area": [
-          "宁江区",
-          "乾安县",
-          "长岭县",
-          "扶余县",
-          "前郭尔罗斯蒙古族自治县"
-        ]
-      },
-      {
-        "name": "白城市",
-        "area": [
-          "洮北区",
-          "大安市",
-          "洮南市",
-          "镇赉县",
-          "通榆县"
-        ]
-      },
-      {
-        "name": "延边朝鲜族自治州",
-        "area": [
-          "延吉市",
-          "图们市",
-          "敦化市",
-          "龙井市",
-          "珲春市",
-          "和龙市",
-          "安图县",
-          "汪清县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "黑龙江省",
-    "city": [
-      {
-        "name": "哈尔滨市",
-        "area": [
-          "松北区",
-          "道里区",
-          "南岗区",
-          "平房区",
-          "香坊区",
-          "道外区",
-          "呼兰区",
-          "阿城区",
-          "双城市",
-          "尚志市",
-          "五常市",
-          "宾县",
-          "方正县",
-          "通河县",
-          "巴彦县",
-          "延寿县",
-          "木兰县",
-          "依兰县"
-        ]
-      },
-      {
-        "name": "齐齐哈尔市",
-        "area": [
-          "龙沙区",
-          "昂昂溪区",
-          "铁锋区",
-          "建华区",
-          "富拉尔基区",
-          "碾子山区",
-          "梅里斯达斡尔族区",
-          "讷河市",
-          "富裕县",
-          "拜泉县",
-          "甘南县",
-          "依安县",
-          "克山县",
-          "泰来县",
-          "克东县",
-          "龙江县"
-        ]
-      },
-      {
-        "name": "鹤岗市",
-        "area": [
-          "兴山区",
-          "工农区",
-          "南山区",
-          "兴安区",
-          "向阳区",
-          "东山区",
-          "萝北县",
-          "绥滨县"
-        ]
-      },
-      {
-        "name": "双鸭山",
-        "area": [
-          "尖山区",
-          "岭东区",
-          "四方台区",
-          "宝山区",
-          "集贤县",
-          "宝清县",
-          "友谊县",
-          "饶河县"
-        ]
-      },
-      {
-        "name": "鸡西市",
-        "area": [
-          "鸡冠区",
-          "恒山区",
-          "城子河区",
-          "滴道区",
-          "梨树区",
-          "麻山区",
-          "密山市",
-          "虎林市",
-          "鸡东县"
-        ]
-      },
-      {
-        "name": "大庆市",
-        "area": [
-          "萨尔图区",
-          "红岗区",
-          "龙凤区",
-          "让胡路区",
-          "大同区",
-          "林甸县",
-          "肇州县",
-          "肇源县",
-          "杜尔伯特蒙古族自治县"
-        ]
-      },
-      {
-        "name": "伊春市",
-        "area": [
-          "伊春区",
-          "带岭区",
-          "南岔区",
-          "金山屯区",
-          "西林区",
-          "美溪区",
-          "乌马河区",
-          "翠峦区",
-          "友好区",
-          "上甘岭区",
-          "五营区",
-          "红星区",
-          "新青区",
-          "汤旺河区",
-          "乌伊岭区",
-          "铁力市",
-          "嘉荫县"
-        ]
-      },
-      {
-        "name": "牡丹江市",
-        "area": [
-          "爱民区",
-          "东安区",
-          "阳明区",
-          "西安区",
-          "绥芬河市",
-          "宁安市",
-          "海林市",
-          "穆棱市",
-          "林口县",
-          "东宁县"
-        ]
-      },
-      {
-        "name": "佳木斯市",
-        "area": [
-          "向阳区",
-          "前进区",
-          "东风区",
-          "郊区",
-          "同江市",
-          "富锦市",
-          "桦川县",
-          "抚远县",
-          "桦南县",
-          "汤原县"
-        ]
-      },
-      {
-        "name": "七台河市",
-        "area": [
-          "桃山区",
-          "新兴区",
-          "茄子河区",
-          "勃利县"
-        ]
-      },
-      {
-        "name": "黑河市",
-        "area": [
-          "爱辉区",
-          "北安市",
-          "五大连池市",
-          "逊克县",
-          "嫩江县",
-          "孙吴县"
-        ]
-      },
-      {
-        "name": "绥化市",
-        "area": [
-          "北林区",
-          "安达市",
-          "肇东市",
-          "海伦市",
-          "绥棱县",
-          "兰西县",
-          "明水县",
-          "青冈县",
-          "庆安县",
-          "望奎县"
-        ]
-      },
-      {
-        "name": "大兴安岭地区",
-        "area": [
-          "呼玛县",
-          "塔河县",
-          "漠河县",
-          "大兴安岭辖区"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "上海市",
-    "city": [
-      {
-        "name": "上海市",
-        "area": [
-          "黄浦区",
-          "卢湾区",
-          "徐汇区",
-          "长宁区",
-          "静安区",
-          "普陀区",
-          "闸北区",
-          "虹口区",
-          "杨浦区",
-          "宝山区",
-          "闵行区",
-          "嘉定区",
-          "松江区",
-          "金山区",
-          "青浦区",
-          "南汇区",
-          "奉贤区",
-          "浦东新区",
-          "崇明县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "江苏省",
-    "city": [
-      {
-        "name": "南京市",
-        "area": [
-          "玄武区",
-          "白下区",
-          "秦淮区",
-          "建邺区",
-          "鼓楼区",
-          "下关区",
-          "栖霞区",
-          "雨花台区",
-          "浦口区",
-          "江宁区",
-          "六合区",
-          "溧水县",
-          "高淳县"
-        ]
-      },
-      {
-        "name": "苏州市",
-        "area": [
-          "金阊区",
-          "平江区",
-          "沧浪区",
-          "虎丘区",
-          "吴中区",
-          "相城区",
-          "常熟市",
-          "张家港市",
-          "昆山市",
-          "吴江市",
-          "太仓市"
-        ]
-      },
-      {
-        "name": "无锡市",
-        "area": [
-          "崇安区",
-          "南长区",
-          "北塘区",
-          "滨湖区",
-          "锡山区",
-          "惠山区",
-          "江阴市",
-          "宜兴市"
-        ]
-      },
-      {
-        "name": "常州市",
-        "area": [
-          "钟楼区",
-          "天宁区",
-          "戚墅堰区",
-          "新北区",
-          "武进区",
-          "金坛市",
-          "溧阳市"
-        ]
-      },
-      {
-        "name": "镇江市",
-        "area": [
-          "京口区",
-          "润州区",
-          "丹徒区",
-          "丹阳市",
-          "扬中市",
-          "句容市"
-        ]
-      },
-      {
-        "name": "南通市",
-        "area": [
-          "崇川区",
-          "港闸区",
-          "通州市",
-          "如皋市",
-          "海门市",
-          "启东市",
-          "海安县",
-          "如东县"
-        ]
-      },
-      {
-        "name": "泰州市",
-        "area": [
-          "海陵区",
-          "高港区",
-          "姜堰市",
-          "泰兴市",
-          "靖江市",
-          "兴化市"
-        ]
-      },
-      {
-        "name": "扬州市",
-        "area": [
-          "广陵区",
-          "维扬区",
-          "邗江区",
-          "江都市",
-          "仪征市",
-          "高邮市",
-          "宝应县"
-        ]
-      },
-      {
-        "name": "盐城市",
-        "area": [
-          "亭湖区",
-          "盐都区",
-          "大丰市",
-          "东台市",
-          "建湖县",
-          "射阳县",
-          "阜宁县",
-          "滨海县",
-          "响水县"
-        ]
-      },
-      {
-        "name": "连云港市",
-        "area": [
-          "新浦区",
-          "海州区",
-          "连云区",
-          "东海县",
-          "灌云县",
-          "赣榆县",
-          "灌南县"
-        ]
-      },
-      {
-        "name": "徐州市",
-        "area": [
-          "云龙区",
-          "鼓楼区",
-          "九里区",
-          "泉山区",
-          "贾汪区",
-          "邳州市",
-          "新沂市",
-          "铜山县",
-          "睢宁县",
-          "沛县",
-          "丰县"
-        ]
-      },
-      {
-        "name": "淮安市",
-        "area": [
-          "清河区",
-          "清浦区",
-          "楚州区",
-          "淮阴区",
-          "涟水县",
-          "洪泽县",
-          "金湖县",
-          "盱眙县"
-        ]
-      },
-      {
-        "name": "宿迁市",
-        "area": [
-          "宿城区",
-          "宿豫区",
-          "沭阳县",
-          "泗阳县",
-          "泗洪县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "浙江省",
-    "city": [
-      {
-        "name": "杭州市",
-        "area": [
-          "拱墅区",
-          "西湖区",
-          "上城区",
-          "下城区",
-          "江干区",
-          "滨江区",
-          "余杭区",
-          "萧山区",
-          "建德市",
-          "富阳市",
-          "临安市",
-          "桐庐县",
-          "淳安县"
-        ]
-      },
-      {
-        "name": "宁波市",
-        "area": [
-          "海曙区",
-          "江东区",
-          "江北区",
-          "镇海区",
-          "北仑区",
-          "鄞州区",
-          "余姚市",
-          "慈溪市",
-          "奉化市",
-          "宁海县",
-          "象山县"
-        ]
-      },
-      {
-        "name": "温州市",
-        "area": [
-          "鹿城区",
-          "龙湾区",
-          "瓯海区",
-          "瑞安市",
-          "乐清市",
-          "永嘉县",
-          "洞头县",
-          "平阳县",
-          "苍南县",
-          "文成县",
-          "泰顺县"
-        ]
-      },
-      {
-        "name": "嘉兴市",
-        "area": [
-          "秀城区",
-          "秀洲区",
-          "海宁市",
-          "平湖市",
-          "桐乡市",
-          "嘉善县",
-          "海盐县"
-        ]
-      },
-      {
-        "name": "湖州市",
-        "area": [
-          "吴兴区",
-          "南浔区",
-          "长兴县",
-          "德清县",
-          "安吉县"
-        ]
-      },
-      {
-        "name": "绍兴市",
-        "area": [
-          "越城区",
-          "诸暨市",
-          "上虞市",
-          "嵊州市",
-          "绍兴县",
-          "新昌县"
-        ]
-      },
-      {
-        "name": "金华市",
-        "area": [
-          "婺城区",
-          "金东区",
-          "兰溪市",
-          "义乌市",
-          "东阳市",
-          "永康市",
-          "武义县",
-          "浦江县",
-          "磐安县"
-        ]
-      },
-      {
-        "name": "衢州市",
-        "area": [
-          "柯城区",
-          "衢江区",
-          "江山市",
-          "龙游县",
-          "常山县",
-          "开化县"
-        ]
-      },
-      {
-        "name": "舟山市",
-        "area": [
-          "定海区",
-          "普陀区",
-          "岱山县",
-          "嵊泗县"
-        ]
-      },
-      {
-        "name": "台州市",
-        "area": [
-          "椒江区",
-          "黄岩区",
-          "路桥区",
-          "临海市",
-          "温岭市",
-          "玉环县",
-          "天台县",
-          "仙居县",
-          "三门县"
-        ]
-      },
-      {
-        "name": "丽水市",
-        "area": [
-          "莲都区",
-          "龙泉市",
-          "缙云县",
-          "青田县",
-          "云和县",
-          "遂昌县",
-          "松阳县",
-          "庆元县",
-          "景宁畲族自治县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "安徽省",
-    "city": [
-      {
-        "name": "合肥市",
-        "area": [
-          "庐阳区",
-          "瑶海区",
-          "蜀山区",
-          "包河区",
-          "长丰县",
-          "肥东县",
-          "肥西县"
-        ]
-      },
-      {
-        "name": "芜湖市",
-        "area": [
-          "镜湖区",
-          "弋江区",
-          "鸠江区",
-          "三山区",
-          "芜湖县",
-          "南陵县",
-          "繁昌县"
-        ]
-      },
-      {
-        "name": "蚌埠市",
-        "area": [
-          "蚌山区",
-          "龙子湖区",
-          "禹会区",
-          "淮上区",
-          "怀远县",
-          "固镇县",
-          "五河县"
-        ]
-      },
-      {
-        "name": "淮南市",
-        "area": [
-          "田家庵区",
-          "大通区",
-          "谢家集区",
-          "八公山区",
-          "潘集区",
-          "凤台县"
-        ]
-      },
-      {
-        "name": "马鞍山市",
-        "area": [
-          "雨山区",
-          "花山区",
-          "金家庄区",
-          "当涂县"
-        ]
-      },
-      {
-        "name": "淮北市",
-        "area": [
-          "相山区",
-          "杜集区",
-          "烈山区",
-          "濉溪县"
-        ]
-      },
-      {
-        "name": "铜陵市",
-        "area": [
-          "铜官山区",
-          "狮子山区",
-          "郊区",
-          "铜陵县"
-        ]
-      },
-      {
-        "name": "安庆市",
-        "area": [
-          "迎江区",
-          "大观区",
-          "宜秀区",
-          "桐城市",
-          "宿松县",
-          "枞阳县",
-          "太湖县",
-          "怀宁县",
-          "岳西县",
-          "望江县",
-          "潜山县"
-        ]
-      },
-      {
-        "name": "黄山市",
-        "area": [
-          "屯溪区",
-          "黄山区",
-          "徽州区",
-          "休宁县",
-          "歙县",
-          "祁门县",
-          "黟县"
-        ]
-      },
-      {
-        "name": "滁州市",
-        "area": [
-          "琅琊区",
-          "南谯区",
-          "天长市",
-          "明光市",
-          "全椒县",
-          "来安县",
-          "定远县",
-          "凤阳县"
-        ]
-      },
-      {
-        "name": "阜阳市",
-        "area": [
-          "颍州区",
-          "颍东区",
-          "颍泉区",
-          "界首市",
-          "临泉县",
-          "颍上县",
-          "阜南县",
-          "太和县"
-        ]
-      },
-      {
-        "name": "宿州市",
-        "area": [
-          "埇桥区",
-          "萧县",
-          "泗县",
-          "砀山县",
-          "灵璧县"
-        ]
-      },
-      {
-        "name": "巢湖市",
-        "area": [
-          "居巢区",
-          "含山县",
-          "无为县",
-          "庐江县",
-          "和县"
-        ]
-      },
-      {
-        "name": "六安市",
-        "area": [
-          "金安区",
-          "裕安区",
-          "寿县",
-          "霍山县",
-          "霍邱县",
-          "舒城县",
-          "金寨县"
-        ]
-      },
-      {
-        "name": "亳州市",
-        "area": [
-          "谯城区",
-          "利辛县",
-          "涡阳县",
-          "蒙城县"
-        ]
-      },
-      {
-        "name": "池州市",
-        "area": [
-          "贵池区",
-          "东至县",
-          "石台县",
-          "青阳县"
-        ]
-      },
-      {
-        "name": "宣城市",
-        "area": [
-          "宣州区",
-          "宁国市",
-          "广德县",
-          "郎溪县",
-          "泾县",
-          "旌德县",
-          "绩溪县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "福建省",
-    "city": [
-      {
-        "name": "福州市",
-        "area": [
-          "鼓楼区",
-          "台江区",
-          "仓山区",
-          "马尾区",
-          "晋安区",
-          "福清市",
-          "长乐市",
-          "闽侯县",
-          "闽清县",
-          "永泰县",
-          "连江县",
-          "罗源县",
-          "平潭县"
-        ]
-      },
-      {
-        "name": "厦门市",
-        "area": [
-          "思明区",
-          "海沧区",
-          "湖里区",
-          "集美区",
-          "同安区",
-          "翔安区"
-        ]
-      },
-      {
-        "name": "莆田市",
-        "area": [
-          "城厢区",
-          "涵江区",
-          "荔城区",
-          "秀屿区",
-          "仙游县"
-        ]
-      },
-      {
-        "name": "三明市",
-        "area": [
-          "梅列区",
-          "三元区",
-          "永安市",
-          "明溪县",
-          "将乐县",
-          "大田县",
-          "宁化县",
-          "建宁县",
-          "沙县",
-          "尤溪县",
-          "清流县",
-          "泰宁县"
-        ]
-      },
-      {
-        "name": "泉州市",
-        "area": [
-          "鲤城区",
-          "丰泽区",
-          "洛江区",
-          "泉港区",
-          "石狮市",
-          "晋江市",
-          "南安市",
-          "惠安县",
-          "永春县",
-          "安溪县",
-          "德化县",
-          "金门县"
-        ]
-      },
-      {
-        "name": "漳州市",
-        "area": [
-          "芗城区",
-          "龙文区",
-          "龙海市",
-          "平和县",
-          "南靖县",
-          "诏安县",
-          "漳浦县",
-          "华安县",
-          "东山县",
-          "长泰县",
-          "云霄县"
-        ]
-      },
-      {
-        "name": "南平市",
-        "area": [
-          "延平区",
-          "建瓯市",
-          "邵武市",
-          "武夷山市",
-          "建阳市",
-          "松溪县",
-          "光泽县",
-          "顺昌县",
-          "浦城县",
-          "政和县"
-        ]
-      },
-      {
-        "name": "龙岩市",
-        "area": [
-          "新罗区",
-          "漳平市",
-          "长汀县",
-          "武平县",
-          "上杭县",
-          "永定县",
-          "连城县"
-        ]
-      },
-      {
-        "name": "宁德市",
-        "area": [
-          "蕉城区",
-          "福安市",
-          "福鼎市",
-          "寿宁县",
-          "霞浦县",
-          "柘荣县",
-          "屏南县",
-          "古田县",
-          "周宁县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "江西省",
-    "city": [
-      {
-        "name": "南昌市",
-        "area": [
-          "东湖区",
-          "西湖区",
-          "青云谱区",
-          "湾里区",
-          "青山湖区",
-          "新建县",
-          "南昌县",
-          "进贤县",
-          "安义县"
-        ]
-      },
-      {
-        "name": "景德镇市",
-        "area": [
-          "珠山区",
-          "昌江区",
-          "乐平市",
-          "浮梁县"
-        ]
-      },
-      {
-        "name": "萍乡市",
-        "area": [
-          "安源区",
-          "湘东区",
-          "莲花县",
-          "上栗县",
-          "芦溪县"
-        ]
-      },
-      {
-        "name": "九江市",
-        "area": [
-          "浔阳区",
-          "庐山区",
-          "瑞昌市",
-          "九江县",
-          "星子县",
-          "武宁县",
-          "彭泽县",
-          "永修县",
-          "修水县",
-          "湖口县",
-          "德安县",
-          "都昌县"
-        ]
-      },
-      {
-        "name": "新余市",
-        "area": [
-          "渝水区",
-          "分宜县"
-        ]
-      },
-      {
-        "name": "鹰潭市",
-        "area": [
-          "月湖区",
-          "贵溪市",
-          "余江县"
-        ]
-      },
-      {
-        "name": "赣州市",
-        "area": [
-          "章贡区",
-          "瑞金市",
-          "南康市",
-          "石城县",
-          "安远县",
-          "赣县",
-          "宁都县",
-          "寻乌县",
-          "兴国县",
-          "定南县",
-          "上犹县",
-          "于都县",
-          "龙南县",
-          "崇义县",
-          "信丰县",
-          "全南县",
-          "大余县",
-          "会昌县"
-        ]
-      },
-      {
-        "name": "吉安市",
-        "area": [
-          "吉州区",
-          "青原区",
-          "井冈山市",
-          "吉安县",
-          "永丰县",
-          "永新县",
-          "新干县",
-          "泰和县",
-          "峡江县",
-          "遂川县",
-          "安福县",
-          "吉水县",
-          "万安县"
-        ]
-      },
-      {
-        "name": "宜春市",
-        "area": [
-          "袁州区",
-          "丰城市",
-          "樟树市",
-          "高安市",
-          "铜鼓县",
-          "靖安县",
-          "宜丰县",
-          "奉新县",
-          "万载县",
-          "上高县"
-        ]
-      },
-      {
-        "name": "抚州市",
-        "area": [
-          "临川区",
-          "南丰县",
-          "乐安县",
-          "金溪县",
-          "南城县",
-          "东乡县",
-          "资溪县",
-          "宜黄县",
-          "广昌县",
-          "黎川县",
-          "崇仁县"
-        ]
-      },
-      {
-        "name": "上饶市",
-        "area": [
-          "信州区",
-          "德兴市",
-          "上饶县",
-          "广丰县",
-          "鄱阳县",
-          "婺源县",
-          "铅山县",
-          "余干县",
-          "横峰县",
-          "弋阳县",
-          "玉山县",
-          "万年县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "山东省",
-    "city": [
-      {
-        "name": "济南市",
-        "area": [
-          "市中区",
-          "历下区",
-          "天桥区",
-          "槐荫区",
-          "历城区",
-          "长清区",
-          "章丘市",
-          "平阴县",
-          "济阳县",
-          "商河县"
-        ]
-      },
-      {
-        "name": "青岛市",
-        "area": [
-          "市南区",
-          "市北区",
-          "城阳区",
-          "四方区",
-          "李沧区",
-          "黄岛区",
-          "崂山区",
-          "胶南市",
-          "胶州市",
-          "平度市",
-          "莱西市",
-          "即墨市"
-        ]
-      },
-      {
-        "name": "淄博市",
-        "area": [
-          "张店区",
-          "临淄区",
-          "淄川区",
-          "博山区",
-          "周村区",
-          "桓台县",
-          "高青县",
-          "沂源县"
-        ]
-      },
-      {
-        "name": "枣庄市",
-        "area": [
-          "市中区",
-          "山亭区",
-          "峄城区",
-          "台儿庄区",
-          "薛城区",
-          "滕州市"
-        ]
-      },
-      {
-        "name": "东营市",
-        "area": [
-          "东营区",
-          "河口区",
-          "垦利县",
-          "广饶县",
-          "利津县"
-        ]
-      },
-      {
-        "name": "烟台市",
-        "area": [
-          "芝罘区",
-          "福山区",
-          "牟平区",
-          "莱山区",
-          "龙口市",
-          "莱阳市",
-          "莱州市",
-          "招远市",
-          "蓬莱市",
-          "栖霞市",
-          "海阳市",
-          "长岛县"
-        ]
-      },
-      {
-        "name": "潍坊市",
-        "area": [
-          "潍城区",
-          "寒亭区",
-          "坊子区",
-          "奎文区",
-          "青州市",
-          "诸城市",
-          "寿光市",
-          "安丘市",
-          "高密市",
-          "昌邑市",
-          "昌乐县",
-          "临朐县"
-        ]
-      },
-      {
-        "name": "济宁市",
-        "area": [
-          "市中区",
-          "任城区",
-          "曲阜市",
-          "兖州市",
-          "邹城市",
-          "鱼台县",
-          "金乡县",
-          "嘉祥县",
-          "微山县",
-          "汶上县",
-          "泗水县",
-          "梁山县"
-        ]
-      },
-      {
-        "name": "泰安市",
-        "area": [
-          "泰山区",
-          "岱岳区",
-          "新泰市",
-          "肥城市",
-          "宁阳县",
-          "东平县"
-        ]
-      },
-      {
-        "name": "威海市",
-        "area": [
-          "环翠区",
-          "乳山市",
-          "文登市",
-          "荣成市"
-        ]
-      },
-      {
-        "name": "日照市",
-        "area": [
-          "东港区",
-          "岚山区",
-          "五莲县",
-          "莒县"
-        ]
-      },
-      {
-        "name": "莱芜市",
-        "area": [
-          "莱城区",
-          "钢城区"
-        ]
-      },
-      {
-        "name": "临沂市",
-        "area": [
-          "兰山区",
-          "罗庄区",
-          "河东区",
-          "沂南县",
-          "郯城县",
-          "沂水县",
-          "苍山县",
-          "费县",
-          "平邑县",
-          "莒南县",
-          "蒙阴县",
-          "临沭县"
-        ]
-      },
-      {
-        "name": "德州市",
-        "area": [
-          "德城区",
-          "乐陵市",
-          "禹城市",
-          "陵县",
-          "宁津县",
-          "齐河县",
-          "武城县",
-          "庆云县",
-          "平原县",
-          "夏津县",
-          "临邑县"
-        ]
-      },
-      {
-        "name": "聊城市",
-        "area": [
-          "东昌府区",
-          "临清市",
-          "高唐县",
-          "阳谷县",
-          "茌平县",
-          "莘县",
-          "东阿县",
-          "冠县"
-        ]
-      },
-      {
-        "name": "滨州市",
-        "area": [
-          "滨城区",
-          "邹平县",
-          "沾化县",
-          "惠民县",
-          "博兴县",
-          "阳信县",
-          "无棣县"
-        ]
-      },
-      {
-        "name": "菏泽市",
-        "area": [
-          "牡丹区",
-          "鄄城县",
-          "单县",
-          "郓城县",
-          "曹县",
-          "定陶县",
-          "巨野县",
-          "东明县",
-          "成武县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "河南省",
-    "city": [
-      {
-        "name": "郑州市",
-        "area": [
-          "中原区",
-          "金水区",
-          "二七区",
-          "管城回族区",
-          "上街区",
-          "惠济区",
-          "巩义市",
-          "新郑市",
-          "新密市",
-          "登封市",
-          "荥阳市",
-          "中牟县"
-        ]
-      },
-      {
-        "name": "开封市",
-        "area": [
-          "鼓楼区",
-          "龙亭区",
-          "顺河回族区",
-          "禹王台区",
-          "金明区",
-          "开封县",
-          "尉氏县",
-          "兰考县",
-          "杞县",
-          "通许县"
-        ]
-      },
-      {
-        "name": "洛阳市",
-        "area": [
-          "西工区",
-          "老城区",
-          "涧西区",
-          "瀍河回族区",
-          "洛龙区",
-          "吉利区",
-          "偃师市",
-          "孟津县",
-          "汝阳县",
-          "伊川县",
-          "洛宁县",
-          "嵩县",
-          "宜阳县",
-          "新安县",
-          "栾川县"
-        ]
-      },
-      {
-        "name": "平顶山市",
-        "area": [
-          "新华区",
-          "卫东区",
-          "湛河区",
-          "石龙区",
-          "汝州市",
-          "舞钢市",
-          "宝丰县",
-          "叶县",
-          "郏县",
-          "鲁山县"
-        ]
-      },
-      {
-        "name": "安阳市",
-        "area": [
-          "北关区",
-          "文峰区",
-          "殷都区",
-          "龙安区",
-          "林州市",
-          "安阳县",
-          "滑县",
-          "内黄县",
-          "汤阴县"
-        ]
-      },
-      {
-        "name": "鹤壁市",
-        "area": [
-          "淇滨区",
-          "山城区",
-          "鹤山区",
-          "浚县",
-          "淇县"
-        ]
-      },
-      {
-        "name": "新乡市",
-        "area": [
-          "卫滨区",
-          "红旗区",
-          "凤泉区",
-          "牧野区",
-          "卫辉市",
-          "辉县市",
-          "新乡县",
-          "获嘉县",
-          "原阳县",
-          "长垣县",
-          "封丘县",
-          "延津县"
-        ]
-      },
-      {
-        "name": "焦作市",
-        "area": [
-          "解放区",
-          "中站区",
-          "马村区",
-          "山阳区",
-          "沁阳市",
-          "孟州市",
-          "修武县",
-          "温县",
-          "武陟县",
-          "博爱县"
-        ]
-      },
-      {
-        "name": "濮阳市",
-        "area": [
-          "华龙区",
-          "濮阳县",
-          "南乐县",
-          "台前县",
-          "清丰县",
-          "范县"
-        ]
-      },
-      {
-        "name": "许昌市",
-        "area": [
-          "魏都区",
-          "禹州市",
-          "长葛市",
-          "许昌县",
-          "鄢陵县",
-          "襄城县"
-        ]
-      },
-      {
-        "name": "漯河市",
-        "area": [
-          "源汇区",
-          "郾城区",
-          "召陵区",
-          "临颍县",
-          "舞阳县"
-        ]
-      },
-      {
-        "name": "三门峡市",
-        "area": [
-          "湖滨区",
-          "义马市",
-          "灵宝市",
-          "渑池县",
-          "卢氏县",
-          "陕县"
-        ]
-      },
-      {
-        "name": "南阳市",
-        "area": [
-          "卧龙区",
-          "宛城区",
-          "邓州市",
-          "桐柏县",
-          "方城县",
-          "淅川县",
-          "镇平县",
-          "唐河县",
-          "南召县",
-          "内乡县",
-          "新野县",
-          "社旗县",
-          "西峡县"
-        ]
-      },
-      {
-        "name": "商丘市",
-        "area": [
-          "梁园区",
-          "睢阳区",
-          "永城市",
-          "宁陵县",
-          "虞城县",
-          "民权县",
-          "夏邑县",
-          "柘城县",
-          "睢县"
-        ]
-      },
-      {
-        "name": "信阳市",
-        "area": [
-          "浉河区",
-          "平桥区",
-          "潢川县",
-          "淮滨县",
-          "息县",
-          "新县",
-          "商城县",
-          "固始县",
-          "罗山县",
-          "光山县"
-        ]
-      },
-      {
-        "name": "周口市",
-        "area": [
-          "川汇区",
-          "项城市",
-          "商水县",
-          "淮阳县",
-          "太康县",
-          "鹿邑县",
-          "西华县",
-          "扶沟县",
-          "沈丘县",
-          "郸城县"
-        ]
-      },
-      {
-        "name": "驻马店市",
-        "area": [
-          "驿城区",
-          "确山县",
-          "新蔡县",
-          "上蔡县",
-          "西平县",
-          "泌阳县",
-          "平舆县",
-          "汝南县",
-          "遂平县",
-          "正阳县"
-        ]
-      },
-      {
-        "name": "焦作市",
-        "area": [
-          "济源市"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "湖北省",
-    "city": [
-      {
-        "name": "武汉市",
-        "area": [
-          "江岸区",
-          "武昌区",
-          "江汉区",
-          "硚口区",
-          "汉阳区",
-          "青山区",
-          "洪山区",
-          "东西湖区",
-          "汉南区",
-          "蔡甸区",
-          "江夏区",
-          "黄陂区",
-          "新洲区"
-        ]
-      },
-      {
-        "name": "黄石市",
-        "area": [
-          "黄石港区",
-          "西塞山区",
-          "下陆区",
-          "铁山区",
-          "大冶市",
-          "阳新县"
-        ]
-      },
-      {
-        "name": "十堰市",
-        "area": [
-          "张湾区",
-          "茅箭区",
-          "丹江口市",
-          "郧县",
-          "竹山县",
-          "房县",
-          "郧西县",
-          "竹溪县"
-        ]
-      },
-      {
-        "name": "荆州市",
-        "area": [
-          "沙市区",
-          "荆州区",
-          "洪湖市",
-          "石首市",
-          "松滋市",
-          "监利县",
-          "公安县",
-          "江陵县"
-        ]
-      },
-      {
-        "name": "宜昌市",
-        "area": [
-          "西陵区",
-          "伍家岗区",
-          "点军区",
-          "猇亭区",
-          "夷陵区",
-          "宜都市",
-          "当阳市",
-          "枝江市",
-          "秭归县",
-          "远安县",
-          "兴山县",
-          "五峰土家族自治县",
-          "长阳土家族自治县"
-        ]
-      },
-      {
-        "name": "襄樊市",
-        "area": [
-          "襄城区",
-          "樊城区",
-          "襄阳区",
-          "老河口市",
-          "枣阳市",
-          "宜城市",
-          "南漳县",
-          "谷城县",
-          "保康县"
-        ]
-      },
-      {
-        "name": "鄂州市",
-        "area": [
-          "鄂城区",
-          "华容区",
-          "梁子湖区"
-        ]
-      },
-      {
-        "name": "荆门市",
-        "area": [
-          "东宝区",
-          "掇刀区",
-          "钟祥市",
-          "京山县",
-          "沙洋县"
-        ]
-      },
-      {
-        "name": "孝感市",
-        "area": [
-          "孝南区",
-          "应城市",
-          "安陆市",
-          "汉川市",
-          "云梦县",
-          "大悟县",
-          "孝昌县"
-        ]
-      },
-      {
-        "name": "黄冈市",
-        "area": [
-          "黄州区",
-          "麻城市",
-          "武穴市",
-          "红安县",
-          "罗田县",
-          "浠水县",
-          "蕲春县",
-          "黄梅县",
-          "英山县",
-          "团风县"
-        ]
-      },
-      {
-        "name": "咸宁市",
-        "area": [
-          "咸安区",
-          "赤壁市",
-          "嘉鱼县",
-          "通山县",
-          "崇阳县",
-          "通城县"
-        ]
-      },
-      {
-        "name": "随州市",
-        "area": [
-          "曾都区",
-          "广水市"
-        ]
-      },
-      {
-        "name": "恩施土家族苗族自治州",
-        "area": [
-          "恩施市",
-          "利川市",
-          "建始县",
-          "来凤县",
-          "巴东县",
-          "鹤峰县",
-          "宣恩县",
-          "咸丰县"
-        ]
-      },
-      {
-        "name": "仙桃市",
-        "area": [
-          "仙桃"
-        ]
-      },
-      {
-        "name": "天门市",
-        "area": [
-          "天门"
-        ]
-      },
-      {
-        "name": "潜江市",
-        "area": [
-          "潜江"
-        ]
-      },
-      {
-        "name": "神农架林区",
-        "area": [
-          "神农架林区"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "湖南省",
-    "city": [
-      {
-        "name": "长沙市",
-        "area": [
-          "岳麓区",
-          "芙蓉区",
-          "天心区",
-          "开福区",
-          "雨花区",
-          "浏阳市",
-          "长沙县",
-          "望城县",
-          "宁乡县"
-        ]
-      },
-      {
-        "name": "株洲市",
-        "area": [
-          "天元区",
-          "荷塘区",
-          "芦淞区",
-          "石峰区",
-          "醴陵市",
-          "株洲县",
-          "炎陵县",
-          "茶陵县",
-          "攸县"
-        ]
-      },
-      {
-        "name": "湘潭市",
-        "area": [
-          "岳塘区",
-          "雨湖区",
-          "湘乡市",
-          "韶山市",
-          "湘潭县"
-        ]
-      },
-      {
-        "name": "衡阳市",
-        "area": [
-          "雁峰区",
-          "珠晖区",
-          "石鼓区",
-          "蒸湘区",
-          "南岳区",
-          "耒阳市",
-          "常宁市",
-          "衡阳县",
-          "衡东县",
-          "衡山县",
-          "衡南县",
-          "祁东县"
-        ]
-      },
-      {
-        "name": "邵阳市",
-        "area": [
-          "双清区",
-          "大祥区",
-          "北塔区",
-          "武冈市",
-          "邵东县",
-          "洞口县",
-          "新邵县",
-          "绥宁县",
-          "新宁县",
-          "邵阳县",
-          "隆回县",
-          "城步苗族自治县"
-        ]
-      },
-      {
-        "name": "岳阳市",
-        "area": [
-          "岳阳楼区",
-          "云溪区",
-          "君山区",
-          "临湘市",
-          "汨罗市",
-          "岳阳县",
-          "湘阴县",
-          "平江县",
-          "华容县"
-        ]
-      },
-      {
-        "name": "常德市",
-        "area": [
-          "武陵区",
-          "鼎城区",
-          "津市市",
-          "澧县",
-          "临澧县",
-          "桃源县",
-          "汉寿县",
-          "安乡县",
-          "石门县"
-        ]
-      },
-      {
-        "name": "张家界市",
-        "area": [
-          "永定区",
-          "武陵源区",
-          "慈利县",
-          "桑植县"
-        ]
-      },
-      {
-        "name": "益阳市",
-        "area": [
-          "赫山区",
-          "资阳区",
-          "沅江市",
-          "桃江县",
-          "南县",
-          "安化县"
-        ]
-      },
-      {
-        "name": "郴州市",
-        "area": [
-          "北湖区",
-          "苏仙区",
-          "资兴市",
-          "宜章县",
-          "汝城县",
-          "安仁县",
-          "嘉禾县",
-          "临武县",
-          "桂东县",
-          "永兴县",
-          "桂阳县"
-        ]
-      },
-      {
-        "name": "永州市",
-        "area": [
-          "冷水滩区",
-          "零陵区",
-          "祁阳县",
-          "蓝山县",
-          "宁远县",
-          "新田县",
-          "东安县",
-          "江永县",
-          "道县",
-          "双牌县",
-          "江华瑶族自治县"
-        ]
-      },
-      {
-        "name": "怀化市",
-        "area": [
-          "鹤城区",
-          "洪江市",
-          "会同县",
-          "沅陵县",
-          "辰溪县",
-          "溆浦县",
-          "中方县",
-          "新晃侗族自治县",
-          "芷江侗族自治县",
-          "通道侗族自治县",
-          "靖州苗族侗族自治县",
-          "麻阳苗族自治县"
-        ]
-      },
-      {
-        "name": "娄底市",
-        "area": [
-          "娄星区",
-          "冷水江市",
-          "涟源市",
-          "新化县",
-          "双峰县"
-        ]
-      },
-      {
-        "name": "湘西土家族苗族自治州",
-        "area": [
-          "吉首市",
-          "古丈县",
-          "龙山县",
-          "永顺县",
-          "凤凰县",
-          "泸溪县",
-          "保靖县",
-          "花垣县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "广东省",
-    "city": [
-      {
-        "name": "广州市",
-        "area": [
-          "越秀区",
-          "荔湾区",
-          "海珠区",
-          "天河区",
-          "白云区",
-          "黄埔区",
-          "番禺区",
-          "花都区",
-          "南沙区",
-          "萝岗区",
-          "增城市",
-          "从化市"
-        ]
-      },
-      {
-        "name": "深圳市",
-        "area": [
-          "福田区",
-          "罗湖区",
-          "南山区",
-          "宝安区",
-          "龙岗区",
-          "盐田区"
-        ]
-      },
-      {
-        "name": "东莞市",
-        "area": [
-          "莞城",
-          "常平",
-          "塘厦",
-          "塘厦",
-          "塘厦"
-        ]
-      },
-      {
-        "name": "中山市",
-        "area": [
-          "中山"
-        ]
-      },
-      {
-        "name": "潮州市",
-        "area": [
-          "湘桥区",
-          "潮安县",
-          "饶平县"
-        ]
-      },
-      {
-        "name": "揭阳市",
-        "area": [
-          "榕城区",
-          "揭东县",
-          "揭西县",
-          "惠来县",
-          "普宁市"
-        ]
-      },
-      {
-        "name": "云浮市",
-        "area": [
-          "云城区",
-          "新兴县",
-          "郁南县",
-          "云安县",
-          "罗定市"
-        ]
-      },
-      {
-        "name": "珠海市",
-        "area": [
-          "香洲区",
-          "斗门区",
-          "金湾区"
-        ]
-      },
-      {
-        "name": "汕头市",
-        "area": [
-          "金平区",
-          "濠江区",
-          "龙湖区",
-          "潮阳区",
-          "潮南区",
-          "澄海区",
-          "南澳县"
-        ]
-      },
-      {
-        "name": "韶关市",
-        "area": [
-          "浈江区",
-          "武江区",
-          "曲江区",
-          "乐昌市",
-          "南雄市",
-          "始兴县",
-          "仁化县",
-          "翁源县",
-          "新丰县",
-          "乳源瑶族自治县"
-        ]
-      },
-      {
-        "name": "佛山市",
-        "area": [
-          "禅城区",
-          "南海区",
-          "顺德区",
-          "三水区",
-          "高明区"
-        ]
-      },
-      {
-        "name": "江门市",
-        "area": [
-          "蓬江区",
-          "江海区",
-          "新会区",
-          "恩平市",
-          "台山市",
-          "开平市",
-          "鹤山市"
-        ]
-      },
-      {
-        "name": "湛江市",
-        "area": [
-          "赤坎区",
-          "霞山区",
-          "坡头区",
-          "麻章区",
-          "吴川市",
-          "廉江市",
-          "雷州市",
-          "遂溪县",
-          "徐闻县"
-        ]
-      },
-      {
-        "name": "茂名市",
-        "area": [
-          "茂南区",
-          "茂港区",
-          "化州市",
-          "信宜市",
-          "高州市",
-          "电白县"
-        ]
-      },
-      {
-        "name": "肇庆市",
-        "area": [
-          "端州区",
-          "鼎湖区",
-          "高要市",
-          "四会市",
-          "广宁县",
-          "怀集县",
-          "封开县",
-          "德庆县"
-        ]
-      },
-      {
-        "name": "惠州市",
-        "area": [
-          "惠城区",
-          "惠阳区",
-          "博罗县",
-          "惠东县",
-          "龙门县"
-        ]
-      },
-      {
-        "name": "梅州市",
-        "area": [
-          "梅江区",
-          "兴宁市",
-          "梅县",
-          "大埔县",
-          "丰顺县",
-          "五华县",
-          "平远县",
-          "蕉岭县"
-        ]
-      },
-      {
-        "name": "汕尾市",
-        "area": [
-          "城区",
-          "陆丰市",
-          "海丰县",
-          "陆河县"
-        ]
-      },
-      {
-        "name": "河源市",
-        "area": [
-          "源城区",
-          "紫金县",
-          "龙川县",
-          "连平县",
-          "和平县",
-          "东源县"
-        ]
-      },
-      {
-        "name": "阳江市",
-        "area": [
-          "江城区",
-          "阳春市",
-          "阳西县",
-          "阳东县"
-        ]
-      },
-      {
-        "name": "清远市",
-        "area": [
-          "清城区",
-          "英德市",
-          "连州市",
-          "佛冈县",
-          "阳山县",
-          "清新县",
-          "连山壮族瑶族自治县",
-          "连南瑶族自治县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "广西",
-    "city": [
-      {
-        "name": "南宁市",
-        "area": [
-          "青秀区",
-          "兴宁区",
-          "西乡塘区",
-          "良庆区",
-          "江南区",
-          "邕宁区",
-          "武鸣县",
-          "隆安县",
-          "马山县",
-          "上林县",
-          "宾阳县",
-          "横县"
-        ]
-      },
-      {
-        "name": "柳州市",
-        "area": [
-          "城中区",
-          "鱼峰区",
-          "柳北区",
-          "柳南区",
-          "柳江县",
-          "柳城县",
-          "鹿寨县",
-          "融安县",
-          "融水苗族自治县",
-          "三江侗族自治县"
-        ]
-      },
-      {
-        "name": "桂林市",
-        "area": [
-          "象山区",
-          "秀峰区",
-          "叠彩区",
-          "七星区",
-          "雁山区",
-          "阳朔县",
-          "临桂县",
-          "灵川县",
-          "全州县",
-          "平乐县",
-          "兴安县",
-          "灌阳县",
-          "荔浦县",
-          "资源县",
-          "永福县",
-          "龙胜各族自治县",
-          "恭城瑶族自治县"
-        ]
-      },
-      {
-        "name": "梧州市",
-        "area": [
-          "万秀区",
-          "蝶山区",
-          "长洲区",
-          "岑溪市",
-          "苍梧县",
-          "藤县",
-          "蒙山县"
-        ]
-      },
-      {
-        "name": "北海市",
-        "area": [
-          "海城区",
-          "银海区",
-          "铁山港区",
-          "合浦县"
-        ]
-      },
-      {
-        "name": "防城港市",
-        "area": [
-          "港口区",
-          "防城区",
-          "东兴市",
-          "上思县"
-        ]
-      },
-      {
-        "name": "钦州市",
-        "area": [
-          "钦南区",
-          "钦北区",
-          "灵山县",
-          "浦北县"
-        ]
-      },
-      {
-        "name": "贵港市",
-        "area": [
-          "港北区",
-          "港南区",
-          "覃塘区",
-          "桂平市",
-          "平南县"
-        ]
-      },
-      {
-        "name": "玉林市",
-        "area": [
-          "玉州区",
-          "北流市",
-          "容县",
-          "陆川县",
-          "博白县",
-          "兴业县"
-        ]
-      },
-      {
-        "name": "百色市",
-        "area": [
-          "右江区",
-          "凌云县",
-          "平果县",
-          "西林县",
-          "乐业县",
-          "德保县",
-          "田林县",
-          "田阳县",
-          "靖西县",
-          "田东县",
-          "那坡县",
-          "隆林各族自治县"
-        ]
-      },
-      {
-        "name": "贺州市",
-        "area": [
-          "八步区",
-          "钟山县",
-          "昭平县",
-          "富川瑶族自治县"
-        ]
-      },
-      {
-        "name": "河池市",
-        "area": [
-          "金城江区",
-          "宜州市",
-          "天峨县",
-          "凤山县",
-          "南丹县",
-          "东兰县",
-          "都安瑶族自治县",
-          "罗城仫佬族自治县",
-          "巴马瑶族自治县",
-          "环江毛南族自治县",
-          "大化瑶族自治县"
-        ]
-      },
-      {
-        "name": "来宾市",
-        "area": [
-          "兴宾区",
-          "合山市",
-          "象州县",
-          "武宣县",
-          "忻城县",
-          "金秀瑶族自治县"
-        ]
-      },
-      {
-        "name": "崇左市",
-        "area": [
-          "江州区",
-          "凭祥市",
-          "宁明县",
-          "扶绥县",
-          "龙州县",
-          "大新县",
-          "天等县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "海南省",
-    "city": [
-      {
-        "name": "海口市",
-        "area": [
-          "龙华区",
-          "秀英区",
-          "琼山区",
-          "美兰区"
-        ]
-      },
-      {
-        "name": "三亚市",
-        "area": [
-          "三亚市"
-        ]
-      },
-      {
-        "name": "五指山市",
-        "area": [
-          "五指山"
-        ]
-      },
-      {
-        "name": "琼海市",
-        "area": [
-          "琼海"
-        ]
-      },
-      {
-        "name": "儋州市",
-        "area": [
-          "儋州"
-        ]
-      },
-      {
-        "name": "文昌市",
-        "area": [
-          "文昌"
-        ]
-      },
-      {
-        "name": "万宁市",
-        "area": [
-          "万宁"
-        ]
-      },
-      {
-        "name": "东方市",
-        "area": [
-          "东方"
-        ]
-      },
-      {
-        "name": "澄迈县",
-        "area": [
-          "澄迈县"
-        ]
-      },
-      {
-        "name": "定安县",
-        "area": [
-          "定安县"
-        ]
-      },
-      {
-        "name": "屯昌县",
-        "area": [
-          "屯昌县"
-        ]
-      },
-      {
-        "name": "临高县",
-        "area": [
-          "临高县"
-        ]
-      },
-      {
-        "name": "白沙黎族自治县",
-        "area": [
-          "白沙黎族自治县"
-        ]
-      },
-      {
-        "name": "昌江黎族自治县",
-        "area": [
-          "昌江黎族自治县"
-        ]
-      },
-      {
-        "name": "乐东黎族自治县",
-        "area": [
-          "乐东黎族自治县"
-        ]
-      },
-      {
-        "name": "陵水黎族自治县",
-        "area": [
-          "陵水黎族自治县"
-        ]
-      },
-      {
-        "name": "保亭黎族苗族自治县",
-        "area": [
-          "保亭黎族苗族自治县"
-        ]
-      },
-      {
-        "name": "琼中黎族苗族自治县",
-        "area": [
-          "琼中黎族苗族自治县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "重庆市",
-    "city": [
-      {
-        "name": "重庆市",
-        "area": [
-          "渝中区",
-          "大渡口区",
-          "江北区",
-          "南岸区",
-          "北碚区",
-          "渝北区",
-          "巴南区",
-          "长寿区",
-          "双桥区",
-          "沙坪坝区",
-          "万盛区",
-          "万州区",
-          "涪陵区",
-          "黔江区",
-          "永川区",
-          "合川区",
-          "江津区",
-          "九龙坡区",
-          "南川区",
-          "綦江县",
-          "潼南县",
-          "荣昌县",
-          "璧山县",
-          "大足县",
-          "铜梁县",
-          "梁平县",
-          "开县",
-          "忠县",
-          "城口县",
-          "垫江县",
-          "武隆县",
-          "丰都县",
-          "奉节县",
-          "云阳县",
-          "巫溪县",
-          "巫山县",
-          "石柱土家族自治县",
-          "秀山土家族苗族自治县",
-          "酉阳土家族苗族自治县",
-          "彭水苗族土家族自治县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "四川省",
-    "city": [
-      {
-        "name": "成都市",
-        "area": [
-          "青羊区",
-          "锦江区",
-          "金牛区",
-          "武侯区",
-          "成华区",
-          "龙泉驿区",
-          "青白江区",
-          "新都区",
-          "温江区",
-          "都江堰市",
-          "彭州市",
-          "邛崃市",
-          "崇州市",
-          "金堂县",
-          "郫县",
-          "新津县",
-          "双流县",
-          "蒲江县",
-          "大邑县"
-        ]
-      },
-      {
-        "name": "自贡市",
-        "area": [
-          "大安区",
-          "自流井区",
-          "贡井区",
-          "沿滩区",
-          "荣县",
-          "富顺县"
-        ]
-      },
-      {
-        "name": "攀枝花市",
-        "area": [
-          "仁和区",
-          "米易县",
-          "盐边县",
-          "东区",
-          "西区"
-        ]
-      },
-      {
-        "name": "泸州市",
-        "area": [
-          "江阳区",
-          "纳溪区",
-          "龙马潭区",
-          "泸县",
-          "合江县",
-          "叙永县",
-          "古蔺县"
-        ]
-      },
-      {
-        "name": "德阳市",
-        "area": [
-          "旌阳区",
-          "广汉市",
-          "什邡市",
-          "绵竹市",
-          "罗江县",
-          "中江县"
-        ]
-      },
-      {
-        "name": "绵阳市",
-        "area": [
-          "涪城区",
-          "游仙区",
-          "江油市",
-          "盐亭县",
-          "三台县",
-          "平武县",
-          "安县",
-          "梓潼县",
-          "北川羌族自治县"
-        ]
-      },
-      {
-        "name": "广元市",
-        "area": [
-          "元坝区",
-          "朝天区",
-          "青川县",
-          "旺苍县",
-          "剑阁县",
-          "苍溪县",
-          "市中区"
-        ]
-      },
-      {
-        "name": "遂宁市",
-        "area": [
-          "船山区",
-          "安居区",
-          "射洪县",
-          "蓬溪县",
-          "大英县"
-        ]
-      },
-      {
-        "name": "内江市",
-        "area": [
-          "市中区",
-          "东兴区",
-          "资中县",
-          "隆昌县",
-          "威远县"
-        ]
-      },
-      {
-        "name": "乐山市",
-        "area": [
-          "市中区",
-          "五通桥区",
-          "沙湾区",
-          "金口河区",
-          "峨眉山市",
-          "夹江县",
-          "井研县",
-          "犍为县",
-          "沐川县",
-          "马边彝族自治县",
-          "峨边彝族自治县"
-        ]
-      },
-      {
-        "name": "南充",
-        "area": [
-          "顺庆区",
-          "高坪区",
-          "嘉陵区",
-          "阆中市",
-          "营山县",
-          "蓬安县",
-          "仪陇县",
-          "南部县",
-          "西充县"
-        ]
-      },
-      {
-        "name": "眉山市",
-        "area": [
-          "东坡区",
-          "仁寿县",
-          "彭山县",
-          "洪雅县",
-          "丹棱县",
-          "青神县"
-        ]
-      },
-      {
-        "name": "宜宾市",
-        "area": [
-          "翠屏区",
-          "宜宾县",
-          "兴文县",
-          "南溪县",
-          "珙县",
-          "长宁县",
-          "高县",
-          "江安县",
-          "筠连县",
-          "屏山县"
-        ]
-      },
-      {
-        "name": "广安市",
-        "area": [
-          "广安区",
-          "华蓥市",
-          "岳池县",
-          "邻水县",
-          "武胜县"
-        ]
-      },
-      {
-        "name": "达州市",
-        "area": [
-          "通川区",
-          "万源市",
-          "达县",
-          "渠县",
-          "宣汉县",
-          "开江县",
-          "大竹县"
-        ]
-      },
-      {
-        "name": "雅安市",
-        "area": [
-          "雨城区",
-          "芦山县",
-          "石棉县",
-          "名山县",
-          "天全县",
-          "荥经县",
-          "宝兴县",
-          "汉源县"
-        ]
-      },
-      {
-        "name": "巴中市",
-        "area": [
-          "巴州区",
-          "南江县",
-          "平昌县",
-          "通江县"
-        ]
-      },
-      {
-        "name": "资阳市",
-        "area": [
-          "雁江区",
-          "简阳市",
-          "安岳县",
-          "乐至县"
-        ]
-      },
-      {
-        "name": "阿坝藏族羌族自治州",
-        "area": [
-          "马尔康县",
-          "九寨沟县",
-          "红原县",
-          "汶川县",
-          "阿坝县",
-          "理县",
-          "若尔盖县",
-          "小金县",
-          "黑水县",
-          "金川县",
-          "松潘县",
-          "壤塘县",
-          "茂县"
-        ]
-      },
-      {
-        "name": "甘孜藏族自治州",
-        "area": [
-          "康定县",
-          "丹巴县",
-          "炉霍县",
-          "九龙县",
-          "甘孜县",
-          "雅江县",
-          "新龙县",
-          "道孚县",
-          "白玉县",
-          "理塘县",
-          "德格县",
-          "乡城县",
-          "石渠县",
-          "稻城县",
-          "色达县",
-          "巴塘县",
-          "泸定县",
-          "得荣县"
-        ]
-      },
-      {
-        "name": "凉山彝族自治州",
-        "area": [
-          "西昌市",
-          "美姑县",
-          "昭觉县",
-          "金阳县",
-          "甘洛县",
-          "布拖县",
-          "雷波县",
-          "普格县",
-          "宁南县",
-          "喜德县",
-          "会东县",
-          "越西县",
-          "会理县",
-          "盐源县",
-          "德昌县",
-          "冕宁县",
-          "木里藏族自治县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "贵州省",
-    "city": [
-      {
-        "name": "贵阳市",
-        "area": [
-          "南明区",
-          "云岩区",
-          "花溪区",
-          "乌当区",
-          "白云区",
-          "小河区",
-          "清镇市",
-          "开阳县",
-          "修文县",
-          "息烽县"
-        ]
-      },
-      {
-        "name": "六盘水市",
-        "area": [
-          "钟山区",
-          "水城县",
-          "盘县",
-          "六枝特区"
-        ]
-      },
-      {
-        "name": "遵义市",
-        "area": [
-          "红花岗区",
-          "汇川区",
-          "赤水市",
-          "仁怀市",
-          "遵义县",
-          "绥阳县",
-          "桐梓县",
-          "习水县",
-          "凤冈县",
-          "正安县",
-          "余庆县",
-          "湄潭县",
-          "道真仡佬族苗族自治县",
-          "务川仡佬族苗族自治县"
-        ]
-      },
-      {
-        "name": "安顺市",
-        "area": [
-          "西秀区",
-          "普定县",
-          "平坝县",
-          "镇宁布依族苗族自治县",
-          "紫云苗族布依族自治县",
-          "关岭布依族苗族自治县"
-        ]
-      },
-      {
-        "name": "铜仁地区",
-        "area": [
-          "铜仁市",
-          "德江县",
-          "江口县",
-          "思南县",
-          "石阡县",
-          "玉屏侗族自治县",
-          "松桃苗族自治县",
-          "印江土家族苗族自治县",
-          "沿河土家族自治县",
-          "万山特区"
-        ]
-      },
-      {
-        "name": "毕节地区",
-        "area": [
-          "毕节市",
-          "黔西县",
-          "大方县",
-          "织金县",
-          "金沙县",
-          "赫章县",
-          "纳雍县",
-          "威宁彝族回族苗族自治县"
-        ]
-      },
-      {
-        "name": "黔西南布依族苗族自治州",
-        "area": [
-          "兴义市",
-          "望谟县",
-          "兴仁县",
-          "普安县",
-          "册亨县",
-          "晴隆县",
-          "贞丰县",
-          "安龙县"
-        ]
-      },
-      {
-        "name": "黔东南苗族侗族自治州",
-        "area": [
-          "凯里市",
-          "施秉县",
-          "从江县",
-          "锦屏县",
-          "镇远县",
-          "麻江县",
-          "台江县",
-          "天柱县",
-          "黄平县",
-          "榕江县",
-          "剑河县",
-          "三穗县",
-          "雷山县",
-          "黎平县",
-          "岑巩县",
-          "丹寨县"
-        ]
-      },
-      {
-        "name": "黔南布依族苗族自治州",
-        "area": [
-          "都匀市",
-          "福泉市",
-          "贵定县",
-          "惠水县",
-          "罗甸县",
-          "瓮安县",
-          "荔波县",
-          "龙里县",
-          "平塘县",
-          "长顺县",
-          "独山县",
-          "三都水族自治县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "云南省",
-    "city": [
-      {
-        "name": "昆明市",
-        "area": [
-          "盘龙区",
-          "五华区",
-          "官渡区",
-          "西山区",
-          "东川区",
-          "安宁市",
-          "呈贡县",
-          "晋宁县",
-          "富民县",
-          "宜良县",
-          "嵩明县",
-          "石林彝族自治县",
-          "禄劝彝族苗族自治县",
-          "寻甸回族彝族自治县"
-        ]
-      },
-      {
-        "name": "曲靖市",
-        "area": [
-          "麒麟区",
-          "宣威市",
-          "马龙县",
-          "沾益县",
-          "富源县",
-          "罗平县",
-          "师宗县",
-          "陆良县",
-          "会泽县"
-        ]
-      },
-      {
-        "name": "玉溪市",
-        "area": [
-          "红塔区",
-          "江川县",
-          "澄江县",
-          "通海县",
-          "华宁县",
-          "易门县",
-          "峨山彝族自治县",
-          "新平彝族傣族自治县",
-          "元江哈尼族彝族傣族自治县"
-        ]
-      },
-      {
-        "name": "保山市",
-        "area": [
-          "隆阳区",
-          "施甸县",
-          "腾冲县",
-          "龙陵县",
-          "昌宁县"
-        ]
-      },
-      {
-        "name": "昭通市",
-        "area": [
-          "昭阳区",
-          "鲁甸县",
-          "巧家县",
-          "盐津县",
-          "大关县",
-          "永善县",
-          "绥江县",
-          "镇雄县",
-          "彝良县",
-          "威信县",
-          "水富县"
-        ]
-      },
-      {
-        "name": "丽江市",
-        "area": [
-          "古城区",
-          "永胜县",
-          "华坪县",
-          "玉龙纳西族自治县",
-          "宁蒗彝族自治县"
-        ]
-      },
-      {
-        "name": "普洱市",
-        "area": [
-          "思茅区",
-          "普洱哈尼族彝族自治县",
-          "墨江哈尼族自治县",
-          "景东彝族自治县",
-          "景谷傣族彝族自治县",
-          "镇沅彝族哈尼族拉祜族自治县",
-          "江城哈尼族彝族自治县",
-          "孟连傣族拉祜族佤族自治县",
-          "澜沧拉祜族自治县",
-          "西盟佤族自治县"
-        ]
-      },
-      {
-        "name": "临沧市",
-        "area": [
-          "临翔区",
-          "凤庆县",
-          "云县",
-          "永德县",
-          "镇康县",
-          "双江拉祜族佤族布朗族傣族自治县",
-          "耿马傣族佤族自治县",
-          "沧源佤族自治县"
-        ]
-      },
-      {
-        "name": "德宏傣族景颇族自治州",
-        "area": [
-          "潞西市",
-          "瑞丽市",
-          "梁河县",
-          "盈江县",
-          "陇川县"
-        ]
-      },
-      {
-        "name": "怒江傈僳族自治州",
-        "area": [
-          "泸水县",
-          "福贡县",
-          "贡山独龙族怒族自治县",
-          "兰坪白族普米族自治县"
-        ]
-      },
-      {
-        "name": "迪庆藏族自治州",
-        "area": [
-          "香格里拉县",
-          "德钦县",
-          "维西傈僳族自治县"
-        ]
-      },
-      {
-        "name": "大理白族自治州",
-        "area": [
-          "大理市",
-          "祥云县",
-          "宾川县",
-          "弥渡县",
-          "永平县",
-          "云龙县",
-          "洱源县",
-          "剑川县",
-          "鹤庆县",
-          "漾濞彝族自治县",
-          "南涧彝族自治县",
-          "巍山彝族回族自治县"
-        ]
-      },
-      {
-        "name": "楚雄彝族自治州",
-        "area": [
-          "楚雄市",
-          "双柏县",
-          "牟定县",
-          "南华县",
-          "姚安县",
-          "大姚县",
-          "永仁县",
-          "元谋县",
-          "武定县",
-          "禄丰县"
-        ]
-      },
-      {
-        "name": "红河哈尼族彝族自治州",
-        "area": [
-          "蒙自县",
-          "个旧市",
-          "开远市",
-          "绿春县",
-          "建水县",
-          "石屏县",
-          "弥勒县",
-          "泸西县",
-          "元阳县",
-          "红河县",
-          "金平苗族瑶族傣族自治县",
-          "河口瑶族自治县",
-          "屏边苗族自治县"
-        ]
-      },
-      {
-        "name": "文山壮族苗族自治州",
-        "area": [
-          "文山县",
-          "砚山县",
-          "西畴县",
-          "麻栗坡县",
-          "马关县",
-          "丘北县",
-          "广南县",
-          "富宁县"
-        ]
-      },
-      {
-        "name": "西双版纳傣族自治州",
-        "area": [
-          "景洪市",
-          "勐海县",
-          "勐腊县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "西藏",
-    "city": [
-      {
-        "name": "拉萨市",
-        "area": [
-          "城关区",
-          "林周县",
-          "当雄县",
-          "尼木县",
-          "曲水县",
-          "堆龙德庆县",
-          "达孜县",
-          "墨竹工卡县"
-        ]
-      },
-      {
-        "name": "那曲地区",
-        "area": [
-          "那曲县",
-          "嘉黎县",
-          "比如县",
-          "聂荣县",
-          "安多县",
-          "申扎县",
-          "索县",
-          "班戈县",
-          "巴青县",
-          "尼玛县"
-        ]
-      },
-      {
-        "name": "昌都地区",
-        "area": [
-          "昌都县",
-          "江达县",
-          "贡觉县",
-          "类乌齐县",
-          "丁青县",
-          "察雅县",
-          "八宿县",
-          "左贡县",
-          "芒康县",
-          "洛隆县",
-          "边坝县"
-        ]
-      },
-      {
-        "name": "林芝地区",
-        "area": [
-          "林芝县",
-          "工布江达县",
-          "米林县",
-          "墨脱县",
-          "波密县",
-          "察隅县",
-          "朗县"
-        ]
-      },
-      {
-        "name": "山南地区",
-        "area": [
-          "乃东县",
-          "扎囊县",
-          "贡嘎县",
-          "桑日县",
-          "琼结县",
-          "曲松县",
-          "措美县",
-          "洛扎县",
-          "加查县",
-          "隆子县",
-          "错那县",
-          "浪卡子县"
-        ]
-      },
-      {
-        "name": "日喀则地区",
-        "area": [
-          "日喀则市",
-          "南木林县",
-          "江孜县",
-          "定日县",
-          "萨迦县",
-          "拉孜县",
-          "昂仁县",
-          "谢通门县",
-          "白朗县",
-          "仁布县",
-          "康马县",
-          "定结县",
-          "仲巴县",
-          "亚东县",
-          "吉隆县",
-          "聂拉木县",
-          "萨嘎县",
-          "岗巴县"
-        ]
-      },
-      {
-        "name": "阿里地区",
-        "area": [
-          "噶尔县",
-          "普兰县",
-          "札达县",
-          "日土县",
-          "革吉县",
-          "改则县",
-          "措勤县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "陕西省",
-    "city": [
-      {
-        "name": "西安市",
-        "area": [
-          "莲湖区",
-          "新城区",
-          "碑林区",
-          "雁塔区",
-          "灞桥区",
-          "未央区",
-          "阎良区",
-          "临潼区",
-          "长安区",
-          "高陵县",
-          "蓝田县",
-          "户县",
-          "周至县"
-        ]
-      },
-      {
-        "name": "铜川市",
-        "area": [
-          "耀州区",
-          "王益区",
-          "印台区",
-          "宜君县"
-        ]
-      },
-      {
-        "name": "宝鸡市",
-        "area": [
-          "渭滨区",
-          "金台区",
-          "陈仓区",
-          "岐山县",
-          "凤翔县",
-          "陇县",
-          "太白县",
-          "麟游县",
-          "扶风县",
-          "千阳县",
-          "眉县",
-          "凤县"
-        ]
-      },
-      {
-        "name": "咸阳市",
-        "area": [
-          "秦都区",
-          "渭城区",
-          "杨陵区",
-          "兴平市",
-          "礼泉县",
-          "泾阳县",
-          "永寿县",
-          "三原县",
-          "彬县",
-          "旬邑县",
-          "长武县",
-          "乾县",
-          "武功县",
-          "淳化县"
-        ]
-      },
-      {
-        "name": "渭南市",
-        "area": [
-          "临渭区",
-          "韩城市",
-          "华阴市",
-          "蒲城县",
-          "潼关县",
-          "白水县",
-          "澄城县",
-          "华县",
-          "合阳县",
-          "富平县",
-          "大荔县"
-        ]
-      },
-      {
-        "name": "延安市",
-        "area": [
-          "宝塔区",
-          "安塞县",
-          "洛川县",
-          "子长县",
-          "黄陵县",
-          "延川县",
-          "富县",
-          "延长县",
-          "甘泉县",
-          "宜川县",
-          "志丹县",
-          "黄龙县",
-          "吴起县"
-        ]
-      },
-      {
-        "name": "汉中市",
-        "area": [
-          "汉台区",
-          "留坝县",
-          "镇巴县",
-          "城固县",
-          "南郑县",
-          "洋县",
-          "宁强县",
-          "佛坪县",
-          "勉县",
-          "西乡县",
-          "略阳县"
-        ]
-      },
-      {
-        "name": "榆林市",
-        "area": [
-          "榆阳区",
-          "清涧县",
-          "绥德县",
-          "神木县",
-          "佳县",
-          "府谷县",
-          "子洲县",
-          "靖边县",
-          "横山县",
-          "米脂县",
-          "吴堡县",
-          "定边县"
-        ]
-      },
-      {
-        "name": "安康市",
-        "area": [
-          "汉滨区",
-          "紫阳县",
-          "岚皋县",
-          "旬阳县",
-          "镇坪县",
-          "平利县",
-          "石泉县",
-          "宁陕县",
-          "白河县",
-          "汉阴县"
-        ]
-      },
-      {
-        "name": "商洛市",
-        "area": [
-          "商州区",
-          "镇安县",
-          "山阳县",
-          "洛南县",
-          "商南县",
-          "丹凤县",
-          "柞水县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "甘肃省",
-    "city": [
-      {
-        "name": "兰州市",
-        "area": [
-          "城关区",
-          "七里河区",
-          "西固区",
-          "安宁区",
-          "红古区",
-          "永登县",
-          "皋兰县",
-          "榆中县"
-        ]
-      },
-      {
-        "name": "嘉峪关市",
-        "area": [
-          "嘉峪关市"
-        ]
-      },
-      {
-        "name": "金昌市",
-        "area": [
-          "金川区",
-          "永昌县"
-        ]
-      },
-      {
-        "name": "白银市",
-        "area": [
-          "白银区",
-          "平川区",
-          "靖远县",
-          "会宁县",
-          "景泰县"
-        ]
-      },
-      {
-        "name": "天水市",
-        "area": [
-          "清水县",
-          "秦安县",
-          "甘谷县",
-          "武山县",
-          "张家川回族自治县",
-          "北道区",
-          "秦城区"
-        ]
-      },
-      {
-        "name": "武威市",
-        "area": [
-          "凉州区",
-          "民勤县",
-          "古浪县",
-          "天祝藏族自治县"
-        ]
-      },
-      {
-        "name": "酒泉市",
-        "area": [
-          "肃州区",
-          "玉门市",
-          "敦煌市",
-          "金塔县",
-          "肃北蒙古族自治县",
-          "阿克塞哈萨克族自治县",
-          "安西县"
-        ]
-      },
-      {
-        "name": "张掖市",
-        "area": [
-          "甘州区",
-          "民乐县",
-          "临泽县",
-          "高台县",
-          "山丹县",
-          "肃南裕固族自治县"
-        ]
-      },
-      {
-        "name": "庆阳市",
-        "area": [
-          "西峰区",
-          "庆城县",
-          "环县",
-          "华池县",
-          "合水县",
-          "正宁县",
-          "宁县",
-          "镇原县"
-        ]
-      },
-      {
-        "name": "平凉市",
-        "area": [
-          "崆峒区",
-          "泾川县",
-          "灵台县",
-          "崇信县",
-          "华亭县",
-          "庄浪县",
-          "静宁县"
-        ]
-      },
-      {
-        "name": "定西市",
-        "area": [
-          "安定区",
-          "通渭县",
-          "临洮县",
-          "漳县",
-          "岷县",
-          "渭源县",
-          "陇西县"
-        ]
-      },
-      {
-        "name": "陇南市",
-        "area": [
-          "武都区",
-          "成县",
-          "宕昌县",
-          "康县",
-          "文县",
-          "西和县",
-          "礼县",
-          "两当县",
-          "徽县"
-        ]
-      },
-      {
-        "name": "临夏回族自治州",
-        "area": [
-          "临夏市",
-          "临夏县",
-          "康乐县",
-          "永靖县",
-          "广河县",
-          "和政县",
-          "东乡族自治县",
-          "积石山保安族东乡族撒拉族自治县"
-        ]
-      },
-      {
-        "name": "甘南藏族自治州",
-        "area": [
-          "合作市",
-          "临潭县",
-          "卓尼县",
-          "舟曲县",
-          "迭部县",
-          "玛曲县",
-          "碌曲县",
-          "夏河县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "青海省",
-    "city": [
-      {
-        "name": "西宁市",
-        "area": [
-          "城中区",
-          "城东区",
-          "城西区",
-          "城北区",
-          "湟源县",
-          "湟中县",
-          "大通回族土族自治县"
-        ]
-      },
-      {
-        "name": "海东地区",
-        "area": [
-          "平安县",
-          "乐都县",
-          "民和回族土族自治县",
-          "互助土族自治县",
-          "化隆回族自治县",
-          "循化撒拉族自治县"
-        ]
-      },
-      {
-        "name": "海北藏族自治州",
-        "area": [
-          "海晏县",
-          "祁连县",
-          "刚察县",
-          "门源回族自治县"
-        ]
-      },
-      {
-        "name": "海南藏族自治州",
-        "area": [
-          "共和县",
-          "同德县",
-          "贵德县",
-          "兴海县",
-          "贵南县"
-        ]
-      },
-      {
-        "name": "黄南藏族自治州",
-        "area": [
-          "同仁县",
-          "尖扎县",
-          "泽库县",
-          "河南蒙古族自治县"
-        ]
-      },
-      {
-        "name": "果洛藏族自治州",
-        "area": [
-          "玛沁县",
-          "班玛县",
-          "甘德县",
-          "达日县",
-          "久治县",
-          "玛多县"
-        ]
-      },
-      {
-        "name": "玉树藏族自治州",
-        "area": [
-          "玉树县",
-          "杂多县",
-          "称多县",
-          "治多县",
-          "囊谦县",
-          "曲麻莱县"
-        ]
-      },
-      {
-        "name": "海西蒙古族藏族自治州",
-        "area": [
-          "德令哈市",
-          "格尔木市",
-          "乌兰县",
-          "都兰县",
-          "天峻县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "宁夏",
-    "city": [
-      {
-        "name": "银川市",
-        "area": [
-          "兴庆区",
-          "西夏区",
-          "金凤区",
-          "灵武市",
-          "永宁县",
-          "贺兰县"
-        ]
-      },
-      {
-        "name": "石嘴山市",
-        "area": [
-          "大武口区",
-          "惠农区",
-          "平罗县"
-        ]
-      },
-      {
-        "name": "吴忠市",
-        "area": [
-          "利通区",
-          "青铜峡市",
-          "盐池县",
-          "同心县"
-        ]
-      },
-      {
-        "name": "固原市",
-        "area": [
-          "原州区",
-          "西吉县",
-          "隆德县",
-          "泾源县",
-          "彭阳县"
-        ]
-      },
-      {
-        "name": "中卫市",
-        "area": [
-          "沙坡头区",
-          "中宁县",
-          "海原县"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "新疆",
-    "city": [
-      {
-        "name": "乌鲁木齐市",
-        "area": [
-          "天山区",
-          "沙依巴克区",
-          "新市区",
-          "水磨沟区",
-          "头屯河区",
-          "达坂城区",
-          "东山区",
-          "乌鲁木齐县"
-        ]
-      },
-      {
-        "name": "克拉玛依市",
-        "area": [
-          "克拉玛依区",
-          "独山子区",
-          "白碱滩区",
-          "乌尔禾区"
-        ]
-      },
-      {
-        "name": "吐鲁番地区",
-        "area": [
-          "吐鲁番市",
-          "托克逊县",
-          "鄯善县"
-        ]
-      },
-      {
-        "name": "哈密地区",
-        "area": [
-          "哈密市",
-          "伊吾县",
-          "巴里坤哈萨克自治县"
-        ]
-      },
-      {
-        "name": "和田地区",
-        "area": [
-          "和田市",
-          "和田县",
-          "洛浦县",
-          "民丰县",
-          "皮山县",
-          "策勒县",
-          "于田县",
-          "墨玉县"
-        ]
-      },
-      {
-        "name": "阿克苏地区",
-        "area": [
-          "阿克苏市",
-          "温宿县",
-          "沙雅县",
-          "拜城县",
-          "阿瓦提县",
-          "库车县",
-          "柯坪县",
-          "新和县",
-          "乌什县"
-        ]
-      },
-      {
-        "name": "喀什地区",
-        "area": [
-          "喀什市",
-          "巴楚县",
-          "泽普县",
-          "伽师县",
-          "叶城县",
-          "岳普湖县",
-          "疏勒县",
-          "麦盖提县",
-          "英吉沙县",
-          "莎车县",
-          "疏附县",
-          "塔什库尔干塔吉克自治县"
-        ]
-      },
-      {
-        "name": "克孜勒苏柯尔克孜自治州",
-        "area": [
-          "阿图什市",
-          "阿合奇县",
-          "乌恰县",
-          "阿克陶县"
-        ]
-      },
-      {
-        "name": "巴音郭楞蒙古自治州",
-        "area": [
-          "库尔勒市",
-          "和静县",
-          "尉犁县",
-          "和硕县",
-          "且末县",
-          "博湖县",
-          "轮台县",
-          "若羌县",
-          "焉耆回族自治县"
-        ]
-      },
-      {
-        "name": "昌吉回族自治州",
-        "area": [
-          "昌吉市",
-          "阜康市",
-          "奇台县",
-          "玛纳斯县",
-          "吉木萨尔县",
-          "呼图壁县",
-          "木垒哈萨克自治县",
-          "米泉市"
-        ]
-      },
-      {
-        "name": "博尔塔拉蒙古自治州",
-        "area": [
-          "博乐市",
-          "精河县",
-          "温泉县"
-        ]
-      },
-      {
-        "name": "石河子",
-        "area": [
-          "石河子"
-        ]
-      },
-      {
-        "name": "阿拉尔",
-        "area": [
-          "阿拉尔"
-        ]
-      },
-      {
-        "name": "图木舒克",
-        "area": [
-          "图木舒克"
-        ]
-      },
-      {
-        "name": "五家渠",
-        "area": [
-          "五家渠"
-        ]
-      },
-      {
-        "name": "伊犁哈萨克自治州",
-        "area": [
-          "伊宁市",
-          "奎屯市",
-          "伊宁县",
-          "特克斯县",
-          "尼勒克县",
-          "昭苏县",
-          "新源县",
-          "霍城县",
-          "巩留县",
-          "察布查尔锡伯自治县",
-          "塔城地区",
-          "阿勒泰地区"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "台湾省",
-    "city": [
-      {
-        "name": "台北市",
-        "area": [
-          "内湖区",
-          "南港区",
-          "中正区",
-          "万华区",
-          "大同区",
-          "中山区",
-          "松山区",
-          "大安区",
-          "信义区",
-          "文山区",
-          "士林区",
-          "北投区"
-        ]
-      },
-      {
-        "name": "新北市",
-        "area": [
-          "板桥区",
-          "汐止区",
-          "新店区"
-        ]
-      },
-      {
-        "name": "桃园市",
-        "area": [
-          "其他"
-        ]
-      },
-      {
-        "name": "台中市",
-        "area": [
-          "其他"
-        ]
-      },
-      {
-        "name": "台南市",
-        "area": [
-          "其他"
-        ]
-      },
-      {
-        "name": "高雄市",
-        "area": [
-          "其他"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "澳门",
-    "city": [
-      {
-        "name": "澳门",
-        "area": [
-          "花地玛堂区",
-          "圣安多尼堂区",
-          "大堂区",
-          "望德堂区",
-          "风顺堂区",
-          "嘉模堂区",
-          "圣方济各堂区",
-          "路凼"
-        ]
-      }
-    ]
-  },
-  {
-    "name": "香港",
-    "city": [
-      {
-        "name": "香港",
-        "area": [
-          "深水埗区",
-          "油尖旺区",
-          "九龙城区",
-          "黄大仙区",
-          "观塘区",
-          "北区",
-          "大埔区",
-          "沙田区",
-          "西贡区",
-          "元朗区",
-          "屯门区",
-          "荃湾区",
-          "葵青区",
-          "离岛区",
-          "中西区",
-          "湾仔区",
-          "东区",
-          "南区"
-        ]
-      }
-    ]
-  }
-]
+export default [{
+		"name": "北京市",
+		"city": [{
+			"name": "北京市",
+			"area": [
+				"东城区",
+				"西城区",
+				"崇文区",
+				"宣武区",
+				"朝阳区",
+				"丰台区",
+				"石景山区",
+				"海淀区",
+				"门头沟区",
+				"房山区",
+				"通州区",
+				"顺义区",
+				"昌平区",
+				"大兴区",
+				"平谷区",
+				"怀柔区",
+				"密云县",
+				"延庆县"
+			]
+		}]
+	},
+	{
+		"name": "天津市",
+		"city": [{
+			"name": "天津市",
+			"area": [
+				"和平区",
+				"河东区",
+				"河西区",
+				"南开区",
+				"河北区",
+				"红桥区",
+				"塘沽区",
+				"汉沽区",
+				"大港区",
+				"东丽区",
+				"西青区",
+				"津南区",
+				"北辰区",
+				"武清区",
+				"宝坻区",
+				"宁河县",
+				"静海县",
+				"蓟  县"
+			]
+		}]
+	},
+	{
+		"name": "河北省",
+		"city": [{
+				"name": "石家庄市",
+				"area": [
+					"长安区",
+					"桥东区",
+					"桥西区",
+					"新华区",
+					"郊  区",
+					"井陉矿区",
+					"井陉县",
+					"正定县",
+					"栾城县",
+					"行唐县",
+					"灵寿县",
+					"高邑县",
+					"深泽县",
+					"赞皇县",
+					"无极县",
+					"平山县",
+					"元氏县",
+					"赵  县",
+					"辛集市",
+					"藁",
+					"晋州市",
+					"新乐市",
+					"鹿泉市"
+				]
+			},
+			{
+				"name": "唐山市",
+				"area": [
+					"路南区",
+					"路北区",
+					"古冶区",
+					"开平区",
+					"新  区",
+					"丰润县",
+					"滦  县",
+					"滦南县",
+					"乐亭县",
+					"迁西县",
+					"玉田县",
+					"唐海县",
+					"遵化市",
+					"丰南市",
+					"迁安市"
+				]
+			},
+			{
+				"name": "秦皇岛市",
+				"area": [
+					"海港区",
+					"山海关区",
+					"北戴河区",
+					"青龙满族自治县",
+					"昌黎县",
+					"抚宁县",
+					"卢龙县"
+				]
+			},
+			{
+				"name": "邯郸市",
+				"area": [
+					"邯山区",
+					"丛台区",
+					"复兴区",
+					"峰峰矿区",
+					"邯郸县",
+					"临漳县",
+					"成安县",
+					"大名县",
+					"涉  县",
+					"磁  县",
+					"肥乡县",
+					"永年县",
+					"邱  县",
+					"鸡泽县",
+					"广平县",
+					"馆陶县",
+					"魏  县",
+					"曲周县",
+					"武安市"
+				]
+			},
+			{
+				"name": "邢台市",
+				"area": [
+					"桥东区",
+					"桥西区",
+					"邢台县",
+					"临城县",
+					"内丘县",
+					"柏乡县",
+					"隆尧县",
+					"任  县",
+					"南和县",
+					"宁晋县",
+					"巨鹿县",
+					"新河县",
+					"广宗县",
+					"平乡县",
+					"威  县",
+					"清河县",
+					"临西县",
+					"南宫市",
+					"沙河市"
+				]
+			},
+			{
+				"name": "保定市",
+				"area": [
+					"新市区",
+					"北市区",
+					"南市区",
+					"满城县",
+					"清苑县",
+					"涞水县",
+					"阜平县",
+					"徐水县",
+					"定兴县",
+					"唐  县",
+					"高阳县",
+					"容城县",
+					"涞源县",
+					"望都县",
+					"安新县",
+					"易  县",
+					"曲阳县",
+					"蠡  县",
+					"顺平县",
+					"博野",
+					"雄县",
+					"涿州市",
+					"定州市",
+					"安国市",
+					"高碑店市"
+				]
+			},
+			{
+				"name": "张家口",
+				"area": [
+					"桥东区",
+					"桥西区",
+					"宣化区",
+					"下花园区",
+					"宣化县",
+					"张北县",
+					"康保县",
+					"沽源县",
+					"尚义县",
+					"蔚  县",
+					"阳原县",
+					"怀安县",
+					"万全县",
+					"怀来县",
+					"涿鹿县",
+					"赤城县",
+					"崇礼县"
+				]
+			},
+			{
+				"name": "承德市",
+				"area": [
+					"双桥区",
+					"双滦区",
+					"鹰手营子矿区",
+					"承德县",
+					"兴隆县",
+					"平泉县",
+					"滦平县",
+					"隆化县",
+					"丰宁满族自治县",
+					"宽城满族自治县",
+					"围场满族蒙古族自治县"
+				]
+			},
+			{
+				"name": "沧州市",
+				"area": [
+					"新华区",
+					"运河区",
+					"沧  县",
+					"青  县",
+					"东光县",
+					"海兴县",
+					"盐山县",
+					"肃宁县",
+					"南皮县",
+					"吴桥县",
+					"献  县",
+					"孟村回族自治县",
+					"泊头市",
+					"任丘市",
+					"黄骅市",
+					"河间市"
+				]
+			},
+			{
+				"name": "廊坊市",
+				"area": [
+					"安次区",
+					"固安县",
+					"永清县",
+					"香河县",
+					"大城县",
+					"文安县",
+					"大厂回族自治县",
+					"霸州市",
+					"三河市"
+				]
+			},
+			{
+				"name": "衡水市",
+				"area": [
+					"桃城区",
+					"枣强县",
+					"武邑县",
+					"武强县",
+					"饶阳县",
+					"安平县",
+					"故城县",
+					"景  县",
+					"阜城县",
+					"冀州市",
+					"深州市"
+				]
+			}
+		]
+	},
+	{
+		"name": "山西省",
+		"city": [{
+				"name": "太原市",
+				"area": [
+					"小店区",
+					"迎泽区",
+					"杏花岭区",
+					"尖草坪区",
+					"万柏林区",
+					"晋源区",
+					"清徐县",
+					"阳曲县",
+					"娄烦县",
+					"古交市"
+				]
+			},
+			{
+				"name": "大同市",
+				"area": [
+					"城  区",
+					"矿  区",
+					"南郊区",
+					"新荣区",
+					"阳高县",
+					"天镇县",
+					"广灵县",
+					"灵丘县",
+					"浑源县",
+					"左云县",
+					"大同县"
+				]
+			},
+			{
+				"name": "阳泉市",
+				"area": [
+					"城  区",
+					"矿  区",
+					"郊  区",
+					"平定县",
+					"盂  县"
+				]
+			},
+			{
+				"name": "长治市",
+				"area": [
+					"城  区",
+					"郊  区",
+					"长治县",
+					"襄垣县",
+					"屯留县",
+					"平顺县",
+					"黎城县",
+					"壶关县",
+					"长子县",
+					"武乡县",
+					"沁  县",
+					"沁源县",
+					"潞城市"
+				]
+			},
+			{
+				"name": "晋城市",
+				"area": [
+					"城  区",
+					"沁水县",
+					"阳城县",
+					"陵川县",
+					"泽州县",
+					"高平市"
+				]
+			},
+			{
+				"name": "朔州市",
+				"area": [
+					"朔城区",
+					"平鲁区",
+					"山阴县",
+					"应  县",
+					"右玉县",
+					"怀仁县"
+				]
+			},
+			{
+				"name": "忻州市",
+				"area": [
+					"忻府区",
+					"原平市",
+					"定襄县",
+					"五台县",
+					"代  县",
+					"繁峙县",
+					"宁武县",
+					"静乐县",
+					"神池县",
+					"五寨县",
+					"岢岚县",
+					"河曲县",
+					"保德县",
+					"偏关县"
+				]
+			},
+			{
+				"name": "吕梁市",
+				"area": [
+					"离石区",
+					"孝义市",
+					"汾阳市",
+					"文水县",
+					"交城县",
+					"兴  县",
+					"临  县",
+					"柳林县",
+					"石楼县",
+					"岚  县",
+					"方山县",
+					"中阳县",
+					"交口县"
+				]
+			},
+			{
+				"name": "晋中市",
+				"area": [
+					"榆次市",
+					"介休市",
+					"榆社县",
+					"左权县",
+					"和顺县",
+					"昔阳县",
+					"寿阳县",
+					"太谷县",
+					"祁  县",
+					"平遥县",
+					"灵石县"
+				]
+			},
+			{
+				"name": "临汾市",
+				"area": [
+					"临汾市",
+					"侯马市",
+					"霍州市",
+					"曲沃县",
+					"翼城县",
+					"襄汾县",
+					"洪洞县",
+					"古  县",
+					"安泽县",
+					"浮山县",
+					"吉  县",
+					"乡宁县",
+					"蒲  县",
+					"大宁县",
+					"永和县",
+					"隰  县",
+					"汾西县"
+				]
+			},
+			{
+				"name": "运城市",
+				"area": [
+					"运城市",
+					"永济市",
+					"河津市",
+					"芮城县",
+					"临猗县",
+					"万荣县",
+					"新绛县",
+					"稷山县",
+					"闻喜县",
+					"夏  县",
+					"绛  县",
+					"平陆县",
+					"垣曲县"
+				]
+			}
+		]
+	},
+	{
+		"name": "内蒙古",
+		"city": [{
+				"name": "呼和浩特市",
+				"area": [
+					"新城区",
+					"回民区",
+					"玉泉区",
+					"郊  区",
+					"土默特左旗",
+					"托克托县",
+					"和林格尔县",
+					"清水河县",
+					"武川县"
+				]
+			},
+			{
+				"name": "包头市",
+				"area": [
+					"东河区",
+					"昆都伦区",
+					"青山区",
+					"石拐矿区",
+					"白云矿区",
+					"郊  区",
+					"土默特右旗",
+					"固阳县",
+					"达尔罕茂明安联合旗"
+				]
+			},
+			{
+				"name": "乌海市",
+				"area": [
+					"海勃湾区",
+					"海南区",
+					"乌达区"
+				]
+			},
+			{
+				"name": "赤峰市",
+				"area": [
+					"红山区",
+					"元宝山区",
+					"松山区",
+					"阿鲁科尔沁旗",
+					"巴林左旗",
+					"巴林右旗",
+					"林西县",
+					"克什克腾旗",
+					"翁牛特旗",
+					"喀喇沁旗",
+					"宁城县",
+					"敖汉旗"
+				]
+			},
+			{
+				"name": "呼伦贝尔市",
+				"area": [
+					"海拉尔市",
+					"满洲里市",
+					"扎兰屯市",
+					"牙克石市",
+					"根河市",
+					"额尔古纳市",
+					"阿荣旗",
+					"莫力达瓦达斡尔族自治旗",
+					"鄂伦春自治旗",
+					"鄂温克族自治旗",
+					"新巴尔虎右旗",
+					"新巴尔虎左旗",
+					"陈巴尔虎旗"
+				]
+			},
+			{
+				"name": "兴安盟",
+				"area": [
+					"乌兰浩特市",
+					"阿尔山市",
+					"科尔沁右翼前旗",
+					"科尔沁右翼中旗",
+					"扎赉特旗",
+					"突泉县"
+				]
+			},
+			{
+				"name": "通辽市",
+				"area": [
+					"科尔沁区",
+					"霍林郭勒市",
+					"科尔沁左翼中旗",
+					"科尔沁左翼后旗",
+					"开鲁县",
+					"库伦旗",
+					"奈曼旗",
+					"扎鲁特旗"
+				]
+			},
+			{
+				"name": "锡林郭勒盟",
+				"area": [
+					"二连浩特市",
+					"锡林浩特市",
+					"阿巴嘎旗",
+					"苏尼特左旗",
+					"苏尼特右旗",
+					"东乌珠穆沁旗",
+					"西乌珠穆沁旗",
+					"太仆寺旗",
+					"镶黄旗",
+					"正镶白旗",
+					"正蓝旗",
+					"多伦县"
+				]
+			},
+			{
+				"name": "乌兰察布盟",
+				"area": [
+					"集宁市",
+					"丰镇市",
+					"卓资县",
+					"化德县",
+					"商都县",
+					"兴和县",
+					"凉城县",
+					"察哈尔右翼前旗",
+					"察哈尔右翼中旗",
+					"察哈尔右翼后旗",
+					"四子王旗"
+				]
+			},
+			{
+				"name": "伊克昭盟",
+				"area": [
+					"东胜市",
+					"达拉特旗",
+					"准格尔旗",
+					"鄂托克前旗",
+					"鄂托克旗",
+					"杭锦旗",
+					"乌审旗",
+					"伊金霍洛旗"
+				]
+			},
+			{
+				"name": "巴彦淖尔盟",
+				"area": [
+					"临河市",
+					"五原县",
+					"磴口县",
+					"乌拉特前旗",
+					"乌拉特中旗",
+					"乌拉特后旗",
+					"杭锦后旗"
+				]
+			},
+			{
+				"name": "阿拉善盟",
+				"area": [
+					"阿拉善左旗",
+					"阿拉善右旗",
+					"额济纳旗"
+				]
+			}
+		]
+	},
+	{
+		"name": "辽宁省",
+		"city": [{
+				"name": "沈阳市",
+				"area": [
+					"沈河区",
+					"皇姑区",
+					"和平区",
+					"大东区",
+					"铁西区",
+					"苏家屯区",
+					"东陵区",
+					"于洪区",
+					"新民市",
+					"法库县",
+					"辽中县",
+					"康平县",
+					"新城子区"
+				]
+			},
+			{
+				"name": "大连市",
+				"area": [
+					"西岗区",
+					"中山区",
+					"沙河口区",
+					"甘井子区",
+					"旅顺口区",
+					"金州区",
+					"瓦房店市",
+					"普兰店市",
+					"庄河市",
+					"长海县"
+				]
+			},
+			{
+				"name": "鞍山市",
+				"area": [
+					"铁东区",
+					"铁西区",
+					"立山区",
+					"千山区",
+					"海城市",
+					"台安县",
+					"岫岩满族自治县"
+				]
+			},
+			{
+				"name": "抚顺市",
+				"area": [
+					"顺城区",
+					"新抚区",
+					"东洲区",
+					"望花区",
+					"抚顺县",
+					"清原满族自治县",
+					"新宾满族自治县"
+				]
+			},
+			{
+				"name": "本溪市",
+				"area": [
+					"平山区",
+					"明山区",
+					"溪湖区",
+					"南芬区",
+					"本溪满族自治县",
+					"桓仁满族自治县"
+				]
+			},
+			{
+				"name": "丹东市",
+				"area": [
+					"振兴区",
+					"元宝区",
+					"振安区",
+					"东港市",
+					"凤城市",
+					"宽甸满族自治县"
+				]
+			},
+			{
+				"name": "锦州市",
+				"area": [
+					"太和区",
+					"古塔区",
+					"凌河区",
+					"凌海市",
+					"黑山县",
+					"义县",
+					"北宁市"
+				]
+			},
+			{
+				"name": "营口市",
+				"area": [
+					"站前区",
+					"西市区",
+					"鲅鱼圈区",
+					"老边区",
+					"大石桥市",
+					"盖州市"
+				]
+			},
+			{
+				"name": "阜新市",
+				"area": [
+					"海州区",
+					"新邱区",
+					"太平区",
+					"清河门区",
+					"细河区",
+					"彰武县",
+					"阜新蒙古族自治县"
+				]
+			},
+			{
+				"name": "辽阳市",
+				"area": [
+					"白塔区",
+					"文圣区",
+					"宏伟区",
+					"太子河区",
+					"弓长岭区",
+					"灯塔市",
+					"辽阳县"
+				]
+			},
+			{
+				"name": "盘锦",
+				"area": [
+					"双台子区",
+					"兴隆台区",
+					"盘山县",
+					"大洼县"
+				]
+			},
+			{
+				"name": "铁岭市",
+				"area": [
+					"银州区",
+					"清河区",
+					"调兵山市",
+					"开原市",
+					"铁岭县",
+					"昌图县",
+					"西丰县"
+				]
+			},
+			{
+				"name": "朝阳市",
+				"area": [
+					"双塔区",
+					"龙城区",
+					"凌源市",
+					"北票市",
+					"朝阳县",
+					"建平县",
+					"喀喇沁左翼蒙古族自治县"
+				]
+			},
+			{
+				"name": "葫芦岛市",
+				"area": [
+					"龙港区",
+					"南票区",
+					"连山区",
+					"兴城市",
+					"绥中县",
+					"建昌县"
+				]
+			}
+		]
+	},
+	{
+		"name": "吉林省",
+		"city": [{
+				"name": "长春市",
+				"area": [
+					"朝阳区",
+					"宽城区",
+					"二道区",
+					"南关区",
+					"绿园区",
+					"双阳区",
+					"九台市",
+					"榆树市",
+					"德惠市",
+					"农安县"
+				]
+			},
+			{
+				"name": "吉林市",
+				"area": [
+					"船营区",
+					"昌邑区",
+					"龙潭区",
+					"丰满区",
+					"舒兰市",
+					"桦甸市",
+					"蛟河市",
+					"磐石市",
+					"永吉县"
+				]
+			},
+			{
+				"name": "四平",
+				"area": [
+					"铁西区",
+					"铁东区",
+					"公主岭市",
+					"双辽市",
+					"梨树县",
+					"伊通满族自治县"
+				]
+			},
+			{
+				"name": "辽源市",
+				"area": [
+					"龙山区",
+					"西安区",
+					"东辽县",
+					"东丰县"
+				]
+			},
+			{
+				"name": "通化市",
+				"area": [
+					"东昌区",
+					"二道江区",
+					"梅河口市",
+					"集安市",
+					"通化县",
+					"辉南县",
+					"柳河县"
+				]
+			},
+			{
+				"name": "白山市",
+				"area": [
+					"八道江区",
+					"江源区",
+					"临江市",
+					"靖宇县",
+					"抚松县",
+					"长白朝鲜族自治县"
+				]
+			},
+			{
+				"name": "松原市",
+				"area": [
+					"宁江区",
+					"乾安县",
+					"长岭县",
+					"扶余县",
+					"前郭尔罗斯蒙古族自治县"
+				]
+			},
+			{
+				"name": "白城市",
+				"area": [
+					"洮北区",
+					"大安市",
+					"洮南市",
+					"镇赉县",
+					"通榆县"
+				]
+			},
+			{
+				"name": "延边朝鲜族自治州",
+				"area": [
+					"延吉市",
+					"图们市",
+					"敦化市",
+					"龙井市",
+					"珲春市",
+					"和龙市",
+					"安图县",
+					"汪清县"
+				]
+			}
+		]
+	},
+	{
+		"name": "黑龙江省",
+		"city": [{
+				"name": "哈尔滨市",
+				"area": [
+					"松北区",
+					"道里区",
+					"南岗区",
+					"平房区",
+					"香坊区",
+					"道外区",
+					"呼兰区",
+					"阿城区",
+					"双城市",
+					"尚志市",
+					"五常市",
+					"宾县",
+					"方正县",
+					"通河县",
+					"巴彦县",
+					"延寿县",
+					"木兰县",
+					"依兰县"
+				]
+			},
+			{
+				"name": "齐齐哈尔市",
+				"area": [
+					"龙沙区",
+					"昂昂溪区",
+					"铁锋区",
+					"建华区",
+					"富拉尔基区",
+					"碾子山区",
+					"梅里斯达斡尔族区",
+					"讷河市",
+					"富裕县",
+					"拜泉县",
+					"甘南县",
+					"依安县",
+					"克山县",
+					"泰来县",
+					"克东县",
+					"龙江县"
+				]
+			},
+			{
+				"name": "鹤岗市",
+				"area": [
+					"兴山区",
+					"工农区",
+					"南山区",
+					"兴安区",
+					"向阳区",
+					"东山区",
+					"萝北县",
+					"绥滨县"
+				]
+			},
+			{
+				"name": "双鸭山",
+				"area": [
+					"尖山区",
+					"岭东区",
+					"四方台区",
+					"宝山区",
+					"集贤县",
+					"宝清县",
+					"友谊县",
+					"饶河县"
+				]
+			},
+			{
+				"name": "鸡西市",
+				"area": [
+					"鸡冠区",
+					"恒山区",
+					"城子河区",
+					"滴道区",
+					"梨树区",
+					"麻山区",
+					"密山市",
+					"虎林市",
+					"鸡东县"
+				]
+			},
+			{
+				"name": "大庆市",
+				"area": [
+					"萨尔图区",
+					"红岗区",
+					"龙凤区",
+					"让胡路区",
+					"大同区",
+					"林甸县",
+					"肇州县",
+					"肇源县",
+					"杜尔伯特蒙古族自治县"
+				]
+			},
+			{
+				"name": "伊春市",
+				"area": [
+					"伊春区",
+					"带岭区",
+					"南岔区",
+					"金山屯区",
+					"西林区",
+					"美溪区",
+					"乌马河区",
+					"翠峦区",
+					"友好区",
+					"上甘岭区",
+					"五营区",
+					"红星区",
+					"新青区",
+					"汤旺河区",
+					"乌伊岭区",
+					"铁力市",
+					"嘉荫县"
+				]
+			},
+			{
+				"name": "牡丹江市",
+				"area": [
+					"爱民区",
+					"东安区",
+					"阳明区",
+					"西安区",
+					"绥芬河市",
+					"宁安市",
+					"海林市",
+					"穆棱市",
+					"林口县",
+					"东宁县"
+				]
+			},
+			{
+				"name": "佳木斯市",
+				"area": [
+					"向阳区",
+					"前进区",
+					"东风区",
+					"郊区",
+					"同江市",
+					"富锦市",
+					"桦川县",
+					"抚远县",
+					"桦南县",
+					"汤原县"
+				]
+			},
+			{
+				"name": "七台河市",
+				"area": [
+					"桃山区",
+					"新兴区",
+					"茄子河区",
+					"勃利县"
+				]
+			},
+			{
+				"name": "黑河市",
+				"area": [
+					"爱辉区",
+					"北安市",
+					"五大连池市",
+					"逊克县",
+					"嫩江县",
+					"孙吴县"
+				]
+			},
+			{
+				"name": "绥化市",
+				"area": [
+					"北林区",
+					"安达市",
+					"肇东市",
+					"海伦市",
+					"绥棱县",
+					"兰西县",
+					"明水县",
+					"青冈县",
+					"庆安县",
+					"望奎县"
+				]
+			},
+			{
+				"name": "大兴安岭地区",
+				"area": [
+					"呼玛县",
+					"塔河县",
+					"漠河县",
+					"大兴安岭辖区"
+				]
+			}
+		]
+	},
+	{
+		"name": "上海市",
+		"city": [{
+			"name": "上海市",
+			"area": [
+				"黄浦区",
+				"卢湾区",
+				"徐汇区",
+				"长宁区",
+				"静安区",
+				"普陀区",
+				"闸北区",
+				"虹口区",
+				"杨浦区",
+				"宝山区",
+				"闵行区",
+				"嘉定区",
+				"松江区",
+				"金山区",
+				"青浦区",
+				"南汇区",
+				"奉贤区",
+				"浦东新区",
+				"崇明县"
+			]
+		}]
+	},
+	{
+		"name": "江苏省",
+		"city": [{
+				"name": "南京市",
+				"area": [
+					"玄武区",
+					"白下区",
+					"秦淮区",
+					"建邺区",
+					"鼓楼区",
+					"下关区",
+					"栖霞区",
+					"雨花台区",
+					"浦口区",
+					"江宁区",
+					"六合区",
+					"溧水县",
+					"高淳县"
+				]
+			},
+			{
+				"name": "苏州市",
+				"area": [
+					"金阊区",
+					"平江区",
+					"沧浪区",
+					"虎丘区",
+					"吴中区",
+					"相城区",
+					"常熟市",
+					"张家港市",
+					"昆山市",
+					"吴江市",
+					"太仓市"
+				]
+			},
+			{
+				"name": "无锡市",
+				"area": [
+					"崇安区",
+					"南长区",
+					"北塘区",
+					"滨湖区",
+					"锡山区",
+					"惠山区",
+					"江阴市",
+					"宜兴市"
+				]
+			},
+			{
+				"name": "常州市",
+				"area": [
+					"钟楼区",
+					"天宁区",
+					"戚墅堰区",
+					"新北区",
+					"武进区",
+					"金坛市",
+					"溧阳市"
+				]
+			},
+			{
+				"name": "镇江市",
+				"area": [
+					"京口区",
+					"润州区",
+					"丹徒区",
+					"丹阳市",
+					"扬中市",
+					"句容市"
+				]
+			},
+			{
+				"name": "南通市",
+				"area": [
+					"崇川区",
+					"港闸区",
+					"通州市",
+					"如皋市",
+					"海门市",
+					"启东市",
+					"海安县",
+					"如东县"
+				]
+			},
+			{
+				"name": "泰州市",
+				"area": [
+					"海陵区",
+					"高港区",
+					"姜堰市",
+					"泰兴市",
+					"靖江市",
+					"兴化市"
+				]
+			},
+			{
+				"name": "扬州市",
+				"area": [
+					"广陵区",
+					"维扬区",
+					"邗江区",
+					"江都市",
+					"仪征市",
+					"高邮市",
+					"宝应县"
+				]
+			},
+			{
+				"name": "盐城市",
+				"area": [
+					"亭湖区",
+					"盐都区",
+					"大丰市",
+					"东台市",
+					"建湖县",
+					"射阳县",
+					"阜宁县",
+					"滨海县",
+					"响水县"
+				]
+			},
+			{
+				"name": "连云港市",
+				"area": [
+					"新浦区",
+					"海州区",
+					"连云区",
+					"东海县",
+					"灌云县",
+					"赣榆县",
+					"灌南县"
+				]
+			},
+			{
+				"name": "徐州市",
+				"area": [
+					"云龙区",
+					"鼓楼区",
+					"九里区",
+					"泉山区",
+					"贾汪区",
+					"邳州市",
+					"新沂市",
+					"铜山县",
+					"睢宁县",
+					"沛县",
+					"丰县"
+				]
+			},
+			{
+				"name": "淮安市",
+				"area": [
+					"清河区",
+					"清浦区",
+					"楚州区",
+					"淮阴区",
+					"涟水县",
+					"洪泽县",
+					"金湖县",
+					"盱眙县"
+				]
+			},
+			{
+				"name": "宿迁市",
+				"area": [
+					"宿城区",
+					"宿豫区",
+					"沭阳县",
+					"泗阳县",
+					"泗洪县"
+				]
+			}
+		]
+	},
+	{
+		"name": "浙江省",
+		"city": [{
+				"name": "杭州市",
+				"area": [
+					"拱墅区",
+					"西湖区",
+					"上城区",
+					"下城区",
+					"江干区",
+					"滨江区",
+					"余杭区",
+					"萧山区",
+					"建德市",
+					"富阳市",
+					"临安市",
+					"桐庐县",
+					"淳安县"
+				]
+			},
+			{
+				"name": "宁波市",
+				"area": [
+					"海曙区",
+					"江东区",
+					"江北区",
+					"镇海区",
+					"北仑区",
+					"鄞州区",
+					"余姚市",
+					"慈溪市",
+					"奉化市",
+					"宁海县",
+					"象山县"
+				]
+			},
+			{
+				"name": "温州市",
+				"area": [
+					"鹿城区",
+					"龙湾区",
+					"瓯海区",
+					"瑞安市",
+					"乐清市",
+					"永嘉县",
+					"洞头县",
+					"平阳县",
+					"苍南县",
+					"文成县",
+					"泰顺县"
+				]
+			},
+			{
+				"name": "嘉兴市",
+				"area": [
+					"秀城区",
+					"秀洲区",
+					"海宁市",
+					"平湖市",
+					"桐乡市",
+					"嘉善县",
+					"海盐县"
+				]
+			},
+			{
+				"name": "湖州市",
+				"area": [
+					"吴兴区",
+					"南浔区",
+					"长兴县",
+					"德清县",
+					"安吉县"
+				]
+			},
+			{
+				"name": "绍兴市",
+				"area": [
+					"越城区",
+					"诸暨市",
+					"上虞市",
+					"嵊州市",
+					"绍兴县",
+					"新昌县"
+				]
+			},
+			{
+				"name": "金华市",
+				"area": [
+					"婺城区",
+					"金东区",
+					"兰溪市",
+					"义乌市",
+					"东阳市",
+					"永康市",
+					"武义县",
+					"浦江县",
+					"磐安县"
+				]
+			},
+			{
+				"name": "衢州市",
+				"area": [
+					"柯城区",
+					"衢江区",
+					"江山市",
+					"龙游县",
+					"常山县",
+					"开化县"
+				]
+			},
+			{
+				"name": "舟山市",
+				"area": [
+					"定海区",
+					"普陀区",
+					"岱山县",
+					"嵊泗县"
+				]
+			},
+			{
+				"name": "台州市",
+				"area": [
+					"椒江区",
+					"黄岩区",
+					"路桥区",
+					"临海市",
+					"温岭市",
+					"玉环县",
+					"天台县",
+					"仙居县",
+					"三门县"
+				]
+			},
+			{
+				"name": "丽水市",
+				"area": [
+					"莲都区",
+					"龙泉市",
+					"缙云县",
+					"青田县",
+					"云和县",
+					"遂昌县",
+					"松阳县",
+					"庆元县",
+					"景宁畲族自治县"
+				]
+			}
+		]
+	},
+	{
+		"name": "安徽省",
+		"city": [{
+				"name": "合肥市",
+				"area": [
+					"庐阳区",
+					"瑶海区",
+					"蜀山区",
+					"包河区",
+					"长丰县",
+					"肥东县",
+					"肥西县"
+				]
+			},
+			{
+				"name": "芜湖市",
+				"area": [
+					"镜湖区",
+					"弋江区",
+					"鸠江区",
+					"三山区",
+					"芜湖县",
+					"南陵县",
+					"繁昌县"
+				]
+			},
+			{
+				"name": "蚌埠市",
+				"area": [
+					"蚌山区",
+					"龙子湖区",
+					"禹会区",
+					"淮上区",
+					"怀远县",
+					"固镇县",
+					"五河县"
+				]
+			},
+			{
+				"name": "淮南市",
+				"area": [
+					"田家庵区",
+					"大通区",
+					"谢家集区",
+					"八公山区",
+					"潘集区",
+					"凤台县"
+				]
+			},
+			{
+				"name": "马鞍山市",
+				"area": [
+					"雨山区",
+					"花山区",
+					"金家庄区",
+					"当涂县"
+				]
+			},
+			{
+				"name": "淮北市",
+				"area": [
+					"相山区",
+					"杜集区",
+					"烈山区",
+					"濉溪县"
+				]
+			},
+			{
+				"name": "铜陵市",
+				"area": [
+					"铜官山区",
+					"狮子山区",
+					"郊区",
+					"铜陵县"
+				]
+			},
+			{
+				"name": "安庆市",
+				"area": [
+					"迎江区",
+					"大观区",
+					"宜秀区",
+					"桐城市",
+					"宿松县",
+					"枞阳县",
+					"太湖县",
+					"怀宁县",
+					"岳西县",
+					"望江县",
+					"潜山县"
+				]
+			},
+			{
+				"name": "黄山市",
+				"area": [
+					"屯溪区",
+					"黄山区",
+					"徽州区",
+					"休宁县",
+					"歙县",
+					"祁门县",
+					"黟县"
+				]
+			},
+			{
+				"name": "滁州市",
+				"area": [
+					"琅琊区",
+					"南谯区",
+					"天长市",
+					"明光市",
+					"全椒县",
+					"来安县",
+					"定远县",
+					"凤阳县"
+				]
+			},
+			{
+				"name": "阜阳市",
+				"area": [
+					"颍州区",
+					"颍东区",
+					"颍泉区",
+					"界首市",
+					"临泉县",
+					"颍上县",
+					"阜南县",
+					"太和县"
+				]
+			},
+			{
+				"name": "宿州市",
+				"area": [
+					"埇桥区",
+					"萧县",
+					"泗县",
+					"砀山县",
+					"灵璧县"
+				]
+			},
+			{
+				"name": "巢湖市",
+				"area": [
+					"居巢区",
+					"含山县",
+					"无为县",
+					"庐江县",
+					"和县"
+				]
+			},
+			{
+				"name": "六安市",
+				"area": [
+					"金安区",
+					"裕安区",
+					"寿县",
+					"霍山县",
+					"霍邱县",
+					"舒城县",
+					"金寨县"
+				]
+			},
+			{
+				"name": "亳州市",
+				"area": [
+					"谯城区",
+					"利辛县",
+					"涡阳县",
+					"蒙城县"
+				]
+			},
+			{
+				"name": "池州市",
+				"area": [
+					"贵池区",
+					"东至县",
+					"石台县",
+					"青阳县"
+				]
+			},
+			{
+				"name": "宣城市",
+				"area": [
+					"宣州区",
+					"宁国市",
+					"广德县",
+					"郎溪县",
+					"泾县",
+					"旌德县",
+					"绩溪县"
+				]
+			}
+		]
+	},
+	{
+		"name": "福建省",
+		"city": [{
+				"name": "福州市",
+				"area": [
+					"鼓楼区",
+					"台江区",
+					"仓山区",
+					"马尾区",
+					"晋安区",
+					"福清市",
+					"长乐市",
+					"闽侯县",
+					"闽清县",
+					"永泰县",
+					"连江县",
+					"罗源县",
+					"平潭县"
+				]
+			},
+			{
+				"name": "厦门市",
+				"area": [
+					"思明区",
+					"海沧区",
+					"湖里区",
+					"集美区",
+					"同安区",
+					"翔安区"
+				]
+			},
+			{
+				"name": "莆田市",
+				"area": [
+					"城厢区",
+					"涵江区",
+					"荔城区",
+					"秀屿区",
+					"仙游县"
+				]
+			},
+			{
+				"name": "三明市",
+				"area": [
+					"梅列区",
+					"三元区",
+					"永安市",
+					"明溪县",
+					"将乐县",
+					"大田县",
+					"宁化县",
+					"建宁县",
+					"沙县",
+					"尤溪县",
+					"清流县",
+					"泰宁县"
+				]
+			},
+			{
+				"name": "泉州市",
+				"area": [
+					"鲤城区",
+					"丰泽区",
+					"洛江区",
+					"泉港区",
+					"石狮市",
+					"晋江市",
+					"南安市",
+					"惠安县",
+					"永春县",
+					"安溪县",
+					"德化县",
+					"金门县"
+				]
+			},
+			{
+				"name": "漳州市",
+				"area": [
+					"芗城区",
+					"龙文区",
+					"龙海市",
+					"平和县",
+					"南靖县",
+					"诏安县",
+					"漳浦县",
+					"华安县",
+					"东山县",
+					"长泰县",
+					"云霄县"
+				]
+			},
+			{
+				"name": "南平市",
+				"area": [
+					"延平区",
+					"建瓯市",
+					"邵武市",
+					"武夷山市",
+					"建阳市",
+					"松溪县",
+					"光泽县",
+					"顺昌县",
+					"浦城县",
+					"政和县"
+				]
+			},
+			{
+				"name": "龙岩市",
+				"area": [
+					"新罗区",
+					"漳平市",
+					"长汀县",
+					"武平县",
+					"上杭县",
+					"永定县",
+					"连城县"
+				]
+			},
+			{
+				"name": "宁德市",
+				"area": [
+					"蕉城区",
+					"福安市",
+					"福鼎市",
+					"寿宁县",
+					"霞浦县",
+					"柘荣县",
+					"屏南县",
+					"古田县",
+					"周宁县"
+				]
+			}
+		]
+	},
+	{
+		"name": "江西省",
+		"city": [{
+				"name": "南昌市",
+				"area": [
+					"东湖区",
+					"西湖区",
+					"青云谱区",
+					"湾里区",
+					"青山湖区",
+					"新建县",
+					"南昌县",
+					"进贤县",
+					"安义县"
+				]
+			},
+			{
+				"name": "景德镇市",
+				"area": [
+					"珠山区",
+					"昌江区",
+					"乐平市",
+					"浮梁县"
+				]
+			},
+			{
+				"name": "萍乡市",
+				"area": [
+					"安源区",
+					"湘东区",
+					"莲花县",
+					"上栗县",
+					"芦溪县"
+				]
+			},
+			{
+				"name": "九江市",
+				"area": [
+					"浔阳区",
+					"庐山区",
+					"瑞昌市",
+					"九江县",
+					"星子县",
+					"武宁县",
+					"彭泽县",
+					"永修县",
+					"修水县",
+					"湖口县",
+					"德安县",
+					"都昌县"
+				]
+			},
+			{
+				"name": "新余市",
+				"area": [
+					"渝水区",
+					"分宜县"
+				]
+			},
+			{
+				"name": "鹰潭市",
+				"area": [
+					"月湖区",
+					"贵溪市",
+					"余江县"
+				]
+			},
+			{
+				"name": "赣州市",
+				"area": [
+					"章贡区",
+					"瑞金市",
+					"南康市",
+					"石城县",
+					"安远县",
+					"赣县",
+					"宁都县",
+					"寻乌县",
+					"兴国县",
+					"定南县",
+					"上犹县",
+					"于都县",
+					"龙南县",
+					"崇义县",
+					"信丰县",
+					"全南县",
+					"大余县",
+					"会昌县"
+				]
+			},
+			{
+				"name": "吉安市",
+				"area": [
+					"吉州区",
+					"青原区",
+					"井冈山市",
+					"吉安县",
+					"永丰县",
+					"永新县",
+					"新干县",
+					"泰和县",
+					"峡江县",
+					"遂川县",
+					"安福县",
+					"吉水县",
+					"万安县"
+				]
+			},
+			{
+				"name": "宜春市",
+				"area": [
+					"袁州区",
+					"丰城市",
+					"樟树市",
+					"高安市",
+					"铜鼓县",
+					"靖安县",
+					"宜丰县",
+					"奉新县",
+					"万载县",
+					"上高县"
+				]
+			},
+			{
+				"name": "抚州市",
+				"area": [
+					"临川区",
+					"南丰县",
+					"乐安县",
+					"金溪县",
+					"南城县",
+					"东乡县",
+					"资溪县",
+					"宜黄县",
+					"广昌县",
+					"黎川县",
+					"崇仁县"
+				]
+			},
+			{
+				"name": "上饶市",
+				"area": [
+					"信州区",
+					"德兴市",
+					"上饶县",
+					"广丰县",
+					"鄱阳县",
+					"婺源县",
+					"铅山县",
+					"余干县",
+					"横峰县",
+					"弋阳县",
+					"玉山县",
+					"万年县"
+				]
+			}
+		]
+	},
+	{
+		"name": "山东省",
+		"city": [{
+				"name": "济南市",
+				"area": [
+					"市中区",
+					"历下区",
+					"天桥区",
+					"槐荫区",
+					"历城区",
+					"长清区",
+					"章丘市",
+					"平阴县",
+					"济阳县",
+					"商河县"
+				]
+			},
+			{
+				"name": "青岛市",
+				"area": [
+					"市南区",
+					"市北区",
+					"城阳区",
+					"四方区",
+					"李沧区",
+					"黄岛区",
+					"崂山区",
+					"胶南市",
+					"胶州市",
+					"平度市",
+					"莱西市",
+					"即墨市"
+				]
+			},
+			{
+				"name": "淄博市",
+				"area": [
+					"张店区",
+					"临淄区",
+					"淄川区",
+					"博山区",
+					"周村区",
+					"桓台县",
+					"高青县",
+					"沂源县"
+				]
+			},
+			{
+				"name": "枣庄市",
+				"area": [
+					"市中区",
+					"山亭区",
+					"峄城区",
+					"台儿庄区",
+					"薛城区",
+					"滕州市"
+				]
+			},
+			{
+				"name": "东营市",
+				"area": [
+					"东营区",
+					"河口区",
+					"垦利县",
+					"广饶县",
+					"利津县"
+				]
+			},
+			{
+				"name": "烟台市",
+				"area": [
+					"芝罘区",
+					"福山区",
+					"牟平区",
+					"莱山区",
+					"龙口市",
+					"莱阳市",
+					"莱州市",
+					"招远市",
+					"蓬莱市",
+					"栖霞市",
+					"海阳市",
+					"长岛县"
+				]
+			},
+			{
+				"name": "潍坊市",
+				"area": [
+					"潍城区",
+					"寒亭区",
+					"坊子区",
+					"奎文区",
+					"青州市",
+					"诸城市",
+					"寿光市",
+					"安丘市",
+					"高密市",
+					"昌邑市",
+					"昌乐县",
+					"临朐县"
+				]
+			},
+			{
+				"name": "济宁市",
+				"area": [
+					"市中区",
+					"任城区",
+					"曲阜市",
+					"兖州市",
+					"邹城市",
+					"鱼台县",
+					"金乡县",
+					"嘉祥县",
+					"微山县",
+					"汶上县",
+					"泗水县",
+					"梁山县"
+				]
+			},
+			{
+				"name": "泰安市",
+				"area": [
+					"泰山区",
+					"岱岳区",
+					"新泰市",
+					"肥城市",
+					"宁阳县",
+					"东平县"
+				]
+			},
+			{
+				"name": "威海市",
+				"area": [
+					"环翠区",
+					"乳山市",
+					"文登市",
+					"荣成市"
+				]
+			},
+			{
+				"name": "日照市",
+				"area": [
+					"东港区",
+					"岚山区",
+					"五莲县",
+					"莒县"
+				]
+			},
+			{
+				"name": "莱芜市",
+				"area": [
+					"莱城区",
+					"钢城区"
+				]
+			},
+			{
+				"name": "临沂市",
+				"area": [
+					"兰山区",
+					"罗庄区",
+					"河东区",
+					"沂南县",
+					"郯城县",
+					"沂水县",
+					"苍山县",
+					"费县",
+					"平邑县",
+					"莒南县",
+					"蒙阴县",
+					"临沭县"
+				]
+			},
+			{
+				"name": "德州市",
+				"area": [
+					"德城区",
+					"乐陵市",
+					"禹城市",
+					"陵县",
+					"宁津县",
+					"齐河县",
+					"武城县",
+					"庆云县",
+					"平原县",
+					"夏津县",
+					"临邑县"
+				]
+			},
+			{
+				"name": "聊城市",
+				"area": [
+					"东昌府区",
+					"临清市",
+					"高唐县",
+					"阳谷县",
+					"茌平县",
+					"莘县",
+					"东阿县",
+					"冠县"
+				]
+			},
+			{
+				"name": "滨州市",
+				"area": [
+					"滨城区",
+					"邹平县",
+					"沾化县",
+					"惠民县",
+					"博兴县",
+					"阳信县",
+					"无棣县"
+				]
+			},
+			{
+				"name": "菏泽市",
+				"area": [
+					"牡丹区",
+					"鄄城县",
+					"单县",
+					"郓城县",
+					"曹县",
+					"定陶县",
+					"巨野县",
+					"东明县",
+					"成武县"
+				]
+			}
+		]
+	},
+	{
+		"name": "河南省",
+		"city": [{
+				"name": "郑州市",
+				"area": [
+					"中原区",
+					"金水区",
+					"二七区",
+					"管城回族区",
+					"上街区",
+					"惠济区",
+					"巩义市",
+					"新郑市",
+					"新密市",
+					"登封市",
+					"荥阳市",
+					"中牟县"
+				]
+			},
+			{
+				"name": "开封市",
+				"area": [
+					"鼓楼区",
+					"龙亭区",
+					"顺河回族区",
+					"禹王台区",
+					"金明区",
+					"开封县",
+					"尉氏县",
+					"兰考县",
+					"杞县",
+					"通许县"
+				]
+			},
+			{
+				"name": "洛阳市",
+				"area": [
+					"西工区",
+					"老城区",
+					"涧西区",
+					"瀍河回族区",
+					"洛龙区",
+					"吉利区",
+					"偃师市",
+					"孟津县",
+					"汝阳县",
+					"伊川县",
+					"洛宁县",
+					"嵩县",
+					"宜阳县",
+					"新安县",
+					"栾川县"
+				]
+			},
+			{
+				"name": "平顶山市",
+				"area": [
+					"新华区",
+					"卫东区",
+					"湛河区",
+					"石龙区",
+					"汝州市",
+					"舞钢市",
+					"宝丰县",
+					"叶县",
+					"郏县",
+					"鲁山县"
+				]
+			},
+			{
+				"name": "安阳市",
+				"area": [
+					"北关区",
+					"文峰区",
+					"殷都区",
+					"龙安区",
+					"林州市",
+					"安阳县",
+					"滑县",
+					"内黄县",
+					"汤阴县"
+				]
+			},
+			{
+				"name": "鹤壁市",
+				"area": [
+					"淇滨区",
+					"山城区",
+					"鹤山区",
+					"浚县",
+					"淇县"
+				]
+			},
+			{
+				"name": "新乡市",
+				"area": [
+					"卫滨区",
+					"红旗区",
+					"凤泉区",
+					"牧野区",
+					"卫辉市",
+					"辉县市",
+					"新乡县",
+					"获嘉县",
+					"原阳县",
+					"长垣县",
+					"封丘县",
+					"延津县"
+				]
+			},
+			{
+				"name": "焦作市",
+				"area": [
+					"解放区",
+					"中站区",
+					"马村区",
+					"山阳区",
+					"沁阳市",
+					"孟州市",
+					"修武县",
+					"温县",
+					"武陟县",
+					"博爱县"
+				]
+			},
+			{
+				"name": "濮阳市",
+				"area": [
+					"华龙区",
+					"濮阳县",
+					"南乐县",
+					"台前县",
+					"清丰县",
+					"范县"
+				]
+			},
+			{
+				"name": "许昌市",
+				"area": [
+					"魏都区",
+					"禹州市",
+					"长葛市",
+					"许昌县",
+					"鄢陵县",
+					"襄城县"
+				]
+			},
+			{
+				"name": "漯河市",
+				"area": [
+					"源汇区",
+					"郾城区",
+					"召陵区",
+					"临颍县",
+					"舞阳县"
+				]
+			},
+			{
+				"name": "三门峡市",
+				"area": [
+					"湖滨区",
+					"义马市",
+					"灵宝市",
+					"渑池县",
+					"卢氏县",
+					"陕县"
+				]
+			},
+			{
+				"name": "南阳市",
+				"area": [
+					"卧龙区",
+					"宛城区",
+					"邓州市",
+					"桐柏县",
+					"方城县",
+					"淅川县",
+					"镇平县",
+					"唐河县",
+					"南召县",
+					"内乡县",
+					"新野县",
+					"社旗县",
+					"西峡县"
+				]
+			},
+			{
+				"name": "商丘市",
+				"area": [
+					"梁园区",
+					"睢阳区",
+					"永城市",
+					"宁陵县",
+					"虞城县",
+					"民权县",
+					"夏邑县",
+					"柘城县",
+					"睢县"
+				]
+			},
+			{
+				"name": "信阳市",
+				"area": [
+					"浉河区",
+					"平桥区",
+					"潢川县",
+					"淮滨县",
+					"息县",
+					"新县",
+					"商城县",
+					"固始县",
+					"罗山县",
+					"光山县"
+				]
+			},
+			{
+				"name": "周口市",
+				"area": [
+					"川汇区",
+					"项城市",
+					"商水县",
+					"淮阳县",
+					"太康县",
+					"鹿邑县",
+					"西华县",
+					"扶沟县",
+					"沈丘县",
+					"郸城县"
+				]
+			},
+			{
+				"name": "驻马店市",
+				"area": [
+					"驿城区",
+					"确山县",
+					"新蔡县",
+					"上蔡县",
+					"西平县",
+					"泌阳县",
+					"平舆县",
+					"汝南县",
+					"遂平县",
+					"正阳县"
+				]
+			},
+			{
+				"name": "焦作市",
+				"area": [
+					"济源市"
+				]
+			}
+		]
+	},
+	{
+		"name": "湖北省",
+		"city": [{
+				"name": "武汉市",
+				"area": [
+					"江岸区",
+					"武昌区",
+					"江汉区",
+					"硚口区",
+					"汉阳区",
+					"青山区",
+					"洪山区",
+					"东西湖区",
+					"汉南区",
+					"蔡甸区",
+					"江夏区",
+					"黄陂区",
+					"新洲区"
+				]
+			},
+			{
+				"name": "黄石市",
+				"area": [
+					"黄石港区",
+					"西塞山区",
+					"下陆区",
+					"铁山区",
+					"大冶市",
+					"阳新县"
+				]
+			},
+			{
+				"name": "十堰市",
+				"area": [
+					"张湾区",
+					"茅箭区",
+					"丹江口市",
+					"郧县",
+					"竹山县",
+					"房县",
+					"郧西县",
+					"竹溪县"
+				]
+			},
+			{
+				"name": "荆州市",
+				"area": [
+					"沙市区",
+					"荆州区",
+					"洪湖市",
+					"石首市",
+					"松滋市",
+					"监利县",
+					"公安县",
+					"江陵县"
+				]
+			},
+			{
+				"name": "宜昌市",
+				"area": [
+					"西陵区",
+					"伍家岗区",
+					"点军区",
+					"猇亭区",
+					"夷陵区",
+					"宜都市",
+					"当阳市",
+					"枝江市",
+					"秭归县",
+					"远安县",
+					"兴山县",
+					"五峰土家族自治县",
+					"长阳土家族自治县"
+				]
+			},
+			{
+				"name": "襄樊市",
+				"area": [
+					"襄城区",
+					"樊城区",
+					"襄阳区",
+					"老河口市",
+					"枣阳市",
+					"宜城市",
+					"南漳县",
+					"谷城县",
+					"保康县"
+				]
+			},
+			{
+				"name": "鄂州市",
+				"area": [
+					"鄂城区",
+					"华容区",
+					"梁子湖区"
+				]
+			},
+			{
+				"name": "荆门市",
+				"area": [
+					"东宝区",
+					"掇刀区",
+					"钟祥市",
+					"京山县",
+					"沙洋县"
+				]
+			},
+			{
+				"name": "孝感市",
+				"area": [
+					"孝南区",
+					"应城市",
+					"安陆市",
+					"汉川市",
+					"云梦县",
+					"大悟县",
+					"孝昌县"
+				]
+			},
+			{
+				"name": "黄冈市",
+				"area": [
+					"黄州区",
+					"麻城市",
+					"武穴市",
+					"红安县",
+					"罗田县",
+					"浠水县",
+					"蕲春县",
+					"黄梅县",
+					"英山县",
+					"团风县"
+				]
+			},
+			{
+				"name": "咸宁市",
+				"area": [
+					"咸安区",
+					"赤壁市",
+					"嘉鱼县",
+					"通山县",
+					"崇阳县",
+					"通城县"
+				]
+			},
+			{
+				"name": "随州市",
+				"area": [
+					"曾都区",
+					"广水市"
+				]
+			},
+			{
+				"name": "恩施土家族苗族自治州",
+				"area": [
+					"恩施市",
+					"利川市",
+					"建始县",
+					"来凤县",
+					"巴东县",
+					"鹤峰县",
+					"宣恩县",
+					"咸丰县"
+				]
+			},
+			{
+				"name": "仙桃市",
+				"area": [
+					"仙桃"
+				]
+			},
+			{
+				"name": "天门市",
+				"area": [
+					"天门"
+				]
+			},
+			{
+				"name": "潜江市",
+				"area": [
+					"潜江"
+				]
+			},
+			{
+				"name": "神农架林区",
+				"area": [
+					"神农架林区"
+				]
+			}
+		]
+	},
+	{
+		"name": "湖南省",
+		"city": [{
+				"name": "长沙市",
+				"area": [
+					"岳麓区",
+					"芙蓉区",
+					"天心区",
+					"开福区",
+					"雨花区",
+					"浏阳市",
+					"长沙县",
+					"望城县",
+					"宁乡县"
+				]
+			},
+			{
+				"name": "株洲市",
+				"area": [
+					"天元区",
+					"荷塘区",
+					"芦淞区",
+					"石峰区",
+					"醴陵市",
+					"株洲县",
+					"炎陵县",
+					"茶陵县",
+					"攸县"
+				]
+			},
+			{
+				"name": "湘潭市",
+				"area": [
+					"岳塘区",
+					"雨湖区",
+					"湘乡市",
+					"韶山市",
+					"湘潭县"
+				]
+			},
+			{
+				"name": "衡阳市",
+				"area": [
+					"雁峰区",
+					"珠晖区",
+					"石鼓区",
+					"蒸湘区",
+					"南岳区",
+					"耒阳市",
+					"常宁市",
+					"衡阳县",
+					"衡东县",
+					"衡山县",
+					"衡南县",
+					"祁东县"
+				]
+			},
+			{
+				"name": "邵阳市",
+				"area": [
+					"双清区",
+					"大祥区",
+					"北塔区",
+					"武冈市",
+					"邵东县",
+					"洞口县",
+					"新邵县",
+					"绥宁县",
+					"新宁县",
+					"邵阳县",
+					"隆回县",
+					"城步苗族自治县"
+				]
+			},
+			{
+				"name": "岳阳市",
+				"area": [
+					"岳阳楼区",
+					"云溪区",
+					"君山区",
+					"临湘市",
+					"汨罗市",
+					"岳阳县",
+					"湘阴县",
+					"平江县",
+					"华容县"
+				]
+			},
+			{
+				"name": "常德市",
+				"area": [
+					"武陵区",
+					"鼎城区",
+					"津市市",
+					"澧县",
+					"临澧县",
+					"桃源县",
+					"汉寿县",
+					"安乡县",
+					"石门县"
+				]
+			},
+			{
+				"name": "张家界市",
+				"area": [
+					"永定区",
+					"武陵源区",
+					"慈利县",
+					"桑植县"
+				]
+			},
+			{
+				"name": "益阳市",
+				"area": [
+					"赫山区",
+					"资阳区",
+					"沅江市",
+					"桃江县",
+					"南县",
+					"安化县"
+				]
+			},
+			{
+				"name": "郴州市",
+				"area": [
+					"北湖区",
+					"苏仙区",
+					"资兴市",
+					"宜章县",
+					"汝城县",
+					"安仁县",
+					"嘉禾县",
+					"临武县",
+					"桂东县",
+					"永兴县",
+					"桂阳县"
+				]
+			},
+			{
+				"name": "永州市",
+				"area": [
+					"冷水滩区",
+					"零陵区",
+					"祁阳县",
+					"蓝山县",
+					"宁远县",
+					"新田县",
+					"东安县",
+					"江永县",
+					"道县",
+					"双牌县",
+					"江华瑶族自治县"
+				]
+			},
+			{
+				"name": "怀化市",
+				"area": [
+					"鹤城区",
+					"洪江市",
+					"会同县",
+					"沅陵县",
+					"辰溪县",
+					"溆浦县",
+					"中方县",
+					"新晃侗族自治县",
+					"芷江侗族自治县",
+					"通道侗族自治县",
+					"靖州苗族侗族自治县",
+					"麻阳苗族自治县"
+				]
+			},
+			{
+				"name": "娄底市",
+				"area": [
+					"娄星区",
+					"冷水江市",
+					"涟源市",
+					"新化县",
+					"双峰县"
+				]
+			},
+			{
+				"name": "湘西土家族苗族自治州",
+				"area": [
+					"吉首市",
+					"古丈县",
+					"龙山县",
+					"永顺县",
+					"凤凰县",
+					"泸溪县",
+					"保靖县",
+					"花垣县"
+				]
+			}
+		]
+	},
+	{
+		"name": "广东省",
+		"city": [{
+				"name": "广州市",
+				"area": [
+					"越秀区",
+					"荔湾区",
+					"海珠区",
+					"天河区",
+					"白云区",
+					"黄埔区",
+					"番禺区",
+					"花都区",
+					"南沙区",
+					"萝岗区",
+					"增城市",
+					"从化市"
+				]
+			},
+			{
+				"name": "深圳市",
+				"area": [
+					"福田区",
+					"罗湖区",
+					"南山区",
+					"宝安区",
+					"龙岗区",
+					"盐田区"
+				]
+			},
+			{
+				"name": "东莞市",
+				"area": [
+					"莞城街道办事处",
+					"常平",
+					"塘厦",
+					"东城街道办事处",
+					"南城街道办事处",
+					"万江街道办事处",
+					"石碣镇"
+				]
+			},
+			{
+				"name": "中山市",
+				"area": [
+					"中山"
+				]
+			},
+			{
+				"name": "潮州市",
+				"area": [
+					"湘桥区",
+					"潮安县",
+					"饶平县"
+				]
+			},
+			{
+				"name": "揭阳市",
+				"area": [
+					"榕城区",
+					"揭东县",
+					"揭西县",
+					"惠来县",
+					"普宁市"
+				]
+			},
+			{
+				"name": "云浮市",
+				"area": [
+					"云城区",
+					"新兴县",
+					"郁南县",
+					"云安县",
+					"罗定市"
+				]
+			},
+			{
+				"name": "珠海市",
+				"area": [
+					"香洲区",
+					"斗门区",
+					"金湾区"
+				]
+			},
+			{
+				"name": "汕头市",
+				"area": [
+					"金平区",
+					"濠江区",
+					"龙湖区",
+					"潮阳区",
+					"潮南区",
+					"澄海区",
+					"南澳县"
+				]
+			},
+			{
+				"name": "韶关市",
+				"area": [
+					"浈江区",
+					"武江区",
+					"曲江区",
+					"乐昌市",
+					"南雄市",
+					"始兴县",
+					"仁化县",
+					"翁源县",
+					"新丰县",
+					"乳源瑶族自治县"
+				]
+			},
+			{
+				"name": "佛山市",
+				"area": [
+					"禅城区",
+					"南海区",
+					"顺德区",
+					"三水区",
+					"高明区"
+				]
+			},
+			{
+				"name": "江门市",
+				"area": [
+					"蓬江区",
+					"江海区",
+					"新会区",
+					"恩平市",
+					"台山市",
+					"开平市",
+					"鹤山市"
+				]
+			},
+			{
+				"name": "湛江市",
+				"area": [
+					"赤坎区",
+					"霞山区",
+					"坡头区",
+					"麻章区",
+					"吴川市",
+					"廉江市",
+					"雷州市",
+					"遂溪县",
+					"徐闻县"
+				]
+			},
+			{
+				"name": "茂名市",
+				"area": [
+					"茂南区",
+					"茂港区",
+					"化州市",
+					"信宜市",
+					"高州市",
+					"电白县"
+				]
+			},
+			{
+				"name": "肇庆市",
+				"area": [
+					"端州区",
+					"鼎湖区",
+					"高要市",
+					"四会市",
+					"广宁县",
+					"怀集县",
+					"封开县",
+					"德庆县"
+				]
+			},
+			{
+				"name": "惠州市",
+				"area": [
+					"惠城区",
+					"惠阳区",
+					"博罗县",
+					"惠东县",
+					"龙门县"
+				]
+			},
+			{
+				"name": "梅州市",
+				"area": [
+					"梅江区",
+					"兴宁市",
+					"梅县",
+					"大埔县",
+					"丰顺县",
+					"五华县",
+					"平远县",
+					"蕉岭县"
+				]
+			},
+			{
+				"name": "汕尾市",
+				"area": [
+					"城区",
+					"陆丰市",
+					"海丰县",
+					"陆河县"
+				]
+			},
+			{
+				"name": "河源市",
+				"area": [
+					"源城区",
+					"紫金县",
+					"龙川县",
+					"连平县",
+					"和平县",
+					"东源县"
+				]
+			},
+			{
+				"name": "阳江市",
+				"area": [
+					"江城区",
+					"阳春市",
+					"阳西县",
+					"阳东县"
+				]
+			},
+			{
+				"name": "清远市",
+				"area": [
+					"清城区",
+					"英德市",
+					"连州市",
+					"佛冈县",
+					"阳山县",
+					"清新县",
+					"连山壮族瑶族自治县",
+					"连南瑶族自治县"
+				]
+			}
+		]
+	},
+	{
+		"name": "广西",
+		"city": [{
+				"name": "南宁市",
+				"area": [
+					"青秀区",
+					"兴宁区",
+					"西乡塘区",
+					"良庆区",
+					"江南区",
+					"邕宁区",
+					"武鸣县",
+					"隆安县",
+					"马山县",
+					"上林县",
+					"宾阳县",
+					"横县"
+				]
+			},
+			{
+				"name": "柳州市",
+				"area": [
+					"城中区",
+					"鱼峰区",
+					"柳北区",
+					"柳南区",
+					"柳江县",
+					"柳城县",
+					"鹿寨县",
+					"融安县",
+					"融水苗族自治县",
+					"三江侗族自治县"
+				]
+			},
+			{
+				"name": "桂林市",
+				"area": [
+					"象山区",
+					"秀峰区",
+					"叠彩区",
+					"七星区",
+					"雁山区",
+					"阳朔县",
+					"临桂县",
+					"灵川县",
+					"全州县",
+					"平乐县",
+					"兴安县",
+					"灌阳县",
+					"荔浦县",
+					"资源县",
+					"永福县",
+					"龙胜各族自治县",
+					"恭城瑶族自治县"
+				]
+			},
+			{
+				"name": "梧州市",
+				"area": [
+					"万秀区",
+					"蝶山区",
+					"长洲区",
+					"岑溪市",
+					"苍梧县",
+					"藤县",
+					"蒙山县"
+				]
+			},
+			{
+				"name": "北海市",
+				"area": [
+					"海城区",
+					"银海区",
+					"铁山港区",
+					"合浦县"
+				]
+			},
+			{
+				"name": "防城港市",
+				"area": [
+					"港口区",
+					"防城区",
+					"东兴市",
+					"上思县"
+				]
+			},
+			{
+				"name": "钦州市",
+				"area": [
+					"钦南区",
+					"钦北区",
+					"灵山县",
+					"浦北县"
+				]
+			},
+			{
+				"name": "贵港市",
+				"area": [
+					"港北区",
+					"港南区",
+					"覃塘区",
+					"桂平市",
+					"平南县"
+				]
+			},
+			{
+				"name": "玉林市",
+				"area": [
+					"玉州区",
+					"北流市",
+					"容县",
+					"陆川县",
+					"博白县",
+					"兴业县"
+				]
+			},
+			{
+				"name": "百色市",
+				"area": [
+					"右江区",
+					"凌云县",
+					"平果县",
+					"西林县",
+					"乐业县",
+					"德保县",
+					"田林县",
+					"田阳县",
+					"靖西县",
+					"田东县",
+					"那坡县",
+					"隆林各族自治县"
+				]
+			},
+			{
+				"name": "贺州市",
+				"area": [
+					"八步区",
+					"钟山县",
+					"昭平县",
+					"富川瑶族自治县"
+				]
+			},
+			{
+				"name": "河池市",
+				"area": [
+					"金城江区",
+					"宜州市",
+					"天峨县",
+					"凤山县",
+					"南丹县",
+					"东兰县",
+					"都安瑶族自治县",
+					"罗城仫佬族自治县",
+					"巴马瑶族自治县",
+					"环江毛南族自治县",
+					"大化瑶族自治县"
+				]
+			},
+			{
+				"name": "来宾市",
+				"area": [
+					"兴宾区",
+					"合山市",
+					"象州县",
+					"武宣县",
+					"忻城县",
+					"金秀瑶族自治县"
+				]
+			},
+			{
+				"name": "崇左市",
+				"area": [
+					"江州区",
+					"凭祥市",
+					"宁明县",
+					"扶绥县",
+					"龙州县",
+					"大新县",
+					"天等县"
+				]
+			}
+		]
+	},
+	{
+		"name": "海南省",
+		"city": [{
+				"name": "海口市",
+				"area": [
+					"龙华区",
+					"秀英区",
+					"琼山区",
+					"美兰区"
+				]
+			},
+			{
+				"name": "三亚市",
+				"area": [
+					"三亚市"
+				]
+			},
+			{
+				"name": "五指山市",
+				"area": [
+					"五指山"
+				]
+			},
+			{
+				"name": "琼海市",
+				"area": [
+					"琼海"
+				]
+			},
+			{
+				"name": "儋州市",
+				"area": [
+					"儋州"
+				]
+			},
+			{
+				"name": "文昌市",
+				"area": [
+					"文昌"
+				]
+			},
+			{
+				"name": "万宁市",
+				"area": [
+					"万宁"
+				]
+			},
+			{
+				"name": "东方市",
+				"area": [
+					"东方"
+				]
+			},
+			{
+				"name": "澄迈县",
+				"area": [
+					"澄迈县"
+				]
+			},
+			{
+				"name": "定安县",
+				"area": [
+					"定安县"
+				]
+			},
+			{
+				"name": "屯昌县",
+				"area": [
+					"屯昌县"
+				]
+			},
+			{
+				"name": "临高县",
+				"area": [
+					"临高县"
+				]
+			},
+			{
+				"name": "白沙黎族自治县",
+				"area": [
+					"白沙黎族自治县"
+				]
+			},
+			{
+				"name": "昌江黎族自治县",
+				"area": [
+					"昌江黎族自治县"
+				]
+			},
+			{
+				"name": "乐东黎族自治县",
+				"area": [
+					"乐东黎族自治县"
+				]
+			},
+			{
+				"name": "陵水黎族自治县",
+				"area": [
+					"陵水黎族自治县"
+				]
+			},
+			{
+				"name": "保亭黎族苗族自治县",
+				"area": [
+					"保亭黎族苗族自治县"
+				]
+			},
+			{
+				"name": "琼中黎族苗族自治县",
+				"area": [
+					"琼中黎族苗族自治县"
+				]
+			}
+		]
+	},
+	{
+		"name": "重庆市",
+		"city": [{
+			"name": "重庆市",
+			"area": [
+				"渝中区",
+				"大渡口区",
+				"江北区",
+				"南岸区",
+				"北碚区",
+				"渝北区",
+				"巴南区",
+				"长寿区",
+				"双桥区",
+				"沙坪坝区",
+				"万盛区",
+				"万州区",
+				"涪陵区",
+				"黔江区",
+				"永川区",
+				"合川区",
+				"江津区",
+				"九龙坡区",
+				"南川区",
+				"綦江县",
+				"潼南县",
+				"荣昌县",
+				"璧山县",
+				"大足县",
+				"铜梁县",
+				"梁平县",
+				"开县",
+				"忠县",
+				"城口县",
+				"垫江县",
+				"武隆县",
+				"丰都县",
+				"奉节县",
+				"云阳县",
+				"巫溪县",
+				"巫山县",
+				"石柱土家族自治县",
+				"秀山土家族苗族自治县",
+				"酉阳土家族苗族自治县",
+				"彭水苗族土家族自治县"
+			]
+		}]
+	},
+	{
+		"name": "四川省",
+		"city": [{
+				"name": "成都市",
+				"area": [
+					"青羊区",
+					"锦江区",
+					"金牛区",
+					"武侯区",
+					"成华区",
+					"龙泉驿区",
+					"青白江区",
+					"新都区",
+					"温江区",
+					"都江堰市",
+					"彭州市",
+					"邛崃市",
+					"崇州市",
+					"金堂县",
+					"郫县",
+					"新津县",
+					"双流县",
+					"蒲江县",
+					"大邑县"
+				]
+			},
+			{
+				"name": "自贡市",
+				"area": [
+					"大安区",
+					"自流井区",
+					"贡井区",
+					"沿滩区",
+					"荣县",
+					"富顺县"
+				]
+			},
+			{
+				"name": "攀枝花市",
+				"area": [
+					"仁和区",
+					"米易县",
+					"盐边县",
+					"东区",
+					"西区"
+				]
+			},
+			{
+				"name": "泸州市",
+				"area": [
+					"江阳区",
+					"纳溪区",
+					"龙马潭区",
+					"泸县",
+					"合江县",
+					"叙永县",
+					"古蔺县"
+				]
+			},
+			{
+				"name": "德阳市",
+				"area": [
+					"旌阳区",
+					"广汉市",
+					"什邡市",
+					"绵竹市",
+					"罗江县",
+					"中江县"
+				]
+			},
+			{
+				"name": "绵阳市",
+				"area": [
+					"涪城区",
+					"游仙区",
+					"江油市",
+					"盐亭县",
+					"三台县",
+					"平武县",
+					"安县",
+					"梓潼县",
+					"北川羌族自治县"
+				]
+			},
+			{
+				"name": "广元市",
+				"area": [
+					"元坝区",
+					"朝天区",
+					"青川县",
+					"旺苍县",
+					"剑阁县",
+					"苍溪县",
+					"市中区"
+				]
+			},
+			{
+				"name": "遂宁市",
+				"area": [
+					"船山区",
+					"安居区",
+					"射洪县",
+					"蓬溪县",
+					"大英县"
+				]
+			},
+			{
+				"name": "内江市",
+				"area": [
+					"市中区",
+					"东兴区",
+					"资中县",
+					"隆昌县",
+					"威远县"
+				]
+			},
+			{
+				"name": "乐山市",
+				"area": [
+					"市中区",
+					"五通桥区",
+					"沙湾区",
+					"金口河区",
+					"峨眉山市",
+					"夹江县",
+					"井研县",
+					"犍为县",
+					"沐川县",
+					"马边彝族自治县",
+					"峨边彝族自治县"
+				]
+			},
+			{
+				"name": "南充",
+				"area": [
+					"顺庆区",
+					"高坪区",
+					"嘉陵区",
+					"阆中市",
+					"营山县",
+					"蓬安县",
+					"仪陇县",
+					"南部县",
+					"西充县"
+				]
+			},
+			{
+				"name": "眉山市",
+				"area": [
+					"东坡区",
+					"仁寿县",
+					"彭山县",
+					"洪雅县",
+					"丹棱县",
+					"青神县"
+				]
+			},
+			{
+				"name": "宜宾市",
+				"area": [
+					"翠屏区",
+					"宜宾县",
+					"兴文县",
+					"南溪县",
+					"珙县",
+					"长宁县",
+					"高县",
+					"江安县",
+					"筠连县",
+					"屏山县"
+				]
+			},
+			{
+				"name": "广安市",
+				"area": [
+					"广安区",
+					"华蓥市",
+					"岳池县",
+					"邻水县",
+					"武胜县"
+				]
+			},
+			{
+				"name": "达州市",
+				"area": [
+					"通川区",
+					"万源市",
+					"达县",
+					"渠县",
+					"宣汉县",
+					"开江县",
+					"大竹县"
+				]
+			},
+			{
+				"name": "雅安市",
+				"area": [
+					"雨城区",
+					"芦山县",
+					"石棉县",
+					"名山县",
+					"天全县",
+					"荥经县",
+					"宝兴县",
+					"汉源县"
+				]
+			},
+			{
+				"name": "巴中市",
+				"area": [
+					"巴州区",
+					"南江县",
+					"平昌县",
+					"通江县"
+				]
+			},
+			{
+				"name": "资阳市",
+				"area": [
+					"雁江区",
+					"简阳市",
+					"安岳县",
+					"乐至县"
+				]
+			},
+			{
+				"name": "阿坝藏族羌族自治州",
+				"area": [
+					"马尔康县",
+					"九寨沟县",
+					"红原县",
+					"汶川县",
+					"阿坝县",
+					"理县",
+					"若尔盖县",
+					"小金县",
+					"黑水县",
+					"金川县",
+					"松潘县",
+					"壤塘县",
+					"茂县"
+				]
+			},
+			{
+				"name": "甘孜藏族自治州",
+				"area": [
+					"康定县",
+					"丹巴县",
+					"炉霍县",
+					"九龙县",
+					"甘孜县",
+					"雅江县",
+					"新龙县",
+					"道孚县",
+					"白玉县",
+					"理塘县",
+					"德格县",
+					"乡城县",
+					"石渠县",
+					"稻城县",
+					"色达县",
+					"巴塘县",
+					"泸定县",
+					"得荣县"
+				]
+			},
+			{
+				"name": "凉山彝族自治州",
+				"area": [
+					"西昌市",
+					"美姑县",
+					"昭觉县",
+					"金阳县",
+					"甘洛县",
+					"布拖县",
+					"雷波县",
+					"普格县",
+					"宁南县",
+					"喜德县",
+					"会东县",
+					"越西县",
+					"会理县",
+					"盐源县",
+					"德昌县",
+					"冕宁县",
+					"木里藏族自治县"
+				]
+			}
+		]
+	},
+	{
+		"name": "贵州省",
+		"city": [{
+				"name": "贵阳市",
+				"area": [
+					"南明区",
+					"云岩区",
+					"花溪区",
+					"乌当区",
+					"白云区",
+					"小河区",
+					"清镇市",
+					"开阳县",
+					"修文县",
+					"息烽县"
+				]
+			},
+			{
+				"name": "六盘水市",
+				"area": [
+					"钟山区",
+					"水城县",
+					"盘县",
+					"六枝特区"
+				]
+			},
+			{
+				"name": "遵义市",
+				"area": [
+					"红花岗区",
+					"汇川区",
+					"赤水市",
+					"仁怀市",
+					"遵义县",
+					"绥阳县",
+					"桐梓县",
+					"习水县",
+					"凤冈县",
+					"正安县",
+					"余庆县",
+					"湄潭县",
+					"道真仡佬族苗族自治县",
+					"务川仡佬族苗族自治县"
+				]
+			},
+			{
+				"name": "安顺市",
+				"area": [
+					"西秀区",
+					"普定县",
+					"平坝县",
+					"镇宁布依族苗族自治县",
+					"紫云苗族布依族自治县",
+					"关岭布依族苗族自治县"
+				]
+			},
+			{
+				"name": "铜仁地区",
+				"area": [
+					"铜仁市",
+					"德江县",
+					"江口县",
+					"思南县",
+					"石阡县",
+					"玉屏侗族自治县",
+					"松桃苗族自治县",
+					"印江土家族苗族自治县",
+					"沿河土家族自治县",
+					"万山特区"
+				]
+			},
+			{
+				"name": "毕节地区",
+				"area": [
+					"毕节市",
+					"黔西县",
+					"大方县",
+					"织金县",
+					"金沙县",
+					"赫章县",
+					"纳雍县",
+					"威宁彝族回族苗族自治县"
+				]
+			},
+			{
+				"name": "黔西南布依族苗族自治州",
+				"area": [
+					"兴义市",
+					"望谟县",
+					"兴仁县",
+					"普安县",
+					"册亨县",
+					"晴隆县",
+					"贞丰县",
+					"安龙县"
+				]
+			},
+			{
+				"name": "黔东南苗族侗族自治州",
+				"area": [
+					"凯里市",
+					"施秉县",
+					"从江县",
+					"锦屏县",
+					"镇远县",
+					"麻江县",
+					"台江县",
+					"天柱县",
+					"黄平县",
+					"榕江县",
+					"剑河县",
+					"三穗县",
+					"雷山县",
+					"黎平县",
+					"岑巩县",
+					"丹寨县"
+				]
+			},
+			{
+				"name": "黔南布依族苗族自治州",
+				"area": [
+					"都匀市",
+					"福泉市",
+					"贵定县",
+					"惠水县",
+					"罗甸县",
+					"瓮安县",
+					"荔波县",
+					"龙里县",
+					"平塘县",
+					"长顺县",
+					"独山县",
+					"三都水族自治县"
+				]
+			}
+		]
+	},
+	{
+		"name": "云南省",
+		"city": [{
+				"name": "昆明市",
+				"area": [
+					"盘龙区",
+					"五华区",
+					"官渡区",
+					"西山区",
+					"东川区",
+					"安宁市",
+					"呈贡县",
+					"晋宁县",
+					"富民县",
+					"宜良县",
+					"嵩明县",
+					"石林彝族自治县",
+					"禄劝彝族苗族自治县",
+					"寻甸回族彝族自治县"
+				]
+			},
+			{
+				"name": "曲靖市",
+				"area": [
+					"麒麟区",
+					"宣威市",
+					"马龙县",
+					"沾益县",
+					"富源县",
+					"罗平县",
+					"师宗县",
+					"陆良县",
+					"会泽县"
+				]
+			},
+			{
+				"name": "玉溪市",
+				"area": [
+					"红塔区",
+					"江川县",
+					"澄江县",
+					"通海县",
+					"华宁县",
+					"易门县",
+					"峨山彝族自治县",
+					"新平彝族傣族自治县",
+					"元江哈尼族彝族傣族自治县"
+				]
+			},
+			{
+				"name": "保山市",
+				"area": [
+					"隆阳区",
+					"施甸县",
+					"腾冲县",
+					"龙陵县",
+					"昌宁县"
+				]
+			},
+			{
+				"name": "昭通市",
+				"area": [
+					"昭阳区",
+					"鲁甸县",
+					"巧家县",
+					"盐津县",
+					"大关县",
+					"永善县",
+					"绥江县",
+					"镇雄县",
+					"彝良县",
+					"威信县",
+					"水富县"
+				]
+			},
+			{
+				"name": "丽江市",
+				"area": [
+					"古城区",
+					"永胜县",
+					"华坪县",
+					"玉龙纳西族自治县",
+					"宁蒗彝族自治县"
+				]
+			},
+			{
+				"name": "普洱市",
+				"area": [
+					"思茅区",
+					"普洱哈尼族彝族自治县",
+					"墨江哈尼族自治县",
+					"景东彝族自治县",
+					"景谷傣族彝族自治县",
+					"镇沅彝族哈尼族拉祜族自治县",
+					"江城哈尼族彝族自治县",
+					"孟连傣族拉祜族佤族自治县",
+					"澜沧拉祜族自治县",
+					"西盟佤族自治县"
+				]
+			},
+			{
+				"name": "临沧市",
+				"area": [
+					"临翔区",
+					"凤庆县",
+					"云县",
+					"永德县",
+					"镇康县",
+					"双江拉祜族佤族布朗族傣族自治县",
+					"耿马傣族佤族自治县",
+					"沧源佤族自治县"
+				]
+			},
+			{
+				"name": "德宏傣族景颇族自治州",
+				"area": [
+					"潞西市",
+					"瑞丽市",
+					"梁河县",
+					"盈江县",
+					"陇川县"
+				]
+			},
+			{
+				"name": "怒江傈僳族自治州",
+				"area": [
+					"泸水县",
+					"福贡县",
+					"贡山独龙族怒族自治县",
+					"兰坪白族普米族自治县"
+				]
+			},
+			{
+				"name": "迪庆藏族自治州",
+				"area": [
+					"香格里拉县",
+					"德钦县",
+					"维西傈僳族自治县"
+				]
+			},
+			{
+				"name": "大理白族自治州",
+				"area": [
+					"大理市",
+					"祥云县",
+					"宾川县",
+					"弥渡县",
+					"永平县",
+					"云龙县",
+					"洱源县",
+					"剑川县",
+					"鹤庆县",
+					"漾濞彝族自治县",
+					"南涧彝族自治县",
+					"巍山彝族回族自治县"
+				]
+			},
+			{
+				"name": "楚雄彝族自治州",
+				"area": [
+					"楚雄市",
+					"双柏县",
+					"牟定县",
+					"南华县",
+					"姚安县",
+					"大姚县",
+					"永仁县",
+					"元谋县",
+					"武定县",
+					"禄丰县"
+				]
+			},
+			{
+				"name": "红河哈尼族彝族自治州",
+				"area": [
+					"蒙自县",
+					"个旧市",
+					"开远市",
+					"绿春县",
+					"建水县",
+					"石屏县",
+					"弥勒县",
+					"泸西县",
+					"元阳县",
+					"红河县",
+					"金平苗族瑶族傣族自治县",
+					"河口瑶族自治县",
+					"屏边苗族自治县"
+				]
+			},
+			{
+				"name": "文山壮族苗族自治州",
+				"area": [
+					"文山县",
+					"砚山县",
+					"西畴县",
+					"麻栗坡县",
+					"马关县",
+					"丘北县",
+					"广南县",
+					"富宁县"
+				]
+			},
+			{
+				"name": "西双版纳傣族自治州",
+				"area": [
+					"景洪市",
+					"勐海县",
+					"勐腊县"
+				]
+			}
+		]
+	},
+	{
+		"name": "西藏",
+		"city": [{
+				"name": "拉萨市",
+				"area": [
+					"城关区",
+					"林周县",
+					"当雄县",
+					"尼木县",
+					"曲水县",
+					"堆龙德庆县",
+					"达孜县",
+					"墨竹工卡县"
+				]
+			},
+			{
+				"name": "那曲地区",
+				"area": [
+					"那曲县",
+					"嘉黎县",
+					"比如县",
+					"聂荣县",
+					"安多县",
+					"申扎县",
+					"索县",
+					"班戈县",
+					"巴青县",
+					"尼玛县"
+				]
+			},
+			{
+				"name": "昌都地区",
+				"area": [
+					"昌都县",
+					"江达县",
+					"贡觉县",
+					"类乌齐县",
+					"丁青县",
+					"察雅县",
+					"八宿县",
+					"左贡县",
+					"芒康县",
+					"洛隆县",
+					"边坝县"
+				]
+			},
+			{
+				"name": "林芝地区",
+				"area": [
+					"林芝县",
+					"工布江达县",
+					"米林县",
+					"墨脱县",
+					"波密县",
+					"察隅县",
+					"朗县"
+				]
+			},
+			{
+				"name": "山南地区",
+				"area": [
+					"乃东县",
+					"扎囊县",
+					"贡嘎县",
+					"桑日县",
+					"琼结县",
+					"曲松县",
+					"措美县",
+					"洛扎县",
+					"加查县",
+					"隆子县",
+					"错那县",
+					"浪卡子县"
+				]
+			},
+			{
+				"name": "日喀则地区",
+				"area": [
+					"日喀则市",
+					"南木林县",
+					"江孜县",
+					"定日县",
+					"萨迦县",
+					"拉孜县",
+					"昂仁县",
+					"谢通门县",
+					"白朗县",
+					"仁布县",
+					"康马县",
+					"定结县",
+					"仲巴县",
+					"亚东县",
+					"吉隆县",
+					"聂拉木县",
+					"萨嘎县",
+					"岗巴县"
+				]
+			},
+			{
+				"name": "阿里地区",
+				"area": [
+					"噶尔县",
+					"普兰县",
+					"札达县",
+					"日土县",
+					"革吉县",
+					"改则县",
+					"措勤县"
+				]
+			}
+		]
+	},
+	{
+		"name": "陕西省",
+		"city": [{
+				"name": "西安市",
+				"area": [
+					"莲湖区",
+					"新城区",
+					"碑林区",
+					"雁塔区",
+					"灞桥区",
+					"未央区",
+					"阎良区",
+					"临潼区",
+					"长安区",
+					"高陵县",
+					"蓝田县",
+					"户县",
+					"周至县"
+				]
+			},
+			{
+				"name": "铜川市",
+				"area": [
+					"耀州区",
+					"王益区",
+					"印台区",
+					"宜君县"
+				]
+			},
+			{
+				"name": "宝鸡市",
+				"area": [
+					"渭滨区",
+					"金台区",
+					"陈仓区",
+					"岐山县",
+					"凤翔县",
+					"陇县",
+					"太白县",
+					"麟游县",
+					"扶风县",
+					"千阳县",
+					"眉县",
+					"凤县"
+				]
+			},
+			{
+				"name": "咸阳市",
+				"area": [
+					"秦都区",
+					"渭城区",
+					"杨陵区",
+					"兴平市",
+					"礼泉县",
+					"泾阳县",
+					"永寿县",
+					"三原县",
+					"彬县",
+					"旬邑县",
+					"长武县",
+					"乾县",
+					"武功县",
+					"淳化县"
+				]
+			},
+			{
+				"name": "渭南市",
+				"area": [
+					"临渭区",
+					"韩城市",
+					"华阴市",
+					"蒲城县",
+					"潼关县",
+					"白水县",
+					"澄城县",
+					"华县",
+					"合阳县",
+					"富平县",
+					"大荔县"
+				]
+			},
+			{
+				"name": "延安市",
+				"area": [
+					"宝塔区",
+					"安塞县",
+					"洛川县",
+					"子长县",
+					"黄陵县",
+					"延川县",
+					"富县",
+					"延长县",
+					"甘泉县",
+					"宜川县",
+					"志丹县",
+					"黄龙县",
+					"吴起县"
+				]
+			},
+			{
+				"name": "汉中市",
+				"area": [
+					"汉台区",
+					"留坝县",
+					"镇巴县",
+					"城固县",
+					"南郑县",
+					"洋县",
+					"宁强县",
+					"佛坪县",
+					"勉县",
+					"西乡县",
+					"略阳县"
+				]
+			},
+			{
+				"name": "榆林市",
+				"area": [
+					"榆阳区",
+					"清涧县",
+					"绥德县",
+					"神木县",
+					"佳县",
+					"府谷县",
+					"子洲县",
+					"靖边县",
+					"横山县",
+					"米脂县",
+					"吴堡县",
+					"定边县"
+				]
+			},
+			{
+				"name": "安康市",
+				"area": [
+					"汉滨区",
+					"紫阳县",
+					"岚皋县",
+					"旬阳县",
+					"镇坪县",
+					"平利县",
+					"石泉县",
+					"宁陕县",
+					"白河县",
+					"汉阴县"
+				]
+			},
+			{
+				"name": "商洛市",
+				"area": [
+					"商州区",
+					"镇安县",
+					"山阳县",
+					"洛南县",
+					"商南县",
+					"丹凤县",
+					"柞水县"
+				]
+			}
+		]
+	},
+	{
+		"name": "甘肃省",
+		"city": [{
+				"name": "兰州市",
+				"area": [
+					"城关区",
+					"七里河区",
+					"西固区",
+					"安宁区",
+					"红古区",
+					"永登县",
+					"皋兰县",
+					"榆中县"
+				]
+			},
+			{
+				"name": "嘉峪关市",
+				"area": [
+					"嘉峪关市"
+				]
+			},
+			{
+				"name": "金昌市",
+				"area": [
+					"金川区",
+					"永昌县"
+				]
+			},
+			{
+				"name": "白银市",
+				"area": [
+					"白银区",
+					"平川区",
+					"靖远县",
+					"会宁县",
+					"景泰县"
+				]
+			},
+			{
+				"name": "天水市",
+				"area": [
+					"清水县",
+					"秦安县",
+					"甘谷县",
+					"武山县",
+					"张家川回族自治县",
+					"北道区",
+					"秦城区"
+				]
+			},
+			{
+				"name": "武威市",
+				"area": [
+					"凉州区",
+					"民勤县",
+					"古浪县",
+					"天祝藏族自治县"
+				]
+			},
+			{
+				"name": "酒泉市",
+				"area": [
+					"肃州区",
+					"玉门市",
+					"敦煌市",
+					"金塔县",
+					"肃北蒙古族自治县",
+					"阿克塞哈萨克族自治县",
+					"安西县"
+				]
+			},
+			{
+				"name": "张掖市",
+				"area": [
+					"甘州区",
+					"民乐县",
+					"临泽县",
+					"高台县",
+					"山丹县",
+					"肃南裕固族自治县"
+				]
+			},
+			{
+				"name": "庆阳市",
+				"area": [
+					"西峰区",
+					"庆城县",
+					"环县",
+					"华池县",
+					"合水县",
+					"正宁县",
+					"宁县",
+					"镇原县"
+				]
+			},
+			{
+				"name": "平凉市",
+				"area": [
+					"崆峒区",
+					"泾川县",
+					"灵台县",
+					"崇信县",
+					"华亭县",
+					"庄浪县",
+					"静宁县"
+				]
+			},
+			{
+				"name": "定西市",
+				"area": [
+					"安定区",
+					"通渭县",
+					"临洮县",
+					"漳县",
+					"岷县",
+					"渭源县",
+					"陇西县"
+				]
+			},
+			{
+				"name": "陇南市",
+				"area": [
+					"武都区",
+					"成县",
+					"宕昌县",
+					"康县",
+					"文县",
+					"西和县",
+					"礼县",
+					"两当县",
+					"徽县"
+				]
+			},
+			{
+				"name": "临夏回族自治州",
+				"area": [
+					"临夏市",
+					"临夏县",
+					"康乐县",
+					"永靖县",
+					"广河县",
+					"和政县",
+					"东乡族自治县",
+					"积石山保安族东乡族撒拉族自治县"
+				]
+			},
+			{
+				"name": "甘南藏族自治州",
+				"area": [
+					"合作市",
+					"临潭县",
+					"卓尼县",
+					"舟曲县",
+					"迭部县",
+					"玛曲县",
+					"碌曲县",
+					"夏河县"
+				]
+			}
+		]
+	},
+	{
+		"name": "青海省",
+		"city": [{
+				"name": "西宁市",
+				"area": [
+					"城中区",
+					"城东区",
+					"城西区",
+					"城北区",
+					"湟源县",
+					"湟中县",
+					"大通回族土族自治县"
+				]
+			},
+			{
+				"name": "海东地区",
+				"area": [
+					"平安县",
+					"乐都县",
+					"民和回族土族自治县",
+					"互助土族自治县",
+					"化隆回族自治县",
+					"循化撒拉族自治县"
+				]
+			},
+			{
+				"name": "海北藏族自治州",
+				"area": [
+					"海晏县",
+					"祁连县",
+					"刚察县",
+					"门源回族自治县"
+				]
+			},
+			{
+				"name": "海南藏族自治州",
+				"area": [
+					"共和县",
+					"同德县",
+					"贵德县",
+					"兴海县",
+					"贵南县"
+				]
+			},
+			{
+				"name": "黄南藏族自治州",
+				"area": [
+					"同仁县",
+					"尖扎县",
+					"泽库县",
+					"河南蒙古族自治县"
+				]
+			},
+			{
+				"name": "果洛藏族自治州",
+				"area": [
+					"玛沁县",
+					"班玛县",
+					"甘德县",
+					"达日县",
+					"久治县",
+					"玛多县"
+				]
+			},
+			{
+				"name": "玉树藏族自治州",
+				"area": [
+					"玉树县",
+					"杂多县",
+					"称多县",
+					"治多县",
+					"囊谦县",
+					"曲麻莱县"
+				]
+			},
+			{
+				"name": "海西蒙古族藏族自治州",
+				"area": [
+					"德令哈市",
+					"格尔木市",
+					"乌兰县",
+					"都兰县",
+					"天峻县"
+				]
+			}
+		]
+	},
+	{
+		"name": "宁夏",
+		"city": [{
+				"name": "银川市",
+				"area": [
+					"兴庆区",
+					"西夏区",
+					"金凤区",
+					"灵武市",
+					"永宁县",
+					"贺兰县"
+				]
+			},
+			{
+				"name": "石嘴山市",
+				"area": [
+					"大武口区",
+					"惠农区",
+					"平罗县"
+				]
+			},
+			{
+				"name": "吴忠市",
+				"area": [
+					"利通区",
+					"青铜峡市",
+					"盐池县",
+					"同心县"
+				]
+			},
+			{
+				"name": "固原市",
+				"area": [
+					"原州区",
+					"西吉县",
+					"隆德县",
+					"泾源县",
+					"彭阳县"
+				]
+			},
+			{
+				"name": "中卫市",
+				"area": [
+					"沙坡头区",
+					"中宁县",
+					"海原县"
+				]
+			}
+		]
+	},
+	{
+		"name": "新疆",
+		"city": [{
+				"name": "乌鲁木齐市",
+				"area": [
+					"天山区",
+					"沙依巴克区",
+					"新市区",
+					"水磨沟区",
+					"头屯河区",
+					"达坂城区",
+					"东山区",
+					"乌鲁木齐县"
+				]
+			},
+			{
+				"name": "克拉玛依市",
+				"area": [
+					"克拉玛依区",
+					"独山子区",
+					"白碱滩区",
+					"乌尔禾区"
+				]
+			},
+			{
+				"name": "吐鲁番地区",
+				"area": [
+					"吐鲁番市",
+					"托克逊县",
+					"鄯善县"
+				]
+			},
+			{
+				"name": "哈密地区",
+				"area": [
+					"哈密市",
+					"伊吾县",
+					"巴里坤哈萨克自治县"
+				]
+			},
+			{
+				"name": "和田地区",
+				"area": [
+					"和田市",
+					"和田县",
+					"洛浦县",
+					"民丰县",
+					"皮山县",
+					"策勒县",
+					"于田县",
+					"墨玉县"
+				]
+			},
+			{
+				"name": "阿克苏地区",
+				"area": [
+					"阿克苏市",
+					"温宿县",
+					"沙雅县",
+					"拜城县",
+					"阿瓦提县",
+					"库车县",
+					"柯坪县",
+					"新和县",
+					"乌什县"
+				]
+			},
+			{
+				"name": "喀什地区",
+				"area": [
+					"喀什市",
+					"巴楚县",
+					"泽普县",
+					"伽师县",
+					"叶城县",
+					"岳普湖县",
+					"疏勒县",
+					"麦盖提县",
+					"英吉沙县",
+					"莎车县",
+					"疏附县",
+					"塔什库尔干塔吉克自治县"
+				]
+			},
+			{
+				"name": "克孜勒苏柯尔克孜自治州",
+				"area": [
+					"阿图什市",
+					"阿合奇县",
+					"乌恰县",
+					"阿克陶县"
+				]
+			},
+			{
+				"name": "巴音郭楞蒙古自治州",
+				"area": [
+					"库尔勒市",
+					"和静县",
+					"尉犁县",
+					"和硕县",
+					"且末县",
+					"博湖县",
+					"轮台县",
+					"若羌县",
+					"焉耆回族自治县"
+				]
+			},
+			{
+				"name": "昌吉回族自治州",
+				"area": [
+					"昌吉市",
+					"阜康市",
+					"奇台县",
+					"玛纳斯县",
+					"吉木萨尔县",
+					"呼图壁县",
+					"木垒哈萨克自治县",
+					"米泉市"
+				]
+			},
+			{
+				"name": "博尔塔拉蒙古自治州",
+				"area": [
+					"博乐市",
+					"精河县",
+					"温泉县"
+				]
+			},
+			{
+				"name": "石河子",
+				"area": [
+					"石河子"
+				]
+			},
+			{
+				"name": "阿拉尔",
+				"area": [
+					"阿拉尔"
+				]
+			},
+			{
+				"name": "图木舒克",
+				"area": [
+					"图木舒克"
+				]
+			},
+			{
+				"name": "五家渠",
+				"area": [
+					"五家渠"
+				]
+			},
+			{
+				"name": "伊犁哈萨克自治州",
+				"area": [
+					"伊宁市",
+					"奎屯市",
+					"伊宁县",
+					"特克斯县",
+					"尼勒克县",
+					"昭苏县",
+					"新源县",
+					"霍城县",
+					"巩留县",
+					"察布查尔锡伯自治县",
+					"塔城地区",
+					"阿勒泰地区"
+				]
+			}
+		]
+	},
+	{
+		"name": "台湾省",
+		"city": [{
+				"name": "台北市",
+				"area": [
+					"内湖区",
+					"南港区",
+					"中正区",
+					"万华区",
+					"大同区",
+					"中山区",
+					"松山区",
+					"大安区",
+					"信义区",
+					"文山区",
+					"士林区",
+					"北投区"
+				]
+			},
+			{
+				"name": "新北市",
+				"area": [
+					"板桥区",
+					"汐止区",
+					"新店区"
+				]
+			},
+			{
+				"name": "桃园市",
+				"area": [
+					"其他"
+				]
+			},
+			{
+				"name": "台中市",
+				"area": [
+					"其他"
+				]
+			},
+			{
+				"name": "台南市",
+				"area": [
+					"其他"
+				]
+			},
+			{
+				"name": "高雄市",
+				"area": [
+					"其他"
+				]
+			}
+		]
+	},
+	{
+		"name": "澳门",
+		"city": [{
+			"name": "澳门",
+			"area": [
+				"花地玛堂区",
+				"圣安多尼堂区",
+				"大堂区",
+				"望德堂区",
+				"风顺堂区",
+				"嘉模堂区",
+				"圣方济各堂区",
+				"路凼"
+			]
+		}]
+	},
+	{
+		"name": "香港",
+		"city": [{
+			"name": "香港",
+			"area": [
+				"深水埗区",
+				"油尖旺区",
+				"九龙城区",
+				"黄大仙区",
+				"观塘区",
+				"北区",
+				"大埔区",
+				"沙田区",
+				"西贡区",
+				"元朗区",
+				"屯门区",
+				"荃湾区",
+				"葵青区",
+				"离岛区",
+				"中西区",
+				"湾仔区",
+				"东区",
+				"南区"
+			]
+		}]
+	}
+]

+ 4 - 3
manifest.json

@@ -153,13 +153,14 @@
         "domain" : "",
         "router" : {
             "base" : "/index/",
-            "mode" : "hash"
+            "mode" : "history"
         },
         "devServer" : {
             "proxy" : {
                 "/api" : {
-                    // "target" : "http://m.manyuanchunjia.com/api", //请求的目标域名
-                    "target" : "http://myc.frp.liuniu946.com/api", //请求的目标域名
+                    "target" : "http://m.manyuanchunjia.com/api", //请求的目标域名
+
+                    // "target" : "http://myc.frp.liuniu946.com/api", //请求的目标域名
                     "changeOrigin" : true,
                     // "secure": false,
                     "pathRewrite" : {}

+ 40 - 31
pages.json

@@ -1,26 +1,26 @@
 {
 	"easycom": {
-			"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
-		},
-	"pages": [{
-			"path": "pages/index/index",
-			"style": {
-				"navigationBarTitleText": "满园春商城",
-				"app-plus": {
-					"titleNView": false
-				}
-			}
-		}, {
-			"path": "pages/public/register",
-			"style": {
-				"navigationBarTitleText": "注册",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
+		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
+	},
+	"pages": [{
+			"path": "pages/index/index",
+			"style": {
+				"navigationBarTitleText": "满园春商城",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		}, {
+			"path": "pages/public/register",
+			"style": {
+				"navigationBarTitleText": "注册",
+				"app-plus": {
+					"titleNView": {
+						"type": "transparent"
+					}
+				}
+			}
+		},
 		{
 			"path": "pages/moments/details",
 			"style": {
@@ -81,7 +81,16 @@
 			"path": "pages/myteam/myteam",
 			"style": {
 				"navigationBarTitleText": "我的团队",
-				"app-plus":{
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/myteam/myteamQian",
+			"style": {
+				"navigationBarTitleText": "百业团队",
+				"app-plus": {
 					"titleNView": false
 				}
 			}
@@ -127,7 +136,7 @@
 				"navigationStyle": "custom",
 				// #endif
 				//#ifdef H5
-				"navigationStyle":"default",
+				"navigationStyle": "default",
 				//#endif
 				// #ifndef MP
 				"app-plus": {
@@ -152,7 +161,7 @@
 				// #endif
 				"navigationBarTitleText": "搜索"
 			}
-		}, 
+		},
 		{
 			"path": "pages/set/about",
 			"style": {
@@ -252,7 +261,7 @@
 					"bounce": "none"
 				}
 			}
-		}, 
+		},
 		{
 			"path": "pages/merchant/orderDetail",
 			"style": {
@@ -261,7 +270,7 @@
 					"bounce": "none"
 				}
 			}
-		},{
+		}, {
 			"path": "pages/order/orderRefund",
 			"style": {
 				"navigationBarTitleText": "申请退款"
@@ -346,7 +355,7 @@
 			"style": {
 				"navigationBarTitleText": "分类",
 				//#ifdef H5
-				"navigationStyle":"default",
+				"navigationStyle": "default",
 				//#endif
 				"app-plus": {
 					"bounce": "none",
@@ -376,7 +385,7 @@
 				"navigationStyle": "custom",
 				// #endif
 				//#ifdef H5
-				"navigationStyle":"default",
+				"navigationStyle": "default",
 				//#endif
 				// #ifndef MP
 				"app-plus": {
@@ -595,7 +604,7 @@
 			"path": "pages/coupon/consumer",
 			"style": {
 				"navigationBarTitleText": "我的消费券",
-				"app-plus":{
+				"app-plus": {
 					"titleNView": false
 				}
 			}
@@ -613,7 +622,7 @@
 			"path": "pages/shoping/list",
 			"style": {
 				"navigationBarTitleText": "店铺列表"
-				
+
 			}
 		},
 		{
@@ -724,7 +733,7 @@
 		"navigationBarTitleText": "uni-app",
 		"navigationBarBackgroundColor": "#FFFFFF",
 		//#ifdef H5
-		"navigationStyle":"custom",
+		"navigationStyle": "custom",
 		//#endif
 		"backgroundColor": "#f8f8f8"
 	},

+ 283 - 287
pages/address/addressManage.vue

@@ -1,136 +1,132 @@
-<template>
-	<view class="content">
-		<view class="row b-b">
-			<text class="tit">联系人</text>
-			<input class="input" type="text" v-model="addressData.name" placeholder="收货人姓名" placeholder-class="placeholder" />
-		</view>
-		<view class="row b-b">
-			<text class="tit">手机号</text>
-			<input class="input" type="number" v-model="addressData.mobile" placeholder="收货人手机号码" placeholder-class="placeholder" />
-		</view>
-		<view class="row b-b">
-			<text class="tit">地址</text>
-			<!-- <picker mode="multiSelector" :range="arrDate" @change="cityChange">
-				<view>{{ addressDetail || '请选择地址(点击选择地址)' }}</view>
-			</picker> -->
-			<pickerAddress class="input"  @change="onCityClick">{{ addressDetail || '请选择地址(点击选择地址)' }}</pickerAddress>
-		</view>
-		<view class="row b-b" @click="clickMap">
-			<text class="tit">定位</text>
-			<input class="input" type="text" v-model="addressLocation.name" disabled="disabled" placeholder="请在列表选择要定位的地址" placeholder-class="placeholder" />
-			<text class="iconfont iconlocation"></text>
-		</view>
-		<view class="row b-b">
-			<text class="tit">门牌号</text>
-			<input class="input" type="text" v-model="addressData.area" placeholder="请填写精确地址方便快速送到" placeholder-class="placeholder" />
-		</view>
-
-		<uni-list class="margin-t-20">
-			<uni-list-item
-				title="设为默认"
-				:switch-checked="addressData.default"
-				:show-switch="true"
-				:show-arrow="false"
-				switch-color="#5dbc7c"
-				@switchChange="switchChange"
-			></uni-list-item>
-		</uni-list>
-
-		<button class="add-btn" @click="confirm">提交</button>
-	</view>
-</template>
-
-<script>
-import uniList from '@/components/uni-list/uni-list.vue';
-import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
-import uniPopup from '@/components/uni-popup/uni-popup.vue';
-import pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
-import { addressEdit } from '@/api/address.js';
-import { openMap } from '@/utils/rocessor.js';
-export default {
-	components: {
-		uniList,
-		uniListItem,
-		pickerAddress,
-		uniPopup
-	},
-	data() {
-		return {
-			addressDetail: '',
-			addressData: {
-				name: '',
-				mobile: '',
-				address: {
-					province: '',
-					city: '',
-					district: ''
-				},
-				area: '',
-				default: false
-			},
-			// 定位地址
-			addressLocation: {
-				name: '',
-				address: '',
-				errMsg: 'chooseLocation:ok',
-				latitude: '',
-				longitude: '',
-				name: '',
-				// 判断是否地址选择页进入
-				isIndex: false
-			},
-			arrDate:[
-				['浙江省'],
-				['台州市'],
-				['椒江区','黄岩区','路桥区','温岭市','临海市','玉环县'],
-			],
-		};
-	},
-	onLoad(option) {
-		let title = '新增收货地址';
-		// #ifdef MP
-		// 获取地图权限
-		uni.authorize({
-			scope: 'scope.userLocation',
-			success: res => {}
-		});
-		// #endif
-		if (option.isIndex == 3) {
-			this.isIndex = true;
-		}
-		if (option.type === 'edit') {
-			title = '编辑收货地址';
-			let data = JSON.parse(option.data);
+<template>
+	<view class="content">
+		<view class="row b-b">
+			<text class="tit">联系人</text>
+			<input class="input" type="text" v-model="addressData.name" placeholder="收货人姓名" placeholder-class="placeholder" />
+		</view>
+		<view class="row b-b">
+			<text class="tit">手机号</text>
+			<input class="input" type="number" v-model="addressData.mobile" placeholder="收货人手机号码" placeholder-class="placeholder" />
+		</view>
+		<view class="row b-b">
+			<text class="tit">地址</text>
+			<!-- <picker mode="multiSelector" :range="arrDate" @change="cityChange">
+				<view>{{ addressDetail || '请选择地址(点击选择地址)' }}</view>
+			</picker> -->
+			<pickerAddress class="input" @change="onCityClick">{{ addressDetail || '请选择地址(点击选择地址)' }}</pickerAddress>
+		</view>
+		<view class="row b-b" @click="clickMap">
+			<text class="tit">定位</text>
+			<input class="input" type="text" v-model="addressLocation.name" disabled="disabled" placeholder="请在列表选择要定位的地址" placeholder-class="placeholder" />
+			<text class="iconfont iconlocation"></text>
+		</view>
+		<view class="row b-b">
+			<text class="tit">门牌号</text>
+			<input class="input" type="text" v-model="addressData.area" placeholder="请填写精确地址方便快速送到" placeholder-class="placeholder" />
+		</view>
+
+		<uni-list class="margin-t-20">
+			<uni-list-item
+				title="设为默认"
+				:switch-checked="addressData.default"
+				:show-switch="true"
+				:show-arrow="false"
+				switch-color="#5dbc7c"
+				@switchChange="switchChange"
+			></uni-list-item>
+		</uni-list>
+
+		<button class="add-btn" @click="confirm">提交</button>
+	</view>
+</template>
+
+<script>
+import uniList from '@/components/uni-list/uni-list.vue';
+import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
+import uniPopup from '@/components/uni-popup/uni-popup.vue';
+import pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
+import { addressEdit } from '@/api/address.js';
+import { openMap } from '@/utils/rocessor.js';
+export default {
+	components: {
+		uniList,
+		uniListItem,
+		pickerAddress,
+		uniPopup
+	},
+	data() {
+		return {
+			addressDetail: '',
+			addressData: {
+				name: '',
+				mobile: '',
+				address: {
+					province: '',
+					city: '',
+					district: ''
+				},
+				area: '',
+				default: false
+			},
+			// 定位地址
+			addressLocation: {
+				name: '',
+				address: '',
+				errMsg: 'chooseLocation:ok',
+				latitude: '',
+				longitude: '',
+				name: '',
+				// 判断是否地址选择页进入
+				isIndex: false
+			},
+			arrDate: [['浙江省'], ['台州市'], ['椒江区', '黄岩区', '路桥区', '温岭市', '临海市', '玉环县']]
+		};
+	},
+	onLoad(option) {
+		let title = '新增收货地址';
+		// #ifdef MP
+		// 获取地图权限
+		uni.authorize({
+			scope: 'scope.userLocation',
+			success: res => {}
+		});
+		// #endif
+		if (option.isIndex == 3) {
+			this.isIndex = true;
+		}
+		if (option.type === 'edit') {
+			title = '编辑收货地址';
+			let data = JSON.parse(option.data);
 			console.log(data);
-			let arr = data.detail.split(',')
-			let len = arr.length - 1
-			this.addressLocation.name = arr[0]
-			this.addressLocation.latitude = data.latitude
-			this.addressLocation.longitude = data.longitude
-			this.addressData = {
-				name: data.real_name,
-				mobile: data.phone,
-				address: {
-					province: data.province,
-					city: data.city,
-					district: data.district
-				},
-				area: data.detail.split(',')[len],
-				default: data.is_default == 1,
-				id: data.id
-			};
-			this.addressDetail = data.province + data.city + data.district;
-		}
-		this.manageType = option.type;
-		uni.setNavigationBarTitle({
-			title
-		});
-	},
-	methods: {
-		// 选中经纬度
-		clickMap() {
-			uni.showLoading({
-				title: '加载中'
+			let arr = data.detail.split(',');
+			let len = arr.length - 1;
+			this.addressLocation.name = arr[0];
+			this.addressLocation.latitude = data.latitude;
+			this.addressLocation.longitude = data.longitude;
+			this.addressData = {
+				name: data.real_name,
+				mobile: data.phone,
+				address: {
+					province: data.province,
+					city: data.city,
+					district: data.district
+				},
+				area: data.detail.split(',')[len],
+				default: data.is_default == 1,
+				id: data.id
+			};
+			this.addressDetail = data.province + data.city + data.district;
+		}
+		this.manageType = option.type;
+		uni.setNavigationBarTitle({
+			title
+		});
+	},
+	methods: {
+		// 选中经纬度
+		clickMap() {
+			uni.showLoading({
+				title: '加载中'
 			});
 			let obj = this;
 			// #ifndef APP-PLUS
@@ -146,7 +142,7 @@ export default {
 					obj.addressLocation.longitude = res.longitude;
 				}
 			});
-			// #endif
+			// #endif
 			// #ifdef APP-PLUS
 			uni.hideLoading();
 			uni.getLocation({
@@ -157,175 +153,175 @@ export default {
 						longitude: e.longitude,
 						success(e) {
 							obj.addressLocation = e;
-							console.log(e,"123456")
+							console.log(e, '123456');
 						},
 						fail(e) {
 							uni.showModal({
-								title:'地址选择错误',
-								content:JSON.parse(e)
-							})
+								title: '地址选择错误',
+								content: JSON.parse(e)
+							});
 							console.log(e);
 						}
 					});
-				},fail(e) {
+				},
+				fail(e) {
 					uni.showModal({
-						title:'定位错误',
-						content:JSON.parse(e)
-					})
+						title: '定位错误',
+						content: JSON.parse(e)
+					});
 				}
 			});
 			// uni.chooseLocation()
-			// #endif
-			
-		},
-		// 选中城市切换
-		onCityClick({ data }) {
-			let address = this.addressData.address;
-			address.province = data[0];
-			address.city = data[1];
-			address.district = data[2];
-			this.addressDetail = data.join(',');
-		},
-		
-		// 选择地址
-		cityChange:function(e) {
-			console.log(e)
-			let address = this.addressData.address;
-			let type1 = e.detail.value[0];
-			let type2 = e.detail.value[1];
-			let type3 = e.detail.value[2];
-			address.province = this.arrDate[0][type1];
-			console.log(address.province)
-			address.city = this.arrDate[1][type2];
-			console.log(address.city)
-			address.district = this.arrDate[2][type3];
-			console.log(address.district)
-			this.addressDetail = address.province + ' ' + address.city + ' ' + address.district;
-		},
-		
-		// 设置是否为默认地址
-		switchChange(e) {
-			this.addressData.default = e.value;
-		},
-		//提交
-		confirm() {
-			let obj = this;
-			let data = this.addressData;
-			if (!data.name) {
-				this.$api.msg('请填写收货人姓名');
-				return;
-			}
-			if (!/(^1[3|4|5|7|8][0-9]{9}$)/.test(data.mobile)) {
-				this.$api.msg('请输入正确的手机号码');
-				return;
-			}
-			if (!data.address) {
-				this.$api.msg('请在地图选择所在位置');
-				return;
-			}
-			if (!data.area) {
-				this.$api.msg('请填写门牌号信息');
-				return;
-			}
-			if(data.area.length<4){
-				this.$api.msg('请填写具体信息精确到门牌号');
-				return;
+			// #endif
+		},
+		// 选中城市切换
+		onCityClick({ data }) {
+			let address = this.addressData.address;
+			address.province = data[0];
+			address.city = data[1];
+			address.district = data[2];
+			this.addressDetail = data.join(',');
+		},
+
+		// 选择地址
+		cityChange: function(e) {
+			console.log(e);
+			let address = this.addressData.address;
+			let type1 = e.detail.value[0];
+			let type2 = e.detail.value[1];
+			let type3 = e.detail.value[2];
+			address.province = this.arrDate[0][type1];
+			console.log(address.province);
+			address.city = this.arrDate[1][type2];
+			console.log(address.city);
+			address.district = this.arrDate[2][type3];
+			console.log(address.district);
+			this.addressDetail = address.province + ' ' + address.city + ' ' + address.district;
+		},
+
+		// 设置是否为默认地址
+		switchChange(e) {
+			this.addressData.default = e.value;
+		},
+		//提交
+		confirm() {
+			let obj = this;
+			let data = this.addressData;
+			if (!data.name) {
+				this.$api.msg('请填写收货人姓名');
+				return;
+			}
+			if (!/(^1[2|3|4|5|6|7|8|9][0-9]{9}$)/.test(data.mobile)) {
+				this.$api.msg('请输入正确的手机号码');
+				return;
+			}
+			if (!data.address) {
+				this.$api.msg('请在地图选择所在位置');
+				return;
 			}
-			if(obj.addressLocation.longitude == '') {
+			if (!data.area) {
+				this.$api.msg('请填写门牌号信息');
+				return;
+			}
+			if (data.area.length < 4) {
+				this.$api.msg('请填写具体信息精确到门牌号');
+				return;
+			}
+			if (obj.addressLocation.longitude == '') {
 				this.$api.msg('请选择正确的定位地址');
 				return;
 			}
-			if(obj.addressLocation.latitude == '') {
+			if (obj.addressLocation.latitude == '') {
 				this.$api.msg('请选择正确的定位地址');
 				return;
-			}
-			//this.$api.prePage()获取上一页实例,可直接调用上页所有数据和方法,在App.vue定义
+			}
+			//this.$api.prePage()获取上一页实例,可直接调用上页所有数据和方法,在App.vue定义
 			addressEdit({
-				type: 1,
-				real_name: data.name,
-				phone: data.mobile,
-				address: {
-					province: data.address.province,
-					city: data.address.city,
-					district: data.address.district
-				},
-				detail: obj.addressLocation.name + ',' + data.area,
-				is_default: data.default,
-				id: data.id || '',
-				longitude: obj.addressLocation.longitude,
-				latitude: obj.addressLocation.latitude,
-			}).then(function(e) {
-				uni.showToast({
-					title: '提交成功',
-					duration: 2000,
-					icon: 'none'
-				});
-				setTimeout(function() {
-					console.log('返回');
-					uni.navigateBack();
-				}, 800);
-
-				obj.$api.prePage().refreshList();
-			});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: $page-color-base;
-	padding-top: 16rpx;
-}
-
-.row {
-	display: flex;
-	align-items: center;
-	position: relative;
-	padding: 0 30rpx;
-	height: 110rpx;
-	background: #fff;
-
-	.tit {
-		flex-shrink: 0;
-		width: 120rpx;
-		font-size: 30rpx;
-		color: $font-color-dark;
-	}
-	.input {
-		flex: 1;
-		font-size: 30rpx;
-		color: $font-color-dark;
-	}
-	.iconlocation {
-		font-size: 36rpx;
-		color: $font-color-light;
-	}
-}
-.default-row {
-	margin-top: 16rpx;
-	.tit {
-		flex: 1;
-	}
-	switch {
-		transform: translateX(16rpx) scale(0.9);
-	}
-}
-.add-btn {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	width: 690rpx;
-	height: 80rpx;
-	margin: 60rpx auto;
-	font-size: $font-lg;
-	color: #fff;
-	background-color: $base-color;
-	border-radius: 10rpx;
-	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
-}
-
-.alert-box {
-	background-color: #ffffff;
-}
+				type: 1,
+				real_name: data.name,
+				phone: data.mobile,
+				address: {
+					province: data.address.province,
+					city: data.address.city,
+					district: data.address.district
+				},
+				detail: obj.addressLocation.name + ',' + data.area,
+				is_default: data.default,
+				id: data.id || '',
+				longitude: obj.addressLocation.longitude,
+				latitude: obj.addressLocation.latitude
+			}).then(function(e) {
+				uni.showToast({
+					title: '提交成功',
+					duration: 2000,
+					icon: 'none'
+				});
+				setTimeout(function() {
+					console.log('返回');
+					uni.navigateBack();
+				}, 800);
+
+				obj.$api.prePage().refreshList();
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: $page-color-base;
+	padding-top: 16rpx;
+}
+
+.row {
+	display: flex;
+	align-items: center;
+	position: relative;
+	padding: 0 30rpx;
+	height: 110rpx;
+	background: #fff;
+
+	.tit {
+		flex-shrink: 0;
+		width: 120rpx;
+		font-size: 30rpx;
+		color: $font-color-dark;
+	}
+	.input {
+		flex: 1;
+		font-size: 30rpx;
+		color: $font-color-dark;
+	}
+	.iconlocation {
+		font-size: 36rpx;
+		color: $font-color-light;
+	}
+}
+.default-row {
+	margin-top: 16rpx;
+	.tit {
+		flex: 1;
+	}
+	switch {
+		transform: translateX(16rpx) scale(0.9);
+	}
+}
+.add-btn {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	width: 690rpx;
+	height: 80rpx;
+	margin: 60rpx auto;
+	font-size: $font-lg;
+	color: #fff;
+	background-color: $base-color;
+	border-radius: 10rpx;
+	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
+}
+
+.alert-box {
+	background-color: #ffffff;
+}
 </style>

+ 17 - 2
pages/award/award.vue

@@ -12,7 +12,7 @@
 				</view>
 			</view>
 			<!-- <view class="moneyTx" @click="navto('./withdrawal')">提现</view> -->
-			<!-- <view class="moneyTxs" @click="navto('./withdmoenys')" >转余额</view> -->
+			<view class="moneyTx" @click="navto('./withdmoenys')">转余额</view>
 			<!-- <view class="flex buttom-box">
 				<view class="buttom" @click="navto('./withdrawal')">
 					<view class="icon"><image class="icon-img" src="/static/icon/i6.png" mode="aspectFit"></image></view>
@@ -52,7 +52,7 @@
 				</scroll-view>
 			</swiper-item>
 		</swiper>
-		<view class="btn" @click="navto('/pages/award/withdrawal')">立即提现</view>
+		<view class="btn" @click="navto('/pages/award/withdrawal?type=brokerage_price')">立即提现</view>
 	</view>
 </template>
 
@@ -126,6 +126,7 @@ export default {
 	methods: {
 		// 页面跳转
 		navto(e) {
+			console.log(e);
 			uni.navigateTo({
 				url: e
 			});
@@ -202,6 +203,20 @@ page {
 .content-money {
 	padding-bottom: 30rpx;
 	background: $page-color-base;
+	.moneyTx {
+		position: absolute;
+		z-index: 10;
+		top: 150rpx;
+		right: 0rpx;
+		width: 160rpx;
+		padding: 10rpx 30rpx;
+		border: 2px solid #ffffff;
+		border-top-left-radius: 99rpx;
+		border-bottom-left-radius: 99rpx;
+		color: #ffffff;
+		line-height: 1;
+		font-size: $font-base;
+	}
 }
 .money-box {
 	background-color: $base-color;

+ 15 - 11
pages/award/withdmoenys.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="content">
-		<uni-notice-bar single="true" text="每月25号到月底可提现上月结算余额"></uni-notice-bar>
+		<!-- <uni-notice-bar single="true" text="每月25号到月底可提现上月结算余额"></uni-notice-bar> -->
 		<view class="content-money">
 			<view class="flex ">
 				<view class="buttom">
@@ -12,13 +12,18 @@
 					<view class=" icon">{{ freeze | getMoneyStyle }}</view>
 					<text class="text">待审核提现佣金</text>
 				</view>
+				<!-- <view class="interval"></view>
+				<view class="buttom">
+					<view class=" icon">{{ userInfo.lock_group_award || 0 }}</view>
+					<text class="text">冻结极差奖</text>
+				</view> -->
 			</view>
 		</view>
 		<view class="row-box">
 			<view class="title">转账金额</view>
 			<view class="row">
 				<text class="tit">¥</text>
-				<input class="input" type="number" v-model="withdrawal" placeholder='转入金额' placeholder-class="placeholder" />
+				<input class="input" type="number" v-model="withdrawal" placeholder="转入金额" placeholder-class="placeholder" />
 				<view class="buttom" @click="withdrawal = money">全部转账</view>
 			</view>
 		</view>
@@ -69,7 +74,7 @@
 			</radio-group>
 		</view>-->
 		<!-- #endif -->
-		<button class="add-btn up" :class="{'action':loding}" @click="!loding?confirm():''">转入</button>
+		<button class="add-btn up" :class="{ action: loding }" @click="!loding ? confirm() : ''">转入</button>
 	</view>
 </template>
 
@@ -96,7 +101,7 @@ export default {
 			// #ifdef H5
 			weichatBsrowser: false,
 			// #endif
-			loding:false,
+			loding: false
 		};
 	},
 	onLoad(options) {
@@ -111,7 +116,7 @@ export default {
 	},
 	methods: {
 		// 更新数据
-		dataUp(){
+		dataUp() {
 			this.loadAli();
 			this.loadBank();
 		},
@@ -131,7 +136,7 @@ export default {
 		async loadData() {
 			extractBank({}).then(({ data }) => {
 				this.money = data.commissionCount;
-				this.freeze =data.incommissionCount
+				this.freeze = data.broken_commission;
 			});
 		},
 		// 跳转
@@ -149,22 +154,21 @@ export default {
 			let obj = this;
 			obj.loding = true;
 			let data = {
-				from:"weixinh5", //
+				from: 'weixinh5', //
 				price: this.withdrawal, //金额
 				type: 1 //0佣金1余额
-			}
+			};
 			extractCashs(data)
 				.then(e => {
 					// 允许按钮点击
 					obj.loding = false;
 					// 初始化提现金额
-					obj.withdrawal = ''
+					obj.withdrawal = '';
 					uni.showToast({
 						title: '提交成功',
 						duration: 2000,
 						position: 'top'
 					});
-					
 				})
 				.catch(e => {
 					obj.loding = false;
@@ -253,7 +257,7 @@ page {
 		background-color: $base-color;
 		color: #fff;
 	}
-	&.action{
+	&.action {
 		background-color: $color-gray;
 	}
 	display: flex;

+ 108 - 39
pages/award/withdrawal.vue

@@ -1,10 +1,10 @@
 <template>
 	<view class="content">
 		<!-- <uni-notice-bar single="true" text="每月25号到月底可提现上月结算余额"></uni-notice-bar> -->
-		<view class="content-money">
+		<view class="content-money" v-if="type1 == 'brokerage_price'">
 			<view class="flex ">
 				<view class="buttom">
-					<view class="icon">{{ money | getMoneyStyle }}</view>
+					<view class="icon">{{ moneyYong | getMoneyStyle }}</view>
 					<text class="text">可提现佣金</text>
 				</view>
 				<view class="interval"></view>
@@ -19,16 +19,28 @@
 				</view>
 			</view>
 		</view>
+		<view class="content-money" v-if="type1 != 'brokerage_price'">
+			<view class="flex">
+				<view class="buttom1">
+					<view class="icon">{{ money | getMoneyStyle }}</view>
+					<text class="text">可提现余额</text>
+				</view>
+			</view>
+		</view>
 		<view class="row-box">
 			<view class="title">提现金额</view>
 			<view class="row">
 				<text class="tit">¥</text>
 				<input class="input" type="number" v-model="withdrawal" :placeholder="'最低提现金额' + minPrice + '元'" placeholder-class="placeholder" />
-				<view class="buttom" @click="withdrawal = money">全部提现</view>
+				<view class="buttom" v-if="type1 != 'brokerage_price'" @click="withdrawal = money">全部提现</view>
+				<view class="buttom" v-if="type1 == 'brokerage_price'" @click="withdrawal = moneyYong">全部提现</view>
 			</view>
 		</view>
-		<view class="tip" v-if="withdrawal != 0">
-			实际到账{{real}}元,手续费{{sxf}}元,转换为消费券{{xfq}}元,转换为股份{{gf}}元,转换为余额{{yue}}元
+		<view class="tip" v-if="withdrawal != 0 && type1 == 'brokerage_price'">
+			实际到账{{ real }}元,手续费{{ sxf }}元,转换为消费券{{ xfq }}元,转换为股份{{ gf }}元,转换为余额{{ yue }}元
+		</view>
+		<view class="tip" v-if="withdrawal != 0 && type1 != 'brokerage_price'">
+			实际到账{{ withdrawal * (0.9).toFixed(2) * 1 }}元,手续费{{ withdrawal * (0.1).toFixed(2) * 1 }}元
 		</view>
 		<!-- <view class="row-box">
 			<view class="title">手续费</view>
@@ -40,7 +52,7 @@
 		<!-- #ifndef MP-WEIXIN -->
 		<view class="list">
 			<radio-group @change="tabRadio">
-				<!-- <label>
+				<label>
 					<view class="box">
 						<view class="icon iconfont iconweixin1"></view>
 						<view class="title-box">
@@ -48,7 +60,7 @@
 						</view>
 						<view class="right"><radio value="weixin" color="#5dbc7c" :checked="type == 'weixin'" /></view>
 					</view>
-				</label> -->
+				</label>
 				<label>
 					<view class="box">
 						<view class="icon iconfont iconzhifubao"></view>
@@ -81,7 +93,12 @@
 				</label>
 			</radio-group>
 		</view>
+
 		<!-- #endif -->
+		<!-- <view class="row b-b" v-if="type == 'weixin'">
+			<text class="tit">输入微信账号</text>
+			<input class="input" type="text" v-model="weixin" placeholder="请输入微信账号" placeholder-class="placeholder" />
+		</view> -->
 		<button class="add-btn up" @click="confirm">提交申请</button>
 		<button class="add-btn modified" @click="navTo('/pages/wallet/account')">账号管理</button>
 	</view>
@@ -90,7 +107,7 @@
 <script>
 import { mapState, mapMutations } from 'vuex';
 import { getMoneyStyle } from '@/utils/rocessor.js';
-import { extractCash, extractBank, aliInfo, bankInfo } from '@/api/wallet.js';
+import { extractCash, extractBank, aliInfo, bankInfo, userBalance } from '@/api/wallet.js';
 import uniNoticeBar from '@/components/uni-notice-bar/uni-notice-bar.vue';
 export default {
 	filters: {
@@ -101,26 +118,31 @@ export default {
 	},
 	data() {
 		return {
+			type1: '',
+			type: '',
 			isTing: false,
 			type: 'alipay', //提现方式
-			money: '0.00', //可提现金额
+			money: '0.00', //可提现余额
+			moneyYong: '0.00', //可提现佣金
 			freeze: '0.0', //冻结金额
 			withdrawal: '', //提现金额
 			minPrice: '', //最少提现金额
-			reall:'',//实际到账
-			sxfl:'',//手续费率
-			xfql:'',//消费券率
-			gfl:'',//股份率
-			yuel:'',//余额率
+			reall: '', //实际到账
+			sxfl: '', //手续费率
+			xfql: '', //消费券率
+			gfl: '', //股份率
+			yuel: '', //余额率
 			aliData: {},
 			bankData: {},
-			charge:0,
+			weixin: '',
+			charge: 0,
 			// #ifdef H5
 			weichatBsrowser: false
 			// #endif
 		};
 	},
 	onLoad(options) {
+		this.type1 = options.type;
 		// #ifdef H5
 		this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
 		// #endif
@@ -133,20 +155,20 @@ export default {
 	computed: {
 		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
 		real() {
-			return (this.withdrawal * this.reall).toFixed(2) * 1 
+			return (this.withdrawal * this.reall).toFixed(2) * 1;
 		},
 		sxf() {
-			return (this.withdrawal * this.sxfl).toFixed(2) * 1
+			return (this.withdrawal * this.sxfl).toFixed(2) * 1;
 		},
 		xfq() {
-			return (this.withdrawal * this.xfql).toFixed(2) * 1
+			return (this.withdrawal * this.xfql).toFixed(2) * 1;
 		},
 		gf() {
-			return (this.withdrawal * this.gfl).toFixed(2) * 1
+			return (this.withdrawal * this.gfl).toFixed(2) * 1;
 		},
 		yue() {
-			return (this.withdrawal * this.yuel).toFixed(2) * 1
-		},
+			return (this.withdrawal * this.yuel).toFixed(2) * 1;
+		}
 	},
 	methods: {
 		// 更新数据
@@ -169,15 +191,18 @@ export default {
 		// 加载余额信息
 		async loadData() {
 			extractBank({}).then(({ data }) => {
-				this.money = data.commissionCount;
+				this.moneyYong = data.commissionCount;
 				this.minPrice = data.minPrice;
 				this.freeze = data.broken_commission;
 				this.charge = data.cash_out;
-				this.sxfl = (data.commission/100).toFixed(2) * 1
-				this.xfql = (data.commission_consumer/100).toFixed(5) * 1
-				this.gfl = (data.commission_gf/100).toFixed(2) * 1
-				this.yuel = (data.commission_yue/100).toFixed(2) * 1
-				this.reall = (1 - this.sxfl - this.xfql - this.gfl - this.yuel).toFixed(2) * 1
+				this.sxfl = (data.commission / 100).toFixed(2) * 1;
+				this.xfql = (data.commission_consumer / 100).toFixed(5) * 1;
+				this.gfl = (data.commission_gf / 100).toFixed(2) * 1;
+				this.yuel = (data.commission_yue / 100).toFixed(2) * 1;
+				this.reall = (1 - this.sxfl - this.xfql - this.gfl - this.yuel).toFixed(2) * 1;
+			});
+			userBalance({}).then(({ data }) => {
+				this.money = data.now_money;
 			});
 		},
 		// 跳转
@@ -193,16 +218,26 @@ export default {
 		// 提交
 		confirm() {
 			let obj = this;
-			if(obj.isTing) {
-				console.log("jing");
-				return
+			if (obj.isTing) {
+				console.log('jing');
+				return;
+			}
+			let data;
+			if (obj.type1 == 'brokerage_price') {
+				data = {
+					extract_type: obj.type, //bank -银行卡 alipay-支付宝 weixin-微信
+					money: obj.withdrawal, //金额
+					money_type: 0, //0佣金1余额
+					from: obj.type1
+				};
+			} else {
+				data = {
+					extract_type: obj.type, //bank -银行卡 alipay-支付宝 weixin-微信
+					money: obj.withdrawal, //金额
+					money_type: 1, //0佣金1余额
+					from: obj.type1
+				};
 			}
-			obj.isTing = true
-			let data = {
-				extract_type: obj.type, //bank -银行卡 alipay-支付宝 weixin-微信
-				money: obj.withdrawal, //金额
-				money_type: 0 //0佣金1余额
-			};
 			if (+obj.withdrawal < +obj.minPrice) {
 				uni.showToast({
 					title: '提现金额不可少于' + obj.minPrice,
@@ -216,12 +251,16 @@ export default {
 				data.name = obj.aliData.fullname;
 				data.alipay_code = obj.aliData.alino;
 			}
+			if (obj.type == 'weixin') {
+				data.weixin = '123456';
+			}
 			if (obj.type == 'bank') {
 				data.name = obj.bankData.fullname;
 				data.bankname = obj.bankData.bank;
 				data.cardnum = obj.bankData.bankno;
 			}
 
+			obj.isTing = true;
 			extractCash(data)
 				.then(e => {
 					uni.showToast({
@@ -229,12 +268,12 @@ export default {
 						duration: 2000,
 						position: 'top'
 					});
-					obj.isTing = false
+					obj.isTing = false;
 					// 清空提现金额
 					obj.withdrawal = '';
 				})
 				.catch(e => {
-					obj.isTing = false
+					obj.isTing = false;
 					console.log();
 				});
 		}
@@ -259,6 +298,10 @@ page {
 		font-size: $font-lg;
 		width: 50%;
 	}
+	.buttom1 {
+		font-size: $font-lg;
+		width: 100%;
+	}
 	.interval {
 		width: 2px;
 		height: 60rpx;
@@ -315,7 +358,7 @@ page {
 }
 .tip {
 	padding: 20rpx;
-	color: #E51C23;
+	color: #e51c23;
 }
 .add-btn {
 	&.modified {
@@ -379,4 +422,30 @@ page {
 	width: 45rpx;
 	height: 45rpx;
 }
+.row {
+	display: flex;
+	align-items: center;
+	position: relative;
+	padding: 0 30upx;
+	height: 110upx;
+	background: #fff;
+
+	.tit {
+		flex-shrink: 0;
+		width: 250upx;
+		font-size: 30upx;
+		color: $font-color-dark;
+	}
+
+	.input {
+		flex: 1;
+		font-size: 30upx;
+		color: $font-color-dark;
+	}
+
+	.iconlocation {
+		font-size: 36upx;
+		color: $font-color-light;
+	}
+}
 </style>

+ 241 - 231
pages/category/category.vue

@@ -1,233 +1,243 @@
-<template>
-	<view class="content">
-		<scroll-view scroll-y class="left-aside">
-			<view v-for="item in flist" :key="item.id" class="f-item b-b" :class="{ active: item.id === currentId }" @click="tabtap(item)">{{ item.cate_name }}</view>
-		</scroll-view>
-		<scroll-view scroll-with-animation scroll-y class="right-aside" @scroll="asideScroll" :scroll-top="tabScrollTop">
-			<view v-for="item in flist" :key="item.id" class="s-list" :id="'main-' + item.id">
-				<text class="s-item">{{ item.cate_name }}</text>
-				<view class="t-list ">
-					<view @click="navToList(item.id, titem.id)" class="t-item" v-for="titem in slist" :key="titem.id">
-						<image :src="titem.pic"></image>
-						<text>{{ titem.cate_name }}</text>
-					</view>
-				</view>
-			</view>
-		</scroll-view>
-	</view>
-</template>
-
-<script>
-import { getList } from '@/api/category.js';
-export default {
-	data() {
-		return {
-			sizeCalcState: false,
-			tabScrollTop: 0,
-			currentId: 1,
-			flist: [],
-			slist: [],
-			// tlist: []
-		};
-	},
-	onLoad() {
-		this.loadData();
-	},
-	// #ifndef MP
-	// 监听导航栏输入框点击事件
-	onNavigationBarSearchInputClicked(e) {
-		uni.navigateTo({
-			url:'/pages/product/search',
-		})
-	},
-	// #endif
-	methods: {
-		// 载入数据
-		async loadData() {
-			let obj = this;
-			getList({})
+<template>
+	<view class="content">
+		<scroll-view scroll-y class="left-aside">
+			<view v-for="item in flist" :key="item.id" class="f-item b-b" :class="{ active: item.id === currentId }" @click="tabtap(item)">{{ item.cate_name }}</view>
+		</scroll-view>
+		<scroll-view scroll-with-animation scroll-y class="right-aside" @scroll="asideScroll" :scroll-top="tabScrollTop">
+			<view v-for="item in flist" :key="item.id" class="s-list" :id="'main-' + item.id">
+				<text class="s-item">{{ item.cate_name }}</text>
+				<view class="t-list ">
+					<view @click="navToList(item.id, titem.id)" class="t-item" v-for="titem in slist" :key="titem.id">
+						<image :src="titem.pic"></image>
+						<text>{{ titem.cate_name }}</text>
+					</view>
+				</view>
+			</view>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+import { getList } from '@/api/category.js';
+import { mapState, mapMutations } from 'vuex';
+export default {
+	data() {
+		return {
+			sizeCalcState: false,
+			tabScrollTop: 0,
+			currentId: 1,
+			flist: [],
+			slist: []
+			// tlist: []
+		};
+	},
+	computed: {
+		...mapState(['loginInterceptor', 'storeInfo', 'canChange', 'baseURL']),
+		...mapState('user', ['hasLogin', 'userInfo'])
+	},
+	onShow() {
+		console.log(this.storeInfo, '123456');
+	},
+	onLoad() {
+		this.loadData();
+	},
+	// #ifndef MP
+	// 监听导航栏输入框点击事件
+	onNavigationBarSearchInputClicked(e) {
+		uni.navigateTo({
+			url: '/pages/product/search'
+		});
+	},
+	// #endif
+	methods: {
+		// 载入数据
+		async loadData() {
+			let obj = this;
+			getList({})
 				.then(({ data }) => {
-					console.log(data,'data++++++++++')
-					this.flist = data.map(function (s) {
-								return s
-							});
-					console.log(this.flist,'1111111')
-					data.forEach(function(e) {
-						obj.slist.push(...e.children.map(function (s) {
-								return s
-							}));
-					});
-					console.log(obj.slist,'22222222')
-					// data.forEach(function(e) {
-					// 	e.children.forEach(function(es) {
-					// 		obj.tlist.push(...es.children.map(function (s) {
-					// 			return s
-					// 		}))
-					// 	});
-					// });
-				})
-				.catch(err => {
-					console.log(err);
-				});
-		},
-		//一级分类点击
-		tabtap(item) {
-			// 判断有没有初始化页面高度对象数据
-			if (!this.sizeCalcState) {
-				this.calcSize();
-			}
-			// 获取当前点击的id
-			this.currentId = item.id;
-			let index = this.slist.findIndex(sitem => sitem.pid === item.id);
-			this.tabScrollTop = this.slist[index].top;
-		},
-		//右侧栏滚动
-		asideScroll(e) {
-			// 判断有没有初始化页面高度对象数据
-			if (!this.sizeCalcState) {
-				this.calcSize();
-			}
-			let scrollTop = e.detail.scrollTop;
-			let box = 0; //列表包裹框高度初始化
-			let bottom = 10; //距离页面底部多少像素左侧列表切换到最后一个一级分类
-			// 查询当前页面对象
-			let view = uni.createSelectorQuery().select('.content');
-			view.fields(
-				{
-					id: true,
-					dataset: true,
-					rect: true,
-					size: true,
-					scrollOffset: true
-				},
-				function(e) {
-					// 保存包裹框高度
-					box = e.height;
-				}
-			).exec();
-			// 获取所有距离顶部大于滚轮距离页面高度的所有分类
-			let tabs = this.slist.filter(item => item.top <= scrollTop).reverse();
-			if (tabs.length > 0) {
-				// 判断是否已经到达滚轮底部
-				if (box + scrollTop + bottom >= e.detail.scrollHeight) {
-					this.currentId = this.slist[this.slist.length - 1].pid;
-				} else {
-					this.currentId = tabs[0].pid;
-				}
-			}
-		},
-		//计算右侧栏每个tab的高度等信息
-		calcSize() {
-			let h = 0;
-			this.slist.forEach(item => {
-				let view = uni.createSelectorQuery().select('#main-' + item.id);
-				view.fields(
-					{
-						size: true
-					},
-					data => {
-						item.top = h;
-						h += data.height;
-						item.bottom = h;
-					}
-				).exec();
-			});
-			this.sizeCalcState = true;
-		},
-		navToList(sid, tid) {
-			// 点击导航跳转到详细页面
-			uni.navigateTo({
-				url: `/pages/product/listSearch?fid=${this.currentId}&sid=${sid}&tid=${tid}`
-			});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page,
-.content {
-	height: 100%;
-	background-color: #f8f8f8;
-}
-
-.content {
-	display: flex;
-}
-.left-aside {
-	flex-shrink: 0;
-	width: 200rpx;
-	height: 100%;
-	background-color: #fff;
-}
-.f-item {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	width: 100%;
-	height: 100rpx;
-	font-size: 28rpx;
-	color: $font-color-base;
-	position: relative;
-	&.active {
-		color: $base-color;
-		background: #f8f8f8;
-		&:before {
-			content: '';
-			position: absolute;
-			left: 0;
-			top: 50%;
-			transform: translateY(-50%);
-			height: 36rpx;
-			width: 8rpx;
-			background-color: $base-color;
-			border-radius: 0 4px 4px 0;
-			opacity: 0.8;
-		}
-	}
-}
-
-.right-aside {
-	flex: 1;
-	overflow: hidden;
-	padding-left: 20rpx;
-	padding-right: 20rpx;
-}
-.s-item {
-	display: flex;
-	align-items: center;
-	height: 70rpx;
-	padding-top: 8rpx;
-	font-size: 28rpx;
-	color: $font-color-dark;
-}
-.t-list {
-	display: flex;
-	flex-wrap: wrap;
-	border-radius: 15rpx;
-	width: 100%;
-	background: #fff;
-	padding-top: 12rpx;
-	&:after {
-		content: '';
-		flex: 99;
-		height: 0;
-	}
-}
-.t-item {
-	flex-shrink: 0;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	flex-direction: column;
-	width: 171rpx;
-	font-size: 26rpx;
-	color: #666;
-	padding-bottom: 20rpx;
-
-	image {
-		width: 140rpx;
-		height: 140rpx;
-	}
-}
+					console.log(data, 'data++++++++++');
+					this.flist = data.map(function(s) {
+						return s;
+					});
+					console.log(this.flist, '1111111');
+					data.forEach(function(e) {
+						obj.slist.push(
+							...e.children.map(function(s) {
+								return s;
+							})
+						);
+					});
+					console.log(obj.slist, '22222222');
+					// data.forEach(function(e) {
+					// 	e.children.forEach(function(es) {
+					// 		obj.tlist.push(...es.children.map(function (s) {
+					// 			return s
+					// 		}))
+					// 	});
+					// });
+				})
+				.catch(err => {
+					console.log(err);
+				});
+		},
+		//一级分类点击
+		tabtap(item) {
+			// 判断有没有初始化页面高度对象数据
+			if (!this.sizeCalcState) {
+				this.calcSize();
+			}
+			// 获取当前点击的id
+			this.currentId = item.id;
+			let index = this.slist.findIndex(sitem => sitem.pid === item.id);
+			this.tabScrollTop = this.slist[index].top;
+		},
+		//右侧栏滚动
+		asideScroll(e) {
+			// 判断有没有初始化页面高度对象数据
+			if (!this.sizeCalcState) {
+				this.calcSize();
+			}
+			let scrollTop = e.detail.scrollTop;
+			let box = 0; //列表包裹框高度初始化
+			let bottom = 10; //距离页面底部多少像素左侧列表切换到最后一个一级分类
+			// 查询当前页面对象
+			let view = uni.createSelectorQuery().select('.content');
+			view.fields(
+				{
+					id: true,
+					dataset: true,
+					rect: true,
+					size: true,
+					scrollOffset: true
+				},
+				function(e) {
+					// 保存包裹框高度
+					box = e.height;
+				}
+			).exec();
+			// 获取所有距离顶部大于滚轮距离页面高度的所有分类
+			let tabs = this.slist.filter(item => item.top <= scrollTop).reverse();
+			if (tabs.length > 0) {
+				// 判断是否已经到达滚轮底部
+				if (box + scrollTop + bottom >= e.detail.scrollHeight) {
+					this.currentId = this.slist[this.slist.length - 1].pid;
+				} else {
+					this.currentId = tabs[0].pid;
+				}
+			}
+		},
+		//计算右侧栏每个tab的高度等信息
+		calcSize() {
+			let h = 0;
+			this.slist.forEach(item => {
+				let view = uni.createSelectorQuery().select('#main-' + item.id);
+				view.fields(
+					{
+						size: true
+					},
+					data => {
+						item.top = h;
+						h += data.height;
+						item.bottom = h;
+					}
+				).exec();
+			});
+			this.sizeCalcState = true;
+		},
+		navToList(sid, tid) {
+			// 点击导航跳转到详细页面
+			uni.navigateTo({
+				url: `/pages/product/listSearch?fid=${this.currentId}&sid=${sid}&tid=${tid}`
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page,
+.content {
+	height: 100%;
+	background-color: #f8f8f8;
+}
+
+.content {
+	display: flex;
+}
+.left-aside {
+	flex-shrink: 0;
+	width: 200rpx;
+	height: 100%;
+	background-color: #fff;
+}
+.f-item {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	width: 100%;
+	height: 100rpx;
+	font-size: 28rpx;
+	color: $font-color-base;
+	position: relative;
+	&.active {
+		color: $base-color;
+		background: #f8f8f8;
+		&:before {
+			content: '';
+			position: absolute;
+			left: 0;
+			top: 50%;
+			transform: translateY(-50%);
+			height: 36rpx;
+			width: 8rpx;
+			background-color: $base-color;
+			border-radius: 0 4px 4px 0;
+			opacity: 0.8;
+		}
+	}
+}
+
+.right-aside {
+	flex: 1;
+	overflow: hidden;
+	padding-left: 20rpx;
+	padding-right: 20rpx;
+}
+.s-item {
+	display: flex;
+	align-items: center;
+	height: 70rpx;
+	padding-top: 8rpx;
+	font-size: 28rpx;
+	color: $font-color-dark;
+}
+.t-list {
+	display: flex;
+	flex-wrap: wrap;
+	border-radius: 15rpx;
+	width: 100%;
+	background: #fff;
+	padding-top: 12rpx;
+	&:after {
+		content: '';
+		flex: 99;
+		height: 0;
+	}
+}
+.t-item {
+	flex-shrink: 0;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	flex-direction: column;
+	width: 171rpx;
+	font-size: 26rpx;
+	color: #666;
+	padding-bottom: 20rpx;
+
+	image {
+		width: 140rpx;
+		height: 140rpx;
+	}
+}
 </style>

+ 80 - 53
pages/index/index.vue

@@ -9,7 +9,7 @@
 			<!-- 搜素栏 -->
 			<view class="search flex">
 				<image src="../../static/icon/address.png" class="address"></image>
-				<view class="shop-name clamp" @click.stop="canChange == 0?nav('/pages/shoping/list'):''">{{ storeInfo.name }}</view>
+				<view class="shop-name clamp" @click.stop="canChange == 1 ? nav('/pages/shoping/list') : ''">{{ storeInfo.name }}</view>
 				<view class="input-box flex" @click.stop="clickSearch">
 					<view class=" input-content flex">
 						<view class="iconfont iconsearch"></view>
@@ -26,18 +26,24 @@
 		</view>
 		<!-- 分类 -->
 		<view class="cate-section">
-			<navigator url="/pages/product/classify?type=5" >
+			<navigator url="/pages/product/classify?type=5">
 				<view class="cate-item">
 					<image class="Uimg" src="/static/icon/in2.png"></image>
 					<text>套餐商品</text>
 				</view>
 			</navigator>
-			<navigator :url="canChange==0 ? '/pages/shoping/list?type=5': '/pages/shoping/list'">
+			<navigator :url="canChange == 1 ? '/pages/shoping/list?type=5' : '/pages/shoping/list'">
 				<view class="cate-item">
 					<image src="/static/icon/in1.png"></image>
 					<text>附近门店</text>
 				</view>
 			</navigator>
+			<navigator url="/pages/shoping/list?type=7">
+				<view class="cate-item">
+					<image src="/static/icon/in5.png"></image>
+					<text>异业联盟</text>
+				</view>
+			</navigator>
 			<navigator url="/pages/shareQrCode/index">
 				<view class="cate-item">
 					<image src="/static/icon/in3.png"></image>
@@ -67,17 +73,16 @@
 					</view>
 					<image src="../../static/icon/fanhui.png" class="go" mode=""></image>
 				</view>
-				<view class="commodity flex">
+				<!-- <view class="commodity flex">
 					<view class="commodity-item" v-for="(item, index) in integralList" :key="item.id" @click="navToDetailPagejf(item)">
 						<image class="commodity-image" :src="item.image" mode=""></image>
 						<view class="commodity-title clamp">{{ item.store_name }}</view>
 						<view class="price clamp">{{ item.max_use_integral * 1 }}积分+</view>
 						<view class="vip-price">
-							<!-- <image src="../../static/icon/jf.png" mode=""></image> -->
 							<text>¥{{ item.price }}</text>
 						</view>
 					</view>
-				</view>
+				</view> -->
 			</view>
 		</view>
 		<!-- 消费券专区 -->
@@ -95,19 +100,19 @@
 					</view>
 					<image src="../../static/icon/fanhui.png" class="go" mode=""></image>
 				</view>
-				<view class="commodity flex">
+				<!-- <view class="commodity flex">
 					<view class="commodity-item" v-for="(item, index) in bastList" :key="item.id" @click="navToDetailvoucher(item)">
 						<image class="commodity-image" :src="item.image" mode=""></image>
 						<view class="commodity-title clamp">{{ item.store_name }}</view>
-						<!-- <view class="price">¥{{ item.ot_price }}</view> -->
 						<view class="vip-price">
 							<image src="../../static/icon/xfq.png" mode=""></image>
 							<text>{{ item.price }}</text>
 						</view>
 					</view>
-				</view>
+				</view> -->
 			</view>
 		</view>
+		<view class="vip" @click="navTo('/pages/wallet/openMember')"></view>
 		<!-- 精选好货 -->
 		<view class="bastgood-box">
 			<view class="bast-bg"><image src="../../static/icon/jxhh.png" mode=""></image></view>
@@ -137,7 +142,7 @@ import { userinfo } from '@/api/user.js';
 import { mapState, mapMutations } from 'vuex';
 import { getProducts } from '@/api/product.js';
 // #ifdef H5
-import { weixindata,shareLoad } from '@/utils/wxAuthorized';
+import { weixindata, shareLoad } from '@/utils/wxAuthorized';
 // #endif
 export default {
 	components: {
@@ -158,7 +163,7 @@ export default {
 			carouselList: [], //轮播列表
 			goodsList: [], //积分商品列表
 			bastList: [], //消费券商品列表
-			integralList:[],//积分商品列表
+			integralList: [], //积分商品列表
 			bastBanner: [], //促销商品列表
 			menusList: [], //头部菜单
 			userServant: [
@@ -169,7 +174,7 @@ export default {
 		};
 	},
 	computed: {
-		...mapState(['loginInterceptor', 'storeInfo','canChange','baseURL']),
+		...mapState(['loginInterceptor', 'storeInfo', 'canChange', 'baseURL']),
 		...mapState('user', ['hasLogin', 'userInfo'])
 	},
 	onLoad(option) {
@@ -180,7 +185,7 @@ export default {
 			uni.redirectTo({ url: '/pages/contract/start' });
 		}
 		//#endif
- 		if (option.spread) {
+		if (option.spread) {
 			// 存储邀请人
 			uni.setStorage({
 				key: 'spread',
@@ -188,30 +193,28 @@ export default {
 			});
 		}
 		let canChange = uni.getStorageSync('canChange') || '';
-		console.log(canChange)
-		if(option.store_id) {
+		if (option.store_id) {
 			getStore({
 				id: option.store_id
-			}).then(({data}) => {
-				this.setStoreInfo(data)
-				console.log(data)
-			})
+			}).then(({ data }) => {
+				this.setStoreInfo(data);
+				console.log(data);
+			});
 			this.setCanChange();
-			uni.setStorageSync('canChange',option.store_id)
-		}else {
-			if(canChange == ''){
+			uni.setStorageSync('canChange', option.store_id);
+		} else {
+			if (canChange == '') {
 				this.getaddress();
-			}else {
-				console.log("进入缓存")
+			} else {
+				console.log('进入缓存');
 				getStore({
 					id: canChange
-				}).then(({data}) => {
-					this.setStoreInfo(data)
-				})
+				}).then(({ data }) => {
+					this.setStoreInfo(data);
+				});
 				this.setCanChange();
 			}
 		}
-		
 	},
 	onShow() {
 		// 判断是否强制登录
@@ -220,18 +223,17 @@ export default {
 			userinfo()
 				.then(e => {
 					// #ifdef H5
-					this.IndexShare()
+					this.IndexShare();
 					// #endif
 				})
 				.catch(e => {
 					console.log(e);
 				});
 		}
-		if(this.hasLogin) {
+		if (this.hasLogin) {
 			// #ifdef H5
-			this.IndexShare()
+			this.IndexShare();
 			// #endif
-			
 		}
 		this.loadData();
 	},
@@ -262,28 +264,28 @@ export default {
 	},
 	// #endif
 	methods: {
-		...mapMutations(['setLat', 'setLon', 'setStoreInfo','setCanChange']),
+		...mapMutations(['setLat', 'setLon', 'setStoreInfo', 'setCanChange']),
 		// #ifdef H5
 		IndexShare() {
 			let obj = this;
 			let pages = getCurrentPages();
 			// 获取当前页面
 			let page = pages[pages.length - 1];
-			let path = '/#/pages/index/index' + '?';
+			let path = '/pages/index/index' + '?';
 			// 保存传值
 			for (let i in page.options) {
 				path += i + '=' + page.options[i] + '&';
 			}
-			console.log(obj.Path)
+			console.log(obj.Path);
 			// 保存邀请人
 			path += 'spread=' + this.userInfo.uid;
 			let data = {
 				link: this.baseURL + path,
 				title: this.userInfo.nickname + '邀请您进入满园春',
-				desc:'欢迎加入满园春',
+				desc: '欢迎加入满园春',
 				imgUrl: this.baseURL + '/static/img/logo.png'
 			};
-			console.log(data,'分享数据');
+			console.log(data, '分享数据');
 			shareLoad(data);
 		},
 		// #endif
@@ -314,6 +316,24 @@ export default {
 				url: '/pages/product/search'
 			});
 		},
+		navTo(url) {
+			if (!this.hasLogin) {
+				url = '/pages/public/login';
+				// #ifdef H5
+				let weichatBrowser = uni.getStorageSync('weichatBrowser');
+				// 判断是否为微信浏览器
+				if (weichatBrowser) {
+					url = '/pages/public/wxLogin';
+				}
+				// #endif
+				// #ifdef MP-WEIXIN
+				url = '/pages/public/wxLogin';
+				// #endif
+			}
+			uni.navigateTo({
+				url
+			});
+		},
 		// 监听图片加载完成
 		onImageError(key, index) {
 			this[key][index].image = '/static/error/errorImage.jpg';
@@ -341,22 +361,22 @@ export default {
 				this.goodsList = goods.bastList; //最新商品
 				this.integralList = goods.integralList;
 			});
-			getProducts({
-				page: 1,
-				limit: 2,
-				is_consumer: 1
-			})
-				.then(({ data }) => {
-					obj.bastList = data.map(e => {
-						e.price = Number(e.price);
-						e.ot_price = Number(e.ot_price);
-						return e;
-					});
-					console.log(obj.bastList, '123456');
-				})
-				.catch(e => {
-					console.log(e);
-				});
+			// getProducts({
+			// 	page: 1,
+			// 	limit: 2,
+			// 	is_consumer: 1
+			// })
+			// 	.then(({ data }) => {
+			// 		obj.bastList = data.map(e => {
+			// 			e.price = Number(e.price);
+			// 			e.ot_price = Number(e.ot_price);
+			// 			return e;
+			// 		});
+			// 		console.log(obj.bastList, '123456');
+			// 	})
+			// 	.catch(e => {
+			// 		console.log(e);
+			// 	});
 		},
 		//轮播图切换修改背景色
 		swiperChange(e) {
@@ -411,6 +431,13 @@ page {
 .m-t {
 	margin-top: 16rpx;
 }
+.vip {
+	margin: 0 30rpx;
+	margin-top: 40rpx;
+	height: 120rpx;
+	background-image: url('../../static/user/upgrade.png');
+	background-size: 100% 170rpx;
+}
 /* 头部 轮播图 */
 .carousel-section {
 	position: relative;

+ 123 - 129
pages/merchant/storeQr.vue

@@ -2,7 +2,7 @@
 	<view class="content">
 		<view class="user-logo">
 			<image :src="userInfo.avatar" mode=""></image>
-			<view class="user-name">{{userInfo.nickname}}</view>
+			<view class="user-name">{{ userInfo.nickname }}</view>
 		</view>
 		<view class="code-warpper">
 			<view class="code-content">
@@ -27,142 +27,136 @@
 				{{val}}
 			</view> -->
 		</view>
-		<view class="btm">
-			扫一扫进店铺
-		</view>
-	</view>
-</template>
-
+		<view class="btm">扫一扫进店铺</view>
+	</view>
+</template>
+
 <script>
-	import { my } from '@/api/merchant.js'
-	import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue';
-	import { mapState, mapMutations } from 'vuex';
-	export default {
-		comments:{
-			tkiQrcode
-		},
-		data() {
-			return {
-				// code: '10250035810',
-				cid: 'tki-qrcode-canvas', //canvasId,页面存在多个二维码组件时需设置不同的ID
-				size: 448, //生成的二维码大小
-				unit: 'upx', //大小单位尺寸
-				show: true,//默认使用组件中的image标签显示二维码
-				val: '', //要生成的内容
-				background: '#ffffff', //二维码背景色
-				foreground: '#333333', //二维码前景色
-				pdground: '#333333', //二维码角标色
-				icon: '', //二维码图标URL(必须是本地图片,网络图需要先下载至本地)
-				iconSize: 0, //二维码图标大小
-				lv: 3, //容错级别
-				onval: true, //监听val值变化自动重新生成二维码
-				loadMake: true, //组件初始化完成后自动生成二维码,val需要有值
-				usingComponents: false, //是否使用了自定义组件模式(主要是为了修复非自定义组件模式时 v-if 无法生成二维码的问题)
-				showLoading: false, //是否显示loading
-				loadingText: '二维码生成中', //loading文字
-				src: '', // 二维码生成后的图片地址或base64
-				ratio: 1, //页面比例用于计算
-				ctxSrc: '', //要显示的图片
-				loading: true,//是否载入图片中
-				canHeight: '',//画布高度
-				canWeidth: '',//画布宽度
-				id: '',
-				uid: '',
-			}
-		},
-		computed: {
-			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
-			...mapState(['baseURL'])
-		},
-		onShow() {
-			console.log(this.userInfo)
-			// 判断是否已经登录
-			if (this.hasLogin) {
-				// this.loadBaseData();
-				// this.getSpreadCount()
-				console.log(this.userInfo)
-				// console.log(this.userInfo)
-			}
-		},
-		async onLoad(opt) {
-			await my({}).then(({data}) =>{
-				this.id = data.id;
-				this.uid = data.uid
-				
-			})
-			this.val = this.baseURL + '/index/#/pages/index/index?store_id=' + this.id + '&spread=' + this.uid
-			console.log(this.val )
-		},
-		methods: {
-			// 生成二维码后返回base64
-			qrR(res) {
-				this.src = res;
-			},
+import { my } from '@/api/merchant.js';
+import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue';
+import { mapState, mapMutations } from 'vuex';
+export default {
+	comments: {
+		tkiQrcode
+	},
+	data() {
+		return {
+			// code: '10250035810',
+			cid: 'tki-qrcode-canvas', //canvasId,页面存在多个二维码组件时需设置不同的ID
+			size: 448, //生成的二维码大小
+			unit: 'upx', //大小单位尺寸
+			show: true, //默认使用组件中的image标签显示二维码
+			val: '', //要生成的内容
+			background: '#ffffff', //二维码背景色
+			foreground: '#333333', //二维码前景色
+			pdground: '#333333', //二维码角标色
+			icon: '', //二维码图标URL(必须是本地图片,网络图需要先下载至本地)
+			iconSize: 0, //二维码图标大小
+			lv: 3, //容错级别
+			onval: true, //监听val值变化自动重新生成二维码
+			loadMake: true, //组件初始化完成后自动生成二维码,val需要有值
+			usingComponents: false, //是否使用了自定义组件模式(主要是为了修复非自定义组件模式时 v-if 无法生成二维码的问题)
+			showLoading: false, //是否显示loading
+			loadingText: '二维码生成中', //loading文字
+			src: '', // 二维码生成后的图片地址或base64
+			ratio: 1, //页面比例用于计算
+			ctxSrc: '', //要显示的图片
+			loading: true, //是否载入图片中
+			canHeight: '', //画布高度
+			canWeidth: '', //画布宽度
+			id: '',
+			uid: ''
+		};
+	},
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
+		...mapState(['baseURL'])
+	},
+	onShow() {
+		console.log(this.userInfo);
+		// 判断是否已经登录
+		if (this.hasLogin) {
+			// this.loadBaseData();
+			// this.getSpreadCount()
+			console.log(this.userInfo);
+			// console.log(this.userInfo)
+		}
+	},
+	async onLoad(opt) {
+		await my({}).then(({ data }) => {
+			this.id = data.id;
+			this.uid = data.uid;
+		});
+		this.val = this.baseURL + '/index/pages/index/index?store_id=' + this.id + '&spread=' + this.uid;
+		console.log(this.val);
+	},
+	methods: {
+		// 生成二维码后返回base64
+		qrR(res) {
+			this.src = res;
 		}
-	}
-</script>
-
+	}
+};
+</script>
+
 <style lang="scss" scoped>
-	page {
-		height: 100%;
-		background-color: #fff;
+page {
+	height: 100%;
+	background-color: #fff;
+}
+.user-logo {
+	height: 300rpx;
+	display: flex;
+	flex-direction: column;
+	justify-content: center;
+	align-items: center;
+	image {
+		background-color: #eee;
+		width: 129rpx;
+		height: 129rpx;
+		border-radius: 50%;
 	}
-	.user-logo {
-		
-		height: 300rpx;
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		image {
-			background-color: #eee;
-			width: 129rpx;
-			height: 129rpx;
-			border-radius: 50%;
-		}
-		.user-name {
-			padding-top: 25rpx;
-			font-size: 34rpx;
-			font-family: SourceHanSansCN;
-			font-weight: 400;
-			color: #2B2B2B;
-		}
-		
+	.user-name {
+		padding-top: 25rpx;
+		font-size: 34rpx;
+		font-family: SourceHanSansCN;
+		font-weight: 400;
+		color: #2b2b2b;
 	}
-	.code-warpper {
-		width: 515rpx;
-		height: 515rpx;
-		margin: 0 auto;
-		border: 3rpx solid #52C696;
-		// padding-top: 46rpx;
-		position: relative;
-		.code-content {
-			position: absolute;
-			top: 0;
-			bottom: 0;
-			left: 0;
-			right: 0;
-			width: 448rpx;
-			height: 448rpx;
-			background-color: #eee;
-			margin: auto;
-		}
-		.code {
-			padding-top: 31rpx;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-			text-align: center;
-		}
+}
+.code-warpper {
+	width: 515rpx;
+	height: 515rpx;
+	margin: 0 auto;
+	border: 3rpx solid #52c696;
+	// padding-top: 46rpx;
+	position: relative;
+	.code-content {
+		position: absolute;
+		top: 0;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		width: 448rpx;
+		height: 448rpx;
+		background-color: #eee;
+		margin: auto;
 	}
-	.btm {
-		padding-top: 45rpx;
-		font-size: 30rpx;
+	.code {
+		padding-top: 31rpx;
+		font-size: 36rpx;
 		font-family: PingFang SC;
 		font-weight: bold;
 		color: #333333;
 		text-align: center;
-	}
+	}
+}
+.btm {
+	padding-top: 45rpx;
+	font-size: 30rpx;
+	font-family: PingFang SC;
+	font-weight: bold;
+	color: #333333;
+	text-align: center;
+}
 </style>
-

+ 357 - 0
pages/myteam/myteamQian.vue

@@ -0,0 +1,357 @@
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="money-box">
+				<view class="bg"><image src="../../static/img/team.png" mode=""></image></view>
+				<view class="body-title">
+					<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
+					<view class="header">百业团队</view>
+				</view>
+				<view>
+					<view class="money">
+						共
+						<text>{{ all || 0 }}</text>
+						人
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- <view class="navbar">
+			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">
+				<text>{{ item.num }}</text>
+				<text>{{ item.text }}</text>
+			</view>
+		</view> -->
+		<swiper :style="{ height: maxheight + 'px' }" class="swiper-box" duration="300">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+
+					<!-- 订单列表 -->
+					<view v-for="(item, index) in tabItem.orderList" :key="item.uid" class="andr-mt-flex andr-mt-lBox">
+						<!-- 订单列表 -->
+						<image :src="item.avatar" class="andr-mt-avatar andr-mt-marR20"></image>
+						<view class="andr-mt-flex andr-mt-fdC">
+							<text class="andr-mt-lname">{{ item.nickname }}</text>
+							<text class="andr-mt-ltime">{{ item.phone }}</text>
+						</view>
+					</view>
+					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+// import { spreadPeople } from '@/api/myteam.js';
+import { userinfo, m_spread_list } from '@/api/user.js';
+import { mapState, mapMutations } from 'vuex';
+import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+import empty from '@/components/empty';
+export default {
+	components: {
+		empty,
+		uniLoadMore
+	},
+	onReady(res) {
+		var _this = this;
+		uni.getSystemInfo({
+			success: resu => {
+				console.log(resu, '11111');
+				const query = uni.createSelectorQuery();
+				query.select('.swiper-box').boundingClientRect();
+				query.exec(function(res) {
+					console.log(res, 'ddddddddddddd');
+					_this.maxheight = resu.windowHeight - res[0].top;
+					console.log('打印页面的剩余高度', _this.maxheight);
+				});
+			},
+			fail: res => {}
+		});
+	},
+	data() {
+		return {
+			userInfo: {},
+			// 头部图高度
+			maxheight: '',
+			tabCurrentIndex: 0,
+			navList: [
+				{
+					state: 0,
+					text: '一级推广',
+					loadingType: 'more',
+					num: 0, //人数
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
+				}
+			],
+			all: 0
+		};
+	},
+	onLoad(options) {},
+	onShow() {
+		this.loadData();
+		// 获取用户积分
+		let obj = this;
+		userinfo({})
+			.then(({ data }) => {
+				console.log(data);
+				obj.userInfo = data;
+			})
+			.catch(e => {});
+	},
+	methods: {
+		// 页面跳转
+		navto(e) {
+			uni.navigateTo({
+				url: e
+			});
+		},
+		//返回上一页面
+		toBack() {
+			console.log(111);
+			uni.navigateBack({});
+		},
+		//获取收入支出信息
+		async loadData(source) {
+			let obj = this;
+			//这里是将订单挂载到tab列表下
+			let index = obj.tabCurrentIndex;
+			let navItem = obj.navList[index];
+			let state = navItem.state;
+			if (source === 'tabChange' && navItem.loaded === true) {
+				//tab切换只有第一次需要加载数据
+				return;
+			}
+			if (navItem.loadingType === 'loading') {
+				//防止重复加载
+				return;
+			}
+			// 修改当前对象状态为加载中
+			navItem.loadingType = 'loading';
+			m_spread_list({
+				page: navItem.page,
+				limit: navItem.limit,
+				grade: state,
+				keyword: '',
+				sort: ''
+			})
+				.then(({ data }) => {
+					obj.all = data.count;
+					console.log(data.count, '123456');
+					if (data.list.length > 0) {
+						navItem.orderList = navItem.orderList.concat(data.list);
+						console.log(navItem.orderList);
+						navItem.page++;
+					}
+					if (navItem.limit == data.list.length) {
+						//判断是否还有数据, 有改为 more, 没有改为noMore
+						navItem.loadingType = 'more';
+						return;
+					} else {
+						//判断是否还有数据, 有改为 more, 没有改为noMore
+						navItem.loadingType = 'noMore';
+					}
+					uni.hideLoading();
+					obj.$set(navItem, 'loaded', true);
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+
+		//swiper 切换
+		changeTab(e) {
+			this.tabCurrentIndex = e.target.current;
+			this.loadData('tabChange');
+		},
+		//顶部tab点击
+		tabClick(index) {
+			this.tabCurrentIndex = index;
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: #ffffff;
+	height: 100%;
+}
+
+.content-money {
+	background: $page-color-base;
+}
+.money-box {
+	background-color: $base-color;
+	padding-top: var(--status-bar-height);
+	height: 468rpx;
+	color: #ffffff;
+	text-align: center;
+	justify-content: center;
+	position: relative;
+	.body-title {
+		height: 80rpx;
+		text-align: center;
+		font-size: 35rpx;
+		position: relative;
+		.header {
+			position: absolute;
+			left: 0;
+			top: 0;
+			width: 100%;
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #fffeff;
+			height: 80rpx;
+			font-size: 32rpx;
+			font-weight: 700;
+			z-index: 9;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+		}
+		.goback-box {
+			position: absolute;
+			z-index: 10;
+			left: 24rpx;
+			top: 0;
+			height: 80rpx;
+			display: flex;
+			align-items: center;
+		}
+		.goback {
+			width: 30rpx;
+			height: 36rpx;
+		}
+	}
+	.bg {
+		position: absolute;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
+	.money {
+		position: relative;
+		z-index: 10;
+		font-size: 36rpx;
+		height: 388rpx;
+		line-height: 288rpx;
+		text {
+			font-size: 82rpx;
+		}
+	}
+}
+
+.navbar {
+	width: 700rpx;
+	margin: -60rpx auto 0;
+	display: flex;
+	height: 120rpx;
+	padding: 0 5px;
+	background: #fff;
+	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+	position: relative;
+	z-index: 10;
+	.nav-item {
+		flex: 1;
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		height: 100%;
+		font-size: 15px;
+		color: $font-color-dark;
+		position: relative;
+		&.current {
+			color: $base-color;
+			&:after {
+				content: '';
+				position: absolute;
+				left: 50%;
+				bottom: 0;
+				transform: translateX(-50%);
+				width: 44px;
+				height: 0;
+				border-bottom: 2px solid $base-color;
+			}
+		}
+	}
+}
+// 列表
+
+.swiper-box {
+	padding-top: 30rpx;
+	.order-item {
+		padding: 20rpx 30rpx;
+		line-height: 1.5;
+		.title-box {
+			.title {
+				font-size: $font-lg;
+				color: $font-color-base;
+			}
+			.time {
+				font-size: $font-base;
+				color: $font-color-light;
+			}
+		}
+		.money {
+			color: #fd5b23;
+			font-size: $font-lg;
+		}
+	}
+}
+.list-scroll-content {
+	height: 100%;
+}
+.content {
+	height: 100%;
+	.empty-content {
+		background-color: #ffffff;
+	}
+}
+.andr-mt-avatar {
+	width: 78rpx;
+	height: 78rpx;
+	border-radius: 50rpx;
+}
+.andr-mt-avatarBd {
+	border: 2px solid #ffffff;
+}
+.andr-mt-cname {
+	font-size: 28rpx;
+	color: #ffffff;
+}
+.andr-mt-flex {
+	display: flex;
+}
+.andr-mt-lBox {
+	background-color: #ffffff;
+	height: 130rpx;
+	padding: 20rpx 20rpx;
+	border-bottom: 1px solid #f0f0f0;
+}
+.andr-mt-marR20 {
+	margin-right: 20rpx;
+}
+.andr-mt-fdC {
+	flex-direction: column;
+}
+.andr-mt-lname {
+	font-size: 30rpx;
+	color: #3f454b;
+}
+.andr-mt-ltime {
+	font-size: 22rpx;
+	color: #999999;
+}
+</style>

+ 968 - 993
pages/prefecture/detail.vue

@@ -3,23 +3,22 @@
 		<view class="carousel">
 			<swiper indicator-dots :circular="true" duration="400">
 				<swiper-item class="swiper-item" v-for="(item, index) in imgList" :key="index">
-					<view class="image-wrapper">
-						<image :src="item" class="loaded" mode="aspectFill"></image>
-					</view>
+					<view class="image-wrapper"><image :src="item" class="loaded" mode="aspectFill"></image></view>
 				</swiper-item>
 			</swiper>
 		</view>
 		<view class="introduce-section">
 			<view class="price-box" v-if="goodsType == 0">
 				<image src="../../static/icon/xfq.png" mode=""></image>
-				<text class="price">{{ goodsObjact.price }}</text><text class="jftit"> 消费券</text>
-				<text class="old-price">¥{{goodsObjact.ot_price}}</text>
+				<text class="price">{{ goodsObjact.price }}</text>
+				<text class="jftit">消费券</text>
+				<text class="old-price">¥{{ goodsObjact.ot_price }}</text>
 			</view>
 			<text class="title" v-if="goodsType == 0">{{ goodsObjact.store_name }}</text>
 			<view class="bot-row">
 				<text>快递: {{ goodsObjact.postage }}</text>
 				<text style="text-align: center;">销量: {{ goodsObjact.sales }}</text>
-				<text style="text-align: right;">{{ storeObjact.address | address}}</text>
+				<text style="text-align: right;">{{ storeObjact.address | address }}</text>
 			</view>
 		</view>
 		<!-- 评价 -->
@@ -36,9 +35,7 @@
 					<text class="name">{{ reply.nickname }}</text>
 					<text class="con">{{ reply.comment }}</text>
 					<view class="con_box">
-						<view class="con_image" v-for="item in reply.pics">
-							<image :src="item"></image>
-						</view>
+						<view class="con_image" v-for="item in reply.pics"><image :src="item"></image></view>
 					</view>
 					<view class="bot">
 						<text class="attr"></text>
@@ -79,21 +76,16 @@
 				<image :src="shopInfo.logo" mode=" aspectFit" class="shop-img"></image>
 				<text class="font-size-lg">{{ shopInfo.title }}</text>
 			</view>
-			<navigator :url="'/pages/shoping/index?merid=' + shopId">
-				<view class="shop-button">进店逛逛</view>
-			</navigator>
+			<navigator :url="'/pages/shoping/index?merid=' + shopId"><view class="shop-button">进店逛逛</view></navigator>
 		</view>
 		<view class="detail-desc">
 			<view class="d-header"><text>图文详情</text></view>
 			<rich-text class="detail-centent" :nodes="goodsObjact.description"></rich-text>
-			<view :class="{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }">
-			</view>
+			<view :class="{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }"></view>
 		</view>
 		<!-- 底部操作菜单 -->
 		<view class="page-bottom" v-if="goodsType == 0">
-			<view class="action-btn-group">
-				<button type="primary" class=" action-btn no-border  add-cart-btn" @click="toggleSpec(1)">立即兑换</button>
-			</view>
+			<view class="action-btn-group"><button type="primary" class=" action-btn no-border  add-cart-btn" @click="toggleSpec(1)">立即兑换</button></view>
 		</view>
 		<!-- 规格-模态层弹窗 -->
 		<view class="popup spec" :class="specClass" @touchmove.stop.prevent="stopPrevent" @click="toggleSpec">
@@ -103,9 +95,10 @@
 				<view class="a-t">
 					<image :src="actionImage"></image>
 					<view class="right">
-						<view class="good-name clamp">{{goodsObjact.store_name}}</view>
+						<view class="good-name clamp">{{ goodsObjact.store_name }}</view>
 						<text class="price">
-							<image src="../../static/icon/xfq.png"></image>{{ actionPrice }}
+							<image src="../../static/icon/xfq.png"></image>
+							{{ actionPrice }}
 						</text>
 						<!-- <text class="stock">库存:{{ goodsObjact.stock }}件</text> -->
 						<!-- <view class="selected" v-if="goodsType == 0">
@@ -117,8 +110,13 @@
 				<view v-for="(item, index) in specList" :key="index" class="attr-list">
 					<text>{{ item.attr_name }}</text>
 					<view class="item-list">
-						<text v-for="(childItem, childIndex) in item.attr_value" :key="childIndex" class="tit"
-							:class="{ selected: childItem.check }" @click="selectSpec(childItem, item, index)">
+						<text
+							v-for="(childItem, childIndex) in item.attr_value"
+							:key="childIndex"
+							class="tit"
+							:class="{ selected: childItem.check }"
+							@click="selectSpec(childItem, item, index)"
+						>
 							{{ childItem.attr }}
 						</text>
 					</view>
@@ -126,8 +124,7 @@
 				<view class="attr-list">
 					<text>购买数量</text>
 					<view class="item-list">
-						<uni-number-box class="step" :isMin="true" :value="goodsNumber" :min="1" :max="goodsNumberMax"
-							@eventChange="numberChange"></uni-number-box>
+						<uni-number-box class="step" :isMin="true" :value="goodsNumber" :min="1" :max="goodsNumberMax" @eventChange="numberChange"></uni-number-box>
 					</view>
 				</view>
 				<button class="btn" @click.stop="buy">完成</button>
@@ -140,1167 +137,1145 @@
 </template>
 
 <script>
-	import share from '@/components/share';
-	import uniNumberBox from '@/components/uni-number-box.vue';
-	import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
-	import {
-		goodsDetail,
-		cartAdd,
-		collectAdd,
-		collectDel,
-		seckillGoods,
-		groupGoods
-	} from '@/api/product.js';
-	import {
-		getShoping
-	} from '@/api/shoping.js';
-
-	// import { weixindata } from '@/utils/wxAuthorized';
-	import {
-		mapState
-	} from 'vuex';
-
-
-	// #ifdef H5
-	import {
-		weixindata,
-		weixinlocation,
-		shareLoad
-	} from '@/utils/wxAuthorized';
-	// #endif
-	export default {
-		components: {
-			share,
-			uniNumberBox,
-			uniCountdown
-		},
-		filters: {
-			address(val) {
-				let str = ''
-				if (val) {
-					str = val[0] + ' ' + val[1]
-				}
-				return str
+import share from '@/components/share';
+import uniNumberBox from '@/components/uni-number-box.vue';
+import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
+import { goodsDetail, cartAdd, collectAdd, collectDel, seckillGoods, groupGoods } from '@/api/product.js';
+import { getShoping } from '@/api/shoping.js';
+
+// import { weixindata } from '@/utils/wxAuthorized';
+import { mapState } from 'vuex';
+
+// #ifdef H5
+import { weixindata, weixinlocation, shareLoad } from '@/utils/wxAuthorized';
+// #endif
+export default {
+	components: {
+		share,
+		uniNumberBox,
+		uniCountdown
+	},
+	filters: {
+		address(val) {
+			let str = '';
+			if (val) {
+				str = val[0] + ' ' + val[1];
 			}
-		},
-		data() {
-			return {
-				details: '',
-				reply: '', //评论
-				type: 1, //默认支付方式add为
-				goodsNumber: 1, //购买数量
-				goodsid: '', //商品id
-				specClass: 'none', //显示隐藏弹窗
-				shareList: [], //分享列表
-				goodsObjact: {}, //保存商品数据
-				storeObjact: {}, //保存店铺数据
-				//图片循环
-				imgList: [],
-				specList: [],
-				// 对比对象
-				productValue: [],
-				actionPrice: 0, //默认选中商品价格
-				actionImage: '', //默认选中图片
-				uniqueId: '', //选中的商品分类
-				specSelected: [], //选中的分类
-				specSelectedName: '', //选中分类名称
-				goodsNumberMax: 0, //最大可购买数量
-				shopId: '', //商店id
-				//商店信息
-				shopInfo: {
-					logo: '',
-					title: ''
-				}, //商店信息
-				goodsType: 0, //商品类型1秒杀商品0为普通商品2为拼团商品
-				// 秒杀数据保存
-				seckillObj: {
-					stopTime: 0, //结束时间
-					stop: false, //是否结束
-					stopTimeH: 0, //小时
-					stopTimeM: 0, //分钟
-					stopTimeS: 0 //秒钟
-				},
-				// 拼团数据保存
-				pink: {
-					id: '', //拼团编号
-					uid: '', //用户编号
-					people: '', //拼团人数
-					price: '', //拼团价格
-					stop_time: '', //拼团结束时间
-					nickname: '', //团长昵称
-					avatar: '', //团长头像
-					count: '', //拼团剩余人数
-					h: '', //时
-					i: '', //分
-					s: '' //秒
+			return str;
+		}
+	},
+	data() {
+		return {
+			details: '',
+			reply: '', //评论
+			type: 1, //默认支付方式add为
+			goodsNumber: 1, //购买数量
+			goodsid: '', //商品id
+			specClass: 'none', //显示隐藏弹窗
+			shareList: [], //分享列表
+			goodsObjact: {}, //保存商品数据
+			storeObjact: {}, //保存店铺数据
+			//图片循环
+			imgList: [],
+			specList: [],
+			// 对比对象
+			productValue: [],
+			actionPrice: 0, //默认选中商品价格
+			actionImage: '', //默认选中图片
+			uniqueId: '', //选中的商品分类
+			specSelected: [], //选中的分类
+			specSelectedName: '', //选中分类名称
+			goodsNumberMax: 0, //最大可购买数量
+			shopId: '', //商店id
+			//商店信息
+			shopInfo: {
+				logo: '',
+				title: ''
+			}, //商店信息
+			goodsType: 0, //商品类型1秒杀商品0为普通商品2为拼团商品
+			// 秒杀数据保存
+			seckillObj: {
+				stopTime: 0, //结束时间
+				stop: false, //是否结束
+				stopTimeH: 0, //小时
+				stopTimeM: 0, //分钟
+				stopTimeS: 0 //秒钟
+			},
+			// 拼团数据保存
+			pink: {
+				id: '', //拼团编号
+				uid: '', //用户编号
+				people: '', //拼团人数
+				price: '', //拼团价格
+				stop_time: '', //拼团结束时间
+				nickname: '', //团长昵称
+				avatar: '', //团长头像
+				count: '', //拼团剩余人数
+				h: '', //时
+				i: '', //分
+				s: '' //秒
+			},
+			detype: '1' // 1为积分商品  2为兑换券商品
+		};
+	},
+	async onLoad(options) {
+		let obj = this;
+		if (options.detype) {
+			obj.detype = options.detype;
+		}
+		//保存商品id
+		this.goodsid = options.id;
+		// 判断有无人邀请
+		if (options.spread) {
+			// 存储邀请人
+			uni.setStorageSync('spread', options.spread);
+		}
+		// 判断是否为秒杀商品
+		if (options.type == 1) {
+			// 保存商品类型
+			this.goodsType = 1;
+			// 保存结束时间
+			this.seckillObj.stopTime = options.stoptime;
+			// 获取当前时间毫秒数
+			let stoptime = options.stoptime * 1000;
+			// 获取当前时间
+			let acitonTime = new Date();
+			// 判断当前时间是否大于结束时间
+			if (acitonTime.getTime() > stoptime) {
+				// 当前秒杀时间已经结束
+				this.seckillObj.stop = true;
+			} else {
+				// 计算倒计时
+				this.timeComputed(stoptime, this.seckillObj);
+			}
+			this.seckillGoods();
+			return;
+		}
+		if (options.type == 2) {
+			// 保存当前拼团商品类型
+			this.goodsType = 2;
+			// 家在数据
+			this.groupGoods();
+			return;
+		}
+		if (this.goodsType == 0) {
+			// 加载普通商品详情
+			this.goodsDetail();
+		}
+	},
+	computed: {
+		// #ifdef H5
+		...mapState(['weichatObj', 'baseURL', 'urlFile']),
+		...mapState('user', ['userInfo'])
+		// #endif
+	},
+	methods: {
+		// 分享
+		// #ifdef H5
+		IndexShare() {
+			let obj = this;
+			// console.log('dddddddffffffffffffff')
+			// 设置菜单中的转发按钮触发转发事件时的转发内容
+			let pages = getCurrentPages(); //获取加载的页面
+			let currentPage = pages[pages.length - 1]; //获取当前页面的对象
+			let url = '/' + currentPage.route; //当前页面url
+			let item = currentPage.options; //如果要获取url中所带的参数可以查看options
+			let shareObj = {
+				title: obj.goodsObjact.store_name, // 默认是小程序的名称(可以写slogan等)
+				link: obj.baseURL + url + '?id=' + item.id + '&spread=' + obj.userInfo.uid, // 默认是当前页面,必须是以‘/’开头的完整路径
+				desc: obj.goodsObjact.store_name + '   价格:' + obj.goodsObjact.price,
+				imgUrl: obj.goodsObjact.image,
+				success: function(res) {
+					// 转发成功之后的回调
+					if (res.errMsg == 'shareAppMessage:ok') {
+					}
 				},
-				detype: '1', // 1为积分商品  2为兑换券商品 
+				fail: function() {
+					// 转发失败之后的回调
+					if (res.errMsg == 'shareAppMessage:fail cancel') {
+						// 用户取消转发
+					} else if (res.errMsg == 'shareAppMessage:fail') {
+						// 转发失败,其中 detail message 为详细失败信息
+					}
+				}
 			};
+			console.log(shareObj, '8888888888888888888');
+			shareLoad(shareObj);
+		},
+		// #endif
+		navTo(url) {
+			uni.navigateTo({
+				url
+			});
 		},
-		async onLoad(options) {
+		//获取商店信息
+		getShoping() {
 			let obj = this;
-			if (options.detype) {
-				obj.detype = options.detype
-			}
-			//保存商品id
-			this.goodsid = options.id;
-			// 判断有无人邀请
-			if (options.spread) {
-				// 存储邀请人
-				uni.setStorageSync('spread', options.spread);
-			}
-			// 判断是否为秒杀商品
-			if (options.type == 1) {
-				// 保存商品类型
-				this.goodsType = 1;
-				// 保存结束时间
-				this.seckillObj.stopTime = options.stoptime;
-				// 获取当前时间毫秒数
-				let stoptime = options.stoptime * 1000;
-				// 获取当前时间
-				let acitonTime = new Date();
-				// 判断当前时间是否大于结束时间
-				if (acitonTime.getTime() > stoptime) {
-					// 当前秒杀时间已经结束
-					this.seckillObj.stop = true;
-				} else {
-					// 计算倒计时
-					this.timeComputed(stoptime, this.seckillObj);
+			getShoping({
+				mer_id: this.shopId
+			})
+				.then(function({ data }) {
+					console.log(data);
+					obj.shopInfo = data;
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		// 转换字符串为数字
+		moneyNum: function(value) {
+			return +value;
+		},
+		navToProductGoods() {
+			uni.redirectTo({
+				url: '/pages/product/product?id=' + this.goodsObjact.product_id
+			});
+		},
+		// 获取商品信息
+		goodsDetail() {
+			let obj = this;
+			goodsDetail({}, this.goodsid).then(function({ data }) {
+				obj.details = data;
+				let goods = data.storeInfo;
+				let store_info = data.system_store; // 保存店铺信息
+				console.log(store_info);
+				obj.storeObjact = store_info;
+				obj.goodsObjact = goods;
+				obj.reply = data.reply; //保存评论列表
+				obj.imgList = goods.slider_image; //保存轮播图
+				obj.specList = data.productAttr; //保存分类列表
+				obj.productValue = data.productValue; //保存分类查询数据
+				obj.actionPrice = goods.price; //保存默认选中商品价格
+				obj.actionImage = goods.image_base; //保存默认选中商品价格
+				obj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量
+				obj.shopId = data.mer_id; //保存商店id
+				if (obj.shopId > 0) {
+					obj.getShoping();
 				}
-				this.seckillGoods();
-				return;
+				// #ifdef H5
+				obj.shareDate();
+				obj.IndexShare();
+				// #endif
+			});
+		},
+		// #ifdef H5
+		// 加载微信html5页面分享方法
+		shareDate() {
+			let obj = this;
+			// 保存分享人id链接
+			let url = window.location.href + '&spread=' + this.userInfo.uid;
+			// 判断是否微信浏览器
+			let bool = uni.getStorageSync('weichatBrowser') || '';
+			if (bool) {
+				// 过滤微信强制添加的链接地址
+				url = url.replace(/[\?,&]from=singlemessage/g, '');
+				let data = {
+					link: url, // 分享链接
+					imgUrl: obj.goodsObjact.image, // 分享图标
+					desc: obj.goodsObjact.store_info,
+					title: obj.goodsObjact.store_name,
+					success: function(e) {
+						console.log(e);
+					}
+				};
+				weixindata(data);
 			}
-			if (options.type == 2) {
-				// 保存当前拼团商品类型
-				this.goodsType = 2;
-				// 家在数据
-				this.groupGoods();
-				return;
+		},
+		// #endif
+		// 购买数量变化
+		numberChange(e) {
+			this.goodsNumber = e.number;
+		},
+		//规格弹窗开关
+		toggleSpec(str) {
+			if (this.specClass === 'show') {
+				this.specClass = 'hide';
+				setTimeout(() => {
+					this.specClass = 'none';
+				}, 250);
+			} else if (this.specClass === 'none') {
+				this.specClass = 'show';
 			}
-			if (this.goodsType == 0) {
-				// 加载普通商品详情
-				this.goodsDetail();
+			// 保存当前购买类型
+			this.type = str;
+		},
+		//选择规格
+		selectSpec(item, arr, ind) {
+			arr.attr_value.forEach(function(e) {
+				e.check = false;
+			});
+			item.check = true;
+			this.specSelected[ind] = item.attr;
+			let str = this.specSelected.join(',');
+			this.specSelectedName = this.specSelected.join(' ');
+			if (this.productValue[str]) {
+				let data = this.productValue[str];
+				this.actionPrice = data.price;
+				this.goodsNumberMax = data.stock;
+				this.actionImage = data.image;
+				this.uniqueId = data.unique;
 			}
 		},
-		computed: {
-			// #ifdef H5
-			...mapState(['weichatObj', 'baseURL', 'urlFile']),
-			...mapState('user', ['userInfo'])
-			// #endif
+		//分享
+		share() {
+			this.$refs.share.toggleMask();
 		},
-		methods: {
-			// 分享
-			// #ifdef H5
-			IndexShare() {
-				let obj = this
-				// console.log('dddddddffffffffffffff')
-				// 设置菜单中的转发按钮触发转发事件时的转发内容
-				let pages = getCurrentPages(); //获取加载的页面
-				let currentPage = pages[pages.length - 1]; //获取当前页面的对象
-				let url = '/#/' + currentPage.route; //当前页面url
-				let item = currentPage.options; //如果要获取url中所带的参数可以查看options
-				let shareObj = {
-					title: obj.goodsObjact.store_name, // 默认是小程序的名称(可以写slogan等)
-					link: obj.baseURL + url + '?id=' + item.id + '&spread=' + obj.userInfo
-					.uid, // 默认是当前页面,必须是以‘/’开头的完整路径
-					desc: obj.goodsObjact.store_name + '   价格:' + obj.goodsObjact.price,
-					imgUrl: obj.goodsObjact.image,
-					success: function(res) {
-						// 转发成功之后的回调
-						if (res.errMsg == 'shareAppMessage:ok') {}
-					},
-					fail: function() {
-						// 转发失败之后的回调
-						if (res.errMsg == 'shareAppMessage:fail cancel') {
-							// 用户取消转发
-						} else if (res.errMsg == 'shareAppMessage:fail') {
-							// 转发失败,其中 detail message 为详细失败信息
-						}
-					}
-				};
-				console.log(shareObj, '8888888888888888888');
-				shareLoad(shareObj);
-			},
-			// #endif
-			navTo(url) {
-				uni.navigateTo({
-					url
-				});
-			},
-			//获取商店信息
-			getShoping() {
-				let obj = this;
-				getShoping({
-						mer_id: this.shopId
-					})
-					.then(function({
-						data
-					}) {
-						console.log(data);
-						obj.shopInfo = data;
-					})
-					.catch(e => {
-						console.log(e);
+		//收藏
+		toFavorite(item) {
+			let obj = this;
+			item.userCollect = !item.userCollect;
+			if (!item.userCollect) {
+				collectDel({
+					id: obj.goodsid,
+					category: 'product'
+				}).then(function(e) {
+					uni.showToast({
+						title: '成功取消收藏',
+						type: 'top',
+						duration: 1500
 					});
-			},
-			// 转换字符串为数字
-			moneyNum: function(value) {
-				return +value;
-			},
-			navToProductGoods() {
-				uni.redirectTo({
-					url: '/pages/product/product?id=' + this.goodsObjact.product_id
-				});
-			},
-			// 获取商品信息
-			goodsDetail() {
-				let obj = this;
-				goodsDetail({}, this.goodsid).then(function({
-					data
-				}) {
-					obj.details = data;
-					let goods = data.storeInfo;
-					let store_info = data.system_store // 保存店铺信息
-					console.log(store_info)
-					obj.storeObjact = store_info
-					obj.goodsObjact = goods;
-					obj.reply = data.reply; //保存评论列表
-					obj.imgList = goods.slider_image; //保存轮播图
-					obj.specList = data.productAttr; //保存分类列表
-					obj.productValue = data.productValue; //保存分类查询数据
-					obj.actionPrice = goods.price; //保存默认选中商品价格
-					obj.actionImage = goods.image_base; //保存默认选中商品价格
-					obj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量
-					obj.shopId = data.mer_id; //保存商店id
-					if (obj.shopId > 0) {
-						obj.getShoping();
-					}
-					// #ifdef H5
-					obj.shareDate();
-					obj.IndexShare()
-					// #endif
 				});
-			},
-			// #ifdef H5
-			// 加载微信html5页面分享方法
-			shareDate() {
-				let obj = this;
-				// 保存分享人id链接
-				let url = window.location.href + '&spread=' + this.userInfo.uid;
-				// 判断是否微信浏览器
-				let bool = uni.getStorageSync('weichatBrowser') || '';
-				if (bool) {
-					// 过滤微信强制添加的链接地址
-					url = url.replace(/[\?,&]from=singlemessage/g, '');
-					let data = {
-						link: url, // 分享链接
-						imgUrl: obj.goodsObjact.image, // 分享图标
-						desc: obj.goodsObjact.store_info,
-						title: obj.goodsObjact.store_name,
-						success: function(e) {
-							console.log(e);
-						}
-					};
-					weixindata(data);
-				}
-			},
-			// #endif
-			// 购买数量变化
-			numberChange(e) {
-				this.goodsNumber = e.number;
-			},
-			//规格弹窗开关
-			toggleSpec(str) {
-				if (this.specClass === 'show') {
-					this.specClass = 'hide';
-					setTimeout(() => {
-						this.specClass = 'none';
-					}, 250);
-				} else if (this.specClass === 'none') {
-					this.specClass = 'show';
-				}
-				// 保存当前购买类型
-				this.type = str;
-			},
-			//选择规格
-			selectSpec(item, arr, ind) {
-				arr.attr_value.forEach(function(e) {
-					e.check = false;
+			} else {
+				collectAdd({
+					id: obj.goodsid,
+					category: 'product'
+				}).then(function(e) {
+					uni.showToast({
+						title: '成功加入收藏',
+						type: 'top',
+						duration: 1500
+					});
 				});
-				item.check = true;
-				this.specSelected[ind] = item.attr;
-				let str = this.specSelected.join(',');
-				this.specSelectedName = this.specSelected.join(' ');
-				if (this.productValue[str]) {
-					let data = this.productValue[str];
-					this.actionPrice = data.price;
-					this.goodsNumberMax = data.stock;
-					this.actionImage = data.image;
-					this.uniqueId = data.unique;
+			}
+		},
+		// 立即购买
+		buy() {
+			let obj = this;
+			let data = {
+				cartNum: obj.goodsNumber, //商品数量
+				uniqueId: obj.uniqueId, //商品标签
+				new: '1', //商品是否新增加到购物车1为不加入0为加入
+				mer_id: obj.shopId,
+				is_consumer: 1
+			};
+			if (obj.type == 2) {
+				data.new = 0;
+			}
+			if (obj.goodsType == 0) {
+				data.productId = obj.goodsid; //商品编号
+			}
+			// 判断是否为秒杀商品
+			if (obj.goodsType == 1) {
+				data.secKillId = obj.goodsid; //秒杀商品编号
+				data.productId = obj.goodsObjact.product_id; //商品编号
+				// 判断是否秒杀已经结束
+				if (obj.seckillObj.stop) {
+					uni.showModal({
+						title: '提示',
+						content: '当前活动已经结束',
+						showCancel: false
+					});
+					return;
 				}
-			},
-			//分享
-			share() {
-				this.$refs.share.toggleMask();
-			},
-			//收藏
-			toFavorite(item) {
-				let obj = this;
-				item.userCollect = !item.userCollect;
-				if (!item.userCollect) {
-					collectDel({
-						id: obj.goodsid,
-						category: 'product'
-					}).then(function(e) {
-						uni.showToast({
-							title: '成功取消收藏',
-							type: 'top',
-							duration: 1500
+			}
+			// 判断是否为拼团商品
+			if (obj.goodsType == 2) {
+				data.combinationId = obj.goodsid; //拼团编号
+				data.productId = obj.goodsObjact.product_id; //商品编号
+			}
+			cartAdd(data)
+				.then(function({ data }) {
+					if (obj.type == 1) {
+						// 跳转到支付页
+						uni.navigateTo({
+							url: '/pages/order/createOrder?id=' + data.cartId + '&goodsType=' + obj.goodsType + '&consumer=1'
 						});
-					});
-				} else {
-					collectAdd({
-						id: obj.goodsid,
-						category: 'product'
-					}).then(function(e) {
+					}
+					if (obj.type == 2) {
 						uni.showToast({
-							title: '成功加入收藏',
+							title: '成功加入购物车',
 							type: 'top',
-							duration: 1500
-						});
-					});
-				}
-			},
-			// 立即购买
-			buy() {
-				let obj = this;
-				let data = {
-					cartNum: obj.goodsNumber, //商品数量
-					uniqueId: obj.uniqueId, //商品标签
-					new: '1', //商品是否新增加到购物车1为不加入0为加入
-					mer_id: obj.shopId,
-					is_consumer: 1,
-				};
-				if (obj.type == 2) {
-					data.new = 0;
-				}
-				if (obj.goodsType == 0) {
-					data.productId = obj.goodsid; //商品编号
-				}
-				// 判断是否为秒杀商品
-				if (obj.goodsType == 1) {
-					data.secKillId = obj.goodsid; //秒杀商品编号
-					data.productId = obj.goodsObjact.product_id; //商品编号
-					// 判断是否秒杀已经结束
-					if (obj.seckillObj.stop) {
-						uni.showModal({
-							title: '提示',
-							content: '当前活动已经结束',
-							showCancel: false
+							duration: 2000
 						});
-						return;
+						obj.toggleSpec();
 					}
-				}
-				// 判断是否为拼团商品
-				if (obj.goodsType == 2) {
-					data.combinationId = obj.goodsid; //拼团编号
-					data.productId = obj.goodsObjact.product_id; //商品编号
-				}
-				cartAdd(data)
-					.then(function({
-						data
-					}) {
-						if (obj.type == 1) {
-							// 跳转到支付页
-							uni.navigateTo({
-								url: '/pages/order/createOrder?id=' + data.cartId + '&goodsType=' + obj
-									.goodsType + '&consumer=1'
-							});
-						}
-						if (obj.type == 2) {
-							uni.showToast({
-								title: '成功加入购物车',
-								type: 'top',
-								duration: 2000
-							});
-							obj.toggleSpec();
-						}
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
-			stopPrevent() {}
-		}
-	};
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		stopPrevent() {}
+	}
+};
 </script>
 
 <style lang="scss">
-	page {
-		background: $page-color-base;
+page {
+	background: $page-color-base;
+}
+
+//秒杀底部高度
+.seckillBottom {
+	height: 110rpx;
+}
+
+// 文章页底部高度撑开
+.contentBottomHeight {
+	height: 110rpx;
+}
+
+//默认商品底部高度
+.goodsBottom {
+	height: 160rpx;
+}
+
+.iconenter {
+	font-size: $font-base + 2rpx;
+	color: #888;
+}
+
+.carousel {
+	/* #ifdef APP-PLUS */
+	padding-top: var(--status-bar-height);
+	/* #endif */
+	height: 722rpx;
+	position: relative;
+
+	swiper {
+		height: 100%;
+	}
+
+	.image-wrapper {
+		width: 100%;
+		height: 100%;
 	}
 
-	//秒杀底部高度
-	.seckillBottom {
-		height: 110rpx;
+	.swiper-item {
+		display: flex;
+		justify-content: center;
+		align-content: center;
+		// height: 750rpx;
+		height: 710rpx;
+		overflow: hidden;
+
+		image {
+			width: 100%;
+			height: 100%;
+		}
 	}
+}
+
+// 秒杀
+.seckill-box-title {
+	background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%) !important;
 
-	// 文章页底部高度撑开
-	.contentBottomHeight {
-		height: 110rpx;
+	.price,
+	.price-tip,
+	.timeStop,
+	.m-price {
+		color: #ffffff !important;
 	}
 
-	//默认商品底部高度
-	.goodsBottom {
-		height: 160rpx;
+	.price-tip {
+		font-size: $font-base;
 	}
 
-	.iconenter {
-		font-size: $font-base + 2rpx;
-		color: #888;
+	.price {
+		font-size: 45rpx !important;
+		font-weight: bold;
 	}
 
-	.carousel {
-		/* #ifdef APP-PLUS */
-		padding-top: var(--status-bar-height);
-		/* #endif */
-		height: 722rpx;
-		position: relative;
+	.timeStop {
+	}
+}
+
+// 底部拼团、秒杀支付按钮
+.goods-pay-box {
+	position: fixed;
+	left: 0;
+	bottom: 0;
+	z-index: 95;
+	width: 750rpx;
+	height: 100rpx;
+	line-height: 1;
+	color: #ffffff;
+	text-align: center;
+	font-size: $font-lg;
+
+	.bgLine {
+		background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%);
+	}
 
-		swiper {
-			height: 100%;
-		}
+	// 拼团支付按钮
+	.goods-pay {
+		display: flex;
+		align-content: center;
+		flex-wrap: wrap;
+		justify-content: center;
 
-		.image-wrapper {
+		.goods-buttom,
+		.goods-buttom-money {
 			width: 100%;
-			height: 100%;
 		}
 
-		.swiper-item {
-			display: flex;
-			justify-content: center;
-			align-content: center;
-			// height: 750rpx;
-			height: 710rpx;
-			overflow: hidden;
-
-			image {
-				width: 100%;
-				height: 100%;
-			}
+		.goods-buttom-money {
+			font-size: $font-base;
 		}
 	}
 
-	// 秒杀
-	.seckill-box-title {
-		background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%) !important;
+	.goods-pay-stop,
+	.goods-pay {
+		padding: 15rpx 0;
+		height: 100%;
+		width: 100%;
+	}
 
-		.price,
-		.price-tip,
-		.timeStop,
-		.m-price {
-			color: #ffffff !important;
-		}
+	.goods-pay-stop {
+		background: $color-gray;
+		line-height: 70rpx;
+	}
+}
+
+/* 标题简介 */
+.introduce-section {
+	background: #fff;
+	padding: 20rpx 30rpx;
+
+	.title {
+		font-size: 32rpx;
+		color: $font-color-dark;
+		height: 50rpx;
+		line-height: 50rpx;
+	}
 
-		.price-tip {
-			font-size: $font-base;
+	.price-box {
+		display: flex;
+		align-items: baseline;
+		height: 64rpx;
+		padding: 10rpx 0;
+		font-size: 26rpx;
+		color: $uni-color-primary;
+
+		image {
+			width: 32rpx;
+			height: 32rpx;
+			margin-right: 8rpx;
 		}
 
-		.price {
-			font-size: 45rpx !important;
+		.jftit {
+			padding-left: 4rpx;
+			font-size: 23rpx;
+			font-family: PingFang SC;
 			font-weight: bold;
+			color: #ff6f0f;
 		}
 
-		.timeStop {}
+		.old-price {
+			padding-left: 8rpx;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			text-decoration: line-through;
+			color: #999999;
+		}
 	}
 
-	// 底部拼团、秒杀支付按钮
-	.goods-pay-box {
-		position: fixed;
-		left: 0;
-		bottom: 0;
-		z-index: 95;
-		width: 750rpx;
-		height: 100rpx;
-		line-height: 1;
-		color: #ffffff;
-		text-align: center;
-		font-size: $font-lg;
+	.price {
+		font-size: 45rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ff6f0f;
+		// font-size: $font-lg + 2rpx;
+	}
 
-		.bgLine {
-			background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%);
-		}
+	.m-price {
+		margin: 0 12rpx;
+		color: $font-color-light;
+		text-decoration: line-through;
+	}
 
-		// 拼团支付按钮
-		.goods-pay {
-			display: flex;
-			align-content: center;
-			flex-wrap: wrap;
-			justify-content: center;
+	.coupon-tip {
+		align-items: center;
+		padding: 4rpx 10rpx;
+		background: $uni-color-primary;
+		font-size: $font-sm;
+		color: #fff;
+		border-radius: 6rpx;
+		line-height: 1;
+		transform: translateY(-4rpx);
+	}
 
-			.goods-buttom,
-			.goods-buttom-money {
-				width: 100%;
-			}
+	.bot-row {
+		display: flex;
+		align-items: center;
+		height: 50rpx;
+		font-size: $font-sm;
+		color: $font-color-light;
 
-			.goods-buttom-money {
-				font-size: $font-base;
-			}
+		text {
+			flex: 1;
 		}
+	}
+}
 
-		.goods-pay-stop,
-		.goods-pay {
-			padding: 15rpx 0;
-			height: 100%;
-			width: 100%;
-		}
+/* 分享 */
+.share-section {
+	display: flex;
+	align-items: center;
+	color: $font-color-base;
+	background: linear-gradient(left, #fdf5f6, #fbebf6);
+	padding: 12rpx 30rpx;
 
-		.goods-pay-stop {
-			background: $color-gray;
-			line-height: 70rpx;
+	.share-icon {
+		display: flex;
+		align-items: center;
+		width: 70rpx;
+		height: 30rpx;
+		line-height: 1;
+		border: 1px solid $uni-color-primary;
+		border-radius: 4rpx;
+		position: relative;
+		overflow: hidden;
+		font-size: 22rpx;
+		color: $uni-color-primary;
+
+		&:after {
+			content: '';
+			width: 50rpx;
+			height: 50rpx;
+			border-radius: 50%;
+			left: -20rpx;
+			top: -12rpx;
+			position: absolute;
+			background: $uni-color-primary;
 		}
 	}
 
-	/* 标题简介 */
-	.introduce-section {
-		background: #fff;
-		padding: 20rpx 30rpx;
+	.iconfavorfill {
+		position: relative;
+		z-index: 1;
+		font-size: 24rpx;
+		margin-left: 2rpx;
+		margin-right: 10rpx;
+		color: #fff;
+		line-height: 1;
+	}
 
-		.title {
-			font-size: 32rpx;
-			color: $font-color-dark;
-			height: 50rpx;
-			line-height: 50rpx;
-		}
+	.tit {
+		font-size: $font-base;
+		margin-left: 10rpx;
+	}
 
-		.price-box {
-			display: flex;
-			align-items: baseline;
-			height: 64rpx;
-			padding: 10rpx 0;
-			font-size: 26rpx;
-			color: $uni-color-primary;
+	.iconprompt {
+		padding: 10rpx;
+		font-size: 30rpx;
+		line-height: 1;
+	}
 
-			image {
-				width: 32rpx;
-				height: 32rpx;
-				margin-right: 8rpx;
-			}
+	.share-btn {
+		flex: 1;
+		text-align: right;
+		font-size: $font-sm;
+		color: $uni-color-primary;
+	}
 
-			.jftit {
-				padding-left: 4rpx;
-				font-size: 23rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FF6F0F;
-			}
+	.iconenter {
+		font-size: $font-sm;
+		margin-left: 4rpx;
+		color: $uni-color-primary;
+	}
+}
 
-			.old-price {
-				padding-left: 8rpx;
-				font-size: 30rpx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				text-decoration: line-through;
-				color: #999999;
-			}
-		}
+.c-list {
+	margin-top: 20rpx;
+	font-size: $font-sm + 2rpx;
+	color: $font-color-base;
+	background: #fff;
 
-		.price {
-			font-size: 45rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #FF6F0F;
-			// font-size: $font-lg + 2rpx;
-		}
+	.c-row {
+		display: flex;
+		align-items: center;
+		padding: 20rpx 30rpx;
+		position: relative;
+	}
 
-		.m-price {
-			margin: 0 12rpx;
-			color: $font-color-light;
-			text-decoration: line-through;
-		}
+	.tit {
+		width: 140rpx;
+	}
 
-		.coupon-tip {
-			align-items: center;
-			padding: 4rpx 10rpx;
-			background: $uni-color-primary;
-			font-size: $font-sm;
-			color: #fff;
-			border-radius: 6rpx;
-			line-height: 1;
-			transform: translateY(-4rpx);
+	.con {
+		flex: 1;
+		color: $font-color-dark;
+
+		.selected-text {
+			margin-right: 10rpx;
 		}
+	}
 
-		.bot-row {
-			display: flex;
-			align-items: center;
-			height: 50rpx;
-			font-size: $font-sm;
-			color: $font-color-light;
+	.bz-list {
+		height: 40rpx;
+		font-size: $font-sm + 2rpx;
+		color: $font-color-dark;
 
-			text {
-				flex: 1;
-			}
+		text {
+			display: inline-block;
+			margin-right: 30rpx;
 		}
 	}
 
-	/* 分享 */
-	.share-section {
+	.con-list {
+		flex: 1;
 		display: flex;
-		align-items: center;
-		color: $font-color-base;
-		background: linear-gradient(left, #fdf5f6, #fbebf6);
-		padding: 12rpx 30rpx;
+		flex-direction: column;
+		color: $font-color-dark;
+		line-height: 40rpx;
+	}
 
-		.share-icon {
-			display: flex;
-			align-items: center;
-			width: 70rpx;
-			height: 30rpx;
-			line-height: 1;
-			border: 1px solid $uni-color-primary;
-			border-radius: 4rpx;
-			position: relative;
-			overflow: hidden;
-			font-size: 22rpx;
-			color: $uni-color-primary;
+	.red {
+		color: $uni-color-primary;
+	}
+}
 
-			&:after {
-				content: '';
-				width: 50rpx;
-				height: 50rpx;
-				border-radius: 50%;
-				left: -20rpx;
-				top: -12rpx;
-				position: absolute;
-				background: $uni-color-primary;
-			}
-		}
+/* 评价 */
+.eva-section {
+	display: flex;
+	flex-direction: column;
+	padding: 20rpx 30rpx;
+	background: #fff;
+	margin-top: 16rpx;
 
-		.iconfavorfill {
-			position: relative;
-			z-index: 1;
-			font-size: 24rpx;
-			margin-left: 2rpx;
-			margin-right: 10rpx;
-			color: #fff;
-			line-height: 1;
-		}
+	.e-header {
+		display: flex;
+		align-items: center;
+		height: 70rpx;
+		font-size: $font-sm + 2rpx;
+		color: $font-color-light;
 
 		.tit {
-			font-size: $font-base;
-			margin-left: 10rpx;
-		}
-
-		.iconprompt {
-			padding: 10rpx;
-			font-size: 30rpx;
-			line-height: 1;
+			font-size: $font-base + 2rpx;
+			color: $font-color-dark;
+			margin-right: 4rpx;
 		}
 
-		.share-btn {
+		.tip {
 			flex: 1;
 			text-align: right;
-			font-size: $font-sm;
-			color: $uni-color-primary;
 		}
 
 		.iconenter {
-			font-size: $font-sm;
-			margin-left: 4rpx;
-			color: $uni-color-primary;
+			margin-left: 10rpx;
 		}
 	}
+}
 
-	.c-list {
-		margin-top: 20rpx;
-		font-size: $font-sm + 2rpx;
-		color: $font-color-base;
-		background: #fff;
+.eva-box {
+	display: flex;
+	padding: 20rpx 0;
 
-		.c-row {
-			display: flex;
-			align-items: center;
-			padding: 20rpx 30rpx;
-			position: relative;
-		}
+	.portrait {
+		flex-shrink: 0;
+		width: 80rpx;
+		height: 80rpx;
+		border-radius: 100px;
+	}
 
-		.tit {
-			width: 140rpx;
-		}
+	.right {
+		flex: 1;
+		display: flex;
+		flex-direction: column;
+		font-size: $font-base;
+		color: $font-color-base;
+		padding-left: 26rpx;
 
 		.con {
-			flex: 1;
-			color: $font-color-dark;
-
-			.selected-text {
-				margin-right: 10rpx;
-			}
-		}
-
-		.bz-list {
-			height: 40rpx;
-			font-size: $font-sm + 2rpx;
+			font-size: $font-base;
 			color: $font-color-dark;
-
-			text {
-				display: inline-block;
-				margin-right: 30rpx;
-			}
+			padding: 20rpx 0;
 		}
 
-		.con-list {
-			flex: 1;
+		.bot {
 			display: flex;
-			flex-direction: column;
-			color: $font-color-dark;
-			line-height: 40rpx;
-		}
-
-		.red {
-			color: $uni-color-primary;
+			justify-content: space-between;
+			font-size: $font-sm;
+			color: $font-color-light;
 		}
 	}
+}
+
+.eva-boxs {
+	width: 100%;
+	overflow: hidden;
+	padding: 10px 28rpx;
+	background: #f4f4f4;
+	border-radius: 12rpx;
+	font-size: $font-sm + 2rpx;
+	color: #333;
+
+	.portrait {
+		flex-shrink: 0;
+		width: 80rpx;
+		height: 80rpx;
+		border-radius: 100px;
+	}
 
-	/* 评价 */
-	.eva-section {
+	.right {
+		flex: 1;
 		display: flex;
 		flex-direction: column;
-		padding: 20rpx 30rpx;
-		background: #fff;
-		margin-top: 16rpx;
+		font-size: $font-base;
+		color: $font-color-base;
+
+		.con {
+			font-size: $font-base;
+			color: $font-color-dark;
+		}
 
-		.e-header {
+		.bot {
 			display: flex;
-			align-items: center;
-			height: 70rpx;
-			font-size: $font-sm + 2rpx;
+			justify-content: space-between;
+			font-size: $font-sm;
 			color: $font-color-light;
+		}
+	}
+}
 
-			.tit {
-				font-size: $font-base + 2rpx;
-				color: $font-color-dark;
-				margin-right: 4rpx;
-			}
+/*  详情 */
+.detail-desc {
+	background: #fff;
+	margin-top: 16rpx;
 
-			.tip {
-				flex: 1;
-				text-align: right;
-			}
+	/deep/ img {
+		max-width: 100% !important;
+		display: inline !important;
+	}
 
-			.iconenter {
-				margin-left: 10rpx;
-			}
-		}
+	/deep/ div {
+		max-width: 100% !important;
 	}
 
-	.eva-box {
+	.d-header {
 		display: flex;
-		padding: 20rpx 0;
+		justify-content: center;
+		align-items: center;
+		height: 80rpx;
+		font-size: $font-base + 2rpx;
+		color: $font-color-dark;
+		position: relative;
 
-		.portrait {
-			flex-shrink: 0;
-			width: 80rpx;
-			height: 80rpx;
-			border-radius: 100px;
+		text {
+			padding: 0 20rpx;
+			background: #fff;
+			position: relative;
+			z-index: 1;
 		}
 
-		.right {
-			flex: 1;
-			display: flex;
-			flex-direction: column;
-			font-size: $font-base;
-			color: $font-color-base;
-			padding-left: 26rpx;
-
-			.con {
-				font-size: $font-base;
-				color: $font-color-dark;
-				padding: 20rpx 0;
-			}
-
-			.bot {
-				display: flex;
-				justify-content: space-between;
-				font-size: $font-sm;
-				color: $font-color-light;
-			}
+		&:after {
+			position: absolute;
+			left: 50%;
+			top: 50%;
+			transform: translateX(-50%);
+			width: 300rpx;
+			height: 0;
+			content: '';
+			border-bottom: 1px solid #ccc;
 		}
 	}
+}
 
-	.eva-boxs {
-		width: 100%;
-		overflow: hidden;
-		padding: 10px 28rpx;
-		background: #f4f4f4;
-		border-radius: 12rpx;
-		font-size: $font-sm + 2rpx;
-		color: #333;
+/* 规格选择弹窗 */
+.attr-content {
+	padding: 10rpx 30rpx;
 
-		.portrait {
+	.a-t {
+		display: flex;
+
+		image {
+			width: 170rpx;
+			height: 170rpx;
 			flex-shrink: 0;
-			width: 80rpx;
-			height: 80rpx;
-			border-radius: 100px;
+			margin-top: -40rpx;
+			border-radius: 8rpx;
 		}
 
 		.right {
-			flex: 1;
 			display: flex;
 			flex-direction: column;
-			font-size: $font-base;
+			padding-left: 24rpx;
+			font-size: $font-sm + 2rpx;
 			color: $font-color-base;
+			line-height: 42rpx;
+
+			.good-name {
+				padding-top: 20rpx;
+				max-width: 320rpx;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #1d2023;
+				line-height: 42rpx;
+				margin-bottom: 15rpx;
+			}
 
-			.con {
-				font-size: $font-base;
-				color: $font-color-dark;
+			.price {
+				font-size: 60rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #ff6f0f;
+
+				// font-size: $font-lg;
+				// color: $uni-color-primary;
+				// margin-bottom: 10rpx;
+				image {
+					width: 48rpx;
+					height: 48rpx;
+					margin-right: 8rpx;
+				}
 			}
 
-			.bot {
-				display: flex;
-				justify-content: space-between;
-				font-size: $font-sm;
-				color: $font-color-light;
+			.selected-text {
+				margin-right: 10rpx;
 			}
 		}
 	}
 
-	/*  详情 */
-	.detail-desc {
-		background: #fff;
-		margin-top: 16rpx;
-
-		/deep/ img {
-			max-width: 100% !important;
-			display: inline !important;
-		}
+	.attr-list {
+		display: flex;
+		flex-direction: column;
+		font-size: $font-base + 2rpx;
+		color: $font-color-base;
+		padding-top: 30rpx;
+		padding-left: 10rpx;
+	}
 
-		/deep/ div {
-			max-width: 100% !important;
-		}
+	.item-list {
+		padding: 20rpx 0 0;
+		display: flex;
+		flex-wrap: wrap;
 
-		.d-header {
+		text {
 			display: flex;
-			justify-content: center;
 			align-items: center;
-			height: 80rpx;
-			font-size: $font-base + 2rpx;
+			justify-content: center;
+			background: #eee;
+			margin-right: 20rpx;
+			margin-bottom: 20rpx;
+			border-radius: 100rpx;
+			min-width: 60rpx;
+			height: 60rpx;
+			padding: 0 20rpx;
+			font-size: $font-base;
 			color: $font-color-dark;
-			position: relative;
-
-			text {
-				padding: 0 20rpx;
-				background: #fff;
-				position: relative;
-				z-index: 1;
-			}
+		}
 
-			&:after {
-				position: absolute;
-				left: 50%;
-				top: 50%;
-				transform: translateX(-50%);
-				width: 300rpx;
-				height: 0;
-				content: '';
-				border-bottom: 1px solid #ccc;
-			}
+		.selected {
+			background: #fbebee;
+			color: $uni-color-primary;
 		}
 	}
+}
 
-	/* 规格选择弹窗 */
-	.attr-content {
-		padding: 10rpx 30rpx;
-
-		.a-t {
-			display: flex;
-
-			image {
-				width: 170rpx;
-				height: 170rpx;
-				flex-shrink: 0;
-				margin-top: -40rpx;
-				border-radius: 8rpx;
-			}
-
-			.right {
-				display: flex;
-				flex-direction: column;
-				padding-left: 24rpx;
-				font-size: $font-sm + 2rpx;
-				color: $font-color-base;
-				line-height: 42rpx;
+/*  弹出层 */
+.popup {
+	position: fixed;
+	left: 0;
+	top: 0;
+	right: 0;
+	bottom: 0;
+	z-index: 99;
 
-				.good-name {
-					padding-top: 20rpx;
-					max-width: 320rpx;
-					font-size: 30rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #1D2023;
-					line-height: 42rpx;
-					margin-bottom: 15rpx;
-				}
-
-				.price {
-					font-size: 60rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #FF6F0F;
-
-					// font-size: $font-lg;
-					// color: $uni-color-primary;
-					// margin-bottom: 10rpx;
-					image {
-						width: 48rpx;
-						height: 48rpx;
-						margin-right: 8rpx;
-					}
-				}
+	&.show {
+		display: block;
 
-				.selected-text {
-					margin-right: 10rpx;
-				}
-			}
+		.mask {
+			animation: showPopup 0.2s linear both;
 		}
 
-		.attr-list {
-			display: flex;
-			flex-direction: column;
-			font-size: $font-base + 2rpx;
-			color: $font-color-base;
-			padding-top: 30rpx;
-			padding-left: 10rpx;
+		.layer {
+			animation: showLayer 0.2s linear both;
 		}
+	}
 
-		.item-list {
-			padding: 20rpx 0 0;
-			display: flex;
-			flex-wrap: wrap;
-
-			text {
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				background: #eee;
-				margin-right: 20rpx;
-				margin-bottom: 20rpx;
-				border-radius: 100rpx;
-				min-width: 60rpx;
-				height: 60rpx;
-				padding: 0 20rpx;
-				font-size: $font-base;
-				color: $font-color-dark;
-			}
+	&.hide {
+		.mask {
+			animation: hidePopup 0.2s linear both;
+		}
 
-			.selected {
-				background: #fbebee;
-				color: $uni-color-primary;
-			}
+		.layer {
+			animation: hideLayer 0.2s linear both;
 		}
 	}
 
-	/*  弹出层 */
-	.popup {
+	&.none {
+		display: none;
+	}
+
+	.mask {
 		position: fixed;
-		left: 0;
 		top: 0;
-		right: 0;
-		bottom: 0;
-		z-index: 99;
-
-		&.show {
-			display: block;
+		width: 100%;
+		height: 100%;
+		z-index: 1;
+		background-color: rgba(0, 0, 0, 0.4);
+	}
 
-			.mask {
-				animation: showPopup 0.2s linear both;
-			}
+	.layer {
+		position: fixed;
+		z-index: 99;
+		bottom: 0;
+		width: 100%;
+		min-height: 30vh;
+		border-radius: 10rpx 10rpx 0 0;
+		background-color: #fff;
 
-			.layer {
-				animation: showLayer 0.2s linear both;
-			}
+		.btn {
+			height: 66rpx;
+			line-height: 66rpx;
+			border-radius: 100rpx;
+			// background: $uni-color-primary;
+			background: $base-color;
+			font-size: $font-base + 2rpx;
+			color: #fff;
+			margin: 30rpx auto 20rpx;
 		}
+	}
 
-		&.hide {
-			.mask {
-				animation: hidePopup 0.2s linear both;
-			}
-
-			.layer {
-				animation: hideLayer 0.2s linear both;
-			}
+	@keyframes showPopup {
+		0% {
+			opacity: 0;
 		}
 
-		&.none {
-			display: none;
+		100% {
+			opacity: 1;
 		}
+	}
 
-		.mask {
-			position: fixed;
-			top: 0;
-			width: 100%;
-			height: 100%;
-			z-index: 1;
-			background-color: rgba(0, 0, 0, 0.4);
+	@keyframes hidePopup {
+		0% {
+			opacity: 1;
 		}
 
-		.layer {
-			position: fixed;
-			z-index: 99;
-			bottom: 0;
-			width: 100%;
-			min-height: 30vh;
-			border-radius: 10rpx 10rpx 0 0;
-			background-color: #fff;
-
-			.btn {
-				height: 66rpx;
-				line-height: 66rpx;
-				border-radius: 100rpx;
-				// background: $uni-color-primary;
-				background: $base-color;
-				font-size: $font-base + 2rpx;
-				color: #fff;
-				margin: 30rpx auto 20rpx;
-			}
+		100% {
+			opacity: 0;
 		}
+	}
 
-		@keyframes showPopup {
-			0% {
-				opacity: 0;
-			}
+	@keyframes showLayer {
+		0% {
+			transform: translateY(120%);
+		}
 
-			100% {
-				opacity: 1;
-			}
+		100% {
+			transform: translateY(0%);
 		}
+	}
 
-		@keyframes hidePopup {
-			0% {
-				opacity: 1;
-			}
+	@keyframes hideLayer {
+		0% {
+			transform: translateY(0);
+		}
 
-			100% {
-				opacity: 0;
-			}
+		100% {
+			transform: translateY(120%);
 		}
+	}
+}
+
+/* 底部操作菜单 */
+.page-bottom {
+	position: fixed;
+	left: 0rpx;
+	bottom: 0rpx;
+	z-index: 95;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	width: 750rpx;
+	height: 98rpx;
+	background: rgba(255, 255, 255, 0.9);
+	box-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.5);
+
+	// border-radius: 16rpx;
+	.p-b-btn {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		font-size: $font-sm;
+		color: $font-color-base;
+		width: 100rpx;
+		height: 98rpx;
 
-		@keyframes showLayer {
-			0% {
-				transform: translateY(120%);
-			}
+		.iconfont {
+			font-size: 40rpx;
+			line-height: 48rpx;
+			color: $font-color-light;
+		}
 
-			100% {
-				transform: translateY(0%);
-			}
+		&.active,
+		&.active .iconfont {
+			color: $uni-color-primary;
 		}
 
-		@keyframes hideLayer {
-			0% {
-				transform: translateY(0);
-			}
+		.icon-fenxiang2 {
+			font-size: 42rpx;
+			transform: translateY(-2rpx);
+		}
 
-			100% {
-				transform: translateY(120%);
-			}
+		.iconlikefill {
+			font-size: 46rpx;
 		}
 	}
 
-	/* 底部操作菜单 */
-	.page-bottom {
-		position: fixed;
-		left: 0rpx;
-		bottom: 0rpx;
-		z-index: 95;
+	.action-btn-group {
 		display: flex;
-		justify-content: center;
-		align-items: center;
-		width: 750rpx;
 		height: 98rpx;
-		background: rgba(255, 255, 255, 0.9);
-		box-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.5);
+		overflow: hidden;
+		position: relative;
 
-		// border-radius: 16rpx;
-		.p-b-btn {
+		.action-btn {
 			display: flex;
-			flex-direction: column;
 			align-items: center;
 			justify-content: center;
-			font-size: $font-sm;
-			color: $font-color-base;
-			width: 100rpx;
-			height: 98rpx;
-
-			.iconfont {
-				font-size: 40rpx;
-				line-height: 48rpx;
-				color: $font-color-light;
-			}
-
-			&.active,
-			&.active .iconfont {
-				color: $uni-color-primary;
-			}
-
-			.icon-fenxiang2 {
-				font-size: 42rpx;
-				transform: translateY(-2rpx);
-			}
+			width: 750rpx;
+			height: 100%;
+			font-size: $font-base;
+			padding: 0;
+			border-radius: 0;
+			// background: transparent;
+			background: #31332d;
 
-			.iconlikefill {
-				font-size: 46rpx;
+			&.buy-now-btn {
+				background-color: #303e49;
 			}
-		}
 
-		.action-btn-group {
-			display: flex;
-			height: 98rpx;
-			overflow: hidden;
-			position: relative;
-
-			.action-btn {
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				width: 750rpx;
-				height: 100%;
-				font-size: $font-base;
-				padding: 0;
-				border-radius: 0;
-				// background: transparent;
-				background: #31332D;
-
-				&.buy-now-btn {
-					background-color: #303e49;
-				}
-
-				&.add-cart-btn {
-					background-color: $base-color;
-				}
+			&.add-cart-btn {
+				background-color: $base-color;
 			}
 		}
 	}
+}
+
+// 商店头
+.shop-box {
+	background-color: #ffffff;
+	margin-top: 20rpx;
+	margin-bottom: 10rpx;
+	padding: 20rpx;
+
+	.shop-img {
+		border-radius: 300rpx;
+		height: 80rpx;
+		width: 80rpx;
+		margin-right: 20rpx;
+	}
 
-	// 商店头
-	.shop-box {
-		background-color: #ffffff;
-		margin-top: 20rpx;
-		margin-bottom: 10rpx;
-		padding: 20rpx;
-
-		.shop-img {
-			border-radius: 300rpx;
-			height: 80rpx;
-			width: 80rpx;
-			margin-right: 20rpx;
-		}
-
-		.shop-button {
-			border-radius: 100rpx;
-			padding: 10rpx 20rpx;
-			color: $color-red;
-			border: 1px solid $color-red;
-			font-size: $font-lg;
-			line-height: 1;
-		}
+	.shop-button {
+		border-radius: 100rpx;
+		padding: 10rpx 20rpx;
+		color: $color-red;
+		border: 1px solid $color-red;
+		font-size: $font-lg;
+		line-height: 1;
 	}
+}
 </style>

+ 22 - 10
pages/product/list.vue

@@ -63,9 +63,10 @@ export default {
 			cateId: 0, //已选三级分类id
 			priceOrder: 0, //1 价格从低到高 2价格从高到低
 			cateList: [], //分类列表
-			goodsList: [] ,//商品列表
-			keyword:'',//搜索关键词
-			mer_id:''//商家id
+			goodsList: [], //商品列表
+			keyword: '', //搜索关键词
+			mer_id: '', //商家id
+			iszy: '' //是否是自营
 		};
 	},
 	//下拉刷新
@@ -95,13 +96,24 @@ export default {
 		//加载商品 ,带下拉刷新和上滑加载
 		async loadData(type = 'add', loading) {
 			let obj = this;
-			let data = {
-				page: obj.page,
-				limit: obj.limit,
-				sid: obj.cateId ,//分类id
-				keyword: obj.keyword,
-				mer_id:obj.mer_id,
-			};
+			let data = {};
+			console.log(obj.iszy, '123456');
+			if (obj.iszy == 0) {
+				data = {
+					page: obj.page,
+					limit: obj.limit,
+					sid: obj.cateId, //分类id
+					keyword: obj.keyword
+				};
+			} else {
+				data = {
+					page: obj.page,
+					limit: obj.limit,
+					sid: obj.cateId, //分类id
+					keyword: obj.keyword,
+					store_id: obj.mer_id
+				};
+			}
 			//没有更多直接返回
 			if (type === 'add') {
 				if (obj.loadingType === 'nomore') {

+ 424 - 420
pages/product/listSearch.vue

@@ -1,100 +1,104 @@
-<template>
-	<view class="content">
-		<view class="navbar" :style="{ position: headerPosition, top: headerTop }">
-			<view class="nav-item" :class="{ current: filterIndex === 0 }" @click="tabClick(0)">综合排序</view>
-			<view class="nav-item" :class="{ current: filterIndex === 1 }" @click="tabClick(1)">
-				<text>销量优先</text>
-				<view class="p-box">
-					<text :class="{ active: numberOrder === 1 && filterIndex === 1 }" class="iconfont iconfold"></text>
-					<text :class="{ active: numberOrder === 2 && filterIndex === 1 }" class="iconfont iconfold xia"></text>
-				</view>
-			</view>
-			<view class="nav-item" :class="{ current: filterIndex === 2 }" @click="tabClick(2)">
-				<text>价格</text>
-				<view class="p-box">
-					<text :class="{ active: priceOrder === 1 && filterIndex === 2 }" class="iconfont iconfold"></text>
-					<text :class="{ active: priceOrder === 2 && filterIndex === 2 }" class="iconfont iconfold xia"></text>
-				</view>
-			</view>
-			<!-- <text class="cate-item iconfont iconapps" @click="toggleCateMask('show')"></text> -->
-		</view>
-		<view class="goods-list">
-			<view v-for="(item, index) in goodsList" :key="index" class="goods-item" @click="navToDetailPage(item)">
-				<view class="image-wrapper"><image :src="item.image" mode="aspectFill"></image></view>
-				<text class="title clamp">{{ item.store_name }}</text>
-				<view class="price-box">
-					<text class="price">{{ item.price }}</text>
-					<text>已售 {{ item.sales }}</text>
-				</view>
-			</view>
-		</view>
-		<uni-load-more :status="loadingType"></uni-load-more>
-
-		<view class="cate-mask" :class="cateMaskState === 0 ? 'none' : cateMaskState === 1 ? 'show' : ''" @click="toggleCateMask">
-			<view class="cate-content" @click.stop.prevent="stopPrevent" @touchmove.stop.prevent="stopPrevent">
-				<scroll-view scroll-y class="cate-list">
-					<view v-for="item in cateList" :key="item.id">
-						<view class="cate-item b-b two">{{ item.cate_name }}</view>
-						<view v-for="tItem in item.children" :key="tItem.id" class="cate-item b-b" :class="{ active: tItem.id == cateId }" @click="changeCate(tItem)">
-							{{ tItem.cate_name }}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import { getProducts } from '@/api/product.js';
-import { getList } from '@/api/category.js';
-export default {
-	components: {
-		uniLoadMore
-	},
-	data() {
-		return {
-			cateMaskState: 0, //分类面板展开状态
-			headerPosition: 'fixed',
-			headerTop: '0px',
-			loadingType: 'more', //加载更多状态
-			filterIndex: 0, //查询类型
-			numberOrder: 0, //1 销量从低到高 2销量从高到低
-			limit: 10, //每次加载数据条数
-			page: 1, //当前页数
-			cateId: 0, //已选三级分类id
-			priceOrder: 0, //1 价格从低到高 2价格从高到低
-			cateList: [], //分类列表
-			goodsList: [] ,//商品列表
-			keyword: '',//搜索关键字
-		};
-	},
-
-	onLoad(options) {
-		// #ifdef H5
-		// this.headerTop = document.getElementsByTagName('uni-page-head')[0].offsetHeight + 'px';
-		// #endif
-		this.cateId = options.tid;
-		this.loadCateList(options.fid, options.sid);
-		this.loadData();
-	},
-	onPageScroll(e) {
-		//兼容iOS端下拉时顶部漂移
-		if (e.scrollTop >= 0) {
-			this.headerPosition = 'fixed';
-		} else {
-			this.headerPosition = 'absolute';
-		}
-	},
-	//下拉刷新
-	onPullDownRefresh() {
-		console.log('下拉刷新');
-		this.loadData('refresh');
-	},
-	//加载更多
-	onReachBottom() {
-		this.loadData();
+<template>
+	<view class="content">
+		<view class="navbar" :style="{ position: headerPosition, top: headerTop }">
+			<view class="nav-item" :class="{ current: filterIndex === 0 }" @click="tabClick(0)">综合排序</view>
+			<view class="nav-item" :class="{ current: filterIndex === 1 }" @click="tabClick(1)">
+				<text>销量优先</text>
+				<view class="p-box">
+					<text :class="{ active: numberOrder === 1 && filterIndex === 1 }" class="iconfont iconfold"></text>
+					<text :class="{ active: numberOrder === 2 && filterIndex === 1 }" class="iconfont iconfold xia"></text>
+				</view>
+			</view>
+			<view class="nav-item" :class="{ current: filterIndex === 2 }" @click="tabClick(2)">
+				<text>价格</text>
+				<view class="p-box">
+					<text :class="{ active: priceOrder === 1 && filterIndex === 2 }" class="iconfont iconfold"></text>
+					<text :class="{ active: priceOrder === 2 && filterIndex === 2 }" class="iconfont iconfold xia"></text>
+				</view>
+			</view>
+			<!-- <text class="cate-item iconfont iconapps" @click="toggleCateMask('show')"></text> -->
+		</view>
+		<view class="goods-list">
+			<view v-for="(item, index) in goodsList" :key="index" class="goods-item" @click="navToDetailPage(item)">
+				<view class="image-wrapper"><image :src="item.image" mode="aspectFill"></image></view>
+				<text class="title clamp">{{ item.store_name }}</text>
+				<view class="price-box">
+					<text class="price">{{ item.price }}</text>
+					<text>已售 {{ item.sales }}</text>
+				</view>
+			</view>
+		</view>
+		<uni-load-more :status="loadingType"></uni-load-more>
+
+		<view class="cate-mask" :class="cateMaskState === 0 ? 'none' : cateMaskState === 1 ? 'show' : ''" @click="toggleCateMask">
+			<view class="cate-content" @click.stop.prevent="stopPrevent" @touchmove.stop.prevent="stopPrevent">
+				<scroll-view scroll-y class="cate-list">
+					<view v-for="item in cateList" :key="item.id">
+						<view class="cate-item b-b two">{{ item.cate_name }}</view>
+						<view v-for="tItem in item.children" :key="tItem.id" class="cate-item b-b" :class="{ active: tItem.id == cateId }" @click="changeCate(tItem)">
+							{{ tItem.cate_name }}
+						</view>
+					</view>
+				</scroll-view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+import { mapState, mapMutations } from 'vuex';
+import { getProducts } from '@/api/product.js';
+import { getList } from '@/api/category.js';
+export default {
+	components: {
+		uniLoadMore
+	},
+	data() {
+		return {
+			cateMaskState: 0, //分类面板展开状态
+			headerPosition: 'fixed',
+			headerTop: '0px',
+			loadingType: 'more', //加载更多状态
+			filterIndex: 0, //查询类型
+			numberOrder: 0, //1 销量从低到高 2销量从高到低
+			limit: 10, //每次加载数据条数
+			page: 1, //当前页数
+			cateId: 0, //已选三级分类id
+			priceOrder: 0, //1 价格从低到高 2价格从高到低
+			cateList: [], //分类列表
+			goodsList: [], //商品列表
+			keyword: '' //搜索关键字
+		};
+	},
+	computed: {
+		...mapState(['loginInterceptor', 'storeInfo', 'canChange', 'baseURL']),
+		...mapState('user', ['hasLogin', 'userInfo'])
+	},
+	onLoad(options) {
+		// #ifdef H5
+		// this.headerTop = document.getElementsByTagName('uni-page-head')[0].offsetHeight + 'px';
+		// #endif
+		this.cateId = options.tid;
+		this.loadCateList(options.fid, options.sid);
+		this.loadData();
+	},
+	onPageScroll(e) {
+		//兼容iOS端下拉时顶部漂移
+		if (e.scrollTop >= 0) {
+			this.headerPosition = 'fixed';
+		} else {
+			this.headerPosition = 'absolute';
+		}
+	},
+	//下拉刷新
+	onPullDownRefresh() {
+		console.log('下拉刷新');
+		this.loadData('refresh');
+	},
+	//加载更多
+	onReachBottom() {
+		this.loadData();
 	},
 	// #ifndef MP
 	//点击导航栏 buttons 时触发
@@ -103,339 +107,339 @@ export default {
 		// if (index === 0) {
 		// 	this.navTo();
 		// }
-		console.log(e,'点击导航栏 buttons 时触发')
-		console.log(this.keyword)
-		this.goodsList = []
-		this.page = 1
-		this.loadingType = 'more'
+		console.log(e, '点击导航栏 buttons 时触发');
+		console.log(this.keyword);
+		this.goodsList = [];
+		this.page = 1;
+		this.loadingType = 'more';
 		this.loadData();
 	},
 	// 点击键盘搜索事件
 	onNavigationBarSearchInputConfirmed(e) {
 		// this.navTo();
-		console.log(e,'点击键盘搜索事件')
-		this.goodsList = []
-		this.page = 1
-		this.loadingType = 'more'
+		console.log(e, '点击键盘搜索事件');
+		this.goodsList = [];
+		this.page = 1;
+		this.loadingType = 'more';
 		this.loadData();
 	},
 	// 搜索栏内容变化事件
 	onNavigationBarSearchInputChanged(e) {
 		this.keyword = e.text;
-		console.log(e,'搜索栏内容变化事件')
+		console.log(e, '搜索栏内容变化事件');
 	},
-	// #endif
-	methods: {
-		//加载分类
-		async loadCateList(fid, sid) {
-			let obj = this;
-			getList({}).then(function(e) {
-				console.log(e);
-				e.data.forEach(function(e) {
-					if (e.id == fid) {
-						obj.cateList = e.children;
-						return;
-					}
-				});
-				console.log(obj.cateList);
-			});
-		},
-		//加载商品 ,带下拉刷新和上滑加载
-		async loadData(type = 'add', loading) {
-			let obj = this;
-			let data = {
-				page: obj.page,
-				limit: obj.limit,
-				sid: obj.cateId ,//分类id
-				keyword: obj.keyword//关键字
-			};
-			//没有更多直接返回
-			if (type === 'add') {
-				if (obj.loadingType === 'nomore') {
-					return;
-				}
-				obj.loadingType = 'loading';
-			} else {
-				obj.loadingType = 'more';
-			}
-
-			if (this.filterIndex == 1) {
-				console.log( obj.salesOrder);
-				data.salesOrder = obj.numberOrder == 1 ? 'asc' : 'desc';
-			}
-			if (this.filterIndex == 2) {
-				console.log( obj.priceOrder);
-				data.priceOrder = obj.priceOrder == 1 ? 'asc' : 'desc';
-			}
-			getProducts(data).then(function(e) {
-				if (type === 'refresh') {
-					console.log('jinru');
-					// 清空数组
-					obj.goodsList = [];
-				}
-				console.log(e.data);
-				obj.goodsList = obj.goodsList.concat(e.data);
-				//判断是否还有下一页,有是more  没有是nomore
-				if (obj.limit==e.data.length) {
-					obj.page++
-					obj.loadingType='more'
-				} else{
-					obj.loadingType='nomore'
-				}
-				if (type === 'refresh') {
-					if (loading == 1) {
-						uni.hideLoading();
-					} else {
-						uni.stopPullDownRefresh();
-					}
-				}
-			});
-		},
-		//筛选点击
-		tabClick(index) {
-			// 防止重复点击综合排序
-			if (this.filterIndex === 0 && this.filterIndex === index) {
-				return;
-			}
-			this.filterIndex = index;
-			// 判断是否为销量优先
-			if (index === 1) {
-				this.numberOrder = this.numberOrder === 1 ? 2 : 1;
-			}
-			// 判断是否为价格优先
-			if (index === 2) {
-				this.priceOrder = this.priceOrder === 1 ? 2 : 1;
-			}
-			// 初始化页数
-			this.page = 1;
-			// 初始化数组
-			uni.pageScrollTo({
-				duration: 300,
-				scrollTop: 0
-			});
-			this.loadData('refresh', 1);
-			uni.showLoading({
-				title: '正在加载'
-			});
-		},
-		//显示分类面板
-		toggleCateMask(type) {
-			let timer = type === 'show' ? 10 : 300;
-			let state = type === 'show' ? 1 : 0;
-			this.cateMaskState = 2;
-			setTimeout(() => {
-				this.cateMaskState = state;
-			}, timer);
-		},
-		//分类点击
-		changeCate(item) {
-			this.cateId = item.id;
-			this.toggleCateMask();
-			uni.pageScrollTo({
-				duration: 300,
-				scrollTop: 0
-			});
-			this.loadData('refresh', 1);
-			uni.showLoading({
-				title: '正在加载'
-			});
-		},
-		//详情
-		navToDetailPage(item) {
-			let id = item.id;
-			uni.navigateTo({
-				url: `/pages/product/product?id=${id}`
-			});
-		},
-		stopPrevent() {}
-	}
-};
-</script>
-
-<style lang="scss" scoped>
-page,
-.content {
-	background: $page-color-base;
-}
-.content {
-	padding-top: 96upx;
-}
-
+	// #endif
+	methods: {
+		//加载分类
+		async loadCateList(fid, sid) {
+			let obj = this;
+			getList({}).then(function(e) {
+				console.log(e);
+				e.data.forEach(function(e) {
+					if (e.id == fid) {
+						obj.cateList = e.children;
+						return;
+					}
+				});
+				console.log(obj.cateList);
+			});
+		},
+		//加载商品 ,带下拉刷新和上滑加载
+		async loadData(type = 'add', loading) {
+			let obj = this;
+			let data = {
+				page: obj.page,
+				limit: obj.limit,
+				sid: obj.cateId, //分类id
+				keyword: obj.keyword //关键字
+			};
+			//没有更多直接返回
+			if (type === 'add') {
+				if (obj.loadingType === 'nomore') {
+					return;
+				}
+				obj.loadingType = 'loading';
+			} else {
+				obj.loadingType = 'more';
+			}
+
+			if (this.filterIndex == 1) {
+				console.log(obj.salesOrder);
+				data.salesOrder = obj.numberOrder == 1 ? 'asc' : 'desc';
+			}
+			if (this.filterIndex == 2) {
+				console.log(obj.priceOrder);
+				data.priceOrder = obj.priceOrder == 1 ? 'asc' : 'desc';
+			}
+			getProducts(data).then(function(e) {
+				if (type === 'refresh') {
+					console.log('jinru');
+					// 清空数组
+					obj.goodsList = [];
+				}
+				console.log(e.data);
+				obj.goodsList = obj.goodsList.concat(e.data);
+				//判断是否还有下一页,有是more  没有是nomore
+				if (obj.limit == e.data.length) {
+					obj.page++;
+					obj.loadingType = 'more';
+				} else {
+					obj.loadingType = 'nomore';
+				}
+				if (type === 'refresh') {
+					if (loading == 1) {
+						uni.hideLoading();
+					} else {
+						uni.stopPullDownRefresh();
+					}
+				}
+			});
+		},
+		//筛选点击
+		tabClick(index) {
+			// 防止重复点击综合排序
+			if (this.filterIndex === 0 && this.filterIndex === index) {
+				return;
+			}
+			this.filterIndex = index;
+			// 判断是否为销量优先
+			if (index === 1) {
+				this.numberOrder = this.numberOrder === 1 ? 2 : 1;
+			}
+			// 判断是否为价格优先
+			if (index === 2) {
+				this.priceOrder = this.priceOrder === 1 ? 2 : 1;
+			}
+			// 初始化页数
+			this.page = 1;
+			// 初始化数组
+			uni.pageScrollTo({
+				duration: 300,
+				scrollTop: 0
+			});
+			this.loadData('refresh', 1);
+			uni.showLoading({
+				title: '正在加载'
+			});
+		},
+		//显示分类面板
+		toggleCateMask(type) {
+			let timer = type === 'show' ? 10 : 300;
+			let state = type === 'show' ? 1 : 0;
+			this.cateMaskState = 2;
+			setTimeout(() => {
+				this.cateMaskState = state;
+			}, timer);
+		},
+		//分类点击
+		changeCate(item) {
+			this.cateId = item.id;
+			this.toggleCateMask();
+			uni.pageScrollTo({
+				duration: 300,
+				scrollTop: 0
+			});
+			this.loadData('refresh', 1);
+			uni.showLoading({
+				title: '正在加载'
+			});
+		},
+		//详情
+		navToDetailPage(item) {
+			let id = item.id;
+			uni.navigateTo({
+				url: `/pages/product/product?id=${id}`
+			});
+		},
+		stopPrevent() {}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+page,
+.content {
+	background: $page-color-base;
+}
+.content {
+	padding-top: 96upx;
+}
+
 .navbar {
-	padding-top: 44px;
-	display: flex;
-	width: 100%;
-	height: calc(44px + 80upx);
-	background: #fff;
-	box-shadow: 0 2upx 10upx rgba(0, 0, 0, 0.06);
-	z-index: 10;
-	.nav-item {
-		flex: 1;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 30upx;
-		color: $font-color-dark;
-		position: relative;
-		&.current {
-			color: $base-color;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 120upx;
-				height: 0;
-				border-bottom: 4upx solid $base-color;
-			}
-		}
-	}
-	.p-box {
-		display: flex;
-		flex-direction: column;
-		.iconfont {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 30upx;
-			height: 14upx;
-			line-height: 1;
-			margin-left: 4upx;
-			font-size: 26upx;
-			color: #888;
-			&.active {
-				color: $base-color;
-			}
-		}
-		.xia {
-			transform: scaleY(-1);
-		}
-	}
-	.cate-item {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		width: 80upx;
-		position: relative;
-		font-size: 44upx;
-		&:after {
-			content: '';
-			position: absolute;
-			left: 0;
-			top: 50%;
-			transform: translateY(-50%);
-			border-left: 1px solid #ddd;
-			width: 0;
-			height: 36upx;
-		}
-	}
-}
-
-/* 分类 */
-.cate-mask {
-	position: fixed;
-	left: 0;
-	top: var(--window-top);
-	bottom: 0;
-	width: 100%;
-	background: rgba(0, 0, 0, 0);
-	z-index: 95;
-	transition: 0.3s;
-
-	.cate-content {
-		width: 630upx;
-		height: 100%;
-		background: #fff;
-		float: right;
-		transform: translateX(100%);
-		transition: 0.3s;
-	}
-	&.none {
-		display: none;
-	}
-	&.show {
-		background: rgba(0, 0, 0, 0.4);
-
-		.cate-content {
-			transform: translateX(0);
-		}
-	}
-}
-.cate-list {
-	display: flex;
-	flex-direction: column;
-	height: 100%;
-	.cate-item {
-		display: flex;
-		align-items: center;
-		height: 90upx;
-		padding-left: 30upx;
-		font-size: 28upx;
-		color: #555;
-		position: relative;
-	}
-	.two {
-		height: 64upx;
-		color: #303133;
-		font-size: 30upx;
-		background: #f8f8f8;
-	}
-	.active {
-		color: $base-color;
-	}
-}
-
-/* 商品列表 */
-.goods-list {
-	display: flex;
-	flex-wrap: wrap;
-	padding: 0 30upx;
-	background: #fff;
-	.goods-item {
-		display: flex;
-		flex-direction: column;
-		width: 48%;
-		padding-bottom: 40upx;
-		&:nth-child(2n + 1) {
-			margin-right: 4%;
-		}
-	}
-	.image-wrapper {
-		width: 100%;
-		height: 330upx;
-		border-radius: 3px;
-		overflow: hidden;
-		image {
-			width: 100%;
-			height: 100%;
-			opacity: 1;
-		}
-	}
-	.title {
-		font-size: $font-lg;
-		color: $font-color-dark;
-		line-height: 80upx;
-	}
-	.price-box {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		padding-right: 10upx;
-		font-size: 24upx;
-		color: $font-color-light;
-	}
-	.price {
-		font-size: $font-lg;
-		color: $uni-color-primary;
-		line-height: 1;
-		&:before {
-			content: '¥';
-			font-size: 26upx;
-		}
-	}
+	padding-top: 44px;
+	display: flex;
+	width: 100%;
+	height: calc(44px + 80upx);
+	background: #fff;
+	box-shadow: 0 2upx 10upx rgba(0, 0, 0, 0.06);
+	z-index: 10;
+	.nav-item {
+		flex: 1;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		height: 100%;
+		font-size: 30upx;
+		color: $font-color-dark;
+		position: relative;
+		&.current {
+			color: $base-color;
+			&:after {
+				content: '';
+				position: absolute;
+				left: 50%;
+				bottom: 0;
+				transform: translateX(-50%);
+				width: 120upx;
+				height: 0;
+				border-bottom: 4upx solid $base-color;
+			}
+		}
+	}
+	.p-box {
+		display: flex;
+		flex-direction: column;
+		.iconfont {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			width: 30upx;
+			height: 14upx;
+			line-height: 1;
+			margin-left: 4upx;
+			font-size: 26upx;
+			color: #888;
+			&.active {
+				color: $base-color;
+			}
+		}
+		.xia {
+			transform: scaleY(-1);
+		}
+	}
+	.cate-item {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		height: 100%;
+		width: 80upx;
+		position: relative;
+		font-size: 44upx;
+		&:after {
+			content: '';
+			position: absolute;
+			left: 0;
+			top: 50%;
+			transform: translateY(-50%);
+			border-left: 1px solid #ddd;
+			width: 0;
+			height: 36upx;
+		}
+	}
+}
+
+/* 分类 */
+.cate-mask {
+	position: fixed;
+	left: 0;
+	top: var(--window-top);
+	bottom: 0;
+	width: 100%;
+	background: rgba(0, 0, 0, 0);
+	z-index: 95;
+	transition: 0.3s;
+
+	.cate-content {
+		width: 630upx;
+		height: 100%;
+		background: #fff;
+		float: right;
+		transform: translateX(100%);
+		transition: 0.3s;
+	}
+	&.none {
+		display: none;
+	}
+	&.show {
+		background: rgba(0, 0, 0, 0.4);
+
+		.cate-content {
+			transform: translateX(0);
+		}
+	}
+}
+.cate-list {
+	display: flex;
+	flex-direction: column;
+	height: 100%;
+	.cate-item {
+		display: flex;
+		align-items: center;
+		height: 90upx;
+		padding-left: 30upx;
+		font-size: 28upx;
+		color: #555;
+		position: relative;
+	}
+	.two {
+		height: 64upx;
+		color: #303133;
+		font-size: 30upx;
+		background: #f8f8f8;
+	}
+	.active {
+		color: $base-color;
+	}
+}
+
+/* 商品列表 */
+.goods-list {
+	display: flex;
+	flex-wrap: wrap;
+	padding: 0 30upx;
+	background: #fff;
+	.goods-item {
+		display: flex;
+		flex-direction: column;
+		width: 48%;
+		padding-bottom: 40upx;
+		&:nth-child(2n + 1) {
+			margin-right: 4%;
+		}
+	}
+	.image-wrapper {
+		width: 100%;
+		height: 330upx;
+		border-radius: 3px;
+		overflow: hidden;
+		image {
+			width: 100%;
+			height: 100%;
+			opacity: 1;
+		}
+	}
+	.title {
+		font-size: $font-lg;
+		color: $font-color-dark;
+		line-height: 80upx;
+	}
+	.price-box {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		padding-right: 10upx;
+		font-size: 24upx;
+		color: $font-color-light;
+	}
+	.price {
+		font-size: $font-lg;
+		color: $uni-color-primary;
+		line-height: 1;
+		&:before {
+			content: '¥';
+			font-size: 26upx;
+		}
+	}
 }
 .search-wrap {
 	// position: fixed;
@@ -459,5 +463,5 @@ page,
 		width: 30rpx;
 		height: 30rpx;
 	}
-}
-</style>
+}
+</style>

+ 150 - 148
pages/product/product.vue

@@ -33,19 +33,19 @@
 
 		<view class="introduce-section">
 			<text class="title" v-if="goodsType == 1">{{ goodsObjact.title }}</text>
-			<view class="price-box" v-if="goodsType == 0">
-				<text class="price-tip">¥</text>
-				<text class="price">{{ goodsObjact.price }}</text>
-				<text class="price-tip" v-if="goodsObjact.max_use_integral*1 > 0">+</text>
-				<text class="price" v-if="goodsObjact.max_use_integral*1 > 0">{{ goodsObjact.max_use_integral }}积分</text>
-				<text class="m-price" v-if="goodsObjact.ot_price > goodsObjact.price">¥{{ goodsObjact.ot_price }}</text>
-				<!-- <text class="coupon-tip">7折</text> -->
+			<view class="price-box" v-if="goodsType == 0">
+				<text class="price-tip">¥</text>
+				<text class="price">{{ goodsObjact.price }}</text>
+				<text class="price-tip" v-if="goodsObjact.max_use_integral * 1 > 0">+</text>
+				<text class="price" v-if="goodsObjact.max_use_integral * 1 > 0">{{ goodsObjact.max_use_integral }}积分</text>
+				<text class="m-price" v-if="goodsObjact.ot_price > goodsObjact.price">¥{{ goodsObjact.ot_price }}</text>
+				<!-- <text class="coupon-tip">7折</text> -->
 			</view>
 			<text class="title" v-if="goodsType == 0">{{ goodsObjact.store_name }}</text>
-			<view class="bot-row">
+			<view class="bot-row">
 				<text>快递: {{ goodsObjact.postage }}</text>
 				<text style="text-align: center;">销量: {{ goodsObjact.sales }}</text>
-				<text style="text-align: right;">{{ storeObjact.address | address}}</text>
+				<text style="text-align: right;">{{ storeObjact.address | address }}</text>
 			</view>
 		</view>
 		<!-- 评价 -->
@@ -99,7 +99,7 @@
 			</view>
 			<view class="c-row b-b" v-if="goodsObjact.give_integral != 0">
 				<text class="tit">获取积分</text>
-				<text class="con t-r red">每购买一件商品送{{goodsObjact.give_integral}}积分</text>
+				<text class="con t-r red">每购买一件商品送{{ goodsObjact.give_integral }}积分</text>
 				<!-- <text class="iconfont iconenter"></text> -->
 			</view>
 		</view>
@@ -111,9 +111,11 @@
 			<navigator :url="'/pages/shoping/index?merid=' + shopId"><view class="shop-button">进店逛逛</view></navigator>
 		</view>
 		<view class="detail-desc">
-			<view class="d-header"><text>图文详情</text></view>
-			<rich-text class="detail-centent" :nodes="goodsObjact.description"></rich-text>
-			<view :class="{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }"></view>
+			<!-- <view class="d-header">
+				<text>图文详情{{ goodsObjact.description }}</text>
+			</view> -->
+			<rich-text :nodes="goodsObjact.description"></rich-text>
+			<!-- <view :class="{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }"></view> -->
 		</view>
 		<!-- 底部操作菜单 -->
 		<view class="page-bottom" v-if="goodsType == 0">
@@ -129,10 +131,10 @@
 				<text class="iconfont " :class="{ iconlike: !goodsObjact.userCollect, iconlikefill: goodsObjact.userCollect }"></text>
 				<text>收藏</text>
 			</view>
-			
-			<view class="action-btn-group" v-if="goodsObjact.max_use_integral == 0">
-				<button type="primary" class=" action-btn no-border buy-now-btn" @click="toggleSpec(2)">加入购物车</button>
-				<button type="primary" class=" action-btn no-border  add-cart-btn" @click="toggleSpec(1)">立即购买</button>
+
+			<view class="action-btn-group" v-if="goodsObjact.max_use_integral == 0">
+				<button type="primary" class=" action-btn no-border buy-now-btn" @click="toggleSpec(2)">加入购物车</button>
+				<button type="primary" class=" action-btn no-border  add-cart-btn" @click="toggleSpec(1)">立即购买</button>
 			</view>
 			<view class="action-btn-group" v-if="goodsObjact.max_use_integral != 0">
 				<button type="primary" class=" action-btn no-border  add-cart-btn" style="width: 750rpx;" @click="toggleSpec(1)">立即购买</button>
@@ -161,9 +163,9 @@
 			<view class="layer attr-content" @click.stop="stopPrevent">
 				<view class="a-t">
 					<image :src="actionImage"></image>
-					<view class="right">
-						<view class="good-name clamp">{{goodsObjact.store_name}}</view>
-						<text class="price" v-if="goodsObjact.max_use_integral > 0">¥{{ actionPrice }}+{{goodsObjact.max_use_integral*1}}积分</text>
+					<view class="right">
+						<view class="good-name clamp">{{ goodsObjact.store_name }}</view>
+						<text class="price" v-if="goodsObjact.max_use_integral > 0">¥{{ actionPrice }}+{{ goodsObjact.max_use_integral * 1 }}积分</text>
 						<text class="price" v-else>¥{{ actionPrice }}</text>
 						<!-- <text class="stock">库存:{{ goodsObjact.stock }}件</text> -->
 						<!-- <view class="selected" v-if="goodsType == 0">
@@ -208,28 +210,28 @@ import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
 import { goodsDetail, cartAdd, collectAdd, collectDel, seckillGoods, groupGoods } from '@/api/product.js';
 import { getShoping } from '@/api/shoping.js';
 // import { weixindata } from '@/utils/wxAuthorized';
-import { mapState } from 'vuex';
-	// #ifdef H5
-	import { weixindata, weixinlocation,shareLoad } from '@/utils/wxAuthorized';
-	// #endif
+import { mapState } from 'vuex';
+// #ifdef H5
+import { weixindata, weixinlocation, shareLoad } from '@/utils/wxAuthorized';
+// #endif
 export default {
 	components: {
 		share,
 		uniNumberBox,
 		uniCountdown
-	},
-	filters: {
-		address(val) {
-			let str = ''
-			if(val) {
-				str = val[0] + ' ' + val[1]
-			}
-			return str
-		}
+	},
+	filters: {
+		address(val) {
+			let str = '';
+			if (val) {
+				str = val[0] + ' ' + val[1];
+			}
+			return str;
+		}
 	},
 	data() {
-		return {
-			paying: false,//是否正在支付
+		return {
+			paying: false, //是否正在支付
 			details: '',
 			reply: '', //评论
 			type: 1, //默认支付方式add为
@@ -237,15 +239,15 @@ export default {
 			goodsid: '', //商品id
 			specClass: 'none', //显示隐藏弹窗
 			shareList: [], //分享列表
-			goodsObjact: {}, //保存商品数据
-			storeObjact: {},//保存店铺数据
+			goodsObjact: {}, //保存商品数据
+			storeObjact: {}, //保存店铺数据
 			//图片循环
 			imgList: [],
 			specList: [],
 			// 对比对象
 			productValue: [],
-			actionPrice: 0, //默认选中商品价格
-			actionIntegral: 0,//默认选中商品积分
+			actionPrice: 0, //默认选中商品价格
+			actionIntegral: 0, //默认选中商品积分
 			actionImage: '', //默认选中图片
 			uniqueId: '', //选中的商品分类
 			specSelected: [], //选中的分类
@@ -330,39 +332,39 @@ export default {
 		...mapState('user', ['userInfo'])
 		// #endif
 	},
-	methods: {
-		// 分享
-		// #ifdef H5
-		IndexShare() {
-			let obj = this
-			// console.log('dddddddffffffffffffff')
-			// 设置菜单中的转发按钮触发转发事件时的转发内容
-			let pages = getCurrentPages(); //获取加载的页面
-			let currentPage = pages[pages.length - 1]; //获取当前页面的对象
-			let url = '/#/' + currentPage.route; //当前页面url
-			let item = currentPage.options; //如果要获取url中所带的参数可以查看options
-			let shareObj = {
-				title: obj.goodsObjact.store_name, // 默认是小程序的名称(可以写slogan等)
-				link: obj.baseURL + url + '?id=' + item.id + '&spread=' + obj.userInfo.uid, // 默认是当前页面,必须是以‘/’开头的完整路径
-				desc: obj.goodsObjact.store_name + '   价格:' + obj.goodsObjact.price,
-				imgUrl: obj.goodsObjact.image,
-				success: function(res) {
-					// 转发成功之后的回调
-					if (res.errMsg == 'shareAppMessage:ok') {
-					}
-				},
-				fail: function() {
-					// 转发失败之后的回调
-					if (res.errMsg == 'shareAppMessage:fail cancel') {
-						// 用户取消转发
-					} else if (res.errMsg == 'shareAppMessage:fail') {
-						// 转发失败,其中 detail message 为详细失败信息
-					}
-				}
-			};
-			console.log(shareObj, '8888888888888888888');
-			shareLoad(shareObj);
-		},
+	methods: {
+		// 分享
+		// #ifdef H5
+		IndexShare() {
+			let obj = this;
+			// console.log('dddddddffffffffffffff')
+			// 设置菜单中的转发按钮触发转发事件时的转发内容
+			let pages = getCurrentPages(); //获取加载的页面
+			let currentPage = pages[pages.length - 1]; //获取当前页面的对象
+			let url = '/' + currentPage.route; //当前页面url
+			let item = currentPage.options; //如果要获取url中所带的参数可以查看options
+			let shareObj = {
+				title: obj.goodsObjact.store_name, // 默认是小程序的名称(可以写slogan等)
+				link: obj.baseURL + url + '?id=' + item.id + '&spread=' + obj.userInfo.uid, // 默认是当前页面,必须是以‘/’开头的完整路径
+				desc: obj.goodsObjact.store_name + '   价格:' + obj.goodsObjact.price,
+				imgUrl: obj.goodsObjact.image,
+				success: function(res) {
+					// 转发成功之后的回调
+					if (res.errMsg == 'shareAppMessage:ok') {
+					}
+				},
+				fail: function() {
+					// 转发失败之后的回调
+					if (res.errMsg == 'shareAppMessage:fail cancel') {
+						// 用户取消转发
+					} else if (res.errMsg == 'shareAppMessage:fail') {
+						// 转发失败,其中 detail message 为详细失败信息
+					}
+				}
+			};
+			console.log(shareObj, '8888888888888888888');
+			shareLoad(shareObj);
+		},
 		// #endif
 		navTo(url) {
 			uni.navigateTo({
@@ -398,8 +400,8 @@ export default {
 			groupGoods({}, this.goodsid).then(function({ data }) {
 				obj.pink = data.pink[0]; //保存拼团信息
 				let goods = data.storeInfo;
-				obj.goodsObjact = goods;
-				console.log(goods,'123456');
+				obj.goodsObjact = goods;
+				console.log(goods, '123456');
 				obj.imgList = goods.images; //保存轮播图
 				obj.specList = data.productAttr; //保存分类列表
 				obj.productValue = data.productValue; //保存分类查询数据
@@ -459,47 +461,47 @@ export default {
 		// 获取商品信息
 		goodsDetail() {
 			let obj = this;
-			goodsDetail({}, this.goodsid).then(function({ data }) {
-				obj.details = data;
-				let goods = data.storeInfo;
-				let store_info = data.system_store; // 保存店铺信息
-				console.log(store_info);
-				obj.storeObjact = store_info;
-				obj.goodsObjact = goods;
-				//商品详情图超出屏幕问题
-				if (obj.goodsObjact.description != null) {
-					obj.goodsObjact.description = obj.goodsObjact.description.replace(/<img/g, '<img class="rich-img"').replace(/<p>\s*<img/g, '<p class="pHeight"><img');
-				}
-				if ( obj.goodsObjact.rule != null ) {
-					obj.goodsObjact.rule ='<p>' + obj.goodsObjact.rule.replace(/\n/g, '</p><p>').trim() + '</p>'
-				}
-				obj.reply = data.reply; //保存评论列表
-				obj.imgList = goods.slider_image; //保存轮播图
-				obj.specList = data.productAttr; //保存分类列表
-				console.log(data.productAttr);
-				obj.productValue = data.productValue; //保存分类查询数据
-				obj.actionPrice = goods.price; //保存默认选中商品价格
-				obj.actionIntegral = goods.integral; //保存默认选中商品积分
-				obj.actionImage = goods.image_base; //保存默认选中商品价格
-				obj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量
-				obj.shopId = data.mer_id; //保存商店id
-				// 保存默认选中的对象
-				obj.specSelected = []; //初始化默认选择对象
-				for (let i = 0; i < obj.specList.length; i++) {
-					// 设置默认数据
-					let attrValue = obj.specList[i].attr_value[0];
-					attrValue.check = true;
-					obj.specSelected.push(attrValue.attr);
-				}
-			
-				//保存默认选中的对象字符串名称
-				let str = obj.specSelected.join(',');
-				// 设置默认值
-				obj.actionImage = obj.productValue[str].image;
-				obj.uniqueId = obj.productValue[str].unique;
-				// #ifdef H5
-				obj.shareDate();
-				// #endif
+			goodsDetail({}, this.goodsid).then(function({ data }) {
+				obj.details = data;
+				let goods = data.storeInfo;
+				let store_info = data.system_store; // 保存店铺信息
+				console.log(store_info);
+				obj.storeObjact = store_info;
+				obj.goodsObjact = goods;
+				//商品详情图超出屏幕问题
+				if (obj.goodsObjact.description != null) {
+					obj.goodsObjact.description = obj.goodsObjact.description.replace(/<img/g, '<img class="rich-img"').replace(/<p>\s*<img/g, '<p class="pHeight"><img');
+				}
+				if (obj.goodsObjact.rule != null) {
+					obj.goodsObjact.rule = '<p>' + obj.goodsObjact.rule.replace(/\n/g, '</p><p>').trim() + '</p>';
+				}
+				obj.reply = data.reply; //保存评论列表
+				obj.imgList = goods.slider_image; //保存轮播图
+				obj.specList = data.productAttr; //保存分类列表
+				console.log(data.productAttr);
+				obj.productValue = data.productValue; //保存分类查询数据
+				obj.actionPrice = goods.price; //保存默认选中商品价格
+				obj.actionIntegral = goods.integral; //保存默认选中商品积分
+				obj.actionImage = goods.image_base; //保存默认选中商品价格
+				obj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量
+				obj.shopId = data.mer_id; //保存商店id
+				// 保存默认选中的对象
+				obj.specSelected = []; //初始化默认选择对象
+				for (let i = 0; i < obj.specList.length; i++) {
+					// 设置默认数据
+					let attrValue = obj.specList[i].attr_value[0];
+					attrValue.check = true;
+					obj.specSelected.push(attrValue.attr);
+				}
+
+				//保存默认选中的对象字符串名称
+				let str = obj.specSelected.join(',');
+				// 设置默认值
+				obj.actionImage = obj.productValue[str].image;
+				obj.uniqueId = obj.productValue[str].unique;
+				// #ifdef H5
+				obj.shareDate();
+				// #endif
 			});
 		},
 		// #ifdef H5
@@ -555,8 +557,8 @@ export default {
 			if (this.productValue[str]) {
 				let data = this.productValue[str];
 				this.actionPrice = data.price;
-				this.goodsNumberMax = data.stock;
-				this.actionIntegral = data.integral
+				this.goodsNumberMax = data.stock;
+				this.actionIntegral = data.integral;
 				this.actionImage = data.image;
 				this.uniqueId = data.unique;
 			}
@@ -589,19 +591,19 @@ export default {
 		},
 		// 立即购买
 		buy() {
-			let obj = this;
+			let obj = this;
 			let data = {
 				cartNum: obj.goodsNumber, //商品数量
 				uniqueId: obj.uniqueId, //商品标签
 				new: '1', //商品是否新增加到购物车1为不加入0为加入
-				mer_id: obj.shopId,
-				is_consumer: 0,
+				mer_id: obj.shopId,
+				is_consumer: 0
 				// type: 0,//0为余额支付  1为消费券支付 2为积分支付
-			};
-			if(obj.paying) {
-				return 
-			}
-			obj.paying = true
+			};
+			if (obj.paying) {
+				return;
+			}
+			obj.paying = true;
 			if (obj.type == 2) {
 				data.new = 0;
 			}
@@ -628,8 +630,8 @@ export default {
 				data.productId = obj.goodsObjact.product_id; //商品编号
 			}
 			cartAdd(data)
-				.then(function({ data }) {
-					obj.paying = false
+				.then(function({ data }) {
+					obj.paying = false;
 					if (obj.type == 1) {
 						// 跳转到支付页
 						uni.navigateTo({
@@ -645,8 +647,8 @@ export default {
 						obj.toggleSpec();
 					}
 				})
-				.catch(e => {
-					obj.paying = false
+				.catch(e => {
+					obj.paying = false;
 					console.log(e);
 				});
 		},
@@ -692,7 +694,7 @@ page {
 		display: flex;
 		justify-content: center;
 		align-content: center;
-		// height: 750rpx;
+		// height: 750rpx;
 		height: 710rpx;
 		overflow: hidden;
 		image {
@@ -1056,22 +1058,22 @@ page {
 			padding-left: 24rpx;
 			font-size: $font-sm + 2rpx;
 			color: $font-color-base;
-			line-height: 42rpx;
-			.good-name {
-				padding-top: 20rpx;
-				max-width: 320rpx;
-				font-size: 30rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #1D2023;
-				line-height: 42rpx;
-				margin-bottom: 15rpx;
+			line-height: 42rpx;
+			.good-name {
+				padding-top: 20rpx;
+				max-width: 320rpx;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #1d2023;
+				line-height: 42rpx;
+				margin-bottom: 15rpx;
 			}
-			.price {
-				font-size: 60rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #FF6F0F;
+			.price {
+				font-size: 60rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #ff6f0f;
 				// font-size: $font-lg;
 				// color: $uni-color-primary;
 				// margin-bottom: 10rpx;
@@ -1163,7 +1165,7 @@ page {
 			height: 66rpx;
 			line-height: 66rpx;
 			border-radius: 100rpx;
-			// background: $uni-color-primary;
+			// background: $uni-color-primary;
 			background: $base-color;
 			font-size: $font-base + 2rpx;
 			color: #fff;
@@ -1270,8 +1272,8 @@ page {
 			font-size: $font-base;
 			padding: 0;
 			border-radius: 0;
-			// background: transparent;
-			background: #31332D;
+			// background: transparent;
+			background: #31332d;
 			&.buy-now-btn {
 				background-color: #303e49;
 			}

+ 7 - 7
pages/public/forget.vue

@@ -56,7 +56,7 @@ export default {
 				obj.$api.msg('请输入邮箱');
 				return;
 			}
-			if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(obj.phone) && (!/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone))) {
+			if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(obj.phone) && !/(^1[2|3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone)) {
 				obj.$api.msg('请输入正确的邮箱或手机');
 				return;
 			}
@@ -80,7 +80,7 @@ export default {
 				account: obj.phone, //账号
 				password: obj.password,
 				password2: obj.password2,
-				pwd:'123456',
+				pwd: '123456',
 				type: 1,
 				captcha: obj.code
 			})
@@ -101,7 +101,7 @@ export default {
 				this.$api.msg('请输入邮箱号码');
 				return;
 			}
-			if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(obj.phone) && (!/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone))) {
+			if (!/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(obj.phone) && !/(^1[3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone)) {
 				obj.$api.msg('请输入正确的邮箱或手机');
 				return;
 			}
@@ -147,7 +147,7 @@ page {
 .logo-img {
 	width: 161rpx;
 	height: 161rpx;
-	margin:auto;
+	margin: auto;
 	margin-top: 52rpx !important;
 	margin-bottom: 15rpx !important;
 	box-shadow: 0px 12rpx 13rpx 0px rgba(68, 150, 157, 0.47);
@@ -161,7 +161,7 @@ page {
 .logo {
 	font-size: 36rpx;
 	font-weight: 400;
-	color: #2E58FF;
+	color: #2e58ff;
 	text-align: center;
 }
 .phone {
@@ -196,7 +196,7 @@ page {
 		.login_name {
 			color: #333333;
 			.code {
-				color: #2E58FF;
+				color: #2e58ff;
 				font-size: 23rpx;
 				border-left: 1px solid #eeeeee;
 				width: 150rpx;
@@ -208,7 +208,7 @@ page {
 }
 
 .login {
-	background: linear-gradient(0deg, #2E58FF, #32C6FF);
+	background: linear-gradient(0deg, #2e58ff, #32c6ff);
 	margin-top: 96rpx;
 	color: #ffffff;
 	text-align: center;

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 523 - 504
pages/received/index.vue


+ 68 - 58
pages/redirect/redirect.vue

@@ -32,22 +32,18 @@ export default {
 			let url = window.location.href;
 			let code = url.match(/code=([0-9]|[a-z]|[A-Z])*/g)[0].replace('code=', '');
 			let spread = uni.getStorageSync('spread') || '';
-			wechatAuth({
-				code: code,
-				spread: spread
-			})
-				.then(({ data }) => {
-					obj.wchatAuth(data);
-					// 设置成功后修改当前页面
-					history.replaceState({ name: '首页' }, '首页', obj.urlFile + '/pages/index/index');
+			try {
+				wechatAuth({
+					code: code,
+					spread: spread
 				})
-				.catch(e => {
-					uni.showModal({
-						title: '错误',
-						content: JSON.stringify(e) + option.code,
-						showCancel: false
-					});
-				});
+					.then(({ data }) => {
+						obj.wchatAuth(data);
+						// 设置成功后修改当前页面
+						// history.replaceState({ name: '首页' }, '首页', obj.urlFile + '/pages/index/index');
+					})
+					.catch(e => {});
+			} catch (e) {}
 		},
 		// #endif
 		// #ifdef MP-WEIXIN
@@ -80,51 +76,65 @@ export default {
 			// 保存token
 			uni.setStorageSync('token', data.token);
 			// 获取用户基础信息
-			getUserInfo({}).then(e => {
-				console.log('获取用户信息');
-				console.log(e);
-				obj.login();
-				// 保存返回用户数据
-				obj.setUserInfo(e.data);
-				let ur = uni.getStorageSync('present') || '/pages/index/index';
-				// 用于处理缓存bug
-				if (ur == 'pages/product/product') {
-					ur = '/pages/index/index';
-				}
-				if (e.data.phone) {
-					uni.switchTab({
-						url: ur,
-						fail(e) {
-							console.log(e);
-							uni.navigateTo({
-								url: ur,
-								fail(e) {
-									console.log(e);
-									uni.switchTab({
-										url: '/pages/index/index'
-									});
-								}
-							});
-						}
-					});
-				} else {
+			getUserInfo({})
+				.then(e => {
 					uni.showModal({
-						title: '提示',
-						content: '请先绑定手机号',
-						showCancel: false,
-						success: res => {
-							uni.navigateTo({
-								url: '/pages/set/phone'
-							});
-						},
-						fail(e) {
-							console.log(e);
-						}
+						title: '获取用户信息',
+						content: 'getUserInfo'
 					});
-				}
-			}).catch((e) => {
-				console.log(e);
-			});
+					obj.login();
+					// 保存返回用户数据
+					obj.setUserInfo(e.data);
+					let ur = uni.getStorageSync('present') || '/pages/index/index';
+					// 用于处理缓存bug
+					if (ur == 'pages/product/product') {
+						ur = '/pages/index/index';
+					}
+					if (ur.indexOf('public/wxLogin') > -1) {
+						uni.showModal({
+							title: '跳转页面',
+							content: ur
+						});
+						uni.switchTab({
+							url: '/pages/index/index'
+						});
+						return false;
+					}
+					if (e.data.phone) {
+						uni.switchTab({
+							url: ur,
+							fail(e) {
+								console.log(e);
+								uni.navigateTo({
+									url: ur,
+									fail(e) {
+										console.log(e);
+										uni.switchTab({
+											url: '/pages/index/index'
+										});
+									}
+								});
+							}
+						});
+					} else {
+						uni.showModal({
+							title: '提示',
+							content: '请先绑定手机号',
+							showCancel: false,
+							success: res => {
+								uni.navigateTo({
+									url: '/pages/set/phone'
+								});
+							},
+							fail(e) {
+								console.log(e);
+							}
+						});
+					}
+				})
+				.catch(e => {
+					console.log(e);
+				});
 		}
 	}
 };

+ 160 - 160
pages/set/phone.vue

@@ -1,163 +1,163 @@
-<template>
-	<view class="container">
-		<view class="row b-b">
-			<text class="tit">手机号</text>
-			<input class="input" v-model="account" type="text" placeholder="请填写手机号" placeholder-class="placeholder" />
-		</view>
-		<view>
-			<view class="row b-b">
-				<text class="tit">验证码</text>
-				<input class="input" v-model="captcha" type="text" placeholder="请填写验证码" placeholder-class="placeholder" />
-				<view class="code" @click="verification">{{ countDown == 0 ? '验证码' : countDown }}</view>
-			</view>
-			<button class="add-btn" :class="{ 'bg-gray': loding }" @click="loding ? '' : confirm()">提交</button>
-		</view>
-	</view>
-</template>
-
-<script>
-import { verify } from '@/api/login.js';
-import { mapState, mapMutations} from 'vuex';
+<template>
+	<view class="container">
+		<view class="row b-b">
+			<text class="tit">手机号</text>
+			<input class="input" v-model="account" type="text" placeholder="请填写手机号" placeholder-class="placeholder" />
+		</view>
+		<view>
+			<view class="row b-b">
+				<text class="tit">验证码</text>
+				<input class="input" v-model="captcha" type="text" placeholder="请填写验证码" placeholder-class="placeholder" />
+				<view class="code" @click="verification">{{ countDown == 0 ? '验证码' : countDown }}</view>
+			</view>
+			<button class="add-btn" :class="{ 'bg-gray': loding }" @click="loding ? '' : confirm()">提交</button>
+		</view>
+	</view>
+</template>
+
+<script>
+import { verify } from '@/api/login.js';
+import { mapState, mapMutations } from 'vuex';
 import { registerReset, binding } from '@/api/set.js';
-import { getUserInfo } from '@/api/login.js';
-export default {
-	data() {
-		return {
-			time: '', //保存倒计时对象
-			countDown: 0, //倒计时
-			account: '', //手机号
-			captcha: '', //验证码
-			password: '', //新密码
-			loding: false //是否载入中
-		};
-	},
-	watch: {
-		// 监听倒计时
-		countDown(i) {
-			if (i == 0) {
-				clearInterval(this.time);
-			}
-		}
-	},
-	computed: {
-		...mapState(['userInfo'])
-	},
-	onLoad() {
-		if (this.userInfo.phone == null) {
-			this.account = '';
-		} else {
-			this.account = this.userInfo.phone;
-			this.show = false;
-		}
-	},
+import { getUserInfo } from '@/api/login.js';
+export default {
+	data() {
+		return {
+			time: '', //保存倒计时对象
+			countDown: 0, //倒计时
+			account: '', //手机号
+			captcha: '', //验证码
+			password: '', //新密码
+			loding: false //是否载入中
+		};
+	},
+	watch: {
+		// 监听倒计时
+		countDown(i) {
+			if (i == 0) {
+				clearInterval(this.time);
+			}
+		}
+	},
+	computed: {
+		...mapState(['userInfo'])
+	},
+	onLoad() {
+		if (this.userInfo.phone == null) {
+			this.account = '';
+		} else {
+			this.account = this.userInfo.phone;
+			this.show = false;
+		}
+	},
 	methods: {
-		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
-		//发送验证码
-		verification() {
-			let obj = this;
-			if (this.account == '') {
-				this.$api.msg('请输入电话号码');
-				return;
-			}
-			if (!/(^1[3|4|5|7|8][0-9]{9}$)/.test(this.account)) {
-				this.$api.msg('请输入正确的手机号');
-				return;
-			}
-			// 判断是否在倒计时
-			if (obj.countDown > 0) {
-				return false;
-			} else {
-				obj.countDown = 60;
-				obj.time = setInterval(() => {
-					obj.countDown--;
-				}, 1000);
-				//调用验证码接口
-				verify({
-					phone: obj.account,
-					type: 'BDING_CODE'
-				})
-					.then(({ data }) => {})
-					.catch(err => {
-						console.log(err);
-					});
-			}
-		},
-		confirm(e) {
-			let obj = this;
-			obj.loding = true;
-			binding({
-				phone: obj.account,
-				captcha: obj.captcha
-			})
-				.then(({ data }) => {
-					obj.$api.msg('绑定成功!');
-					setTimeout(function() {
-						obj.loding = false;
-						uni.switchTab({
-							url: '/pages/index/index'
-						});
-					}, 1000);
-				})
-				.catch(err => {
-					obj.loding = false;
-					console.log(err);
-				});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: $page-color-base;
-}
-.row {
-	display: flex;
-	align-items: center;
-	position: relative;
-	padding: 0 30rpx;
-	height: 110rpx;
-	background: #fff;
-
-	.tit {
-		flex-shrink: 0;
-		width: 120rpx;
-		font-size: 30rpx;
-		color: $font-color-dark;
-	}
-	.input {
-		flex: 1;
-		font-size: 30rpx;
-		color: $font-color-dark;
-	}
-	.iconlocation {
-		font-size: 36rpx;
-		color: $font-color-light;
-	}
-}
-.add-btn {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	width: 690rpx;
-	height: 80rpx;
-	margin: 60rpx auto;
-	font-size: $font-lg;
-	color: #fff;
-	background-color: $base-color;
-	border-radius: 10rpx;
-	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
-}
-
-.bg-gray {
-	background-color: $color-gray;
-}
-.code {
-	color: #5dbc7c;
-	font-size: 23rpx;
-	border-left: 1px solid #eeeeee;
-	width: 150rpx;
-	flex-shrink: 0;
-	text-align: center;
-}
+		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
+		//发送验证码
+		verification() {
+			let obj = this;
+			if (this.account == '') {
+				this.$api.msg('请输入电话号码');
+				return;
+			}
+			if (!/(^1[2|3|4|5|7|8|9][0-9]{9}$)/.test(this.account)) {
+				this.$api.msg('请输入正确的手机号');
+				return;
+			}
+			// 判断是否在倒计时
+			if (obj.countDown > 0) {
+				return false;
+			} else {
+				obj.countDown = 60;
+				obj.time = setInterval(() => {
+					obj.countDown--;
+				}, 1000);
+				//调用验证码接口
+				verify({
+					phone: obj.account,
+					type: 'BDING_CODE'
+				})
+					.then(({ data }) => {})
+					.catch(err => {
+						console.log(err);
+					});
+			}
+		},
+		confirm(e) {
+			let obj = this;
+			obj.loding = true;
+			binding({
+				phone: obj.account,
+				captcha: obj.captcha
+			})
+				.then(({ data }) => {
+					obj.$api.msg('绑定成功!');
+					setTimeout(function() {
+						obj.loding = false;
+						uni.switchTab({
+							url: '/pages/index/index'
+						});
+					}, 1000);
+				})
+				.catch(err => {
+					obj.loding = false;
+					console.log(err);
+				});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: $page-color-base;
+}
+.row {
+	display: flex;
+	align-items: center;
+	position: relative;
+	padding: 0 30rpx;
+	height: 110rpx;
+	background: #fff;
+
+	.tit {
+		flex-shrink: 0;
+		width: 120rpx;
+		font-size: 30rpx;
+		color: $font-color-dark;
+	}
+	.input {
+		flex: 1;
+		font-size: 30rpx;
+		color: $font-color-dark;
+	}
+	.iconlocation {
+		font-size: 36rpx;
+		color: $font-color-light;
+	}
+}
+.add-btn {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	width: 690rpx;
+	height: 80rpx;
+	margin: 60rpx auto;
+	font-size: $font-lg;
+	color: #fff;
+	background-color: $base-color;
+	border-radius: 10rpx;
+	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
+}
+
+.bg-gray {
+	background-color: $color-gray;
+}
+.code {
+	color: #5dbc7c;
+	font-size: 23rpx;
+	border-left: 1px solid #eeeeee;
+	width: 150rpx;
+	flex-shrink: 0;
+	text-align: center;
+}
 </style>

+ 134 - 158
pages/shareQrCode/index.vue

@@ -1,167 +1,143 @@
 <template>
-	<view class="content">
-		<image src="../../static/img/sharebase.png" mode="" class="sharebg" ></image>
-		<view class="code-warpper">
-			<view class="code-content">
-				<tki-qrcode
-					:cid="cid"
-					ref="qrcode"
-					:val="val"
-					:size="size"
-					:unit="unit"
-					:background="background"
-					:foreground="foreground"
-					:pdground="pdground"
-					:iconSize="iconSize"
-					:lv="lv"
-					:onval="onval"
-					:loadMake="loadMake"
-					:usingComponents="usingComponents"
-					@result="qrR"
-				/>
-			</view>
-			<view class="code">
-				邀请码:{{userInfo.uid}}
-			</view>
-		</view>
-		<view class="btm">
-			<!-- 向商家出示二维码 -->
-		</view>
-	</view>
-</template>
-
+	<view class="container">
+		<image @longtap="bc_code" class="backImg" :src="backImg"></image>
+		<view class="tki-qrcode"><canvas @longtap="bc_code" canvas-id="qrcode" /></view>
+	</view>
+</template>
+
 <script>
-	import { orderDetail } from '@/api/order.js';
-	import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue';
-	import { mapState, mapMutations } from 'vuex';
-	export default {
-		comments:{
-			tkiQrcode
-		},
-		data() {
-			return {
-				id:'',
-				// code: '10250035810',
-				cid: 'tki-qrcode-canvas', //canvasId,页面存在多个二维码组件时需设置不同的ID
-				size: 300, //生成的二维码大小
-				unit: 'upx', //大小单位尺寸
-				show: true,//默认使用组件中的image标签显示二维码
-				val: '', //要生成的内容
-				background: '#ffffff', //二维码背景色
-				foreground: '#333333', //二维码前景色
-				pdground: '#333333', //二维码角标色
-				icon: '', //二维码图标URL(必须是本地图片,网络图需要先下载至本地)
-				iconSize: 40, //二维码图标大小
-				lv: 3, //容错级别
-				onval: true, //监听val值变化自动重新生成二维码
-				loadMake: true, //组件初始化完成后自动生成二维码,val需要有值
-				usingComponents: false, //是否使用了自定义组件模式(主要是为了修复非自定义组件模式时 v-if 无法生成二维码的问题)
-				showLoading: false, //是否显示loading
-				loadingText: '二维码生成中', //loading文字
-				src: '', // 二维码生成后的图片地址或base64
-				ratio: 1, //页面比例用于计算
-				ctxSrc: '', //要显示的图片
-				loading: true,//是否载入图片中
-				canHeight: '',//画布高度
-				canWeidth: ''//画布宽度
-			}
-		},
-		computed: {
-			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
-			...mapState(['baseURL'])
-		},
-		onShow() {
-			console.log(this.userInfo)
-			// 判断是否已经登录
-			if (this.hasLogin) {
-				// this.loadBaseData();
-				// this.getSpreadCount()
-				console.log(this.userInfo)
-				// console.log(this.userInfo)
+import { spreadBanner } from '@/api/user.js';
+export default {
+	// components: { tkiQrcode },
+	data() {
+		return {
+			url: '',
+			backImg: '',
+			userInfo: ''
+		};
+	},
+	onLoad() {
+		this.spread();
+	},
+	computed: {
+		cpSize() {
+			if (this.unit == 'upx') {
+				return uni.upx2px(this.size);
+			} else {
+				return this.size;
 			}
-		},
-		onLoad(opt) {
-			this.val = this.baseURL + '/index/#/pages/index/index??spread=' + this.userInfo.uid
-		},
-		methods: {
-			// 生成二维码后返回base64
-			qrR(res) {
-				this.src = res;
-			},
 		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.content {
-		position: relative;
-		background-color: #ff341a;
-		height: 100vh;
-		min-height: 100%;
-	}
-	page {
-		height: 100vh;
-		min-height: 100%;
-		background-color: #ff341a;
-	}
-	.user-logo {
-		height: 300rpx;
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		image {
-			width: 102rpx;
-			height: 102rpx;
-			border-radius: 50%;
-		}
-		.user-name {
-			padding-top: 25rpx;
-			font-size: 34rpx;
-			font-family: SourceHanSansCN;
-			font-weight: 400;
-			color: #2B2B2B;
+	},
+	methods: {
+		spread() {
+			uni.showLoading({
+				title: '加载中'
+			});
+			let obj = this;
+			spreadBanner({
+				//#ifdef H5
+				type: 2,
+				//#endif
+				//#ifdef MP
+				type:1,
+				//#endif
+				//#ifdef APP-PLUS
+				type:2,
+				//#endif
+			}).then(({ data }) => {
+				console.log(data);
+				//#ifdef MP
+				obj.backImg = data[0].poster;
+				//#endif
+				//#ifdef H5
+				obj.backImg = data[0].wap_poster;
+				//#endif
+				//#ifdef APP-PLUS
+				obj.backImg = data[0].wap_poster;
+				//#endif
+				uni.hideLoading();
+			});
+		},
+		bc_code() {
+			let that = this;
+			console.log('保存二维码', this.backImg);
+			uni.downloadFile({
+				//获得二维码的临时地址
+				url: this.backImg,
+				success: res => {
+					//console.log('获取url',res)
+					if (res.statusCode == 200) {
+						uni.saveImageToPhotosAlbum({
+							filePath: res.tempFilePath, //传入临时地址
+							success() {
+								that.$api.msg('保存成功'); //封装的提示
+							},
+							fail() {
+								that.$api.msg('保存失败');
+							}
+						});
+					}
+				}
+			});
 		}
-		
 	}
-	.code-warpper {
-		width: 515rpx;
-		height: 515rpx;
-		margin: 0 auto;
-		// border: 3rpx solid #901B21;
-		padding-top: 46rpx;
-		position: absolute;
-		top:600rpx;
-		left: 0;
-		right: 0;
-		margin: auto;
-		.code-content {
-			width: 300rpx;
-			height: 300rpx;
-			// background-color: red;
-			margin: 0 auto;
-		}
-		.code {
-			padding-top: 31rpx;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #333333;
-			text-align: center;
-		}
+};
+</script>
+
+<style lang="scss">
+page {
+	width: 100%;
+	min-height: 100%;
+	.container {
+		width: 100%;
+		height: 100%;
 	}
-	.btm {
-		padding-top: 45rpx;
-		font-size: 30rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #333333;
-		text-align: center;
+}
+.backImg {
+	position: absolute;
+	width: 100%;
+	height: 100%;
+}
+.portrait {
+	width: 100%;
+	text-align: center;
+	padding-top: 80rpx;
+	padding-bottom: 30rpx;
+	image {
+		width: 250rpx;
+		height: 250rpx;
 	}
-	.sharebg {
-		width: 750rpx;
-		height: 1206rpx;
-		position: absolute;
-		top: 0;
-	}
+}
+.text {
+	text-align: center;
+	width: 100%;
+	color: #ffffff;
+	font-size: 55rpx;
+	letter-spacing: 15rpx;
+}
+.uid-name {
+	padding: 50rpx 0rpx;
+	text-align: center;
+	width: 100%;
+	color: #ffffff;
+}
+.copy-btn {
+	color: #ffffff;
+	background-color: #4ba6ed;
+	border-radius: 50rpx;
+	width: 170rpx;
+	line-height: 70rpx;
+	margin: 0rpx auto;
+	text-align: center;
+}
+.tki-qrcode {
+	position: fixed;
+	bottom: 10%;
+	left: 30%;
+}
+canvas {
+	width: 150px;
+	height: 150px;
+	margin: auto;
+}
 </style>

+ 4 - 8
pages/shareQrCode/wechatQr.vue

@@ -2,12 +2,10 @@
 	<view class="content">
 		<image class="bg-img" src="/static/img/img09.png" mode="scaleToFill"></image>
 		<view class="logo-img-box">
-			<image class="logo-img" src="/static/img/img12.png" mode="aspectFit"></image>
+			<image class="logo-img" src="/static/img/img12.jpg" mode="aspectFit"></image>
 			<button class="userInfo" type="warn">
 				<text class="iconfont iconweixin"></text>
-				<text>
-				长按识别关注公众号
-				</text>
+				<text>长按识别关注公众号</text>
 			</button>
 		</view>
 	</view>
@@ -16,8 +14,7 @@
 <script>
 export default {
 	data() {
-		return {
-		};
+		return {};
 	},
 	onLoad() {
 		// let obj = this;
@@ -48,7 +45,6 @@ export default {
 		// 	}
 		// });
 	}
-	
 };
 </script>
 
@@ -74,7 +70,7 @@ page,
 .userInfo {
 	margin: 0 100rpx;
 	margin-top: 50rpx;
-	color: #FFFFFF;
+	color: #ffffff;
 	border-radius: 99rpx;
 	background-color: $base-color;
 }

+ 27 - 28
pages/shoping/index.vue

@@ -5,27 +5,25 @@
 			<image class="bgImg" src="../../static/img/img10.png" mode="scaleToFill"></image>
 			<view class="flex shpingInfo position-relative">
 				<view class="logoBox flex">
-					<image class="logo" :src="info.logo" mode="scaleToFill"></image>
-					<view class="shopingTitle">{{info.title}}</view>
+					<image class="logo" :src="info.image" mode="scaleToFill"></image>
+					<view class="shopingTitle">{{ info.name }}</view>
 				</view>
 				<icon class="shopingExit" type="clear" color="#FFFFFF" @click="backUrl"></icon>
 			</view>
 			<view class="serachBox flex position-relative">
 				<view class="serachInput flex">
 					<icon :size="iconSize" type="search" color="#FFFFFF"></icon>
-					<input class="search" placeholder="搜索" @blur='confirm' placeholder-style="color:#ffffff" type="text" :value="search" @confirm="confirm" />
+					<input class="search" placeholder="搜索" @blur="confirm" placeholder-style="color:#ffffff" type="text" :value="search" @confirm="confirm" />
 				</view>
 			</view>
 		</view>
-		<view class="list position-relative">
-			<list ref='dataList'></list>
-		</view>
+		<view class="list position-relative"><list ref="dataList"></list></view>
 	</view>
 </template>
 
 <script>
-import  list  from '@/pages/product/list';
-import {getShoping} from '@/api/shoping.js';
+import list from '@/pages/product/list';
+import { getShoping } from '@/api/shoping.js';
 export default {
 	components: { list },
 	data() {
@@ -34,11 +32,11 @@ export default {
 			current: 0,
 			// 门店信息
 			info: {
-				logo:'',
-				title:'',
+				logo: '',
+				title: ''
 			},
 			ratio: '', //页面比例信息
-			search: '' ,//店铺搜索商品
+			search: '' //店铺搜索商品
 			//商店详情
 		};
 	},
@@ -54,8 +52,7 @@ export default {
 	onReady() {
 		// 保存商家id
 		this.$refs.dataList.mer_id = this.info.id;
-		// 加载数据
-		this.$refs.dataList.loadData();
+
 		// 加载分类
 		this.$refs.dataList.loadCateList();
 		let obj = this;
@@ -82,31 +79,33 @@ export default {
 	},
 	methods: {
 		//获取商店信息
-		getShoping(){
+		getShoping() {
 			let obj = this;
-			getShoping({
-				mer_id:this.info.id
-			}).then(function({ data }) {
-				obj.info = data
-			}).catch((e) => {
-				console.log(e)
-			});
+			getShoping({}, this.info.id)
+				.then(function({ data }) {
+					obj.info = data.info;
+					obj.$refs.dataList.iszy = obj.info.is_triple;
+					// 加载数据
+					obj.$refs.dataList.loadData();
+				})
+				.catch(e => {
+					console.log(e);
+				});
 		},
 		// 滑块切换时触发方法
 		changeIndex(e) {
 			this.current = e.current;
 		},
 		// 搜索确认事件
-		confirm(e){
-			this.$refs.dataList.keyword=e.detail.value;
-			this.$refs.dataList.page=1
+		confirm(e) {
+			this.$refs.dataList.keyword = e.detail.value;
+			this.$refs.dataList.page = 1;
 			this.$refs.dataList.loadData('refresh');
 		},
 		// 回退功能
-		backUrl(){
-			uni.navigateBack()
+		backUrl() {
+			uni.navigateBack();
 		}
-		
 	}
 };
 </script>
@@ -127,7 +126,7 @@ page,
 			.logo {
 				height: 90rpx;
 				width: 90rpx;
-				border-radius: 10rpx;
+				border-radius: 50%;
 			}
 			.shopingTitle {
 				padding-left: 20rpx;

+ 303 - 201
pages/shoping/list.vue

@@ -1,166 +1,245 @@
-<template>
-	<view class="content">
+<template>
+	<view class="content">
 		<view class="varHeight"></view>
-		<view class="jg" style="height: 20rpx;"></view>
-		<block :key="ind" v-for="(lss, ind) in list">
+		<view class="jg" style="height: 20rpx;"></view>
+		<block :key="ind" v-for="(lss, ind) in list">
 			<view class="goodsList-item" v-if="lss.show" @click="chooseStore(lss)">
 				<view class="info-top flex">
 					<image :src="lss.image" lazy-load mode="scaleToFill"></image>
-					<view class="store-name clamp2">
-						{{lss.name}}
-					</view>
+					<view class="store-name clamp2">{{ lss.name }}</view>
 				</view>
-				<view class="tag">
-					门店
-				</view>
+				<view class="tag">门店</view>
+				<view class="dh" v-if="type == 0 || type == 5" @click.stop="markertap(lss)">导航</view>
+				<view class="go" v-if="type == 7" @click.stop="navProduct(lss)">进入店铺</view>
 				<view class="goodsList-content">
-					<view class="info-tit">地区:<text class="info-val">{{lss.address}}</text></view>
-					<view class="info-tit">电话:<text class="info-val">{{lss.phone }}</text></view>
-					<view class="info-tit">地址:<text class="info-val">{{lss.detailed_address}}</text></view>
-				</view>
-			</view>
+					<view class="info-tit">
+						地区:
+						<text class="info-val">{{ lss.address }}</text>
+					</view>
+					<view class="info-tit">
+						电话:
+						<text class="info-val">{{ lss.phone }}</text>
+					</view>
+					<view class="info-tit">
+						地址:
+						<text class="info-val">{{ lss.detailed_address }}</text>
+					</view>
+				</view>
+			</view>
 		</block>
-		<view class="jg" style="height: 20rpx;"></view>
-	</view>
-</template>
+		<view class="jg" style="height: 20rpx;"></view>
+		<uni-popup ref="popup" type="bottom" @click="close">
+			<view class="popup_row">
+				<view class="rows">
+					<view class="rows-item" @click="toGaodeMap">高德地图</view>
+					<view class="rows-item" @click="tobaiDuMap">百度地图</view>
+					<!-- <view class="rows-item" @click="totengxunMap">腾讯地图</view> -->
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
 <script>
-import { mapState, mapMutations } from 'vuex';
-import { store_list } from '@/api/index.js';
-export default {
-	data() {
-		return {
-			// 当前选中的滑块
-			list: [],
-			keyword: '' ,//查询中的内容
-			type: 0,//3->开通会员选择门店  4->自提选择门店  5->附近门店进入不做任何操作
-		};
-	},
-	watch: {
-		keyword(newValue, oldValue) {
-			this.keyword = newValue;
-			console.log(newValue);
-			this.search();
-		}
+import { mapState, mapMutations } from 'vuex';
+import { store_list } from '@/api/index.js';
+import uniPopup from '@/components/uni-popup/uni-popup.vue';
+export default {
+	data() {
+		return {
+			// 当前选中的滑块
+			list: [],
+			keyword: '', //查询中的内容
+			latitude1: '',
+			longitude1: '',
+			address: '',
+			type: 0 //3->开通会员选择门店  4->自提选择门店  5->附近门店进入不做任何操作
+		};
+	},
+	watch: {
+		keyword(newValue, oldValue) {
+			this.keyword = newValue;
+			console.log(newValue);
+			this.search();
+		}
 	},
 	computed: {
-		...mapState(['latitude','longitude'])
-	},
+		...mapState(['latitude', 'longitude'])
+	},
 	onLoad(opt) {
-		if(opt.type) {
-			this.type = opt.type
-		}
-		this.getShoping();
-	},
-	// #ifndef MP
-	// 点击键盘搜索事件
-	onNavigationBarSearchInputConfirmed(e) {
-		this.search();
-	},
-	// 搜索栏内容变化事件
-	onNavigationBarSearchInputChanged(e) {
-		this.keyword = e.text;
-	},
-	// #endif
+		if (opt.type) {
+			this.type = opt.type;
+		}
+		this.getShoping();
+	},
+	// #ifndef MP
+	// 点击键盘搜索事件
+	onNavigationBarSearchInputConfirmed(e) {
+		this.search();
+	},
+	// 搜索栏内容变化事件
+	onNavigationBarSearchInputChanged(e) {
+		this.keyword = e.text;
+	},
+	// #endif
 	methods: {
-		...mapMutations(['setLat', 'setLon','setStoreInfo']),
-		// 查询店铺信息
-		search(title) {
-			let obj = this;
-			obj.list.forEach(e => {
-				if (e.title.indexOf(obj.keyword) >= 0) {
-					e.show = true;
-				} else {
-					e.show = false;
-				}
-			});
-		},
-		// 跳转店铺页面
-		navProduct(item) {
-			uni.navigateTo({
-				url: './index?merid=' + item.id
-			});
-		},
-		//获取商店信息
-		getShoping() {
+		...mapMutations(['setLat', 'setLon', 'setStoreInfo']),
+		// 查询店铺信息
+		search(title) {
 			let obj = this;
-			console.log(obj.longitude,obj.latitude)
+			obj.list.forEach(e => {
+				if (e.title.indexOf(obj.keyword) >= 0) {
+					e.show = true;
+				} else {
+					e.show = false;
+				}
+			});
+		},
+		markertap(e) {
+			this.longitude1 = e.longitude;
+			this.latitude1 = e.latitude;
+			this.address = e.detailed_address;
+			this.$refs.popup.open();
+		},
+		// 跳转店铺页面
+		navProduct(item) {
+			uni.navigateTo({
+				url: './index?merid=' + item.id
+			});
+		},
+		// 调用高德
+		toGaodeMap() {
+			let latitude = this.latitude1;
+			let longitude = this.longitude1;
+			let address = this.address;
+			console.log('选择高德', latitude, longitude, address);
+			window.location.href = `https://uri.amap.com/marker?position=${longitude},${latitude}&name=${address}`;
+		},
+		// 调用腾讯
+		totengxunMap() {
+			let latitude = this.latitude1;
+			let longitude = this.longitude1;
+			let address = this.address;
+			console.log('选择腾讯', latitude, longitude);
+			window.location.href = `http://apis.map.qq.com/uri/v1/marker?marker=coord:${latitude},${longitude};addr:${address}`;
+		},
+		// 调用百度
+		tobaiDuMap() {
+			let latitude = this.latitude1;
+			let longitude = this.longitude1;
+			let latitude6 = this.latitude;
+			let longitude6 = this.longitude;
+			let address = this.address;
+			console.log('选择百度', latitude, longitude);
+			console.log('获取当前经纬度', latitude6, longitude6);
+			window.location.href = `http://api.map.baidu.com/marker?location=${latitude},${longitude}&title=${address}&content=${address}&output=html&src=webapp.baidu.openAPIdemo`;
+		},
+		//获取商店信息
+		getShoping() {
+			let obj = this;
+			console.log(obj.longitude, obj.latitude);
 			store_list({
-				longitude:obj.longitude,//经度
-				latitude:obj.latitude,//纬度
-			})
+				longitude: obj.longitude, //经度
+				latitude: obj.latitude //纬度
+			})
 				.then(function({ data }) {
-					console.log(data)
-					obj.list = data.list.map(e => {
-						e.show = true;
-						return e;
-					});
-				})
-				.catch(e => {
-					console.log(e);
-				});
+					console.log(data);
+					obj.list = data.list.map(e => {
+						e.show = true;
+						return e;
+					});
+				})
+				.catch(e => {
+					console.log(e);
+				});
 		},
 		//选择门店
 		chooseStore(item) {
-			if(this.type == 3) {
-				this.$api.prePage().storeInfo = item
-				uni.navigateBack({
-					
-				})
-			}else if(this.type == 4) {
-				this.$api.prePage().shopAddress = item
-				uni.navigateBack({
-					
-				})
-				
-			}else if(this.type == 5) {
-				
-			}else {
-				this.setStoreInfo(item)
-				uni.navigateBack({
-					
-				})
+			if (this.type == 3) {
+				this.$api.prePage().storeInfo = item;
+				uni.navigateBack({});
+			} else if (this.type == 4) {
+				this.$api.prePage().shopAddress = item;
+				uni.navigateBack({});
+			} else if (this.type == 5) {
+			} else if (this.type == 7) {
+				this.navProduct(item);
+			} else if (this.type == 6) {
+				this.$api.prePage().storeInfo1 = item;
+				uni.navigateBack({});
+			} else {
+				this.setStoreInfo(item);
+				uni.navigateBack({});
 			}
-			
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page,
-.content {
-	height: 100%;
-}
-.varHeight {
-	height: var(--status-bar-height);
-}
-$slider-color: #fe9398; //滑块左侧颜色
-.goodsList-item {
-	// background-color: #ffffff;
-	// padding: 30rpx;
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page,
+.content {
+	height: 100%;
+}
+.varHeight {
+	height: var(--status-bar-height);
+}
+$slider-color: #fe9398; //滑块左侧颜色
+.goodsList-item {
+	// background-color: #ffffff;
+	// padding: 30rpx;
 	// border-bottom: 1px solid $border-color-light;
 	margin: 0 auto 20rpx;
 	width: 710rpx;
 	height: 231rpx;
 	padding: 25rpx 20rpx;
-	background: #FFFFFF;
+	background: #ffffff;
 	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
 	border-radius: 10rpx;
 	position: relative;
 	.tag {
 		width: 60rpx;
 		line-height: 40rpx;
-		background: #FF6F0F;
+		background: #ff6f0f;
 		border-radius: 5rpx;
 		font-size: 24rpx;
 		font-family: PingFang SC;
 		font-weight: 500;
-		color: #FFFFFF;
+		color: #ffffff;
 		text-align: center;
 		position: absolute;
 		top: 25rpx;
 		right: 20rpx;
 	}
+	.dh {
+		z-index: 3;
+		width: 70rpx;
+		line-height: 44rpx;
+		border-radius: 10rpx;
+		background: #000;
+		font-size: 24rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+		text-align: center;
+		position: absolute;
+		bottom: 25rpx;
+		right: 20rpx;
+	}
+	.go {
+		z-index: 3;
+		width: 150rpx;
+		line-height: 44rpx;
+		border-radius: 10rpx;
+		background: #ff5b53;
+		font-size: 24rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+		text-align: center;
+		position: absolute;
+		bottom: 25rpx;
+		right: 20rpx;
+	}
 	.info-top {
 		justify-content: flex-start;
 		.store-name {
@@ -171,40 +250,40 @@ $slider-color: #fe9398; //滑块左侧颜色
 			color: #333333;
 			padding-left: 11rpx;
 		}
-	}
-	image {
-		flex-shrink: 0;
-		// border-radius: $border-radius-sm;
-		// height: 180rpx;
+	}
+	image {
+		flex-shrink: 0;
+		// border-radius: $border-radius-sm;
+		// height: 180rpx;
 		// width: 180rpx;
 		width: 65rpx;
 		height: 65rpx;
-		border-radius: 50%;
-	}
-	.slider {
-		margin-top: 15rpx;
-		justify-content: flex-start;
-		.slider-box {
-			width: 196rpx;
-			border-radius: 99px;
-			border: 1px solid $slider-color;
-			height: 16rpx;
-			.slider-action {
-				background-color: $slider-color;
-				height: 100%;
-			}
-		}
-		.sales-nub {
-			color: $font-color-light;
-			font-size: 24rpx;
-			height: 2.5em;
-			overflow: hidden;
-		}
-	}
-	.goodsList-content {
-		// margin-left: 20rpx;
-		flex-grow: 1;
-		// height: 180rpx;
+		border-radius: 50%;
+	}
+	.slider {
+		margin-top: 15rpx;
+		justify-content: flex-start;
+		.slider-box {
+			width: 196rpx;
+			border-radius: 99px;
+			border: 1px solid $slider-color;
+			height: 16rpx;
+			.slider-action {
+				background-color: $slider-color;
+				height: 100%;
+			}
+		}
+		.sales-nub {
+			color: $font-color-light;
+			font-size: 24rpx;
+			height: 2.5em;
+			overflow: hidden;
+		}
+	}
+	.goodsList-content {
+		// margin-left: 20rpx;
+		flex-grow: 1;
+		// height: 180rpx;
 		position: relative;
 		padding-top: 20rpx;
 		.info-tit {
@@ -215,51 +294,74 @@ $slider-color: #fe9398; //滑块左侧颜色
 			color: #333333;
 			.info-val {
 				font-weight: 500;
-				
 			}
-		}
-		.title {
-			font-size: $font-base;
-			color: $font-color-dark;
-			font-weight: 500;
-			width: 0;
-			min-width: 100%;
-		}
-		.goods-money {
-			position: absolute;
-			left: 0;
-			bottom: 0;
-			width: 100%;
-			.money-box {
-				.money {
-					font-size: $font-lg + 10rpx;
-					color: $color-red;
-					font-weight: bold;
-				}
-				.otMoney-box {
-					font-size: $font-sm;
-					.otMoney {
-						color: $font-color-light;
-						padding-right: 20rpx;
-					}
-					.sales {
-						color: $font-color-light;
-					}
-				}
-			}
-			.cart {
-				font-size: $font-base - 2rpx;
-				border-radius: 99px;
-				padding: 10rpx 20rpx;
-				line-height: 1;
-				color: #ffffff;
-				background-color: $color-gray;
-				&.seckill-action {
-					border: 1px solid $color-red;
-					background-color: $color-red;
-				}
-			}
-		}
-	}
-}
+		}
+		.title {
+			font-size: $font-base;
+			color: $font-color-dark;
+			font-weight: 500;
+			width: 0;
+			min-width: 100%;
+		}
+		.goods-money {
+			position: absolute;
+			left: 0;
+			bottom: 0;
+			width: 100%;
+			.money-box {
+				.money {
+					font-size: $font-lg + 10rpx;
+					color: $color-red;
+					font-weight: bold;
+				}
+				.otMoney-box {
+					font-size: $font-sm;
+					.otMoney {
+						color: $font-color-light;
+						padding-right: 20rpx;
+					}
+					.sales {
+						color: $font-color-light;
+					}
+				}
+			}
+			.cart {
+				font-size: $font-base - 2rpx;
+				border-radius: 99px;
+				padding: 10rpx 20rpx;
+				line-height: 1;
+				color: #ffffff;
+				background-color: $color-gray;
+				&.seckill-action {
+					border: 1px solid $color-red;
+					background-color: $color-red;
+				}
+			}
+		}
+	}
+}
+.popup_row {
+	width: 100%;
+	height: 500rpx;
+	background-color: #ffffff;
+	border-radius: 20rpx;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+
+	.rows {
+		width: 100%;
+		padding: 0 24rpx;
+
+		.rows-item {
+			height: 80rpx;
+			line-height: 80rpx;
+			text-align: center;
+			width: 100%;
+			font-size: 32rpx;
+			color: #303133;
+			// border-bottom: 1rpx solid #f0f0f0;
+		}
+	}
+}
 </style>

+ 3 - 2
pages/user/user.vue

@@ -51,7 +51,7 @@
 				</view>
 				<view class="mendian-lift" v-else>
 				</view>
-				<view class="mendian-lift" @click="openhym" v-if="userInfo.vip.card_no">
+				<view class="mendian-lift" @click="openhym" v-if="userInfo.vip &&userInfo.vip.card_no">
 					NO:{{userInfo.vip.card_no}}<image src="../../static/icon/hym.png" mode="" class="hym" >
 				</view>
 				<view class="mendian-lift" @click="openhym" v-else>
@@ -99,7 +99,7 @@
 			</view>
 		</view>
 		<!-- <view class="cover-container"> -->
-		<view class="vip" @click="navTo('/pages/wallet/openMember')" v-if="userInfo.level == 0"></view>
+		<view class="vip" @click="navTo('/pages/wallet/openMember')"></view>
 
 		<!-- 订单 -->
 
@@ -130,6 +130,7 @@
 					<uni-list-item title="兑换会员卡" @click="go" thumb="/static/icon/czhy.png" v-if="userInfo.level == 0"></uni-list-item>
 					<!-- <uni-list-item title="兑换会员卡" @click="go" thumb="/static/icon/czhy.png"></uni-list-item> -->
 					<uni-list-item title="我的收藏" @click="navTo('/pages/favorites/favorites')" thumb="/static/user/collect.png"></uni-list-item>
+					<uni-list-item title="百业推广" @click="navTo('/pages/myteam/myteamQian')" thumb="/static/user/tui.png"></uni-list-item>
 					<uni-list-item title="收货地址" @click="navTo('/pages/address/address')" thumb="/static/user/address.png"></uni-list-item>
 					<uni-list-item title="商家入口" @click="navTo('/pages/merchant/merchant')" thumb="/static/user/shopping.png" v-if="userInfo.service == 1"></uni-list-item>
 				</uni-list>

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 483 - 493
pages/wallet/openMember.vue


+ 15 - 0
pages/wallet/wallet.vue

@@ -12,6 +12,7 @@
 				</view>
 			</view>
 		</view>
+		<view class="moneyTx" @click="navto('/pages/award/withdrawal?type=now_money')">提现</view>
 		<view class="navbar">
 			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
 		</view>
@@ -386,4 +387,18 @@ page {
 	line-height: 88rpx;
 	color: #ffffff;
 }
+.moneyTx {
+	position: absolute;
+	z-index: 10;
+	top: 150rpx;
+	right: 0rpx;
+	width: 130rpx;
+	padding: 10rpx 30rpx;
+	border: 2px solid #ffffff;
+	border-top-left-radius: 99rpx;
+	border-bottom-left-radius: 99rpx;
+	color: #ffffff;
+	line-height: 1;
+	font-size: $font-base;
+}
 </style>

BIN
static/icon/in5.png


BIN
static/img/img12.jpg


BIN
static/img/img12.png


BIN
static/img/tc1.png


BIN
static/img/x1.png


BIN
static/user/tui.png


+ 44 - 43
store/index.js

@@ -1,41 +1,41 @@
-import Vue from 'vue'
-import Vuex from 'vuex'
-import user from './model/user'
-Vue.use(Vuex)
-
-const store = new Vuex.Store({
-	state: {
-		// baseURL:"http://m.manyuanchunjia.com",//请求地址配置 
-		baseURL:"http://myc.frp.liuniu946.com",//请求地址配置
-		loginInterceptor:true,//是否打开强制登录
-		urlFile:'/index',//项目部署所在文件夹
-		// #ifdef H5 || MP-WEIXIN
-		weichatInfo:{},//保存微信注册信息
-		weichatObj:'',//微信对象
-		// #endif
-		// #ifdef APP-PLUS
-		isShowIllegality:false,//不显示ios审核不允许的功能
-		// #endif
-		// #ifndef APP-PLUS
-		isShowIllegality:true,//允许显示隐藏信息
+import Vue from 'vue'
+import Vuex from 'vuex'
+import user from './model/user'
+Vue.use(Vuex)
+
+const store = new Vuex.Store({
+	state: {
+		baseURL: "http://m.manyuanchunjia.com", //请求地址配置 
+		// baseURL:"http://myc.frp.liuniu946.com",//请求地址配置
+		loginInterceptor: true, //是否打开强制登录
+		urlFile: '/index', //项目部署所在文件夹
+		// #ifdef H5 || MP-WEIXIN
+		weichatInfo: {}, //保存微信注册信息
+		weichatObj: '', //微信对象
+		// #endif
+		// #ifdef APP-PLUS
+		isShowIllegality: false, //不显示ios审核不允许的功能
+		// #endif
+		// #ifndef APP-PLUS
+		isShowIllegality: true, //允许显示隐藏信息
 		// #endif
 		latitude: '',
 		longitude: '',
 		storeInfo: {},
-		canChange: 1,
-	},
-	mutations: {
-		//保存微信信息
-		setWeiChatInfo(state, provider) {
-			state.weichatInfo = provider;
-		},
-		//保存微信对象
-		setWeiChatObj(state, provider) {
-			state.weichatObj = provider;
-		},
-		// 修改显示隐藏ios审核不允许显示的功能
-		changeState(state, provider){
-			state.isShowIllegality = provider;
+		canChange: 1,
+	},
+	mutations: {
+		//保存微信信息
+		setWeiChatInfo(state, provider) {
+			state.weichatInfo = provider;
+		},
+		//保存微信对象
+		setWeiChatObj(state, provider) {
+			state.weichatObj = provider;
+		},
+		// 修改显示隐藏ios审核不允许显示的功能
+		changeState(state, provider) {
+			state.isShowIllegality = provider;
 		},
 		setLat(state, provider) {
 			state.latitude = provider
@@ -43,18 +43,19 @@ const store = new Vuex.Store({
 		setLon(state, provider) {
 			state.longitude = provider
 		},
-		setStoreInfo(state,provider) {
+		setStoreInfo(state, provider) {
 			state.storeInfo = provider
+			console.log(state.storeInfo, 'success');
 		},
 		setCanChange(state) {
 			state.canChange = 0
 			console.log('不能点击')
-		}
-	},
-	modules:{
-		user
-	},
-	actions: {}
-})
-
+		}
+	},
+	modules: {
+		user
+	},
+	actions: {}
+})
+
 export default store

+ 3 - 3
utils/QS-baiduyy.js

@@ -132,9 +132,9 @@ function btts(param, options, audioCallback, lineUp, returnAudio) {
 		fd.push(k + '=' + encodeURIComponent(encodeURIComponent(param[k])));
 	}
 	audio.src = `${getAudioUrl}?${fd.join('&')}`;
-	console.log(audio.src,'wangzhi')
+	console.log(audio.src, 'wangzhi')
 	// audio.src = 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3'
-	console.log('音频链接',fd.join('&'))
+	console.log('音频链接', fd.join('&'))
 	// console.log('https://tsn.baidu.com/text2audio')
 
 	if (returnAudio) {
@@ -217,7 +217,7 @@ function btts(param, options, audioCallback, lineUp, returnAudio) {
 		}
 	})
 	audio.onError((e) => {
-		console.log(audioCallback,'错误')
+		console.log(audioCallback, '错误')
 		if (audioCallback && audioCallback.onError && typeof(audioCallback.onError) == 'function') audioCallback
 			.onError(e);
 		console.log('音频播放错误: ' + JSON.stringify(e));

+ 8 - 7
utils/loginUtils.js

@@ -11,6 +11,7 @@ export function interceptor() {
 	// #ifdef H5
 	// 判断是否为公众号调用微信授权登录
 	let weichatBrowser = uni.getStorageSync('weichatBrowser');
+	console.log(weichatBrowser);
 	if (weichatBrowser) {
 		url = '/pages/public/wxLogin';
 	}
@@ -35,19 +36,19 @@ export function saveUrl() {
 	if (path == '/pages/product/product') {
 		path = path + '?id=' + page.goodsid;
 		// 判断是否不是普通商品
-		if(page.goodsType>0){
-			path+='&type='+page.goodsType
+		if (page.goodsType > 0) {
+			path += '&type=' + page.goodsType
 		}
 		// 判断是否为秒杀商品
-		if(page.goodsType==1){
-			path+="&stoptime="+page.seckillObj.stopTime
+		if (page.goodsType == 1) {
+			path += "&stoptime=" + page.seckillObj.stopTime
 		}
 	}
 	if (path == '/pages/groupBooking/detail') {
-		path +=  '?id=' + page.gp_id;
+		path += '?id=' + page.gp_id;
 		// // 判断是否有邀请人
-		if(page.spread){
-			path +="&spread=" +page.spread
+		if (page.spread) {
+			path += "&spread=" + page.spread
 		}
 	}
 	// 保存当前过去页面

+ 1 - 1
utils/request.js

@@ -83,4 +83,4 @@ let upFilse = service.upFilse;
 export {
 	upFilse
 };
-export default service.open;
+export default service.open;

+ 209 - 210
utils/wxAuthorized.js

@@ -1,212 +1,211 @@
-import {
-	wechatConfig,
-	share
-} from '@/api/wx';
-import {
-	isAndroid
-} from './platform.js'
-import store from '../store';
-// 保存wx对象
-import weixinObj from "@/plugin/jweixin-module/index.js";
-// 保存分享数据
-let shareData = '';
-// 保存注册返回appId数据
-let appId = '';
-//保存路由对象
-let router = '';
-//微信登录
-/**
- * @param {string} 当前页面地址信息
- */
-export async function loginWinxin() {
-	let pages, page, path;
-	try {
-		if (!router) {
-			router = await setRouter();
-		}
-		pages = getCurrentPages();
-		// 获取跳转前页面
-		page = pages[pages.length - 1];
-		// 获取跳转前路由地址
-		path = page.route;
-	} catch (e) {
-		console.log(e);
-	}
-	// 判断是否在登录页
-	if (path != 'pages/redirect/redirect') {
-		weixindata().then(() => {
-			// 调用
-			try {
-				weixinSq();
-			} catch (e) {
-				console.log(e);
-				//TODO handle the exception
-			}
-		});
-	}
-};
-// 微信授权登录
-function weixinSq(data, path) {
-	// 微信授权后跳转页面
-	try {
-		let ul = encodeURIComponent(store.state.baseURL + store.state.urlFile + '/#/pages/redirect/redirect');
-		console.log(ul, "ul")
-		// 打开微信授权页面
-		
-		let url =
-			'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' +
-			appId +
-			'&redirect_uri=' +
-			ul +
-			'&response_type=code&scope=snsapi_userinfo&state=' +
-			new Date().getTime() +
-			'#wechat_redirect';
-			console.log(url, "url")
-		window.location.href = url;
-	} catch (e) {
-		console.log(e);
-	}
-};
-
-// 微信注册
-export async function weixindata(config) {
-	let url;
-	try {
-		// 判断是否存在router
-		if (!router) {
-			router = await setRouter();
-		}
-		if (router.mode === "history") {
-			// 在ios中时候注册为微信刚进入时候的页面
-			if (!window.entryUrl) {
-				window.entryUrl = location.href.split('#')[0]
-			}
-			url = isAndroid() ? location.href.split('#')[0] : window.entryUrl;
-		}
-		if (router.mode === "hash") {
-			url = location.href.split('#')[0];
-		}
-		console.log('开始注册', url);
-	} catch (e) {
-		console.log('错误', e);
-	}
-	return new Promise((ok, error) => {
-		try {
-			//注册微信信息
-			wechatConfig({
-					url
-				})
-				.then(({
-					data
-				}) => {
-					try {
-						// 保存appId
-						appId = data.appId
-						// 微信信息配置
-						weixinObj.config({
-							debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
-							appId: data.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
-							timestamp: data.timestamp, // 必填,生成签名的时间戳
-							nonceStr: data.nonceStr, // 必填,生成签名的随机串
-							signature: data.signature, // 必填,签名,见附录1
-							jsApiList: data.jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
-						});
-						weixinObj.ready((e) => {
-							console.log('注册完毕');
-							store.commit('setWeiChatObj', weixinObj)
-							ok(weixinObj)
-						})
-					} catch (e) {
-						console.log(e)
-					}
-				})
-				.catch(e => {
-					error(e);
-					console.log(e);
-				});
-		} catch (e) {
-			console.log(e);
-			//TODO handle the exception
-		}
-	})
-}
-// 加载分享数据
-export function shareLoad(config) {
-	let mess;
-	if (config) {
-		mess = {
-			link: config.link, // 分享链接
-			imgUrl: config.imgUrl,
-			desc: config.desc,
-			title: config.title,
-			success: config.success,
-			fail: config.fail||function (e) {
-				console.log(e);
-			}
-		}
-	} else {
-		// console.log(window.location.href, 55)
-		// let url = window.location.href + '?spread=' + store.state.userInfo.uid;
-		let url = window.location.href;
-		url = url.replace(/[\?,&]{0,1}from=singlemessage/g, '');
-		mess = {
-			title: shareData.title,
-			link: url, // 分享链接
-			imgUrl: shareData.img, // 分享图标
-			desc: shareData.synopsis,
-			success: function() {
-			},
-			fail:function (e) {
-				console.log(e);
-			}
-		}
-	}
-	// 获取仓库数据
-	// 分享好友
-	// weixinObj.updateAppMessageShareData(mess);
-	weixinObj.onMenuShareAppMessage(mess);// 即将废弃
-	// 分享朋友圈
-	// weixinObj.updateTimelineShareData(mess)
-	weixinObj.onMenuShareTimeline(mess);// 即将废弃
-}
-
-// 隐藏功能按钮
-export function weixinhideMenu(config) {
-	console.log(config)
-	weixinObj.ready((e) => {
-		weixinObj.hideMenuItems({
-			menuList: config, // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3
-		});
-	})
-	
-}
-
-// 保存路由对象
-export function setRouter(route) {
-	return new Promise((ok, err) => {
-		router = getApp().$router;
-		console.log(router,'开始数据');
-		if (!router) {
-			const set = setInterval(() => {
-				router = getApp().$router;
-				console.log(router,'返回数据');
-				if (router) {
-					console.log(router,'结束');
-					clearInterval(set)
-					ok(router)
-				}
-			}, 100);
-		}else{
-			console.log(router,'成功');
-			ok(router)
-		}
-	})
-}
-
-export default {
-	weixinObj,
-	shareData,
-	appId,
+import {
+	wechatConfig,
+	share
+} from '@/api/wx';
+import {
+	isAndroid
+} from './platform.js'
+import store from '../store';
+// 保存wx对象
+import weixinObj from "@/plugin/jweixin-module/index.js";
+// 保存分享数据
+let shareData = '';
+// 保存注册返回appId数据
+let appId = '';
+//保存路由对象
+let router = '';
+//微信登录
+/**
+ * @param {string} 当前页面地址信息
+ */
+export async function loginWinxin() {
+	let pages, page, path;
+	try {
+		if (!router) {
+			router = await setRouter();
+		}
+		pages = getCurrentPages();
+		// 获取跳转前页面
+		page = pages[pages.length - 1];
+		// 获取跳转前路由地址
+		path = page.route;
+	} catch (e) {
+		console.log(e);
+	}
+	// 判断是否在登录页
+	if (path != 'pages/redirect/redirect') {
+		weixindata().then(() => {
+			// 调用
+			try {
+				weixinSq();
+			} catch (e) {
+				console.log(e);
+				//TODO handle the exception
+			}
+		});
+	}
+};
+// 微信授权登录
+function weixinSq(data, path) {
+	// 微信授权后跳转页面
+	try {
+		let ul = encodeURIComponent(store.state.baseURL + store.state.urlFile + '/pages/redirect/redirect');
+		console.log(ul, "ul")
+		// 打开微信授权页面
+
+		let url =
+			'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' +
+			appId +
+			'&redirect_uri=' +
+			ul +
+			'&response_type=code&scope=snsapi_userinfo&state=' +
+			new Date().getTime() +
+			'#wechat_redirect';
+		console.log(url, "url")
+		window.location.href = url;
+	} catch (e) {
+		console.log(e);
+	}
+};
+
+// 微信注册
+export async function weixindata(config) {
+	let url;
+	try {
+		// 判断是否存在router
+		if (!router) {
+			router = await setRouter();
+		}
+		if (router.mode === "history") {
+			// 在ios中时候注册为微信刚进入时候的页面
+			if (!window.entryUrl) {
+				window.entryUrl = location.href.split('#')[0]
+			}
+			url = isAndroid() ? location.href.split('#')[0] : window.entryUrl;
+		}
+		if (router.mode === "hash") {
+			url = location.href.split('#')[0];
+		}
+		console.log('开始注册', url);
+	} catch (e) {
+		console.log('错误', e);
+	}
+	return new Promise((ok, error) => {
+		try {
+			//注册微信信息
+			wechatConfig({
+					url
+				})
+				.then(({
+					data
+				}) => {
+					try {
+						// 保存appId
+						appId = data.appId
+						// 微信信息配置
+						weixinObj.config({
+							debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
+							appId: data.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
+							timestamp: data.timestamp, // 必填,生成签名的时间戳
+							nonceStr: data.nonceStr, // 必填,生成签名的随机串
+							signature: data.signature, // 必填,签名,见附录1
+							jsApiList: data.jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
+						});
+						weixinObj.ready((e) => {
+							console.log('注册完毕');
+							store.commit('setWeiChatObj', weixinObj)
+							ok(weixinObj)
+						})
+					} catch (e) {
+						console.log(e)
+					}
+				})
+				.catch(e => {
+					error(e);
+					console.log(e);
+				});
+		} catch (e) {
+			console.log(e);
+			//TODO handle the exception
+		}
+	})
+}
+// 加载分享数据
+export function shareLoad(config) {
+	let mess;
+	if (config) {
+		mess = {
+			link: config.link, // 分享链接
+			imgUrl: config.imgUrl,
+			desc: config.desc,
+			title: config.title,
+			success: config.success,
+			fail: config.fail || function(e) {
+				console.log(e);
+			}
+		}
+	} else {
+		// console.log(window.location.href, 55)
+		// let url = window.location.href + '?spread=' + store.state.userInfo.uid;
+		let url = window.location.href;
+		url = url.replace(/[\?,&]{0,1}from=singlemessage/g, '');
+		mess = {
+			title: shareData.title,
+			link: url, // 分享链接
+			imgUrl: shareData.img, // 分享图标
+			desc: shareData.synopsis,
+			success: function() {},
+			fail: function(e) {
+				console.log(e);
+			}
+		}
+	}
+	// 获取仓库数据
+	// 分享好友
+	// weixinObj.updateAppMessageShareData(mess);
+	weixinObj.onMenuShareAppMessage(mess); // 即将废弃
+	// 分享朋友圈
+	// weixinObj.updateTimelineShareData(mess)
+	weixinObj.onMenuShareTimeline(mess); // 即将废弃
+}
+
+// 隐藏功能按钮
+export function weixinhideMenu(config) {
+	console.log(config)
+	weixinObj.ready((e) => {
+		weixinObj.hideMenuItems({
+			menuList: config, // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮,所有menu项见附录3
+		});
+	})
+
+}
+
+// 保存路由对象
+export function setRouter(route) {
+	return new Promise((ok, err) => {
+		router = getApp().$router;
+		console.log(router, '开始数据');
+		if (!router) {
+			const set = setInterval(() => {
+				router = getApp().$router;
+				console.log(router, '返回数据');
+				if (router) {
+					console.log(router, '结束');
+					clearInterval(set)
+					ok(router)
+				}
+			}, 100);
+		} else {
+			console.log(router, '成功');
+			ok(router)
+		}
+	})
+}
+
+export default {
+	weixinObj,
+	shareData,
+	appId,
 	setRouter,
-	shareLoad
+	shareLoad
 }

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott