浏览代码

会员 代理

qinjie 2 月之前
父节点
当前提交
fc72ae5ae6
共有 100 个文件被更改,包括 5312 次插入38 次删除
  1. 7 3
      components/zaiui-common/view/my.vue
  2. 31 3
      main.js
  3. 1 1
      pages/login/login.vue
  4. 216 29
      pages/my/agent.vue
  5. 8 1
      pages/my/personal-data.vue
  6. 1 1
      pages/my/vip.vue
  7. 二进制
      static/images/my/price_shape.png
  8. 5 0
      unpackage/dist/build/web/index.html
  9. 911 0
      unpackage/dist/build/web/static/city.json
  10. 184 0
      unpackage/dist/build/web/static/colorui/animation.css
  11. 36 0
      unpackage/dist/build/web/static/colorui/icon.css
  12. 3912 0
      unpackage/dist/build/web/static/colorui/main.css
  13. 二进制
      unpackage/dist/build/web/static/images/avatar/1.jpg
  14. 二进制
      unpackage/dist/build/web/static/images/avatar/2.jpg
  15. 二进制
      unpackage/dist/build/web/static/images/avatar/3.jpg
  16. 二进制
      unpackage/dist/build/web/static/images/avatar/4.jpg
  17. 二进制
      unpackage/dist/build/web/static/images/avatar/5.jpg
  18. 二进制
      unpackage/dist/build/web/static/images/avatar/6.jpg
  19. 二进制
      unpackage/dist/build/web/static/images/avatar/7.jpg
  20. 二进制
      unpackage/dist/build/web/static/images/avatar/8.jpg
  21. 二进制
      unpackage/dist/build/web/static/images/emoji/1.png
  22. 二进制
      unpackage/dist/build/web/static/images/emoji/10.png
  23. 二进制
      unpackage/dist/build/web/static/images/emoji/11.png
  24. 二进制
      unpackage/dist/build/web/static/images/emoji/12.png
  25. 二进制
      unpackage/dist/build/web/static/images/emoji/13.png
  26. 二进制
      unpackage/dist/build/web/static/images/emoji/14.png
  27. 二进制
      unpackage/dist/build/web/static/images/emoji/15.png
  28. 二进制
      unpackage/dist/build/web/static/images/emoji/16.png
  29. 二进制
      unpackage/dist/build/web/static/images/emoji/17.png
  30. 二进制
      unpackage/dist/build/web/static/images/emoji/18.png
  31. 二进制
      unpackage/dist/build/web/static/images/emoji/19.png
  32. 二进制
      unpackage/dist/build/web/static/images/emoji/2.png
  33. 二进制
      unpackage/dist/build/web/static/images/emoji/20.png
  34. 二进制
      unpackage/dist/build/web/static/images/emoji/21.png
  35. 二进制
      unpackage/dist/build/web/static/images/emoji/22.png
  36. 二进制
      unpackage/dist/build/web/static/images/emoji/23.png
  37. 二进制
      unpackage/dist/build/web/static/images/emoji/24.png
  38. 二进制
      unpackage/dist/build/web/static/images/emoji/25.png
  39. 二进制
      unpackage/dist/build/web/static/images/emoji/26.png
  40. 二进制
      unpackage/dist/build/web/static/images/emoji/27.png
  41. 二进制
      unpackage/dist/build/web/static/images/emoji/28.png
  42. 二进制
      unpackage/dist/build/web/static/images/emoji/29.png
  43. 二进制
      unpackage/dist/build/web/static/images/emoji/3.png
  44. 二进制
      unpackage/dist/build/web/static/images/emoji/30.png
  45. 二进制
      unpackage/dist/build/web/static/images/emoji/31.png
  46. 二进制
      unpackage/dist/build/web/static/images/emoji/32.png
  47. 二进制
      unpackage/dist/build/web/static/images/emoji/33.png
  48. 二进制
      unpackage/dist/build/web/static/images/emoji/34.png
  49. 二进制
      unpackage/dist/build/web/static/images/emoji/35.png
  50. 二进制
      unpackage/dist/build/web/static/images/emoji/36.png
  51. 二进制
      unpackage/dist/build/web/static/images/emoji/37.png
  52. 二进制
      unpackage/dist/build/web/static/images/emoji/4.png
  53. 二进制
      unpackage/dist/build/web/static/images/emoji/5.png
  54. 二进制
      unpackage/dist/build/web/static/images/emoji/6.png
  55. 二进制
      unpackage/dist/build/web/static/images/emoji/7.png
  56. 二进制
      unpackage/dist/build/web/static/images/emoji/8.png
  57. 二进制
      unpackage/dist/build/web/static/images/emoji/9.png
  58. 二进制
      unpackage/dist/build/web/static/images/emoji_1/1.png
  59. 二进制
      unpackage/dist/build/web/static/images/emoji_1/10.png
  60. 二进制
      unpackage/dist/build/web/static/images/emoji_1/11.png
  61. 二进制
      unpackage/dist/build/web/static/images/emoji_1/12.png
  62. 二进制
      unpackage/dist/build/web/static/images/emoji_1/13.png
  63. 二进制
      unpackage/dist/build/web/static/images/emoji_1/14.png
  64. 二进制
      unpackage/dist/build/web/static/images/emoji_1/15.png
  65. 二进制
      unpackage/dist/build/web/static/images/emoji_1/16.png
  66. 二进制
      unpackage/dist/build/web/static/images/emoji_1/17.png
  67. 二进制
      unpackage/dist/build/web/static/images/emoji_1/18.png
  68. 二进制
      unpackage/dist/build/web/static/images/emoji_1/19.png
  69. 二进制
      unpackage/dist/build/web/static/images/emoji_1/2.png
  70. 二进制
      unpackage/dist/build/web/static/images/emoji_1/20.png
  71. 二进制
      unpackage/dist/build/web/static/images/emoji_1/21.png
  72. 二进制
      unpackage/dist/build/web/static/images/emoji_1/22.png
  73. 二进制
      unpackage/dist/build/web/static/images/emoji_1/23.png
  74. 二进制
      unpackage/dist/build/web/static/images/emoji_1/24.png
  75. 二进制
      unpackage/dist/build/web/static/images/emoji_1/25.png
  76. 二进制
      unpackage/dist/build/web/static/images/emoji_1/26.png
  77. 二进制
      unpackage/dist/build/web/static/images/emoji_1/3.png
  78. 二进制
      unpackage/dist/build/web/static/images/emoji_1/4.png
  79. 二进制
      unpackage/dist/build/web/static/images/emoji_1/5.png
  80. 二进制
      unpackage/dist/build/web/static/images/emoji_1/6.png
  81. 二进制
      unpackage/dist/build/web/static/images/emoji_1/7.png
  82. 二进制
      unpackage/dist/build/web/static/images/emoji_1/8.png
  83. 二进制
      unpackage/dist/build/web/static/images/emoji_1/9.png
  84. 二进制
      unpackage/dist/build/web/static/images/home/goods/1.png
  85. 二进制
      unpackage/dist/build/web/static/images/home/goods/10.png
  86. 二进制
      unpackage/dist/build/web/static/images/home/goods/11.png
  87. 二进制
      unpackage/dist/build/web/static/images/home/goods/12.png
  88. 二进制
      unpackage/dist/build/web/static/images/home/goods/13.png
  89. 二进制
      unpackage/dist/build/web/static/images/home/goods/14.png
  90. 二进制
      unpackage/dist/build/web/static/images/home/goods/15.png
  91. 二进制
      unpackage/dist/build/web/static/images/home/goods/16.png
  92. 二进制
      unpackage/dist/build/web/static/images/home/goods/17.png
  93. 二进制
      unpackage/dist/build/web/static/images/home/goods/18.png
  94. 二进制
      unpackage/dist/build/web/static/images/home/goods/19.png
  95. 二进制
      unpackage/dist/build/web/static/images/home/goods/2.png
  96. 二进制
      unpackage/dist/build/web/static/images/home/goods/20.png
  97. 二进制
      unpackage/dist/build/web/static/images/home/goods/3.png
  98. 二进制
      unpackage/dist/build/web/static/images/home/goods/4.png
  99. 二进制
      unpackage/dist/build/web/static/images/home/goods/5.png
  100. 二进制
      unpackage/dist/build/web/static/images/home/goods/6.png

+ 7 - 3
components/zaiui-common/view/my.vue

@@ -137,7 +137,6 @@
 <script>
 	import barTitle from '@/components/zaiui-common/basics/bar-title';
 	
-	import _my_data from '@/static/zaiui/data/my.js';	//虚拟数据
 	import _tool from '@/static/zaiui/util/tools.js';	//工具函数
 	export default {
 		name: 'my',
@@ -206,8 +205,6 @@
 			},
 		},
 		created() {
-			//加载虚拟数据
-			// this.toolsList = _my_data.toolsListData();
 			this.loadUserInfo().then(res => {
 				this.orderInfo = res.order;
 			})
@@ -278,6 +275,13 @@
 					url: "/pages/my/sponsored"
 				});
 			},
+		},
+		watch: {
+			show(newValue) {
+				if(newValue && !this.user.id) {
+					this.loadUserInfo()
+				}
+			}
 		}
 	}
 </script>

+ 31 - 3
main.js

@@ -30,6 +30,7 @@ Vue.mixin({
 			privacyShow: 0,
 			privacyContractName: '',
 			privacyed: 0,
+			p: '',
 		}
 	},
 	computed: {
@@ -122,11 +123,22 @@ Vue.mixin({
 			return `${config.path}${url}&json=1&version=${config.version}&t=${this.userInfo.t}`
 		},
 		reqByuser: function(options) {
+			if(!this.p) {
+				let p = uni.getStorageSync('place')
+				this.p = p;
+				if(!this.p) {
+					uni.showToast({
+						icon: 'error',
+						title: '缺少身份码'
+					})
+					return
+				}
+			}
 			if (this.userInfo.t) {
 				options.data = {
 					...options.data,
 					...config.data,
-					p: '5c98cy9aGsQlM2MbyqrLNfRu7-7NfyDvPT8FCDVXG0pzKdUUS',
+					p: this.p,
 					t: this.userInfo.t
 				};
 				if(options.data.env) {
@@ -143,10 +155,22 @@ Vue.mixin({
 			}
 		},
 		req: function(options) {
+			if(!this.p) {
+				let p = uni.getStorageSync('place')
+				console.log(p)
+				this.p = p;
+				if(!this.p) {
+					uni.showToast({
+						icon: 'error',
+						title: '缺少身份码'
+					})
+					return
+				}
+			}
 			options.data = {
 				...options.data,
 				...config.data,
-				p: '5c98cy9aGsQlM2MbyqrLNfRu7-7NfyDvPT8FCDVXG0pzKdUUS',
+				p: this.p,
 			};
 			if(options.data.env) {
 				options.data.env = 3;
@@ -228,7 +252,11 @@ Vue.mixin({
 			})
 		},
 	},
-	onLoad() {
+	onLoad(options) {
+		if(options.p) {
+			this.p = options.p;
+			uni.setStorageSync('place', this.p)
+		}
 		// let menuinfo = uni.getMenuButtonBoundingClientRect();
 		// this.menuinfo = menuinfo;
 		// this.refreshCartNum()

+ 1 - 1
pages/login/login.vue

@@ -140,7 +140,7 @@
 					account: 'wechat',
 					env: 2,
 					applet_code: '',
-					invite: ''
+					invite: '88151'
 				};
 				
 				if(!this.mobile || !/^1\d{10}$/.test(this.mobile.trim())) {

+ 216 - 29
pages/my/agent.vue

@@ -1,25 +1,24 @@
 <template>
 	<view>
 		<!--标题栏-->
-		<bar-title bgColor="bg-white" isBack title="会员">
-			<block slot="content">会员</block>
+		<bar-title bgColor="bg-white" isBack title="代理">
+			<block slot="content">代理</block>
 		</bar-title>
 		
 		<view class="zaiui-user-info-box">
 			<view class="cu-list menu-avatar">
 				<view class="cu-item">
-					<view class="cu-avatar round lg" :style="`background-image:url(${place.logo || 'http://center.yuandaibao.com/data/yuandaibaov1/upload/1/92/4f/9e/924f9e2d2bd8fcdfea7af989db1a3f8a.jpg'});`"/>
+					<view class="cu-avatar round lg" :style="`background-image:url(${user.avatar || 'http://center.yuandaibao.com/data/yuandaibaov1/upload/1/92/4f/9e/924f9e2d2bd8fcdfea7af989db1a3f8a.jpg'});`"/>
 					<view class="content text-xl">
 						<view class="flex flex-direction" style="align-items: flex-start;">
-							<text class="margin-right">{{place.name}}({{place.agent_name}})</text>
-							<text class="text-sm">{{place.score_per}}</text>
+							<text class="margin-right">{{user.name}}</text>
 						</view>
 					</view>
 				</view>
 			</view>
 		</view>
 		
-		<view class="zaiui-flex-tab show">
+		<view class="zaiui-flex-tab show" style="padding-top: 40upx;">
 			<view class="flex">
 				<view class="basis-xxl">
 					<scroll-view scroll-x class="nav z" scroll-with-animation>
@@ -34,25 +33,85 @@
 			</view>
 		</view>
 		
-		<view class="card" v-for="item in agentlist">
-			<image class="card-bg" src="https://ritheme.com/wp-content/themes/ritheme-2023/assets/img/price_shape.png">
-			<view class="flex hd">
-				<view class="col">
-					<view class="text-white h4">
-						<text class="text-white cuIcon-agentcard"></text>
-						{{item.name}}
+		<block v-if="headTab.TabCur == 0">
+			<view class="cu-list menu sm-border margin-top">
+				<view class="cu-item">
+					<view class="content">我的邀请码</view>
+					<view class="action">
+						<text class="text-gray">{{code}}<text class="cuIcon-copy" style="margin-left: 5px;"></text></text>
 					</view>
 				</view>
-				<view class="col text-end">
-					<button class="cu-btn bg-red" data-type="agent" @click="handleBuy(item.id)">立即购买</button>					    
+				<view class="cu-item">
+					<view class="content">上级代理</view>
+					<view class="action">
+						<text class="text-red" v-if="parent == 2" @click="bottomModal=true">去绑定</text>
+						<text class="text-gray" v-else>----</text>
+					</view>
 				</view>
 			</view>
-			<view class="detail">
-				<view class="text-white price">价格<text>¥{{item.price}}<text class="through">¥{{item.sprice}}</text></text></view>
-				<view class="text-white price">有效期<text>{{item.day_desc}}</text></view>
+			<view class="card" v-for="item in agentlist">
+				<image class="card-bg" src="@/static/images/my/price_shape.png">
+				<view class="flex hd">
+					<view class="col">
+						<view class="text-white h4">
+							<text class="text-white cuIcon-agentcard"></text>
+							{{item.name}}
+						</view>
+					</view>
+					<view class="col text-end">
+						<button class="cu-btn bg-red" data-type="agent" @click="handleBuy(item.id)">立即购买</button>					    
+					</view>
+				</view>
+				<view class="detail">
+					<view class="text-white price">价格<text>¥{{item.price}}</text></view>
+				</view>
+				<view class="detail">
+					<view class="text-white" v-html="item.content"></view>
+				</view>
 			</view>
-			<view class="detail">
-				<view class="text-white" v-html="item.content"></view>
+		</block>
+		<block v-else>
+			<view class="bg-white zaiui-news-list-box">
+				<view class="margin-bottom cu-list menu-avatar">
+					<view class="cu-item goods">
+						<view class="cu-avatar round" style="background-image:url(/static/images/avatar/1.jpg);">
+						</view>
+						<view class="content">
+							<view class="text-black">
+								<text class="margin-right-xs">仔仔</text>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</block>
+	
+		<view class="cu-modal bottom-modal zaiui-bottom-modal-box" :class="bottomModal?'show':''">
+			<view class="cu-dialog bg-white">
+				<!--标题-->
+				<view class="text-black text-center margin-tb text-lg zaiui-title-bar">
+					<text>填写上级</text>
+					<text class="cuIcon-close close-icon" @tap="bottomModal=false"></text>
+				</view>
+				
+				<!--内容区域-->
+				<view class="zaiui-modal-content" style="height: auto;">
+					<view class="zaiui-view-box select" >
+						<!--商品信息-->
+						<view class="cu-list menu-avatar">
+							<view class="cu-item" style="align-items: center;">
+								<input type="text" style="flex:1" v-model="invite" placeholder="请输入上级邀请码" />
+							</view>
+						</view>
+					</view>
+					
+					<view class="zaiui-footer-fixed">
+						<view class="flex flex-direction">
+							<button class="cu-btn bg-red lg" @click="bindParent">确定</button>
+						</view>
+					</view>
+					
+				</view>
 			</view>
 		</view>
 		
@@ -75,17 +134,23 @@
 						name: '代理信息'
 					}, {
 						id: 1,
-						name: '代理列表'
+						name: '邀请列表'
 					}],
 					TabCur: 0
 				},
 				user: {},
 				place: {},
-				agentlist: []
+				agentlist: [],
+				invitedlist: [],
+				code: '',
+				parent: '',
+				bottomModal: false,
+				invite: ''
 			}
 		},
 		onLoad() {
 			this.loadInfo()
+			this.loadList()
 		},
 		onReady() {
 			_tool.setBarColor(true);
@@ -102,10 +167,13 @@
 					success: res => {
 						if(res.data.status == 1) {
 							this.user = res.data.data.user;
-							this.place = res.data.data.place;
-							console.log(res.data.data)
+							this.code = res.data.data.code;
+							this.parent = res.data.data.parent;
 						}else {
-							this.error = res.data.msg
+							uni.showToast({
+								icon: 'error',
+								title: res.data.msg
+							})
 						}
 					}
 				})
@@ -116,10 +184,28 @@
 					data: {},
 					success: res => {
 						if(res.data.status == 1) {
-							console.log(res.data)
 							this.agentlist = res.data.data.list;
 						}else {
-							this.error = res.data.msg
+							uni.showToast({
+								icon: 'error',
+								title: res.data.msg
+							})
+						}
+					}
+				})
+			},
+			loadInvitedList() {
+				this.reqByuser({
+					url: '?l=agent.getChild', 
+					data: {},
+					success: res => {
+						if(res.data.status == 1) {
+							this.invitedlist = res.data.data.list;
+						}else {
+							uni.showToast({
+								icon: 'error',
+								title: res.data.msg
+							})
 						}
 					}
 				})
@@ -135,7 +221,10 @@
 							console.log(res.data.data)
 							location.href = res.data.data.pay.link;
 						}else {
-							this.error = res.data.msg
+							uni.showToast({
+								icon: 'error',
+								title: res.data.msg
+							})
 						}
 					}
 				})
