commit a23dedfbf07bf52f1258e76a295a321f87852f4f
Author: 18631081161 <2088094923@qq.com>
Date: Sun Jul 7 16:19:19 2024 +0800
小程序
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9f30196
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+.vscode/
+.hbuilderx/
+.history/
+.idea/
+node_modules/
+unpackage/dist/
+unpackage/cache/
\ No newline at end of file
diff --git a/App.vue b/App.vue
new file mode 100644
index 0000000..27b579f
--- /dev/null
+++ b/App.vue
@@ -0,0 +1,146 @@
+
+
+
diff --git a/assets/font/YouSheBiaoTiHei.ttf b/assets/font/YouSheBiaoTiHei.ttf
new file mode 100644
index 0000000..3729151
Binary files /dev/null and b/assets/font/YouSheBiaoTiHei.ttf differ
diff --git a/assets/font/zihun147hao-xingyuanhei.TTF b/assets/font/zihun147hao-xingyuanhei.TTF
new file mode 100644
index 0000000..68b8043
Binary files /dev/null and b/assets/font/zihun147hao-xingyuanhei.TTF differ
diff --git a/assets/font/zihun152hao-jijiachaojihei.TTF b/assets/font/zihun152hao-jijiachaojihei.TTF
new file mode 100644
index 0000000..1cff169
Binary files /dev/null and b/assets/font/zihun152hao-jijiachaojihei.TTF differ
diff --git a/assets/img/1_bd_my.png b/assets/img/1_bd_my.png
new file mode 100644
index 0000000..f5c9eca
Binary files /dev/null and b/assets/img/1_bd_my.png differ
diff --git a/assets/img/1_coin.png b/assets/img/1_coin.png
new file mode 100644
index 0000000..f8a728c
Binary files /dev/null and b/assets/img/1_coin.png differ
diff --git a/assets/img/1_coin_act.png b/assets/img/1_coin_act.png
new file mode 100644
index 0000000..259b440
Binary files /dev/null and b/assets/img/1_coin_act.png differ
diff --git a/assets/img/1_flmh.png b/assets/img/1_flmh.png
new file mode 100644
index 0000000..16ff34d
Binary files /dev/null and b/assets/img/1_flmh.png differ
diff --git a/assets/img/1_group_bg.png b/assets/img/1_group_bg.png
new file mode 100644
index 0000000..5f097da
Binary files /dev/null and b/assets/img/1_group_bg.png differ
diff --git a/assets/img/1_invite_bg.png b/assets/img/1_invite_bg.png
new file mode 100644
index 0000000..08486ff
Binary files /dev/null and b/assets/img/1_invite_bg.png differ
diff --git a/assets/img/1_invite_card.png b/assets/img/1_invite_card.png
new file mode 100644
index 0000000..e593f18
Binary files /dev/null and b/assets/img/1_invite_card.png differ
diff --git a/assets/img/1_jqyfl.png b/assets/img/1_jqyfl.png
new file mode 100644
index 0000000..cae6dae
Binary files /dev/null and b/assets/img/1_jqyfl.png differ
diff --git a/assets/img/1_jqyhl.png b/assets/img/1_jqyhl.png
new file mode 100644
index 0000000..ca2e688
Binary files /dev/null and b/assets/img/1_jqyhl.png differ
diff --git a/assets/img/1_lb.png b/assets/img/1_lb.png
new file mode 100644
index 0000000..af5ebc5
Binary files /dev/null and b/assets/img/1_lb.png differ
diff --git a/assets/img/1_qdrw.png b/assets/img/1_qdrw.png
new file mode 100644
index 0000000..be86a4c
Binary files /dev/null and b/assets/img/1_qdrw.png differ
diff --git a/assets/img/1_rank_tai.png b/assets/img/1_rank_tai.png
new file mode 100644
index 0000000..1c943e3
Binary files /dev/null and b/assets/img/1_rank_tai.png differ
diff --git a/assets/img/1_sign_act_bg.png b/assets/img/1_sign_act_bg.png
new file mode 100644
index 0000000..a60b4aa
Binary files /dev/null and b/assets/img/1_sign_act_bg.png differ
diff --git a/assets/img/1_sign_bg.png b/assets/img/1_sign_bg.png
new file mode 100644
index 0000000..17b8829
Binary files /dev/null and b/assets/img/1_sign_bg.png differ
diff --git a/assets/img/1_sign_box.png b/assets/img/1_sign_box.png
new file mode 100644
index 0000000..a9ec444
Binary files /dev/null and b/assets/img/1_sign_box.png differ
diff --git a/assets/img/1_yqcs.png b/assets/img/1_yqcs.png
new file mode 100644
index 0000000..55024e7
Binary files /dev/null and b/assets/img/1_yqcs.png differ
diff --git a/assets/img/1_yqflmh.png b/assets/img/1_yqflmh.png
new file mode 100644
index 0000000..9034e72
Binary files /dev/null and b/assets/img/1_yqflmh.png differ
diff --git a/assets/img/1_yqhy.png b/assets/img/1_yqhy.png
new file mode 100644
index 0000000..e72021c
Binary files /dev/null and b/assets/img/1_yqhy.png differ
diff --git a/assets/img/1_yqhylhl.png b/assets/img/1_yqhylhl.png
new file mode 100644
index 0000000..2da614e
Binary files /dev/null and b/assets/img/1_yqhylhl.png differ
diff --git a/assets/img/2_card_bg.png b/assets/img/2_card_bg.png
new file mode 100644
index 0000000..b3c1037
Binary files /dev/null and b/assets/img/2_card_bg.png differ
diff --git a/assets/img/2_card_icon.png b/assets/img/2_card_icon.png
new file mode 100644
index 0000000..ff53050
Binary files /dev/null and b/assets/img/2_card_icon.png differ
diff --git a/assets/img/2_coupon_bg.png b/assets/img/2_coupon_bg.png
new file mode 100644
index 0000000..f3c0c2a
Binary files /dev/null and b/assets/img/2_coupon_bg.png differ
diff --git a/assets/img/2_coupon_item.png b/assets/img/2_coupon_item.png
new file mode 100644
index 0000000..bc08991
Binary files /dev/null and b/assets/img/2_coupon_item.png differ
diff --git a/assets/img/2_coupon_pop.png b/assets/img/2_coupon_pop.png
new file mode 100644
index 0000000..28cc5e5
Binary files /dev/null and b/assets/img/2_coupon_pop.png differ
diff --git a/assets/img/2_detail_bg.png b/assets/img/2_detail_bg.png
new file mode 100644
index 0000000..a60203a
Binary files /dev/null and b/assets/img/2_detail_bg.png differ
diff --git a/assets/img/2_djk.png b/assets/img/2_djk.png
new file mode 100644
index 0000000..33aa051
Binary files /dev/null and b/assets/img/2_djk.png differ
diff --git a/assets/img/2_fjjl.png b/assets/img/2_fjjl.png
new file mode 100644
index 0000000..7b3d5bb
Binary files /dev/null and b/assets/img/2_fjjl.png differ
diff --git a/assets/img/2_gj_border.png b/assets/img/2_gj_border.png
new file mode 100644
index 0000000..f77d4c8
Binary files /dev/null and b/assets/img/2_gj_border.png differ
diff --git a/assets/img/2_gsjl.png b/assets/img/2_gsjl.png
new file mode 100644
index 0000000..e0cb6fe
Binary files /dev/null and b/assets/img/2_gsjl.png differ
diff --git a/assets/img/2_jrflq.png b/assets/img/2_jrflq.png
new file mode 100644
index 0000000..1cc01f7
Binary files /dev/null and b/assets/img/2_jrflq.png differ
diff --git a/assets/img/2_jsphb.png b/assets/img/2_jsphb.png
new file mode 100644
index 0000000..0e28a9c
Binary files /dev/null and b/assets/img/2_jsphb.png differ
diff --git a/assets/img/2_mine_bg.png b/assets/img/2_mine_bg.png
new file mode 100644
index 0000000..317767d
Binary files /dev/null and b/assets/img/2_mine_bg.png differ
diff --git a/assets/img/2_money_card_bg.png b/assets/img/2_money_card_bg.png
new file mode 100644
index 0000000..4fc7c40
Binary files /dev/null and b/assets/img/2_money_card_bg.png differ
diff --git a/assets/img/2_pt_border.png b/assets/img/2_pt_border.png
new file mode 100644
index 0000000..d41fe23
Binary files /dev/null and b/assets/img/2_pt_border.png differ
diff --git a/assets/img/2_qy_card.png b/assets/img/2_qy_card.png
new file mode 100644
index 0000000..502c410
Binary files /dev/null and b/assets/img/2_qy_card.png differ
diff --git a/assets/img/2_qy_gjjl.png b/assets/img/2_qy_gjjl.png
new file mode 100644
index 0000000..13ae473
Binary files /dev/null and b/assets/img/2_qy_gjjl.png differ
diff --git a/assets/img/2_qy_list_bg.png b/assets/img/2_qy_list_bg.png
new file mode 100644
index 0000000..817d392
Binary files /dev/null and b/assets/img/2_qy_list_bg.png differ
diff --git a/assets/img/2_qy_ptjl.png b/assets/img/2_qy_ptjl.png
new file mode 100644
index 0000000..f27649a
Binary files /dev/null and b/assets/img/2_qy_ptjl.png differ
diff --git a/assets/img/2_tab_bg.png b/assets/img/2_tab_bg.png
new file mode 100644
index 0000000..afb4a3b
Binary files /dev/null and b/assets/img/2_tab_bg.png differ
diff --git a/assets/img/2_title_bg.png b/assets/img/2_title_bg.png
new file mode 100644
index 0000000..1d512d4
Binary files /dev/null and b/assets/img/2_title_bg.png differ
diff --git a/assets/img/2_type_bordder.png b/assets/img/2_type_bordder.png
new file mode 100644
index 0000000..b744cac
Binary files /dev/null and b/assets/img/2_type_bordder.png differ
diff --git a/assets/img/2_vip_card.png b/assets/img/2_vip_card.png
new file mode 100644
index 0000000..11e85bd
Binary files /dev/null and b/assets/img/2_vip_card.png differ
diff --git a/assets/img/2_vip_icon.png b/assets/img/2_vip_icon.png
new file mode 100644
index 0000000..9b9b0ba
Binary files /dev/null and b/assets/img/2_vip_icon.png differ
diff --git a/assets/img/2_wdsc.png b/assets/img/2_wdsc.png
new file mode 100644
index 0000000..93fa3fb
Binary files /dev/null and b/assets/img/2_wdsc.png differ
diff --git a/assets/img/2_xfjl.png b/assets/img/2_xfjl.png
new file mode 100644
index 0000000..9033f23
Binary files /dev/null and b/assets/img/2_xfjl.png differ
diff --git a/assets/img/2_xrzx.png b/assets/img/2_xrzx.png
new file mode 100644
index 0000000..ebee070
Binary files /dev/null and b/assets/img/2_xrzx.png differ
diff --git a/assets/img/2_yhq.png b/assets/img/2_yhq.png
new file mode 100644
index 0000000..fadde35
Binary files /dev/null and b/assets/img/2_yhq.png differ
diff --git a/assets/img/2_yhxy.png b/assets/img/2_yhxy.png
new file mode 100644
index 0000000..0676fb3
Binary files /dev/null and b/assets/img/2_yhxy.png differ
diff --git a/assets/img/2_yqhy.png b/assets/img/2_yqhy.png
new file mode 100644
index 0000000..3c742d4
Binary files /dev/null and b/assets/img/2_yqhy.png differ
diff --git a/assets/img/3_1fa.png b/assets/img/3_1fa.png
new file mode 100644
index 0000000..0b69c25
Binary files /dev/null and b/assets/img/3_1fa.png differ
diff --git a/assets/img/3_3fa.png b/assets/img/3_3fa.png
new file mode 100644
index 0000000..139d648
Binary files /dev/null and b/assets/img/3_3fa.png differ
diff --git a/assets/img/3_5fa.png b/assets/img/3_5fa.png
new file mode 100644
index 0000000..a52df49
Binary files /dev/null and b/assets/img/3_5fa.png differ
diff --git a/assets/img/3_ang_border.png b/assets/img/3_ang_border.png
new file mode 100644
index 0000000..8b81e85
Binary files /dev/null and b/assets/img/3_ang_border.png differ
diff --git a/assets/img/3_btns_bg.png b/assets/img/3_btns_bg.png
new file mode 100644
index 0000000..b6f1992
Binary files /dev/null and b/assets/img/3_btns_bg.png differ
diff --git a/assets/img/3_buy_notice.png b/assets/img/3_buy_notice.png
new file mode 100644
index 0000000..cd923a3
Binary files /dev/null and b/assets/img/3_buy_notice.png differ
diff --git a/assets/img/3_change_box.png b/assets/img/3_change_box.png
new file mode 100644
index 0000000..ed83216
Binary files /dev/null and b/assets/img/3_change_box.png differ
diff --git a/assets/img/3_cs.png b/assets/img/3_cs.png
new file mode 100644
index 0000000..9cf9a48
Binary files /dev/null and b/assets/img/3_cs.png differ
diff --git a/assets/img/3_detail_pop.png b/assets/img/3_detail_pop.png
new file mode 100644
index 0000000..041b303
Binary files /dev/null and b/assets/img/3_detail_pop.png differ
diff --git a/assets/img/3_detail_title.png b/assets/img/3_detail_title.png
new file mode 100644
index 0000000..403c62b
Binary files /dev/null and b/assets/img/3_detail_title.png differ
diff --git a/assets/img/3_gj_bg.png b/assets/img/3_gj_bg.png
new file mode 100644
index 0000000..a6bf2a6
Binary files /dev/null and b/assets/img/3_gj_bg.png differ
diff --git a/assets/img/3_gj_icon.png b/assets/img/3_gj_icon.png
new file mode 100644
index 0000000..e4ce04b
Binary files /dev/null and b/assets/img/3_gj_icon.png differ
diff --git a/assets/img/3_hd_bg.png b/assets/img/3_hd_bg.png
new file mode 100644
index 0000000..65503f1
Binary files /dev/null and b/assets/img/3_hd_bg.png differ
diff --git a/assets/img/3_hd_bg1.png b/assets/img/3_hd_bg1.png
new file mode 100644
index 0000000..b853f10
Binary files /dev/null and b/assets/img/3_hd_bg1.png differ
diff --git a/assets/img/3_hj.png b/assets/img/3_hj.png
new file mode 100644
index 0000000..8e374ad
Binary files /dev/null and b/assets/img/3_hj.png differ
diff --git a/assets/img/3_inf_10fa.png b/assets/img/3_inf_10fa.png
new file mode 100644
index 0000000..73f4f9d
Binary files /dev/null and b/assets/img/3_inf_10fa.png differ
diff --git a/assets/img/3_inf_1fa.png b/assets/img/3_inf_1fa.png
new file mode 100644
index 0000000..61b6a45
Binary files /dev/null and b/assets/img/3_inf_1fa.png differ
diff --git a/assets/img/3_inf_3fa.png b/assets/img/3_inf_3fa.png
new file mode 100644
index 0000000..5bcf70b
Binary files /dev/null and b/assets/img/3_inf_3fa.png differ
diff --git a/assets/img/3_inf_50fa.png b/assets/img/3_inf_50fa.png
new file mode 100644
index 0000000..b835cc7
Binary files /dev/null and b/assets/img/3_inf_50fa.png differ
diff --git a/assets/img/3_inf_5fa.png b/assets/img/3_inf_5fa.png
new file mode 100644
index 0000000..272768f
Binary files /dev/null and b/assets/img/3_inf_5fa.png differ
diff --git a/assets/img/3_inf_bb.png b/assets/img/3_inf_bb.png
new file mode 100644
index 0000000..fdca3a6
Binary files /dev/null and b/assets/img/3_inf_bb.png differ
diff --git a/assets/img/3_inf_bg.png b/assets/img/3_inf_bg.png
new file mode 100644
index 0000000..d9f3874
Binary files /dev/null and b/assets/img/3_inf_bg.png differ
diff --git a/assets/img/3_inf_boss_box.png b/assets/img/3_inf_boss_box.png
new file mode 100644
index 0000000..dc698ef
Binary files /dev/null and b/assets/img/3_inf_boss_box.png differ
diff --git a/assets/img/3_inf_boss_lzjl.png b/assets/img/3_inf_boss_lzjl.png
new file mode 100644
index 0000000..b5b15b1
Binary files /dev/null and b/assets/img/3_inf_boss_lzjl.png differ
diff --git a/assets/img/3_inf_boss_pop.png b/assets/img/3_inf_boss_pop.png
new file mode 100644
index 0000000..c174937
Binary files /dev/null and b/assets/img/3_inf_boss_pop.png differ
diff --git a/assets/img/3_inf_boss_wfgz.png b/assets/img/3_inf_boss_wfgz.png
new file mode 100644
index 0000000..393de36
Binary files /dev/null and b/assets/img/3_inf_boss_wfgz.png differ
diff --git a/assets/img/3_inf_cc.png b/assets/img/3_inf_cc.png
new file mode 100644
index 0000000..2f60d16
Binary files /dev/null and b/assets/img/3_inf_cc.png differ
diff --git a/assets/img/3_inf_class.png b/assets/img/3_inf_class.png
new file mode 100644
index 0000000..1e6dfb8
Binary files /dev/null and b/assets/img/3_inf_class.png differ
diff --git a/assets/img/3_inf_lzjl.png b/assets/img/3_inf_lzjl.png
new file mode 100644
index 0000000..b8993f0
Binary files /dev/null and b/assets/img/3_inf_lzjl.png differ
diff --git a/assets/img/3_inf_lzlp.png b/assets/img/3_inf_lzlp.png
new file mode 100644
index 0000000..fa11086
Binary files /dev/null and b/assets/img/3_inf_lzlp.png differ
diff --git a/assets/img/3_inf_lzwf.png b/assets/img/3_inf_lzwf.png
new file mode 100644
index 0000000..d7eb204
Binary files /dev/null and b/assets/img/3_inf_lzwf.png differ
diff --git a/assets/img/3_inf_wf.png b/assets/img/3_inf_wf.png
new file mode 100644
index 0000000..b1dba5e
Binary files /dev/null and b/assets/img/3_inf_wf.png differ
diff --git a/assets/img/3_jfs.png b/assets/img/3_jfs.png
new file mode 100644
index 0000000..05cc10e
Binary files /dev/null and b/assets/img/3_jfs.png differ
diff --git a/assets/img/3_lj.png b/assets/img/3_lj.png
new file mode 100644
index 0000000..fb862f1
Binary files /dev/null and b/assets/img/3_lj.png differ
diff --git a/assets/img/3_lj_dqmb.png b/assets/img/3_lj_dqmb.png
new file mode 100644
index 0000000..4f365dd
Binary files /dev/null and b/assets/img/3_lj_dqmb.png differ
diff --git a/assets/img/3_lj_jia.png b/assets/img/3_lj_jia.png
new file mode 100644
index 0000000..8dff324
Binary files /dev/null and b/assets/img/3_lj_jia.png differ
diff --git a/assets/img/3_lj_jian.png b/assets/img/3_lj_jian.png
new file mode 100644
index 0000000..696f93d
Binary files /dev/null and b/assets/img/3_lj_jian.png differ
diff --git a/assets/img/3_lj_max.png b/assets/img/3_lj_max.png
new file mode 100644
index 0000000..374b513
Binary files /dev/null and b/assets/img/3_lj_max.png differ
diff --git a/assets/img/3_lj_times.png b/assets/img/3_lj_times.png
new file mode 100644
index 0000000..35a0a7d
Binary files /dev/null and b/assets/img/3_lj_times.png differ
diff --git a/assets/img/3_mix_bg.png b/assets/img/3_mix_bg.png
new file mode 100644
index 0000000..2fe4779
Binary files /dev/null and b/assets/img/3_mix_bg.png differ
diff --git a/assets/img/3_oh.png b/assets/img/3_oh.png
new file mode 100644
index 0000000..435736c
Binary files /dev/null and b/assets/img/3_oh.png differ
diff --git a/assets/img/3_pt.png b/assets/img/3_pt.png
new file mode 100644
index 0000000..ecec544
Binary files /dev/null and b/assets/img/3_pt.png differ
diff --git a/assets/img/3_pt_bg.png b/assets/img/3_pt_bg.png
new file mode 100644
index 0000000..0fc1d03
Binary files /dev/null and b/assets/img/3_pt_bg.png differ
diff --git a/assets/img/3_pt_icon.png b/assets/img/3_pt_icon.png
new file mode 100644
index 0000000..d5583a3
Binary files /dev/null and b/assets/img/3_pt_icon.png differ
diff --git a/assets/img/3_qy_bg.png b/assets/img/3_qy_bg.png
new file mode 100644
index 0000000..a97f2ea
Binary files /dev/null and b/assets/img/3_qy_bg.png differ
diff --git a/assets/img/3_qy_card.png b/assets/img/3_qy_card.png
new file mode 100644
index 0000000..cef330a
Binary files /dev/null and b/assets/img/3_qy_card.png differ
diff --git a/assets/img/3_suc_pop.png b/assets/img/3_suc_pop.png
new file mode 100644
index 0000000..952f7d3
Binary files /dev/null and b/assets/img/3_suc_pop.png differ
diff --git a/assets/img/3_sxz.png b/assets/img/3_sxz.png
new file mode 100644
index 0000000..490a6e4
Binary files /dev/null and b/assets/img/3_sxz.png differ
diff --git a/assets/img/3_tj_bg.png b/assets/img/3_tj_bg.png
new file mode 100644
index 0000000..805764b
Binary files /dev/null and b/assets/img/3_tj_bg.png differ
diff --git a/assets/img/3_tj_icon.png b/assets/img/3_tj_icon.png
new file mode 100644
index 0000000..5bb96da
Binary files /dev/null and b/assets/img/3_tj_icon.png differ
diff --git a/assets/img/3_yc.png b/assets/img/3_yc.png
new file mode 100644
index 0000000..affddad
Binary files /dev/null and b/assets/img/3_yc.png differ
diff --git a/assets/img/3_yf_btnl.png b/assets/img/3_yf_btnl.png
new file mode 100644
index 0000000..4ed546a
Binary files /dev/null and b/assets/img/3_yf_btnl.png differ
diff --git a/assets/img/3_yf_btnr.png b/assets/img/3_yf_btnr.png
new file mode 100644
index 0000000..8581a58
Binary files /dev/null and b/assets/img/3_yf_btnr.png differ
diff --git a/assets/img/3_yf_card.png b/assets/img/3_yf_card.png
new file mode 100644
index 0000000..fb73fd6
Binary files /dev/null and b/assets/img/3_yf_card.png differ
diff --git a/assets/img/3_zj_bg.png b/assets/img/3_zj_bg.png
new file mode 100644
index 0000000..7ed811e
Binary files /dev/null and b/assets/img/3_zj_bg.png differ
diff --git a/assets/img/3_zj_icon.png b/assets/img/3_zj_icon.png
new file mode 100644
index 0000000..47d5e0d
Binary files /dev/null and b/assets/img/3_zj_icon.png differ
diff --git a/assets/img/4_box.png b/assets/img/4_box.png
new file mode 100644
index 0000000..8708a82
Binary files /dev/null and b/assets/img/4_box.png differ
diff --git a/assets/img/4_fz.png b/assets/img/4_fz.png
new file mode 100644
index 0000000..41fbab0
Binary files /dev/null and b/assets/img/4_fz.png differ
diff --git a/assets/img/4_qy_prize1.png b/assets/img/4_qy_prize1.png
new file mode 100644
index 0000000..965a729
Binary files /dev/null and b/assets/img/4_qy_prize1.png differ
diff --git a/assets/img/4_qy_prize2.png b/assets/img/4_qy_prize2.png
new file mode 100644
index 0000000..31cc5cb
Binary files /dev/null and b/assets/img/4_qy_prize2.png differ
diff --git a/assets/img/4_rank_1.png b/assets/img/4_rank_1.png
new file mode 100644
index 0000000..4a312ab
Binary files /dev/null and b/assets/img/4_rank_1.png differ
diff --git a/assets/img/4_rank_2.png b/assets/img/4_rank_2.png
new file mode 100644
index 0000000..59624b4
Binary files /dev/null and b/assets/img/4_rank_2.png differ
diff --git a/assets/img/4_rank_3.png b/assets/img/4_rank_3.png
new file mode 100644
index 0000000..5c519f8
Binary files /dev/null and b/assets/img/4_rank_3.png differ
diff --git a/assets/img/4_sm.png b/assets/img/4_sm.png
new file mode 100644
index 0000000..3ad4de6
Binary files /dev/null and b/assets/img/4_sm.png differ
diff --git a/assets/img/4_ytj.png b/assets/img/4_ytj.png
new file mode 100644
index 0000000..2898e6c
Binary files /dev/null and b/assets/img/4_ytj.png differ
diff --git a/assets/img/address.png b/assets/img/address.png
new file mode 100644
index 0000000..99d6991
Binary files /dev/null and b/assets/img/address.png differ
diff --git a/assets/img/all.png b/assets/img/all.png
new file mode 100644
index 0000000..08dbc23
Binary files /dev/null and b/assets/img/all.png differ
diff --git a/assets/img/all_act.png b/assets/img/all_act.png
new file mode 100644
index 0000000..ae6ab04
Binary files /dev/null and b/assets/img/all_act.png differ
diff --git a/assets/img/animation.png b/assets/img/animation.png
new file mode 100644
index 0000000..b0c71a7
Binary files /dev/null and b/assets/img/animation.png differ
diff --git a/assets/img/bag.png b/assets/img/bag.png
new file mode 100644
index 0000000..a32869e
Binary files /dev/null and b/assets/img/bag.png differ
diff --git a/assets/img/bd.png b/assets/img/bd.png
new file mode 100644
index 0000000..244acac
Binary files /dev/null and b/assets/img/bd.png differ
diff --git a/assets/img/bottom.png b/assets/img/bottom.png
new file mode 100644
index 0000000..801416d
Binary files /dev/null and b/assets/img/bottom.png differ
diff --git a/assets/img/bottom_act.png b/assets/img/bottom_act.png
new file mode 100644
index 0000000..323c256
Binary files /dev/null and b/assets/img/bottom_act.png differ
diff --git a/assets/img/box.png b/assets/img/box.png
new file mode 100644
index 0000000..fad207a
Binary files /dev/null and b/assets/img/box.png differ
diff --git a/assets/img/btn_bg.png b/assets/img/btn_bg.png
new file mode 100644
index 0000000..0836340
Binary files /dev/null and b/assets/img/btn_bg.png differ
diff --git a/assets/img/btn_bg1.png b/assets/img/btn_bg1.png
new file mode 100644
index 0000000..314a543
Binary files /dev/null and b/assets/img/btn_bg1.png differ
diff --git a/assets/img/camera.png b/assets/img/camera.png
new file mode 100644
index 0000000..0e03ce2
Binary files /dev/null and b/assets/img/camera.png differ
diff --git a/assets/img/check.png b/assets/img/check.png
new file mode 100644
index 0000000..1d5fe93
Binary files /dev/null and b/assets/img/check.png differ
diff --git a/assets/img/check1.png b/assets/img/check1.png
new file mode 100644
index 0000000..0800359
Binary files /dev/null and b/assets/img/check1.png differ
diff --git a/assets/img/check1_act.png b/assets/img/check1_act.png
new file mode 100644
index 0000000..9bbaf0b
Binary files /dev/null and b/assets/img/check1_act.png differ
diff --git a/assets/img/check_act.png b/assets/img/check_act.png
new file mode 100644
index 0000000..045ecdb
Binary files /dev/null and b/assets/img/check_act.png differ
diff --git a/assets/img/close.png b/assets/img/close.png
new file mode 100644
index 0000000..89a1eee
Binary files /dev/null and b/assets/img/close.png differ
diff --git a/assets/img/close1.png b/assets/img/close1.png
new file mode 100644
index 0000000..f2bd99f
Binary files /dev/null and b/assets/img/close1.png differ
diff --git a/assets/img/close2.png b/assets/img/close2.png
new file mode 100644
index 0000000..c5166e1
Binary files /dev/null and b/assets/img/close2.png differ
diff --git a/assets/img/coin1.png b/assets/img/coin1.png
new file mode 100644
index 0000000..07e05c1
Binary files /dev/null and b/assets/img/coin1.png differ
diff --git a/assets/img/collect.png b/assets/img/collect.png
new file mode 100644
index 0000000..24f54be
Binary files /dev/null and b/assets/img/collect.png differ
diff --git a/assets/img/g_bg.png b/assets/img/g_bg.png
new file mode 100644
index 0000000..40e9460
Binary files /dev/null and b/assets/img/g_bg.png differ
diff --git a/assets/img/info.png b/assets/img/info.png
new file mode 100644
index 0000000..23636af
Binary files /dev/null and b/assets/img/info.png differ
diff --git a/assets/img/jia.png b/assets/img/jia.png
new file mode 100644
index 0000000..fcb36d0
Binary files /dev/null and b/assets/img/jia.png differ
diff --git a/assets/img/jian.png b/assets/img/jian.png
new file mode 100644
index 0000000..dc7ab05
Binary files /dev/null and b/assets/img/jian.png differ
diff --git a/assets/img/left.png b/assets/img/left.png
new file mode 100644
index 0000000..02ca908
Binary files /dev/null and b/assets/img/left.png differ
diff --git a/assets/img/logo.png b/assets/img/logo.png
new file mode 100644
index 0000000..f4a728f
Binary files /dev/null and b/assets/img/logo.png differ
diff --git a/assets/img/new.png b/assets/img/new.png
new file mode 100644
index 0000000..2139dcc
Binary files /dev/null and b/assets/img/new.png differ
diff --git a/assets/img/pay_type1.png b/assets/img/pay_type1.png
new file mode 100644
index 0000000..df55c9b
Binary files /dev/null and b/assets/img/pay_type1.png differ
diff --git a/assets/img/pay_type2.png b/assets/img/pay_type2.png
new file mode 100644
index 0000000..d44494d
Binary files /dev/null and b/assets/img/pay_type2.png differ
diff --git a/assets/img/prize.png b/assets/img/prize.png
new file mode 100644
index 0000000..c11da86
Binary files /dev/null and b/assets/img/prize.png differ
diff --git a/assets/img/question.png b/assets/img/question.png
new file mode 100644
index 0000000..d6403cc
Binary files /dev/null and b/assets/img/question.png differ
diff --git a/assets/img/refresh.png b/assets/img/refresh.png
new file mode 100644
index 0000000..e8e18e8
Binary files /dev/null and b/assets/img/refresh.png differ
diff --git a/assets/img/right.png b/assets/img/right.png
new file mode 100644
index 0000000..49dfc5d
Binary files /dev/null and b/assets/img/right.png differ
diff --git a/assets/img/right1.png b/assets/img/right1.png
new file mode 100644
index 0000000..246d7ef
Binary files /dev/null and b/assets/img/right1.png differ
diff --git a/assets/img/right2.png b/assets/img/right2.png
new file mode 100644
index 0000000..88749d0
Binary files /dev/null and b/assets/img/right2.png differ
diff --git a/assets/img/right3.png b/assets/img/right3.png
new file mode 100644
index 0000000..6554e94
Binary files /dev/null and b/assets/img/right3.png differ
diff --git a/assets/img/rule_pop_bg.png b/assets/img/rule_pop_bg.png
new file mode 100644
index 0000000..6322713
Binary files /dev/null and b/assets/img/rule_pop_bg.png differ
diff --git a/assets/img/search.png b/assets/img/search.png
new file mode 100644
index 0000000..910cf19
Binary files /dev/null and b/assets/img/search.png differ
diff --git a/assets/img/share.png b/assets/img/share.png
new file mode 100644
index 0000000..ad1cdb0
Binary files /dev/null and b/assets/img/share.png differ
diff --git a/assets/img/share1.png b/assets/img/share1.png
new file mode 100644
index 0000000..2414683
Binary files /dev/null and b/assets/img/share1.png differ
diff --git a/assets/img/sold_out.png b/assets/img/sold_out.png
new file mode 100644
index 0000000..a1cc273
Binary files /dev/null and b/assets/img/sold_out.png differ
diff --git a/assets/img/tab.png b/assets/img/tab.png
new file mode 100644
index 0000000..d06b91e
Binary files /dev/null and b/assets/img/tab.png differ
diff --git a/assets/img/tab1.png b/assets/img/tab1.png
new file mode 100644
index 0000000..73f9ca7
Binary files /dev/null and b/assets/img/tab1.png differ
diff --git a/assets/img/tab1_act.png b/assets/img/tab1_act.png
new file mode 100644
index 0000000..7f42e42
Binary files /dev/null and b/assets/img/tab1_act.png differ
diff --git a/assets/img/tab2.png b/assets/img/tab2.png
new file mode 100644
index 0000000..8666f64
Binary files /dev/null and b/assets/img/tab2.png differ
diff --git a/assets/img/tab2_act.png b/assets/img/tab2_act.png
new file mode 100644
index 0000000..afb4a3b
Binary files /dev/null and b/assets/img/tab2_act.png differ
diff --git a/assets/img/tab_act.png b/assets/img/tab_act.png
new file mode 100644
index 0000000..fb66d33
Binary files /dev/null and b/assets/img/tab_act.png differ
diff --git a/assets/img/tab_bg.png b/assets/img/tab_bg.png
new file mode 100644
index 0000000..8cfb0a5
Binary files /dev/null and b/assets/img/tab_bg.png differ
diff --git a/assets/img/tag_bg.png b/assets/img/tag_bg.png
new file mode 100644
index 0000000..20b777d
Binary files /dev/null and b/assets/img/tag_bg.png differ
diff --git a/assets/img1/1_scwz.png b/assets/img1/1_scwz.png
new file mode 100644
index 0000000..e5355e8
Binary files /dev/null and b/assets/img1/1_scwz.png differ
diff --git a/assets/img1/1_scwz1.png b/assets/img1/1_scwz1.png
new file mode 100644
index 0000000..e2e3b07
Binary files /dev/null and b/assets/img1/1_scwz1.png differ
diff --git a/assets/mp3/open.mp3 b/assets/mp3/open.mp3
new file mode 100644
index 0000000..ab775cf
Binary files /dev/null and b/assets/mp3/open.mp3 differ
diff --git a/common/animate.css b/common/animate.css
new file mode 100644
index 0000000..3e5a14a
--- /dev/null
+++ b/common/animate.css
@@ -0,0 +1,1723 @@
+@charset "UTF-8";
+
+/*!
+ * animate.css -http://daneden.me/animate
+ * Version - 3.5.2
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2017 Daniel Eden
+ */
+
+.animated {
+ animation-duration: 1s;
+ animation-fill-mode: both;
+}
+
+.animated.infinite {
+ animation-iteration-count: infinite;
+}
+
+.animated.hinge {
+ animation-duration: 2s;
+}
+
+.animated.flipOutX,
+.animated.flipOutY,
+.animated.bounceIn,
+.animated.bounceOut {
+ animation-duration: .75s;
+}
+.rota{
+ animation: rota 4s infinite linear;
+}
+@keyframes rota {
+ 0% {
+ transform: rotate(0deg)
+ }
+ 100% {
+ transform: rotate(360deg)
+ }
+}
+@keyframes boxr {
+ from {
+ width: 100rpx;
+ height: 100rpx;
+ opacity: 1;
+ }
+
+ 20% {
+ left: 420rpx;
+ top: 470rpx;
+ }
+
+ 100% {
+ top: -160rpx;
+ left: 510rpx;
+ width: 160rpx;
+ height: 160rpx;
+ opacity: 0.8;
+ }
+}
+
+.boxr {
+ animation: boxr 10s;
+}
+
+@keyframes boxx {
+ from {
+ width: 100rpx;
+ height: 100rpx;
+ opacity: 1;
+ }
+
+ 20% {
+ top: 470rpx;
+ }
+
+ 100% {
+ top: -160rpx;
+ left: 300rpx;
+ width: 160rpx;
+ height: 160rpx;
+ opacity: 0.8;
+ }
+}
+
+.boxx {
+ animation: boxx 10s;
+}
+
+@keyframes boxl {
+ from {
+ width: 100rpx;
+ height: 100rpx;
+ opacity: 1;
+ }
+
+ 20% {
+ left: 210rpx;
+ top: 470rpx;
+ }
+
+ 100% {
+ top: -160rpx;
+ left: 80rpx;
+ width: 160rpx;
+ height: 160rpx;
+ opacity: 0.8;
+ }
+}
+
+.boxl {
+ animation: boxl 10s;
+}
+
+
+@keyframes bounce {
+
+ from,
+ 20%,
+ 53%,
+ 80%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+ transform: translate3d(0, 0, 0);
+ }
+
+ 40%,
+ 43% {
+ animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+ transform: translate3d(0, -30px, 0);
+ }
+
+ 70% {
+ animation-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+ transform: translate3d(0, -15px, 0);
+ }
+
+ 90% {
+ transform: translate3d(0, -4px, 0);
+ }
+}
+
+.bounce {
+ animation-name: bounce;
+ transform-origin: center bottom;
+}
+
+@keyframes flash {
+
+ from,
+ 50%,
+ to {
+ opacity: 1;
+ }
+
+ 25%,
+ 75% {
+ opacity: 0;
+ }
+}
+
+.flash {
+ animation-name: flash;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@keyframes pulse {
+ from {
+ transform: scale3d(1, 1, 1);
+ }
+
+ 50% {
+ transform: scale3d(1.05, 1.05, 1.05);
+ }
+
+ to {
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.pulse {
+ animation-name: pulse;
+}
+
+@keyframes rubberBand {
+ from {
+ transform: scale3d(1, 1, 1);
+ }
+
+ 30% {
+ transform: scale3d(1.25, 0.75, 1);
+ }
+
+ 40% {
+ transform: scale3d(0.75, 1.25, 1);
+ }
+
+ 50% {
+ transform: scale3d(1.15, 0.85, 1);
+ }
+
+ 65% {
+ transform: scale3d(.95, 1.05, 1);
+ }
+
+ 75% {
+ transform: scale3d(1.05, .95, 1);
+ }
+
+ to {
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.rubberBand {
+ animation-name: rubberBand;
+}
+
+@keyframes shake {
+
+ from,
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+
+ 10%,
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 20%,
+ 40%,
+ 60%,
+ 80% {
+ transform: translate3d(10px, 0, 0);
+ }
+}
+
+.shake {
+ animation-name: shake;
+}
+
+@keyframes headShake {
+ 0% {
+ transform: translateX(0);
+ }
+
+ 6.5% {
+ transform: translateX(-6px) rotateY(-9deg);
+ }
+
+ 18.5% {
+ transform: translateX(5px) rotateY(7deg);
+ }
+
+ 31.5% {
+ transform: translateX(-3px) rotateY(-5deg);
+ }
+
+ 43.5% {
+ transform: translateX(2px) rotateY(3deg);
+ }
+
+ 50% {
+ transform: translateX(0);
+ }
+}
+
+.headShake {
+ animation-timing-function: ease-in-out;
+ animation-name: headShake;
+}
+
+@keyframes swing {
+ 20% {
+ transform: rotate3d(0, 0, 1, 15deg);
+ }
+
+ 40% {
+ transform: rotate3d(0, 0, 1, -10deg);
+ }
+
+ 60% {
+ transform: rotate3d(0, 0, 1, 5deg);
+ }
+
+ 80% {
+ transform: rotate3d(0, 0, 1, -5deg);
+ }
+
+ to {
+ transform: rotate3d(0, 0, 1, 0deg);
+ }
+}
+
+.swing {
+ transform-origin: top center;
+ animation-name: swing;
+}
+
+@keyframes tada {
+ from {
+ transform: scale3d(1, 1, 1);
+ }
+
+ 10%,
+ 20% {
+ transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 30%,
+ 50%,
+ 70%,
+ 90% {
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 40%,
+ 60%,
+ 80% {
+ transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
+ }
+
+ to {
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.tada {
+ animation-name: tada;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@keyframes wobble {
+ from {
+ transform: none;
+ }
+
+ 15% {
+ transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
+ }
+
+ 30% {
+ transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
+ }
+
+ 45% {
+ transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
+ }
+
+ 60% {
+ transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
+ }
+
+ 75% {
+ transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
+ }
+
+ to {
+ transform: none;
+ }
+}
+
+.wobble {
+ animation-name: wobble;
+}
+
+@keyframes jello {
+
+ from,
+ 11.1%,
+ to {
+ transform: none;
+ }
+
+ 22.2% {
+ transform: skewX(-12.5deg) skewY(-12.5deg);
+ }
+
+ 33.3% {
+ transform: skewX(6.25deg) skewY(6.25deg);
+ }
+
+ 44.4% {
+ transform: skewX(-3.125deg) skewY(-3.125deg);
+ }
+
+ 55.5% {
+ transform: skewX(1.5625deg) skewY(1.5625deg);
+ }
+
+ 66.6% {
+ transform: skewX(-0.78125deg) skewY(-0.78125deg);
+ }
+
+ 77.7% {
+ transform: skewX(0.390625deg) skewY(0.390625deg);
+ }
+
+ 88.8% {
+ transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
+ }
+}
+
+.jello {
+ animation-name: jello;
+ transform-origin: center;
+}
+
+@keyframes bounceIn {
+
+ from,
+ 20%,
+ 40%,
+ 60%,
+ 80%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+ }
+
+ 0% {
+ opacity: 0;
+ transform: scale3d(.3, .3, .3);
+ }
+
+ 20% {
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ 40% {
+ transform: scale3d(.9, .9, .9);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: scale3d(1.03, 1.03, 1.03);
+ }
+
+ 80% {
+ transform: scale3d(.97, .97, .97);
+ }
+
+ to {
+ opacity: 1;
+ transform: scale3d(1, 1, 1);
+ }
+}
+
+.bounceIn {
+ animation-name: bounceIn;
+}
+
+@keyframes bounceInDown {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+ }
+
+ 0% {
+ opacity: 0;
+ transform: translate3d(0, -3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: translate3d(0, 25px, 0);
+ }
+
+ 75% {
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 90% {
+ transform: translate3d(0, 5px, 0);
+ }
+
+ to {
+ transform: none;
+ }
+}
+
+.bounceInDown {
+ animation-name: bounceInDown;
+}
+
+@keyframes bounceInLeft {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+ }
+
+ 0% {
+ opacity: 0;
+ transform: translate3d(-3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: translate3d(25px, 0, 0);
+ }
+
+ 75% {
+ transform: translate3d(-10px, 0, 0);
+ }
+
+ 90% {
+ transform: translate3d(5px, 0, 0);
+ }
+
+ to {
+ transform: none;
+ }
+}
+
+.bounceInLeft {
+ animation-name: bounceInLeft;
+}
+
+@keyframes bounceInRight {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+ }
+
+ from {
+ opacity: 0;
+ transform: translate3d(3000px, 0, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: translate3d(-25px, 0, 0);
+ }
+
+ 75% {
+ transform: translate3d(10px, 0, 0);
+ }
+
+ 90% {
+ transform: translate3d(-5px, 0, 0);
+ }
+
+ to {
+ transform: none;
+ }
+}
+
+.bounceInRight {
+ animation-name: bounceInRight;
+}
+
+@keyframes bounceInUp {
+
+ from,
+ 60%,
+ 75%,
+ 90%,
+ to {
+ animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+ }
+
+ from {
+ opacity: 0;
+ transform: translate3d(0, 3000px, 0);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: translate3d(0, -20px, 0);
+ }
+
+ 75% {
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 90% {
+ transform: translate3d(0, -5px, 0);
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.bounceInUp {
+ animation-name: bounceInUp;
+}
+
+@keyframes bounceOut {
+ 20% {
+ transform: scale3d(.9, .9, .9);
+ }
+
+ 50%,
+ 55% {
+ opacity: 1;
+ transform: scale3d(1.1, 1.1, 1.1);
+ }
+
+ to {
+ opacity: 0;
+ transform: scale3d(.3, .3, .3);
+ }
+}
+
+.bounceOut {
+ animation-name: bounceOut;
+}
+
+@keyframes bounceOutDown {
+ 20% {
+ transform: translate3d(0, 10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ transform: translate3d(0, -20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+.bounceOutDown {
+ animation-name: bounceOutDown;
+}
+
+@keyframes bounceOutLeft {
+ 20% {
+ opacity: 1;
+ transform: translate3d(20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+.bounceOutLeft {
+ animation-name: bounceOutLeft;
+}
+
+@keyframes bounceOutRight {
+ 20% {
+ opacity: 1;
+ transform: translate3d(-20px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+.bounceOutRight {
+ animation-name: bounceOutRight;
+}
+
+@keyframes bounceOutUp {
+ 20% {
+ transform: translate3d(0, -10px, 0);
+ }
+
+ 40%,
+ 45% {
+ opacity: 1;
+ transform: translate3d(0, 20px, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+.bounceOutUp {
+ animation-name: bounceOutUp;
+}
+
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
+
+.fadeIn {
+ animation-name: fadeIn;
+}
+
+@keyframes fadeInDown {
+ from {
+ opacity: 0;
+ transform: translate3d(0, -100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+.fadeInDown {
+ animation-name: fadeInDown;
+}
+
+@keyframes fadeInDownBig {
+ from {
+ opacity: 0;
+ transform: translate3d(0, -2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+.fadeInDownBig {
+ animation-name: fadeInDownBig;
+}
+
+@keyframes fadeInLeft {
+ from {
+ opacity: 0;
+ transform: translate3d(-100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+.fadeInLeft {
+ animation-name: fadeInLeft;
+}
+
+@keyframes fadeInLeftBig {
+ from {
+ opacity: 0;
+ transform: translate3d(-2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+.fadeInLeftBig {
+ animation-name: fadeInLeftBig;
+}
+
+@keyframes fadeInRight {
+ from {
+ opacity: 0;
+ transform: translate3d(100%, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+.fadeInRight {
+ animation-name: fadeInRight;
+}
+
+@keyframes fadeInRightBig {
+ from {
+ opacity: 0;
+ transform: translate3d(2000px, 0, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+.fadeInRightBig {
+ animation-name: fadeInRightBig;
+}
+
+@keyframes fadeInUp {
+ from {
+ opacity: 0;
+ transform: translate3d(0, 100%, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+.fadeInUp {
+ animation-name: fadeInUp;
+}
+
+@keyframes fadeInUpBig {
+ from {
+ opacity: 0;
+ transform: translate3d(0, 2000px, 0);
+ }
+
+ to {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+.fadeInUpBig {
+ animation-name: fadeInUpBig;
+}
+
+@keyframes fadeOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+.fadeOut {
+ animation-name: fadeOut;
+}
+
+@keyframes fadeOutDown {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+.fadeOutDown {
+ animation-name: fadeOutDown;
+}
+
+@keyframes fadeOutDownBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, 2000px, 0);
+ }
+}
+
+.fadeOutDownBig {
+ animation-name: fadeOutDownBig;
+}
+
+@keyframes fadeOutLeft {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+.fadeOutLeft {
+ animation-name: fadeOutLeft;
+}
+
+@keyframes fadeOutLeftBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(-2000px, 0, 0);
+ }
+}
+
+.fadeOutLeftBig {
+ animation-name: fadeOutLeftBig;
+}
+
+@keyframes fadeOutRight {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+.fadeOutRight {
+ animation-name: fadeOutRight;
+}
+
+@keyframes fadeOutRightBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(2000px, 0, 0);
+ }
+}
+
+.fadeOutRightBig {
+ animation-name: fadeOutRightBig;
+}
+
+@keyframes fadeOutUp {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+.fadeOutUp {
+ animation-name: fadeOutUp;
+}
+
+@keyframes fadeOutUpBig {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(0, -2000px, 0);
+ }
+}
+
+.fadeOutUpBig {
+ animation-name: fadeOutUpBig;
+}
+
+@keyframes flip {
+ from {
+ transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
+ animation-timing-function: ease-out;
+ }
+
+ 40% {
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
+ animation-timing-function: ease-out;
+ }
+
+ 50% {
+ transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
+ animation-timing-function: ease-in;
+ }
+
+ 80% {
+ transform: perspective(400px) scale3d(.95, .95, .95);
+ animation-timing-function: ease-in;
+ }
+
+ to {
+ transform: perspective(400px);
+ animation-timing-function: ease-in;
+ }
+}
+
+.animated.flip {
+ -webkit-backface-visibility: visible;
+ backface-visibility: visible;
+ animation-name: flip;
+}
+
+@keyframes flipInX {
+ from {
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
+ }
+
+ to {
+ transform: perspective(400px);
+ }
+}
+
+.flipInX {
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ animation-name: flipInX;
+}
+
+@keyframes flipInY {
+ from {
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ animation-timing-function: ease-in;
+ opacity: 0;
+ }
+
+ 40% {
+ transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
+ animation-timing-function: ease-in;
+ }
+
+ 60% {
+ transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
+ opacity: 1;
+ }
+
+ 80% {
+ transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
+ }
+
+ to {
+ transform: perspective(400px);
+ }
+}
+
+.flipInY {
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ animation-name: flipInY;
+}
+
+@keyframes flipOutX {
+ from {
+ transform: perspective(400px);
+ }
+
+ 30% {
+ transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
+ opacity: 1;
+ }
+
+ to {
+ transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+.flipOutX {
+ animation-name: flipOutX;
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+}
+
+@keyframes flipOutY {
+ from {
+ transform: perspective(400px);
+ }
+
+ 30% {
+ transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
+ opacity: 1;
+ }
+
+ to {
+ transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
+ opacity: 0;
+ }
+}
+
+.flipOutY {
+ -webkit-backface-visibility: visible !important;
+ backface-visibility: visible !important;
+ animation-name: flipOutY;
+}
+
+@keyframes lightSpeedIn {
+ from {
+ transform: translate3d(100%, 0, 0) skewX(-30deg);
+ opacity: 0;
+ }
+
+ 60% {
+ transform: skewX(20deg);
+ opacity: 1;
+ }
+
+ 80% {
+ transform: skewX(-5deg);
+ opacity: 1;
+ }
+
+ to {
+ transform: none;
+ opacity: 1;
+ }
+}
+
+.lightSpeedIn {
+ animation-name: lightSpeedIn;
+ animation-timing-function: ease-out;
+}
+
+@keyframes lightSpeedOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ transform: translate3d(100%, 0, 0) skewX(30deg);
+ opacity: 0;
+ }
+}
+
+.lightSpeedOut {
+ animation-name: lightSpeedOut;
+ animation-timing-function: ease-in;
+}
+
+@keyframes rotateIn {
+ from {
+ transform-origin: center;
+ transform: rotate3d(0, 0, 1, -200deg);
+ opacity: 0;
+ }
+
+ to {
+ transform-origin: center;
+ transform: none;
+ opacity: 1;
+ }
+}
+
+.rotateIn {
+ animation-name: rotateIn;
+}
+
+@keyframes rotateInDownLeft {
+ from {
+ transform-origin: left bottom;
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+
+ to {
+ transform-origin: left bottom;
+ transform: none;
+ opacity: 1;
+ }
+}
+
+.rotateInDownLeft {
+ animation-name: rotateInDownLeft;
+}
+
+@keyframes rotateInDownRight {
+ from {
+ transform-origin: right bottom;
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ transform-origin: right bottom;
+ transform: none;
+ opacity: 1;
+ }
+}
+
+.rotateInDownRight {
+ animation-name: rotateInDownRight;
+}
+
+@keyframes rotateInUpLeft {
+ from {
+ transform-origin: left bottom;
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+
+ to {
+ transform-origin: left bottom;
+ transform: none;
+ opacity: 1;
+ }
+}
+
+.rotateInUpLeft {
+ animation-name: rotateInUpLeft;
+}
+
+@keyframes rotateInUpRight {
+ from {
+ transform-origin: right bottom;
+ transform: rotate3d(0, 0, 1, -90deg);
+ opacity: 0;
+ }
+
+ to {
+ transform-origin: right bottom;
+ transform: none;
+ opacity: 1;
+ }
+}
+
+.rotateInUpRight {
+ animation-name: rotateInUpRight;
+}
+
+@keyframes rotateOut {
+ from {
+ transform-origin: center;
+ opacity: 1;
+ }
+
+ to {
+ transform-origin: center;
+ transform: rotate3d(0, 0, 1, 200deg);
+ opacity: 0;
+ }
+}
+
+.rotateOut {
+ animation-name: rotateOut;
+}
+
+@keyframes rotateOutDownLeft {
+ from {
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ transform-origin: left bottom;
+ transform: rotate3d(0, 0, 1, 45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutDownLeft {
+ animation-name: rotateOutDownLeft;
+}
+
+@keyframes rotateOutDownRight {
+ from {
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ transform-origin: right bottom;
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutDownRight {
+ animation-name: rotateOutDownRight;
+}
+
+@keyframes rotateOutUpLeft {
+ from {
+ transform-origin: left bottom;
+ opacity: 1;
+ }
+
+ to {
+ transform-origin: left bottom;
+ transform: rotate3d(0, 0, 1, -45deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutUpLeft {
+ animation-name: rotateOutUpLeft;
+}
+
+@keyframes rotateOutUpRight {
+ from {
+ transform-origin: right bottom;
+ opacity: 1;
+ }
+
+ to {
+ transform-origin: right bottom;
+ transform: rotate3d(0, 0, 1, 90deg);
+ opacity: 0;
+ }
+}
+
+.rotateOutUpRight {
+ animation-name: rotateOutUpRight;
+}
+
+@keyframes hinge {
+ 0% {
+ transform-origin: top left;
+ animation-timing-function: ease-in-out;
+ }
+
+ 20%,
+ 60% {
+ transform: rotate3d(0, 0, 1, 80deg);
+ transform-origin: top left;
+ animation-timing-function: ease-in-out;
+ }
+
+ 40%,
+ 80% {
+ transform: rotate3d(0, 0, 1, 60deg);
+ transform-origin: top left;
+ animation-timing-function: ease-in-out;
+ opacity: 1;
+ }
+
+ to {
+ transform: translate3d(0, 700px, 0);
+ opacity: 0;
+ }
+}
+
+.hinge {
+ animation-name: hinge;
+}
+
+@keyframes jackInTheBox {
+ from {
+ opacity: 0;
+ transform: scale(0.1) rotate(30deg);
+ transform-origin: center bottom;
+ }
+
+ 50% {
+ transform: rotate(-10deg);
+ }
+
+ 70% {
+ transform: rotate(3deg);
+ }
+
+ to {
+ opacity: 1;
+ transform: scale(1);
+ }
+}
+
+.jackInTheBox {
+ animation-name: jackInTheBox;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@keyframes rollIn {
+ from {
+ opacity: 0;
+ transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
+ }
+
+ to {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+.rollIn {
+ animation-name: rollIn;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@keyframes rollOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
+ }
+}
+
+.rollOut {
+ animation-name: rollOut;
+}
+
+@keyframes zoomIn {
+ from {
+ opacity: 0;
+ transform: scale3d(.3, .3, .3);
+ }
+
+ 50% {
+ opacity: 1;
+ }
+}
+
+.zoomIn {
+ animation-name: zoomIn;
+}
+
+@keyframes zoomInDown {
+ from {
+ opacity: 0;
+ transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
+ }
+}
+
+.zoomInDown {
+ animation-name: zoomInDown;
+}
+
+@keyframes zoomInLeft {
+ from {
+ opacity: 0;
+ transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
+ }
+}
+
+.zoomInLeft {
+ animation-name: zoomInLeft;
+}
+
+@keyframes zoomInRight {
+ from {
+ opacity: 0;
+ transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
+ }
+}
+
+.zoomInRight {
+ animation-name: zoomInRight;
+}
+
+@keyframes zoomInUp {
+ from {
+ opacity: 0;
+ transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
+ }
+
+ 60% {
+ opacity: 1;
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
+ }
+}
+
+.zoomInUp {
+ animation-name: zoomInUp;
+}
+
+@keyframes zoomOut {
+ from {
+ opacity: 1;
+ }
+
+ 50% {
+ opacity: 0;
+ transform: scale3d(.3, .3, .3);
+ }
+
+ to {
+ opacity: 0;
+ }
+}
+
+.zoomOut {
+ animation-name: zoomOut;
+}
+
+@keyframes zoomOutDown {
+ 40% {
+ opacity: 1;
+ transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
+ }
+
+ to {
+ opacity: 0;
+ transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);
+ transform-origin: center bottom;
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
+ }
+}
+
+.zoomOutDown {
+ animation-name: zoomOutDown;
+}
+
+@keyframes zoomOutLeft {
+ 40% {
+ opacity: 1;
+ transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: scale(.1) translate3d(-2000px, 0, 0);
+ transform-origin: left center;
+ }
+}
+
+.zoomOutLeft {
+ animation-name: zoomOutLeft;
+}
+
+@keyframes zoomOutRight {
+ 40% {
+ opacity: 1;
+ transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);
+ }
+
+ to {
+ opacity: 0;
+ transform: scale(.1) translate3d(2000px, 0, 0);
+ transform-origin: right center;
+ }
+}
+
+.zoomOutRight {
+ animation-name: zoomOutRight;
+}
+
+@keyframes zoomOutUp {
+ 40% {
+ opacity: 1;
+ transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);
+ animation-timing-function: cubic-bezier(0.550, 0.055, 0.675, 0.190);
+ }
+
+ to {
+ opacity: 0;
+ transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);
+ transform-origin: center bottom;
+ animation-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1);
+ }
+}
+
+.zoomOutUp {
+ animation-name: zoomOutUp;
+}
+
+@keyframes slideInDown {
+ from {
+ transform: translate3d(0, -100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInDown {
+ animation-name: slideInDown;
+}
+
+@keyframes slideInLeft {
+ from {
+ transform: translate3d(-100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInLeft {
+ animation-name: slideInLeft;
+}
+
+@keyframes slideInRight {
+ from {
+ transform: translate3d(100%, 0, 0);
+ visibility: visible;
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInRight {
+ animation-name: slideInRight;
+}
+
+@keyframes slideInUp {
+ from {
+ transform: translate3d(0, 100%, 0);
+ visibility: visible;
+ }
+
+ to {
+ transform: translate3d(0, 0, 0);
+ }
+}
+
+.slideInUp {
+ animation-name: slideInUp;
+}
+
+@keyframes slideOutDown {
+ from {
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ transform: translate3d(0, 100%, 0);
+ }
+}
+
+.slideOutDown {
+ animation-name: slideOutDown;
+}
+
+@keyframes slideOutLeft {
+ from {
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ transform: translate3d(-100%, 0, 0);
+ }
+}
+
+.slideOutLeft {
+ animation-name: slideOutLeft;
+}
+
+@keyframes slideOutRight {
+ from {
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ transform: translate3d(100%, 0, 0);
+ }
+}
+
+.slideOutRight {
+ animation-name: slideOutRight;
+}
+
+@keyframes slideOutUp {
+ from {
+ transform: translate3d(0, 0, 0);
+ }
+
+ to {
+ visibility: hidden;
+ transform: translate3d(0, -100%, 0);
+ }
+}
+
+.slideOutUp {
+ animation-name: slideOutUp;
+}
diff --git a/common/animation.vue b/common/animation.vue
new file mode 100644
index 0000000..8a6551a
--- /dev/null
+++ b/common/animation.vue
@@ -0,0 +1,335 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{a.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/common/common.css b/common/common.css
new file mode 100644
index 0000000..513d239
--- /dev/null
+++ b/common/common.css
@@ -0,0 +1,212 @@
+.relative {
+ position: relative;
+}
+
+.filter {
+ filter: grayscale(100%);
+}
+
+.flex {
+ display: flex;
+}
+
+.flex-1 {
+ flex: 1 !important;
+}
+
+.flex-2 {
+ flex: 2 !important;
+}
+
+.align-center {
+ display: flex;
+ align-items: center !important;
+}
+
+.align-end {
+ display: flex;
+ align-items: flex-end;
+}
+
+.align-baseline {
+ display: flex;
+ align-items: baseline;
+}
+
+.row {
+ flex-direction: row !important;
+}
+
+.column {
+ display: flex;
+ flex-direction: column !important;
+}
+
+.center {
+ display: flex;
+ align-items: center !important;
+ justify-content: center !important;
+}
+
+.justify-center {
+ display: flex;
+ justify-content: center !important;
+}
+
+.justify-between {
+ display: flex;
+ justify-content: space-between !important;
+}
+
+.justify-evenly {
+ display: flex;
+ justify-content: space-evenly !important;
+}
+
+.justify-around {
+ display: flex;
+ justify-content: space-around !important;
+}
+
+.justify-end {
+ display: flex;
+ justify-content: flex-end !important;
+}
+
+.hidden {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.hidden-two {
+ -webkit-line-clamp: 2;
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: normal;
+}
+
+.ml10 {
+ margin-left: 10rpx;
+}
+
+.mb42 {
+ margin-bottom: 42rpx;
+}
+
+.mb20 {
+ margin-bottom: 20rpx;
+}
+
+.mb30 {
+ margin-bottom: 30rpx;
+}
+
+.ml30 {
+ margin-left: 30rpx;
+}
+
+.ml40 {
+ margin-left: 40rpx;
+}
+
+.ml50 {
+ margin-right: 100rpx;
+}
+
+.ml20 {
+ margin-left: 20rpx;
+}
+
+.pl20 {
+ padding-left: 20rpx;
+}
+
+.pd30 {
+ padding: 30rpx;
+}
+
+.pd20 {
+ padding: 20rpx;
+}
+
+.pd24 {
+ padding: 24rpx;
+}
+
+.pt24 {
+ padding-top: 24rpx;
+}
+
+.pt20 {
+ padding-top: 20rpx;
+}
+
+.mt10 {
+ margin-top: 10rpx;
+}
+
+.mt20 {
+ margin-top: 20rpx;
+}
+
+.mt22 {
+ margin-top: 22rpx;
+}
+
+.mt30 {
+ margin-top: 30rpx;
+}
+
+.mr30 {
+ margin-right: 30rpx;
+}
+
+.mr20 {
+ margin-right: 20rpx;
+}
+
+.mr10 {
+ margin-right: 10rpx;
+}
+
+.img100 {
+ width: 100%;
+ height: 100%;
+}
+
+.bgfff {
+ background-color: #FFFFFF;
+}
+
+.bgf5 {
+ background-color: #F5F5F5;
+}
+
+.brt20 {
+ border-top: 20rpx solid #F5F5F5;
+}
+
+.br10 {
+ border-radius: 10rpx;
+}
+
+.br20 {
+ border-radius: 20rpx !important;
+}
+
+
+.minHeight100 {
+ min-height: 100vh;
+}
+
+.shopMask {
+ padding: 10rpx;
+ background: rgba(0, 0, 0, 0.3);
+}
+
+.riziBgImg {
+ background: linear-gradient(to bottom, #f2f6f5, #107097)
+}
\ No newline at end of file
diff --git a/common/common.js b/common/common.js
new file mode 100644
index 0000000..7bf154e
--- /dev/null
+++ b/common/common.js
@@ -0,0 +1,390 @@
+/*
+ * @Date: 2023-11-13 15:46:51
+ * @LastEditTime: 2024-01-17 17:20:50
+ * @Description: content
+ */
+import Vue from 'vue'
+
+// 防止处理多次点击
+function noMultipleClicks(methods, info) {
+ // methods是点击后需要执行的函数, info是函数需要传的参数
+ let that = this
+ if (that.noClick) {
+ // 第一次点击
+ that.noClick = false
+ if ((info && info !== '') || info == 0) {
+ // info是执行函数需要传的参数
+ methods(info)
+ } else {
+ methods()
+ }
+ setTimeout(() => {
+ that.noClick = true
+ }, 2000)
+ } else {
+ // 这里是重复点击的判断
+ }
+}
+//导出
+export default {
+ data: {
+ loading: false,
+ timer: null
+ },
+
+ noMultipleClicks, // 禁止多次点击
+
+ /* 获取日期 */
+ getDateTime() {
+ const date = new Date()
+
+ const year = date.getFullYear().toString()
+ const monty = (date.getMonth() + 1).toString()
+ const day = date.getDate().toString()
+
+ return `${year}-${monty}-${day}`
+ },
+
+ detailPageTitle(obj) {
+ if (!obj) {
+ return ''
+ }
+
+ const types = {
+ 1: '一番赏',
+ 2: '无限赏',
+ 3: '擂台赏',
+ 4: '抽卡机',
+ 5: '积分赏',
+ 6: '全局赏',
+ 7: '福利盲盒',
+ 8: '领主赏',
+ 9: '连击赏'
+ }
+
+ const target = types[obj.type]
+ return target
+ },
+
+ navTo(item) {
+ /* 领券中心 */
+ if (item.ttype == 1) {
+ this.to({
+ url: '/package/index/coupon-center',
+ query: {
+ coupon_id: item.coupon_id
+ }
+ })
+ }
+
+ if (item.goods_id > 0) {
+ if (item.ttype == 2) {
+ /* 一番赏 */
+ this.to({
+ url: '/pages/shouye/detail',
+ query: {
+ goods_id: item.goods_id
+ }
+ })
+ }
+
+ /* 无限赏 */
+ if (item.ttype == 3) {
+ this.to({
+ url: '/pages/shouye/detail_wuxian',
+ query: {
+ goods_id: item.goods_id
+ }
+ })
+ }
+
+ /* 连击赏 */
+ if (item.ttype == 4) {
+ this.to({
+ url: '/package/index/lian-ji',
+ query: {
+ goods_id: item.goods_id
+ }
+ })
+ }
+ }
+ },
+
+ /**
+ * @description: 微信支付(小程序)
+ * @param {*}
+ * @return {*}
+ */
+ wxMpPay({ provider = 'weixin', data }) {
+ console.log('wxdata', data)
+ return new Promise((resolve, reject) => {
+ uni.requestPayment({
+ provider,
+ ...data,
+ success: res => {
+ // console.log(res)
+ },
+ fail: err => {
+ // console.log('common.wxMpPay-error', err)
+ },
+ complete: res => {
+ console.log('complete (res)', res)
+ if (res.errMsg == 'requestPayment:fail cancel') {
+ this.toast({
+ title: '取消支付',
+ icon: 'none',
+ duration: 500,
+ success: () => {
+ /* 取消订单 */
+ }
+ })
+
+ resolve('cancel')
+ }
+ if (res.errMsg == 'requestPayment:ok') {
+ this.toast({
+ title: '支付成功',
+ icon: 'success',
+ duration: 500,
+ success: () => {
+ resolve('success')
+ }
+ })
+ }
+ }
+ })
+ })
+ },
+
+ /**
+ * @description: 规避连点
+ * @param {*}
+ * @return {*}
+ */
+ noDouble(fun, data, loading = false) {
+ /**
+ * $common.noDouble(fun,data)
+ * fun 需要规避连点的方法
+ * data 该方法需要用到的参数
+ * loading 接口加载中状态
+ * 传入方法不要写括号
+ */
+
+ /* 如果接口加载中,终止任何操作 */
+ if (loading) {
+ setTimeout(() => {
+ uni.showToast({
+ title: '请勿重复点击',
+ icon: 'none',
+ mask: false
+ })
+ }, 100)
+ return
+ }
+
+ /* 如果定时器未结束 */
+ if (this.data.timer) {
+ setTimeout(() => {
+ uni.showToast({
+ title: '请勿重复点击',
+ icon: 'none',
+ mask: false
+ })
+ }, 100)
+
+ /* 清除之前的定时器 */
+ clearTimeout(this.data.timer)
+ /* 重新设置定时器 */
+ this.data.timer = setTimeout(() => {
+ this.data.timer = null
+ }, 200)
+ return
+ }
+
+ console.log(data && data)
+
+ /* 设置第一次点击的定时器 */
+ this.data.timer = setTimeout(() => {
+ this.data.timer = null
+ }, 200)
+
+ /* 如果有回调,使用回调并传入参数 */
+ fun && fun(data && data)
+ },
+
+ /**
+ * @description: tost提示
+ * @return {*}
+ */
+ toast(opt) {
+ let title = opt.title || ''
+ let icon = opt.icon || 'none'
+ let mask = opt.mask || false
+ let duration = opt.duration || 1500
+ let position = opt.position || 'center'
+
+ setTimeout(() => {
+ uni.showToast({
+ title,
+ icon,
+ mask,
+ duration,
+ position,
+ success: () => {
+ if (opt.success) {
+ setTimeout(() => {
+ opt.success()
+ }, duration)
+ }
+ }
+ })
+ }, 100)
+ },
+
+ /**
+ * @description: 获取规则
+ * @param {*} type
+ * @return {*}
+ */
+ getRule(id = '', loading = false) {
+ return new Promise((resolve, reject) => {
+ Vue.prototype.req({
+ url: 'danye',
+ Loading: !loading,
+ data: {
+ type: id
+ },
+ success: res => {
+ if (res.status == 1) {
+ if (res.data) {
+ res.data = res.data.replace(
+ /\
`${key}=${value}`)
+ .join('&')
+ return `?${str}`
+ },
+
+ /**
+ * @description: 跳转页面
+ * @param {*} type 跳转类型 1 navigate,2 redirect,3 switch,4 relaunch
+ * @param {*} url
+ * @param {*} query
+ * @return {*}
+ */
+ to({ type = 1, url, query = {}, success, fail, complete }) {
+ if (!url) {
+ this.toast({
+ title: '暂未开放'
+ })
+ return
+ }
+
+ if (Object.keys(query).length > 0) {
+ url += this.qs(query)
+ }
+
+ const opt = {
+ url,
+ success,
+ fail,
+ complete
+ }
+
+ const dic = {
+ 1: uni.navigateTo,
+ 2: uni.redirectTo,
+ 3: uni.switchTab,
+ 4: uni.reLaunch
+ }
+
+ const action = dic[type]
+
+ action(opt)
+ },
+
+ /**
+ * @description: 返回上一页
+ * @param {*} e
+ * @return {*}
+ */
+ back(e) {
+ /* 判断传入的是否是数字 */
+ let pages = getCurrentPages()
+ console.log('pgaes', pages)
+ if (pages.length >= 2) {
+ if (typeof e === 'number' && !isNaN(e)) {
+ /* 如果要跳转的长度小于页面栈数量 */
+ if (e < pages.length) {
+ uni.navigateBack({ delta: e })
+ /* 否则回首页 */
+ } else {
+ uni.switchTab({ url: '/pages/shouye/index' })
+ }
+ /* 默认返回上一级 */
+ } else {
+ uni.navigateBack({ delta: 1 })
+ }
+ } else {
+ uni.switchTab({ url: '/pages/shouye/index' })
+ }
+ },
+
+ /**
+ * @description: 提取富文本文字
+ * @param {*} val
+ * @return {*}
+ */
+ filterText(val) {
+ if (val) {
+ var replaceLbael = val.replace(/<[^>]+>/g,'')
+ return replaceLbael.replace(/ /ig,'')
+ } else {
+ return ''
+ }
+ },
+ // 返回上一页
+ $navBack(num = 1, time = 0) {
+ // 页面返回
+ setTimeout(() => {
+ uni.navigateBack({
+ delta: num,
+ fail: () => {
+ uni.reLaunch({
+ url: '/pages/shouye/index'
+ })
+ }
+ })
+ }, time * 1000)
+ },
+}
diff --git a/common/gotopage.js b/common/gotopage.js
new file mode 100644
index 0000000..c72eddb
--- /dev/null
+++ b/common/gotopage.js
@@ -0,0 +1,53 @@
+// import config from '../config.js'
+/*导航菜单白名单*/
+const tabBarLinks = [
+ '/pages/index/index',
+ '/pages/product/category',
+ '/pages/cart/cart',
+ '/pages/user/index/index'
+];
+
+/*分享页面白名单*/
+const shareLinks = [
+ '/pages/plus/assemble/fight-group-detail/fight-group-detail',
+ '/pages/plus/bargain/haggle/haggle',
+ '/pages/user/invite/invite',
+ '/pages/product/detail/detail',
+ '/pages/plus/seckill/detail/detail',
+ '/pages/plus/assemble/detail/detail',
+ '/pages/plus/bargain/detail/detail',
+ '/pages/plus/points/detail/detail'
+]
+
+/*
+ * 跳转页面
+ */
+export const gotopage = (url, type) => {
+ if (!url || url.length == 0) {
+ return false;
+ }
+
+
+ // tabBar页面
+ if (type == 'switch') {
+ uni.reLaunch({
+ url: url
+ });
+ } else {
+
+ if(type == 'redirect'){
+ uni.redirectTo({
+ url: url
+ });
+ }
+ if(type == 'reLaunch'){
+ uni.reLaunch({
+ url: url
+ });
+ }
+ // 普通页面
+ uni.navigateTo({
+ url: url
+ });
+ }
+}
diff --git a/components/.DS_Store b/components/.DS_Store
new file mode 100644
index 0000000..451cac9
Binary files /dev/null and b/components/.DS_Store differ
diff --git a/components/buy-notice/buy-notice.vue b/components/buy-notice/buy-notice.vue
new file mode 100644
index 0000000..adff602
--- /dev/null
+++ b/components/buy-notice/buy-notice.vue
@@ -0,0 +1,154 @@
+
+
+
+
+ 平台消费规则
+
+
+
+
+
+
+
+
+
+
+
+
+ 不再弹出消费规则
+
+
+
+ 退出
+
+
+ 同意规则并继续支付
+
+
+
+
+
+
+
+
+
diff --git a/components/child-scroll/child-scroll.vue b/components/child-scroll/child-scroll.vue
new file mode 100644
index 0000000..92e456d
--- /dev/null
+++ b/components/child-scroll/child-scroll.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
diff --git a/components/cmd-progress/cmd-progress.vue b/components/cmd-progress/cmd-progress.vue
new file mode 100644
index 0000000..0cdca12
--- /dev/null
+++ b/components/cmd-progress/cmd-progress.vue
@@ -0,0 +1,575 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{setFormat}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{setFormat}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseAudio.vue b/components/gaoyia-parse/components/wxParseAudio.vue
new file mode 100644
index 0000000..b277717
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseAudio.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseImg.vue b/components/gaoyia-parse/components/wxParseImg.vue
new file mode 100644
index 0000000..de9978b
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseImg.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTable.vue b/components/gaoyia-parse/components/wxParseTable.vue
new file mode 100644
index 0000000..e1e25bf
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTable.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/gaoyia-parse/components/wxParseTemplate0.vue b/components/gaoyia-parse/components/wxParseTemplate0.vue
new file mode 100644
index 0000000..01bf8e1
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate0.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate1.vue b/components/gaoyia-parse/components/wxParseTemplate1.vue
new file mode 100644
index 0000000..7054e35
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate1.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate10.vue b/components/gaoyia-parse/components/wxParseTemplate10.vue
new file mode 100644
index 0000000..11c252c
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate10.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate11.vue b/components/gaoyia-parse/components/wxParseTemplate11.vue
new file mode 100644
index 0000000..0d04e53
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate11.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate2.vue b/components/gaoyia-parse/components/wxParseTemplate2.vue
new file mode 100644
index 0000000..f06782a
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate2.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate3.vue b/components/gaoyia-parse/components/wxParseTemplate3.vue
new file mode 100644
index 0000000..b0943f8
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate3.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate4.vue b/components/gaoyia-parse/components/wxParseTemplate4.vue
new file mode 100644
index 0000000..8a43756
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate4.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate5.vue b/components/gaoyia-parse/components/wxParseTemplate5.vue
new file mode 100644
index 0000000..0c0993e
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate5.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate6.vue b/components/gaoyia-parse/components/wxParseTemplate6.vue
new file mode 100644
index 0000000..0dca28a
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate6.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate7.vue b/components/gaoyia-parse/components/wxParseTemplate7.vue
new file mode 100644
index 0000000..b62acaf
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate7.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate8.vue b/components/gaoyia-parse/components/wxParseTemplate8.vue
new file mode 100644
index 0000000..f6fa037
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate8.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseTemplate9.vue b/components/gaoyia-parse/components/wxParseTemplate9.vue
new file mode 100644
index 0000000..47ac81a
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseTemplate9.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \n
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{node.text}}
+
+
+
diff --git a/components/gaoyia-parse/components/wxParseVideo.vue b/components/gaoyia-parse/components/wxParseVideo.vue
new file mode 100644
index 0000000..7d05285
--- /dev/null
+++ b/components/gaoyia-parse/components/wxParseVideo.vue
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
diff --git a/components/gaoyia-parse/libs/html2json.js b/components/gaoyia-parse/libs/html2json.js
new file mode 100644
index 0000000..0927382
--- /dev/null
+++ b/components/gaoyia-parse/libs/html2json.js
@@ -0,0 +1,261 @@
+/**
+ * html2Json 改造来自: https://github.com/Jxck/html2json
+ *
+ *
+ * author: Di (微信小程序开发工程师)
+ * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)
+ * 垂直微信小程序开发交流社区
+ *
+ * github地址: https://github.com/icindy/wxParse
+ *
+ * for: 微信小程序富文本解析
+ * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184
+ */
+
+import wxDiscode from './wxDiscode';
+import HTMLParser from './htmlparser';
+
+function makeMap(str) {
+ const obj = {};
+ const items = str.split(',');
+ for (let i = 0; i < items.length; i += 1) obj[items[i]] = true;
+ return obj;
+}
+
+// Block Elements - HTML 5
+const block = makeMap('br,code,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video');
+
+// Inline Elements - HTML 5
+const inline = makeMap('a,abbr,acronym,applet,b,basefont,bdo,big,button,cite,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var');
+
+// Elements that you can, intentionally, leave open
+// (and which close themselves)
+const closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr');
+
+function removeDOCTYPE(html) {
+ const isDocument = /
([^]*)<\/body>/.test(html);
+ return isDocument ? RegExp.$1 : html;
+}
+
+function trimHtml(html) {
+ return html
+ .replace(//gi, '')
+ .replace(/\/\*.*?\*\//gi, '')
+ .replace(/[ ]+/gi, '')
+ .replace(/
diff --git a/components/lff-barrage/lff-barrage.vue b/components/lff-barrage/lff-barrage.vue
new file mode 100644
index 0000000..99e6640
--- /dev/null
+++ b/components/lff-barrage/lff-barrage.vue
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.item}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/lff-barrage/markdown.md b/components/lff-barrage/markdown.md
new file mode 100644
index 0000000..e709651
--- /dev/null
+++ b/components/lff-barrage/markdown.md
@@ -0,0 +1,15 @@
+#如何使用
+###js
+```javascript
+import lffBarrage from '@/components/lff-barrage/lff-barrage.vue'
+components:{lffBarrage},
+methods:{
+ colrdo(){ //插入一条弹幕
+ this.$refs.lffBarrage.add({item:'你好呀小伙子'});
+ }
+}
+```
+###HTML
+```html
+
+```
\ No newline at end of file
diff --git a/components/mpvue-citypicker/city-data/area.js b/components/mpvue-citypicker/city-data/area.js
new file mode 100644
index 0000000..3f6bc67
--- /dev/null
+++ b/components/mpvue-citypicker/city-data/area.js
@@ -0,0 +1,10465 @@
+/* eslint-disable */
+var areaData = [
+ [
+ [{
+ "label": "东城区",
+ "value": 3
+ }, {
+ "label": "西城区",
+ "value": 4
+ }, {
+ "label": "朝阳区",
+ "value": 5
+ }, {
+ "label": "丰台区",
+ "value": 6
+ }, {
+ "label": "石景山区",
+ "value": 7
+ }, {
+ "label": "海淀区",
+ "value": 8
+ }, {
+ "label": "门头沟区",
+ "value": 9
+ }, {
+ "label": "房山区",
+ "value": 10
+ }, {
+ "label": "通州区",
+ "value": 11
+ }, {
+ "label": "顺义区",
+ "value": 12
+ }, {
+ "label": "昌平区",
+ "value": 13
+ }, {
+ "label": "大兴区",
+ "value": 14
+ }, {
+ "label": "怀柔区",
+ "value": 15
+ }, {
+ "label": "平谷区",
+ "value": 16
+ }, {
+ "label": "密云县",
+ "value": 17
+ }, {
+ "label": "延庆县",
+ "value": 18
+ }]
+ ],
+ [
+ [{
+ "label": "和平区",
+ "value": 21
+ }, {
+ "label": "河东区",
+ "value": 22
+ }, {
+ "label": "河西区",
+ "value": 23
+ }, {
+ "label": "南开区",
+ "value": 24
+ }, {
+ "label": "河北区",
+ "value": 25
+ }, {
+ "label": "红桥区",
+ "value": 26
+ }, {
+ "label": "东丽区",
+ "value": 27
+ }, {
+ "label": "西青区",
+ "value": 28
+ }, {
+ "label": "津南区",
+ "value": 29
+ }, {
+ "label": "北辰区",
+ "value": 30
+ }, {
+ "label": "武清区",
+ "value": 31
+ }, {
+ "label": "宝坻区",
+ "value": 32
+ }, {
+ "label": "滨海新区",
+ "value": 33
+ }, {
+ "label": "宁河县",
+ "value": 34
+ }, {
+ "label": "静海县",
+ "value": 35
+ }, {
+ "label": "蓟县",
+ "value": 36
+ }]
+ ],
+ [
+ [{
+ "label": "长安区",
+ "value": 39
+ }, {
+ "label": "桥西区",
+ "value": 40
+ }, {
+ "label": "新华区",
+ "value": 41
+ }, {
+ "label": "井陉矿区",
+ "value": 42
+ }, {
+ "label": "裕华区",
+ "value": 43
+ }, {
+ "label": "藁城区",
+ "value": 44
+ }, {
+ "label": "鹿泉区",
+ "value": 45
+ }, {
+ "label": "栾城区",
+ "value": 46
+ }, {
+ "label": "井陉县",
+ "value": 47
+ }, {
+ "label": "正定县",
+ "value": 48
+ }, {
+ "label": "行唐县",
+ "value": 49
+ }, {
+ "label": "灵寿县",
+ "value": 50
+ }, {
+ "label": "高邑县",
+ "value": 51
+ }, {
+ "label": "深泽县",
+ "value": 52
+ }, {
+ "label": "赞皇县",
+ "value": 53
+ }, {
+ "label": "无极县",
+ "value": 54
+ }, {
+ "label": "平山县",
+ "value": 55
+ }, {
+ "label": "元氏县",
+ "value": 56
+ }, {
+ "label": "赵县",
+ "value": 57
+ }, {
+ "label": "辛集市",
+ "value": 58
+ }, {
+ "label": "晋州市",
+ "value": 59
+ }, {
+ "label": "新乐市",
+ "value": 60
+ }],
+ [{
+ "label": "路南区",
+ "value": 62
+ }, {
+ "label": "路北区",
+ "value": 63
+ }, {
+ "label": "古冶区",
+ "value": 64
+ }, {
+ "label": "开平区",
+ "value": 65
+ }, {
+ "label": "丰南区",
+ "value": 66
+ }, {
+ "label": "丰润区",
+ "value": 67
+ }, {
+ "label": "曹妃甸区",
+ "value": 68
+ }, {
+ "label": "滦县",
+ "value": 69
+ }, {
+ "label": "滦南县",
+ "value": 70
+ }, {
+ "label": "乐亭县",
+ "value": 71
+ }, {
+ "label": "迁西县",
+ "value": 72
+ }, {
+ "label": "玉田县",
+ "value": 73
+ }, {
+ "label": "遵化市",
+ "value": 74
+ }, {
+ "label": "迁安市",
+ "value": 75
+ }],
+ [{
+ "label": "海港区",
+ "value": 77
+ }, {
+ "label": "山海关区",
+ "value": 78
+ }, {
+ "label": "北戴河区",
+ "value": 79
+ }, {
+ "label": "青龙满族自治县",
+ "value": 80
+ }, {
+ "label": "昌黎县",
+ "value": 81
+ }, {
+ "label": "抚宁县",
+ "value": 82
+ }, {
+ "label": "卢龙县",
+ "value": 83
+ }],
+ [{
+ "label": "邯山区",
+ "value": 85
+ }, {
+ "label": "丛台区",
+ "value": 86
+ }, {
+ "label": "复兴区",
+ "value": 87
+ }, {
+ "label": "峰峰矿区",
+ "value": 88
+ }, {
+ "label": "邯郸县",
+ "value": 89
+ }, {
+ "label": "临漳县",
+ "value": 90
+ }, {
+ "label": "成安县",
+ "value": 91
+ }, {
+ "label": "大名县",
+ "value": 92
+ }, {
+ "label": "涉县",
+ "value": 93
+ }, {
+ "label": "磁县",
+ "value": 94
+ }, {
+ "label": "肥乡县",
+ "value": 95
+ }, {
+ "label": "永年县",
+ "value": 96
+ }, {
+ "label": "邱县",
+ "value": 97
+ }, {
+ "label": "鸡泽县",
+ "value": 98
+ }, {
+ "label": "广平县",
+ "value": 99
+ }, {
+ "label": "馆陶县",
+ "value": 100
+ }, {
+ "label": "魏县",
+ "value": 101
+ }, {
+ "label": "曲周县",
+ "value": 102
+ }, {
+ "label": "武安市",
+ "value": 103
+ }],
+ [{
+ "label": "桥东区",
+ "value": 105
+ }, {
+ "label": "桥西区",
+ "value": 106
+ }, {
+ "label": "邢台县",
+ "value": 107
+ }, {
+ "label": "临城县",
+ "value": 108
+ }, {
+ "label": "内丘县",
+ "value": 109
+ }, {
+ "label": "柏乡县",
+ "value": 110
+ }, {
+ "label": "隆尧县",
+ "value": 111
+ }, {
+ "label": "任县",
+ "value": 112
+ }, {
+ "label": "南和县",
+ "value": 113
+ }, {
+ "label": "宁晋县",
+ "value": 114
+ }, {
+ "label": "巨鹿县",
+ "value": 115
+ }, {
+ "label": "新河县",
+ "value": 116
+ }, {
+ "label": "广宗县",
+ "value": 117
+ }, {
+ "label": "平乡县",
+ "value": 118
+ }, {
+ "label": "威县",
+ "value": 119
+ }, {
+ "label": "清河县",
+ "value": 120
+ }, {
+ "label": "临西县",
+ "value": 121
+ }, {
+ "label": "南宫市",
+ "value": 122
+ }, {
+ "label": "沙河市",
+ "value": 123
+ }],
+ [{
+ "label": "新市区",
+ "value": 125
+ }, {
+ "label": "北市区",
+ "value": 126
+ }, {
+ "label": "南市区",
+ "value": 127
+ }, {
+ "label": "满城县",
+ "value": 128
+ }, {
+ "label": "清苑县",
+ "value": 129
+ }, {
+ "label": "涞水县",
+ "value": 130
+ }, {
+ "label": "阜平县",
+ "value": 131
+ }, {
+ "label": "徐水县",
+ "value": 132
+ }, {
+ "label": "定兴县",
+ "value": 133
+ }, {
+ "label": "唐县",
+ "value": 134
+ }, {
+ "label": "高阳县",
+ "value": 135
+ }, {
+ "label": "容城县",
+ "value": 136
+ }, {
+ "label": "涞源县",
+ "value": 137
+ }, {
+ "label": "望都县",
+ "value": 138
+ }, {
+ "label": "安新县",
+ "value": 139
+ }, {
+ "label": "易县",
+ "value": 140
+ }, {
+ "label": "曲阳县",
+ "value": 141
+ }, {
+ "label": "蠡县",
+ "value": 142
+ }, {
+ "label": "顺平县",
+ "value": 143
+ }, {
+ "label": "博野县",
+ "value": 144
+ }, {
+ "label": "雄县",
+ "value": 145
+ }, {
+ "label": "涿州市",
+ "value": 146
+ }, {
+ "label": "定州市",
+ "value": 147
+ }, {
+ "label": "安国市",
+ "value": 148
+ }, {
+ "label": "高碑店市",
+ "value": 149
+ }],
+ [{
+ "label": "桥东区",
+ "value": 151
+ }, {
+ "label": "桥西区",
+ "value": 152
+ }, {
+ "label": "宣化区",
+ "value": 153
+ }, {
+ "label": "下花园区",
+ "value": 154
+ }, {
+ "label": "宣化县",
+ "value": 155
+ }, {
+ "label": "张北县",
+ "value": 156
+ }, {
+ "label": "康保县",
+ "value": 157
+ }, {
+ "label": "沽源县",
+ "value": 158
+ }, {
+ "label": "尚义县",
+ "value": 159
+ }, {
+ "label": "蔚县",
+ "value": 160
+ }, {
+ "label": "阳原县",
+ "value": 161
+ }, {
+ "label": "怀安县",
+ "value": 162
+ }, {
+ "label": "万全县",
+ "value": 163
+ }, {
+ "label": "怀来县",
+ "value": 164
+ }, {
+ "label": "涿鹿县",
+ "value": 165
+ }, {
+ "label": "赤城县",
+ "value": 166
+ }, {
+ "label": "崇礼县",
+ "value": 167
+ }],
+ [{
+ "label": "双桥区",
+ "value": 169
+ }, {
+ "label": "双滦区",
+ "value": 170
+ }, {
+ "label": "鹰手营子矿区",
+ "value": 171
+ }, {
+ "label": "承德县",
+ "value": 172
+ }, {
+ "label": "兴隆县",
+ "value": 173
+ }, {
+ "label": "平泉县",
+ "value": 174
+ }, {
+ "label": "滦平县",
+ "value": 175
+ }, {
+ "label": "隆化县",
+ "value": 176
+ }, {
+ "label": "丰宁满族自治县",
+ "value": 177
+ }, {
+ "label": "宽城满族自治县",
+ "value": 178
+ }, {
+ "label": "围场满族蒙古族自治县",
+ "value": 179
+ }],
+ [{
+ "label": "新华区",
+ "value": 181
+ }, {
+ "label": "运河区",
+ "value": 182
+ }, {
+ "label": "沧县",
+ "value": 183
+ }, {
+ "label": "青县",
+ "value": 184
+ }, {
+ "label": "东光县",
+ "value": 185
+ }, {
+ "label": "海兴县",
+ "value": 186
+ }, {
+ "label": "盐山县",
+ "value": 187
+ }, {
+ "label": "肃宁县",
+ "value": 188
+ }, {
+ "label": "南皮县",
+ "value": 189
+ }, {
+ "label": "吴桥县",
+ "value": 190
+ }, {
+ "label": "献县",
+ "value": 191
+ }, {
+ "label": "孟村回族自治县",
+ "value": 192
+ }, {
+ "label": "泊头市",
+ "value": 193
+ }, {
+ "label": "任丘市",
+ "value": 194
+ }, {
+ "label": "黄骅市",
+ "value": 195
+ }, {
+ "label": "河间市",
+ "value": 196
+ }],
+ [{
+ "label": "安次区",
+ "value": 198
+ }, {
+ "label": "广阳区",
+ "value": 199
+ }, {
+ "label": "固安县",
+ "value": 200
+ }, {
+ "label": "永清县",
+ "value": 201
+ }, {
+ "label": "香河县",
+ "value": 202
+ }, {
+ "label": "大城县",
+ "value": 203
+ }, {
+ "label": "文安县",
+ "value": 204
+ }, {
+ "label": "大厂回族自治县",
+ "value": 205
+ }, {
+ "label": "霸州市",
+ "value": 206
+ }, {
+ "label": "三河市",
+ "value": 207
+ }],
+ [{
+ "label": "桃城区",
+ "value": 209
+ }, {
+ "label": "枣强县",
+ "value": 210
+ }, {
+ "label": "武邑县",
+ "value": 211
+ }, {
+ "label": "武强县",
+ "value": 212
+ }, {
+ "label": "饶阳县",
+ "value": 213
+ }, {
+ "label": "安平县",
+ "value": 214
+ }, {
+ "label": "故城县",
+ "value": 215
+ }, {
+ "label": "景县",
+ "value": 216
+ }, {
+ "label": "阜城县",
+ "value": 217
+ }, {
+ "label": "冀州市",
+ "value": 218
+ }, {
+ "label": "深州市",
+ "value": 219
+ }]
+ ],
+ [
+ [{
+ "label": "小店区",
+ "value": 222
+ }, {
+ "label": "迎泽区",
+ "value": 223
+ }, {
+ "label": "杏花岭区",
+ "value": 224
+ }, {
+ "label": "尖草坪区",
+ "value": 225
+ }, {
+ "label": "万柏林区",
+ "value": 226
+ }, {
+ "label": "晋源区",
+ "value": 227
+ }, {
+ "label": "清徐县",
+ "value": 228
+ }, {
+ "label": "阳曲县",
+ "value": 229
+ }, {
+ "label": "娄烦县",
+ "value": 230
+ }, {
+ "label": "古交市",
+ "value": 231
+ }],
+ [{
+ "label": "城区",
+ "value": 233
+ }, {
+ "label": "矿区",
+ "value": 234
+ }, {
+ "label": "南郊区",
+ "value": 235
+ }, {
+ "label": "新荣区",
+ "value": 236
+ }, {
+ "label": "阳高县",
+ "value": 237
+ }, {
+ "label": "天镇县",
+ "value": 238
+ }, {
+ "label": "广灵县",
+ "value": 239
+ }, {
+ "label": "灵丘县",
+ "value": 240
+ }, {
+ "label": "浑源县",
+ "value": 241
+ }, {
+ "label": "左云县",
+ "value": 242
+ }, {
+ "label": "大同县",
+ "value": 243
+ }],
+ [{
+ "label": "城区",
+ "value": 245
+ }, {
+ "label": "矿区",
+ "value": 246
+ }, {
+ "label": "郊区",
+ "value": 247
+ }, {
+ "label": "平定县",
+ "value": 248
+ }, {
+ "label": "盂县",
+ "value": 249
+ }],
+ [{
+ "label": "城区",
+ "value": 251
+ }, {
+ "label": "郊区",
+ "value": 252
+ }, {
+ "label": "长治县",
+ "value": 253
+ }, {
+ "label": "襄垣县",
+ "value": 254
+ }, {
+ "label": "屯留县",
+ "value": 255
+ }, {
+ "label": "平顺县",
+ "value": 256
+ }, {
+ "label": "黎城县",
+ "value": 257
+ }, {
+ "label": "壶关县",
+ "value": 258
+ }, {
+ "label": "长子县",
+ "value": 259
+ }, {
+ "label": "武乡县",
+ "value": 260
+ }, {
+ "label": "沁县",
+ "value": 261
+ }, {
+ "label": "沁源县",
+ "value": 262
+ }, {
+ "label": "潞城市",
+ "value": 263
+ }],
+ [{
+ "label": "城区",
+ "value": 265
+ }, {
+ "label": "沁水县",
+ "value": 266
+ }, {
+ "label": "阳城县",
+ "value": 267
+ }, {
+ "label": "陵川县",
+ "value": 268
+ }, {
+ "label": "泽州县",
+ "value": 269
+ }, {
+ "label": "高平市",
+ "value": 270
+ }],
+ [{
+ "label": "朔城区",
+ "value": 272
+ }, {
+ "label": "平鲁区",
+ "value": 273
+ }, {
+ "label": "山阴县",
+ "value": 274
+ }, {
+ "label": "应县",
+ "value": 275
+ }, {
+ "label": "右玉县",
+ "value": 276
+ }, {
+ "label": "怀仁县",
+ "value": 277
+ }],
+ [{
+ "label": "榆次区",
+ "value": 279
+ }, {
+ "label": "榆社县",
+ "value": 280
+ }, {
+ "label": "左权县",
+ "value": 281
+ }, {
+ "label": "和顺县",
+ "value": 282
+ }, {
+ "label": "昔阳县",
+ "value": 283
+ }, {
+ "label": "寿阳县",
+ "value": 284
+ }, {
+ "label": "太谷县",
+ "value": 285
+ }, {
+ "label": "祁县",
+ "value": 286
+ }, {
+ "label": "平遥县",
+ "value": 287
+ }, {
+ "label": "灵石县",
+ "value": 288
+ }, {
+ "label": "介休市",
+ "value": 289
+ }],
+ [{
+ "label": "盐湖区",
+ "value": 291
+ }, {
+ "label": "临猗县",
+ "value": 292
+ }, {
+ "label": "万荣县",
+ "value": 293
+ }, {
+ "label": "闻喜县",
+ "value": 294
+ }, {
+ "label": "稷山县",
+ "value": 295
+ }, {
+ "label": "新绛县",
+ "value": 296
+ }, {
+ "label": "绛县",
+ "value": 297
+ }, {
+ "label": "垣曲县",
+ "value": 298
+ }, {
+ "label": "夏县",
+ "value": 299
+ }, {
+ "label": "平陆县",
+ "value": 300
+ }, {
+ "label": "芮城县",
+ "value": 301
+ }, {
+ "label": "永济市",
+ "value": 302
+ }, {
+ "label": "河津市",
+ "value": 303
+ }],
+ [{
+ "label": "忻府区",
+ "value": 305
+ }, {
+ "label": "定襄县",
+ "value": 306
+ }, {
+ "label": "五台县",
+ "value": 307
+ }, {
+ "label": "代县",
+ "value": 308
+ }, {
+ "label": "繁峙县",
+ "value": 309
+ }, {
+ "label": "宁武县",
+ "value": 310
+ }, {
+ "label": "静乐县",
+ "value": 311
+ }, {
+ "label": "神池县",
+ "value": 312
+ }, {
+ "label": "五寨县",
+ "value": 313
+ }, {
+ "label": "岢岚县",
+ "value": 314
+ }, {
+ "label": "河曲县",
+ "value": 315
+ }, {
+ "label": "保德县",
+ "value": 316
+ }, {
+ "label": "偏关县",
+ "value": 317
+ }, {
+ "label": "原平市",
+ "value": 318
+ }],
+ [{
+ "label": "尧都区",
+ "value": 320
+ }, {
+ "label": "曲沃县",
+ "value": 321
+ }, {
+ "label": "翼城县",
+ "value": 322
+ }, {
+ "label": "襄汾县",
+ "value": 323
+ }, {
+ "label": "洪洞县",
+ "value": 324
+ }, {
+ "label": "古县",
+ "value": 325
+ }, {
+ "label": "安泽县",
+ "value": 326
+ }, {
+ "label": "浮山县",
+ "value": 327
+ }, {
+ "label": "吉县",
+ "value": 328
+ }, {
+ "label": "乡宁县",
+ "value": 329
+ }, {
+ "label": "大宁县",
+ "value": 330
+ }, {
+ "label": "隰县",
+ "value": 331
+ }, {
+ "label": "永和县",
+ "value": 332
+ }, {
+ "label": "蒲县",
+ "value": 333
+ }, {
+ "label": "汾西县",
+ "value": 334
+ }, {
+ "label": "侯马市",
+ "value": 335
+ }, {
+ "label": "霍州市",
+ "value": 336
+ }],
+ [{
+ "label": "离石区",
+ "value": 338
+ }, {
+ "label": "文水县",
+ "value": 339
+ }, {
+ "label": "交城县",
+ "value": 340
+ }, {
+ "label": "兴县",
+ "value": 341
+ }, {
+ "label": "临县",
+ "value": 342
+ }, {
+ "label": "柳林县",
+ "value": 343
+ }, {
+ "label": "石楼县",
+ "value": 344
+ }, {
+ "label": "岚县",
+ "value": 345
+ }, {
+ "label": "方山县",
+ "value": 346
+ }, {
+ "label": "中阳县",
+ "value": 347
+ }, {
+ "label": "交口县",
+ "value": 348
+ }, {
+ "label": "孝义市",
+ "value": 349
+ }, {
+ "label": "汾阳市",
+ "value": 350
+ }]
+ ],
+ [
+ [{
+ "label": "新城区",
+ "value": 353
+ }, {
+ "label": "回民区",
+ "value": 354
+ }, {
+ "label": "玉泉区",
+ "value": 355
+ }, {
+ "label": "赛罕区",
+ "value": 356
+ }, {
+ "label": "土默特左旗",
+ "value": 357
+ }, {
+ "label": "托克托县",
+ "value": 358
+ }, {
+ "label": "和林格尔县",
+ "value": 359
+ }, {
+ "label": "清水河县",
+ "value": 360
+ }, {
+ "label": "武川县",
+ "value": 361
+ }],
+ [{
+ "label": "东河区",
+ "value": 363
+ }, {
+ "label": "昆都仑区",
+ "value": 364
+ }, {
+ "label": "青山区",
+ "value": 365
+ }, {
+ "label": "石拐区",
+ "value": 366
+ }, {
+ "label": "白云鄂博矿区",
+ "value": 367
+ }, {
+ "label": "九原区",
+ "value": 368
+ }, {
+ "label": "土默特右旗",
+ "value": 369
+ }, {
+ "label": "固阳县",
+ "value": 370
+ }, {
+ "label": "达尔罕茂明安联合旗",
+ "value": 371
+ }],
+ [{
+ "label": "海勃湾区",
+ "value": 373
+ }, {
+ "label": "海南区",
+ "value": 374
+ }, {
+ "label": "乌达区",
+ "value": 375
+ }],
+ [{
+ "label": "红山区",
+ "value": 377
+ }, {
+ "label": "元宝山区",
+ "value": 378
+ }, {
+ "label": "松山区",
+ "value": 379
+ }, {
+ "label": "阿鲁科尔沁旗",
+ "value": 380
+ }, {
+ "label": "巴林左旗",
+ "value": 381
+ }, {
+ "label": "巴林右旗",
+ "value": 382
+ }, {
+ "label": "林西县",
+ "value": 383
+ }, {
+ "label": "克什克腾旗",
+ "value": 384
+ }, {
+ "label": "翁牛特旗",
+ "value": 385
+ }, {
+ "label": "喀喇沁旗",
+ "value": 386
+ }, {
+ "label": "宁城县",
+ "value": 387
+ }, {
+ "label": "敖汉旗",
+ "value": 388
+ }],
+ [{
+ "label": "科尔沁区",
+ "value": 390
+ }, {
+ "label": "科尔沁左翼中旗",
+ "value": 391
+ }, {
+ "label": "科尔沁左翼后旗",
+ "value": 392
+ }, {
+ "label": "开鲁县",
+ "value": 393
+ }, {
+ "label": "库伦旗",
+ "value": 394
+ }, {
+ "label": "奈曼旗",
+ "value": 395
+ }, {
+ "label": "扎鲁特旗",
+ "value": 396
+ }, {
+ "label": "霍林郭勒市",
+ "value": 397
+ }],
+ [{
+ "label": "东胜区",
+ "value": 399
+ }, {
+ "label": "达拉特旗",
+ "value": 400
+ }, {
+ "label": "准格尔旗",
+ "value": 401
+ }, {
+ "label": "鄂托克前旗",
+ "value": 402
+ }, {
+ "label": "鄂托克旗",
+ "value": 403
+ }, {
+ "label": "杭锦旗",
+ "value": 404
+ }, {
+ "label": "乌审旗",
+ "value": 405
+ }, {
+ "label": "伊金霍洛旗",
+ "value": 406
+ }],
+ [{
+ "label": "海拉尔区",
+ "value": 408
+ }, {
+ "label": "扎赉诺尔区",
+ "value": 409
+ }, {
+ "label": "阿荣旗",
+ "value": 410
+ }, {
+ "label": "莫力达瓦达斡尔族自治旗",
+ "value": 411
+ }, {
+ "label": "鄂伦春自治旗",
+ "value": 412
+ }, {
+ "label": "鄂温克族自治旗",
+ "value": 413
+ }, {
+ "label": "陈巴尔虎旗",
+ "value": 414
+ }, {
+ "label": "新巴尔虎左旗",
+ "value": 415
+ }, {
+ "label": "新巴尔虎右旗",
+ "value": 416
+ }, {
+ "label": "满洲里市",
+ "value": 417
+ }, {
+ "label": "牙克石市",
+ "value": 418
+ }, {
+ "label": "扎兰屯市",
+ "value": 419
+ }, {
+ "label": "额尔古纳市",
+ "value": 420
+ }, {
+ "label": "根河市",
+ "value": 421
+ }],
+ [{
+ "label": "临河区",
+ "value": 423
+ }, {
+ "label": "五原县",
+ "value": 424
+ }, {
+ "label": "磴口县",
+ "value": 425
+ }, {
+ "label": "乌拉特前旗",
+ "value": 426
+ }, {
+ "label": "乌拉特中旗",
+ "value": 427
+ }, {
+ "label": "乌拉特后旗",
+ "value": 428
+ }, {
+ "label": "杭锦后旗",
+ "value": 429
+ }],
+ [{
+ "label": "集宁区",
+ "value": 431
+ }, {
+ "label": "卓资县",
+ "value": 432
+ }, {
+ "label": "化德县",
+ "value": 433
+ }, {
+ "label": "商都县",
+ "value": 434
+ }, {
+ "label": "兴和县",
+ "value": 435
+ }, {
+ "label": "凉城县",
+ "value": 436
+ }, {
+ "label": "察哈尔右翼前旗",
+ "value": 437
+ }, {
+ "label": "察哈尔右翼中旗",
+ "value": 438
+ }, {
+ "label": "察哈尔右翼后旗",
+ "value": 439
+ }, {
+ "label": "四子王旗",
+ "value": 440
+ }, {
+ "label": "丰镇市",
+ "value": 441
+ }],
+ [{
+ "label": "乌兰浩特市",
+ "value": 443
+ }, {
+ "label": "阿尔山市",
+ "value": 444
+ }, {
+ "label": "科尔沁右翼前旗",
+ "value": 445
+ }, {
+ "label": "科尔沁右翼中旗",
+ "value": 446
+ }, {
+ "label": "扎赉特旗",
+ "value": 447
+ }, {
+ "label": "突泉县",
+ "value": 448
+ }],
+ [{
+ "label": "二连浩特市",
+ "value": 450
+ }, {
+ "label": "锡林浩特市",
+ "value": 451
+ }, {
+ "label": "阿巴嘎旗",
+ "value": 452
+ }, {
+ "label": "苏尼特左旗",
+ "value": 453
+ }, {
+ "label": "苏尼特右旗",
+ "value": 454
+ }, {
+ "label": "东乌珠穆沁旗",
+ "value": 455
+ }, {
+ "label": "西乌珠穆沁旗",
+ "value": 456
+ }, {
+ "label": "太仆寺旗",
+ "value": 457
+ }, {
+ "label": "镶黄旗",
+ "value": 458
+ }, {
+ "label": "正镶白旗",
+ "value": 459
+ }, {
+ "label": "正蓝旗",
+ "value": 460
+ }, {
+ "label": "多伦县",
+ "value": 461
+ }],
+ [{
+ "label": "阿拉善左旗",
+ "value": 463
+ }, {
+ "label": "阿拉善右旗",
+ "value": 464
+ }, {
+ "label": "额济纳旗",
+ "value": 465
+ }]
+ ],
+ [
+ [{
+ "label": "和平区",
+ "value": 468
+ }, {
+ "label": "沈河区",
+ "value": 469
+ }, {
+ "label": "大东区",
+ "value": 470
+ }, {
+ "label": "皇姑区",
+ "value": 471
+ }, {
+ "label": "铁西区",
+ "value": 472
+ }, {
+ "label": "苏家屯区",
+ "value": 473
+ }, {
+ "label": "浑南区",
+ "value": 474
+ }, {
+ "label": "沈北新区",
+ "value": 475
+ }, {
+ "label": "于洪区",
+ "value": 476
+ }, {
+ "label": "辽中县",
+ "value": 477
+ }, {
+ "label": "康平县",
+ "value": 478
+ }, {
+ "label": "法库县",
+ "value": 479
+ }, {
+ "label": "新民市",
+ "value": 480
+ }],
+ [{
+ "label": "中山区",
+ "value": 482
+ }, {
+ "label": "西岗区",
+ "value": 483
+ }, {
+ "label": "沙河口区",
+ "value": 484
+ }, {
+ "label": "甘井子区",
+ "value": 485
+ }, {
+ "label": "旅顺口区",
+ "value": 486
+ }, {
+ "label": "金州区",
+ "value": 487
+ }, {
+ "label": "长海县",
+ "value": 488
+ }, {
+ "label": "瓦房店市",
+ "value": 489
+ }, {
+ "label": "普兰店市",
+ "value": 490
+ }, {
+ "label": "庄河市",
+ "value": 491
+ }],
+ [{
+ "label": "铁东区",
+ "value": 493
+ }, {
+ "label": "铁西区",
+ "value": 494
+ }, {
+ "label": "立山区",
+ "value": 495
+ }, {
+ "label": "千山区",
+ "value": 496
+ }, {
+ "label": "台安县",
+ "value": 497
+ }, {
+ "label": "岫岩满族自治县",
+ "value": 498
+ }, {
+ "label": "海城市",
+ "value": 499
+ }],
+ [{
+ "label": "新抚区",
+ "value": 501
+ }, {
+ "label": "东洲区",
+ "value": 502
+ }, {
+ "label": "望花区",
+ "value": 503
+ }, {
+ "label": "顺城区",
+ "value": 504
+ }, {
+ "label": "抚顺县",
+ "value": 505
+ }, {
+ "label": "新宾满族自治县",
+ "value": 506
+ }, {
+ "label": "清原满族自治县",
+ "value": 507
+ }],
+ [{
+ "label": "平山区",
+ "value": 509
+ }, {
+ "label": "溪湖区",
+ "value": 510
+ }, {
+ "label": "明山区",
+ "value": 511
+ }, {
+ "label": "南芬区",
+ "value": 512
+ }, {
+ "label": "本溪满族自治县",
+ "value": 513
+ }, {
+ "label": "桓仁满族自治县",
+ "value": 514
+ }],
+ [{
+ "label": "元宝区",
+ "value": 516
+ }, {
+ "label": "振兴区",
+ "value": 517
+ }, {
+ "label": "振安区",
+ "value": 518
+ }, {
+ "label": "宽甸满族自治县",
+ "value": 519
+ }, {
+ "label": "东港市",
+ "value": 520
+ }, {
+ "label": "凤城市",
+ "value": 521
+ }],
+ [{
+ "label": "古塔区",
+ "value": 523
+ }, {
+ "label": "凌河区",
+ "value": 524
+ }, {
+ "label": "太和区",
+ "value": 525
+ }, {
+ "label": "黑山县",
+ "value": 526
+ }, {
+ "label": "义县",
+ "value": 527
+ }, {
+ "label": "凌海市",
+ "value": 528
+ }, {
+ "label": "北镇市",
+ "value": 529
+ }],
+ [{
+ "label": "站前区",
+ "value": 531
+ }, {
+ "label": "西市区",
+ "value": 532
+ }, {
+ "label": "鲅鱼圈区",
+ "value": 533
+ }, {
+ "label": "老边区",
+ "value": 534
+ }, {
+ "label": "盖州市",
+ "value": 535
+ }, {
+ "label": "大石桥市",
+ "value": 536
+ }],
+ [{
+ "label": "海州区",
+ "value": 538
+ }, {
+ "label": "新邱区",
+ "value": 539
+ }, {
+ "label": "太平区",
+ "value": 540
+ }, {
+ "label": "清河门区",
+ "value": 541
+ }, {
+ "label": "细河区",
+ "value": 542
+ }, {
+ "label": "阜新蒙古族自治县",
+ "value": 543
+ }, {
+ "label": "彰武县",
+ "value": 544
+ }],
+ [{
+ "label": "白塔区",
+ "value": 546
+ }, {
+ "label": "文圣区",
+ "value": 547
+ }, {
+ "label": "宏伟区",
+ "value": 548
+ }, {
+ "label": "弓长岭区",
+ "value": 549
+ }, {
+ "label": "太子河区",
+ "value": 550
+ }, {
+ "label": "辽阳县",
+ "value": 551
+ }, {
+ "label": "灯塔市",
+ "value": 552
+ }],
+ [{
+ "label": "双台子区",
+ "value": 554
+ }, {
+ "label": "兴隆台区",
+ "value": 555
+ }, {
+ "label": "大洼县",
+ "value": 556
+ }, {
+ "label": "盘山县",
+ "value": 557
+ }],
+ [{
+ "label": "银州区",
+ "value": 559
+ }, {
+ "label": "清河区",
+ "value": 560
+ }, {
+ "label": "铁岭县",
+ "value": 561
+ }, {
+ "label": "西丰县",
+ "value": 562
+ }, {
+ "label": "昌图县",
+ "value": 563
+ }, {
+ "label": "调兵山市",
+ "value": 564
+ }, {
+ "label": "开原市",
+ "value": 565
+ }],
+ [{
+ "label": "双塔区",
+ "value": 567
+ }, {
+ "label": "龙城区",
+ "value": 568
+ }, {
+ "label": "朝阳县",
+ "value": 569
+ }, {
+ "label": "建平县",
+ "value": 570
+ }, {
+ "label": "喀喇沁左翼蒙古族自治县",
+ "value": 571
+ }, {
+ "label": "北票市",
+ "value": 572
+ }, {
+ "label": "凌源市",
+ "value": 573
+ }],
+ [{
+ "label": "连山区",
+ "value": 575
+ }, {
+ "label": "龙港区",
+ "value": 576
+ }, {
+ "label": "南票区",
+ "value": 577
+ }, {
+ "label": "绥中县",
+ "value": 578
+ }, {
+ "label": "建昌县",
+ "value": 579
+ }, {
+ "label": "兴城市",
+ "value": 580
+ }],
+ [{
+ "label": "金州新区",
+ "value": 582
+ }, {
+ "label": "普湾新区",
+ "value": 583
+ }, {
+ "label": "保税区",
+ "value": 584
+ }]
+ ],
+ [
+ [{
+ "label": "南关区",
+ "value": 587
+ }, {
+ "label": "宽城区",
+ "value": 588
+ }, {
+ "label": "朝阳区",
+ "value": 589
+ }, {
+ "label": "二道区",
+ "value": 590
+ }, {
+ "label": "绿园区",
+ "value": 591
+ }, {
+ "label": "双阳区",
+ "value": 592
+ }, {
+ "label": "九台区",
+ "value": 593
+ }, {
+ "label": "农安县",
+ "value": 594
+ }, {
+ "label": "榆树市",
+ "value": 595
+ }, {
+ "label": "德惠市",
+ "value": 596
+ }],
+ [{
+ "label": "昌邑区",
+ "value": 598
+ }, {
+ "label": "龙潭区",
+ "value": 599
+ }, {
+ "label": "船营区",
+ "value": 600
+ }, {
+ "label": "丰满区",
+ "value": 601
+ }, {
+ "label": "永吉县",
+ "value": 602
+ }, {
+ "label": "蛟河市",
+ "value": 603
+ }, {
+ "label": "桦甸市",
+ "value": 604
+ }, {
+ "label": "舒兰市",
+ "value": 605
+ }, {
+ "label": "磐石市",
+ "value": 606
+ }],
+ [{
+ "label": "铁西区",
+ "value": 608
+ }, {
+ "label": "铁东区",
+ "value": 609
+ }, {
+ "label": "梨树县",
+ "value": 610
+ }, {
+ "label": "伊通满族自治县",
+ "value": 611
+ }, {
+ "label": "公主岭市",
+ "value": 612
+ }, {
+ "label": "双辽市",
+ "value": 613
+ }],
+ [{
+ "label": "龙山区",
+ "value": 615
+ }, {
+ "label": "西安区",
+ "value": 616
+ }, {
+ "label": "东丰县",
+ "value": 617
+ }, {
+ "label": "东辽县",
+ "value": 618
+ }],
+ [{
+ "label": "东昌区",
+ "value": 620
+ }, {
+ "label": "二道江区",
+ "value": 621
+ }, {
+ "label": "通化县",
+ "value": 622
+ }, {
+ "label": "辉南县",
+ "value": 623
+ }, {
+ "label": "柳河县",
+ "value": 624
+ }, {
+ "label": "梅河口市",
+ "value": 625
+ }, {
+ "label": "集安市",
+ "value": 626
+ }],
+ [{
+ "label": "浑江区",
+ "value": 628
+ }, {
+ "label": "江源区",
+ "value": 629
+ }, {
+ "label": "抚松县",
+ "value": 630
+ }, {
+ "label": "靖宇县",
+ "value": 631
+ }, {
+ "label": "长白朝鲜族自治县",
+ "value": 632
+ }, {
+ "label": "临江市",
+ "value": 633
+ }],
+ [{
+ "label": "宁江区",
+ "value": 635
+ }, {
+ "label": "前郭尔罗斯蒙古族自治县",
+ "value": 636
+ }, {
+ "label": "长岭县",
+ "value": 637
+ }, {
+ "label": "乾安县",
+ "value": 638
+ }, {
+ "label": "扶余市",
+ "value": 639
+ }],
+ [{
+ "label": "洮北区",
+ "value": 641
+ }, {
+ "label": "镇赉县",
+ "value": 642
+ }, {
+ "label": "通榆县",
+ "value": 643
+ }, {
+ "label": "洮南市",
+ "value": 644
+ }, {
+ "label": "大安市",
+ "value": 645
+ }],
+ [{
+ "label": "延吉市",
+ "value": 647
+ }, {
+ "label": "图们市",
+ "value": 648
+ }, {
+ "label": "敦化市",
+ "value": 649
+ }, {
+ "label": "珲春市",
+ "value": 650
+ }, {
+ "label": "龙井市",
+ "value": 651
+ }, {
+ "label": "和龙市",
+ "value": 652
+ }, {
+ "label": "汪清县",
+ "value": 653
+ }, {
+ "label": "安图县",
+ "value": 654
+ }]
+ ],
+ [
+ [{
+ "label": "道里区",
+ "value": 657
+ }, {
+ "label": "南岗区",
+ "value": 658
+ }, {
+ "label": "道外区",
+ "value": 659
+ }, {
+ "label": "平房区",
+ "value": 660
+ }, {
+ "label": "松北区",
+ "value": 661
+ }, {
+ "label": "香坊区",
+ "value": 662
+ }, {
+ "label": "呼兰区",
+ "value": 663
+ }, {
+ "label": "阿城区",
+ "value": 664
+ }, {
+ "label": "双城区",
+ "value": 665
+ }, {
+ "label": "依兰县",
+ "value": 666
+ }, {
+ "label": "方正县",
+ "value": 667
+ }, {
+ "label": "宾县",
+ "value": 668
+ }, {
+ "label": "巴彦县",
+ "value": 669
+ }, {
+ "label": "木兰县",
+ "value": 670
+ }, {
+ "label": "通河县",
+ "value": 671
+ }, {
+ "label": "延寿县",
+ "value": 672
+ }, {
+ "label": "尚志市",
+ "value": 673
+ }, {
+ "label": "五常市",
+ "value": 674
+ }],
+ [{
+ "label": "龙沙区",
+ "value": 676
+ }, {
+ "label": "建华区",
+ "value": 677
+ }, {
+ "label": "铁锋区",
+ "value": 678
+ }, {
+ "label": "昂昂溪区",
+ "value": 679
+ }, {
+ "label": "富拉尔基区",
+ "value": 680
+ }, {
+ "label": "碾子山区",
+ "value": 681
+ }, {
+ "label": "梅里斯达斡尔族区",
+ "value": 682
+ }, {
+ "label": "龙江县",
+ "value": 683
+ }, {
+ "label": "依安县",
+ "value": 684
+ }, {
+ "label": "泰来县",
+ "value": 685
+ }, {
+ "label": "甘南县",
+ "value": 686
+ }, {
+ "label": "富裕县",
+ "value": 687
+ }, {
+ "label": "克山县",
+ "value": 688
+ }, {
+ "label": "克东县",
+ "value": 689
+ }, {
+ "label": "拜泉县",
+ "value": 690
+ }, {
+ "label": "讷河市",
+ "value": 691
+ }],
+ [{
+ "label": "鸡冠区",
+ "value": 693
+ }, {
+ "label": "恒山区",
+ "value": 694
+ }, {
+ "label": "滴道区",
+ "value": 695
+ }, {
+ "label": "梨树区",
+ "value": 696
+ }, {
+ "label": "城子河区",
+ "value": 697
+ }, {
+ "label": "麻山区",
+ "value": 698
+ }, {
+ "label": "鸡东县",
+ "value": 699
+ }, {
+ "label": "虎林市",
+ "value": 700
+ }, {
+ "label": "密山市",
+ "value": 701
+ }],
+ [{
+ "label": "向阳区",
+ "value": 703
+ }, {
+ "label": "工农区",
+ "value": 704
+ }, {
+ "label": "南山区",
+ "value": 705
+ }, {
+ "label": "兴安区",
+ "value": 706
+ }, {
+ "label": "东山区",
+ "value": 707
+ }, {
+ "label": "兴山区",
+ "value": 708
+ }, {
+ "label": "萝北县",
+ "value": 709
+ }, {
+ "label": "绥滨县",
+ "value": 710
+ }],
+ [{
+ "label": "尖山区",
+ "value": 712
+ }, {
+ "label": "岭东区",
+ "value": 713
+ }, {
+ "label": "四方台区",
+ "value": 714
+ }, {
+ "label": "宝山区",
+ "value": 715
+ }, {
+ "label": "集贤县",
+ "value": 716
+ }, {
+ "label": "友谊县",
+ "value": 717
+ }, {
+ "label": "宝清县",
+ "value": 718
+ }, {
+ "label": "饶河县",
+ "value": 719
+ }],
+ [{
+ "label": "萨尔图区",
+ "value": 721
+ }, {
+ "label": "龙凤区",
+ "value": 722
+ }, {
+ "label": "让胡路区",
+ "value": 723
+ }, {
+ "label": "红岗区",
+ "value": 724
+ }, {
+ "label": "大同区",
+ "value": 725
+ }, {
+ "label": "肇州县",
+ "value": 726
+ }, {
+ "label": "肇源县",
+ "value": 727
+ }, {
+ "label": "林甸县",
+ "value": 728
+ }, {
+ "label": "杜尔伯特蒙古族自治县",
+ "value": 729
+ }],
+ [{
+ "label": "伊春区",
+ "value": 731
+ }, {
+ "label": "南岔区",
+ "value": 732
+ }, {
+ "label": "友好区",
+ "value": 733
+ }, {
+ "label": "西林区",
+ "value": 734
+ }, {
+ "label": "翠峦区",
+ "value": 735
+ }, {
+ "label": "新青区",
+ "value": 736
+ }, {
+ "label": "美溪区",
+ "value": 737
+ }, {
+ "label": "金山屯区",
+ "value": 738
+ }, {
+ "label": "五营区",
+ "value": 739
+ }, {
+ "label": "乌马河区",
+ "value": 740
+ }, {
+ "label": "汤旺河区",
+ "value": 741
+ }, {
+ "label": "带岭区",
+ "value": 742
+ }, {
+ "label": "乌伊岭区",
+ "value": 743
+ }, {
+ "label": "红星区",
+ "value": 744
+ }, {
+ "label": "上甘岭区",
+ "value": 745
+ }, {
+ "label": "嘉荫县",
+ "value": 746
+ }, {
+ "label": "铁力市",
+ "value": 747
+ }],
+ [{
+ "label": "向阳区",
+ "value": 749
+ }, {
+ "label": "前进区",
+ "value": 750
+ }, {
+ "label": "东风区",
+ "value": 751
+ }, {
+ "label": "郊区",
+ "value": 752
+ }, {
+ "label": "桦南县",
+ "value": 753
+ }, {
+ "label": "桦川县",
+ "value": 754
+ }, {
+ "label": "汤原县",
+ "value": 755
+ }, {
+ "label": "抚远县",
+ "value": 756
+ }, {
+ "label": "同江市",
+ "value": 757
+ }, {
+ "label": "富锦市",
+ "value": 758
+ }],
+ [{
+ "label": "新兴区",
+ "value": 760
+ }, {
+ "label": "桃山区",
+ "value": 761
+ }, {
+ "label": "茄子河区",
+ "value": 762
+ }, {
+ "label": "勃利县",
+ "value": 763
+ }],
+ [{
+ "label": "东安区",
+ "value": 765
+ }, {
+ "label": "阳明区",
+ "value": 766
+ }, {
+ "label": "爱民区",
+ "value": 767
+ }, {
+ "label": "西安区",
+ "value": 768
+ }, {
+ "label": "东宁县",
+ "value": 769
+ }, {
+ "label": "林口县",
+ "value": 770
+ }, {
+ "label": "绥芬河市",
+ "value": 771
+ }, {
+ "label": "海林市",
+ "value": 772
+ }, {
+ "label": "宁安市",
+ "value": 773
+ }, {
+ "label": "穆棱市",
+ "value": 774
+ }],
+ [{
+ "label": "爱辉区",
+ "value": 776
+ }, {
+ "label": "嫩江县",
+ "value": 777
+ }, {
+ "label": "逊克县",
+ "value": 778
+ }, {
+ "label": "孙吴县",
+ "value": 779
+ }, {
+ "label": "北安市",
+ "value": 780
+ }, {
+ "label": "五大连池市",
+ "value": 781
+ }],
+ [{
+ "label": "北林区",
+ "value": 783
+ }, {
+ "label": "望奎县",
+ "value": 784
+ }, {
+ "label": "兰西县",
+ "value": 785
+ }, {
+ "label": "青冈县",
+ "value": 786
+ }, {
+ "label": "庆安县",
+ "value": 787
+ }, {
+ "label": "明水县",
+ "value": 788
+ }, {
+ "label": "绥棱县",
+ "value": 789
+ }, {
+ "label": "安达市",
+ "value": 790
+ }, {
+ "label": "肇东市",
+ "value": 791
+ }, {
+ "label": "海伦市",
+ "value": 792
+ }],
+ [{
+ "label": "加格达奇区",
+ "value": 794
+ }, {
+ "label": "新林区",
+ "value": 795
+ }, {
+ "label": "松岭区",
+ "value": 796
+ }, {
+ "label": "呼中区",
+ "value": 797
+ }, {
+ "label": "呼玛县",
+ "value": 798
+ }, {
+ "label": "塔河县",
+ "value": 799
+ }, {
+ "label": "漠河县",
+ "value": 800
+ }]
+ ],
+ [
+ [{
+ "label": "黄浦区",
+ "value": 803
+ }, {
+ "label": "徐汇区",
+ "value": 804
+ }, {
+ "label": "长宁区",
+ "value": 805
+ }, {
+ "label": "静安区",
+ "value": 806
+ }, {
+ "label": "普陀区",
+ "value": 807
+ }, {
+ "label": "闸北区",
+ "value": 808
+ }, {
+ "label": "虹口区",
+ "value": 809
+ }, {
+ "label": "杨浦区",
+ "value": 810
+ }, {
+ "label": "闵行区",
+ "value": 811
+ }, {
+ "label": "宝山区",
+ "value": 812
+ }, {
+ "label": "嘉定区",
+ "value": 813
+ }, {
+ "label": "浦东新区",
+ "value": 814
+ }, {
+ "label": "金山区",
+ "value": 815
+ }, {
+ "label": "松江区",
+ "value": 816
+ }, {
+ "label": "青浦区",
+ "value": 817
+ }, {
+ "label": "奉贤区",
+ "value": 818
+ }, {
+ "label": "崇明县",
+ "value": 819
+ }]
+ ],
+ [
+ [{
+ "label": "玄武区",
+ "value": 822
+ }, {
+ "label": "秦淮区",
+ "value": 823
+ }, {
+ "label": "建邺区",
+ "value": 824
+ }, {
+ "label": "鼓楼区",
+ "value": 825
+ }, {
+ "label": "浦口区",
+ "value": 826
+ }, {
+ "label": "栖霞区",
+ "value": 827
+ }, {
+ "label": "雨花台区",
+ "value": 828
+ }, {
+ "label": "江宁区",
+ "value": 829
+ }, {
+ "label": "六合区",
+ "value": 830
+ }, {
+ "label": "溧水区",
+ "value": 831
+ }, {
+ "label": "高淳区",
+ "value": 832
+ }],
+ [{
+ "label": "梁溪区",
+ "value": 834
+ }, {
+ "label": "新吴区",
+ "value": 835
+ }, {
+ "label": "锡山区",
+ "value": 837
+ }, {
+ "label": "惠山区",
+ "value": 838
+ }, {
+ "label": "滨湖区",
+ "value": 839
+ }, {
+ "label": "江阴市",
+ "value": 840
+ }, {
+ "label": "宜兴市",
+ "value": 841
+ }],
+ [{
+ "label": "鼓楼区",
+ "value": 843
+ }, {
+ "label": "云龙区",
+ "value": 844
+ }, {
+ "label": "贾汪区",
+ "value": 845
+ }, {
+ "label": "泉山区",
+ "value": 846
+ }, {
+ "label": "铜山区",
+ "value": 847
+ }, {
+ "label": "丰县",
+ "value": 848
+ }, {
+ "label": "沛县",
+ "value": 849
+ }, {
+ "label": "睢宁县",
+ "value": 850
+ }, {
+ "label": "新沂市",
+ "value": 851
+ }, {
+ "label": "邳州市",
+ "value": 852
+ }],
+ [{
+ "label": "天宁区",
+ "value": 854
+ }, {
+ "label": "钟楼区",
+ "value": 855
+ }, {
+ "label": "戚墅堰区",
+ "value": 856
+ }, {
+ "label": "新北区",
+ "value": 857
+ }, {
+ "label": "武进区",
+ "value": 858
+ }, {
+ "label": "溧阳市",
+ "value": 859
+ }, {
+ "label": "金坛市",
+ "value": 860
+ }],
+ [{
+ "label": "虎丘区",
+ "value": 862
+ }, {
+ "label": "吴中区",
+ "value": 863
+ }, {
+ "label": "相城区",
+ "value": 864
+ }, {
+ "label": "姑苏区",
+ "value": 865
+ }, {
+ "label": "吴江区",
+ "value": 866
+ }, {
+ "label": "常熟市",
+ "value": 867
+ }, {
+ "label": "张家港市",
+ "value": 868
+ }, {
+ "label": "昆山市",
+ "value": 869
+ }, {
+ "label": "太仓市",
+ "value": 870
+ }],
+ [{
+ "label": "崇川区",
+ "value": 872
+ }, {
+ "label": "港闸区",
+ "value": 873
+ }, {
+ "label": "通州区",
+ "value": 874
+ }, {
+ "label": "海安县",
+ "value": 875
+ }, {
+ "label": "如东县",
+ "value": 876
+ }, {
+ "label": "启东市",
+ "value": 877
+ }, {
+ "label": "如皋市",
+ "value": 878
+ }, {
+ "label": "海门市",
+ "value": 879
+ }],
+ [{
+ "label": "连云区",
+ "value": 881
+ }, {
+ "label": "海州区",
+ "value": 882
+ }, {
+ "label": "赣榆区",
+ "value": 883
+ }, {
+ "label": "东海县",
+ "value": 884
+ }, {
+ "label": "灌云县",
+ "value": 885
+ }, {
+ "label": "灌南县",
+ "value": 886
+ }],
+ [{
+ "label": "清河区",
+ "value": 888
+ }, {
+ "label": "淮安区",
+ "value": 889
+ }, {
+ "label": "淮阴区",
+ "value": 890
+ }, {
+ "label": "清浦区",
+ "value": 891
+ }, {
+ "label": "涟水县",
+ "value": 892
+ }, {
+ "label": "洪泽县",
+ "value": 893
+ }, {
+ "label": "盱眙县",
+ "value": 894
+ }, {
+ "label": "金湖县",
+ "value": 895
+ }],
+ [{
+ "label": "亭湖区",
+ "value": 897
+ }, {
+ "label": "盐都区",
+ "value": 898
+ }, {
+ "label": "响水县",
+ "value": 899
+ }, {
+ "label": "滨海县",
+ "value": 900
+ }, {
+ "label": "阜宁县",
+ "value": 901
+ }, {
+ "label": "射阳县",
+ "value": 902
+ }, {
+ "label": "建湖县",
+ "value": 903
+ }, {
+ "label": "东台市",
+ "value": 904
+ }, {
+ "label": "大丰市",
+ "value": 905
+ }],
+ [{
+ "label": "广陵区",
+ "value": 907
+ }, {
+ "label": "邗江区",
+ "value": 908
+ }, {
+ "label": "江都区",
+ "value": 909
+ }, {
+ "label": "宝应县",
+ "value": 910
+ }, {
+ "label": "仪征市",
+ "value": 911
+ }, {
+ "label": "高邮市",
+ "value": 912
+ }],
+ [{
+ "label": "京口区",
+ "value": 914
+ }, {
+ "label": "润州区",
+ "value": 915
+ }, {
+ "label": "丹徒区",
+ "value": 916
+ }, {
+ "label": "丹阳市",
+ "value": 917
+ }, {
+ "label": "扬中市",
+ "value": 918
+ }, {
+ "label": "句容市",
+ "value": 919
+ }],
+ [{
+ "label": "海陵区",
+ "value": 921
+ }, {
+ "label": "高港区",
+ "value": 922
+ }, {
+ "label": "姜堰区",
+ "value": 923
+ }, {
+ "label": "兴化市",
+ "value": 924
+ }, {
+ "label": "靖江市",
+ "value": 925
+ }, {
+ "label": "泰兴市",
+ "value": 926
+ }],
+ [{
+ "label": "宿城区",
+ "value": 928
+ }, {
+ "label": "宿豫区",
+ "value": 929
+ }, {
+ "label": "沭阳县",
+ "value": 930
+ }, {
+ "label": "泗阳县",
+ "value": 931
+ }, {
+ "label": "泗洪县",
+ "value": 932
+ }]
+ ],
+ [
+ [{
+ "label": "上城区",
+ "value": 935
+ }, {
+ "label": "下城区",
+ "value": 936
+ }, {
+ "label": "江干区",
+ "value": 937
+ }, {
+ "label": "拱墅区",
+ "value": 938
+ }, {
+ "label": "西湖区",
+ "value": 939
+ }, {
+ "label": "滨江区",
+ "value": 940
+ }, {
+ "label": "萧山区",
+ "value": 941
+ }, {
+ "label": "余杭区",
+ "value": 942
+ }, {
+ "label": "桐庐县",
+ "value": 943
+ }, {
+ "label": "淳安县",
+ "value": 944
+ }, {
+ "label": "建德市",
+ "value": 945
+ }, {
+ "label": "富阳区",
+ "value": 946
+ }, {
+ "label": "临安市",
+ "value": 947
+ }],
+ [{
+ "label": "海曙区",
+ "value": 949
+ }, {
+ "label": "江东区",
+ "value": 950
+ }, {
+ "label": "江北区",
+ "value": 951
+ }, {
+ "label": "北仑区",
+ "value": 952
+ }, {
+ "label": "镇海区",
+ "value": 953
+ }, {
+ "label": "鄞州区",
+ "value": 954
+ }, {
+ "label": "象山县",
+ "value": 955
+ }, {
+ "label": "宁海县",
+ "value": 956
+ }, {
+ "label": "余姚市",
+ "value": 957
+ }, {
+ "label": "慈溪市",
+ "value": 958
+ }, {
+ "label": "奉化市",
+ "value": 959
+ }],
+ [{
+ "label": "鹿城区",
+ "value": 961
+ }, {
+ "label": "龙湾区",
+ "value": 962
+ }, {
+ "label": "瓯海区",
+ "value": 963
+ }, {
+ "label": "洞头县",
+ "value": 964
+ }, {
+ "label": "永嘉县",
+ "value": 965
+ }, {
+ "label": "平阳县",
+ "value": 966
+ }, {
+ "label": "苍南县",
+ "value": 967
+ }, {
+ "label": "文成县",
+ "value": 968
+ }, {
+ "label": "泰顺县",
+ "value": 969
+ }, {
+ "label": "瑞安市",
+ "value": 970
+ }, {
+ "label": "乐清市",
+ "value": 971
+ }],
+ [{
+ "label": "南湖区",
+ "value": 973
+ }, {
+ "label": "秀洲区",
+ "value": 974
+ }, {
+ "label": "嘉善县",
+ "value": 975
+ }, {
+ "label": "海盐县",
+ "value": 976
+ }, {
+ "label": "海宁市",
+ "value": 977
+ }, {
+ "label": "平湖市",
+ "value": 978
+ }, {
+ "label": "桐乡市",
+ "value": 979
+ }],
+ [{
+ "label": "吴兴区",
+ "value": 981
+ }, {
+ "label": "南浔区",
+ "value": 982
+ }, {
+ "label": "德清县",
+ "value": 983
+ }, {
+ "label": "长兴县",
+ "value": 984
+ }, {
+ "label": "安吉县",
+ "value": 985
+ }],
+ [{
+ "label": "越城区",
+ "value": 987
+ }, {
+ "label": "柯桥区",
+ "value": 988
+ }, {
+ "label": "上虞区",
+ "value": 989
+ }, {
+ "label": "新昌县",
+ "value": 990
+ }, {
+ "label": "诸暨市",
+ "value": 991
+ }, {
+ "label": "嵊州市",
+ "value": 992
+ }],
+ [{
+ "label": "婺城区",
+ "value": 994
+ }, {
+ "label": "金东区",
+ "value": 995
+ }, {
+ "label": "武义县",
+ "value": 996
+ }, {
+ "label": "浦江县",
+ "value": 997
+ }, {
+ "label": "磐安县",
+ "value": 998
+ }, {
+ "label": "兰溪市",
+ "value": 999
+ }, {
+ "label": "义乌市",
+ "value": 1000
+ }, {
+ "label": "东阳市",
+ "value": 1001
+ }, {
+ "label": "永康市",
+ "value": 1002
+ }],
+ [{
+ "label": "柯城区",
+ "value": 1004
+ }, {
+ "label": "衢江区",
+ "value": 1005
+ }, {
+ "label": "常山县",
+ "value": 1006
+ }, {
+ "label": "开化县",
+ "value": 1007
+ }, {
+ "label": "龙游县",
+ "value": 1008
+ }, {
+ "label": "江山市",
+ "value": 1009
+ }],
+ [{
+ "label": "定海区",
+ "value": 1011
+ }, {
+ "label": "普陀区",
+ "value": 1012
+ }, {
+ "label": "岱山县",
+ "value": 1013
+ }, {
+ "label": "嵊泗县",
+ "value": 1014
+ }],
+ [{
+ "label": "椒江区",
+ "value": 1016
+ }, {
+ "label": "黄岩区",
+ "value": 1017
+ }, {
+ "label": "路桥区",
+ "value": 1018
+ }, {
+ "label": "玉环县",
+ "value": 1019
+ }, {
+ "label": "三门县",
+ "value": 1020
+ }, {
+ "label": "天台县",
+ "value": 1021
+ }, {
+ "label": "仙居县",
+ "value": 1022
+ }, {
+ "label": "温岭市",
+ "value": 1023
+ }, {
+ "label": "临海市",
+ "value": 1024
+ }],
+ [{
+ "label": "莲都区",
+ "value": 1026
+ }, {
+ "label": "青田县",
+ "value": 1027
+ }, {
+ "label": "缙云县",
+ "value": 1028
+ }, {
+ "label": "遂昌县",
+ "value": 1029
+ }, {
+ "label": "松阳县",
+ "value": 1030
+ }, {
+ "label": "云和县",
+ "value": 1031
+ }, {
+ "label": "庆元县",
+ "value": 1032
+ }, {
+ "label": "景宁畲族自治县",
+ "value": 1033
+ }, {
+ "label": "龙泉市",
+ "value": 1034
+ }],
+ [{
+ "label": "金塘岛",
+ "value": 1036
+ }, {
+ "label": "六横岛",
+ "value": 1037
+ }, {
+ "label": "衢山岛",
+ "value": 1038
+ }, {
+ "label": "舟山本岛西北部",
+ "value": 1039
+ }, {
+ "label": "岱山岛西南部",
+ "value": 1040
+ }, {
+ "label": "泗礁岛",
+ "value": 1041
+ }, {
+ "label": "朱家尖岛",
+ "value": 1042
+ }, {
+ "label": "洋山岛",
+ "value": 1043
+ }, {
+ "label": "长涂岛",
+ "value": 1044
+ }, {
+ "label": "虾峙岛",
+ "value": 1045
+ }]
+ ],
+ [
+ [{
+ "label": "瑶海区",
+ "value": 1048
+ }, {
+ "label": "庐阳区",
+ "value": 1049
+ }, {
+ "label": "蜀山区",
+ "value": 1050
+ }, {
+ "label": "包河区",
+ "value": 1051
+ }, {
+ "label": "长丰县",
+ "value": 1052
+ }, {
+ "label": "肥东县",
+ "value": 1053
+ }, {
+ "label": "肥西县",
+ "value": 1054
+ }, {
+ "label": "庐江县",
+ "value": 1055
+ }, {
+ "label": "巢湖市",
+ "value": 1056
+ }],
+ [{
+ "label": "镜湖区",
+ "value": 1058
+ }, {
+ "label": "弋江区",
+ "value": 1059
+ }, {
+ "label": "鸠江区",
+ "value": 1060
+ }, {
+ "label": "三山区",
+ "value": 1061
+ }, {
+ "label": "芜湖县",
+ "value": 1062
+ }, {
+ "label": "繁昌县",
+ "value": 1063
+ }, {
+ "label": "南陵县",
+ "value": 1064
+ }, {
+ "label": "无为县",
+ "value": 1065
+ }],
+ [{
+ "label": "龙子湖区",
+ "value": 1067
+ }, {
+ "label": "蚌山区",
+ "value": 1068
+ }, {
+ "label": "禹会区",
+ "value": 1069
+ }, {
+ "label": "淮上区",
+ "value": 1070
+ }, {
+ "label": "怀远县",
+ "value": 1071
+ }, {
+ "label": "五河县",
+ "value": 1072
+ }, {
+ "label": "固镇县",
+ "value": 1073
+ }],
+ [{
+ "label": "大通区",
+ "value": 1075
+ }, {
+ "label": "田家庵区",
+ "value": 1076
+ }, {
+ "label": "谢家集区",
+ "value": 1077
+ }, {
+ "label": "八公山区",
+ "value": 1078
+ }, {
+ "label": "潘集区",
+ "value": 1079
+ }, {
+ "label": "凤台县",
+ "value": 1080
+ }],
+ [{
+ "label": "花山区",
+ "value": 1082
+ }, {
+ "label": "雨山区",
+ "value": 1083
+ }, {
+ "label": "博望区",
+ "value": 1084
+ }, {
+ "label": "当涂县",
+ "value": 1085
+ }, {
+ "label": "含山县",
+ "value": 1086
+ }, {
+ "label": "和县",
+ "value": 1087
+ }],
+ [{
+ "label": "杜集区",
+ "value": 1089
+ }, {
+ "label": "相山区",
+ "value": 1090
+ }, {
+ "label": "烈山区",
+ "value": 1091
+ }, {
+ "label": "濉溪县",
+ "value": 1092
+ }],
+ [{
+ "label": "铜官山区",
+ "value": 1094
+ }, {
+ "label": "狮子山区",
+ "value": 1095
+ }, {
+ "label": "郊区",
+ "value": 1096
+ }, {
+ "label": "铜陵县",
+ "value": 1097
+ }],
+ [{
+ "label": "迎江区",
+ "value": 1099
+ }, {
+ "label": "大观区",
+ "value": 1100
+ }, {
+ "label": "宜秀区",
+ "value": 1101
+ }, {
+ "label": "怀宁县",
+ "value": 1102
+ }, {
+ "label": "枞阳县",
+ "value": 1103
+ }, {
+ "label": "潜山县",
+ "value": 1104
+ }, {
+ "label": "太湖县",
+ "value": 1105
+ }, {
+ "label": "宿松县",
+ "value": 1106
+ }, {
+ "label": "望江县",
+ "value": 1107
+ }, {
+ "label": "岳西县",
+ "value": 1108
+ }, {
+ "label": "桐城市",
+ "value": 1109
+ }],
+ [{
+ "label": "屯溪区",
+ "value": 1111
+ }, {
+ "label": "黄山区",
+ "value": 1112
+ }, {
+ "label": "徽州区",
+ "value": 1113
+ }, {
+ "label": "歙县",
+ "value": 1114
+ }, {
+ "label": "休宁县",
+ "value": 1115
+ }, {
+ "label": "黟县",
+ "value": 1116
+ }, {
+ "label": "祁门县",
+ "value": 1117
+ }],
+ [{
+ "label": "琅琊区",
+ "value": 1119
+ }, {
+ "label": "南谯区",
+ "value": 1120
+ }, {
+ "label": "来安县",
+ "value": 1121
+ }, {
+ "label": "全椒县",
+ "value": 1122
+ }, {
+ "label": "定远县",
+ "value": 1123
+ }, {
+ "label": "凤阳县",
+ "value": 1124
+ }, {
+ "label": "天长市",
+ "value": 1125
+ }, {
+ "label": "明光市",
+ "value": 1126
+ }],
+ [{
+ "label": "颍州区",
+ "value": 1128
+ }, {
+ "label": "颍东区",
+ "value": 1129
+ }, {
+ "label": "颍泉区",
+ "value": 1130
+ }, {
+ "label": "临泉县",
+ "value": 1131
+ }, {
+ "label": "太和县",
+ "value": 1132
+ }, {
+ "label": "阜南县",
+ "value": 1133
+ }, {
+ "label": "颍上县",
+ "value": 1134
+ }, {
+ "label": "界首市",
+ "value": 1135
+ }],
+ [{
+ "label": "埇桥区",
+ "value": 1137
+ }, {
+ "label": "砀山县",
+ "value": 1138
+ }, {
+ "label": "萧县",
+ "value": 1139
+ }, {
+ "label": "灵璧县",
+ "value": 1140
+ }, {
+ "label": "泗县",
+ "value": 1141
+ }],
+ [{
+ "label": "金安区",
+ "value": 1143
+ }, {
+ "label": "裕安区",
+ "value": 1144
+ }, {
+ "label": "寿县",
+ "value": 1145
+ }, {
+ "label": "霍邱县",
+ "value": 1146
+ }, {
+ "label": "舒城县",
+ "value": 1147
+ }, {
+ "label": "金寨县",
+ "value": 1148
+ }, {
+ "label": "霍山县",
+ "value": 1149
+ }],
+ [{
+ "label": "谯城区",
+ "value": 1151
+ }, {
+ "label": "涡阳县",
+ "value": 1152
+ }, {
+ "label": "蒙城县",
+ "value": 1153
+ }, {
+ "label": "利辛县",
+ "value": 1154
+ }],
+ [{
+ "label": "贵池区",
+ "value": 1156
+ }, {
+ "label": "东至县",
+ "value": 1157
+ }, {
+ "label": "石台县",
+ "value": 1158
+ }, {
+ "label": "青阳县",
+ "value": 1159
+ }],
+ [{
+ "label": "宣州区",
+ "value": 1161
+ }, {
+ "label": "郎溪县",
+ "value": 1162
+ }, {
+ "label": "广德县",
+ "value": 1163
+ }, {
+ "label": "泾县",
+ "value": 1164
+ }, {
+ "label": "绩溪县",
+ "value": 1165
+ }, {
+ "label": "旌德县",
+ "value": 1166
+ }, {
+ "label": "宁国市",
+ "value": 1167
+ }]
+ ],
+ [
+ [{
+ "label": "鼓楼区",
+ "value": 1170
+ }, {
+ "label": "台江区",
+ "value": 1171
+ }, {
+ "label": "仓山区",
+ "value": 1172
+ }, {
+ "label": "马尾区",
+ "value": 1173
+ }, {
+ "label": "晋安区",
+ "value": 1174
+ }, {
+ "label": "闽侯县",
+ "value": 1175
+ }, {
+ "label": "连江县",
+ "value": 1176
+ }, {
+ "label": "罗源县",
+ "value": 1177
+ }, {
+ "label": "闽清县",
+ "value": 1178
+ }, {
+ "label": "永泰县",
+ "value": 1179
+ }, {
+ "label": "平潭县",
+ "value": 1180
+ }, {
+ "label": "福清市",
+ "value": 1181
+ }, {
+ "label": "长乐市",
+ "value": 1182
+ }],
+ [{
+ "label": "思明区",
+ "value": 1184
+ }, {
+ "label": "海沧区",
+ "value": 1185
+ }, {
+ "label": "湖里区",
+ "value": 1186
+ }, {
+ "label": "集美区",
+ "value": 1187
+ }, {
+ "label": "同安区",
+ "value": 1188
+ }, {
+ "label": "翔安区",
+ "value": 1189
+ }],
+ [{
+ "label": "城厢区",
+ "value": 1191
+ }, {
+ "label": "涵江区",
+ "value": 1192
+ }, {
+ "label": "荔城区",
+ "value": 1193
+ }, {
+ "label": "秀屿区",
+ "value": 1194
+ }, {
+ "label": "仙游县",
+ "value": 1195
+ }],
+ [{
+ "label": "梅列区",
+ "value": 1197
+ }, {
+ "label": "三元区",
+ "value": 1198
+ }, {
+ "label": "明溪县",
+ "value": 1199
+ }, {
+ "label": "清流县",
+ "value": 1200
+ }, {
+ "label": "宁化县",
+ "value": 1201
+ }, {
+ "label": "大田县",
+ "value": 1202
+ }, {
+ "label": "尤溪县",
+ "value": 1203
+ }, {
+ "label": "沙县",
+ "value": 1204
+ }, {
+ "label": "将乐县",
+ "value": 1205
+ }, {
+ "label": "泰宁县",
+ "value": 1206
+ }, {
+ "label": "建宁县",
+ "value": 1207
+ }, {
+ "label": "永安市",
+ "value": 1208
+ }],
+ [{
+ "label": "鲤城区",
+ "value": 1210
+ }, {
+ "label": "丰泽区",
+ "value": 1211
+ }, {
+ "label": "洛江区",
+ "value": 1212
+ }, {
+ "label": "泉港区",
+ "value": 1213
+ }, {
+ "label": "惠安县",
+ "value": 1214
+ }, {
+ "label": "安溪县",
+ "value": 1215
+ }, {
+ "label": "永春县",
+ "value": 1216
+ }, {
+ "label": "德化县",
+ "value": 1217
+ }, {
+ "label": "金门县",
+ "value": 1218
+ }, {
+ "label": "石狮市",
+ "value": 1219
+ }, {
+ "label": "晋江市",
+ "value": 1220
+ }, {
+ "label": "南安市",
+ "value": 1221
+ }],
+ [{
+ "label": "芗城区",
+ "value": 1223
+ }, {
+ "label": "龙文区",
+ "value": 1224
+ }, {
+ "label": "云霄县",
+ "value": 1225
+ }, {
+ "label": "漳浦县",
+ "value": 1226
+ }, {
+ "label": "诏安县",
+ "value": 1227
+ }, {
+ "label": "长泰县",
+ "value": 1228
+ }, {
+ "label": "东山县",
+ "value": 1229
+ }, {
+ "label": "南靖县",
+ "value": 1230
+ }, {
+ "label": "平和县",
+ "value": 1231
+ }, {
+ "label": "华安县",
+ "value": 1232
+ }, {
+ "label": "龙海市",
+ "value": 1233
+ }],
+ [{
+ "label": "延平区",
+ "value": 1235
+ }, {
+ "label": "建阳区",
+ "value": 1236
+ }, {
+ "label": "顺昌县",
+ "value": 1237
+ }, {
+ "label": "浦城县",
+ "value": 1238
+ }, {
+ "label": "光泽县",
+ "value": 1239
+ }, {
+ "label": "松溪县",
+ "value": 1240
+ }, {
+ "label": "政和县",
+ "value": 1241
+ }, {
+ "label": "邵武市",
+ "value": 1242
+ }, {
+ "label": "武夷山市",
+ "value": 1243
+ }, {
+ "label": "建瓯市",
+ "value": 1244
+ }],
+ [{
+ "label": "新罗区",
+ "value": 1246
+ }, {
+ "label": "长汀县",
+ "value": 1247
+ }, {
+ "label": "永定区",
+ "value": 1248
+ }, {
+ "label": "上杭县",
+ "value": 1249
+ }, {
+ "label": "武平县",
+ "value": 1250
+ }, {
+ "label": "连城县",
+ "value": 1251
+ }, {
+ "label": "漳平市",
+ "value": 1252
+ }],
+ [{
+ "label": "蕉城区",
+ "value": 1254
+ }, {
+ "label": "霞浦县",
+ "value": 1255
+ }, {
+ "label": "古田县",
+ "value": 1256
+ }, {
+ "label": "屏南县",
+ "value": 1257
+ }, {
+ "label": "寿宁县",
+ "value": 1258
+ }, {
+ "label": "周宁县",
+ "value": 1259
+ }, {
+ "label": "柘荣县",
+ "value": 1260
+ }, {
+ "label": "福安市",
+ "value": 1261
+ }, {
+ "label": "福鼎市",
+ "value": 1262
+ }]
+ ],
+ [
+ [{
+ "label": "东湖区",
+ "value": 1265
+ }, {
+ "label": "西湖区",
+ "value": 1266
+ }, {
+ "label": "青云谱区",
+ "value": 1267
+ }, {
+ "label": "湾里区",
+ "value": 1268
+ }, {
+ "label": "青山湖区",
+ "value": 1269
+ }, {
+ "label": "南昌县",
+ "value": 1270
+ }, {
+ "label": "新建县",
+ "value": 1271
+ }, {
+ "label": "安义县",
+ "value": 1272
+ }, {
+ "label": "进贤县",
+ "value": 1273
+ }],
+ [{
+ "label": "昌江区",
+ "value": 1275
+ }, {
+ "label": "珠山区",
+ "value": 1276
+ }, {
+ "label": "浮梁县",
+ "value": 1277
+ }, {
+ "label": "乐平市",
+ "value": 1278
+ }],
+ [{
+ "label": "安源区",
+ "value": 1280
+ }, {
+ "label": "湘东区",
+ "value": 1281
+ }, {
+ "label": "莲花县",
+ "value": 1282
+ }, {
+ "label": "上栗县",
+ "value": 1283
+ }, {
+ "label": "芦溪县",
+ "value": 1284
+ }],
+ [{
+ "label": "庐山区",
+ "value": 1286
+ }, {
+ "label": "浔阳区",
+ "value": 1287
+ }, {
+ "label": "九江县",
+ "value": 1288
+ }, {
+ "label": "武宁县",
+ "value": 1289
+ }, {
+ "label": "修水县",
+ "value": 1290
+ }, {
+ "label": "永修县",
+ "value": 1291
+ }, {
+ "label": "德安县",
+ "value": 1292
+ }, {
+ "label": "星子县",
+ "value": 1293
+ }, {
+ "label": "都昌县",
+ "value": 1294
+ }, {
+ "label": "湖口县",
+ "value": 1295
+ }, {
+ "label": "彭泽县",
+ "value": 1296
+ }, {
+ "label": "瑞昌市",
+ "value": 1297
+ }, {
+ "label": "共青城市",
+ "value": 1298
+ }],
+ [{
+ "label": "渝水区",
+ "value": 1300
+ }, {
+ "label": "分宜县",
+ "value": 1301
+ }],
+ [{
+ "label": "月湖区",
+ "value": 1303
+ }, {
+ "label": "余江县",
+ "value": 1304
+ }, {
+ "label": "贵溪市",
+ "value": 1305
+ }],
+ [{
+ "label": "章贡区",
+ "value": 1307
+ }, {
+ "label": "南康区",
+ "value": 1308
+ }, {
+ "label": "赣县",
+ "value": 1309
+ }, {
+ "label": "信丰县",
+ "value": 1310
+ }, {
+ "label": "大余县",
+ "value": 1311
+ }, {
+ "label": "上犹县",
+ "value": 1312
+ }, {
+ "label": "崇义县",
+ "value": 1313
+ }, {
+ "label": "安远县",
+ "value": 1314
+ }, {
+ "label": "龙南县",
+ "value": 1315
+ }, {
+ "label": "定南县",
+ "value": 1316
+ }, {
+ "label": "全南县",
+ "value": 1317
+ }, {
+ "label": "宁都县",
+ "value": 1318
+ }, {
+ "label": "于都县",
+ "value": 1319
+ }, {
+ "label": "兴国县",
+ "value": 1320
+ }, {
+ "label": "会昌县",
+ "value": 1321
+ }, {
+ "label": "寻乌县",
+ "value": 1322
+ }, {
+ "label": "石城县",
+ "value": 1323
+ }, {
+ "label": "瑞金市",
+ "value": 1324
+ }],
+ [{
+ "label": "吉州区",
+ "value": 1326
+ }, {
+ "label": "青原区",
+ "value": 1327
+ }, {
+ "label": "吉安县",
+ "value": 1328
+ }, {
+ "label": "吉水县",
+ "value": 1329
+ }, {
+ "label": "峡江县",
+ "value": 1330
+ }, {
+ "label": "新干县",
+ "value": 1331
+ }, {
+ "label": "永丰县",
+ "value": 1332
+ }, {
+ "label": "泰和县",
+ "value": 1333
+ }, {
+ "label": "遂川县",
+ "value": 1334
+ }, {
+ "label": "万安县",
+ "value": 1335
+ }, {
+ "label": "安福县",
+ "value": 1336
+ }, {
+ "label": "永新县",
+ "value": 1337
+ }, {
+ "label": "井冈山市",
+ "value": 1338
+ }],
+ [{
+ "label": "袁州区",
+ "value": 1340
+ }, {
+ "label": "奉新县",
+ "value": 1341
+ }, {
+ "label": "万载县",
+ "value": 1342
+ }, {
+ "label": "上高县",
+ "value": 1343
+ }, {
+ "label": "宜丰县",
+ "value": 1344
+ }, {
+ "label": "靖安县",
+ "value": 1345
+ }, {
+ "label": "铜鼓县",
+ "value": 1346
+ }, {
+ "label": "丰城市",
+ "value": 1347
+ }, {
+ "label": "樟树市",
+ "value": 1348
+ }, {
+ "label": "高安市",
+ "value": 1349
+ }],
+ [{
+ "label": "临川区",
+ "value": 1351
+ }, {
+ "label": "南城县",
+ "value": 1352
+ }, {
+ "label": "黎川县",
+ "value": 1353
+ }, {
+ "label": "南丰县",
+ "value": 1354
+ }, {
+ "label": "崇仁县",
+ "value": 1355
+ }, {
+ "label": "乐安县",
+ "value": 1356
+ }, {
+ "label": "宜黄县",
+ "value": 1357
+ }, {
+ "label": "金溪县",
+ "value": 1358
+ }, {
+ "label": "资溪县",
+ "value": 1359
+ }, {
+ "label": "东乡县",
+ "value": 1360
+ }, {
+ "label": "广昌县",
+ "value": 1361
+ }],
+ [{
+ "label": "信州区",
+ "value": 1363
+ }, {
+ "label": "上饶县",
+ "value": 1364
+ }, {
+ "label": "广丰县",
+ "value": 1365
+ }, {
+ "label": "玉山县",
+ "value": 1366
+ }, {
+ "label": "铅山县",
+ "value": 1367
+ }, {
+ "label": "横峰县",
+ "value": 1368
+ }, {
+ "label": "弋阳县",
+ "value": 1369
+ }, {
+ "label": "余干县",
+ "value": 1370
+ }, {
+ "label": "鄱阳县",
+ "value": 1371
+ }, {
+ "label": "万年县",
+ "value": 1372
+ }, {
+ "label": "婺源县",
+ "value": 1373
+ }, {
+ "label": "德兴市",
+ "value": 1374
+ }]
+ ],
+ [
+ [{
+ "label": "历下区",
+ "value": 1377
+ }, {
+ "label": "市中区",
+ "value": 1378
+ }, {
+ "label": "槐荫区",
+ "value": 1379
+ }, {
+ "label": "天桥区",
+ "value": 1380
+ }, {
+ "label": "历城区",
+ "value": 1381
+ }, {
+ "label": "长清区",
+ "value": 1382
+ }, {
+ "label": "平阴县",
+ "value": 1383
+ }, {
+ "label": "济阳县",
+ "value": 1384
+ }, {
+ "label": "商河县",
+ "value": 1385
+ }, {
+ "label": "章丘市",
+ "value": 1386
+ }],
+ [{
+ "label": "市南区",
+ "value": 1388
+ }, {
+ "label": "市北区",
+ "value": 1389
+ }, {
+ "label": "黄岛区",
+ "value": 1390
+ }, {
+ "label": "崂山区",
+ "value": 1391
+ }, {
+ "label": "李沧区",
+ "value": 1392
+ }, {
+ "label": "城阳区",
+ "value": 1393
+ }, {
+ "label": "胶州市",
+ "value": 1394
+ }, {
+ "label": "即墨市",
+ "value": 1395
+ }, {
+ "label": "平度市",
+ "value": 1396
+ }, {
+ "label": "莱西市",
+ "value": 1397
+ }, {
+ "label": "西海岸新区",
+ "value": 1398
+ }],
+ [{
+ "label": "淄川区",
+ "value": 1400
+ }, {
+ "label": "张店区",
+ "value": 1401
+ }, {
+ "label": "博山区",
+ "value": 1402
+ }, {
+ "label": "临淄区",
+ "value": 1403
+ }, {
+ "label": "周村区",
+ "value": 1404
+ }, {
+ "label": "桓台县",
+ "value": 1405
+ }, {
+ "label": "高青县",
+ "value": 1406
+ }, {
+ "label": "沂源县",
+ "value": 1407
+ }],
+ [{
+ "label": "市中区",
+ "value": 1409
+ }, {
+ "label": "薛城区",
+ "value": 1410
+ }, {
+ "label": "峄城区",
+ "value": 1411
+ }, {
+ "label": "台儿庄区",
+ "value": 1412
+ }, {
+ "label": "山亭区",
+ "value": 1413
+ }, {
+ "label": "滕州市",
+ "value": 1414
+ }],
+ [{
+ "label": "东营区",
+ "value": 1416
+ }, {
+ "label": "河口区",
+ "value": 1417
+ }, {
+ "label": "垦利县",
+ "value": 1418
+ }, {
+ "label": "利津县",
+ "value": 1419
+ }, {
+ "label": "广饶县",
+ "value": 1420
+ }],
+ [{
+ "label": "芝罘区",
+ "value": 1422
+ }, {
+ "label": "福山区",
+ "value": 1423
+ }, {
+ "label": "牟平区",
+ "value": 1424
+ }, {
+ "label": "莱山区",
+ "value": 1425
+ }, {
+ "label": "长岛县",
+ "value": 1426
+ }, {
+ "label": "龙口市",
+ "value": 1427
+ }, {
+ "label": "莱阳市",
+ "value": 1428
+ }, {
+ "label": "莱州市",
+ "value": 1429
+ }, {
+ "label": "蓬莱市",
+ "value": 1430
+ }, {
+ "label": "招远市",
+ "value": 1431
+ }, {
+ "label": "栖霞市",
+ "value": 1432
+ }, {
+ "label": "海阳市",
+ "value": 1433
+ }],
+ [{
+ "label": "潍城区",
+ "value": 1435
+ }, {
+ "label": "寒亭区",
+ "value": 1436
+ }, {
+ "label": "坊子区",
+ "value": 1437
+ }, {
+ "label": "奎文区",
+ "value": 1438
+ }, {
+ "label": "临朐县",
+ "value": 1439
+ }, {
+ "label": "昌乐县",
+ "value": 1440
+ }, {
+ "label": "青州市",
+ "value": 1441
+ }, {
+ "label": "诸城市",
+ "value": 1442
+ }, {
+ "label": "寿光市",
+ "value": 1443
+ }, {
+ "label": "安丘市",
+ "value": 1444
+ }, {
+ "label": "高密市",
+ "value": 1445
+ }, {
+ "label": "昌邑市",
+ "value": 1446
+ }],
+ [{
+ "label": "任城区",
+ "value": 1448
+ }, {
+ "label": "兖州区",
+ "value": 1449
+ }, {
+ "label": "微山县",
+ "value": 1450
+ }, {
+ "label": "鱼台县",
+ "value": 1451
+ }, {
+ "label": "金乡县",
+ "value": 1452
+ }, {
+ "label": "嘉祥县",
+ "value": 1453
+ }, {
+ "label": "汶上县",
+ "value": 1454
+ }, {
+ "label": "泗水县",
+ "value": 1455
+ }, {
+ "label": "梁山县",
+ "value": 1456
+ }, {
+ "label": "曲阜市",
+ "value": 1457
+ }, {
+ "label": "邹城市",
+ "value": 1458
+ }],
+ [{
+ "label": "泰山区",
+ "value": 1460
+ }, {
+ "label": "岱岳区",
+ "value": 1461
+ }, {
+ "label": "宁阳县",
+ "value": 1462
+ }, {
+ "label": "东平县",
+ "value": 1463
+ }, {
+ "label": "新泰市",
+ "value": 1464
+ }, {
+ "label": "肥城市",
+ "value": 1465
+ }],
+ [{
+ "label": "环翠区",
+ "value": 1467
+ }, {
+ "label": "文登区",
+ "value": 1468
+ }, {
+ "label": "荣成市",
+ "value": 1469
+ }, {
+ "label": "乳山市",
+ "value": 1470
+ }],
+ [{
+ "label": "东港区",
+ "value": 1472
+ }, {
+ "label": "岚山区",
+ "value": 1473
+ }, {
+ "label": "五莲县",
+ "value": 1474
+ }, {
+ "label": "莒县",
+ "value": 1475
+ }],
+ [{
+ "label": "莱城区",
+ "value": 1477
+ }, {
+ "label": "钢城区",
+ "value": 1478
+ }],
+ [{
+ "label": "兰山区",
+ "value": 1480
+ }, {
+ "label": "罗庄区",
+ "value": 1481
+ }, {
+ "label": "河东区",
+ "value": 1482
+ }, {
+ "label": "沂南县",
+ "value": 1483
+ }, {
+ "label": "郯城县",
+ "value": 1484
+ }, {
+ "label": "沂水县",
+ "value": 1485
+ }, {
+ "label": "兰陵县",
+ "value": 1486
+ }, {
+ "label": "费县",
+ "value": 1487
+ }, {
+ "label": "平邑县",
+ "value": 1488
+ }, {
+ "label": "莒南县",
+ "value": 1489
+ }, {
+ "label": "蒙阴县",
+ "value": 1490
+ }, {
+ "label": "临沭县",
+ "value": 1491
+ }],
+ [{
+ "label": "德城区",
+ "value": 1493
+ }, {
+ "label": "陵城区",
+ "value": 1494
+ }, {
+ "label": "宁津县",
+ "value": 1495
+ }, {
+ "label": "庆云县",
+ "value": 1496
+ }, {
+ "label": "临邑县",
+ "value": 1497
+ }, {
+ "label": "齐河县",
+ "value": 1498
+ }, {
+ "label": "平原县",
+ "value": 1499
+ }, {
+ "label": "夏津县",
+ "value": 1500
+ }, {
+ "label": "武城县",
+ "value": 1501
+ }, {
+ "label": "乐陵市",
+ "value": 1502
+ }, {
+ "label": "禹城市",
+ "value": 1503
+ }],
+ [{
+ "label": "东昌府区",
+ "value": 1505
+ }, {
+ "label": "阳谷县",
+ "value": 1506
+ }, {
+ "label": "莘县",
+ "value": 1507
+ }, {
+ "label": "茌平县",
+ "value": 1508
+ }, {
+ "label": "东阿县",
+ "value": 1509
+ }, {
+ "label": "冠县",
+ "value": 1510
+ }, {
+ "label": "高唐县",
+ "value": 1511
+ }, {
+ "label": "临清市",
+ "value": 1512
+ }],
+ [{
+ "label": "滨城区",
+ "value": 1514
+ }, {
+ "label": "沾化区",
+ "value": 1515
+ }, {
+ "label": "惠民县",
+ "value": 1516
+ }, {
+ "label": "阳信县",
+ "value": 1517
+ }, {
+ "label": "无棣县",
+ "value": 1518
+ }, {
+ "label": "博兴县",
+ "value": 1519
+ }, {
+ "label": "邹平县",
+ "value": 1520
+ }, {
+ "label": "北海新区",
+ "value": 1521
+ }],
+ [{
+ "label": "牡丹区",
+ "value": 1523
+ }, {
+ "label": "曹县",
+ "value": 1524
+ }, {
+ "label": "单县",
+ "value": 1525
+ }, {
+ "label": "成武县",
+ "value": 1526
+ }, {
+ "label": "巨野县",
+ "value": 1527
+ }, {
+ "label": "郓城县",
+ "value": 1528
+ }, {
+ "label": "鄄城县",
+ "value": 1529
+ }, {
+ "label": "定陶县",
+ "value": 1530
+ }, {
+ "label": "东明县",
+ "value": 1531
+ }]
+ ],
+ [
+ [{
+ "label": "中原区",
+ "value": 1534
+ }, {
+ "label": "二七区",
+ "value": 1535
+ }, {
+ "label": "管城回族区",
+ "value": 1536
+ }, {
+ "label": "金水区",
+ "value": 1537
+ }, {
+ "label": "上街区",
+ "value": 1538
+ }, {
+ "label": "惠济区",
+ "value": 1539
+ }, {
+ "label": "中牟县",
+ "value": 1540
+ }, {
+ "label": "巩义市",
+ "value": 1541
+ }, {
+ "label": "荥阳市",
+ "value": 1542
+ }, {
+ "label": "新密市",
+ "value": 1543
+ }, {
+ "label": "新郑市",
+ "value": 1544
+ }, {
+ "label": "登封市",
+ "value": 1545
+ }],
+ [{
+ "label": "龙亭区",
+ "value": 1547
+ }, {
+ "label": "顺河回族区",
+ "value": 1548
+ }, {
+ "label": "鼓楼区",
+ "value": 1549
+ }, {
+ "label": "禹王台区",
+ "value": 1550
+ }, {
+ "label": "祥符区",
+ "value": 1551
+ }, {
+ "label": "杞县",
+ "value": 1552
+ }, {
+ "label": "通许县",
+ "value": 1553
+ }, {
+ "label": "尉氏县",
+ "value": 1554
+ }, {
+ "label": "兰考县",
+ "value": 1555
+ }],
+ [{
+ "label": "老城区",
+ "value": 1557
+ }, {
+ "label": "西工区",
+ "value": 1558
+ }, {
+ "label": "瀍河回族区",
+ "value": 1559
+ }, {
+ "label": "涧西区",
+ "value": 1560
+ }, {
+ "label": "吉利区",
+ "value": 1561
+ }, {
+ "label": "洛龙区",
+ "value": 1562
+ }, {
+ "label": "孟津县",
+ "value": 1563
+ }, {
+ "label": "新安县",
+ "value": 1564
+ }, {
+ "label": "栾川县",
+ "value": 1565
+ }, {
+ "label": "嵩县",
+ "value": 1566
+ }, {
+ "label": "汝阳县",
+ "value": 1567
+ }, {
+ "label": "宜阳县",
+ "value": 1568
+ }, {
+ "label": "洛宁县",
+ "value": 1569
+ }, {
+ "label": "伊川县",
+ "value": 1570
+ }, {
+ "label": "偃师市",
+ "value": 1571
+ }],
+ [{
+ "label": "新华区",
+ "value": 1573
+ }, {
+ "label": "卫东区",
+ "value": 1574
+ }, {
+ "label": "石龙区",
+ "value": 1575
+ }, {
+ "label": "湛河区",
+ "value": 1576
+ }, {
+ "label": "宝丰县",
+ "value": 1577
+ }, {
+ "label": "叶县",
+ "value": 1578
+ }, {
+ "label": "鲁山县",
+ "value": 1579
+ }, {
+ "label": "郏县",
+ "value": 1580
+ }, {
+ "label": "舞钢市",
+ "value": 1581
+ }, {
+ "label": "汝州市",
+ "value": 1582
+ }],
+ [{
+ "label": "文峰区",
+ "value": 1584
+ }, {
+ "label": "北关区",
+ "value": 1585
+ }, {
+ "label": "殷都区",
+ "value": 1586
+ }, {
+ "label": "龙安区",
+ "value": 1587
+ }, {
+ "label": "安阳县",
+ "value": 1588
+ }, {
+ "label": "汤阴县",
+ "value": 1589
+ }, {
+ "label": "滑县",
+ "value": 1590
+ }, {
+ "label": "内黄县",
+ "value": 1591
+ }, {
+ "label": "林州市",
+ "value": 1592
+ }],
+ [{
+ "label": "鹤山区",
+ "value": 1594
+ }, {
+ "label": "山城区",
+ "value": 1595
+ }, {
+ "label": "淇滨区",
+ "value": 1596
+ }, {
+ "label": "浚县",
+ "value": 1597
+ }, {
+ "label": "淇县",
+ "value": 1598
+ }],
+ [{
+ "label": "红旗区",
+ "value": 1600
+ }, {
+ "label": "卫滨区",
+ "value": 1601
+ }, {
+ "label": "凤泉区",
+ "value": 1602
+ }, {
+ "label": "牧野区",
+ "value": 1603
+ }, {
+ "label": "新乡县",
+ "value": 1604
+ }, {
+ "label": "获嘉县",
+ "value": 1605
+ }, {
+ "label": "原阳县",
+ "value": 1606
+ }, {
+ "label": "延津县",
+ "value": 1607
+ }, {
+ "label": "封丘县",
+ "value": 1608
+ }, {
+ "label": "长垣县",
+ "value": 1609
+ }, {
+ "label": "卫辉市",
+ "value": 1610
+ }, {
+ "label": "辉县市",
+ "value": 1611
+ }],
+ [{
+ "label": "解放区",
+ "value": 1613
+ }, {
+ "label": "中站区",
+ "value": 1614
+ }, {
+ "label": "马村区",
+ "value": 1615
+ }, {
+ "label": "山阳区",
+ "value": 1616
+ }, {
+ "label": "修武县",
+ "value": 1617
+ }, {
+ "label": "博爱县",
+ "value": 1618
+ }, {
+ "label": "武陟县",
+ "value": 1619
+ }, {
+ "label": "温县",
+ "value": 1620
+ }, {
+ "label": "沁阳市",
+ "value": 1621
+ }, {
+ "label": "孟州市",
+ "value": 1622
+ }],
+ [{
+ "label": "华龙区",
+ "value": 1624
+ }, {
+ "label": "清丰县",
+ "value": 1625
+ }, {
+ "label": "南乐县",
+ "value": 1626
+ }, {
+ "label": "范县",
+ "value": 1627
+ }, {
+ "label": "台前县",
+ "value": 1628
+ }, {
+ "label": "濮阳县",
+ "value": 1629
+ }],
+ [{
+ "label": "魏都区",
+ "value": 1631
+ }, {
+ "label": "许昌县",
+ "value": 1632
+ }, {
+ "label": "鄢陵县",
+ "value": 1633
+ }, {
+ "label": "襄城县",
+ "value": 1634
+ }, {
+ "label": "禹州市",
+ "value": 1635
+ }, {
+ "label": "长葛市",
+ "value": 1636
+ }],
+ [{
+ "label": "源汇区",
+ "value": 1638
+ }, {
+ "label": "郾城区",
+ "value": 1639
+ }, {
+ "label": "召陵区",
+ "value": 1640
+ }, {
+ "label": "舞阳县",
+ "value": 1641
+ }, {
+ "label": "临颍县",
+ "value": 1642
+ }],
+ [{
+ "label": "湖滨区",
+ "value": 1644
+ }, {
+ "label": "渑池县",
+ "value": 1645
+ }, {
+ "label": "陕县",
+ "value": 1646
+ }, {
+ "label": "卢氏县",
+ "value": 1647
+ }, {
+ "label": "义马市",
+ "value": 1648
+ }, {
+ "label": "灵宝市",
+ "value": 1649
+ }],
+ [{
+ "label": "宛城区",
+ "value": 1651
+ }, {
+ "label": "卧龙区",
+ "value": 1652
+ }, {
+ "label": "南召县",
+ "value": 1653
+ }, {
+ "label": "方城县",
+ "value": 1654
+ }, {
+ "label": "西峡县",
+ "value": 1655
+ }, {
+ "label": "镇平县",
+ "value": 1656
+ }, {
+ "label": "内乡县",
+ "value": 1657
+ }, {
+ "label": "淅川县",
+ "value": 1658
+ }, {
+ "label": "社旗县",
+ "value": 1659
+ }, {
+ "label": "唐河县",
+ "value": 1660
+ }, {
+ "label": "新野县",
+ "value": 1661
+ }, {
+ "label": "桐柏县",
+ "value": 1662
+ }, {
+ "label": "邓州市",
+ "value": 1663
+ }],
+ [{
+ "label": "梁园区",
+ "value": 1665
+ }, {
+ "label": "睢阳区",
+ "value": 1666
+ }, {
+ "label": "民权县",
+ "value": 1667
+ }, {
+ "label": "睢县",
+ "value": 1668
+ }, {
+ "label": "宁陵县",
+ "value": 1669
+ }, {
+ "label": "柘城县",
+ "value": 1670
+ }, {
+ "label": "虞城县",
+ "value": 1671
+ }, {
+ "label": "夏邑县",
+ "value": 1672
+ }, {
+ "label": "永城市",
+ "value": 1673
+ }],
+ [{
+ "label": "浉河区",
+ "value": 1675
+ }, {
+ "label": "平桥区",
+ "value": 1676
+ }, {
+ "label": "罗山县",
+ "value": 1677
+ }, {
+ "label": "光山县",
+ "value": 1678
+ }, {
+ "label": "新县",
+ "value": 1679
+ }, {
+ "label": "商城县",
+ "value": 1680
+ }, {
+ "label": "固始县",
+ "value": 1681
+ }, {
+ "label": "潢川县",
+ "value": 1682
+ }, {
+ "label": "淮滨县",
+ "value": 1683
+ }, {
+ "label": "息县",
+ "value": 1684
+ }],
+ [{
+ "label": "川汇区",
+ "value": 1686
+ }, {
+ "label": "扶沟县",
+ "value": 1687
+ }, {
+ "label": "西华县",
+ "value": 1688
+ }, {
+ "label": "商水县",
+ "value": 1689
+ }, {
+ "label": "沈丘县",
+ "value": 1690
+ }, {
+ "label": "郸城县",
+ "value": 1691
+ }, {
+ "label": "淮阳县",
+ "value": 1692
+ }, {
+ "label": "太康县",
+ "value": 1693
+ }, {
+ "label": "鹿邑县",
+ "value": 1694
+ }, {
+ "label": "项城市",
+ "value": 1695
+ }],
+ [{
+ "label": "驿城区",
+ "value": 1697
+ }, {
+ "label": "西平县",
+ "value": 1698
+ }, {
+ "label": "上蔡县",
+ "value": 1699
+ }, {
+ "label": "平舆县",
+ "value": 1700
+ }, {
+ "label": "正阳县",
+ "value": 1701
+ }, {
+ "label": "确山县",
+ "value": 1702
+ }, {
+ "label": "泌阳县",
+ "value": 1703
+ }, {
+ "label": "汝南县",
+ "value": 1704
+ }, {
+ "label": "遂平县",
+ "value": 1705
+ }, {
+ "label": "新蔡县",
+ "value": 1706
+ }],
+ [{
+ "label": "济源市",
+ "value": 1708
+ }]
+ ],
+ [
+ [{
+ "label": "江岸区",
+ "value": 1711
+ }, {
+ "label": "江汉区",
+ "value": 1712
+ }, {
+ "label": "硚口区",
+ "value": 1713
+ }, {
+ "label": "汉阳区",
+ "value": 1714
+ }, {
+ "label": "武昌区",
+ "value": 1715
+ }, {
+ "label": "青山区",
+ "value": 1716
+ }, {
+ "label": "洪山区",
+ "value": 1717
+ }, {
+ "label": "东西湖区",
+ "value": 1718
+ }, {
+ "label": "汉南区",
+ "value": 1719
+ }, {
+ "label": "蔡甸区",
+ "value": 1720
+ }, {
+ "label": "江夏区",
+ "value": 1721
+ }, {
+ "label": "黄陂区",
+ "value": 1722
+ }, {
+ "label": "新洲区",
+ "value": 1723
+ }],
+ [{
+ "label": "黄石港区",
+ "value": 1725
+ }, {
+ "label": "西塞山区",
+ "value": 1726
+ }, {
+ "label": "下陆区",
+ "value": 1727
+ }, {
+ "label": "铁山区",
+ "value": 1728
+ }, {
+ "label": "阳新县",
+ "value": 1729
+ }, {
+ "label": "大冶市",
+ "value": 1730
+ }],
+ [{
+ "label": "茅箭区",
+ "value": 1732
+ }, {
+ "label": "张湾区",
+ "value": 1733
+ }, {
+ "label": "郧阳区",
+ "value": 1734
+ }, {
+ "label": "郧西县",
+ "value": 1735
+ }, {
+ "label": "竹山县",
+ "value": 1736
+ }, {
+ "label": "竹溪县",
+ "value": 1737
+ }, {
+ "label": "房县",
+ "value": 1738
+ }, {
+ "label": "丹江口市",
+ "value": 1739
+ }],
+ [{
+ "label": "西陵区",
+ "value": 1741
+ }, {
+ "label": "伍家岗区",
+ "value": 1742
+ }, {
+ "label": "点军区",
+ "value": 1743
+ }, {
+ "label": "猇亭区",
+ "value": 1744
+ }, {
+ "label": "夷陵区",
+ "value": 1745
+ }, {
+ "label": "远安县",
+ "value": 1746
+ }, {
+ "label": "兴山县",
+ "value": 1747
+ }, {
+ "label": "秭归县",
+ "value": 1748
+ }, {
+ "label": "长阳土家族自治县",
+ "value": 1749
+ }, {
+ "label": "五峰土家族自治县",
+ "value": 1750
+ }, {
+ "label": "宜都市",
+ "value": 1751
+ }, {
+ "label": "当阳市",
+ "value": 1752
+ }, {
+ "label": "枝江市",
+ "value": 1753
+ }],
+ [{
+ "label": "襄城区",
+ "value": 1755
+ }, {
+ "label": "樊城区",
+ "value": 1756
+ }, {
+ "label": "襄州区",
+ "value": 1757
+ }, {
+ "label": "南漳县",
+ "value": 1758
+ }, {
+ "label": "谷城县",
+ "value": 1759
+ }, {
+ "label": "保康县",
+ "value": 1760
+ }, {
+ "label": "老河口市",
+ "value": 1761
+ }, {
+ "label": "枣阳市",
+ "value": 1762
+ }, {
+ "label": "宜城市",
+ "value": 1763
+ }],
+ [{
+ "label": "梁子湖区",
+ "value": 1765
+ }, {
+ "label": "华容区",
+ "value": 1766
+ }, {
+ "label": "鄂城区",
+ "value": 1767
+ }],
+ [{
+ "label": "东宝区",
+ "value": 1769
+ }, {
+ "label": "掇刀区",
+ "value": 1770
+ }, {
+ "label": "京山县",
+ "value": 1771
+ }, {
+ "label": "沙洋县",
+ "value": 1772
+ }, {
+ "label": "钟祥市",
+ "value": 1773
+ }],
+ [{
+ "label": "孝南区",
+ "value": 1775
+ }, {
+ "label": "孝昌县",
+ "value": 1776
+ }, {
+ "label": "大悟县",
+ "value": 1777
+ }, {
+ "label": "云梦县",
+ "value": 1778
+ }, {
+ "label": "应城市",
+ "value": 1779
+ }, {
+ "label": "安陆市",
+ "value": 1780
+ }, {
+ "label": "汉川市",
+ "value": 1781
+ }],
+ [{
+ "label": "沙市区",
+ "value": 1783
+ }, {
+ "label": "荆州区",
+ "value": 1784
+ }, {
+ "label": "公安县",
+ "value": 1785
+ }, {
+ "label": "监利县",
+ "value": 1786
+ }, {
+ "label": "江陵县",
+ "value": 1787
+ }, {
+ "label": "石首市",
+ "value": 1788
+ }, {
+ "label": "洪湖市",
+ "value": 1789
+ }, {
+ "label": "松滋市",
+ "value": 1790
+ }],
+ [{
+ "label": "黄州区",
+ "value": 1792
+ }, {
+ "label": "团风县",
+ "value": 1793
+ }, {
+ "label": "红安县",
+ "value": 1794
+ }, {
+ "label": "罗田县",
+ "value": 1795
+ }, {
+ "label": "英山县",
+ "value": 1796
+ }, {
+ "label": "浠水县",
+ "value": 1797
+ }, {
+ "label": "蕲春县",
+ "value": 1798
+ }, {
+ "label": "黄梅县",
+ "value": 1799
+ }, {
+ "label": "麻城市",
+ "value": 1800
+ }, {
+ "label": "武穴市",
+ "value": 1801
+ }],
+ [{
+ "label": "咸安区",
+ "value": 1803
+ }, {
+ "label": "嘉鱼县",
+ "value": 1804
+ }, {
+ "label": "通城县",
+ "value": 1805
+ }, {
+ "label": "崇阳县",
+ "value": 1806
+ }, {
+ "label": "通山县",
+ "value": 1807
+ }, {
+ "label": "赤壁市",
+ "value": 1808
+ }],
+ [{
+ "label": "曾都区",
+ "value": 1810
+ }, {
+ "label": "随县",
+ "value": 1811
+ }, {
+ "label": "广水市",
+ "value": 1812
+ }],
+ [{
+ "label": "恩施市",
+ "value": 1814
+ }, {
+ "label": "利川市",
+ "value": 1815
+ }, {
+ "label": "建始县",
+ "value": 1816
+ }, {
+ "label": "巴东县",
+ "value": 1817
+ }, {
+ "label": "宣恩县",
+ "value": 1818
+ }, {
+ "label": "咸丰县",
+ "value": 1819
+ }, {
+ "label": "来凤县",
+ "value": 1820
+ }, {
+ "label": "鹤峰县",
+ "value": 1821
+ }],
+ [{
+ "label": "仙桃市",
+ "value": 1823
+ }, {
+ "label": "潜江市",
+ "value": 1824
+ }, {
+ "label": "天门市",
+ "value": 1825
+ }, {
+ "label": "神农架林区",
+ "value": 1826
+ }]
+ ],
+ [
+ [{
+ "label": "芙蓉区",
+ "value": 1829
+ }, {
+ "label": "天心区",
+ "value": 1830
+ }, {
+ "label": "岳麓区",
+ "value": 1831
+ }, {
+ "label": "开福区",
+ "value": 1832
+ }, {
+ "label": "雨花区",
+ "value": 1833
+ }, {
+ "label": "望城区",
+ "value": 1834
+ }, {
+ "label": "长沙县",
+ "value": 1835
+ }, {
+ "label": "宁乡县",
+ "value": 1836
+ }, {
+ "label": "浏阳市",
+ "value": 1837
+ }],
+ [{
+ "label": "荷塘区",
+ "value": 1839
+ }, {
+ "label": "芦淞区",
+ "value": 1840
+ }, {
+ "label": "石峰区",
+ "value": 1841
+ }, {
+ "label": "天元区",
+ "value": 1842
+ }, {
+ "label": "株洲县",
+ "value": 1843
+ }, {
+ "label": "攸县",
+ "value": 1844
+ }, {
+ "label": "茶陵县",
+ "value": 1845
+ }, {
+ "label": "炎陵县",
+ "value": 1846
+ }, {
+ "label": "醴陵市",
+ "value": 1847
+ }],
+ [{
+ "label": "雨湖区",
+ "value": 1849
+ }, {
+ "label": "岳塘区",
+ "value": 1850
+ }, {
+ "label": "湘潭县",
+ "value": 1851
+ }, {
+ "label": "湘乡市",
+ "value": 1852
+ }, {
+ "label": "韶山市",
+ "value": 1853
+ }],
+ [{
+ "label": "珠晖区",
+ "value": 1855
+ }, {
+ "label": "雁峰区",
+ "value": 1856
+ }, {
+ "label": "石鼓区",
+ "value": 1857
+ }, {
+ "label": "蒸湘区",
+ "value": 1858
+ }, {
+ "label": "南岳区",
+ "value": 1859
+ }, {
+ "label": "衡阳县",
+ "value": 1860
+ }, {
+ "label": "衡南县",
+ "value": 1861
+ }, {
+ "label": "衡山县",
+ "value": 1862
+ }, {
+ "label": "衡东县",
+ "value": 1863
+ }, {
+ "label": "祁东县",
+ "value": 1864
+ }, {
+ "label": "耒阳市",
+ "value": 1865
+ }, {
+ "label": "常宁市",
+ "value": 1866
+ }],
+ [{
+ "label": "双清区",
+ "value": 1868
+ }, {
+ "label": "大祥区",
+ "value": 1869
+ }, {
+ "label": "北塔区",
+ "value": 1870
+ }, {
+ "label": "邵东县",
+ "value": 1871
+ }, {
+ "label": "新邵县",
+ "value": 1872
+ }, {
+ "label": "邵阳县",
+ "value": 1873
+ }, {
+ "label": "隆回县",
+ "value": 1874
+ }, {
+ "label": "洞口县",
+ "value": 1875
+ }, {
+ "label": "绥宁县",
+ "value": 1876
+ }, {
+ "label": "新宁县",
+ "value": 1877
+ }, {
+ "label": "城步苗族自治县",
+ "value": 1878
+ }, {
+ "label": "武冈市",
+ "value": 1879
+ }],
+ [{
+ "label": "岳阳楼区",
+ "value": 1881
+ }, {
+ "label": "云溪区",
+ "value": 1882
+ }, {
+ "label": "君山区",
+ "value": 1883
+ }, {
+ "label": "岳阳县",
+ "value": 1884
+ }, {
+ "label": "华容县",
+ "value": 1885
+ }, {
+ "label": "湘阴县",
+ "value": 1886
+ }, {
+ "label": "平江县",
+ "value": 1887
+ }, {
+ "label": "汨罗市",
+ "value": 1888
+ }, {
+ "label": "临湘市",
+ "value": 1889
+ }],
+ [{
+ "label": "武陵区",
+ "value": 1891
+ }, {
+ "label": "鼎城区",
+ "value": 1892
+ }, {
+ "label": "安乡县",
+ "value": 1893
+ }, {
+ "label": "汉寿县",
+ "value": 1894
+ }, {
+ "label": "澧县",
+ "value": 1895
+ }, {
+ "label": "临澧县",
+ "value": 1896
+ }, {
+ "label": "桃源县",
+ "value": 1897
+ }, {
+ "label": "石门县",
+ "value": 1898
+ }, {
+ "label": "津市市",
+ "value": 1899
+ }],
+ [{
+ "label": "永定区",
+ "value": 1901
+ }, {
+ "label": "武陵源区",
+ "value": 1902
+ }, {
+ "label": "慈利县",
+ "value": 1903
+ }, {
+ "label": "桑植县",
+ "value": 1904
+ }],
+ [{
+ "label": "资阳区",
+ "value": 1906
+ }, {
+ "label": "赫山区",
+ "value": 1907
+ }, {
+ "label": "南县",
+ "value": 1908
+ }, {
+ "label": "桃江县",
+ "value": 1909
+ }, {
+ "label": "安化县",
+ "value": 1910
+ }, {
+ "label": "沅江市",
+ "value": 1911
+ }],
+ [{
+ "label": "北湖区",
+ "value": 1913
+ }, {
+ "label": "苏仙区",
+ "value": 1914
+ }, {
+ "label": "桂阳县",
+ "value": 1915
+ }, {
+ "label": "宜章县",
+ "value": 1916
+ }, {
+ "label": "永兴县",
+ "value": 1917
+ }, {
+ "label": "嘉禾县",
+ "value": 1918
+ }, {
+ "label": "临武县",
+ "value": 1919
+ }, {
+ "label": "汝城县",
+ "value": 1920
+ }, {
+ "label": "桂东县",
+ "value": 1921
+ }, {
+ "label": "安仁县",
+ "value": 1922
+ }, {
+ "label": "资兴市",
+ "value": 1923
+ }],
+ [{
+ "label": "零陵区",
+ "value": 1925
+ }, {
+ "label": "冷水滩区",
+ "value": 1926
+ }, {
+ "label": "祁阳县",
+ "value": 1927
+ }, {
+ "label": "东安县",
+ "value": 1928
+ }, {
+ "label": "双牌县",
+ "value": 1929
+ }, {
+ "label": "道县",
+ "value": 1930
+ }, {
+ "label": "江永县",
+ "value": 1931
+ }, {
+ "label": "宁远县",
+ "value": 1932
+ }, {
+ "label": "蓝山县",
+ "value": 1933
+ }, {
+ "label": "新田县",
+ "value": 1934
+ }, {
+ "label": "江华瑶族自治县",
+ "value": 1935
+ }],
+ [{
+ "label": "鹤城区",
+ "value": 1937
+ }, {
+ "label": "中方县",
+ "value": 1938
+ }, {
+ "label": "沅陵县",
+ "value": 1939
+ }, {
+ "label": "辰溪县",
+ "value": 1940
+ }, {
+ "label": "溆浦县",
+ "value": 1941
+ }, {
+ "label": "会同县",
+ "value": 1942
+ }, {
+ "label": "麻阳苗族自治县",
+ "value": 1943
+ }, {
+ "label": "新晃侗族自治县",
+ "value": 1944
+ }, {
+ "label": "芷江侗族自治县",
+ "value": 1945
+ }, {
+ "label": "靖州苗族侗族自治县",
+ "value": 1946
+ }, {
+ "label": "通道侗族自治县",
+ "value": 1947
+ }, {
+ "label": "洪江市",
+ "value": 1948
+ }],
+ [{
+ "label": "娄星区",
+ "value": 1950
+ }, {
+ "label": "双峰县",
+ "value": 1951
+ }, {
+ "label": "新化县",
+ "value": 1952
+ }, {
+ "label": "冷水江市",
+ "value": 1953
+ }, {
+ "label": "涟源市",
+ "value": 1954
+ }],
+ [{
+ "label": "吉首市",
+ "value": 1956
+ }, {
+ "label": "泸溪县",
+ "value": 1957
+ }, {
+ "label": "凤凰县",
+ "value": 1958
+ }, {
+ "label": "花垣县",
+ "value": 1959
+ }, {
+ "label": "保靖县",
+ "value": 1960
+ }, {
+ "label": "古丈县",
+ "value": 1961
+ }, {
+ "label": "永顺县",
+ "value": 1962
+ }, {
+ "label": "龙山县",
+ "value": 1963
+ }]
+ ],
+ [
+ [{
+ "label": "荔湾区",
+ "value": 1966
+ }, {
+ "label": "越秀区",
+ "value": 1967
+ }, {
+ "label": "海珠区",
+ "value": 1968
+ }, {
+ "label": "天河区",
+ "value": 1969
+ }, {
+ "label": "白云区",
+ "value": 1970
+ }, {
+ "label": "黄埔区",
+ "value": 1971
+ }, {
+ "label": "番禺区",
+ "value": 1972
+ }, {
+ "label": "花都区",
+ "value": 1973
+ }, {
+ "label": "南沙区",
+ "value": 1974
+ }, {
+ "label": "从化区",
+ "value": 1975
+ }, {
+ "label": "增城区",
+ "value": 1976
+ }],
+ [{
+ "label": "武江区",
+ "value": 1978
+ }, {
+ "label": "浈江区",
+ "value": 1979
+ }, {
+ "label": "曲江区",
+ "value": 1980
+ }, {
+ "label": "始兴县",
+ "value": 1981
+ }, {
+ "label": "仁化县",
+ "value": 1982
+ }, {
+ "label": "翁源县",
+ "value": 1983
+ }, {
+ "label": "乳源瑶族自治县",
+ "value": 1984
+ }, {
+ "label": "新丰县",
+ "value": 1985
+ }, {
+ "label": "乐昌市",
+ "value": 1986
+ }, {
+ "label": "南雄市",
+ "value": 1987
+ }],
+ [{
+ "label": "罗湖区",
+ "value": 1989
+ }, {
+ "label": "福田区",
+ "value": 1990
+ }, {
+ "label": "南山区",
+ "value": 1991
+ }, {
+ "label": "宝安区",
+ "value": 1992
+ }, {
+ "label": "龙岗区",
+ "value": 1993
+ }, {
+ "label": "盐田区",
+ "value": 1994
+ }, {
+ "label": "光明新区",
+ "value": 1995
+ }, {
+ "label": "坪山新区",
+ "value": 1996
+ }, {
+ "label": "大鹏新区",
+ "value": 1997
+ }, {
+ "label": "龙华新区",
+ "value": 1998
+ }],
+ [{
+ "label": "香洲区",
+ "value": 2000
+ }, {
+ "label": "斗门区",
+ "value": 2001
+ }, {
+ "label": "金湾区",
+ "value": 2002
+ }],
+ [{
+ "label": "龙湖区",
+ "value": 2004
+ }, {
+ "label": "金平区",
+ "value": 2005
+ }, {
+ "label": "濠江区",
+ "value": 2006
+ }, {
+ "label": "潮阳区",
+ "value": 2007
+ }, {
+ "label": "潮南区",
+ "value": 2008
+ }, {
+ "label": "澄海区",
+ "value": 2009
+ }, {
+ "label": "南澳县",
+ "value": 2010
+ }],
+ [{
+ "label": "禅城区",
+ "value": 2012
+ }, {
+ "label": "南海区",
+ "value": 2013
+ }, {
+ "label": "顺德区",
+ "value": 2014
+ }, {
+ "label": "三水区",
+ "value": 2015
+ }, {
+ "label": "高明区",
+ "value": 2016
+ }],
+ [{
+ "label": "蓬江区",
+ "value": 2018
+ }, {
+ "label": "江海区",
+ "value": 2019
+ }, {
+ "label": "新会区",
+ "value": 2020
+ }, {
+ "label": "台山市",
+ "value": 2021
+ }, {
+ "label": "开平市",
+ "value": 2022
+ }, {
+ "label": "鹤山市",
+ "value": 2023
+ }, {
+ "label": "恩平市",
+ "value": 2024
+ }],
+ [{
+ "label": "赤坎区",
+ "value": 2026
+ }, {
+ "label": "霞山区",
+ "value": 2027
+ }, {
+ "label": "坡头区",
+ "value": 2028
+ }, {
+ "label": "麻章区",
+ "value": 2029
+ }, {
+ "label": "遂溪县",
+ "value": 2030
+ }, {
+ "label": "徐闻县",
+ "value": 2031
+ }, {
+ "label": "廉江市",
+ "value": 2032
+ }, {
+ "label": "雷州市",
+ "value": 2033
+ }, {
+ "label": "吴川市",
+ "value": 2034
+ }],
+ [{
+ "label": "茂南区",
+ "value": 2036
+ }, {
+ "label": "电白区",
+ "value": 2037
+ }, {
+ "label": "高州市",
+ "value": 2038
+ }, {
+ "label": "化州市",
+ "value": 2039
+ }, {
+ "label": "信宜市",
+ "value": 2040
+ }],
+ [{
+ "label": "端州区",
+ "value": 2042
+ }, {
+ "label": "鼎湖区",
+ "value": 2043
+ }, {
+ "label": "广宁县",
+ "value": 2044
+ }, {
+ "label": "怀集县",
+ "value": 2045
+ }, {
+ "label": "封开县",
+ "value": 2046
+ }, {
+ "label": "德庆县",
+ "value": 2047
+ }, {
+ "label": "高要市",
+ "value": 2048
+ }, {
+ "label": "四会市",
+ "value": 2049
+ }],
+ [{
+ "label": "惠城区",
+ "value": 2051
+ }, {
+ "label": "惠阳区",
+ "value": 2052
+ }, {
+ "label": "博罗县",
+ "value": 2053
+ }, {
+ "label": "惠东县",
+ "value": 2054
+ }, {
+ "label": "龙门县",
+ "value": 2055
+ }],
+ [{
+ "label": "梅江区",
+ "value": 2057
+ }, {
+ "label": "梅县区",
+ "value": 2058
+ }, {
+ "label": "大埔县",
+ "value": 2059
+ }, {
+ "label": "丰顺县",
+ "value": 2060
+ }, {
+ "label": "五华县",
+ "value": 2061
+ }, {
+ "label": "平远县",
+ "value": 2062
+ }, {
+ "label": "蕉岭县",
+ "value": 2063
+ }, {
+ "label": "兴宁市",
+ "value": 2064
+ }],
+ [{
+ "label": "城区",
+ "value": 2066
+ }, {
+ "label": "海丰县",
+ "value": 2067
+ }, {
+ "label": "陆河县",
+ "value": 2068
+ }, {
+ "label": "陆丰市",
+ "value": 2069
+ }],
+ [{
+ "label": "源城区",
+ "value": 2071
+ }, {
+ "label": "紫金县",
+ "value": 2072
+ }, {
+ "label": "龙川县",
+ "value": 2073
+ }, {
+ "label": "连平县",
+ "value": 2074
+ }, {
+ "label": "和平县",
+ "value": 2075
+ }, {
+ "label": "东源县",
+ "value": 2076
+ }],
+ [{
+ "label": "江城区",
+ "value": 2078
+ }, {
+ "label": "阳东区",
+ "value": 2079
+ }, {
+ "label": "阳西县",
+ "value": 2080
+ }, {
+ "label": "阳春市",
+ "value": 2081
+ }],
+ [{
+ "label": "清城区",
+ "value": 2083
+ }, {
+ "label": "清新区",
+ "value": 2084
+ }, {
+ "label": "佛冈县",
+ "value": 2085
+ }, {
+ "label": "阳山县",
+ "value": 2086
+ }, {
+ "label": "连山壮族瑶族自治县",
+ "value": 2087
+ }, {
+ "label": "连南瑶族自治县",
+ "value": 2088
+ }, {
+ "label": "英德市",
+ "value": 2089
+ }, {
+ "label": "连州市",
+ "value": 2090
+ }],
+ [{
+ "label": "莞城区",
+ "value": 2092
+ }, {
+ "label": "南城区",
+ "value": 2093
+ }, {
+ "label": "万江区",
+ "value": 2094
+ }, {
+ "label": "石碣镇",
+ "value": 2095
+ }, {
+ "label": "石龙镇",
+ "value": 2096
+ }, {
+ "label": "茶山镇",
+ "value": 2097
+ }, {
+ "label": "石排镇",
+ "value": 2098
+ }, {
+ "label": "企石镇",
+ "value": 2099
+ }, {
+ "label": "横沥镇",
+ "value": 2100
+ }, {
+ "label": "桥头镇",
+ "value": 2101
+ }, {
+ "label": "谢岗镇",
+ "value": 2102
+ }, {
+ "label": "东坑镇",
+ "value": 2103
+ }, {
+ "label": "常平镇",
+ "value": 2104
+ }, {
+ "label": "寮步镇",
+ "value": 2105
+ }, {
+ "label": "大朗镇",
+ "value": 2106
+ }, {
+ "label": "麻涌镇",
+ "value": 2107
+ }, {
+ "label": "中堂镇",
+ "value": 2108
+ }, {
+ "label": "高埗镇",
+ "value": 2109
+ }, {
+ "label": "樟木头镇",
+ "value": 2110
+ }, {
+ "label": "大岭山镇",
+ "value": 2111
+ }, {
+ "label": "望牛墩镇",
+ "value": 2112
+ }, {
+ "label": "黄江镇",
+ "value": 2113
+ }, {
+ "label": "洪梅镇",
+ "value": 2114
+ }, {
+ "label": "清溪镇",
+ "value": 2115
+ }, {
+ "label": "沙田镇",
+ "value": 2116
+ }, {
+ "label": "道滘镇",
+ "value": 2117
+ }, {
+ "label": "塘厦镇",
+ "value": 2118
+ }, {
+ "label": "虎门镇",
+ "value": 2119
+ }, {
+ "label": "厚街镇",
+ "value": 2120
+ }, {
+ "label": "凤岗镇",
+ "value": 2121
+ }, {
+ "label": "长安镇",
+ "value": 2122
+ }],
+ [{
+ "label": "石岐区",
+ "value": 2124
+ }, {
+ "label": "南区",
+ "value": 2125
+ }, {
+ "label": "五桂山区",
+ "value": 2126
+ }, {
+ "label": "火炬开发区",
+ "value": 2127
+ }, {
+ "label": "黄圃镇",
+ "value": 2128
+ }, {
+ "label": "南头镇",
+ "value": 2129
+ }, {
+ "label": "东凤镇",
+ "value": 2130
+ }, {
+ "label": "阜沙镇",
+ "value": 2131
+ }, {
+ "label": "小榄镇",
+ "value": 2132
+ }, {
+ "label": "东升镇",
+ "value": 2133
+ }, {
+ "label": "古镇镇",
+ "value": 2134
+ }, {
+ "label": "横栏镇",
+ "value": 2135
+ }, {
+ "label": "三角镇",
+ "value": 2136
+ }, {
+ "label": "民众镇",
+ "value": 2137
+ }, {
+ "label": "南朗镇",
+ "value": 2138
+ }, {
+ "label": "港口镇",
+ "value": 2139
+ }, {
+ "label": "大涌镇",
+ "value": 2140
+ }, {
+ "label": "沙溪镇",
+ "value": 2141
+ }, {
+ "label": "三乡镇",
+ "value": 2142
+ }, {
+ "label": "板芙镇",
+ "value": 2143
+ }, {
+ "label": "神湾镇",
+ "value": 2144
+ }, {
+ "label": "坦洲镇",
+ "value": 2145
+ }],
+ [{
+ "label": "湘桥区",
+ "value": 2147
+ }, {
+ "label": "潮安区",
+ "value": 2148
+ }, {
+ "label": "饶平县",
+ "value": 2149
+ }],
+ [{
+ "label": "榕城区",
+ "value": 2151
+ }, {
+ "label": "揭东区",
+ "value": 2152
+ }, {
+ "label": "揭西县",
+ "value": 2153
+ }, {
+ "label": "惠来县",
+ "value": 2154
+ }, {
+ "label": "普宁市",
+ "value": 2155
+ }],
+ [{
+ "label": "云城区",
+ "value": 2157
+ }, {
+ "label": "云安区",
+ "value": 2158
+ }, {
+ "label": "新兴县",
+ "value": 2159
+ }, {
+ "label": "郁南县",
+ "value": 2160
+ }, {
+ "label": "罗定市",
+ "value": 2161
+ }]
+ ],
+ [
+ [{
+ "label": "兴宁区",
+ "value": 2164
+ }, {
+ "label": "青秀区",
+ "value": 2165
+ }, {
+ "label": "江南区",
+ "value": 2166
+ }, {
+ "label": "西乡塘区",
+ "value": 2167
+ }, {
+ "label": "良庆区",
+ "value": 2168
+ }, {
+ "label": "邕宁区",
+ "value": 2169
+ }, {
+ "label": "武鸣县",
+ "value": 2170
+ }, {
+ "label": "隆安县",
+ "value": 2171
+ }, {
+ "label": "马山县",
+ "value": 2172
+ }, {
+ "label": "上林县",
+ "value": 2173
+ }, {
+ "label": "宾阳县",
+ "value": 2174
+ }, {
+ "label": "横县",
+ "value": 2175
+ }, {
+ "label": "埌东新区",
+ "value": 2176
+ }],
+ [{
+ "label": "城中区",
+ "value": 2178
+ }, {
+ "label": "鱼峰区",
+ "value": 2179
+ }, {
+ "label": "柳南区",
+ "value": 2180
+ }, {
+ "label": "柳北区",
+ "value": 2181
+ }, {
+ "label": "柳江县",
+ "value": 2182
+ }, {
+ "label": "柳城县",
+ "value": 2183
+ }, {
+ "label": "鹿寨县",
+ "value": 2184
+ }, {
+ "label": "融安县",
+ "value": 2185
+ }, {
+ "label": "融水苗族自治县",
+ "value": 2186
+ }, {
+ "label": "三江侗族自治县",
+ "value": 2187
+ }, {
+ "label": "柳东新区",
+ "value": 2188
+ }],
+ [{
+ "label": "秀峰区",
+ "value": 2190
+ }, {
+ "label": "叠彩区",
+ "value": 2191
+ }, {
+ "label": "象山区",
+ "value": 2192
+ }, {
+ "label": "七星区",
+ "value": 2193
+ }, {
+ "label": "雁山区",
+ "value": 2194
+ }, {
+ "label": "临桂区",
+ "value": 2195
+ }, {
+ "label": "阳朔县",
+ "value": 2196
+ }, {
+ "label": "灵川县",
+ "value": 2197
+ }, {
+ "label": "全州县",
+ "value": 2198
+ }, {
+ "label": "兴安县",
+ "value": 2199
+ }, {
+ "label": "永福县",
+ "value": 2200
+ }, {
+ "label": "灌阳县",
+ "value": 2201
+ }, {
+ "label": "龙胜各族自治县",
+ "value": 2202
+ }, {
+ "label": "资源县",
+ "value": 2203
+ }, {
+ "label": "平乐县",
+ "value": 2204
+ }, {
+ "label": "荔浦县",
+ "value": 2205
+ }, {
+ "label": "恭城瑶族自治县",
+ "value": 2206
+ }],
+ [{
+ "label": "万秀区",
+ "value": 2208
+ }, {
+ "label": "长洲区",
+ "value": 2209
+ }, {
+ "label": "龙圩区",
+ "value": 2210
+ }, {
+ "label": "苍梧县",
+ "value": 2211
+ }, {
+ "label": "藤县",
+ "value": 2212
+ }, {
+ "label": "蒙山县",
+ "value": 2213
+ }, {
+ "label": "岑溪市",
+ "value": 2214
+ }],
+ [{
+ "label": "海城区",
+ "value": 2216
+ }, {
+ "label": "银海区",
+ "value": 2217
+ }, {
+ "label": "铁山港区",
+ "value": 2218
+ }, {
+ "label": "合浦县",
+ "value": 2219
+ }],
+ [{
+ "label": "港口区",
+ "value": 2221
+ }, {
+ "label": "防城区",
+ "value": 2222
+ }, {
+ "label": "上思县",
+ "value": 2223
+ }, {
+ "label": "东兴市",
+ "value": 2224
+ }],
+ [{
+ "label": "钦南区",
+ "value": 2226
+ }, {
+ "label": "钦北区",
+ "value": 2227
+ }, {
+ "label": "灵山县",
+ "value": 2228
+ }, {
+ "label": "浦北县",
+ "value": 2229
+ }],
+ [{
+ "label": "港北区",
+ "value": 2231
+ }, {
+ "label": "港南区",
+ "value": 2232
+ }, {
+ "label": "覃塘区",
+ "value": 2233
+ }, {
+ "label": "平南县",
+ "value": 2234
+ }, {
+ "label": "桂平市",
+ "value": 2235
+ }],
+ [{
+ "label": "玉州区",
+ "value": 2237
+ }, {
+ "label": "福绵区",
+ "value": 2238
+ }, {
+ "label": "玉东新区",
+ "value": 2239
+ }, {
+ "label": "容县",
+ "value": 2240
+ }, {
+ "label": "陆川县",
+ "value": 2241
+ }, {
+ "label": "博白县",
+ "value": 2242
+ }, {
+ "label": "兴业县",
+ "value": 2243
+ }, {
+ "label": "北流市",
+ "value": 2244
+ }],
+ [{
+ "label": "右江区",
+ "value": 2246
+ }, {
+ "label": "田阳县",
+ "value": 2247
+ }, {
+ "label": "田东县",
+ "value": 2248
+ }, {
+ "label": "平果县",
+ "value": 2249
+ }, {
+ "label": "德保县",
+ "value": 2250
+ }, {
+ "label": "靖西县",
+ "value": 2251
+ }, {
+ "label": "那坡县",
+ "value": 2252
+ }, {
+ "label": "凌云县",
+ "value": 2253
+ }, {
+ "label": "乐业县",
+ "value": 2254
+ }, {
+ "label": "田林县",
+ "value": 2255
+ }, {
+ "label": "西林县",
+ "value": 2256
+ }, {
+ "label": "隆林各族自治县",
+ "value": 2257
+ }],
+ [{
+ "label": "八步区",
+ "value": 2259
+ }, {
+ "label": "昭平县",
+ "value": 2260
+ }, {
+ "label": "钟山县",
+ "value": 2261
+ }, {
+ "label": "富川瑶族自治县",
+ "value": 2262
+ }, {
+ "label": "平桂管理区",
+ "value": 2263
+ }],
+ [{
+ "label": "金城江区",
+ "value": 2265
+ }, {
+ "label": "南丹县",
+ "value": 2266
+ }, {
+ "label": "天峨县",
+ "value": 2267
+ }, {
+ "label": "凤山县",
+ "value": 2268
+ }, {
+ "label": "东兰县",
+ "value": 2269
+ }, {
+ "label": "罗城仫佬族自治县",
+ "value": 2270
+ }, {
+ "label": "环江毛南族自治县",
+ "value": 2271
+ }, {
+ "label": "巴马瑶族自治县",
+ "value": 2272
+ }, {
+ "label": "都安瑶族自治县",
+ "value": 2273
+ }, {
+ "label": "大化瑶族自治县",
+ "value": 2274
+ }, {
+ "label": "宜州市",
+ "value": 2275
+ }],
+ [{
+ "label": "兴宾区",
+ "value": 2277
+ }, {
+ "label": "忻城县",
+ "value": 2278
+ }, {
+ "label": "象州县",
+ "value": 2279
+ }, {
+ "label": "武宣县",
+ "value": 2280
+ }, {
+ "label": "金秀瑶族自治县",
+ "value": 2281
+ }, {
+ "label": "合山市",
+ "value": 2282
+ }],
+ [{
+ "label": "江州区",
+ "value": 2284
+ }, {
+ "label": "扶绥县",
+ "value": 2285
+ }, {
+ "label": "宁明县",
+ "value": 2286
+ }, {
+ "label": "龙州县",
+ "value": 2287
+ }, {
+ "label": "大新县",
+ "value": 2288
+ }, {
+ "label": "天等县",
+ "value": 2289
+ }, {
+ "label": "凭祥市",
+ "value": 2290
+ }]
+ ],
+ [
+ [{
+ "label": "秀英区",
+ "value": 2293
+ }, {
+ "label": "龙华区",
+ "value": 2294
+ }, {
+ "label": "琼山区",
+ "value": 2295
+ }, {
+ "label": "美兰区",
+ "value": 2296
+ }],
+ [{
+ "label": "海棠区",
+ "value": 2298
+ }, {
+ "label": "吉阳区",
+ "value": 2299
+ }, {
+ "label": "天涯区",
+ "value": 2300
+ }, {
+ "label": "崖州区",
+ "value": 2301
+ }],
+ [{
+ "label": "西沙群岛",
+ "value": 2303
+ }, {
+ "label": "南沙群岛",
+ "value": 2304
+ }, {
+ "label": "中沙群岛",
+ "value": 2305
+ }],
+ [{
+ "label": "五指山市",
+ "value": 2307
+ }, {
+ "label": "琼海市",
+ "value": 2308
+ }, {
+ "label": "儋州市",
+ "value": 2309
+ }, {
+ "label": "文昌市",
+ "value": 2310
+ }, {
+ "label": "万宁市",
+ "value": 2311
+ }, {
+ "label": "东方市",
+ "value": 2312
+ }, {
+ "label": "定安县",
+ "value": 2313
+ }, {
+ "label": "屯昌县",
+ "value": 2314
+ }, {
+ "label": "澄迈县",
+ "value": 2315
+ }, {
+ "label": "临高县",
+ "value": 2316
+ }, {
+ "label": "白沙黎族自治县",
+ "value": 2317
+ }, {
+ "label": "昌江黎族自治县",
+ "value": 2318
+ }, {
+ "label": "乐东黎族自治县",
+ "value": 2319
+ }, {
+ "label": "陵水黎族自治县",
+ "value": 2320
+ }, {
+ "label": "保亭黎族苗族自治县",
+ "value": 2321
+ }, {
+ "label": "琼中黎族苗族自治县",
+ "value": 2322
+ }]
+ ],
+ [
+ [{
+ "label": "万州区",
+ "value": 2325
+ }, {
+ "label": "涪陵区",
+ "value": 2326
+ }, {
+ "label": "渝中区",
+ "value": 2327
+ }, {
+ "label": "大渡口区",
+ "value": 2328
+ }, {
+ "label": "江北区",
+ "value": 2329
+ }, {
+ "label": "沙坪坝区",
+ "value": 2330
+ }, {
+ "label": "九龙坡区",
+ "value": 2331
+ }, {
+ "label": "南岸区",
+ "value": 2332
+ }, {
+ "label": "北碚区",
+ "value": 2333
+ }, {
+ "label": "綦江区",
+ "value": 2334
+ }, {
+ "label": "大足区",
+ "value": 2335
+ }, {
+ "label": "渝北区",
+ "value": 2336
+ }, {
+ "label": "巴南区",
+ "value": 2337
+ }, {
+ "label": "黔江区",
+ "value": 2338
+ }, {
+ "label": "长寿区",
+ "value": 2339
+ }, {
+ "label": "江津区",
+ "value": 2340
+ }, {
+ "label": "合川区",
+ "value": 2341
+ }, {
+ "label": "永川区",
+ "value": 2342
+ }, {
+ "label": "南川区",
+ "value": 2343
+ }, {
+ "label": "璧山区",
+ "value": 2344
+ }, {
+ "label": "铜梁区",
+ "value": 2345
+ }, {
+ "label": "潼南县",
+ "value": 2346
+ }, {
+ "label": "荣昌县",
+ "value": 2347
+ }, {
+ "label": "梁平县",
+ "value": 2348
+ }, {
+ "label": "城口县",
+ "value": 2349
+ }, {
+ "label": "丰都县",
+ "value": 2350
+ }, {
+ "label": "垫江县",
+ "value": 2351
+ }, {
+ "label": "武隆县",
+ "value": 2352
+ }, {
+ "label": "忠县",
+ "value": 2353
+ }, {
+ "label": "开县",
+ "value": 2354
+ }, {
+ "label": "云阳县",
+ "value": 2355
+ }, {
+ "label": "奉节县",
+ "value": 2356
+ }, {
+ "label": "巫山县",
+ "value": 2357
+ }, {
+ "label": "巫溪县",
+ "value": 2358
+ }, {
+ "label": "石柱土家族自治县",
+ "value": 2359
+ }, {
+ "label": "秀山土家族苗族自治县",
+ "value": 2360
+ }, {
+ "label": "酉阳土家族苗族自治县",
+ "value": 2361
+ }, {
+ "label": "彭水苗族土家族自治县",
+ "value": 2362
+ }],
+ [{
+ "label": "北部新区",
+ "value": 2364
+ }, {
+ "label": "保税港区",
+ "value": 2365
+ }, {
+ "label": "工业园区",
+ "value": 2366
+ }]
+ ],
+ [
+ [{
+ "label": "锦江区",
+ "value": 2369
+ }, {
+ "label": "青羊区",
+ "value": 2370
+ }, {
+ "label": "金牛区",
+ "value": 2371
+ }, {
+ "label": "武侯区",
+ "value": 2372
+ }, {
+ "label": "成华区",
+ "value": 2373
+ }, {
+ "label": "龙泉驿区",
+ "value": 2374
+ }, {
+ "label": "青白江区",
+ "value": 2375
+ }, {
+ "label": "新都区",
+ "value": 2376
+ }, {
+ "label": "温江区",
+ "value": 2377
+ }, {
+ "label": "金堂县",
+ "value": 2378
+ }, {
+ "label": "双流县",
+ "value": 2379
+ }, {
+ "label": "郫县",
+ "value": 2380
+ }, {
+ "label": "大邑县",
+ "value": 2381
+ }, {
+ "label": "蒲江县",
+ "value": 2382
+ }, {
+ "label": "新津县",
+ "value": 2383
+ }, {
+ "label": "都江堰市",
+ "value": 2384
+ }, {
+ "label": "彭州市",
+ "value": 2385
+ }, {
+ "label": "邛崃市",
+ "value": 2386
+ }, {
+ "label": "崇州市",
+ "value": 2387
+ }],
+ [{
+ "label": "自流井区",
+ "value": 2389
+ }, {
+ "label": "贡井区",
+ "value": 2390
+ }, {
+ "label": "大安区",
+ "value": 2391
+ }, {
+ "label": "沿滩区",
+ "value": 2392
+ }, {
+ "label": "荣县",
+ "value": 2393
+ }, {
+ "label": "富顺县",
+ "value": 2394
+ }],
+ [{
+ "label": "东区",
+ "value": 2396
+ }, {
+ "label": "西区",
+ "value": 2397
+ }, {
+ "label": "仁和区",
+ "value": 2398
+ }, {
+ "label": "米易县",
+ "value": 2399
+ }, {
+ "label": "盐边县",
+ "value": 2400
+ }],
+ [{
+ "label": "江阳区",
+ "value": 2402
+ }, {
+ "label": "纳溪区",
+ "value": 2403
+ }, {
+ "label": "龙马潭区",
+ "value": 2404
+ }, {
+ "label": "泸县",
+ "value": 2405
+ }, {
+ "label": "合江县",
+ "value": 2406
+ }, {
+ "label": "叙永县",
+ "value": 2407
+ }, {
+ "label": "古蔺县",
+ "value": 2408
+ }],
+ [{
+ "label": "旌阳区",
+ "value": 2410
+ }, {
+ "label": "中江县",
+ "value": 2411
+ }, {
+ "label": "罗江县",
+ "value": 2412
+ }, {
+ "label": "广汉市",
+ "value": 2413
+ }, {
+ "label": "什邡市",
+ "value": 2414
+ }, {
+ "label": "绵竹市",
+ "value": 2415
+ }],
+ [{
+ "label": "涪城区",
+ "value": 2417
+ }, {
+ "label": "游仙区",
+ "value": 2418
+ }, {
+ "label": "三台县",
+ "value": 2419
+ }, {
+ "label": "盐亭县",
+ "value": 2420
+ }, {
+ "label": "安县",
+ "value": 2421
+ }, {
+ "label": "梓潼县",
+ "value": 2422
+ }, {
+ "label": "北川羌族自治县",
+ "value": 2423
+ }, {
+ "label": "平武县",
+ "value": 2424
+ }, {
+ "label": "江油市",
+ "value": 2425
+ }],
+ [{
+ "label": "利州区",
+ "value": 2427
+ }, {
+ "label": "昭化区",
+ "value": 2428
+ }, {
+ "label": "朝天区",
+ "value": 2429
+ }, {
+ "label": "旺苍县",
+ "value": 2430
+ }, {
+ "label": "青川县",
+ "value": 2431
+ }, {
+ "label": "剑阁县",
+ "value": 2432
+ }, {
+ "label": "苍溪县",
+ "value": 2433
+ }],
+ [{
+ "label": "船山区",
+ "value": 2435
+ }, {
+ "label": "安居区",
+ "value": 2436
+ }, {
+ "label": "蓬溪县",
+ "value": 2437
+ }, {
+ "label": "射洪县",
+ "value": 2438
+ }, {
+ "label": "大英县",
+ "value": 2439
+ }],
+ [{
+ "label": "市中区",
+ "value": 2441
+ }, {
+ "label": "东兴区",
+ "value": 2442
+ }, {
+ "label": "威远县",
+ "value": 2443
+ }, {
+ "label": "资中县",
+ "value": 2444
+ }, {
+ "label": "隆昌县",
+ "value": 2445
+ }],
+ [{
+ "label": "市中区",
+ "value": 2447
+ }, {
+ "label": "沙湾区",
+ "value": 2448
+ }, {
+ "label": "五通桥区",
+ "value": 2449
+ }, {
+ "label": "金口河区",
+ "value": 2450
+ }, {
+ "label": "犍为县",
+ "value": 2451
+ }, {
+ "label": "井研县",
+ "value": 2452
+ }, {
+ "label": "夹江县",
+ "value": 2453
+ }, {
+ "label": "沐川县",
+ "value": 2454
+ }, {
+ "label": "峨边彝族自治县",
+ "value": 2455
+ }, {
+ "label": "马边彝族自治县",
+ "value": 2456
+ }, {
+ "label": "峨眉山市",
+ "value": 2457
+ }],
+ [{
+ "label": "顺庆区",
+ "value": 2459
+ }, {
+ "label": "高坪区",
+ "value": 2460
+ }, {
+ "label": "嘉陵区",
+ "value": 2461
+ }, {
+ "label": "南部县",
+ "value": 2462
+ }, {
+ "label": "营山县",
+ "value": 2463
+ }, {
+ "label": "蓬安县",
+ "value": 2464
+ }, {
+ "label": "仪陇县",
+ "value": 2465
+ }, {
+ "label": "西充县",
+ "value": 2466
+ }, {
+ "label": "阆中市",
+ "value": 2467
+ }],
+ [{
+ "label": "东坡区",
+ "value": 2469
+ }, {
+ "label": "彭山区",
+ "value": 2470
+ }, {
+ "label": "仁寿县",
+ "value": 2471
+ }, {
+ "label": "洪雅县",
+ "value": 2472
+ }, {
+ "label": "丹棱县",
+ "value": 2473
+ }, {
+ "label": "青神县",
+ "value": 2474
+ }],
+ [{
+ "label": "翠屏区",
+ "value": 2476
+ }, {
+ "label": "南溪区",
+ "value": 2477
+ }, {
+ "label": "宜宾县",
+ "value": 2478
+ }, {
+ "label": "江安县",
+ "value": 2479
+ }, {
+ "label": "长宁县",
+ "value": 2480
+ }, {
+ "label": "高县",
+ "value": 2481
+ }, {
+ "label": "珙县",
+ "value": 2482
+ }, {
+ "label": "筠连县",
+ "value": 2483
+ }, {
+ "label": "兴文县",
+ "value": 2484
+ }, {
+ "label": "屏山县",
+ "value": 2485
+ }],
+ [{
+ "label": "广安区",
+ "value": 2487
+ }, {
+ "label": "前锋区",
+ "value": 2488
+ }, {
+ "label": "岳池县",
+ "value": 2489
+ }, {
+ "label": "武胜县",
+ "value": 2490
+ }, {
+ "label": "邻水县",
+ "value": 2491
+ }, {
+ "label": "华蓥市",
+ "value": 2492
+ }],
+ [{
+ "label": "通川区",
+ "value": 2494
+ }, {
+ "label": "达川区",
+ "value": 2495
+ }, {
+ "label": "宣汉县",
+ "value": 2496
+ }, {
+ "label": "开江县",
+ "value": 2497
+ }, {
+ "label": "大竹县",
+ "value": 2498
+ }, {
+ "label": "渠县",
+ "value": 2499
+ }, {
+ "label": "万源市",
+ "value": 2500
+ }],
+ [{
+ "label": "雨城区",
+ "value": 2502
+ }, {
+ "label": "名山区",
+ "value": 2503
+ }, {
+ "label": "荥经县",
+ "value": 2504
+ }, {
+ "label": "汉源县",
+ "value": 2505
+ }, {
+ "label": "石棉县",
+ "value": 2506
+ }, {
+ "label": "天全县",
+ "value": 2507
+ }, {
+ "label": "芦山县",
+ "value": 2508
+ }, {
+ "label": "宝兴县",
+ "value": 2509
+ }],
+ [{
+ "label": "巴州区",
+ "value": 2511
+ }, {
+ "label": "恩阳区",
+ "value": 2512
+ }, {
+ "label": "通江县",
+ "value": 2513
+ }, {
+ "label": "南江县",
+ "value": 2514
+ }, {
+ "label": "平昌县",
+ "value": 2515
+ }],
+ [{
+ "label": "雁江区",
+ "value": 2517
+ }, {
+ "label": "安岳县",
+ "value": 2518
+ }, {
+ "label": "乐至县",
+ "value": 2519
+ }, {
+ "label": "简阳市",
+ "value": 2520
+ }],
+ [{
+ "label": "汶川县",
+ "value": 2522
+ }, {
+ "label": "理县",
+ "value": 2523
+ }, {
+ "label": "茂县",
+ "value": 2524
+ }, {
+ "label": "松潘县",
+ "value": 2525
+ }, {
+ "label": "九寨沟县",
+ "value": 2526
+ }, {
+ "label": "金川县",
+ "value": 2527
+ }, {
+ "label": "小金县",
+ "value": 2528
+ }, {
+ "label": "黑水县",
+ "value": 2529
+ }, {
+ "label": "马尔康县",
+ "value": 2530
+ }, {
+ "label": "壤塘县",
+ "value": 2531
+ }, {
+ "label": "阿坝县",
+ "value": 2532
+ }, {
+ "label": "若尔盖县",
+ "value": 2533
+ }, {
+ "label": "红原县",
+ "value": 2534
+ }],
+ [{
+ "label": "康定县",
+ "value": 2536
+ }, {
+ "label": "泸定县",
+ "value": 2537
+ }, {
+ "label": "丹巴县",
+ "value": 2538
+ }, {
+ "label": "九龙县",
+ "value": 2539
+ }, {
+ "label": "雅江县",
+ "value": 2540
+ }, {
+ "label": "道孚县",
+ "value": 2541
+ }, {
+ "label": "炉霍县",
+ "value": 2542
+ }, {
+ "label": "甘孜县",
+ "value": 2543
+ }, {
+ "label": "新龙县",
+ "value": 2544
+ }, {
+ "label": "德格县",
+ "value": 2545
+ }, {
+ "label": "白玉县",
+ "value": 2546
+ }, {
+ "label": "石渠县",
+ "value": 2547
+ }, {
+ "label": "色达县",
+ "value": 2548
+ }, {
+ "label": "理塘县",
+ "value": 2549
+ }, {
+ "label": "巴塘县",
+ "value": 2550
+ }, {
+ "label": "乡城县",
+ "value": 2551
+ }, {
+ "label": "稻城县",
+ "value": 2552
+ }, {
+ "label": "得荣县",
+ "value": 2553
+ }],
+ [{
+ "label": "西昌市",
+ "value": 2555
+ }, {
+ "label": "木里藏族自治县",
+ "value": 2556
+ }, {
+ "label": "盐源县",
+ "value": 2557
+ }, {
+ "label": "德昌县",
+ "value": 2558
+ }, {
+ "label": "会理县",
+ "value": 2559
+ }, {
+ "label": "会东县",
+ "value": 2560
+ }, {
+ "label": "宁南县",
+ "value": 2561
+ }, {
+ "label": "普格县",
+ "value": 2562
+ }, {
+ "label": "布拖县",
+ "value": 2563
+ }, {
+ "label": "金阳县",
+ "value": 2564
+ }, {
+ "label": "昭觉县",
+ "value": 2565
+ }, {
+ "label": "喜德县",
+ "value": 2566
+ }, {
+ "label": "冕宁县",
+ "value": 2567
+ }, {
+ "label": "越西县",
+ "value": 2568
+ }, {
+ "label": "甘洛县",
+ "value": 2569
+ }, {
+ "label": "美姑县",
+ "value": 2570
+ }, {
+ "label": "雷波县",
+ "value": 2571
+ }]
+ ],
+ [
+ [{
+ "label": "南明区",
+ "value": 2574
+ }, {
+ "label": "云岩区",
+ "value": 2575
+ }, {
+ "label": "花溪区",
+ "value": 2576
+ }, {
+ "label": "乌当区",
+ "value": 2577
+ }, {
+ "label": "白云区",
+ "value": 2578
+ }, {
+ "label": "观山湖区",
+ "value": 2579
+ }, {
+ "label": "开阳县",
+ "value": 2580
+ }, {
+ "label": "息烽县",
+ "value": 2581
+ }, {
+ "label": "修文县",
+ "value": 2582
+ }, {
+ "label": "清镇市",
+ "value": 2583
+ }],
+ [{
+ "label": "钟山区",
+ "value": 2585
+ }, {
+ "label": "六枝特区",
+ "value": 2586
+ }, {
+ "label": "水城县",
+ "value": 2587
+ }, {
+ "label": "盘县",
+ "value": 2588
+ }],
+ [{
+ "label": "红花岗区",
+ "value": 2590
+ }, {
+ "label": "汇川区",
+ "value": 2591
+ }, {
+ "label": "遵义县",
+ "value": 2592
+ }, {
+ "label": "桐梓县",
+ "value": 2593
+ }, {
+ "label": "绥阳县",
+ "value": 2594
+ }, {
+ "label": "正安县",
+ "value": 2595
+ }, {
+ "label": "道真仡佬族苗族自治县",
+ "value": 2596
+ }, {
+ "label": "务川仡佬族苗族自治县",
+ "value": 2597
+ }, {
+ "label": "凤冈县",
+ "value": 2598
+ }, {
+ "label": "湄潭县",
+ "value": 2599
+ }, {
+ "label": "余庆县",
+ "value": 2600
+ }, {
+ "label": "习水县",
+ "value": 2601
+ }, {
+ "label": "赤水市",
+ "value": 2602
+ }, {
+ "label": "仁怀市",
+ "value": 2603
+ }],
+ [{
+ "label": "西秀区",
+ "value": 2605
+ }, {
+ "label": "平坝区",
+ "value": 2606
+ }, {
+ "label": "普定县",
+ "value": 2607
+ }, {
+ "label": "镇宁布依族苗族自治县",
+ "value": 2608
+ }, {
+ "label": "关岭布依族苗族自治县",
+ "value": 2609
+ }, {
+ "label": "紫云苗族布依族自治县",
+ "value": 2610
+ }],
+ [{
+ "label": "七星关区",
+ "value": 2612
+ }, {
+ "label": "大方县",
+ "value": 2613
+ }, {
+ "label": "黔西县",
+ "value": 2614
+ }, {
+ "label": "金沙县",
+ "value": 2615
+ }, {
+ "label": "织金县",
+ "value": 2616
+ }, {
+ "label": "纳雍县",
+ "value": 2617
+ }, {
+ "label": "威宁彝族回族苗族自治县",
+ "value": 2618
+ }, {
+ "label": "赫章县",
+ "value": 2619
+ }],
+ [{
+ "label": "碧江区",
+ "value": 2621
+ }, {
+ "label": "万山区",
+ "value": 2622
+ }, {
+ "label": "江口县",
+ "value": 2623
+ }, {
+ "label": "玉屏侗族自治县",
+ "value": 2624
+ }, {
+ "label": "石阡县",
+ "value": 2625
+ }, {
+ "label": "思南县",
+ "value": 2626
+ }, {
+ "label": "印江土家族苗族自治县",
+ "value": 2627
+ }, {
+ "label": "德江县",
+ "value": 2628
+ }, {
+ "label": "沿河土家族自治县",
+ "value": 2629
+ }, {
+ "label": "松桃苗族自治县",
+ "value": 2630
+ }],
+ [{
+ "label": "兴义市 ",
+ "value": 2632
+ }, {
+ "label": "兴仁县",
+ "value": 2633
+ }, {
+ "label": "普安县",
+ "value": 2634
+ }, {
+ "label": "晴隆县",
+ "value": 2635
+ }, {
+ "label": "贞丰县",
+ "value": 2636
+ }, {
+ "label": "望谟县",
+ "value": 2637
+ }, {
+ "label": "册亨县",
+ "value": 2638
+ }, {
+ "label": "安龙县",
+ "value": 2639
+ }],
+ [{
+ "label": "凯里市",
+ "value": 2641
+ }, {
+ "label": "黄平县",
+ "value": 2642
+ }, {
+ "label": "施秉县",
+ "value": 2643
+ }, {
+ "label": "三穗县",
+ "value": 2644
+ }, {
+ "label": "镇远县",
+ "value": 2645
+ }, {
+ "label": "岑巩县",
+ "value": 2646
+ }, {
+ "label": "天柱县",
+ "value": 2647
+ }, {
+ "label": "锦屏县",
+ "value": 2648
+ }, {
+ "label": "剑河县",
+ "value": 2649
+ }, {
+ "label": "台江县",
+ "value": 2650
+ }, {
+ "label": "黎平县",
+ "value": 2651
+ }, {
+ "label": "榕江县",
+ "value": 2652
+ }, {
+ "label": "从江县",
+ "value": 2653
+ }, {
+ "label": "雷山县",
+ "value": 2654
+ }, {
+ "label": "麻江县",
+ "value": 2655
+ }, {
+ "label": "丹寨县",
+ "value": 2656
+ }],
+ [{
+ "label": "都匀市",
+ "value": 2658
+ }, {
+ "label": "福泉市",
+ "value": 2659
+ }, {
+ "label": "荔波县",
+ "value": 2660
+ }, {
+ "label": "贵定县",
+ "value": 2661
+ }, {
+ "label": "瓮安县",
+ "value": 2662
+ }, {
+ "label": "独山县",
+ "value": 2663
+ }, {
+ "label": "平塘县",
+ "value": 2664
+ }, {
+ "label": "罗甸县",
+ "value": 2665
+ }, {
+ "label": "长顺县",
+ "value": 2666
+ }, {
+ "label": "龙里县",
+ "value": 2667
+ }, {
+ "label": "惠水县",
+ "value": 2668
+ }, {
+ "label": "三都水族自治县",
+ "value": 2669
+ }]
+ ],
+ [
+ [{
+ "label": "五华区",
+ "value": 2672
+ }, {
+ "label": "盘龙区",
+ "value": 2673
+ }, {
+ "label": "官渡区",
+ "value": 2674
+ }, {
+ "label": "西山区",
+ "value": 2675
+ }, {
+ "label": "东川区",
+ "value": 2676
+ }, {
+ "label": "呈贡区",
+ "value": 2677
+ }, {
+ "label": "晋宁县",
+ "value": 2678
+ }, {
+ "label": "富民县",
+ "value": 2679
+ }, {
+ "label": "宜良县",
+ "value": 2680
+ }, {
+ "label": "石林彝族自治县",
+ "value": 2681
+ }, {
+ "label": "嵩明县",
+ "value": 2682
+ }, {
+ "label": "禄劝彝族苗族自治县",
+ "value": 2683
+ }, {
+ "label": "寻甸回族彝族自治县 ",
+ "value": 2684
+ }, {
+ "label": "安宁市",
+ "value": 2685
+ }],
+ [{
+ "label": "麒麟区",
+ "value": 2687
+ }, {
+ "label": "马龙县",
+ "value": 2688
+ }, {
+ "label": "陆良县",
+ "value": 2689
+ }, {
+ "label": "师宗县",
+ "value": 2690
+ }, {
+ "label": "罗平县",
+ "value": 2691
+ }, {
+ "label": "富源县",
+ "value": 2692
+ }, {
+ "label": "会泽县",
+ "value": 2693
+ }, {
+ "label": "沾益县",
+ "value": 2694
+ }, {
+ "label": "宣威市",
+ "value": 2695
+ }],
+ [{
+ "label": "红塔区",
+ "value": 2697
+ }, {
+ "label": "江川县",
+ "value": 2698
+ }, {
+ "label": "澄江县",
+ "value": 2699
+ }, {
+ "label": "通海县",
+ "value": 2700
+ }, {
+ "label": "华宁县",
+ "value": 2701
+ }, {
+ "label": "易门县",
+ "value": 2702
+ }, {
+ "label": "峨山彝族自治县",
+ "value": 2703
+ }, {
+ "label": "新平彝族傣族自治县",
+ "value": 2704
+ }, {
+ "label": "元江哈尼族彝族傣族自治县",
+ "value": 2705
+ }],
+ [{
+ "label": "隆阳区",
+ "value": 2707
+ }, {
+ "label": "施甸县",
+ "value": 2708
+ }, {
+ "label": "腾冲县",
+ "value": 2709
+ }, {
+ "label": "龙陵县",
+ "value": 2710
+ }, {
+ "label": "昌宁县",
+ "value": 2711
+ }],
+ [{
+ "label": "昭阳区",
+ "value": 2713
+ }, {
+ "label": "鲁甸县",
+ "value": 2714
+ }, {
+ "label": "巧家县",
+ "value": 2715
+ }, {
+ "label": "盐津县",
+ "value": 2716
+ }, {
+ "label": "大关县",
+ "value": 2717
+ }, {
+ "label": "永善县",
+ "value": 2718
+ }, {
+ "label": "绥江县",
+ "value": 2719
+ }, {
+ "label": "镇雄县",
+ "value": 2720
+ }, {
+ "label": "彝良县",
+ "value": 2721
+ }, {
+ "label": "威信县",
+ "value": 2722
+ }, {
+ "label": "水富县",
+ "value": 2723
+ }],
+ [{
+ "label": "古城区",
+ "value": 2725
+ }, {
+ "label": "玉龙纳西族自治县",
+ "value": 2726
+ }, {
+ "label": "永胜县",
+ "value": 2727
+ }, {
+ "label": "华坪县",
+ "value": 2728
+ }, {
+ "label": "宁蒗彝族自治县",
+ "value": 2729
+ }],
+ [{
+ "label": "思茅区",
+ "value": 2731
+ }, {
+ "label": "宁洱哈尼族彝族自治县",
+ "value": 2732
+ }, {
+ "label": "墨江哈尼族自治县",
+ "value": 2733
+ }, {
+ "label": "景东彝族自治县",
+ "value": 2734
+ }, {
+ "label": "景谷傣族彝族自治县",
+ "value": 2735
+ }, {
+ "label": "镇沅彝族哈尼族拉祜族自治县",
+ "value": 2736
+ }, {
+ "label": "江城哈尼族彝族自治县",
+ "value": 2737
+ }, {
+ "label": "孟连傣族拉祜族佤族自治县",
+ "value": 2738
+ }, {
+ "label": "澜沧拉祜族自治县",
+ "value": 2739
+ }, {
+ "label": "西盟佤族自治县",
+ "value": 2740
+ }],
+ [{
+ "label": "临翔区",
+ "value": 2742
+ }, {
+ "label": "凤庆县",
+ "value": 2743
+ }, {
+ "label": "云县",
+ "value": 2744
+ }, {
+ "label": "永德县",
+ "value": 2745
+ }, {
+ "label": "镇康县",
+ "value": 2746
+ }, {
+ "label": "双江拉祜族佤族布朗族傣族自治县",
+ "value": 2747
+ }, {
+ "label": "耿马傣族佤族自治县",
+ "value": 2748
+ }, {
+ "label": "沧源佤族自治县",
+ "value": 2749
+ }],
+ [{
+ "label": "楚雄市",
+ "value": 2751
+ }, {
+ "label": "双柏县",
+ "value": 2752
+ }, {
+ "label": "牟定县",
+ "value": 2753
+ }, {
+ "label": "南华县",
+ "value": 2754
+ }, {
+ "label": "姚安县",
+ "value": 2755
+ }, {
+ "label": "大姚县",
+ "value": 2756
+ }, {
+ "label": "永仁县",
+ "value": 2757
+ }, {
+ "label": "元谋县",
+ "value": 2758
+ }, {
+ "label": "武定县",
+ "value": 2759
+ }, {
+ "label": "禄丰县",
+ "value": 2760
+ }],
+ [{
+ "label": "个旧市",
+ "value": 2762
+ }, {
+ "label": "开远市",
+ "value": 2763
+ }, {
+ "label": "蒙自市",
+ "value": 2764
+ }, {
+ "label": "弥勒市",
+ "value": 2765
+ }, {
+ "label": "屏边苗族自治县",
+ "value": 2766
+ }, {
+ "label": "建水县",
+ "value": 2767
+ }, {
+ "label": "石屏县",
+ "value": 2768
+ }, {
+ "label": "泸西县",
+ "value": 2769
+ }, {
+ "label": "元阳县",
+ "value": 2770
+ }, {
+ "label": "红河县",
+ "value": 2771
+ }, {
+ "label": "金平苗族瑶族傣族自治县",
+ "value": 2772
+ }, {
+ "label": "绿春县",
+ "value": 2773
+ }, {
+ "label": "河口瑶族自治县",
+ "value": 2774
+ }],
+ [{
+ "label": "文山市",
+ "value": 2776
+ }, {
+ "label": "砚山县",
+ "value": 2777
+ }, {
+ "label": "西畴县",
+ "value": 2778
+ }, {
+ "label": "麻栗坡县",
+ "value": 2779
+ }, {
+ "label": "马关县",
+ "value": 2780
+ }, {
+ "label": "丘北县",
+ "value": 2781
+ }, {
+ "label": "广南县",
+ "value": 2782
+ }, {
+ "label": "富宁县",
+ "value": 2783
+ }],
+ [{
+ "label": "景洪市",
+ "value": 2785
+ }, {
+ "label": "勐海县",
+ "value": 2786
+ }, {
+ "label": "勐腊县",
+ "value": 2787
+ }],
+ [{
+ "label": "大理市",
+ "value": 2789
+ }, {
+ "label": "漾濞彝族自治县",
+ "value": 2790
+ }, {
+ "label": "祥云县",
+ "value": 2791
+ }, {
+ "label": "宾川县",
+ "value": 2792
+ }, {
+ "label": "弥渡县",
+ "value": 2793
+ }, {
+ "label": "南涧彝族自治县",
+ "value": 2794
+ }, {
+ "label": "巍山彝族回族自治县",
+ "value": 2795
+ }, {
+ "label": "永平县",
+ "value": 2796
+ }, {
+ "label": "云龙县",
+ "value": 2797
+ }, {
+ "label": "洱源县",
+ "value": 2798
+ }, {
+ "label": "剑川县",
+ "value": 2799
+ }, {
+ "label": "鹤庆县",
+ "value": 2800
+ }],
+ [{
+ "label": "瑞丽市",
+ "value": 2802
+ }, {
+ "label": "芒市",
+ "value": 2803
+ }, {
+ "label": "梁河县",
+ "value": 2804
+ }, {
+ "label": "盈江县",
+ "value": 2805
+ }, {
+ "label": "陇川县",
+ "value": 2806
+ }],
+ [{
+ "label": "泸水县",
+ "value": 2808
+ }, {
+ "label": "福贡县",
+ "value": 2809
+ }, {
+ "label": "贡山独龙族怒族自治县",
+ "value": 2810
+ }, {
+ "label": "兰坪白族普米族自治县",
+ "value": 2811
+ }],
+ [{
+ "label": "香格里拉市",
+ "value": 2813
+ }, {
+ "label": "德钦县",
+ "value": 2814
+ }, {
+ "label": "维西傈僳族自治县",
+ "value": 2815
+ }]
+ ],
+ [
+ [{
+ "label": "城关区",
+ "value": 2818
+ }, {
+ "label": "林周县",
+ "value": 2819
+ }, {
+ "label": "当雄县",
+ "value": 2820
+ }, {
+ "label": "尼木县",
+ "value": 2821
+ }, {
+ "label": "曲水县",
+ "value": 2822
+ }, {
+ "label": "堆龙德庆县",
+ "value": 2823
+ }, {
+ "label": "达孜县",
+ "value": 2824
+ }, {
+ "label": "墨竹工卡县",
+ "value": 2825
+ }],
+ [{
+ "label": "桑珠孜区",
+ "value": 2827
+ }, {
+ "label": "南木林县",
+ "value": 2828
+ }, {
+ "label": "江孜县",
+ "value": 2829
+ }, {
+ "label": "定日县",
+ "value": 2830
+ }, {
+ "label": "萨迦县",
+ "value": 2831
+ }, {
+ "label": "拉孜县",
+ "value": 2832
+ }, {
+ "label": "昂仁县",
+ "value": 2833
+ }, {
+ "label": "谢通门县",
+ "value": 2834
+ }, {
+ "label": "白朗县",
+ "value": 2835
+ }, {
+ "label": "仁布县",
+ "value": 2836
+ }, {
+ "label": "康马县",
+ "value": 2837
+ }, {
+ "label": "定结县",
+ "value": 2838
+ }, {
+ "label": "仲巴县",
+ "value": 2839
+ }, {
+ "label": "亚东县",
+ "value": 2840
+ }, {
+ "label": "吉隆县",
+ "value": 2841
+ }, {
+ "label": "聂拉木县",
+ "value": 2842
+ }, {
+ "label": "萨嘎县",
+ "value": 2843
+ }, {
+ "label": "岗巴县",
+ "value": 2844
+ }],
+ [{
+ "label": "卡若区",
+ "value": 2846
+ }, {
+ "label": "江达县",
+ "value": 2847
+ }, {
+ "label": "贡觉县",
+ "value": 2848
+ }, {
+ "label": "类乌齐县",
+ "value": 2849
+ }, {
+ "label": "丁青县",
+ "value": 2850
+ }, {
+ "label": "察雅县",
+ "value": 2851
+ }, {
+ "label": "八宿县",
+ "value": 2852
+ }, {
+ "label": "左贡县",
+ "value": 2853
+ }, {
+ "label": "芒康县",
+ "value": 2854
+ }, {
+ "label": "洛隆县",
+ "value": 2855
+ }, {
+ "label": "边坝县",
+ "value": 2856
+ }],
+ [{
+ "label": "乃东县",
+ "value": 2858
+ }, {
+ "label": "扎囊县",
+ "value": 2859
+ }, {
+ "label": "贡嘎县",
+ "value": 2860
+ }, {
+ "label": "桑日县",
+ "value": 2861
+ }, {
+ "label": "琼结县",
+ "value": 2862
+ }, {
+ "label": "曲松县",
+ "value": 2863
+ }, {
+ "label": "措美县",
+ "value": 2864
+ }, {
+ "label": "洛扎县",
+ "value": 2865
+ }, {
+ "label": "加查县",
+ "value": 2866
+ }, {
+ "label": "隆子县",
+ "value": 2867
+ }, {
+ "label": "错那县",
+ "value": 2868
+ }, {
+ "label": "浪卡子县",
+ "value": 2869
+ }],
+ [{
+ "label": "那曲县",
+ "value": 2871
+ }, {
+ "label": "嘉黎县",
+ "value": 2872
+ }, {
+ "label": "比如县",
+ "value": 2873
+ }, {
+ "label": "聂荣县",
+ "value": 2874
+ }, {
+ "label": "安多县",
+ "value": 2875
+ }, {
+ "label": "申扎县",
+ "value": 2876
+ }, {
+ "label": "索县",
+ "value": 2877
+ }, {
+ "label": "班戈县",
+ "value": 2878
+ }, {
+ "label": "巴青县",
+ "value": 2879
+ }, {
+ "label": "尼玛县",
+ "value": 2880
+ }, {
+ "label": "双湖县",
+ "value": 2881
+ }],
+ [{
+ "label": "普兰县",
+ "value": 2883
+ }, {
+ "label": "札达县",
+ "value": 2884
+ }, {
+ "label": "噶尔县",
+ "value": 2885
+ }, {
+ "label": "日土县",
+ "value": 2886
+ }, {
+ "label": "革吉县",
+ "value": 2887
+ }, {
+ "label": "改则县",
+ "value": 2888
+ }, {
+ "label": "措勤县",
+ "value": 2889
+ }],
+ [{
+ "label": "林芝县",
+ "value": 2891
+ }, {
+ "label": "工布江达县",
+ "value": 2892
+ }, {
+ "label": "米林县",
+ "value": 2893
+ }, {
+ "label": "墨脱县",
+ "value": 2894
+ }, {
+ "label": "波密县",
+ "value": 2895
+ }, {
+ "label": "察隅县",
+ "value": 2896
+ }, {
+ "label": "朗县",
+ "value": 2897
+ }]
+ ],
+ [
+ [{
+ "label": "新城区",
+ "value": 2900
+ }, {
+ "label": "碑林区",
+ "value": 2901
+ }, {
+ "label": "莲湖区",
+ "value": 2902
+ }, {
+ "label": "灞桥区",
+ "value": 2903
+ }, {
+ "label": "未央区",
+ "value": 2904
+ }, {
+ "label": "雁塔区",
+ "value": 2905
+ }, {
+ "label": "阎良区",
+ "value": 2906
+ }, {
+ "label": "临潼区",
+ "value": 2907
+ }, {
+ "label": "长安区",
+ "value": 2908
+ }, {
+ "label": "蓝田县",
+ "value": 2909
+ }, {
+ "label": "周至县",
+ "value": 2910
+ }, {
+ "label": "户县",
+ "value": 2911
+ }, {
+ "label": "高陵区",
+ "value": 2912
+ }],
+ [{
+ "label": "王益区",
+ "value": 2914
+ }, {
+ "label": "印台区",
+ "value": 2915
+ }, {
+ "label": "耀州区",
+ "value": 2916
+ }, {
+ "label": "宜君县",
+ "value": 2917
+ }],
+ [{
+ "label": "渭滨区",
+ "value": 2919
+ }, {
+ "label": "金台区",
+ "value": 2920
+ }, {
+ "label": "陈仓区",
+ "value": 2921
+ }, {
+ "label": "凤翔县",
+ "value": 2922
+ }, {
+ "label": "岐山县",
+ "value": 2923
+ }, {
+ "label": "扶风县",
+ "value": 2924
+ }, {
+ "label": "眉县",
+ "value": 2925
+ }, {
+ "label": "陇县",
+ "value": 2926
+ }, {
+ "label": "千阳县",
+ "value": 2927
+ }, {
+ "label": "麟游县",
+ "value": 2928
+ }, {
+ "label": "凤县",
+ "value": 2929
+ }, {
+ "label": "太白县",
+ "value": 2930
+ }],
+ [{
+ "label": "秦都区",
+ "value": 2932
+ }, {
+ "label": "杨陵区",
+ "value": 2933
+ }, {
+ "label": "渭城区",
+ "value": 2934
+ }, {
+ "label": "三原县",
+ "value": 2935
+ }, {
+ "label": "泾阳县",
+ "value": 2936
+ }, {
+ "label": "乾县",
+ "value": 2937
+ }, {
+ "label": "礼泉县",
+ "value": 2938
+ }, {
+ "label": "永寿县",
+ "value": 2939
+ }, {
+ "label": "彬县",
+ "value": 2940
+ }, {
+ "label": "长武县",
+ "value": 2941
+ }, {
+ "label": "旬邑县",
+ "value": 2942
+ }, {
+ "label": "淳化县",
+ "value": 2943
+ }, {
+ "label": "武功县",
+ "value": 2944
+ }, {
+ "label": "兴平市",
+ "value": 2945
+ }],
+ [{
+ "label": "临渭区",
+ "value": 2947
+ }, {
+ "label": "华县",
+ "value": 2948
+ }, {
+ "label": "潼关县",
+ "value": 2949
+ }, {
+ "label": "大荔县",
+ "value": 2950
+ }, {
+ "label": "合阳县",
+ "value": 2951
+ }, {
+ "label": "澄城县",
+ "value": 2952
+ }, {
+ "label": "蒲城县",
+ "value": 2953
+ }, {
+ "label": "白水县",
+ "value": 2954
+ }, {
+ "label": "富平县",
+ "value": 2955
+ }, {
+ "label": "韩城市",
+ "value": 2956
+ }, {
+ "label": "华阴市",
+ "value": 2957
+ }],
+ [{
+ "label": "宝塔区",
+ "value": 2959
+ }, {
+ "label": "延长县",
+ "value": 2960
+ }, {
+ "label": "延川县",
+ "value": 2961
+ }, {
+ "label": "子长县",
+ "value": 2962
+ }, {
+ "label": "安塞县",
+ "value": 2963
+ }, {
+ "label": "志丹县",
+ "value": 2964
+ }, {
+ "label": "吴起县",
+ "value": 2965
+ }, {
+ "label": "甘泉县",
+ "value": 2966
+ }, {
+ "label": "富县",
+ "value": 2967
+ }, {
+ "label": "洛川县",
+ "value": 2968
+ }, {
+ "label": "宜川县",
+ "value": 2969
+ }, {
+ "label": "黄龙县",
+ "value": 2970
+ }, {
+ "label": "黄陵县",
+ "value": 2971
+ }],
+ [{
+ "label": "汉台区",
+ "value": 2973
+ }, {
+ "label": "南郑县",
+ "value": 2974
+ }, {
+ "label": "城固县",
+ "value": 2975
+ }, {
+ "label": "洋县",
+ "value": 2976
+ }, {
+ "label": "西乡县",
+ "value": 2977
+ }, {
+ "label": "勉县",
+ "value": 2978
+ }, {
+ "label": "宁强县",
+ "value": 2979
+ }, {
+ "label": "略阳县",
+ "value": 2980
+ }, {
+ "label": "镇巴县",
+ "value": 2981
+ }, {
+ "label": "留坝县",
+ "value": 2982
+ }, {
+ "label": "佛坪县",
+ "value": 2983
+ }],
+ [{
+ "label": "榆阳区",
+ "value": 2985
+ }, {
+ "label": "神木县",
+ "value": 2986
+ }, {
+ "label": "府谷县",
+ "value": 2987
+ }, {
+ "label": "横山县",
+ "value": 2988
+ }, {
+ "label": "靖边县",
+ "value": 2989
+ }, {
+ "label": "定边县",
+ "value": 2990
+ }, {
+ "label": "绥德县",
+ "value": 2991
+ }, {
+ "label": "米脂县",
+ "value": 2992
+ }, {
+ "label": "佳县",
+ "value": 2993
+ }, {
+ "label": "吴堡县",
+ "value": 2994
+ }, {
+ "label": "清涧县",
+ "value": 2995
+ }, {
+ "label": "子洲县",
+ "value": 2996
+ }],
+ [{
+ "label": "汉滨区",
+ "value": 2998
+ }, {
+ "label": "汉阴县",
+ "value": 2999
+ }, {
+ "label": "石泉县",
+ "value": 3000
+ }, {
+ "label": "宁陕县",
+ "value": 3001
+ }, {
+ "label": "紫阳县",
+ "value": 3002
+ }, {
+ "label": "岚皋县",
+ "value": 3003
+ }, {
+ "label": "平利县",
+ "value": 3004
+ }, {
+ "label": "镇坪县",
+ "value": 3005
+ }, {
+ "label": "旬阳县",
+ "value": 3006
+ }, {
+ "label": "白河县",
+ "value": 3007
+ }],
+ [{
+ "label": "商州区",
+ "value": 3009
+ }, {
+ "label": "洛南县",
+ "value": 3010
+ }, {
+ "label": "丹凤县",
+ "value": 3011
+ }, {
+ "label": "商南县",
+ "value": 3012
+ }, {
+ "label": "山阳县",
+ "value": 3013
+ }, {
+ "label": "镇安县",
+ "value": 3014
+ }, {
+ "label": "柞水县",
+ "value": 3015
+ }],
+ [{
+ "label": "空港新城",
+ "value": 3017
+ }, {
+ "label": "沣东新城",
+ "value": 3018
+ }, {
+ "label": "秦汉新城",
+ "value": 3019
+ }, {
+ "label": "沣西新城",
+ "value": 3020
+ }, {
+ "label": "泾河新城",
+ "value": 3021
+ }]
+ ],
+ [
+ [{
+ "label": "城关区",
+ "value": 3024
+ }, {
+ "label": "七里河区",
+ "value": 3025
+ }, {
+ "label": "西固区",
+ "value": 3026
+ }, {
+ "label": "安宁区",
+ "value": 3027
+ }, {
+ "label": "红古区",
+ "value": 3028
+ }, {
+ "label": "永登县",
+ "value": 3029
+ }, {
+ "label": "皋兰县",
+ "value": 3030
+ }, {
+ "label": "榆中县",
+ "value": 3031
+ }],
+ [{
+ "label": "雄关区",
+ "value": 3033
+ }, {
+ "label": "长城区",
+ "value": 3034
+ }, {
+ "label": "镜铁区",
+ "value": 3035
+ }],
+ [{
+ "label": "金川区",
+ "value": 3037
+ }, {
+ "label": "永昌县",
+ "value": 3038
+ }],
+ [{
+ "label": "白银区",
+ "value": 3040
+ }, {
+ "label": "平川区",
+ "value": 3041
+ }, {
+ "label": "靖远县",
+ "value": 3042
+ }, {
+ "label": "会宁县",
+ "value": 3043
+ }, {
+ "label": "景泰县",
+ "value": 3044
+ }],
+ [{
+ "label": "秦州区",
+ "value": 3046
+ }, {
+ "label": "麦积区",
+ "value": 3047
+ }, {
+ "label": "清水县",
+ "value": 3048
+ }, {
+ "label": "秦安县",
+ "value": 3049
+ }, {
+ "label": "甘谷县",
+ "value": 3050
+ }, {
+ "label": "武山县",
+ "value": 3051
+ }, {
+ "label": "张家川回族自治县",
+ "value": 3052
+ }],
+ [{
+ "label": "凉州区",
+ "value": 3054
+ }, {
+ "label": "民勤县",
+ "value": 3055
+ }, {
+ "label": "古浪县",
+ "value": 3056
+ }, {
+ "label": "天祝藏族自治县",
+ "value": 3057
+ }],
+ [{
+ "label": "甘州区",
+ "value": 3059
+ }, {
+ "label": "肃南裕固族自治县",
+ "value": 3060
+ }, {
+ "label": "民乐县",
+ "value": 3061
+ }, {
+ "label": "临泽县",
+ "value": 3062
+ }, {
+ "label": "高台县",
+ "value": 3063
+ }, {
+ "label": "山丹县",
+ "value": 3064
+ }],
+ [{
+ "label": "崆峒区",
+ "value": 3066
+ }, {
+ "label": "泾川县",
+ "value": 3067
+ }, {
+ "label": "灵台县",
+ "value": 3068
+ }, {
+ "label": "崇信县",
+ "value": 3069
+ }, {
+ "label": "华亭县",
+ "value": 3070
+ }, {
+ "label": "庄浪县",
+ "value": 3071
+ }, {
+ "label": "静宁县",
+ "value": 3072
+ }],
+ [{
+ "label": "肃州区",
+ "value": 3074
+ }, {
+ "label": "金塔县",
+ "value": 3075
+ }, {
+ "label": "瓜州县",
+ "value": 3076
+ }, {
+ "label": "肃北蒙古族自治县",
+ "value": 3077
+ }, {
+ "label": "阿克塞哈萨克族自治县",
+ "value": 3078
+ }, {
+ "label": "玉门市",
+ "value": 3079
+ }, {
+ "label": "敦煌市",
+ "value": 3080
+ }],
+ [{
+ "label": "西峰区",
+ "value": 3082
+ }, {
+ "label": "庆城县",
+ "value": 3083
+ }, {
+ "label": "环县",
+ "value": 3084
+ }, {
+ "label": "华池县",
+ "value": 3085
+ }, {
+ "label": "合水县",
+ "value": 3086
+ }, {
+ "label": "正宁县",
+ "value": 3087
+ }, {
+ "label": "宁县",
+ "value": 3088
+ }, {
+ "label": "镇原县",
+ "value": 3089
+ }],
+ [{
+ "label": "安定区",
+ "value": 3091
+ }, {
+ "label": "通渭县",
+ "value": 3092
+ }, {
+ "label": "陇西县",
+ "value": 3093
+ }, {
+ "label": "渭源县",
+ "value": 3094
+ }, {
+ "label": "临洮县",
+ "value": 3095
+ }, {
+ "label": "漳县",
+ "value": 3096
+ }, {
+ "label": "岷县",
+ "value": 3097
+ }],
+ [{
+ "label": "武都区",
+ "value": 3099
+ }, {
+ "label": "成县",
+ "value": 3100
+ }, {
+ "label": "文县",
+ "value": 3101
+ }, {
+ "label": "宕昌县",
+ "value": 3102
+ }, {
+ "label": "康县",
+ "value": 3103
+ }, {
+ "label": "西和县",
+ "value": 3104
+ }, {
+ "label": "礼县",
+ "value": 3105
+ }, {
+ "label": "徽县",
+ "value": 3106
+ }, {
+ "label": "两当县",
+ "value": 3107
+ }],
+ [{
+ "label": "临夏市",
+ "value": 3109
+ }, {
+ "label": "临夏县",
+ "value": 3110
+ }, {
+ "label": "康乐县",
+ "value": 3111
+ }, {
+ "label": "永靖县",
+ "value": 3112
+ }, {
+ "label": "广河县",
+ "value": 3113
+ }, {
+ "label": "和政县",
+ "value": 3114
+ }, {
+ "label": "东乡族自治县",
+ "value": 3115
+ }, {
+ "label": "积石山保安族东乡族撒拉族自治县",
+ "value": 3116
+ }],
+ [{
+ "label": "合作市",
+ "value": 3118
+ }, {
+ "label": "临潭县",
+ "value": 3119
+ }, {
+ "label": "卓尼县",
+ "value": 3120
+ }, {
+ "label": "舟曲县",
+ "value": 3121
+ }, {
+ "label": "迭部县",
+ "value": 3122
+ }, {
+ "label": "玛曲县",
+ "value": 3123
+ }, {
+ "label": "碌曲县",
+ "value": 3124
+ }, {
+ "label": "夏河县",
+ "value": 3125
+ }]
+ ],
+ [
+ [{
+ "label": "城东区",
+ "value": 3128
+ }, {
+ "label": "城中区",
+ "value": 3129
+ }, {
+ "label": "城西区",
+ "value": 3130
+ }, {
+ "label": "城北区",
+ "value": 3131
+ }, {
+ "label": "大通回族土族自治县",
+ "value": 3132
+ }, {
+ "label": "湟中县",
+ "value": 3133
+ }, {
+ "label": "湟源县",
+ "value": 3134
+ }],
+ [{
+ "label": "乐都区",
+ "value": 3136
+ }, {
+ "label": "平安县",
+ "value": 3137
+ }, {
+ "label": "民和回族土族自治县",
+ "value": 3138
+ }, {
+ "label": "互助土族自治县",
+ "value": 3139
+ }, {
+ "label": "化隆回族自治县",
+ "value": 3140
+ }, {
+ "label": "循化撒拉族自治县",
+ "value": 3141
+ }],
+ [{
+ "label": "门源回族自治县",
+ "value": 3143
+ }, {
+ "label": "祁连县",
+ "value": 3144
+ }, {
+ "label": "海晏县",
+ "value": 3145
+ }, {
+ "label": "刚察县",
+ "value": 3146
+ }],
+ [{
+ "label": "同仁县",
+ "value": 3148
+ }, {
+ "label": "尖扎县",
+ "value": 3149
+ }, {
+ "label": "泽库县",
+ "value": 3150
+ }, {
+ "label": "河南蒙古族自治县",
+ "value": 3151
+ }],
+ [{
+ "label": "共和县",
+ "value": 3153
+ }, {
+ "label": "同德县",
+ "value": 3154
+ }, {
+ "label": "贵德县",
+ "value": 3155
+ }, {
+ "label": "兴海县",
+ "value": 3156
+ }, {
+ "label": "贵南县",
+ "value": 3157
+ }],
+ [{
+ "label": "玛沁县",
+ "value": 3159
+ }, {
+ "label": "班玛县",
+ "value": 3160
+ }, {
+ "label": "甘德县",
+ "value": 3161
+ }, {
+ "label": "达日县",
+ "value": 3162
+ }, {
+ "label": "久治县",
+ "value": 3163
+ }, {
+ "label": "玛多县",
+ "value": 3164
+ }],
+ [{
+ "label": "玉树市",
+ "value": 3166
+ }, {
+ "label": "杂多县",
+ "value": 3167
+ }, {
+ "label": "称多县",
+ "value": 3168
+ }, {
+ "label": "治多县",
+ "value": 3169
+ }, {
+ "label": "囊谦县",
+ "value": 3170
+ }, {
+ "label": "曲麻莱县",
+ "value": 3171
+ }],
+ [{
+ "label": "格尔木市",
+ "value": 3173
+ }, {
+ "label": "德令哈市",
+ "value": 3174
+ }, {
+ "label": "乌兰县",
+ "value": 3175
+ }, {
+ "label": "都兰县",
+ "value": 3176
+ }, {
+ "label": "天峻县",
+ "value": 3177
+ }]
+ ],
+ [
+ [{
+ "label": "兴庆区",
+ "value": 3180
+ }, {
+ "label": "西夏区",
+ "value": 3181
+ }, {
+ "label": "金凤区",
+ "value": 3182
+ }, {
+ "label": "永宁县",
+ "value": 3183
+ }, {
+ "label": "贺兰县",
+ "value": 3184
+ }, {
+ "label": "灵武市",
+ "value": 3185
+ }],
+ [{
+ "label": "大武口区",
+ "value": 3187
+ }, {
+ "label": "惠农区",
+ "value": 3188
+ }, {
+ "label": "平罗县",
+ "value": 3189
+ }],
+ [{
+ "label": "利通区",
+ "value": 3191
+ }, {
+ "label": "红寺堡区",
+ "value": 3192
+ }, {
+ "label": "盐池县",
+ "value": 3193
+ }, {
+ "label": "同心县",
+ "value": 3194
+ }, {
+ "label": "青铜峡市",
+ "value": 3195
+ }],
+ [{
+ "label": "原州区",
+ "value": 3197
+ }, {
+ "label": "西吉县",
+ "value": 3198
+ }, {
+ "label": "隆德县",
+ "value": 3199
+ }, {
+ "label": "泾源县",
+ "value": 3200
+ }, {
+ "label": "彭阳县",
+ "value": 3201
+ }],
+ [{
+ "label": "沙坡头区",
+ "value": 3203
+ }, {
+ "label": "中宁县",
+ "value": 3204
+ }, {
+ "label": "海原县",
+ "value": 3205
+ }]
+ ],
+ [
+ [{
+ "label": "天山区",
+ "value": 3208
+ }, {
+ "label": "沙依巴克区",
+ "value": 3209
+ }, {
+ "label": "新市区",
+ "value": 3210
+ }, {
+ "label": "水磨沟区",
+ "value": 3211
+ }, {
+ "label": "头屯河区",
+ "value": 3212
+ }, {
+ "label": "达坂城区",
+ "value": 3213
+ }, {
+ "label": "米东区",
+ "value": 3214
+ }, {
+ "label": "乌鲁木齐县",
+ "value": 3215
+ }],
+ [{
+ "label": "独山子区",
+ "value": 3217
+ }, {
+ "label": "克拉玛依区",
+ "value": 3218
+ }, {
+ "label": "白碱滩区",
+ "value": 3219
+ }, {
+ "label": "乌尔禾区",
+ "value": 3220
+ }],
+ [{
+ "label": "吐鲁番市",
+ "value": 3222
+ }, {
+ "label": "鄯善县",
+ "value": 3223
+ }, {
+ "label": "托克逊县",
+ "value": 3224
+ }],
+ [{
+ "label": "哈密市",
+ "value": 3226
+ }, {
+ "label": "巴里坤哈萨克自治县",
+ "value": 3227
+ }, {
+ "label": "伊吾县",
+ "value": 3228
+ }],
+ [{
+ "label": "昌吉市",
+ "value": 3230
+ }, {
+ "label": "阜康市",
+ "value": 3231
+ }, {
+ "label": "呼图壁县",
+ "value": 3232
+ }, {
+ "label": "玛纳斯县",
+ "value": 3233
+ }, {
+ "label": "奇台县",
+ "value": 3234
+ }, {
+ "label": "吉木萨尔县",
+ "value": 3235
+ }, {
+ "label": "木垒哈萨克自治县",
+ "value": 3236
+ }],
+ [{
+ "label": "博乐市",
+ "value": 3238
+ }, {
+ "label": "阿拉山口市",
+ "value": 3239
+ }, {
+ "label": "精河县",
+ "value": 3240
+ }, {
+ "label": "温泉县",
+ "value": 3241
+ }],
+ [{
+ "label": "库尔勒市",
+ "value": 3243
+ }, {
+ "label": "轮台县",
+ "value": 3244
+ }, {
+ "label": "尉犁县",
+ "value": 3245
+ }, {
+ "label": "若羌县",
+ "value": 3246
+ }, {
+ "label": "且末县",
+ "value": 3247
+ }, {
+ "label": "焉耆回族自治县",
+ "value": 3248
+ }, {
+ "label": "和静县",
+ "value": 3249
+ }, {
+ "label": "和硕县",
+ "value": 3250
+ }, {
+ "label": "博湖县",
+ "value": 3251
+ }],
+ [{
+ "label": "阿克苏市",
+ "value": 3253
+ }, {
+ "label": "温宿县",
+ "value": 3254
+ }, {
+ "label": "库车县",
+ "value": 3255
+ }, {
+ "label": "沙雅县",
+ "value": 3256
+ }, {
+ "label": "新和县",
+ "value": 3257
+ }, {
+ "label": "拜城县",
+ "value": 3258
+ }, {
+ "label": "乌什县",
+ "value": 3259
+ }, {
+ "label": "阿瓦提县",
+ "value": 3260
+ }, {
+ "label": "柯坪县",
+ "value": 3261
+ }],
+ [{
+ "label": "阿图什市",
+ "value": 3263
+ }, {
+ "label": "阿克陶县",
+ "value": 3264
+ }, {
+ "label": "阿合奇县",
+ "value": 3265
+ }, {
+ "label": "乌恰县",
+ "value": 3266
+ }],
+ [{
+ "label": "喀什市",
+ "value": 3268
+ }, {
+ "label": "疏附县",
+ "value": 3269
+ }, {
+ "label": "疏勒县",
+ "value": 3270
+ }, {
+ "label": "英吉沙县",
+ "value": 3271
+ }, {
+ "label": "泽普县",
+ "value": 3272
+ }, {
+ "label": "莎车县",
+ "value": 3273
+ }, {
+ "label": "叶城县",
+ "value": 3274
+ }, {
+ "label": "麦盖提县",
+ "value": 3275
+ }, {
+ "label": "岳普湖县",
+ "value": 3276
+ }, {
+ "label": "伽师县",
+ "value": 3277
+ }, {
+ "label": "巴楚县",
+ "value": 3278
+ }, {
+ "label": "塔什库尔干塔吉克自治县",
+ "value": 3279
+ }],
+ [{
+ "label": "和田市",
+ "value": 3281
+ }, {
+ "label": "和田县",
+ "value": 3282
+ }, {
+ "label": "墨玉县",
+ "value": 3283
+ }, {
+ "label": "皮山县",
+ "value": 3284
+ }, {
+ "label": "洛浦县",
+ "value": 3285
+ }, {
+ "label": "策勒县",
+ "value": 3286
+ }, {
+ "label": "于田县",
+ "value": 3287
+ }, {
+ "label": "民丰县",
+ "value": 3288
+ }],
+ [{
+ "label": "伊宁市",
+ "value": 3290
+ }, {
+ "label": "奎屯市",
+ "value": 3291
+ }, {
+ "label": "霍尔果斯市",
+ "value": 3292
+ }, {
+ "label": "伊宁县",
+ "value": 3293
+ }, {
+ "label": "察布查尔锡伯自治县",
+ "value": 3294
+ }, {
+ "label": "霍城县",
+ "value": 3295
+ }, {
+ "label": "巩留县",
+ "value": 3296
+ }, {
+ "label": "新源县",
+ "value": 3297
+ }, {
+ "label": "昭苏县",
+ "value": 3298
+ }, {
+ "label": "特克斯县",
+ "value": 3299
+ }, {
+ "label": "尼勒克县",
+ "value": 3300
+ }],
+ [{
+ "label": "塔城市",
+ "value": 3302
+ }, {
+ "label": "乌苏市",
+ "value": 3303
+ }, {
+ "label": "额敏县",
+ "value": 3304
+ }, {
+ "label": "沙湾县",
+ "value": 3305
+ }, {
+ "label": "托里县",
+ "value": 3306
+ }, {
+ "label": "裕民县",
+ "value": 3307
+ }, {
+ "label": "和布克赛尔蒙古自治县",
+ "value": 3308
+ }],
+ [{
+ "label": "阿勒泰市",
+ "value": 3310
+ }, {
+ "label": "布尔津县",
+ "value": 3311
+ }, {
+ "label": "富蕴县",
+ "value": 3312
+ }, {
+ "label": "福海县",
+ "value": 3313
+ }, {
+ "label": "哈巴河县",
+ "value": 3314
+ }, {
+ "label": "青河县",
+ "value": 3315
+ }, {
+ "label": "吉木乃县",
+ "value": 3316
+ }],
+ [{
+ "label": "石河子市",
+ "value": 3318
+ }, {
+ "label": "阿拉尔市",
+ "value": 3319
+ }, {
+ "label": "图木舒克市",
+ "value": 3320
+ }, {
+ "label": "五家渠市",
+ "value": 3321
+ }, {
+ "label": "北屯市",
+ "value": 3322
+ }, {
+ "label": "铁门关市",
+ "value": 3323
+ }, {
+ "label": "双河市",
+ "value": 3324
+ }]
+ ],
+ [
+ [{
+ "label": "松山区",
+ "value": 3327
+ }, {
+ "label": "信义区",
+ "value": 3328
+ }, {
+ "label": "大安区",
+ "value": 3329
+ }, {
+ "label": "中山区",
+ "value": 3330
+ }, {
+ "label": "中正区",
+ "value": 3331
+ }, {
+ "label": "大同区",
+ "value": 3332
+ }, {
+ "label": "万华区",
+ "value": 3333
+ }, {
+ "label": "文山区",
+ "value": 3334
+ }, {
+ "label": "南港区",
+ "value": 3335
+ }, {
+ "label": "内湖区",
+ "value": 3336
+ }, {
+ "label": "士林区",
+ "value": 3337
+ }, {
+ "label": "北投区",
+ "value": 3338
+ }],
+ [{
+ "label": "盐埕区",
+ "value": 3340
+ }, {
+ "label": "鼓山区",
+ "value": 3341
+ }, {
+ "label": "左营区",
+ "value": 3342
+ }, {
+ "label": "楠梓区",
+ "value": 3343
+ }, {
+ "label": "三民区",
+ "value": 3344
+ }, {
+ "label": "新兴区",
+ "value": 3345
+ }, {
+ "label": "前金区",
+ "value": 3346
+ }, {
+ "label": "苓雅区",
+ "value": 3347
+ }, {
+ "label": "前镇区",
+ "value": 3348
+ }, {
+ "label": "旗津区",
+ "value": 3349
+ }, {
+ "label": "小港区",
+ "value": 3350
+ }, {
+ "label": "凤山区",
+ "value": 3351
+ }, {
+ "label": "林园区",
+ "value": 3352
+ }, {
+ "label": "大寮区",
+ "value": 3353
+ }, {
+ "label": "大树区",
+ "value": 3354
+ }, {
+ "label": "大社区",
+ "value": 3355
+ }, {
+ "label": "仁武区",
+ "value": 3356
+ }, {
+ "label": "鸟松区",
+ "value": 3357
+ }, {
+ "label": "冈山区",
+ "value": 3358
+ }, {
+ "label": "桥头区",
+ "value": 3359
+ }, {
+ "label": "燕巢区",
+ "value": 3360
+ }, {
+ "label": "田寮区",
+ "value": 3361
+ }, {
+ "label": "阿莲区",
+ "value": 3362
+ }, {
+ "label": "路竹区",
+ "value": 3363
+ }, {
+ "label": "湖内区",
+ "value": 3364
+ }, {
+ "label": "茄萣区",
+ "value": 3365
+ }, {
+ "label": "永安区",
+ "value": 3366
+ }, {
+ "label": "弥陀区",
+ "value": 3367
+ }, {
+ "label": "梓官区",
+ "value": 3368
+ }, {
+ "label": "旗山区",
+ "value": 3369
+ }, {
+ "label": "美浓区",
+ "value": 3370
+ }, {
+ "label": "六龟区",
+ "value": 3371
+ }, {
+ "label": "甲仙区",
+ "value": 3372
+ }, {
+ "label": "杉林区",
+ "value": 3373
+ }, {
+ "label": "内门区",
+ "value": 3374
+ }, {
+ "label": "茂林区",
+ "value": 3375
+ }, {
+ "label": "桃源区",
+ "value": 3376
+ }, {
+ "label": "那玛夏区",
+ "value": 3377
+ }],
+ [{
+ "label": "中正区",
+ "value": 3379
+ }, {
+ "label": "七堵区",
+ "value": 3380
+ }, {
+ "label": "暖暖区",
+ "value": 3381
+ }, {
+ "label": "仁爱区",
+ "value": 3382
+ }, {
+ "label": "中山区",
+ "value": 3383
+ }, {
+ "label": "安乐区",
+ "value": 3384
+ }, {
+ "label": "信义区",
+ "value": 3385
+ }],
+ [{
+ "label": "中区",
+ "value": 3387
+ }, {
+ "label": "东区",
+ "value": 3388
+ }, {
+ "label": "南区",
+ "value": 3389
+ }, {
+ "label": "西区",
+ "value": 3390
+ }, {
+ "label": "北区",
+ "value": 3391
+ }, {
+ "label": "西屯区",
+ "value": 3392
+ }, {
+ "label": "南屯区",
+ "value": 3393
+ }, {
+ "label": "北屯区",
+ "value": 3394
+ }, {
+ "label": "丰原区",
+ "value": 3395
+ }, {
+ "label": "东势区",
+ "value": 3396
+ }, {
+ "label": "大甲区",
+ "value": 3397
+ }, {
+ "label": "清水区",
+ "value": 3398
+ }, {
+ "label": "沙鹿区",
+ "value": 3399
+ }, {
+ "label": "梧栖区",
+ "value": 3400
+ }, {
+ "label": "后里区",
+ "value": 3401
+ }, {
+ "label": "神冈区",
+ "value": 3402
+ }, {
+ "label": "潭子区",
+ "value": 3403
+ }, {
+ "label": "大雅区",
+ "value": 3404
+ }, {
+ "label": "新社区",
+ "value": 3405
+ }, {
+ "label": "石冈区",
+ "value": 3406
+ }, {
+ "label": "外埔区",
+ "value": 3407
+ }, {
+ "label": "大安区",
+ "value": 3408
+ }, {
+ "label": "乌日区",
+ "value": 3409
+ }, {
+ "label": "大肚区",
+ "value": 3410
+ }, {
+ "label": "龙井区",
+ "value": 3411
+ }, {
+ "label": "雾峰区",
+ "value": 3412
+ }, {
+ "label": "太平区",
+ "value": 3413
+ }, {
+ "label": "大里区",
+ "value": 3414
+ }, {
+ "label": "和平区",
+ "value": 3415
+ }],
+ [{
+ "label": "东区",
+ "value": 3417
+ }, {
+ "label": "南区",
+ "value": 3418
+ }, {
+ "label": "北区",
+ "value": 3419
+ }, {
+ "label": "安南区",
+ "value": 3420
+ }, {
+ "label": "安平区",
+ "value": 3421
+ }, {
+ "label": "中西区",
+ "value": 3422
+ }, {
+ "label": "新营区",
+ "value": 3423
+ }, {
+ "label": "盐水区",
+ "value": 3424
+ }, {
+ "label": "白河区",
+ "value": 3425
+ }, {
+ "label": "柳营区",
+ "value": 3426
+ }, {
+ "label": "后壁区",
+ "value": 3427
+ }, {
+ "label": "东山区",
+ "value": 3428
+ }, {
+ "label": "麻豆区",
+ "value": 3429
+ }, {
+ "label": "下营区",
+ "value": 3430
+ }, {
+ "label": "六甲区",
+ "value": 3431
+ }, {
+ "label": "官田区",
+ "value": 3432
+ }, {
+ "label": "大内区",
+ "value": 3433
+ }, {
+ "label": "佳里区",
+ "value": 3434
+ }, {
+ "label": "学甲区",
+ "value": 3435
+ }, {
+ "label": "西港区",
+ "value": 3436
+ }, {
+ "label": "七股区",
+ "value": 3437
+ }, {
+ "label": "将军区",
+ "value": 3438
+ }, {
+ "label": "北门区",
+ "value": 3439
+ }, {
+ "label": "新化区",
+ "value": 3440
+ }, {
+ "label": "善化区",
+ "value": 3441
+ }, {
+ "label": "新市区",
+ "value": 3442
+ }, {
+ "label": "安定区",
+ "value": 3443
+ }, {
+ "label": "山上区",
+ "value": 3444
+ }, {
+ "label": "玉井区",
+ "value": 3445
+ }, {
+ "label": "楠西区",
+ "value": 3446
+ }, {
+ "label": "南化区",
+ "value": 3447
+ }, {
+ "label": "左镇区",
+ "value": 3448
+ }, {
+ "label": "仁德区",
+ "value": 3449
+ }, {
+ "label": "归仁区",
+ "value": 3450
+ }, {
+ "label": "关庙区",
+ "value": 3451
+ }, {
+ "label": "龙崎区",
+ "value": 3452
+ }, {
+ "label": "永康区",
+ "value": 3453
+ }],
+ [{
+ "label": "东区",
+ "value": 3455
+ }, {
+ "label": "北区",
+ "value": 3456
+ }, {
+ "label": "香山区",
+ "value": 3457
+ }],
+ [{
+ "label": "东区",
+ "value": 3459
+ }, {
+ "label": "西区",
+ "value": 3460
+ }],
+ [{
+ "label": "板桥区",
+ "value": 3462
+ }, {
+ "label": "三重区",
+ "value": 3463
+ }, {
+ "label": "中和区",
+ "value": 3464
+ }, {
+ "label": "永和区",
+ "value": 3465
+ }, {
+ "label": "新庄区",
+ "value": 3466
+ }, {
+ "label": "新店区",
+ "value": 3467
+ }, {
+ "label": "树林区",
+ "value": 3468
+ }, {
+ "label": "莺歌区",
+ "value": 3469
+ }, {
+ "label": "三峡区",
+ "value": 3470
+ }, {
+ "label": "淡水区",
+ "value": 3471
+ }, {
+ "label": "汐止区",
+ "value": 3472
+ }, {
+ "label": "瑞芳区",
+ "value": 3473
+ }, {
+ "label": "土城区",
+ "value": 3474
+ }, {
+ "label": "芦洲区",
+ "value": 3475
+ }, {
+ "label": "五股区",
+ "value": 3476
+ }, {
+ "label": "泰山区",
+ "value": 3477
+ }, {
+ "label": "林口区",
+ "value": 3478
+ }, {
+ "label": "深坑区",
+ "value": 3479
+ }, {
+ "label": "石碇区",
+ "value": 3480
+ }, {
+ "label": "坪林区",
+ "value": 3481
+ }, {
+ "label": "三芝区",
+ "value": 3482
+ }, {
+ "label": "石门区",
+ "value": 3483
+ }, {
+ "label": "八里区",
+ "value": 3484
+ }, {
+ "label": "平溪区",
+ "value": 3485
+ }, {
+ "label": "双溪区",
+ "value": 3486
+ }, {
+ "label": "贡寮区",
+ "value": 3487
+ }, {
+ "label": "金山区",
+ "value": 3488
+ }, {
+ "label": "万里区",
+ "value": 3489
+ }, {
+ "label": "乌来区",
+ "value": 3490
+ }],
+ [{
+ "label": "宜兰市",
+ "value": 3492
+ }, {
+ "label": "罗东镇",
+ "value": 3493
+ }, {
+ "label": "苏澳镇",
+ "value": 3494
+ }, {
+ "label": "头城镇",
+ "value": 3495
+ }, {
+ "label": "礁溪乡",
+ "value": 3496
+ }, {
+ "label": "壮围乡",
+ "value": 3497
+ }, {
+ "label": "员山乡",
+ "value": 3498
+ }, {
+ "label": "冬山乡",
+ "value": 3499
+ }, {
+ "label": "五结乡",
+ "value": 3500
+ }, {
+ "label": "三星乡",
+ "value": 3501
+ }, {
+ "label": "大同乡",
+ "value": 3502
+ }, {
+ "label": "南澳乡",
+ "value": 3503
+ }],
+ [{
+ "label": "桃园市",
+ "value": 3505
+ }, {
+ "label": "中坜市",
+ "value": 3506
+ }, {
+ "label": "平镇市",
+ "value": 3507
+ }, {
+ "label": "八德市",
+ "value": 3508
+ }, {
+ "label": "杨梅市",
+ "value": 3509
+ }, {
+ "label": "芦竹市",
+ "value": 3510
+ }, {
+ "label": "大溪镇",
+ "value": 3511
+ }, {
+ "label": "大园乡",
+ "value": 3512
+ }, {
+ "label": "龟山乡",
+ "value": 3513
+ }, {
+ "label": "龙潭乡",
+ "value": 3514
+ }, {
+ "label": "新屋乡",
+ "value": 3515
+ }, {
+ "label": "观音乡",
+ "value": 3516
+ }, {
+ "label": "复兴乡",
+ "value": 3517
+ }],
+ [{
+ "label": "竹北市",
+ "value": 3519
+ }, {
+ "label": "竹东镇",
+ "value": 3520
+ }, {
+ "label": "新埔镇",
+ "value": 3521
+ }, {
+ "label": "关西镇",
+ "value": 3522
+ }, {
+ "label": "湖口乡",
+ "value": 3523
+ }, {
+ "label": "新丰乡",
+ "value": 3524
+ }, {
+ "label": "芎林乡",
+ "value": 3525
+ }, {
+ "label": "横山乡",
+ "value": 3526
+ }, {
+ "label": "北埔乡",
+ "value": 3527
+ }, {
+ "label": "宝山乡",
+ "value": 3528
+ }, {
+ "label": "峨眉乡",
+ "value": 3529
+ }, {
+ "label": "尖石乡",
+ "value": 3530
+ }, {
+ "label": "五峰乡",
+ "value": 3531
+ }],
+ [{
+ "label": "苗栗市",
+ "value": 3533
+ }, {
+ "label": "苑里镇",
+ "value": 3534
+ }, {
+ "label": "通霄镇",
+ "value": 3535
+ }, {
+ "label": "竹南镇",
+ "value": 3536
+ }, {
+ "label": "头份镇",
+ "value": 3537
+ }, {
+ "label": "后龙镇",
+ "value": 3538
+ }, {
+ "label": "卓兰镇",
+ "value": 3539
+ }, {
+ "label": "大湖乡",
+ "value": 3540
+ }, {
+ "label": "公馆乡",
+ "value": 3541
+ }, {
+ "label": "铜锣乡",
+ "value": 3542
+ }, {
+ "label": "南庄乡",
+ "value": 3543
+ }, {
+ "label": "头屋乡",
+ "value": 3544
+ }, {
+ "label": "三义乡",
+ "value": 3545
+ }, {
+ "label": "西湖乡",
+ "value": 3546
+ }, {
+ "label": "造桥乡",
+ "value": 3547
+ }, {
+ "label": "三湾乡",
+ "value": 3548
+ }, {
+ "label": "狮潭乡",
+ "value": 3549
+ }, {
+ "label": "泰安乡",
+ "value": 3550
+ }],
+ [{
+ "label": "彰化市",
+ "value": 3552
+ }, {
+ "label": "鹿港镇",
+ "value": 3553
+ }, {
+ "label": "和美镇",
+ "value": 3554
+ }, {
+ "label": "线西乡",
+ "value": 3555
+ }, {
+ "label": "伸港乡",
+ "value": 3556
+ }, {
+ "label": "福兴乡",
+ "value": 3557
+ }, {
+ "label": "秀水乡",
+ "value": 3558
+ }, {
+ "label": "花坛乡",
+ "value": 3559
+ }, {
+ "label": "芬园乡",
+ "value": 3560
+ }, {
+ "label": "员林镇",
+ "value": 3561
+ }, {
+ "label": "溪湖镇",
+ "value": 3562
+ }, {
+ "label": "田中镇",
+ "value": 3563
+ }, {
+ "label": "大村乡",
+ "value": 3564
+ }, {
+ "label": "埔盐乡",
+ "value": 3565
+ }, {
+ "label": "埔心乡",
+ "value": 3566
+ }, {
+ "label": "永靖乡",
+ "value": 3567
+ }, {
+ "label": "社头乡",
+ "value": 3568
+ }, {
+ "label": "二水乡",
+ "value": 3569
+ }, {
+ "label": "北斗镇",
+ "value": 3570
+ }, {
+ "label": "二林镇",
+ "value": 3571
+ }, {
+ "label": "田尾乡",
+ "value": 3572
+ }, {
+ "label": "埤头乡",
+ "value": 3573
+ }, {
+ "label": "芳苑乡",
+ "value": 3574
+ }, {
+ "label": "大城乡",
+ "value": 3575
+ }, {
+ "label": "竹塘乡",
+ "value": 3576
+ }, {
+ "label": "溪州乡",
+ "value": 3577
+ }],
+ [{
+ "label": "南投市",
+ "value": 3579
+ }, {
+ "label": "埔里镇",
+ "value": 3580
+ }, {
+ "label": "草屯镇",
+ "value": 3581
+ }, {
+ "label": "竹山镇",
+ "value": 3582
+ }, {
+ "label": "集集镇",
+ "value": 3583
+ }, {
+ "label": "名间乡",
+ "value": 3584
+ }, {
+ "label": "鹿谷乡",
+ "value": 3585
+ }, {
+ "label": "中寮乡",
+ "value": 3586
+ }, {
+ "label": "鱼池乡",
+ "value": 3587
+ }, {
+ "label": "国姓乡",
+ "value": 3588
+ }, {
+ "label": "水里乡",
+ "value": 3589
+ }, {
+ "label": "信义乡",
+ "value": 3590
+ }, {
+ "label": "仁爱乡",
+ "value": 3591
+ }],
+ [{
+ "label": "斗六市",
+ "value": 3593
+ }, {
+ "label": "斗南镇",
+ "value": 3594
+ }, {
+ "label": "虎尾镇",
+ "value": 3595
+ }, {
+ "label": "西螺镇",
+ "value": 3596
+ }, {
+ "label": "土库镇",
+ "value": 3597
+ }, {
+ "label": "北港镇",
+ "value": 3598
+ }, {
+ "label": "古坑乡",
+ "value": 3599
+ }, {
+ "label": "大埤乡",
+ "value": 3600
+ }, {
+ "label": "莿桐乡",
+ "value": 3601
+ }, {
+ "label": "林内乡",
+ "value": 3602
+ }, {
+ "label": "二仑乡",
+ "value": 3603
+ }, {
+ "label": "仑背乡",
+ "value": 3604
+ }, {
+ "label": "麦寮乡",
+ "value": 3605
+ }, {
+ "label": "东势乡",
+ "value": 3606
+ }, {
+ "label": "褒忠乡",
+ "value": 3607
+ }, {
+ "label": "台西乡",
+ "value": 3608
+ }, {
+ "label": "元长乡",
+ "value": 3609
+ }, {
+ "label": "四湖乡",
+ "value": 3610
+ }, {
+ "label": "口湖乡",
+ "value": 3611
+ }, {
+ "label": "水林乡",
+ "value": 3612
+ }],
+ [{
+ "label": "太保市",
+ "value": 3614
+ }, {
+ "label": "朴子市",
+ "value": 3615
+ }, {
+ "label": "布袋镇",
+ "value": 3616
+ }, {
+ "label": "大林镇",
+ "value": 3617
+ }, {
+ "label": "民雄乡",
+ "value": 3618
+ }, {
+ "label": "溪口乡",
+ "value": 3619
+ }, {
+ "label": "新港乡",
+ "value": 3620
+ }, {
+ "label": "六脚乡",
+ "value": 3621
+ }, {
+ "label": "东石乡",
+ "value": 3622
+ }, {
+ "label": "义竹乡",
+ "value": 3623
+ }, {
+ "label": "鹿草乡",
+ "value": 3624
+ }, {
+ "label": "水上乡",
+ "value": 3625
+ }, {
+ "label": "中埔乡",
+ "value": 3626
+ }, {
+ "label": "竹崎乡",
+ "value": 3627
+ }, {
+ "label": "梅山乡",
+ "value": 3628
+ }, {
+ "label": "番路乡",
+ "value": 3629
+ }, {
+ "label": "大埔乡",
+ "value": 3630
+ }, {
+ "label": "阿里山乡",
+ "value": 3631
+ }],
+ [{
+ "label": "屏东市",
+ "value": 3633
+ }, {
+ "label": "潮州镇",
+ "value": 3634
+ }, {
+ "label": "东港镇",
+ "value": 3635
+ }, {
+ "label": "恒春镇",
+ "value": 3636
+ }, {
+ "label": "万丹乡",
+ "value": 3637
+ }, {
+ "label": "长治乡",
+ "value": 3638
+ }, {
+ "label": "麟洛乡",
+ "value": 3639
+ }, {
+ "label": "九如乡",
+ "value": 3640
+ }, {
+ "label": "里港乡",
+ "value": 3641
+ }, {
+ "label": "盐埔乡",
+ "value": 3642
+ }, {
+ "label": "高树乡",
+ "value": 3643
+ }, {
+ "label": "万峦乡",
+ "value": 3644
+ }, {
+ "label": "内埔乡",
+ "value": 3645
+ }, {
+ "label": "竹田乡",
+ "value": 3646
+ }, {
+ "label": "新埤乡",
+ "value": 3647
+ }, {
+ "label": "枋寮乡",
+ "value": 3648
+ }, {
+ "label": "新园乡",
+ "value": 3649
+ }, {
+ "label": "崁顶乡",
+ "value": 3650
+ }, {
+ "label": "林边乡",
+ "value": 3651
+ }, {
+ "label": "南州乡",
+ "value": 3652
+ }, {
+ "label": "佳冬乡",
+ "value": 3653
+ }, {
+ "label": "琉球乡",
+ "value": 3654
+ }, {
+ "label": "车城乡",
+ "value": 3655
+ }, {
+ "label": "满州乡",
+ "value": 3656
+ }, {
+ "label": "枋山乡",
+ "value": 3657
+ }, {
+ "label": "三地门乡",
+ "value": 3658
+ }, {
+ "label": "雾台乡",
+ "value": 3659
+ }, {
+ "label": "玛家乡",
+ "value": 3660
+ }, {
+ "label": "泰武乡",
+ "value": 3661
+ }, {
+ "label": "来义乡",
+ "value": 3662
+ }, {
+ "label": "春日乡",
+ "value": 3663
+ }, {
+ "label": "狮子乡",
+ "value": 3664
+ }, {
+ "label": "牡丹乡",
+ "value": 3665
+ }],
+ [{
+ "label": "台东市",
+ "value": 3667
+ }, {
+ "label": "成功镇",
+ "value": 3668
+ }, {
+ "label": "关山镇",
+ "value": 3669
+ }, {
+ "label": "卑南乡",
+ "value": 3670
+ }, {
+ "label": "鹿野乡",
+ "value": 3671
+ }, {
+ "label": "池上乡",
+ "value": 3672
+ }, {
+ "label": "东河乡",
+ "value": 3673
+ }, {
+ "label": "长滨乡",
+ "value": 3674
+ }, {
+ "label": "太麻里乡",
+ "value": 3675
+ }, {
+ "label": "大武乡",
+ "value": 3676
+ }, {
+ "label": "绿岛乡",
+ "value": 3677
+ }, {
+ "label": "海端乡",
+ "value": 3678
+ }, {
+ "label": "延平乡",
+ "value": 3679
+ }, {
+ "label": "金峰乡",
+ "value": 3680
+ }, {
+ "label": "达仁乡",
+ "value": 3681
+ }, {
+ "label": "兰屿乡",
+ "value": 3682
+ }],
+ [{
+ "label": "花莲市",
+ "value": 3684
+ }, {
+ "label": "凤林镇",
+ "value": 3685
+ }, {
+ "label": "玉里镇",
+ "value": 3686
+ }, {
+ "label": "新城乡",
+ "value": 3687
+ }, {
+ "label": "吉安乡",
+ "value": 3688
+ }, {
+ "label": "寿丰乡",
+ "value": 3689
+ }, {
+ "label": "光复乡",
+ "value": 3690
+ }, {
+ "label": "丰滨乡",
+ "value": 3691
+ }, {
+ "label": "瑞穗乡",
+ "value": 3692
+ }, {
+ "label": "富里乡",
+ "value": 3693
+ }, {
+ "label": "秀林乡",
+ "value": 3694
+ }, {
+ "label": "万荣乡",
+ "value": 3695
+ }, {
+ "label": "卓溪乡",
+ "value": 3696
+ }],
+ [{
+ "label": "马公市",
+ "value": 3698
+ }, {
+ "label": "湖西乡",
+ "value": 3699
+ }, {
+ "label": "白沙乡",
+ "value": 3700
+ }, {
+ "label": "西屿乡",
+ "value": 3701
+ }, {
+ "label": "望安乡",
+ "value": 3702
+ }, {
+ "label": "七美乡",
+ "value": 3703
+ }],
+ [{
+ "label": "金城镇",
+ "value": 3705
+ }, {
+ "label": "金湖镇",
+ "value": 3706
+ }, {
+ "label": "金沙镇",
+ "value": 3707
+ }, {
+ "label": "金宁乡",
+ "value": 3708
+ }, {
+ "label": "烈屿乡",
+ "value": 3709
+ }, {
+ "label": "乌丘乡",
+ "value": 3710
+ }],
+ [{
+ "label": "南竿乡",
+ "value": 3712
+ }, {
+ "label": "北竿乡",
+ "value": 3713
+ }, {
+ "label": "莒光乡",
+ "value": 3714
+ }, {
+ "label": "东引乡",
+ "value": 3715
+ }]
+ ],
+ [
+ [{
+ "label": "中西区",
+ "value": 3718
+ }, {
+ "label": "湾仔区",
+ "value": 3719
+ }, {
+ "label": "东区",
+ "value": 3720
+ }, {
+ "label": "南区",
+ "value": 3721
+ }],
+ [{
+ "label": "油尖旺区",
+ "value": 3723
+ }, {
+ "label": "深水埗区",
+ "value": 3724
+ }, {
+ "label": "九龙城区",
+ "value": 3725
+ }, {
+ "label": "黄大仙区",
+ "value": 3726
+ }, {
+ "label": "观塘区",
+ "value": 3727
+ }],
+ [{
+ "label": "荃湾区",
+ "value": 3729
+ }, {
+ "label": "屯门区",
+ "value": 3730
+ }, {
+ "label": "元朗区",
+ "value": 3731
+ }, {
+ "label": "北区",
+ "value": 3732
+ }, {
+ "label": "大埔区",
+ "value": 3733
+ }, {
+ "label": "西贡区",
+ "value": 3734
+ }, {
+ "label": "沙田区",
+ "value": 3735
+ }, {
+ "label": "葵青区",
+ "value": 3736
+ }, {
+ "label": "离岛区",
+ "value": 3737
+ }]
+ ],
+ [
+ [{
+ "label": "花地玛堂区",
+ "value": 3740
+ }, {
+ "label": "圣安多尼堂区",
+ "value": 3741
+ }, {
+ "label": "大堂区",
+ "value": 3742
+ }, {
+ "label": "望德堂区",
+ "value": 3743
+ }, {
+ "label": "风顺堂区",
+ "value": 3744
+ }],
+ [{
+ "label": "嘉模堂区",
+ "value": 3746
+ }],
+ [{
+ "label": "圣方济各堂区",
+ "value": 3748
+ }]
+ ]
+]
+export default areaData;
diff --git a/components/mpvue-citypicker/city-data/city.js b/components/mpvue-citypicker/city-data/city.js
new file mode 100644
index 0000000..884e01f
--- /dev/null
+++ b/components/mpvue-citypicker/city-data/city.js
@@ -0,0 +1,1157 @@
+/* eslint-disable */
+var cityData = [
+ [{
+ "label": "北京市",
+ "value": 2
+ }],
+ [{
+ "label": "天津市",
+ "value": 20
+ }],
+ [{
+ "label": "石家庄市",
+ "value": 38
+ }, {
+ "label": "唐山市",
+ "value": 61
+ }, {
+ "label": "秦皇岛市",
+ "value": 76
+ }, {
+ "label": "邯郸市",
+ "value": 84
+ }, {
+ "label": "邢台市",
+ "value": 104
+ }, {
+ "label": "保定市",
+ "value": 124
+ }, {
+ "label": "张家口市",
+ "value": 150
+ }, {
+ "label": "承德市",
+ "value": 168
+ }, {
+ "label": "沧州市",
+ "value": 180
+ }, {
+ "label": "廊坊市",
+ "value": 197
+ }, {
+ "label": "衡水市",
+ "value": 208
+ }],
+ [{
+ "label": "太原市",
+ "value": 221
+ }, {
+ "label": "大同市",
+ "value": 232
+ }, {
+ "label": "阳泉市",
+ "value": 244
+ }, {
+ "label": "长治市",
+ "value": 250
+ }, {
+ "label": "晋城市",
+ "value": 264
+ }, {
+ "label": "朔州市",
+ "value": 271
+ }, {
+ "label": "晋中市",
+ "value": 278
+ }, {
+ "label": "运城市",
+ "value": 290
+ }, {
+ "label": "忻州市",
+ "value": 304
+ }, {
+ "label": "临汾市",
+ "value": 319
+ }, {
+ "label": "吕梁市",
+ "value": 337
+ }],
+ [{
+ "label": "呼和浩特市",
+ "value": 352
+ }, {
+ "label": "包头市",
+ "value": 362
+ }, {
+ "label": "乌海市",
+ "value": 372
+ }, {
+ "label": "赤峰市",
+ "value": 376
+ }, {
+ "label": "通辽市",
+ "value": 389
+ }, {
+ "label": "鄂尔多斯市",
+ "value": 398
+ }, {
+ "label": "呼伦贝尔市",
+ "value": 407
+ }, {
+ "label": "巴彦淖尔市",
+ "value": 422
+ }, {
+ "label": "乌兰察布市",
+ "value": 430
+ }, {
+ "label": "兴安盟",
+ "value": 442
+ }, {
+ "label": "锡林郭勒盟",
+ "value": 449
+ }, {
+ "label": "阿拉善盟",
+ "value": 462
+ }],
+ [{
+ "label": "沈阳市",
+ "value": 467
+ }, {
+ "label": "大连市",
+ "value": 481
+ }, {
+ "label": "鞍山市",
+ "value": 492
+ }, {
+ "label": "抚顺市",
+ "value": 500
+ }, {
+ "label": "本溪市",
+ "value": 508
+ }, {
+ "label": "丹东市",
+ "value": 515
+ }, {
+ "label": "锦州市",
+ "value": 522
+ }, {
+ "label": "营口市",
+ "value": 530
+ }, {
+ "label": "阜新市",
+ "value": 537
+ }, {
+ "label": "辽阳市",
+ "value": 545
+ }, {
+ "label": "盘锦市",
+ "value": 553
+ }, {
+ "label": "铁岭市",
+ "value": 558
+ }, {
+ "label": "朝阳市",
+ "value": 566
+ }, {
+ "label": "葫芦岛市",
+ "value": 574
+ }, {
+ "label": "金普新区",
+ "value": 581
+ }],
+ [{
+ "label": "长春市",
+ "value": 586
+ }, {
+ "label": "吉林市",
+ "value": 597
+ }, {
+ "label": "四平市",
+ "value": 607
+ }, {
+ "label": "辽源市",
+ "value": 614
+ }, {
+ "label": "通化市",
+ "value": 619
+ }, {
+ "label": "白山市",
+ "value": 627
+ }, {
+ "label": "松原市",
+ "value": 634
+ }, {
+ "label": "白城市",
+ "value": 640
+ }, {
+ "label": "延边朝鲜族自治州",
+ "value": 646
+ }],
+ [{
+ "label": "哈尔滨市",
+ "value": 656
+ }, {
+ "label": "齐齐哈尔市",
+ "value": 675
+ }, {
+ "label": "鸡西市",
+ "value": 692
+ }, {
+ "label": "鹤岗市",
+ "value": 702
+ }, {
+ "label": "双鸭山市",
+ "value": 711
+ }, {
+ "label": "大庆市",
+ "value": 720
+ }, {
+ "label": "伊春市",
+ "value": 730
+ }, {
+ "label": "佳木斯市",
+ "value": 748
+ }, {
+ "label": "七台河市",
+ "value": 759
+ }, {
+ "label": "牡丹江市",
+ "value": 764
+ }, {
+ "label": "黑河市",
+ "value": 775
+ }, {
+ "label": "绥化市",
+ "value": 782
+ }, {
+ "label": "大兴安岭地区",
+ "value": 793
+ }],
+ [{
+ "label": "上海市",
+ "value": 802
+ }],
+ [{
+ "label": "南京市",
+ "value": 821
+ }, {
+ "label": "无锡市",
+ "value": 833
+ }, {
+ "label": "徐州市",
+ "value": 842
+ }, {
+ "label": "常州市",
+ "value": 853
+ }, {
+ "label": "苏州市",
+ "value": 861
+ }, {
+ "label": "南通市",
+ "value": 871
+ }, {
+ "label": "连云港市",
+ "value": 880
+ }, {
+ "label": "淮安市",
+ "value": 887
+ }, {
+ "label": "盐城市",
+ "value": 896
+ }, {
+ "label": "扬州市",
+ "value": 906
+ }, {
+ "label": "镇江市",
+ "value": 913
+ }, {
+ "label": "泰州市",
+ "value": 920
+ }, {
+ "label": "宿迁市",
+ "value": 927
+ }],
+ [{
+ "label": "杭州市",
+ "value": 934
+ }, {
+ "label": "宁波市",
+ "value": 948
+ }, {
+ "label": "温州市",
+ "value": 960
+ }, {
+ "label": "嘉兴市",
+ "value": 972
+ }, {
+ "label": "湖州市",
+ "value": 980
+ }, {
+ "label": "绍兴市",
+ "value": 986
+ }, {
+ "label": "金华市",
+ "value": 993
+ }, {
+ "label": "衢州市",
+ "value": 1003
+ }, {
+ "label": "舟山市",
+ "value": 1010
+ }, {
+ "label": "台州市",
+ "value": 1015
+ }, {
+ "label": "丽水市",
+ "value": 1025
+ }, {
+ "label": "舟山群岛新区",
+ "value": 1035
+ }],
+ [{
+ "label": "合肥市",
+ "value": 1047
+ }, {
+ "label": "芜湖市",
+ "value": 1057
+ }, {
+ "label": "蚌埠市",
+ "value": 1066
+ }, {
+ "label": "淮南市",
+ "value": 1074
+ }, {
+ "label": "马鞍山市",
+ "value": 1081
+ }, {
+ "label": "淮北市",
+ "value": 1088
+ }, {
+ "label": "铜陵市",
+ "value": 1093
+ }, {
+ "label": "安庆市",
+ "value": 1098
+ }, {
+ "label": "黄山市",
+ "value": 1110
+ }, {
+ "label": "滁州市",
+ "value": 1118
+ }, {
+ "label": "阜阳市",
+ "value": 1127
+ }, {
+ "label": "宿州市",
+ "value": 1136
+ }, {
+ "label": "六安市",
+ "value": 1142
+ }, {
+ "label": "亳州市",
+ "value": 1150
+ }, {
+ "label": "池州市",
+ "value": 1155
+ }, {
+ "label": "宣城市",
+ "value": 1160
+ }],
+ [{
+ "label": "福州市",
+ "value": 1169
+ }, {
+ "label": "厦门市",
+ "value": 1183
+ }, {
+ "label": "莆田市",
+ "value": 1190
+ }, {
+ "label": "三明市",
+ "value": 1196
+ }, {
+ "label": "泉州市",
+ "value": 1209
+ }, {
+ "label": "漳州市",
+ "value": 1222
+ }, {
+ "label": "南平市",
+ "value": 1234
+ }, {
+ "label": "龙岩市",
+ "value": 1245
+ }, {
+ "label": "宁德市",
+ "value": 1253
+ }],
+ [{
+ "label": "南昌市",
+ "value": 1264
+ }, {
+ "label": "景德镇市",
+ "value": 1274
+ }, {
+ "label": "萍乡市",
+ "value": 1279
+ }, {
+ "label": "九江市",
+ "value": 1285
+ }, {
+ "label": "新余市",
+ "value": 1299
+ }, {
+ "label": "鹰潭市",
+ "value": 1302
+ }, {
+ "label": "赣州市",
+ "value": 1306
+ }, {
+ "label": "吉安市",
+ "value": 1325
+ }, {
+ "label": "宜春市",
+ "value": 1339
+ }, {
+ "label": "抚州市",
+ "value": 1350
+ }, {
+ "label": "上饶市",
+ "value": 1362
+ }],
+ [{
+ "label": "济南市",
+ "value": 1376
+ }, {
+ "label": "青岛市",
+ "value": 1387
+ }, {
+ "label": "淄博市",
+ "value": 1399
+ }, {
+ "label": "枣庄市",
+ "value": 1408
+ }, {
+ "label": "东营市",
+ "value": 1415
+ }, {
+ "label": "烟台市",
+ "value": 1421
+ }, {
+ "label": "潍坊市",
+ "value": 1434
+ }, {
+ "label": "济宁市",
+ "value": 1447
+ }, {
+ "label": "泰安市",
+ "value": 1459
+ }, {
+ "label": "威海市",
+ "value": 1466
+ }, {
+ "label": "日照市",
+ "value": 1471
+ }, {
+ "label": "莱芜市",
+ "value": 1476
+ }, {
+ "label": "临沂市",
+ "value": 1479
+ }, {
+ "label": "德州市",
+ "value": 1492
+ }, {
+ "label": "聊城市",
+ "value": 1504
+ }, {
+ "label": "滨州市",
+ "value": 1513
+ }, {
+ "label": "菏泽市",
+ "value": 1522
+ }],
+ [{
+ "label": "郑州市",
+ "value": 1533
+ }, {
+ "label": "开封市",
+ "value": 1546
+ }, {
+ "label": "洛阳市",
+ "value": 1556
+ }, {
+ "label": "平顶山市",
+ "value": 1572
+ }, {
+ "label": "安阳市",
+ "value": 1583
+ }, {
+ "label": "鹤壁市",
+ "value": 1593
+ }, {
+ "label": "新乡市",
+ "value": 1599
+ }, {
+ "label": "焦作市",
+ "value": 1612
+ }, {
+ "label": "濮阳市",
+ "value": 1623
+ }, {
+ "label": "许昌市",
+ "value": 1630
+ }, {
+ "label": "漯河市",
+ "value": 1637
+ }, {
+ "label": "三门峡市",
+ "value": 1643
+ }, {
+ "label": "南阳市",
+ "value": 1650
+ }, {
+ "label": "商丘市",
+ "value": 1664
+ }, {
+ "label": "信阳市",
+ "value": 1674
+ }, {
+ "label": "周口市",
+ "value": 1685
+ }, {
+ "label": "驻马店市",
+ "value": 1696
+ }, {
+ "label": "直辖县级",
+ "value": 1707
+ }],
+ [{
+ "label": "武汉市",
+ "value": 1710
+ }, {
+ "label": "黄石市",
+ "value": 1724
+ }, {
+ "label": "十堰市",
+ "value": 1731
+ }, {
+ "label": "宜昌市",
+ "value": 1740
+ }, {
+ "label": "襄阳市",
+ "value": 1754
+ }, {
+ "label": "鄂州市",
+ "value": 1764
+ }, {
+ "label": "荆门市",
+ "value": 1768
+ }, {
+ "label": "孝感市",
+ "value": 1774
+ }, {
+ "label": "荆州市",
+ "value": 1782
+ }, {
+ "label": "黄冈市",
+ "value": 1791
+ }, {
+ "label": "咸宁市",
+ "value": 1802
+ }, {
+ "label": "随州市",
+ "value": 1809
+ }, {
+ "label": "恩施土家族苗族自治州",
+ "value": 1813
+ }, {
+ "label": "直辖县级",
+ "value": 1822
+ }],
+ [{
+ "label": "长沙市",
+ "value": 1828
+ }, {
+ "label": "株洲市",
+ "value": 1838
+ }, {
+ "label": "湘潭市",
+ "value": 1848
+ }, {
+ "label": "衡阳市",
+ "value": 1854
+ }, {
+ "label": "邵阳市",
+ "value": 1867
+ }, {
+ "label": "岳阳市",
+ "value": 1880
+ }, {
+ "label": "常德市",
+ "value": 1890
+ }, {
+ "label": "张家界市",
+ "value": 1900
+ }, {
+ "label": "益阳市",
+ "value": 1905
+ }, {
+ "label": "郴州市",
+ "value": 1912
+ }, {
+ "label": "永州市",
+ "value": 1924
+ }, {
+ "label": "怀化市",
+ "value": 1936
+ }, {
+ "label": "娄底市",
+ "value": 1949
+ }, {
+ "label": "湘西土家族苗族自治州",
+ "value": 1955
+ }],
+ [{
+ "label": "广州市",
+ "value": 1965
+ }, {
+ "label": "韶关市",
+ "value": 1977
+ }, {
+ "label": "深圳市",
+ "value": 1988
+ }, {
+ "label": "珠海市",
+ "value": 1999
+ }, {
+ "label": "汕头市",
+ "value": 2003
+ }, {
+ "label": "佛山市",
+ "value": 2011
+ }, {
+ "label": "江门市",
+ "value": 2017
+ }, {
+ "label": "湛江市",
+ "value": 2025
+ }, {
+ "label": "茂名市",
+ "value": 2035
+ }, {
+ "label": "肇庆市",
+ "value": 2041
+ }, {
+ "label": "惠州市",
+ "value": 2050
+ }, {
+ "label": "梅州市",
+ "value": 2056
+ }, {
+ "label": "汕尾市",
+ "value": 2065
+ }, {
+ "label": "河源市",
+ "value": 2070
+ }, {
+ "label": "阳江市",
+ "value": 2077
+ }, {
+ "label": "清远市",
+ "value": 2082
+ }, {
+ "label": "东莞市",
+ "value": 2091
+ }, {
+ "label": "中山市",
+ "value": 2123
+ }, {
+ "label": "潮州市",
+ "value": 2146
+ }, {
+ "label": "揭阳市",
+ "value": 2150
+ }, {
+ "label": "云浮市",
+ "value": 2156
+ }],
+ [{
+ "label": "南宁市",
+ "value": 2163
+ }, {
+ "label": "柳州市",
+ "value": 2177
+ }, {
+ "label": "桂林市",
+ "value": 2189
+ }, {
+ "label": "梧州市",
+ "value": 2207
+ }, {
+ "label": "北海市",
+ "value": 2215
+ }, {
+ "label": "防城港市",
+ "value": 2220
+ }, {
+ "label": "钦州市",
+ "value": 2225
+ }, {
+ "label": "贵港市",
+ "value": 2230
+ }, {
+ "label": "玉林市",
+ "value": 2236
+ }, {
+ "label": "百色市",
+ "value": 2245
+ }, {
+ "label": "贺州市",
+ "value": 2258
+ }, {
+ "label": "河池市",
+ "value": 2264
+ }, {
+ "label": "来宾市",
+ "value": 2276
+ }, {
+ "label": "崇左市",
+ "value": 2283
+ }],
+ [{
+ "label": "海口市",
+ "value": 2292
+ }, {
+ "label": "三亚市",
+ "value": 2297
+ }, {
+ "label": "三沙市",
+ "value": 2302
+ }, {
+ "label": "直辖县级",
+ "value": 2306
+ }],
+ [{
+ "label": "重庆市",
+ "value": 2324
+ }, {
+ "label": "两江新区",
+ "value": 2363
+ }],
+ [{
+ "label": "成都市",
+ "value": 2368
+ }, {
+ "label": "自贡市",
+ "value": 2388
+ }, {
+ "label": "攀枝花市",
+ "value": 2395
+ }, {
+ "label": "泸州市",
+ "value": 2401
+ }, {
+ "label": "德阳市",
+ "value": 2409
+ }, {
+ "label": "绵阳市",
+ "value": 2416
+ }, {
+ "label": "广元市",
+ "value": 2426
+ }, {
+ "label": "遂宁市",
+ "value": 2434
+ }, {
+ "label": "内江市",
+ "value": 2440
+ }, {
+ "label": "乐山市",
+ "value": 2446
+ }, {
+ "label": "南充市",
+ "value": 2458
+ }, {
+ "label": "眉山市",
+ "value": 2468
+ }, {
+ "label": "宜宾市",
+ "value": 2475
+ }, {
+ "label": "广安市",
+ "value": 2486
+ }, {
+ "label": "达州市",
+ "value": 2493
+ }, {
+ "label": "雅安市",
+ "value": 2501
+ }, {
+ "label": "巴中市",
+ "value": 2510
+ }, {
+ "label": "资阳市",
+ "value": 2516
+ }, {
+ "label": "阿坝藏族羌族自治州",
+ "value": 2521
+ }, {
+ "label": "甘孜藏族自治州",
+ "value": 2535
+ }, {
+ "label": "凉山彝族自治州",
+ "value": 2554
+ }],
+ [{
+ "label": "贵阳市",
+ "value": 2573
+ }, {
+ "label": "六盘水市",
+ "value": 2584
+ }, {
+ "label": "遵义市",
+ "value": 2589
+ }, {
+ "label": "安顺市",
+ "value": 2604
+ }, {
+ "label": "毕节市",
+ "value": 2611
+ }, {
+ "label": "铜仁市",
+ "value": 2620
+ }, {
+ "label": "黔西南布依族苗族自治州",
+ "value": 2631
+ }, {
+ "label": "黔东南苗族侗族自治州",
+ "value": 2640
+ }, {
+ "label": "黔南布依族苗族自治州",
+ "value": 2657
+ }],
+ [{
+ "label": "昆明市",
+ "value": 2671
+ }, {
+ "label": "曲靖市",
+ "value": 2686
+ }, {
+ "label": "玉溪市",
+ "value": 2696
+ }, {
+ "label": "保山市",
+ "value": 2706
+ }, {
+ "label": "昭通市",
+ "value": 2712
+ }, {
+ "label": "丽江市",
+ "value": 2724
+ }, {
+ "label": "普洱市",
+ "value": 2730
+ }, {
+ "label": "临沧市",
+ "value": 2741
+ }, {
+ "label": "楚雄彝族自治州",
+ "value": 2750
+ }, {
+ "label": "红河哈尼族彝族自治州",
+ "value": 2761
+ }, {
+ "label": "文山壮族苗族自治州",
+ "value": 2775
+ }, {
+ "label": "西双版纳傣族自治州",
+ "value": 2784
+ }, {
+ "label": "大理白族自治州",
+ "value": 2788
+ }, {
+ "label": "德宏傣族景颇族自治州",
+ "value": 2801
+ }, {
+ "label": "怒江傈僳族自治州",
+ "value": 2807
+ }, {
+ "label": "迪庆藏族自治州",
+ "value": 2812
+ }],
+ [{
+ "label": "拉萨市",
+ "value": 2817
+ }, {
+ "label": "日喀则市",
+ "value": 2826
+ }, {
+ "label": "昌都市",
+ "value": 2845
+ }, {
+ "label": "山南地区",
+ "value": 2857
+ }, {
+ "label": "那曲地区",
+ "value": 2870
+ }, {
+ "label": "阿里地区",
+ "value": 2882
+ }, {
+ "label": "林芝地区",
+ "value": 2890
+ }],
+ [{
+ "label": "西安市",
+ "value": 2899
+ }, {
+ "label": "铜川市",
+ "value": 2913
+ }, {
+ "label": "宝鸡市",
+ "value": 2918
+ }, {
+ "label": "咸阳市",
+ "value": 2931
+ }, {
+ "label": "渭南市",
+ "value": 2946
+ }, {
+ "label": "延安市",
+ "value": 2958
+ }, {
+ "label": "汉中市",
+ "value": 2972
+ }, {
+ "label": "榆林市",
+ "value": 2984
+ }, {
+ "label": "安康市",
+ "value": 2997
+ }, {
+ "label": "商洛市",
+ "value": 3008
+ }, {
+ "label": "西咸新区",
+ "value": 3016
+ }],
+ [{
+ "label": "兰州市",
+ "value": 3023
+ }, {
+ "label": "嘉峪关市",
+ "value": 3032
+ }, {
+ "label": "金昌市",
+ "value": 3036
+ }, {
+ "label": "白银市",
+ "value": 3039
+ }, {
+ "label": "天水市",
+ "value": 3045
+ }, {
+ "label": "武威市",
+ "value": 3053
+ }, {
+ "label": "张掖市",
+ "value": 3058
+ }, {
+ "label": "平凉市",
+ "value": 3065
+ }, {
+ "label": "酒泉市",
+ "value": 3073
+ }, {
+ "label": "庆阳市",
+ "value": 3081
+ }, {
+ "label": "定西市",
+ "value": 3090
+ }, {
+ "label": "陇南市",
+ "value": 3098
+ }, {
+ "label": "临夏回族自治州",
+ "value": 3108
+ }, {
+ "label": "甘南藏族自治州",
+ "value": 3117
+ }],
+ [{
+ "label": "西宁市",
+ "value": 3127
+ }, {
+ "label": "海东市",
+ "value": 3135
+ }, {
+ "label": "海北藏族自治州",
+ "value": 3142
+ }, {
+ "label": "黄南藏族自治州",
+ "value": 3147
+ }, {
+ "label": "海南藏族自治州",
+ "value": 3152
+ }, {
+ "label": "果洛藏族自治州",
+ "value": 3158
+ }, {
+ "label": "玉树藏族自治州",
+ "value": 3165
+ }, {
+ "label": "海西蒙古族藏族自治州",
+ "value": 3172
+ }],
+ [{
+ "label": "银川市",
+ "value": 3179
+ }, {
+ "label": "石嘴山市",
+ "value": 3186
+ }, {
+ "label": "吴忠市",
+ "value": 3190
+ }, {
+ "label": "固原市",
+ "value": 3196
+ }, {
+ "label": "中卫市",
+ "value": 3202
+ }],
+ [{
+ "label": "乌鲁木齐市",
+ "value": 3207
+ }, {
+ "label": "克拉玛依市",
+ "value": 3216
+ }, {
+ "label": "吐鲁番地区",
+ "value": 3221
+ }, {
+ "label": "哈密地区",
+ "value": 3225
+ }, {
+ "label": "昌吉回族自治州",
+ "value": 3229
+ }, {
+ "label": "博尔塔拉蒙古自治州",
+ "value": 3237
+ }, {
+ "label": "巴音郭楞蒙古自治州",
+ "value": 3242
+ }, {
+ "label": "阿克苏地区",
+ "value": 3252
+ }, {
+ "label": "克孜勒苏柯尔克孜自治州",
+ "value": 3262
+ }, {
+ "label": "喀什地区",
+ "value": 3267
+ }, {
+ "label": "和田地区",
+ "value": 3280
+ }, {
+ "label": "伊犁哈萨克自治州",
+ "value": 3289
+ }, {
+ "label": "塔城地区",
+ "value": 3301
+ }, {
+ "label": "阿勒泰地区",
+ "value": 3309
+ }, {
+ "label": "直辖县级",
+ "value": 3317
+ }],
+ [{
+ "label": "台北市",
+ "value": 3326
+ }, {
+ "label": "高雄市",
+ "value": 3339
+ }, {
+ "label": "基隆市",
+ "value": 3378
+ }, {
+ "label": "台中市",
+ "value": 3386
+ }, {
+ "label": "台南市",
+ "value": 3416
+ }, {
+ "label": "新竹市",
+ "value": 3454
+ }, {
+ "label": "嘉义市",
+ "value": 3458
+ }, {
+ "label": "新北市",
+ "value": 3461
+ }, {
+ "label": "宜兰县",
+ "value": 3491
+ }, {
+ "label": "桃园县",
+ "value": 3504
+ }, {
+ "label": "新竹县",
+ "value": 3518
+ }, {
+ "label": "苗栗县",
+ "value": 3532
+ }, {
+ "label": "彰化县",
+ "value": 3551
+ }, {
+ "label": "南投县",
+ "value": 3578
+ }, {
+ "label": "云林县",
+ "value": 3592
+ }, {
+ "label": "嘉义县",
+ "value": 3613
+ }, {
+ "label": "屏东县",
+ "value": 3632
+ }, {
+ "label": "台东县",
+ "value": 3666
+ }, {
+ "label": "花莲县",
+ "value": 3683
+ }, {
+ "label": "澎湖县",
+ "value": 3697
+ }, {
+ "label": "金门县",
+ "value": 3704
+ }, {
+ "label": "连江县",
+ "value": 3711
+ }],
+ [{
+ "label": "香港岛",
+ "value": 3717
+ }, {
+ "label": "九龙",
+ "value": 3722
+ }, {
+ "label": "新界",
+ "value": 3728
+ }],
+ [{
+ "label": "澳门半岛",
+ "value": 3739
+ }, {
+ "label": "氹仔岛",
+ "value": 3745
+ }, {
+ "label": "路环岛",
+ "value": 3747
+ }]
+]
+export default cityData;
diff --git a/components/mpvue-citypicker/city-data/province.js b/components/mpvue-citypicker/city-data/province.js
new file mode 100644
index 0000000..20004ff
--- /dev/null
+++ b/components/mpvue-citypicker/city-data/province.js
@@ -0,0 +1,105 @@
+/* eslint-disable */
+var provinceData = [{
+ "label": "北京市",
+ "value": 1
+}, {
+ "label": "天津市",
+ "value": 19
+}, {
+ "label": "河北省",
+ "value": 37
+}, {
+ "label": "山西省",
+ "value": 220
+}, {
+ "label": "内蒙古自治区",
+ "value": 351
+}, {
+ "label": "辽宁省",
+ "value": 466
+}, {
+ "label": "吉林省",
+ "value": 585
+}, {
+ "label": "黑龙江省",
+ "value": 655
+}, {
+ "label": "上海市",
+ "value": 801
+}, {
+ "label": "江苏省",
+ "value": 820
+}, {
+ "label": "浙江省",
+ "value": 933
+}, {
+ "label": "安徽省",
+ "value": 1046
+}, {
+ "label": "福建省",
+ "value": 1168
+}, {
+ "label": "江西省",
+ "value": 1263
+}, {
+ "label": "山东省",
+ "value": 1375
+}, {
+ "label": "河南省",
+ "value": 1532
+}, {
+ "label": "湖北省",
+ "value": 1709
+}, {
+ "label": "湖南省",
+ "value": 1827
+}, {
+ "label": "广东省",
+ "value": 1964
+}, {
+ "label": "广西壮族自治区",
+ "value": 2162
+}, {
+ "label": "海南省",
+ "value": 2291
+}, {
+ "label": "重庆市",
+ "value": 2323
+}, {
+ "label": "四川省",
+ "value": 2367
+}, {
+ "label": "贵州省",
+ "value": 2572
+}, {
+ "label": "云南省",
+ "value": 2670
+}, {
+ "label": "西藏自治区",
+ "value": 2816
+}, {
+ "label": "陕西省",
+ "value": 2898
+}, {
+ "label": "甘肃省",
+ "value": 3022
+}, {
+ "label": "青海省",
+ "value": 3126
+}, {
+ "label": "宁夏回族自治区",
+ "value": 3178
+}, {
+ "label": "新疆维吾尔自治区",
+ "value": 3206
+}, {
+ "label": "台湾省",
+ "value": 3325
+}, {
+ "label": "香港特别行政区",
+ "value": 3716
+}, {
+ "label": "澳门特别行政区",
+ "value": 3738
+}]
+export default provinceData;
diff --git a/components/mpvue-citypicker/mpvueCityPicker.vue b/components/mpvue-citypicker/mpvueCityPicker.vue
new file mode 100644
index 0000000..f9eccf4
--- /dev/null
+++ b/components/mpvue-citypicker/mpvueCityPicker.vue
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+
+
+
+
+
+
+
+
diff --git a/components/mpvue-picker/mpvuePicker.vue b/components/mpvue-picker/mpvuePicker.vue
new file mode 100644
index 0000000..dbd2009
--- /dev/null
+++ b/components/mpvue-picker/mpvuePicker.vue
@@ -0,0 +1,463 @@
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+ {{item.label}}
+
+
+
+
+
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+
+
+
+
+
+ {{item.label}}
+
+
+
+
+
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+
+
+
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+
+
+
+
+
+
+
+
diff --git a/components/priv-pop/priv-pop.vue b/components/priv-pop/priv-pop.vue
new file mode 100644
index 0000000..bca11f7
--- /dev/null
+++ b/components/priv-pop/priv-pop.vue
@@ -0,0 +1,126 @@
+
+
+
+
+
+ 隐私保护指引
+
+ 感谢选择我们的产品,我们非常重视您的个人信息安全和隐私保护.根据最新法律要求,使用我们的产品前,请仔细阅读
+
+ 《枫岚云赏隐私保护指引》
+
+ ,以便我们向您提供更优质的服务!
+
+
+ 我们将尽全力保护您的个人信息及合法权益,感谢您的信任!
+
+
+
+
+ 拒绝
+
+ 同意
+
+
+
+
+
+
+
+
diff --git a/components/rule-pop/rule-pop.vue b/components/rule-pop/rule-pop.vue
new file mode 100644
index 0000000..e8794de
--- /dev/null
+++ b/components/rule-pop/rule-pop.vue
@@ -0,0 +1,158 @@
+
+
+
+
+ {{ ruleData.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 今日不再提醒
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/tab-bar/tab-bar.vue b/components/tab-bar/tab-bar.vue
new file mode 100644
index 0000000..5ec1452
--- /dev/null
+++ b/components/tab-bar/tab-bar.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
diff --git a/components/xw-CountDown/index.vue b/components/xw-CountDown/index.vue
new file mode 100644
index 0000000..c5ed6a1
--- /dev/null
+++ b/components/xw-CountDown/index.vue
@@ -0,0 +1,132 @@
+
+
+ {{ tipText }}
+ {{ day }}
+ {{ dayText }}
+ {{ hour }}
+ {{ hourText }}
+
+ {{ minute }}
+ {{ minuteText }}
+ {{ second }}
+ {{ secondText }}
+
+
+
+
+
+
diff --git a/components/xw-CountDown2/index - 副本.vue b/components/xw-CountDown2/index - 副本.vue
new file mode 100644
index 0000000..0f5c9ed
--- /dev/null
+++ b/components/xw-CountDown2/index - 副本.vue
@@ -0,0 +1,96 @@
+
+
+ {{ intDiff }}
+
+
+
+
+
+
diff --git a/components/xw-CountDown2/index.vue b/components/xw-CountDown2/index.vue
new file mode 100644
index 0000000..1a01d2e
--- /dev/null
+++ b/components/xw-CountDown2/index.vue
@@ -0,0 +1,107 @@
+
+
+
+ {{ second }}
+
+
+
+
+
+
+
diff --git a/custom-tab-bar/index.js b/custom-tab-bar/index.js
new file mode 100644
index 0000000..85bcfa2
--- /dev/null
+++ b/custom-tab-bar/index.js
@@ -0,0 +1,44 @@
+Component({
+ data: {
+ selected: 0,
+ color: "#999999",
+ selectedColor: "#FFFFFF",
+ list: [
+ {
+ "pagePath": "/pages/shouye/index",
+ "iconPath": "/static/tabbar/m1.png",
+ "selectedIconPath": "/static/tabbar/s1.png",
+ "text": ""
+ },
+ {
+ "pagePath": "/pages/infinite/index",
+ "iconPath": "/static/tabbar/m2.png",
+ "selectedIconPath": "/static/tabbar/s2.png",
+ "text": ""
+ },
+ {
+ "pagePath": "/pages/sangdai/sangdai",
+ "iconPath": "/static/tabbar/m3.png",
+ "selectedIconPath": "/static/tabbar/s3.png",
+ "text": ""
+ },
+ {
+ "pagePath": "/pages/user/index",
+ "iconPath": "/static/tabbar/m4.png",
+ "selectedIconPath": "/static/tabbar/s4.png",
+ "text": ""
+ }
+ ]
+ },
+ attached() {},
+ methods: {
+ switchTab(e) {
+ const data = e.currentTarget.dataset
+ const url = data.path
+ wx.switchTab({ url })
+ this.setData({
+ selected: data.index
+ })
+ }
+ }
+})
\ No newline at end of file
diff --git a/custom-tab-bar/index.json b/custom-tab-bar/index.json
new file mode 100644
index 0000000..32640e0
--- /dev/null
+++ b/custom-tab-bar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
\ No newline at end of file
diff --git a/custom-tab-bar/index.wxml b/custom-tab-bar/index.wxml
new file mode 100644
index 0000000..1b65755
--- /dev/null
+++ b/custom-tab-bar/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ {{item.text}}
+
+
diff --git a/custom-tab-bar/index.wxss b/custom-tab-bar/index.wxss
new file mode 100644
index 0000000..9338ffc
--- /dev/null
+++ b/custom-tab-bar/index.wxss
@@ -0,0 +1,41 @@
+.tab-bar {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ box-sizing: content-box;
+ height: 44px;
+ background: #000;
+ display: flex;
+ padding-top: 10px;
+ padding-bottom: env(safe-area-inset-bottom);
+}
+
+.tab-bar-border {
+ background-color: #404241;
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 1px;
+ transform: scaleY(0.5);
+}
+
+.tab-bar-item {
+ flex: 1;
+ text-align: center;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ position: relative;
+}
+
+.tab-bar-item image {
+ width: 160rpx;
+ height: 96rpx;
+}
+
+.tab-bar-item view {
+ font-size: 10px;
+}
\ No newline at end of file
diff --git a/main.js b/main.js
new file mode 100644
index 0000000..cccbc3c
--- /dev/null
+++ b/main.js
@@ -0,0 +1,184 @@
+import Vue from 'vue'
+import App from './App'
+import Mixin from '@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js'
+// import uView from "uview-ui"
+
+import { gotopage } from '@/common/gotopage.js'
+// 配置公共方法
+Vue.prototype.gotoPage = gotopage
+
+// Vue.use(uView);
+// 配置公共方法
+import common from '@/common/common.js'
+Vue.prototype.$noMultipleClicks = common.noMultipleClicks
+Vue.prototype.$c = common
+
+Vue.prototype.req = function (param, backpage, backtype) {
+ uni.getNetworkType({
+ success: function (res) {
+ if (res.networkType == 'none') {
+ uni.showToast({
+ title: '网络连接异常,请检查网络',
+ icon: 'none'
+ })
+ return
+ }
+ }
+ })
+ var _self = this,
+ url = param.url,
+ method = 'POST',
+ header = {},
+ data = param.data || {},
+ Loading = param.Loading || false
+
+ var token = uni.getStorageSync('token')
+ // 我
+ // var token = 'bf3dd927642ea5a7a9ad90f1e1d1faab4d61cd33';
+ // 客户
+ // var token = '801abe6ec37a36b3ff37ded44be13c7bf06b629e';
+
+ //拼接完整请求地址
+ var requestUrl = this.siteBaseUrl + url
+ if (method) {
+ method = method.toUpperCase() //小写改为大写
+ // console.log(token,11)
+ if (method == 'POST') {
+ header = {
+ 'content-type': 'application/x-www-form-urlencoded',
+ token: token,
+ adid: uni.getStorageSync('_ad_id'),
+ clickid: uni.getStorageSync('_click_id')
+ }
+
+ // if (uni.getStorageSync('_ad_id')) {
+ // header.adid = uni.getStorageSync('_ad_id')
+ // }
+ // if (uni.getStorageSync('_click_id')) {
+ // header.clickid = uni.getStorageSync('_click_id')
+ // }
+ } else {
+ header = {
+ 'content-type': 'application/json'
+ }
+ }
+ } else {
+ method = 'GET'
+ header = {
+ 'content-type': 'application/json'
+ }
+ }
+ //用户交互:加载圈
+ // console.log(!Loading)
+ if (!Loading) {
+ uni.showLoading({
+ title: '加载中...'
+ })
+ }
+ //网络请求
+
+ uni.request({
+ url: requestUrl,
+ method: method,
+ header: header,
+ data: data,
+ success: res => {
+ // if (requestUrl.indexOf('coupon_ling') != -1) {
+ // uni.showModal({
+ // title: '提示',
+ // content: JSON.stringify(res),
+ // showCancel: true,
+ // success: ({ confirm, cancel }) => {}
+ // })
+ // }
+
+ // console.log(res.data)
+ if (res.data.status == 1) {
+ //返回结果码code判断:1成功,-1错误
+ // uni.showToast({
+ // title: res.data.msg,
+ // icon: 'none',
+ // })
+ } else if (res.data.status == 2222) {
+ } else if (res.data.status == -9) {
+ let pages = getCurrentPages()
+ console.log(pages[pages.length - 1].route)
+ // uni.setStorageSync('page', pages[pages.length - 1].route)
+ setTimeout(() => {
+ uni.showToast({
+ title: res.data.msg,
+ icon: 'none',
+ success() {
+ setTimeout(() => {
+ uni.navigateTo({
+ url: '/pages/user/bangding'
+ })
+ }, 1500)
+ }
+ })
+ }, 100)
+ } else if (res.data.status == 0) {
+ setTimeout(function () {
+ uni.showToast({
+ title: res.data.msg,
+ icon: 'none'
+ })
+ }, 100)
+ } else if (res.data.status < 0) {
+ var pages = getCurrentPages()
+ for (var a = 0; a < pages.length; a++) {
+ console.log(pages[a].route)
+ if (pages[a].route == 'pages/user/index') {
+ uni.setStorageSync('lgurl', pages[a].route)
+ uni.setStorageSync('lgurldata', JSON.stringify(pages[a].options))
+ }
+ }
+ setTimeout(() => {
+ uni.showToast({
+ title: '请先登录',
+ icon: 'none'
+ })
+ }, 100)
+ uni.redirectTo({
+ url: '/pages/user/login'
+ })
+ } else {
+ return
+ }
+ typeof param.success == 'function' && param.success(res.data)
+ },
+ fail: e => {
+ console.log('网络请求fail:' + JSON.stringify(e))
+ typeof param.fail == 'function' && param.fail(e.data)
+ },
+ complete: () => {
+ uni.hideLoading()
+ typeof param.complete == 'function' && param.complete()
+ return
+ }
+ })
+}
+
+// 测试
+// const baseUrl = ''
+const baseUrl = 'http://101.43.1.207'
+
+// 正式
+// const baseUrl = 'https://xinglanmh.shequtuangou.vip'
+Vue.prototype.siteBaseUrl = baseUrl + '/api/'
+
+Vue.prototype.$z_img2 = baseUrl + '/zcq/'
+Vue.prototype.$img = url => baseUrl + '/static/web' + url
+// Vue.prototype.$img1 = url => baseUrl + '/static/web' + url
+Vue.prototype.$img1 = url => baseUrl+'/static/web/static/'+ url
+
+Vue.prototype.$sys = () => uni.getSystemInfoSync()
+
+Vue.config.productionTip = false
+Vue.mixin(Mixin)
+App.mpType = 'app'
+
+const app = new Vue({
+ ...App
+})
+app.$mount()
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 0000000..dd14e09
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,191 @@
+{
+ "name" : "枫岚云赏",
+ "appid" : "__UNI__B7E0990",
+ "description" : "",
+ "versionName" : "1.0.1",
+ "versionCode" : 101,
+ "transformPx" : false,
+ /* 5+App特有相关 */
+ "app-plus" : {
+ "usingComponents" : true,
+ "nvueStyleCompiler" : "uni-app",
+ "compilerVersion" : 3,
+ "splashscreen" : {
+ "alwaysShowBeforeRender" : true,
+ "waiting" : true,
+ "autoclose" : true,
+ "delay" : 0
+ },
+ /* 模块配置 */
+ "modules" : {
+ "Payment" : {},
+ "Share" : {},
+ "OAuth" : {},
+ "Push" : {},
+ "Fingerprint" : {}
+ },
+ /* 应用发布信息 */
+ "distribute" : {
+ /* android打包配置 */
+ "android" : {
+ "permissions" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ /* ios打包配置 */
+ "ios" : {},
+ /* SDK配置 */
+ "sdkConfigs" : {
+ "ad" : {},
+ "oauth" : {
+ "weixin" : {
+ "appid" : "wx2c73767b33de26fb",
+ "appsecret" : "57b0a56910bc0a1625ddf3210585de1a",
+ "UniversalLinks" : "https://help.wechat.com/tq/"
+ },
+ "apple" : {}
+ },
+ "payment" : {
+ "weixin" : {
+ "__platform__" : [ "ios", "android" ],
+ "appid" : "wx2c73767b33de26fb",
+ "UniversalLinks" : "https://help.wechat.com/tq/"
+ }
+ },
+ "share" : {
+ "weixin" : {
+ "appid" : "wx2c73767b33de26fb",
+ "UniversalLinks" : "https://help.wechat.com/tq/"
+ }
+ },
+ "push" : {
+ "unipush" : {}
+ }
+ },
+ "icons" : {
+ "android" : {
+ "hdpi" : "",
+ "xhdpi" : "",
+ "xxhdpi" : "",
+ "xxxhdpi" : ""
+ },
+ "ios" : {
+ "appstore" : "",
+ "ipad" : {
+ "app" : "",
+ "app@2x" : "",
+ "notification" : "",
+ "notification@2x" : "",
+ "proapp@2x" : "",
+ "settings" : "",
+ "settings@2x" : "",
+ "spotlight" : "",
+ "spotlight@2x" : ""
+ },
+ "iphone" : {
+ "app@2x" : "",
+ "app@3x" : "",
+ "notification@2x" : "",
+ "notification@3x" : "",
+ "settings@2x" : "",
+ "settings@3x" : "",
+ "spotlight@2x" : "",
+ "spotlight@3x" : ""
+ }
+ }
+ },
+ "splashscreen" : {
+ "androidStyle" : "common",
+ "android" : {
+ "hdpi" : "C:/Users/Administrator/Desktop/imgs/dealer_bg.png",
+ "xhdpi" : "C:/Users/Administrator/Desktop/imgs/dealer_bg.png",
+ "xxhdpi" : "C:/Users/Administrator/Desktop/imgs/dealer_bg.png"
+ }
+ }
+ },
+ "uniStatistics" : {
+ "enable" : true
+ }
+ },
+ /* 快应用特有相关 */
+ "quickapp" : {},
+ /* 小程序特有相关 */
+ "mp-weixin" : {
+ "appid" : "wx82c787f79c22f012",
+ "setting" : {
+ "urlCheck" : false,
+ "es6" : false,
+ "postcss" : true,
+ "minified" : true
+ },
+ "usingComponents" : true,
+ "uniStatistics" : {
+ "enable" : false
+ },
+ "requiredPrivateInfos" : [
+ "getLocation",
+ "onLocationChange",
+ "startLocationUpdateBackground",
+ "chooseAddress"
+ ]
+ },
+ "mp-alipay" : {
+ "usingComponents" : true,
+ "uniStatistics" : {
+ "enable" : false
+ }
+ },
+ "mp-baidu" : {
+ "usingComponents" : true,
+ "uniStatistics" : {
+ "enable" : false
+ }
+ },
+ "mp-toutiao" : {
+ "usingComponents" : true,
+ "uniStatistics" : {
+ "enable" : false
+ }
+ },
+ "uniStatistics" : {
+ "enable" : false
+ },
+ "h5" : {
+ "router" : {
+ "mode" : "history"
+ },
+ "uniStatistics" : {
+ "enable" : false
+ },
+ "devServer" : {
+ "https" : false
+ }
+ },
+ "vueVersion" : "2",
+ "mp-kuaishou" : {
+ "uniStatistics" : {
+ "enable" : false
+ }
+ },
+ "mp-qq" : {
+ "uniStatistics" : {
+ "enable" : false
+ }
+ }
+}
diff --git a/package/index/coupon-center.vue b/package/index/coupon-center.vue
new file mode 100644
index 0000000..f30d92c
--- /dev/null
+++ b/package/index/coupon-center.vue
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+
+ ¥
+ {{ item.price }}
+
+
+
+ {{ item.title }}
+
+ 领取后有效期{{ item.effective_day }}天
+
+
+
+ 立即领取
+
+
+ 已领取
+
+
+
+
+
+
+
+
diff --git a/package/index/leitai.vue b/package/index/leitai.vue
new file mode 100644
index 0000000..8c3edfd
--- /dev/null
+++ b/package/index/leitai.vue
@@ -0,0 +1,1816 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+ {{ item.shang_info.title }}
+ {{ item.surplus_stock }}/{{ item.stock }}
+ 预售
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+ 售价:¥{{ item.sc_money }}
+
+ {{ item.pro }}
+
+
+
+
+
+
+
+ {{i.shang_info.title}}
+
+ {{i.surplus_stock}}/{{i.stock}}
+ {{i.title}}
+
+ {{i.pro}}
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.user_info.nickname }}
+
+ {{ item.addtime }}
+
+
+
+
+
+
+
+ {{item.shang_title}}
+
+
+ {{ item.goodslist_title }}
+
+ ×1
+
+
+
+
+
+
+
+
+
+
+ 抽1发
+
+
+
+
+
+
+
+
+ {{previewData.shang_info.title}}
+
+
+
+
+ {{ previewData.title }}
+
+
+
+
+
+ {{ previewData.shang_info.title }} {{ previewData.pro }}
+
+
+ 产品类型:{{ optData.type_text }}
+
+
+
+
+
+
+
+
+
+
+
+ 确认订单
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ orderData.goods.title }}
+
+
+ 类型:明信片
+
+
+
+
+ ¥
+ {{ orderData.goods.shou_zhe_price }}
+ 积分
+ (首抽5折)
+
+
+ ×{{ 1 }}
+
+
+
+
+ ¥
+ {{ orderData.goods.price }}
+ 积分
+
+
+
+ ×{{ orderData.goods.prize_num * 1 - 1 }}
+
+
+
+
+
+
+ ¥
+ {{ orderData.goods.price }}
+ 积分
+
+
+ ×{{ orderData.goods.prize_num }}
+
+
+
+
+
+
+
+
+ 优惠券
+
+
+ {{
+ couponData && orderData.coupon_price > 0
+ ? `-${couponData.price}`
+ : '未选择'
+ }}
+
+
+
+
+
+
+
+
+ {{
+ orderData.zhe
+ ? `会员折扣 (${orderData.zhe}折)`
+ : '暂无会员抵扣'
+ }}
+
+
+ 详情
+
+
+
+
+
+
+
+
+ 请选择抵扣方式
+
+
+
+ 使用积分抵扣
+ {{ orderData.use_score }} (剩余:{{ orderData.score }})
+
+
+
+
+
+
+
+
+
+
+
+
+ 使用岚币抵扣¥ {{ orderData.use_integral_money }} (剩余:{{ orderData.integral }}个)
+
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥
+ {{ orderData.use_money }} (剩余:{{ orderData.money }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 我已满18岁,阅读并同意
+
+
+ 《用户协议》
+
+
+
+ 《隐私政策》
+
+
+
+
+ 确认支付
+ {{
+ pageData.goods.type == 5
+ ? ` ${orderData.use_score}积分`
+ : ` ¥${orderData.price}`
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+ ×{{ item.prize_num }}
+
+
+ {{ item.goodslist_title }}
+
+
+ {{
+ item.goodslist_money * 1 > 0
+ ? `可兑换:${item.goodslist_money}`
+ : `不可兑换`
+ }}
+
+
+
+
+
+
+
+ 去盒柜
+
+
+
+ 继续抽
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package/index/lian-ji.vue b/package/index/lian-ji.vue
new file mode 100644
index 0000000..9be2e5b
--- /dev/null
+++ b/package/index/lian-ji.vue
@@ -0,0 +1,1996 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ pageData.goods.join_count }}次参与
+
+
+
+
+
+
+
+ 连击×{{ pageData.goods.user_lian_ji_number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{pageData.goods_list.data[swCur].title}}
+ ¥{{pageData.goods_list.data[swCur].price}}/抽
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+ 规则
+
+
+
+ 收藏
+
+
+
+
+
+
+
+
+
+ {{ item.pro }}
+
+
+
+
+
+
+
+
+ 预售
+
+
+ {{ a.title }}
+
+ 售价:{{ a.price }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.user_info.nickname }}
+
+
+ {{ item.addtime }}
+
+
+
+
+
+
+
+ {{item.shang_title}}
+
+
+ {{ item.goodslist_title }}
+
+ ×1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 购买
+
+
+
+
+
+
+
+
+
+ 使用密保{{buyNum}}次
+
+
+
+
+
+
+
+
+
+
+ {{buyNum}}
+
+
+
+
+ 连击{{ pageTabCur==0?buyNum:0}}次
+
+ 连击
+ MAX
+
+ {{ pageData.goods?pageData.goods.user_mb_number:0 }}次夺取秘宝
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+ ×1
+
+
+ {{ item.goodslist_title }}
+
+
+ {{
+ item.goodslist_money * 1 > 0
+ ? `可兑换:${item.goodslist_money}`
+ : `不可兑换`
+ }}
+
+
+
+
+
+
+
+ 去盒柜
+
+
+
+ 继续抽
+
+
+
+
+
+
+
+
+ {{ previewData.shang_title }}
+
+
+
+
+ {{ previewData.title }}
+
+
+
+
+
+ {{ previewData.shang_title }} {{ previewData.pro }}
+
+
+ 产品类型:{{ optData.type_text }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认订单
+
+
+
+
+
+
+
+
+
+
+
+ {{ orderData.goods.title }}
+
+ 类型:明信片
+
+
+
+ ¥
+ {{ orderData.goods.shou_zhe_price }}
+
+ ×{{ 1 }}
+
+
+
+ ¥
+ {{ orderData.goods.price }}
+
+
+ ×{{ orderData.goods.prize_num * 1 - 1 }}
+
+
+
+
+
+ ¥{{ orderData.goods.price }}
+
+ ×{{ orderData.goods.prize_num }}
+
+
+
+
+
+ 选择优惠方式
+
+
+ 优惠券
+
+
+ {{
+ couponData && orderData.coupon_price > 0
+ ? `-${couponData.price}`
+ : '未选择'
+ }}
+
+
+
+
+
+
+
+ {{ orderData.zhe ? `会员折扣 (${orderData.zhe}折)` : '暂无会员抵扣'}}
+
+
+ 详情
+
+
+
+
+
+
+ 选择支付方式
+
+
+
+ 使用岚币抵扣¥
+ {{ orderData.use_integral_money }} (剩余:{{ orderData.integral }}个)
+
+
+
+
+
+
+
+
+
+ 星钻支付¥
+ {{ orderData.use_money }} (剩余:{{ orderData.money }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 我已满18岁,阅读并同意
+
+
+ 《用户协议》
+
+
+
+ 《隐私政策》
+
+
+
+
+
+
+ 立即支付
+
+ {{
+ pageData.goods.type == 5
+ ? ` ${orderData.price}积分`
+ : ` ¥${orderData.price}`
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package/index/sign.vue b/package/index/sign.vue
new file mode 100644
index 0000000..362baf3
--- /dev/null
+++ b/package/index/sign.vue
@@ -0,0 +1,308 @@
+
+
+
+
+
+
+ 签到任务
+
+
+
+
+
+
+
+
+
+ {{ i + 1 }}天
+
+
+
+
+
+
+
+ {{ item }}岚币
+
+
+
+
+ 第七天
+
+ {{ item }}岚币
+
+
+
+
+
+
+
+
+
+
+ 立即签到
+ 已签到
+
+
+
+
+
+ 恭喜获得 {{ sucData.num }} 岚币
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package/mine/collect.vue b/package/mine/collect.vue
new file mode 100644
index 0000000..1486a18
--- /dev/null
+++ b/package/mine/collect.vue
@@ -0,0 +1,342 @@
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ tabList[tabCur].title }}
+
+
+
+ {{ item.goods_title }}
+
+
+
+
+ ¥
+ {{ item.goods_price }}
+
+
+ {{ item.surplus_stock }}/{{ item.stock }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package/mine/coupon-detail.vue b/package/mine/coupon-detail.vue
new file mode 100644
index 0000000..a6639e8
--- /dev/null
+++ b/package/mine/coupon-detail.vue
@@ -0,0 +1,540 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ pageData.level_text }}
+
+ 需要{{ pageData.kl_num2 }}个参与者
+
+
+
+
+
+ {{ pageData.yl_count == pageData.kl_num2 ? '已结束' : '分享中' }}
+
+
+ {{ pageData.yl_count }}/{{ pageData.kl_num2 }}
+
+
+
+
+
+
+
+ 已结束
+
+
+
+ 您参与的{{ pageData.level_text }}共获得
+
+
+
+
+
+
+ {{ pageData.yl_integral_count }}
+
+
+
+
+ 只要再邀请{{
+ pageData.kl_num2 * 1 - pageData.yl_count * 1
+ }}位参与者就能开券
+
+
+ 已全部领取
+
+
+
+
+
+ 分享好友
+
+
+
+
+
+
+
+
+
+
+ {{ pageData.share_user_nickname }}
+
+
+ {{ pageData.share_time }}
+
+
+
+ {{ pageData.own2 }}
+
+ 已领取
+
+
+
+
+
+ 参与列表
+
+
+ 已参与
+
+ {{ pageData.yl_count }}/{{ pageData.kl_num2 }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickname }}
+
+
+ {{ item.addtime }}
+
+
+
+ {{ item.l_num }}
+
+ 已领取
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package/mine/equity.vue b/package/mine/equity.vue
new file mode 100644
index 0000000..f68a9bb
--- /dev/null
+++ b/package/mine/equity.vue
@@ -0,0 +1,868 @@
+
+
+
+
+
+
+
+
+
+
+
+ LV.{{ pageData.quan_yi_level.level }}
+
+
+
+ 说明
+
+
+
+
+
+
+ 差{{ pageData.quan_yi_level.cha }}欧气值升级
+
+ 已满级
+
+
+
+
+
+
+
+
+ 去购买
+
+
+
+
+
+
+
+
+
+
+
+ 普通
+ 奖励
+
+
+
+ 高级
+ 奖励
+
+
+
+
+
+
+
+ {{ item.level }}级
+
+
+
+
+
+
+
+
+
+ 领取
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+ {{ item.title }}
+
+ 欧气值
+ +{{ item.z_number }}
+
+
+
+
+
+
+ {{ item.ywc_count }}/{{ item.number }}
+
+
+
+
+
+
+ 去完成
+
+
+
+ 待领取
+
+
+
+ 已领取
+
+
+
+
+
+
+
+
+
+
+
+ {{ previewData.level }}级普通奖励
+
+
+ 只有等级达到了当前等级,方可领取下方奖励哦~
+
+ 每一级奖励只可领取一次,领取后请在有效期内使用!
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+ {{ previewData.level }}级高级奖励
+
+
+ 完成任务后您将从以下奖品中随机获得一件
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 普通奖励
+ 高级奖励
+
+
+ {{item.title}}
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package/mine/qy-rule.vue b/package/mine/qy-rule.vue
new file mode 100644
index 0000000..3dc4897
--- /dev/null
+++ b/package/mine/qy-rule.vue
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+ 等级权益说明
+ A statement of interests
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/package/mine/skill-card.vue b/package/mine/skill-card.vue
new file mode 100644
index 0000000..25e4ed7
--- /dev/null
+++ b/package/mine/skill-card.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ 抽赏时可选择重新抽赏
+
+ ×1
+
+
+
+
+
+
+
+
diff --git a/package/mine/ti-qu.vue b/package/mine/ti-qu.vue
new file mode 100644
index 0000000..4c72a63
--- /dev/null
+++ b/package/mine/ti-qu.vue
@@ -0,0 +1,622 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.status_text }}
+
+ ({{ item.reason }})
+
+
+ {{ item.addtime }}
+
+
+ {{ item.tal_money }}元
+
+
+
+
+
+
+
+
+
diff --git a/pages.json b/pages.json
new file mode 100644
index 0000000..4acc253
--- /dev/null
+++ b/pages.json
@@ -0,0 +1,523 @@
+{
+ "easycom": {
+ "^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
+ },
+ "pages": [{
+ "path": "pages/shouye/index",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/shouye/detail",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/shouye/detail_wuxian",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/shouye/rili",
+ "style": {
+ "navigationBarTitleText": "预售日历",
+ "navigationBarBackgroundColor": "#161616",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/shouye/bangdan",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarBackgroundColor": "#161616",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/shouye/wxl",
+ "style": {
+ "navigationBarTitleText": "无限令",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/shouye/huanxiang",
+ "style": {
+ "navigationBarTitleText": "换箱",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/user/login",
+ "style": {
+ "navigationBarTitleText": "枫岚云赏",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/bangding",
+ "style": {
+ "navigationBarTitleText": "枫岚云赏",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/index",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/yetx",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "星钻明细",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/xfjl",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "消费记录",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/hsjl",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "打包记录",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/fhjl",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "发货记录",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/order",
+ "style": {
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTitleText": "订单详情",
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/user/bi_jl",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "星钻记录",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/jf_jl",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "积分记录",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/sy_jl",
+ "style": {
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTitleText": "奖励明细",
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom"
+ }
+ },
+
+ {
+ "path": "pages/user/vip",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "会员中心",
+ "navigationBarTextStyle": "white"
+ }
+ },
+
+ {
+ "path": "pages/guize/guize",
+ "style": {
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTitleText": "",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/my_coupon",
+ "style": {
+ "navigationBarTitleText": "欧气券",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/user/wuliu_detail",
+ "style": {
+ "navigationBarTitleText": "查看物流",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/user/myCa",
+ "style": {
+ "navigationBarTitleText": "我的卡册",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/user/myCaDetail",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/sangdai/hegui",
+ "style": {
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom",
+ "disableSwipeBack": true
+ }
+ },
+ {
+ "path": "pages/sangdai/sangdai",
+ "style": {
+ "navigationBarBackgroundColor": "#222222",
+ "navigationStyle": "custom",
+ "disableSwipeBack": true
+ }
+ },
+ {
+ "path": "pages/sangdai/caceDetail",
+ "style": {
+ "navigationBarBackgroundColor": "#222222",
+ "navigationStyle": "custom",
+ "disableSwipeBack": true
+ }
+ },
+ {
+ "path": "pages/user/tui-guang",
+ "style": {
+ "navigationBarTitleText": "邀请好友",
+ "navigationStyle": "custom",
+ "navigationBarTextStyle": "white"
+ }
+ },
+
+ {
+ "path": "pages/user/change",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/DrawCard/index",
+ "style": {
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/DrawCard/cardDetail",
+ "style": {
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/DrawCard/tujian",
+ "style": {
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTitleText": "图鉴",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/chouka/ka",
+ "style": {
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/chouka/kace",
+ "style": {
+ "navigationBarBackgroundColor": "#222222",
+ "navigationBarTitleText": "卡册",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/chouka/detail",
+ "style": {
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/jiaoliu/jiaoliu",
+ "style": {
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/zizhi/index",
+ "style": {
+ "navigationBarTextStyle": "white",
+ "navigationBarTitleText": "自制赏",
+ "navigationBarBackgroundColor": "#222222"
+ }
+ },
+ {
+ "path": "pages/zizhi/detail",
+ "style": {
+ "navigationBarTextStyle": "white",
+ "navigationBarTitleText": "龙珠手办店",
+ "navigationBarBackgroundColor": "#222222"
+ }
+ },
+ {
+ "path": "pages/infinite/index",
+ "style": {
+ "navigationBarTextStyle": "white",
+ "navigationStyle": "custom",
+ "navigationBarBackgroundColor": "#222222"
+ }
+ },
+ {
+ "path": "pages/infinite/UnlimitedOrder",
+ "style": {
+ "navigationBarTextStyle": "white",
+ "navigationBarTitleText": "魔晶令",
+ "navigationBarBackgroundColor": "#222222",
+ "navigationStyle": "custom"
+ }
+ },
+ // {
+ // "path": "pages/shop/index",
+ // "style": {
+ // "navigationStyle": "custom",
+ // "transparentTitle": "none"
+ // }
+ // },
+ // {
+ // "path": "pages/shop/list",
+ // "style": {
+ // "navigationBarTitleText": "",
+ // "navigationBarBackgroundColor": "#000000",
+ // "navigationBarTextStyle": "white"
+ // }
+ // },
+ // {
+ // "path": "pages/shop/detail",
+ // "style": {
+ // "navigationBarTitleText": "商品详请",
+ // "navigationBarBackgroundColor": "#000000",
+ // "navigationBarTextStyle": "white"
+ // }
+ // },
+ // {
+ // "path": "pages/shop/shop_order",
+ // "style": {
+ // "navigationBarTitleText": "我的订单",
+ // "navigationBarBackgroundColor": "#000000",
+ // "navigationBarTextStyle": "white"
+ // }
+ // },
+ // {
+ // "path": "pages/shop/order_detail",
+ // "style": {
+ // "navigationBarTitleText": "订单详情",
+ // "navigationBarBackgroundColor": "#000000",
+ // "navigationBarTextStyle": "white"
+ // }
+ // },
+ // {
+ // "path": "pages/shop/wuliu_detail",
+ // "style": {
+ // "navigationBarTitleText": "物流详情",
+ // "navigationBarBackgroundColor": "#000000",
+ // "navigationBarTextStyle": "white"
+ // }
+ // },
+ {
+ "path": "pages/mall/index",
+ "style": {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+
+ {
+ "path": "pages/fuli/fuli",
+ "style": {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/fuli/fuli-detail",
+ "style": {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/user/coupon",
+ "style": {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false,
+ "navigationStyle": "custom"
+ }
+ }
+ ],
+ "subPackages": [{
+ "root": "package/index",
+ "pages": [{
+ "path": "sign",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "lian-ji",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "coupon-center",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "leitai",
+ "style": {
+ "navigationBarTitleText": "擂台赏",
+ "navigationStyle": "custom"
+ }
+ }
+ ]
+ },
+ {
+ "root": "package/mine",
+ "pages": [{
+ "path": "collect",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "skill-card",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "equity",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "qy-rule",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "coupon-detail",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "ti-qu",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ }
+ ]
+ }
+ ],
+ "globalStyle": {
+ "navigationBarTextStyle": "white",
+ "navigationBarTitleText": "枫岚云赏",
+ "navigationBarBackgroundColor": "#222222",
+ "backgroundColor": "#000000"
+ },
+ "usingComponents": {},
+ "tabBar": {
+ "custom": true,
+ "color": "#CCCCCC",
+ "selectedColor": "#FFFFFF",
+ "borderStyle": "black",
+ "backgroundColor": "#111111",
+ "iconWidth": "80px",
+ "list": [{
+ "pagePath": "pages/shouye/index",
+ "iconPath": "static/tabbar/m1.png",
+ "selectedIconPath": "static/tabbar/s1.png"
+ // "text": "抽赏"
+ },
+ {
+ "pagePath": "pages/infinite/index",
+ "iconPath": "static/tabbar/m2.png",
+ "selectedIconPath": "static/tabbar/s2.png"
+ // "text": "积分赏"
+ },
+ {
+ "pagePath": "pages/mall/index",
+ "iconPath": "static/tabbar/m5.png",
+ "selectedIconPath": "static/tabbar/s5.png"
+ // "text": "商城"
+ },
+ {
+ "pagePath": "pages/sangdai/sangdai",
+ "iconPath": "static/tabbar/m3.png",
+ "selectedIconPath": "static/tabbar/s3.png"
+ // "text": "盒柜"
+ },
+ {
+ "pagePath": "pages/user/index",
+ "iconPath": "static/tabbar/m4.png",
+ "selectedIconPath": "static/tabbar/s4.png"
+ // "text": "我的"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/pages/DrawCard/cardDetail.vue b/pages/DrawCard/cardDetail.vue
new file mode 100644
index 0000000..86d525c
--- /dev/null
+++ b/pages/DrawCard/cardDetail.vue
@@ -0,0 +1,963 @@
+
+
+
+
+
+
+
+ {{detailInfo.title}} ¥{{detailInfo.show_price}}
+ {{detailInfo.card_notice}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 必出{{detailInfo.card_set.center_shang_name}}
+ 必出{{detailInfo.card_set.right_shang_name}}
+
+
+
+
+
+
+ ×
+
+
+
+
+ {{detailInfo.title}}
+ 类型:1包
+
+ 单价:{{detailInfo.price}}元
+ ×{{pay_news.goods.first_num}}
+
+
+
+
+ 数量:{{pay_news.goods.prize_num}}张
+
+ 小计:{{goods.box_type==5?'':'¥'}}{{pay_news.order_total}}{{goods.box_type==5?'积分':''}}
+
+
+
+
+ 支付方式
+
+
+
+
+
+
+ 使用星钻抵扣¥{{pay_news.use_integral}}(剩余:{{pay_news.integral}})
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥{{pay_news.use_money}}(剩余:{{pay_news.money}})
+
+
+
+
+
+
+
+
+ 下单购买即表示同意
+ 《用户服务协议条款》
+
+
+
+ 总计:¥{{pay_news.order_total}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{v.goodslist_title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ×
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+ {{item.user_info.nickname}}
+
+
+ {{item.addtime}}
+
+
+
+
+ {{item.goodslist_title}}
+
+ X{{item.prize_num}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/DrawCard/index.vue b/pages/DrawCard/index.vue
new file mode 100644
index 0000000..99c7c2c
--- /dev/null
+++ b/pages/DrawCard/index.vue
@@ -0,0 +1,348 @@
+
+
+
+
+
+ 枫岚云赏
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{v.title}}
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ ¥{{item.show_price}}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/DrawCard/tujian.vue b/pages/DrawCard/tujian.vue
new file mode 100644
index 0000000..05cf25c
--- /dev/null
+++ b/pages/DrawCard/tujian.vue
@@ -0,0 +1,159 @@
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+ {{e.shang_name}}
+
+ {{e.title}}
+ 产考价:{{e.price}}元
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/chouka/detail.vue b/pages/chouka/detail.vue
new file mode 100644
index 0000000..93bcec3
--- /dev/null
+++ b/pages/chouka/detail.vue
@@ -0,0 +1,1205 @@
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+ {{v}}
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+ X{{item.prize_num}}
+
+
+
+ {{item.goodslist_title}}
+ {{item.card_no}}
+ 参考价:{{item.goodslist_money}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ×
+
+
+
+ 已选赠品
+ 共 {{num}} 件
+
+
+
+
+
+
+ ×{{item.number}}
+
+
+
+ 参考价:{{(item.goodslist_money*item.number).toFixed(2)}}元
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ×
+
+
+
+ 已选赠品
+ 共 {{num}} 件
+
+
+
+
+
+
+ ×{{item.number}}
+
+
+ {{item.goodslist_title}}
+
+
+
+
+
+
+ {{selectCity}}
+
+
+
+ 满{{post.free_post}}件赠品包邮
+ 如果不满{{post.free_post}}件,需支付{{post.post_money}}元运费
+
+
+
+
+
+
+
+
+ {{yulan_news.shang_title}}
+
+
+
+ {{yulan_news.goodslist_title}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/chouka/index.vue b/pages/chouka/index.vue
new file mode 100644
index 0000000..04972c6
--- /dev/null
+++ b/pages/chouka/index.vue
@@ -0,0 +1,419 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+
+ {{v.title}}
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+ {{item.join_count}}次参与
+
+
+
+
+ {{item.title}}
+ {{item.price}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/chouka/ka.vue b/pages/chouka/ka.vue
new file mode 100644
index 0000000..2acb7e6
--- /dev/null
+++ b/pages/chouka/ka.vue
@@ -0,0 +1,1133 @@
+
+
+
+
+
+
+
+
+
+
+ {{goods.title}}
+ {{goods.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ×
+
+
+
+
+
+
+
+ {{pay_news.goods.title}}
+ 类型:1包
+
+ 单价:{{pay_news.goods.price}}元
+ ×{{pay_news.goods.prize_num}}
+
+
+
+
+ 数量:{{pay_news.goods.prize_num}}张
+
+ 小计:{{goods.box_type==5?'':'¥'}}{{pay_news.order_total}}{{goods.box_type==5?'积分':''}}
+
+
+
+
+ 支付方式
+
+
+
+
+ 使用星钻抵扣¥{{pay_news.use_integral}}(剩余:{{pay_news.integral}})
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥{{pay_news.use_money}}(剩余:{{pay_news.money}})
+
+
+
+
+
+
+ 下单购买即表示同意
+ 《用户服务协议条款》
+
+
+
+ 总计:{{goods.box_type==5?'':'¥'}}{{pay_news.price}}{{goods.box_type==5?'积分':''}}
+
+ 确定支付
+
+
+
+
+
+
+
+
+ ×
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+ {{item.user_info.nickname}}
+
+ {{item.addtime}}
+
+
+
+
+ {{item.goodslist_title}}
+
+ X{{item.prize_num}}
+
+
+
+
+
+
+
+
+
+
+
+ ×
+
+
+
+ {{item.title}}
+
+ ({{item.pro}})
+
+
+
+
+
+
+ {{item.title}}
+
+ {{item.price}}
+ {{item.real_pro}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{v.shang_title}}
+ x{{v.prize_num}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/chouka/kace.vue b/pages/chouka/kace.vue
new file mode 100644
index 0000000..d750597
--- /dev/null
+++ b/pages/chouka/kace.vue
@@ -0,0 +1,213 @@
+
+
+
+
+
+
+
+ 搜索
+
+
+
+
+
+ {{item.goods_title}}
+
+ 收集进度: {{item.buy_count}} /{{item.all_count}}
+
+
+
+
+
+
+
+
+ {{item.goods_title}}
+ 进入卡册
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/fuli/fuli-detail.vue b/pages/fuli/fuli-detail.vue
new file mode 100644
index 0000000..286a970
--- /dev/null
+++ b/pages/fuli/fuli-detail.vue
@@ -0,0 +1,2583 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ join_count }}次参与
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 抽赏说明
+
+
+
+
+ 抽奖需要{{ goods.need_draw_num || 0 }}张抽奖券
+
+
+
+
+ {{ goods.title }}
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+ {{ item.pro }}
+
+
+
+
+
+
+
+
+
+
+ {{ v.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+ {{ item.title }}
+ {{ item.pro }}
+
+ 售价:{{ item.price }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+
+ {{ item.luck_no }}
+
+
+
+
+
+
+ {{ item.nickname }}
+
+ {{ item.addtime }}
+
+
+
+
+
+
+
+
+
+ {{ item.goodslist_title }}
+
+ ×1
+
+
+
+
+
+
+
+
+
+
+ 当前有{{ hasNum }}张抽奖券,{{
+ hasNum == 0 ? '请先获取抽奖券' : '立即抽赏'
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 抽赏说明
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认订单
+
+
+
+
+
+
+
+
+ {{ pay_news.goods.title }}
+ 类型:明信片
+
+
+
+ {{ pay_news.goods.price }}元
+
+
+ ×{{ pay_news.goods.prize_num }}
+
+
+
+
+
+ 明信片×{{ pay_news.goods.prize_num }}
+
+
+ 小计:{{ goods.box_type == 5 ? '' : '¥' }}
+
+ {{ pay_news.order_total
+ }}{{ goods.box_type == 5 ? '积分' : '' }}
+
+
+
+
+
+ 支付方式
+
+
+
+
+ 使用星钻抵扣¥
+ {{ pay_news.use_integral }}
+ (剩余:
+ {{ pay_news.integral }}
+ )
+
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥
+ {{ pay_news.use_money }}
+ (剩余:
+ {{ pay_news.money }}
+ )
+
+
+
+
+
+
+
+ 下单购买即表示同意
+
+ 《用户服务协议条款》
+
+
+
+
+ 共{{ pay_news.goods && pay_news.goods.prize_num }}抽总计:{{
+ goods.box_type == 5 ? '' : '¥'
+ }}
+
+ {{ pay_news.price }}{{ goods.box_type == 5 ? '积分' : '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+ ×1
+
+
+
+ {{ item.goodslist_title }}
+
+
+
+
+
+
+
+ 去盒柜
+
+
+
+ 确定
+
+
+
+
+
+
+
+ 统计
+
+
+
+
+
+
+ {{ item.userinfo.nickname }}
+
+ 冲{{ item.count }}发
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ previewData.title }}
+
+
+
+
+
+ {{ previewData.shang_title }} {{ previewData.real_pro }}%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/fuli/fuli.vue b/pages/fuli/fuli.vue
new file mode 100644
index 0000000..e5e3182
--- /dev/null
+++ b/pages/fuli/fuli.vue
@@ -0,0 +1,408 @@
+
+
+
+
+
+
+ 说明
+
+
+
+
+
+
+
+ 抽赏仅需{{ item.need_draw_num }}张抽赏券
+
+ 马上抽
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/guize/guize.vue b/pages/guize/guize.vue
new file mode 100644
index 0000000..c6854b5
--- /dev/null
+++ b/pages/guize/guize.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/infinite/UnlimitedOrder.vue b/pages/infinite/UnlimitedOrder.vue
new file mode 100644
index 0000000..e3d3e74
--- /dev/null
+++ b/pages/infinite/UnlimitedOrder.vue
@@ -0,0 +1,446 @@
+
+
+
+
+
+
+ 当前累计消费:{{ datas.money }}
+
+
+
+
+ 魔晶令规则
+
+
+
+
+ {{ datas.time }}
+
+
+
+
+
+
+
+ 累计消费满{{ item.give_money }}即可抽取赏品
+
+
+
+
+
+
+
+
+ {{ a.title }}
+
+
+
+
+
+ 规则
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/infinite/index.vue b/pages/infinite/index.vue
new file mode 100644
index 0000000..386ef78
--- /dev/null
+++ b/pages/infinite/index.vue
@@ -0,0 +1,445 @@
+
+
+
+
+
+
+
+
+
+ 积分赏
+
+
+
+
+ {{ item.title }}
+
+
+
+ {{ item.join_count }}次参与
+
+ 快去参与吧
+
+
+
+ {{ item.price }}
+ 积分
+
+
+
+
+
+ {{ item.sale_stock }}/{{ item.stock }}
+
+
+
+
+
+
+ 购买说明
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/jiaoliu/jiaoliu.vue b/pages/jiaoliu/jiaoliu.vue
new file mode 100644
index 0000000..282af74
--- /dev/null
+++ b/pages/jiaoliu/jiaoliu.vue
@@ -0,0 +1,62 @@
+
+
+
+
+
+
diff --git a/pages/mall/index.vue b/pages/mall/index.vue
new file mode 100644
index 0000000..05d739f
--- /dev/null
+++ b/pages/mall/index.vue
@@ -0,0 +1,5 @@
+
+
+ 123OL
+
+
\ No newline at end of file
diff --git a/pages/sangdai/caceDetail.vue b/pages/sangdai/caceDetail.vue
new file mode 100644
index 0000000..caff9e7
--- /dev/null
+++ b/pages/sangdai/caceDetail.vue
@@ -0,0 +1,741 @@
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+ {{v}}
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/sangdai/hegui.vue b/pages/sangdai/hegui.vue
new file mode 100644
index 0000000..61e7a95
--- /dev/null
+++ b/pages/sangdai/hegui.vue
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
diff --git a/pages/sangdai/sangdai copy.vue b/pages/sangdai/sangdai copy.vue
new file mode 100644
index 0000000..a18fff5
--- /dev/null
+++ b/pages/sangdai/sangdai copy.vue
@@ -0,0 +1,2023 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.shang_title }}
+
+
+ ×{{ v.prize_num }}
+
+
+
+ {{ v.goodslist_title }}
+
+ 打包价:{{ v.goodslist_money }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.goods_title }}
+
+ {{ item.buy_count }}
+ /{{ item.all_count }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 发货须知
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认环保
+
+
+
+
+
+
+
+ 已选赠品
+
+ 共
+ {{ num }}
+ 件
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+ ×{{ item.number }}
+
+
+
+ 参考价:{{ item.goodslist_money * item.number }}元
+
+
+
+
+
+
+
+ 环保合计:{{ zong_price.toFixed(2) }}元
+
+
+
+
+
+
+
+
+
+
+
+ 确认发货
+
+
+
+
+
+
+
+ 已选赠品
+
+ 共
+ {{ num }}
+ 件
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+ ×{{ item.number }}
+
+
+
+ {{ item.goodslist_title }}
+
+
+
+
+
+
+
+ {{ selectCity }}
+
+
+
+ 满{{ post.free_post }}件赠品包邮
+
+ 如果不满{{ post.free_post }}件,需支付{{ post.post_money }}元运费
+
+
+
+
+
+
+ 需支付:{{ num >= post.free_post ? 0 : post.post_money }}元
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 地址列表
+ ×
+
+
+
+
+
+ 默认
+ {{ v.name }} {{ v.mobile }}
+
+
+ {{ v.province }} {{ v.city }} {{ v.county }} {{ v.address }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ yulan_news.shang_title }}
+
+
+
+
+
+ {{ yulan_news.goodslist_title }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/sangdai/sangdai.vue b/pages/sangdai/sangdai.vue
new file mode 100644
index 0000000..6f9cc3f
--- /dev/null
+++ b/pages/sangdai/sangdai.vue
@@ -0,0 +1,1794 @@
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+ 共
+ {{ nowNum }}
+ 个赏品
+
+
+ 已选
+ {{ nowChooseNum }}
+ 个
+
+
+
+
+
+
+
+
+ {{ a.shang_title }}
+ ×{{ a.prize_num }}
+ 预售
+
+ {{ a.goodslist_title }}
+
+ {{
+ a.goodslist_money * 1 > 0
+ ? `可分解:${a.goodslist_money}`
+ : `不可分解`
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 申请时间:{{ item.addtime }}
+
+ {{ item.status_name }}
+
+
+
+
+
+
+ ×{{ a.prize_num }}
+
+
+
+ {{ a.goodslist_title }}
+
+
+
+
+ 查看物流
+ 确认收货
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 兑换
+ 发货
+ 上锁
+
+ 解锁
+
+
+
+
+ 兑换确认
+
+
+
+
+
+
+ 已选赏品
+
+
+ 共
+ {{ nowChooseNum }}
+ 件
+
+
+
+
+
+
+
+
+ ×{{ item.chooseNum }}
+
+
+ {{ item.goodslist_title }}
+
+
+
+
+
+
+
+
+ 共{{nowChooseNum}}
+ 件物品,合计兑换¥
+ {{totalChangeMoney}}
+
+
+ 确认兑换
+
+
+
+
+
+
+
+
+
+ 发货确认单
+
+
+
+
+
+
+
+
+ 已选赏品
+
+
+ 共
+ {{ nowChooseNum }}
+ 件
+
+
+
+
+
+
+
+
+ ×{{ item.chooseNum }}
+
+
+
+ {{ item.goodslist_title }}
+
+
+
+
+
+
+ 请选择收货地址
+
+
+
+ {{ addData.userName }}
+
+ {{ addData.telNumber }}
+
+
+
+ {{ addData.provinceName }}-{{ addData.cityName }}-{{
+ addData.countyName
+ }}-{{ addData.detailInfo }}
+
+
+
+
+
+
+
+ 快递(满{{ freightData.free_post }}件包邮)
+
+
+ {{
+ nowChooseNum >= freightData.free_post
+ ? '包邮'
+ : `¥${freightData.post_money}`
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 我已满18岁,阅读并同意
+
+
+ 《用户协议》
+
+
+
+ 《隐私政策》
+
+
+
+
+ 确认发货
+
+
+
+
+
+
+ 提示
+
+ {{ lockMsg }}
+
+
+ 取消
+
+
+ 确定
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 恭喜您兑换成功获得¥{{zhanshiMoney}}
+
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/shop/detail.vue b/pages/shop/detail.vue
new file mode 100644
index 0000000..f824220
--- /dev/null
+++ b/pages/shop/detail.vue
@@ -0,0 +1,746 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ¥ {{goodsDetail.seckill_price}}
+ 已售 {{goodsDetail.sale_num}}
+
+ {{goodsDetail.title}}
+
+
+ 选择
+
+ 已选:{{pop_news.name}}
+
+
+
+
+
+
+
+
+
+ 立即购买
+
+
+
+
+
+
+ 选择规格
+ ×
+
+
+
+
+
+ 单价:¥ {{pop_news.seckill_price}}
+ 规格:{{pop_news.name}}
+ 库存:{{pop_news.stock}}
+
+
+
+
+ {{a.title}}
+
+ {{v.title}}
+
+
+
+
+
+ 购买数量:
+
+
+
+
+ 确定
+
+
+
+
+
+
+
+
+ 确认订单
+ ×
+
+
+
+
+ {{pop_news.goods_name}}
+ 规格:{{pop_news.name}}
+
+ ¥ {{ pop_news.price }}
+ ×{{ num }}
+
+
+
+
+
+ 付款方式
+
+
+
+
+ 使用星钻抵扣¥ {{ pay_news.use_integral }}(剩余:{{ pay_news.integral }})
+
+
+
+
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥ {{ pay_news.use_money}}(剩余:{{ pay_news.money }})
+
+
+
+
+
+
+
+
+
+
+
+ {{ selectCity }}
+
+
+
+
+ 提示:需支付{{ pop_news.freight }}元运费
+
+
+
+ 下单购买即表示同意 《用户服务协议条款》
+ 确认支付
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/index.vue b/pages/shop/index.vue
new file mode 100644
index 0000000..7ab99bc
--- /dev/null
+++ b/pages/shop/index.vue
@@ -0,0 +1,353 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{a.title}}
+
+
+
+
+
+
+
+
+ 鉴正品 速发货
+
+ 好物集市丨精选搭配丨极速发货
+
+
+
+
+
+ {{a.title}}
+ ¥{{a.price}}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/list.vue b/pages/shop/list.vue
new file mode 100644
index 0000000..e76edec
--- /dev/null
+++ b/pages/shop/list.vue
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+ {{a.title}}
+ ¥{{a.price}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/order_detail.vue b/pages/shop/order_detail.vue
new file mode 100644
index 0000000..8824994
--- /dev/null
+++ b/pages/shop/order_detail.vue
@@ -0,0 +1,281 @@
+
+
+
+
+
+
+
+ {{result.shou_name}}
+ {{result.shou_mobile}}
+
+ {{result.shou_region}}
+
+
+
+
+
+
+
+
+
+ {{result.goods_name}}
+ 规格:{{result.goods_spec}}
+
+ ¥{{result.goods_seckill_price}}
+ ×{{result.goods_num}}
+
+
+
+ 共计:¥{{result.pay_price}}
+
+
+
+ 订单信息
+
+ 支付方式
+ 微信支付
+
+
+ 运费
+ {{result.freight_price=='0.00'?'免运费':result.freight_price+'元'}}
+
+
+ 合计
+ ¥{{result.pay_price}}
+
+
+
+
+ 订单号: {{result.order_no}}
+ 提交时间:{{result.pay_time}}
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/shop_order.vue b/pages/shop/shop_order.vue
new file mode 100644
index 0000000..7878c31
--- /dev/null
+++ b/pages/shop/shop_order.vue
@@ -0,0 +1,323 @@
+
+
+
+
+
+
+
+ 订单号:{{v.order_no}}
+ 待发货
+ 待收货
+ 已完成
+
+
+
+
+
+
+ {{v.goods_info.goods_name}}
+ 规格:{{v.goods_info.goods_spec}}
+
+ ¥{{v.goods_info.goods_seckill_price}}
+ ×{{v.goods_info.goods_num}}
+
+
+
+
+ 共 {{v.goods_info.goods_num}} 件
+ 实付款:¥{{v.pay_price}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/wuliu_detail.vue b/pages/shop/wuliu_detail.vue
new file mode 100644
index 0000000..15053b5
--- /dev/null
+++ b/pages/shop/wuliu_detail.vue
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+ 物流状态:{{news.status_name}}
+ 快递公司:{{news.delivery_name}}
+ 快递单号:{{news.delivery_no}}复制
+
+
+
+
+
+
+
+
+
+
+
+ {{item.node_desc}}
+ {{item.node_time}}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shouye/bangdan.vue b/pages/shouye/bangdan.vue
new file mode 100644
index 0000000..9fdc076
--- /dev/null
+++ b/pages/shouye/bangdan.vue
@@ -0,0 +1,744 @@
+
+
+
+
+
+
+
+
+
+ {{ listdata[0].nickname }}
+
+
+
+ {{ listdata[0].prize_title }}
+
+
+
+
+
+
+
+ {{ listdata[1].nickname }}
+
+
+
+ {{ listdata[1].prize_title }}
+
+
+
+
+
+
+
+ {{ listdata[2].nickname }}
+
+
+
+ {{ listdata[2].prize_title }}
+
+
+
+
+
+ {{ index + 1 }}
+
+
+
+
+
+
+ {{ item.nickname }}
+
+ {{ item.prize_title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ my_rank.my_nickname }}
+
+
+
+ 当前排名:
+ {{ my_rank.my_rank || '暂无' }}
+
+
+
+
+
+
+
+ 榜单规则
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shouye/detail copy.vue b/pages/shouye/detail copy.vue
new file mode 100644
index 0000000..e883cb6
--- /dev/null
+++ b/pages/shouye/detail copy.vue
@@ -0,0 +1,3311 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+ {{ item.surplus_stock }}/{{ item.stock }}
+
+
+
+ {{ item.title }}
+ {{ item.pro }}
+
+ 参考价:{{ goods.type == 5 ? '' : '¥' }}{{ item.price
+ }}{{ goods.type == 5 ? '积分' : '' }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+
+
+
+
+
+ {{ item.user_info.nickname }}
+
+
+ {{ item.addtime }}
+
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+ {{ item.goodslist_title }}
+
+ ×1
+
+
+
+
+
+
+
+
+
+
+ 冲一发
+
+
+
+ 冲三发
+
+
+
+ 冲五发
+
+
+
+
+
+ 换箱
+
+
+
+
+
+ {{
+ lock_info.lock_is == 1 && lock_info.goods_lock_surplus_time !== 0
+ ? '锁箱中'
+ : '自由模式'
+ }}
+
+
+
+ 抱箱
+
+
+
+
+
+
+
+
+
+
+ 一发入魂
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 购买说明
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认订单
+
+
+
+
+
+
+
+
+
+ {{ pay_news.goods.title }}
+ 类型:明信片
+
+
+
+ {{ pay_news.goods.price }}元
+
+
+ ×{{ pay_news.goods.prize_num }}
+
+
+
+
+
+ 明信片×{{ pay_news.goods.prize_num }}
+
+
+ 小计:{{ goods.box_type == 5 ? '' : '¥' }}
+
+ {{ pay_news.order_total
+ }}{{ goods.box_type == 5 ? '积分' : '' }}
+
+
+
+
+
+ 支付方式
+
+
+
+
+
+ 使用积分抵扣¥
+ {{ pay_news.use_score }}
+ (剩余:
+ {{ pay_news.score }}
+ )
+
+
+
+
+
+
+
+
+
+ 优惠券
+
+
+
+ {{ couponData ? `-${couponData.price}` : '未选择' }}
+
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥
+ {{ pay_news.use_integral }}
+ (剩余:
+ {{ pay_news.integral }}
+ )
+
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥
+ {{ pay_news.use_money }}
+ (剩余:
+ {{ pay_news.money }}
+ )
+
+
+
+
+
+
+
+
+ 下单购买即表示同意
+
+ 《用户服务协议条款》
+
+
+
+
+ 共{{ pay_news.goods && pay_news.goods.prize_num }}抽总计:{{
+ goods.box_type == 5 ? '' : '¥'
+ }}
+
+ {{ pay_news.price }}{{ goods.box_type == 5 ? '积分' : '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.shang_title }}
+
+ ×1
+
+
+ {{ v.goodslist_title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.shang_title }}
+
+
+
+
+
+ {{ v.title }}
+
+
+
+ 产品类型:
+ 一番赏
+
+
+
+ 市场参考价:
+ {{ v.sc_money }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 中赏记录
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+
+
+
+
+
+ {{ item.user_info.nickname }}
+
+
+ {{ item.addtime }}
+
+
+
+
+
+ {{ item.goodslist_title }}
+
+
+ X{{ item.prize_num }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ a.shang_title }}
+
+
+
+
+
+
+ 跳过
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shouye/detail.vue b/pages/shouye/detail.vue
new file mode 100644
index 0000000..98abad0
--- /dev/null
+++ b/pages/shouye/detail.vue
@@ -0,0 +1,1868 @@
+
+
+
+
+
+ {{$c.detailPageTitle((pageData && pageData.goods) || '')}}
+
+
+
+
+
+
+
+
+ 上一箱
+
+
+
+
+
+
+ 第 {{ pageData.goods.num }} /{{ pageData.goods.stock }}箱
+
+ 赏品余量
+
+ {{ pageData.goods.goodslist_surplus_stock }}/{{ pageData.goods.goodslist_stock }}
+
+
+
+
+
+
+
+ 下一箱
+
+
+
+
+
+
+ {{ item.shang_info?item.shang_info.title:'' }}
+ {{ item.surplus_stock }}/{{ item.stock }}
+ 预售
+
+
+
+
+
+
+ {{ item.title }}
+
+
+ 售价:¥{{ item.sc_money }}
+
+ {{ item.pro }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.user_info.nickname }}
+
+ {{ item.addtime }}
+
+
+
+
+
+
+
+ {{item.shang_title}}
+
+
+ {{ item.goodslist_title }}
+
+ ×{{item.prize_num}}
+
+
+
+
+
+
+
+
+
+
+
+
+ 一发入魂
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{previewData.shang_info.title}}
+
+
+
+
+ {{ previewData.title }}
+
+
+
+
+
+ {{ previewData.shang_info.title }} {{ previewData.pro }}
+
+
+ 产品类型:{{ optData.type_text }}
+
+
+
+
+
+
+
+
+
+
+
+ 确认订单
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ orderData.goods.title }}
+
+
+ 类型:明信片
+
+
+
+
+ ¥
+ {{ orderData.goods.shou_zhe_price }}
+ 积分
+ (首抽5折)
+
+
+ ×{{ 1 }}
+
+
+
+
+ ¥
+ {{ orderData.goods.price }}
+ 积分
+
+
+
+ ×{{ orderData.goods.prize_num * 1 - 1 }}
+
+
+
+
+
+
+ ¥
+ {{ orderData.goods.price }}
+ 积分
+
+
+ ×{{ orderData.goods.prize_num }}
+
+
+
+
+
+
+
+
+ 优惠券
+
+
+ {{
+ couponData && orderData.coupon_price > 0
+ ? `-${couponData.price}`
+ : '未选择'
+ }}
+
+
+
+
+
+
+
+
+
+ {{
+ orderData.zhe
+ ? `会员折扣 (${orderData.zhe}折)`
+ : '暂无会员抵扣'
+ }}
+
+
+
+ 详情
+
+
+
+
+
+
+
+
+
+ 请选择抵扣方式
+
+
+
+
+
+
+ 使用积分抵扣
+ {{ orderData.use_score }} (剩余:{{ orderData.score }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 使用岚币抵扣¥ {{ orderData.use_integral_money }} (剩余:{{ orderData.integral }}个)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥
+ {{ orderData.use_money }} (剩余:{{ orderData.money }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 我已满18岁,阅读并同意
+
+
+ 《用户协议》
+
+
+
+ 《隐私政策》
+
+
+
+
+ 确认支付
+ {{
+ pageData.goods.type == 5
+ ? ` ${orderData.use_score}积分`
+ : ` ¥${orderData.price}`
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+ ×{{ item.prize_num }}
+
+
+ {{ item.goodslist_title }}
+
+
+ {{
+ item.goodslist_money * 1 > 0
+ ? `可兑换:${item.goodslist_money}`
+ : `不可兑换`
+ }}
+
+
+
+
+
+
+
+ 去盒柜
+
+
+
+ 继续抽
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/shouye/detail_wuxian copy.vue b/pages/shouye/detail_wuxian copy.vue
new file mode 100644
index 0000000..c2ebed9
--- /dev/null
+++ b/pages/shouye/detail_wuxian copy.vue
@@ -0,0 +1,2578 @@
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}款
+
+
+ {{ item.pro }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+
+ {{ item.title }}
+ {{ item.pro }}
+
+ 售价:{{ item.price }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+
+ {{ item.luck_no }}
+
+
+
+
+
+
+ {{ item.nickname }}
+
+ {{ item.addtime }}
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+
+ {{ item.goodslist_title }}
+
+ ×1
+
+
+
+
+
+
+
+
+
+
+
+ 冲一发
+
+ ¥{{ goods.price }}
+
+
+
+ 冲五发
+
+ ¥{{ goods.price_five }}
+
+
+
+ 冲十发
+
+ ¥{{ goods.price_ten }}
+
+
+
+ 五十发
+
+ ¥{{ goods.price_five_ten }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 购买说明
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认订单
+
+
+
+
+
+
+
+
+
+ {{ pay_news.goods.title }}
+ 类型:明信片
+
+
+
+ {{ pay_news.goods.price }}元
+
+
+ ×{{ pay_news.goods.prize_num }}
+
+
+
+
+
+ 明信片×{{ pay_news.goods.prize_num }}
+
+
+ 小计:{{ goods.box_type == 5 ? '' : '¥' }}
+
+ {{ pay_news.order_total
+ }}{{ goods.box_type == 5 ? '积分' : '' }}
+
+
+
+
+
+ 支付方式
+
+
+
+
+ 优惠券
+
+
+
+ {{ couponData ? `-${couponData.price}` : '未选择' }}
+
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥
+ {{ pay_news.use_integral }}
+ (剩余:
+ {{ pay_news.integral }}
+ )
+
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥
+ {{ pay_news.use_money }}
+ (剩余:
+ {{ pay_news.money }}
+ )
+
+
+
+
+
+
+
+ 下单购买即表示同意
+
+ 《用户服务协议条款》
+
+
+
+
+ 共{{ pay_news.goods && pay_news.goods.prize_num }}抽总计:{{
+ goods.box_type == 5 ? '' : '¥'
+ }}
+
+ {{ pay_news.price }}{{ goods.box_type == 5 ? '积分' : '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.shang_title }}
+
+ ×1
+
+
+ {{ v.goodslist_title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 统计
+
+
+
+
+
+
+ {{ item.userinfo.nickname }}
+
+ 冲{{ item.count }}发
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.title }}
+
+
+
+ 产品类型:
+ 无限赏
+
+
+
+ 市场参考价:
+ {{ v.sc_money }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/shouye/detail_wuxian.vue b/pages/shouye/detail_wuxian.vue
new file mode 100644
index 0000000..a047bbd
--- /dev/null
+++ b/pages/shouye/detail_wuxian.vue
@@ -0,0 +1,2649 @@
+
+
+
+
+
+ {{$c.detailPageTitle((pageData && pageData.goods) || '')}}
+
+
+
+
+
+
+
+
+ {{bossCardData.king_user.nickname}}
+
+ 第
+ {{bossCardData.king_user.count}}
+ 发晋升领主
+ 已占领
+ {{bossCardData.king_user.z_nums}}
+ 发
+
+
+
+
+
+
+
+
+
+
+
+
+ 怒气值:{{ pageData.goods.user_rage }}
+
+
+
+
+ {{ pageData.goods.item_card_info }}
+
+
+
+
+
+
+
+
+
+ {{ item.pro }}
+
+
+
+
+
+
+
+
+ 预售
+
+
+ {{ a.title }}
+
+ 售价:{{ a.price }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ a.user_info && a.user_info.nickname }}
+
+
+ {{ a.addtime }}
+
+
+
+
+
+
+
+ {{ a.shang_title}}
+
+
+ {{ a.goodslist_title }}
+
+ ×1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.shang_title }}
+ ×{{ item.prize_num || '1' }}
+
+
+ {{ item.goodslist_title }}
+
+
+ {{
+ item.goodslist_money * 1 > 0
+ ? `可兑换:${item.goodslist_money}`
+ : `不可兑换`
+ }}
+
+
+
+
+
+
+
+
+ 去盒柜
+
+
+
+ 确定
+
+
+
+
+
+ 重置×{{ prizeData && prizeData.data.length }}
+
+ (余{{ prizeData.item_card_count }})
+
+
+
+
+
+
+
+
+ 领主接力
+
+
+ 领主规则
+
+
+
+
+
+
+
+
+
+ {{ bossCardData.king_user.nickname }}
+
+
+
+ 挑战领主
+ 获得星钻奖励
+
+
+
+ 玩家每挑战一发,领主可获得星钻
+
+ ×{{ bossCardData.goods.lingzhu_fan }}
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickname }}
+
+
+
+
+
+
+
+ {{ item.nickname }}
+
+
+ 占领
+ 领主
+
+
+ {{ item.time }}
+
+
+
+
+
+
+
+
+
+
+
+ 领主玩法
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+ 玩法规则
+
+
+
+
+
+
+
+
+
+
+
+
+ {{previewData.shang_title}}
+
+
+
+ {{ previewData.title }}
+
+
+
+
+ {{ previewData.shang_title }} {{ previewData.pro }}
+
+
+ 产品类型:{{ optData.type_text }}
+
+
+
+
+
+
+
+
+
+
+ 确认订单
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ orderData.goods.title }}
+
+ 类型:明信片
+
+
+
+ ¥
+ {{ orderData.goods.shou_zhe_price }}
+
+
+ ×{{ 1 }}
+
+
+
+ ¥
+ {{ orderData.goods.price }}
+
+
+
+ ×{{ orderData.goods.prize_num * 1 - 1 }}
+
+
+
+
+
+ ¥
+ {{ orderData.goods.price }}
+
+ ×{{ orderData.goods.prize_num }}
+
+
+
+
+ 选择优惠方式
+
+
+ 优惠券
+
+
+ {{
+ couponData && orderData.coupon_price > 0
+ ? `-${couponData.price}`
+ : '未选择'
+ }}
+
+
+
+
+
+
+
+
+ {{orderData.zhe ? `会员折扣 (${orderData.zhe}折)` : '暂无会员抵扣'}}
+
+
+ 详情
+
+
+
+
+
+
+ 选择支付方式
+
+
+ 岚币
+ {{ orderData.use_integral_money }} (剩余:{{ orderData.integral }}个)
+
+
+
+
+
+
+
+
+
+ 使用星钻抵扣¥
+ {{ orderData.use_money }} (剩余:{{ orderData.money }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 我已满18岁,阅读并同意
+
+
+ 《用户协议》
+
+
+
+ 《隐私政策》
+
+
+
+
+ 确认支付
+
+ {{
+ pageData.goods.type == 5
+ ? ` ${orderData.price}积分`
+ : ` ¥${orderData.price}`
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/shouye/huanxiang.vue b/pages/shouye/huanxiang.vue
new file mode 100644
index 0000000..fcf23fb
--- /dev/null
+++ b/pages/shouye/huanxiang.vue
@@ -0,0 +1,412 @@
+
+
+
+
+
+
+
+
+ 箱号
+
+
+
+
+ 余量
+
+
+
+
+
+
+
+
+
+
+ 第{{ v.num }}箱
+
+
+
+
+ 剩余{{ v.surplus_all_stock }}张
+
+
+
+
+ {{ a.shang_info.title }}
+
+ {{ a.surplus_stock }}/{{ a.stock }}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/shouye/index.vue b/pages/shouye/index.vue
new file mode 100644
index 0000000..49fd0c3
--- /dev/null
+++ b/pages/shouye/index.vue
@@ -0,0 +1,1118 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ v.title }}
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+ {{ item.join_count }}次参与
+
+ 快去参与吧!
+
+
+ ¥{{ item.price }}
+
+
+ {{ item.sale_stock }}/{{ item.stock }}
+
+
+
+
+
+
+
+
+ {{ item.type_text }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加客服领优惠
+ 识别图中二维码
+
+
+
+
+
+
+
+
+
+
+
+
+ 新人大礼包
+
+
+
+
+ ¥
+ {{Number(item.price)}}
+
+
+ {{item.title}}
+ 有限期{{item.effective_day}}天
+
+
+
+ 立即收下
+ 优惠券在【我的-优惠券】中查看
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/shouye/rili.vue b/pages/shouye/rili.vue
new file mode 100644
index 0000000..1c1f64a
--- /dev/null
+++ b/pages/shouye/rili.vue
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+ {{item.day}}
+ {{item.month}}
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
diff --git a/pages/shouye/wxl.vue b/pages/shouye/wxl.vue
new file mode 100644
index 0000000..9e41759
--- /dev/null
+++ b/pages/shouye/wxl.vue
@@ -0,0 +1,257 @@
+
+
+
+
+
+
+
+ {{datas.time}}
+
+
+
+ 当前累计消费:{{datas.money}}
+
+
+
+
+
+
+
+
+ 累计消费满{{item.give_money}}
+
+
+
+
+
+
+
+
+ {{a.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/bangding.vue b/pages/user/bangding.vue
new file mode 100644
index 0000000..f484de9
--- /dev/null
+++ b/pages/user/bangding.vue
@@ -0,0 +1,146 @@
+
+
+
+
+
+ 申请获取以下权限
+ 获得您的手机号
+
+
+
+ 取消
+
+
+
+
+
+
+
diff --git a/pages/user/bi_jl.vue b/pages/user/bi_jl.vue
new file mode 100644
index 0000000..0277410
--- /dev/null
+++ b/pages/user/bi_jl.vue
@@ -0,0 +1,322 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.content }}
+ {{ item.addtime }}
+
+
+ {{ item.change_money }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/change.vue b/pages/user/change.vue
new file mode 100644
index 0000000..2265550
--- /dev/null
+++ b/pages/user/change.vue
@@ -0,0 +1,350 @@
+
+
+
+
+
+
+
+
+ 修改头像
+
+
+
+
+ 昵称:
+
+
+
+
+
+
+
+ ID:
+
+
+
+
+
+
+ 确认修改
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/coupon.vue b/pages/user/coupon.vue
new file mode 100644
index 0000000..4d29a34
--- /dev/null
+++ b/pages/user/coupon.vue
@@ -0,0 +1,367 @@
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+ ¥
+ {{ Number(item.price) }}
+
+
+ 满{{ item.man_price }}减{{ item.price }}
+
+ {{ item.end_time }}到期
+
+
+ 去使用
+
+
+ {{ item.mark }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/fhjl.vue b/pages/user/fhjl.vue
new file mode 100644
index 0000000..b77a7ab
--- /dev/null
+++ b/pages/user/fhjl.vue
@@ -0,0 +1,541 @@
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+ 申请时间:{{ v.addtime }}
+ 待发货
+ 待收货
+ 已完成
+
+
+
+
+
+
+
+ {{ a.shang_title }}
+
+
+ ×{{ a.prize_num }}
+
+
+
+
+ {{ a.goodslist_title }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/hsjl.vue b/pages/user/hsjl.vue
new file mode 100644
index 0000000..3f12156
--- /dev/null
+++ b/pages/user/hsjl.vue
@@ -0,0 +1,345 @@
+
+
+
+
+
+
+
+
+
+
+
+ 打包时间:{{ v.addtime }}
+
+ 共
+ {{ v.count }}
+ 件
+
+
+
+
+
+
+
+ X{{a.prize_num}}
+
+
+ {{ a.goodslist_title }}
+ 兑换价:{{ a.goodslist_money }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/index.vue b/pages/user/index.vue
new file mode 100644
index 0000000..248021c
--- /dev/null
+++ b/pages/user/index.vue
@@ -0,0 +1,1693 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ userinfo.nickname }}
+
+
+ 未登录
+
+
+ 枫岚云赏已经陪你走过了{{ userinfo.day }}天
+
+
+
+
+
+ LV.{{userinfo.quan_yi_level.level}}
+
+
+ 还差{{userinfo.quan_yi_level.cha}}欧气值升级
+ 已满级
+
+
+ {{userinfo.quan_yi_level.jindu+'%'}}
+
+
+
+ 查看详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 岚币
+ {{ userinfo.integral || 0 }}
+
+
+
+ 积分
+ {{ userinfo.score || 0 }}
+
+
+
+ 欧气券
+ {{ userinfo.coupon || 0 }}
+
+
+ 我的星钻
+
+
+
+ ¥
+ {{ userinfo.money || '0.00' }}
+
+
+ 查看明细
+
+
+
+
+
+
+ 主要任务
+
+
+
+ {{ item.title }}
+
+ 欧气值+{{ item.z_number }}
+
+
+
+
+
+
+ {{ item.ywc_count }}/{{ item.number }}
+
+
+
+
+
+ 去完成
+
+
+
+ 待领取
+
+
+
+ 已领取
+
+
+
+
+
+
+
+ 其他服务
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加客服领优惠
+ 识别图中二维码
+
+
+
+
+
+
+
+
+
+
+
+
+ 星钻充值
+
+
+
+
+
+ 选择充值金额
+
+
+ ¥
+ {{ v }}
+
+
+
+
+ 输入充值金额
+
+
+
+
+ 需支付:{{ money_1 || 0 }}元
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 微信零钱
+
+
+
+ 支付宝
+
+
+
+
+
+
+ 输入提现金额
+
+
+
+ 全部提现
+
+
+
+ 到账账户
+ 微信零钱
+
+
+
+
+ 姓名
+
+
+
+ 账户
+
+
+ 输入提现金额
+
+
+
+ 全部提现
+
+
+
+
+ 确认提现
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/jf_jl.vue b/pages/user/jf_jl.vue
new file mode 100644
index 0000000..5b3253d
--- /dev/null
+++ b/pages/user/jf_jl.vue
@@ -0,0 +1,320 @@
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.content }}
+ {{ item.addtime }}
+
+
+ {{ item.change_money }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/login.vue b/pages/user/login.vue
new file mode 100644
index 0000000..7174224
--- /dev/null
+++ b/pages/user/login.vue
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+ 申请获取以下权限
+ 获得你的公开信息(昵称,头像、地区等)
+
+
+
+
+
+
+
+
+
+
+ 我已阅读并同意
+
+ 《用户协议》
+
+ 和
+
+ 《隐私政策》
+
+
+
+
+
+
+ 拒绝
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/myCa.vue b/pages/user/myCa.vue
new file mode 100644
index 0000000..1dc338e
--- /dev/null
+++ b/pages/user/myCa.vue
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+ {{item.goods_title}}
+ 所属IP {{item.goods_title}}
+ 拥有卡片数量:{{item.buy_count}}
+ 已选卡片数量:{{item.all_count}}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/myCaDetail.vue b/pages/user/myCaDetail.vue
new file mode 100644
index 0000000..5f97705
--- /dev/null
+++ b/pages/user/myCaDetail.vue
@@ -0,0 +1,1120 @@
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+ {{v}}
+
+
+
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ {{item.card_no}}
+ 参考价:{{item.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ×
+
+
+
+ 已选赠品
+ 共 {{num}} 件
+
+
+
+
+
+
+ ×{{item.number}}
+
+
+
+ 参考价:{{(Number(item.price)*item.number).toFixed(2)}}元
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ×
+
+
+
+ 已选赠品
+ 共 {{num}} 件
+
+
+
+
+
+
+ ×{{item.number}}
+
+
+ {{item.title}}
+
+
+
+
+
+
+ {{selectCity}}
+
+
+
+ 满{{post.free_post}}件赠品包邮
+ 如果不满{{post.free_post}}件,需支付{{post.post_money}}元运费
+
+
+
+
+
+
+
+
+ {{yulan_news.shang_title}}
+
+
+
+ {{yulan_news.goodslist_title}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/my_coupon copy.vue b/pages/user/my_coupon copy.vue
new file mode 100644
index 0000000..cc05083
--- /dev/null
+++ b/pages/user/my_coupon copy.vue
@@ -0,0 +1,475 @@
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}级
+ 欧气券
+
+
+ 可随机开出
+ {{ item.min }}-{{ item.max }}
+ 岚币
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 恭喜您获得{{ num }}个潮币
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/my_coupon.vue b/pages/user/my_coupon.vue
new file mode 100644
index 0000000..6913c93
--- /dev/null
+++ b/pages/user/my_coupon.vue
@@ -0,0 +1,683 @@
+
+
+
+
+
+
+
+
+ 岚币数量
+ {{ pageData.user_integral }}
+
+
+
+
+
+
+ 今日已参与
+ {{ pageData.y_count }}/{{ pageData.z_count }}
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+ 需要{{ item.kl_num2 }}个参与者
+
+
+
+ 立即分享
+
+
+
+
+
+ {{ item.yi_ling == item.kl_num2 ? '已结束' : '分享中' }}
+
+
+ {{ item.yi_ling }}/{{ item.kl_num2 }}
+
+
+
+
+
+
+
+
+ 已结束
+
+
+
+
+
+
+ 合并大礼包
+
+
+
+ 高级赏包、低级赏包最多{{ pageData && pageData.ke_hc_count }}个合并1个,合成将损耗{{
+ pageData && pageData.sun_hao
+ }}岚币!
+
+
+
+ 总岚币:{{ (mixData && mixData.sum_num) || 0 }} 将合成:{{
+ (mixData && mixData.coupon.title) || '普通赏券'
+ }}(岚币{{ (mixData && mixData.sh_num) || 0 }})
+
+
+
+ 全选
+
+ 取消
+
+
+ 合成(已选{{ chooseNum }}件)
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/order.vue b/pages/user/order.vue
new file mode 100644
index 0000000..fe5f88f
--- /dev/null
+++ b/pages/user/order.vue
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ list.name }}
+
+
+ {{ list.mobile }}
+
+
+ {{ list.address }}
+
+
+
+
+
+ 申请时间:{{ list.addtime }}
+
+ 待发货
+ 待收货
+ 已完成
+
+
+
+
+
+
+
+ ×{{ item.prize_num }}
+
+
+ {{ item.goodslist_title }}
+
+
+
+
+
+
+ 订单信息
+ 提交时间:{{ list.addtime }}
+ 订单编号:{{ list.send_num }}
+
+
+ 支付方式:微信支付
+ 下单时间:{{list.pay_time}}
+ 物流单号:{{ list.courier_number }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/sy_jl.vue b/pages/user/sy_jl.vue
new file mode 100644
index 0000000..ad9ad0c
--- /dev/null
+++ b/pages/user/sy_jl.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+ {{ item.content }}
+ {{ item.addtime }}
+
+
+ {{ item.change_money }}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/tui-guang-old.vue b/pages/user/tui-guang-old.vue
new file mode 100644
index 0000000..8dc2720
--- /dev/null
+++ b/pages/user/tui-guang-old.vue
@@ -0,0 +1,539 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ total }} 人
+
+
+
+
+
+ {{ commission }} 元
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickname }}
+ 累计消费
+
+
+ {{ item.addtime }}
+ ¥{{ item.commission_money }}
+
+
+
+
+
+
+
+
+
+
+
+ 查看更多
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/tui-guang.vue b/pages/user/tui-guang.vue
new file mode 100644
index 0000000..29f78a0
--- /dev/null
+++ b/pages/user/tui-guang.vue
@@ -0,0 +1,513 @@
+
+
+
+
+
+ 规则说明
+
+
+
+
+
+
+ 成功邀请好友获得佣金奖励
+
+
+ 已邀请
+
+ {{ total }}
+ 人
+
+
+
+
+ 奖励总额
+
+ {{ commission }}
+ 元
+
+
+
+
+
+
+
+
+
+
+
+
+ 邀请记录
+ (共{{ total }}人)
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+ {{item.addtime}}
+
+
+
+ 消费¥{{item.commission_money}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/vip.vue b/pages/user/vip.vue
new file mode 100644
index 0000000..7510ec0
--- /dev/null
+++ b/pages/user/vip.vue
@@ -0,0 +1,394 @@
+
+
+
+
+
+
+ LV.{{ userinfo.vip }}
+ 当前权益:{{ userinfo.notice || '(无)' }}
+
+
+
+ 还需消费{{ userinfo.upgrade_money }}可升级至V{{ userinfo.last_vip }}
+
+
+
+ {{userinfo.vip}}
+
+
+
+
+
+ 会员权益
+
+
+
+ {{item.title}}
+
+ {{ item.title }}
+ 获得条件:累计消费{{ item.condition }}
+ 权益说明:{{ item.notice || '(无)' }}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/user/wuliu_detail.vue b/pages/user/wuliu_detail.vue
new file mode 100644
index 0000000..fb34114
--- /dev/null
+++ b/pages/user/wuliu_detail.vue
@@ -0,0 +1,261 @@
+
+
+
+
+
+
+
+
+
+
+
+ 物流状态:
+ {{ imgurl.delivery_status }}
+
+ 快递公司:{{ imgurl.courier_name }}
+
+ 快递单号:{{ imgurl.courier_number }}
+ 复制
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.status }}
+
+
+ {{ item.time }}
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/xfjl.vue b/pages/user/xfjl.vue
new file mode 100644
index 0000000..44bcc25
--- /dev/null
+++ b/pages/user/xfjl.vue
@@ -0,0 +1,221 @@
+
+
+
+
+
+
+
+
+
+
+ {{ item.content }}
+ {{ item.addtime }}
+
+ {{ item.change_money }}
+
+
+
+
+
+
+
+
+
diff --git a/pages/user/yetx.vue b/pages/user/yetx.vue
new file mode 100644
index 0000000..2846c66
--- /dev/null
+++ b/pages/user/yetx.vue
@@ -0,0 +1,306 @@
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.content }}
+ {{ item.addtime }}
+
+ {{ item.change_money }}
+
+
+
+
+
+
+
+
+
diff --git a/pages/zizhi/detail.vue b/pages/zizhi/detail.vue
new file mode 100644
index 0000000..42f81ac
--- /dev/null
+++ b/pages/zizhi/detail.vue
@@ -0,0 +1,315 @@
+
+
+
+
+
+
+ 龙珠手办店
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+
+ ¥
+ {{ item.price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/zizhi/index.vue b/pages/zizhi/index.vue
new file mode 100644
index 0000000..ea55367
--- /dev/null
+++ b/pages/zizhi/index.vue
@@ -0,0 +1,238 @@
+
+
+
+
+ {{v}}
+
+
+
+
+
+
+
+
+
+
+ {{item.sale_stock}}/{{item.stock}}
+
+
+
+ 龙珠手办店
+
+
+
+
+
+
+
+
+
+
diff --git a/static/common/cardIcon.png b/static/common/cardIcon.png
new file mode 100644
index 0000000..ee79a01
Binary files /dev/null and b/static/common/cardIcon.png differ
diff --git a/static/common/kong.png b/static/common/kong.png
new file mode 100644
index 0000000..d917fb7
Binary files /dev/null and b/static/common/kong.png differ
diff --git a/static/common/signImg.png b/static/common/signImg.png
new file mode 100644
index 0000000..67370e9
Binary files /dev/null and b/static/common/signImg.png differ
diff --git a/static/tabbar/m1.png b/static/tabbar/m1.png
new file mode 100644
index 0000000..7722006
Binary files /dev/null and b/static/tabbar/m1.png differ
diff --git a/static/tabbar/m2.png b/static/tabbar/m2.png
new file mode 100644
index 0000000..ba3323d
Binary files /dev/null and b/static/tabbar/m2.png differ
diff --git a/static/tabbar/m3.png b/static/tabbar/m3.png
new file mode 100644
index 0000000..3aa3969
Binary files /dev/null and b/static/tabbar/m3.png differ
diff --git a/static/tabbar/m4.png b/static/tabbar/m4.png
new file mode 100644
index 0000000..3cff563
Binary files /dev/null and b/static/tabbar/m4.png differ
diff --git a/static/tabbar/m5.png b/static/tabbar/m5.png
new file mode 100644
index 0000000..07d93f4
Binary files /dev/null and b/static/tabbar/m5.png differ
diff --git a/static/tabbar/s1.png b/static/tabbar/s1.png
new file mode 100644
index 0000000..d391051
Binary files /dev/null and b/static/tabbar/s1.png differ
diff --git a/static/tabbar/s2.png b/static/tabbar/s2.png
new file mode 100644
index 0000000..b70b2f1
Binary files /dev/null and b/static/tabbar/s2.png differ
diff --git a/static/tabbar/s3.png b/static/tabbar/s3.png
new file mode 100644
index 0000000..7efb93f
Binary files /dev/null and b/static/tabbar/s3.png differ
diff --git a/static/tabbar/s4.png b/static/tabbar/s4.png
new file mode 100644
index 0000000..54c4745
Binary files /dev/null and b/static/tabbar/s4.png differ
diff --git a/static/tabbar/s5.png b/static/tabbar/s5.png
new file mode 100644
index 0000000..bb25da2
Binary files /dev/null and b/static/tabbar/s5.png differ
diff --git a/style/common.scss b/style/common.scss
new file mode 100644
index 0000000..dee4c17
--- /dev/null
+++ b/style/common.scss
@@ -0,0 +1,29 @@
+@import '@/style/mixin.scss';
+view,
+page,
+text,
+button,
+image,
+textarea,
+scroll-view,input {
+ box-sizing: border-box;
+}
+image {
+ display: block;
+}
+button {
+ margin: 0;
+ padding: 0;
+ background-color: #FFFF;
+}
+button::after {
+ border: none;
+}
+// 主题背景色
+.themeBgColor {
+ background-color: $themeColor;
+}
+// 主题字体色
+.themeFontColor {
+ color: $themeColor !important;
+}
\ No newline at end of file
diff --git a/style/input.scss b/style/input.scss
new file mode 100644
index 0000000..caea9fb
--- /dev/null
+++ b/style/input.scss
@@ -0,0 +1,317 @@
+.input_form_box {
+ .input_title {
+ font-size: 32upx;
+ color: #333333;
+ padding: 30upx;
+ &.required::before {
+ content: '*';
+ font-size: 30upx;
+ color: #f73333;
+ }
+ }
+
+ .input_box {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ padding: 0 30upx;
+ background-color: #fff;
+ &.line {
+ border-top: 1upx solid #f7f7f7;
+ }
+ &.btm_line {
+ border-bottom: 1upx solid #f7f7f7;
+ }
+ .name {
+ font-size: 30upx;
+ color: #666666;
+ min-width: 120upx;
+ flex-shrink: 0;
+ padding: 30upx 0;
+
+ &.required::before {
+ content: '*';
+ font-size: 30upx;
+ color: #f73333;
+ }
+ }
+ .prompt {
+ width: 100%;
+ padding-bottom: 20upx;
+ font-size: 28upx;
+ color: #999999;
+ transform: translateY(-10upx);
+ }
+
+ picker {
+ flex: 1;
+ }
+ }
+ .input_info {
+ padding: 30upx 0;
+ display: flex;
+ flex: 1;
+ align-items: center;
+ > text {
+ font-size: 24upx;
+ color: #555555;
+ margin-left: 10upx;
+ flex-shrink: 0;
+ }
+ input {
+ width: 100%;
+ text-align: right;
+ font-size: 30upx;
+ }
+ button {
+ flex-shrink: 0;
+ min-width: 146upx;
+ padding: 0 30upx;
+ height: 60upx;
+ line-height: 60upx;
+ background-color: $themeColor;
+ border-radius: 8upx;
+ font-size: 24upx;
+ color: #ffffff;
+ margin-left: 20upx;
+ }
+ }
+ .switch {
+ flex: 1;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+
+ &::after {
+ content: "";
+ @include bis('https://qn.kemean.cn/upload/201908/05/5f85ccc4de404cafb30b15dedef41e8b', 100% 100%);
+ width: 108upx;
+ height: 58upx;
+ }
+
+ &.active::after {
+ background-image: url('https://qn.kemean.cn/upload/201908/05/eef318fa5c9f4692a1bd6ef6edd9be10');
+ }
+ }
+ .radio_box {
+ padding: 30upx 0;
+ flex: 1;
+ display: flex;
+ justify-content: flex-end;
+
+ view {
+ display: flex;
+ align-items: center;
+ font-size: 28upx;
+ color: #333333;
+ margin-left: 90upx;
+
+ &:first-child {
+ margin-left: 0;
+ }
+
+ &::before {
+ content: '';
+ width: 38upx;
+ height: 38upx;
+ margin-right: 15upx;
+ border: 2upx solid #eee;
+ border-radius: 50%;
+ box-sizing: border-box;
+ }
+
+ &.active::before {
+ border: 12upx solid $themeColor;
+ }
+ }
+ }
+
+ .select_info {
+ padding: 30upx 0;
+ flex: 1;
+ display: flex;
+ justify-content: flex-end;
+ align-items: center;
+
+ .value {
+ font-size: 30upx;
+ color: #333;
+ text-align: right;
+ }
+
+ .select {
+ font-size: 30upx;
+ color: #999999;
+ }
+
+ .head_img {
+ width: 100upx;
+ height: 100upx;
+ border-radius: 10upx;
+ }
+
+ &::after {
+ content: '';
+ @include bis('http://qn.kemean.cn/upload/201907/23/me_lise_more.png', 100% 100%);
+ width: 15upx;
+ height: 26upx;
+ margin-left: 20upx;
+ flex-shrink: 0;
+ }
+ }
+
+ .upload_info {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ padding-bottom: 10upx;
+
+ .upload_img {
+ width: 200upx;
+ height: 200upx;
+ background-color: #ffffff;
+ border-radius: 4upx;
+ margin-right: 16upx;
+ margin-bottom: 16upx;
+ overflow: hidden;
+ position: relative;
+
+ &:nth-child(3n) {
+ margin-right: 0;
+ }
+
+ image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .delete {
+ position: absolute;
+ top: 0upx;
+ right: 0upx;
+ width: 44upx;
+ height: 44upx;
+ background-image: url('https://qn.kemean.cn/upload/201908/05/df40b98b77fc4c42a5e0327c62975e29');
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+ }
+
+ &.upload {
+ border: 1upx dashed #b2b2b2;
+ background-image: url('https://qn.kemean.cn/upload/201908/05/d68df2873cd04f18a70104e340a14884');
+ background-position: center center;
+ background-repeat: no-repeat;
+ background-size: 60% 60%;
+ }
+ }
+ }
+ .textarea_info {
+ width: 100%;
+ padding-bottom: 30upx;
+ font-size: 28upx;
+ color: #333;
+
+ textarea {
+ width: 100%;
+ height: 154upx;
+ font-size: 30upx;
+ line-height: 150%;
+ }
+ }
+}
+
+.protocol {
+ margin-top: 20upx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 28upx;
+ color: #666;
+
+ text {
+ color: $themeColor;
+ }
+ view {
+ @include theme('unselected_img', './');
+ background-repeat: no-repeat;
+ background-position: center center;
+ background-size: cover;
+ width: 34upx;
+ height: 34upx;
+ margin-right: 10upx;
+ &.active {
+ @include theme('radio_img', './');
+ }
+ }
+}
+
+.form_but {
+ margin-top: 80upx;
+ padding: 30upx;
+ display: flex;
+ justify-content: center;
+ button {
+ flex: 1;
+ height: 88upx;
+ background-color: #f0f0f0;
+ border-radius: 8upx;
+ line-height: 88upx;
+ font-size: 34upx;
+ color: #cccccc;
+
+ &.active {
+ @include theme("btn_bg");
+ color: #ffffff;
+ }
+
+ &::after {
+ border: none;
+ }
+ }
+}
+// -----------------------导航条-------------------------------
+.cell_list {
+ background-color: #fff;
+ padding: 30upx;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ border-bottom: 1upx solid #f5f5f5;
+ &:active {
+ background-color: #f5f5f5;
+ }
+ &.interval {
+ margin-bottom: 20upx;
+ border-bottom: 0;
+ }
+ .cell_left {
+ font-size: 28upx;
+ color: #333333;
+ display: flex;
+ align-items: center;
+ image {
+ width: 30upx;
+ height: 30upx;
+ margin-right: 20upx;
+ }
+ }
+ .cell_right {
+ font-size: 28upx;
+ color: #333333;
+ display: flex;
+ align-items: center;
+ &.arrow::after {
+ content: '';
+ @include bis('./static/icon/me_lise_more.png', 100% 100%);
+ width: 12upx;
+ height: 22upx;
+ margin-left: 20upx;
+ }
+ image {
+ width: 36upx;
+ height: 36upx;
+ margin-left: 20upx;
+ }
+ }
+}
\ No newline at end of file
diff --git a/style/mixin.scss b/style/mixin.scss
new file mode 100644
index 0000000..af1fb0a
--- /dev/null
+++ b/style/mixin.scss
@@ -0,0 +1,49 @@
+@charset "utf-8";
+//主题色
+$themeColor: #ea552d;
+
+@mixin theme($type,$path:''){
+ @if $type == "btn_bg" {
+ background-image: linear-gradient(90deg, #ea552d 0%, #f19837 100%);
+ } @else if $type == "unselected_img" {
+ background-image: url($path + "static/icon/ic_gender_unselected.png");
+ } @else if $type == "check_img" {
+ background-image: url($path + "static/icon/ic_agreed.png");
+ } @else if $type == "radio_img" {
+ background-image: url($path + "static/icon/ic_gender_selected.png");
+ }
+}
+// 背景图片地址和大小
+@mixin bis($url, $size: cover) {
+ background-image: url($url);
+ background-repeat: no-repeat;
+ background-position: center center;
+ background-size: $size;
+}
+
+// 头像
+@mixin ic($width, $height) {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ overflow: hidden;
+ flex-shrink: 0;
+ width: $width;
+ height: $height;
+}
+
+// 单行省略号
+@mixin toe() {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap
+}
+
+// 多行省略号
+@mixin bov($num:2) {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: $num;
+ -webkit-box-orient: vertical;
+}
diff --git a/style/table.scss b/style/table.scss
new file mode 100644
index 0000000..f0bb5ca
--- /dev/null
+++ b/style/table.scss
@@ -0,0 +1,54 @@
+.table_box {
+ background-color: #FFFFFF;
+ .table_title {
+ padding: 0rpx 20rpx;
+ font-size: 30rpx;
+ height: 60rpx;
+ line-height: 60rpx;
+ color: #FFF;
+ text-align: center;
+ font-weight: bold;
+ background-color: rgba($color: $themeColor, $alpha: 1);
+ }
+ .table_head {
+ display: flex;
+ align-content: center;
+ background-color: rgba($color: $themeColor, $alpha: 0.35);
+ text {
+ padding: 15rpx 20rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex: 1;
+ flex-shrink: 0;
+ font-size: 28rpx;
+ color: #333;
+ font-weight: bold;
+ border-right: 2rpx solid rgba($color: $themeColor, $alpha: 0.2);
+ &:last-child {
+ border-right: 0;
+ flex: 2;
+ }
+ }
+ }
+ .table_content {
+ display: flex;
+ align-content: center;
+ border-top: 2rpx solid rgba($color: $themeColor, $alpha: 0.2);
+ background-color: rgba($color: $themeColor, $alpha: 0.2);
+ text {
+ padding: 15rpx 20rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex: 1;
+ font-size: 28rpx;
+ color: #999;
+ border-right: 2rpx solid rgba($color: $themeColor, $alpha: 0.3);
+ &:last-child {
+ border-right: 0;
+ flex: 2;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni.scss b/uni.scss
new file mode 100644
index 0000000..7e4fce6
--- /dev/null
+++ b/uni.scss
@@ -0,0 +1,78 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+ // @import 'uview-ui/theme.scss';
+/* 颜色变量 */
+
+$imgurl:'https://xinglanmh.shequtuangou.vip/static/web/static/';
+
+/* 行为相关颜色 */
+$uni-color-primary: #007aff;
+$uni-color-success: #4cd964;
+$uni-color-warning: #f0ad4e;
+$uni-color-error: #dd524d;
+
+/* 文字基本颜色 */
+$uni-text-color:#333;//基本色
+$uni-text-color-inverse:#fff;//反色
+$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息
+$uni-text-color-placeholder: #808080;
+$uni-text-color-disable:#c0c0c0;
+
+/* 背景颜色 */
+$uni-bg-color:#ffffff;
+$uni-bg-color-grey:#f8f8f8;
+$uni-bg-color-hover:#f1f1f1;//点击状态颜色
+$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
+
+/* 边框颜色 */
+$uni-border-color:#c8c7cc;
+
+/* 尺寸变量 */
+
+/* 文字尺寸 */
+$uni-font-size-sm:24rpx;
+$uni-font-size-base:28rpx;
+$uni-font-size-lg:32rpx;
+
+/* 图片尺寸 */
+$uni-img-size-sm:40rpx;
+$uni-img-size-base:52rpx;
+$uni-img-size-lg:80rpx;
+
+/* Border Radius */
+$uni-border-radius-sm: 4rpx;
+$uni-border-radius-base: 6rpx;
+$uni-border-radius-lg: 12rpx;
+$uni-border-radius-circle: 50%;
+
+/* 水平间距 */
+$uni-spacing-row-sm: 10px;
+$uni-spacing-row-base: 20rpx;
+$uni-spacing-row-lg: 30rpx;
+
+/* 垂直间距 */
+$uni-spacing-col-sm: 8rpx;
+$uni-spacing-col-base: 16rpx;
+$uni-spacing-col-lg: 24rpx;
+
+/* 透明度 */
+$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
+
+/* 文章场景相关 */
+$uni-color-title: #2C405A; // 文章标题颜色
+$uni-font-size-title:40rpx;
+$uni-color-subtitle: #555555; // 二级标题颜色
+$uni-font-size-subtitle:36rpx;
+$uni-color-paragraph: #3F536E; // 文章段落颜色
+$uni-font-size-paragraph:30rpx;
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/changelog.md b/uni_modules/mescroll-uni/changelog.md
new file mode 100644
index 0000000..dd6dd72
--- /dev/null
+++ b/uni_modules/mescroll-uni/changelog.md
@@ -0,0 +1,8 @@
+## 1.3.8(2023-03-27)
+1. 新增useMescroll的hook, 支持vue3 script setup的写法
+2. 新增vue3 script setup的示例 ( 根据vue2的示例,全部重写了一遍 )
+3. mescroll-body 和 mescroll-uni 无需再写 ref="mescrollRef"
+4. 解决mescroll-uni在页面渲染之后,无法动态设置height的问题
+5. 解决renderjs在h5返回有时候无法正常滑动的问题
+6. 修复小程序编辑器提示 Cannot read property 'nv_optDown' of undefined 的错误
+-by 小瑾同学
diff --git a/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.css b/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.css
new file mode 100644
index 0000000..1107710
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.css
@@ -0,0 +1,19 @@
+.mescroll-body {
+ position: relative; /* 下拉刷新区域相对自身定位 */
+ height: auto; /* 不可固定高度,否则overflow:hidden导致无法滑动; 同时使设置的最小高生效,实现列表不满屏仍可下拉*/
+ overflow: hidden; /* 当有元素写在mescroll-body标签前面时,可遮住下拉刷新区域 */
+ box-sizing: border-box; /* 避免设置padding出现双滚动条的问题 */
+}
+
+/* 使sticky生效: 父元素不能overflow:hidden或者overflow:auto属性 */
+.mescroll-body.mescorll-sticky{
+ overflow: unset !important
+}
+
+/* 适配 iPhoneX */
+@supports (bottom: constant(safe-area-inset-bottom)) or (bottom: env(safe-area-inset-bottom)) {
+ .mescroll-safearea {
+ padding-bottom: constant(safe-area-inset-bottom);
+ padding-bottom: env(safe-area-inset-bottom);
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.vue b/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.vue
new file mode 100644
index 0000000..76d7728
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.vue
@@ -0,0 +1,400 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{downText}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ mescroll.optUp.textLoading }}
+
+
+ {{ mescroll.optUp.textNoMore }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty.vue b/uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty.vue
new file mode 100644
index 0000000..89dedd3
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty.vue
@@ -0,0 +1,123 @@
+
+
+
+
+ {{ tip }}
+ {{ btnText }}
+
+
+
+
+
+
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-down.css b/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-down.css
new file mode 100644
index 0000000..72bf106
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-down.css
@@ -0,0 +1,55 @@
+/* 下拉刷新区域 */
+.mescroll-downwarp {
+ position: absolute;
+ top: -100%;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ text-align: center;
+}
+
+/* 下拉刷新--内容区,定位于区域底部 */
+.mescroll-downwarp .downwarp-content {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ width: 100%;
+ min-height: 60rpx;
+ padding: 20rpx 0;
+ text-align: center;
+}
+
+/* 下拉刷新--提示文本 */
+.mescroll-downwarp .downwarp-tip {
+ display: inline-block;
+ font-size: 28rpx;
+ vertical-align: middle;
+ margin-left: 16rpx;
+ /* color: gray; 已在style设置color,此处删去*/
+}
+
+/* 下拉刷新--旋转进度条 */
+.mescroll-downwarp .downwarp-progress {
+ display: inline-block;
+ width: 32rpx;
+ height: 32rpx;
+ border-radius: 50%;
+ border: 2rpx solid gray;
+ border-bottom-color: transparent !important; /*已在style设置border-color,此处需加 !important*/
+ vertical-align: middle;
+}
+
+/* 旋转动画 */
+.mescroll-downwarp .mescroll-rotate {
+ animation: mescrollDownRotate 0.6s linear infinite;
+}
+
+@keyframes mescrollDownRotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ 100% {
+ transform: rotate(360deg);
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-down.vue b/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-down.vue
new file mode 100644
index 0000000..9fd1567
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-down.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+ {{downText}}
+
+
+
+
+
+
+
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top.vue b/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top.vue
new file mode 100644
index 0000000..a92de69
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top.vue
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-up.css b/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-up.css
new file mode 100644
index 0000000..cbf48cd
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-up.css
@@ -0,0 +1,47 @@
+/* 上拉加载区域 */
+.mescroll-upwarp {
+ box-sizing: border-box;
+ min-height: 110rpx;
+ padding: 30rpx 0;
+ text-align: center;
+ clear: both;
+}
+
+/*提示文本 */
+.mescroll-upwarp .upwarp-tip,
+.mescroll-upwarp .upwarp-nodata {
+ display: inline-block;
+ font-size: 28rpx;
+ vertical-align: middle;
+ /* color: gray; 已在style设置color,此处删去*/
+}
+
+.mescroll-upwarp .upwarp-tip {
+ margin-left: 16rpx;
+}
+
+/*旋转进度条 */
+.mescroll-upwarp .upwarp-progress {
+ display: inline-block;
+ width: 32rpx;
+ height: 32rpx;
+ border-radius: 50%;
+ border: 2rpx solid gray;
+ border-bottom-color: transparent !important; /*已在style设置border-color,此处需加 !important*/
+ vertical-align: middle;
+}
+
+/* 旋转动画 */
+.mescroll-upwarp .mescroll-rotate {
+ animation: mescrollUpRotate 0.6s linear infinite;
+}
+
+@keyframes mescrollUpRotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+
+ 100% {
+ transform: rotate(360deg);
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-up.vue b/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-up.vue
new file mode 100644
index 0000000..11c2e1f
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-up.vue
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+ {{ mOption.textLoading }}
+
+
+ {{ mOption.textNoMore }}
+
+
+
+
+
+
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-i18n.js b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-i18n.js
new file mode 100644
index 0000000..2b6a50f
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-i18n.js
@@ -0,0 +1,15 @@
+// 国际化工具类
+const mescrollI18n = {
+ // 默认语言
+ def: "zh",
+ // 获取当前语言类型
+ getType(){
+ return uni.getStorageSync("mescroll-i18n") || this.def
+ },
+ // 设置当前语言类型
+ setType(type){
+ uni.setStorageSync("mescroll-i18n", type)
+ }
+}
+
+export default mescrollI18n
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js
new file mode 100644
index 0000000..10f68c0
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js
@@ -0,0 +1,46 @@
+// mescroll-body 和 mescroll-uni 通用
+const MescrollMixin = {
+ data() {
+ return {
+ mescroll: null //mescroll实例对象
+ }
+ },
+ // 注册系统自带的下拉刷新 (配置down.native为true时生效, 还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例)
+ onPullDownRefresh(){
+ this.mescroll && this.mescroll.onPullDownRefresh();
+ },
+ // 注册列表滚动事件,用于判定在顶部可下拉刷新,在指定位置可显示隐藏回到顶部按钮 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效)
+ onPageScroll(e) {
+ this.mescroll && this.mescroll.onPageScroll(e);
+ },
+ // 注册滚动到底部的事件,用于上拉加载 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效)
+ onReachBottom() {
+ this.mescroll && this.mescroll.onReachBottom();
+ },
+ methods: {
+ // mescroll组件初始化的回调,可获取到mescroll对象
+ mescrollInit(mescroll) {
+ this.mescroll = mescroll;
+ },
+ // 下拉刷新的回调 (mixin默认resetUpScroll)
+ downCallback() {
+ if(this.mescroll.optUp.use){
+ this.mescroll.resetUpScroll()
+ }else{
+ setTimeout(()=>{
+ this.mescroll.endSuccess();
+ }, 500)
+ }
+ },
+ // 上拉加载的回调
+ upCallback() {
+ // mixin默认延时500自动结束加载
+ setTimeout(()=>{
+ this.mescroll.endErr();
+ }, 500)
+ }
+ }
+
+}
+
+export default MescrollMixin;
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni-option.js b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni-option.js
new file mode 100644
index 0000000..55d331e
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni-option.js
@@ -0,0 +1,64 @@
+// 全局配置
+// mescroll-body 和 mescroll-uni 通用
+const GlobalOption = {
+ down: {
+ // 其他down的配置参数也可以写,这里只展示了常用的配置:
+ offset: 80, // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调
+ native: false // 是否使用系统自带的下拉刷新; 默认false; 仅在mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例)
+ },
+ up: {
+ // 其他up的配置参数也可以写,这里只展示了常用的配置:
+ offset: 150, // 距底部多远时,触发upCallback,仅mescroll-uni生效 ( mescroll-body配置的是pages.json的 onReachBottomDistance )
+ toTop: {
+ // 回到顶部按钮,需配置src才显示
+ src: "https://www.mescroll.com/img/mescroll-totop.png", // 图片路径 (建议放入static目录, 如 /static/img/mescroll-totop.png )
+ offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000px
+ right: 20, // 到右边的距离, 默认20 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx)
+ bottom: 120, // 到底部的距离, 默认120 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx)
+ width: 72 // 回到顶部图标的宽度, 默认72 (支持"20rpx", "20px", "20%"格式的值, 纯数字则默认单位rpx)
+ },
+ empty: {
+ use: true, // 是否显示空布局
+ icon: "https://www.mescroll.com/img/mescroll-empty.png" // 图标路径 (建议放入static目录, 如 /static/img/mescroll-empty.png )
+ }
+ },
+ // 国际化配置
+ i18n: {
+ // 中文
+ zh: {
+ down: {
+ textInOffset: '下拉刷新', // 下拉的距离在offset范围内的提示文本
+ textOutOffset: '释放更新', // 下拉的距离大于offset范围的提示文本
+ textLoading: '加载中 ...', // 加载中的提示文本
+ textSuccess: '加载成功', // 加载成功的文本
+ textErr: '加载失败', // 加载失败的文本
+ },
+ up: {
+ textLoading: '加载中 ...', // 加载中的提示文本
+ textNoMore: '-- END --', // 没有更多数据的提示文本
+ empty: {
+ tip: '~ 空空如也 ~' // 空提示
+ }
+ }
+ },
+ // 英文
+ en: {
+ down: {
+ textInOffset: 'drop down refresh',
+ textOutOffset: 'release updates',
+ textLoading: 'loading ...',
+ textSuccess: 'loaded successfully',
+ textErr: 'loading failed'
+ },
+ up: {
+ textLoading: 'loading ...',
+ textNoMore: '-- END --',
+ empty: {
+ tip: '~ absolutely empty ~'
+ }
+ }
+ }
+ }
+}
+
+export default GlobalOption
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.css b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.css
new file mode 100644
index 0000000..39438cd
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.css
@@ -0,0 +1,36 @@
+.mescroll-uni-warp{
+ height: 100%;
+}
+
+.mescroll-uni-content{
+ height: 100%;
+}
+
+.mescroll-uni {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ min-height: 200rpx;
+ overflow-y: auto;
+ box-sizing: border-box; /* 避免设置padding出现双滚动条的问题 */
+}
+
+/* 定位的方式固定高度 */
+.mescroll-uni-fixed{
+ z-index: 1;
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ width: auto; /* 使right生效 */
+ height: auto; /* 使bottom生效 */
+}
+
+/* 适配 iPhoneX */
+@supports (bottom: constant(safe-area-inset-bottom)) or (bottom: env(safe-area-inset-bottom)) {
+ .mescroll-safearea {
+ padding-bottom: constant(safe-area-inset-bottom);
+ padding-bottom: env(safe-area-inset-bottom);
+ }
+}
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.js b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.js
new file mode 100644
index 0000000..3bfdac1
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.js
@@ -0,0 +1,799 @@
+/* mescroll
+ * version 1.3.7
+ * 2021-04-12 wenju
+ * https://www.mescroll.com
+ */
+
+export default function MeScroll(options, isScrollBody) {
+ let me = this;
+ me.version = '1.3.7'; // mescroll版本号
+ me.options = options || {}; // 配置
+ me.isScrollBody = isScrollBody || false; // 滚动区域是否为原生页面滚动; 默认为scroll-view
+
+ me.isDownScrolling = false; // 是否在执行下拉刷新的回调
+ me.isUpScrolling = false; // 是否在执行上拉加载的回调
+ let hasDownCallback = me.options.down && me.options.down.callback; // 是否配置了down的callback
+
+ // 初始化下拉刷新
+ me.initDownScroll();
+ // 初始化上拉加载,则初始化
+ me.initUpScroll();
+
+ // 自动加载
+ setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例
+ // 自动触发下拉刷新 (只有配置了down的callback才自动触发下拉刷新)
+ if ((me.optDown.use || me.optDown.native) && me.optDown.auto && hasDownCallback) {
+ if (me.optDown.autoShowLoading) {
+ me.triggerDownScroll(); // 显示下拉进度,执行下拉回调
+ } else {
+ me.optDown.callback && me.optDown.callback(me); // 不显示下拉进度,直接执行下拉回调
+ }
+ }
+ // 自动触发上拉加载
+ if(!me.isUpAutoLoad){ // 部分小程序(头条小程序)emit是异步, 会导致isUpAutoLoad判断有误, 先延时确保先执行down的callback,再执行up的callback
+ setTimeout(function(){
+ me.optUp.use && me.optUp.auto && !me.isUpAutoLoad && me.triggerUpScroll();
+ },100)
+ }
+ }, 30); // 需让me.optDown.inited和me.optUp.inited先执行
+}
+
+/* 配置参数:下拉刷新 */
+MeScroll.prototype.extendDownScroll = function(optDown) {
+ // 下拉刷新的配置
+ MeScroll.extend(optDown, {
+ use: true, // 是否启用下拉刷新; 默认true
+ auto: true, // 是否在初始化完毕之后自动执行下拉刷新的回调; 默认true
+ native: false, // 是否使用系统自带的下拉刷新; 默认false; 仅mescroll-body生效 (值为true时,还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例)
+ autoShowLoading: false, // 如果设置auto=true(在初始化完毕之后自动执行下拉刷新的回调),那么是否显示下拉刷新的进度; 默认false
+ isLock: false, // 是否锁定下拉刷新,默认false;
+ offset: 80, // 在列表顶部,下拉大于80px,松手即可触发下拉刷新的回调
+ startTop: 100, // scroll-view快速滚动到顶部时,此时的scroll-top可能大于0, 此值用于控制最大的误差
+ inOffsetRate: 1, // 在列表顶部,下拉的距离小于offset时,改变下拉区域高度比例;值小于1且越接近0,高度变化越小,表现为越往下越难拉
+ outOffsetRate: 0.2, // 在列表顶部,下拉的距离大于offset时,改变下拉区域高度比例;值小于1且越接近0,高度变化越小,表现为越往下越难拉
+ bottomOffset: 20, // 当手指touchmove位置在距离body底部20px范围内的时候结束上拉刷新,避免Webview嵌套导致touchend事件不执行
+ minAngle: 45, // 向下滑动最少偏移的角度,取值区间 [0,90];默认45度,即向下滑动的角度大于45度则触发下拉;而小于45度,将不触发下拉,避免与左右滑动的轮播等组件冲突;
+ textInOffset: '下拉刷新', // 下拉的距离在offset范围内的提示文本
+ textOutOffset: '释放更新', // 下拉的距离大于offset范围的提示文本
+ textLoading: '加载中 ...', // 加载中的提示文本
+ textSuccess: '加载成功', // 加载成功的文本
+ textErr: '加载失败', // 加载失败的文本
+ beforeEndDelay: 0, // 延时结束的时长 (显示加载成功/失败的时长, android小程序设置此项结束下拉会卡顿, 配置后请注意测试)
+ bgColor: "transparent", // 背景颜色 (建议在pages.json中再设置一下backgroundColorTop)
+ textColor: "gray", // 文本颜色 (当bgColor配置了颜色,而textColor未配置时,则textColor会默认为白色)
+ inited: null, // 下拉刷新初始化完毕的回调
+ inOffset: null, // 下拉的距离进入offset范围内那一刻的回调
+ outOffset: null, // 下拉的距离大于offset那一刻的回调
+ onMoving: null, // 下拉过程中的回调,滑动过程一直在执行; rate下拉区域当前高度与指定距离的比值(inOffset: rate<1; outOffset: rate>=1); downHight当前下拉区域的高度
+ beforeLoading: null, // 准备触发下拉刷新的回调: 如果return true,将不触发showLoading和callback回调; 常用来完全自定义下拉刷新, 参考案例【淘宝 v6.8.0】
+ showLoading: null, // 显示下拉刷新进度的回调
+ afterLoading: null, // 显示下拉刷新进度的回调之后,马上要执行的代码 (如: 在wxs中使用)
+ beforeEndDownScroll: null, // 准备结束下拉的回调. 返回结束下拉的延时执行时间,默认0ms; 常用于结束下拉之前再显示另外一小段动画,才去隐藏下拉刷新的场景, 参考案例【dotJump】
+ endDownScroll: null, // 结束下拉刷新的回调
+ afterEndDownScroll: null, // 结束下拉刷新的回调,马上要执行的代码 (如: 在wxs中使用)
+ callback: function(mescroll) {
+ // 下拉刷新的回调;默认重置上拉加载列表为第一页
+ mescroll.resetUpScroll();
+ }
+ })
+}
+
+/* 配置参数:上拉加载 */
+MeScroll.prototype.extendUpScroll = function(optUp) {
+ // 上拉加载的配置
+ MeScroll.extend(optUp, {
+ use: true, // 是否启用上拉加载; 默认true
+ auto: true, // 是否在初始化完毕之后自动执行上拉加载的回调; 默认true
+ isLock: false, // 是否锁定上拉加载,默认false;
+ isBoth: true, // 上拉加载时,如果滑动到列表顶部是否可以同时触发下拉刷新;默认true,两者可同时触发;
+ callback: null, // 上拉加载的回调;function(page,mescroll){ }
+ page: {
+ num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
+ size: 10, // 每页数据的数量
+ time: null // 加载第一页数据服务器返回的时间; 防止用户翻页时,后台新增了数据从而导致下一页数据重复;
+ },
+ noMoreSize: 5, // 如果列表已无数据,可设置列表的总数量要大于等于5条才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看
+ offset: 150, // 距底部多远时,触发upCallback,仅mescroll-uni生效 ( mescroll-body配置的是pages.json的 onReachBottomDistance )
+ textLoading: '加载中 ...', // 加载中的提示文本
+ textNoMore: '-- END --', // 没有更多数据的提示文本
+ bgColor: "transparent", // 背景颜色 (建议在pages.json中再设置一下backgroundColorBottom)
+ textColor: "gray", // 文本颜色 (当bgColor配置了颜色,而textColor未配置时,则textColor会默认为白色)
+ inited: null, // 初始化完毕的回调
+ showLoading: null, // 显示加载中的回调
+ showNoMore: null, // 显示无更多数据的回调
+ hideUpScroll: null, // 隐藏上拉加载的回调
+ errDistance: 60, // endErr的时候需往上滑动一段距离,使其往下滑动时再次触发onReachBottom,仅mescroll-body生效
+ toTop: {
+ // 回到顶部按钮,需配置src才显示
+ src: null, // 图片路径,默认null (绝对路径或网络图)
+ offset: 1000, // 列表滚动多少距离才显示回到顶部按钮,默认1000
+ duration: 300, // 回到顶部的动画时长,默认300ms (当值为0或300则使用系统自带回到顶部,更流畅; 其他值则通过step模拟,部分机型可能不够流畅,所以非特殊情况不建议修改此项)
+ btnClick: null, // 点击按钮的回调
+ onShow: null, // 是否显示的回调
+ zIndex: 9990, // fixed定位z-index值
+ left: null, // 到左边的距离, 默认null. 此项有值时,right不生效. (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx)
+ right: 20, // 到右边的距离, 默认20 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx)
+ bottom: 120, // 到底部的距离, 默认120 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx)
+ safearea: false, // bottom的偏移量是否加上底部安全区的距离, 默认false, 需要适配iPhoneX时使用 (具体的界面如果不配置此项,则取本vue的safearea值)
+ width: 72, // 回到顶部图标的宽度, 默认72 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx)
+ radius: "50%" // 圆角, 默认"50%" (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx)
+ },
+ empty: {
+ use: true, // 是否显示空布局
+ icon: null, // 图标路径
+ tip: '~ 暂无相关数据 ~', // 提示
+ btnText: '', // 按钮
+ btnClick: null, // 点击按钮的回调
+ onShow: null, // 是否显示的回调
+ fixed: false, // 是否使用fixed定位,默认false; 配置fixed为true,以下的top和zIndex才生效 (transform会使fixed失效,最终会降级为absolute)
+ top: "100rpx", // fixed定位的top值 (完整的单位值,如 "10%"; "100rpx")
+ zIndex: 99 // fixed定位z-index值
+ },
+ onScroll: false // 是否监听滚动事件
+ })
+}
+
+/* 配置参数 */
+MeScroll.extend = function(userOption, defaultOption) {
+ if (!userOption) return defaultOption;
+ for (let key in defaultOption) {
+ if (userOption[key] == null) {
+ let def = defaultOption[key];
+ if (def != null && typeof def === 'object') {
+ userOption[key] = MeScroll.extend({}, def); // 深度匹配
+ } else {
+ userOption[key] = def;
+ }
+ } else if (typeof userOption[key] === 'object') {
+ MeScroll.extend(userOption[key], defaultOption[key]); // 深度匹配
+ }
+ }
+ return userOption;
+}
+
+/* 简单判断是否配置了颜色 (非透明,非白色) */
+MeScroll.prototype.hasColor = function(color) {
+ if(!color) return false;
+ let c = color.toLowerCase();
+ return c != "#fff" && c != "#ffffff" && c != "transparent" && c != "white"
+}
+
+/* -------初始化下拉刷新------- */
+MeScroll.prototype.initDownScroll = function() {
+ let me = this;
+ // 配置参数
+ me.optDown = me.options.down || {};
+ if(!me.optDown.textColor && me.hasColor(me.optDown.bgColor)) me.optDown.textColor = "#fff"; // 当bgColor有值且textColor未设置,则textColor默认白色
+ me.extendDownScroll(me.optDown);
+
+ // 如果是mescroll-body且配置了native,则禁止自定义的下拉刷新
+ if(me.isScrollBody && me.optDown.native){
+ me.optDown.use = false
+ }else{
+ me.optDown.native = false // 仅mescroll-body支持,mescroll-uni不支持
+ }
+
+ me.downHight = 0; // 下拉区域的高度
+
+ // 在页面中加入下拉布局
+ if (me.optDown.use && me.optDown.inited) {
+ // 初始化完毕的回调
+ setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例
+ me.optDown.inited(me);
+ }, 0)
+ }
+}
+
+/* 列表touchstart事件 */
+MeScroll.prototype.touchstartEvent = function(e) {
+ if (!this.optDown.use) return;
+
+ this.startPoint = this.getPoint(e); // 记录起点
+ this.startTop = this.getScrollTop(); // 记录此时的滚动条位置
+ this.startAngle = 0; // 初始角度
+ this.lastPoint = this.startPoint; // 重置上次move的点
+ this.maxTouchmoveY = this.getBodyHeight() - this.optDown.bottomOffset; // 手指触摸的最大范围(写在touchstart避免body获取高度为0的情况)
+ this.inTouchend = false; // 标记不是touchend
+}
+
+/* 列表touchmove事件 */
+MeScroll.prototype.touchmoveEvent = function(e) {
+ if (!this.optDown.use) return;
+ let me = this;
+
+ let scrollTop = me.getScrollTop(); // 当前滚动条的距离
+ let curPoint = me.getPoint(e); // 当前点
+
+ let moveY = curPoint.y - me.startPoint.y; // 和起点比,移动的距离,大于0向下拉,小于0向上拉
+
+ // 向下拉 && 在顶部
+ // mescroll-body,直接判定在顶部即可
+ // scroll-view在滚动时不会触发touchmove,当触顶/底/左/右时,才会触发touchmove
+ // scroll-view滚动到顶部时,scrollTop不一定为0,也有可能大于0; 在iOS的APP中scrollTop可能为负数,不一定和startTop相等
+ if (moveY > 0 && (
+ (me.isScrollBody && scrollTop <= 0)
+ ||
+ (!me.isScrollBody && (scrollTop <= 0 || (scrollTop <= me.optDown.startTop && scrollTop === me.startTop)) )
+ )) {
+ // 可下拉的条件
+ if (!me.inTouchend && !me.isDownScrolling && !me.optDown.isLock && (!me.isUpScrolling || (me.isUpScrolling &&
+ me.optUp.isBoth))) {
+
+ // 下拉的初始角度是否在配置的范围内
+ if(!me.startAngle) me.startAngle = me.getAngle(me.lastPoint, curPoint); // 两点之间的角度,区间 [0,90]
+ if (me.startAngle < me.optDown.minAngle) return; // 如果小于配置的角度,则不往下执行下拉刷新
+
+ // 如果手指的位置超过配置的距离,则提前结束下拉,避免Webview嵌套导致touchend无法触发
+ if (me.maxTouchmoveY > 0 && curPoint.y >= me.maxTouchmoveY) {
+ me.inTouchend = true; // 标记执行touchend
+ me.touchendEvent(); // 提前触发touchend
+ return;
+ }
+
+ me.preventDefault(e); // 阻止默认事件
+
+ let diff = curPoint.y - me.lastPoint.y; // 和上次比,移动的距离 (大于0向下,小于0向上)
+
+ // 下拉距离 < 指定距离
+ if (me.downHight < me.optDown.offset) {
+ if (me.movetype !== 1) {
+ me.movetype = 1; // 加入标记,保证只执行一次
+ me.isDownEndSuccess = null; // 重置是否加载成功的状态 (wxs执行的是wxs.wxs)
+ me.optDown.inOffset && me.optDown.inOffset(me); // 进入指定距离范围内那一刻的回调,只执行一次
+ me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来
+ }
+ me.downHight += diff * me.optDown.inOffsetRate; // 越往下,高度变化越小
+
+ // 指定距离 <= 下拉距离
+ } else {
+ if (me.movetype !== 2) {
+ me.movetype = 2; // 加入标记,保证只执行一次
+ me.optDown.outOffset && me.optDown.outOffset(me); // 下拉超过指定距离那一刻的回调,只执行一次
+ me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来
+ }
+ if (diff > 0) { // 向下拉
+ me.downHight += diff * me.optDown.outOffsetRate; // 越往下,高度变化越小
+ } else { // 向上收
+ me.downHight += diff; // 向上收回高度,则向上滑多少收多少高度
+ }
+ }
+
+ me.downHight = Math.round(me.downHight) // 取整
+ let rate = me.downHight / me.optDown.offset; // 下拉区域当前高度与指定距离的比值
+ me.optDown.onMoving && me.optDown.onMoving(me, rate, me.downHight); // 下拉过程中的回调,一直在执行
+ }
+ }
+
+ me.lastPoint = curPoint; // 记录本次移动的点
+}
+
+/* 列表touchend事件 */
+MeScroll.prototype.touchendEvent = function(e) {
+ if (!this.optDown.use) return;
+ // 如果下拉区域高度已改变,则需重置回来
+ if (this.isMoveDown) {
+ if (this.downHight >= this.optDown.offset) {
+ // 符合触发刷新的条件
+ this.triggerDownScroll();
+ } else {
+ // 不符合的话 则重置
+ this.downHight = 0;
+ this.endDownScrollCall(this);
+ }
+ this.movetype = 0;
+ this.isMoveDown = false;
+ } else if (!this.isScrollBody && this.getScrollTop() === this.startTop) { // scroll-view到顶/左/右/底的滑动事件
+ let isScrollUp = this.getPoint(e).y - this.startPoint.y < 0; // 和起点比,移动的距离,大于0向下拉,小于0向上拉
+ // 上滑
+ if (isScrollUp) {
+ // 需检查滑动的角度
+ let angle = this.getAngle(this.getPoint(e), this.startPoint); // 两点之间的角度,区间 [0,90]
+ if (angle > 80) {
+ // 检查并触发上拉
+ this.triggerUpScroll(true);
+ }
+ }
+ }
+}
+
+/* 根据点击滑动事件获取第一个手指的坐标 */
+MeScroll.prototype.getPoint = function(e) {
+ if (!e) {
+ return {
+ x: 0,
+ y: 0
+ }
+ }
+ if (e.touches && e.touches[0]) {
+ return {
+ x: e.touches[0].pageX,
+ y: e.touches[0].pageY
+ }
+ } else if (e.changedTouches && e.changedTouches[0]) {
+ return {
+ x: e.changedTouches[0].pageX,
+ y: e.changedTouches[0].pageY
+ }
+ } else {
+ return {
+ x: e.clientX,
+ y: e.clientY
+ }
+ }
+}
+
+/* 计算两点之间的角度: 区间 [0,90]*/
+MeScroll.prototype.getAngle = function(p1, p2) {
+ let x = Math.abs(p1.x - p2.x);
+ let y = Math.abs(p1.y - p2.y);
+ let z = Math.sqrt(x * x + y * y);
+ let angle = 0;
+ if (z !== 0) {
+ angle = Math.asin(y / z) / Math.PI * 180;
+ }
+ return angle
+}
+
+/* 触发下拉刷新 */
+MeScroll.prototype.triggerDownScroll = function() {
+ if (this.optDown.beforeLoading && this.optDown.beforeLoading(this)) {
+ //return true则处于完全自定义状态
+ } else {
+ this.showDownScroll(); // 下拉刷新中...
+ !this.optDown.native && this.optDown.callback && this.optDown.callback(this); // 执行回调,联网加载数据
+ }
+}
+
+/* 显示下拉进度布局 */
+MeScroll.prototype.showDownScroll = function() {
+ this.isDownScrolling = true; // 标记下拉中
+ if (this.optDown.native) {
+ uni.startPullDownRefresh(); // 系统自带的下拉刷新
+ this.showDownLoadingCall(0); // 仍触发showLoading,因为上拉加载用到
+ } else{
+ this.downHight = this.optDown.offset; // 更新下拉区域高度
+ this.showDownLoadingCall(this.downHight); // 下拉刷新中...
+ }
+}
+
+MeScroll.prototype.showDownLoadingCall = function(downHight) {
+ this.optDown.showLoading && this.optDown.showLoading(this, downHight); // 下拉刷新中...
+ this.optDown.afterLoading && this.optDown.afterLoading(this, downHight); // 下拉刷新中...触发之后马上要执行的代码
+}
+
+/* 显示系统自带的下拉刷新时需要处理的业务 */
+MeScroll.prototype.onPullDownRefresh = function() {
+ this.isDownScrolling = true; // 标记下拉中
+ this.showDownLoadingCall(0); // 仍触发showLoading,因为上拉加载用到
+ this.optDown.callback && this.optDown.callback(this); // 执行回调,联网加载数据
+}
+
+/* 结束下拉刷新 */
+MeScroll.prototype.endDownScroll = function() {
+ if (this.optDown.native) { // 结束原生下拉刷新
+ this.isDownScrolling = false;
+ this.endDownScrollCall(this);
+ uni.stopPullDownRefresh();
+ return
+ }
+ let me = this;
+ // 结束下拉刷新的方法
+ let endScroll = function() {
+ me.downHight = 0;
+ me.isDownScrolling = false;
+ me.endDownScrollCall(me);
+ if(!me.isScrollBody){
+ me.setScrollHeight(0) // scroll-view重置滚动区域,使数据不满屏时仍可检查触发翻页
+ me.scrollTo(0,0) // scroll-view需重置滚动条到顶部,避免startTop大于0时,对下拉刷新的影响
+ }
+ }
+ // 结束下拉刷新时的回调
+ let delay = 0;
+ if (me.optDown.beforeEndDownScroll) {
+ delay = me.optDown.beforeEndDownScroll(me); // 结束下拉刷新的延时,单位ms
+ if(me.isDownEndSuccess == null) delay = 0; // 没有执行加载中,则不延时
+ }
+ if (typeof delay === 'number' && delay > 0) {
+ setTimeout(endScroll, delay);
+ } else {
+ endScroll();
+ }
+}
+
+MeScroll.prototype.endDownScrollCall = function() {
+ this.optDown.endDownScroll && this.optDown.endDownScroll(this);
+ this.optDown.afterEndDownScroll && this.optDown.afterEndDownScroll(this);
+}
+
+/* 锁定下拉刷新:isLock=ture,null锁定;isLock=false解锁 */
+MeScroll.prototype.lockDownScroll = function(isLock) {
+ if (isLock == null) isLock = true;
+ this.optDown.isLock = isLock;
+}
+
+/* 锁定上拉加载:isLock=ture,null锁定;isLock=false解锁 */
+MeScroll.prototype.lockUpScroll = function(isLock) {
+ if (isLock == null) isLock = true;
+ this.optUp.isLock = isLock;
+}
+
+/* -------初始化上拉加载------- */
+MeScroll.prototype.initUpScroll = function() {
+ let me = this;
+ // 配置参数
+ me.optUp = me.options.up || {use: false}
+ if(!me.optUp.textColor && me.hasColor(me.optUp.bgColor)) me.optUp.textColor = "#fff"; // 当bgColor有值且textColor未设置,则textColor默认白色
+ me.extendUpScroll(me.optUp);
+
+ if (me.optUp.use === false) return; // 配置不使用上拉加载时,则不初始化上拉布局
+ me.optUp.hasNext = true; // 如果使用上拉,则默认有下一页
+ me.startNum = me.optUp.page.num + 1; // 记录page开始的页码
+
+ // 初始化完毕的回调
+ if (me.optUp.inited) {
+ setTimeout(function() { // 待主线程执行完毕再执行,避免new MeScroll未初始化,在回调获取不到mescroll的实例
+ me.optUp.inited(me);
+ }, 0)
+ }
+}
+
+/*滚动到底部的事件 (仅mescroll-body生效)*/
+MeScroll.prototype.onReachBottom = function() {
+ if (this.isScrollBody && !this.isUpScrolling) { // 只能支持下拉刷新的时候同时可以触发上拉加载,否则滚动到底部就需要上滑一点才能触发onReachBottom
+ if (!this.optUp.isLock && this.optUp.hasNext) {
+ this.triggerUpScroll();
+ }
+ }
+}
+
+/*列表滚动事件 (仅mescroll-body生效)*/
+MeScroll.prototype.onPageScroll = function(e) {
+ if (!this.isScrollBody) return;
+
+ // 更新滚动条的位置 (主要用于判断下拉刷新时,滚动条是否在顶部)
+ this.setScrollTop(e.scrollTop);
+
+ // 顶部按钮的显示隐藏
+ if (e.scrollTop >= this.optUp.toTop.offset) {
+ this.showTopBtn();
+ } else {
+ this.hideTopBtn();
+ }
+}
+
+/*列表滚动事件*/
+MeScroll.prototype.scroll = function(e, onScroll) {
+ // 更新滚动条的位置
+ this.setScrollTop(e.scrollTop);
+ // 更新滚动内容高度
+ this.setScrollHeight(e.scrollHeight);
+
+ // 向上滑还是向下滑动
+ if (this.preScrollY == null) this.preScrollY = 0;
+ this.isScrollUp = e.scrollTop - this.preScrollY > 0;
+ this.preScrollY = e.scrollTop;
+
+ // 上滑 && 检查并触发上拉
+ this.isScrollUp && this.triggerUpScroll(true);
+
+ // 顶部按钮的显示隐藏
+ if (e.scrollTop >= this.optUp.toTop.offset) {
+ this.showTopBtn();
+ } else {
+ this.hideTopBtn();
+ }
+
+ // 滑动监听
+ this.optUp.onScroll && onScroll && onScroll()
+}
+
+/* 触发上拉加载 */
+MeScroll.prototype.triggerUpScroll = function(isCheck) {
+ if (!this.isUpScrolling && this.optUp.use && this.optUp.callback) {
+ // 是否校验在底部; 默认不校验
+ if (isCheck === true) {
+ let canUp = false;
+ // 还有下一页 && 没有锁定 && 不在下拉中
+ if (this.optUp.hasNext && !this.optUp.isLock && !this.isDownScrolling) {
+ if (this.getScrollBottom() <= this.optUp.offset) { // 到底部
+ canUp = true; // 标记可上拉
+ }
+ }
+ if (canUp === false) return;
+ }
+ this.showUpScroll(); // 上拉加载中...
+ this.optUp.page.num++; // 预先加一页,如果失败则减回
+ this.isUpAutoLoad = true; // 标记上拉已经自动执行过,避免初始化时多次触发上拉回调
+ this.num = this.optUp.page.num; // 把最新的页数赋值在mescroll上,避免对page的影响
+ this.size = this.optUp.page.size; // 把最新的页码赋值在mescroll上,避免对page的影响
+ this.time = this.optUp.page.time; // 把最新的页码赋值在mescroll上,避免对page的影响
+ this.optUp.callback(this); // 执行回调,联网加载数据
+ }
+}
+
+/* 显示上拉加载中 */
+MeScroll.prototype.showUpScroll = function() {
+ this.isUpScrolling = true; // 标记上拉加载中
+ this.optUp.showLoading && this.optUp.showLoading(this); // 回调
+}
+
+/* 显示上拉无更多数据 */
+MeScroll.prototype.showNoMore = function() {
+ this.optUp.hasNext = false; // 标记无更多数据
+ this.optUp.showNoMore && this.optUp.showNoMore(this); // 回调
+}
+
+/* 隐藏上拉区域**/
+MeScroll.prototype.hideUpScroll = function() {
+ this.optUp.hideUpScroll && this.optUp.hideUpScroll(this); // 回调
+}
+
+/* 结束上拉加载 */
+MeScroll.prototype.endUpScroll = function(isShowNoMore) {
+ if (isShowNoMore != null) { // isShowNoMore=null,不处理下拉状态,下拉刷新的时候调用
+ if (isShowNoMore) {
+ this.showNoMore(); // isShowNoMore=true,显示无更多数据
+ } else {
+ this.hideUpScroll(); // isShowNoMore=false,隐藏上拉加载
+ }
+ }
+ this.isUpScrolling = false; // 标记结束上拉加载
+}
+
+/* 重置上拉加载列表为第一页
+ *isShowLoading 是否显示进度布局;
+ * 1.默认null,不传参,则显示上拉加载的进度布局
+ * 2.传参true, 则显示下拉刷新的进度布局
+ * 3.传参false,则不显示上拉和下拉的进度 (常用于静默更新列表数据)
+ */
+MeScroll.prototype.resetUpScroll = function(isShowLoading) {
+ if (this.optUp && this.optUp.use) {
+ let page = this.optUp.page;
+ this.prePageNum = page.num; // 缓存重置前的页码,加载失败可退回
+ this.prePageTime = page.time; // 缓存重置前的时间,加载失败可退回
+ page.num = this.startNum; // 重置为第一页
+ page.time = null; // 重置时间为空
+ if (!this.isDownScrolling && isShowLoading !== false) { // 如果不是下拉刷新触发的resetUpScroll并且不配置列表静默更新,则显示进度;
+ if (isShowLoading == null) {
+ this.removeEmpty(); // 移除空布局
+ this.showUpScroll(); // 不传参,默认显示上拉加载的进度布局
+ } else {
+ this.showDownScroll(); // 传true,显示下拉刷新的进度布局,不清空列表
+ }
+ }
+ this.isUpAutoLoad = true; // 标记上拉已经自动执行过,避免初始化时多次触发上拉回调
+ this.num = page.num; // 把最新的页数赋值在mescroll上,避免对page的影响
+ this.size = page.size; // 把最新的页码赋值在mescroll上,避免对page的影响
+ this.time = page.time; // 把最新的页码赋值在mescroll上,避免对page的影响
+ this.optUp.callback && this.optUp.callback(this); // 执行上拉回调
+ }
+}
+
+/* 设置page.num的值 */
+MeScroll.prototype.setPageNum = function(num) {
+ this.optUp.page.num = num - 1;
+}
+
+/* 设置page.size的值 */
+MeScroll.prototype.setPageSize = function(size) {
+ this.optUp.page.size = size;
+}
+
+/* 联网回调成功,结束下拉刷新和上拉加载
+ * dataSize: 当前页的数据量(必传)
+ * totalPage: 总页数(必传)
+ * systime: 服务器时间 (可空)
+ */
+MeScroll.prototype.endByPage = function(dataSize, totalPage, systime) {
+ let hasNext;
+ if (this.optUp.use && totalPage != null) hasNext = this.optUp.page.num < totalPage; // 是否还有下一页
+ this.endSuccess(dataSize, hasNext, systime);
+}
+
+/* 联网回调成功,结束下拉刷新和上拉加载
+ * dataSize: 当前页的数据量(必传)
+ * totalSize: 列表所有数据总数量(必传)
+ * systime: 服务器时间 (可空)
+ */
+MeScroll.prototype.endBySize = function(dataSize, totalSize, systime) {
+ let hasNext;
+ if (this.optUp.use && totalSize != null) {
+ let loadSize = (this.optUp.page.num - 1) * this.optUp.page.size + dataSize; // 已加载的数据总数
+ hasNext = loadSize < totalSize; // 是否还有下一页
+ }
+ this.endSuccess(dataSize, hasNext, systime);
+}
+
+/* 联网回调成功,结束下拉刷新和上拉加载
+ * dataSize: 当前页的数据个数(不是所有页的数据总和),用于上拉加载判断是否还有下一页.如果不传,则会判断还有下一页
+ * hasNext: 是否还有下一页,布尔类型;用来解决这个小问题:比如列表共有20条数据,每页加载10条,共2页.如果只根据dataSize判断,则需翻到第三页才会知道无更多数据,如果传了hasNext,则翻到第二页即可显示无更多数据.
+ * systime: 服务器时间(可空);用来解决这个小问题:当准备翻下一页时,数据库新增了几条记录,此时翻下一页,前面的几条数据会和上一页的重复;这里传入了systime,那么upCallback的page.time就会有值,把page.time传给服务器,让后台过滤新加入的那几条记录
+ */
+MeScroll.prototype.endSuccess = function(dataSize, hasNext, systime) {
+ let me = this;
+ // 结束下拉刷新
+ if (me.isDownScrolling) {
+ me.isDownEndSuccess = true
+ me.endDownScroll();
+ }
+
+ // 结束上拉加载
+ if (me.optUp.use) {
+ let isShowNoMore; // 是否已无更多数据
+ if (dataSize != null) {
+ let pageNum = me.optUp.page.num; // 当前页码
+ let pageSize = me.optUp.page.size; // 每页长度
+ // 如果是第一页
+ if (pageNum === 1) {
+ if (systime) me.optUp.page.time = systime; // 设置加载列表数据第一页的时间
+ }
+ if (dataSize < pageSize || hasNext === false) {
+ // 返回的数据不满一页时,则说明已无更多数据
+ me.optUp.hasNext = false;
+ if (dataSize === 0 && pageNum === 1) {
+ // 如果第一页无任何数据且配置了空布局
+ isShowNoMore = false;
+ me.showEmpty();
+ } else {
+ // 总列表数少于配置的数量,则不显示无更多数据
+ let allDataSize = (pageNum - 1) * pageSize + dataSize;
+ if (allDataSize < me.optUp.noMoreSize) {
+ isShowNoMore = false;
+ } else {
+ isShowNoMore = true;
+ }
+ me.removeEmpty(); // 移除空布局
+ }
+ } else {
+ // 还有下一页
+ isShowNoMore = false;
+ me.optUp.hasNext = true;
+ me.removeEmpty(); // 移除空布局
+ }
+ }
+
+ // 隐藏上拉
+ me.endUpScroll(isShowNoMore);
+ }
+}
+
+/* 回调失败,结束下拉刷新和上拉加载 */
+MeScroll.prototype.endErr = function(errDistance) {
+ // 结束下拉,回调失败重置回原来的页码和时间
+ if (this.isDownScrolling) {
+ this.isDownEndSuccess = false
+ let page = this.optUp.page;
+ if (page && this.prePageNum) {
+ page.num = this.prePageNum;
+ page.time = this.prePageTime;
+ }
+ this.endDownScroll();
+ }
+ // 结束上拉,回调失败重置回原来的页码
+ if (this.isUpScrolling) {
+ this.optUp.page.num--;
+ this.endUpScroll(false);
+ // 如果是mescroll-body,则需往回滚一定距离
+ if(this.isScrollBody && errDistance !== 0){ // 不处理0
+ if(!errDistance) errDistance = this.optUp.errDistance; // 不传,则取默认
+ this.scrollTo(this.getScrollTop() - errDistance, 0) // 往上回滚的距离
+ }
+ }
+}
+
+/* 显示空布局 */
+MeScroll.prototype.showEmpty = function() {
+ this.optUp.empty.use && this.optUp.empty.onShow && this.optUp.empty.onShow(true)
+}
+
+/* 移除空布局 */
+MeScroll.prototype.removeEmpty = function() {
+ this.optUp.empty.use && this.optUp.empty.onShow && this.optUp.empty.onShow(false)
+}
+
+/* 显示回到顶部的按钮 */
+MeScroll.prototype.showTopBtn = function() {
+ if (!this.topBtnShow) {
+ this.topBtnShow = true;
+ this.optUp.toTop.onShow && this.optUp.toTop.onShow(true);
+ }
+}
+
+/* 隐藏回到顶部的按钮 */
+MeScroll.prototype.hideTopBtn = function() {
+ if (this.topBtnShow) {
+ this.topBtnShow = false;
+ this.optUp.toTop.onShow && this.optUp.toTop.onShow(false);
+ }
+}
+
+/* 获取滚动条的位置 */
+MeScroll.prototype.getScrollTop = function() {
+ return this.scrollTop || 0
+}
+
+/* 记录滚动条的位置 */
+MeScroll.prototype.setScrollTop = function(y) {
+ this.scrollTop = y;
+}
+
+/* 滚动到指定位置 */
+MeScroll.prototype.scrollTo = function(y, t) {
+ this.myScrollTo && this.myScrollTo(y, t) // scrollview需自定义回到顶部方法
+}
+
+/* 自定义scrollTo */
+MeScroll.prototype.resetScrollTo = function(myScrollTo) {
+ this.myScrollTo = myScrollTo
+}
+
+/* 滚动条到底部的距离 */
+MeScroll.prototype.getScrollBottom = function() {
+ return this.getScrollHeight() - this.getClientHeight() - this.getScrollTop()
+}
+
+/* 计步器
+ star: 开始值
+ end: 结束值
+ callback(step,timer): 回调step值,计步器timer,可自行通过window.clearInterval(timer)结束计步器;
+ t: 计步时长,传0则直接回调end值;不传则默认300ms
+ rate: 周期;不传则默认30ms计步一次
+ * */
+MeScroll.prototype.getStep = function(star, end, callback, t, rate) {
+ let diff = end - star; // 差值
+ if (t === 0 || diff === 0) {
+ callback && callback(end);
+ return;
+ }
+ t = t || 300; // 时长 300ms
+ rate = rate || 30; // 周期 30ms
+ let count = t / rate; // 次数
+ let step = diff / count; // 步长
+ let i = 0; // 计数
+ let timer = setInterval(function() {
+ if (i < count - 1) {
+ star += step;
+ callback && callback(star, timer);
+ i++;
+ } else {
+ callback && callback(end, timer); // 最后一次直接设置end,避免计算误差
+ clearInterval(timer);
+ }
+ }, rate);
+}
+
+/* 滚动容器的高度 */
+MeScroll.prototype.getClientHeight = function(isReal) {
+ let h = this.clientHeight || 0
+ if (h === 0 && isReal !== true) { // 未获取到容器的高度,可临时取body的高度 (可能会有误差)
+ h = this.getBodyHeight()
+ }
+ return h
+}
+MeScroll.prototype.setClientHeight = function(h) {
+ this.clientHeight = h;
+}
+
+/* 滚动内容的高度 */
+MeScroll.prototype.getScrollHeight = function() {
+ return this.scrollHeight || 0;
+}
+MeScroll.prototype.setScrollHeight = function(h) {
+ this.scrollHeight = h;
+}
+
+/* body的高度 */
+MeScroll.prototype.getBodyHeight = function() {
+ return this.bodyHeight || 0;
+}
+MeScroll.prototype.setBodyHeight = function(h) {
+ this.bodyHeight = h;
+}
+
+/* 阻止浏览器默认滚动事件 */
+MeScroll.prototype.preventDefault = function(e) {
+ // 小程序不支持e.preventDefault, 已在wxs中禁止
+ // app的bounce只能通过配置pages.json的style.app-plus.bounce为"none"来禁止, 或使用renderjs禁止
+ // cancelable:是否可以被禁用; defaultPrevented:是否已经被禁用
+ if (e && e.cancelable && !e.defaultPrevented) e.preventDefault()
+}
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.vue b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.vue
new file mode 100644
index 0000000..cb5d026
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-uni.vue
@@ -0,0 +1,480 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{downText}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ mescroll.optUp.textLoading }}
+
+
+ {{ mescroll.optUp.textNoMore }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-comp.js b/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-comp.js
new file mode 100644
index 0000000..abe7cd7
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-comp.js
@@ -0,0 +1,47 @@
+/**
+ * mescroll-body写在子组件时,需通过mescroll的mixins补充子组件缺少的生命周期
+ */
+const MescrollCompMixin = {
+ // 因为子组件无onPageScroll和onReachBottom的页面生命周期,需在页面传递进到子组件 (一级)
+ onPageScroll(e) {
+ this.handlePageScroll(e)
+ },
+ onReachBottom() {
+ this.handleReachBottom()
+ },
+ // 当down的native: true时, 还需传递此方法进到子组件
+ onPullDownRefresh(){
+ this.handlePullDownRefresh()
+ },
+ data() {
+ return {
+ mescroll: { // mescroll-body写在子子子...组件的情况 (多级)
+ onPageScroll: e=>{
+ this.handlePageScroll(e)
+ },
+ onReachBottom: ()=>{
+ this.handleReachBottom()
+ },
+ onPullDownRefresh: ()=>{
+ this.handlePullDownRefresh()
+ }
+ }
+ }
+ },
+ methods:{
+ handlePageScroll(e){
+ let item = this.$refs["mescrollItem"];
+ if(item && item.mescroll) item.mescroll.onPageScroll(e);
+ },
+ handleReachBottom(){
+ let item = this.$refs["mescrollItem"];
+ if(item && item.mescroll) item.mescroll.onReachBottom();
+ },
+ handlePullDownRefresh(){
+ let item = this.$refs["mescrollItem"];
+ if(item && item.mescroll) item.mescroll.onPullDownRefresh();
+ }
+ }
+}
+
+export default MescrollCompMixin;
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more-item.js b/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more-item.js
new file mode 100644
index 0000000..96ca9bf
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more-item.js
@@ -0,0 +1,57 @@
+/**
+ * mescroll-more-item的mixins, 仅在多个 mescroll-body 写在子组件时使用 (参考 mescroll-more 案例)
+ */
+const MescrollMoreItemMixin = {
+ // 支付宝小程序不支持props的mixin,需写在具体的页面中
+ // #ifndef MP-ALIPAY || MP-DINGTALK
+ props:{
+ i: Number, // 每个tab页的专属下标
+ index: { // 当前tab的下标
+ type: Number,
+ default(){
+ return 0
+ }
+ }
+ },
+ // #endif
+ data() {
+ return {
+ downOption:{
+ auto:false // 不自动加载
+ },
+ upOption:{
+ auto:false // 不自动加载
+ },
+ isInit: false // 当前tab是否已初始化
+ }
+ },
+ watch:{
+ // 监听下标的变化
+ index(val){
+ if (this.i === val && !this.isInit) this.mescrollTrigger()
+ }
+ },
+ methods: {
+ // mescroll组件初始化的回调,可获取到mescroll对象 (覆盖mescroll-mixins.js的mescrollInit, 为了标记isInit)
+ mescrollInit(mescroll) {
+ this.mescroll = mescroll;
+ // 自动加载当前tab的数据
+ if(this.i === this.index){
+ this.mescrollTrigger()
+ }
+ },
+ // 主动触发加载
+ mescrollTrigger(){
+ this.isInit = true; // 标记为true
+ if (this.mescroll) {
+ if (this.mescroll.optDown.use) {
+ this.mescroll.triggerDownScroll();
+ } else{
+ this.mescroll.triggerUpScroll();
+ }
+ }
+ }
+ }
+}
+
+export default MescrollMoreItemMixin;
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more.js b/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more.js
new file mode 100644
index 0000000..16b47d8
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more.js
@@ -0,0 +1,77 @@
+/**
+ * mescroll-body写在子组件时, 需通过mescroll的mixins补充子组件缺少的生命周期
+ */
+const MescrollMoreMixin = {
+ data() {
+ return {
+ tabIndex: 0, // 当前tab下标
+ mescroll: { // mescroll-body写在子子子...组件的情况 (多级)
+ onPageScroll: e=>{
+ this.handlePageScroll(e)
+ },
+ onReachBottom: ()=>{
+ this.handleReachBottom()
+ },
+ onPullDownRefresh: ()=>{
+ this.handlePullDownRefresh()
+ }
+ }
+ }
+ },
+ // 因为子组件无onPageScroll和onReachBottom的页面生命周期,需在页面传递进到子组件
+ onPageScroll(e) {
+ this.handlePageScroll(e)
+ },
+ onReachBottom() {
+ this.handleReachBottom()
+ },
+ // 当down的native: true时, 还需传递此方法进到子组件
+ onPullDownRefresh(){
+ this.handlePullDownRefresh()
+ },
+ methods:{
+ handlePageScroll(e){
+ let mescroll = this.getMescroll(this.tabIndex);
+ mescroll && mescroll.onPageScroll(e);
+ },
+ handleReachBottom(){
+ let mescroll = this.getMescroll(this.tabIndex);
+ mescroll && mescroll.onReachBottom();
+ },
+ handlePullDownRefresh(){
+ let mescroll = this.getMescroll(this.tabIndex);
+ mescroll && mescroll.onPullDownRefresh();
+ },
+ // 根据下标获取对应子组件的mescroll
+ getMescroll(i){
+ if(!this.mescrollItems) this.mescrollItems = [];
+ if(!this.mescrollItems[i]) {
+ // v-for中的refs
+ let vForItem = this.$refs["mescrollItem"];
+ if(vForItem){
+ this.mescrollItems[i] = vForItem[i]
+ }else{
+ // 普通的refs,不可重复
+ this.mescrollItems[i] = this.$refs["mescrollItem"+i];
+ }
+ }
+ let item = this.mescrollItems[i]
+ return item ? item.mescroll : null
+ },
+ // 切换tab,恢复滚动条位置
+ tabChange(i){
+ let mescroll = this.getMescroll(i);
+ if(mescroll){
+ // 恢复上次滚动条的位置
+ let y = mescroll.getScrollTop()
+ mescroll.scrollTo(y, 0)
+ // 再次恢复上次滚动条的位置, 确保元素已渲染
+ setTimeout(()=>{
+ mescroll.scrollTo(y, 0)
+ },30)
+ }
+ }
+ }
+}
+
+export default MescrollMoreMixin;
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/wxs/mixins.js b/uni_modules/mescroll-uni/components/mescroll-uni/wxs/mixins.js
new file mode 100644
index 0000000..34ffa3c
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/wxs/mixins.js
@@ -0,0 +1,109 @@
+// 定义在wxs (含renderjs) 逻辑层的数据和方法, 与视图层相互通信
+const WxsMixin = {
+ data() {
+ return {
+ // 传入wxs视图层的数据 (响应式)
+ wxsProp: {
+ optDown:{}, // 下拉刷新的配置
+ scrollTop:0, // 滚动条的距离
+ bodyHeight:0, // body的高度
+ isDownScrolling:false, // 是否正在下拉刷新中
+ isUpScrolling:false, // 是否正在上拉加载中
+ isScrollBody:true, // 是否为mescroll-body滚动
+ isUpBoth:true, // 上拉加载时,是否同时可以下拉刷新
+ t: 0 // 数据更新的标记 (只有数据更新了,才会触发wxs的Observer)
+ },
+
+ // 标记调用wxs视图层的方法
+ callProp: {
+ callType: '', // 方法名
+ t: 0 // 数据更新的标记 (只有数据更新了,才会触发wxs的Observer)
+ },
+
+ // 不用wxs的平台使用此处的wxsBiz对象,抹平wxs的写法 (微信小程序和APP使用的wxsBiz对象是./wxs/wxs.wxs)
+ // #ifndef MP-WEIXIN || MP-QQ || APP-PLUS || H5
+ wxsBiz: {
+ //注册列表touchstart事件,用于下拉刷新
+ touchstartEvent: e=> {
+ this.mescroll.touchstartEvent(e);
+ },
+ //注册列表touchmove事件,用于下拉刷新
+ touchmoveEvent: e=> {
+ this.mescroll.touchmoveEvent(e);
+ },
+ //注册列表touchend事件,用于下拉刷新
+ touchendEvent: e=> {
+ this.mescroll.touchendEvent(e);
+ },
+ propObserver(){}, // 抹平wxs的写法
+ callObserver(){} // 抹平wxs的写法
+ },
+ // #endif
+
+ // 不用renderjs的平台使用此处的renderBiz对象,抹平renderjs的写法 (app 和 h5 使用的renderBiz对象是./wxs/renderjs.js)
+ // #ifndef APP-PLUS || H5
+ renderBiz: {
+ propObserver(){} // 抹平renderjs的写法
+ }
+ // #endif
+ }
+ },
+ methods: {
+ // wxs视图层调用逻辑层的回调
+ wxsCall(msg){
+ if(msg.type === 'setWxsProp'){
+ // 更新wxsProp数据 (值改变才触发更新)
+ this.wxsProp = {
+ optDown: this.mescroll.optDown,
+ scrollTop: this.mescroll.getScrollTop(),
+ bodyHeight: this.mescroll.getBodyHeight(),
+ isDownScrolling: this.mescroll.isDownScrolling,
+ isUpScrolling: this.mescroll.isUpScrolling,
+ isUpBoth: this.mescroll.optUp.isBoth,
+ isScrollBody:this.mescroll.isScrollBody,
+ t: Date.now()
+ }
+ }else if(msg.type === 'setLoadType'){
+ // 设置inOffset,outOffset的状态
+ this.downLoadType = msg.downLoadType
+ // 状态挂载到mescroll对象, 以便在其他组件中使用, 比如中
+ this.$set(this.mescroll, 'downLoadType', this.downLoadType)
+ // 重置是否加载成功的状态
+ this.$set(this.mescroll, 'isDownEndSuccess', null)
+ }else if(msg.type === 'triggerDownScroll'){
+ // 主动触发下拉刷新
+ this.mescroll.triggerDownScroll();
+ }else if(msg.type === 'endDownScroll'){
+ // 结束下拉刷新
+ this.mescroll.endDownScroll();
+ }else if(msg.type === 'triggerUpScroll'){
+ // 主动触发上拉加载
+ this.mescroll.triggerUpScroll(true);
+ }
+ }
+ },
+ mounted() {
+ // #ifdef MP-WEIXIN || MP-QQ || APP-PLUS || H5
+ // 配置主动触发wxs显示加载进度的回调
+ this.mescroll.optDown.afterLoading = ()=>{
+ this.callProp = {callType: "showLoading", t: Date.now()} // 触发wxs的方法 (值改变才触发更新)
+ }
+ // 配置主动触发wxs隐藏加载进度的回调
+ this.mescroll.optDown.afterEndDownScroll = ()=>{
+ this.callProp = {callType: "endDownScroll", t: Date.now()} // 触发wxs的方法 (值改变才触发更新)
+ let delay = 300 + (this.mescroll.optDown.beforeEndDelay || 0)
+ setTimeout(()=>{
+ if(this.downLoadType === 4 || this.downLoadType === 0){
+ this.callProp = {callType: "clearTransform", t: Date.now()} // 触发wxs的方法 (值改变才触发更新)
+ }
+ // 状态挂载到mescroll对象, 以便在其他组件中使用, 比如中
+ this.$set(this.mescroll, 'downLoadType', this.downLoadType)
+ }, delay)
+ }
+ // 初始化wxs的数据
+ this.wxsCall({type: 'setWxsProp'})
+ // #endif
+ }
+}
+
+export default WxsMixin;
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/wxs/renderjs.js b/uni_modules/mescroll-uni/components/mescroll-uni/wxs/renderjs.js
new file mode 100644
index 0000000..6cd1301
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/wxs/renderjs.js
@@ -0,0 +1,92 @@
+// 使用renderjs直接操作window对象,实现动态控制app和h5的bounce
+// bounce: iOS橡皮筋,Android半月弧,h5浏览器下拉背景等效果 (下拉刷新时禁止)
+// https://uniapp.dcloud.io/frame?id=renderjs
+
+// 与wxs的me实例一致
+var me = {}
+
+// 初始化window对象的touch事件 (仅初始化一次)
+if(window && !window.$mescrollRenderInit){
+ window.$mescrollRenderInit = true
+
+
+ window.addEventListener('touchstart', function(e){
+ if (me.disabled()) return;
+ me.startPoint = me.getPoint(e); // 记录起点
+ }, {passive: true})
+
+
+ window.addEventListener('touchmove', function(e){
+ if (me.disabled()) return;
+ if (me.getScrollTop() > 0) return; // 需在顶部下拉,才禁止bounce
+
+ var curPoint = me.getPoint(e); // 当前点
+ var moveY = curPoint.y - me.startPoint.y; // 和起点比,移动的距离,大于0向下拉,小于0向上拉
+ // 向下拉
+ if (moveY > 0) {
+ // 可下拉的条件
+ if (!me.isDownScrolling && !me.optDown.isLock && (!me.isUpScrolling || (me.isUpScrolling && me.isUpBoth))) {
+
+ // 只有touch在mescroll的view上面,才禁止bounce
+ var el = e.target;
+ var isMescrollTouch = false;
+ while (el && el.tagName && el.tagName !== 'UNI-PAGE-BODY' && el.tagName != "BODY") {
+ var cls = el.classList;
+ if (cls && cls.contains('mescroll-render-touch')) {
+ isMescrollTouch = true
+ break;
+ }
+ el = el.parentNode; // 继续检查其父元素
+ }
+ // 禁止bounce (不会对swiper和iOS侧滑返回造成影响)
+ if (isMescrollTouch && e.cancelable && !e.defaultPrevented) e.preventDefault();
+ }
+ }
+ }, {passive: false})
+}
+
+/* 获取滚动条的位置 */
+me.getScrollTop = function() {
+ return me.scrollTop || document.documentElement.scrollTop || document.body.scrollTop || 0
+}
+
+/* 是否禁用下拉刷新 */
+me.disabled = function(){
+ return !me.optDown || !me.optDown.use || me.optDown.native
+}
+
+/* 根据点击滑动事件获取第一个手指的坐标 */
+me.getPoint = function(e) {
+ if (!e) {
+ return {x: 0,y: 0}
+ }
+ if (e.touches && e.touches[0]) {
+ return {x: e.touches[0].pageX,y: e.touches[0].pageY}
+ } else if (e.changedTouches && e.changedTouches[0]) {
+ return {x: e.changedTouches[0].pageX,y: e.changedTouches[0].pageY}
+ } else {
+ return {x: e.clientX,y: e.clientY}
+ }
+}
+
+/**
+ * 监听逻辑层数据的变化 (实时更新数据)
+ */
+function propObserver(wxsProp) {
+ me.optDown = wxsProp.optDown
+ me.scrollTop = wxsProp.scrollTop
+ me.isDownScrolling = wxsProp.isDownScrolling
+ me.isUpScrolling = wxsProp.isUpScrolling
+ me.isUpBoth = wxsProp.isUpBoth
+}
+
+/* 导出模块 */
+const renderBiz = {
+ data() {
+ return {
+ propObserver: propObserver,
+ }
+ }
+}
+
+export default renderBiz;
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/components/mescroll-uni/wxs/wxs.wxs b/uni_modules/mescroll-uni/components/mescroll-uni/wxs/wxs.wxs
new file mode 100644
index 0000000..4af4201
--- /dev/null
+++ b/uni_modules/mescroll-uni/components/mescroll-uni/wxs/wxs.wxs
@@ -0,0 +1,269 @@
+// 使用wxs处理交互动画, 提高性能, 同时避免小程序bounce对下拉刷新的影响
+// https://uniapp.dcloud.io/frame?id=wxs
+// https://developers.weixin.qq.com/miniprogram/dev/framework/view/interactive-animation.html
+
+// 模拟mescroll实例, 与mescroll.js的写法尽量保持一致
+var me = {}
+
+// ------ 自定义下拉刷新动画 start ------
+
+/* 下拉过程中的回调,滑动过程一直在执行 (rate<1为inOffset; rate>1为outOffset) */
+me.onMoving = function (ins, rate, downHight){
+ ins.requestAnimationFrame(function () {
+ ins.selectComponent('.mescroll-wxs-content').setStyle({
+ 'will-change': 'transform', // 可解决下拉过程中, image和swiper脱离文档流的问题
+ 'transform': 'translateY(' + downHight + 'px)',
+ 'transition': ''
+ })
+ // 环形进度条
+ var progress = ins.selectComponent('.mescroll-wxs-progress')
+ progress && progress.setStyle({transform: 'rotate(' + 360 * rate + 'deg)'})
+ })
+}
+
+/* 显示下拉刷新进度 */
+me.showLoading = function (ins){
+ me.downHight = me.optDown.offset
+ ins.requestAnimationFrame(function () {
+ ins.selectComponent('.mescroll-wxs-content').setStyle({
+ 'will-change': 'auto',
+ 'transform': 'translateY(' + me.downHight + 'px)',
+ 'transition': 'transform 300ms'
+ })
+ })
+}
+
+/* 结束下拉 */
+me.endDownScroll = function (ins){
+ me.downHight = 0;
+ me.isDownScrolling = false;
+ ins.requestAnimationFrame(function () {
+ ins.selectComponent('.mescroll-wxs-content').setStyle({
+ 'will-change': 'auto',
+ 'transform': 'translateY(0)', // 不可以写空串,否则scroll-view渲染不完整 (延时350ms会调clearTransform置空)
+ 'transition': 'transform 300ms'
+ })
+ })
+}
+
+/* 结束下拉动画执行完毕后, 清除transform和transition, 避免对列表内容样式造成影响, 如: h5的list-msg示例下拉进度条漏出来等 */
+me.clearTransform = function (ins){
+ ins.requestAnimationFrame(function () {
+ ins.selectComponent('.mescroll-wxs-content').setStyle({
+ 'will-change': '',
+ 'transform': '',
+ 'transition': ''
+ })
+ })
+}
+
+// ------ 自定义下拉刷新动画 end ------
+
+/**
+ * 监听逻辑层数据的变化 (实时更新数据)
+ */
+function propObserver(wxsProp) {
+ if(!wxsProp) return
+ me.optDown = wxsProp.optDown
+ me.scrollTop = wxsProp.scrollTop
+ me.bodyHeight = wxsProp.bodyHeight
+ me.isDownScrolling = wxsProp.isDownScrolling
+ me.isUpScrolling = wxsProp.isUpScrolling
+ me.isUpBoth = wxsProp.isUpBoth
+ me.isScrollBody = wxsProp.isScrollBody
+ me.startTop = wxsProp.scrollTop // 及时更新touchstart触发的startTop, 避免scroll-view快速惯性滚动到顶部取值不准确
+}
+
+/**
+ * 监听逻辑层数据的变化 (调用wxs的方法)
+ */
+function callObserver(callProp, oldValue, ins) {
+ if (me.disabled()) return;
+ if(callProp.callType){
+ // 逻辑层(App Service)的style已失效,需在视图层(Webview)设置style
+ if(callProp.callType === 'showLoading'){
+ me.showLoading(ins)
+ }else if(callProp.callType === 'endDownScroll'){
+ me.endDownScroll(ins)
+ }else if(callProp.callType === 'clearTransform'){
+ me.clearTransform(ins)
+ }
+ }
+}
+
+/**
+ * touch事件
+ */
+function touchstartEvent(e, ins) {
+ me.downHight = 0; // 下拉的距离
+ me.startPoint = me.getPoint(e); // 记录起点
+ me.startTop = me.getScrollTop(); // 记录此时的滚动条位置
+ me.startAngle = 0; // 初始角度
+ me.lastPoint = me.startPoint; // 重置上次move的点
+ me.maxTouchmoveY = me.getBodyHeight() - me.optDown.bottomOffset; // 手指触摸的最大范围(写在touchstart避免body获取高度为0的情况)
+ me.inTouchend = false; // 标记不是touchend
+
+ me.callMethod(ins, {type: 'setWxsProp'}) // 同步更新wxsProp的数据 (小程序是异步的,可能touchmove先执行,才到propObserver; h5和app是同步)
+}
+
+function touchmoveEvent(e, ins) {
+ var isPrevent = true // false表示不往上冒泡,相当于调用了同时调用了stopPropagation和preventDefault (对小程序生效, h5和app无效)
+
+ if (me.disabled()) return isPrevent;
+
+ var scrollTop = me.getScrollTop(); // 当前滚动条的距离
+ var curPoint = me.getPoint(e); // 当前点
+
+ var moveY = curPoint.y - me.startPoint.y; // 和起点比,移动的距离,大于0向下拉,小于0向上拉
+
+ // 向下拉 && 在顶部
+ // mescroll-body,直接判定在顶部即可
+ // scroll-view在滚动时不会触发touchmove,当触顶/底/左/右时,才会触发touchmove
+ // scroll-view滚动到顶部时,scrollTop不一定为0,也有可能大于0; 在iOS的APP中scrollTop可能为负数,不一定和startTop相等
+ if (moveY > 0 && (
+ (me.isScrollBody && scrollTop <= 0)
+ ||
+ (!me.isScrollBody && (scrollTop <= 0 || (scrollTop <= me.optDown.startTop && scrollTop === me.startTop)) )
+ )) {
+ // 可下拉的条件
+ if (!me.inTouchend && !me.isDownScrolling && !me.optDown.isLock && (!me.isUpScrolling || (me.isUpScrolling &&
+ me.isUpBoth))) {
+
+ // 下拉的角度是否在配置的范围内
+ if(!me.startAngle) me.startAngle = me.getAngle(me.lastPoint, curPoint); // 两点之间的角度,区间 [0,90]
+ if (me.startAngle < me.optDown.minAngle) return isPrevent; // 如果小于配置的角度,则不往下执行下拉刷新
+
+ // 如果手指的位置超过配置的距离,则提前结束下拉,避免Webview嵌套导致touchend无法触发
+ if (me.maxTouchmoveY > 0 && curPoint.y >= me.maxTouchmoveY) {
+ me.inTouchend = true; // 标记执行touchend
+ touchendEvent(e, ins); // 提前触发touchend
+ return isPrevent;
+ }
+
+ isPrevent = false // 小程序是return false
+
+ var diff = curPoint.y - me.lastPoint.y; // 和上次比,移动的距离 (大于0向下,小于0向上)
+
+ // 下拉距离 < 指定距离
+ if (me.downHight < me.optDown.offset) {
+ if (me.movetype !== 1) {
+ me.movetype = 1; // 加入标记,保证只执行一次
+ // me.optDown.inOffset && me.optDown.inOffset(me); // 进入指定距离范围内那一刻的回调,只执行一次
+ me.callMethod(ins, {type: 'setLoadType', downLoadType: 1})
+ me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来
+ }
+ me.downHight += diff * me.optDown.inOffsetRate; // 越往下,高度变化越小
+
+ // 指定距离 <= 下拉距离
+ } else {
+ if (me.movetype !== 2) {
+ me.movetype = 2; // 加入标记,保证只执行一次
+ // me.optDown.outOffset && me.optDown.outOffset(me); // 下拉超过指定距离那一刻的回调,只执行一次
+ me.callMethod(ins, {type: 'setLoadType', downLoadType: 2})
+ me.isMoveDown = true; // 标记下拉区域高度改变,在touchend重置回来
+ }
+ if (diff > 0) { // 向下拉
+ me.downHight += diff * me.optDown.outOffsetRate; // 越往下,高度变化越小
+ } else { // 向上收
+ me.downHight += diff; // 向上收回高度,则向上滑多少收多少高度
+ }
+ }
+
+ me.downHight = Math.round(me.downHight) // 取整
+ var rate = me.downHight / me.optDown.offset; // 下拉区域当前高度与指定距离的比值
+ // me.optDown.onMoving && me.optDown.onMoving(me, rate, me.downHight); // 下拉过程中的回调,一直在执行
+ me.onMoving(ins, rate, me.downHight)
+ }
+ }
+
+ me.lastPoint = curPoint; // 记录本次移动的点
+
+ return isPrevent // false表示不往上冒泡,相当于调用了同时调用了stopPropagation和preventDefault (对小程序生效, h5和app无效)
+}
+
+function touchendEvent(e, ins) {
+ // 如果下拉区域高度已改变,则需重置回来
+ if (me.isMoveDown) {
+ if (me.downHight >= me.optDown.offset) {
+ // 符合触发刷新的条件
+ me.downHight = me.optDown.offset; // 更新下拉区域高度
+ // me.triggerDownScroll();
+ me.callMethod(ins, {type: 'triggerDownScroll'})
+ } else {
+ // 不符合的话 则重置
+ me.downHight = 0;
+ // me.optDown.endDownScroll && me.optDown.endDownScroll(me);
+ me.callMethod(ins, {type: 'endDownScroll'})
+ }
+ me.movetype = 0;
+ me.isMoveDown = false;
+ } else if (!me.isScrollBody && me.getScrollTop() === me.startTop) { // scroll-view到顶/左/右/底的滑动事件
+ var isScrollUp = me.getPoint(e).y - me.startPoint.y < 0; // 和起点比,移动的距离,大于0向下拉,小于0向上拉
+ // 上滑
+ if (isScrollUp) {
+ // 需检查滑动的角度
+ var angle = me.getAngle(me.getPoint(e), me.startPoint); // 两点之间的角度,区间 [0,90]
+ if (angle > 80) {
+ // 检查并触发上拉
+ // me.triggerUpScroll(true);
+ me.callMethod(ins, {type: 'triggerUpScroll'})
+ }
+ }
+ }
+ me.callMethod(ins, {type: 'setWxsProp'}) // 同步更新wxsProp的数据 (小程序是异步的,可能touchmove先执行,才到propObserver; h5和app是同步)
+}
+
+/* 是否禁用下拉刷新 */
+me.disabled = function(){
+ return !me.optDown || !me.optDown.use || me.optDown.native
+}
+
+/* 根据点击滑动事件获取第一个手指的坐标 */
+me.getPoint = function(e) {
+ if (!e) {
+ return {x: 0,y: 0}
+ }
+ if (e.touches && e.touches[0]) {
+ return {x: e.touches[0].pageX,y: e.touches[0].pageY}
+ } else if (e.changedTouches && e.changedTouches[0]) {
+ return {x: e.changedTouches[0].pageX,y: e.changedTouches[0].pageY}
+ } else {
+ return {x: e.clientX,y: e.clientY}
+ }
+}
+
+/* 计算两点之间的角度: 区间 [0,90]*/
+me.getAngle = function (p1, p2) {
+ var x = Math.abs(p1.x - p2.x);
+ var y = Math.abs(p1.y - p2.y);
+ var z = Math.sqrt(x * x + y * y);
+ var angle = 0;
+ if (z !== 0) {
+ angle = Math.asin(y / z) / Math.PI * 180;
+ }
+ return angle
+}
+
+/* 获取滚动条的位置 */
+me.getScrollTop = function() {
+ return me.scrollTop || 0
+}
+
+/* 获取body的高度 */
+me.getBodyHeight = function() {
+ return me.bodyHeight || 0;
+}
+
+/* 调用逻辑层的方法 */
+me.callMethod = function(ins, param) {
+ if(ins) ins.callMethod('wxsCall', param)
+}
+
+/* 导出模块 */
+module.exports = {
+ propObserver: propObserver,
+ callObserver: callObserver,
+ touchstartEvent: touchstartEvent,
+ touchmoveEvent: touchmoveEvent,
+ touchendEvent: touchendEvent
+}
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/hooks/useMescroll.js b/uni_modules/mescroll-uni/hooks/useMescroll.js
new file mode 100644
index 0000000..ef91cd1
--- /dev/null
+++ b/uni_modules/mescroll-uni/hooks/useMescroll.js
@@ -0,0 +1,66 @@
+// 小程序无法在hook中使用页面级别生命周期,需单独传入: https://ask.dcloud.net.cn/question/161173
+// import { onPageScroll, onReachBottom, onPullDownRefresh} from '@dcloudio/uni-app';
+
+/**
+ * 初始化mescroll, 相当于vue2的mescroll-mixins.js文件 (mescroll-body 和 mescroll-uni 通用)
+ * mescroll-body需传入onPageScroll, onReachBottom
+ * mescroll-uni无需传onPageScroll, onReachBottom
+ * 当down.native为true时,需传入onPullDownRefresh
+ */
+function useMescroll(onPageScroll, onReachBottom, onPullDownRefresh){
+ // mescroll实例对象
+ let mescroll = null;
+
+ // mescroll组件初始化的回调,可获取到mescroll对象
+ const mescrollInit = (e)=> {
+ mescroll = e;
+ }
+
+ // 获取mescroll对象, mescrollInit执行之后会有值, 生命周期created中会有值
+ const getMescroll = ()=>{
+ return mescroll
+ }
+
+ // 下拉刷新的回调 (mixin默认resetUpScroll)
+ const downCallback = ()=> {
+ if(mescroll.optUp.use){
+ mescroll.resetUpScroll()
+ }else{
+ setTimeout(()=>{
+ mescroll.endSuccess();
+ }, 500)
+ }
+ }
+
+ // 上拉加载的回调
+ const upCallback = ()=> {
+ // mixin默认延时500自动结束加载
+ setTimeout(()=>{
+ mescroll.endErr();
+ }, 500)
+ }
+
+ // 注册系统自带的下拉刷新 (配置down.native为true时生效, 还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例)
+ onPullDownRefresh && onPullDownRefresh(() => {
+ mescroll && mescroll.onPullDownRefresh();
+ })
+
+ // 注册列表滚动事件,用于判定在顶部可下拉刷新,在指定位置可显示隐藏回到顶部按钮 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效)
+ onPageScroll && onPageScroll(e=>{
+ mescroll && mescroll.onPageScroll(e);
+ })
+
+ // 注册滚动到底部的事件,用于上拉加载 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效)
+ onReachBottom && onReachBottom(()=>{
+ mescroll && mescroll.onReachBottom();
+ })
+
+ return {
+ getMescroll,
+ mescrollInit,
+ downCallback,
+ upCallback
+ }
+}
+
+export default useMescroll
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/hooks/useMescrollComp.js b/uni_modules/mescroll-uni/hooks/useMescrollComp.js
new file mode 100644
index 0000000..3b83847
--- /dev/null
+++ b/uni_modules/mescroll-uni/hooks/useMescrollComp.js
@@ -0,0 +1,56 @@
+import { ref } from 'vue';
+
+// 小程序无法在hook中使用页面级别生命周期,需单独传入: https://ask.dcloud.net.cn/question/161173
+// import { onPageScroll, onReachBottom, onPullDownRefresh} from '@dcloudio/uni-app';
+
+/**
+ * mescroll-body写在子组件时,需通过useMescrollComp补充子组件缺少的生命周期, 相当于vue2的mescroll-comp.js文件
+ * 必须传入onPageScroll, onReachBottom
+ * 当down.native为true时,需传入onPullDownRefresh
+ */
+function useMescrollComp(onPageScroll, onReachBottom, onPullDownRefresh){
+ // 因为子组件无onPageScroll和onReachBottom的页面生命周期,需在页面传递进到子组件
+ onPageScroll(e=>{
+ handlePageScroll(e)
+ })
+
+ onReachBottom(()=>{
+ handleReachBottom()
+ })
+
+ // 当down的native: true时, 还需传递此方法进到子组件
+ onPullDownRefresh && onPullDownRefresh(()=>{
+ handlePullDownRefresh()
+ })
+
+ const mescrollItem = ref(null)
+
+ const handlePageScroll = (e)=>{
+ const mescroll = getMescroll()
+ mescroll && mescroll.onPageScroll(e);
+ }
+
+ const handleReachBottom = ()=>{
+ const mescroll = getMescroll()
+ mescroll && mescroll.onReachBottom();
+ }
+
+ const handlePullDownRefresh = ()=>{
+ const mescroll = getMescroll()
+ mescroll && mescroll.onPullDownRefresh();
+ }
+
+ const getMescroll = ()=>{
+ if(mescrollItem.value && mescrollItem.value.getMescroll){
+ return mescrollItem.value.getMescroll()
+ }
+ return null
+ }
+
+ return {
+ mescrollItem,
+ getMescroll
+ }
+}
+
+export default useMescrollComp
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/hooks/useMescrollMore.js b/uni_modules/mescroll-uni/hooks/useMescrollMore.js
new file mode 100644
index 0000000..f9a3cd0
--- /dev/null
+++ b/uni_modules/mescroll-uni/hooks/useMescrollMore.js
@@ -0,0 +1,69 @@
+import { ref } from 'vue';
+
+// 小程序无法在hook中使用页面级别生命周期,需单独传入: https://ask.dcloud.net.cn/question/161173
+// import { onPageScroll, onReachBottom, onPullDownRefresh} from '@dcloudio/uni-app';
+
+/** mescroll-more示例写在子组件时,需通过useMescrollMore补充子组件缺少的生命周期, 相当于vue2的mescroll-more.js文件 */
+function useMescrollMore(mescrollItems, onPageScroll, onReachBottom, onPullDownRefresh){
+ // 当前tab下标
+ const tabIndex = ref(0)
+
+ // 因为子组件无onPageScroll和onReachBottom的页面生命周期,需在页面传递进到子组件
+ onPageScroll && onPageScroll(e=>{
+ handlePageScroll(e)
+ })
+
+ onReachBottom && onReachBottom(()=>{
+ handleReachBottom()
+ })
+
+ // 当down的native: true时, 还需传递此方法进到子组件
+ onPullDownRefresh && onPullDownRefresh(()=>{
+ handlePullDownRefresh()
+ })
+
+ const handlePageScroll = (e)=>{
+ let mescroll = getMescroll(tabIndex.value);
+ mescroll && mescroll.onPageScroll(e);
+ }
+ const handleReachBottom = ()=>{
+ let mescroll = getMescroll(tabIndex.value);
+ mescroll && mescroll.onReachBottom();
+ }
+
+ const handlePullDownRefresh = ()=>{
+ let mescroll = getMescroll(tabIndex.value);
+ mescroll && mescroll.onPullDownRefresh();
+ }
+
+ // 根据下标获取对应子组件的mescroll
+ const getMescroll = (i)=>{
+ if (mescrollItems && mescrollItems[i]) {
+ return mescrollItems[i].value.getMescroll()
+ } else{
+ return null
+ }
+ }
+
+ // 切换tab,恢复滚动条位置
+ const scrollToLastY = ()=>{
+ let mescroll = getMescroll(tabIndex.value);
+ if(mescroll){
+ // 恢复上次滚动条的位置
+ let y = mescroll.getScrollTop()
+ mescroll.scrollTo(y, 0)
+ // 再次恢复上次滚动条的位置, 确保元素已渲染
+ setTimeout(()=>{
+ mescroll.scrollTo(y, 0)
+ },20)
+ }
+ }
+
+ return {
+ tabIndex,
+ getMescroll,
+ scrollToLastY
+ }
+}
+
+export default useMescrollMore
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/package.json b/uni_modules/mescroll-uni/package.json
new file mode 100644
index 0000000..ef37663
--- /dev/null
+++ b/uni_modules/mescroll-uni/package.json
@@ -0,0 +1,76 @@
+{
+ "id": "mescroll-uni",
+ "displayName": "高性能下拉刷新上拉加载组件 支持vue3 setup",
+ "version": "1.3.8",
+ "description": "wxs+renderjs实现, 支持原生页面和局部区域滚动, 支持vue3 script setup的写法",
+ "keywords": [
+ "下拉刷新",
+ "上拉加载",
+ "翻页分页",
+ "wxs",
+ "setup"
+],
+ "repository": "https://github.com/mescroll/mescroll",
+"engines": {
+ },
+"dcloudext": {
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": "https://www.npmjs.com/package/mescroll-uni",
+ "type": "component-vue"
+ },
+ "uni_modules": {
+ "dependencies": [],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y"
+ },
+ "快应用": {
+ "华为": "y",
+ "联盟": "y"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/mescroll-uni/readme.md b/uni_modules/mescroll-uni/readme.md
new file mode 100644
index 0000000..4bce178
--- /dev/null
+++ b/uni_modules/mescroll-uni/readme.md
@@ -0,0 +1,45 @@
+## mescroll --【wxs+renderjs实现】高性能的下拉刷新上拉加载组件
+1. mescroll的uni版本 是专门用在uni-app的下拉刷新和上拉加载的组件
+
+2. mescroll的uni版本 继承了mescroll.js的实用功能: 自动处理分页, 自动控制无数据, 空布局提示, 回到顶部按钮 ..
+
+3. mescroll的uni版本 丰富的案例, 自由灵活的api, 超详细的注释, 可让您快速自定义真正属于自己的下拉上拉组件
+
+
+
+
+## 最新文档(1.3.8版本): https://www.mescroll.com/uni.html
+2023-03-26 by 小瑾同学 (文档可能会有缓存,建议打开时刷新一下)
+
+
+## 1.3.5版本已调整为[uni_modules](https://uniapp.dcloud.io/uni_modules)
+uni_modules版本的mescroll-body 和 mescroll-empty 支持 [easycom规范](https://uniapp.dcloud.io/collocation/pages?id=easycom)
+所以 main.js 无需再为mescroll-body注册全局组件
+所以个别页面要单独使用 mescroll-empty , 也无需手动注册
+#### 1.3.5以前的用户升级为uni_modules版本:
+```
+1. 删除原来的 @/components/mescroll-uni 组件
+2. 删除 main.js 注册的 mescroll 组件
+3. 从插件市场导入最新mescroll组件 (1.3.5+uni_modules版本)
+4. 全局搜索 '@/components/mescroll-uni/' 替换为 '@/uni_modules/mescroll-uni/components/mescroll-uni/'
+5. mescroll-empty遵循easycom规范, 若某些页面单独使用 'mescroll-empty.vue', 可删除手动导入的代码
+```
+
+## 近期已更新优化的内容:
+1. 新增vue3 script setup的示例
+2. 新增`入门极简`示例, 国际化`mescroll-i18n.vue`示例, 轮播吸顶菜单`mescroll-swiper-sticky.vue`示例
+3. 新增 "局部区域滚动" 的案例: mescroll-body-part.vue 和 mescroll-uni-part.vue
+4. 新增 me-video 视频组件, 解决APP端视频下拉悬浮错位的问题, 参考 mescroll-options.vue 示例
+5. 新增 me-tabs 组件,tabs支持水平滑动; 优化mescroll-more和mescroll-swiper的案例, 顶部tab支持水平滑动
+6. 吸顶悬浮提供了原生sticky和监听滚动条实现的示例: sticky.vue 和 sticky-scroll.vue (推荐使用sticky样式实现)
+7. mescroll.scrollTo(y)的y支持css选择器, 包括跨自定义组件的后代选择器, 支持滚动到子组件的view (参考 mescroll-options.vue)
+8. topbar 顶部是否预留状态栏的高度, 默认false; 还可支持设置状态栏背景: 如 '#ffff00', 'url(xxx) 0 0/100% 100%', 'linear-gradient(xx)'
+9. down.bgColor 和 up.bgColor 加载区域的背景,不仅支持色值, 而且还是支持背景图和渐变: 如 'url(xxx) 0 0/100% 100%', 'linear-gradient(xx)'
+10. topbar,bgColor支持一行代码定义background: [https://www.runoob.com/cssref/css3-pr-background.html](https://www.runoob.com/cssref/css3-pr-background.html)
+
+
+查看更多 ...
+
+
+
+#### mescroll不支持nvue,也暂无支持的计划哈,so sorry~
\ No newline at end of file
diff --git a/uni_modules/uni-icons/changelog.md b/uni_modules/uni-icons/changelog.md
new file mode 100644
index 0000000..6449885
--- /dev/null
+++ b/uni_modules/uni-icons/changelog.md
@@ -0,0 +1,22 @@
+## 1.3.5(2022-01-24)
+- 优化 size 属性可以传入不带单位的字符串数值
+## 1.3.4(2022-01-24)
+- 优化 size 支持其他单位
+## 1.3.3(2022-01-17)
+- 修复 nvue 有些图标不显示的bug,兼容老版本图标
+## 1.3.2(2021-12-01)
+- 优化 示例可复制图标名称
+## 1.3.1(2021-11-23)
+- 优化 兼容旧组件 type 值
+## 1.3.0(2021-11-19)
+- 新增 更多图标
+- 优化 自定义图标使用方式
+- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons)
+## 1.1.7(2021-11-08)
+## 1.2.0(2021-07-30)
+- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
+## 1.1.5(2021-05-12)
+- 新增 组件示例地址
+## 1.1.4(2021-02-05)
+- 调整为uni_modules目录规范
diff --git a/uni_modules/uni-icons/components/uni-icons/icons.js b/uni_modules/uni-icons/components/uni-icons/icons.js
new file mode 100644
index 0000000..7889936
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/icons.js
@@ -0,0 +1,1169 @@
+export default {
+ "id": "2852637",
+ "name": "uniui图标库",
+ "font_family": "uniicons",
+ "css_prefix_text": "uniui-",
+ "description": "",
+ "glyphs": [
+ {
+ "icon_id": "25027049",
+ "name": "yanse",
+ "font_class": "color",
+ "unicode": "e6cf",
+ "unicode_decimal": 59087
+ },
+ {
+ "icon_id": "25027048",
+ "name": "wallet",
+ "font_class": "wallet",
+ "unicode": "e6b1",
+ "unicode_decimal": 59057
+ },
+ {
+ "icon_id": "25015720",
+ "name": "settings-filled",
+ "font_class": "settings-filled",
+ "unicode": "e6ce",
+ "unicode_decimal": 59086
+ },
+ {
+ "icon_id": "25015434",
+ "name": "shimingrenzheng-filled",
+ "font_class": "auth-filled",
+ "unicode": "e6cc",
+ "unicode_decimal": 59084
+ },
+ {
+ "icon_id": "24934246",
+ "name": "shop-filled",
+ "font_class": "shop-filled",
+ "unicode": "e6cd",
+ "unicode_decimal": 59085
+ },
+ {
+ "icon_id": "24934159",
+ "name": "staff-filled-01",
+ "font_class": "staff-filled",
+ "unicode": "e6cb",
+ "unicode_decimal": 59083
+ },
+ {
+ "icon_id": "24932461",
+ "name": "VIP-filled",
+ "font_class": "vip-filled",
+ "unicode": "e6c6",
+ "unicode_decimal": 59078
+ },
+ {
+ "icon_id": "24932462",
+ "name": "plus_circle_fill",
+ "font_class": "plus-filled",
+ "unicode": "e6c7",
+ "unicode_decimal": 59079
+ },
+ {
+ "icon_id": "24932463",
+ "name": "folder_add-filled",
+ "font_class": "folder-add-filled",
+ "unicode": "e6c8",
+ "unicode_decimal": 59080
+ },
+ {
+ "icon_id": "24932464",
+ "name": "yanse-filled",
+ "font_class": "color-filled",
+ "unicode": "e6c9",
+ "unicode_decimal": 59081
+ },
+ {
+ "icon_id": "24932465",
+ "name": "tune-filled",
+ "font_class": "tune-filled",
+ "unicode": "e6ca",
+ "unicode_decimal": 59082
+ },
+ {
+ "icon_id": "24932455",
+ "name": "a-rilidaka-filled",
+ "font_class": "calendar-filled",
+ "unicode": "e6c0",
+ "unicode_decimal": 59072
+ },
+ {
+ "icon_id": "24932456",
+ "name": "notification-filled",
+ "font_class": "notification-filled",
+ "unicode": "e6c1",
+ "unicode_decimal": 59073
+ },
+ {
+ "icon_id": "24932457",
+ "name": "wallet-filled",
+ "font_class": "wallet-filled",
+ "unicode": "e6c2",
+ "unicode_decimal": 59074
+ },
+ {
+ "icon_id": "24932458",
+ "name": "paihangbang-filled",
+ "font_class": "medal-filled",
+ "unicode": "e6c3",
+ "unicode_decimal": 59075
+ },
+ {
+ "icon_id": "24932459",
+ "name": "gift-filled",
+ "font_class": "gift-filled",
+ "unicode": "e6c4",
+ "unicode_decimal": 59076
+ },
+ {
+ "icon_id": "24932460",
+ "name": "fire-filled",
+ "font_class": "fire-filled",
+ "unicode": "e6c5",
+ "unicode_decimal": 59077
+ },
+ {
+ "icon_id": "24928001",
+ "name": "refreshempty",
+ "font_class": "refreshempty",
+ "unicode": "e6bf",
+ "unicode_decimal": 59071
+ },
+ {
+ "icon_id": "24926853",
+ "name": "location-ellipse",
+ "font_class": "location-filled",
+ "unicode": "e6af",
+ "unicode_decimal": 59055
+ },
+ {
+ "icon_id": "24926735",
+ "name": "person-filled",
+ "font_class": "person-filled",
+ "unicode": "e69d",
+ "unicode_decimal": 59037
+ },
+ {
+ "icon_id": "24926703",
+ "name": "personadd-filled",
+ "font_class": "personadd-filled",
+ "unicode": "e698",
+ "unicode_decimal": 59032
+ },
+ {
+ "icon_id": "24923351",
+ "name": "back",
+ "font_class": "back",
+ "unicode": "e6b9",
+ "unicode_decimal": 59065
+ },
+ {
+ "icon_id": "24923352",
+ "name": "forward",
+ "font_class": "forward",
+ "unicode": "e6ba",
+ "unicode_decimal": 59066
+ },
+ {
+ "icon_id": "24923353",
+ "name": "arrowthinright",
+ "font_class": "arrow-right",
+ "unicode": "e6bb",
+ "unicode_decimal": 59067
+ },
+ {
+ "icon_id": "24923353",
+ "name": "arrowthinright",
+ "font_class": "arrowthinright",
+ "unicode": "e6bb",
+ "unicode_decimal": 59067
+ },
+ {
+ "icon_id": "24923354",
+ "name": "arrowthinleft",
+ "font_class": "arrow-left",
+ "unicode": "e6bc",
+ "unicode_decimal": 59068
+ },
+ {
+ "icon_id": "24923354",
+ "name": "arrowthinleft",
+ "font_class": "arrowthinleft",
+ "unicode": "e6bc",
+ "unicode_decimal": 59068
+ },
+ {
+ "icon_id": "24923355",
+ "name": "arrowthinup",
+ "font_class": "arrow-up",
+ "unicode": "e6bd",
+ "unicode_decimal": 59069
+ },
+ {
+ "icon_id": "24923355",
+ "name": "arrowthinup",
+ "font_class": "arrowthinup",
+ "unicode": "e6bd",
+ "unicode_decimal": 59069
+ },
+ {
+ "icon_id": "24923356",
+ "name": "arrowthindown",
+ "font_class": "arrow-down",
+ "unicode": "e6be",
+ "unicode_decimal": 59070
+ },{
+ "icon_id": "24923356",
+ "name": "arrowthindown",
+ "font_class": "arrowthindown",
+ "unicode": "e6be",
+ "unicode_decimal": 59070
+ },
+ {
+ "icon_id": "24923349",
+ "name": "arrowdown",
+ "font_class": "bottom",
+ "unicode": "e6b8",
+ "unicode_decimal": 59064
+ },{
+ "icon_id": "24923349",
+ "name": "arrowdown",
+ "font_class": "arrowdown",
+ "unicode": "e6b8",
+ "unicode_decimal": 59064
+ },
+ {
+ "icon_id": "24923346",
+ "name": "arrowright",
+ "font_class": "right",
+ "unicode": "e6b5",
+ "unicode_decimal": 59061
+ },
+ {
+ "icon_id": "24923346",
+ "name": "arrowright",
+ "font_class": "arrowright",
+ "unicode": "e6b5",
+ "unicode_decimal": 59061
+ },
+ {
+ "icon_id": "24923347",
+ "name": "arrowup",
+ "font_class": "top",
+ "unicode": "e6b6",
+ "unicode_decimal": 59062
+ },
+ {
+ "icon_id": "24923347",
+ "name": "arrowup",
+ "font_class": "arrowup",
+ "unicode": "e6b6",
+ "unicode_decimal": 59062
+ },
+ {
+ "icon_id": "24923348",
+ "name": "arrowleft",
+ "font_class": "left",
+ "unicode": "e6b7",
+ "unicode_decimal": 59063
+ },
+ {
+ "icon_id": "24923348",
+ "name": "arrowleft",
+ "font_class": "arrowleft",
+ "unicode": "e6b7",
+ "unicode_decimal": 59063
+ },
+ {
+ "icon_id": "24923334",
+ "name": "eye",
+ "font_class": "eye",
+ "unicode": "e651",
+ "unicode_decimal": 58961
+ },
+ {
+ "icon_id": "24923335",
+ "name": "eye-filled",
+ "font_class": "eye-filled",
+ "unicode": "e66a",
+ "unicode_decimal": 58986
+ },
+ {
+ "icon_id": "24923336",
+ "name": "eye-slash",
+ "font_class": "eye-slash",
+ "unicode": "e6b3",
+ "unicode_decimal": 59059
+ },
+ {
+ "icon_id": "24923337",
+ "name": "eye-slash-filled",
+ "font_class": "eye-slash-filled",
+ "unicode": "e6b4",
+ "unicode_decimal": 59060
+ },
+ {
+ "icon_id": "24923305",
+ "name": "info-filled",
+ "font_class": "info-filled",
+ "unicode": "e649",
+ "unicode_decimal": 58953
+ },
+ {
+ "icon_id": "24923299",
+ "name": "reload-01",
+ "font_class": "reload",
+ "unicode": "e6b2",
+ "unicode_decimal": 59058
+ },
+ {
+ "icon_id": "24923195",
+ "name": "mic_slash_fill",
+ "font_class": "micoff-filled",
+ "unicode": "e6b0",
+ "unicode_decimal": 59056
+ },
+ {
+ "icon_id": "24923165",
+ "name": "map-pin-ellipse",
+ "font_class": "map-pin-ellipse",
+ "unicode": "e6ac",
+ "unicode_decimal": 59052
+ },
+ {
+ "icon_id": "24923166",
+ "name": "map-pin",
+ "font_class": "map-pin",
+ "unicode": "e6ad",
+ "unicode_decimal": 59053
+ },
+ {
+ "icon_id": "24923167",
+ "name": "location",
+ "font_class": "location",
+ "unicode": "e6ae",
+ "unicode_decimal": 59054
+ },
+ {
+ "icon_id": "24923064",
+ "name": "starhalf",
+ "font_class": "starhalf",
+ "unicode": "e683",
+ "unicode_decimal": 59011
+ },
+ {
+ "icon_id": "24923065",
+ "name": "star",
+ "font_class": "star",
+ "unicode": "e688",
+ "unicode_decimal": 59016
+ },
+ {
+ "icon_id": "24923066",
+ "name": "star-filled",
+ "font_class": "star-filled",
+ "unicode": "e68f",
+ "unicode_decimal": 59023
+ },
+ {
+ "icon_id": "24899646",
+ "name": "a-rilidaka",
+ "font_class": "calendar",
+ "unicode": "e6a0",
+ "unicode_decimal": 59040
+ },
+ {
+ "icon_id": "24899647",
+ "name": "fire",
+ "font_class": "fire",
+ "unicode": "e6a1",
+ "unicode_decimal": 59041
+ },
+ {
+ "icon_id": "24899648",
+ "name": "paihangbang",
+ "font_class": "medal",
+ "unicode": "e6a2",
+ "unicode_decimal": 59042
+ },
+ {
+ "icon_id": "24899649",
+ "name": "font",
+ "font_class": "font",
+ "unicode": "e6a3",
+ "unicode_decimal": 59043
+ },
+ {
+ "icon_id": "24899650",
+ "name": "gift",
+ "font_class": "gift",
+ "unicode": "e6a4",
+ "unicode_decimal": 59044
+ },
+ {
+ "icon_id": "24899651",
+ "name": "link",
+ "font_class": "link",
+ "unicode": "e6a5",
+ "unicode_decimal": 59045
+ },
+ {
+ "icon_id": "24899652",
+ "name": "notification",
+ "font_class": "notification",
+ "unicode": "e6a6",
+ "unicode_decimal": 59046
+ },
+ {
+ "icon_id": "24899653",
+ "name": "staff",
+ "font_class": "staff",
+ "unicode": "e6a7",
+ "unicode_decimal": 59047
+ },
+ {
+ "icon_id": "24899654",
+ "name": "VIP",
+ "font_class": "vip",
+ "unicode": "e6a8",
+ "unicode_decimal": 59048
+ },
+ {
+ "icon_id": "24899655",
+ "name": "folder_add",
+ "font_class": "folder-add",
+ "unicode": "e6a9",
+ "unicode_decimal": 59049
+ },
+ {
+ "icon_id": "24899656",
+ "name": "tune",
+ "font_class": "tune",
+ "unicode": "e6aa",
+ "unicode_decimal": 59050
+ },
+ {
+ "icon_id": "24899657",
+ "name": "shimingrenzheng",
+ "font_class": "auth",
+ "unicode": "e6ab",
+ "unicode_decimal": 59051
+ },
+ {
+ "icon_id": "24899565",
+ "name": "person",
+ "font_class": "person",
+ "unicode": "e699",
+ "unicode_decimal": 59033
+ },
+ {
+ "icon_id": "24899566",
+ "name": "email-filled",
+ "font_class": "email-filled",
+ "unicode": "e69a",
+ "unicode_decimal": 59034
+ },
+ {
+ "icon_id": "24899567",
+ "name": "phone-filled",
+ "font_class": "phone-filled",
+ "unicode": "e69b",
+ "unicode_decimal": 59035
+ },
+ {
+ "icon_id": "24899568",
+ "name": "phone",
+ "font_class": "phone",
+ "unicode": "e69c",
+ "unicode_decimal": 59036
+ },
+ {
+ "icon_id": "24899570",
+ "name": "email",
+ "font_class": "email",
+ "unicode": "e69e",
+ "unicode_decimal": 59038
+ },
+ {
+ "icon_id": "24899571",
+ "name": "personadd",
+ "font_class": "personadd",
+ "unicode": "e69f",
+ "unicode_decimal": 59039
+ },
+ {
+ "icon_id": "24899558",
+ "name": "chatboxes-filled",
+ "font_class": "chatboxes-filled",
+ "unicode": "e692",
+ "unicode_decimal": 59026
+ },
+ {
+ "icon_id": "24899559",
+ "name": "contact",
+ "font_class": "contact",
+ "unicode": "e693",
+ "unicode_decimal": 59027
+ },
+ {
+ "icon_id": "24899560",
+ "name": "chatbubble-filled",
+ "font_class": "chatbubble-filled",
+ "unicode": "e694",
+ "unicode_decimal": 59028
+ },
+ {
+ "icon_id": "24899561",
+ "name": "contact-filled",
+ "font_class": "contact-filled",
+ "unicode": "e695",
+ "unicode_decimal": 59029
+ },
+ {
+ "icon_id": "24899562",
+ "name": "chatboxes",
+ "font_class": "chatboxes",
+ "unicode": "e696",
+ "unicode_decimal": 59030
+ },
+ {
+ "icon_id": "24899563",
+ "name": "chatbubble",
+ "font_class": "chatbubble",
+ "unicode": "e697",
+ "unicode_decimal": 59031
+ },
+ {
+ "icon_id": "24881290",
+ "name": "upload-filled",
+ "font_class": "upload-filled",
+ "unicode": "e68e",
+ "unicode_decimal": 59022
+ },
+ {
+ "icon_id": "24881292",
+ "name": "upload",
+ "font_class": "upload",
+ "unicode": "e690",
+ "unicode_decimal": 59024
+ },
+ {
+ "icon_id": "24881293",
+ "name": "weixin",
+ "font_class": "weixin",
+ "unicode": "e691",
+ "unicode_decimal": 59025
+ },
+ {
+ "icon_id": "24881274",
+ "name": "compose",
+ "font_class": "compose",
+ "unicode": "e67f",
+ "unicode_decimal": 59007
+ },
+ {
+ "icon_id": "24881275",
+ "name": "qq",
+ "font_class": "qq",
+ "unicode": "e680",
+ "unicode_decimal": 59008
+ },
+ {
+ "icon_id": "24881276",
+ "name": "download-filled",
+ "font_class": "download-filled",
+ "unicode": "e681",
+ "unicode_decimal": 59009
+ },
+ {
+ "icon_id": "24881277",
+ "name": "pengyouquan",
+ "font_class": "pyq",
+ "unicode": "e682",
+ "unicode_decimal": 59010
+ },
+ {
+ "icon_id": "24881279",
+ "name": "sound",
+ "font_class": "sound",
+ "unicode": "e684",
+ "unicode_decimal": 59012
+ },
+ {
+ "icon_id": "24881280",
+ "name": "trash-filled",
+ "font_class": "trash-filled",
+ "unicode": "e685",
+ "unicode_decimal": 59013
+ },
+ {
+ "icon_id": "24881281",
+ "name": "sound-filled",
+ "font_class": "sound-filled",
+ "unicode": "e686",
+ "unicode_decimal": 59014
+ },
+ {
+ "icon_id": "24881282",
+ "name": "trash",
+ "font_class": "trash",
+ "unicode": "e687",
+ "unicode_decimal": 59015
+ },
+ {
+ "icon_id": "24881284",
+ "name": "videocam-filled",
+ "font_class": "videocam-filled",
+ "unicode": "e689",
+ "unicode_decimal": 59017
+ },
+ {
+ "icon_id": "24881285",
+ "name": "spinner-cycle",
+ "font_class": "spinner-cycle",
+ "unicode": "e68a",
+ "unicode_decimal": 59018
+ },
+ {
+ "icon_id": "24881286",
+ "name": "weibo",
+ "font_class": "weibo",
+ "unicode": "e68b",
+ "unicode_decimal": 59019
+ },
+ {
+ "icon_id": "24881288",
+ "name": "videocam",
+ "font_class": "videocam",
+ "unicode": "e68c",
+ "unicode_decimal": 59020
+ },
+ {
+ "icon_id": "24881289",
+ "name": "download",
+ "font_class": "download",
+ "unicode": "e68d",
+ "unicode_decimal": 59021
+ },
+ {
+ "icon_id": "24879601",
+ "name": "help",
+ "font_class": "help",
+ "unicode": "e679",
+ "unicode_decimal": 59001
+ },
+ {
+ "icon_id": "24879602",
+ "name": "navigate-filled",
+ "font_class": "navigate-filled",
+ "unicode": "e67a",
+ "unicode_decimal": 59002
+ },
+ {
+ "icon_id": "24879603",
+ "name": "plusempty",
+ "font_class": "plusempty",
+ "unicode": "e67b",
+ "unicode_decimal": 59003
+ },
+ {
+ "icon_id": "24879604",
+ "name": "smallcircle",
+ "font_class": "smallcircle",
+ "unicode": "e67c",
+ "unicode_decimal": 59004
+ },
+ {
+ "icon_id": "24879605",
+ "name": "minus-filled",
+ "font_class": "minus-filled",
+ "unicode": "e67d",
+ "unicode_decimal": 59005
+ },
+ {
+ "icon_id": "24879606",
+ "name": "micoff",
+ "font_class": "micoff",
+ "unicode": "e67e",
+ "unicode_decimal": 59006
+ },
+ {
+ "icon_id": "24879588",
+ "name": "closeempty",
+ "font_class": "closeempty",
+ "unicode": "e66c",
+ "unicode_decimal": 58988
+ },
+ {
+ "icon_id": "24879589",
+ "name": "clear",
+ "font_class": "clear",
+ "unicode": "e66d",
+ "unicode_decimal": 58989
+ },
+ {
+ "icon_id": "24879590",
+ "name": "navigate",
+ "font_class": "navigate",
+ "unicode": "e66e",
+ "unicode_decimal": 58990
+ },
+ {
+ "icon_id": "24879591",
+ "name": "minus",
+ "font_class": "minus",
+ "unicode": "e66f",
+ "unicode_decimal": 58991
+ },
+ {
+ "icon_id": "24879592",
+ "name": "image",
+ "font_class": "image",
+ "unicode": "e670",
+ "unicode_decimal": 58992
+ },
+ {
+ "icon_id": "24879593",
+ "name": "mic",
+ "font_class": "mic",
+ "unicode": "e671",
+ "unicode_decimal": 58993
+ },
+ {
+ "icon_id": "24879594",
+ "name": "paperplane",
+ "font_class": "paperplane",
+ "unicode": "e672",
+ "unicode_decimal": 58994
+ },
+ {
+ "icon_id": "24879595",
+ "name": "close",
+ "font_class": "close",
+ "unicode": "e673",
+ "unicode_decimal": 58995
+ },
+ {
+ "icon_id": "24879596",
+ "name": "help-filled",
+ "font_class": "help-filled",
+ "unicode": "e674",
+ "unicode_decimal": 58996
+ },
+ {
+ "icon_id": "24879597",
+ "name": "plus-filled",
+ "font_class": "paperplane-filled",
+ "unicode": "e675",
+ "unicode_decimal": 58997
+ },
+ {
+ "icon_id": "24879598",
+ "name": "plus",
+ "font_class": "plus",
+ "unicode": "e676",
+ "unicode_decimal": 58998
+ },
+ {
+ "icon_id": "24879599",
+ "name": "mic-filled",
+ "font_class": "mic-filled",
+ "unicode": "e677",
+ "unicode_decimal": 58999
+ },
+ {
+ "icon_id": "24879600",
+ "name": "image-filled",
+ "font_class": "image-filled",
+ "unicode": "e678",
+ "unicode_decimal": 59000
+ },
+ {
+ "icon_id": "24855900",
+ "name": "locked-filled",
+ "font_class": "locked-filled",
+ "unicode": "e668",
+ "unicode_decimal": 58984
+ },
+ {
+ "icon_id": "24855901",
+ "name": "info",
+ "font_class": "info",
+ "unicode": "e669",
+ "unicode_decimal": 58985
+ },
+ {
+ "icon_id": "24855903",
+ "name": "locked",
+ "font_class": "locked",
+ "unicode": "e66b",
+ "unicode_decimal": 58987
+ },
+ {
+ "icon_id": "24855884",
+ "name": "camera-filled",
+ "font_class": "camera-filled",
+ "unicode": "e658",
+ "unicode_decimal": 58968
+ },
+ {
+ "icon_id": "24855885",
+ "name": "chat-filled",
+ "font_class": "chat-filled",
+ "unicode": "e659",
+ "unicode_decimal": 58969
+ },
+ {
+ "icon_id": "24855886",
+ "name": "camera",
+ "font_class": "camera",
+ "unicode": "e65a",
+ "unicode_decimal": 58970
+ },
+ {
+ "icon_id": "24855887",
+ "name": "circle",
+ "font_class": "circle",
+ "unicode": "e65b",
+ "unicode_decimal": 58971
+ },
+ {
+ "icon_id": "24855888",
+ "name": "checkmarkempty",
+ "font_class": "checkmarkempty",
+ "unicode": "e65c",
+ "unicode_decimal": 58972
+ },
+ {
+ "icon_id": "24855889",
+ "name": "chat",
+ "font_class": "chat",
+ "unicode": "e65d",
+ "unicode_decimal": 58973
+ },
+ {
+ "icon_id": "24855890",
+ "name": "circle-filled",
+ "font_class": "circle-filled",
+ "unicode": "e65e",
+ "unicode_decimal": 58974
+ },
+ {
+ "icon_id": "24855891",
+ "name": "flag",
+ "font_class": "flag",
+ "unicode": "e65f",
+ "unicode_decimal": 58975
+ },
+ {
+ "icon_id": "24855892",
+ "name": "flag-filled",
+ "font_class": "flag-filled",
+ "unicode": "e660",
+ "unicode_decimal": 58976
+ },
+ {
+ "icon_id": "24855893",
+ "name": "gear-filled",
+ "font_class": "gear-filled",
+ "unicode": "e661",
+ "unicode_decimal": 58977
+ },
+ {
+ "icon_id": "24855894",
+ "name": "home",
+ "font_class": "home",
+ "unicode": "e662",
+ "unicode_decimal": 58978
+ },
+ {
+ "icon_id": "24855895",
+ "name": "home-filled",
+ "font_class": "home-filled",
+ "unicode": "e663",
+ "unicode_decimal": 58979
+ },
+ {
+ "icon_id": "24855896",
+ "name": "gear",
+ "font_class": "gear",
+ "unicode": "e664",
+ "unicode_decimal": 58980
+ },
+ {
+ "icon_id": "24855897",
+ "name": "smallcircle-filled",
+ "font_class": "smallcircle-filled",
+ "unicode": "e665",
+ "unicode_decimal": 58981
+ },
+ {
+ "icon_id": "24855898",
+ "name": "map-filled",
+ "font_class": "map-filled",
+ "unicode": "e666",
+ "unicode_decimal": 58982
+ },
+ {
+ "icon_id": "24855899",
+ "name": "map",
+ "font_class": "map",
+ "unicode": "e667",
+ "unicode_decimal": 58983
+ },
+ {
+ "icon_id": "24855825",
+ "name": "refresh-filled",
+ "font_class": "refresh-filled",
+ "unicode": "e656",
+ "unicode_decimal": 58966
+ },
+ {
+ "icon_id": "24855826",
+ "name": "refresh",
+ "font_class": "refresh",
+ "unicode": "e657",
+ "unicode_decimal": 58967
+ },
+ {
+ "icon_id": "24855808",
+ "name": "cloud-upload",
+ "font_class": "cloud-upload",
+ "unicode": "e645",
+ "unicode_decimal": 58949
+ },
+ {
+ "icon_id": "24855809",
+ "name": "cloud-download-filled",
+ "font_class": "cloud-download-filled",
+ "unicode": "e646",
+ "unicode_decimal": 58950
+ },
+ {
+ "icon_id": "24855810",
+ "name": "cloud-download",
+ "font_class": "cloud-download",
+ "unicode": "e647",
+ "unicode_decimal": 58951
+ },
+ {
+ "icon_id": "24855811",
+ "name": "cloud-upload-filled",
+ "font_class": "cloud-upload-filled",
+ "unicode": "e648",
+ "unicode_decimal": 58952
+ },
+ {
+ "icon_id": "24855813",
+ "name": "redo",
+ "font_class": "redo",
+ "unicode": "e64a",
+ "unicode_decimal": 58954
+ },
+ {
+ "icon_id": "24855814",
+ "name": "images-filled",
+ "font_class": "images-filled",
+ "unicode": "e64b",
+ "unicode_decimal": 58955
+ },
+ {
+ "icon_id": "24855815",
+ "name": "undo-filled",
+ "font_class": "undo-filled",
+ "unicode": "e64c",
+ "unicode_decimal": 58956
+ },
+ {
+ "icon_id": "24855816",
+ "name": "more",
+ "font_class": "more",
+ "unicode": "e64d",
+ "unicode_decimal": 58957
+ },
+ {
+ "icon_id": "24855817",
+ "name": "more-filled",
+ "font_class": "more-filled",
+ "unicode": "e64e",
+ "unicode_decimal": 58958
+ },
+ {
+ "icon_id": "24855818",
+ "name": "undo",
+ "font_class": "undo",
+ "unicode": "e64f",
+ "unicode_decimal": 58959
+ },
+ {
+ "icon_id": "24855819",
+ "name": "images",
+ "font_class": "images",
+ "unicode": "e650",
+ "unicode_decimal": 58960
+ },
+ {
+ "icon_id": "24855821",
+ "name": "paperclip",
+ "font_class": "paperclip",
+ "unicode": "e652",
+ "unicode_decimal": 58962
+ },
+ {
+ "icon_id": "24855822",
+ "name": "settings",
+ "font_class": "settings",
+ "unicode": "e653",
+ "unicode_decimal": 58963
+ },
+ {
+ "icon_id": "24855823",
+ "name": "search",
+ "font_class": "search",
+ "unicode": "e654",
+ "unicode_decimal": 58964
+ },
+ {
+ "icon_id": "24855824",
+ "name": "redo-filled",
+ "font_class": "redo-filled",
+ "unicode": "e655",
+ "unicode_decimal": 58965
+ },
+ {
+ "icon_id": "24841702",
+ "name": "list",
+ "font_class": "list",
+ "unicode": "e644",
+ "unicode_decimal": 58948
+ },
+ {
+ "icon_id": "24841489",
+ "name": "mail-open-filled",
+ "font_class": "mail-open-filled",
+ "unicode": "e63a",
+ "unicode_decimal": 58938
+ },
+ {
+ "icon_id": "24841491",
+ "name": "hand-thumbsdown-filled",
+ "font_class": "hand-down-filled",
+ "unicode": "e63c",
+ "unicode_decimal": 58940
+ },
+ {
+ "icon_id": "24841492",
+ "name": "hand-thumbsdown",
+ "font_class": "hand-down",
+ "unicode": "e63d",
+ "unicode_decimal": 58941
+ },
+ {
+ "icon_id": "24841493",
+ "name": "hand-thumbsup-filled",
+ "font_class": "hand-up-filled",
+ "unicode": "e63e",
+ "unicode_decimal": 58942
+ },
+ {
+ "icon_id": "24841494",
+ "name": "hand-thumbsup",
+ "font_class": "hand-up",
+ "unicode": "e63f",
+ "unicode_decimal": 58943
+ },
+ {
+ "icon_id": "24841496",
+ "name": "heart-filled",
+ "font_class": "heart-filled",
+ "unicode": "e641",
+ "unicode_decimal": 58945
+ },
+ {
+ "icon_id": "24841498",
+ "name": "mail-open",
+ "font_class": "mail-open",
+ "unicode": "e643",
+ "unicode_decimal": 58947
+ },
+ {
+ "icon_id": "24841488",
+ "name": "heart",
+ "font_class": "heart",
+ "unicode": "e639",
+ "unicode_decimal": 58937
+ },
+ {
+ "icon_id": "24839963",
+ "name": "loop",
+ "font_class": "loop",
+ "unicode": "e633",
+ "unicode_decimal": 58931
+ },
+ {
+ "icon_id": "24839866",
+ "name": "pulldown",
+ "font_class": "pulldown",
+ "unicode": "e632",
+ "unicode_decimal": 58930
+ },
+ {
+ "icon_id": "24813798",
+ "name": "scan",
+ "font_class": "scan",
+ "unicode": "e62a",
+ "unicode_decimal": 58922
+ },
+ {
+ "icon_id": "24813786",
+ "name": "bars",
+ "font_class": "bars",
+ "unicode": "e627",
+ "unicode_decimal": 58919
+ },
+ {
+ "icon_id": "24813788",
+ "name": "cart-filled",
+ "font_class": "cart-filled",
+ "unicode": "e629",
+ "unicode_decimal": 58921
+ },
+ {
+ "icon_id": "24813790",
+ "name": "checkbox",
+ "font_class": "checkbox",
+ "unicode": "e62b",
+ "unicode_decimal": 58923
+ },
+ {
+ "icon_id": "24813791",
+ "name": "checkbox-filled",
+ "font_class": "checkbox-filled",
+ "unicode": "e62c",
+ "unicode_decimal": 58924
+ },
+ {
+ "icon_id": "24813794",
+ "name": "shop",
+ "font_class": "shop",
+ "unicode": "e62f",
+ "unicode_decimal": 58927
+ },
+ {
+ "icon_id": "24813795",
+ "name": "headphones",
+ "font_class": "headphones",
+ "unicode": "e630",
+ "unicode_decimal": 58928
+ },
+ {
+ "icon_id": "24813796",
+ "name": "cart",
+ "font_class": "cart",
+ "unicode": "e631",
+ "unicode_decimal": 58929
+ }
+ ]
+}
diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.vue b/uni_modules/uni-icons/components/uni-icons/uni-icons.vue
new file mode 100644
index 0000000..86e7444
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.vue
@@ -0,0 +1,96 @@
+
+
+ {{unicode}}
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/uni-icons/components/uni-icons/uni.ttf b/uni_modules/uni-icons/components/uni-icons/uni.ttf
new file mode 100644
index 0000000..60a1968
Binary files /dev/null and b/uni_modules/uni-icons/components/uni-icons/uni.ttf differ
diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons.css b/uni_modules/uni-icons/components/uni-icons/uniicons.css
new file mode 100644
index 0000000..2f56eab
--- /dev/null
+++ b/uni_modules/uni-icons/components/uni-icons/uniicons.css
@@ -0,0 +1,663 @@
+.uniui-color:before {
+ content: "\e6cf";
+}
+
+.uniui-wallet:before {
+ content: "\e6b1";
+}
+
+.uniui-settings-filled:before {
+ content: "\e6ce";
+}
+
+.uniui-auth-filled:before {
+ content: "\e6cc";
+}
+
+.uniui-shop-filled:before {
+ content: "\e6cd";
+}
+
+.uniui-staff-filled:before {
+ content: "\e6cb";
+}
+
+.uniui-vip-filled:before {
+ content: "\e6c6";
+}
+
+.uniui-plus-filled:before {
+ content: "\e6c7";
+}
+
+.uniui-folder-add-filled:before {
+ content: "\e6c8";
+}
+
+.uniui-color-filled:before {
+ content: "\e6c9";
+}
+
+.uniui-tune-filled:before {
+ content: "\e6ca";
+}
+
+.uniui-calendar-filled:before {
+ content: "\e6c0";
+}
+
+.uniui-notification-filled:before {
+ content: "\e6c1";
+}
+
+.uniui-wallet-filled:before {
+ content: "\e6c2";
+}
+
+.uniui-medal-filled:before {
+ content: "\e6c3";
+}
+
+.uniui-gift-filled:before {
+ content: "\e6c4";
+}
+
+.uniui-fire-filled:before {
+ content: "\e6c5";
+}
+
+.uniui-refreshempty:before {
+ content: "\e6bf";
+}
+
+.uniui-location-filled:before {
+ content: "\e6af";
+}
+
+.uniui-person-filled:before {
+ content: "\e69d";
+}
+
+.uniui-personadd-filled:before {
+ content: "\e698";
+}
+
+.uniui-back:before {
+ content: "\e6b9";
+}
+
+.uniui-forward:before {
+ content: "\e6ba";
+}
+
+.uniui-arrow-right:before {
+ content: "\e6bb";
+}
+
+.uniui-arrowthinright:before {
+ content: "\e6bb";
+}
+
+.uniui-arrow-left:before {
+ content: "\e6bc";
+}
+
+.uniui-arrowthinleft:before {
+ content: "\e6bc";
+}
+
+.uniui-arrow-up:before {
+ content: "\e6bd";
+}
+
+.uniui-arrowthinup:before {
+ content: "\e6bd";
+}
+
+.uniui-arrow-down:before {
+ content: "\e6be";
+}
+
+.uniui-arrowthindown:before {
+ content: "\e6be";
+}
+
+.uniui-bottom:before {
+ content: "\e6b8";
+}
+
+.uniui-arrowdown:before {
+ content: "\e6b8";
+}
+
+.uniui-right:before {
+ content: "\e6b5";
+}
+
+.uniui-arrowright:before {
+ content: "\e6b5";
+}
+
+.uniui-top:before {
+ content: "\e6b6";
+}
+
+.uniui-arrowup:before {
+ content: "\e6b6";
+}
+
+.uniui-left:before {
+ content: "\e6b7";
+}
+
+.uniui-arrowleft:before {
+ content: "\e6b7";
+}
+
+.uniui-eye:before {
+ content: "\e651";
+}
+
+.uniui-eye-filled:before {
+ content: "\e66a";
+}
+
+.uniui-eye-slash:before {
+ content: "\e6b3";
+}
+
+.uniui-eye-slash-filled:before {
+ content: "\e6b4";
+}
+
+.uniui-info-filled:before {
+ content: "\e649";
+}
+
+.uniui-reload:before {
+ content: "\e6b2";
+}
+
+.uniui-micoff-filled:before {
+ content: "\e6b0";
+}
+
+.uniui-map-pin-ellipse:before {
+ content: "\e6ac";
+}
+
+.uniui-map-pin:before {
+ content: "\e6ad";
+}
+
+.uniui-location:before {
+ content: "\e6ae";
+}
+
+.uniui-starhalf:before {
+ content: "\e683";
+}
+
+.uniui-star:before {
+ content: "\e688";
+}
+
+.uniui-star-filled:before {
+ content: "\e68f";
+}
+
+.uniui-calendar:before {
+ content: "\e6a0";
+}
+
+.uniui-fire:before {
+ content: "\e6a1";
+}
+
+.uniui-medal:before {
+ content: "\e6a2";
+}
+
+.uniui-font:before {
+ content: "\e6a3";
+}
+
+.uniui-gift:before {
+ content: "\e6a4";
+}
+
+.uniui-link:before {
+ content: "\e6a5";
+}
+
+.uniui-notification:before {
+ content: "\e6a6";
+}
+
+.uniui-staff:before {
+ content: "\e6a7";
+}
+
+.uniui-vip:before {
+ content: "\e6a8";
+}
+
+.uniui-folder-add:before {
+ content: "\e6a9";
+}
+
+.uniui-tune:before {
+ content: "\e6aa";
+}
+
+.uniui-auth:before {
+ content: "\e6ab";
+}
+
+.uniui-person:before {
+ content: "\e699";
+}
+
+.uniui-email-filled:before {
+ content: "\e69a";
+}
+
+.uniui-phone-filled:before {
+ content: "\e69b";
+}
+
+.uniui-phone:before {
+ content: "\e69c";
+}
+
+.uniui-email:before {
+ content: "\e69e";
+}
+
+.uniui-personadd:before {
+ content: "\e69f";
+}
+
+.uniui-chatboxes-filled:before {
+ content: "\e692";
+}
+
+.uniui-contact:before {
+ content: "\e693";
+}
+
+.uniui-chatbubble-filled:before {
+ content: "\e694";
+}
+
+.uniui-contact-filled:before {
+ content: "\e695";
+}
+
+.uniui-chatboxes:before {
+ content: "\e696";
+}
+
+.uniui-chatbubble:before {
+ content: "\e697";
+}
+
+.uniui-upload-filled:before {
+ content: "\e68e";
+}
+
+.uniui-upload:before {
+ content: "\e690";
+}
+
+.uniui-weixin:before {
+ content: "\e691";
+}
+
+.uniui-compose:before {
+ content: "\e67f";
+}
+
+.uniui-qq:before {
+ content: "\e680";
+}
+
+.uniui-download-filled:before {
+ content: "\e681";
+}
+
+.uniui-pyq:before {
+ content: "\e682";
+}
+
+.uniui-sound:before {
+ content: "\e684";
+}
+
+.uniui-trash-filled:before {
+ content: "\e685";
+}
+
+.uniui-sound-filled:before {
+ content: "\e686";
+}
+
+.uniui-trash:before {
+ content: "\e687";
+}
+
+.uniui-videocam-filled:before {
+ content: "\e689";
+}
+
+.uniui-spinner-cycle:before {
+ content: "\e68a";
+}
+
+.uniui-weibo:before {
+ content: "\e68b";
+}
+
+.uniui-videocam:before {
+ content: "\e68c";
+}
+
+.uniui-download:before {
+ content: "\e68d";
+}
+
+.uniui-help:before {
+ content: "\e679";
+}
+
+.uniui-navigate-filled:before {
+ content: "\e67a";
+}
+
+.uniui-plusempty:before {
+ content: "\e67b";
+}
+
+.uniui-smallcircle:before {
+ content: "\e67c";
+}
+
+.uniui-minus-filled:before {
+ content: "\e67d";
+}
+
+.uniui-micoff:before {
+ content: "\e67e";
+}
+
+.uniui-closeempty:before {
+ content: "\e66c";
+}
+
+.uniui-clear:before {
+ content: "\e66d";
+}
+
+.uniui-navigate:before {
+ content: "\e66e";
+}
+
+.uniui-minus:before {
+ content: "\e66f";
+}
+
+.uniui-image:before {
+ content: "\e670";
+}
+
+.uniui-mic:before {
+ content: "\e671";
+}
+
+.uniui-paperplane:before {
+ content: "\e672";
+}
+
+.uniui-close:before {
+ content: "\e673";
+}
+
+.uniui-help-filled:before {
+ content: "\e674";
+}
+
+.uniui-paperplane-filled:before {
+ content: "\e675";
+}
+
+.uniui-plus:before {
+ content: "\e676";
+}
+
+.uniui-mic-filled:before {
+ content: "\e677";
+}
+
+.uniui-image-filled:before {
+ content: "\e678";
+}
+
+.uniui-locked-filled:before {
+ content: "\e668";
+}
+
+.uniui-info:before {
+ content: "\e669";
+}
+
+.uniui-locked:before {
+ content: "\e66b";
+}
+
+.uniui-camera-filled:before {
+ content: "\e658";
+}
+
+.uniui-chat-filled:before {
+ content: "\e659";
+}
+
+.uniui-camera:before {
+ content: "\e65a";
+}
+
+.uniui-circle:before {
+ content: "\e65b";
+}
+
+.uniui-checkmarkempty:before {
+ content: "\e65c";
+}
+
+.uniui-chat:before {
+ content: "\e65d";
+}
+
+.uniui-circle-filled:before {
+ content: "\e65e";
+}
+
+.uniui-flag:before {
+ content: "\e65f";
+}
+
+.uniui-flag-filled:before {
+ content: "\e660";
+}
+
+.uniui-gear-filled:before {
+ content: "\e661";
+}
+
+.uniui-home:before {
+ content: "\e662";
+}
+
+.uniui-home-filled:before {
+ content: "\e663";
+}
+
+.uniui-gear:before {
+ content: "\e664";
+}
+
+.uniui-smallcircle-filled:before {
+ content: "\e665";
+}
+
+.uniui-map-filled:before {
+ content: "\e666";
+}
+
+.uniui-map:before {
+ content: "\e667";
+}
+
+.uniui-refresh-filled:before {
+ content: "\e656";
+}
+
+.uniui-refresh:before {
+ content: "\e657";
+}
+
+.uniui-cloud-upload:before {
+ content: "\e645";
+}
+
+.uniui-cloud-download-filled:before {
+ content: "\e646";
+}
+
+.uniui-cloud-download:before {
+ content: "\e647";
+}
+
+.uniui-cloud-upload-filled:before {
+ content: "\e648";
+}
+
+.uniui-redo:before {
+ content: "\e64a";
+}
+
+.uniui-images-filled:before {
+ content: "\e64b";
+}
+
+.uniui-undo-filled:before {
+ content: "\e64c";
+}
+
+.uniui-more:before {
+ content: "\e64d";
+}
+
+.uniui-more-filled:before {
+ content: "\e64e";
+}
+
+.uniui-undo:before {
+ content: "\e64f";
+}
+
+.uniui-images:before {
+ content: "\e650";
+}
+
+.uniui-paperclip:before {
+ content: "\e652";
+}
+
+.uniui-settings:before {
+ content: "\e653";
+}
+
+.uniui-search:before {
+ content: "\e654";
+}
+
+.uniui-redo-filled:before {
+ content: "\e655";
+}
+
+.uniui-list:before {
+ content: "\e644";
+}
+
+.uniui-mail-open-filled:before {
+ content: "\e63a";
+}
+
+.uniui-hand-down-filled:before {
+ content: "\e63c";
+}
+
+.uniui-hand-down:before {
+ content: "\e63d";
+}
+
+.uniui-hand-up-filled:before {
+ content: "\e63e";
+}
+
+.uniui-hand-up:before {
+ content: "\e63f";
+}
+
+.uniui-heart-filled:before {
+ content: "\e641";
+}
+
+.uniui-mail-open:before {
+ content: "\e643";
+}
+
+.uniui-heart:before {
+ content: "\e639";
+}
+
+.uniui-loop:before {
+ content: "\e633";
+}
+
+.uniui-pulldown:before {
+ content: "\e632";
+}
+
+.uniui-scan:before {
+ content: "\e62a";
+}
+
+.uniui-bars:before {
+ content: "\e627";
+}
+
+.uniui-cart-filled:before {
+ content: "\e629";
+}
+
+.uniui-checkbox:before {
+ content: "\e62b";
+}
+
+.uniui-checkbox-filled:before {
+ content: "\e62c";
+}
+
+.uniui-shop:before {
+ content: "\e62f";
+}
+
+.uniui-headphones:before {
+ content: "\e630";
+}
+
+.uniui-cart:before {
+ content: "\e631";
+}
diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons.ttf b/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
new file mode 100644
index 0000000..835f33b
Binary files /dev/null and b/uni_modules/uni-icons/components/uni-icons/uniicons.ttf differ
diff --git a/uni_modules/uni-icons/package.json b/uni_modules/uni-icons/package.json
new file mode 100644
index 0000000..d1c4e77
--- /dev/null
+++ b/uni_modules/uni-icons/package.json
@@ -0,0 +1,86 @@
+{
+ "id": "uni-icons",
+ "displayName": "uni-icons 图标",
+ "version": "1.3.5",
+ "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。",
+ "keywords": [
+ "uni-ui",
+ "uniui",
+ "icon",
+ "图标"
+],
+ "repository": "https://github.com/dcloudio/uni-ui",
+ "engines": {
+ "HBuilderX": "^3.2.14"
+ },
+ "directories": {
+ "example": "../../temps/example_temps"
+ },
+ "dcloudext": {
+ "category": [
+ "前端组件",
+ "通用组件"
+ ],
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+ },
+ "uni_modules": {
+ "dependencies": ["uni-scss"],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ },
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/uni-icons/readme.md b/uni_modules/uni-icons/readme.md
new file mode 100644
index 0000000..86234ba
--- /dev/null
+++ b/uni_modules/uni-icons/readme.md
@@ -0,0 +1,8 @@
+## Icons 图标
+> **组件名:uni-icons**
+> 代码块: `uIcons`
+
+用于展示 icons 图标 。
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
diff --git a/uni_modules/uni-nav-bar/changelog.md b/uni_modules/uni-nav-bar/changelog.md
new file mode 100644
index 0000000..0f9a2f1
--- /dev/null
+++ b/uni_modules/uni-nav-bar/changelog.md
@@ -0,0 +1,51 @@
+## 1.3.11(2023-03-29)
+- 修复 自定义状态栏高度闪动BUG
+## 1.3.10(2023-03-29)
+- 修复 暗黑模式下边线颜色错误的bug
+## 1.3.9(2022-10-13)
+- 修复 条件编译错误的bug
+## 1.3.8(2022-10-12)
+- 修复 nvue 环境 fixed 为 true 的情况下,无法置顶的 bug
+## 1.3.7(2022-08-11)
+- 修复 nvue 环境下 fixed 为 true 的情况下,无法置顶的 bug
+## 1.3.6(2022-06-30)
+- 修复 组件示例中插槽用法无法显示内容的bug
+## 1.3.5(2022-05-24)
+- 新增 stat 属性 ,可开启统计title 上报 ,仅使用了title 属性且项目开启了uni统计生效
+## 1.3.4(2022-01-24)
+- 更新 组件示例
+## 1.3.3(2022-01-24)
+- 新增 left-width/right-width属性 ,可修改左右两侧的宽度
+## 1.3.2(2022-01-18)
+- 修复 在vue下,标题不垂直居中的bug
+## 1.3.1(2022-01-18)
+- 修复 height 属性类型错误
+## 1.3.0(2022-01-18)
+- 新增 height 属性,可修改组件高度
+- 新增 dark 属性可可开启暗黑模式
+- 优化 标题字数过多显示省略号
+- 优化 插槽,插入内容可完全覆盖
+## 1.2.1(2022-01-10)
+- 修复 color 属性不生效的bug
+## 1.2.0(2021-11-19)
+- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-nav-bar](https://uniapp.dcloud.io/component/uniui/uni-nav-bar)
+## 1.1.0(2021-07-30)
+- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
+## 1.0.11(2021-05-12)
+- 新增 组件示例地址
+## 1.0.10(2021-04-30)
+- 修复 在nvue下fixed为true,宽度不能撑满的Bug
+## 1.0.9(2021-04-21)
+- 优化 添加依赖 uni-icons, 导入后自动下载依赖
+## 1.0.8(2021-04-14)
+- uni-ui 修复 uni-nav-bar 当 fixed 属性为 true 时铺不满屏幕的 bug
+
+## 1.0.7(2021-02-25)
+- 修复 easycom 下,找不到 uni-status-bar 的bug
+
+## 1.0.6(2021-02-05)
+- 优化 组件引用关系,通过uni_modules引用组件
+
+## 1.0.5(2021-02-05)
+- 调整为uni_modules目录规范
diff --git a/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue b/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue
new file mode 100644
index 0000000..c890860
--- /dev/null
+++ b/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue
@@ -0,0 +1,357 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue b/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue
new file mode 100644
index 0000000..4ac73ae
--- /dev/null
+++ b/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/uni-nav-bar/package.json b/uni_modules/uni-nav-bar/package.json
new file mode 100644
index 0000000..240ae95
--- /dev/null
+++ b/uni_modules/uni-nav-bar/package.json
@@ -0,0 +1,86 @@
+{
+ "id": "uni-nav-bar",
+ "displayName": "uni-nav-bar 自定义导航栏",
+ "version": "1.3.11",
+ "description": "自定义导航栏组件,主要用于头部导航。",
+ "keywords": [
+ "uni-ui",
+ "导航",
+ "导航栏",
+ "自定义导航栏"
+],
+ "repository": "https://github.com/dcloudio/uni-ui",
+ "engines": {
+ "HBuilderX": ""
+ },
+ "directories": {
+ "example": "../../temps/example_temps"
+ },
+"dcloudext": {
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
+ "type": "component-vue"
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uni-scss",
+ "uni-icons"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ },
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/uni-nav-bar/readme.md b/uni_modules/uni-nav-bar/readme.md
new file mode 100644
index 0000000..3934b32
--- /dev/null
+++ b/uni_modules/uni-nav-bar/readme.md
@@ -0,0 +1,15 @@
+
+
+## NavBar 导航栏
+> **组件名:uni-nav-bar**
+> 代码块: `uNavBar`
+
+导航栏组件,主要用于头部导航。
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-nav-bar)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
+
+
+
+
+
diff --git a/uni_modules/uni-notice-bar/changelog.md b/uni_modules/uni-notice-bar/changelog.md
new file mode 100644
index 0000000..348245e
--- /dev/null
+++ b/uni_modules/uni-notice-bar/changelog.md
@@ -0,0 +1,11 @@
+## 1.1.0(2021-07-30)
+- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
+## 1.0.9(2021-05-12)
+- 新增 组件示例地址
+## 1.0.8(2021-04-21)
+- 优化 添加依赖 uni-icons, 导入后自动下载依赖
+## 1.0.7(2021-02-05)
+- 优化 组件引用关系,通过uni_modules引用组件
+
+## 1.0.6(2021-02-05)
+- 调整为uni_modules目录规范
diff --git a/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue b/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue
new file mode 100644
index 0000000..42797ea
--- /dev/null
+++ b/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue
@@ -0,0 +1,487 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ text }}
+
+
+
+
+
+ {{ moreText }}
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/uni-notice-bar/package.json b/uni_modules/uni-notice-bar/package.json
new file mode 100644
index 0000000..6b2e26e
--- /dev/null
+++ b/uni_modules/uni-notice-bar/package.json
@@ -0,0 +1,85 @@
+{
+ "id": "uni-notice-bar",
+ "displayName": "uni-notice-bar 通告栏",
+ "version": "1.1.0",
+ "description": "NoticeBar 通告栏组件,常用于展示公告信息,可设为滚动公告",
+ "keywords": [
+ "uni-ui",
+ "uniui",
+ "通告栏",
+ "公告",
+ "跑马灯"
+],
+ "repository": "https://github.com/dcloudio/uni-ui",
+ "engines": {
+ "HBuilderX": ""
+ },
+ "directories": {
+ "example": "../../temps/example_temps"
+ },
+ "dcloudext": {
+ "category": [
+ "前端组件",
+ "通用组件"
+ ],
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uni-icons"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
diff --git a/uni_modules/uni-notice-bar/readme.md b/uni_modules/uni-notice-bar/readme.md
new file mode 100644
index 0000000..f65c578
--- /dev/null
+++ b/uni_modules/uni-notice-bar/readme.md
@@ -0,0 +1,71 @@
+
+
+## NoticeBar 通告栏
+> **组件名:uni-notice-bar**
+> 代码块: `uNoticeBar`
+
+
+通告栏组件 。
+
+### 安装方式
+
+本组件符合[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)规范,`HBuilderX 2.5.5`起,只需将本组件导入项目,在页面`template`中即可直接使用,无需在页面中`import`和注册`components`。
+
+如需通过`npm`方式使用`uni-ui`组件,另见文档:[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55)
+
+### 基本用法
+
+在 ``template`` 中使用组件
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+> **注意**
+> 如果需要异步获取内容后展示需要使用`v-if`进行控制,``
+
+
+## NoticeBar API
+
+### NoticeBar Props
+
+|属性名 |类型 |默认值 |说明 |
+|:-: |:-: |:-: |:-: |
+|speed |Number |100 |文字滚动的速度,默认100px/秒 |
+|text |String |- |显示文字 |
+|background-color |String |#fffbe8|背景颜色 |
+|color |String |#de8c17|文字颜色 |
+|moreColor |String |#999999|查看更多文字的颜色 |
+|moreText |String |- |设置“查看更多”的文本 |
+|single |Boolean|false |是否单行 |
+|scrollable |Boolean|false |是否滚动,为true时,NoticeBar为单行 |
+|showIcon |Boolean|false |是否显示左侧喇叭图标 |
+|showClose |Boolean|false |是否显示左侧关闭按钮 |
+|showGetMore |Boolean|false |是否显示右侧查看更多图标,为true时,NoticeBar为单行|
+
+### NoticeBar Events
+
+|事件名称 |说明 |返回值 |
+|:-: |:-: |:-: |
+|@click |点击 NoticeBar 触发事件 |- |
+|@close |关闭 NoticeBar 触发事件 |- |
+|@getmore |点击”查看更多“时触发事件 |- |
+
+
+## 组件示例
+
+点击查看:[https://hellouniapp.dcloud.net.cn/pages/extUI/notice-bar/notice-bar](https://hellouniapp.dcloud.net.cn/pages/extUI/notice-bar/notice-bar)
\ No newline at end of file
diff --git a/uni_modules/uni-number-box/changelog.md b/uni_modules/uni-number-box/changelog.md
new file mode 100644
index 0000000..5925c32
--- /dev/null
+++ b/uni_modules/uni-number-box/changelog.md
@@ -0,0 +1,25 @@
+## 1.2.1(2021-11-22)
+- 修复 vue3中某些scss变量无法找到的问题
+## 1.2.0(2021-11-19)
+- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-number-box](https://uniapp.dcloud.io/component/uniui/uni-number-box)
+## 1.1.2(2021-11-09)
+- 新增 提供组件设计资源,组件样式调整
+## 1.1.1(2021-07-30)
+- 优化 vue3下事件警告的问题
+## 1.1.0(2021-07-13)
+- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
+## 1.0.7(2021-05-12)
+- 新增 组件示例地址
+## 1.0.6(2021-04-20)
+- 修复 uni-number-box 浮点数运算不精确的 bug
+- 修复 uni-number-box change 事件触发不正确的 bug
+- 新增 uni-number-box v-model 双向绑定
+## 1.0.5(2021-02-05)
+- 调整为uni_modules目录规范
+
+## 1.0.7(2021-02-05)
+- 调整为uni_modules目录规范
+- 新增 支持 v-model
+- 新增 支持 focus、blur 事件
+- 新增 支持 PC 端
diff --git a/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue b/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue
new file mode 100644
index 0000000..2046442
--- /dev/null
+++ b/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue
@@ -0,0 +1,237 @@
+
+
+
+ -
+
+
+
+
+
+ +
+
+
+
+
+
+
diff --git a/uni_modules/uni-number-box/package.json b/uni_modules/uni-number-box/package.json
new file mode 100644
index 0000000..ad82336
--- /dev/null
+++ b/uni_modules/uni-number-box/package.json
@@ -0,0 +1,85 @@
+{
+ "id": "uni-number-box",
+ "displayName": "uni-number-box 数字输入框",
+ "version": "1.2.1",
+ "description": "NumberBox 带加减按钮的数字输入框组件,用户可以控制每次点击增加的数值,支持小数。",
+ "keywords": [
+ "uni-ui",
+ "uniui",
+ "数字输入框"
+],
+ "repository": "https://github.com/dcloudio/uni-ui",
+ "engines": {
+ "HBuilderX": ""
+ },
+ "directories": {
+ "example": "../../temps/example_temps"
+ },
+ "dcloudext": {
+ "category": [
+ "前端组件",
+ "通用组件"
+ ],
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+ },
+ "uni_modules": {
+ "dependencies": ["uni-scss"],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ },
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/uni-number-box/readme.md b/uni_modules/uni-number-box/readme.md
new file mode 100644
index 0000000..affc56f
--- /dev/null
+++ b/uni_modules/uni-number-box/readme.md
@@ -0,0 +1,13 @@
+
+
+## NumberBox 数字输入框
+> **组件名:uni-number-box**
+> 代码块: `uNumberBox`
+
+
+带加减按钮的数字输入框。
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-number-box)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
+
+
diff --git a/uni_modules/uni-popup/changelog.md b/uni_modules/uni-popup/changelog.md
new file mode 100644
index 0000000..a9e2d66
--- /dev/null
+++ b/uni_modules/uni-popup/changelog.md
@@ -0,0 +1,60 @@
+## 1.7.9(2022-04-02)
+- 修复 弹出层内部无法滚动的bug
+## 1.7.8(2022-03-28)
+- 修复 小程序中高度错误的bug
+## 1.7.7(2022-03-17)
+- 修复 快速调用open出现问题的Bug
+## 1.7.6(2022-02-14)
+- 修复 safeArea 属性不能设置为false的bug
+## 1.7.5(2022-01-19)
+- 修复 isMaskClick 失效的bug
+## 1.7.4(2022-01-19)
+- 新增 cancelText \ confirmText 属性 ,可自定义文本
+- 新增 maskBackgroundColor 属性 ,可以修改蒙版颜色
+- 优化 maskClick属性 更新为 isMaskClick ,解决微信小程序警告的问题
+## 1.7.3(2022-01-13)
+- 修复 设置 safeArea 属性不生效的bug
+## 1.7.2(2021-11-26)
+- 优化 组件示例
+## 1.7.1(2021-11-26)
+- 修复 vuedoc 文字错误
+## 1.7.0(2021-11-19)
+- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-popup](https://uniapp.dcloud.io/component/uniui/uni-popup)
+## 1.6.2(2021-08-24)
+- 新增 支持国际化
+## 1.6.1(2021-07-30)
+- 优化 vue3下事件警告的问题
+## 1.6.0(2021-07-13)
+- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
+## 1.5.0(2021-06-23)
+- 新增 mask-click 遮罩层点击事件
+## 1.4.5(2021-06-22)
+- 修复 nvue 平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug
+## 1.4.4(2021-06-18)
+- 修复 H5平台中间弹出后,点击内容,再点击遮罩无法关闭的Bug
+## 1.4.3(2021-06-08)
+- 修复 错误的 watch 字段
+- 修复 safeArea 属性不生效的问题
+- 修复 点击内容,再点击遮罩无法关闭的Bug
+## 1.4.2(2021-05-12)
+- 新增 组件示例地址
+## 1.4.1(2021-04-29)
+- 修复 组件内放置 input 、textarea 组件,无法聚焦的问题
+## 1.4.0 (2021-04-29)
+- 新增 type 属性的 left\right 值,支持左右弹出
+- 新增 open(String:type) 方法参数 ,可以省略 type 属性 ,直接传入类型打开指定弹窗
+- 新增 backgroundColor 属性,可定义主窗口背景色,默认不显示背景色
+- 新增 safeArea 属性,是否适配底部安全区
+- 修复 App\h5\微信小程序底部安全区占位不对的Bug
+- 修复 App 端弹出等待的Bug
+- 优化 提升低配设备性能,优化动画卡顿问题
+- 优化 更简单的组件自定义方式
+## 1.2.9(2021-02-05)
+- 优化 组件引用关系,通过uni_modules引用组件
+## 1.2.8(2021-02-05)
+- 调整为uni_modules目录规范
+## 1.2.7(2021-02-05)
+- 调整为uni_modules目录规范
+- 新增 支持 PC 端
+- 新增 uni-popup-message 、uni-popup-dialog扩展组件支持 PC 端
diff --git a/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js b/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js
new file mode 100644
index 0000000..6ef26a2
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js
@@ -0,0 +1,45 @@
+// #ifdef H5
+export default {
+ name: 'Keypress',
+ props: {
+ disable: {
+ type: Boolean,
+ default: false
+ }
+ },
+ mounted () {
+ const keyNames = {
+ esc: ['Esc', 'Escape'],
+ tab: 'Tab',
+ enter: 'Enter',
+ space: [' ', 'Spacebar'],
+ up: ['Up', 'ArrowUp'],
+ left: ['Left', 'ArrowLeft'],
+ right: ['Right', 'ArrowRight'],
+ down: ['Down', 'ArrowDown'],
+ delete: ['Backspace', 'Delete', 'Del']
+ }
+ const listener = ($event) => {
+ if (this.disable) {
+ return
+ }
+ const keyName = Object.keys(keyNames).find(key => {
+ const keyName = $event.key
+ const value = keyNames[key]
+ return value === keyName || (Array.isArray(value) && value.includes(keyName))
+ })
+ if (keyName) {
+ // 避免和其他按键事件冲突
+ setTimeout(() => {
+ this.$emit(keyName, {})
+ }, 0)
+ }
+ }
+ document.addEventListener('keyup', listener)
+ this.$once('hook:beforeDestroy', () => {
+ document.removeEventListener('keyup', listener)
+ })
+ },
+ render: () => {}
+}
+// #endif
diff --git a/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue b/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue
new file mode 100644
index 0000000..a5d0f2a
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
diff --git a/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue b/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue
new file mode 100644
index 0000000..91370a8
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
+
diff --git a/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue b/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue
new file mode 100644
index 0000000..5be7624
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue
@@ -0,0 +1,187 @@
+
+
+
+
+
+
diff --git a/uni_modules/uni-popup/components/uni-popup/i18n/en.json b/uni_modules/uni-popup/components/uni-popup/i18n/en.json
new file mode 100644
index 0000000..7f1bd06
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/i18n/en.json
@@ -0,0 +1,7 @@
+{
+ "uni-popup.cancel": "cancel",
+ "uni-popup.ok": "ok",
+ "uni-popup.placeholder": "pleace enter",
+ "uni-popup.title": "Hint",
+ "uni-popup.shareTitle": "Share to"
+}
diff --git a/uni_modules/uni-popup/components/uni-popup/i18n/index.js b/uni_modules/uni-popup/components/uni-popup/i18n/index.js
new file mode 100644
index 0000000..de7509c
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/i18n/index.js
@@ -0,0 +1,8 @@
+import en from './en.json'
+import zhHans from './zh-Hans.json'
+import zhHant from './zh-Hant.json'
+export default {
+ en,
+ 'zh-Hans': zhHans,
+ 'zh-Hant': zhHant
+}
diff --git a/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json b/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json
new file mode 100644
index 0000000..5e3003c
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json
@@ -0,0 +1,7 @@
+{
+ "uni-popup.cancel": "取消",
+ "uni-popup.ok": "确定",
+ "uni-popup.placeholder": "请输入",
+ "uni-popup.title": "提示",
+ "uni-popup.shareTitle": "分享到"
+}
diff --git a/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json b/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json
new file mode 100644
index 0000000..13e39eb
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json
@@ -0,0 +1,7 @@
+{
+ "uni-popup.cancel": "取消",
+ "uni-popup.ok": "確定",
+ "uni-popup.placeholder": "請輸入",
+ "uni-popup.title": "提示",
+ "uni-popup.shareTitle": "分享到"
+}
diff --git a/uni_modules/uni-popup/components/uni-popup/keypress.js b/uni_modules/uni-popup/components/uni-popup/keypress.js
new file mode 100644
index 0000000..62dda46
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/keypress.js
@@ -0,0 +1,45 @@
+// #ifdef H5
+export default {
+ name: 'Keypress',
+ props: {
+ disable: {
+ type: Boolean,
+ default: false
+ }
+ },
+ mounted () {
+ const keyNames = {
+ esc: ['Esc', 'Escape'],
+ tab: 'Tab',
+ enter: 'Enter',
+ space: [' ', 'Spacebar'],
+ up: ['Up', 'ArrowUp'],
+ left: ['Left', 'ArrowLeft'],
+ right: ['Right', 'ArrowRight'],
+ down: ['Down', 'ArrowDown'],
+ delete: ['Backspace', 'Delete', 'Del']
+ }
+ const listener = ($event) => {
+ if (this.disable) {
+ return
+ }
+ const keyName = Object.keys(keyNames).find(key => {
+ const keyName = $event.key
+ const value = keyNames[key]
+ return value === keyName || (Array.isArray(value) && value.includes(keyName))
+ })
+ if (keyName) {
+ // 避免和其他按键事件冲突
+ setTimeout(() => {
+ this.$emit(keyName, {})
+ }, 0)
+ }
+ }
+ document.addEventListener('keyup', listener)
+ // this.$once('hook:beforeDestroy', () => {
+ // document.removeEventListener('keyup', listener)
+ // })
+ },
+ render: () => {}
+}
+// #endif
diff --git a/uni_modules/uni-popup/components/uni-popup/popup.js b/uni_modules/uni-popup/components/uni-popup/popup.js
new file mode 100644
index 0000000..c4e5781
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/popup.js
@@ -0,0 +1,26 @@
+
+export default {
+ data() {
+ return {
+
+ }
+ },
+ created(){
+ this.popup = this.getParent()
+ },
+ methods:{
+ /**
+ * 获取父元素实例
+ */
+ getParent(name = 'uniPopup') {
+ let parent = this.$parent;
+ let parentName = parent.$options.name;
+ while (parentName !== name) {
+ parent = parent.$parent;
+ if (!parent) return false
+ parentName = parent.$options.name;
+ }
+ return parent;
+ },
+ }
+}
diff --git a/uni_modules/uni-popup/components/uni-popup/uni-popup.vue b/uni_modules/uni-popup/components/uni-popup/uni-popup.vue
new file mode 100644
index 0000000..79ed69c
--- /dev/null
+++ b/uni_modules/uni-popup/components/uni-popup/uni-popup.vue
@@ -0,0 +1,474 @@
+
+
+
+
+
+
diff --git a/uni_modules/uni-popup/package.json b/uni_modules/uni-popup/package.json
new file mode 100644
index 0000000..069e9ce
--- /dev/null
+++ b/uni_modules/uni-popup/package.json
@@ -0,0 +1,90 @@
+{
+ "id": "uni-popup",
+ "displayName": "uni-popup 弹出层",
+ "version": "1.7.9",
+ "description": " Popup 组件,提供常用的弹层",
+ "keywords": [
+ "uni-ui",
+ "弹出层",
+ "弹窗",
+ "popup",
+ "弹框"
+ ],
+ "repository": "https://github.com/dcloudio/uni-ui",
+ "engines": {
+ "HBuilderX": ""
+ },
+ "directories": {
+ "example": "../../temps/example_temps"
+ },
+ "dcloudext": {
+ "category": [
+ "前端组件",
+ "通用组件"
+ ],
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+ },
+ "uni_modules": {
+ "dependencies": [
+ "uni-scss",
+ "uni-transition"
+ ],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ },
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ }
+ }
+ }
+ }
+}
diff --git a/uni_modules/uni-popup/readme.md b/uni_modules/uni-popup/readme.md
new file mode 100644
index 0000000..fdad4b3
--- /dev/null
+++ b/uni_modules/uni-popup/readme.md
@@ -0,0 +1,17 @@
+
+
+## Popup 弹出层
+> **组件名:uni-popup**
+> 代码块: `uPopup`
+> 关联组件:`uni-transition`
+
+
+弹出层组件,在应用中弹出一个消息提示窗口、提示框等
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-popup)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
+
+
+
+
+
diff --git a/uni_modules/uni-scss/changelog.md b/uni_modules/uni-scss/changelog.md
new file mode 100644
index 0000000..b863bb0
--- /dev/null
+++ b/uni_modules/uni-scss/changelog.md
@@ -0,0 +1,8 @@
+## 1.0.3(2022-01-21)
+- 优化 组件示例
+## 1.0.2(2021-11-22)
+- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题
+## 1.0.1(2021-11-22)
+- 修复 vue3中scss语法兼容问题
+## 1.0.0(2021-11-18)
+- init
diff --git a/uni_modules/uni-scss/index.scss b/uni_modules/uni-scss/index.scss
new file mode 100644
index 0000000..1744a5f
--- /dev/null
+++ b/uni_modules/uni-scss/index.scss
@@ -0,0 +1 @@
+@import './styles/index.scss';
diff --git a/uni_modules/uni-scss/package.json b/uni_modules/uni-scss/package.json
new file mode 100644
index 0000000..7cc0ccb
--- /dev/null
+++ b/uni_modules/uni-scss/package.json
@@ -0,0 +1,82 @@
+{
+ "id": "uni-scss",
+ "displayName": "uni-scss 辅助样式",
+ "version": "1.0.3",
+ "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。",
+ "keywords": [
+ "uni-scss",
+ "uni-ui",
+ "辅助样式"
+],
+ "repository": "https://github.com/dcloudio/uni-ui",
+ "engines": {
+ "HBuilderX": "^3.1.0"
+ },
+ "dcloudext": {
+ "category": [
+ "JS SDK",
+ "通用 SDK"
+ ],
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+ },
+ "uni_modules": {
+ "dependencies": [],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "u"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y"
+ },
+ "快应用": {
+ "华为": "n",
+ "联盟": "n"
+ },
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ }
+ }
+ }
+ }
+}
diff --git a/uni_modules/uni-scss/readme.md b/uni_modules/uni-scss/readme.md
new file mode 100644
index 0000000..b7d1c25
--- /dev/null
+++ b/uni_modules/uni-scss/readme.md
@@ -0,0 +1,4 @@
+`uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uni_modules/uni-scss/styles/index.scss b/uni_modules/uni-scss/styles/index.scss
new file mode 100644
index 0000000..ffac4fe
--- /dev/null
+++ b/uni_modules/uni-scss/styles/index.scss
@@ -0,0 +1,7 @@
+@import './setting/_variables.scss';
+@import './setting/_border.scss';
+@import './setting/_color.scss';
+@import './setting/_space.scss';
+@import './setting/_radius.scss';
+@import './setting/_text.scss';
+@import './setting/_styles.scss';
diff --git a/uni_modules/uni-scss/styles/setting/_border.scss b/uni_modules/uni-scss/styles/setting/_border.scss
new file mode 100644
index 0000000..12a11c3
--- /dev/null
+++ b/uni_modules/uni-scss/styles/setting/_border.scss
@@ -0,0 +1,3 @@
+.uni-border {
+ border: 1px $uni-border-1 solid;
+}
\ No newline at end of file
diff --git a/uni_modules/uni-scss/styles/setting/_color.scss b/uni_modules/uni-scss/styles/setting/_color.scss
new file mode 100644
index 0000000..1ededd9
--- /dev/null
+++ b/uni_modules/uni-scss/styles/setting/_color.scss
@@ -0,0 +1,66 @@
+
+// TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐
+// @mixin get-styles($k,$c) {
+// @if $k == size or $k == weight{
+// font-#{$k}:#{$c}
+// }@else{
+// #{$k}:#{$c}
+// }
+// }
+$uni-ui-color:(
+ // 主色
+ primary: $uni-primary,
+ primary-disable: $uni-primary-disable,
+ primary-light: $uni-primary-light,
+ // 辅助色
+ success: $uni-success,
+ success-disable: $uni-success-disable,
+ success-light: $uni-success-light,
+ warning: $uni-warning,
+ warning-disable: $uni-warning-disable,
+ warning-light: $uni-warning-light,
+ error: $uni-error,
+ error-disable: $uni-error-disable,
+ error-light: $uni-error-light,
+ info: $uni-info,
+ info-disable: $uni-info-disable,
+ info-light: $uni-info-light,
+ // 中性色
+ main-color: $uni-main-color,
+ base-color: $uni-base-color,
+ secondary-color: $uni-secondary-color,
+ extra-color: $uni-extra-color,
+ // 背景色
+ bg-color: $uni-bg-color,
+ // 边框颜色
+ border-1: $uni-border-1,
+ border-2: $uni-border-2,
+ border-3: $uni-border-3,
+ border-4: $uni-border-4,
+ // 黑色
+ black:$uni-black,
+ // 白色
+ white:$uni-white,
+ // 透明
+ transparent:$uni-transparent
+) !default;
+@each $key, $child in $uni-ui-color {
+ .uni-#{"" + $key} {
+ color: $child;
+ }
+ .uni-#{"" + $key}-bg {
+ background-color: $child;
+ }
+}
+.uni-shadow-sm {
+ box-shadow: $uni-shadow-sm;
+}
+.uni-shadow-base {
+ box-shadow: $uni-shadow-base;
+}
+.uni-shadow-lg {
+ box-shadow: $uni-shadow-lg;
+}
+.uni-mask {
+ background-color:$uni-mask;
+}
diff --git a/uni_modules/uni-scss/styles/setting/_radius.scss b/uni_modules/uni-scss/styles/setting/_radius.scss
new file mode 100644
index 0000000..9a0428b
--- /dev/null
+++ b/uni_modules/uni-scss/styles/setting/_radius.scss
@@ -0,0 +1,55 @@
+@mixin radius($r,$d:null ,$important: false){
+ $radius-value:map-get($uni-radius, $r) if($important, !important, null);
+ // Key exists within the $uni-radius variable
+ @if (map-has-key($uni-radius, $r) and $d){
+ @if $d == t {
+ border-top-left-radius:$radius-value;
+ border-top-right-radius:$radius-value;
+ }@else if $d == r {
+ border-top-right-radius:$radius-value;
+ border-bottom-right-radius:$radius-value;
+ }@else if $d == b {
+ border-bottom-left-radius:$radius-value;
+ border-bottom-right-radius:$radius-value;
+ }@else if $d == l {
+ border-top-left-radius:$radius-value;
+ border-bottom-left-radius:$radius-value;
+ }@else if $d == tl {
+ border-top-left-radius:$radius-value;
+ }@else if $d == tr {
+ border-top-right-radius:$radius-value;
+ }@else if $d == br {
+ border-bottom-right-radius:$radius-value;
+ }@else if $d == bl {
+ border-bottom-left-radius:$radius-value;
+ }
+ }@else{
+ border-radius:$radius-value;
+ }
+}
+
+@each $key, $child in $uni-radius {
+ @if($key){
+ .uni-radius-#{"" + $key} {
+ @include radius($key)
+ }
+ }@else{
+ .uni-radius {
+ @include radius($key)
+ }
+ }
+}
+
+@each $direction in t, r, b, l,tl, tr, br, bl {
+ @each $key, $child in $uni-radius {
+ @if($key){
+ .uni-radius-#{"" + $direction}-#{"" + $key} {
+ @include radius($key,$direction,false)
+ }
+ }@else{
+ .uni-radius-#{$direction} {
+ @include radius($key,$direction,false)
+ }
+ }
+ }
+}
diff --git a/uni_modules/uni-scss/styles/setting/_space.scss b/uni_modules/uni-scss/styles/setting/_space.scss
new file mode 100644
index 0000000..3c89528
--- /dev/null
+++ b/uni_modules/uni-scss/styles/setting/_space.scss
@@ -0,0 +1,56 @@
+
+@mixin fn($space,$direction,$size,$n) {
+ @if $n {
+ #{$space}-#{$direction}: #{$size*$uni-space-root}px
+ } @else {
+ #{$space}-#{$direction}: #{-$size*$uni-space-root}px
+ }
+}
+@mixin get-styles($direction,$i,$space,$n){
+ @if $direction == t {
+ @include fn($space, top,$i,$n);
+ }
+ @if $direction == r {
+ @include fn($space, right,$i,$n);
+ }
+ @if $direction == b {
+ @include fn($space, bottom,$i,$n);
+ }
+ @if $direction == l {
+ @include fn($space, left,$i,$n);
+ }
+ @if $direction == x {
+ @include fn($space, left,$i,$n);
+ @include fn($space, right,$i,$n);
+ }
+ @if $direction == y {
+ @include fn($space, top,$i,$n);
+ @include fn($space, bottom,$i,$n);
+ }
+ @if $direction == a {
+ @if $n {
+ #{$space}:#{$i*$uni-space-root}px;
+ } @else {
+ #{$space}:#{-$i*$uni-space-root}px;
+ }
+ }
+}
+
+@each $orientation in m,p {
+ $space: margin;
+ @if $orientation == m {
+ $space: margin;
+ } @else {
+ $space: padding;
+ }
+ @for $i from 0 through 16 {
+ @each $direction in t, r, b, l, x, y, a {
+ .uni-#{$orientation}#{$direction}-#{$i} {
+ @include get-styles($direction,$i,$space,true);
+ }
+ .uni-#{$orientation}#{$direction}-n#{$i} {
+ @include get-styles($direction,$i,$space,false);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/uni-scss/styles/setting/_styles.scss b/uni_modules/uni-scss/styles/setting/_styles.scss
new file mode 100644
index 0000000..689afec
--- /dev/null
+++ b/uni_modules/uni-scss/styles/setting/_styles.scss
@@ -0,0 +1,167 @@
+/* #ifndef APP-NVUE */
+
+$-color-white:#fff;
+$-color-black:#000;
+@mixin base-style($color) {
+ color: #fff;
+ background-color: $color;
+ border-color: mix($-color-black, $color, 8%);
+ &:not([hover-class]):active {
+ background: mix($-color-black, $color, 10%);
+ border-color: mix($-color-black, $color, 20%);
+ color: $-color-white;
+ outline: none;
+ }
+}
+@mixin is-color($color) {
+ @include base-style($color);
+ &[loading] {
+ @include base-style($color);
+ &::before {
+ margin-right:5px;
+ }
+ }
+ &[disabled] {
+ &,
+ &[loading],
+ &:not([hover-class]):active {
+ color: $-color-white;
+ border-color: mix(darken($color,10%), $-color-white);
+ background-color: mix($color, $-color-white);
+ }
+ }
+
+}
+@mixin base-plain-style($color) {
+ color:$color;
+ background-color: mix($-color-white, $color, 90%);
+ border-color: mix($-color-white, $color, 70%);
+ &:not([hover-class]):active {
+ background: mix($-color-white, $color, 80%);
+ color: $color;
+ outline: none;
+ border-color: mix($-color-white, $color, 50%);
+ }
+}
+@mixin is-plain($color){
+ &[plain] {
+ @include base-plain-style($color);
+ &[loading] {
+ @include base-plain-style($color);
+ &::before {
+ margin-right:5px;
+ }
+ }
+ &[disabled] {
+ &,
+ &:active {
+ color: mix($-color-white, $color, 40%);
+ background-color: mix($-color-white, $color, 90%);
+ border-color: mix($-color-white, $color, 80%);
+ }
+ }
+ }
+}
+
+
+.uni-btn {
+ margin: 5px;
+ color: #393939;
+ border:1px solid #ccc;
+ font-size: 16px;
+ font-weight: 200;
+ background-color: #F9F9F9;
+ // TODO 暂时处理边框隐藏一边的问题
+ overflow: visible;
+ &::after{
+ border: none;
+ }
+
+ &:not([type]),&[type=default] {
+ color: #999;
+ &[loading] {
+ background: none;
+ &::before {
+ margin-right:5px;
+ }
+ }
+
+
+
+ &[disabled]{
+ color: mix($-color-white, #999, 60%);
+ &,
+ &[loading],
+ &:active {
+ color: mix($-color-white, #999, 60%);
+ background-color: mix($-color-white,$-color-black , 98%);
+ border-color: mix($-color-white, #999, 85%);
+ }
+ }
+
+ &[plain] {
+ color: #999;
+ background: none;
+ border-color: $uni-border-1;
+ &:not([hover-class]):active {
+ background: none;
+ color: mix($-color-white, $-color-black, 80%);
+ border-color: mix($-color-white, $-color-black, 90%);
+ outline: none;
+ }
+ &[disabled]{
+ &,
+ &[loading],
+ &:active {
+ background: none;
+ color: mix($-color-white, #999, 60%);
+ border-color: mix($-color-white, #999, 85%);
+ }
+ }
+ }
+ }
+
+ &:not([hover-class]):active {
+ color: mix($-color-white, $-color-black, 50%);
+ }
+
+ &[size=mini] {
+ font-size: 16px;
+ font-weight: 200;
+ border-radius: 8px;
+ }
+
+
+
+ &.uni-btn-small {
+ font-size: 14px;
+ }
+ &.uni-btn-mini {
+ font-size: 12px;
+ }
+
+ &.uni-btn-radius {
+ border-radius: 999px;
+ }
+ &[type=primary] {
+ @include is-color($uni-primary);
+ @include is-plain($uni-primary)
+ }
+ &[type=success] {
+ @include is-color($uni-success);
+ @include is-plain($uni-success)
+ }
+ &[type=error] {
+ @include is-color($uni-error);
+ @include is-plain($uni-error)
+ }
+ &[type=warning] {
+ @include is-color($uni-warning);
+ @include is-plain($uni-warning)
+ }
+ &[type=info] {
+ @include is-color($uni-info);
+ @include is-plain($uni-info)
+ }
+}
+/* #endif */
diff --git a/uni_modules/uni-scss/styles/setting/_text.scss b/uni_modules/uni-scss/styles/setting/_text.scss
new file mode 100644
index 0000000..a34d08f
--- /dev/null
+++ b/uni_modules/uni-scss/styles/setting/_text.scss
@@ -0,0 +1,24 @@
+@mixin get-styles($k,$c) {
+ @if $k == size or $k == weight{
+ font-#{$k}:#{$c}
+ }@else{
+ #{$k}:#{$c}
+ }
+}
+
+@each $key, $child in $uni-headings {
+ /* #ifndef APP-NVUE */
+ .uni-#{$key} {
+ @each $k, $c in $child {
+ @include get-styles($k,$c)
+ }
+ }
+ /* #endif */
+ /* #ifdef APP-NVUE */
+ .container .uni-#{$key} {
+ @each $k, $c in $child {
+ @include get-styles($k,$c)
+ }
+ }
+ /* #endif */
+}
diff --git a/uni_modules/uni-scss/styles/setting/_variables.scss b/uni_modules/uni-scss/styles/setting/_variables.scss
new file mode 100644
index 0000000..557d3d7
--- /dev/null
+++ b/uni_modules/uni-scss/styles/setting/_variables.scss
@@ -0,0 +1,146 @@
+// @use "sass:math";
+@import '../tools/functions.scss';
+// 间距基础倍数
+$uni-space-root: 2 !default;
+// 边框半径默认值
+$uni-radius-root:5px !default;
+$uni-radius: () !default;
+// 边框半径断点
+$uni-radius: map-deep-merge(
+ (
+ 0: 0,
+ // TODO 当前版本暂时不支持 sm 属性
+ // 'sm': math.div($uni-radius-root, 2),
+ null: $uni-radius-root,
+ 'lg': $uni-radius-root * 2,
+ 'xl': $uni-radius-root * 6,
+ 'pill': 9999px,
+ 'circle': 50%
+ ),
+ $uni-radius
+);
+// 字体家族
+$body-font-family: 'Roboto', sans-serif !default;
+// 文本
+$heading-font-family: $body-font-family !default;
+$uni-headings: () !default;
+$letterSpacing: -0.01562em;
+$uni-headings: map-deep-merge(
+ (
+ 'h1': (
+ size: 32px,
+ weight: 300,
+ line-height: 50px,
+ // letter-spacing:-0.01562em
+ ),
+ 'h2': (
+ size: 28px,
+ weight: 300,
+ line-height: 40px,
+ // letter-spacing: -0.00833em
+ ),
+ 'h3': (
+ size: 24px,
+ weight: 400,
+ line-height: 32px,
+ // letter-spacing: normal
+ ),
+ 'h4': (
+ size: 20px,
+ weight: 400,
+ line-height: 30px,
+ // letter-spacing: 0.00735em
+ ),
+ 'h5': (
+ size: 16px,
+ weight: 400,
+ line-height: 24px,
+ // letter-spacing: normal
+ ),
+ 'h6': (
+ size: 14px,
+ weight: 500,
+ line-height: 18px,
+ // letter-spacing: 0.0125em
+ ),
+ 'subtitle': (
+ size: 12px,
+ weight: 400,
+ line-height: 20px,
+ // letter-spacing: 0.00937em
+ ),
+ 'body': (
+ font-size: 14px,
+ font-weight: 400,
+ line-height: 22px,
+ // letter-spacing: 0.03125em
+ ),
+ 'caption': (
+ 'size': 12px,
+ 'weight': 400,
+ 'line-height': 20px,
+ // 'letter-spacing': 0.03333em,
+ // 'text-transform': false
+ )
+ ),
+ $uni-headings
+);
+
+
+
+// 主色
+$uni-primary: #2979ff !default;
+$uni-primary-disable:lighten($uni-primary,20%) !default;
+$uni-primary-light: lighten($uni-primary,25%) !default;
+
+// 辅助色
+// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。
+$uni-success: #18bc37 !default;
+$uni-success-disable:lighten($uni-success,20%) !default;
+$uni-success-light: lighten($uni-success,25%) !default;
+
+$uni-warning: #f3a73f !default;
+$uni-warning-disable:lighten($uni-warning,20%) !default;
+$uni-warning-light: lighten($uni-warning,25%) !default;
+
+$uni-error: #e43d33 !default;
+$uni-error-disable:lighten($uni-error,20%) !default;
+$uni-error-light: lighten($uni-error,25%) !default;
+
+$uni-info: #8f939c !default;
+$uni-info-disable:lighten($uni-info,20%) !default;
+$uni-info-light: lighten($uni-info,25%) !default;
+
+// 中性色
+// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。
+$uni-main-color: #3a3a3a !default; // 主要文字
+$uni-base-color: #6a6a6a !default; // 常规文字
+$uni-secondary-color: #909399 !default; // 次要文字
+$uni-extra-color: #c7c7c7 !default; // 辅助说明
+
+// 边框颜色
+$uni-border-1: #F0F0F0 !default;
+$uni-border-2: #EDEDED !default;
+$uni-border-3: #DCDCDC !default;
+$uni-border-4: #B9B9B9 !default;
+
+// 常规色
+$uni-black: #000000 !default;
+$uni-white: #ffffff !default;
+$uni-transparent: rgba($color: #000000, $alpha: 0) !default;
+
+// 背景色
+$uni-bg-color: #f7f7f7 !default;
+
+/* 水平间距 */
+$uni-spacing-sm: 8px !default;
+$uni-spacing-base: 15px !default;
+$uni-spacing-lg: 30px !default;
+
+// 阴影
+$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default;
+$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default;
+$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default;
+
+// 蒙版
+$uni-mask: rgba($color: #000000, $alpha: 0.4) !default;
diff --git a/uni_modules/uni-scss/styles/tools/functions.scss b/uni_modules/uni-scss/styles/tools/functions.scss
new file mode 100644
index 0000000..ac6f63e
--- /dev/null
+++ b/uni_modules/uni-scss/styles/tools/functions.scss
@@ -0,0 +1,19 @@
+// 合并 map
+@function map-deep-merge($parent-map, $child-map){
+ $result: $parent-map;
+ @each $key, $child in $child-map {
+ $parent-has-key: map-has-key($result, $key);
+ $parent-value: map-get($result, $key);
+ $parent-type: type-of($parent-value);
+ $child-type: type-of($child);
+ $parent-is-map: $parent-type == map;
+ $child-is-map: $child-type == map;
+
+ @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){
+ $result: map-merge($result, ( $key: $child ));
+ }@else {
+ $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) ));
+ }
+ }
+ @return $result;
+};
diff --git a/uni_modules/uni-scss/theme.scss b/uni_modules/uni-scss/theme.scss
new file mode 100644
index 0000000..80ee62f
--- /dev/null
+++ b/uni_modules/uni-scss/theme.scss
@@ -0,0 +1,31 @@
+// 间距基础倍数
+$uni-space-root: 2;
+// 边框半径默认值
+$uni-radius-root:5px;
+// 主色
+$uni-primary: #2979ff;
+// 辅助色
+$uni-success: #4cd964;
+// 警告色
+$uni-warning: #f0ad4e;
+// 错误色
+$uni-error: #dd524d;
+// 描述色
+$uni-info: #909399;
+// 中性色
+$uni-main-color: #303133;
+$uni-base-color: #606266;
+$uni-secondary-color: #909399;
+$uni-extra-color: #C0C4CC;
+// 背景色
+$uni-bg-color: #f5f5f5;
+// 边框颜色
+$uni-border-1: #DCDFE6;
+$uni-border-2: #E4E7ED;
+$uni-border-3: #EBEEF5;
+$uni-border-4: #F2F6FC;
+
+// 常规色
+$uni-black: #000000;
+$uni-white: #ffffff;
+$uni-transparent: rgba($color: #000000, $alpha: 0);
diff --git a/uni_modules/uni-scss/variables.scss b/uni_modules/uni-scss/variables.scss
new file mode 100644
index 0000000..1c062d4
--- /dev/null
+++ b/uni_modules/uni-scss/variables.scss
@@ -0,0 +1,62 @@
+@import './styles/setting/_variables.scss';
+// 间距基础倍数
+$uni-space-root: 2;
+// 边框半径默认值
+$uni-radius-root:5px;
+
+// 主色
+$uni-primary: #2979ff;
+$uni-primary-disable:mix(#fff,$uni-primary,50%);
+$uni-primary-light: mix(#fff,$uni-primary,80%);
+
+// 辅助色
+// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。
+$uni-success: #18bc37;
+$uni-success-disable:mix(#fff,$uni-success,50%);
+$uni-success-light: mix(#fff,$uni-success,80%);
+
+$uni-warning: #f3a73f;
+$uni-warning-disable:mix(#fff,$uni-warning,50%);
+$uni-warning-light: mix(#fff,$uni-warning,80%);
+
+$uni-error: #e43d33;
+$uni-error-disable:mix(#fff,$uni-error,50%);
+$uni-error-light: mix(#fff,$uni-error,80%);
+
+$uni-info: #8f939c;
+$uni-info-disable:mix(#fff,$uni-info,50%);
+$uni-info-light: mix(#fff,$uni-info,80%);
+
+// 中性色
+// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。
+$uni-main-color: #3a3a3a; // 主要文字
+$uni-base-color: #6a6a6a; // 常规文字
+$uni-secondary-color: #909399; // 次要文字
+$uni-extra-color: #c7c7c7; // 辅助说明
+
+// 边框颜色
+$uni-border-1: #F0F0F0;
+$uni-border-2: #EDEDED;
+$uni-border-3: #DCDCDC;
+$uni-border-4: #B9B9B9;
+
+// 常规色
+$uni-black: #000000;
+$uni-white: #ffffff;
+$uni-transparent: rgba($color: #000000, $alpha: 0);
+
+// 背景色
+$uni-bg-color: #f7f7f7;
+
+/* 水平间距 */
+$uni-spacing-sm: 8px;
+$uni-spacing-base: 15px;
+$uni-spacing-lg: 30px;
+
+// 阴影
+$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5);
+$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2);
+$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5);
+
+// 蒙版
+$uni-mask: rgba($color: #000000, $alpha: 0.4);
diff --git a/uni_modules/uni-transition/changelog.md b/uni_modules/uni-transition/changelog.md
new file mode 100644
index 0000000..b1a824b
--- /dev/null
+++ b/uni_modules/uni-transition/changelog.md
@@ -0,0 +1,20 @@
+## 1.3.1(2021-11-23)
+- 修复 init 方法初始化问题
+## 1.3.0(2021-11-19)
+- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-transition](https://uniapp.dcloud.io/component/uniui/uni-transition)
+## 1.2.1(2021-09-27)
+- 修复 init 方法不生效的 Bug
+## 1.2.0(2021-07-30)
+- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834)
+## 1.1.1(2021-05-12)
+- 新增 示例地址
+- 修复 示例项目缺少组件的 Bug
+## 1.1.0(2021-04-22)
+- 新增 通过方法自定义动画
+- 新增 custom-class 非 NVUE 平台支持自定义 class 定制样式
+- 优化 动画触发逻辑,使动画更流畅
+- 优化 支持单独的动画类型
+- 优化 文档示例
+## 1.0.2(2021-02-05)
+- 调整为 uni_modules 目录规范
diff --git a/uni_modules/uni-transition/components/uni-transition/createAnimation.js b/uni_modules/uni-transition/components/uni-transition/createAnimation.js
new file mode 100644
index 0000000..5f54365
--- /dev/null
+++ b/uni_modules/uni-transition/components/uni-transition/createAnimation.js
@@ -0,0 +1,128 @@
+// const defaultOption = {
+// duration: 300,
+// timingFunction: 'linear',
+// delay: 0,
+// transformOrigin: '50% 50% 0'
+// }
+// #ifdef APP-NVUE
+const nvueAnimation = uni.requireNativePlugin('animation')
+// #endif
+class MPAnimation {
+ constructor(options, _this) {
+ this.options = options
+ this.animation = uni.createAnimation(options)
+ this.currentStepAnimates = {}
+ this.next = 0
+ this.$ = _this
+
+ }
+
+ _nvuePushAnimates(type, args) {
+ let aniObj = this.currentStepAnimates[this.next]
+ let styles = {}
+ if (!aniObj) {
+ styles = {
+ styles: {},
+ config: {}
+ }
+ } else {
+ styles = aniObj
+ }
+ if (animateTypes1.includes(type)) {
+ if (!styles.styles.transform) {
+ styles.styles.transform = ''
+ }
+ let unit = ''
+ if(type === 'rotate'){
+ unit = 'deg'
+ }
+ styles.styles.transform += `${type}(${args+unit}) `
+ } else {
+ styles.styles[type] = `${args}`
+ }
+ this.currentStepAnimates[this.next] = styles
+ }
+ _animateRun(styles = {}, config = {}) {
+ let ref = this.$.$refs['ani'].ref
+ if (!ref) return
+ return new Promise((resolve, reject) => {
+ nvueAnimation.transition(ref, {
+ styles,
+ ...config
+ }, res => {
+ resolve()
+ })
+ })
+ }
+
+ _nvueNextAnimate(animates, step = 0, fn) {
+ let obj = animates[step]
+ if (obj) {
+ let {
+ styles,
+ config
+ } = obj
+ this._animateRun(styles, config).then(() => {
+ step += 1
+ this._nvueNextAnimate(animates, step, fn)
+ })
+ } else {
+ this.currentStepAnimates = {}
+ typeof fn === 'function' && fn()
+ this.isEnd = true
+ }
+ }
+
+ step(config = {}) {
+ // #ifndef APP-NVUE
+ this.animation.step(config)
+ // #endif
+ // #ifdef APP-NVUE
+ this.currentStepAnimates[this.next].config = Object.assign({}, this.options, config)
+ this.currentStepAnimates[this.next].styles.transformOrigin = this.currentStepAnimates[this.next].config.transformOrigin
+ this.next++
+ // #endif
+ return this
+ }
+
+ run(fn) {
+ // #ifndef APP-NVUE
+ this.$.animationData = this.animation.export()
+ this.$.timer = setTimeout(() => {
+ typeof fn === 'function' && fn()
+ }, this.$.durationTime)
+ // #endif
+ // #ifdef APP-NVUE
+ this.isEnd = false
+ let ref = this.$.$refs['ani'] && this.$.$refs['ani'].ref
+ if(!ref) return
+ this._nvueNextAnimate(this.currentStepAnimates, 0, fn)
+ this.next = 0
+ // #endif
+ }
+}
+
+
+const animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d',
+ 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY',
+ 'translateZ'
+]
+const animateTypes2 = ['opacity', 'backgroundColor']
+const animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom']
+animateTypes1.concat(animateTypes2, animateTypes3).forEach(type => {
+ MPAnimation.prototype[type] = function(...args) {
+ // #ifndef APP-NVUE
+ this.animation[type](...args)
+ // #endif
+ // #ifdef APP-NVUE
+ this._nvuePushAnimates(type, args)
+ // #endif
+ return this
+ }
+})
+
+export function createAnimation(option, _this) {
+ if(!_this) return
+ clearTimeout(_this.timer)
+ return new MPAnimation(option, _this)
+}
diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.vue b/uni_modules/uni-transition/components/uni-transition/uni-transition.vue
new file mode 100644
index 0000000..0d739bd
--- /dev/null
+++ b/uni_modules/uni-transition/components/uni-transition/uni-transition.vue
@@ -0,0 +1,277 @@
+
+
+
+
+
+
+
diff --git a/uni_modules/uni-transition/package.json b/uni_modules/uni-transition/package.json
new file mode 100644
index 0000000..d15fdf0
--- /dev/null
+++ b/uni_modules/uni-transition/package.json
@@ -0,0 +1,87 @@
+{
+ "id": "uni-transition",
+ "displayName": "uni-transition 过渡动画",
+ "version": "1.3.1",
+ "description": "元素的简单过渡动画",
+ "keywords": [
+ "uni-ui",
+ "uniui",
+ "动画",
+ "过渡",
+ "过渡动画"
+],
+ "repository": "https://github.com/dcloudio/uni-ui",
+ "engines": {
+ "HBuilderX": ""
+ },
+ "directories": {
+ "example": "../../temps/example_temps"
+ },
+ "dcloudext": {
+ "category": [
+ "前端组件",
+ "通用组件"
+ ],
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
+ },
+ "uni_modules": {
+ "dependencies": ["uni-scss"],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "y",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ },
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/uni-transition/readme.md b/uni_modules/uni-transition/readme.md
new file mode 100644
index 0000000..2f8a77e
--- /dev/null
+++ b/uni_modules/uni-transition/readme.md
@@ -0,0 +1,11 @@
+
+
+## Transition 过渡动画
+> **组件名:uni-transition**
+> 代码块: `uTransition`
+
+
+元素过渡动画
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-transition)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839
\ No newline at end of file
diff --git a/uni_modules/v-tabs/changelog.md b/uni_modules/v-tabs/changelog.md
new file mode 100644
index 0000000..4fd462a
--- /dev/null
+++ b/uni_modules/v-tabs/changelog.md
@@ -0,0 +1,125 @@
+## 2.1.1(2022-09-16)
+1. 将插件更新为`uni_modules`方式
+## 2.1.0(2022-08-12)
+
+1. 增加`disable`参数,控制是否可以点击,只能应用在数组对象中,见[disabled 的用法](#112-当tabs使用的数组对象的方式特定参数需要注意一下)
+
+```js
+export default {
+ data() {
+ return {
+ tabs: [{ id: 1, name: '' }]
+ }
+ }
+}
+```
+
+## 2.0.10(2022-01-27)
+
+1. 更新属性line-animation设置为false可以不要动画,这是好多朋友问到,特此加上
+
+## 2.0.9(2020-10-12)
+
+1. 修复 v-tabs 第一次可能出现第一个标签显示不完整的情况
+2. 修改了 pages/tabs/order 示例文件
+
+## 2.0.8(2020-09-21)
+
+1. 修复添加 fixed 属性后,滚动条无效
+2. 修复选项很少的情况下,下划线计算计算错误
+3. 新增 paddingItem 属性,设置选项左右边距(上下边距需要设置 height 属性,或者设置 padding 属性)
+
+## 2.0.7(2020-09-17)
+
+1. 紧急修复 bug,横向滑动不了的情况
+
+## 2.0.6(2020-09-16)
+
+1. 新增 fixed 属性,是否固定在顶部,示例地址:pages/tabs/tabs-static
+2. 优化之前的页面结构
+
+## 2.0.5(2020-09-09)
+
+1. 修复 width 错误,dom 加载的时候没有及时获取到 data 属性导致的 。
+
+## 2.0.4(2020-08-29)
+
+1. 优化异步改变 tabs 后,下划线不初始化问题
+2. github 地址上有图 2 的源码,需要的自行下载,页面路径:pages/tabs/order.vue
+
+## 2.0.3(2020-08-20)
+
+1. 优化 节点查询 和 选中渲染
+2. 优化支付宝中 createSelectorQuery() 的影响
+
+**特别说明:**
+
+> 支付宝中平铺方法和其他方法不能在一个页面中出现,不然有一个显示错误(具体什么原因没查到,有好心的人发现了,望告知一下,感谢
+
+## 2.0.2(2020-08-19)
+
+1. 优化 change 事件触发机制
+
+## 2.0.1(2020-08-16)
+
+1. 修改默认高度为 70rpx
+2. 新增属性 bgColor,可设置背景颜色,默认 #fff
+3. 新增整个 tab 的 padding 属性,默认 0
+
+## 2.0.0(2020-08-13)
+
+1. 全新的 v-tabs 2.0
+2. 支持 H5 小程序 APP
+3. 属性高度可配置
+
+## 1.3.2(2020-07-21)
+
+1. 新增 auto 的配置,是否平铺 tab
+2. 修复文档上的错误示例(感谢 lushgwe@163.com 的反馈)
+
+## 1.3.0(2020-07-05)
+
+1. 新增 padding 的可配置
+2. 修复 v-model 双向绑定问题
+3. 修复初始化下划线没定位的为题
+
+## 1.2.0(2020-06-19)
+
+1. 添加注释
+2. 修复 bug
+
+## 1.1.8(2020-06-11)
+
+1. 添加 change 事件
+2. 修复插件内容问题
+3. 修复下划线不居中问题
+
+## 1.1.6(2020-06-11)
+
+1. 添加 change 事件
+2. 修复插件内容问题
+
+## 1.1.4(2020-06-11)
+
+1. 添加 change 事件
+2. 修复插件内容问题
+
+## 1.1.2(2020-06-11)
+
+1. 添加 change 事件
+
+## 1.1.1(2020-06-09)
+
+1. 修复小程序端选中的下划线不显示问题
+2. 新增 tab 高度设置
+3. lineHeight 修改为只支持 String 方式
+
+## 1.1.0(2020-06-09)
+
+1. 修复小程序端选中的下划线不显示问题
+2. 新增 tab 高度设置
+3. lineHeight 修改为只支持 String 方式
+
+## 1.0.0(2020-06-04)
+
+1. 更新插件1.0.0
\ No newline at end of file
diff --git a/uni_modules/v-tabs/components/v-tabs/v-tabs.vue b/uni_modules/v-tabs/components/v-tabs/v-tabs.vue
new file mode 100644
index 0000000..a8dcc53
--- /dev/null
+++ b/uni_modules/v-tabs/components/v-tabs/v-tabs.vue
@@ -0,0 +1,353 @@
+
+
+
+
+
+ {{ field ? v[field] : v }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/v-tabs/package.json b/uni_modules/v-tabs/package.json
new file mode 100644
index 0000000..3302c23
--- /dev/null
+++ b/uni_modules/v-tabs/package.json
@@ -0,0 +1,83 @@
+{
+ "id": "v-tabs",
+ "displayName": "自定义 tab 选项卡 2",
+ "version": "2.1.1",
+ "description": "自定义 tab ,支持多种样式,支持 h5 小程序 app",
+ "keywords": [
+ "v-tabs",
+ "tab",
+ "选项卡"
+],
+ "repository": "https://github.com/xfjpeter/uni-plugins",
+ "engines": {
+ "HBuilderX": "^3.1.0"
+ },
+ "dcloudext": {
+ "type": "component-vue",
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": "1207791534"
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": ""
+ },
+ "uni_modules": {
+ "dependencies": [],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y"
+ },
+ "client": {
+ "Vue": {
+ "vue2": "y",
+ "vue3": "n"
+ },
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "n"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "y",
+ "IE": "n",
+ "Edge": "y",
+ "Firefox": "y",
+ "Safari": "y"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y",
+ "钉钉": "y",
+ "快手": "y",
+ "飞书": "y",
+ "京东": "y"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/v-tabs/readme.md b/uni_modules/v-tabs/readme.md
new file mode 100644
index 0000000..3ece61f
--- /dev/null
+++ b/uni_modules/v-tabs/readme.md
@@ -0,0 +1,240 @@
+## 插件说明
+
+> 这是 `v-tabs` 插件的升级版本,参数上有很大变动,支持 `H5` `小程序` `手机端`,如果是在之前的插件上升级的话,请注意参数的变更,触发的事件没有变更。
+
+## 使用说明
+
+### 1、最基本用法
+
+- 视图文件
+
+```html
+
+```
+
+- 脚本文件
+
+```js
+export default {
+ data() {
+ return {
+ current: 0,
+ tabs: ['军事', '国内', '新闻新闻', '军事', '国内', '新闻', '军事', '国内', '新闻']
+ }
+ },
+ methods: {
+ changeTab(index) {
+ console.log('当前选中的项:' + index)
+ }
+ }
+}
+```
+
+### 2、平铺整个屏幕
+
+- 视图文件
+
+```html
+
+```
+
+- 脚本文件
+
+```js
+export default {
+ data() {
+ return {
+ activeTab: 0
+ }
+ }
+}
+```
+
+### 3、胶囊用法
+
+- 视图文件
+
+```html
+
+```
+
+- 脚本文件
+
+```js
+data() {
+ return {
+ current: 2,
+ tabs: [
+ '军事',
+ '国内',
+ '新闻新闻',
+ '军事',
+ '国内',
+ '新闻',
+ '军事',
+ '国内',
+ '新闻',
+ ],
+ },
+ methods: {
+ changeTab(index) {
+ console.log('当前选中索引:' + index)
+ }
+ }
+}
+```
+
+## 文档说明
+
+### 1、属性说明
+
+| 参数 | 类型 | 默认值 | 说明 |
+| :---------------: | :-----: | :-------: | :-----------------------------------------------------------------------: |
+| tabs | Array | [] | 控制 tab 的列表 |
+| value | Number | 0 | 必传(双向绑定的值) |
+| color | String | '#333' | 默认文字颜色 |
+| activeColor | String | '#2979ff' | 选中文字的颜色 |
+| fontSize | String | '28rpx' | 默认文字大小(rpx 或 px)(弃用) |
+| bold | Boolean | true | 是否加粗选中项 |
+| scroll | Boolean | true | 是否显示滚动条,平铺设置 false |
+| height | String | '70rpx' | tab 高度(rpx 或 px) |
+| lineHeight | String | '10rpx' | 滑块高度(rpx 或 px) |
+| lineColor | String | '#2979ff' | 滑块的颜色 |
+| lineScale | Number | 0.5 | 滑块宽度缩放值 |
+| lineRadius | String | '10rpx' | 滑块圆角宽度(rpx 或 px) |
+| pills | Boolean | false | 是否开启胶囊 |
+| pillsColor | String | '#2979ff' | 胶囊背景颜色(rpx 或 px) |
+| pillsBorderRadius | String | '10rpx' | 胶囊圆角宽度(rpx 或 px) |
+| field | String | '' | 如果 tabs 子项是对象,输入需要展示的键名 |
+| bgColor | String | '#fff' | 背景色,支持 linear-gradient 渐变 |
+| padding | String | '0' | 整个 tab padding 属性 |
+| fixed | Boolean | false | 是否固定在顶部 |
+| paddingItem | String | '0 22rpx' | 选项的边距(设置上下不生效,需要设置高度) |
+| lineAnimation | Boolean | true | 是否需要 line 和 pills 的动画,在隐藏页面后默认移动到第一个的时候比较实用 |
+
+### 1.1 `tabs`参数展开说明
+
+#### 1.1.1 当`tabs`仅仅是单纯的数组时候,没有什么特别的地方
+
+```js
+export default {
+ data() {
+ return {
+ tabs: ['全部', '待付款', '待消费', '已完成', '已评价', '已过期', '已退款']
+ }
+ }
+}
+```
+
+#### 1.1.2 当`tabs`使用的数组对象的方式,特定参数需要注意一下
+
+- `disabled` 参数,可以控制按钮是否可以点击
+
+```js
+export default {
+ data() {
+ return {
+ tabs: [
+ { id: 1, name: '待付款', disabled: false },
+ { id: 2, name: '待收货', disabled: false },
+ { id: 3, name: '待评价', disabled: false },
+ { id: 4, name: '退款/售后', disabled: true },
+ { id: 5, name: '我的订单', disabled: false }
+ ]
+ }
+ }
+}
+```
+
+### 2、事件说明
+
+| 名称 | 参数 | 说明 |
+| :----: | :---: | :--------------------------------: |
+| change | index | 改变选中项触发, index 选中项的下标 |
+
+## 更新日志
+
+### 2.1.1(2022-09-16)
+
+1. 将插件更新为`uni_modules`方式
+
+### 2022-08-12
+
+1. 增加`disable`参数,控制是否可以点击,只能应用在数组对象中,见[disabled 的用法](#112-当tabs使用的数组对象的方式特定参数需要注意一下)
+
+```js
+export default {
+ data() {
+ return {
+ tabs: [{ id: 1, name: '' }]
+ }
+ }
+}
+```
+
+### 2022-01-27
+
+1. 更新属性`line-animation`设置为`false`可以不要动画,这是好多朋友问到,特此加上
+
+### 2020-09-24
+
+1. 修复 `v-tabs` 第一次可能出现第一个标签显示不完整的情况
+2. 修改了 `pages/tabs/order` 示例文件
+
+### 2020-09-21
+
+1. 修复添加 `fixed` 属性后,滚动条无效
+2. 修复选项很少的情况下,下划线计算计算错误
+3. 新增 `paddingItem` 属性,设置选项左右边距(上下边距需要设置 `height` 属性,或者设置 `padding` 属性)
+
+**写在最后:**
+欢迎各位老铁反馈 bug ,本人后端 PHP 一枚,只是应为感兴趣前端,自己琢磨,自己搞。如果你在使用的过程中有什么不合理,需要优化的,都可以在下面评论(或加我 QQ: 1207791534),本人看见后回复、修正,感谢。
+
+### 2020-09-17
+
+1. 紧急修复 bug,横向滑动不了的情况
+
+### 2020-09-16
+
+1. 新增 `fixed` 属性,是否固定在顶部,示例地址:`pages/tabs/tabs-static`
+2. 优化之前的页面结构
+
+**注意:**
+
+1. 使用 `padding` 属性的时候,尽量不要左右边距,会导致下划线位置不对
+2. 如果不绑定 `v-model` 会导致 `change` 事件改变的时候,下划线不跟随问题
+
+### 2020-09-09
+
+1. 修复 `width` 错误,dom 加载的时候没有及时获取到 `data` 属性导致的。
+
+### 2020-08-29
+
+1. 优化异步改变 `tabs` 后,下划线不初始化问题
+2. `github` 地址上有图 2 的源码,需要的自行下载,页面路径:`pages/tabs/order`
+
+### 2020-08-20
+
+1. 优化 `节点查询` 和 `选中渲染`
+2. 优化支付宝中 `createSelectorQuery()` 的影响
+
+### 2020-08-19
+
+1. 优化 `change` 事件触发机制
+
+### 2020-08-16
+
+1. 修改默认高度为 `70rpx`
+2. 新增属性 `bgColor`,可设置背景颜色,默认 `#fff`
+3. 新增整个 `tab` 的 `padding` 属性,默认 `0`
+
+### 2020-08-13
+
+1. 全新的 `v-tabs 2.0`
+2. 支持 `H5` `小程序` `APP`
+3. 属性高度可配置
+
+## 预览
+
+
+