From 789f8bb2905eec50a11a0a0e55181afabe7c617a Mon Sep 17 00:00:00 2001 From: qijq <624811160@qq.com> Date: Wed, 11 Dec 2024 16:35:53 +0800 Subject: [PATCH] update --- App.vue | 533 +-- activity/coupon/list.vue | 1840 +++++---- address/citys.js | 3877 ++++++++++++++++++ address/selectCity.vue | 488 +++ address/selectShippingAddress.vue | 867 ++++ address/umask.vue | 130 + components/bw-swiper/bw-swiper.vue | 369 -- components/cwx-keyboard/cwx-keyboard.vue | 267 -- components/payment-box.vue | 2185 +++++----- components/ss-select-city/citys.js | 184 - components/ss-select-city/ss-select-city.vue | 150 - components/uni-nav-bar/uni-nav-bar.vue | 683 +-- hall/purchase/receive.vue | 1482 ++++--- helpers/GeoUtils.js | 505 +++ index.html | 1 + libs/bmap-wx.js | 455 ++ manifest.json | 8 + member/address/list.vue | 683 +-- member/address/manage.vue | 2136 +++++++--- member/address/static/no-sele.png | Bin 0 -> 7429 bytes member/address/static/sele.png | Bin 0 -> 639 bytes member/address/umask.vue | 130 + member/order/list.vue | 1694 ++++---- member/product/return.vue | 724 ++-- pages.json | 24 +- pages/cart/cart.vue | 2561 +++++++----- pages/checkout/checkout.vue | 3486 ++++++++-------- pages/index/index-single.vue | 2082 +++++----- pages/index/index.vue | 3589 +++++++++------- pages/product/detail.vue | 4 +- pages/product/list.vue | 381 +- pagesub/product/tag.vue | 375 +- seller/user/cart.vue | 1824 ++++---- static/iconfont.ttf | Bin 0 -> 3492 bytes static/images/marker.png | Bin 0 -> 2872 bytes static/images/sele2.png | Bin 0 -> 3916 bytes styles/iconfontAili.css | 45 + 37 files changed, 21336 insertions(+), 12426 deletions(-) create mode 100644 address/citys.js create mode 100644 address/selectCity.vue create mode 100644 address/selectShippingAddress.vue create mode 100644 address/umask.vue delete mode 100644 components/bw-swiper/bw-swiper.vue delete mode 100644 components/cwx-keyboard/cwx-keyboard.vue delete mode 100644 components/ss-select-city/citys.js delete mode 100644 components/ss-select-city/ss-select-city.vue create mode 100644 helpers/GeoUtils.js create mode 100644 libs/bmap-wx.js create mode 100644 member/address/static/no-sele.png create mode 100644 member/address/static/sele.png create mode 100644 member/address/umask.vue create mode 100644 static/iconfont.ttf create mode 100644 static/images/marker.png create mode 100644 static/images/sele2.png create mode 100644 styles/iconfontAili.css diff --git a/App.vue b/App.vue index 648fa48..fbfac59 100644 --- a/App.vue +++ b/App.vue @@ -1,43 +1,41 @@ \ No newline at end of file diff --git a/address/citys.js b/address/citys.js new file mode 100644 index 0000000..09150ef --- /dev/null +++ b/address/citys.js @@ -0,0 +1,3877 @@ +export default { + "hotCities": [ + { + "id": 13, + "spell": "guangzhou", + "name": "广州" + }, + { + "id": 37, + "spell": "shenzhen", + "name": "深圳" + }, + { + "id": 8, + "spell": "chengdu", + "name": "成都" + }, + { + "id": 18, + "spell": "hangzhou", + "name": "杭州" + }, + { + "id": 30, + "spell": "nanjing", + "name": "南京" + }, + { + "id": 39, + "spell": "suzhou", + "name": "苏州" + }, + { + "id": 44, + "spell": "wuhan", + "name": "武汉" + }, + { + "id": 47, + "spell": "xian", + "name": "西安" + }, + ], + "cities": { + "A": [{ + "id": 56, + "spell": "aba", + "name": "阿坝" + }, { + "id": 57, + "spell": "akesu", + "name": "阿克苏" + }, { + "id": 58, + "spell": "alashanmeng", + "name": "阿拉善盟" + }, { + "id": 59, + "spell": "aletai", + "name": "阿勒泰" + }, { + "id": 60, + "spell": "ali", + "name": "阿里" + }, { + "id": 61, + "spell": "ankang", + "name": "安康" + }, { + "id": 62, + "spell": "anqing", + "name": "安庆" + }, { + "id": 63, + "spell": "anshan", + "name": "鞍山" + }, { + "id": 64, + "spell": "anshun", + "name": "安顺" + }, { + "id": 65, + "spell": "anyang", + "name": "安阳" + }, { + "id": 338, + "spell": "acheng", + "name": "阿城" + }, { + "id": 339, + "spell": "anfu", + "name": "安福" + }, { + "id": 340, + "spell": "anji", + "name": "安吉" + }, { + "id": 341, + "spell": "anning", + "name": "安宁" + }, { + "id": 342, + "spell": "anqiu", + "name": "安丘" + }, { + "id": 343, + "spell": "anxi", + "name": "安溪" + }, { + "id": 344, + "spell": "anyi", + "name": "安义" + }, { + "id": 345, + "spell": "anyuan", + "name": "安远" + }], + "B": [{ + "id": 1, + "spell": "beijing", + "name": "北京" + }, { + "id": 66, + "spell": "baicheng", + "name": "白城" + }, { + "id": 67, + "spell": "baise", + "name": "百色" + }, { + "id": 68, + "spell": "baishan", + "name": "白山" + }, { + "id": 69, + "spell": "baiyin", + "name": "白银" + }, { + "id": 70, + "spell": "bangbu", + "name": "蚌埠" + }, { + "id": 71, + "spell": "baoding", + "name": "保定" + }, { + "id": 72, + "spell": "baoji", + "name": "宝鸡" + }, { + "id": 73, + "spell": "baoshan", + "name": "保山" + }, { + "id": 74, + "spell": "baotou", + "name": "包头" + }, { + "id": 75, + "spell": "bayannaoer", + "name": "巴彦淖尔" + }, { + "id": 76, + "spell": "bayinguoleng", + "name": "巴音郭楞" + }, { + "id": 77, + "spell": "bazhong", + "name": "巴中" + }, { + "id": 78, + "spell": "beihai", + "name": "北海" + }, { + "id": 79, + "spell": "benxi", + "name": "本溪" + }, { + "id": 80, + "spell": "bijie", + "name": "毕节" + }, { + "id": 81, + "spell": "binzhou", + "name": "滨州" + }, { + "id": 82, + "spell": "boertala", + "name": "博尔塔拉" + }, { + "id": 83, + "spell": "bozhou", + "name": "亳州" + }, { + "id": 346, + "spell": "baoying", + "name": "宝应" + }, { + "id": 347, + "spell": "bayan", + "name": "巴彦" + }, { + "id": 348, + "spell": "binhai", + "name": "滨海" + }, { + "id": 349, + "spell": "binxian", + "name": "宾县" + }, { + "id": 350, + "spell": "binyang", + "name": "宾阳" + }, { + "id": 351, + "spell": "bishan", + "name": "璧山" + }, { + "id": 352, + "spell": "boai", + "name": "博爱" + }, { + "id": 353, + "spell": "boluo", + "name": "博罗" + }, { + "id": 354, + "spell": "boxing", + "name": "博兴" + }], + "C": [{ + "id": 2, + "spell": "chongqing", + "name": "重庆" + }, { + "id": 5, + "spell": "changchun", + "name": "长春" + }, { + "id": 6, + "spell": "changsha", + "name": "长沙" + }, { + "id": 7, + "spell": "changzhou", + "name": "常州" + }, { + "id": 8, + "spell": "chengdu", + "name": "成都" + }, { + "id": 84, + "spell": "cangzhou", + "name": "沧州" + }, { + "id": 85, + "spell": "changde", + "name": "常德" + }, { + "id": 86, + "spell": "changdu", + "name": "昌都" + }, { + "id": 87, + "spell": "changji", + "name": "昌吉" + }, { + "id": 88, + "spell": "changzhi", + "name": "长治" + }, { + "id": 89, + "spell": "chaohu", + "name": "巢湖" + }, { + "id": 90, + "spell": "chaoyang", + "name": "朝阳" + }, { + "id": 91, + "spell": "chaozhou", + "name": "潮州" + }, { + "id": 92, + "spell": "chengde", + "name": "承德" + }, { + "id": 93, + "spell": "chenzhou", + "name": "郴州" + }, { + "id": 94, + "spell": "chifeng", + "name": "赤峰" + }, { + "id": 95, + "spell": "chizhou", + "name": "池州" + }, { + "id": 96, + "spell": "chongzuo", + "name": "崇左" + }, { + "id": 97, + "spell": "chuxiong", + "name": "楚雄" + }, { + "id": 98, + "spell": "chuzhou", + "name": "滁州" + }, { + "id": 355, + "spell": "cangnan", + "name": "苍南" + }, { + "id": 356, + "spell": "cangshan", + "name": "苍山" + }, { + "id": 357, + "spell": "caoxian", + "name": "曹县" + }, { + "id": 358, + "spell": "changdao", + "name": "长岛" + }, { + "id": 359, + "spell": "changfeng", + "name": "长丰" + }, { + "id": 360, + "spell": "changhai", + "name": "长海" + }, { + "id": 361, + "spell": "changle", + "name": "长乐" + }, { + "id": 362, + "spell": "changle", + "name": "昌乐" + }, { + "id": 363, + "spell": "changshan", + "name": "常山" + }, { + "id": 364, + "spell": "changshu", + "name": "常熟" + }, { + "id": 365, + "spell": "changtai", + "name": "长泰" + }, { + "id": 366, + "spell": "changting", + "name": "长汀" + }, { + "id": 367, + "spell": "changxing", + "name": "长兴" + }, { + "id": 368, + "spell": "changyi", + "name": "昌邑" + }, { + "id": 369, + "spell": "chaoan", + "name": "潮安" + }, { + "id": 370, + "spell": "chenggong", + "name": "呈贡" + }, { + "id": 371, + "spell": "chengkou", + "name": "城口" + }, { + "id": 372, + "spell": "chengwu", + "name": "成武" + }, { + "id": 373, + "spell": "chiping", + "name": "茌平" + }, { + "id": 374, + "spell": "chongren", + "name": "崇仁" + }, { + "id": 375, + "spell": "chongyi", + "name": "崇义" + }, { + "id": 376, + "spell": "chongzhou", + "name": "崇州" + }, { + "id": 377, + "spell": "chunan", + "name": "淳安" + }, { + "id": 378, + "spell": "cixi", + "name": "慈溪" + }, { + "id": 379, + "spell": "conghua", + "name": "从化" + }, { + "id": 380, + "spell": "congyang", + "name": "枞阳" + }], + "D": [{ + "id": 9, + "spell": "dalian", + "name": "大连" + }, { + "id": 10, + "spell": "dongguan", + "name": "东莞" + }, { + "id": 99, + "spell": "dali", + "name": "大理" + }, { + "id": 100, + "spell": "dandong", + "name": "丹东" + }, { + "id": 101, + "spell": "daqing", + "name": "大庆" + }, { + "id": 102, + "spell": "datong", + "name": "大同" + }, { + "id": 103, + "spell": "daxinganling", + "name": "大兴安岭" + }, { + "id": 104, + "spell": "dazhou", + "name": "达州" + }, { + "id": 105, + "spell": "dehong", + "name": "德宏" + }, { + "id": 106, + "spell": "deyang", + "name": "德阳" + }, { + "id": 107, + "spell": "dezhou", + "name": "德州" + }, { + "id": 108, + "spell": "dingxi", + "name": "定西" + }, { + "id": 109, + "spell": "diqing", + "name": "迪庆" + }, { + "id": 110, + "spell": "dongying", + "name": "东营" + }, { + "id": 381, + "spell": "dafeng", + "name": "大丰" + }, { + "id": 382, + "spell": "daishan", + "name": "岱山" + }, { + "id": 383, + "spell": "dangshan", + "name": "砀山" + }, { + "id": 384, + "spell": "dangtu", + "name": "当涂" + }, { + "id": 385, + "spell": "danxian", + "name": "单县" + }, { + "id": 386, + "spell": "danyang", + "name": "丹阳" + }, { + "id": 387, + "spell": "dapu", + "name": "大埔" + }, { + "id": 388, + "spell": "datian", + "name": "大田" + }, { + "id": 389, + "spell": "dayi", + "name": "大邑" + }, { + "id": 390, + "spell": "dayu", + "name": "大余" + }, { + "id": 391, + "spell": "dazu", + "name": "大足" + }, { + "id": 392, + "spell": "dean", + "name": "德安" + }, { + "id": 393, + "spell": "dehua", + "name": "德化" + }, { + "id": 394, + "spell": "dehui", + "name": "德惠" + }, { + "id": 395, + "spell": "dengfeng", + "name": "登封" + }, { + "id": 396, + "spell": "deqing", + "name": "德清" + }, { + "id": 397, + "spell": "deqing", + "name": "德庆" + }, { + "id": 398, + "spell": "dexing", + "name": "德兴" + }, { + "id": 399, + "spell": "dianbai", + "name": "电白" + }, { + "id": 400, + "spell": "dianjiang", + "name": "垫江" + }, { + "id": 401, + "spell": "dingnan", + "name": "定南" + }, { + "id": 402, + "spell": "dingtao", + "name": "定陶" + }, { + "id": 403, + "spell": "dingyuan", + "name": "定远" + }, { + "id": 404, + "spell": "donga", + "name": "东阿" + }, { + "id": 405, + "spell": "donghai", + "name": "东海" + }, { + "id": 406, + "spell": "dongming", + "name": "东明" + }, { + "id": 407, + "spell": "dongping", + "name": "东平" + }, { + "id": 408, + "spell": "dongshan", + "name": "东山" + }, { + "id": 409, + "spell": "dongtai", + "name": "东台" + }, { + "id": 410, + "spell": "dongtou", + "name": "洞头" + }, { + "id": 411, + "spell": "dongxiang", + "name": "东乡" + }, { + "id": 412, + "spell": "dongyang", + "name": "东阳" + }, { + "id": 413, + "spell": "dongyuan", + "name": "东源" + }, { + "id": 414, + "spell": "dongzhi", + "name": "东至" + }, { + "id": 415, + "spell": "duchang", + "name": "都昌" + }, { + "id": 416, + "spell": "dujiangyan", + "name": "都江堰" + }], + "E": [{ + "id": 111, + "spell": "eerduosi", + "name": "鄂尔多斯" + }, { + "id": 112, + "spell": "enshi", + "name": "恩施" + }, { + "id": 113, + "spell": "ezhou", + "name": "鄂州" + }, { + "id": 417, + "spell": "enping", + "name": "恩平" + }], + "F": [{ + "id": 11, + "spell": "foshan", + "name": "佛山" + }, { + "id": 12, + "spell": "fuzhou", + "name": "福州" + }, { + "id": 114, + "spell": "fangchenggang", + "name": "防城港" + }, { + "id": 115, + "spell": "fushun", + "name": "抚顺" + }, { + "id": 116, + "spell": "fuxin", + "name": "阜新" + }, { + "id": 117, + "spell": "fuyang", + "name": "阜阳" + }, { + "id": 118, + "spell": "fuzhou", + "name": "抚州" + }, { + "id": 418, + "spell": "faku", + "name": "法库" + }, { + "id": 419, + "spell": "fanchang", + "name": "繁昌" + }, { + "id": 420, + "spell": "fangzheng", + "name": "方正" + }, { + "id": 421, + "spell": "feicheng", + "name": "肥城" + }, { + "id": 422, + "spell": "feidong", + "name": "肥东" + }, { + "id": 423, + "spell": "feixi", + "name": "肥西" + }, { + "id": 424, + "spell": "feixian", + "name": "费县" + }, { + "id": 425, + "spell": "fengcheng", + "name": "丰城" + }, { + "id": 426, + "spell": "fengdu", + "name": "丰都" + }, { + "id": 427, + "spell": "fenghua", + "name": "奉化" + }, { + "id": 428, + "spell": "fengjie", + "name": "奉节" + }, { + "id": 429, + "spell": "fengkai", + "name": "封开" + }, { + "id": 430, + "spell": "fengshun", + "name": "丰顺" + }, { + "id": 431, + "spell": "fengtai", + "name": "凤台" + }, { + "id": 432, + "spell": "fengxian", + "name": "丰县" + }, { + "id": 433, + "spell": "fengxin", + "name": "奉新" + }, { + "id": 434, + "spell": "fengyang", + "name": "凤阳" + }, { + "id": 435, + "spell": "fenyi", + "name": "分宜" + }, { + "id": 436, + "spell": "fogang", + "name": "佛冈" + }, { + "id": 437, + "spell": "fuan", + "name": "福安" + }, { + "id": 438, + "spell": "fuding", + "name": "福鼎" + }, { + "id": 439, + "spell": "fuliang", + "name": "浮梁" + }, { + "id": 440, + "spell": "fumin", + "name": "富民" + }, { + "id": 441, + "spell": "funan", + "name": "阜南" + }, { + "id": 442, + "spell": "funing", + "name": "阜宁" + }, { + "id": 443, + "spell": "fuqing", + "name": "福清" + }, { + "id": 444, + "spell": "fuyang", + "name": "富阳" + }], + "G": [{ + "id": 13, + "spell": "guangzhou", + "name": "广州" + }, { + "id": 14, + "spell": "guiyang", + "name": "贵阳" + }, { + "id": 119, + "spell": "gannan", + "name": "甘南" + }, { + "id": 120, + "spell": "ganzhou", + "name": "赣州" + }, { + "id": 121, + "spell": "ganzi", + "name": "甘孜" + }, { + "id": 122, + "spell": "guangan", + "name": "广安" + }, { + "id": 123, + "spell": "guangyuan", + "name": "广元" + }, { + "id": 124, + "spell": "guigang", + "name": "贵港" + }, + { + "id": 125, + "spell": "guilin", + "name": "桂林" + }, { + "id": 126, + "spell": "guoluo", + "name": "果洛" + }, { + "id": 127, + "spell": "guyuan", + "name": "固原" + }, { + "id": 445, + "spell": "ganxian", + "name": "赣县" + }, { + "id": 446, + "spell": "ganyu", + "name": "赣榆" + }, { + "id": 447, + "spell": "gaoan", + "name": "高安" + }, { + "id": 448, + "spell": "gaocheng", + "name": "藁城" + }, { + "id": 449, + "spell": "gaochun", + "name": "高淳" + }, { + "id": 450, + "spell": "gaolan", + "name": "皋兰" + }, { + "id": 451, + "spell": "gaoling", + "name": "高陵" + }, { + "id": 452, + "spell": "gaomi", + "name": "高密" + }, { + "id": 453, + "spell": "gaoqing", + "name": "高青" + }, { + "id": 454, + "spell": "gaotang", + "name": "高唐" + }, { + "id": 455, + "spell": "gaoyao", + "name": "高要" + }, { + "id": 456, + "spell": "gaoyi", + "name": "高邑" + }, { + "id": 457, + "spell": "gaoyou", + "name": "高邮" + }, { + "id": 458, + "spell": "gaozhou", + "name": "高州" + }, { + "id": 459, + "spell": "gongyi", + "name": "巩义" + }, { + "id": 460, + "spell": "guangchang", + "name": "广昌" + }, { + "id": 461, + "spell": "guangde", + "name": "广德" + }, { + "id": 462, + "spell": "guangfeng", + "name": "广丰" + }, { + "id": 463, + "spell": "guangning", + "name": "广宁" + }, { + "id": 464, + "spell": "guangrao", + "name": "广饶" + }, { + "id": 465, + "spell": "guangze", + "name": "光泽" + }, { + "id": 466, + "spell": "guannan", + "name": "灌南" + }, { + "id": 467, + "spell": "guanxian", + "name": "冠县" + }, { + "id": 468, + "spell": "guanyun", + "name": "灌云" + }, { + "id": 469, + "spell": "guixi", + "name": "贵溪" + }, { + "id": 470, + "spell": "gutian", + "name": "古田" + }, { + "id": 471, + "spell": "guzhen", + "name": "固镇" + }], + "H": [{ + "id": 15, + "spell": "haerbin", + "name": "哈尔滨" + }, { + "id": 16, + "spell": "haikou", + "name": "海口" + }, { + "id": 17, + "spell": "handan", + "name": "邯郸" + }, { + "id": 18, + "spell": "hangzhou", + "name": "杭州" + }, { + "id": 19, + "spell": "hefei", + "name": "合肥" + }, { + "id": 20, + "spell": "huizhou", + "name": "惠州" + }, { + "id": 128, + "spell": "haibei", + "name": "海北" + }, { + "id": 129, + "spell": "haidong", + "name": "海东" + }, { + "id": 130, + "spell": "hainan", + "name": "海南" + }, { + "id": 131, + "spell": "haixi", + "name": "海西" + }, { + "id": 132, + "spell": "hami", + "name": "哈密" + }, { + "id": 133, + "spell": "hanzhong", + "name": "汉中" + }, { + "id": 134, + "spell": "hebi", + "name": "鹤壁" + }, { + "id": 135, + "spell": "hechi", + "name": "河池" + }, { + "id": 136, + "spell": "hegang", + "name": "鹤岗" + }, { + "id": 137, + "spell": "heihe", + "name": "黑河" + }, { + "id": 138, + "spell": "hengshui", + "name": "衡水" + }, { + "id": 139, + "spell": "hengyang", + "name": "衡阳" + }, { + "id": 140, + "spell": "hetiandi", + "name": "和田地" + }, { + "id": 141, + "spell": "heyuan", + "name": "河源" + }, { + "id": 142, + "spell": "heze", + "name": "菏泽" + }, { + "id": 143, + "spell": "hezhou", + "name": "贺州" + }, { + "id": 144, + "spell": "honghe", + "name": "红河" + }, { + "id": 145, + "spell": "huaian", + "name": "淮安" + }, { + "id": 146, + "spell": "huaibei", + "name": "淮北" + }, { + "id": 147, + "spell": "huaihua", + "name": "怀化" + }, { + "id": 148, + "spell": "huainan", + "name": "淮南" + }, { + "id": 149, + "spell": "huanggang", + "name": "黄冈" + }, { + "id": 150, + "spell": "huangnan", + "name": "黄南" + }, { + "id": 151, + "spell": "huangshan", + "name": "黄山" + }, { + "id": 152, + "spell": "huangshi", + "name": "黄石" + }, { + "id": 153, + "spell": "huhehaote", + "name": "呼和浩特" + }, { + "id": 154, + "spell": "huludao", + "name": "葫芦岛" + }, { + "id": 155, + "spell": "hulunbeier", + "name": "呼伦贝尔" + }, { + "id": 156, + "spell": "huzhou", + "name": "湖州" + }, { + "id": 472, + "spell": "haian", + "name": "海安" + }, { + "id": 473, + "spell": "haifeng", + "name": "海丰" + }, { + "id": 474, + "spell": "haimen", + "name": "海门" + }, { + "id": 475, + "spell": "haining", + "name": "海宁" + }, { + "id": 476, + "spell": "haiyan", + "name": "海盐" + }, { + "id": 477, + "spell": "haiyang", + "name": "海阳" + }, { + "id": 478, + "spell": "hanshan", + "name": "含山" + }, { + "id": 479, + "spell": "hechuan", + "name": "合川" + }, { + "id": 480, + "spell": "hengfeng", + "name": "横峰" + }, { + "id": 481, + "spell": "hengxian", + "name": "横县" + }, { + "id": 482, + "spell": "heping", + "name": "和平" + }, { + "id": 483, + "spell": "heshan", + "name": "鹤山" + }, { + "id": 484, + "spell": "hexian", + "name": "和县" + }, { + "id": 485, + "spell": "hongze", + "name": "洪泽" + }, { + "id": 486, + "spell": "huaan", + "name": "华安" + }, { + "id": 487, + "spell": "huadian", + "name": "桦甸" + }, { + "id": 488, + "spell": "huaiji", + "name": "怀集" + }, { + "id": 489, + "spell": "huaining", + "name": "怀宁" + }, { + "id": 490, + "spell": "huaiyuan", + "name": "怀远" + }, { + "id": 491, + "spell": "huantai", + "name": "桓台" + }, { + "id": 492, + "spell": "huazhou", + "name": "化州" + }, { + "id": 493, + "spell": "huian", + "name": "惠安" + }, { + "id": 494, + "spell": "huichang", + "name": "会昌" + }, { + "id": 495, + "spell": "huidong", + "name": "惠东" + }, { + "id": 496, + "spell": "huilai", + "name": "惠来" + }, { + "id": 497, + "spell": "huimin", + "name": "惠民" + }, { + "id": 498, + "spell": "hukou", + "name": "湖口" + }, { + "id": 499, + "spell": "hulan", + "name": "呼兰" + }, { + "id": 500, + "spell": "huoqiu", + "name": "霍邱" + }, { + "id": 501, + "spell": "huoshan", + "name": "霍山" + }, { + "id": 502, + "spell": "huxian", + "name": "户县" + }], + "J": [{ + "id": 21, + "spell": "jiaozuo", + "name": "焦作" + }, { + "id": 22, + "spell": "jiaxing", + "name": "嘉兴" + }, { + "id": 23, + "spell": "jilin", + "name": "吉林" + }, { + "id": 24, + "spell": "jinan", + "name": "济南" + }, { + "id": 157, + "spell": "jiamusi", + "name": "佳木斯" + }, { + "id": 158, + "spell": "jiangmen", + "name": "江门" + }, { + "id": 159, + "spell": "jian", + "name": "吉安" + }, { + "id": 160, + "spell": "jiayuguan", + "name": "嘉峪关" + }, { + "id": 161, + "spell": "jieyang", + "name": "揭阳" + }, { + "id": 162, + "spell": "jinchang", + "name": "金昌" + }, { + "id": 163, + "spell": "jincheng", + "name": "晋城" + }, { + "id": 164, + "spell": "jingdezhen", + "name": "景德镇" + }, { + "id": 165, + "spell": "jingmen", + "name": "荆门" + }, { + "id": 166, + "spell": "jingzhou", + "name": "荆州" + }, { + "id": 167, + "spell": "jinhua", + "name": "金华" + }, { + "id": 168, + "spell": "jining", + "name": "济宁" + }, { + "id": 169, + "spell": "jinzhong", + "name": "晋中" + }, { + "id": 170, + "spell": "jinzhou", + "name": "锦州" + }, { + "id": 171, + "spell": "jiujiang", + "name": "九江" + }, { + "id": 172, + "spell": "jiuquan", + "name": "酒泉" + }, { + "id": 173, + "spell": "jixi", + "name": "鸡西" + }, { + "id": 503, + "spell": "jiande", + "name": "建德" + }, { + "id": 504, + "spell": "jiangdu", + "name": "江都" + }, { + "id": 505, + "spell": "jiangjin", + "name": "江津" + }, { + "id": 506, + "spell": "jiangle", + "name": "将乐" + }, { + "id": 507, + "spell": "jiangshan", + "name": "江山" + }, { + "id": 508, + "spell": "jiangyan", + "name": "姜堰" + }, { + "id": 509, + "spell": "jiangyin", + "name": "江阴" + }, { + "id": 510, + "spell": "jianhu", + "name": "建湖" + }, { + "id": 511, + "spell": "jianning", + "name": "建宁" + }, { + "id": 512, + "spell": "jianou", + "name": "建瓯" + }, { + "id": 513, + "spell": "jianyang", + "name": "建阳" + }, { + "id": 514, + "spell": "jian", + "name": "吉安" + }, { + "id": 515, + "spell": "jiaohe", + "name": "蛟河" + }, { + "id": 516, + "spell": "jiaoling", + "name": "蕉岭" + }, { + "id": 517, + "spell": "jiaonan", + "name": "胶南" + }, { + "id": 518, + "spell": "jiaozhou", + "name": "胶州" + }, { + "id": 519, + "spell": "jiashan", + "name": "嘉善" + }, { + "id": 520, + "spell": "jiaxiang", + "name": "嘉祥" + }, { + "id": 521, + "spell": "jiedong", + "name": "揭东" + }, { + "id": 522, + "spell": "jieshou", + "name": "界首" + }, { + "id": 523, + "spell": "jiexi", + "name": "揭西" + }, { + "id": 524, + "spell": "jimo", + "name": "即墨" + }, { + "id": 525, + "spell": "jingan", + "name": "靖安" + }, { + "id": 526, + "spell": "jingde", + "name": "旌德" + }, { + "id": 527, + "spell": "jinggangshan", + "name": "井冈山" + }, { + "id": 528, + "spell": "jingjiang", + "name": "靖江" + }, { + "id": 529, + "spell": "jingning", + "name": "景宁" + }, { + "id": 530, + "spell": "jingxian", + "name": "泾县" + }, { + "id": 531, + "spell": "jingxing", + "name": "井陉" + }, { + "id": 532, + "spell": "jinhu", + "name": "金湖" + }, { + "id": 533, + "spell": "jinjiang", + "name": "晋江" + }, { + "id": 534, + "spell": "jinmen", + "name": "金门" + }, { + "id": 535, + "spell": "jinning", + "name": "晋宁" + }, { + "id": 536, + "spell": "jintan", + "name": "金坛" + }, { + "id": 537, + "spell": "jintang", + "name": "金堂" + }, { + "id": 538, + "spell": "jinxian", + "name": "进贤" + }, { + "id": 539, + "spell": "jinxi", + "name": "金溪" + }, { + "id": 540, + "spell": "jinxiang", + "name": "金乡" + }, { + "id": 541, + "spell": "jinyun", + "name": "缙云" + }, { + "id": 542, + "spell": "jinzhai", + "name": "金寨" + }, { + "id": 543, + "spell": "jinzhou", + "name": "晋州" + }, { + "id": 544, + "spell": "jishui", + "name": "吉水" + }, { + "id": 545, + "spell": "jiujiang", + "name": "九江" + }, { + "id": 546, + "spell": "jiutai", + "name": "九台" + }, { + "id": 547, + "spell": "jixi", + "name": "绩溪" + }, { + "id": 548, + "spell": "jiyang", + "name": "济阳" + }, { + "id": 549, + "spell": "jiyuan", + "name": "济源" + }, { + "id": 550, + "spell": "juancheng", + "name": "鄄城" + }, { + "id": 551, + "spell": "junan", + "name": "莒南" + }, { + "id": 552, + "spell": "jurong", + "name": "句容" + }, { + "id": 553, + "spell": "juxian", + "name": "莒县" + }, { + "id": 554, + "spell": "juye", + "name": "巨野" + }], + "K": [{ + "id": 25, + "spell": "kunming", + "name": "昆明" + }, { + "id": 174, + "spell": "kaifeng", + "name": "开封" + }, { + "id": 175, + "spell": "kashidi", + "name": "喀什地" + }, { + "id": 176, + "spell": "kelamayi", + "name": "克拉玛依" + }, { + "id": 177, + "spell": "kezile", + "name": "克孜勒" + }, { + "id": 555, + "spell": "kaihua", + "name": "开化" + }, { + "id": 556, + "spell": "kaiping", + "name": "开平" + }, { + "id": 557, + "spell": "kaixian", + "name": "开县" + }, { + "id": 558, + "spell": "kaiyang", + "name": "开阳" + }, { + "id": 559, + "spell": "kangping", + "name": "康平" + }, { + "id": 560, + "spell": "kenli", + "name": "垦利" + }, { + "id": 561, + "spell": "kunshan", + "name": "昆山" + }], + "L": [{ + "id": 26, + "spell": "lanzhou", + "name": "兰州" + }, { + "id": 27, + "spell": "liuzhou", + "name": "柳州" + }, { + "id": 28, + "spell": "luoyang", + "name": "洛阳" + }, { + "id": 178, + "spell": "laibin", + "name": "来宾" + }, { + "id": 180, + "spell": "langfang", + "name": "廊坊" + }, { + "id": 181, + "spell": "lasa", + "name": "拉萨" + }, { + "id": 182, + "spell": "leshan", + "name": "乐山" + }, { + "id": 183, + "spell": "liangshan", + "name": "凉山" + }, { + "id": 184, + "spell": "lianyungang", + "name": "连云港" + }, { + "id": 185, + "spell": "liaocheng", + "name": "聊城" + }, { + "id": 186, + "spell": "liaoyang", + "name": "辽阳" + }, { + "id": 187, + "spell": "liaoyuan", + "name": "辽源" + }, { + "id": 188, + "spell": "lijiang", + "name": "丽江" + }, { + "id": 189, + "spell": "lincang", + "name": "临沧" + }, { + "id": 190, + "spell": "linfen", + "name": "临汾" + }, { + "id": 191, + "spell": "linxia", + "name": "临夏" + }, { + "id": 192, + "spell": "linyi", + "name": "临沂" + }, { + "id": 193, + "spell": "linzhi", + "name": "林芝" + }, { + "id": 194, + "spell": "lishui", + "name": "丽水" + }, { + "id": 195, + "spell": "liuan", + "name": "六安" + }, { + "id": 196, + "spell": "liupanshui", + "name": "六盘水" + }, { + "id": 197, + "spell": "longnan", + "name": "陇南" + }, { + "id": 198, + "spell": "longyan", + "name": "龙岩" + }, { + "id": 199, + "spell": "loudi", + "name": "娄底" + }, { + "id": 200, + "spell": "luohe", + "name": "漯河" + }, { + "id": 201, + "spell": "luzhou", + "name": "泸州" + }, { + "id": 202, + "spell": "lvliang", + "name": "吕梁" + }, { + "id": 562, + "spell": "laian", + "name": "来安" + }, { + "id": 563, + "spell": "laixi", + "name": "莱西" + }, { + "id": 564, + "spell": "laiyang", + "name": "莱阳" + }, { + "id": 565, + "spell": "laizhou", + "name": "莱州" + }, { + "id": 566, + "spell": "langxi", + "name": "郎溪" + }, { + "id": 567, + "spell": "lantian", + "name": "蓝田" + }, { + "id": 568, + "spell": "lanxi", + "name": "兰溪" + }, { + "id": 569, + "spell": "lean", + "name": "乐安" + }, { + "id": 570, + "spell": "lechang", + "name": "乐昌" + }, { + "id": 571, + "spell": "leizhou", + "name": "雷州" + }, { + "id": 572, + "spell": "leling", + "name": "乐陵" + }, { + "id": 573, + "spell": "leping", + "name": "乐平" + }, { + "id": 574, + "spell": "leqing", + "name": "乐清" + }, { + "id": 575, + "spell": "leting", + "name": "乐亭" + }, { + "id": 576, + "spell": "liancheng", + "name": "连城" + }, { + "id": 577, + "spell": "liangping", + "name": "梁平" + }, { + "id": 578, + "spell": "liangshan", + "name": "梁山" + }, { + "id": 579, + "spell": "lianhua", + "name": "莲花" + }, { + "id": 580, + "spell": "lianjiang", + "name": "连江" + }, { + "id": 581, + "spell": "lianjiang", + "name": "廉江" + }, { + "id": 582, + "spell": "liannan", + "name": "连南" + }, { + "id": 583, + "spell": "lianping", + "name": "连平" + }, { + "id": 584, + "spell": "lianshan", + "name": "连山" + }, { + "id": 585, + "spell": "lianshui", + "name": "涟水" + }, { + "id": 586, + "spell": "lianzhou", + "name": "连州" + }, { + "id": 587, + "spell": "liaozhong", + "name": "辽中" + }, { + "id": 588, + "spell": "lichuan", + "name": "黎川" + }, { + "id": 589, + "spell": "lijin", + "name": "利津" + }, { + "id": 590, + "spell": "linan", + "name": "临安" + }, { + "id": 591, + "spell": "lingbi", + "name": "灵璧" + }, { + "id": 592, + "spell": "lingshou", + "name": "灵寿" + }, { + "id": 593, + "spell": "lingxian", + "name": "陵县" + }, { + "id": 594, + "spell": "linhai", + "name": "临海" + }, { + "id": 595, + "spell": "linqing", + "name": "临清" + }, { + "id": 596, + "spell": "linquan", + "name": "临泉" + }, { + "id": 597, + "spell": "linqu", + "name": "临朐" + }, { + "id": 598, + "spell": "linshu", + "name": "临沭" + }, { + "id": 599, + "spell": "linyi", + "name": "临邑" + }, { + "id": 600, + "spell": "lishui", + "name": "溧水" + }, { + "id": 601, + "spell": "liucheng", + "name": "柳城" + }, { + "id": 602, + "spell": "liujiang", + "name": "柳江" + }, { + "id": 603, + "spell": "liuyang", + "name": "浏阳" + }, { + "id": 604, + "spell": "lixin", + "name": "利辛" + }, { + "id": 605, + "spell": "liyang", + "name": "溧阳" + }, { + "id": 606, + "spell": "longan", + "name": "隆安" + }, { + "id": 607, + "spell": "longchuan", + "name": "龙川" + }, { + "id": 608, + "spell": "longhai", + "name": "龙海" + }, { + "id": 609, + "spell": "longkou", + "name": "龙口" + }, { + "id": 610, + "spell": "longmen", + "name": "龙门" + }, { + "id": 611, + "spell": "longnan", + "name": "龙南" + }, { + "id": 612, + "spell": "longquan", + "name": "龙泉" + }, { + "id": 613, + "spell": "longyou", + "name": "龙游" + }, { + "id": 614, + "spell": "luancheng", + "name": "栾城" + }, { + "id": 615, + "spell": "luanchuan", + "name": "栾川" + }, { + "id": 616, + "spell": "luannan", + "name": "滦南" + }, { + "id": 617, + "spell": "luanxian", + "name": "滦县" + }, { + "id": 618, + "spell": "lufeng", + "name": "陆丰" + }, { + "id": 619, + "spell": "luhe", + "name": "陆河" + }, { + "id": 620, + "spell": "lujiang", + "name": "庐江" + }, { + "id": 621, + "spell": "luoding", + "name": "罗定" + }, { + "id": 622, + "spell": "luoning", + "name": "洛宁" + }, { + "id": 623, + "spell": "luoyuan", + "name": "罗源" + }, { + "id": 624, + "spell": "luquan", + "name": "鹿泉" + }, { + "id": 625, + "spell": "luquan", + "name": "禄劝" + }, { + "id": 626, + "spell": "luxi", + "name": "芦溪" + }, { + "id": 627, + "spell": "luzhai", + "name": "鹿寨" + }], + "M": [{ + "id": 203, + "spell": "maanshan", + "name": "马鞍山" + }, { + "id": 204, + "spell": "maoming", + "name": "茂名" + }, { + "id": 205, + "spell": "meishan", + "name": "眉山" + }, { + "id": 206, + "spell": "meizhou", + "name": "梅州" + }, { + "id": 207, + "spell": "mianyang", + "name": "绵阳" + }, { + "id": 208, + "spell": "mudanjiang", + "name": "牡丹江" + }, { + "id": 628, + "spell": "mashan", + "name": "马山" + }, { + "id": 629, + "spell": "meixian", + "name": "梅县" + }, { + "id": 630, + "spell": "mengcheng", + "name": "蒙城" + }, { + "id": 631, + "spell": "mengjin", + "name": "孟津" + }, { + "id": 632, + "spell": "mengyin", + "name": "蒙阴" + }, { + "id": 633, + "spell": "mengzhou", + "name": "孟州" + }, { + "id": 634, + "spell": "mingguang", + "name": "明光" + }, { + "id": 635, + "spell": "mingxi", + "name": "明溪" + }, { + "id": 636, + "spell": "minhou", + "name": "闽侯" + }, { + "id": 637, + "spell": "minqing", + "name": "闽清" + }, { + "id": 638, + "spell": "mulan", + "name": "木兰" + }], + "N": [{ + "id": 29, + "spell": "nanchang", + "name": "南昌" + }, { + "id": 30, + "spell": "nanjing", + "name": "南京" + }, { + "id": 31, + "spell": "nanning", + "name": "南宁" + }, { + "id": 32, + "spell": "nantong", + "name": "南通" + }, { + "id": 33, + "spell": "ningbo", + "name": "宁波" + }, { + "id": 209, + "spell": "nanchong", + "name": "南充" + }, { + "id": 210, + "spell": "nanping", + "name": "南平" + }, { + "id": 211, + "spell": "nanyang", + "name": "南阳" + }, { + "id": 212, + "spell": "naqu", + "name": "那曲" + }, { + "id": 213, + "spell": "neijiang", + "name": "内江" + }, { + "id": 214, + "spell": "ningde", + "name": "宁德" + }, { + "id": 215, + "spell": "nujiang", + "name": "怒江" + }, { + "id": 639, + "spell": "nanan", + "name": "南安" + }, { + "id": 640, + "spell": "nanao", + "name": "南澳" + }, { + "id": 641, + "spell": "nancheng", + "name": "南城" + }, { + "id": 642, + "spell": "nanchuan", + "name": "南川" + }, { + "id": 643, + "spell": "nanfeng", + "name": "南丰" + }, { + "id": 644, + "spell": "nanjing", + "name": "南靖" + }, { + "id": 645, + "spell": "nankang", + "name": "南康" + }, { + "id": 646, + "spell": "nanling", + "name": "南陵" + }, { + "id": 647, + "spell": "nanxiong", + "name": "南雄" + }, { + "id": 648, + "spell": "ningdu", + "name": "宁都" + }, { + "id": 649, + "spell": "ningguo", + "name": "宁国" + }, { + "id": 650, + "spell": "ninghai", + "name": "宁海" + }, { + "id": 651, + "spell": "ninghua", + "name": "宁化" + }, { + "id": 652, + "spell": "ningjin", + "name": "宁津" + }, { + "id": 653, + "spell": "ningxiang", + "name": "宁乡" + }, { + "id": 654, + "spell": "ningyang", + "name": "宁阳" + }, { + "id": 655, + "spell": "nongan", + "name": "农安" + }], + "P": [{ + "id": 216, + "spell": "panjin", + "name": "盘锦" + }, { + "id": 217, + "spell": "panzhihua", + "name": "攀枝花" + }, { + "id": 218, + "spell": "pingdingshan", + "name": "平顶山" + }, { + "id": 219, + "spell": "pingliang", + "name": "平凉" + }, { + "id": 220, + "spell": "pingxiang", + "name": "萍乡" + }, { + "id": 221, + "spell": "puer", + "name": "普洱" + }, { + "id": 222, + "spell": "putian", + "name": "莆田" + }, { + "id": 223, + "spell": "puyang", + "name": "濮阳" + }, { + "id": 656, + "spell": "panan", + "name": "磐安" + }, { + "id": 657, + "spell": "panshi", + "name": "磐石" + }, { + "id": 658, + "spell": "peixian", + "name": "沛县" + }, { + "id": 659, + "spell": "penglai", + "name": "蓬莱" + }, { + "id": 660, + "spell": "pengshui", + "name": "彭水" + }, { + "id": 661, + "spell": "pengze", + "name": "彭泽" + }, { + "id": 662, + "spell": "pengzhou", + "name": "彭州" + }, { + "id": 663, + "spell": "pingdu", + "name": "平度" + }, { + "id": 664, + "spell": "pinghe", + "name": "平和" + }, { + "id": 665, + "spell": "pinghu", + "name": "平湖" + }, { + "id": 666, + "spell": "pingnan", + "name": "屏南" + }, { + "id": 667, + "spell": "pingshan", + "name": "平山" + }, { + "id": 668, + "spell": "pingtan", + "name": "平潭" + }, { + "id": 669, + "spell": "pingyang", + "name": "平阳" + }, { + "id": 670, + "spell": "pingyin", + "name": "平阴" + }, { + "id": 671, + "spell": "pingyi", + "name": "平邑" + }, { + "id": 672, + "spell": "pingyuan", + "name": "平原" + }, { + "id": 673, + "spell": "pingyuan", + "name": "平远" + }, { + "id": 674, + "spell": "pixian", + "name": "郫县" + }, { + "id": 675, + "spell": "pizhou", + "name": "邳州" + }, { + "id": 676, + "spell": "poyang", + "name": "鄱阳" + }, { + "id": 677, + "spell": "pucheng", + "name": "浦城" + }, { + "id": 678, + "spell": "pujiang", + "name": "浦江" + }, { + "id": 679, + "spell": "pujiang", + "name": "蒲江" + }, { + "id": 680, + "spell": "pulandian", + "name": "普兰店" + }, { + "id": 681, + "spell": "puning", + "name": "普宁" + }], + "Q": [{ + "id": 34, + "spell": "qingdao", + "name": "青岛" + }, { + "id": 35, + "spell": "quanzhou", + "name": "泉州" + }, { + "id": 224, + "spell": "qiandong", + "name": "黔东" + }, { + "id": 225, + "spell": "qiannan", + "name": "黔南" + }, { + "id": 226, + "spell": "qianxinan", + "name": "黔西南" + }, { + "id": 227, + "spell": "qingyang", + "name": "庆阳" + }, { + "id": 228, + "spell": "qingyuan", + "name": "清远" + }, { + "id": 229, + "spell": "qinhuangdao", + "name": "秦皇岛" + }, { + "id": 230, + "spell": "qinzhou", + "name": "钦州" + }, { + "id": 231, + "spell": "qiqihaer", + "name": "齐齐哈尔" + }, { + "id": 232, + "spell": "qitaihe", + "name": "七台河" + }, { + "id": 233, + "spell": "qujing", + "name": "曲靖" + }, { + "id": 234, + "spell": "quzhou", + "name": "衢州" + }, { + "id": 682, + "spell": "qianan", + "name": "迁安" + }, { + "id": 683, + "spell": "qianshan", + "name": "潜山" + }, { + "id": 684, + "spell": "qianshan", + "name": "铅山" + }, { + "id": 685, + "spell": "qianxi", + "name": "迁西" + }, { + "id": 686, + "spell": "qidong", + "name": "启东" + }, { + "id": 687, + "spell": "qihe", + "name": "齐河" + }, { + "id": 688, + "spell": "qijiang", + "name": "綦江" + }, { + "id": 689, + "spell": "qimen", + "name": "祁门" + }, { + "id": 690, + "spell": "qingliu", + "name": "清流" + }, { + "id": 691, + "spell": "qingtian", + "name": "青田" + }, { + "id": 692, + "spell": "qingxin", + "name": "清新" + }, { + "id": 693, + "spell": "qingyang", + "name": "青阳" + }, { + "id": 694, + "spell": "qingyuan", + "name": "庆元" + }, { + "id": 695, + "spell": "qingyun", + "name": "庆云" + }, { + "id": 696, + "spell": "qingzhen", + "name": "清镇" + }, { + "id": 697, + "spell": "qingzhou", + "name": "青州" + }, { + "id": 698, + "spell": "qinyang", + "name": "沁阳" + }, { + "id": 699, + "spell": "qionglai", + "name": "邛崃" + }, { + "id": 700, + "spell": "qixia", + "name": "栖霞" + }, { + "id": 701, + "spell": "quanjiao", + "name": "全椒" + }, { + "id": 702, + "spell": "quannan", + "name": "全南" + }, { + "id": 703, + "spell": "qufu", + "name": "曲阜" + }, { + "id": 704, + "spell": "qujiang", + "name": "曲江" + }], + "R": [{ + "id": 235, + "spell": "rikaze", + "name": "日喀则" + }, { + "id": 236, + "spell": "rizhao", + "name": "日照" + }, { + "id": 705, + "spell": "raoping", + "name": "饶平" + }, { + "id": 706, + "spell": "renhua", + "name": "仁化" + }, { + "id": 707, + "spell": "rongan", + "name": "融安" + }, { + "id": 708, + "spell": "rongchang", + "name": "荣昌" + }, { + "id": 709, + "spell": "rongcheng", + "name": "荣成" + }, { + "id": 710, + "spell": "rongshui", + "name": "融水" + }, { + "id": 711, + "spell": "rudong", + "name": "如东" + }, { + "id": 712, + "spell": "rugao", + "name": "如皋" + }, { + "id": 713, + "spell": "ruian", + "name": "瑞安" + }, { + "id": 714, + "spell": "ruichang", + "name": "瑞昌" + }, { + "id": 715, + "spell": "ruijin", + "name": "瑞金" + }, { + "id": 716, + "spell": "rushan", + "name": "乳山" + }, { + "id": 717, + "spell": "ruyang", + "name": "汝阳" + }, { + "id": 718, + "spell": "ruyuan", + "name": "乳源" + }], + "S": [{ + "id": 3, + "spell": "shanghai", + "name": "上海" + }, { + "id": 36, + "spell": "shenyang", + "name": "沈阳" + }, { + "id": 37, + "spell": "shenzhen", + "name": "深圳" + }, { + "id": 38, + "spell": "shijiazhuang", + "name": "石家庄" + }, { + "id": 39, + "spell": "suzhou", + "name": "苏州" + }, { + "id": 237, + "spell": "sanmenxia", + "name": "三门峡" + }, { + "id": 238, + "spell": "sanming", + "name": "三明" + }, { + "id": 239, + "spell": "sanya", + "name": "三亚" + }, { + "id": 240, + "spell": "shangluo", + "name": "商洛" + }, { + "id": 241, + "spell": "shangqiu", + "name": "商丘" + }, { + "id": 242, + "spell": "shangrao", + "name": "上饶" + }, { + "id": 243, + "spell": "shannan", + "name": "山南" + }, { + "id": 244, + "spell": "shantou", + "name": "汕头" + }, { + "id": 245, + "spell": "shanwei", + "name": "汕尾" + }, { + "id": 246, + "spell": "shaoguan", + "name": "韶关" + }, { + "id": 247, + "spell": "shaoxing", + "name": "绍兴" + }, { + "id": 248, + "spell": "shaoyang", + "name": "邵阳" + }, { + "id": 249, + "spell": "shiyan", + "name": "十堰" + }, { + "id": 250, + "spell": "shizuishan", + "name": "石嘴山" + }, { + "id": 251, + "spell": "shuangyashan", + "name": "双鸭山" + }, { + "id": 252, + "spell": "shuozhou", + "name": "朔州" + }, { + "id": 253, + "spell": "siping", + "name": "四平" + }, { + "id": 254, + "spell": "songyuan", + "name": "松原" + }, { + "id": 255, + "spell": "suihua", + "name": "绥化" + }, { + "id": 256, + "spell": "suining", + "name": "遂宁" + }, { + "id": 257, + "spell": "suizhou", + "name": "随州" + }, { + "id": 258, + "spell": "suqian", + "name": "宿迁" + }, { + "id": 259, + "spell": "suzhou", + "name": "宿州" + }, { + "id": 719, + "spell": "sanjiang", + "name": "三江" + }, { + "id": 720, + "spell": "sanmen", + "name": "三门" + }, { + "id": 721, + "spell": "saoan", + "name": "诏安" + }, { + "id": 722, + "spell": "shanggao", + "name": "上高" + }, { + "id": 723, + "spell": "shanghang", + "name": "上杭" + }, { + "id": 724, + "spell": "shanghe", + "name": "商河" + }, { + "id": 725, + "spell": "shangli", + "name": "上栗" + }, { + "id": 726, + "spell": "shanglin", + "name": "上林" + }, { + "id": 727, + "spell": "shangrao", + "name": "上饶" + }, { + "id": 728, + "spell": "shangyou", + "name": "上犹" + }, { + "id": 729, + "spell": "shangyu", + "name": "上虞" + }, { + "id": 730, + "spell": "shangzhi", + "name": "尚志" + }, { + "id": 731, + "spell": "shaowu", + "name": "邵武" + }, { + "id": 732, + "spell": "shaoxing", + "name": "绍兴" + }, { + "id": 733, + "spell": "shaxian", + "name": "沙县" + }, { + "id": 734, + "spell": "shengsi", + "name": "嵊泗" + }, { + "id": 735, + "spell": "shengzhou", + "name": "嵊州" + }, { + "id": 736, + "spell": "shenxian", + "name": "莘县" + }, { + "id": 737, + "spell": "shenze", + "name": "深泽" + }, { + "id": 738, + "spell": "shexian", + "name": "歙县" + }, { + "id": 739, + "spell": "sheyang", + "name": "射阳" + }, { + "id": 740, + "spell": "shicheng", + "name": "石城" + }, { + "id": 741, + "spell": "shilin", + "name": "石林" + }, { + "id": 742, + "spell": "shishi", + "name": "石狮" + }, { + "id": 743, + "spell": "shitai", + "name": "石台" + }, { + "id": 744, + "spell": "shixing", + "name": "始兴" + }, { + "id": 745, + "spell": "shizhu", + "name": "石柱" + }, { + "id": 746, + "spell": "shouguang", + "name": "寿光" + }, { + "id": 747, + "spell": "shouning", + "name": "寿宁" + }, { + "id": 748, + "spell": "shouxian", + "name": "寿县" + }, { + "id": 749, + "spell": "shuangcheng", + "name": "双城" + }, { + "id": 750, + "spell": "shuangliu", + "name": "双流" + }, { + "id": 751, + "spell": "shucheng", + "name": "舒城" + }, { + "id": 752, + "spell": "shulan", + "name": "舒兰" + }, { + "id": 753, + "spell": "shunchang", + "name": "顺昌" + }, { + "id": 754, + "spell": "shuyang", + "name": "沭阳" + }, { + "id": 755, + "spell": "sihong", + "name": "泗洪" + }, { + "id": 756, + "spell": "sihui", + "name": "四会" + }, { + "id": 757, + "spell": "sishui", + "name": "泗水" + }, { + "id": 758, + "spell": "sixian", + "name": "泗县" + }, { + "id": 759, + "spell": "siyang", + "name": "泗阳" + }, { + "id": 760, + "spell": "songming", + "name": "嵩明" + }, { + "id": 761, + "spell": "songxi", + "name": "松溪" + }, { + "id": 762, + "spell": "songxian", + "name": "嵩县" + }, { + "id": 763, + "spell": "songyang", + "name": "松阳" + }, { + "id": 764, + "spell": "suichang", + "name": "遂昌" + }, { + "id": 765, + "spell": "suichuan", + "name": "遂川" + }, { + "id": 766, + "spell": "suining", + "name": "睢宁" + }, { + "id": 767, + "spell": "suixi", + "name": "濉溪" + }, { + "id": 768, + "spell": "suixi", + "name": "遂溪" + }, { + "id": 769, + "spell": "susong", + "name": "宿松" + }, { + "id": 770, + "spell": "suyu", + "name": "宿豫" + }], + "T": [{ + "id": 4, + "spell": "tianjin", + "name": "天津" + }, { + "id": 40, + "spell": "taizhou", + "name": "台州" + }, { + "id": 41, + "spell": "tangshan", + "name": "唐山" + }, { + "id": 260, + "spell": "tachengdi", + "name": "塔城地" + }, { + "id": 261, + "spell": "taian", + "name": "泰安" + }, { + "id": 262, + "spell": "taiyuan", + "name": "太原" + }, { + "id": 263, + "spell": "taizhou", + "name": "泰州" + }, { + "id": 264, + "spell": "tianshui", + "name": "天水" + }, { + "id": 265, + "spell": "tieling", + "name": "铁岭" + }, { + "id": 266, + "spell": "tongchuan", + "name": "铜川" + }, { + "id": 267, + "spell": "tonghua", + "name": "通化" + }, { + "id": 268, + "spell": "tongliao", + "name": "通辽" + }, { + "id": 269, + "spell": "tongling", + "name": "铜陵" + }, { + "id": 270, + "spell": "tongren", + "name": "铜仁" + }, { + "id": 271, + "spell": "tulufan", + "name": "吐鲁番" + }, { + "id": 771, + "spell": "taicang", + "name": "太仓" + }, { + "id": 772, + "spell": "taihe", + "name": "太和" + }, { + "id": 773, + "spell": "taihe", + "name": "泰和" + }, { + "id": 774, + "spell": "taihu", + "name": "太湖" + }, { + "id": 775, + "spell": "taining", + "name": "泰宁" + }, { + "id": 776, + "spell": "taishan", + "name": "台山" + }, { + "id": 777, + "spell": "taishun", + "name": "泰顺" + }, { + "id": 778, + "spell": "taixing", + "name": "泰兴" + }, { + "id": 779, + "spell": "tancheng", + "name": "郯城" + }, { + "id": 780, + "spell": "tanghai", + "name": "唐海" + }, { + "id": 781, + "spell": "tengzhou", + "name": "滕州" + }, { + "id": 782, + "spell": "tianchang", + "name": "天长" + }, { + "id": 783, + "spell": "tiantai", + "name": "天台" + }, { + "id": 784, + "spell": "tongcheng", + "name": "桐城" + }, { + "id": 785, + "spell": "tonggu", + "name": "铜鼓" + }, { + "id": 786, + "spell": "tonghe", + "name": "通河" + }, { + "id": 787, + "spell": "tongliang", + "name": "铜梁" + }, { + "id": 788, + "spell": "tongling", + "name": "铜陵" + }, { + "id": 789, + "spell": "tonglu", + "name": "桐庐" + }, { + "id": 790, + "spell": "tongnan", + "name": "潼南" + }, { + "id": 791, + "spell": "tongshan", + "name": "铜山" + }, { + "id": 792, + "spell": "tongxiang", + "name": "桐乡" + }, { + "id": 793, + "spell": "tongzhou", + "name": "通州" + }], + "W": [{ + "id": 42, + "spell": "weifang", + "name": "潍坊" + }, { + "id": 43, + "spell": "weihai", + "name": "威海" + }, { + "id": 44, + "spell": "wuhan", + "name": "武汉" + }, { + "id": 45, + "spell": "wuxi", + "name": "无锡" + }, { + "id": 272, + "spell": "weinan", + "name": "渭南" + }, { + "id": 273, + "spell": "wenshan", + "name": "文山" + }, { + "id": 274, + "spell": "wenzhou", + "name": "温州" + }, { + "id": 275, + "spell": "wuhai", + "name": "乌海" + }, { + "id": 276, + "spell": "wuhu", + "name": "芜湖" + }, { + "id": 277, + "spell": "wulanchabu", + "name": "乌兰察布" + }, { + "id": 278, + "spell": "wulumuqi", + "name": "乌鲁木齐" + }, { + "id": 279, + "spell": "wuwei", + "name": "武威" + }, { + "id": 280, + "spell": "wuzhong", + "name": "吴忠" + }, { + "id": 281, + "spell": "wuzhou", + "name": "梧州" + }, { + "id": 794, + "spell": "wafangdian", + "name": "瓦房店" + }, { + "id": 795, + "spell": "wanan", + "name": "万安" + }, { + "id": 796, + "spell": "wangcheng", + "name": "望城" + }, { + "id": 797, + "spell": "wangjiang", + "name": "望江" + }, { + "id": 798, + "spell": "wannian", + "name": "万年" + }, { + "id": 799, + "spell": "wanzai", + "name": "万载" + }, { + "id": 800, + "spell": "weishan", + "name": "微山" + }, { + "id": 801, + "spell": "wencheng", + "name": "文成" + }, { + "id": 802, + "spell": "wendeng", + "name": "文登" + }, { + "id": 803, + "spell": "wengyuan", + "name": "翁源" + }, { + "id": 804, + "spell": "wenling", + "name": "温岭" + }, { + "id": 805, + "spell": "wenshang", + "name": "汶上" + }, { + "id": 806, + "spell": "wenxian", + "name": "温县" + }, { + "id": 807, + "spell": "woyang", + "name": "涡阳" + }, { + "id": 808, + "spell": "wuchang", + "name": "五常" + }, { + "id": 809, + "spell": "wucheng", + "name": "武城" + }, { + "id": 810, + "spell": "wuchuan", + "name": "吴川" + }, { + "id": 811, + "spell": "wudi", + "name": "无棣" + }, { + "id": 812, + "spell": "wuhe", + "name": "五河" + }, { + "id": 813, + "spell": "wuhu", + "name": "芜湖" + }, { + "id": 814, + "spell": "wuhua", + "name": "五华" + }, { + "id": 815, + "spell": "wuji", + "name": "无极" + }, { + "id": 816, + "spell": "wujiang", + "name": "吴江" + }, { + "id": 817, + "spell": "wulian", + "name": "五莲" + }, { + "id": 818, + "spell": "wulong", + "name": "武隆" + }, { + "id": 819, + "spell": "wuming", + "name": "武鸣" + }, { + "id": 820, + "spell": "wuning", + "name": "武宁" + }, { + "id": 821, + "spell": "wuping", + "name": "武平" + }, { + "id": 822, + "spell": "wushan", + "name": "巫山" + }, { + "id": 823, + "spell": "wuwei", + "name": "无为" + }, { + "id": 824, + "spell": "wuxi", + "name": "巫溪" + }, { + "id": 825, + "spell": "wuyi", + "name": "武义" + }, { + "id": 826, + "spell": "wuyishan", + "name": "武夷山" + }, { + "id": 827, + "spell": "wuyuan", + "name": "婺源" + }, { + "id": 828, + "spell": "wuzhi", + "name": "武陟" + }], + "X": [{ + "id": 46, + "spell": "xiamen", + "name": "厦门" + }, { + "id": 47, + "spell": "xian", + "name": "西安" + }, { + "id": 48, + "spell": "xuchang", + "name": "许昌" + }, { + "id": 49, + "spell": "xuzhou", + "name": "徐州" + }, { + "id": 282, + "spell": "xiangfan", + "name": "襄樊" + }, { + "id": 283, + "spell": "xiangtan", + "name": "湘潭" + }, { + "id": 284, + "spell": "xiangxi", + "name": "湘西" + }, { + "id": 285, + "spell": "xianning", + "name": "咸宁" + }, { + "id": 286, + "spell": "xianyang", + "name": "咸阳" + }, { + "id": 287, + "spell": "xiaogan", + "name": "孝感" + }, { + "id": 288, + "spell": "xilinguolemeng", + "name": "锡林郭勒盟" + }, { + "id": 289, + "spell": "xinganmeng", + "name": "兴安盟" + }, { + "id": 290, + "spell": "xingtai", + "name": "邢台" + }, { + "id": 291, + "spell": "xining", + "name": "西宁" + }, { + "id": 292, + "spell": "xinxiang", + "name": "新乡" + }, { + "id": 293, + "spell": "xinyang", + "name": "信阳" + }, { + "id": 294, + "spell": "xinyu", + "name": "新余" + }, { + "id": 295, + "spell": "xinzhou", + "name": "忻州" + }, { + "id": 296, + "spell": "xishuangbanna", + "name": "西双版纳" + }, { + "id": 297, + "spell": "xuancheng", + "name": "宣城" + }, { + "id": 829, + "spell": "xiajiang", + "name": "峡江" + }, { + "id": 830, + "spell": "xiajin", + "name": "夏津" + }, { + "id": 831, + "spell": "xiangshan", + "name": "象山" + }, { + "id": 832, + "spell": "xiangshui", + "name": "响水" + }, { + "id": 833, + "spell": "xianju", + "name": "仙居" + }, { + "id": 834, + "spell": "xianyou", + "name": "仙游" + }, { + "id": 835, + "spell": "xiaoxian", + "name": "萧县" + }, { + "id": 836, + "spell": "xiapu", + "name": "霞浦" + }, { + "id": 837, + "spell": "xifeng", + "name": "息烽" + }, { + "id": 838, + "spell": "xinan", + "name": "新安" + }, { + "id": 839, + "spell": "xinchang", + "name": "新昌" + }, { + "id": 840, + "spell": "xinfeng", + "name": "信丰" + }, { + "id": 841, + "spell": "xinfeng", + "name": "新丰" + }, { + "id": 842, + "spell": "xingan", + "name": "新干" + }, { + "id": 843, + "spell": "xingguo", + "name": "兴国" + }, { + "id": 844, + "spell": "xinghua", + "name": "兴化" + }, { + "id": 845, + "spell": "xingning", + "name": "兴宁" + }, { + "id": 846, + "spell": "xingtang", + "name": "行唐" + }, { + "id": 847, + "spell": "xingyang", + "name": "荥阳" + }, { + "id": 848, + "spell": "xingzi", + "name": "星子" + }, { + "id": 849, + "spell": "xinji", + "name": "辛集" + }, { + "id": 850, + "spell": "xinjian", + "name": "新建" + }, { + "id": 851, + "spell": "xinjin", + "name": "新津" + }, { + "id": 852, + "spell": "xinle", + "name": "新乐" + }, { + "id": 853, + "spell": "xinmin", + "name": "新民" + }, { + "id": 854, + "spell": "xinmi", + "name": "新密" + }, { + "id": 855, + "spell": "xintai", + "name": "新泰" + }, { + "id": 856, + "spell": "xinxing", + "name": "新兴" + }, { + "id": 857, + "spell": "xinyi", + "name": "新沂" + }, { + "id": 858, + "spell": "xinyi", + "name": "信宜" + }, { + "id": 859, + "spell": "xinzheng", + "name": "新郑" + }, { + "id": 860, + "spell": "xiuning", + "name": "休宁" + }, { + "id": 861, + "spell": "xiushan", + "name": "秀山" + }, { + "id": 862, + "spell": "xiushui", + "name": "修水" + }, { + "id": 863, + "spell": "xiuwen", + "name": "修文" + }, { + "id": 864, + "spell": "xiuwu", + "name": "修武" + }, { + "id": 865, + "spell": "xundian", + "name": "寻甸" + }, { + "id": 866, + "spell": "xunwu", + "name": "寻乌" + }, { + "id": 867, + "spell": "xuwen", + "name": "徐闻" + }, { + "id": 868, + "spell": "xuyi", + "name": "盱眙" + }], + "Y": [{ + "id": 50, + "spell": "yangzhou", + "name": "扬州" + }, { + "id": 51, + "spell": "yantai", + "name": "烟台" + }, { + "id": 298, + "spell": "yaan", + "name": "雅安" + }, { + "id": 299, + "spell": "yanan", + "name": "延安" + }, { + "id": 300, + "spell": "yanbian", + "name": "延边" + }, { + "id": 301, + "spell": "yancheng", + "name": "盐城" + }, { + "id": 302, + "spell": "yangjiang", + "name": "阳江" + }, { + "id": 303, + "spell": "yangquan", + "name": "阳泉" + }, { + "id": 304, + "spell": "yibin", + "name": "宜宾" + }, { + "id": 305, + "spell": "yichang", + "name": "宜昌" + }, { + "id": 306, + "spell": "yichun", + "name": "伊春" + }, { + "id": 307, + "spell": "yichun", + "name": "宜春" + }, { + "id": 308, + "spell": "yilihasake", + "name": "伊犁哈萨克" + }, { + "id": 309, + "spell": "yinchuan", + "name": "银川" + }, { + "id": 310, + "spell": "yingkou", + "name": "营口" + }, { + "id": 311, + "spell": "yingtan", + "name": "鹰潭" + }, { + "id": 312, + "spell": "yiyang", + "name": "益阳" + }, { + "id": 313, + "spell": "yongzhou", + "name": "永州" + }, { + "id": 314, + "spell": "yueyang", + "name": "岳阳" + }, { + "id": 315, + "spell": "yulin", + "name": "玉林" + }, { + "id": 316, + "spell": "yulin", + "name": "榆林" + }, { + "id": 317, + "spell": "yuncheng", + "name": "运城" + }, { + "id": 318, + "spell": "yunfu", + "name": "云浮" + }, { + "id": 319, + "spell": "yushu", + "name": "玉树" + }, { + "id": 320, + "spell": "yuxi", + "name": "玉溪" + }, { + "id": 869, + "spell": "yangchun", + "name": "阳春" + }, { + "id": 870, + "spell": "yangdong", + "name": "阳东" + }, { + "id": 871, + "spell": "yanggu", + "name": "阳谷" + }, { + "id": 872, + "spell": "yangshan", + "name": "阳山" + }, { + "id": 873, + "spell": "yangxin", + "name": "阳信" + }, { + "id": 874, + "spell": "yangxi", + "name": "阳西" + }, { + "id": 875, + "spell": "yangzhong", + "name": "扬中" + }, { + "id": 876, + "spell": "yanshi", + "name": "偃师" + }, { + "id": 877, + "spell": "yanshou", + "name": "延寿" + }, { + "id": 878, + "spell": "yanzhou", + "name": "兖州" + }, { + "id": 879, + "spell": "yichuan", + "name": "伊川" + }, { + "id": 880, + "spell": "yifeng", + "name": "宜丰" + }, { + "id": 881, + "spell": "yihuang", + "name": "宜黄" + }, { + "id": 882, + "spell": "yilan", + "name": "依兰" + }, { + "id": 883, + "spell": "yiliang", + "name": "宜良" + }, { + "id": 884, + "spell": "yinan", + "name": "沂南" + }, { + "id": 885, + "spell": "yingde", + "name": "英德" + }, { + "id": 886, + "spell": "yingshang", + "name": "颍上" + }, { + "id": 887, + "spell": "yishui", + "name": "沂水" + }, { + "id": 888, + "spell": "yiwu", + "name": "义乌" + }, { + "id": 889, + "spell": "yixian", + "name": "黟县" + }, { + "id": 890, + "spell": "yixing", + "name": "宜兴" + }, { + "id": 891, + "spell": "yiyang", + "name": "弋阳" + }, { + "id": 892, + "spell": "yiyang", + "name": "宜阳" + }, { + "id": 893, + "spell": "yiyuan", + "name": "沂源" + }, { + "id": 894, + "spell": "yizheng", + "name": "仪征" + }, { + "id": 895, + "spell": "yongan", + "name": "永安" + }, { + "id": 896, + "spell": "yongchuan", + "name": "永川" + }, { + "id": 897, + "spell": "yongchun", + "name": "永春" + }, { + "id": 898, + "spell": "yongdeng", + "name": "永登" + }, { + "id": 899, + "spell": "yongding", + "name": "永定" + }, { + "id": 900, + "spell": "yongfeng", + "name": "永丰" + }, { + "id": 901, + "spell": "yongji", + "name": "永吉" + }, { + "id": 902, + "spell": "yongjia", + "name": "永嘉" + }, { + "id": 903, + "spell": "yongkang", + "name": "永康" + }, { + "id": 904, + "spell": "yongning", + "name": "邕宁" + }, { + "id": 905, + "spell": "yongtai", + "name": "永泰" + }, { + "id": 906, + "spell": "yongxin", + "name": "永新" + }, { + "id": 907, + "spell": "yongxiu", + "name": "永修" + }, { + "id": 908, + "spell": "youxi", + "name": "尤溪" + }, { + "id": 909, + "spell": "youyang", + "name": "酉阳" + }, { + "id": 910, + "spell": "yuanshi", + "name": "元氏" + }, { + "id": 911, + "spell": "yucheng", + "name": "禹城" + }, { + "id": 912, + "spell": "yudu", + "name": "于都" + }, { + "id": 913, + "spell": "yuexi", + "name": "岳西" + }, { + "id": 914, + "spell": "yugan", + "name": "余干" + }, { + "id": 915, + "spell": "yuhuan", + "name": "玉环" + }, { + "id": 916, + "spell": "yujiang", + "name": "余江" + }, { + "id": 917, + "spell": "yunan", + "name": "郁南" + }, { + "id": 918, + "spell": "yunan", + "name": "云安" + }, { + "id": 919, + "spell": "yuncheng", + "name": "郓城" + }, { + "id": 920, + "spell": "yunhe", + "name": "云和" + }, { + "id": 921, + "spell": "yunxiao", + "name": "云霄" + }, { + "id": 922, + "spell": "yunyang", + "name": "云阳" + }, { + "id": 923, + "spell": "yushan", + "name": "玉山" + }, { + "id": 924, + "spell": "yushu", + "name": "榆树" + }, { + "id": 925, + "spell": "yutai", + "name": "鱼台" + }, { + "id": 926, + "spell": "yutian", + "name": "玉田" + }, { + "id": 927, + "spell": "yuyao", + "name": "余姚" + }, { + "id": 928, + "spell": "yuzhong", + "name": "榆中" + }], + "Z": [{ + "id": 52, + "spell": "zhangzhou", + "name": "漳州" + }, { + "id": 53, + "spell": "zhengzhou", + "name": "郑州" + }, { + "id": 54, + "spell": "zhongshan", + "name": "中山" + }, { + "id": 55, + "spell": "zhuhai", + "name": "珠海" + }, { + "id": 321, + "spell": "zaozhuang", + "name": "枣庄" + }, { + "id": 322, + "spell": "zhangjiajie", + "name": "张家界" + }, { + "id": 323, + "spell": "zhangjiakou", + "name": "张家口" + }, { + "id": 324, + "spell": "zhangye", + "name": "张掖" + }, { + "id": 325, + "spell": "zhanjiang", + "name": "湛江" + }, { + "id": 326, + "spell": "zhaoqing", + "name": "肇庆" + }, { + "id": 327, + "spell": "zhaotong", + "name": "昭通" + }, { + "id": 328, + "spell": "zhenjiang", + "name": "镇江" + }, { + "id": 329, + "spell": "zhongwei", + "name": "中卫" + }, { + "id": 330, + "spell": "zhoukou", + "name": "周口" + }, { + "id": 331, + "spell": "zhoushan", + "name": "舟山" + }, { + "id": 332, + "spell": "zhumadian", + "name": "驻马店" + }, { + "id": 333, + "spell": "zhuzhou", + "name": "株洲" + }, { + "id": 334, + "spell": "zibo", + "name": "淄博" + }, { + "id": 335, + "spell": "zigong", + "name": "自贡" + }, { + "id": 336, + "spell": "ziyang", + "name": "资阳" + }, { + "id": 337, + "spell": "zunyi", + "name": "遵义" + }, { + "id": 929, + "spell": "zanhuang", + "name": "赞皇" + }, { + "id": 930, + "spell": "zengcheng", + "name": "增城" + }, { + "id": 931, + "spell": "zhangjiagang", + "name": "张家港" + }, { + "id": 932, + "spell": "zhangping", + "name": "漳平" + }, { + "id": 933, + "spell": "zhangpu", + "name": "漳浦" + }, { + "id": 934, + "spell": "zhangqiu", + "name": "章丘" + }, { + "id": 935, + "spell": "zhangshu", + "name": "樟树" + }, { + "id": 936, + "spell": "zhanhua", + "name": "沾化" + }, { + "id": 937, + "spell": "zhaoxian", + "name": "赵县" + }, { + "id": 938, + "spell": "zhaoyuan", + "name": "招远" + }, { + "id": 939, + "spell": "zhengding", + "name": "正定" + }, { + "id": 940, + "spell": "zhenghe", + "name": "政和" + }, { + "id": 941, + "spell": "zherong", + "name": "柘荣" + }, { + "id": 942, + "spell": "zhongmou", + "name": "中牟" + }, { + "id": 943, + "spell": "zhongxian", + "name": "忠县" + }, { + "id": 944, + "spell": "zhouning", + "name": "周宁" + }, { + "id": 945, + "spell": "zhouzhi", + "name": "周至" + }, { + "id": 946, + "spell": "zhuanghe", + "name": "庄河" + }, { + "id": 947, + "spell": "zhucheng", + "name": "诸城" + }, { + "id": 948, + "spell": "zhuji", + "name": "诸暨" + }, { + "id": 949, + "spell": "zijin", + "name": "紫金" + }, { + "id": 950, + "spell": "zixi", + "name": "资溪" + }, { + "id": 951, + "spell": "zoucheng", + "name": "邹城" + }, { + "id": 952, + "spell": "zouping", + "name": "邹平" + }, { + "id": 953, + "spell": "zunhua", + "name": "遵化" + }] + } +} diff --git a/address/selectCity.vue b/address/selectCity.vue new file mode 100644 index 0000000..e30604b --- /dev/null +++ b/address/selectCity.vue @@ -0,0 +1,488 @@ + + + + + diff --git a/address/selectShippingAddress.vue b/address/selectShippingAddress.vue new file mode 100644 index 0000000..d85fb40 --- /dev/null +++ b/address/selectShippingAddress.vue @@ -0,0 +1,867 @@ + + + + + + +. \ No newline at end of file diff --git a/address/umask.vue b/address/umask.vue new file mode 100644 index 0000000..19f1e54 --- /dev/null +++ b/address/umask.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/components/bw-swiper/bw-swiper.vue b/components/bw-swiper/bw-swiper.vue deleted file mode 100644 index d7b9263..0000000 --- a/components/bw-swiper/bw-swiper.vue +++ /dev/null @@ -1,369 +0,0 @@ - - - - - diff --git a/components/cwx-keyboard/cwx-keyboard.vue b/components/cwx-keyboard/cwx-keyboard.vue deleted file mode 100644 index e5a5d77..0000000 --- a/components/cwx-keyboard/cwx-keyboard.vue +++ /dev/null @@ -1,267 +0,0 @@ - - - - - diff --git a/components/payment-box.vue b/components/payment-box.vue index d84e137..8fa7b6d 100644 --- a/components/payment-box.vue +++ b/components/payment-box.vue @@ -1,773 +1,872 @@ diff --git a/components/ss-select-city/citys.js b/components/ss-select-city/citys.js deleted file mode 100644 index c22f2f3..0000000 --- a/components/ss-select-city/citys.js +++ /dev/null @@ -1,184 +0,0 @@ -const citys = [ - { - "letter": "A", - "list": [ - "安远","安义","安溪","安丘","安宁","安吉","安福","阿城","安阳","安顺","鞍山","安庆","安康","阿里", - "阿勒泰","阿拉善盟","阿克苏","阿坝" - ] - }, - { - "letter": "B", - "list": [ - "北京","博兴","博罗","博爱","璧山","宾阳","宾县","滨海","巴彦","宝应","亳州","博尔塔拉","滨州","毕节", - "本溪","北海","巴中","巴音郭楞","巴彦淖尔","包头","保山","宝鸡","保定","蚌埠","白银","白山","百色","白城" - ] - }, - { - "letter": "C", - "list": [ - "成都","常州","长沙","长春","重庆","朝阳","巢湖","长治","昌吉","昌都","常德","沧州","郴州","承德","潮州", - "滁州","楚雄","崇左","池州","赤峰","枞阳","从化","慈溪","淳安","崇州","崇义","崇仁","茌平","成武","城口", - "呈贡","潮安","昌邑","长兴","长汀","长泰","常熟","常山","昌乐","长乐","长海","长丰","长岛","曹县","苍山", - "苍南" - ] - }, - { - "letter": "D", - "list": [ - "丹东","大理","东莞","大连","大兴安岭","大同","大庆","德州","德阳","德宏","达州","大丰","东营","迪庆", - "定西","单县","当涂","砀山","岱山","大邑","大田","大埔","丹阳","德化","德安","大足","大余","德庆","德清", - "登封","德惠","定南","垫江","电白","德兴","东海","东阿","定远","定陶","东台","东山","东平","东明","东源", - "东阳","东乡","洞头","都江堰","都昌","东至" - ] - }, - { - "letter": "E", - "list": [ - "鄂尔多斯","恩施","恩平","鄂州" - ] - }, - { - "letter": "F", - "list": [ - "佛山","福州","防城港","抚顺","阜新","阜阳","抚州","法库","富阳","福清","阜宁","阜南","富民","浮梁","福鼎", - "福安","佛冈","分宜","凤阳","奉新","丰县","凤台","丰顺","封开","奉节","奉化","丰都","丰城","费县","肥西", - "肥东","肥城","方正","繁昌" - ] - }, - { - "letter": "G", - "list": [ - "广州","贵阳","甘南","赣州","甘孜","广安","广元","贵港","桂林","果洛","固原","赣县","赣榆","高安","固镇", - "古田","贵溪","灌云","冠县","灌南","光泽","广饶","广宁","广丰","广德","广昌","巩义","高州","高邮","高邑", - "高要","高唐","高青","高密","高陵","皋兰","高淳","藁城" - ] - }, - { - "letter": "H", - "list": [ - "杭州","哈尔滨","邯郸","海口","黑河","合肥","鹤岗","河池","鹤壁","汉中","哈密","海西","海南","海东","海北", - "惠州","呼伦贝尔","葫芦岛","呼和浩特","黄石","黄山","黄南","黄冈","淮南","怀化","淮北","淮安","红河","贺州", - "菏泽","河源","和田地","衡阳","衡水","怀远","怀宁","怀集","桦甸","华安","洪泽","和县","鹤山","和平","横县", - "横峰","合川","含山","海阳","海盐","海宁","海门","海丰","海安","湖州","户县","霍山","霍邱","呼兰","湖口", - "惠民","惠来","惠东","会昌","惠安","化州","桓台" - ] - }, - { - "letter": "J", - "list": [ - "鸡西","酒泉","九江","锦州","晋中","济宁","金华","荆州","荆门","景德镇","晋城","金昌","揭阳","嘉峪关","吉安", - "江门","佳木斯","济南","吉林","嘉兴","焦作","井冈山","旌德","靖安","即墨","揭西","界首","揭东","嘉祥","嘉善", - "胶州","胶南","蕉岭","蛟河","吉安","建阳","建瓯","建宁","建湖","江阴","姜堰","江山","将乐","江津","江都","建德", - "九台","九江","吉水","晋州","金寨","缙云","金乡","金溪","进贤","金堂","金坛","晋宁","金门","晋江","金湖","井陉", - "泾县","景宁","靖江","巨野","莒县","句容","莒南","鄄城","济源","济阳","绩溪" - ] - }, - { - "letter": "K", - "list": [ - "昆明","开封","喀什地","克拉玛依","克孜勒","开化","开平","开县","开阳","康平","垦利","昆山" - ] - }, - { - "letter": "L", - "list": [ - "连云港","凉山","乐山","拉萨","廊坊","莱芜","来宾","洛阳","柳州","兰州","六盘水","六安","丽水","林芝","临沂","临夏", - "临汾","临沧","丽江","辽源","辽阳","聊城","乐亭","乐清","乐平","乐陵","雷州","乐昌","乐安","兰溪","蓝田","郎溪", - "莱州","莱阳","莱西","来安","吕梁","泸州","漯河","娄底","龙岩","陇南","临邑","临沭","临朐","临泉","临清","临海", - "陵县","灵寿","灵璧","临安","利津","黎川","辽中","连州","涟水","连山","连平","连南","廉江","连江","莲花","梁山", - "梁平","连城","鹿寨","芦溪","禄劝","鹿泉","罗源","洛宁","罗定","庐江","陆河","陆丰","滦县","滦南","栾川","栾城", - "龙游","龙泉","龙南","龙门","龙口","龙海","龙川","隆安","溧阳","利辛","浏阳","柳江","柳城","溧水" - ] - }, - { - "letter": "M", - "list": [ - "马鞍山","茂名","眉山","梅州","绵阳","牡丹江","马山","梅县","蒙城","孟津","蒙阴","孟州","明光","明溪","闽侯","闽清", - "木兰" - ] - }, - { - "letter": "N", - "list": [ - "南昌","南京","南宁","南通","宁波","南充","南平","南阳","那曲","内江","宁德","怒江","南安","南澳","南城","南川","南丰", - "南靖","南康","南陵","南雄","宁都","宁国","宁海","宁化","宁津","宁乡","宁阳","农安" - ] - }, - { - "letter": "P", - "list": [ - "盘锦","攀枝花","平顶山","平凉","萍乡","普洱","莆田","濮阳","磐安","磐石","沛县","蓬莱","彭水","彭泽","彭州","平度", - "平和","平湖","屏南","平山","平潭","平阳","平阴","平邑","平原","平远","郫县","邳州","鄱阳","浦城","浦江","蒲江","普兰店", - "普宁" - ] - }, - { - "letter": "Q", - "list": [ - "青岛","泉州","黔东","黔南","黔西南","庆阳","清远","秦皇岛","钦州","齐齐哈尔","七台河","曲靖","衢州","迁安","潜山","铅山", - "迁西","启东","齐河","綦江","祁门","清流","青田","清新","青阳","庆元","庆云","清镇","青州","沁阳","邛崃","栖霞","全椒", - "曲江","曲阜","全南" - ] - }, - { - "letter": "R", - "list": [ - "日喀则","日照","饶平","仁化","融安","荣昌","荣成","融水","如东","如皋","瑞安","瑞昌","瑞金","乳山","汝阳","乳源" - ] - }, - { - "letter": "S", - "list": [ - "上海","沈阳","深圳","石家庄","苏州","三门峡","三明","三亚","商丘","商洛","上饶","汕尾","汕头","绍兴","韶关","山南","邵阳", - "十堰","双鸭山","石嘴山","绥化","松原","四平","朔州","泗阳","泗县","泗水","四会","泗洪","沭阳","顺昌","舒兰","舒城","双流", - "双城","寿县","寿宁","寿光","石柱","始兴","石台","石狮","石林","石城","射阳","歙县","深泽","莘县","嵊州","嵊泗","沙县","绍兴", - "邵武","尚志","上虞","上犹","上饶","上林","上栗","商河","上杭","上高","诏安","三门","三江","松阳","嵩县","松溪","嵩明","宿州", - "宿迁","随州","遂宁","宿松","遂溪","濉溪","睢宁","遂川","遂昌","宿豫" - ] - }, - { - "letter": "T", - "list": [ - "天津","台州","唐山","塔城地","泰安","太原","泰州","天水","铁岭","铜川","通化","通辽","铜陵","铜仁", "通州","桐乡","铜山","潼南", - "桐庐","铜陵","铜梁","通河","铜鼓","桐城","天台","天长","滕州","唐海","郯城","泰兴","泰顺","台山","泰宁","太湖","泰和","太和","太仓", - "吐鲁番" - ] - }, - { - "letter": "W", - "list": [ - "潍坊","威海","武汉","无锡","渭南","文山","温州","乌海","芜湖","乌兰察布","乌鲁木齐","武威","吴忠","武陟","婺源","武夷山","武义","巫溪", - "无为","巫山","武平","武宁","武鸣","武隆","五莲","吴江","无极","五华","芜湖","五河","无棣","吴川","武城","五常","涡阳","温县","汶上", - "温岭","翁源","文登","文成","微山","万载","万年","望江","望城","万安","瓦房店","梧州" - ] - }, - { - "letter": "X", - "list": [ - "厦门","西安","许昌","徐州","襄樊","湘潭","湘西","咸宁","咸阳","孝感","锡林郭勒盟","兴安盟","邢台","西宁","新乡","信阳","新余","忻州", - "西双版纳","宣城","峡江","夏津","象山","响水","仙居","仙游","萧县","霞浦","息烽","新安","新昌","信丰","新丰","新干","兴国","兴化","兴宁", - "行唐","荥阳","星子","辛集","新建","新津","新乐","新民","新密","新泰","新兴","新沂","信宜","新郑","休宁","秀山","修水","修文","修武", - "寻甸","盱眙","徐闻","寻乌" - ] - }, - { - "letter": "Y", - "list": [ - "扬州","烟台","雅安","延安","延边","盐城","阳江","阳泉","宜宾","宜昌","伊春","宜春","伊犁哈萨克","银川","营口","鹰潭","益阳","永州","岳阳", - "玉林","榆林","运城","云浮","玉树","玉溪","阳春","阳东","阳谷","阳山","阳信","阳西","扬中","偃师","延寿","兖州","伊川","宜丰","宜黄","依兰", - "宜良","沂南","英德","颍上","沂水","义乌","黟县","宜兴","弋阳","宜阳","沂源","仪征","永安","永川","永春","永登","永定","永丰","永吉","永嘉", - "永康","邕宁","永泰","永新","永修","尤溪","酉阳","元氏","禹城","于都","岳西","余干","玉环","余江","郁南","云安","郓城","云和","云霄","云阳", - "玉山","榆树","鱼台","玉田","余姚","榆中" - ] - }, - { - "letter": "Z", - "list": [ - "漳州","遵化","郑州","中山","珠海","枣庄","张家界","张家口","张掖","湛江","肇庆","昭通","镇江","中卫","周口","舟山","驻马店","株洲","淄博", - "自贡","资阳","遵义","赞皇","增城","张家港","漳平","漳浦","章丘","樟树","沾化","赵县","招远","正定","政和","柘荣","中牟","忠县","周宁", - "周至","庄河","诸城","诸暨","紫金","资溪","邹城","邹平" - ] - } -] - -export default citys \ No newline at end of file diff --git a/components/ss-select-city/ss-select-city.vue b/components/ss-select-city/ss-select-city.vue deleted file mode 100644 index bc0a03f..0000000 --- a/components/ss-select-city/ss-select-city.vue +++ /dev/null @@ -1,150 +0,0 @@ - - - - diff --git a/components/uni-nav-bar/uni-nav-bar.vue b/components/uni-nav-bar/uni-nav-bar.vue index 90e4ffa..6f2e56a 100644 --- a/components/uni-nav-bar/uni-nav-bar.vue +++ b/components/uni-nav-bar/uni-nav-bar.vue @@ -1,349 +1,388 @@ diff --git a/hall/purchase/receive.vue b/hall/purchase/receive.vue index c4e8c80..dfaf523 100644 --- a/hall/purchase/receive.vue +++ b/hall/purchase/receive.vue @@ -1,713 +1,859 @@ diff --git a/helpers/GeoUtils.js b/helpers/GeoUtils.js new file mode 100644 index 0000000..62eb300 --- /dev/null +++ b/helpers/GeoUtils.js @@ -0,0 +1,505 @@ +/** +* @fileoverview GeoUtils类提供若干几何算法,用来帮助用户判断点与矩形、 +* 圆形、多边形线、多边形面的关系,并提供计算折线长度和多边形的面积的公式。 +* 主入口类是GeoUtils, +* 基于Baidu Map API 1.2。 +* +* @author Baidu Map Api Group +* @version 1.2 +*/ + +//BMapLib.GeoUtils.degreeToRad(Number) +//将度转化为弧度 + +//BMapLib.GeoUtils.getDistance(Point, Point) +//计算两点之间的距离,两点坐标必须为经纬度 + +//BMapLib.GeoUtils.getPolygonArea(polygon) +//计算多边形面或点数组构建图形的面积,注意:坐标类型只能是经纬度,且不适合计算自相交多边形的面积(封闭的面积) + +//BMapLib.GeoUtils.getPolylineDistance(polyline) +//计算折线或者点数组的长度 + +//BMapLib.GeoUtils.isPointInCircle(point, circle) +//判断点是否在圆形内 + +//BMapLib.GeoUtils.isPointInPolygon(point, polygon) +//判断点是否多边形内 + +//BMapLib.GeoUtils.isPointInRect(point, bounds) +//判断点是否在矩形内 + +//BMapLib.GeoUtils.isPointOnPolyline(point, polyline) +//判断点是否在折线上 + +//BMapLib.GeoUtils.radToDegree(Number) +//将弧度转化为度 + +function getCenterPoint(path) +{ + //var path = e.;//Array 返回多边型的点数组 + //var ret=parseFloat(num1)+parseFloat(num2); + var x = 0.0; + var y = 0.0; + for(var i=0;i入口。 +* 该类提供的都是静态方法,勿需实例化即可使用。 +*/ + BMapLib.GeoUtils = function () { + } + +/** +* 判断点是否在矩形内 +* @param {Point} point 点对象 +* @param {Bounds} bounds 矩形边界对象 +* @returns {Boolean} 点在矩形内返回true,否则返回false +*/ +GeoUtils.isPointInRect = function (point, bounds) { + //检查类型是否正确 + if (!(point instanceof BMap.Point) || + !(bounds instanceof BMap.Bounds)) { + return false; + } + var sw = bounds.getSouthWest(); //西南脚点 + var ne = bounds.getNorthEast(); //东北脚点 + return (point.lng >= sw.lng && point.lng <= ne.lng && point.lat >= sw.lat && point.lat <= ne.lat); +} + +/** +* 判断点是否在圆形内 +* @param {Point} point 点对象 +* @param {Circle} circle 圆形对象 +* @returns {Boolean} 点在圆形内返回true,否则返回false +*/ +GeoUtils.isPointInCircle = function (point, circle) { + //检查类型是否正确 + if (!(point instanceof BMap.Point) || + !(circle instanceof BMap.Circle)) { + return false; + } + + //point与圆心距离小于圆形半径,则点在圆内,否则在圆外 + var c = circle.getCenter(); + var r = circle.getRadius(); + + var dis = GeoUtils.getDistance(point, c); + if (dis <= r) { + return true; + } else { + return false; + } +} + +/** +* 判断点是否在折线上 +* @param {Point} point 点对象 +* @param {Polyline} polyline 折线对象 +* @returns {Boolean} 点在折线上返回true,否则返回false +*/ +GeoUtils.isPointOnPolyline = function (point, polyline) { + //检查类型 + if (!(point instanceof BMap.Point) || + !(polyline instanceof BMap.Polyline)) { + return false; + } + + //首先判断点是否在线的外包矩形内,如果在,则进一步判断,否则返回false + var lineBounds = polyline.getBounds(); + if (!this.isPointInRect(point, lineBounds)) { + return false; + } + + //判断点是否在线段上,设点为Q,线段为P1P2 , + //判断点Q在该线段上的依据是:( Q - P1 ) × ( P2 - P1 ) = 0,且 Q 在以 P1,P2为对角顶点的矩形内 + var pts = polyline.getPath(); + for (var i = 0; i < pts.length - 1; i++) { + var curPt = pts[i]; + var nextPt = pts[i + 1]; + //首先判断point是否在curPt和nextPt之间,即:此判断该点是否在该线段的外包矩形内 + if (point.lng >= Math.min(curPt.lng, nextPt.lng) && point.lng <= Math.max(curPt.lng, nextPt.lng) && + point.lat >= Math.min(curPt.lat, nextPt.lat) && point.lat <= Math.max(curPt.lat, nextPt.lat)) { + //判断点是否在直线上公式 + var precision = (curPt.lng - point.lng) * (nextPt.lat - point.lat) - (nextPt.lng - point.lng) * (curPt.lat - point.lat); + if (precision < 2e-10 && precision > -2e-10) {//实质判断是否接近0 + return true; + } + } + } + return false; +} + +/** +* 判断点是否多边形内 +* @param {Point} point 点对象 +* @param {Polyline} polygon 多边形对象 +* @returns {Boolean} 点在多边形内返回true,否则返回false +*/ +GeoUtils.isPointInPolygon = function (point, polygon) { + //检查类型 + if (!(point instanceof BMap.Point) || + !(polygon instanceof BMap.Polygon)) { + return false; + } + + //首先判断点是否在多边形的外包矩形内,如果在,则进一步判断,否则返回false + var polygonBounds = polygon.getBounds(); + if (!this.isPointInRect(point, polygonBounds)) { + return false; + } + + var pts = polygon.getPath(); //获取多边形点 + + //下述代码来源:http://paulbourke.net/geometry/insidepoly/,进行了部分修改 + //基本思想是利用射线法,计算射线与多边形各边的交点,如果是偶数,则点在多边形外,否则 + //在多边形内。还会考虑一些特殊情况,如点在多边形顶点上,点在多边形边上等特殊情况。 + + var N = pts.length; + var boundOrVertex = true; //如果点位于多边形的顶点或边上,也算做点在多边形内,直接返回true + var intersectCount = 0; //cross points count of x + var precision = 2e-10; //浮点类型计算时候与0比较时候的容差 + var p1, p2; //neighbour bound vertices + var p = point; //测试点 + + p1 = pts[0]; //left vertex + for (var i = 1; i <= N; ++i) {//check all rays + if (p.equals(p1)) { + return boundOrVertex; //p is an vertex + } + + p2 = pts[i % N]; //right vertex + if (p.lat < Math.min(p1.lat, p2.lat) || p.lat > Math.max(p1.lat, p2.lat)) {//ray is outside of our interests + p1 = p2; + continue; //next ray left point + } + if (p.lat > Math.min(p1.lat, p2.lat) && p.lat < Math.max(p1.lat, p2.lat)) {//ray is crossing over by the algorithm (common part of) + if (p.lng <= Math.max(p1.lng, p2.lng)) {//x is before of ray + if (p1.lat == p2.lat && p.lng >= Math.min(p1.lng, p2.lng)) {//overlies on a horizontal ray + return boundOrVertex; + } + + if (p1.lng == p2.lng) {//ray is vertical + + + if (p1.lng == p.lng) {//overlies on a vertical ray + return boundOrVertex; + } else {//before ray + ++intersectCount; + } + } else {//cross point on the left side + + + var xinters = (p.lat - p1.lat) * (p2.lng - p1.lng) / (p2.lat - p1.lat) + p1.lng; //cross point of lng + + + if (Math.abs(p.lng - xinters) < precision) {//overlies on a ray + return boundOrVertex; + } + + if (p.lng < xinters) {//before ray + ++intersectCount; + } + } + } + } else {//special case when ray is crossing through the vertex + if (p.lat == p2.lat && p.lng <= p2.lng) {//p crossing over p2 + var p3 = pts[(i + 1) % N]; //next vertex + + + if (p.lat >= Math.min(p1.lat, p3.lat) && p.lat <= Math.max(p1.lat, p3.lat)) {//p.lat lies between p1.lat & p3.lat + ++intersectCount; + } else { + intersectCount += 2; + } + } + } + p1 = p2; //next ray left point + } + + if (intersectCount % 2 == 0) {//偶数在多边形外 + return false; + } else { //奇数在多边形内 + return true; + } +} + +/** +* 将度转化为弧度 +* @param {degree} Number 度 +* @returns {Number} 弧度 +*/ +GeoUtils.degreeToRad = function (degree) { + return Math.PI * degree / 180; +} + +/** +* 将弧度转化为度 +* @param {radian} Number 弧度 +* @returns {Number} 度 +*/ +GeoUtils.radToDegree = function (rad) { + return (180 * rad) / Math.PI; +} + +/** +* 将v值限定在a,b之间,纬度使用 +*/ +function _getRange(v, a, b) { + if (a != null) { + v = Math.max(v, a); + } + if (b != null) { + v = Math.min(v, b); + } + return v; +} + +/** +* 将v值限定在a,b之间,经度使用 +*/ +function _getLoop(v, a, b) { + while (v > b) { + v -= b - a + } + while (v < a) { + v += b - a + } + return v; +} + +/** +* 计算两点之间的距离,两点坐标必须为经纬度 +* @param {point1} Point 点对象 +* @param {point2} Point 点对象 +* @returns {Number} 两点之间距离,单位为米 +*/ +GeoUtils.getDistance = function (point1, point2) { + //判断类型 + // debugger; + // if (!(point1 instanceof BMap.Point) || + // !(point2 instanceof BMap.Point)) { + // return 0; + // } + + point1.lng = _getLoop(point1.lng, -180, 180); + point1.lat = _getRange(point1.lat, -74, 74); + point2.lng = _getLoop(point2.lng, -180, 180); + point2.lat = _getRange(point2.lat, -74, 74); + + var x1, x2, y1, y2; + x1 = GeoUtils.degreeToRad(point1.lng); + y1 = GeoUtils.degreeToRad(point1.lat); + x2 = GeoUtils.degreeToRad(point2.lng); + y2 = GeoUtils.degreeToRad(point2.lat); + + return EARTHRADIUS * Math.acos((Math.sin(y1) * Math.sin(y2) + Math.cos(y1) * Math.cos(y2) * Math.cos(x2 - x1))); +} + +/** +* 计算折线或者点数组的长度 +* @param {Polyline|Array} polyline 折线对象或者点数组 +* @returns {Number} 折线或点数组对应的长度 +*/ +GeoUtils.getPolylineDistance = function (polyline) { + //检查类型 + if (polyline instanceof BMap.Polyline || + polyline instanceof Array) { + //将polyline统一为数组 + var pts; + if (polyline instanceof BMap.Polyline) { + pts = polyline.getPath(); + } else { + pts = polyline; + } + + if (pts.length < 2) {//小于2个点,返回0 + return 0; + } + + //遍历所有线段将其相加,计算整条线段的长度 + var totalDis = 0; + for (var i = 0; i < pts.length - 1; i++) { + var curPt = pts[i]; + var nextPt = pts[i + 1] + var dis = GeoUtils.getDistance(curPt, nextPt); + totalDis += dis; + } + + return totalDis; + + } else { + return 0; + } +} + +/** +* 计算多边形面或点数组构建图形的面积,注意:坐标类型只能是经纬 + +度,且不适合计算自相交多边形的面积 +* @param {Polygon|Array} polygon 多边形面对象或者点数 + +组 +* @returns {Number} 多边形面或点数组构成图形的面积 +*/ +GeoUtils.getPolygonArea = function (polygon) { + //检查类型 + if (!(polygon instanceof BMap.Polygon) && + !(polygon instanceof Array)) { + return 0; + } + var pts; + if (polygon instanceof BMap.Polygon) { + pts = polygon.getPath(); + } else { + pts = polygon; + } + + if (pts.length < 3) {//小于3个顶点,不能构建面 + return 0; + } + + var totalArea = 0; //初始化总面积 + var LowX = 0.0; + var LowY = 0.0; + var MiddleX = 0.0; + var MiddleY = 0.0; + var HighX = 0.0; + var HighY = 0.0; + var AM = 0.0; + var BM = 0.0; + var CM = 0.0; + var AL = 0.0; + var BL = 0.0; + var CL = 0.0; + var AH = 0.0; + var BH = 0.0; + var CH = 0.0; + var CoefficientL = 0.0; + var CoefficientH = 0.0; + var ALtangent = 0.0; + var BLtangent = 0.0; + var CLtangent = 0.0; + var AHtangent = 0.0; + var BHtangent = 0.0; + var CHtangent = 0.0; + var ANormalLine = 0.0; + var BNormalLine = 0.0; + var CNormalLine = 0.0; + var OrientationValue = 0.0; + var AngleCos = 0.0; + var Sum1 = 0.0; + var Sum2 = 0.0; + var Count2 = 0; + var Count1 = 0; + var Sum = 0.0; + var Radius = EARTHRADIUS; //6378137.0,WGS84椭球半径 + var Count = pts.length; + for (var i = 0; i < Count; i++) { + if (i == 0) { + LowX = pts[Count - 1].lng * Math.PI / 180; + LowY = pts[Count - 1].lat * Math.PI / 180; + MiddleX = pts[0].lng * Math.PI / 180; + MiddleY = pts[0].lat * Math.PI / 180; + HighX = pts[1].lng * Math.PI / 180; + HighY = pts[1].lat * Math.PI / 180; + } + else if (i == Count - 1) { + LowX = pts[Count - 2].lng * Math.PI / 180; + LowY = pts[Count - 2].lat * Math.PI / 180; + MiddleX = pts[Count - 1].lng * Math.PI / 180; + MiddleY = pts[Count - 1].lat * Math.PI / 180; + HighX = pts[0].lng * Math.PI / 180; + HighY = pts[0].lat * Math.PI / 180; + } + else { + LowX = pts[i - 1].lng * Math.PI / 180; + LowY = pts[i - 1].lat * Math.PI / 180; + MiddleX = pts[i].lng * Math.PI / 180; + MiddleY = pts[i].lat * Math.PI / 180; + HighX = pts[i + 1].lng * Math.PI / 180; + HighY = pts[i + 1].lat * Math.PI / 180; + } + AM = Math.cos(MiddleY) * Math.cos(MiddleX); + BM = Math.cos(MiddleY) * Math.sin(MiddleX); + CM = Math.sin(MiddleY); + AL = Math.cos(LowY) * Math.cos(LowX); + BL = Math.cos(LowY) * Math.sin(LowX); + CL = Math.sin(LowY); + AH = Math.cos(HighY) * Math.cos(HighX); + BH = Math.cos(HighY) * Math.sin(HighX); + CH = Math.sin(HighY); + CoefficientL = (AM * AM + BM * BM + CM * CM) / (AM * AL + BM * BL + CM * CL); + CoefficientH = (AM * AM + BM * BM + CM * CM) / (AM * AH + BM * BH + CM * CH); + ALtangent = CoefficientL * AL - AM; + BLtangent = CoefficientL * BL - BM; + CLtangent = CoefficientL * CL - CM; + AHtangent = CoefficientH * AH - AM; + BHtangent = CoefficientH * BH - BM; + CHtangent = CoefficientH * CH - CM; + AngleCos = (AHtangent * ALtangent + BHtangent * BLtangent + CHtangent * CLtangent) / (Math.sqrt(AHtangent * AHtangent + BHtangent * BHtangent + CHtangent * CHtangent) * Math.sqrt(ALtangent * ALtangent + BLtangent * BLtangent + CLtangent * CLtangent)); + AngleCos = Math.acos(AngleCos); + ANormalLine = BHtangent * CLtangent - CHtangent * BLtangent; + BNormalLine = 0 - (AHtangent * CLtangent - CHtangent * ALtangent); + CNormalLine = AHtangent * BLtangent - BHtangent * ALtangent; + if (AM != 0) + OrientationValue = ANormalLine / AM; + else if (BM != 0) + OrientationValue = BNormalLine / BM; + else + OrientationValue = CNormalLine / CM; + if (OrientationValue > 0) { + Sum1 += AngleCos; + Count1++; + } + else { + Sum2 += AngleCos; + Count2++; + } + } + var tempSum1, tempSum2; + tempSum1 = Sum1 + (2 * Math.PI * Count2 - Sum2); + tempSum2 = (2 * Math.PI * Count1 - Sum1) + Sum2; + if (Sum1 > Sum2) { + if ((tempSum1 - (Count - 2) * Math.PI) < 1) + Sum = tempSum1; + else + Sum = tempSum2; + } + else { + if ((tempSum2 - (Count - 2) * Math.PI) < 1) + Sum = tempSum2; + else + Sum = tempSum1; + } + totalArea = (Sum - (Count - 2) * Math.PI) * Radius * Radius; + return totalArea; //返回总面积 +} + +})(); //闭包结束 + +export default BMapLib \ No newline at end of file diff --git a/index.html b/index.html index 31a52b2..7c4396a 100644 --- a/index.html +++ b/index.html @@ -59,6 +59,7 @@ document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px' }) + diff --git a/libs/bmap-wx.js b/libs/bmap-wx.js new file mode 100644 index 0000000..63d33b1 --- /dev/null +++ b/libs/bmap-wx.js @@ -0,0 +1,455 @@ +/** + * @file 微信小程序JSAPI + * @author 崔健 cuijian03@baidu.com 2017.01.10 + * @update 邓淑芳 623996689@qq.com 2019.07.03 + */ + +/** + * 百度地图微信小程序API类 + * + * @class + */ +class BMapWX { + + /** + * 百度地图微信小程序API类 + * + * @constructor + */ + constructor(param) { + this.ak = param["ak"]; + } + + /** + * 使用微信接口进行定位 + * + * @param {string} type 坐标类型 + * @param {Function} success 成功执行 + * @param {Function} fail 失败执行 + * @param {Function} complete 完成后执行 + */ + getWXLocation(type, success, fail, complete) { + type = type || 'gcj02', + success = success || function () { }; + fail = fail || function () { }; + complete = complete || function () { }; + wx.getLocation({ + type: type, + success: success, + fail: fail, + complete: complete + }); + } + + /** + * POI周边检索 + * + * @param {Object} param 检索配置 + * 参数对象结构可以参考 + * http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-placeapi + */ + search(param) { + var that = this; + param = param || {}; + let searchparam = { + query: param["query"] || '生活服务$美食&酒店', + scope: param["scope"] || 1, + filter: param["filter"] || '', + coord_type: param["coord_type"] || 2, + page_size: param["page_size"] || 10, + page_num: param["page_num"] || 0, + output: param["output"] || 'json', + ak: that.ak, + sn: param["sn"] || '', + timestamp: param["timestamp"] || '', + radius: param["radius"] || 2000, + ret_coordtype: 'gcj02ll' + }; + let otherparam = { + iconPath: param["iconPath"], + iconTapPath: param["iconTapPath"], + width: param["width"], + height: param["height"], + alpha: param["alpha"] || 1, + success: param["success"] || function () { }, + fail: param["fail"] || function () { } + }; + let type = 'gcj02'; + let locationsuccess = function (result) { + searchparam["location"] = result["latitude"] + ',' + result["longitude"]; + wx.request({ + url: 'https://api.map.baidu.com/place/v2/search', + data: searchparam, + header: { + "content-type": "application/json" + }, + method: 'GET', + success(data) { + let res = data["data"]; + if (res["status"] === 0) { + let poiArr = res["results"]; + // outputRes 包含两个对象, + // originalData为百度接口返回的原始数据 + // wxMarkerData为小程序规范的marker格式 + let outputRes = {}; + outputRes["originalData"] = res; + outputRes["wxMarkerData"] = []; + for (let i = 0; i < poiArr.length; i++) { + outputRes["wxMarkerData"][i] = { + id: i, + latitude: poiArr[i]["location"]["lat"], + longitude: poiArr[i]["location"]["lng"], + title: poiArr[i]["name"], + iconPath: otherparam["iconPath"], + iconTapPath: otherparam["iconTapPath"], + address: poiArr[i]["address"], + telephone: poiArr[i]["telephone"], + alpha: otherparam["alpha"], + width: otherparam["width"], + height: otherparam["height"] + } + } + otherparam.success(outputRes); + } else { + otherparam.fail({ + errMsg: res["message"], + statusCode: res["status"] + }); + } + }, + fail(data) { + otherparam.fail(data); + } + }); + } + let locationfail = function (result) { + otherparam.fail(result); + }; + let locationcomplete = function (result) { + }; + if (!param["location"]) { + that.getWXLocation(type, locationsuccess, locationfail, locationcomplete); + } else { + let longitude = param.location.split(',')[1]; + let latitude = param.location.split(',')[0]; + let errMsg = 'input location'; + let res = { + errMsg: errMsg, + latitude: latitude, + longitude: longitude + }; + locationsuccess(res); + } + } + + /** + * sug模糊检索 + * + * @param {Object} param 检索配置 + * 参数对象结构可以参考 + * http://lbsyun.baidu.com/index.php?title=webapi/place-suggestion-api + */ + suggestion(param) { + var that = this; + param = param || {}; + let suggestionparam = { + query: param["query"] || '', + region: param["region"] || '全国', + city_limit: param["city_limit"] || false, + output: param["output"] || 'json', + ak: that.ak, + sn: param["sn"] || '', + timestamp: param["timestamp"] || '', + ret_coordtype: 'gcj02ll' + }; + let otherparam = { + success: param["success"] || function () { }, + fail: param["fail"] || function () { } + }; + wx.request({ + url: 'https://api.map.baidu.com/place/v2/suggestion', + data: suggestionparam, + header: { + "content-type": "application/json" + }, + method: 'GET', + success(data) { + let res = data["data"]; + if (res["status"] === 0) { + otherparam.success(res); + } else { + otherparam.fail({ + errMsg: res["message"], + statusCode: res["status"] + }); + } + }, + fail(data) { + otherparam.fail(data); + } + }); + } + + /** + * rgc检索(逆地理编码:经纬度->地点描述) + * + * @param {Object} param 检索配置 + * 参数对象结构可以参考 + * https://lbs.baidu.com/index.php?title=webapi/guide/webservice-geocoding-abroad + * + */ + regeocoding (param) { + var that = this; + param = param || {}; + let regeocodingparam = { + coordtype: param["coordtype"] || 'gcj02ll', + ret_coordtype: param['ret_coordtype'] || 'gcj02ll', + radius: param["radius"] || 1000, + ak: that.ak, + sn: param["sn"] || '', + output: param["output"] || 'json', + callback: param["callback"] || function () { }, + extensions_poi: param["extensions_poi"] || 1, + extensions_road: param["extensions_road"] || false, + extensions_town: param["extensions_town"] || false, + language: param["language"] || 'zh-CN', + language_auto: param["language_auto"] || 0, + poi_types:param['poi_types'] || "美食|酒店|购物|休闲娱乐|教育培训|医疗|金融|房地产|政府机构|铁路" + }; + let otherparam = { + iconPath: param["iconPath"], + iconTapPath: param["iconTapPath"], + width: param["width"], + height: param["height"], + alpha: param["alpha"] || 1, + success: param["success"] || function () { }, + fail: param["fail"] || function () { } + }; + + + let type = 'gcj02'; + let locationsuccess = function (result) { + regeocodingparam["location"] = result["latitude"] + ',' + result["longitude"]; + wx.request({ + url: 'https://api.map.baidu.com/reverse_geocoding/v3', + data: regeocodingparam, + header: { + "content-type": "application/json" + }, + method: 'GET', + success(data) { + let res = data["data"]; + if (res["status"] === 0) { + let poiObj = res["result"]; + // outputRes 包含两个对象: + // originalData为百度接口返回的原始数据 + // wxMarkerData为小程序规范的marker格式 + let outputRes = {}; + outputRes["originalData"] = res; + outputRes["wxMarkerData"] = []; + outputRes["wxMarkerData"][0] = { + id: 0, + latitude: result["latitude"], + longitude: result["longitude"], + address: poiObj["formatted_address"], + iconPath: otherparam["iconPath"], + iconTapPath: otherparam["iconTapPath"], + desc: poiObj["sematic_description"], + business: poiObj["business"], + alpha: otherparam["alpha"], + width: otherparam["width"], + height: otherparam["height"] + } + otherparam.success(outputRes); + } else { + otherparam.fail({ + errMsg: res["message"], + statusCode: res["status"] + }); + } + }, + fail(data) { + otherparam.fail(data); + } + }); + }; + let locationfail = function (result) { + otherparam.fail(result); + } + let locationcomplete = function (result) { + }; + if (!param["location"]) { + that.getWXLocation(type, locationsuccess, locationfail, locationcomplete); + } else { + let longitude = param.location.split(',')[1]; + let latitude = param.location.split(',')[0]; + let errMsg = 'input location'; + let res = { + errMsg: errMsg, + latitude: latitude, + longitude: longitude + }; + locationsuccess(res); + } + } + + /** + * gc检索(地理编码:地点->经纬度) + * + * @param {Object} param 检索配置 + * 参数对象结构可以参考 + * https://lbs.baidu.com/index.php?title=webapi/guide/webservice-geocoding + * + */ + geocoding(param) { + var that = this; + param = param || {}; + let geocodingparam = { + address: param["address"] || '', + city: param["city"] || '', + ret_coordtype: param["coordtype"] || 'gcj02ll', + ak: that.ak, + sn: param["sn"] || '', + output: param["output"] || 'json', + callback: param["callback"] || function () { } + }; + let otherparam = { + iconPath: param["iconPath"], + iconTapPath: param["iconTapPath"], + width: param["width"], + height: param["height"], + alpha: param["alpha"] || 1, + success: param["success"] || function () { }, + fail: param["fail"] || function () { } + }; + if (param["address"]) { + wx.request({ + url: 'https://api.map.baidu.com/geocoding/v3', + data: geocodingparam, + header: { + "content-type": "application/json" + }, + method: 'GET', + success(data) { + let res = data["data"]; + if (res["status"] === 0){ + let poiObj = res["result"]; + // outputRes 包含两个对象: + // originalData为百度接口返回的原始数据 + // wxMarkerData为小程序规范的marker格式 + let outputRes = res; + outputRes["originalData"] = res; + outputRes["wxMarkerData"] = []; + outputRes["wxMarkerData"][0] = { + id: 0, + latitude: poiObj["location"]["lat"], + longitude: poiObj["location"]["lng"], + iconPath: otherparam["iconPath"], + iconTapPath: otherparam["iconTapPath"], + alpha: otherparam["alpha"], + width: otherparam["width"], + height: otherparam["height"] + } + otherparam.success(outputRes); + } else { + otherparam.fail({ + errMsg: res["message"], + statusCode: res["status"] + }); + } + }, + fail(data) { + otherparam.fail(data); + } + }); + } else { + let errMsg = 'input address!'; + let res = { + errMsg: errMsg + }; + otherparam.fail(res); + } + } + + /** + * 天气检索 + * + * @param {Object} param 检索配置 + */ + weather(param) { + var that = this; + param = param || {}; + let weatherparam = { + coord_type: param["coord_type"] || 'gcj02', + output: param["output"] || 'json', + ak: that.ak, + sn: param["sn"] || '', + timestamp: param["timestamp"] || '' + }; + let otherparam = { + success: param["success"] || function () { }, + fail: param["fail"] || function () { } + }; + let type = 'gcj02'; + let locationsuccess = function (result) { + weatherparam["location"] = result["longitude"] + ',' + result["latitude"]; + wx.request({ + url: 'https://api.map.baidu.com/telematics/v3/weather', + data: weatherparam, + header: { + "content-type": "application/json" + }, + method: 'GET', + success(data) { + let res = data["data"]; + if (res["error"] === 0 && res["status"] === 'success') { + let weatherArr = res["results"]; + // outputRes 包含两个对象, + // originalData为百度接口返回的原始数据 + // wxMarkerData为小程序规范的marker格式 + let outputRes = {}; + outputRes["originalData"] = res; + outputRes["currentWeather"] = []; + outputRes["currentWeather"][0] = { + currentCity: weatherArr[0]["currentCity"], + pm25: weatherArr[0]["pm25"], + date: weatherArr[0]["weather_data"][0]["date"], + temperature: weatherArr[0]["weather_data"][0]["temperature"], + weatherDesc: weatherArr[0]["weather_data"][0]["weather"], + wind: weatherArr[0]["weather_data"][0]["wind"] + }; + otherparam.success(outputRes); + } else { + otherparam.fail({ + errMsg: res["message"], + statusCode: res["status"] + }); + } + }, + fail(data) { + otherparam.fail(data); + } + }); + } + let locationfail = function (result) { + otherparam.fail(result); + } + let locationcomplete = function (result) { + } + if (!param["location"]) { + that.getWXLocation(type, locationsuccess, locationfail, locationcomplete); + } else { + let longitude = param.location.split(',')[0]; + let latitude = param.location.split(',')[1]; + let errMsg = 'input location'; + let res = { + errMsg: errMsg, + latitude: latitude, + longitude: longitude + }; + locationsuccess(res); + } + } +} + +module.exports.BMapWX = BMapWX; \ No newline at end of file diff --git a/manifest.json b/manifest.json index bb16e51..9ff08b2 100644 --- a/manifest.json +++ b/manifest.json @@ -238,6 +238,7 @@ "mp-weixin" : { /* 小程序特有相关 */ "usingComponents" : true, + "requiredPrivateInfos" : [ "getLocation", "chooseLocation" ], //开启定位权限 "appid" : "wx5a73f844dac0da5c", "setting" : { "urlCheck" : false, @@ -282,6 +283,13 @@ }, "devServer" : { "port" : 12000 + }, + "sdkConfigs" : { + "maps" : { + "bmap" : { + "key" : "xSeK5okwxCQbcwdGoOufv2EMuMdvsVFI" + } + } } }, "mp-baidu" : { diff --git a/member/address/list.vue b/member/address/list.vue index bba68bb..1efda91 100644 --- a/member/address/list.vue +++ b/member/address/list.vue @@ -1,7 +1,41 @@ diff --git a/member/address/manage.vue b/member/address/manage.vue index 15370a3..c920cbf 100644 --- a/member/address/manage.vue +++ b/member/address/manage.vue @@ -1,596 +1,1576 @@ - - + + \ No newline at end of file diff --git a/member/address/static/no-sele.png b/member/address/static/no-sele.png new file mode 100644 index 0000000000000000000000000000000000000000..228a266b3c33347e1e0f8e7f1d1080da3d9358d6 GIT binary patch literal 7429 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 literal 0 HcmV?d00001 diff --git a/member/address/static/sele.png b/member/address/static/sele.png new file mode 100644 index 0000000000000000000000000000000000000000..2c46b3e9632a5657b1ce1a32fefbd65ed319b11d GIT binary patch literal 639 zcmV-_0)YLAP)Px%IY~r8R7gv`mcMV)KorM6FR5SyAu%waG9c6)hcJ{13BkZfS@;v!5CX-dW7C8p zAr}4wSm+26u<#=iHFftAF%TvgDj{_OMEuY>cChoqb}lG4+V8#3-S@tC_k`S`;?!A| zfU64Ufz!aTDD4OESzudByzm>eK{TtRWc@tr>Z&N~2xoHVWdekbDr>t<*_sqT7Fb!+ zQ~HOe2-QNM;ULA61#axD%a`F_BS6R16_hQ6<5sXZN!dqO^_%i8StkVyVelF_G!yJ! z@^9dB5;_1zGVaX0vQc^WWr0d8?*Qo3blZB*^5hUae?yGJ34x&-;aOhZEdLd*8}|yR zIQQ5?3tB&$YWB>GQ4a_me}g4)>Ux2Il#?u1(hbU7D)%TWe2Ude)he+fm6~p3sU$>iANG}3phCxGcC-d|H=bC+-=J3YE2h=!W&>Qf=(l2a-JbDOVWcA0G z=eTkF{LR4+ueKU{g3&-X4v@N5-}hPTRCVtFL%k=6R7; Z|1X|+7sPpuF + + + + + + + + diff --git a/member/order/list.vue b/member/order/list.vue index bf7d0a4..6b55ec5 100644 --- a/member/order/list.vue +++ b/member/order/list.vue @@ -1,798 +1,1030 @@ \ No newline at end of file diff --git a/member/product/return.vue b/member/product/return.vue index d365a37..2268f84 100644 --- a/member/product/return.vue +++ b/member/product/return.vue @@ -71,444 +71,454 @@ diff --git a/pages.json b/pages.json index 71dcea8..6116cf6 100644 --- a/pages.json +++ b/pages.json @@ -212,7 +212,29 @@ } */ ], - "subPackages": [{ + "subPackages": [ + { + "root": "address", + "pages": [ + { + "path": "selectShippingAddress", + "style": { + "navigationBarTitleText": "选择收货地址" + } + }, + { + "path": "selectCity", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "app-plus": { + "titleNView": false + } + } + } + ] + }, + { "root": "member", "pages": [{ "path": "member/protocol", diff --git a/pages/cart/cart.vue b/pages/cart/cart.vue index 4595467..c3655c8 100644 --- a/pages/cart/cart.vue +++ b/pages/cart/cart.vue @@ -1,735 +1,1296 @@ @@ -1051,24 +1622,23 @@ import statecode from '../../config/statecode' } .m-product-list { - padding-top: 10rpx; /* #ifdef MP */ padding-top: 0rpx; /* #endif */ - .store-box{ + .store-box { background-color: #fff; border-radius: 20rpx; margin-bottom: 30rpx; - .m-cell{ + .m-cell { padding: 0; } - .m-cell-access .m-cell-ft:after{ + .m-cell-access .m-cell-ft:after { width: 4px; height: 4px; margin-top: -8rpx; @@ -1080,7 +1650,7 @@ import statecode from '../../config/statecode' /*店铺信息 start*/ .m-store:after { - content: ' '; + content: " "; position: absolute; left: 0; bottom: 0; @@ -1101,49 +1671,46 @@ import statecode from '../../config/statecode' .m-store-c { display: flex; + align-items: center; } .m-store-ck { - float: left; - width: 24px; - height: 100%; - position: relative; - padding-left: 0px; - margin: auto 3px auto 7px; + display: flex; + justify-content: center; + margin-left: 7px; + width: 27px; } .m-store-ck icon, .m-store-ck .uni-icons { - position: absolute; - top: 50%; - left: 50%; - margin-top: -40rpx; - margin-left: -20rpx; + // position: absolute; + // top: 50%; + // left: 50%; + // margin-top: -40rpx; + // margin-left: -20rpx; } .m-store-info { height: 100rpx; line-height: 100rpx; - margin-left:14rpx; + margin-left: 14rpx; + font-size: 14px; } /*.m-store-info::before {content: " ";position: absolute;left: 0;bottom: 0;right: 0;height: 1rpx;border-bottom: 1rpx solid #e3e3e3;color: #CCCCCC;-webkit-transform-origin: 0 100%;transform-origin: 0 100%;-webkit-transform: scaleY(0.5);transform: scaleY(0.5);z-index: 3;}*/ - .pre-info-price { - height: 18rpx!important;; - font-size: 12px!important; - color: #b0b0b0!important; - margin: 0 0 0 10rpx!important; + height: 18rpx !important; + font-size: 12px !important; + color: #b0b0b0 !important; + margin: 0 0 0 10rpx !important; } - .m-act-img { width: 100rpx; height: 100rpx; } - .m-item-act { position: relative; height: 100%; @@ -1151,7 +1718,6 @@ import statecode from '../../config/statecode' height: 100rpx; } - .act-item-name { width: 360rpx; text-overflow: ellipsis; @@ -1182,7 +1748,7 @@ import statecode from '../../config/statecode' top: 0; left: 0; z-index: 4; - background-color: rgba(0, 0, 0, 0.2) + background-color: rgba(0, 0, 0, 0.2); } .m-panel-sp-content { @@ -1252,32 +1818,36 @@ import statecode from '../../config/statecode' /*选择规格遮罩 end*/ - .u-cart-num { position: relative; - + margin-top: 12rpx; z-index: 2; - margin-top:12rpx; } .m-cart-ck { - float: left; - width: 48rpx; + // float: left; + // width: 48rpx; //background-color: #fff; - height: 100%; - position: relative; - padding-left: 0rpx; + // height: 100%; + // position: relative; + // padding-left: 0rpx; - margin:auto 6rpx auto 14rpx + // margin: auto 6rpx auto 14rpx; + display: flex; + align-items: center; + justify-content: center; + width: 27px; + margin: 0 7px; + margin-top: -16px; } .m-cart-ck icon, .m-cart-ck .uni-icons { - position: absolute; - top: 50%; - left: 50%; - margin-top: -46rpx; - margin-left: -20rpx; + // position: absolute; + // top: 50%; + // left: 50%; + margin-top: -20rpx; + // margin-left: -20rpx; } .uniui-circle-filled { @@ -1285,8 +1855,22 @@ import statecode from '../../config/statecode' } .m-product-info { - width: 440rpx; + width: 60%; + max-width: 60%; height: auto; + padding: 0px 10px 5px 5px; +} + +@media screen and (max-width: 320px) { + .m-product-info { + width: 57%; + } +} + +@media screen and (min-width: 321px) { + .m-product-info { + width: 60%; + } } .m-product-info::before { @@ -1304,7 +1888,7 @@ import statecode from '../../config/statecode' } .m-product-item:after { - content: ' '; + content: " "; position: absolute; left: 0; bottom: 0; @@ -1331,23 +1915,16 @@ import statecode from '../../config/statecode' } .u-del { - width: 100rpx; - background-color: $default-skin-bg; - float: right; - color: #fff; - font-size: 28rpx; - text-align: center; - display: flex; - - .u-del-btn { - margin:auto; - } + position: relative; + font-size: 20px; + top: -1px; + color: #888888; } /*底部按钮 start*/ .m-footer-btn:before { - content: ' '; + content: " "; position: absolute; left: 0; bottom: 0; @@ -1373,22 +1950,25 @@ import statecode from '../../config/statecode' } .m-footer-btn-list { - width: 75%; + display: flex; + flex: 1; + justify-content: space-between; + align-items: center; + margin: 0 10px; height: 100%; - position: relative; - float: left; } .m-footer-btn-item { - position: relative; - float: left; - width: 30%; - font-size: 24rpx; - color: #888; - line-height: 40rpx; - padding: 15rpx 0; - box-sizing: border-box; - height: 100%; +} + +.m-footer-btn-item-left { + display: flex; + align-items: center; + + .m-cart-ck { + margin-top: 0; + display: inline; + } } .m-footer-btn-main { @@ -1407,13 +1987,9 @@ import statecode from '../../config/statecode' text-align: center; margin: auto; margin-right: 20rpx; - } .m-cart-total { - text-align: right; - padding-right: 24rpx; - width: 70%; } .m-cart-total text { @@ -1426,15 +2002,19 @@ import statecode from '../../config/statecode' } .m-cart-del { - line-height: 70rpx; - font-size: 32rpx; - display: initial; + display: flex; + align-items: center; + margin-left: 7px; + + .icon-delete { + font-size: 20px; + } } /*底部按钮 end*/ .del { - -webkit-animation: mdel .2s 1; - animation: mdel .2s 1; + -webkit-animation: mdel 0.2s 1; + animation: mdel 0.2s 1; left: -100rpx; } @@ -1454,7 +2034,7 @@ import statecode from '../../config/statecode' } 100% { - left: -100rpx + left: -100rpx; } } @@ -1464,8 +2044,9 @@ view { } .m-product-name { - line-height: 40rpx; - font-size: 13px; + line-height: 34rpx; + font-size: 12px; + min-height: 34px; } .m-product-item { @@ -1476,28 +2057,35 @@ view { } .m-product-img { + width: 59px; + height: 59px; image { - padding: 14rpx; + // padding: 14rpx; + width: 59px; + height: 59px; + padding: 0; } } .m-act-img { - width: 212rpx; - height: 100rpx; + width: 59px; + height: 59px; image { - width: 100rpx; - height: 100rpx; + width: 59px; + height: 59px; } } -.m-product-box{ +.m-product-box { display: flex; + margin-right: 10px; } .m-product-price { - line-height: 74rpx !important; - flex:1; + line-height: 30px !important; + flex: 1; + font-size: 12px; } .off-shelf-img { @@ -1510,7 +2098,8 @@ view { } .off-shelf-simg { - width:100rpx;height:100rpx; + width: 100rpx; + height: 100rpx; float: right; position: absolute; @@ -1522,12 +2111,11 @@ view { .m-footer-btn-list { .m-cart-ck { line-height: 24px; - margin-top: 24rpx; + // margin-top: 24rpx; margin-left: 10rpx; } } - .u-num-btn { width: 52rpx; line-height: 56rpx; @@ -1535,10 +2123,25 @@ view { } .u-cart-num { - width: 160rpx; + width: 90px; + height: 25px; + left: -20px; + + .u-num-btn { + width: 25px; + line-height: 25px; + height: 25px; + } + + input { + font-size: 13px !important; + width: 40px; + height: 25px; + line-height: 25px; + } } -.tag{ +.tag { padding: 0 10rpx; } diff --git a/pages/checkout/checkout.vue b/pages/checkout/checkout.vue index 4e66943..b0d56bd 100644 --- a/pages/checkout/checkout.vue +++ b/pages/checkout/checkout.vue @@ -6,7 +6,7 @@ {{submitinfo.delivery_address_row.ud_name}} {{submitinfo.delivery_address_row.ud_mobile}} - + {{submitinfo.delivery_address_row.ud_province}}/{{submitinfo.delivery_address_row.ud_city}}/{{submitinfo.delivery_address_row.ud_county}} {{submitinfo.delivery_address_row.ud_address}} @@ -745,751 +745,824 @@ diff --git a/pages/index/index-single.vue b/pages/index/index-single.vue index f83b8c1..73a5d18 100644 --- a/pages/index/index-single.vue +++ b/pages/index/index-single.vue @@ -1,304 +1,469 @@ diff --git a/pages/index/index.vue b/pages/index/index.vue index 710033a..52e505b 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,767 +1,1282 @@ \ No newline at end of file diff --git a/pages/product/detail.vue b/pages/product/detail.vue index 4a05856..5e2cc44 100644 --- a/pages/product/detail.vue +++ b/pages/product/detail.vue @@ -975,7 +975,7 @@ - + {{ __('购物车') }} @@ -2606,7 +2606,6 @@ export default { that.store_info.store_latitude, that.store_info.store_longitude ); - debugger; console.info( that.latitude, that.longitude, @@ -3022,7 +3021,6 @@ export default { }, ]; } - var params = { par: JSON.stringify(pat), prd: that.options.pid, diff --git a/pages/product/list.vue b/pages/product/list.vue index 2c51cb9..bbc6960 100644 --- a/pages/product/list.vue +++ b/pages/product/list.vue @@ -1,35 +1,88 @@ diff --git a/static/iconfont.ttf b/static/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0203fcbe44c834d92df03eb909a8f85d34c29bfb GIT binary patch literal 3492 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 DpFj?S literal 0 HcmV?d00001 diff --git a/static/images/marker.png b/static/images/marker.png new file mode 100644 index 0000000000000000000000000000000000000000..c49ce3a8c57dafaff2b8c071c0ec3f4519b6dec4 GIT binary patch literal 2872 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 HF*Nx<@f^zX literal 0 HcmV?d00001 diff --git a/static/images/sele2.png b/static/images/sele2.png new file mode 100644 index 0000000000000000000000000000000000000000..dcfb94af13f71ea96dfc63796f402aca901d5f6e GIT binary patch literal 3916 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 literal 0 HcmV?d00001 diff --git a/styles/iconfontAili.css b/styles/iconfontAili.css new file mode 100644 index 0000000..92ed0c1 --- /dev/null +++ b/styles/iconfontAili.css @@ -0,0 +1,45 @@ +@font-face { + font-family: "iconfontAili"; /* Project id 4752539 */ + src: url('/static/iconfont.ttf?t=1733159098566') format('truetype'); +} + +.iconfontAili { + font-family: "iconfontAili" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-zengjiatianjiajiahao:before { + content: "\e62a"; +} + +.icon-top:before { + content: "\e663"; +} + +.icon-xiala:before { + content: "\e6b9"; +} + +.icon-dingwei1:before { + content: "\e609"; +} + +.icon-dianpu:before { + content: "\e61b"; +} + +.icon-zhongxindingwei:before { + content: "\e644"; +} + +.icon-right:before { + content: "\e7eb"; +} + +.icon-dingwei:before { + content: "\e65f"; +} +