@@ -143,8 +232,30 @@
 			tabSelect(e) {
 				this.headTab.TabCur = e.currentTarget.dataset.id
 				if(e.currentTarget.dataset.id == 1) {
-					this.loadList()
+					this.loadInvitedList()
 				}
+			},
+			bindParent() {
+				this.reqByuser({
+					url: '?l=agent.addParent', 
+					data: {
+						invite: this.invite
+					},
+					success: res => {
+						if(res.data.status == 1) {
+							uni.showToast({
+								icon: 'success',
+								title: '绑定成功'
+							})
+							this.loadInfo()
+						}else {
+							uni.showToast({
+								icon: 'error',
+								title: res.data.msg
+							})
+						}
+					}
+				})
 			}
 		}
 	}
@@ -156,6 +267,7 @@
 		@import "../../static/colorui/icon.css";
 		@import "../../static/zaiui/style/app.scss";
 	/* #endif */
+	@import "../../static/zaiui/style/goods.scss";
 </style>
 <style lang="scss" scoped>
 	.card {
@@ -222,3 +334,78 @@
 	}
 	
 </style>
+<style lang="scss" scoped>
+	.zaiui-news-box {
+		width: 100%;
+		display: none;
+		.zaiui-follow-box {
+			.action-text-cut {
+				width: 70%;
+			}
+		}
+		.zaiui-grid-menu {
+			.cu-list.grid.no-border>.cu-item {
+				.cu-avatar {
+					margin: 0 auto;
+				}
+			}
+		}
+		.zaiui-news-list-box {
+			padding: 0 9.09upx;
+			.cu-list.menu-avatar>.cu-item>.cu-avatar {
+				width: 81.81upx;
+				height: 81.81upx;
+			}
+			.cu-list.menu-avatar>.cu-item {
+				height: 163.63upx;
+				align-items: inherit;
+				.cu-avatar {
+					margin-top: 25.45upx;
+					.cu-tag.badge {
+					    width: 21.81upx;
+					    height: 21.81upx;
+					    top: 0;
+					    right: 0;
+					    border: 1.81upx solid #fff;	
+					}
+				}
+				.content {
+				    left: 136.36upx;
+					margin-top: 18.18upx;
+				    width: calc(100% - 90.9upx - 54.54upx - 18.18upx);
+				    line-height: 1.7em;	
+					.cu-tag {
+						padding: 0 3.63upx;
+						text {
+							position: relative;
+							top: -2upx;
+						}
+					}
+				}
+				&:after {
+					width: 0;
+					height: 0;
+					border-bottom: 0;
+				}
+			}
+			.cu-list.menu-avatar>.cu-item.goods {
+				.content {
+				    width: calc(100% - 309.09upx);
+				}
+				.action {
+					position: absolute;	
+				    right: 23.63upx;
+					width: 127.27upx;
+					.cu-avatar {
+						width: 127.27upx;
+						height: 127.27upx;
+						margin-top: 18.18upx;
+					}
+				}
+			}
+		}
+	}
+	.zaiui-news-box.show {
+		display: block;
+	}
+</style>

+ 8 - 1
pages/my/personal-data.vue

@@ -80,7 +80,7 @@
 		
 		<view class="cu-list menu sm-border margin-top">
 			<view class="cu-item arrow">
-				<view class="content">注销账户</view>
+				<view class="content" @click="logout">退出登录</view>
 			</view>
 		</view>
 		
@@ -112,6 +112,13 @@
 			});
 		},
 		methods: {
+			logout() {
+				uni.removeStorageSync('baseToken')
+				this.setUserInfo({})
+				uni.reLaunch({
+					url: '/pages/app/index'
+				})
+			},
 			editNameTap() {
 				uni.navigateTo({
 					url: "/pages/my/edit-name"

+ 1 - 1
pages/my/vip.vue

@@ -35,7 +35,7 @@
 		</view> -->
 		
 		<view class="card" v-for="item in viplist">
-			<image class="card-bg" src="https://ritheme.com/wp-content/themes/ritheme-2023/assets/img/price_shape.png">
+			<image class="card-bg" src="@/static/images/my/price_shape.png">
 			<view class="flex hd">
 				<view class="col">
 					<view class="text-white h4">

二进制
static/images/my/price_shape.png


+ 5 - 0
unpackage/dist/build/web/index.html

@@ -0,0 +1,5 @@
+<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1"><title>仿转转商城APP页面模板</title><script>// document.addEventListener('DOMContentLoaded', function() {
+			// 	document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px'
+			// })</script><style type=text/css>input:-webkit-autofill{
+				-webkit-box-shadow: 0 0 0 1000px #F7F7F7 inset;  //使用足够大的纯色内阴影覆盖黄色背景
+			}</style><link rel=stylesheet href=/static/index.2da1efab.css><script src=//res.wx.qq.com/open/js/jweixin-1.6.0.js charset=utf-8></script></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script>/*BAIDU_STAT*/</script><script src=/static/js/chunk-vendors.5d7d7cae.js></script><script src=/static/js/index.de493c03.js></script></body></html>

+ 911 - 0
unpackage/dist/build/web/static/city.json

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

+ 184 - 0
unpackage/dist/build/web/static/colorui/animation.css

@@ -0,0 +1,184 @@
+/* 
+  Animation 微动画  
+  基于ColorUI组建库的动画模块 by 文晓港 2019年3月26日19:52:28
+ */
+
+/* css 滤镜 控制黑白底色gif的 */
+.gif-black{  
+  mix-blend-mode: screen;  
+}
+.gif-white{  
+  mix-blend-mode: multiply; 
+}
+
+
+/* Animation css */
+[class*=animation-] {
+    animation-duration: .5s;
+    animation-timing-function: ease-out;
+    animation-fill-mode: both
+}
+
+.animation-fade {
+    animation-name: fade;
+    animation-duration: .8s;
+    animation-timing-function: linear
+}
+
+.animation-scale-up {
+    animation-name: scale-up
+}
+
+.animation-scale-down {
+    animation-name: scale-down
+}
+
+.animation-slide-top {
+    animation-name: slide-top
+}
+
+.animation-slide-bottom {
+    animation-name: slide-bottom
+}
+
+.animation-slide-left {
+    animation-name: slide-left
+}
+
+.animation-slide-right {
+    animation-name: slide-right
+}
+
+.animation-shake {
+    animation-name: shake
+}
+
+.animation-reverse {
+    animation-direction: reverse
+}
+
+@keyframes fade {
+    0% {
+        opacity: 0
+    }
+
+    100% {
+        opacity: 1
+    }
+}
+
+@keyframes scale-up {
+    0% {
+        opacity: 0;
+        transform: scale(.2)
+    }
+
+    100% {
+        opacity: 1;
+        transform: scale(1)
+    }
+}
+
+@keyframes scale-down {
+    0% {
+        opacity: 0;
+        transform: scale(1.8)
+    }
+
+    100% {
+        opacity: 1;
+        transform: scale(1)
+    }
+}
+
+@keyframes slide-top {
+    0% {
+        opacity: 0;
+        transform: translateY(-100%)
+    }
+
+    100% {
+        opacity: 1;
+        transform: translateY(0)
+    }
+}
+
+@keyframes slide-bottom {
+    0% {
+        opacity: 0;
+        transform: translateY(100%)
+    }
+
+    100% {
+        opacity: 1;
+        transform: translateY(0)
+    }
+}
+
+@keyframes shake {
+
+    0%,
+    100% {
+        transform: translateX(0)
+    }
+
+    10% {
+        transform: translateX(-9px)
+    }
+
+    20% {
+        transform: translateX(8px)
+    }
+
+    30% {
+        transform: translateX(-7px)
+    }
+
+    40% {
+        transform: translateX(6px)
+    }
+
+    50% {
+        transform: translateX(-5px)
+    }
+
+    60% {
+        transform: translateX(4px)
+    }
+
+    70% {
+        transform: translateX(-3px)
+    }
+
+    80% {
+        transform: translateX(2px)
+    }
+
+    90% {
+        transform: translateX(-1px)
+    }
+}
+
+@keyframes slide-left {
+    0% {
+        opacity: 0;
+        transform: translateX(-100%)
+    }
+
+    100% {
+        opacity: 1;
+        transform: translateX(0)
+    }
+}
+
+@keyframes slide-right {
+    0% {
+        opacity: 0;
+        transform: translateX(100%)
+    }
+
+    100% {
+        opacity: 1;
+        transform: translateX(0)
+    }
+}

文件差异内容过多而无法显示
+ 36 - 0
unpackage/dist/build/web/static/colorui/icon.css


+ 3912 - 0
unpackage/dist/build/web/static/colorui/main.css

@@ -0,0 +1,3912 @@
+/*
+  ColorUi for uniApp  v2.1.6 | by 文晓港 2019-05-31 10:44:24
+  仅供学习交流,如作它用所承受的法律责任一概与作者无关  
+  
+  *使用ColorUi开发扩展与插件时,请注明基于ColorUi开发 
+  
+  (QQ交流群:240787041)
+*/
+
+/* ==================
+        初始化
+ ==================== */
+body {
+	background-color: #f1f1f1;
+	font-size: 28upx;
+	color: #333333;
+	font-family: Helvetica Neue, Helvetica, sans-serif;
+}
+
+view,
+scroll-view,
+swiper,
+button,
+input,
+textarea,
+label,
+navigator,
+image {
+	box-sizing: border-box;
+}
+
+.round {
+	border-radius: 5000upx;
+}
+
+.radius {
+	border-radius: 6upx;
+}
+
+/* ==================
+          图片
+ ==================== */
+
+image {
+	max-width: 100%;
+	display: inline-block;
+	position: relative;
+	z-index: 0;
+}
+
+image.loading::before {
+	content: "";
+	background-color: #f5f5f5;
+	display: block;
+	position: absolute;
+	width: 100%;
+	height: 100%;
+	z-index: -2;
+}
+
+image.loading::after {
+	content: "\e7f1";
+	font-family: "cuIcon";
+	position: absolute;
+	top: 0;
+	left: 0;
+	width: 32upx;
+	height: 32upx;
+	line-height: 32upx;
+	right: 0;
+	bottom: 0;
+	z-index: -1;
+	font-size: 32upx;
+	margin: auto;
+	color: #ccc;
+	-webkit-animation: cuIcon-spin 2s infinite linear;
+	animation: cuIcon-spin 2s infinite linear;
+	display: block;
+}
+
+.response {
+	width: 100%;
+}
+
+/* ==================
+         开关
+ ==================== */
+
+switch,
+checkbox,
+radio {
+	position: relative;
+}
+
+switch::after,
+switch::before {
+	font-family: "cuIcon";
+	content: "\e645";
+	position: absolute;
+	color: #ffffff !important;
+	top: 0%;
+	left: 0upx;
+	font-size: 26upx;
+	line-height: 26px;
+	width: 50%;
+	text-align: center;
+	pointer-events: none;
+	transform: scale(0, 0);
+	transition: all 0.3s ease-in-out 0s;
+	z-index: 9;
+	bottom: 0;
+	height: 26px;
+	margin: auto;
+}
+
+switch::before {
+	content: "\e646";
+	right: 0;
+	transform: scale(1, 1);
+	left: auto;
+}
+
+switch[checked]::after,
+switch.checked::after {
+	transform: scale(1, 1);
+}
+
+switch[checked]::before,
+switch.checked::before {
+	transform: scale(0, 0);
+}
+
+/* #ifndef MP-ALIPAY */
+radio::before,
+checkbox::before {
+	font-family: "cuIcon";
+	content: "\e645";
+	position: absolute;
+	color: #ffffff !important;
+	top: 50%;
+	margin-top: -8px;
+	right: 5px;
+	font-size: 32upx;
+	line-height: 16px;
+	pointer-events: none;
+	transform: scale(1, 1);
+	transition: all 0.3s ease-in-out 0s;
+	z-index: 9;
+}
+
+radio .wx-radio-input,
+checkbox .wx-checkbox-input,
+radio .uni-radio-input,
+checkbox .uni-checkbox-input {
+	margin: 0;
+	width: 24px;
+	height: 24px;
+}
+
+checkbox.round .wx-checkbox-input,
+checkbox.round .uni-checkbox-input {
+	border-radius: 100upx;
+}
+
+/* #endif */
+
+switch[checked]::before {
+	transform: scale(0, 0);
+}
+
+switch .wx-switch-input,
+switch .uni-switch-input {
+	border: none;
+	padding: 0 24px;
+	width: 48px;
+	height: 26px;
+	margin: 0;
+	border-radius: 100upx;
+}
+
+switch .wx-switch-input:not([class*="bg-"]),
+switch .uni-switch-input:not([class*="bg-"]) {
+	background: #8799a3 !important;
+}
+
+switch .wx-switch-input::after,
+switch .uni-switch-input::after {
+	margin: auto;
+	width: 26px;
+	height: 26px;
+	border-radius: 100upx;
+	left: 0upx;
+	top: 0upx;
+	bottom: 0upx;
+	position: absolute;
+	transform: scale(0.9, 0.9);
+	transition: all 0.1s ease-in-out 0s;
+}
+
+switch .wx-switch-input.wx-switch-input-checked::after,
+switch .uni-switch-input.uni-switch-input-checked::after {
+	margin: auto;
+	left: 22px;
+	box-shadow: none;
+	transform: scale(0.9, 0.9);
+}
+
+radio-group {
+	display: inline-block;
+}
+
+
+
+switch.radius .wx-switch-input::after,
+switch.radius .wx-switch-input,
+switch.radius .wx-switch-input::before,
+switch.radius .uni-switch-input::after,
+switch.radius .uni-switch-input,
+switch.radius .uni-switch-input::before {
+	border-radius: 10upx;
+}
+
+switch .wx-switch-input::before,
+radio.radio::before,
+checkbox .wx-checkbox-input::before,
+radio .wx-radio-input::before,
+switch .uni-switch-input::before,
+radio.radio::before,
+checkbox .uni-checkbox-input::before,
+radio .uni-radio-input::before {
+	display: none;
+}
+
+radio.radio[checked]::after,
+radio.radio .uni-radio-input-checked::after {
+	content: "";
+	background-color: transparent;
+	display: block;
+	position: absolute;
+	width: 8px;
+	height: 8px;
+	z-index: 999;
+	top: 0upx;
+	left: 0upx;
+	right: 0;
+	bottom: 0;
+	margin: auto;
+	border-radius: 200upx;
+	/* #ifndef MP */
+	border: 7px solid #ffffff !important;
+	/* #endif */
+
+	/* #ifdef MP */
+	border: 8px solid #ffffff !important;
+	/* #endif */
+}
+
+.switch-sex::after {
+	content: "\e71c";
+}
+
+.switch-sex::before {
+	content: "\e71a";
+}
+
+.switch-sex .wx-switch-input,
+.switch-sex .uni-switch-input {
+	background: #e54d42 !important;
+	border-color: #e54d42 !important;
+}
+
+.switch-sex[checked] .wx-switch-input,
+.switch-sex.checked .uni-switch-input {
+	background: #0081ff !important;
+	border-color: #0081ff !important;
+}
+
+switch.red[checked] .wx-switch-input.wx-switch-input-checked,
+checkbox.red[checked] .wx-checkbox-input,
+radio.red[checked] .wx-radio-input,
+switch.red.checked .uni-switch-input.uni-switch-input-checked,
+checkbox.red.checked .uni-checkbox-input,
+radio.red.checked .uni-radio-input {
+	background-color: #e54d42 !important;
+	border-color: #e54d42 !important;
+	color: #ffffff !important;
+}
+
+switch.orange[checked] .wx-switch-input,
+checkbox.orange[checked] .wx-checkbox-input,
+radio.orange[checked] .wx-radio-input,
+switch.orange.checked .uni-switch-input,
+checkbox.orange.checked .uni-checkbox-input,
+radio.orange.checked .uni-radio-input {
+	background-color: #f37b1d !important;
+	border-color: #f37b1d !important;
+	color: #ffffff !important;
+}
+
+switch.yellow[checked] .wx-switch-input,
+checkbox.yellow[checked] .wx-checkbox-input,
+radio.yellow[checked] .wx-radio-input,
+switch.yellow.checked .uni-switch-input,
+checkbox.yellow.checked .uni-checkbox-input,
+radio.yellow.checked .uni-radio-input {
+	background-color: #fbbd08 !important;
+	border-color: #fbbd08 !important;
+	color: #333333 !important;
+}
+
+switch.olive[checked] .wx-switch-input,
+checkbox.olive[checked] .wx-checkbox-input,
+radio.olive[checked] .wx-radio-input,
+switch.olive.checked .uni-switch-input,
+checkbox.olive.checked .uni-checkbox-input,
+radio.olive.checked .uni-radio-input {
+	background-color: #8dc63f !important;
+	border-color: #8dc63f !important;
+	color: #ffffff !important;
+}
+
+switch.green[checked] .wx-switch-input,
+switch[checked] .wx-switch-input,
+checkbox.green[checked] .wx-checkbox-input,
+checkbox[checked] .wx-checkbox-input,
+radio.green[checked] .wx-radio-input,
+radio[checked] .wx-radio-input,
+switch.green.checked .uni-switch-input,
+switch.checked .uni-switch-input,
+checkbox.green.checked .uni-checkbox-input,
+checkbox.checked .uni-checkbox-input,
+radio.green.checked .uni-radio-input,
+radio.checked .uni-radio-input {
+	background-color: #39b54a !important;
+	border-color: #39b54a !important;
+	color: #ffffff !important;
+	border-color: #39B54A !important;
+}
+
+switch.cyan[checked] .wx-switch-input,
+checkbox.cyan[checked] .wx-checkbox-input,
+radio.cyan[checked] .wx-radio-input,
+switch.cyan.checked .uni-switch-input,
+checkbox.cyan.checked .uni-checkbox-input,
+radio.cyan.checked .uni-radio-input {
+	background-color: #1cbbb4 !important;
+	border-color: #1cbbb4 !important;
+	color: #ffffff !important;
+}
+
+switch.blue[checked] .wx-switch-input,
+checkbox.blue[checked] .wx-checkbox-input,
+radio.blue[checked] .wx-radio-input,
+switch.blue.checked .uni-switch-input,
+checkbox.blue.checked .uni-checkbox-input,
+radio.blue.checked .uni-radio-input {
+	background-color: #0081ff !important;
+	border-color: #0081ff !important;
+	color: #ffffff !important;
+}
+
+switch.purple[checked] .wx-switch-input,
+checkbox.purple[checked] .wx-checkbox-input,
+radio.purple[checked] .wx-radio-input,
+switch.purple.checked .uni-switch-input,
+checkbox.purple.checked .uni-checkbox-input,
+radio.purple.checked .uni-radio-input {
+	background-color: #6739b6 !important;
+	border-color: #6739b6 !important;
+	color: #ffffff !important;
+}
+
+switch.mauve[checked] .wx-switch-input,
+checkbox.mauve[checked] .wx-checkbox-input,
+radio.mauve[checked] .wx-radio-input,
+switch.mauve.checked .uni-switch-input,
+checkbox.mauve.checked .uni-checkbox-input,
+radio.mauve.checked .uni-radio-input {
+	background-color: #9c26b0 !important;
+	border-color: #9c26b0 !important;
+	color: #ffffff !important;
+}
+
+switch.pink[checked] .wx-switch-input,
+checkbox.pink[checked] .wx-checkbox-input,
+radio.pink[checked] .wx-radio-input,
+switch.pink.checked .uni-switch-input,
+checkbox.pink.checked .uni-checkbox-input,
+radio.pink.checked .uni-radio-input {
+	background-color: #e03997 !important;
+	border-color: #e03997 !important;
+	color: #ffffff !important;
+}
+
+switch.brown[checked] .wx-switch-input,
+checkbox.brown[checked] .wx-checkbox-input,
+radio.brown[checked] .wx-radio-input,
+switch.brown.checked .uni-switch-input,
+checkbox.brown.checked .uni-checkbox-input,
+radio.brown.checked .uni-radio-input {
+	background-color: #a5673f !important;
+	border-color: #a5673f !important;
+	color: #ffffff !important;
+}
+
+switch.grey[checked] .wx-switch-input,
+checkbox.grey[checked] .wx-checkbox-input,
+radio.grey[checked] .wx-radio-input,
+switch.grey.checked .uni-switch-input,
+checkbox.grey.checked .uni-checkbox-input,
+radio.grey.checked .uni-radio-input {
+	background-color: #8799a3 !important;
+	border-color: #8799a3 !important;
+	color: #ffffff !important;
+}
+
+switch.gray[checked] .wx-switch-input,
+checkbox.gray[checked] .wx-checkbox-input,
+radio.gray[checked] .wx-radio-input,
+switch.gray.checked .uni-switch-input,
+checkbox.gray.checked .uni-checkbox-input,
+radio.gray.checked .uni-radio-input {
+	background-color: #f0f0f0 !important;
+	border-color: #f0f0f0 !important;
+	color: #333333 !important;
+}
+
+switch.black[checked] .wx-switch-input,
+checkbox.black[checked] .wx-checkbox-input,
+radio.black[checked] .wx-radio-input,
+switch.black.checked .uni-switch-input,
+checkbox.black.checked .uni-checkbox-input,
+radio.black.checked .uni-radio-input {
+	background-color: #333333 !important;
+	border-color: #333333 !important;
+	color: #ffffff !important;
+}
+
+switch.white[checked] .wx-switch-input,
+checkbox.white[checked] .wx-checkbox-input,
+radio.white[checked] .wx-radio-input,
+switch.white.checked .uni-switch-input,
+checkbox.white.checked .uni-checkbox-input,
+radio.white.checked .uni-radio-input {
+	background-color: #ffffff !important;
+	border-color: #ffffff !important;
+	color: #333333 !important;
+}
+
+/* ==================
+          边框
+ ==================== */
+
+/* -- 实线 -- */
+
+.solid,
+.solid-top,
+.solid-right,
+.solid-bottom,
+.solid-left,
+.solids,
+.solids-top,
+.solids-right,
+.solids-bottom,
+.solids-left,
+.dashed,
+.dashed-top,
+.dashed-right,
+.dashed-bottom,
+.dashed-left {
+	position: relative;
+}
+
+.solid::after,
+.solid-top::after,
+.solid-right::after,
+.solid-bottom::after,
+.solid-left::after,
+.solids::after,
+.solids-top::after,
+.solids-right::after,
+.solids-bottom::after,
+.solids-left::after,
+.dashed::after,
+.dashed-top::after,
+.dashed-right::after,
+.dashed-bottom::after,
+.dashed-left::after {
+	content: " ";
+	width: 200%;
+	height: 200%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	border-radius: inherit;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	pointer-events: none;
+	box-sizing: border-box;
+}
+
+.solid::after {
+	border: 1upx solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-top::after {
+	border-top: 1upx solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-right::after {
+	border-right: 1upx solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-bottom::after {
+	border-bottom: 1upx solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-left::after {
+	border-left: 1upx solid rgba(0, 0, 0, 0.1);
+}
+
+.solids::after {
+	border: 8upx solid #eee;
+}
+
+.solids-top::after {
+	border-top: 8upx solid #eee;
+}
+
+.solids-right::after {
+	border-right: 8upx solid #eee;
+}
+
+.solids-bottom::after {
+	border-bottom: 8upx solid #eee;
+}
+
+.solids-left::after {
+	border-left: 8upx solid #eee;
+}
+
+/* -- 虚线 -- */
+
+.dashed::after {
+	border: 1upx dashed #ddd;
+}
+
+.dashed-top::after {
+	border-top: 1upx dashed #ddd;
+}
+
+.dashed-right::after {
+	border-right: 1upx dashed #ddd;
+}
+
+.dashed-bottom::after {
+	border-bottom: 1upx dashed #ddd;
+}
+
+.dashed-left::after {
+	border-left: 1upx dashed #ddd;
+}
+
+/* -- 阴影 -- */
+
+.shadow[class*='white'] {
+	--ShadowSize: 0 1upx 6upx;
+}
+
+.shadow-lg {
+	--ShadowSize: 0upx 40upx 100upx 0upx;
+}
+
+.shadow-warp {
+	position: relative;
+	box-shadow: 0 0 10upx rgba(0, 0, 0, 0.1);
+}
+
+.shadow-warp:before,
+.shadow-warp:after {
+	position: absolute;
+	content: "";
+	top: 20upx;
+	bottom: 30upx;
+	left: 20upx;
+	width: 50%;
+	box-shadow: 0 30upx 20upx rgba(0, 0, 0, 0.2);
+	transform: rotate(-3deg);
+	z-index: -1;
+}
+
+.shadow-warp:after {
+	right: 20upx;
+	left: auto;
+	transform: rotate(3deg);
+}
+
+.shadow-blur {
+	position: relative;
+}
+
+.shadow-blur::before {
+	content: "";
+	display: block;
+	background: inherit;
+	filter: blur(10upx);
+	position: absolute;
+	width: 100%;
+	height: 100%;
+	top: 10upx;
+	left: 10upx;
+	z-index: -1;
+	opacity: 0.4;
+	transform-origin: 0 0;
+	border-radius: inherit;
+	transform: scale(1, 1);
+}
+
+/* ==================
+          按钮
+ ==================== */
+
+.cu-btn {
+	position: relative;
+	border: 0upx;
+	display: inline-flex;
+	align-items: center;
+	justify-content: center;
+	box-sizing: border-box;
+	padding: 0 30upx;
+	font-size: 28upx;
+	height: 64upx;
+	line-height: 1;
+	text-align: center;
+	text-decoration: none;
+	overflow: visible;
+	margin-left: initial;
+	transform: translate(0upx, 0upx);
+	margin-right: initial;
+}
+
+.cu-btn::after {
+	display: none;
+}
+
+.cu-btn:not([class*="bg-"]) {
+	background-color: #f0f0f0;
+}
+
+.cu-btn[class*="line"] {
+	background-color: transparent;
+}
+
+.cu-btn[class*="line"]::after {
+	content: " ";
+	display: block;
+	width: 200%;
+	height: 200%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	border: 1upx solid currentColor;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	box-sizing: border-box;
+	border-radius: 12upx;
+	z-index: 1;
+	pointer-events: none;
+}
+
+.cu-btn.round[class*="line"]::after {
+	border-radius: 1000upx;
+}
+
+.cu-btn[class*="lines"]::after {
+	border: 6upx solid currentColor;
+}
+
+.cu-btn[class*="bg-"]::after {
+	display: none;
+}
+
+.cu-btn.sm {
+	padding: 0 20upx;
+	font-size: 20upx;
+	height: 48upx;
+}
+
+.cu-btn.lg {
+	padding: 0 40upx;
+	font-size: 32upx;
+	height: 80upx;
+}
+
+.cu-btn.cuIcon.sm {
+	width: 48upx;
+	height: 48upx;
+}
+
+.cu-btn.cuIcon {
+	width: 64upx;
+	height: 64upx;
+	border-radius: 500upx;
+	padding: 0;
+}
+
+button.cuIcon.lg {
+	width: 80upx;
+	height: 80upx;
+}
+
+.cu-btn.shadow-blur::before {
+	top: 4upx;
+	left: 4upx;
+	filter: blur(6upx);
+	opacity: 0.6;
+}
+
+.cu-btn.button-hover {
+	transform: translate(1upx, 1upx);
+}
+
+.block {
+	display: block;
+}
+
+.cu-btn.block {
+	display: flex;
+}
+
+.cu-btn[disabled] {
+	opacity: 0.6;
+	color: #ffffff;
+}
+
+/* ==================
+          徽章
+ ==================== */
+
+.cu-tag {
+	font-size: 24upx;
+	vertical-align: middle;
+	position: relative;
+	display: inline-flex;
+	align-items: center;
+	justify-content: center;
+	box-sizing: border-box;
+	padding: 0upx 16upx;
+	height: 48upx;
+	font-family: Helvetica Neue, Helvetica, sans-serif;
+	white-space: nowrap;
+}
+
+.cu-tag:not([class*="bg"]):not([class*="line"]) {
+	background-color: #f1f1f1;
+}
+
+.cu-tag[class*="line-"]::after {
+	content: " ";
+	width: 200%;
+	height: 200%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	border: 1upx solid currentColor;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	box-sizing: border-box;
+	border-radius: inherit;
+	z-index: 1;
+	pointer-events: none;
+}
+
+.cu-tag.radius[class*="line"]::after {
+	border-radius: 12upx;
+}
+
+.cu-tag.round[class*="line"]::after {
+	border-radius: 1000upx;
+}
+
+.cu-tag[class*="line-"]::after {
+	border-radius: 0;
+}
+
+.cu-tag+.cu-tag {
+	margin-left: 10upx;
+}
+
+.cu-tag.sm {
+	font-size: 20upx;
+	padding: 0upx 12upx;
+	height: 32upx;
+}
+
+.cu-capsule {
+	display: inline-flex;
+	vertical-align: middle;
+}
+
+.cu-capsule+.cu-capsule {
+	margin-left: 10upx;
+}
+
+.cu-capsule .cu-tag {
+	margin: 0;
+}
+
+.cu-capsule .cu-tag[class*="line-"]:last-child::after {
+	border-left: 0upx solid transparent;
+}
+
+.cu-capsule .cu-tag[class*="line-"]:first-child::after {
+	border-right: 0upx solid transparent;
+}
+
+.cu-capsule.radius .cu-tag:first-child {
+	border-top-left-radius: 6upx;
+	border-bottom-left-radius: 6upx;
+}
+
+.cu-capsule.radius .cu-tag:last-child::after,
+.cu-capsule.radius .cu-tag[class*="line-"] {
+	border-top-right-radius: 12upx;
+	border-bottom-right-radius: 12upx;
+}
+
+.cu-capsule.round .cu-tag:first-child {
+	border-top-left-radius: 200upx;
+	border-bottom-left-radius: 200upx;
+	text-indent: 4upx;
+}
+
+.cu-capsule.round .cu-tag:last-child::after,
+.cu-capsule.round .cu-tag:last-child {
+	border-top-right-radius: 200upx;
+	border-bottom-right-radius: 200upx;
+	text-indent: -4upx;
+}
+
+.cu-tag.badge {
+	border-radius: 200upx;
+	position: absolute;
+	top: -10upx;
+	right: -10upx;
+	font-size: 20upx;
+	padding: 0upx 10upx;
+	height: 28upx;
+	color: #ffffff;
+}
+
+.cu-tag.badge:not([class*="bg-"]) {
+	background-color: #dd514c;
+}
+
+.cu-tag:empty:not([class*="cuIcon-"]) {
+	padding: 0upx;
+	width: 16upx;
+	height: 16upx;
+	top: -4upx;
+	right: -4upx;
+}
+
+.cu-tag[class*="cuIcon-"] {
+	width: 32upx;
+	height: 32upx;
+	top: -4upx;
+	right: -4upx;
+}
+
+/* ==================
+          头像
+ ==================== */
+
+.cu-avatar {
+	font-variant: small-caps;
+	margin: 0;
+	padding: 0;
+	display: inline-flex;
+	text-align: center;
+	justify-content: center;
+	align-items: center;
+	background-color: #ccc;
+	color: #ffffff;
+	white-space: nowrap;
+	position: relative;
+	width: 64upx;
+	height: 64upx;
+	background-size: cover;
+	background-position: center;
+	vertical-align: middle;
+	font-size: 1.5em;
+}
+
+.cu-avatar.sm {
+	width: 48upx;
+	height: 48upx;
+	font-size: 1em;
+}
+
+.cu-avatar.lg {
+	width: 96upx;
+	height: 96upx;
+	font-size: 2em;
+}
+
+.cu-avatar.xl {
+	width: 128upx;
+	height: 128upx;
+	font-size: 2.5em;
+}
+
+.cu-avatar .avatar-text {
+	font-size: 0.4em;
+}
+
+.cu-avatar-group {
+	direction: rtl;
+	unicode-bidi: bidi-override;
+	padding: 0 10upx 0 40upx;
+	display: inline-block;
+}
+
+.cu-avatar-group .cu-avatar {
+	margin-left: -30upx;
+	border: 4upx solid #f1f1f1;
+	vertical-align: middle;
+}
+
+.cu-avatar-group .cu-avatar.sm {
+	margin-left: -20upx;
+	border: 1upx solid #f1f1f1;
+}
+
+/* ==================
+         进度条
+ ==================== */
+
+.cu-progress {
+	overflow: hidden;
+	height: 28upx;
+	background-color: #ebeef5;
+	display: inline-flex;
+	align-items: center;
+	width: 100%;
+}
+
+.cu-progress+view,
+.cu-progress+text {
+	line-height: 1;
+}
+
+.cu-progress.xs {
+	height: 10upx;
+}
+
+.cu-progress.sm {
+	height: 20upx;
+}
+
+.cu-progress view {
+	width: 0;
+	height: 100%;
+	align-items: center;
+	display: flex;
+	justify-items: flex-end;
+	justify-content: space-around;
+	font-size: 20upx;
+	color: #ffffff;
+	transition: width 0.6s ease;
+}
+
+.cu-progress text {
+	align-items: center;
+	display: flex;
+	font-size: 20upx;
+	color: #333333;
+	text-indent: 10upx;
+}
+
+.cu-progress.text-progress {
+	padding-right: 60upx;
+}
+
+.cu-progress.striped view {
+	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+	background-size: 72upx 72upx;
+}
+
+.cu-progress.active view {
+	animation: progress-stripes 2s linear infinite;
+}
+
+@keyframes progress-stripes {
+	from {
+		background-position: 72upx 0;
+	}
+
+	to {
+		background-position: 0 0;
+	}
+}
+
+/* ==================
+          加载
+ ==================== */
+
+.cu-load {
+	display: block;
+	line-height: 3em;
+	text-align: center;
+}
+
+.cu-load::before {
+	font-family: "cuIcon";
+	display: inline-block;
+	margin-right: 6upx;
+}
+
+.cu-load.loading::before {
+	content: "\e67a";
+	animation: cuIcon-spin 2s infinite linear;
+}
+
+.cu-load.loading::after {
+	content: "加载中...";
+}
+
+.cu-load.over::before {
+	content: "\e64a";
+}
+
+.cu-load.over::after {
+	content: "没有更多了";
+}
+
+.cu-load.erro::before {
+	content: "\e658";
+}
+
+.cu-load.erro::after {
+	content: "加载失败";
+}
+
+.cu-load.load-cuIcon::before {
+	font-size: 32upx;
+}
+
+.cu-load.load-cuIcon::after {
+	display: none;
+}
+
+.cu-load.load-cuIcon.over {
+	display: none;
+}
+
+.cu-load.load-modal {
+	position: fixed;
+	top: 0;
+	right: 0;
+	bottom: 140upx;
+	left: 0;
+	margin: auto;
+	width: 260upx;
+	height: 260upx;
+	background-color: #ffffff;
+	border-radius: 10upx;
+	box-shadow: 0 0 0upx 2000upx rgba(0, 0, 0, 0.5);
+	display: flex;
+	align-items: center;
+	flex-direction: column;
+	justify-content: center;
+	font-size: 28upx;
+	z-index: 9999;
+	line-height: 2.4em;
+}
+
+.cu-load.load-modal [class*="cuIcon-"] {
+	font-size: 60upx;
+}
+
+.cu-load.load-modal image {
+	width: 70upx;
+	height: 70upx;
+}
+
+.cu-load.load-modal::after {
+	content: "";
+	position: absolute;
+	background-color: #ffffff;
+	border-radius: 50%;
+	width: 200upx;
+	height: 200upx;
+	font-size: 10px;
+	border-top: 6upx solid rgba(0, 0, 0, 0.05);
+	border-right: 6upx solid rgba(0, 0, 0, 0.05);
+	border-bottom: 6upx solid rgba(0, 0, 0, 0.05);
+	border-left: 6upx solid #f37b1d;
+	animation: cuIcon-spin 1s infinite linear;
+	z-index: -1;
+}
+
+.load-progress {
+	pointer-events: none;
+	top: 0;
+	position: fixed;
+	width: 100%;
+	left: 0;
+	z-index: 2000;
+}
+
+.load-progress.hide {
+	display: none;
+}
+
+.load-progress .load-progress-bar {
+	position: relative;
+	width: 100%;
+	height: 4upx;
+	overflow: hidden;
+	transition: all 200ms ease 0s;
+}
+
+.load-progress .load-progress-spinner {
+	position: absolute;
+	top: 10upx;
+	right: 10upx;
+	z-index: 2000;
+	display: block;
+}
+
+.load-progress .load-progress-spinner::after {
+	content: "";
+	display: block;
+	width: 24upx;
+	height: 24upx;
+	-webkit-box-sizing: border-box;
+	box-sizing: border-box;
+	border: solid 4upx transparent;
+	border-top-color: inherit;
+	border-left-color: inherit;
+	border-radius: 50%;
+	-webkit-animation: load-progress-spinner 0.4s linear infinite;
+	animation: load-progress-spinner 0.4s linear infinite;
+}
+
+@-webkit-keyframes load-progress-spinner {
+	0% {
+		-webkit-transform: rotate(0);
+		transform: rotate(0);
+	}
+
+	100% {
+		-webkit-transform: rotate(360deg);
+		transform: rotate(360deg);
+	}
+}
+
+@keyframes load-progress-spinner {
+	0% {
+		-webkit-transform: rotate(0);
+		transform: rotate(0);
+	}
+
+	100% {
+		-webkit-transform: rotate(360deg);
+		transform: rotate(360deg);
+	}
+}
+
+/* ==================
+          列表
+ ==================== */
+.grayscale {
+	filter: grayscale(1);
+}
+
+.cu-list+.cu-list {
+	margin-top: 30upx
+}
+
+.cu-list>.cu-item {
+	transition: all .6s ease-in-out 0s;
+	transform: translateX(0upx)
+}
+
+.cu-list>.cu-item.move-cur {
+	transform: translateX(-260upx)
+}
+
+.cu-list>.cu-item .move {
+	position: absolute;
+	right: 0;
+	display: flex;
+	width: 260upx;
+	height: 100%;
+	transform: translateX(100%)
+}
+
+.cu-list>.cu-item .move view {
+	display: flex;
+	flex: 1;
+	justify-content: center;
+	align-items: center
+}
+
+.cu-list.menu-avatar {
+	overflow: hidden;
+}
+
+.cu-list.menu-avatar>.cu-item {
+	position: relative;
+	display: flex;
+	padding-right: 10upx;
+	height: 140upx;
+	background-color: #ffffff;
+	justify-content: flex-end;
+	align-items: center
+}
+
+.cu-list.menu-avatar>.cu-item>.cu-avatar {
+	position: absolute;
+	left: 30upx
+}
+
+.cu-list.menu-avatar>.cu-item .flex .text-cut {
+	max-width: 510upx
+}
+
+.cu-list.menu-avatar>.cu-item .content {
+	position: absolute;
+	left: 146upx;
+	width: calc(100% - 96upx - 60upx - 120upx - 20upx);
+	line-height: 1.6em;
+}
+
+.cu-list.menu-avatar>.cu-item .content.flex-sub {
+	width: calc(100% - 96upx - 60upx - 20upx);
+}
+
+.cu-list.menu-avatar>.cu-item .content>view:first-child {
+	font-size: 30upx;
+	display: flex;
+	align-items: center
+}
+
+.cu-list.menu-avatar>.cu-item .content .cu-tag.sm {
+	display: inline-block;
+	margin-left: 10upx;
+	height: 28upx;
+	font-size: 16upx;
+	line-height: 32upx
+}
+
+.cu-list.menu-avatar>.cu-item .action {
+	width: 100upx;
+	text-align: center
+}
+
+.cu-list.menu-avatar>.cu-item .action view+view {
+	margin-top: 10upx
+}
+
+.cu-list.menu-avatar.comment>.cu-item .content {
+	position: relative;
+	left: 0;
+	width: auto;
+	flex: 1;
+}
+
+.cu-list.menu-avatar.comment>.cu-item {
+	padding: 30upx 30upx 30upx 120upx;
+	height: auto
+}
+
+.cu-list.menu-avatar.comment .cu-avatar {
+	align-self: flex-start
+}
+
+.cu-list.menu>.cu-item {
+	position: relative;
+	display: flex;
+	padding: 0 30upx;
+	min-height: 100upx;
+	background-color: #ffffff;
+	justify-content: space-between;
+	align-items: center
+}
+
+.cu-list.menu>.cu-item:last-child:after {
+	border: none
+}
+
+.cu-list.menu-avatar>.cu-item:after,
+.cu-list.menu>.cu-item:after {
+	position: absolute;
+	top: 0;
+	left: 0;
+	box-sizing: border-box;
+	width: 200%;
+	height: 200%;
+	border-bottom: 1upx solid #ddd;
+	border-radius: inherit;
+	content: " ";
+	transform: scale(.5);
+	transform-origin: 0 0;
+	pointer-events: none
+}
+
+.cu-list.menu>.cu-item.grayscale {
+	background-color: #f5f5f5
+}
+
+.cu-list.menu>.cu-item.cur {
+	background-color: #fcf7e9
+}
+
+.cu-list.menu>.cu-item.arrow {
+	padding-right: 90upx
+}
+
+.cu-list.menu>.cu-item.arrow:before {
+	position: absolute;
+	top: 0;
+	right: 30upx;
+	bottom: 0;
+	display: block;
+	margin: auto;
+	width: 30upx;
+	height: 30upx;
+	color: #8799a3;
+	content: "\e6a3";
+	text-align: center;
+	font-size: 34upx;
+	font-family: cuIcon;
+	line-height: 30upx
+}
+
+.cu-list.menu>.cu-item button.content {
+	padding: 0;
+	background-color: transparent;
+	justify-content: flex-start
+}
+
+.cu-list.menu>.cu-item button.content:after {
+	display: none
+}
+
+.cu-list.menu>.cu-item .cu-avatar-group .cu-avatar {
+	border-color: #ffffff
+}
+
+.cu-list.menu>.cu-item .content>view:first-child {
+	display: flex;
+	align-items: center
+}
+
+.cu-list.menu>.cu-item .content>text[class*=cuIcon] {
+	display: inline-block;
+	margin-right: 10upx;
+	width: 1.6em;
+	text-align: center
+}
+
+.cu-list.menu>.cu-item .content>image {
+	display: inline-block;
+	margin-right: 10upx;
+	width: 1.6em;
+	height: 1.6em;
+	vertical-align: middle
+}
+
+.cu-list.menu>.cu-item .content {
+	font-size: 30upx;
+	line-height: 1.6em;
+	flex: 1
+}
+
+.cu-list.menu>.cu-item .content .cu-tag.sm {
+	display: inline-block;
+	margin-left: 10upx;
+	height: 28upx;
+	font-size: 16upx;
+	line-height: 32upx
+}
+
+.cu-list.menu>.cu-item .action .cu-tag:empty {
+	right: 10upx
+}
+
+.cu-list.menu {
+	display: block;
+	overflow: hidden
+}
+
+.cu-list.menu.sm-border>.cu-item:after {
+	left: 30upx;
+	width: calc(200% - 120upx)
+}
+
+.cu-list.grid>.cu-item {
+	position: relative;
+	display: flex;
+	padding: 20upx 0 30upx;
+	transition-duration: 0s;
+	flex-direction: column
+}
+
+.cu-list.grid>.cu-item:after {
+	position: absolute;
+	top: 0;
+	left: 0;
+	box-sizing: border-box;
+	width: 200%;
+	height: 200%;
+	border-right: 1px solid rgba(0, 0, 0, .1);
+	border-bottom: 1px solid rgba(0, 0, 0, .1);
+	border-radius: inherit;
+	content: " ";
+	transform: scale(.5);
+	transform-origin: 0 0;
+	pointer-events: none
+}
+
+.cu-list.grid>.cu-item text {
+	display: block;
+	margin-top: 10upx;
+	color: #888;
+	font-size: 26upx;
+	line-height: 40upx
+}
+
+.cu-list.grid>.cu-item [class*=cuIcon] {
+	position: relative;
+	display: block;
+	margin-top: 20upx;
+	width: 100%;
+	font-size: 48upx
+}
+
+.cu-list.grid>.cu-item .cu-tag {
+	right: auto;
+	left: 50%;
+	margin-left: 20upx
+}
+
+.cu-list.grid {
+	background-color: #ffffff;
+	text-align: center
+}
+
+.cu-list.grid.no-border>.cu-item {
+	padding-top: 10upx;
+	padding-bottom: 20upx
+}
+
+.cu-list.grid.no-border>.cu-item:after {
+	border: none
+}
+
+.cu-list.grid.no-border {
+	padding: 20upx 10upx
+}
+
+.cu-list.grid.col-3>.cu-item:nth-child(3n):after,
+.cu-list.grid.col-4>.cu-item:nth-child(4n):after,
+.cu-list.grid.col-5>.cu-item:nth-child(5n):after {
+	border-right-width: 0
+}
+
+.cu-list.card-menu {
+	overflow: hidden;
+	margin-right: 30upx;
+	margin-left: 30upx;
+	border-radius: 20upx
+}
+
+
+/* ==================
+          操作条
+ ==================== */
+
+.cu-bar {
+	display: flex;
+	position: relative;
+	align-items: center;
+	min-height: 100upx;
+	justify-content: space-between;
+}
+
+.cu-bar .action {
+	display: flex;
+	align-items: center;
+	height: 100%;
+	justify-content: center;
+	max-width: 100%;
+}
+
+.cu-bar .action.border-title {
+	position: relative;
+	top: -10upx;
+}
+
+.cu-bar .action.border-title text[class*="bg-"]:last-child {
+	position: absolute;
+	bottom: -0.5rem;
+	min-width: 2rem;
+	height: 6upx;
+	left: 0;
+}
+
+.cu-bar .action.sub-title {
+	position: relative;
+	top: -0.2rem;
+}
+
+.cu-bar .action.sub-title text {
+	position: relative;
+	z-index: 1;
+}
+
+.cu-bar .action.sub-title text[class*="bg-"]:last-child {
+	position: absolute;
+	display: inline-block;
+	bottom: -0.2rem;
+	border-radius: 6upx;
+	width: 100%;
+	height: 0.6rem;
+	left: 0.6rem;
+	opacity: 0.3;
+	z-index: 0;
+}
+
+.cu-bar .action.sub-title text[class*="text-"]:last-child {
+	position: absolute;
+	display: inline-block;
+	bottom: -0.7rem;
+	left: 0.5rem;
+	opacity: 0.2;
+	z-index: 0;
+	text-align: right;
+	font-weight: 900;
+	font-size: 36upx;
+}
+
+.cu-bar.justify-center .action.border-title text:last-child,
+.cu-bar.justify-center .action.sub-title text:last-child {
+	left: 0;
+	right: 0;
+	margin: auto;
+	text-align: center;
+}
+
+.cu-bar .action:first-child {
+	margin-left: 30upx;
+	font-size: 30upx;
+}
+
+.cu-bar .action text.text-cut {
+	text-align: left;
+	width: 100%;
+}
+
+.cu-bar .cu-avatar:first-child {
+	margin-left: 20upx;
+}
+
+.cu-bar .action:first-child>text[class*="cuIcon-"] {
+	margin-left: -0.3em;
+	margin-right: 0.3em;
+}
+
+.cu-bar .action:last-child {
+	margin-right: 30upx;
+}
+
+.cu-bar .action>text[class*="cuIcon-"],
+.cu-bar .action>view[class*="cuIcon-"] {
+	font-size: 36upx;
+}
+
+.cu-bar .action>text[class*="cuIcon-"]+text[class*="cuIcon-"] {
+	margin-left: 0.5em;
+}
+
+.cu-bar .content {
+	position: absolute;
+	text-align: center;
+	width: calc(100% - 340upx);
+	left: 0;
+	right: 0;
+	bottom: 0;
+	top: 0;
+	margin: auto;
+	height: 60upx;
+	font-size: 32upx;
+	line-height: 60upx;
+	cursor: none;
+	pointer-events: none;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	overflow: hidden;
+}
+
+.cu-bar.ios .content {
+	bottom: 7px;
+	height: 30px;
+	font-size: 32upx;
+	line-height: 30px;
+}
+
+.cu-bar.btn-group {
+	justify-content: space-around;
+}
+
+.cu-bar.btn-group button {
+	padding: 20upx 32upx;
+}
+
+.cu-bar.btn-group button {
+	flex: 1;
+	margin: 0 20upx;
+	max-width: 50%;
+}
+
+.cu-bar .search-form {
+	background-color: #f5f5f5;
+	line-height: 64upx;
+	height: 64upx;
+	font-size: 24upx;
+	color: #333333;
+	flex: 1;
+	display: flex;
+	align-items: center;
+	margin: 0 30upx;
+}
+
+.cu-bar .search-form+.action {
+	margin-right: 30upx;
+}
+
+.cu-bar .search-form input {
+	flex: 1;
+	padding-right: 30upx;
+	height: 64upx;
+	line-height: 64upx;
+	font-size: 26upx;
+	background-color: transparent;
+}
+
+.cu-bar .search-form [class*="cuIcon-"] {
+	margin: 0 0.5em 0 0.8em;
+}
+
+.cu-bar .search-form [class*="cuIcon-"]::before {
+	top: 0upx;
+}
+
+.cu-bar.fixed,
+.nav.fixed {
+	position: fixed;
+	width: 100%;
+	top: 0;
+	z-index: 1024;
+	box-shadow: 0 1upx 6upx rgba(0, 0, 0, 0.1);
+}
+
+.cu-bar.foot {
+	position: fixed;
+	width: 100%;
+	bottom: 0;
+	z-index: 1024;
+	box-shadow: 0 -1upx 6upx rgba(0, 0, 0, 0.1);
+}
+
+.cu-bar.tabbar {
+	padding: 0;
+	height: calc(100upx + env(safe-area-inset-bottom) / 2);
+	padding-bottom: calc(env(safe-area-inset-bottom) / 2);
+}
+
+.cu-tabbar-height {
+	min-height: 100upx;
+	height: calc(100upx + env(safe-area-inset-bottom) / 2);
+}
+
+.cu-bar.tabbar.shadow {
+	box-shadow: 0 -1upx 6upx rgba(0, 0, 0, 0.1);
+}
+
+.cu-bar.tabbar .action {
+	font-size: 22upx;
+	position: relative;
+	flex: 1;
+	text-align: center;
+	padding: 0;
+	display: block;
+	height: auto;
+	line-height: 1;
+	margin: 0;
+	background-color: inherit;
+	overflow: initial;
+}
+
+.cu-bar.tabbar.shop .action {
+	width: 140upx;
+	flex: initial;
+}
+
+.cu-bar.tabbar .action.add-action {
+	position: relative;
+	z-index: 2;
+	padding-top: 50upx;
+}
+
+.cu-bar.tabbar .action.add-action [class*="cuIcon-"] {
+	position: absolute;
+	width: 70upx;
+	z-index: 2;
+	height: 70upx;
+	border-radius: 50%;
+	line-height: 70upx;
+	font-size: 50upx;
+	top: -35upx;
+	left: 0;
+	right: 0;
+	margin: auto;
+	padding: 0;
+}
+
+.cu-bar.tabbar .action.add-action::after {
+	content: "";
+	position: absolute;
+	width: 100upx;
+	height: 100upx;
+	top: -50upx;
+	left: 0;
+	right: 0;
+	margin: auto;
+	box-shadow: 0 -3upx 8upx rgba(0, 0, 0, 0.08);
+	border-radius: 50upx;
+	background-color: inherit;
+	z-index: 0;
+}
+
+.cu-bar.tabbar .action.add-action::before {
+	content: "";
+	position: absolute;
+	width: 100upx;
+	height: 30upx;
+	bottom: 30upx;
+	left: 0;
+	right: 0;
+	margin: auto;
+	background-color: inherit;
+	z-index: 1;
+}
+
+.cu-bar.tabbar .btn-group {
+	flex: 1;
+	display: flex;
+	justify-content: space-around;
+	align-items: center;
+	padding: 0 10upx;
+}
+
+.cu-bar.tabbar button.action::after {
+	border: 0;
+}
+
+.cu-bar.tabbar .action [class*="cuIcon-"] {
+	width: 100upx;
+	position: relative;
+	display: block;
+	height: auto;
+	margin: 0 auto 10upx;
+	text-align: center;
+	font-size: 40upx;
+}
+
+.cu-bar.tabbar .action .cuIcon-cu-image {
+	margin: 0 auto;
+}
+
+.cu-bar.tabbar .action .cuIcon-cu-image image {
+	width: 50upx;
+	height: 50upx;
+	display: inline-block;
+}
+
+.cu-bar.tabbar .submit {
+	align-items: center;
+	display: flex;
+	justify-content: center;
+	text-align: center;
+	position: relative;
+	flex: 2;
+	align-self: stretch;
+}
+
+.cu-bar.tabbar .submit:last-child {
+	flex: 2.6;
+}
+
+.cu-bar.tabbar .submit+.submit {
+	flex: 2;
+}
+
+.cu-bar.tabbar.border .action::before {
+	content: " ";
+	width: 200%;
+	height: 200%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	border-right: 1upx solid rgba(0, 0, 0, 0.1);
+	z-index: 3;
+}
+
+.cu-bar.tabbar.border .action:last-child:before {
+	display: none;
+}
+
+.cu-bar.input {
+	padding-right: 20upx;
+	background-color: #ffffff;
+}
+
+.cu-bar.input input {
+	overflow: initial;
+	line-height: 64upx;
+	height: 64upx;
+	min-height: 64upx;
+	flex: 1;
+	font-size: 30upx;
+	margin: 0 20upx;
+}
+
+.cu-bar.input .action {
+	margin-left: 20upx;
+}
+
+.cu-bar.input .action [class*="cuIcon-"] {
+	font-size: 48upx;
+}
+
+.cu-bar.input input+.action {
+	margin-right: 20upx;
+	margin-left: 0upx;
+}
+
+.cu-bar.input .action:first-child [class*="cuIcon-"] {
+	margin-left: 0upx;
+}
+
+.cu-custom {
+	display: block;
+	position: relative;
+}
+
+.cu-custom .cu-bar .content {
+	width: calc(100% - 440upx);
+}
+
+/* #ifdef MP-ALIPAY */
+.cu-custom .cu-bar .action .cuIcon-back {
+	opacity: 0;
+}
+
+/* #endif */
+
+.cu-custom .cu-bar .content image {
+	height: 60upx;
+	width: 240upx;
+}
+
+.cu-custom .cu-bar {
+	min-height: 0px;
+	/* #ifdef MP-WEIXIN */
+	padding-right: 220upx;
+	/* #endif */
+	/* #ifdef MP-ALIPAY */
+	padding-right: 150upx;
+	/* #endif */
+	box-shadow: 0upx 0upx 0upx;
+	z-index: 9999;
+}
+
+.cu-custom .cu-bar .border-custom {
+	position: relative;
+	background: rgba(0, 0, 0, 0.15);
+	border-radius: 1000upx;
+	height: 30px;
+}
+
+.cu-custom .cu-bar .border-custom::after {
+	content: " ";
+	width: 200%;
+	height: 200%;
+	position: absolute;
+	top: 0;
+	left: 0;
+	border-radius: inherit;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	pointer-events: none;
+	box-sizing: border-box;
+	border: 1upx solid #ffffff;
+	opacity: 0.5;
+}
+
+.cu-custom .cu-bar .border-custom::before {
+	content: " ";
+	width: 1upx;
+	height: 110%;
+	position: absolute;
+	top: 22.5%;
+	left: 0;
+	right: 0;
+	margin: auto;
+	transform: scale(0.5);
+	transform-origin: 0 0;
+	pointer-events: none;
+	box-sizing: border-box;
+	opacity: 0.6;
+	background-color: #ffffff;
+}
+
+.cu-custom .cu-bar .border-custom text {
+	display: block;
+	flex: 1;
+	margin: auto !important;
+	text-align: center;
+	font-size: 34upx;
+}
+
+/* ==================
+         导航栏
+ ==================== */
+
+.nav {
+	white-space: nowrap;
+}
+
+::-webkit-scrollbar {
+	display: none;
+}
+
+.nav .cu-item {
+	height: 90upx;
+	display: inline-block;
+	line-height: 90upx;
+	margin: 0 10upx;
+	padding: 0 20upx;
+}
+
+.nav .cu-item.cur {
+	border-bottom: 4upx solid;
+}
+
+/* ==================
+         时间轴
+ ==================== */
+
+.cu-timeline {
+	display: block;
+	background-color: #ffffff;
+}
+
+.cu-timeline .cu-time {
+	width: 120upx;
+	text-align: center;
+	padding: 20upx 0;
+	font-size: 26upx;
+	color: #888;
+	display: block;
+}
+
+.cu-timeline>.cu-item {
+	padding: 30upx 30upx 30upx 120upx;
+	position: relative;
+	display: block;
+	z-index: 0;
+}
+
+.cu-timeline>.cu-item:not([class*="text-"]) {
+	color: #ccc;
+}
+
+.cu-timeline>.cu-item::after {
+	content: "";
+	display: block;
+	position: absolute;
+	width: 1upx;
+	background-color: #ddd;
+	left: 60upx;
+	height: 100%;
+	top: 0;
+	z-index: 8;
+}
+
+.cu-timeline>.cu-item::before {
+	font-family: "cuIcon";
+	display: block;
+	position: absolute;
+	top: 36upx;
+	z-index: 9;
+	background-color: #ffffff;
+	width: 50upx;
+	height: 50upx;
+	text-align: center;
+	border: none;
+	line-height: 50upx;
+	left: 36upx;
+}
+
+.cu-timeline>.cu-item:not([class*="cuIcon-"])::before {
+	content: "\e763";
+}
+
+.cu-timeline>.cu-item[class*="cuIcon-"]::before {
+	background-color: #ffffff;
+	width: 50upx;
+	height: 50upx;
+	text-align: center;
+	border: none;
+	line-height: 50upx;
+	left: 36upx;
+}
+
+.cu-timeline>.cu-item>.content {
+	padding: 30upx;
+	border-radius: 6upx;
+	display: block;
+	line-height: 1.6;
+}
+
+.cu-timeline>.cu-item>.content:not([class*="bg-"]) {
+	background-color: #f1f1f1;
+	color: #333333;
+}
+
+.cu-timeline>.cu-item>.content+.content {
+	margin-top: 20upx;
+}
+
+/* ==================
+         聊天
+ ==================== */
+
+.cu-chat {
+	display: flex;
+	flex-direction: column;
+}
+
+.cu-chat .cu-item {
+	display: flex;
+	padding: 30upx 30upx 70upx;
+	position: relative;
+}
+
+.cu-chat .cu-item>.cu-avatar {
+	width: 80upx;
+	height: 80upx;
+}
+
+.cu-chat .cu-item>.main {
+	max-width: calc(100% - 260upx);
+	margin: 0 40upx;
+	display: flex;
+	align-items: center;
+}
+
+.cu-chat .cu-item>image {
+	height: 320upx;
+}
+
+.cu-chat .cu-item>.main .content {
+	padding: 20upx;
+	border-radius: 6upx;
+	display: inline-flex;
+	max-width: 100%;
+	align-items: center;
+	font-size: 30upx;
+	position: relative;
+	min-height: 80upx;
+	line-height: 40upx;
+	text-align: left;
+}
+
+.cu-chat .cu-item>.main .content:not([class*="bg-"]) {
+	background-color: #ffffff;
+	color: #333333;
+}
+
+.cu-chat .cu-item .date {
+	position: absolute;
+	font-size: 24upx;
+	color: #8799a3;
+	width: calc(100% - 320upx);
+	bottom: 20upx;
+	left: 160upx;
+}
+
+.cu-chat .cu-item .action {
+	padding: 0 30upx;
+	display: flex;
+	align-items: center;
+}
+
+.cu-chat .cu-item>.main .content::after {
+	content: "";
+	top: 27upx;
+	transform: rotate(45deg);
+	position: absolute;
+	z-index: 100;
+	display: inline-block;
+	overflow: hidden;
+	width: 24upx;
+	height: 24upx;
+	left: -12upx;
+	right: initial;
+	background-color: inherit;
+}
+
+.cu-chat .cu-item.self>.main .content::after {
+	left: auto;
+	right: -12upx;
+}
+
+.cu-chat .cu-item>.main .content::before {
+	content: "";
+	top: 30upx;
+	transform: rotate(45deg);
+	position: absolute;
+	z-index: -1;
+	display: inline-block;
+	overflow: hidden;
+	width: 24upx;
+	height: 24upx;
+	left: -12upx;
+	right: initial;
+	background-color: inherit;
+	filter: blur(5upx);
+	opacity: 0.3;
+}
+
+.cu-chat .cu-item>.main .content:not([class*="bg-"])::before {
+	background-color: #333333;
+	opacity: 0.1;
+}
+
+.cu-chat .cu-item.self>.main .content::before {
+	left: auto;
+	right: -12upx;
+}
+
+.cu-chat .cu-item.self {
+	justify-content: flex-end;
+	text-align: right;
+}
+
+.cu-chat .cu-info {
+	display: inline-block;
+	margin: 20upx auto;
+	font-size: 24upx;
+	padding: 8upx 12upx;
+	background-color: rgba(0, 0, 0, 0.2);
+	border-radius: 6upx;
+	color: #ffffff;
+	max-width: 400upx;
+	line-height: 1.4;
+}
+
+/* ==================
+         卡片
+ ==================== */
+
+.cu-card {
+	display: block;
+	overflow: hidden;
+}
+
+.cu-card>.cu-item {
+	display: block;
+	background-color: #ffffff;
+	overflow: hidden;
+	border-radius: 10upx;
+	margin: 30upx;
+}
+
+.cu-card>.cu-item.shadow-blur {
+	overflow: initial;
+}
+
+.cu-card.no-card>.cu-item {
+	margin: 0upx;
+	border-radius: 0upx;
+}
+
+.cu-card .grid.grid-square {
+	margin-bottom: -20upx;
+}
+
+.cu-card.case .image {
+	position: relative;
+}
+
+.cu-card.case .image image {
+	width: 100%;
+}
+
+.cu-card.case .image .cu-tag {
+	position: absolute;
+	right: 0;
+	top: 0;
+}
+
+.cu-card.case .image .cu-bar {
+	position: absolute;
+	bottom: 0;
+	width: 100%;
+	background-color: transparent;
+	padding: 0upx 30upx;
+}
+
+.cu-card.case.no-card .image {
+	margin: 30upx 30upx 0;
+	overflow: hidden;
+	border-radius: 10upx;
+}
+
+.cu-card.dynamic {
+	display: block;
+}
+
+.cu-card.dynamic>.cu-item {
+	display: block;
+	background-color: #ffffff;
+	overflow: hidden;
+}
+
+.cu-card.dynamic>.cu-item>.text-content {
+	padding: 0 30upx 0;
+	max-height: 6.4em;
+	overflow: hidden;
+	font-size: 30upx;
+	margin-bottom: 20upx;
+}
+
+.cu-card.dynamic>.cu-item .square-img {
+	width: 100%;
+	height: 200upx;
+	border-radius: 6upx;
+}
+
+.cu-card.dynamic>.cu-item .only-img {
+	width: 100%;
+	height: 320upx;
+	border-radius: 6upx;
+}
+
+/* card.dynamic>.cu-item .comment {
+  padding: 20upx;
+  background-color: #f1f1f1;
+  margin: 0 30upx 30upx;
+  border-radius: 6upx;
+} */
+
+.cu-card.article {
+	display: block;
+}
+
+.cu-card.article>.cu-item {
+	padding-bottom: 30upx;
+}
+
+.cu-card.article>.cu-item .title {
+	font-size: 30upx;
+	font-weight: 900;
+	color: #333333;
+	line-height: 100upx;
+	padding: 0 30upx;
+}
+
+.cu-card.article>.cu-item .content {
+	display: flex;
+	padding: 0 30upx;
+}
+
+.cu-card.article>.cu-item .content>image {
+	width: 240upx;
+	height: 6.4em;
+	margin-right: 20upx;
+	border-radius: 6upx;
+}
+
+.cu-card.article>.cu-item .content .desc {
+	flex: 1;
+	display: flex;
+	flex-direction: column;
+	justify-content: space-between;
+}
+
+.cu-card.article>.cu-item .content .text-content {
+	font-size: 28upx;
+	color: #888;
+	height: 4.8em;
+	overflow: hidden;
+}
+
+/* ==================
+         表单
+ ==================== */
+
+.cu-form-group {
+	background-color: #ffffff;
+	padding: 1upx 30upx;
+	display: flex;
+	align-items: center;
+	min-height: 100upx;
+	justify-content: space-between;
+}
+
+.cu-form-group+.cu-form-group {
+	border-top: 1upx solid #eee;
+}
+
+.cu-form-group .title {
+	text-align: justify;
+	padding-right: 30upx;
+	font-size: 30upx;
+	position: relative;
+	height: 60upx;
+	line-height: 60upx;
+}
+
+.cu-form-group input {
+	flex: 1;
+	font-size: 30upx;
+	color: #555;
+	padding-right: 20upx;
+}
+
+.cu-form-group>text[class*="cuIcon-"] {
+	font-size: 36upx;
+	padding: 0;
+	box-sizing: border-box;
+}
+
+.cu-form-group textarea {
+	margin: 32upx 0 30upx;
+	height: 4.6em;
+	width: 100%;
+	line-height: 1.2em;
+	flex: 1;
+	font-size: 28upx;
+	padding: 0;
+}
+
+.cu-form-group.align-start .title {
+	height: 1em;
+	margin-top: 32upx;
+	line-height: 1em;
+}
+
+.cu-form-group picker {
+	flex: 1;
+	padding-right: 40upx;
+	overflow: hidden;
+	position: relative;
+}
+
+.cu-form-group picker .picker {
+	line-height: 100upx;
+	font-size: 28upx;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	overflow: hidden;
+	width: 100%;
+	text-align: right;
+}
+
+.cu-form-group picker::after {
+	font-family: cuIcon;
+	display: block;
+	content: "\e6a3";
+	position: absolute;
+	font-size: 34upx;
+	color: #8799a3;
+	line-height: 100upx;
+	width: 60upx;
+	text-align: center;
+	top: 0;
+	bottom: 0;
+	right: -20upx;
+	margin: auto;
+}
+
+.cu-form-group textarea[disabled],
+.cu-form-group textarea[disabled] .placeholder {
+	color: transparent;
+}
+
+/* ==================
+         模态窗口
+ ==================== */
+
+.cu-modal {
+	position: fixed;
+	top: 0;
+	right: 0;
+	bottom: 0;
+	left: 0;
+	z-index: 1110;
+	opacity: 0;
+	outline: 0;
+	text-align: center;
+	-ms-transform: scale(1.185);
+	transform: scale(1.185);
+	backface-visibility: hidden;
+	perspective: 2000upx;
+	background: rgba(0, 0, 0, 0.6);
+	transition: all 0.3s ease-in-out 0s;
+	pointer-events: none;
+}
+
+.cu-modal::before {
+	content: "\200B";
+	display: inline-block;
+	height: 100%;
+	vertical-align: middle;
+}
+
+.cu-modal.show {
+	opacity: 1;
+	transition-duration: 0.3s;
+	-ms-transform: scale(1);
+	transform: scale(1);
+	overflow-x: hidden;
+	overflow-y: auto;
+	pointer-events: auto;
+}
+
+.cu-dialog {
+	position: relative;
+	display: inline-block;
+	vertical-align: middle;
+	margin-left: auto;
+	margin-right: auto;
+	width: 680upx;
+	max-width: 100%;
+	background-color: #f8f8f8;
+	border-radius: 10upx;
+	overflow: hidden;
+}
+
+.cu-modal.bottom-modal::before {
+	vertical-align: bottom;
+}
+
+.cu-modal.bottom-modal .cu-dialog {
+	width: 100%;
+	border-radius: 0;
+}
+
+.cu-modal.bottom-modal {
+	margin-bottom: -1000upx;
+}
+
+.cu-modal.bottom-modal.show {
+	margin-bottom: 0;
+}
+
+.cu-modal.drawer-modal {
+	transform: scale(1);
+	display: flex;
+}
+
+.cu-modal.drawer-modal .cu-dialog {
+	height: 100%;
+	min-width: 200upx;
+	border-radius: 0;
+	margin: initial;
+	transition-duration: 0.3s;
+}
+
+.cu-modal.drawer-modal.justify-start .cu-dialog {
+	transform: translateX(-100%);
+}
+
+.cu-modal.drawer-modal.justify-end .cu-dialog {
+	transform: translateX(100%);
+}
+
+.cu-modal.drawer-modal.show .cu-dialog {
+	transform: translateX(0%);
+}
+.cu-modal .cu-dialog>.cu-bar:first-child .action{
+  min-width: 100upx;
+  margin-right: 0;
+  min-height: 100upx;
+}
+/* ==================
+         轮播
+ ==================== */
+swiper .a-swiper-dot {
+	display: inline-block;
+	width: 16upx;
+	height: 16upx;
+	background: rgba(0, 0, 0, .3);
+	border-radius: 50%;
+	vertical-align: middle;
+}
+
+swiper[class*="-dot"] .wx-swiper-dots,
+swiper[class*="-dot"] .a-swiper-dots,
+swiper[class*="-dot"] .uni-swiper-dots {
+	display: flex;
+	align-items: center;
+	width: 100%;
+	justify-content: center;
+}
+
+swiper.square-dot .wx-swiper-dot,
+swiper.square-dot .a-swiper-dot,
+swiper.square-dot .uni-swiper-dot {
+	background-color: #ffffff;
+	opacity: 0.4;
+	width: 10upx;
+	height: 10upx;
+	border-radius: 20upx;
+	margin: 0 8upx !important;
+}
+
+swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active,
+swiper.square-dot .a-swiper-dot.a-swiper-dot-active,
+swiper.square-dot .uni-swiper-dot.uni-swiper-dot-active {
+	opacity: 1;
+	width: 30upx;
+}
+
+swiper.round-dot .wx-swiper-dot,
+swiper.round-dot .a-swiper-dot,
+swiper.round-dot .uni-swiper-dot {
+	width: 10upx;
+	height: 10upx;
+	position: relative;
+	margin: 4upx 8upx !important;
+}
+
+swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after,
+swiper.round-dot .a-swiper-dot.a-swiper-dot-active::after,
+swiper.round-dot .uni-swiper-dot.uni-swiper-dot-active::after {
+	content: "";
+	position: absolute;
+	width: 10upx;
+	height: 10upx;
+	top: 0upx;
+	left: 0upx;
+	right: 0;
+	bottom: 0;
+	margin: auto;
+	background-color: #ffffff;
+	border-radius: 20upx;
+}
+
+swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active,
+swiper.round-dot .a-swiper-dot.a-swiper-dot-active,
+swiper.round-dot .uni-swiper-dot.uni-swiper-dot-active {
+	width: 18upx;
+	height: 18upx;
+}
+
+.screen-swiper {
+	min-height: 375upx;
+}
+
+.screen-swiper image,
+.screen-swiper video,
+.swiper-item image,
+.swiper-item video {
+	width: 100%;
+	display: block;
+	height: 100%;
+	margin: 0;
+	pointer-events: none;
+}
+
+.card-swiper {
+	height: 420upx !important;
+}
+
+.card-swiper swiper-item {
+	width: 610upx !important;
+	left: 70upx;
+	box-sizing: border-box;
+	padding: 40upx 0upx 70upx;
+	overflow: initial;
+}
+
+.card-swiper swiper-item .swiper-item {
+	width: 100%;
+	display: block;
+	height: 100%;
+	border-radius: 10upx;
+	transform: scale(0.9);
+	transition: all 0.2s ease-in 0s;
+	overflow: hidden;
+}
+
+.card-swiper swiper-item.cur .swiper-item {
+	transform: none;
+	transition: all 0.2s ease-in 0s;
+}
+
+
+.tower-swiper {
+	height: 420upx;
+	position: relative;
+	max-width: 750upx;
+	overflow: hidden;
+}
+
+.tower-swiper .tower-item {
+	position: absolute;
+	width: 300upx;
+	height: 380upx;
+	top: 0;
+	bottom: 0;
+	left: 50%;
+	margin: auto;
+	transition: all 0.2s ease-in 0s;
+	opacity: 1;
+}
+
+.tower-swiper .tower-item.none {
+	opacity: 0;
+}
+
+.tower-swiper .tower-item .swiper-item {
+	width: 100%;
+	height: 100%;
+	border-radius: 6upx;
+	overflow: hidden;
+}
+
+/* ==================
+          步骤条
+ ==================== */
+
+.cu-steps {
+	display: flex;
+}
+
+scroll-view.cu-steps {
+	display: block;
+	white-space: nowrap;
+}
+
+scroll-view.cu-steps .cu-item {
+	display: inline-block;
+}
+
+.cu-steps .cu-item {
+	flex: 1;
+	text-align: center;
+	position: relative;
+	min-width: 100upx;
+}
+
+.cu-steps .cu-item:not([class*="text-"]) {
+	color: #8799a3;
+}
+
+.cu-steps .cu-item [class*="cuIcon-"],
+.cu-steps .cu-item .num {
+	display: block;
+	font-size: 40upx;
+	line-height: 80upx;
+}
+
+.cu-steps .cu-item::before,
+.cu-steps .cu-item::after,
+.cu-steps.steps-arrow .cu-item::before,
+.cu-steps.steps-arrow .cu-item::after {
+	content: "";
+	display: block;
+	position: absolute;
+	height: 0px;
+	width: calc(100% - 80upx);
+	border-bottom: 1px solid #ccc;
+	left: calc(0px - (100% - 80upx) / 2);
+	top: 40upx;
+	z-index: 0;
+}
+
+.cu-steps.steps-arrow .cu-item::before,
+.cu-steps.steps-arrow .cu-item::after {
+	content: "\e6a3";
+	font-family: 'cuIcon';
+	height: 30upx;
+	border-bottom-width: 0px;
+	line-height: 30upx;
+	top: 0;
+	bottom: 0;
+	margin: auto;
+	color: #ccc;
+}
+
+.cu-steps.steps-bottom .cu-item::before,
+.cu-steps.steps-bottom .cu-item::after {
+	bottom: 40upx;
+	top: initial;
+}
+
+.cu-steps .cu-item::after {
+	border-bottom: 1px solid currentColor;
+	width: 0px;
+	transition: all 0.3s ease-in-out 0s;
+}
+
+.cu-steps .cu-item[class*="text-"]::after {
+	width: calc(100% - 80upx);
+	color: currentColor;
+}
+
+.cu-steps .cu-item:first-child::before,
+.cu-steps .cu-item:first-child::after {
+	display: none;
+}
+
+.cu-steps .cu-item .num {
+	width: 40upx;
+	height: 40upx;
+	border-radius: 50%;
+	line-height: 40upx;
+	margin: 20upx auto;
+	font-size: 24upx;
+	border: 1px solid currentColor;
+	position: relative;
+	overflow: hidden;
+}
+
+.cu-steps .cu-item[class*="text-"] .num {
+	background-color: currentColor;
+}
+
+.cu-steps .cu-item .num::before,
+.cu-steps .cu-item .num::after {
+	content: attr(data-index);
+	position: absolute;
+	left: 0;
+	right: 0;
+	top: 0;
+	bottom: 0;
+	margin: auto;
+	transition: all 0.3s ease-in-out 0s;
+	transform: translateY(0upx);
+}
+
+.cu-steps .cu-item[class*="text-"] .num::before {
+	transform: translateY(-40upx);
+	color: #ffffff;
+}
+
+.cu-steps .cu-item .num::after {
+	transform: translateY(40upx);
+	color: #ffffff;
+	transition: all 0.3s ease-in-out 0s;
+}
+
+.cu-steps .cu-item[class*="text-"] .num::after {
+	content: "\e645";
+	font-family: 'cuIcon';
+	color: #ffffff;
+	transform: translateY(0upx);
+}
+
+.cu-steps .cu-item[class*="text-"] .num.err::after {
+	content: "\e646";
+}
+
+/* ==================
+          布局
+ ==================== */
+
+/*  -- flex弹性布局 -- */
+
+.flex {
+	display: flex;
+}
+
+.basis-xs {
+	flex-basis: 20%;
+}
+
+.basis-sm {
+	flex-basis: 40%;
+}
+
+.basis-df {
+	flex-basis: 50%;
+}
+
+.basis-lg {
+	flex-basis: 60%;
+}
+
+.basis-xl {
+	flex-basis: 80%;
+}
+
+.flex-sub {
+	flex: 1;
+}
+
+.flex-twice {
+	flex: 2;
+}
+
+.flex-treble {
+	flex: 3;
+}
+
+.flex-direction {
+	flex-direction: column;
+}
+
+.flex-wrap {
+	flex-wrap: wrap;
+}
+
+.align-start {
+	align-items: flex-start;
+}
+
+.align-end {
+	align-items: flex-end;
+}
+
+.align-center {
+	align-items: center;
+}
+
+.align-stretch {
+	align-items: stretch;
+}
+
+.self-start {
+	align-self: flex-start;
+}
+
+.self-center {
+	align-self: flex-center;
+}
+
+.self-end {
+	align-self: flex-end;
+}
+
+.self-stretch {
+	align-self: stretch;
+}
+
+.align-stretch {
+	align-items: stretch;
+}
+
+.justify-start {
+	justify-content: flex-start;
+}
+
+.justify-end {
+	justify-content: flex-end;
+}
+
+.justify-center {
+	justify-content: center;
+}
+
+.justify-between {
+	justify-content: space-between;
+}
+
+.justify-around {
+	justify-content: space-around;
+}
+
+/* grid布局 */
+
+.grid {
+	display: flex;
+	flex-wrap: wrap;
+}
+
+.grid.grid-square {
+	overflow: hidden;
+}
+
+.grid.grid-square .cu-tag {
+	position: absolute;
+	right: 0;
+	top: 0;
+	border-bottom-left-radius: 6upx;
+	padding: 6upx 12upx;
+	height: auto;
+	background-color: rgba(0, 0, 0, 0.5);
+}
+
+.grid.grid-square>view>text[class*="cuIcon-"] {
+	font-size: 52upx;
+	position: absolute;
+	color: #8799a3;
+	margin: auto;
+	top: 0;
+	bottom: 0;
+	left: 0;
+	right: 0;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	flex-direction: column;
+}
+
+.grid.grid-square>view {
+	margin-right: 20upx;
+	margin-bottom: 20upx;
+	border-radius: 6upx;
+	position: relative;
+	overflow: hidden;
+}
+.grid.grid-square>view.bg-img image {
+	width: 100%;
+	height: 100%;
+	position: absolute;
+}
+.grid.col-1.grid-square>view {
+	padding-bottom: 100%;
+	height: 0;
+	margin-right: 0;
+}
+
+.grid.col-2.grid-square>view {
+	padding-bottom: calc((100% - 20upx)/2);
+	height: 0;
+	width: calc((100% - 20upx)/2);
+}
+
+.grid.col-3.grid-square>view {
+	padding-bottom: calc((100% - 40upx)/3);
+	height: 0;
+	width: calc((100% - 40upx)/3);
+}
+
+.grid.col-4.grid-square>view {
+	padding-bottom: calc((100% - 60upx)/4);
+	height: 0;
+	width: calc((100% - 60upx)/4);
+}
+
+.grid.col-5.grid-square>view {
+	padding-bottom: calc((100% - 80upx)/5);
+	height: 0;
+	width: calc((100% - 80upx)/5);
+}
+
+.grid.col-2.grid-square>view:nth-child(2n),
+.grid.col-3.grid-square>view:nth-child(3n),
+.grid.col-4.grid-square>view:nth-child(4n),
+.grid.col-5.grid-square>view:nth-child(5n) {
+	margin-right: 0;
+}
+
+.grid.col-1>view {
+	width: 100%;
+}
+
+.grid.col-2>view {
+	width: 50%;
+}
+
+.grid.col-3>view {
+	width: 33.33%;
+}
+
+.grid.col-4>view {
+	width: 25%;
+}
+
+.grid.col-5>view {
+	width: 20%;
+}
+
+/*  -- 内外边距 -- */
+
+.margin-0 {
+	margin: 0;
+}
+
+.margin-xs {
+	margin: 10upx;
+}
+
+.margin-sm {
+	margin: 20upx;
+}
+
+.margin {
+	margin: 30upx;
+}
+
+.margin-lg {
+	margin: 40upx;
+}
+
+.margin-xl {
+	margin: 50upx;
+}
+
+.margin-top-xs {
+	margin-top: 10upx;
+}
+
+.margin-top-sm {
+	margin-top: 20upx;
+}
+
+.margin-top {
+	margin-top: 30upx;
+}
+
+.margin-top-lg {
+	margin-top: 40upx;
+}
+
+.margin-top-xl {
+	margin-top: 50upx;
+}
+
+.margin-right-xs {
+	margin-right: 10upx;
+}
+
+.margin-right-sm {
+	margin-right: 20upx;
+}
+
+.margin-right {
+	margin-right: 30upx;
+}
+
+.margin-right-lg {
+	margin-right: 40upx;
+}
+
+.margin-right-xl {
+	margin-right: 50upx;
+}
+
+.margin-bottom-xs {
+	margin-bottom: 10upx;
+}
+
+.margin-bottom-sm {
+	margin-bottom: 20upx;
+}
+
+.margin-bottom {
+	margin-bottom: 30upx;
+}
+
+.margin-bottom-lg {
+	margin-bottom: 40upx;
+}
+
+.margin-bottom-xl {
+	margin-bottom: 50upx;
+}
+
+.margin-left-xs {
+	margin-left: 10upx;
+}
+
+.margin-left-sm {
+	margin-left: 20upx;
+}
+
+.margin-left {
+	margin-left: 30upx;
+}
+
+.margin-left-lg {
+	margin-left: 40upx;
+}
+
+.margin-left-xl {
+	margin-left: 50upx;
+}
+
+.margin-lr-xs {
+	margin-left: 10upx;
+	margin-right: 10upx;
+}
+
+.margin-lr-sm {
+	margin-left: 20upx;
+	margin-right: 20upx;
+}
+
+.margin-lr {
+	margin-left: 30upx;
+	margin-right: 30upx;
+}
+
+.margin-lr-lg {
+	margin-left: 40upx;
+	margin-right: 40upx;
+}
+
+.margin-lr-xl {
+	margin-left: 50upx;
+	margin-right: 50upx;
+}
+
+.margin-tb-xs {
+	margin-top: 10upx;
+	margin-bottom: 10upx;
+}
+
+.margin-tb-sm {
+	margin-top: 20upx;
+	margin-bottom: 20upx;
+}
+
+.margin-tb {
+	margin-top: 30upx;
+	margin-bottom: 30upx;
+}
+
+.margin-tb-lg {
+	margin-top: 40upx;
+	margin-bottom: 40upx;
+}
+
+.margin-tb-xl {
+	margin-top: 50upx;
+	margin-bottom: 50upx;
+}
+
+.padding-0 {
+	padding: 0;
+}
+
+.padding-xs {
+	padding: 10upx;
+}
+
+.padding-sm {
+	padding: 20upx;
+}
+
+.padding {
+	padding: 30upx;
+}
+
+.padding-lg {
+	padding: 40upx;
+}
+
+.padding-xl {
+	padding: 50upx;
+}
+
+.padding-top-xs {
+	padding-top: 10upx;
+}
+
+.padding-top-sm {
+	padding-top: 20upx;
+}
+
+.padding-top {
+	padding-top: 30upx;
+}
+
+.padding-top-lg {
+	padding-top: 40upx;
+}
+
+.padding-top-xl {
+	padding-top: 50upx;
+}
+
+.padding-right-xs {
+	padding-right: 10upx;
+}
+
+.padding-right-sm {
+	padding-right: 20upx;
+}
+
+.padding-right {
+	padding-right: 30upx;
+}
+
+.padding-right-lg {
+	padding-right: 40upx;
+}
+
+.padding-right-xl {
+	padding-right: 50upx;
+}
+
+.padding-bottom-xs {
+	padding-bottom: 10upx;
+}
+
+.padding-bottom-sm {
+	padding-bottom: 20upx;
+}
+
+.padding-bottom {
+	padding-bottom: 30upx;
+}
+
+.padding-bottom-lg {
+	padding-bottom: 40upx;
+}
+
+.padding-bottom-xl {
+	padding-bottom: 50upx;
+}
+
+.padding-left-xs {
+	padding-left: 10upx;
+}
+
+.padding-left-sm {
+	padding-left: 20upx;
+}
+
+.padding-left {
+	padding-left: 30upx;
+}
+
+.padding-left-lg {
+	padding-left: 40upx;
+}
+
+.padding-left-xl {
+	padding-left: 50upx;
+}
+
+.padding-lr-xs {
+	padding-left: 10upx;
+	padding-right: 10upx;
+}
+
+.padding-lr-sm {
+	padding-left: 20upx;
+	padding-right: 20upx;
+}
+
+.padding-lr {
+	padding-left: 30upx;
+	padding-right: 30upx;
+}
+
+.padding-lr-lg {
+	padding-left: 40upx;
+	padding-right: 40upx;
+}
+
+.padding-lr-xl {
+	padding-left: 50upx;
+	padding-right: 50upx;
+}
+
+.padding-tb-xs {
+	padding-top: 10upx;
+	padding-bottom: 10upx;
+}
+
+.padding-tb-sm {
+	padding-top: 20upx;
+	padding-bottom: 20upx;
+}
+
+.padding-tb {
+	padding-top: 30upx;
+	padding-bottom: 30upx;
+}
+
+.padding-tb-lg {
+	padding-top: 40upx;
+	padding-bottom: 40upx;
+}
+
+.padding-tb-xl {
+	padding-top: 50upx;
+	padding-bottom: 50upx;
+}
+
+/* -- 浮动 --  */
+
+.cf::after,
+.cf::before {
+	content: " ";
+	display: table;
+}
+
+.cf::after {
+	clear: both;
+}
+
+.fl {
+	float: left;
+}
+
+.fr {
+	float: right;
+}
+
+/* ==================
+          背景
+ ==================== */
+
+.line-red::after,
+.lines-red::after {
+	border-color: #e54d42;
+}
+
+.line-orange::after,
+.lines-orange::after {
+	border-color: #f37b1d;
+}
+
+.line-yellow::after,
+.lines-yellow::after {
+	border-color: #fbbd08;
+}
+
+.line-olive::after,
+.lines-olive::after {
+	border-color: #8dc63f;
+}
+
+.line-green::after,
+.lines-green::after {
+	border-color: #39b54a;
+}
+
+.line-cyan::after,
+.lines-cyan::after {
+	border-color: #1cbbb4;
+}
+
+.line-blue::after,
+.lines-blue::after {
+	border-color: #0081ff;
+}
+
+.line-purple::after,
+.lines-purple::after {
+	border-color: #6739b6;
+}
+
+.line-mauve::after,
+.lines-mauve::after {
+	border-color: #9c26b0;
+}
+
+.line-pink::after,
+.lines-pink::after {
+	border-color: #e03997;
+}
+
+.line-brown::after,
+.lines-brown::after {
+	border-color: #a5673f;
+}
+
+.line-grey::after,
+.lines-grey::after {
+	border-color: #8799a3;
+}
+
+.line-gray::after,
+.lines-gray::after {
+	border-color: #aaaaaa;
+}
+
+.line-black::after,
+.lines-black::after {
+	border-color: #333333;
+}
+
+.line-white::after,
+.lines-white::after {
+	border-color: #ffffff;
+}
+
+.bg-red {
+	background-color: #e54d42;
+	color: #ffffff;
+}
+
+.bg-orange {
+	background-color: #f37b1d;
+	color: #ffffff;
+}
+
+.bg-yellow {
+	background-color: #fbbd08;
+	color: #333333;
+}
+
+.bg-olive {
+	background-color: #8dc63f;
+	color: #ffffff;
+}
+
+.bg-green {
+	background-color: #39b54a;
+	color: #ffffff;
+}
+
+.bg-cyan {
+	background-color: #1cbbb4;
+	color: #ffffff;
+}
+
+.bg-blue {
+	background-color: #0081ff;
+	color: #ffffff;
+}
+
+.bg-purple {
+	background-color: #6739b6;
+	color: #ffffff;
+}
+
+.bg-mauve {
+	background-color: #9c26b0;
+	color: #ffffff;
+}
+
+.bg-pink {
+	background-color: #e03997;
+	color: #ffffff;
+}
+
+.bg-brown {
+	background-color: #a5673f;
+	color: #ffffff;
+}
+
+.bg-grey {
+	background-color: #8799a3;
+	color: #ffffff;
+}
+
+.bg-gray {
+	background-color: #f0f0f0;
+	color: #333333;
+}
+
+.bg-black {
+	background-color: #333333;
+	color: #ffffff;
+}
+
+.bg-white {
+	background-color: #ffffff;
+	color: #666666;
+}
+
+.bg-shadeTop {
+	background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01));
+	color: #ffffff;
+}
+
+.bg-shadeBottom {
+	background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1));
+	color: #ffffff;
+}
+
+.bg-red.light {
+	color: #e54d42;
+	background-color: #fadbd9;
+}
+
+.bg-orange.light {
+	color: #f37b1d;
+	background-color: #fde6d2;
+}
+
+.bg-yellow.light {
+	color: #fbbd08;
+	background-color: #fef2ced2;
+}
+
+.bg-olive.light {
+	color: #8dc63f;
+	background-color: #e8f4d9;
+}
+
+.bg-green.light {
+	color: #39b54a;
+	background-color: #d7f0dbff;
+}
+
+.bg-cyan.light {
+	color: #1cbbb4;
+	background-color: #d2f1f0;
+}
+
+.bg-blue.light {
+	color: #0081ff;
+	background-color: #cce6ff;
+}
+
+.bg-purple.light {
+	color: #6739b6;
+	background-color: #e1d7f0;
+}
+
+.bg-mauve.light {
+	color: #9c26b0;
+	background-color: #ebd4ef;
+}
+
+.bg-pink.light {
+	color: #e03997;
+	background-color: #f9d7ea;
+}
+
+.bg-brown.light {
+	color: #a5673f;
+	background-color: #ede1d9;
+}
+
+.bg-grey.light {
+	color: #8799a3;
+	background-color: #e7ebed;
+}
+
+.bg-gradual-red {
+	background-image: linear-gradient(45deg, #f43f3b, #ec008c);
+	color: #ffffff;
+}
+
+.bg-gradual-orange {
+	background-image: linear-gradient(45deg, #ff9700, #ed1c24);
+	color: #ffffff;
+}
+
+.bg-gradual-green {
+	background-image: linear-gradient(45deg, #39b54a, #8dc63f);
+	color: #ffffff;
+}
+
+.bg-gradual-purple {
+	background-image: linear-gradient(45deg, #9000ff, #5e00ff);
+	color: #ffffff;
+}
+
+.bg-gradual-pink {
+	background-image: linear-gradient(45deg, #ec008c, #6739b6);
+	color: #ffffff;
+}
+
+.bg-gradual-blue {
+	background-image: linear-gradient(45deg, #0081ff, #1cbbb4);
+	color: #ffffff;
+}
+
+.shadow[class*="-red"] {
+	box-shadow: 6upx 6upx 8upx rgba(204, 69, 59, 0.2);
+}
+
+.shadow[class*="-orange"] {
+	box-shadow: 6upx 6upx 8upx rgba(217, 109, 26, 0.2);
+}
+
+.shadow[class*="-yellow"] {
+	box-shadow: 6upx 6upx 8upx rgba(224, 170, 7, 0.2);
+}
+
+.shadow[class*="-olive"] {
+	box-shadow: 6upx 6upx 8upx rgba(124, 173, 55, 0.2);
+}
+
+.shadow[class*="-green"] {
+	box-shadow: 6upx 6upx 8upx rgba(48, 156, 63, 0.2);
+}
+
+.shadow[class*="-cyan"] {
+	box-shadow: 6upx 6upx 8upx rgba(28, 187, 180, 0.2);
+}
+
+.shadow[class*="-blue"] {
+	box-shadow: 6upx 6upx 8upx rgba(0, 102, 204, 0.2);
+}
+
+.shadow[class*="-purple"] {
+	box-shadow: 6upx 6upx 8upx rgba(88, 48, 156, 0.2);
+}
+
+.shadow[class*="-mauve"] {
+	box-shadow: 6upx 6upx 8upx rgba(133, 33, 150, 0.2);
+}
+
+.shadow[class*="-pink"] {
+	box-shadow: 6upx 6upx 8upx rgba(199, 50, 134, 0.2);
+}
+
+.shadow[class*="-brown"] {
+	box-shadow: 6upx 6upx 8upx rgba(140, 88, 53, 0.2);
+}
+
+.shadow[class*="-grey"] {
+	box-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2);
+}
+
+.shadow[class*="-gray"] {
+	box-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2);
+}
+
+.shadow[class*="-black"] {
+	box-shadow: 6upx 6upx 8upx rgba(26, 26, 26, 0.2);
+}
+
+.shadow[class*="-white"] {
+	box-shadow: 6upx 6upx 8upx rgba(26, 26, 26, 0.2);
+}
+
+.text-shadow[class*="-red"] {
+	text-shadow: 6upx 6upx 8upx rgba(204, 69, 59, 0.2);
+}
+
+.text-shadow[class*="-orange"] {
+	text-shadow: 6upx 6upx 8upx rgba(217, 109, 26, 0.2);
+}
+
+.text-shadow[class*="-yellow"] {
+	text-shadow: 6upx 6upx 8upx rgba(224, 170, 7, 0.2);
+}
+
+.text-shadow[class*="-olive"] {
+	text-shadow: 6upx 6upx 8upx rgba(124, 173, 55, 0.2);
+}
+
+.text-shadow[class*="-green"] {
+	text-shadow: 6upx 6upx 8upx rgba(48, 156, 63, 0.2);
+}
+
+.text-shadow[class*="-cyan"] {
+	text-shadow: 6upx 6upx 8upx rgba(28, 187, 180, 0.2);
+}
+
+.text-shadow[class*="-blue"] {
+	text-shadow: 6upx 6upx 8upx rgba(0, 102, 204, 0.2);
+}
+
+.text-shadow[class*="-purple"] {
+	text-shadow: 6upx 6upx 8upx rgba(88, 48, 156, 0.2);
+}
+
+.text-shadow[class*="-mauve"] {
+	text-shadow: 6upx 6upx 8upx rgba(133, 33, 150, 0.2);
+}
+
+.text-shadow[class*="-pink"] {
+	text-shadow: 6upx 6upx 8upx rgba(199, 50, 134, 0.2);
+}
+
+.text-shadow[class*="-brown"] {
+	text-shadow: 6upx 6upx 8upx rgba(140, 88, 53, 0.2);
+}
+
+.text-shadow[class*="-grey"] {
+	text-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2);
+}
+
+.text-shadow[class*="-gray"] {
+	text-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2);
+}
+
+.text-shadow[class*="-black"] {
+	text-shadow: 6upx 6upx 8upx rgba(26, 26, 26, 0.2);
+}
+
+.bg-img {
+	background-size: cover;
+	background-position: center;
+	background-repeat: no-repeat;
+}
+
+.bg-mask {
+	background-color: #333333;
+	position: relative;
+}
+
+.bg-mask::after {
+	content: "";
+	border-radius: inherit;
+	width: 100%;
+	height: 100%;
+	display: block;
+	background-color: rgba(0, 0, 0, 0.4);
+	position: absolute;
+	left: 0;
+	right: 0;
+	bottom: 0;
+	top: 0;
+}
+
+.bg-mask view,
+.bg-mask cover-view {
+	z-index: 5;
+	position: relative;
+}
+
+.bg-video {
+	position: relative;
+}
+
+.bg-video video {
+	display: block;
+	height: 100%;
+	width: 100%;
+	-o-object-fit: cover;
+	object-fit: cover;
+	position: absolute;
+	top: 0;
+	z-index: 0;
+	pointer-events: none;
+}
+
+/* ==================
+          文本
+ ==================== */
+
+.text-xs {
+	font-size: 20upx;
+}
+
+.text-sm {
+	font-size: 24upx;
+}
+
+.text-df {
+	font-size: 28upx;
+}
+
+.text-lg {
+	font-size: 32upx;
+}
+
+.text-xl {
+	font-size: 36upx;
+}
+
+.text-xxl {
+	font-size: 44upx;
+}
+
+.text-sl {
+	font-size: 80upx;
+}
+
+.text-xsl {
+	font-size: 120upx;
+}
+
+.text-Abc {
+	text-transform: Capitalize;
+}
+
+.text-ABC {
+	text-transform: Uppercase;
+}
+
+.text-abc {
+	text-transform: Lowercase;
+}
+
+.text-price::before {
+	content: "¥";
+	font-size: 80%;
+	margin-right: 4upx;
+}
+
+.text-cut {
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	overflow: hidden;
+}
+
+.text-bold {
+	font-weight: bold;
+}
+
+.text-center {
+	text-align: center;
+}
+
+.text-content {
+	line-height: 1.6;
+}
+
+.text-left {
+	text-align: left;
+}
+
+.text-right {
+	text-align: right;
+}
+
+.text-red,
+.line-red,
+.lines-red {
+	color: #e54d42;
+}
+
+.text-orange,
+.line-orange,
+.lines-orange {
+	color: #f37b1d;
+}
+
+.text-yellow,
+.line-yellow,
+.lines-yellow {
+	color: #fbbd08;
+}
+
+.text-olive,
+.line-olive,
+.lines-olive {
+	color: #8dc63f;
+}
+
+.text-green,
+.line-green,
+.lines-green {
+	color: #39b54a;
+}
+
+.text-cyan,
+.line-cyan,
+.lines-cyan {
+	color: #1cbbb4;
+}
+
+.text-blue,
+.line-blue,
+.lines-blue {
+	color: #0081ff;
+}
+
+.text-purple,
+.line-purple,
+.lines-purple {
+	color: #6739b6;
+}
+
+.text-mauve,
+.line-mauve,
+.lines-mauve {
+	color: #9c26b0;
+}
+
+.text-pink,
+.line-pink,
+.lines-pink {
+	color: #e03997;
+}
+
+.text-brown,
+.line-brown,
+.lines-brown {
+	color: #a5673f;
+}
+
+.text-grey,
+.line-grey,
+.lines-grey {
+	color: #8799a3;
+}
+
+.text-gray,
+.line-gray,
+.lines-gray {
+	color: #aaaaaa;
+}
+
+.text-black,
+.line-black,
+.lines-black {
+	color: #333333;
+}
+
+.text-white,
+.line-white,
+.lines-white {
+	color: #ffffff;
+}

二进制
unpackage/dist/build/web/static/images/avatar/1.jpg


二进制
unpackage/dist/build/web/static/images/avatar/2.jpg


二进制
unpackage/dist/build/web/static/images/avatar/3.jpg


二进制
unpackage/dist/build/web/static/images/avatar/4.jpg


二进制
unpackage/dist/build/web/static/images/avatar/5.jpg


二进制
unpackage/dist/build/web/static/images/avatar/6.jpg


二进制
unpackage/dist/build/web/static/images/avatar/7.jpg


二进制
unpackage/dist/build/web/static/images/avatar/8.jpg


二进制
unpackage/dist/build/web/static/images/emoji/1.png


二进制
unpackage/dist/build/web/static/images/emoji/10.png


二进制
unpackage/dist/build/web/static/images/emoji/11.png


二进制
unpackage/dist/build/web/static/images/emoji/12.png


二进制
unpackage/dist/build/web/static/images/emoji/13.png


二进制
unpackage/dist/build/web/static/images/emoji/14.png


二进制
unpackage/dist/build/web/static/images/emoji/15.png


二进制
unpackage/dist/build/web/static/images/emoji/16.png


二进制
unpackage/dist/build/web/static/images/emoji/17.png


二进制
unpackage/dist/build/web/static/images/emoji/18.png


二进制
unpackage/dist/build/web/static/images/emoji/19.png


二进制
unpackage/dist/build/web/static/images/emoji/2.png


二进制
unpackage/dist/build/web/static/images/emoji/20.png


二进制
unpackage/dist/build/web/static/images/emoji/21.png


二进制
unpackage/dist/build/web/static/images/emoji/22.png


二进制
unpackage/dist/build/web/static/images/emoji/23.png


二进制
unpackage/dist/build/web/static/images/emoji/24.png


二进制
unpackage/dist/build/web/static/images/emoji/25.png


二进制
unpackage/dist/build/web/static/images/emoji/26.png


二进制
unpackage/dist/build/web/static/images/emoji/27.png


二进制
unpackage/dist/build/web/static/images/emoji/28.png


二进制
unpackage/dist/build/web/static/images/emoji/29.png


二进制
unpackage/dist/build/web/static/images/emoji/3.png


二进制
unpackage/dist/build/web/static/images/emoji/30.png


二进制
unpackage/dist/build/web/static/images/emoji/31.png


二进制
unpackage/dist/build/web/static/images/emoji/32.png


二进制
unpackage/dist/build/web/static/images/emoji/33.png


二进制
unpackage/dist/build/web/static/images/emoji/34.png


二进制
unpackage/dist/build/web/static/images/emoji/35.png


二进制
unpackage/dist/build/web/static/images/emoji/36.png


二进制
unpackage/dist/build/web/static/images/emoji/37.png


二进制
unpackage/dist/build/web/static/images/emoji/4.png


二进制
unpackage/dist/build/web/static/images/emoji/5.png


二进制
unpackage/dist/build/web/static/images/emoji/6.png


二进制
unpackage/dist/build/web/static/images/emoji/7.png


二进制
unpackage/dist/build/web/static/images/emoji/8.png


二进制
unpackage/dist/build/web/static/images/emoji/9.png


二进制
unpackage/dist/build/web/static/images/emoji_1/1.png


二进制
unpackage/dist/build/web/static/images/emoji_1/10.png


二进制
unpackage/dist/build/web/static/images/emoji_1/11.png


二进制
unpackage/dist/build/web/static/images/emoji_1/12.png


二进制
unpackage/dist/build/web/static/images/emoji_1/13.png


二进制
unpackage/dist/build/web/static/images/emoji_1/14.png


二进制
unpackage/dist/build/web/static/images/emoji_1/15.png


二进制
unpackage/dist/build/web/static/images/emoji_1/16.png


二进制
unpackage/dist/build/web/static/images/emoji_1/17.png


二进制
unpackage/dist/build/web/static/images/emoji_1/18.png


二进制
unpackage/dist/build/web/static/images/emoji_1/19.png


二进制
unpackage/dist/build/web/static/images/emoji_1/2.png


二进制
unpackage/dist/build/web/static/images/emoji_1/20.png


二进制
unpackage/dist/build/web/static/images/emoji_1/21.png


二进制
unpackage/dist/build/web/static/images/emoji_1/22.png


二进制
unpackage/dist/build/web/static/images/emoji_1/23.png


二进制
unpackage/dist/build/web/static/images/emoji_1/24.png


二进制
unpackage/dist/build/web/static/images/emoji_1/25.png


二进制
unpackage/dist/build/web/static/images/emoji_1/26.png


二进制
unpackage/dist/build/web/static/images/emoji_1/3.png


二进制
unpackage/dist/build/web/static/images/emoji_1/4.png


二进制
unpackage/dist/build/web/static/images/emoji_1/5.png


二进制
unpackage/dist/build/web/static/images/emoji_1/6.png


二进制
unpackage/dist/build/web/static/images/emoji_1/7.png


二进制
unpackage/dist/build/web/static/images/emoji_1/8.png


二进制
unpackage/dist/build/web/static/images/emoji_1/9.png


二进制
unpackage/dist/build/web/static/images/home/goods/1.png


二进制
unpackage/dist/build/web/static/images/home/goods/10.png


二进制
unpackage/dist/build/web/static/images/home/goods/11.png


二进制
unpackage/dist/build/web/static/images/home/goods/12.png


二进制
unpackage/dist/build/web/static/images/home/goods/13.png


二进制
unpackage/dist/build/web/static/images/home/goods/14.png


二进制
unpackage/dist/build/web/static/images/home/goods/15.png


二进制
unpackage/dist/build/web/static/images/home/goods/16.png


二进制
unpackage/dist/build/web/static/images/home/goods/17.png


二进制
unpackage/dist/build/web/static/images/home/goods/18.png


二进制
unpackage/dist/build/web/static/images/home/goods/19.png


二进制
unpackage/dist/build/web/static/images/home/goods/2.png


二进制
unpackage/dist/build/web/static/images/home/goods/20.png


二进制
unpackage/dist/build/web/static/images/home/goods/3.png


二进制
unpackage/dist/build/web/static/images/home/goods/4.png


二进制
unpackage/dist/build/web/static/images/home/goods/5.png


二进制
unpackage/dist/build/web/static/images/home/goods/6.png


部分文件因为文件数量过多而无法显示