OAuth、手机APi修改
diff --git a/oauth/src/main/java/com/supwisdom/oauth/ServletInitializer.kt b/oauth/src/main/java/com/supwisdom/oauth/ServletInitializer.kt
index 5df64f0..3fc369d 100644
--- a/oauth/src/main/java/com/supwisdom/oauth/ServletInitializer.kt
+++ b/oauth/src/main/java/com/supwisdom/oauth/ServletInitializer.kt
@@ -1,6 +1,5 @@
 package com.supwisdom.oauth
 
-import com.supwisdom.oauth.OAuthApplication
 import org.springframework.boot.builder.SpringApplicationBuilder
 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
 
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/OAuthApplication.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/OAuthApplication.kt
index 7d34f95..8339e74 100644
--- a/oauth/src/main/kotlin/com/supwisdom/oauth/OAuthApplication.kt
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/OAuthApplication.kt
@@ -4,12 +4,10 @@
 import net.javacrumbs.shedlock.core.LockProvider
 import net.javacrumbs.shedlock.provider.redis.spring.RedisLockProvider
 import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.beans.factory.annotation.Value
 import org.springframework.boot.SpringApplication
 import org.springframework.boot.autoconfigure.SpringBootApplication
 import org.springframework.boot.autoconfigure.data.redis.RedisProperties
 import org.springframework.boot.builder.SpringApplicationBuilder
-import org.springframework.boot.context.properties.ConfigurationProperties
 import org.springframework.boot.web.servlet.ServletComponentScan
 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
 import org.springframework.cache.annotation.EnableCaching
@@ -24,12 +22,7 @@
 import org.springframework.data.redis.repository.configuration.EnableRedisRepositories
 import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer
 import org.springframework.data.redis.serializer.StringRedisSerializer
-import org.springframework.http.client.SimpleClientHttpRequestFactory
 import org.springframework.scheduling.annotation.EnableScheduling
-import org.springframework.stereotype.Component
-import org.springframework.web.client.RestTemplate
-import java.net.InetSocketAddress
-import java.net.Proxy
 
 
 @Configuration
@@ -73,44 +66,6 @@
     }
 }
 
-@Configuration
-class RestTemplateConfig {
-    @Component
-    @ConfigurationProperties("resttemplate.proxy")
-    class RestTemplateProxyProperties {
-        @Value("\${type:}")
-        lateinit var type: String
-        @Value("\${host:}")
-        lateinit var host: String
-        @Value("\${port:0}")
-        var port: Int = 0
-    }
-
-    @Bean
-    fun simpleClientHttpRequestFactory(proxyProperties: RestTemplateProxyProperties):
-            SimpleClientHttpRequestFactory {
-        val factory = SimpleClientHttpRequestFactory()
-        factory.setConnectTimeout(15000)
-        factory.setReadTimeout(5000)
-        if (proxyProperties.type.isNotEmpty()) {
-            val proxyType = when (proxyProperties.type) {
-                "http" -> Proxy.Type.HTTP
-                "socks5" -> Proxy.Type.SOCKS
-                else -> Proxy.Type.DIRECT
-            }
-            if (proxyType != Proxy.Type.DIRECT) {
-                factory.setProxy(Proxy(proxyType,
-                        InetSocketAddress(proxyProperties.host, proxyProperties.port)))
-            }
-        }
-        return factory
-    }
-
-    @Bean
-    fun restTemplate(factory: SimpleClientHttpRequestFactory): RestTemplate {
-        return RestTemplate(factory)
-    }
-}
 
 @SpringBootApplication
 @EnableScheduling
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/bean/UserInfor.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/bean/UserInfor.kt
new file mode 100644
index 0000000..26cb9c2
--- /dev/null
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/bean/UserInfor.kt
@@ -0,0 +1,17 @@
+package com.supwisdom.oauth.bean
+
+class UserInfor {
+    var name: String? = null
+
+    var availbal: Double? = null
+
+    var daylimit: Double? = null
+
+    var lowfreelimit: Double? = null
+
+    var lowfreeflag: Boolean? = null
+
+    var userid: String? = null
+
+    var loginid: String? = null
+}
\ No newline at end of file
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/dao/OAuthUserDao.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/dao/OAuthUserDao.kt
index 4355fcf..c706e81 100644
--- a/oauth/src/main/kotlin/com/supwisdom/oauth/dao/OAuthUserDao.kt
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/dao/OAuthUserDao.kt
@@ -7,6 +7,10 @@
 @Repository
 interface OAuthUserDao : JpaRepository<OAuthUser, String> {
     fun findByLoginid(loginid: String): OAuthUser?
+
+    fun findByPhone(phone: String): OAuthUser?
+
+    fun findByEmail(email: String): OAuthUser?
 }
 
 
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/domain/OAuthUser.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/domain/OAuthUser.kt
index 481c46a..ce3c0c6 100644
--- a/oauth/src/main/kotlin/com/supwisdom/oauth/domain/OAuthUser.kt
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/domain/OAuthUser.kt
@@ -1,22 +1,27 @@
 package com.supwisdom.oauth.domain
 
+import com.supwisdom.dlpay.api.util.DateUtil
 import org.hibernate.annotations.GenericGenerator
 import org.springframework.security.core.GrantedAuthority
 import org.springframework.security.core.userdetails.UserDetails
-
 import javax.persistence.*
 import javax.validation.constraints.NotNull
 
-@Entity
-@Table(name = "TB_OAUTH_USER", indexes = [Index(name = "oauth_user_loginid_idx", columnList = "loginid", unique = true)])
-class OAuthUser : UserDetails {
+/*
+*
+* 与支付平台中的 MobileUser 一致
+*
+* */
 
+@Entity
+@Table(name = "TB_MOBILE_USER", indexes = [Index(name = "oauth_user_loginid_idx", columnList = "loginid", unique = true)])
+class OAuthUser : UserDetails {
     override fun getAuthorities(): Collection<GrantedAuthority>? {
         return this.auths
     }
 
     override fun isEnabled(): Boolean {
-        return "normal" != this.status
+        return "closed" != this.status
     }
 
     override fun getUsername(): String {
@@ -32,11 +37,14 @@
     }
 
     override fun isAccountNonExpired(): Boolean {
-        return true
+        if(expiredate.isNullOrEmpty()){
+            return true
+        }
+        return this.expiredate!! >= DateUtil.getNow("yyyyMMdd")
     }
 
     override fun isAccountNonLocked(): Boolean {
-        return "lock" != this.status
+        return "locked" != this.status
     }
 
     @Transient
@@ -46,20 +54,50 @@
     @GenericGenerator(name = "idGenerator", strategy = "uuid")
     @GeneratedValue(generator = "idGenerator")
     @Column(name = "uid", nullable = false, length = 32)
-    @NotNull
     var uid: String = ""
+    /**
+     * 登录id
+     * */
 
     @Column(name = "loginid", length = 64)
     @NotNull
     var loginid: String = ""
 
+    /**
+     * 登录密码
+     * */
     @Column(name = "loginpwd", length = 64)
-    @NotNull
     var loginpwd: String = ""
 
-    @Column(name = "status", length = 10)
-    @NotNull
-    var status: String? = null
+    /**
+     * 设备uuid
+     * */
+    @Column(name = "devuid", length = 64)
+    var devuid: String? = null
+
+    /**
+     * 注册时间
+     * */
+    @Column(name = "registerdate", length = 16)
+    var registerdate: String? = null
+
+    /**
+     * 关联tb_person
+     * */
+    @Column(name = "userid", length = 32)
+    var userid: String? = null
+
+    /**
+     * 银行卡绑定时间
+     * */
+    @Column(name = "bindtime", length = 14)
+    var bindtime: String? = null
+
+    /**
+     * 注册手机类型
+     * */
+    @Column(name = "registerplatform", length = 100)
+    var registerplatform: String? = null
 
     /**
      * 最后登录时间
@@ -74,6 +112,11 @@
     var lastloginplatform: String? = null
 
     /**
+     * 状态
+     * */
+    @Column(name = "status", length = 16)
+    var status: String? = null
+    /**
      * 支付密码
      * */
     @Column(name = "paypwd", length = 64)
@@ -104,17 +147,90 @@
     var paypwderrortime: Long? = 0
 
     /**
-     * 关联tb_person
-     * */
-    @Column(name = "userid", length = 32)
-    var userid: String? = null
-
-    /**
      * jti
      * */
     @Column(name = "jti", length = 64)
     var jti: String? = null
 
+    /**
+     * 签约时间
+     * */
+    @Column(name = "signedtime", length = 20)
+    var signedtime: String? = null
+
+    /**
+     * 头像
+     * */
+    @Column(name = "ulogo", length = 100)
+    var ulogo: String? = null
+
+    /**
+    * rsa 加密二维码等使用
+    * */
+    @Column(name = "rsaprivate", length = 1000)
+    var rsaprivate: String? = null
+
+    /**
+     * rsa 加密二维码等使用
+     * */
+    @Column(name = "rsapublic", length = 1000)
+    var rsapublic: String? = null
+
+    /**
+     * 秘钥 加密二维码等使用
+     * */
+    @Column(name = "secertkey", length = 64)
+    var secertkey: String? = null
+
+    /**
+     * 租户id
+     * */
+    @Column(name = "tenantid", length = 32)
+    var tenantid:String? = null
+
+    /**
+    * 有效期
+    * */
+    @Column(name = "expiredate", length = 8)
+    var expiredate: String? = null
+
+    /**
+     * 邮箱
+     * */
+    @Column(name = "email", length = 100)
+    var email: String? = null
+
+    /**
+     * 手机
+     * */
+    @Column(name = "phone", length = 15)
+    var phone: String? = null
+
+    /**
+     * 证件类型
+     * */
+    @Column(name = "idtype", length = 20)
+    var idtype: String? = null
+
+    /**
+     * 证件号
+     * */
+    @Column(name = "idno", length = 32)
+    var idno: String? = null
+
+    /**
+     * 部门编号
+     * */
+    @Column(name = "deptcode", length = 32)
+    var deptcode: String? = null
+
+    /**
+     * 部门
+     * */
+    @Column(name = "deptname", length = 100)
+    var deptname: String? = null
+
+
     fun checkLoginpwdtime():Int{
         if (this.loginpwderror >= 5 && (System.currentTimeMillis() - this.loginpwderrortime!!) < 1000 * 60 * 30) {
             return -1
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/oauth.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/oauth.kt
index 60255ad..a5253c4 100644
--- a/oauth/src/main/kotlin/com/supwisdom/oauth/oauth.kt
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/oauth.kt
@@ -1,6 +1,8 @@
 package com.supwisdom.oauth
 
 import com.supwisdom.oauth.dao.ApiClientDao
+import com.supwisdom.oauth.domain.OAuthUser
+import com.supwisdom.oauth.service.OAuthUserService
 import com.supwisdom.oauth.util.Constants
 import com.supwisdom.oauth.util.JwtConfig
 import com.supwisdom.oauth.util.PasswordBCryptConfig
@@ -10,8 +12,8 @@
 import org.springframework.data.redis.connection.RedisConnectionFactory
 import org.springframework.http.HttpStatus
 import org.springframework.http.ResponseEntity
-import org.springframework.security.authentication.AuthenticationManager
 import org.springframework.security.core.GrantedAuthority
+import org.springframework.security.core.annotation.AuthenticationPrincipal
 import org.springframework.security.core.authority.SimpleGrantedAuthority
 import org.springframework.security.core.userdetails.UserDetails
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
@@ -26,10 +28,10 @@
 import org.springframework.security.oauth2.provider.client.BaseClientDetails
 import org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore
 import org.springframework.stereotype.Controller
+import org.springframework.ui.Model
 import org.springframework.web.bind.annotation.*
-import java.security.Principal
-import java.util.*
 import java.security.SecureRandom
+import java.util.*
 
 @RestController
 class UserInforController {
@@ -59,11 +61,24 @@
 }
 @Controller
 class WebMainController {
+    @Autowired
+    lateinit var oauthUserService: OAuthUserService
+
     @GetMapping("/login")
     fun loginView() = "login"
 
     @GetMapping(value = ["/", "/index"])
-    fun indexView() = "index"
+    fun indexView(@AuthenticationPrincipal princp: UserDetails, model: Model):String {
+        val user = princp as OAuthUser
+        model.addAttribute("loginid",user.loginid)
+        if(!user.userid.isNullOrEmpty()){
+            var uinfor = oauthUserService.findUserInfor(user.userid!!)
+            if(uinfor!=null){
+                model.addAttribute("uinfor",uinfor)
+            }
+        }
+        return "index"
+    }
 }
 
 
@@ -108,16 +123,12 @@
 
     @Configuration
     @EnableAuthorizationServer
-
     class AuthorizationServerConfigure : AuthorizationServerConfigurerAdapter() {
 
         @Autowired
         private lateinit var redisConnectionFactory: RedisConnectionFactory
 
         @Autowired
-        private lateinit var authenticationManager: AuthenticationManager
-
-        @Autowired
         lateinit var passwordBCryptConfig: PasswordBCryptConfig
 
         override fun configure(security: AuthorizationServerSecurityConfigurer?) {
@@ -140,7 +151,6 @@
 
         override fun configure(endpoints: AuthorizationServerEndpointsConfigurer?) {
             endpoints?.tokenStore(RedisTokenStore(redisConnectionFactory))
-                    ?.authenticationManager(authenticationManager)
         }
     }
 }
\ No newline at end of file
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/security.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/security.kt
index 191178b..d3294bb 100644
--- a/oauth/src/main/kotlin/com/supwisdom/oauth/security.kt
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/security.kt
@@ -2,13 +2,17 @@
 
 import com.supwisdom.oauth.domain.OAuthUser
 import com.supwisdom.oauth.service.OAuthUserService
+import com.supwisdom.oauth.tenant.TenantContext
 import com.supwisdom.oauth.util.*
+import org.jose4j.jwt.ReservedClaimNames
+import org.jose4j.jwt.consumer.InvalidJwtException
+import org.jose4j.lang.JoseException
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.context.annotation.Bean
 import org.springframework.context.annotation.Configuration
-import org.springframework.security.authentication.AuthenticationManager
-import org.springframework.security.authentication.BadCredentialsException
-import org.springframework.security.authentication.LockedException
+import org.springframework.core.annotation.Order
+import org.springframework.http.HttpStatus
+import org.springframework.security.authentication.*
 import org.springframework.security.authentication.dao.DaoAuthenticationProvider
 import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder
 import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity
@@ -19,16 +23,26 @@
 import org.springframework.security.config.http.SessionCreationPolicy
 import org.springframework.security.core.Authentication
 import org.springframework.security.core.AuthenticationException
+import org.springframework.security.core.authority.SimpleGrantedAuthority
+import org.springframework.security.core.context.SecurityContextHolder
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
 import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler
 import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler
+import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter
+import org.springframework.security.web.authentication.rememberme.JdbcTokenRepositoryImpl
+import org.springframework.security.web.authentication.www.BasicAuthenticationFilter
 import org.springframework.security.web.util.matcher.AntPathRequestMatcher
 import org.springframework.stereotype.Component
+import org.springframework.web.filter.OncePerRequestFilter
 import java.io.IOException
 import java.security.SecureRandom
+import java.util.*
+import javax.servlet.FilterChain
 import javax.servlet.ServletException
 import javax.servlet.http.HttpServletRequest
 import javax.servlet.http.HttpServletResponse
+import javax.servlet.http.HttpSession
+import javax.sql.DataSource
 
 @Component("authLoginSuccessHandler")
 class AuthLoginSuccessHandler : SimpleUrlAuthenticationSuccessHandler() {
@@ -64,6 +78,8 @@
         val errmsg = when (exception) {
             is BadCredentialsException -> "手机号或密码错误"
             is LockedException -> "账户被锁定"
+            is DisabledException -> "用户状态错误"
+            is AccountExpiredException -> "用户有效期已过期"
             else -> exception.message!!
         }
         val temp = request.getParameter("username")
@@ -82,38 +98,32 @@
     }
 }
 
-
-
 @EnableWebSecurity
 @EnableGlobalMethodSecurity(prePostEnabled = true)
 class WebSecurityConfig {
 
     companion object {
-
         @Configuration
         class MvcWebSecurityConfigurationAdapter : WebSecurityConfigurerAdapter() {
             @Autowired
+            lateinit var dataSource: DataSource
+            @Autowired
             lateinit var authLoginFailHandler: AuthLoginFailHandler
             @Autowired
             lateinit var authLoginSuccessHandler: AuthLoginSuccessHandler
             @Autowired
             lateinit var passwordBCryptConfig: PasswordBCryptConfig
             @Autowired
-            lateinit var userDetailsService: OAuthUserService
+            lateinit var oAuthUserService: OAuthUserService
 
             override fun configure(auth: AuthenticationManagerBuilder) {
                 auth.authenticationProvider(authenticationProvider())
             }
 
             @Bean
-            override fun authenticationManager(): AuthenticationManager {
-                return super.authenticationManagerBean()
-            }
-
-            @Bean
             fun authenticationProvider(): DaoAuthenticationProvider {
                 return DaoAuthenticationProvider().apply {
-                    setUserDetailsService(userDetailsService)
+                    setUserDetailsService(oAuthUserService)
                     setPasswordEncoder(passwordEncoder())
                 }
             }
@@ -127,12 +137,19 @@
                             SecureRandom(passwordBCryptConfig.seed.toByteArray()))
                 }
             }
+            @Bean
+            fun jdbcTokenImplement(): JdbcTokenRepositoryImpl {
+                return JdbcTokenRepositoryImpl().also {
+                    it.setDataSource(dataSource)
+                }
+            }
 
             override fun configure(http: HttpSecurity) {
-                // 设置 Web MVC 应用权限
                 http.authorizeRequests()
                         .antMatchers("/login", "/login/form", "/userinfor").permitAll()
                         .antMatchers("/css/**").permitAll()
+                        .antMatchers("/img/**").permitAll()
+                        .antMatchers("/js/**").permitAll()
                         .antMatchers("/code/image").permitAll()
                         .antMatchers("/**").hasAnyRole("USER", "ADMIN")
                         .anyRequest().authenticated()
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/service/OAuthUserService.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/service/OAuthUserService.kt
index 5df80ef..1905612 100644
--- a/oauth/src/main/kotlin/com/supwisdom/oauth/service/OAuthUserService.kt
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/service/OAuthUserService.kt
@@ -1,5 +1,6 @@
 package com.supwisdom.oauth.service
 
+import com.supwisdom.oauth.bean.UserInfor
 import com.supwisdom.oauth.domain.OAuthUser
 import org.springframework.security.core.userdetails.UserDetailsService
 
@@ -9,4 +10,6 @@
     fun findByLoginid(loginid: String): OAuthUser?
 
     fun saveUser(oAuthUser: OAuthUser):OAuthUser
+
+    fun findUserInfor(userid:String):UserInfor?
 }
\ No newline at end of file
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/service/impl/OAuthUserServiceImpl.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/service/impl/OAuthUserServiceImpl.kt
index 47364bd..e802094 100644
--- a/oauth/src/main/kotlin/com/supwisdom/oauth/service/impl/OAuthUserServiceImpl.kt
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/service/impl/OAuthUserServiceImpl.kt
@@ -1,15 +1,19 @@
 package com.supwisdom.oauth.service.impl
 
+import com.supwisdom.oauth.bean.UserInfor
 import com.supwisdom.oauth.dao.OAuthUserDao
 import com.supwisdom.oauth.domain.OAuthUser
 import com.supwisdom.oauth.service.OAuthUserService
 import com.supwisdom.oauth.util.UserLoginFailException
+import org.hibernate.query.NativeQuery
+import org.hibernate.transform.Transformers
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.security.core.GrantedAuthority
 import org.springframework.security.core.authority.AuthorityUtils
 import org.springframework.security.core.userdetails.UserDetails
 import org.springframework.security.core.userdetails.UsernameNotFoundException
 import org.springframework.stereotype.Service
+import javax.persistence.EntityManager
 
 @Service
 class OAuthUserServiceImpl :OAuthUserService {
@@ -18,12 +22,20 @@
     }
     @Autowired
     lateinit var oAuthUserDao: OAuthUserDao
+    @Autowired
+    lateinit var entityManager: EntityManager
 
     override fun loadUserByUsername(username: String?): UserDetails {
         if (username.isNullOrEmpty()) {
             throw UsernameNotFoundException("用户不存在")
         }
-        val temp = oAuthUserDao.findByLoginid(username)
+        var temp = oAuthUserDao.findByLoginid(username)
+        if(temp==null){
+            temp = oAuthUserDao.findByPhone(username)
+            if(temp==null){
+                temp = oAuthUserDao.findByEmail(username)
+            }
+        }
         if (temp != null) {
             if (temp.loginpwd.isEmpty()) {
                 throw UserLoginFailException("用户注册后未设置登录密码,请找回密码或重新注册")
@@ -36,7 +48,7 @@
                 temp.loginpwderrortime = null
                 oAuthUserDao.save(temp)
             }
-            val authorities: Collection<GrantedAuthority> = AuthorityUtils.createAuthorityList("ROLE_USER")
+            val authorities: Collection<GrantedAuthority> = AuthorityUtils.createAuthorityList("ROLE_USER","ROLE_ADMIN")
             temp.auths = authorities
         } else {
             throw UsernameNotFoundException("用户不存在")
@@ -57,4 +69,16 @@
     override fun saveUser(oAuthUser: OAuthUser): OAuthUser {
         return oAuthUserDao.save(oAuthUser)
     }
+
+    override fun findUserInfor(userid: String): UserInfor? {
+        var sql = "select ac.availbal as availbal, ac.LOWFREE_FLAG as lowfreeflag,ac.LOWFREE_LIMIT as lowfreelimit,ac.DAY_LIMIT as daylimit, ac.ACCNAME as name from tb_account ac where  ac.userid =:uid "
+        var query = entityManager.createNativeQuery(sql)
+        query.setParameter("uid",userid)
+        query.unwrap(NativeQuery::class.java).setResultTransformer(Transformers.aliasToBean(UserInfor::class.java))
+        val ret = query.resultList as List<UserInfor>
+        if(ret.isNotEmpty()){
+            return ret[0]
+        }
+        return null
+    }
 }
\ No newline at end of file
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/tenant.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant.kt
new file mode 100644
index 0000000..ef0c5b4
--- /dev/null
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant.kt
@@ -0,0 +1,26 @@
+package com.supwisdom.oauth
+import com.supwisdom.oauth.tenant.TenantInterceptor
+import mu.KotlinLogging
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.context.annotation.Configuration
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
+import javax.annotation.PostConstruct
+
+@Configuration
+class MultiTenantDatasourceConfiguration : WebMvcConfigurer {
+
+    private val logger = KotlinLogging.logger { }
+    @Autowired
+    private lateinit var tenantInterceptor: TenantInterceptor
+
+    @PostConstruct
+    fun post() {
+        logger.info("MultiTenantDatasourceConfiguration post constructor.")
+    }
+
+    override fun addInterceptors(registry: InterceptorRegistry) {
+        logger.info("adding interceptor(s).")
+        registry.addInterceptor(tenantInterceptor)
+    }
+}
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/HibernateConfig.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/HibernateConfig.kt
new file mode 100644
index 0000000..7e9d591
--- /dev/null
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/HibernateConfig.kt
@@ -0,0 +1,53 @@
+package com.supwisdom.oauth.tenant
+
+import org.hibernate.MultiTenancyStrategy
+import org.hibernate.cfg.Environment
+import org.hibernate.context.spi.CurrentTenantIdentifierResolver
+import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.boot.autoconfigure.orm.jpa.HibernateProperties
+import org.springframework.boot.autoconfigure.orm.jpa.HibernateSettings
+import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties
+import org.springframework.context.annotation.Bean
+import org.springframework.context.annotation.Configuration
+import org.springframework.orm.jpa.JpaVendorAdapter
+import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
+import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter
+
+import javax.sql.DataSource
+import java.util.HashMap
+
+
+@Configuration
+class HibernateConfig(@param:Autowired private val jpaProperties: JpaProperties,
+                      private val hibernateProperties: HibernateProperties) {
+
+    val jpaVendorAdapter: JpaVendorAdapter
+        @Bean
+        get() {
+            val adapter = HibernateJpaVendorAdapter()
+            adapter.setGenerateDdl(true)
+            return adapter
+        }
+
+    @Bean("entityManagerFactory")
+    fun entityManagerFactoryBean(dataSource: DataSource,
+                                 multiTenantConnectionProvider: MultiTenantConnectionProvider,
+                                 currentTenantIdentifierResolver: CurrentTenantIdentifierResolver): LocalContainerEntityManagerFactoryBean {
+        val properties = HashMap<String, Any>()
+        properties.putAll(hibernateProperties
+                .determineHibernateProperties(jpaProperties.properties,
+                        HibernateSettings()))
+        properties[Environment.MULTI_TENANT] = MultiTenancyStrategy.SCHEMA
+        properties[Environment.MULTI_TENANT_CONNECTION_PROVIDER] = multiTenantConnectionProvider
+        properties[Environment.MULTI_TENANT_IDENTIFIER_RESOLVER] = currentTenantIdentifierResolver
+
+        val em = LocalContainerEntityManagerFactoryBean()
+        em.dataSource = dataSource
+        em.setPackagesToScan("com.supwisdom")
+        em.setJpaPropertyMap(properties)
+        em.jpaVendorAdapter = jpaVendorAdapter
+        return em
+    }
+
+}
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/MultiTenantConnectionProviderImpl.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/MultiTenantConnectionProviderImpl.kt
new file mode 100644
index 0000000..32f0da5
--- /dev/null
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/MultiTenantConnectionProviderImpl.kt
@@ -0,0 +1,65 @@
+package com.supwisdom.oauth.tenant
+
+import mu.KotlinLogging
+import org.hibernate.HibernateException
+import org.hibernate.engine.jdbc.connections.spi.MultiTenantConnectionProvider
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.stereotype.Component
+
+import javax.sql.DataSource
+import java.sql.Connection
+import java.sql.SQLException
+
+/**
+ * Created by shuwei on 2018/12/4.
+ */
+@Component
+class MultiTenantConnectionProviderImpl : MultiTenantConnectionProvider {
+    @Autowired
+    private val dataSource: DataSource? = null
+    private val logger = KotlinLogging.logger { }
+    @Throws(SQLException::class)
+    override fun getAnyConnection(): Connection {
+        return dataSource!!.connection
+    }
+
+    @Throws(SQLException::class)
+    override fun releaseAnyConnection(connection: Connection) {
+        connection.close()
+    }
+
+    @Throws(SQLException::class)
+    override fun getConnection(ti: String): Connection {
+        val tenantIdentifier = TenantContext.tenantSchema
+        val connection = anyConnection
+        try {
+            logger.debug { "tenantid=$tenantIdentifier" }
+            if (tenantIdentifier.isNullOrEmpty()||"default"==tenantIdentifier) {
+                connection.createStatement().execute("SET search_path =  public")
+            } else {
+                connection.createStatement().execute("SET search_path = \"$tenantIdentifier\", public")
+            }
+        } catch (e: SQLException) {
+            throw HibernateException("Problem setting schema to " + tenantIdentifier!!, e)
+        }
+
+        return connection
+    }
+
+    @Throws(SQLException::class)
+    override fun releaseConnection(tenantIdentifier: String, connection: Connection) {
+        connection.close()
+    }
+
+    override fun supportsAggressiveRelease(): Boolean {
+        return false
+    }
+
+    override fun isUnwrappableAs(unwrapType: Class<*>): Boolean {
+        return false
+    }
+
+    override fun <T> unwrap(unwrapType: Class<T>): T? {
+        return null
+    }
+}
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/MultiTenantIdentifierResolver.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/MultiTenantIdentifierResolver.kt
new file mode 100644
index 0000000..8e793dd
--- /dev/null
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/MultiTenantIdentifierResolver.kt
@@ -0,0 +1,22 @@
+package com.supwisdom.oauth.tenant
+
+import org.hibernate.context.spi.CurrentTenantIdentifierResolver
+import org.springframework.stereotype.Component
+
+/**
+ * Created by shuwei on 2018/12/4.
+ */
+@Component
+class MultiTenantIdentifierResolver : CurrentTenantIdentifierResolver {
+    override fun resolveCurrentTenantIdentifier(): String? {
+       return if(TenantContext.tenantSchema.isNullOrEmpty()){
+           "default"
+       }else{
+           TenantContext.tenantSchema
+       }
+    }
+
+    override fun validateExistingCurrentSessions(): Boolean {
+        return true
+    }
+}
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/TenantContext.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/TenantContext.kt
new file mode 100644
index 0000000..2d6116f
--- /dev/null
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/TenantContext.kt
@@ -0,0 +1,44 @@
+package com.supwisdom.oauth.tenant
+
+import org.springframework.web.context.request.RequestContextHolder
+import org.springframework.web.context.request.ServletRequestAttributes
+
+/**
+ * Created by shuwei on 2018/11/29.
+ */
+object TenantContext {
+    private val currentTenant = ThreadLocal<String>()
+
+    var tenantSchema: String?
+        get() = getId()
+        set(tid) = currentTenant.set(tid)
+
+    fun clear() {
+        currentTenant.set(null)
+    }
+
+    private fun getId(): String? {
+        try {
+            if (!currentTenant.get().isNullOrEmpty()) {
+                return currentTenant.get()
+            }
+            val requestAttributes = RequestContextHolder.getRequestAttributes() as ServletRequestAttributes?
+            if (requestAttributes != null) {
+                val schema = requestAttributes.request.getAttribute("X-TENANT-ID") as String?
+                if (!schema.isNullOrEmpty()) {
+                    return schema
+                }
+                val session = requestAttributes.request.session
+                if (session != null) {
+                    val tenantId = session.getAttribute("X-TENANT-ID") as String?
+                    if (tenantId != null) {
+                        return tenantId
+                    }
+                }
+            }
+        } catch (e: Exception) {
+            e.printStackTrace()
+        }
+        return null
+    }
+}
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/TenantInterceptor.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/TenantInterceptor.kt
new file mode 100644
index 0000000..f710228
--- /dev/null
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/tenant/TenantInterceptor.kt
@@ -0,0 +1,29 @@
+package com.supwisdom.oauth.tenant
+
+
+import org.springframework.stereotype.Component
+import org.springframework.web.servlet.ModelAndView
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter
+
+import javax.servlet.http.HttpServletRequest
+import javax.servlet.http.HttpServletResponse
+
+@Component
+class TenantInterceptor : HandlerInterceptorAdapter() {
+    @Throws(Exception::class)
+    override fun preHandle(request: HttpServletRequest, response: HttpServletResponse, handler: Any): Boolean {
+        var tid = request.getParameter("tenant_id")
+        var session = request.session
+        if(tid.isNullOrEmpty()){
+            tid = request.getHeader("X-TENANT-ID")
+            if(tid.isNullOrEmpty()){
+                tid = session.getAttribute("X-TENANT-ID") as String?
+            }
+        }
+        if(!tid.isNullOrEmpty()){
+            session.setAttribute("X-TENANT-ID",tid)
+            TenantContext.tenantSchema = tid
+        }
+        return true
+    }
+}
diff --git a/oauth/src/main/kotlin/com/supwisdom/oauth/util/Test.kt b/oauth/src/main/kotlin/com/supwisdom/oauth/util/Test.kt
new file mode 100644
index 0000000..7303390
--- /dev/null
+++ b/oauth/src/main/kotlin/com/supwisdom/oauth/util/Test.kt
@@ -0,0 +1,19 @@
+package com.supwisdom.oauth.util
+
+class Test{
+    companion object {
+        @JvmStatic
+        fun main(args: Array<String>) {
+
+        }
+    }
+
+    private fun <T : Number> min(values: Array<T>?): T? where T : Comparable<T> {
+        if (values == null || values.size == 0) return null
+        var min = values[0]
+        for (i in 1 until values.size) {
+            if (min.compareTo(values[i]) > 0) min = values[i]
+        }
+        return min
+    }
+}
\ No newline at end of file
diff --git a/oauth/src/main/resources/static/css/aui-iconfont.ttf b/oauth/src/main/resources/static/css/aui-iconfont.ttf
new file mode 100755
index 0000000..2c9d80e
--- /dev/null
+++ b/oauth/src/main/resources/static/css/aui-iconfont.ttf
Binary files differ
diff --git a/oauth/src/main/resources/static/css/aui.css b/oauth/src/main/resources/static/css/aui.css
new file mode 100644
index 0000000..c77e083
--- /dev/null
+++ b/oauth/src/main/resources/static/css/aui.css
@@ -0,0 +1,2731 @@
+/*

+ * =========================================================================

+ * APIClud - AUI UI 框架    流浪男  QQ:343757327  http://www.auicss.com

+ * Verson 2.1

+ * =========================================================================

+ */

+ /*初始化类*/

+@charset "UTF-8";

+html{

+	font-family: "Helvetica Neue", Helvetica, sans-serif;

+	font-size: 20px;

+}

+html,body {

+	-webkit-touch-callout:none;

+	-webkit-text-size-adjust:none;

+	-webkit-tap-highlight-color:rgba(0, 0, 0, 0);

+	-webkit-user-select:none;

+	width: 100%;

+}

+body {

+	line-height: 1.5;

+	font-size: 0.8rem;

+	color: #212121;

+	background-color: #f5f5f5;

+	outline: 0;

+}

+html,body,header,section,footer,div,ul,ol,li,img,a,span,em,del,legend,center,strong,var,fieldset,form,label,dl,dt,dd,cite,input,hr,time,mark,code,figcaption,figure,textarea,h1,h2,h3,h4,h5,h6,p{

+	margin:0;

+	border:0;

+	padding:0;

+	font-style:normal;

+}

+* {

+	-webkit-box-sizing: border-box;

+	      	box-sizing: border-box;

+	-webkit-user-select: none;

+	-webkit-tap-highlight-color: transparent;

+	outline: none;

+}

+@media only screen and (min-width: 400px) {

+	html {

+		font-size: 21.33333333px !important;

+	}

+}

+@media only screen and (min-width: 414px) {

+	html {

+		font-size: 21px !important;

+	}

+}

+@media only screen and (min-width: 480px) {

+	html {

+		font-size: 25.6px !important;

+	}

+}

+ul, li {

+	list-style: none;

+}

+p {

+	font-size: 0.7rem;

+	color: #757575;

+}

+a {

+	color: #0062cc;

+	text-decoration: none;

+	background-color: transparent;

+}

+textarea {

+	overflow: hidden;

+	resize: none;

+}

+button {

+	overflow: visible;

+}

+button,select {

+	text-transform: none;

+}

+button,input,select,textarea {

+	font: inherit;

+	color: inherit;

+}

+/*自动隐藏文字*/

+.aui-ellipsis-1 {

+	overflow: hidden;

+	white-space: nowrap;

+	text-overflow: ellipsis;

+}

+.aui-ellipsis {

+	display: -webkit-box;

+	overflow: hidden;

+	text-overflow: ellipsis;

+	word-wrap: break-word;

+	word-break: break-all;

+	white-space: normal !important;

+	-webkit-line-clamp: 1;

+	-webkit-box-orient: vertical;

+}

+.aui-ellipsis-2 {

+	display: -webkit-box;

+	overflow: hidden;

+	text-overflow: ellipsis;

+	word-wrap: break-word;

+	word-break: break-all;

+	white-space: normal !important;

+	-webkit-line-clamp: 2;

+	-webkit-box-orient: vertical;

+}

+/*水平线*/

+.aui-hr {

+	width: 100%;

+	position: relative;

+	border-top: 1px solid #dddddd;

+	height: 1px;

+}

+@media screen and (-webkit-min-device-pixel-ratio:1.5) {

+	.aui-hr{

+		border: none;

+        background-size: 100% 1px;

+		background-repeat: no-repeat;

+		background-position: top;

+        background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);

+        background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);

+	}

+}

+/*内外边距类*/

+.aui-padded-0 {

+	padding: 0 !important;

+}

+.aui-padded-5 {

+	padding: 0.25rem !important;

+}

+.aui-padded-10 {

+	padding: 0.5rem !important;

+}

+.aui-padded-15 {

+	padding: 0.75rem !important;

+}

+.aui-padded-t-0 {

+	padding-top: 0 !important;

+}

+.aui-padded-t-5 {

+	padding-top: 0.25rem !important;

+}

+.aui-padded-t-10 {

+	padding-top: 0.5rem !important;

+}

+.aui-padded-t-15 {

+	padding-top: 0.75rem !important;

+}

+.aui-padded-b-0 {

+	padding-bottom: 0 !important;

+}

+.aui-padded-b-5 {

+	padding-bottom: 0.25rem !important;

+}

+.aui-padded-b-10 {

+	padding-bottom: 0.5rem !important;

+}

+.aui-padded-b-15 {

+	padding-bottom: 0.75rem !important;

+}

+.aui-padded-l-0 {

+	padding-left: 0 !important;

+}

+.aui-padded-l-5 {

+	padding-left: 0.25rem !important;

+}

+.aui-padded-l-10 {

+	padding-left: 0.5rem !important;

+}

+.aui-padded-l-15 {

+	padding-left: 0.75rem !important;

+}

+.aui-padded-r-0 {

+	padding-right: 0 !important;

+}

+.aui-padded-r-5 {

+	padding-right: 0.25rem !important;

+}

+.aui-padded-r-10 {

+	padding-right: 0.5rem !important;

+}

+.aui-padded-r-15 {

+	padding-right: 0.75rem !important;

+}

+.aui-margin-0 {

+	margin: 0 !important;

+}

+.aui-margin-5 {

+	margin: 0.25rem !important;

+}

+.aui-margin-10 {

+	margin: 0.5rem !important;

+}

+.aui-margin-15 {

+	margin: 0.75rem !important;

+}

+.aui-margin-t-0 {

+	margin-top: 0.25rem !important;

+}

+.aui-margin-t-5 {

+	margin-top: 0 !important;

+}

+.aui-margin-t-10 {

+	margin-top: 0.5rem !important;

+}

+.aui-margin-t-15 {

+	margin-top: 0.75rem !important;

+}

+.aui-margin-b-0 {

+	margin-bottom: 0 !important;

+}

+.aui-margin-b-5 {

+	margin-bottom: 0.25rem !important;

+}

+.aui-margin-b-10 {

+	margin-bottom: 0.5rem !important;

+}

+.aui-margin-b-15 {

+	margin-bottom: 0.75rem !important;

+}

+.aui-margin-l-0 {

+	margin-left: 0 !important;

+}

+.aui-margin-l-5 {

+	margin-left: 0.25rem !important;

+}

+.aui-margin-l-10 {

+	margin-left: 0.5rem !important;

+}

+.aui-margin-l-15 {

+	margin-left: 0.75rem !important;

+}

+.aui-margin-r-0 {

+	margin-right: 0 !important;

+}

+.aui-margin-r-5 {

+	margin-right: 0.25rem !important;

+}

+.aui-margin-r-10 {

+	margin-right: 0.5rem !important;

+}

+.aui-margin-r-15 {

+	margin-right: 0.75rem !important;

+}

+.aui-clearfix {

+	clear: both;

+}

+.aui-clearfix:before {

+	display: table;

+	content: " ";

+}

+.aui-clearfix:after {

+	clear: both;

+}

+/*文字对齐*/

+.aui-text-left {

+	text-align: left !important;

+}

+.aui-text-center {

+	text-align: center !important;

+}

+.aui-text-justify {

+	text-align: justify !important;

+}

+.aui-text-right {

+	text-align: right !important;

+}

+/*文字、背景颜色*/

+h1,h2,h3,h4,h5,h6 {

+	font-weight: 400;

+}

+h1 {

+	font-size: 1.2rem;

+}

+h2 {

+	font-size: 1rem;

+}

+h3 {

+	font-size: 0.8rem;

+}

+h4 {

+	font-size: 0.7rem;

+}

+h5 {

+	font-size: 0.7rem;

+	font-weight: normal;

+	color: #757575;

+}

+h6 {

+	font-size: 0.7rem;

+	font-weight: normal;

+	color: #757575;

+}

+h1 small,h2 small,h3 small,h4 small {

+	font-weight: normal;

+	line-height: 1;

+	color: #757575;

+}

+h5 small,h6 small {

+	font-weight: normal;

+	line-height: 1;

+	color: #757575;

+}

+h1 small,h2 small,h3 small {

+	font-size: 65%;

+}

+h4 small,h5 small,h6 small {

+	font-size: 75%;

+}

+img {

+	max-width: 100%;

+	display: block;

+}

+.aui-font-size-12 {

+	font-size: 0.6rem !important;

+}

+.aui-font-size-14 {

+	font-size: 0.7rem !important;

+}

+.aui-font-size-16 {

+	font-size: 0.8rem !important;

+}

+.aui-font-size-18 {

+	font-size: 0.9rem !important;

+}

+.aui-font-size-20 {

+	font-size: 1rem !important;

+}

+.aui-text-default {

+	color: #212121 !important;

+}

+.aui-text-white {

+	color: #ffffff !important;

+}

+.aui-text-primary {

+	color: #00bcd4 !important;

+}

+.aui-text-success {

+	color: #009688 !important;

+}

+.aui-text-info {

+	color: #03a9f4 !important;

+}

+.aui-text-warning {

+	color: #ffc107 !important;

+}

+.aui-text-danger {

+	color: #e51c23 !important;

+}

+.aui-text-pink {

+	color: #e91e63 !important;

+}

+.aui-text-purple {

+	color: #673ab7 !important;

+}

+.aui-text-indigo {

+	color: #3f51b5 !important;

+}

+.aui-text-green {

+	color: #7cba59 !important;

+}

+.aui-text-orange {

+	color: #e0620d !important;

+}

+.aui-bg-default {

+	background-color: #f5f5f5 !important;

+}

+.aui-bg-primary {

+	background-color: #00bcd4 !important;

+}

+.aui-bg-success {

+	background-color: #009688 !important;

+}

+.aui-bg-info {

+	background-color: #03a9f4 !important;

+}

+.aui-bg-warning {

+	background-color: #f1c40f !important;

+}

+.aui-bg-danger {

+	background-color: #e51c23 !important;

+}

+.aui-bg-pink {

+	background-color: #e91e63 !important;

+}

+.aui-bg-purple {

+	background-color: #673ab7 !important;

+}

+.aui-bg-indigo {

+	background-color: #3f51b5 !important;

+}

+.aui-bg-gray {

+	background-color: #8a8a8a !important;

+}

+

+/*警告、成功颜色*/

+.aui-warning,

+.aui-warning label,

+.aui-warning .aui-input,

+.aui-warning .aui-iconfont {

+	color: #e51c23 !important;

+}

+.aui-success,

+.aui-success label,

+.aui-success .aui-input,

+.aui-success .aui-iconfont {

+	color: #009688 !important;

+}

+/*对齐,显示,隐藏等*/

+.aui-pull-right {

+	float: right !important;

+}

+.aui-pull-left {

+	float: left !important;

+}

+.aui-hide {

+	display: none !important;

+}

+.aui-show {

+	display: block !important;

+}

+.aui-invisible {

+	visibility: hidden;

+}

+.aui-inline {

+	display: inline-block;

+	vertical-align: top;

+}

+.aui-mask {

+    position: fixed;

+    width: 100%;

+    height: 100%;

+    top: 0;

+    left: 0;

+    background: rgba(0, 0, 0, 0.3);

+    opacity: 0;

+    z-index: 8;

+    visibility: hidden;

+    -webkit-transition: opacity .3s,-webkit-transform .3s;

+    transition: opacity .3s,transform .3s;

+}

+.aui-mask.aui-mask-in {

+	visibility: visible;

+  	opacity: 1;

+}

+.aui-mask.aui-mask-out {

+	opacity: 0;

+}

+img.aui-img-round {

+	border-radius: 50%;

+}

+/*基本容器*/

+.aui-content {

+	-webkit-overflow-scrolling: touch;

+	overflow-x: hidden;

+	word-break: break-all;

+}

+.aui-content-padded {

+  	margin: 0.75rem;

+  	position: relative;

+  	word-break: break-all;

+  	-webkit-overflow-scrolling: touch;

+}

+/*栅格类*/

+.aui-row {

+	overflow: hidden;

+	margin: 0;

+}

+.aui-row-padded {

+	margin-left: -0.125rem;

+	margin-right: -0.125rem;

+}

+.aui-row-padded [class*=aui-col-xs-] {

+	padding: 0.125rem;

+}

+.aui-col-xs-1,.aui-col-xs-2,.aui-col-xs-3,.aui-col-xs-4,.aui-col-xs-5,.aui-col-xs-6,.aui-col-xs-7,.aui-col-xs-8,.aui-col-xs-9,.aui-col-xs-10,.aui-col-xs-11,.aui-col-5 {

+	position: relative;

+	float: left;

+}

+.aui-col-xs-12 {

+	width: 100%;

+	position: relative;

+}

+.aui-col-xs-11 {

+	width: 91.66666667%;

+}

+.aui-col-xs-10 {

+	width: 83.33333333%;

+}

+.aui-col-xs-9 {

+	width: 75%;

+}

+.aui-col-xs-8 {

+	width: 66.66666667%;

+}

+.aui-col-xs-7 {

+	width: 58.33333333%;

+}

+.aui-col-xs-6 {

+	width: 50%;

+}

+.aui-col-xs-5 {

+	width: 41.66666667%;

+}

+.aui-col-xs-4 {

+	width: 33.33333333%;

+}

+.aui-col-xs-3 {

+	width: 25%;

+}

+.aui-col-xs-2 {

+	width: 16.66666667%;

+}

+.aui-col-xs-1 {

+	width: 8.33333333%;

+}

+.aui-col-5 {

+	width: 20%;

+}

+/*标签*/

+.aui-label {

+	display: inline-block;

+	padding: 0.2em 0.25em;

+	font-size: 0.6rem;

+	line-height: 1;

+	color: #616161;

+    background-color: #dddddd;

+	text-align: center;

+	white-space: nowrap;

+	vertical-align: middle;

+	border-radius: 0.15em;

+	position: relative;

+}

+

+.aui-label-primary {

+	color: #ffffff;

+	background-color: #00bcd4;

+}

+.aui-label-success {

+	color: #ffffff;

+	background-color: #009688;

+}

+.aui-label-info {

+  color: #ffffff;

+  background-color: #03a9f4;

+}

+.aui-label-warning {

+	color: #ffffff;

+	background-color: #ffc107;

+}

+.aui-label-danger {

+	color: #ffffff;

+	background-color: #e51c23;

+}

+.aui-label-outlined {

+	background-color: transparent;

+	position: relative;

+}

+.aui-label-outlined:after {

+    -webkit-border-radius: 2px;

+    border-radius: 2px;

+    height: 200%;

+    content: '';

+    width: 200%;

+	border: 1px solid #d9d9d9;

+    position: absolute;

+    top: -1px;

+    left: -1px;

+    transform: scale(0.5);

+    -webkit-transform: scale(0.5);

+    transform-origin: 0 0;

+    -webkit-transform-origin: 0 0;

+    z-index: 1;

+}

+.aui-label-outlined.aui-label-primary,

+.aui-label-outlined.aui-label-primary:after {

+	color: #00bcd4;

+	border-color: #00bcd4;

+}

+.aui-label-outlined.aui-label-success,

+.aui-label-outlined.aui-label-success:after {

+	color: #009688;

+	border-color: #009688;

+}

+.aui-label-outlined.aui-label-info,

+.aui-label-outlined.aui-label-info:after {

+  	color: #03a9f4;

+  	border-color: #03a9f4;

+}

+.aui-label-outlined.aui-label-warning,

+.aui-label-outlined.aui-label-warning:after {

+	color: #ffc107;

+	border-color: #ffc107;

+}

+.aui-label-outlined.aui-label-danger,

+.aui-label-outlined.aui-label-danger:after {

+	color: #e51c23;

+	border-color: #e51c23;

+}

+.aui-label .aui-iconfont {

+	font-size: 0.6rem;

+}

+/*角标*/

+.aui-badge {

+	display: inline-block;

+	width: auto;

+	text-align: center;

+	min-width: 0.8rem;

+	height: 0.8rem;

+    line-height: 0.8rem;

+    padding: 0 0.2rem;

+    font-size: 0.6rem;

+    color: #ffffff;

+    background-color: #ff2600;

+    border-radius: 0.4rem;

+    position: absolute;

+    top: 0.2rem;

+    left: 60%;

+    z-index: 99;

+}

+.aui-dot {

+	display: inline-block;

+    width: 0.4rem;

+    height: 0.4rem;

+    background: #ff2600;

+    border-radius: 0.5rem;

+    position: absolute;

+    top: 0.3rem;

+    right: 20%;

+    z-index: 99;

+}

+/*按钮样式*/

+button, .aui-btn {

+	position: relative;

+	display: inline-block;

+	font-size: 0.7rem;

+	font-weight: 400;

+	font-family: inherit;

+	text-decoration: none;

+	text-align: center;

+	margin: 0;

+	background: #dddddd;

+	padding: 0 0.6rem;

+	height: 1.5rem;

+	line-height: 1.5rem;

+	border-radius: 0.2rem;

+	white-space: nowrap;

+	text-overflow: ellipsis;

+	vertical-align: middle;

+	-webkit-box-sizing: border-box;

+			box-sizing: border-box;

+	-webkit-user-select: none;

+	      	user-select: none;

+}

+.aui-btn:active {

+	color: #212121;

+	background-color: #bdbdbd;

+}

+.aui-btn-primary {

+	color: #ffffff;

+	background-color: #00bcd4;

+}

+.aui-btn-primary.aui-active, .aui-btn-primary:active {

+	color: #ffffff;

+	background-color: #00acc1;

+}

+.aui-btn-success {

+	color: #ffffff;

+	background-color: #009688;

+}

+.aui-btn-success.aui-active, .aui-btn-success:active {

+	color: #fff;

+	background-color: #00897b;

+}

+.aui-btn-info {

+	color: #ffffff !important;

+	background-color: #03a9f4 !important;

+}

+.aui-btn-info.aui-active, .aui-btn-info:active {

+	color: #fff !important;

+	background-color: #067cb1 !important;

+}

+.aui-btn-warning {

+	color: #ffffff !important;

+	background-color: #ffc107 !important;

+}

+.aui-btn-warning.aui-active, .aui-btn-warning:active {

+	color: #ffffff !important;

+	background-color: #ffb300 !important;

+}

+.aui-btn-danger {

+	color: #ffffff !important;

+	background-color: #e51c23 !important;

+}

+.aui-btn-danger.aui-active, .aui-btn-danger:active {

+	color: #ffffff !important;

+	background-color: #dd191b !important;

+}

+.aui-btn-orangle {

+	color: #ffffff !important;

+	background-color: #efb336 !important;

+}

+.aui-btn-orangle.aui-active, .aui-btn-orangle:active {

+	color: #fff !important;

+	background-color: #e98f36 !important;

+}

+.aui-btn-blue {

+	color: #ffffff !important;

+	background-color: #17abe3 !important;

+}

+.aui-btn-blue.aui-active, .aui-btn-blue:active {

+	color: #fff !important;

+	background-color: #1195db !important;

+}

+.aui-btn-green {

+	color: #ffffff !important;

+	background-color: #36ab60 !important;

+}

+.aui-btn-green.aui-active, .aui-btn-green:active {

+	color: #fff !important;

+	background-color: #36ab60 !important;

+}

+.aui-btn-block {

+	display: block;

+	width: 100%;

+	height: 2.5rem;

+	line-height: 2.55rem;

+	margin-bottom: 0;

+	font-size: 0.9rem;

+}

+.aui-btn-block.aui-btn-sm {

+	font-size: 0.7rem;

+	height: 1.8rem;

+	line-height: 1.85rem;

+}

+.aui-btn .aui-iconfont, .aui-btn-block .aui-iconfont {

+	margin-right: 0.3rem;

+}

+.aui-btn .aui-badge, .aui-btn-block .aui-badge {

+	margin-left: 0.3rem;

+}

+.aui-btn-outlined {

+	background: transparent !important;

+	border: 1px solid #bdbdbd;

+}

+.aui-btn-outlined:active {

+	background: transparent !important;

+}

+.aui-btn-default.aui-btn-outlined {

+	color: #bdc3c7 !important;

+	border: 1px solid #dcdcdc !important;

+}

+.aui-btn-primary.aui-btn-outlined {

+	color: #00bcd4 !important;

+	border: 1px solid #00bcd4 !important;

+}

+.aui-btn-success.aui-btn-outlined {

+	color: #009688 !important;

+	border: 1px solid #009688 !important;

+}

+.aui-btn-info.aui-btn-outlined {

+	color: #03a9f4 !important;

+	border: 1px solid #03a9f4 !important;

+}

+.aui-btn-warning.aui-btn-outlined {

+	color: #ffc107 !important;

+	border: 1px solid #ffc107 !important;

+}

+.aui-btn-danger.aui-btn-outlined {

+	color: #e51c23 !important;

+	border: 1px solid #e51c23 !important;

+}

+/*

+*表单类\输入框\radio\checkbox

+**/

+.aui-input,

+input[type="text"],

+input[type="password"],

+input[type="search"],

+input[type="email"],

+input[type="tel"],

+input[type="url"],

+input[type="date"],

+input[type="datetime-local"],

+input[type="time"],

+input[type="number"],

+select,

+textarea {

+    border: none;

+    background-color: transparent;

+    border-radius: 0;

+    box-shadow: none;

+    display: block;

+    padding: 0;

+    margin: 0;

+    width: 100%;

+    height: 2.2rem;

+    line-height: normal;

+    color: #424242;

+    font-size: 0.8rem;

+    font-family: inherit;

+    box-sizing: border-box;

+    -webkit-user-select: text;

+            user-select: text;

+    -webkit-appearance: none;

+            appearance: none;

+}

+input[type="search"]::-webkit-search-cancel-button {

+	display: none;

+}

+.aui-scroll-x {

+	position: relative;

+	overflow-y: auto;

+	-webkit-overflow-scrolling: touch;

+}

+.aui-scroll-y {

+	position: relative;

+	width: 100%;

+	overflow-x: auto;

+	-webkit-overflow-scrolling: touch;

+}

+::-webkit-scrollbar{

+	width:0px;

+}

+/*列表*/

+.aui-list {

+    position: relative;

+    font-size: 0.8rem;

+    background-color: #ffffff;

+    border-top: 1px solid #dddddd;

+}

+.aui-list .aui-content {

+	overflow: hidden;

+}

+.aui-list.aui-list-noborder,

+.aui-list.aui-list-noborder {

+    border-top: none;

+}

+.aui-list .aui-list-header {

+    background-color: #dddddd;

+    color: #212121;

+    position: relative;

+    font-size: 0.6rem;

+    padding: 0.4rem 0.75rem;

+    -webkit-box-sizing: border-box;

+    		box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-box-pack: justify;

+    -webkit-justify-content: space-between;

+    		justify-content: space-between;

+    -webkit-box-align: center;

+    -webkit-align-items: center;

+    		align-items: center;

+}

+.aui-list .aui-list-item {

+    list-style: none;

+    margin: 0;

+    padding: 0;

+    padding-left: 0.75rem;

+    color: #212121;

+    border-bottom: 1px solid #f2f2f2;

+    position: relative;

+    min-height: 2.2rem;

+    -webkit-box-sizing: border-box;

+    		box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-box-pack: justify;

+    -webkit-justify-content: space-between;

+    		justify-content: space-between;

+}

+.aui-list.aui-list-noborder .aui-list-item:last-child {

+    border-bottom: 0;

+}

+.aui-list .aui-list-item-inner {

+    position: relative;

+    min-height: 2.2rem;

+	padding-right: 0.75rem;

+    width: 100%;

+    -webkit-box-sizing: border-box;

+    		box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-box-flex: 1;

+    -webkit-box-pack: justify;

+    -webkit-justify-content: space-between;

+			justify-content: space-between;

+    -webkit-box-align: center;

+    -webkit-align-items: center;

+			align-items: center;

+}

+

+.aui-list .aui-list-item:active {

+    background-color: #f5f5f5;

+}

+.aui-list .aui-list-item-text {

+    font-size: 0.7rem;

+    color: #757575;

+    position: relative;

+    -webkit-box-sizing: border-box;

+    		box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-box-pack: justify;

+    -webkit-justify-content: space-between;

+            justify-content: space-between;

+    -webkit-align-items: center;

+    		align-items: center;

+}

+.aui-list .aui-list-item-title {

+    font-size: 0.8rem;

+    position: relative;

+    max-width: 100%;

+    color: #212121;

+}

+.aui-list .aui-list-item-right,

+.aui-list-item-title-row em {

+	max-width: 50%;

+	position: relative;

+    font-size: 0.6rem;

+    color: #757575;

+    margin-left: 0.25rem;

+}

+.aui-list .aui-list-item-inner p {

+    overflow: hidden;

+}

+.aui-list .aui-list-media-list {

+    -webkit-box-orient: vertical;

+    -webkit-box-direction: normal;

+    -webkit-flex-direction: column;

+            flex-direction: column;

+}

+.aui-media-list-item-inner {

+	-webkit-box-sizing: border-box;

+			box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+}

+.aui-media-list .aui-list-item {

+	display: block;

+}

+.aui-media-list .aui-list-item-inner {

+	display: block;

+	padding-top: 0.5rem;

+    padding-bottom: 0.5rem;

+}

+.aui-media-list-item-inner + .aui-info {

+	margin-right: 0.75rem;

+}

+.aui-list .aui-list-item-media {

+	width: 4.5rem;

+	position: relative;

+    padding: 0.5rem 0;

+    padding-right: 0.75rem;

+    display: inherit;

+    -webkit-flex-shrink: 0;

+    		flex-shrink: 0;

+    -webkit-flex-wrap: nowrap;

+    		flex-wrap: nowrap;

+    -webkit-box-align: center;

+    -webkit-align-items: flex-start;

+            align-items: flex-start;

+}

+.aui-list .aui-list-item-media img {

+	width: 100%;

+    display: block;

+}

+.aui-list .aui-list-item-media-list {

+	margin-top: 0.25rem;

+	padding-right: 0;

+	display: block;

+}

+.aui-list [class*=aui-col-xs-] img{

+    max-width: 100%;

+    width: 100%;

+    display: block;

+}

+.aui-list-item-middle .aui-list-item-inner:after {

+	display: block;

+}

+.aui-list .aui-list-item-middle > .aui-list-item-media,

+.aui-list .aui-list-item-middle > .aui-list-item-inner,

+.aui-list .aui-list-item-middle > * {

+    -webkit-box-align: center;

+    		box-align: center;

+    -webkit-align-items: center;

+    		align-items: center;

+}

+.aui-list .aui-list-item-center > .aui-list-item-media,

+.aui-list .aui-list-item-center > .aui-list-item-inner,

+.aui-list .aui-list-item-center {

+    -webkit-box-pack: center;

+    -webkit-justify-content: center;

+        	justify-content: center;

+}

+.aui-list .aui-list-item i.aui-iconfont {

+    -webkit-align-self: center;

+            align-self: center;

+    font-size: 0.8rem;

+}

+.aui-list-item-inner.aui-list-item-arrow {

+    overflow: hidden;

+    padding-right: 1.5rem;

+}

+.aui-list-item-arrow:before {

+    content: '';

+    width: 0.4rem;

+    height: 0.4rem;

+    position: absolute;

+    top: 50%;

+    right: 0.75rem;

+    margin-top: -0.2rem;

+    background: transparent;

+    border: 1px solid #dddddd;

+    border-top: none;

+    border-right: none;

+    z-index: 2;

+    -webkit-border-radius: 0;

+            border-radius: 0;

+    -webkit-transform: rotate(-135deg);

+            transform: rotate(-135deg);

+}

+.aui-list-item.aui-list-item-arrow {

+    padding-right: 0.75rem;

+}

+.aui-list label {

+    line-height: 1.3rem;

+}

+.aui-list.aui-form-list .aui-list-item:active {

+	background-color: #ffffff;

+}

+.aui-list.aui-form-list .aui-list-item-inner {

+	-webkit-box-sizing: border-box;

+    		box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+	padding: 0;

+}

+.aui-list .aui-list-item-label,

+.aui-list .aui-list-item-label-icon {

+	color: #212121;

+    width: 35%;

+    min-width: 1.5rem;

+    margin: 0;

+    padding: 0;

+    padding-right: 0.25rem;

+    line-height: 2.2rem;

+    position: relative;

+    overflow: hidden;

+    white-space: nowrap;

+    max-width: 100%;

+    -webkit-box-sizing: border-box;

+    		box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-align-items: center;

+            align-items: center;

+}

+.aui-list .aui-list-item-label-icon {

+    width: auto;

+    padding-right: 0.75rem;

+}

+.aui-list .aui-list-item-input {

+    width: 100%;

+    padding: 0;

+    padding-right: 0.75rem;

+    -webkit-box-flex: 1;

+            box-flex: 1;

+    -webkit-flex-shrink: 1;

+            flex-shrink: 1;

+}

+.aui-list.aui-select-list .aui-list-item:active {

+	background-color: #ffffff;

+}

+.aui-list.aui-select-list .aui-list-item-inner {

+    display: block;

+    padding-top: 0.5rem;

+    padding-bottom: 0.5rem;

+    -webkit-align-self: stretch;

+    		align-self: stretch;

+}

+.aui-list.aui-select-list .aui-list-item-label {

+	width: auto;

+	min-width: 2.2rem;

+    padding: 0.5rem 0;

+    padding-right: 0.75rem;

+}

+.aui-list.aui-form-list .aui-list-item-btn {

+	padding: 0.75rem 0.75rem 0.75rem 0;

+}

+.aui-list textarea {

+    overflow: auto;

+    margin: 0.5rem 0;

+    height: 3rem;

+    line-height: 1rem;

+    resize: none;

+}

+.aui-list .aui-list-item-right .aui-badge,

+.aui-list .aui-list-item-right .aui-dot {

+	display: inherit;

+}

+@media screen and (-webkit-min-device-pixel-ratio:1.5) {

+	.aui-list {

+		border: none;

+        background-size: 100% 1px;

+		background-repeat: no-repeat;

+		background-position: top;

+        background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);

+	}

+	.aui-list .aui-list-item {

+		border: none;

+        background-size: 100% 1px;

+		background-repeat: no-repeat;

+		background-position: bottom;

+        background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);

+        background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);

+	}

+

+	.aui-list.aui-list-in .aui-list-item {

+		border: none;

+        background-size: 100% 1px;

+		background-repeat: no-repeat;

+		background-position: 0.75rem bottom;

+        background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);

+        background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);

+	}

+	.aui-list.aui-list-in .aui-list-item:last-child {

+		background-position: bottom;

+	}

+	.aui-list.aui-list-noborder,

+	.aui-list.aui-list-noborder .aui-list-item:last-child {

+		border: none;

+        background-size: 100% 0;

+        background-image: none;

+	}

+}

+/*tab切换类*/

+.aui-tab {

+	position: relative;

+    background-color: #ffffff;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-flex-wrap: nowrap;

+            flex-wrap: nowrap;

+    -webkit-align-self: center;

+            align-self: center;

+}

+.aui-tab-item {

+    width: 100%;

+    height: 2.2rem;

+    line-height: 2.2rem;

+    position: relative;

+    font-size: 0.7rem;

+    text-align: center;

+    color: #212121;

+    margin-left: -1px;

+    -webkit-box-flex: 1;

+            box-flex: 1;

+}

+.aui-tab-item.aui-active {

+    color: #03a9f4;

+    border-bottom: 2px solid #03a9f4;

+}

+/*卡片列表布局*/

+.aui-card-list {

+	position: relative;

+    margin-bottom: 0.35rem;

+    background: #ffffff;

+}

+.aui-card-list-header,

+.aui-card-list-footer {

+	position: relative;

+	min-height: 2.2rem;

+    padding: 0.5rem 0.75rem;

+    -webkit-box-sizing: border-box;

+    		box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-box-pack: justify;

+    -webkit-justify-content: space-between;

+    		justify-content: space-between;

+    -webkit-box-align: center;

+    -webkit-align-items: center;

+    		align-items: center;

+}

+.aui-card-list-header {

+	font-size: 0.8rem;

+	color: #212121;

+}

+.aui-card-list-header.aui-card-list-user {

+	display: block;

+}

+.aui-card-list-user-avatar {

+	width: 2rem;

+	float: left;

+	margin-right: 0.5rem;

+}

+.aui-card-list-user-avatar img {

+	width: 100%;

+	display: block;

+}

+.aui-card-list-user-name {

+	color: #212121;

+	position: relative;

+	font-size: 0.7rem;

+	-webkit-box-sizing: border-box;

+			box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-box-pack: justify;

+    -webkit-justify-content: space-between;

+    		justify-content: space-between;

+    -webkit-box-align: center;

+    -webkit-align-items: center;

+    		align-items: center;

+}

+.aui-card-list-user-name > *,

+.aui-card-list-user-name small {

+	position: relative;

+}

+.aui-card-list-user-name small {

+	color: #757575;

+}

+.aui-card-list-user-info {

+	color: #757575;

+	font-size: 0.6rem;

+}

+.aui-card-list-content {

+	position: relative;

+}

+.aui-card-list-content-padded {

+	position: relative;

+	padding: 0.5rem 0.75rem;

+}

+.aui-card-list-content,

+.aui-card-list-content-padded {

+	word-break: break-all;

+	font-size: 0.7rem;

+	color: #212121;

+}

+.aui-card-list-content img,

+.aui-card-list-content-padded img {

+	width: 100%;

+	display: block;

+}

+.aui-card-list-footer {

+	font-size: 0.7rem;

+	color: #757575;

+}

+.aui-card-list-footer > * {

+	position: relative;

+}

+.aui-card-list-footer.aui-text-center {

+	display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+	-webkit-box-pack: center;

+    box-pack: center;

+    -webkit-justify-content: center;

+    justify-content: center;

+}

+.aui-card-list-footer .aui-iconfont {

+	font-size: 0.9rem;

+}

+/*宫格布局*/

+.aui-grid {

+	width: 100%;

+	background-color: #ffffff;

+	display: table;

+	table-layout: fixed;

+}

+.aui-grid [class*=aui-col-] {

+	display: table-cell;

+	position: relative;

+    text-align: center;

+    vertical-align: middle;

+    padding: 0.6rem 0;

+}

+.aui-grid [class*=aui-col-xs-]:active {

+	background-color: #f5f5f5;

+}

+.aui-grid [class*=top-btn]:active {

+	background-color: #048cca;

+}

+.aui-grid .aui-iconfont {

+	position: relative;

+    z-index: 20;

+    top: 0;

+    height: 1.4rem;

+    font-size: 1.4rem;

+    line-height: 1.4rem;

+}

+.aui-grid .aui-grid-label {

+	display: block;

+    font-size: 0.7rem;

+    position: relative;

+    margin-top: 0.25rem;

+}

+.aui-grid .aui-badge {

+	position: absolute;

+    top: 0.5rem;

+    left: 60%;

+    z-index: 99;

+}

+.aui-grid .aui-dot {

+	position: absolute;

+    top: 0.5rem;

+    right: 20%;

+    z-index: 99;

+}

+/*单选、多选、开关*/

+.aui-radio,

+.aui-checkbox {

+    width: 1.2rem;

+    height: 1.2rem;

+    background-color: #ffffff;

+    border: solid 1px #dddddd;

+    -webkit-border-radius: 0.6rem;

+    border-radius: 0.6rem;

+    font-size: 0.8rem;

+    margin: 0;

+    padding: 0;

+    position: relative;

+    display: inline-block;

+    vertical-align: top;

+    cursor: default;

+    -webkit-appearance: none;

+    -webkit-user-select: none;

+            user-select: none;

+    -webkit-transition: background-color ease 0.1s;

+            transition: background-color ease 0.1s;

+}

+.aui-checkbox {

+    border-radius: 0.1rem;

+}

+.aui-radio:checked,

+.aui-radio.aui-checked,

+.aui-checkbox:checked,

+.aui-checkbox.aui-checked {

+    background-color: #03a9f4;

+    border: solid 1px #03a9f4;

+    text-align: center;

+    background-clip: padding-box;

+}

+.aui-radio:checked:before,

+.aui-radio.aui-checked:before,

+.aui-checkbox:checked:before,

+.aui-checkbox.aui-checked:before,

+.aui-radio:checked:after,

+.aui-radio.aui-checked:after,

+.aui-checkbox:checked:after,

+.aui-checkbox.aui-checked:after {

+    content: '';

+    width: 0.5rem;

+    height: 0.3rem;

+    position: absolute;

+    top: 50%;

+    left: 50%;

+    margin-left: -0.25rem;

+    margin-top: -0.25rem;

+    background: transparent;

+    border: 1px solid #ffffff;

+    border-top: none;

+    border-right: none;

+    z-index: 2;

+    -webkit-border-radius: 0;

+            border-radius: 0;

+    -webkit-transform: rotate(-45deg);

+            transform: rotate(-45deg);

+}

+.aui-radio:disabled,

+.aui-radio.aui-disabled,

+.aui-checkbox:disabled,

+.aui-checkbox.aui-disabled {

+    background-color: #dddddd;

+    border: solid 1px #dddddd;

+}

+.aui-radio:disabled:before,

+.aui-radio.aui-disabled:before,

+.aui-radio:disabled:after,

+.aui-radio.aui-disabled:after,

+.aui-checkbox:disabled:before,

+.aui-checkbox.aui-disabled:before,

+.aui-checkbox:disabled:after,

+.aui-checkbox.aui-disabled:after {

+    content: '';

+    width: 0.5rem;

+    height: 0.3rem;

+    position: absolute;

+    top: 50%;

+    left: 50%;

+    margin-left: -0.25rem;

+    margin-top: -0.25rem;

+    background: transparent;

+    border: 1px solid #ffffff;

+    border-top: none;

+    border-right: none;

+    z-index: 2;

+    -webkit-border-radius: 0;

+            border-radius: 0;

+    -webkit-transform: rotate(-45deg);

+            transform: rotate(-45deg);

+}

+.aui-switch {

+    width: 2.3rem;

+    height: 1.2rem;

+    position: relative;

+    vertical-align: top;

+    border: 1px solid #dddddd;

+    background-color: #dddddd;

+    border-radius: 0.6rem;

+    background-clip: content-box;

+    display: inline-block;

+    outline: none;

+    -webkit-appearance: none;

+            appearance: none;

+    -webkit-user-select: none;

+            user-select: none;

+    -webkit-box-sizing: border-box;

+            box-sizing: border-box;

+    -webkit-background-clip: padding-box;

+            background-clip: padding-box;

+    -webkit-transition: all 0.2s linear;

+            transition: all 0.2s linear;

+}

+.aui-switch:before {

+    width: 1.1rem;

+    height: 1.1rem;

+    position: absolute;

+    top: 0;

+    left: 0;

+    border-radius: 0.6rem;

+    background-color: #fff;

+    content: '';

+    -webkit-transition: left 0.2s;

+            transition: left 0.2s;

+}

+.aui-switch:checked {

+    border-color: #03a9f4;

+    background-color: #03a9f4;

+}

+.aui-switch:checked:before {

+    left: 1.1rem;

+}

+/*导航栏*/

+.aui-bar {

+	position: relative;

+	top: 0;

+	right: 0;

+	left: 0;

+	z-index: 10;

+	width: 100%;

+	min-height: 2.25rem;

+	font-size: 0.9rem;

+	text-align: center;

+	display: table;

+}

+.aui-bar-nav {

+	top: 0;

+	line-height: 2.25rem;

+	background-color: #03a9f4;

+	color: #ffffff;

+}

+.aui-title a {

+	color: inherit;

+}

+.aui-bar-nav .aui-title {

+	min-height: 2.25rem;

+	position: absolute;

+	margin: 0;

+	text-align: center;

+	white-space: nowrap;

+	right: 2rem;

+	left: 2rem;

+	width: auto;

+	overflow: hidden;

+	/*text-overflow: ellipsis;*/

+	z-index: 2;

+}

+.aui-bar-nav a {

+	color: #ffffff;

+}

+.aui-bar-nav .aui-iconfont {

+	position: relative;

+	z-index: 20;

+	font-size: 0.9rem;

+	color: #ffffff;

+	font-weight: 400;

+	line-height: 2.25rem;

+}

+.aui-bar-nav .aui-pull-left {

+	padding: 0 0.5rem;

+	font-size: 0.8rem;

+	font-weight: 400;

+	z-index: 2;

+	-webkit-box-sizing: border-box;

+			box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-align-items: center;

+            align-items: center;

+}

+.aui-bar-nav .aui-pull-right {

+	padding: 0 0.5rem;

+	font-size: 0.8rem;

+	font-weight: 400;

+	z-index: 2;

+	-webkit-box-sizing: border-box;

+			box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-align-items: center;

+            align-items: center;

+}

+.aui-bar-nav .aui-btn {

+	position: relative;

+	z-index: 20;

+	height: 2.25rem;

+	line-height: 2.25rem;

+	padding-top: 0;

+	padding-bottom: 0;

+	margin: 0;

+	border-radius: 0.1rem;

+	border-width: 0;

+	background: transparent !important;

+}

+.aui-bar-nav .aui-btn.aui-btn-outlined {

+	position: relative;

+	padding: 0 0.15rem;

+	margin: 0.5rem;

+	height: 1.25rem;

+	line-height: 1.25rem;

+	border-width: 1px;

+	background: transparent !important;

+	border-color: #ffffff;

+}

+.aui-bar-nav .aui-btn:active {

+	background: none;

+}

+.aui-bar-nav .aui-btn .aui-iconfont {

+	font-size: 0.9rem;

+	line-height: 1.25rem;

+	padding: 0;

+	margin: 0;

+	color: #ffffff;

+}

+.aui-bar-light {

+	color: #03a9f4;

+	background-color: #ffffff;

+	border-bottom: 1px solid #dddddd;

+}

+.aui-bar-nav.aui-bar-light .aui-iconfont {

+	color: #03a9f4;

+}

+.aui-bar-nav.aui-bar-light .aui-btn-outlined {

+	border-color: #03a9f4;

+}

+@media screen and (-webkit-min-device-pixel-ratio:1.5) {

+	.aui-bar.aui-bar-light {

+		border: none;

+        background-size: 100% 1px;

+		background-repeat: no-repeat;

+		background-position: bottom;

+        background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);

+        background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);

+	}

+}

+/*底部切换栏*/

+.aui-bar-tab {

+	position: fixed;

+	top: auto;

+	bottom: 0;

+	table-layout: fixed;

+	background-color: #ffffff;

+	color: #757575;

+}

+.aui-bar-tab .aui-bar-tab-item {

+	display: table-cell;

+	position: relative;

+    width: 1%;

+    height: 2.5rem;

+    text-align: center;

+    vertical-align: middle;

+}

+.aui-bar-tab .aui-active {

+	color: #03a9f4;

+}

+.aui-bar-tab .aui-bar-tab-item .aui-iconfont {

+	position: relative;

+    z-index: 20;

+    top: 0.1rem;

+    height: 1.2rem;

+    font-size: 1rem;

+    line-height: 1rem;

+}

+.aui-bar-tab .aui-bar-tab-label {

+	display: block;

+    font-size: 0.6rem;

+    position: relative;

+}

+.aui-bar-tab .aui-badge {

+    position: absolute;

+    top: 0.1rem;

+    left: 55%;

+    z-index: 99;

+}

+.aui-bar-tab .aui-dot {

+    position: absolute;

+    top: 0.1rem;

+    right: 30%;

+    z-index: 99;

+}

+/*按钮工具栏*/

+.aui-bar-btn {

+	position: relative;

+    font-size: 0.7rem;

+    display: table;

+    white-space: nowrap;

+    margin: 0 auto;

+    padding: 0;

+    border: none;

+    width: 100%;

+    min-height: 1.8rem;

+}

+.aui-bar-btn-item {

+    display: table-cell;

+    position: relative;

+    width: 1%;

+    line-height: 1.6rem;

+    text-align: center;

+    vertical-align: middle;

+    border-radius: 0;

+    position: relative;

+    border-width: 1px;

+    border-style: solid;

+    border-color: #03a9f4;

+    border-left-width: 0;

+}

+.aui-bar-btn .aui-input,

+.aui-bar-btn input,

+.aui-bar-btn select {

+	padding-left: 0.25rem;

+	padding-right: 0.25rem;

+    height: 1.8rem;

+}

+.aui-bar-btn-sm {

+    min-height: 1.3rem;

+}

+.aui-bar-btn.aui-bar-btn-sm  .aui-input,

+.aui-bar-btn.aui-bar-btn-sm  input,

+.aui-bar-btn.aui-bar-btn-sm  select {

+    height: 1.2rem;

+}

+.aui-bar-btn-sm .aui-bar-btn-item {

+    line-height: 1.3rem;

+    font-size: 0.6rem;

+}

+.aui-bar-btn-item.aui-active {

+    background-color: #03a9f4;

+    color: #ffffff;

+}

+.aui-bar-btn-item:first-child {

+    border-left-width: 1px;

+    border-top-left-radius: 0.2rem;

+    border-bottom-left-radius: 0.2rem;

+}

+.aui-bar-btn-item:last-child {

+    border-top-right-radius: 0.2rem;

+    border-bottom-right-radius: 0.2rem;

+    border-left: 0px;

+}

+.aui-bar-btn.aui-bar-btn-full .aui-bar-btn-item:first-child {

+    border-left-width: 0;

+    border-top-left-radius: 0;

+    border-bottom-left-radius: 0;

+}

+.aui-bar-btn.aui-bar-btn-full .aui-bar-btn-item:last-child {

+    border-right-width: 0;

+    border-top-right-radius: 0;

+    border-bottom-right-radius: 0;

+}

+.aui-bar-btn.aui-bar-btn-round .aui-bar-btn-item:first-child {

+    border-top-left-radius: 1.5rem;

+    border-bottom-left-radius: 1.5rem;

+}

+.aui-bar-btn.aui-bar-btn-round .aui-bar-btn-item:last-child {

+    border-top-right-radius: 1.5rem;

+    border-bottom-right-radius: 1.5rem;

+}

+.aui-bar-nav .aui-bar-btn {

+	margin-top: 0.45rem;

+	margin-bottom: 0.4rem;

+    min-height: 1.3rem;

+}

+.aui-bar-nav .aui-bar-btn-item {

+    line-height: 1.3rem;

+    border-color: #ffffff;

+}

+.aui-bar-nav .aui-bar-btn-item.aui-active {

+    background-color: #ffffff;

+    color: #03a9f4;

+}

+.aui-bar-nav.aui-bar-light .aui-bar-btn-item {

+    border-color: #03a9f4;

+}

+.aui-bar-nav.aui-bar-light .aui-bar-btn-item.aui-active {

+    background-color: #03a9f4;

+    color: #ffffff;

+}

+.aui-bar-nav > .aui-bar-btn {

+	width: 50%;

+}

+.aui-info {

+	position: relative;

+    padding: 0.5rem 0;

+    font-size: 0.7rem;

+    color: #757575;

+    background-color: transparent;

+    -webkit-box-sizing: border-box;

+    		box-sizing: border-box;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-box-pack: justify;

+    -webkit-justify-content: space-between;

+    		justify-content: space-between;

+    -webkit-box-align: center;

+    -webkit-align-items: center;

+    		align-items: center;

+

+}

+.aui-info-item {

+	-webkit-box-sizing: border-box;

+			box-sizing: border-box;

+	display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-box-align: center;

+    -webkit-align-items: center;

+    		align-items: center;

+}

+.aui-info-item > *,

+.aui-info > * {

+	display: inherit;

+	position: relative;

+}

+/*进度条*/

+.aui-progress {

+	width: 100%;

+	height: 1rem;

+	border-radius: 0.2rem;

+	overflow: hidden;

+	background-color: #f0f0f0;

+}

+.aui-progress-bar {

+	float: left;

+	width: 0;

+	height: 100%;

+	font-size: 0.6rem;

+	line-height: 1rem;

+	color: #ffffff;

+	text-align: center;

+	background-color: #03a9f4;

+}

+.aui-progress.sm,

+.aui-progress-sm {

+	height: 0.5rem;

+}

+.aui-progress.sm,

+.aui-progress-sm,

+.aui-progress.sm .aui-progress-bar,

+.aui-progress-sm .aui-progress-bar {

+	border-radius: 1px;

+}

+.aui-progress.xs,

+.aui-progress-xs {

+	height: 0.35rem;

+}

+.aui-progress.xs,

+.aui-progress-xs,

+.aui-progress.xs .progress-bar,

+.aui-progress-xs .progress-bar {

+	border-radius: 1px;

+}

+.aui-progress.xxs,

+.aui-progress-xxs {

+	height: 0.15rem;

+}

+.aui-progress.xxs,

+.aui-progress-xxs,

+.aui-progress.xxs .progress-bar,

+.aui-progress-xxs .progress-bar {

+	border-radius: 1px;

+}

+/*滑块*/

+.aui-range {

+    position: relative;

+    display: inline-block;

+}

+.aui-range input[type='range']{

+    height: 0.2rem;

+    border: 0;

+    border-radius: 2px;

+    background-color: #f0f0f0;

+    position: relative;

+    -webkit-appearance: none !important;

+}

+.aui-range input[type='range']::-webkit-slider-thumb {

+    width: 1.2rem;

+    height: 1.2rem;

+    border-radius: 50%;

+    border-color: #03a9f4;

+    background-color: #03a9f4;

+    -webkit-appearance: none !important;

+}

+.aui-range .aui-range-tip {

+    font-size: 1rem;

+    position: absolute;

+    z-index: 999;

+    top: -1.5rem;

+    width: 2.4rem;

+    height: 1.5rem;

+    line-height: 1.5rem;

+    text-align: center;

+    color: #666666;

+    border: 1px solid #dddddd;

+    border-radius: 0.3rem;

+    background-color: #ffffff;

+}

+.aui-input-row .aui-range input[type='range'] {

+	width: 90%;

+	margin-left: 5%;

+}

+/*搜索条*/

+.aui-searchbar {

+    display: -webkit-box;

+    -webkit-box-pack: center;

+    -webkit-box-align: center;

+    height: 2.2rem;

+    overflow: hidden;

+    width: 100%;

+    background-color: #ebeced;

+    color: #9e9e9e;

+    -webkit-backface-visibility: hidden;

+  			backface-visibility: hidden;

+}

+.aui-searchbar.focus {

+    -webkit-box-pack: start;

+}

+.aui-searchbar-input {

+    margin: 0 0.5rem;

+	background-color: #ffffff;

+    border-radius: 0.25rem;

+    height: 1.4rem;

+    line-height: 1.4rem;

+    font-size: 0.7rem;

+    position: relative;

+    padding-left: 0.5rem;

+    display: -webkit-box;

+    -webkit-box-flex: 1;

+}

+.aui-searchbar form {

+	width: 90%;

+}

+.aui-searchbar-input input {

+    color: #666666;

+    width: 80%;

+    padding: 0;

+    margin: 0;

+    height: 1.4rem;

+    line-height: normal;

+    border: 0;

+    -webkit-appearance: none;

+    font-size: 0.7rem;

+}

+.aui-searchbar input::-webkit-input-placeholder {

+	color: #ccc;

+}

+.aui-searchbar .aui-iconfont {

+    line-height: 1.4rem;

+    margin-right: 0.25rem;

+    color: #9e9e9e !important;

+}

+.aui-searchbar .aui-searchbar-btn {

+	font-size: 0.7rem;

+	color: #666666;

+	margin-right: -2.2rem;

+	width: 2.2rem;

+	height: 1.4rem;

+	padding-right: 0.5rem;

+	line-height: 1.4rem;

+	text-align: center;

+	-webkit-transition: all .3s;

+	      	transition: all .3s;

+}

+.aui-searchbar-clear-btn {

+	position: absolute;

+	right: 5px;

+	top: 3px;

+	width: 1.1rem;

+	height: 1.1rem;

+	background: #eeeeee;

+	border-radius: 50%;

+	line-height: 0.6rem;

+	text-align: center;

+	display: none;

+}

+.aui-searchbar-clear-btn .aui-iconfont {

+	font-size: 0.6rem;

+	margin: 0 auto;

+	position: relative;

+	top: -2px;

+}

+.aui-searchbar .aui-searchbar-btn .aui-iconfont {

+	color: #666666;

+}

+/*信息提示条*/

+.aui-tips {

+    padding: 0 0.75rem;

+    width: 100%;

+    z-index: 99;

+    height: 1.9rem;

+    line-height: 1.9rem;

+   	position: relative;

+    background-color: rgba(0,0,0,.6);

+    color: #ffffff;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-box-pack: justify;

+    -webkit-justify-content: space-between;

+            justify-content: space-between;

+    -webkit-align-items: center;

+    		align-items: center;

+}

+.aui-tips .aui-tips-title {

+	padding: 0 0.5rem;

+	font-size: 0.7rem;

+    position: relative;

+    max-width: 100%;

+}

+/*toast*/

+.aui-toast {

+	background: rgba(0, 0, 0, 0.7);

+	text-align: center;

+	border-radius: 0.25rem;

+	color: #ffffff;

+	position: fixed;

+	z-index: 300;

+	top: 45%;

+	left: 50%;

+	width: 7.5em;

+	min-height: 6em;

+	margin-left: -3.75em;

+	margin-top: -4rem;

+	display: none;

+}

+.aui-toast .aui-iconfont {

+	margin-top: 0.2rem;

+	display: block;

+	font-size: 2.6rem;

+}

+.aui-toast-content {

+  margin: 0 0 0.75rem;

+}

+.aui-toast-loading {

+    background-color: #ffffff;

+    border-radius: 100%;

+    margin: 0.75rem 0;

+    -webkit-animation-fill-mode: both;

+        	animation-fill-mode: both;

+    border: 2px solid #ffffff;

+    border-bottom-color: transparent;

+    height: 2.25rem;

+    width: 2.25rem;

+    background: transparent !important;

+    display: inline-block;

+    -webkit-animation: rotate 1s 0s linear infinite;

+        	animation: rotate 1s 0s linear infinite;

+}

+/*dialog*/

+.aui-dialog {

+	width: 13.5rem;

+	text-align: center;

+	position: fixed;

+	z-index: 999;

+	left: 50%;

+	margin-left: -6.75rem;

+	margin-top: 0;

+	top: 45%;

+	border-radius: 0.3rem;

+	opacity: 0;

+	background-color: #ffffff;

+	-webkit-transform: translate3d(0, 0, 0) scale(1.2);

+          	transform: translate3d(0, 0, 0) scale(1.2);

+ 	-webkit-transition-property: -webkit-transform, opacity;

+          	transition-property: transform, opacity;

+    /*display: none;*/

+}

+.aui-dialog-header {

+    padding: 0.5rem 0.75rem 0 0.75rem;

+    text-align: center;

+    font-size: 1em;

+    color: #212121;

+}

+.aui-dialog-body {

+    padding: 0.75rem;

+    overflow: hidden;

+    font-size: 0.875em;

+    color: #757575;

+}

+.aui-dialog-body input {

+	border: 1px solid #dddddd;

+	height: 1.8rem;

+	line-height: 1.8rem;

+	min-height: 1.8rem;

+	padding-left: 0.25rem;

+	padding-right: 0.25rem;

+}

+.aui-dialog-footer {

+    position: relative;

+    font-size: 1em;

+    border-top: 1px solid #dddddd;

+    display: -webkit-box;

+    display: -webkit-flex;

+    display: flex;

+    -webkit-box-pack: center;

+	-webkit-justify-content: center;

+			justify-content: center;

+}

+.aui-dialog-btn {

+	position: relative;

+	display: block;

+    width: 100%;

+	padding: 0 0.25rem;

+	height: 2.2rem;

+	font-size: 0.8rem;

+	line-height: 2.2rem;

+	text-align: center;

+	color: #0894ec;

+	border-right: 1px solid #dddddd;

+	white-space: nowrap;

+	text-overflow: ellipsis;

+	overflow: hidden;

+	-webkit-box-sizing: border-box;

+			box-sizing: border-box;

+	-webkit-box-flex: 1;

+			box-flex: 1;

+}

+.aui-dialog-btn:last-child {

+	border-right: none;

+}

+.aui-dialog.aui-dialog-in {

+	opacity: 1;

+	-webkit-transition-duration: 300ms;

+	      transition-duration: 300ms;

+	-webkit-transform: translate3d(0, 0, 0) scale(1);

+	      transform: translate3d(0, 0, 0) scale(1);

+}

+.aui-dialog.aui-dialog-out {

+	opacity: 0;

+	-webkit-transition-duration: 300ms;

+	      transition-duration: 300ms;

+	-webkit-transform: translate3d(0, 0, 0) scale(0.815);

+	      transform: translate3d(0, 0, 0) scale(0.815);

+}

+@media only screen and (-webkit-min-device-pixel-ratio: 1.5) {

+    .aui-dialog-footer {

+		border: none;

+        background-size: 100% 1px;

+		background-repeat: no-repeat;

+		background-position: top;

+        background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);

+        background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);

+	}

+	.aui-dialog-btn {

+		border: none;

+        background-image: -webkit-linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%);

+        background-image: linear-gradient(270deg, #dddddd, #dddddd 50%, transparent 50%);

+        background-size: 1px 100%;

+        background-repeat: no-repeat;

+        background-position: right;

+	}

+	.aui-dialog-btn:last-child {

+		border: none;

+        background-size: 0 100%;

+	}

+	.aui-dialog-body input {

+        border: none;

+        background-image: -webkit-linear-gradient(270deg, #dddddd, #dddddd 50%, transparent 50%), -webkit-linear-gradient(180deg, #dddddd, #dddddd 50%, transparent 50%), -webkit-linear-gradient(90deg, #dddddd, #dddddd 50%, transparent 50%), -webkit-linear-gradient(0, #dddddd, #dddddd 50%, transparent 50%);

+        background-image: linear-gradient(180deg, #dddddd, #dddddd 50%, transparent 50%), linear-gradient(270deg, #dddddd, #dddddd 50%, transparent 50%), linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%), linear-gradient(90deg, #dddddd, #dddddd 50%, transparent 50%);

+        background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;

+        background-repeat: no-repeat;

+        background-position: top, right top, bottom, left top;

+    }

+}

+/*popup*/

+.aui-popup {

+    padding: 0;

+    margin: 0;

+    background: transparent;

+    position: fixed;

+    height: auto;

+    min-width: 7rem;

+    min-height: 4.5rem;

+    z-index: 999;

+    opacity: 0;

+ 	-webkit-transition-property: -webkit-transform, opacity;

+          	transition-property: transform, opacity;

+}

+.aui-popup.aui-popup-in {

+	opacity: 1;

+	-webkit-transition-duration: 300ms;

+	      transition-duration: 300ms;

+}

+.aui-popup.aui-popup-out {

+	opacity: 0;

+	-webkit-transition-duration: 300ms;

+	      transition-duration: 300ms;

+}

+.aui-popup-right {

+    right: 0.75rem;

+}

+.aui-popup-content {

+    background-color: #ffffff;

+    border-radius: 0.2rem;

+    overflow: hidden;

+    min-height: 4.5rem;

+    height: 100%;

+}

+.aui-popup-top,

+.aui-popup-top-left,

+.aui-popup-top-right {

+    top: 0.45rem;

+}

+.aui-popup-top {

+    left: 50%;

+    margin-left: -3.5rem;

+}

+.aui-popup-top-left {

+    left: 0.45rem;

+}

+.aui-popup-top-right {

+    right: 0.45rem;

+}

+.aui-popup-arrow {

+    position: absolute;

+    width: 10px;

+    height: 10px;

+    -webkit-transform-origin: 50% 50% 0;

+            transform-origin: 50% 50% 0;

+    background-color: transparent;

+    background-image: -webkit-linear-gradient(45deg, #ffffff, #ffffff 50%, transparent 50%);

+    background-image: linear-gradient(45deg, #ffffff, #ffffff 50%, transparent 50%);

+}

+.aui-popup-top .aui-popup-arrow,

+.aui-popup-top-left .aui-popup-arrow,

+.aui-popup-top-right .aui-popup-arrow {

+    top: 0.2rem;

+    -webkit-transform: rotate(135deg);

+            transform: rotate(135deg);

+}

+.aui-popup-top .aui-popup-arrow {

+    left: 50%;

+    margin-left: -0.25rem;

+    margin-top: -0.4rem;

+}

+.aui-popup-top-left .aui-popup-arrow {

+    left: 0.25rem;

+    margin-top: -0.4rem;

+}

+.aui-popup-top-right .aui-popup-arrow {

+    right: 0.25rem;

+    margin-top: -0.4rem;

+}

+.aui-popup-bottom,

+.aui-popup-bottom-left,

+.aui-popup-bottom-right {

+    bottom: 0.45rem;

+}

+.aui-popup-bottom {

+    left: 50%;

+    margin-left: -3.5rem;

+}

+.aui-popup-bottom-left {

+    left: 0.45rem;

+}

+.aui-popup-bottom-right {

+    right: 0.45rem;

+}

+.aui-popup-bottom .aui-popup-arrow,

+.aui-popup-bottom-left .aui-popup-arrow,

+.aui-popup-bottom-right .aui-popup-arrow {

+    -webkit-transform: rotate(-45deg);

+            transform: rotate(-45deg);

+    bottom: 0.2rem;

+}

+.aui-popup-bottom .aui-popup-arrow {

+    left: 50%;

+    margin-left: -0.25rem;

+    margin-bottom: -0.4rem;

+}

+.aui-popup-bottom-left .aui-popup-arrow {

+    left: 0.25rem;

+    margin-bottom: -0.4rem;

+}

+.aui-popup-bottom-right .aui-popup-arrow {

+    right: 0.25rem;

+    margin-bottom: -0.4rem;

+}

+.aui-popup .aui-list {

+	background: transparent;

+}

+.aui-popup-content .aui-list img {

+	display: block;

+	width: 1rem;

+}

+/*actionsheet*/

+.aui-actionsheet {

+    width: 100%;

+    position: fixed;

+    bottom: 0;

+    left: 0;

+    padding: 0 0.5rem;

+    z-index: 999;

+    opacity: 0;

+    -webkit-transition: opacity .3s,-webkit-transform .3s;

+    transition: opacity .3s,transform .3s;

+    -webkit-transform: translate3d(0,100%,0);

+    transform: translate3d(0,100%,0);

+}

+.aui-actionsheet-btn {

+    background-color: #ffffff;

+    border-radius: 6px;

+    text-align: center;

+    margin-bottom: 0.5rem;

+}

+.aui-actionsheet-title {

+    font-size: 0.6rem;

+    color: #999999;

+    line-height: 1.8rem;

+}

+.aui-actionsheet-btn-item {

+    height: 2.2rem;

+    line-height: 2.2rem;

+    color: #0075f0;

+}

+/*sharebox*/

+.aui-sharebox {

+    width: 100%;

+    position: fixed;

+    bottom: 0;

+    left: 0;

+    z-index: 999;

+    background-color: #ffffff;

+    opacity: 0;

+    -webkit-transition: opacity .3s,-webkit-transform .3s;

+    transition: opacity .3s,transform .3s;

+    -webkit-transform: translate3d(0,100%,0);

+    transform: translate3d(0,100%,0);

+}

+.aui-sharebox .aui-row {

+    padding: 0.5rem 0;

+}

+.aui-sharebox img {

+    display: block;

+    width: 50%;

+    margin: 0 auto;

+}

+.aui-sharebox.aui-grid [class*=aui-col-] {

+    padding: 0.5rem 0;

+}

+.aui-sharebox.aui-grid .aui-grid-label {

+    font-size: 0.6rem;

+    color: #757575;

+}

+.aui-sharebox-close-btn {

+    width: 100%;

+    height: 2.2rem;

+    line-height: 2.2rem;

+    color: #757575;

+    text-align: center;

+    font-size: 0.7rem;

+}

+/*折叠菜单*/

+.aui-collapse-header.aui-active {

+    background: #ececec;

+}

+.aui-collapse .aui-list-item:active{

+    background: #ececec;

+}

+.aui-collapse-content {

+    display: none;

+}

+.aui-collapse-content .aui-list-item:last-child {

+    border-bottom: 0;

+}

+@media screen and (-webkit-min-device-pixel-ratio:1.5) {

+    .aui-collapse-content .aui-list-item:last-child {

+        background-position: bottom;

+    }

+    .aui-list.aui-collapse.aui-list-noborder,

+    .aui-list.aui-collapse.aui-list-noborder .aui-collapse-content:last-child .aui-list-item:last-child {

+        border: none;

+        background-size: 100% 1px;

+        background-repeat: no-repeat;

+        background-position: 0 bottom;

+        background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);

+        background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);

+    }

+    .aui-list.aui-collapse.aui-list-noborder,

+    .aui-list.aui-collapse.aui-list-noborder .aui-collapse-item:last-child .aui-list-item:last-child {

+        border: none;

+        background-size: 100% 0;

+        background-image: none;

+    }

+    .aui-list.aui-collapse.aui-list-noborder .aui-collapse-item:last-child .aui-list-item.aui-collapse-header,

+    .aui-list.aui-collapse.aui-list-noborder .aui-collapse-content .aui-list-item:last-child  {

+        border: none;

+        background-size: 100% 0;

+        background-image: none;

+    }

+}

+.aui-collapse-header.aui-active .aui-collapse-arrow {

+    display: block;

+    transform: rotate(180deg);

+    -webkit-transform: rotate(180deg);

+}

+/*聊天气泡*/

+.aui-chat {

+    width: 100%;

+    height: 100%;

+    padding: 0.5rem;

+}

+.aui-chat .aui-chat-item {

+    position: relative;

+    width: 100%;

+    margin-bottom: 0.75rem;

+    overflow: hidden;

+    display: block;

+}

+.aui-chat .aui-chat-header {

+    width: 100%;

+    text-align: center;

+    margin-bottom: 0.75rem;

+    font-size: 0.6rem;

+    color: #757575;

+}

+.aui-chat .aui-chat-left {

+    float: left;

+}

+.aui-chat .aui-chat-right {

+    float: right;

+}

+.aui-chat .aui-chat-media {

+    display: inline-block;

+    max-width: 2rem;

+}

+.aui-chat .aui-chat-media img {

+    width: 100%;

+    border-radius: 50%;

+}

+.aui-chat .aui-chat-inner {

+    position: relative;

+    overflow: hidden;

+    display: inherit;

+}

+.aui-chat .aui-chat-arrow {

+    content: '';

+    position: absolute;

+    width: 0.6rem;

+    height: 0.6rem;

+    top: 0.2rem;

+    -webkit-transform-origin: 50% 50% 0;

+            transform-origin: 50% 50% 0;

+    background-color: transparent;

+}

+.aui-chat .aui-chat-left .aui-chat-arrow {

+    background-image: -webkit-linear-gradient(45deg, #b3e5fc, #b3e5fc 50%, transparent 50%);

+    background-image: linear-gradient(45deg, #b3e5fc, #b3e5fc 50%, transparent 50%);

+    -webkit-transform: rotate(45deg);

+            transform: rotate(45deg);

+    left: -0.25rem;

+}

+.aui-chat .aui-chat-right .aui-chat-arrow {

+    background-image: -webkit-linear-gradient(45deg, #ffffff, #ffffff 50%, transparent 50%);

+    background-image: linear-gradient(45deg, #ffffff, #ffffff 50%, transparent 50%);

+    -webkit-transform: rotate(-135deg);

+            transform: rotate(-135deg);

+    right: -0.25rem;

+}

+.aui-chat .aui-chat-content {

+    color: #212121;

+    font-size: 0.7rem;

+    border-radius: 0.2rem;

+    min-height: 2rem;

+    position: relative;

+    padding: 0.5rem;

+    max-width: 80%;

+    word-break: break-all;

+    word-wrap: break-word;

+}

+.aui-chat .aui-chat-content img {

+    max-width: 100%;

+    display: block;

+}

+.aui-chat .aui-chat-status {

+    position: relative;

+    width: 2rem;

+    height: 2rem;

+    line-height: 2rem;

+    text-align: center;

+}

+.aui-chat .aui-chat-name {

+    width: 100%;

+    position: relative;

+    font-size: 0.6rem;

+    color: #757575;

+    margin-bottom: 0.25rem;

+}

+.aui-chat .aui-chat-left .aui-chat-name {

+    left: 0.5rem;

+}

+.aui-chat .aui-chat-left .aui-chat-status {

+    left: 0.5rem;

+    float: left;

+}

+.aui-chat .aui-chat-left .aui-chat-media {

+    width: 2rem;

+    float: left;

+}

+.aui-chat .aui-chat-left .aui-chat-inner {

+    max-width: 70%;

+}

+.aui-chat .aui-chat-left .aui-chat-content{

+    background-color: #b3e5fc;

+    float: left;

+    left: 0.5rem;

+}

+.aui-chat .aui-chat-right .aui-chat-media {

+    width: 2rem;

+    float: right;

+}

+.aui-chat .aui-chat-right .aui-chat-inner {

+    float: right;

+    max-width: 70%;

+}

+.aui-chat .aui-chat-right .aui-chat-name {

+    float: right;

+    right: 0.5rem;

+    text-align: right;

+}

+.aui-chat .aui-chat-right .aui-chat-content {

+    background-color: #ffffff;

+    right: 0.5rem;

+    float: right;

+}

+.aui-chat .aui-chat-right .aui-chat-status {

+    float: right;

+    right: 0.5rem;

+}

+/*边框样式*/

+.aui-border-l {

+    border-left: 1px solid #dddddd;

+}

+.aui-border-r {

+    border-right: 1px solid #dddddd;

+}

+.aui-border-t {

+    border-top: 1px solid #dddddd;

+}

+.aui-border-b {

+    border-bottom: 1px solid #dddddd;

+}

+.aui-border {

+    border: 1px solid #dddddd;

+}

+@media screen and (-webkit-min-device-pixel-ratio:1.5) {

+	.aui-border-l {

+		border: none;

+        background-image: -webkit-linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%);

+        background-image: linear-gradient(270deg, #dddddd, #dddddd 50%, transparent 50%);

+        background-size: 1px 100%;

+        background-repeat: no-repeat;

+        background-position: left;

+	}

+	.aui-border-r {

+		border: none;

+        background-image: -webkit-linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%);

+        background-image: linear-gradient(270deg, #dddddd, #dddddd 50%, transparent 50%);

+        background-size: 1px 100%;

+        background-repeat: no-repeat;

+        background-position: right;

+	}

+	.aui-border-t{

+		border: none;

+        background-size: 100% 1px;

+		background-repeat: no-repeat;

+		background-position: top;

+        background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);

+        background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);

+	}

+	.aui-border-b {

+		border: none;

+        background-size: 100% 1px;

+		background-repeat: no-repeat;

+		background-position: bottom;

+        background-image: linear-gradient(0,#dddddd,#dddddd 50%,transparent 50%);

+        background-image: -webkit-linear-gradient(90deg,#dddddd,#dddddd 50%,transparent 50%);

+	}

+	.aui-border{

+        border: none;

+        background-image: -webkit-linear-gradient(270deg, #dddddd, #dddddd 50%, transparent 50%), -webkit-linear-gradient(180deg, #dddddd, #dddddd 50%, transparent 50%), -webkit-linear-gradient(90deg, #dddddd, #dddddd 50%, transparent 50%), -webkit-linear-gradient(0, #dddddd, #dddddd 50%, transparent 50%);

+        background-image: linear-gradient(180deg, #dddddd, #dddddd 50%, transparent 50%), linear-gradient(270deg, #dddddd, #dddddd 50%, transparent 50%), linear-gradient(0deg, #dddddd, #dddddd 50%, transparent 50%), linear-gradient(90deg, #dddddd, #dddddd 50%, transparent 50%);

+        background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;

+        background-repeat: no-repeat;

+        background-position: top, right top, bottom, left top;

+    }

+}

+/*时间轴*/

+.aui-timeline {

+    position: relative;

+    padding: 0;

+    list-style: none;

+}

+.aui-timeline:before {

+    content: '';

+    position: absolute;

+    top: 0;

+    left: 1.85rem;

+    width: 2px;

+    height: 100%;

+    background: #ececec;

+    z-index: 0;

+}

+.aui-timeline .aui-timeline-item {

+    position: relative;

+    margin-bottom: 0.35rem;

+}

+.aui-timeline .aui-timeline-item-header {

+	background-color: #ececec;

+	padding: 0.2rem 0.5rem;

+	margin: 0.75rem;

+    text-align: center;

+    display: inline-block;

+    position: relative;

+    z-index: 1;

+    font-size: 0.7rem;

+}

+.aui-timeline .aui-timeline-item-label {

+    width: 2.5rem;

+    height: 1.5rem;

+    line-height: 1.5rem;

+    font-size: 0.7em;

+    background-color: #ececec;

+    position: absolute;

+    text-align: center;

+    left: 0.75rem;

+    top: 0;

+}

+.aui-timeline .aui-timeline-item-label-icon {

+    width: 1.5rem;

+    height: 1.5rem;

+    font-size: 0.7rem;

+    line-height: 1.5rem;

+    background-color: #ececec;

+    position: absolute;

+    border-radius: 50%;

+    text-align: center;

+    left: 1.15rem;

+    top: 0;

+}

+.aui-timeline .aui-timeline-item-inner {

+    margin-left: 3.75rem;

+    margin-right: 0.75rem;

+    padding: 0;

+    position: relative;

+}

+/*基础动画类*/

+@keyframes rotate {

+    0% {

+        -webkit-transform: rotate(0deg) scale(1);

+            	transform: rotate(0deg) scale(1);

+    }

+    50% {

+        -webkit-transform: rotate(180deg) scale(1);

+            	transform: rotate(180deg) scale(1);

+    }

+    100% {

+        -webkit-transform: rotate(360deg) scale(1);

+            	transform: rotate(360deg) scale(1);

+    }

+}

+@-webkit-keyframes rotate {

+    0% {

+        -webkit-transform: rotate(0deg) scale(1);

+            	transform: rotate(0deg) scale(1);

+    }

+    50% {

+        -webkit-transform: rotate(180deg) scale(1);

+            	transform: rotate(180deg) scale(1);

+    }

+    100% {

+        -webkit-transform: rotate(360deg) scale(1);

+            	transform: rotate(360deg) scale(1);

+    }

+}

+@keyframes bounce {

+	0%, 100% {

+	-webkit-transform: scale(0.0);

+			transform: scale(0.0);

+	}

+	50% {

+	-webkit-transform: scale(1.0);

+			transform: scale(1.0);

+	}

+}

+@-webkit-keyframes bounce {

+	0%, 100% {

+		-webkit-transform: scale(0.0);

+				transform: scale(0.0);

+	}

+	50% {

+		-webkit-transform: scale(1.0);

+				transform: scale(1.0);

+	}

+}

+@keyframes fadeIn {

+    from { opacity: 0.3; }

+    to { opacity: 1; }

+}

+@-webkit-keyframes fadeIn {

+    from { opacity: 0.3; }

+    to { opacity: 1; }

+}

+@font-face {

+	font-family: "aui_iconfont";

+	src: url('aui-iconfont.ttf') format('truetype');

+}

+.aui-iconfont {

+	position: relative;

+	font-family:"aui_iconfont" !important;

+	font-size: 0.7rem;

+	font-style:normal;

+	-webkit-font-smoothing: antialiased;

+	-moz-osx-font-smoothing: grayscale;

+}

+.aui-icon-menu:before { content: "\e6eb"; }

+.aui-icon-paper:before { content: "\e6ec"; }

+.aui-icon-info:before { content: "\e6ed"; }

+.aui-icon-question:before { content: "\e6ee"; }

+.aui-icon-left:before { content: "\e6f4"; }

+.aui-icon-right:before { content: "\e6f5"; }

+.aui-icon-top:before { content: "\e6f6"; }

+.aui-icon-down:before { content: "\e6f7"; }

+.aui-icon-share:before { content: "\e700"; }

+.aui-icon-comment:before { content: "\e701"; }

+.aui-icon-edit:before { content: "\e6d3"; }

+.aui-icon-trash:before { content: "\e6d4"; }

+.aui-icon-recovery:before { content: "\e6dc"; }

+.aui-icon-refresh:before { content: "\e6dd"; }

+.aui-icon-close:before { content: "\e6d8"; }

+.aui-icon-cart:before { content: "\e6df"; }

+.aui-icon-star:before { content: "\e6e0"; }

+.aui-icon-plus:before { content: "\e6e3"; }

+.aui-icon-minus:before { content: "\e62d"; }

+.aui-icon-correct:before { content: "\e6e5"; }

+.aui-icon-search:before { content: "\e6e6"; }

+.aui-icon-gear:before { content: "\e6e8"; }

+.aui-icon-map:before { content: "\e6d2"; }

+.aui-icon-location:before { content: "\e6d1"; }

+.aui-icon-image:before { content: "\e6ce"; }

+.aui-icon-phone:before { content: "\e6c4"; }

+.aui-icon-camera:before { content: "\e6cd"; }

+.aui-icon-video:before { content: "\e6cc"; }

+.aui-icon-qq:before { content: "\e6cb"; }

+.aui-icon-wechat:before { content: "\e6c9"; }

+.aui-icon-weibo:before { content: "\e6c8"; }

+.aui-icon-note:before { content: "\e6c6"; }

+.aui-icon-mail:before { content: "\e6c5"; }

+.aui-icon-wechat-circle:before { content: "\e6ca"; }

+.aui-icon-home:before { content: "\e706"; }

+.aui-icon-forward:before { content: "\e6d9"; }

+.aui-icon-back:before { content: "\e6da"; }

+.aui-icon-laud:before { content: "\e64b"; }

+.aui-icon-lock:before { content: "\e6ef"; }

+.aui-icon-unlock:before { content: "\e62f"; }

+.aui-icon-like:before { content: "\e62b"; }

+.aui-icon-my:before { content: "\e610"; }

+.aui-icon-more:before { content: "\e625"; }

+.aui-icon-mobile:before { content: "\e697"; }

+.aui-icon-calendar:before { content: "\e68a"; }

+.aui-icon-date:before { content: "\e68c"; }

+.aui-icon-display:before { content: "\e612"; }

+.aui-icon-hide:before { content: "\e624"; }

+.aui-icon-pencil:before { content: "\e615"; }

+.aui-icon-flag:before { content: "\e6f1"; }

+.aui-icon-cert:before { content: "\e704"; }

+

+.aui-card-list-user:after {

+	width: 100%;

+    height: 1px;

+    background-color: #f2f2f2;

+    display: block;

+    content: '';

+    position: absolute;

+    top: auto;

+    right: auto;

+    bottom: 0;

+    left: 0;

+    z-index: 2;

+    -webkit-transform-origin: 50% 100%;

+            transform-origin: 50% 100%;

+    pointer-events: none;

+}

+.aui-list [class*=top-btn]:active {

+	background-color: #048cca;

+}

diff --git a/oauth/src/main/resources/static/css/index.css b/oauth/src/main/resources/static/css/index.css
new file mode 100644
index 0000000..b23e33c
--- /dev/null
+++ b/oauth/src/main/resources/static/css/index.css
@@ -0,0 +1,149 @@
+body {
+    background: #F1F4F4;
+}
+
+.mainbg {
+    background: #03a9f4;
+}
+
+.lightbg {
+    background: #54C8FF;
+}
+
+.tab-bottom button.active::after {
+    background-color: transparent;
+}
+
+.maincolor {
+    color: #03a9f4;
+}
+
+.qrscanner {
+    width: 100%;
+    background: transparent none !important;
+    padding-top: 52px;
+}
+
+.qrscanner-area {
+    height: 100mm;
+    background: url(../img/scanner.svg) no-repeat center center;
+    background-size: contain;
+}
+
+.through-line {
+    left: 20%;
+    width: 60%;
+    height: 2px;
+    background: red;
+    position: absolute;
+    animation: myfirst 2s linear infinite alternate;
+}
+
+@keyframes myfirst {
+    0% {
+        background: #03a9f4;
+        top: 180px;
+    }
+
+    25% {
+        background: #03a9f4;
+        top: 215px;
+    }
+
+    50% {
+        background: #03a9f4;
+        top: 250px;
+    }
+
+    75% {
+        background: #03a9f4;
+        top: 285px;
+    }
+
+    100% {
+        background: #03a9f4;
+        top: 320px;
+    }
+}
+
+.button-bottom {
+    width: 128px;
+    position: absolute;
+    left: 50%;
+    bottom: 80px;
+    margin-left: -64px;
+}
+
+.icon-camera {
+    float: left;
+}
+
+.vcodedisabled {
+    color: #999 !important;
+}
+
+.login-top {
+    height: 200px;
+    background: #03a9f4;
+    color: #fff;
+    font-size: 36px;
+    display: flex;
+    flex-direction: row;
+    justify-content: center;
+    align-items: center;
+}
+
+.weui-toast_content {
+    color: #fff;
+}
+
+.center-in {
+    flex-direction: row;
+    justify-content: center;
+    align-items: center;
+    display: flex;
+}
+
+.top-title {
+    color: #fff;
+    font-size: 20px !important;
+    margin-top: 5px;
+}
+
+.user-info {
+    width: 150%;
+    position: relative;
+    left: -25%;
+    padding-left: 25%;
+    border-bottom-left-radius: 50%;
+    border-bottom-right-radius: 50%;
+    padding-bottom: 1.5rem;
+}
+
+.text-white {
+    color: #ffffff !important;
+}
+
+.text-light {
+    color: #999 !important;
+}
+
+.bg-white {
+    background-color: #ffffff;
+}
+.demos-header {
+    padding: 20px 0;
+    background-color: #03a9f4;
+}
+.demos-title {
+    text-align: center;
+    font-size: 40px;
+    color: #fff;
+    font-weight: 400;
+    margin: 0 15%;
+}
+.detail-title{
+    text-align: center;
+    font-size: 16px;
+    color: #fff;
+}
diff --git a/oauth/src/main/resources/static/css/jquery-weui.min.css b/oauth/src/main/resources/static/css/jquery-weui.min.css
new file mode 100755
index 0000000..145c336
--- /dev/null
+++ b/oauth/src/main/resources/static/css/jquery-weui.min.css
@@ -0,0 +1,6 @@
+/** 
+* jQuery WeUI V1.2.1 
+* By 言川
+* http://lihongxun945.github.io/jquery-weui/
+ */
+.preloader{width:20px;height:20px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:preloader-spin 1s steps(12,end) infinite;animation:preloader-spin 1s steps(12,end) infinite}.preloader:after{display:block;width:100%;height:100%;content:"";background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:50%;background-size:100%}@-webkit-keyframes preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}label>*{pointer-events:none}html{font-size:20px}body{font-size:16px}@media only screen and (min-width:400px){html{font-size:21.33px!important}}@media only screen and (min-width:414px){html{font-size:22.08px!important}}@media only screen and (min-width:480px){html{font-size:25.6px!important}}.weui_navbar{z-index:10}.weui-mask,.weui-popup-container,.weui-popup-overlay{z-index:1000}.weui-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.weui-row>[class*=col-]{box-sizing:border-box}.weui-row .col-auto{width:100%}.weui-row .weui-col-100{width:100%;width:calc((100% - 15px*0)/ 1)}.weui-row.weui-no-gutter .weui-col-100{width:100%}.weui-row .weui-col-95{width:95%;width:calc((100% - 15px*.05263157894736836)/ 1.0526315789473684)}.weui-row.weui-no-gutter .weui-col-95{width:95%}.weui-row .weui-col-90{width:90%;width:calc((100% - 15px*.11111111111111116)/ 1.1111111111111112)}.weui-row.weui-no-gutter .weui-col-90{width:90%}.weui-row .weui-col-85{width:85%;width:calc((100% - 15px*.17647058823529416)/ 1.1764705882352942)}.weui-row.weui-no-gutter .weui-col-85{width:85%}.weui-row .weui-col-80{width:80%;width:calc((100% - 15px*.25)/ 1.25)}.weui-row.weui-no-gutter .weui-col-80{width:80%}.weui-row .weui-col-75{width:75%;width:calc((100% - 15px*.33333333333333326)/ 1.3333333333333333)}.weui-row.weui-no-gutter .weui-col-75{width:75%}.weui-row .weui-col-66{width:66.66666666666666%;width:calc((100% - 15px*.5000000000000002)/ 1.5000000000000002)}.weui-row.weui-no-gutter .weui-col-66{width:66.66666666666666%}.weui-row .weui-col-60{width:60%;width:calc((100% - 15px*.6666666666666667)/ 1.6666666666666667)}.weui-row.weui-no-gutter .weui-col-60{width:60%}.weui-row .weui-col-50{width:50%;width:calc((100% - 15px*1)/ 2)}.weui-row.weui-no-gutter .weui-col-50{width:50%}.weui-row .weui-col-40{width:40%;width:calc((100% - 15px*1.5)/ 2.5)}.weui-row.weui-no-gutter .weui-col-40{width:40%}.weui-row .weui-col-33{width:33.333333333333336%;width:calc((100% - 15px*2)/ 3)}.weui-row.weui-no-gutter .weui-col-33{width:33.333333333333336%}.weui-row .weui-col-25{width:25%;width:calc((100% - 15px*3)/ 4)}.weui-row.weui-no-gutter .weui-col-25{width:25%}.weui-row .weui-col-20{width:20%;width:calc((100% - 15px*4)/ 5)}.weui-row.weui-no-gutter .weui-col-20{width:20%}.weui-row .weui-col-15{width:15%;width:calc((100% - 15px*5.666666666666667)/ 6.666666666666667)}.weui-row.weui-no-gutter .weui-col-15{width:15%}.weui-row .weui-col-10{width:10%;width:calc((100% - 15px*9)/ 10)}.weui-row.weui-no-gutter .weui-col-10{width:10%}.weui-row .weui-col-5{width:5%;width:calc((100% - 15px*19)/ 20)}.weui-row.weui-no-gutter .weui-col-5{width:5%}.weui-row .weui-col-auto:nth-last-child(1),.weui-row .weui-col-auto:nth-last-child(1)~.weui-col-auto{width:100%;width:calc((100% - 15px*0)/ 1)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(1),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(1)~.weui-col-auto{width:100%}.weui-row .weui-col-auto:nth-last-child(2),.weui-row .weui-col-auto:nth-last-child(2)~.weui-col-auto{width:50%;width:calc((100% - 15px*1)/ 2)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(2),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(2)~.weui-col-auto{width:50%}.weui-row .weui-col-auto:nth-last-child(3),.weui-row .weui-col-auto:nth-last-child(3)~.weui-col-auto{width:33.33333333%;width:calc((100% - 15px*2)/ 3)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(3),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(3)~.weui-col-auto{width:33.33333333%}.weui-row .weui-col-auto:nth-last-child(4),.weui-row .weui-col-auto:nth-last-child(4)~.weui-col-auto{width:25%;width:calc((100% - 15px*3)/ 4)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(4),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(4)~.weui-col-auto{width:25%}.weui-row .weui-col-auto:nth-last-child(5),.weui-row .weui-col-auto:nth-last-child(5)~.weui-col-auto{width:20%;width:calc((100% - 15px*4)/ 5)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(5),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(5)~.weui-col-auto{width:20%}.weui-row .weui-col-auto:nth-last-child(6),.weui-row .weui-col-auto:nth-last-child(6)~.weui-col-auto{width:16.66666667%;width:calc((100% - 15px*5)/ 6)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(6),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(6)~.weui-col-auto{width:16.66666667%}.weui-row .weui-col-auto:nth-last-child(7),.weui-row .weui-col-auto:nth-last-child(7)~.weui-col-auto{width:14.28571429%;width:calc((100% - 15px*6)/ 7)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(7),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(7)~.weui-col-auto{width:14.28571429%}.weui-row .weui-col-auto:nth-last-child(8),.weui-row .weui-col-auto:nth-last-child(8)~.weui-col-auto{width:12.5%;width:calc((100% - 15px*7)/ 8)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(8),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(8)~.weui-col-auto{width:12.5%}.weui-row .weui-col-auto:nth-last-child(9),.weui-row .weui-col-auto:nth-last-child(9)~.weui-col-auto{width:11.11111111%;width:calc((100% - 15px*8)/ 9)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(9),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(9)~.weui-col-auto{width:11.11111111%}.weui-row .weui-col-auto:nth-last-child(10),.weui-row .weui-col-auto:nth-last-child(10)~.weui-col-auto{width:10%;width:calc((100% - 15px*9)/ 10)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(10),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(10)~.weui-col-auto{width:10%}.weui-row .weui-col-auto:nth-last-child(11),.weui-row .weui-col-auto:nth-last-child(11)~.weui-col-auto{width:9.09090909%;width:calc((100% - 15px*10)/ 11)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(11),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(11)~.weui-col-auto{width:9.09090909%}.weui-row .weui-col-auto:nth-last-child(12),.weui-row .weui-col-auto:nth-last-child(12)~.weui-col-auto{width:8.33333333%;width:calc((100% - 15px*11)/ 12)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(12),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(12)~.weui-col-auto{width:8.33333333%}.weui-row .weui-col-auto:nth-last-child(13),.weui-row .weui-col-auto:nth-last-child(13)~.weui-col-auto{width:7.69230769%;width:calc((100% - 15px*12)/ 13)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(13),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(13)~.weui-col-auto{width:7.69230769%}.weui-row .weui-col-auto:nth-last-child(14),.weui-row .weui-col-auto:nth-last-child(14)~.weui-col-auto{width:7.14285714%;width:calc((100% - 15px*13)/ 14)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(14),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(14)~.weui-col-auto{width:7.14285714%}.weui-row .weui-col-auto:nth-last-child(15),.weui-row .weui-col-auto:nth-last-child(15)~.weui-col-auto{width:6.66666667%;width:calc((100% - 15px*14)/ 15)}.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(15),.weui-row.weui-no-gutter .weui-col-auto:nth-last-child(15)~.weui-col-auto{width:6.66666667%}@media all and (min-width:768px){.row .tablet-100{width:100%;width:calc((100% - 15px*0)/ 1)}.row.no-gutter .tablet-100{width:100%}.row .tablet-95{width:95%;width:calc((100% - 15px*.05263157894736836)/ 1.0526315789473684)}.row.no-gutter .tablet-95{width:95%}.row .tablet-90{width:90%;width:calc((100% - 15px*.11111111111111116)/ 1.1111111111111112)}.row.no-gutter .tablet-90{width:90%}.row .tablet-85{width:85%;width:calc((100% - 15px*.17647058823529416)/ 1.1764705882352942)}.row.no-gutter .tablet-85{width:85%}.row .tablet-80{width:80%;width:calc((100% - 15px*.25)/ 1.25)}.row.no-gutter .tablet-80{width:80%}.row .tablet-75{width:75%;width:calc((100% - 15px*.33333333333333326)/ 1.3333333333333333)}.row.no-gutter .tablet-75{width:75%}.row .tablet-66{width:66.66666666666666%;width:calc((100% - 15px*.5000000000000002)/ 1.5000000000000002)}.row.no-gutter .tablet-66{width:66.66666666666666%}.row .tablet-60{width:60%;width:calc((100% - 15px*.6666666666666667)/ 1.6666666666666667)}.row.no-gutter .tablet-60{width:60%}.row .tablet-50{width:50%;width:calc((100% - 15px*1)/ 2)}.row.no-gutter .tablet-50{width:50%}.row .tablet-40{width:40%;width:calc((100% - 15px*1.5)/ 2.5)}.row.no-gutter .tablet-40{width:40%}.row .tablet-33{width:33.333333333333336%;width:calc((100% - 15px*2)/ 3)}.row.no-gutter .tablet-33{width:33.333333333333336%}.row .tablet-25{width:25%;width:calc((100% - 15px*3)/ 4)}.row.no-gutter .tablet-25{width:25%}.row .tablet-20{width:20%;width:calc((100% - 15px*4)/ 5)}.row.no-gutter .tablet-20{width:20%}.row .tablet-15{width:15%;width:calc((100% - 15px*5.666666666666667)/ 6.666666666666667)}.row.no-gutter .tablet-15{width:15%}.row .tablet-10{width:10%;width:calc((100% - 15px*9)/ 10)}.row.no-gutter .tablet-10{width:10%}.row .tablet-5{width:5%;width:calc((100% - 15px*19)/ 20)}.row.no-gutter .tablet-5{width:5%}.row .tablet-auto:nth-last-child(1),.row .tablet-auto:nth-last-child(1)~.col-auto{width:100%;width:calc((100% - 15px*0)/ 1)}.row.no-gutter .tablet-auto:nth-last-child(1),.row.no-gutter .tablet-auto:nth-last-child(1)~.tablet-auto{width:100%}.row .tablet-auto:nth-last-child(2),.row .tablet-auto:nth-last-child(2)~.col-auto{width:50%;width:calc((100% - 15px*1)/ 2)}.row.no-gutter .tablet-auto:nth-last-child(2),.row.no-gutter .tablet-auto:nth-last-child(2)~.tablet-auto{width:50%}.row .tablet-auto:nth-last-child(3),.row .tablet-auto:nth-last-child(3)~.col-auto{width:33.33333333%;width:calc((100% - 15px*2)/ 3)}.row.no-gutter .tablet-auto:nth-last-child(3),.row.no-gutter .tablet-auto:nth-last-child(3)~.tablet-auto{width:33.33333333%}.row .tablet-auto:nth-last-child(4),.row .tablet-auto:nth-last-child(4)~.col-auto{width:25%;width:calc((100% - 15px*3)/ 4)}.row.no-gutter .tablet-auto:nth-last-child(4),.row.no-gutter .tablet-auto:nth-last-child(4)~.tablet-auto{width:25%}.row .tablet-auto:nth-last-child(5),.row .tablet-auto:nth-last-child(5)~.col-auto{width:20%;width:calc((100% - 15px*4)/ 5)}.row.no-gutter .tablet-auto:nth-last-child(5),.row.no-gutter .tablet-auto:nth-last-child(5)~.tablet-auto{width:20%}.row .tablet-auto:nth-last-child(6),.row .tablet-auto:nth-last-child(6)~.col-auto{width:16.66666667%;width:calc((100% - 15px*5)/ 6)}.row.no-gutter .tablet-auto:nth-last-child(6),.row.no-gutter .tablet-auto:nth-last-child(6)~.tablet-auto{width:16.66666667%}.row .tablet-auto:nth-last-child(7),.row .tablet-auto:nth-last-child(7)~.col-auto{width:14.28571429%;width:calc((100% - 15px*6)/ 7)}.row.no-gutter .tablet-auto:nth-last-child(7),.row.no-gutter .tablet-auto:nth-last-child(7)~.tablet-auto{width:14.28571429%}.row .tablet-auto:nth-last-child(8),.row .tablet-auto:nth-last-child(8)~.col-auto{width:12.5%;width:calc((100% - 15px*7)/ 8)}.row.no-gutter .tablet-auto:nth-last-child(8),.row.no-gutter .tablet-auto:nth-last-child(8)~.tablet-auto{width:12.5%}.row .tablet-auto:nth-last-child(9),.row .tablet-auto:nth-last-child(9)~.col-auto{width:11.11111111%;width:calc((100% - 15px*8)/ 9)}.row.no-gutter .tablet-auto:nth-last-child(9),.row.no-gutter .tablet-auto:nth-last-child(9)~.tablet-auto{width:11.11111111%}.row .tablet-auto:nth-last-child(10),.row .tablet-auto:nth-last-child(10)~.col-auto{width:10%;width:calc((100% - 15px*9)/ 10)}.row.no-gutter .tablet-auto:nth-last-child(10),.row.no-gutter .tablet-auto:nth-last-child(10)~.tablet-auto{width:10%}.row .tablet-auto:nth-last-child(11),.row .tablet-auto:nth-last-child(11)~.col-auto{width:9.09090909%;width:calc((100% - 15px*10)/ 11)}.row.no-gutter .tablet-auto:nth-last-child(11),.row.no-gutter .tablet-auto:nth-last-child(11)~.tablet-auto{width:9.09090909%}.row .tablet-auto:nth-last-child(12),.row .tablet-auto:nth-last-child(12)~.col-auto{width:8.33333333%;width:calc((100% - 15px*11)/ 12)}.row.no-gutter .tablet-auto:nth-last-child(12),.row.no-gutter .tablet-auto:nth-last-child(12)~.tablet-auto{width:8.33333333%}.row .tablet-auto:nth-last-child(13),.row .tablet-auto:nth-last-child(13)~.col-auto{width:7.69230769%;width:calc((100% - 15px*12)/ 13)}.row.no-gutter .tablet-auto:nth-last-child(13),.row.no-gutter .tablet-auto:nth-last-child(13)~.tablet-auto{width:7.69230769%}.row .tablet-auto:nth-last-child(14),.row .tablet-auto:nth-last-child(14)~.col-auto{width:7.14285714%;width:calc((100% - 15px*13)/ 14)}.row.no-gutter .tablet-auto:nth-last-child(14),.row.no-gutter .tablet-auto:nth-last-child(14)~.tablet-auto{width:7.14285714%}.row .tablet-auto:nth-last-child(15),.row .tablet-auto:nth-last-child(15)~.col-auto{width:6.66666667%;width:calc((100% - 15px*14)/ 15)}.row.no-gutter .tablet-auto:nth-last-child(15),.row.no-gutter .tablet-auto:nth-last-child(15)~.tablet-auto{width:6.66666667%}}.weui-cell__hd img{display:block;margin-right:5px}.weui-cell_swiped .weui-cell__bd{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.swipeout-touching .weui-cell__bd{-webkit-transition:none;transition:none}.weui-dialog,.weui-toast{-webkit-transition-duration:.2s;transition-duration:.2s;opacity:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:0 0;transform-origin:0 0;visibility:hidden;margin:0;top:45%;z-index:2000}.weui-dialog .weui-dialog__btn.default,.weui-toast .weui-dialog__btn.default{color:#5f646e}.weui-dialog .weui-dialog__btn+.weui-dialog__btn,.weui-toast .weui-dialog__btn+.weui-dialog__btn{position:relative}.weui-dialog .weui-dialog__btn+.weui-dialog__btn:after,.weui-toast .weui-dialog__btn+.weui-dialog__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;height:100%;border-left:1px solid #D5D5D6;color:#D5D5D6;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-dialog.weui-dialog--visible,.weui-dialog.weui-toast--visible,.weui-toast.weui-dialog--visible,.weui-toast.weui-toast--visible{opacity:1;visibility:visible}.weui-toast_forbidden{color:#F76260}.weui-toast_cancel .weui-icon-toast:before{content:"\EA0D"}.weui-toast_forbidden .weui-icon-toast:before{content:"\EA0B";color:#F76260}.weui-toast_text{min-height:1em;width:auto;height:45px;border-radius:25px;margin-left:0;-webkit-transform:scale(.9) translate3d(-50%,0,0);transform:scale(.9) translate3d(-50%,0,0);-webkit-transform-origin:left;transform-origin:left}.weui-toast_text.weui-toast--visible{-webkit-transform:scale(1) translate3d(-50%,0,0);transform:scale(1) translate3d(-50%,0,0)}.weui-toast_text .weui-icon-toast{display:none}.weui-toast_text .weui-toast_content{margin:10px 15px}.weui-mask{opacity:0;-webkit-transition-duration:.3s;transition-duration:.3s;visibility:hidden}.weui-mask.weui-mask--visible{opacity:1;visibility:visible}.weui-prompt-input{padding:4px 6px;border:1px solid #ccc;box-sizing:border-box;height:2em;width:80%;margin-top:10px}.weui-pull-to-refresh{margin-top:-50px;-webkit-transition:-webkit-transform .4s;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.weui-pull-to-refresh.refreshing{-webkit-transform:translate3d(0,50px,0);transform:translate3d(0,50px,0)}.weui-pull-to-refresh.touching{-webkit-transition-duration:0s;transition-duration:0s}.weui-pull-to-refresh__layer{height:30px;line-height:30px;padding:10px;text-align:center}.weui-pull-to-refresh__layer .down{display:inline-block}.weui-pull-to-refresh__layer .refresh,.weui-pull-to-refresh__layer .up{display:none}.weui-pull-to-refresh__layer .weui-pull-to-refresh__arrow{display:inline-block;z-index:10;width:20px;height:20px;margin-right:4px;vertical-align:-4px;background:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2026%2040'%3E%3Cpolygon%20points%3D'9%2C22%209%2C0%2017%2C0%2017%2C22%2026%2C22%2013.5%2C40%200%2C22'%20fill%3D'%238c8c8c'%2F%3E%3C%2Fsvg%3E") center no-repeat;background-size:13px 20px;-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:rotate(0) translate3d(0,0,0);transform:rotate(0) translate3d(0,0,0)}.weui-pull-to-refresh__layer .weui-pull-to-refresh__preloader{display:none;vertical-align:-4px;margin-right:4px;width:20px;height:20px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:preloader-spin 1s steps(12,end) infinite;animation:preloader-spin 1s steps(12,end) infinite}.weui-pull-to-refresh__layer .weui-pull-to-refresh__preloader:after{display:block;width:100%;height:100%;content:"";background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-position:50%;background-size:100%}.pull-up .weui-pull-to-refresh__layer .down,.refreshing .weui-pull-to-refresh__layer .down{display:none}.pull-up .weui-pull-to-refresh__layer .weui-pull-to-refresh__arrow{display:inline-block;-webkit-transform:rotate(180deg) translate3d(0,0,0);transform:rotate(180deg) translate3d(0,0,0)}.pull-down .weui-pull-to-refresh__layer .down,.pull-down .weui-pull-to-refresh__layer .weui-pull-to-refresh__arrow,.pull-up .weui-pull-to-refresh__layer .up{display:inline-block}.refreshing .weui-pull-to-refresh__layer .weui-pull-to-refresh__arrow{display:none}.refreshing .weui-pull-to-refresh__layer .refresh,.refreshing .weui-pull-to-refresh__layer .weui-pull-to-refresh__preloader{display:inline-block}@keyframes preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.weui-tab__bd-item.weui-pull-to-refresh{position:absolute;top:50px}.toolbar,.weui-tabbar__item{position:relative}.weui-tabbar__item.weui-bar__item--on .weui-tabbar__label{color:#04BE02}.weui-navbar__item{color:#888}.weui-navbar__item.weui-bar__item--on{color:#666;background-color:#f1f1f1}.toolbar,.toolbar .title{font-size:.85rem;color:#3d4145;width:100%}.weui-tab__bd{box-sizing:border-box;height:100%}.weui-tab__bd .weui-tab__bd-item{display:none;height:100%;overflow:auto}.weui-tab__bd .weui-tab__bd-item.weui-tab__bd-item--active{display:block}.weui-navbar+.weui-tab__bd{padding-top:50px}.toolbar{line-height:1.5;background:#f7f7f8}.toolbar:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#d9d9d9;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}@media only screen and (-webkit-min-device-pixel-ratio:2){.toolbar:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}}@media only screen and (-webkit-min-device-pixel-ratio:3){.toolbar:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.toolbar .toolbar-inner{height:2.2rem;display:-webkit-box;display:-ms-flexbox;display:flex;text-align:center}.toolbar .title{position:absolute;display:block;padding:0;font-weight:400;line-height:2.2rem;text-align:center;white-space:nowrap}.toolbar .picker-button{position:absolute;right:0;box-sizing:border-box;height:2.2rem;line-height:2.2rem;color:#04BE02;z-index:1;padding:0 .5rem}.weui-picker-modal{width:100%;position:absolute;bottom:0;text-align:center;border-radius:0;opacity:.6;color:#3d4145;-webkit-transition-duration:.3s;transition-duration:.3s;height:13rem;background:#EFEFF4;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform}.weui-picker-modal.picker-modal-inline{height:10.8rem;opacity:1;position:static;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.weui-picker-modal.picker-modal-inline .toolbar{display:none}.weui-picker-modal.picker-columns-single .picker-items-col{width:100%}.weui-picker-modal.weui-picker-modal-visible{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.weui-picker-modal .picker-modal-inner{position:relative;height:10.8rem}.weui-picker-modal .picker-columns{width:100%;height:13rem;z-index:11500}.popover .weui-picker-modal .picker-columns,.weui-picker-modal .picker-columns.picker-modal-inline{height:10rem}@media (orientation:landscape) and (max-height:415px){.weui-picker-modal .picker-columns:not(.picker-modal-inline){height:10rem}}.weui-picker-modal .popover.popover-picker-columns{width:14rem}.weui-picker-modal .picker-items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;padding:0;text-align:right;font-size:1rem;font-weight:400;-webkit-mask-box-image:-webkit-linear-gradient(bottom,transparent,transparent 5%,#fff 20%,#fff 80%,transparent 95%,transparent);-webkit-mask-box-image:linear-gradient(to top,transparent,transparent 5%,#fff 20%,#fff 80%,transparent 95%,transparent)}.weui-picker-modal .bar+.picker-items{height:10.8rem}.weui-picker-modal .picker-items-col{overflow:hidden;position:relative;max-height:100%}.weui-picker-modal .picker-items-col.picker-items-col-left{text-align:left}.weui-picker-modal .picker-items-col.picker-items-col-center{text-align:center}.weui-picker-modal .picker-items-col.picker-items-col-right{text-align:right}.weui-picker-modal .picker-items-col.picker-items-col-divider{color:#3d4145;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.weui-picker-modal .picker-items-col-wrapper{-webkit-transition:.3s;transition:.3s;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.weui-picker-modal .picker-item{height:32px;line-height:32px;padding:0 10px;white-space:nowrap;position:relative;overflow:hidden;text-overflow:ellipsis;color:#9b9b9b;left:0;top:0;width:100%;box-sizing:border-box;-webkit-transition:.3s;transition:.3s}.picker-items-col-absolute .weui-picker-modal .picker-item{position:absolute}.weui-picker-modal .picker-item.picker-item-far{pointer-events:none}.weui-picker-modal .picker-item.picker-selected{color:#3d4145;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform:rotateX(0);transform:rotateX(0)}.weui-picker-modal .picker-center-highlight{height:32px;box-sizing:border-box;position:absolute;left:0;width:100%;top:50%;margin-top:-16px;pointer-events:none}.weui-picker-modal .picker-center-highlight:after,.weui-picker-modal .picker-center-highlight:before{content:'';position:absolute;right:auto;height:1px;background-color:#D9D9D9;display:block;z-index:15;left:0;width:100%}.weui-picker-modal .picker-center-highlight:before{top:0;bottom:auto;-webkit-transform-origin:50% 0;transform-origin:50% 0}@media only screen and (-webkit-min-device-pixel-ratio:2){.weui-picker-modal .picker-center-highlight:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}}@media only screen and (-webkit-min-device-pixel-ratio:3){.weui-picker-modal .picker-center-highlight:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.weui-picker-modal .picker-center-highlight:after{bottom:0;top:auto;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}@media only screen and (-webkit-min-device-pixel-ratio:2){.weui-picker-modal .picker-center-highlight:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}}@media only screen and (-webkit-min-device-pixel-ratio:3){.weui-picker-modal .picker-center-highlight:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.weui-picker-modal .picker-3d .picker-items{overflow:hidden;-webkit-perspective:1200px;perspective:1200px}.weui-picker-modal .picker-3d .picker-item,.weui-picker-modal .picker-3d .picker-items-col,.weui-picker-modal .picker-3d .picker-items-col-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.weui-picker-modal .picker-3d .picker-items-col{overflow:visible}.weui-picker-modal .picker-3d .picker-item{-webkit-transform-origin:center center -110px;transform-origin:center center -110px;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.weui-picker-container,.weui-picker-overlay{position:fixed;bottom:0;left:0;right:0;height:0;width:100%;z-index:1000}.picker-calendar-row:after,.picker-calendar-week-days:after{content:'';z-index:15;left:0;right:auto}.city-picker .picker-items-col{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:7rem}.weui-picker-container .weui-cells{margin:0;text-align:left}.datetime-picker .picker-item{text-overflow:initial}.weui-select-modal{height:auto}.weui-select-modal .weui-cells{margin:0;text-align:left;overflow-y:auto;overflow-x:hidden;max-height:16rem}.weui-select-modal .weui-cells:after{display:none}.weui-picker-calendar{background:#fff;height:15rem;width:100%;overflow:hidden}.weui-picker-calendar .picker-modal-inner{overflow:hidden;height:12.8rem}.picker-calendar-week-days{height:.9rem;background:#f7f7f8;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:11px;box-sizing:border-box;position:relative}.picker-calendar-week-days:after{position:absolute;bottom:0;top:auto;height:1px;width:100%;background-color:#c4c4c4;display:block;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}@media only screen and (-webkit-min-device-pixel-ratio:2){.picker-calendar-week-days:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}}@media only screen and (-webkit-min-device-pixel-ratio:3){.picker-calendar-week-days:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.picker-calendar-week-days .picker-calendar-week-day{-webkit-flex-shrink:1;-ms-flex:0 1 auto;-ms-flex-negative:1;flex-shrink:1;width:14.28571429%;width:calc(100% / 7);line-height:17px;text-align:center}.picker-calendar-week-days+.picker-calendar-months{height:11.9rem}.picker-calendar-months{width:100%;height:100%;overflow:hidden;position:relative}.picker-calendar-months-wrapper{position:relative;width:100%;height:100%;-webkit-transition:.3s;transition:.3s}.picker-calendar-month{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;position:absolute;left:0;top:0}.picker-calendar-row{height:16.66666667%;height:calc(100% / 6);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-flex-shrink:1;-ms-flex:0 1 auto;-ms-flex-negative:1;flex-shrink:1;width:100%;position:relative}.picker-calendar-row:after{position:absolute;bottom:0;top:auto;height:1px;width:100%;background-color:#ccc;display:block;-webkit-transform-origin:50% 100%;transform-origin:50% 100%}@media only screen and (-webkit-min-device-pixel-ratio:2){.picker-calendar-row:after{-webkit-transform:scaleY(.5);transform:scaleY(.5)}}@media only screen and (-webkit-min-device-pixel-ratio:3){.picker-calendar-row:after{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.weui-picker-modal .picker-calendar-row:last-child:after{display:none}.picker-calendar-day{-webkit-flex-shrink:1;-ms-flex:0 1 auto;-ms-flex-negative:1;flex-shrink:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;box-sizing:border-box;width:14.28571429%;width:calc(100% / 7);text-align:center;color:#3d4145;font-size:15px;cursor:pointer}.picker-calendar-day.picker-calendar-day-next,.picker-calendar-day.picker-calendar-day-prev{color:#ccc}.picker-calendar-day.picker-calendar-day-disabled{color:#d4d4d4;cursor:auto}.picker-calendar-day.picker-calendar-day-today span{background:#e3e3e3}.picker-calendar-day.picker-calendar-day-selected span{background:#04BE02;color:#fff}.picker-calendar-day span{display:inline-block;border-radius:100%;width:30px;height:30px;line-height:30px}.picker-calendar-month-picker,.picker-calendar-year-picker{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:50%;max-width:200px;-webkit-flex-shrink:10;-ms-flex-negative:10;flex-shrink:10}.picker-calendar-month-picker span,.picker-calendar-year-picker span{-webkit-flex-shrink:1;-ms-flex:0 1 auto;-ms-flex-negative:1;flex-shrink:1;position:relative;overflow:hidden;text-overflow:ellipsis}.picker-calendar.picker-modal-inline .picker-calendar-week-days,.popover .picker-calendar .picker-calendar-week-days{background:0 0}.swiper-button-next,.swiper-button-prev,i.icon{background-position:center;background-repeat:no-repeat}.picker-calendar.picker-modal-inline .picker-calendar-week-days:after,.picker-calendar.picker-modal-inline .picker-calendar-week-days:before,.picker-calendar.picker-modal-inline .toolbar:after,.picker-calendar.picker-modal-inline .toolbar:before,.popover .picker-calendar .picker-calendar-week-days:after,.popover .picker-calendar .picker-calendar-week-days:before,.popover .picker-calendar .toolbar:after,.popover .picker-calendar .toolbar:before{display:none}.picker-calendar.picker-modal-inline .picker-calendar-week-days~.picker-calendar-months:before,.picker-calendar.picker-modal-inline .toolbar~.picker-modal-inner .picker-calendar-months:before,.popover .picker-calendar .picker-calendar-week-days~.picker-calendar-months:before,.popover .picker-calendar .toolbar~.picker-modal-inner .picker-calendar-months:before{content:'';position:absolute;left:0;top:0;bottom:auto;right:auto;height:1px;width:100%;background-color:#c4c4c4;display:block;z-index:15;-webkit-transform-origin:50% 0;transform-origin:50% 0}@media only screen and (-webkit-min-device-pixel-ratio:2){.picker-calendar.picker-modal-inline .picker-calendar-week-days~.picker-calendar-months:before,.picker-calendar.picker-modal-inline .toolbar~.picker-modal-inner .picker-calendar-months:before,.popover .picker-calendar .picker-calendar-week-days~.picker-calendar-months:before,.popover .picker-calendar .toolbar~.picker-modal-inner .picker-calendar-months:before{-webkit-transform:scaleY(.5);transform:scaleY(.5)}}@media only screen and (-webkit-min-device-pixel-ratio:3){.picker-calendar.picker-modal-inline .picker-calendar-week-days~.picker-calendar-months:before,.picker-calendar.picker-modal-inline .toolbar~.picker-modal-inner .picker-calendar-months:before,.popover .picker-calendar .picker-calendar-week-days~.picker-calendar-months:before,.popover .picker-calendar .toolbar~.picker-modal-inner .picker-calendar-months:before{-webkit-transform:scaleY(.33);transform:scaleY(.33)}}.picker-calendar-month-picker,.picker-calendar-year-picker{display:block;line-height:2.2rem;-webkit-box-flex:1;-ms-flex:1;flex:1}.picker-calendar-month-picker a.icon-only,.picker-calendar-year-picker a.icon-only{min-width:36px;float:left;width:25%;height:2.2rem;line-height:2rem}.picker-calendar-month-picker .current-month-value,.picker-calendar-month-picker .current-year-value,.picker-calendar-year-picker .current-month-value,.picker-calendar-year-picker .current-year-value{float:left;width:50%;height:2.2rem}i.icon{display:inline-block;vertical-align:middle;background-size:100% auto;font-style:normal;position:relative}i.icon.icon-next,i.icon.icon-prev{width:.75rem;height:.75rem}.swiper-slide,.swiper-wrapper{width:100%;height:100%;position:relative}i.icon.icon-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%2304BE02'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}i.icon.icon-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%2304BE02'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.swiper-container{margin:0 auto;position:relative;overflow:hidden;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-ms-flex-direction:column;flex-direction:column}.swiper-wrapper{z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex:0 0 auto;-ms-flex-negative:0;flex-shrink:0}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-transition-property:-webkit-transform,height;-webkit-transition-property:height,-webkit-transform;transition-property:height,-webkit-transform;transition-property:transform,height;transition-property:transform,height,-webkit-transform}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;background-size:27px 44px}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;transition:.3s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1;background:#04BE02}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 5px}.swiper-pagination-progress{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progress .swiper-pagination-progressbar{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar{-webkit-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progress{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progress{width:4px;height:100%;left:0;top:0}.swiper-pagination-progress.swiper-pagination-white{background:rgba(255,255,255,.5)}.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar{background:#fff}.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar{background:#000}.swiper-container-3d{-webkit-perspective:1200px;-o-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.weui-actionsheet{z-index:10000}.weui-popup__container,.weui-popup__overlay{position:fixed;bottom:0;left:0;right:0;width:100%;height:100%;z-index:10}.weui-popup__overlay{background-color:rgba(0,0,0,.6);opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s}.weui-popup__container{display:none}.weui-popup__container.weui-popup__container--visible{display:block}.weui-popup__container .weui-cells{margin:0;text-align:left}.weui-popup__modal{width:100%;position:absolute;z-index:100;bottom:0;border-radius:0;opacity:.6;color:#3d4145;-webkit-transition-duration:.3s;transition-duration:.3s;height:100%;background:#EFEFF4;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;overflow-x:hidden;overflow-y:auto}.popup-bottom .weui-popup__modal{height:auto}.weui-popup__modal .toolbar{position:absolute;left:0;top:0;right:0;z-index:1}.weui-popup__modal .modal-content{height:100%;padding-top:2.2rem;overflow:auto;box-sizing:border-box}.weui-popup__container--visible .weui-popup__overlay{opacity:1}.weui-popup__container--visible .weui-popup__modal{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.weui-notification{position:fixed;width:100%;min-height:3.4rem;top:-2rem;padding-top:2rem;left:0;right:0;z-index:9999;background-color:rgba(0,0,0,.85);color:#fff;font-size:.65rem;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);-webkit-transition:.4s;transition:.4s}.weui-notification.weui-notification--in{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.weui-notification.weui-notification--touching{-webkit-transition-duration:0s;transition-duration:0s}.weui-notification .weui-notification__inner{padding:.4rem .6rem 1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.weui-notification .weui-notification__content{width:100%;margin:0 .4rem}.weui-notification .weui-notification__title{font-weight:700}.weui-notification .weui-notification__text{line-height:1}.weui-notification .weui-notification__media{height:1rem;width:1rem}.weui-notification .weui-notification__media img{width:100%}.weui-notification .weui-notification__handle-bar{position:absolute;bottom:.2rem;left:50%;-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);width:2rem;height:.3rem;border-radius:.15rem;background:#fff;opacity:.5}.weui-photo-browser-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;display:none;opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s}.weui-photo-browser-modal.weui-photo-browser-modal-visible{opacity:1}.weui-photo-browser-modal .swiper-container{height:100%;-webkit-transform:scale(.2);transform:scale(.2);-webkit-transition:-webkit-transform .5s;transition:-webkit-transform .5s;transition:transform .5s;transition:transform .5s,-webkit-transform .5s}.weui-photo-browser-modal .swiper-container .swiper-pagination-bullet{background:#fff;visibility:hidden}.weui-photo-browser-modal .swiper-container.swiper-container-visible{-webkit-transform:scale(1);transform:scale(1)}.weui-photo-browser-modal .swiper-container.swiper-container-visible .swiper-pagination-bullet{visibility:visible;-webkit-transition-property:visibility;transition-property:visibility;-webkit-transition-delay:.5s;transition-delay:.5s}.weui-photo-browser-modal .swiper-container .swiper-pagination{bottom:10px;left:0;width:100%}.weui-photo-browser-modal .photo-container{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden}.weui-photo-browser-modal .photo-container img{max-width:100%;margin-top:-30px}.weui-photo-browser-modal .caption{position:absolute;bottom:40px;left:0;right:0;color:#fff;text-align:center;padding:0 12px;min-height:3rem;font-size:14px;z-index:10;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transition-delay:.5s;transition-delay:.5s;opacity:0}.weui-photo-browser-modal .caption .caption-item{display:none;opacity:0;-webkit-transition:opacity .15s;transition:opacity .15s}.weui-photo-browser-modal .caption .caption-item.active{display:block;opacity:1}.weui-photo-browser-modal .swiper-container-visible .caption{opacity:1}.color-primary{color:#04BE02}.color-danger,.color-error{color:#f6383a}.color-warning{color:#f60}.color-success{color:#4cd964}.bg-danger,.bg-error,.bg-primary,.bg-success,.bg-warning{color:#fff}.bg-primary{background-color:#04BE02}.bg-danger,.bg-error{background-color:#f6383a}.bg-warning{background-color:#f60}.bg-success{background-color:#4cd964}.weui-toptips{z-index:100;opacity:0;-webkit-transition:opacity .3s;transition:opacity .3s}.weui-toptips.weui-toptips_visible{opacity:1}.weui-icon_toast{font-size:55px;color:#fff;margin-bottom:6px}.weui-toast--forbidden .weui-icon_toast{color:#f6383a}.weui-toast--text{min-height:initial;font-size:18px;padding:8px 16px;width:auto;top:40%}.weui-toast--text .weui-icon_toast{display:none}.weui-count{display:inline-block;height:25px;line-height:25px}.weui-count .weui-count__btn{height:21px;width:21px;line-height:21px;display:inline-block;position:relative;border:1px solid #04BE02;border-radius:50%;vertical-align:-6px}.weui-count .weui-count__btn:after,.weui-count .weui-count__btn:before{content:" ";position:absolute;height:1px;width:11px;background-color:#04BE02;left:50%;top:50%;margin-left:-5.5px}.weui-count .weui-count__btn:after{height:11px;width:1px;margin-top:-5.5px;margin-left:-1px}.weui-count .weui-count__decrease:after{display:none}.weui-count .weui-count__increase{background-color:#04BE02}.weui-count .weui-count__increase:after,.weui-count .weui-count__increase:before{background-color:#fff}.weui-count .weui-count__number{background-color:transparent;font-size:.8rem;border:0;width:1.3rem;text-align:center;color:#5f646e}.weui-panel .weui-media-box__title-after{color:#9b9b9b;font-size:.65rem;float:right}
\ No newline at end of file
diff --git a/oauth/src/main/resources/static/css/weui.min.css b/oauth/src/main/resources/static/css/weui.min.css
old mode 100644
new mode 100755
index 380d74f..1371e18
--- a/oauth/src/main/resources/static/css/weui.min.css
+++ b/oauth/src/main/resources/static/css/weui.min.css
@@ -1,5 +1,5 @@
 /*!
- * WeUI v1.1.2 (https://github.com/weui/weui)
- * Copyright 2017 Tencent, Inc.
+ * WeUI v1.1.3 (https://github.com/weui/weui)
+ * Copyright 2018 Tencent, Inc.
  * Licensed under the MIT license
- */html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{line-height:1.6;font-family:-apple-system-font,Helvetica Neue,sans-serif}*{margin:0;padding:0}a img{border:0}a{text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}@font-face{font-weight:400;font-style:normal;font-family:weui;src:url("data:application/octet-stream;base64,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") format("truetype")}[class*=" weui-icon-"],[class^=weui-icon-]{display:inline-block;vertical-align:middle;font:normal normal normal 14px/1 weui;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}[class*=" weui-icon-"]:before,[class^=weui-icon-]:before{display:inline-block;margin-left:.2em;margin-right:.2em}.weui-icon-circle:before{content:"\EA01"}.weui-icon-download:before{content:"\EA02"}.weui-icon-info:before{content:"\EA03"}.weui-icon-safe-success:before{content:"\EA04"}.weui-icon-safe-warn:before{content:"\EA05"}.weui-icon-success:before{content:"\EA06"}.weui-icon-success-circle:before{content:"\EA07"}.weui-icon-success-no-circle:before{content:"\EA08"}.weui-icon-waiting:before{content:"\EA09"}.weui-icon-waiting-circle:before{content:"\EA0A"}.weui-icon-warn:before{content:"\EA0B"}.weui-icon-info-circle:before{content:"\EA0C"}.weui-icon-cancel:before{content:"\EA0D"}.weui-icon-search:before{content:"\EA0E"}.weui-icon-clear:before{content:"\EA0F"}.weui-icon-back:before{content:"\EA10"}.weui-icon-delete:before{content:"\EA11"}[class*=" weui-icon_"]:before,[class^=weui-icon_]:before{margin:0}.weui-icon-success{font-size:23px;color:#09bb07}.weui-icon-waiting{font-size:23px;color:#10aeff}.weui-icon-warn{font-size:23px;color:#f43530}.weui-icon-info{font-size:23px;color:#10aeff}.weui-icon-success-circle,.weui-icon-success-no-circle{font-size:23px;color:#09bb07}.weui-icon-waiting-circle{font-size:23px;color:#10aeff}.weui-icon-circle{font-size:23px;color:#c9c9c9}.weui-icon-download,.weui-icon-info-circle{font-size:23px;color:#09bb07}.weui-icon-safe-success{color:#09bb07}.weui-icon-safe-warn{color:#ffbe00}.weui-icon-cancel{color:#f43530;font-size:22px}.weui-icon-clear,.weui-icon-search{color:#b2b2b2;font-size:14px}.weui-icon-delete.weui-icon_gallery-delete{color:#fff;font-size:22px}.weui-icon_msg{font-size:93px}.weui-icon_msg.weui-icon-warn{color:#f76260}.weui-icon_msg-primary{font-size:93px}.weui-icon_msg-primary.weui-icon-warn{color:#ffbe00}.weui-btn{position:relative;display:block;margin-left:auto;margin-right:auto;padding-left:14px;padding-right:14px;box-sizing:border-box;font-size:18px;text-align:center;text-decoration:none;color:#fff;line-height:2.55555556;border-radius:5px;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden}.weui-btn:after{content:" ";width:200%;height:200%;position:absolute;top:0;left:0;border:1px solid rgba(0,0,0,.2);-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 0;transform-origin:0 0;box-sizing:border-box;border-radius:10px}.weui-btn_inline{display:inline-block}.weui-btn_default{color:#000;background-color:#f8f8f8}.weui-btn_default:not(.weui-btn_disabled):visited{color:#000}.weui-btn_default:not(.weui-btn_disabled):active{color:rgba(0,0,0,.6);background-color:#dedede}.weui-btn_primary{background-color:#1aad19}.weui-btn_primary:not(.weui-btn_disabled):visited{color:#fff}.weui-btn_primary:not(.weui-btn_disabled):active{color:hsla(0,0%,100%,.6);background-color:#179b16}.weui-btn_warn{background-color:#e64340}.weui-btn_warn:not(.weui-btn_disabled):visited{color:#fff}.weui-btn_warn:not(.weui-btn_disabled):active{color:hsla(0,0%,100%,.6);background-color:#ce3c39}.weui-btn_disabled{color:hsla(0,0%,100%,.6)}.weui-btn_disabled.weui-btn_default{color:rgba(0,0,0,.3);background-color:#f7f7f7}.weui-btn_disabled.weui-btn_primary{background-color:#9ed99d}.weui-btn_disabled.weui-btn_warn{background-color:#ec8b89}.weui-btn_loading .weui-loading{margin:-.2em .34em 0 0}.weui-btn_loading.weui-btn_primary,.weui-btn_loading.weui-btn_warn{color:hsla(0,0%,100%,.6)}.weui-btn_loading.weui-btn_primary{background-color:#179b16}.weui-btn_loading.weui-btn_warn{background-color:#ce3c39}.weui-btn_plain-primary{color:#1aad19;border:1px solid #1aad19}.weui-btn_plain-primary:not(.weui-btn_plain-disabled):active{color:rgba(26,173,25,.6);border-color:rgba(26,173,25,.6)}.weui-btn_plain-primary:after{border-width:0}.weui-btn_plain-default{color:#353535;border:1px solid #353535}.weui-btn_plain-default:not(.weui-btn_plain-disabled):active{color:rgba(53,53,53,.6);border-color:rgba(53,53,53,.6)}.weui-btn_plain-default:after{border-width:0}.weui-btn_plain-disabled{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}button.weui-btn,input.weui-btn{width:100%;border-width:0;outline:0;-webkit-appearance:none}button.weui-btn:focus,input.weui-btn:focus{outline:0}button.weui-btn_inline,button.weui-btn_mini,input.weui-btn_inline,input.weui-btn_mini{width:auto}button.weui-btn_plain-default,button.weui-btn_plain-primary,input.weui-btn_plain-default,input.weui-btn_plain-primary{border-width:1px;background-color:transparent}.weui-btn_mini{display:inline-block;padding:0 1.32em;line-height:2.3;font-size:13px}.weui-btn+.weui-btn{margin-top:15px}.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline{margin-top:auto;margin-left:15px}.weui-btn-area{margin:1.17647059em 15px .3em}.weui-btn-area_inline{display:-webkit-box;display:-webkit-flex;display:flex}.weui-btn-area_inline .weui-btn{margin-top:auto;margin-right:15px;width:100%;-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-btn-area_inline .weui-btn:last-child{margin-right:0}.weui-cells{margin-top:1.17647059em;background-color:#fff;line-height:1.47058824;font-size:17px;overflow:hidden;position:relative}.weui-cells:before{top:0;border-top:1px solid #e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-cells:after,.weui-cells:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5;z-index:2}.weui-cells:after{bottom:0;border-bottom:1px solid #e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-cells__title{margin-top:.77em;margin-bottom:.3em;padding-left:15px;padding-right:15px;color:#999;font-size:14px}.weui-cells__title+.weui-cells{margin-top:0}.weui-cells__tips{margin-top:.3em;color:#999;padding-left:15px;padding-right:15px;font-size:14px}.weui-cell{padding:10px 15px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5);left:15px;z-index:2}.weui-cell:first-child:before{display:none}.weui-cell_primary{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}.weui-cell__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-cell__ft{text-align:right;color:#999}.weui-cell_swiped{display:block;padding:0}.weui-cell_swiped>.weui-cell__bd{position:relative;z-index:1;background-color:#fff}.weui-cell_swiped>.weui-cell__ft{position:absolute;right:0;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:flex;color:#fff}.weui-swiped-btn{display:block;padding:10px 1em;line-height:1.47058824;color:inherit}.weui-swiped-btn_default{background-color:#c7c7cc}.weui-swiped-btn_warn{background-color:#ff3b30}.weui-cell_access{-webkit-tap-highlight-color:rgba(0,0,0,0);color:inherit}.weui-cell_access:active{background-color:#ececec}.weui-cell_access .weui-cell__ft{padding-right:13px;position:relative}.weui-cell_access .weui-cell__ft:after{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;margin-top:-4px;right:2px}.weui-cell_link{color:#586c94;font-size:14px}.weui-cell_link:first-child:before{display:block}.weui-check__label{-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-check__label:active{background-color:#ececec}.weui-check{position:absolute;left:-9999em}.weui-cells_radio .weui-cell__ft{padding-left:.35em}.weui-cells_radio .weui-check:checked+.weui-icon-checked:before{display:block;content:"\EA08";color:#09bb07;font-size:16px}.weui-cells_checkbox .weui-cell__hd{padding-right:.35em}.weui-cells_checkbox .weui-icon-checked:before{content:"\EA01";color:#c9c9c9;font-size:23px;display:block}.weui-cells_checkbox .weui-check:checked+.weui-icon-checked:before{content:"\EA06";color:#09bb07}.weui-label{display:block;width:105px;word-wrap:break-word;word-break:break-all}.weui-input{width:100%;border:0;outline:0;-webkit-appearance:none;background-color:transparent;font-size:inherit;color:inherit;height:1.47058824em;line-height:1.47058824}.weui-input::-webkit-inner-spin-button,.weui-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.weui-textarea{display:block;border:0;resize:none;width:100%;color:inherit;font-size:1em;line-height:inherit;outline:0}.weui-textarea-counter{color:#b2b2b2;text-align:right}.weui-cell_warn .weui-textarea-counter{color:#e64340}.weui-toptips{display:none;position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);top:0;left:0;right:0;padding:5px;font-size:14px;text-align:center;color:#fff;z-index:5000;word-wrap:break-word;word-break:break-all}.weui-toptips_warn{background-color:#e64340}.weui-cells_form .weui-cell__ft{font-size:0}.weui-cells_form .weui-icon-warn{display:none}.weui-cells_form input,.weui-cells_form label[for],.weui-cells_form textarea{-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-cell_warn{color:#e64340}.weui-cell_warn .weui-icon-warn{display:inline-block}.weui-form-preview{position:relative;background-color:#fff}.weui-form-preview:before{top:0;border-top:1px solid #e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-form-preview:after,.weui-form-preview:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}.weui-form-preview:after{bottom:0;border-bottom:1px solid #e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-form-preview__hd{position:relative;padding:10px 15px;text-align:right;line-height:2.5em}.weui-form-preview__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);left:15px}.weui-form-preview__hd .weui-form-preview__value{font-style:normal;font-size:1.6em}.weui-form-preview__bd{padding:10px 15px;font-size:.9em;text-align:right;color:#999;line-height:2}.weui-form-preview__ft{position:relative;line-height:50px;display:-webkit-box;display:-webkit-flex;display:flex}.weui-form-preview__ft:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #d5d5d6;color:#d5d5d6;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-form-preview__item{overflow:hidden}.weui-form-preview__label{float:left;margin-right:1em;min-width:4em;color:#999;text-align:justify;text-align-last:justify}.weui-form-preview__value{display:block;overflow:hidden;word-break:normal;word-wrap:break-word}.weui-form-preview__btn{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#3cc51f;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}button.weui-form-preview__btn{background-color:transparent;border:0;outline:0;line-height:inherit;font-size:inherit}.weui-form-preview__btn:active{background-color:#eee}.weui-form-preview__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1px solid #d5d5d6;color:#d5d5d6;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-form-preview__btn:first-child:after{display:none}.weui-form-preview__btn_default{color:#999}.weui-form-preview__btn_primary{color:#0bb20c}.weui-cell_select{padding:0}.weui-cell_select .weui-select{padding-right:30px}.weui-cell_select .weui-cell__bd:after{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;right:15px;margin-top:-4px}.weui-select{-webkit-appearance:none;border:0;outline:0;background-color:transparent;width:100%;font-size:inherit;height:45px;line-height:45px;position:relative;z-index:1;padding-left:15px}.weui-cell_select-before{padding-right:15px}.weui-cell_select-before .weui-select{width:105px;box-sizing:border-box}.weui-cell_select-before .weui-cell__hd{position:relative}.weui-cell_select-before .weui-cell__hd:after{content:" ";position:absolute;right:0;top:0;width:1px;bottom:0;border-right:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-cell_select-before .weui-cell__hd:before{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;right:15px;margin-top:-4px}.weui-cell_select-before .weui-cell__bd{padding-left:15px}.weui-cell_select-before .weui-cell__bd:after{display:none}.weui-cell_select-after{padding-left:15px}.weui-cell_select-after .weui-select{padding-left:0}.weui-cell_vcode{padding-top:0;padding-right:0;padding-bottom:0}.weui-vcode-btn,.weui-vcode-img{margin-left:5px;height:45px;vertical-align:middle}.weui-vcode-btn{display:inline-block;padding:0 .6em 0 .7em;border-left:1px solid #e5e5e5;line-height:45px;font-size:17px;color:#3cc51f}button.weui-vcode-btn{background-color:transparent;border-top:0;border-right:0;border-bottom:0;outline:0}.weui-vcode-btn:active{color:#52a341}.weui-gallery{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;z-index:1000}.weui-gallery__img{position:absolute;top:0;right:0;bottom:60px;left:0;background:50% no-repeat;background-size:contain}.weui-gallery__opr{position:absolute;right:0;bottom:0;left:0;background-color:#0d0d0d;color:#fff;line-height:60px;text-align:center}.weui-gallery__del{display:block}.weui-cell_switch{padding-top:6.5px;padding-bottom:6.5px}.weui-switch{-webkit-appearance:none;appearance:none}.weui-switch,.weui-switch-cp__box{position:relative;width:52px;height:32px;border:1px solid #dfdfdf;outline:0;border-radius:16px;box-sizing:border-box;background-color:#dfdfdf;-webkit-transition:background-color .1s,border .1s;transition:background-color .1s,border .1s}.weui-switch-cp__box:before,.weui-switch:before{content:" ";position:absolute;top:0;left:0;width:50px;height:30px;border-radius:15px;background-color:#fdfdfd;-webkit-transition:-webkit-transform .35s cubic-bezier(.45,1,.4,1);transition:-webkit-transform .35s cubic-bezier(.45,1,.4,1);transition:transform .35s cubic-bezier(.45,1,.4,1);transition:transform .35s cubic-bezier(.45,1,.4,1),-webkit-transform .35s cubic-bezier(.45,1,.4,1)}.weui-switch-cp__box:after,.weui-switch:after{content:" ";position:absolute;top:0;left:0;width:30px;height:30px;border-radius:15px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-transition:-webkit-transform .35s cubic-bezier(.4,.4,.25,1.35);transition:-webkit-transform .35s cubic-bezier(.4,.4,.25,1.35);transition:transform .35s cubic-bezier(.4,.4,.25,1.35);transition:transform .35s cubic-bezier(.4,.4,.25,1.35),-webkit-transform .35s cubic-bezier(.4,.4,.25,1.35)}.weui-switch-cp__input:checked~.weui-switch-cp__box,.weui-switch:checked{border-color:#04be02;background-color:#04be02}.weui-switch-cp__input:checked~.weui-switch-cp__box:before,.weui-switch:checked:before{-webkit-transform:scale(0);transform:scale(0)}.weui-switch-cp__input:checked~.weui-switch-cp__box:after,.weui-switch:checked:after{-webkit-transform:translateX(20px);transform:translateX(20px)}.weui-switch-cp__input{position:absolute;left:-9999px}.weui-switch-cp__box{display:block}.weui-uploader__hd{display:-webkit-box;display:-webkit-flex;display:flex;padding-bottom:10px;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-uploader__title{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-uploader__info{color:#b2b2b2}.weui-uploader__bd{margin-bottom:-4px;margin-right:-9px;overflow:hidden}.weui-uploader__files{list-style:none}.weui-uploader__file{float:left;margin-right:9px;margin-bottom:9px;width:79px;height:79px;background:no-repeat 50%;background-size:cover}.weui-uploader__file_status{position:relative}.weui-uploader__file_status:before{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5)}.weui-uploader__file_status .weui-uploader__file-content{display:block}.weui-uploader__file-content{display:none;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff}.weui-uploader__file-content .weui-icon-warn{display:inline-block}.weui-uploader__input-box{float:left;position:relative;margin-right:9px;margin-bottom:9px;width:77px;height:77px;border:1px solid #d9d9d9}.weui-uploader__input-box:after,.weui-uploader__input-box:before{content:" ";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#d9d9d9}.weui-uploader__input-box:before{width:2px;height:39.5px}.weui-uploader__input-box:after{width:39.5px;height:2px}.weui-uploader__input-box:active{border-color:#999}.weui-uploader__input-box:active:after,.weui-uploader__input-box:active:before{background-color:#999}.weui-uploader__input{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;opacity:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-msg{padding-top:36px;text-align:center}.weui-msg__icon-area{margin-bottom:30px}.weui-msg__text-area{margin-bottom:25px;padding:0 20px}.weui-msg__text-area a{color:#586c94}.weui-msg__title{margin-bottom:5px;font-weight:400;font-size:20px}.weui-msg__desc{font-size:14px;color:#999}.weui-msg__opr-area{margin-bottom:25px}.weui-msg__extra-area{margin-bottom:15px;font-size:14px;color:#999}.weui-msg__extra-area a{color:#586c94}@media screen and (min-height:438px){.weui-msg__extra-area{position:fixed;left:0;bottom:0;width:100%;text-align:center}}.weui-article{padding:20px 15px;font-size:15px}.weui-article section{margin-bottom:1.5em}.weui-article h1{font-size:18px;font-weight:400;margin-bottom:.9em}.weui-article h2{font-size:16px}.weui-article h2,.weui-article h3{font-weight:400;margin-bottom:.34em}.weui-article h3{font-size:15px}.weui-article *{max-width:100%;box-sizing:border-box;word-wrap:break-word}.weui-article p{margin:0 0 .8em}.weui-tabbar{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;z-index:500;bottom:0;width:100%;background-color:#f7f7fa}.weui-tabbar:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #c0bfc4;color:#c0bfc4;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-tabbar__item{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:5px 0 0;font-size:0;color:#999;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon>i,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__label{color:#09bb07}.weui-tabbar__icon{display:inline-block;width:27px;height:27px}.weui-tabbar__icon>i,i.weui-tabbar__icon{font-size:24px;color:#999}.weui-tabbar__icon img{width:100%;height:100%}.weui-tabbar__label{text-align:center;color:#999;font-size:10px;line-height:1.8}.weui-navbar{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;z-index:500;top:0;width:100%;background-color:#fafafa}.weui-navbar:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #ccc;color:#ccc;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-navbar+.weui-tab__panel{padding-top:50px;padding-bottom:0}.weui-navbar__item{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:13px 0;text-align:center;font-size:15px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-navbar__item:active{background-color:#ededed}.weui-navbar__item.weui-bar__item_on{background-color:#eaeaea}.weui-navbar__item:after{content:" ";position:absolute;right:0;top:0;width:1px;bottom:0;border-right:1px solid #ccc;color:#ccc;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-navbar__item:last-child:after{display:none}.weui-tab{position:relative;height:100%}.weui-tab__panel{box-sizing:border-box;height:100%;padding-bottom:50px;overflow:auto;-webkit-overflow-scrolling:touch}.weui-tab__content{display:none}.weui-progress{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-progress__bar{background-color:#ebebeb;height:3px;-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-progress__inner-bar{width:0;height:100%;background-color:#09bb07}.weui-progress__opr{display:block;margin-left:15px;font-size:0}.weui-panel{background-color:#fff;margin-top:10px;position:relative;overflow:hidden}.weui-panel:first-child{margin-top:0}.weui-panel:before{top:0;border-top:1px solid #e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-panel:after,.weui-panel:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}.weui-panel:after{bottom:0;border-bottom:1px solid #e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-panel__hd{padding:14px 15px 10px;color:#999;font-size:13px;position:relative}.weui-panel__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);left:15px}.weui-media-box{padding:15px;position:relative}.weui-media-box:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5);left:15px}.weui-media-box:first-child:before{display:none}a.weui-media-box{color:#000;-webkit-tap-highlight-color:rgba(0,0,0,0)}a.weui-media-box:active{background-color:#ececec}.weui-media-box__title{font-weight:400;font-size:17px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;word-wrap:break-word;word-break:break-all}.weui-media-box__desc{color:#999;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-media-box__info{margin-top:15px;padding-bottom:5px;font-size:13px;color:#cecece;line-height:1em;list-style:none;overflow:hidden}.weui-media-box__info__meta{float:left;padding-right:1em}.weui-media-box__info__meta_extra{padding-left:1em;border-left:1px solid #cecece}.weui-media-box_text .weui-media-box__title{margin-bottom:8px}.weui-media-box_appmsg{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-media-box_appmsg .weui-media-box__hd{margin-right:.8em;width:60px;height:60px;line-height:60px;text-align:center}.weui-media-box_appmsg .weui-media-box__thumb{width:100%;max-height:100%;vertical-align:top}.weui-media-box_appmsg .weui-media-box__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0}.weui-media-box_small-appmsg{padding:0}.weui-media-box_small-appmsg .weui-cells{margin-top:0}.weui-media-box_small-appmsg .weui-cells:before{display:none}.weui-grids{position:relative;overflow:hidden}.weui-grids:before{right:0;height:1px;border-top:1px solid #d9d9d9;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-grids:after,.weui-grids:before{content:" ";position:absolute;left:0;top:0;color:#d9d9d9}.weui-grids:after{width:1px;bottom:0;border-left:1px solid #d9d9d9;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-grid{position:relative;float:left;padding:20px 10px;width:33.33333333%;box-sizing:border-box}.weui-grid:before{top:0;width:1px;border-right:1px solid #d9d9d9;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-grid:after,.weui-grid:before{content:" ";position:absolute;right:0;bottom:0;color:#d9d9d9}.weui-grid:after{left:0;height:1px;border-bottom:1px solid #d9d9d9;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-grid:active{background-color:#ececec}.weui-grid__icon{width:28px;height:28px;margin:0 auto}.weui-grid__icon img{display:block;width:100%;height:100%}.weui-grid__icon+.weui-grid__label{margin-top:5px}.weui-grid__label{display:block;color:#000;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.weui-footer,.weui-grid__label{text-align:center;font-size:14px}.weui-footer{color:#999}.weui-footer a{color:#586c94}.weui-footer_fixed-bottom{position:fixed;bottom:.52em;left:0;right:0}.weui-footer__links{font-size:0}.weui-footer__link{display:inline-block;vertical-align:top;margin:0 .62em;position:relative;font-size:14px}.weui-footer__link:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1px solid #c7c7c7;color:#c7c7c7;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(.5);transform:scaleX(.5);left:-.65em;top:.36em;bottom:.36em}.weui-footer__link:first-child:before{display:none}.weui-footer__text{padding:0 .34em;font-size:12px}.weui-flex{display:-webkit-box;display:-webkit-flex;display:flex}.weui-flex__item{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-dialog{position:fixed;z-index:5000;width:80%;max-width:300px;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#fff;text-align:center;border-radius:3px;overflow:hidden}.weui-dialog__hd{padding:1.3em 1.6em .5em}.weui-dialog__title{font-weight:400;font-size:18px}.weui-dialog__bd{padding:0 1.6em .8em;min-height:40px;font-size:15px;line-height:1.3;word-wrap:break-word;word-break:break-all;color:#999}.weui-dialog__bd:first-child{padding:2.7em 20px 1.7em;color:#353535}.weui-dialog__ft{position:relative;line-height:48px;font-size:18px;display:-webkit-box;display:-webkit-flex;display:flex}.weui-dialog__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #d5d5d6;color:#d5d5d6;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-dialog__btn{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#3cc51f;text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative}.weui-dialog__btn:active{background-color:#eee}.weui-dialog__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1px solid #d5d5d6;color:#d5d5d6;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-dialog__btn:first-child:after{display:none}.weui-dialog__btn_default{color:#353535}.weui-dialog__btn_primary{color:#0bb20c}.weui-skin_android .weui-dialog{text-align:left;box-shadow:0 6px 30px 0 rgba(0,0,0,.1)}.weui-skin_android .weui-dialog__title{font-size:21px}.weui-skin_android .weui-dialog__hd{text-align:left}.weui-skin_android .weui-dialog__bd{color:#999;padding:.25em 1.6em 2em;font-size:17px;text-align:left}.weui-skin_android .weui-dialog__bd:first-child{padding:1.6em 1.6em 2em;color:#353535}.weui-skin_android .weui-dialog__ft{display:block;text-align:right;line-height:42px;font-size:16px;padding:0 1.6em .7em}.weui-skin_android .weui-dialog__ft:after{display:none}.weui-skin_android .weui-dialog__btn{display:inline-block;vertical-align:top;padding:0 .8em}.weui-skin_android .weui-dialog__btn:after{display:none}.weui-skin_android .weui-dialog__btn:active,.weui-skin_android .weui-dialog__btn:visited{background-color:rgba(0,0,0,.06)}.weui-skin_android .weui-dialog__btn:last-child{margin-right:-.8em}.weui-skin_android .weui-dialog__btn_default{color:gray}@media screen and (min-width:1024px){.weui-dialog{width:35%}}.weui-toast{position:fixed;z-index:5000;width:7.6em;min-height:7.6em;top:180px;left:50%;background:hsla(0,0%,7%,.7);text-align:center;border-radius:5px;color:#fff}.weui-icon_toast{margin:22px 0 0;display:block}.weui-icon_toast.weui-icon-success-no-circle:before{color:#fff;font-size:55px}.weui-icon_toast.weui-loading{margin:30px 0 0;width:38px;height:38px;vertical-align:baseline}.weui-toast__content{margin:0 0 15px}.weui-mask{background:rgba(0,0,0,.6)}.weui-mask,.weui-mask_transparent{position:fixed;z-index:2000;top:0;right:0;left:0;bottom:0}.weui-actionsheet{position:fixed;left:0;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:5000;width:100%;background-color:#efeff4;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.weui-actionsheet__title{position:relative;height:65px;padding:0 20px;line-height:1.4;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;text-align:center;font-size:14px;color:#888;background:#fcfcfd}.weui-actionsheet__title:before{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-actionsheet__title .weui-actionsheet__title-text{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-actionsheet__menu{background-color:#fcfcfd}.weui-actionsheet__action{margin-top:6px;background-color:#fcfcfd}.weui-actionsheet__cell{position:relative;padding:10px 0;text-align:center;font-size:18px}.weui-actionsheet__cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-actionsheet__cell:active{background-color:#ececec}.weui-actionsheet__cell:first-child:before{display:none}.weui-skin_android .weui-actionsheet{position:fixed;left:50%;top:50%;bottom:auto;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:274px;box-sizing:border-box;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:transparent;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.weui-skin_android .weui-actionsheet__action{display:none}.weui-skin_android .weui-actionsheet__menu{border-radius:2px;box-shadow:0 6px 30px 0 rgba(0,0,0,.1)}.weui-skin_android .weui-actionsheet__cell{padding:13px 24px;font-size:16px;line-height:1.4;text-align:left}.weui-skin_android .weui-actionsheet__cell:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.weui-skin_android .weui-actionsheet__cell:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.weui-actionsheet_toggle{-webkit-transform:translate(0);transform:translate(0)}.weui-loadmore{width:65%;margin:1.5em auto;line-height:1.6em;font-size:14px;text-align:center}.weui-loadmore__tips{display:inline-block;vertical-align:middle}.weui-loadmore_line{border-top:1px solid #e5e5e5;margin-top:2.4em}.weui-loadmore_line .weui-loadmore__tips{position:relative;top:-.9em;padding:0 .55em;background-color:#fff;color:#999}.weui-loadmore_dot .weui-loadmore__tips{padding:0 .16em}.weui-loadmore_dot .weui-loadmore__tips:before{content:" ";width:4px;height:4px;border-radius:50%;background-color:#e5e5e5;display:inline-block;position:relative;vertical-align:0;top:-.16em}.weui-badge{display:inline-block;padding:.15em .4em;min-width:8px;border-radius:18px;background-color:#f43530;color:#fff;line-height:1.2;text-align:center;font-size:12px;vertical-align:middle}.weui-badge_dot{padding:.4em;min-width:0}.weui-search-bar{position:relative;padding:8px 10px;display:-webkit-box;display:-webkit-flex;display:flex;box-sizing:border-box;background-color:#efeff4}.weui-search-bar:before{top:0;border-top:1px solid #d7d6dc;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-search-bar:after,.weui-search-bar:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#d7d6dc}.weui-search-bar:after{bottom:0;border-bottom:1px solid #d7d6dc;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-search-bar.weui-search-bar_focusing .weui-search-bar__cancel-btn{display:block}.weui-search-bar.weui-search-bar_focusing .weui-search-bar__label{display:none}.weui-search-bar__form{position:relative;-webkit-box-flex:1;-webkit-flex:auto;flex:auto;background-color:#efeff4}.weui-search-bar__form:after{content:"";position:absolute;left:0;top:0;width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 0;transform-origin:0 0;border-radius:10px;border:1px solid #e6e6ea;box-sizing:border-box;background:#fff}.weui-search-bar__box{position:relative;padding-left:30px;padding-right:30px;height:100%;width:100%;box-sizing:border-box;z-index:1}.weui-search-bar__box .weui-search-bar__input{padding:4px 0;width:100%;height:1.42857143em;border:0;font-size:14px;line-height:1.42857143em;box-sizing:content-box;background:transparent}.weui-search-bar__box .weui-search-bar__input:focus{outline:none}.weui-search-bar__box .weui-icon-search{position:absolute;left:10px;top:0;line-height:28px}.weui-search-bar__box .weui-icon-clear{position:absolute;top:0;right:0;padding:0 10px;line-height:28px}.weui-search-bar__label{position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:2;border-radius:3px;text-align:center;color:#9b9b9b;background:#fff}.weui-search-bar__label span{display:inline-block;font-size:14px;vertical-align:middle}.weui-search-bar__label .weui-icon-search{margin-right:5px}.weui-search-bar__cancel-btn{display:none;margin-left:10px;line-height:28px;color:#09bb07;white-space:nowrap}.weui-search-bar__input:not(:valid)~.weui-icon-clear{display:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{display:none}.weui-picker{position:fixed;width:100%;left:0;bottom:0;z-index:5000;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.weui-picker__hd{display:-webkit-box;display:-webkit-flex;display:flex;padding:9px 15px;background-color:#fff;position:relative;text-align:center;font-size:17px}.weui-picker__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-picker__action{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#1aad19}.weui-picker__action:first-child{text-align:left;color:#888}.weui-picker__action:last-child{text-align:right}.weui-picker__bd{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;background-color:#fff;height:238px;overflow:hidden}.weui-picker__group{-webkit-box-flex:1;-webkit-flex:1;flex:1;position:relative;height:100%}.weui-picker__mask{top:0;height:100%;margin:0 auto;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6)),-webkit-linear-gradient(bottom,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6));background:linear-gradient(180deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6)),linear-gradient(0deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6));background-position:top,bottom;background-size:100% 102px;background-repeat:no-repeat;-webkit-transform:translateZ(0);transform:translateZ(0)}.weui-picker__indicator,.weui-picker__mask{position:absolute;left:0;width:100%;z-index:3}.weui-picker__indicator{height:34px;top:102px}.weui-picker__indicator:before{top:0;border-top:1px solid #e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-picker__indicator:after,.weui-picker__indicator:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}.weui-picker__indicator:after{bottom:0;border-bottom:1px solid #e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-picker__content{position:absolute;top:0;left:0;width:100%}.weui-picker__item{padding:0;height:34px;line-height:34px;text-align:center;color:#000;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.weui-picker__item_disabled{color:#999}@-webkit-keyframes a{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes a{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.weui-animate-slide-up{-webkit-animation:a ease .3s forwards;animation:a ease .3s forwards}@-webkit-keyframes b{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes b{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.weui-animate-slide-down{-webkit-animation:b ease .3s forwards;animation:b ease .3s forwards}@-webkit-keyframes c{0%{opacity:0}to{opacity:1}}@keyframes c{0%{opacity:0}to{opacity:1}}.weui-animate-fade-in{-webkit-animation:c ease .3s forwards;animation:c ease .3s forwards}@-webkit-keyframes d{0%{opacity:1}to{opacity:0}}@keyframes d{0%{opacity:1}to{opacity:0}}.weui-animate-fade-out{-webkit-animation:d ease .3s forwards;animation:d ease .3s forwards}.weui-agree{display:block;padding:.5em 15px;font-size:13px}.weui-agree a{color:#586c94}.weui-agree__text{color:#999}.weui-agree__checkbox{-webkit-appearance:none;appearance:none;outline:0;font-size:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:13px;height:13px;position:relative;vertical-align:0;top:2px}.weui-agree__checkbox:checked:before{font-family:weui;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-align:center;speak:none;display:inline-block;vertical-align:middle;text-decoration:inherit;content:"\EA08";color:#09bb07;font-size:13px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-48%) scale(.73);transform:translate(-50%,-48%) scale(.73)}.weui-agree__checkbox:disabled{background-color:#e1e1e1}.weui-agree__checkbox:disabled:before{color:#adadad}.weui-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;-webkit-animation:e 1s steps(12) infinite;animation:e 1s steps(12) infinite;background:transparent url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E") no-repeat;background-size:100%}.weui-btn_loading.weui-btn_primary .weui-loading,.weui-btn_loading.weui-btn_warn .weui-loading,.weui-loading.weui-loading_transparent{background-image:url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect xmlns='http://www.w3.org/2000/svg' width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.56)' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.5)' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.43)' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.38)' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.32)' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.28)' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.25)' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.2)' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.17)' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.14)' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.1)' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.03)' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E")}@-webkit-keyframes e{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes e{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.weui-slider{padding:15px 18px;-webkit-user-select:none;user-select:none}.weui-slider__inner{position:relative;height:2px;background-color:#e9e9e9}.weui-slider__track{height:2px;background-color:#1aad19;width:0}.weui-slider__handler{position:absolute;left:0;top:50%;width:28px;height:28px;margin-left:-14px;margin-top:-14px;border-radius:50%;background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.2)}.weui-slider-box{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-slider-box .weui-slider{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-slider-box__value{margin-left:.5em;min-width:24px;color:#888;text-align:center;font-size:14px}
\ No newline at end of file
+ */html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{line-height:1.6;font-family:-apple-system-font,Helvetica Neue,sans-serif}*{margin:0;padding:0}a img{border:0}a{text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}@font-face{font-weight:400;font-style:normal;font-family:weui;src:url('data:application/octet-stream;base64,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') format('truetype')}[class*=" weui-icon-"],[class^=weui-icon-]{display:inline-block;vertical-align:middle;font:normal normal normal 14px/1 weui;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}[class*=" weui-icon-"]:before,[class^=weui-icon-]:before{display:inline-block;margin-left:.2em;margin-right:.2em}.weui-icon-circle:before{content:"\EA01"}.weui-icon-download:before{content:"\EA02"}.weui-icon-info:before{content:"\EA03"}.weui-icon-safe-success:before{content:"\EA04"}.weui-icon-safe-warn:before{content:"\EA05"}.weui-icon-success:before{content:"\EA06"}.weui-icon-success-circle:before{content:"\EA07"}.weui-icon-success-no-circle:before{content:"\EA08"}.weui-icon-waiting:before{content:"\EA09"}.weui-icon-waiting-circle:before{content:"\EA0A"}.weui-icon-warn:before{content:"\EA0B"}.weui-icon-info-circle:before{content:"\EA0C"}.weui-icon-cancel:before{content:"\EA0D"}.weui-icon-search:before{content:"\EA0E"}.weui-icon-clear:before{content:"\EA0F"}.weui-icon-back:before{content:"\EA10"}.weui-icon-delete:before{content:"\EA11"}[class*=" weui-icon_"]:before,[class^=weui-icon_]:before{margin:0}.weui-icon-success{font-size:23px;color:#09bb07}.weui-icon-waiting{font-size:23px;color:#10aeff}.weui-icon-warn{font-size:23px;color:#f43530}.weui-icon-info{font-size:23px;color:#10aeff}.weui-icon-success-circle,.weui-icon-success-no-circle{font-size:23px;color:#09bb07}.weui-icon-waiting-circle{font-size:23px;color:#10aeff}.weui-icon-circle{font-size:23px;color:#c9c9c9}.weui-icon-download,.weui-icon-info-circle{font-size:23px;color:#09bb07}.weui-icon-safe-success{color:#09bb07}.weui-icon-safe-warn{color:#ffbe00}.weui-icon-cancel{color:#f43530;font-size:22px}.weui-icon-clear,.weui-icon-search{color:#b2b2b2;font-size:14px}.weui-icon-delete.weui-icon_gallery-delete{color:#fff;font-size:22px}.weui-icon_msg{font-size:93px}.weui-icon_msg.weui-icon-warn{color:#f76260}.weui-icon_msg-primary{font-size:93px}.weui-icon_msg-primary.weui-icon-warn{color:#ffbe00}.weui-btn{position:relative;display:block;margin-left:auto;margin-right:auto;padding-left:14px;padding-right:14px;box-sizing:border-box;font-size:18px;text-align:center;text-decoration:none;color:#fff;line-height:2.55555556;border-radius:5px;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden}.weui-btn:after{content:" ";width:200%;height:200%;position:absolute;top:0;left:0;border:1px solid rgba(0,0,0,.2);-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 0;transform-origin:0 0;box-sizing:border-box;border-radius:10px}.weui-btn_inline{display:inline-block}.weui-btn_default{color:#000;background-color:#f8f8f8}.weui-btn_default:not(.weui-btn_disabled):visited{color:#000}.weui-btn_default:not(.weui-btn_disabled):active{color:rgba(0,0,0,.6);background-color:#dedede}.weui-btn_primary{background-color:#1aad19}.weui-btn_primary:not(.weui-btn_disabled):visited{color:#fff}.weui-btn_primary:not(.weui-btn_disabled):active{color:hsla(0,0%,100%,.6);background-color:#179b16}.weui-btn_warn{background-color:#e64340}.weui-btn_warn:not(.weui-btn_disabled):visited{color:#fff}.weui-btn_warn:not(.weui-btn_disabled):active{color:hsla(0,0%,100%,.6);background-color:#ce3c39}.weui-btn_disabled{color:hsla(0,0%,100%,.6)}.weui-btn_disabled.weui-btn_default{color:rgba(0,0,0,.3);background-color:#f7f7f7}.weui-btn_disabled.weui-btn_primary{background-color:#9ed99d}.weui-btn_disabled.weui-btn_warn{background-color:#ec8b89}.weui-btn_loading .weui-loading{margin:-.2em .34em 0 0}.weui-btn_loading.weui-btn_primary,.weui-btn_loading.weui-btn_warn{color:hsla(0,0%,100%,.6)}.weui-btn_loading.weui-btn_primary{background-color:#179b16}.weui-btn_loading.weui-btn_warn{background-color:#ce3c39}.weui-btn_plain-primary{color:#1aad19;border:1px solid #1aad19}.weui-btn_plain-primary:not(.weui-btn_plain-disabled):active{color:rgba(26,173,25,.6);border-color:rgba(26,173,25,.6)}.weui-btn_plain-primary:after{border-width:0}.weui-btn_plain-default{color:#353535;border:1px solid #353535}.weui-btn_plain-default:not(.weui-btn_plain-disabled):active{color:rgba(53,53,53,.6);border-color:rgba(53,53,53,.6)}.weui-btn_plain-default:after{border-width:0}.weui-btn_plain-disabled{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}button.weui-btn,input.weui-btn{width:100%;border-width:0;outline:0;-webkit-appearance:none}button.weui-btn:focus,input.weui-btn:focus{outline:0}button.weui-btn_inline,button.weui-btn_mini,input.weui-btn_inline,input.weui-btn_mini{width:auto}button.weui-btn_plain-default,button.weui-btn_plain-primary,input.weui-btn_plain-default,input.weui-btn_plain-primary{border-width:1px;background-color:transparent}.weui-btn_mini{display:inline-block;padding:0 1.32em;line-height:2.3;font-size:13px}.weui-btn+.weui-btn{margin-top:15px}.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline{margin-top:auto;margin-left:15px}.weui-btn-area{margin:1.17647059em 15px .3em}.weui-btn-area_inline{display:-webkit-box;display:-webkit-flex;display:flex}.weui-btn-area_inline .weui-btn{margin-top:auto;margin-right:15px;width:100%;-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-btn-area_inline .weui-btn:last-child{margin-right:0}.weui-cells{margin-top:1.17647059em;background-color:#fff;line-height:1.47058824;font-size:17px;overflow:hidden;position:relative}.weui-cells:before{top:0;border-top:1px solid #e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-cells:after,.weui-cells:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5;z-index:2}.weui-cells:after{bottom:0;border-bottom:1px solid #e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-cells__title{margin-top:.77em;margin-bottom:.3em;padding-left:15px;padding-right:15px;color:#999;font-size:14px}.weui-cells__title+.weui-cells{margin-top:0}.weui-cells__tips{margin-top:.3em;color:#999;padding-left:15px;padding-right:15px;font-size:14px}.weui-cell{padding:10px 15px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5);left:15px;z-index:2}.weui-cell:first-child:before{display:none}.weui-cell_primary{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}.weui-cell__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-cell__ft{text-align:right;color:#999}.weui-cell_swiped{display:block;padding:0}.weui-cell_swiped>.weui-cell__bd{position:relative;z-index:1;background-color:#fff}.weui-cell_swiped>.weui-cell__ft{position:absolute;right:0;top:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:flex;color:#fff}.weui-swiped-btn{display:block;padding:10px 1em;line-height:1.47058824;color:inherit}.weui-swiped-btn_default{background-color:#c7c7cc}.weui-swiped-btn_warn{background-color:#ff3b30}.weui-cell_access{-webkit-tap-highlight-color:rgba(0,0,0,0);color:inherit}.weui-cell_access:active{background-color:#ececec}.weui-cell_access .weui-cell__ft{padding-right:13px;position:relative}.weui-cell_access .weui-cell__ft:after{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;margin-top:-4px;right:2px}.weui-cell_link{color:#586c94;font-size:14px}.weui-cell_link:first-child:before{display:block}.weui-check__label{-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-check__label:active{background-color:#ececec}.weui-check{position:absolute;left:-9999em}.weui-cells_radio .weui-cell__ft{padding-left:.35em}.weui-cells_radio .weui-check+.weui-icon-checked{min-width:16px}.weui-cells_radio .weui-check:checked+.weui-icon-checked:before{display:block;content:'\EA08';color:#09bb07;font-size:16px}.weui-cells_checkbox .weui-cell__hd{padding-right:.35em}.weui-cells_checkbox .weui-icon-checked:before{content:'\EA01';color:#c9c9c9;font-size:23px;display:block}.weui-cells_checkbox .weui-check:checked+.weui-icon-checked:before{content:'\EA06';color:#09bb07}.weui-label{display:block;width:105px;word-wrap:break-word;word-break:break-all}.weui-input{width:100%;border:0;outline:0;-webkit-appearance:none;background-color:transparent;font-size:inherit;color:inherit;height:1.47058824em;line-height:1.47058824}.weui-input::-webkit-inner-spin-button,.weui-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.weui-textarea{display:block;border:0;resize:none;width:100%;color:inherit;font-size:1em;line-height:inherit;outline:0}.weui-textarea-counter{color:#b2b2b2;text-align:right}.weui-cell_warn .weui-textarea-counter{color:#e64340}.weui-toptips{display:none;position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);top:0;left:0;right:0;padding:5px;font-size:14px;text-align:center;color:#fff;z-index:5000;word-wrap:break-word;word-break:break-all}.weui-toptips_warn{background-color:#e64340}.weui-cells_form .weui-cell__ft{font-size:0}.weui-cells_form .weui-icon-warn{display:none}.weui-cells_form input,.weui-cells_form label[for],.weui-cells_form textarea{-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-cell_warn{color:#e64340}.weui-cell_warn .weui-icon-warn{display:inline-block}.weui-form-preview{position:relative;background-color:#fff}.weui-form-preview:before{top:0;border-top:1px solid #e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-form-preview:after,.weui-form-preview:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}.weui-form-preview:after{bottom:0;border-bottom:1px solid #e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-form-preview__hd{position:relative;padding:10px 15px;text-align:right;line-height:2.5em}.weui-form-preview__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);left:15px}.weui-form-preview__hd .weui-form-preview__value{font-style:normal;font-size:1.6em}.weui-form-preview__bd{padding:10px 15px;font-size:.9em;text-align:right;color:#999;line-height:2}.weui-form-preview__ft{position:relative;line-height:50px;display:-webkit-box;display:-webkit-flex;display:flex}.weui-form-preview__ft:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #d5d5d6;color:#d5d5d6;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-form-preview__item{overflow:hidden}.weui-form-preview__label{float:left;margin-right:1em;min-width:4em;color:#999;text-align:justify;text-align-last:justify}.weui-form-preview__value{display:block;overflow:hidden;word-break:normal;word-wrap:break-word}.weui-form-preview__btn{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#3cc51f;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}button.weui-form-preview__btn{background-color:transparent;border:0;outline:0;line-height:inherit;font-size:inherit}.weui-form-preview__btn:active{background-color:#eee}.weui-form-preview__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1px solid #d5d5d6;color:#d5d5d6;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-form-preview__btn:first-child:after{display:none}.weui-form-preview__btn_default{color:#999}.weui-form-preview__btn_primary{color:#0bb20c}.weui-cell_select{padding:0}.weui-cell_select .weui-select{padding-right:30px}.weui-cell_select .weui-cell__bd:after{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;right:15px;margin-top:-4px}.weui-select{-webkit-appearance:none;border:0;outline:0;background-color:transparent;width:100%;font-size:inherit;height:45px;line-height:45px;position:relative;z-index:1;padding-left:15px}.weui-cell_select-before{padding-right:15px}.weui-cell_select-before .weui-select{width:105px;box-sizing:border-box}.weui-cell_select-before .weui-cell__hd{position:relative}.weui-cell_select-before .weui-cell__hd:after{content:" ";position:absolute;right:0;top:0;width:1px;bottom:0;border-right:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-cell_select-before .weui-cell__hd:before{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;right:15px;margin-top:-4px}.weui-cell_select-before .weui-cell__bd{padding-left:15px}.weui-cell_select-before .weui-cell__bd:after{display:none}.weui-cell_select-after{padding-left:15px}.weui-cell_select-after .weui-select{padding-left:0}.weui-cell_vcode{padding-top:0;padding-right:0;padding-bottom:0}.weui-vcode-btn,.weui-vcode-img{margin-left:5px;height:45px;vertical-align:middle}.weui-vcode-btn{display:inline-block;padding:0 .6em 0 .7em;border-left:1px solid #e5e5e5;line-height:45px;font-size:17px;color:#3cc51f}button.weui-vcode-btn{background-color:transparent;border-top:0;border-right:0;border-bottom:0;outline:0}.weui-vcode-btn:active{color:#52a341}.weui-gallery{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;z-index:1000}.weui-gallery__img{position:absolute;top:0;right:0;bottom:60px;left:0;background:50% no-repeat;background-size:contain}.weui-gallery__opr{position:absolute;right:0;bottom:0;left:0;background-color:#0d0d0d;color:#fff;line-height:60px;text-align:center}.weui-gallery__del{display:block}.weui-cell_switch{padding-top:6.5px;padding-bottom:6.5px}.weui-switch{-webkit-appearance:none;appearance:none}.weui-switch,.weui-switch-cp__box{position:relative;width:52px;height:32px;border:1px solid #dfdfdf;outline:0;border-radius:16px;box-sizing:border-box;background-color:#dfdfdf;-webkit-transition:background-color .1s,border .1s;transition:background-color .1s,border .1s}.weui-switch-cp__box:before,.weui-switch:before{content:" ";position:absolute;top:0;left:0;width:50px;height:30px;border-radius:15px;background-color:#fdfdfd;-webkit-transition:-webkit-transform .35s cubic-bezier(.45,1,.4,1);transition:-webkit-transform .35s cubic-bezier(.45,1,.4,1);transition:transform .35s cubic-bezier(.45,1,.4,1);transition:transform .35s cubic-bezier(.45,1,.4,1),-webkit-transform .35s cubic-bezier(.45,1,.4,1)}.weui-switch-cp__box:after,.weui-switch:after{content:" ";position:absolute;top:0;left:0;width:30px;height:30px;border-radius:15px;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-transition:-webkit-transform .35s cubic-bezier(.4,.4,.25,1.35);transition:-webkit-transform .35s cubic-bezier(.4,.4,.25,1.35);transition:transform .35s cubic-bezier(.4,.4,.25,1.35);transition:transform .35s cubic-bezier(.4,.4,.25,1.35),-webkit-transform .35s cubic-bezier(.4,.4,.25,1.35)}.weui-switch-cp__input:checked~.weui-switch-cp__box,.weui-switch:checked{border-color:#04be02;background-color:#04be02}.weui-switch-cp__input:checked~.weui-switch-cp__box:before,.weui-switch:checked:before{-webkit-transform:scale(0);transform:scale(0)}.weui-switch-cp__input:checked~.weui-switch-cp__box:after,.weui-switch:checked:after{-webkit-transform:translateX(20px);transform:translateX(20px)}.weui-switch-cp__input{position:absolute;left:-9999px}.weui-switch-cp__box{display:block}.weui-uploader__hd{display:-webkit-box;display:-webkit-flex;display:flex;padding-bottom:10px;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-uploader__title{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-uploader__info{color:#b2b2b2}.weui-uploader__bd{margin-bottom:-4px;margin-right:-9px;overflow:hidden}.weui-uploader__files{list-style:none}.weui-uploader__file{float:left;margin-right:9px;margin-bottom:9px;width:79px;height:79px;background:no-repeat 50%;background-size:cover}.weui-uploader__file_status{position:relative}.weui-uploader__file_status:before{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5)}.weui-uploader__file_status .weui-uploader__file-content{display:block}.weui-uploader__file-content{display:none;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff}.weui-uploader__file-content .weui-icon-warn{display:inline-block}.weui-uploader__input-box{float:left;position:relative;margin-right:9px;margin-bottom:9px;width:77px;height:77px;border:1px solid #d9d9d9}.weui-uploader__input-box:after,.weui-uploader__input-box:before{content:" ";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#d9d9d9}.weui-uploader__input-box:before{width:2px;height:39.5px}.weui-uploader__input-box:after{width:39.5px;height:2px}.weui-uploader__input-box:active{border-color:#999}.weui-uploader__input-box:active:after,.weui-uploader__input-box:active:before{background-color:#999}.weui-uploader__input{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;opacity:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-msg{padding-top:36px;text-align:center}.weui-msg__icon-area{margin-bottom:30px}.weui-msg__text-area{margin-bottom:25px;padding:0 20px}.weui-msg__text-area a{color:#586c94}.weui-msg__title{margin-bottom:5px;font-weight:400;font-size:20px}.weui-msg__desc,.weui-msg__title{word-wrap:break-word;word-break:break-all}.weui-msg__desc{font-size:14px;color:#999}.weui-msg__opr-area{margin-bottom:25px}.weui-msg__extra-area{margin-bottom:15px;font-size:14px;color:#999}.weui-msg__extra-area a{color:#586c94}@media screen and (min-height:438px){.weui-msg__extra-area{position:fixed;left:0;bottom:0;width:100%;text-align:center}}@media only screen and (device-width:375px) and (device-height:812px) and (-webkit-device-pixel-ratio:3){.weui-msg__extra-area{margin-bottom:49px}}.weui-article{padding:20px 15px;font-size:15px}.weui-article section{margin-bottom:1.5em}.weui-article h1{font-size:18px;font-weight:400;margin-bottom:.9em}.weui-article h2{font-size:16px}.weui-article h2,.weui-article h3{font-weight:400;margin-bottom:.34em}.weui-article h3{font-size:15px}.weui-article *{max-width:100%;box-sizing:border-box;word-wrap:break-word}.weui-article p{margin:0 0 .8em}.weui-tabbar{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;z-index:500;bottom:0;width:100%;background-color:#f7f7fa}.weui-tabbar:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #c0bfc4;color:#c0bfc4;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-tabbar__item{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:5px 0 0;font-size:0;color:#999;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon>i,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__label{color:#09bb07}.weui-tabbar__icon{display:inline-block;width:27px;height:27px}.weui-tabbar__icon>i,i.weui-tabbar__icon{font-size:24px;color:#999}.weui-tabbar__icon img{width:100%;height:100%}.weui-tabbar__label{text-align:center;color:#999;font-size:10px;line-height:1.8}.weui-navbar{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;z-index:500;top:0;width:100%;background-color:#fafafa}.weui-navbar:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #ccc;color:#ccc;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-navbar+.weui-tab__panel{padding-top:50px;padding-bottom:0}.weui-navbar__item{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:13px 0;text-align:center;font-size:15px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-navbar__item:active{background-color:#ededed}.weui-navbar__item.weui-bar__item_on{background-color:#eaeaea}.weui-navbar__item:after{content:" ";position:absolute;right:0;top:0;width:1px;bottom:0;border-right:1px solid #ccc;color:#ccc;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-navbar__item:last-child:after{display:none}.weui-tab{position:relative;height:100%}.weui-tab__panel{box-sizing:border-box;height:100%;padding-bottom:50px;overflow:auto;-webkit-overflow-scrolling:touch}.weui-tab__content{display:none}.weui-progress{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-progress__bar{background-color:#ebebeb;height:3px;-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-progress__inner-bar{width:0;height:100%;background-color:#09bb07}.weui-progress__opr{display:block;margin-left:15px;font-size:0}.weui-panel{background-color:#fff;margin-top:10px;position:relative;overflow:hidden}.weui-panel:first-child{margin-top:0}.weui-panel:before{top:0;border-top:1px solid #e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-panel:after,.weui-panel:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}.weui-panel:after{bottom:0;border-bottom:1px solid #e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-panel__hd{padding:14px 15px 10px;color:#999;font-size:13px;position:relative}.weui-panel__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5);left:15px}.weui-media-box{padding:15px;position:relative}.weui-media-box:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5);left:15px}.weui-media-box:first-child:before{display:none}a.weui-media-box{color:#000;-webkit-tap-highlight-color:rgba(0,0,0,0)}a.weui-media-box:active{background-color:#ececec}.weui-media-box__title{font-weight:400;font-size:17px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;word-wrap:break-word;word-break:break-all}.weui-media-box__desc{color:#999;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-media-box__info{margin-top:15px;padding-bottom:5px;font-size:13px;color:#cecece;line-height:1em;list-style:none;overflow:hidden}.weui-media-box__info__meta{float:left;padding-right:1em}.weui-media-box__info__meta_extra{padding-left:1em;border-left:1px solid #cecece}.weui-media-box_text .weui-media-box__title{margin-bottom:8px}.weui-media-box_appmsg{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-media-box_appmsg .weui-media-box__hd{margin-right:.8em;width:60px;height:60px;line-height:60px;text-align:center}.weui-media-box_appmsg .weui-media-box__thumb{width:100%;max-height:100%;vertical-align:top}.weui-media-box_appmsg .weui-media-box__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0}.weui-media-box_small-appmsg{padding:0}.weui-media-box_small-appmsg .weui-cells{margin-top:0}.weui-media-box_small-appmsg .weui-cells:before{display:none}.weui-grids{position:relative;overflow:hidden}.weui-grids:before{right:0;height:1px;border-top:1px solid #d9d9d9;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-grids:after,.weui-grids:before{content:" ";position:absolute;left:0;top:0;color:#d9d9d9}.weui-grids:after{width:1px;bottom:0;border-left:1px solid #d9d9d9;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-grid{position:relative;float:left;padding:20px 10px;width:33.33333333%;box-sizing:border-box}.weui-grid:before{top:0;width:1px;border-right:1px solid #d9d9d9;-webkit-transform-origin:100% 0;transform-origin:100% 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-grid:after,.weui-grid:before{content:" ";position:absolute;right:0;bottom:0;color:#d9d9d9}.weui-grid:after{left:0;height:1px;border-bottom:1px solid #d9d9d9;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-grid:active{background-color:#ececec}.weui-grid__icon{width:28px;height:28px;margin:0 auto}.weui-grid__icon img{display:block;width:100%;height:100%}.weui-grid__icon+.weui-grid__label{margin-top:5px}.weui-grid__label{display:block;color:#000;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.weui-footer,.weui-grid__label{text-align:center;font-size:14px}.weui-footer{color:#999}.weui-footer a{color:#586c94}.weui-footer_fixed-bottom{position:fixed;bottom:.52em;left:0;right:0}.weui-footer__links{font-size:0}.weui-footer__link{display:inline-block;vertical-align:top;margin:0 .62em;position:relative;font-size:14px}.weui-footer__link:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1px solid #c7c7c7;color:#c7c7c7;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(.5);transform:scaleX(.5);left:-.65em;top:.36em;bottom:.36em}.weui-footer__link:first-child:before{display:none}.weui-footer__text{padding:0 .34em;font-size:12px}.weui-flex{display:-webkit-box;display:-webkit-flex;display:flex}.weui-flex__item{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-dialog{position:fixed;z-index:5000;width:80%;max-width:300px;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#fff;text-align:center;border-radius:3px;overflow:hidden}.weui-dialog__hd{padding:1.3em 1.6em .5em}.weui-dialog__title{font-weight:400;font-size:18px}.weui-dialog__bd{padding:0 1.6em .8em;min-height:40px;font-size:15px;line-height:1.3;word-wrap:break-word;word-break:break-all;color:#999}.weui-dialog__bd:first-child{padding:2.7em 20px 1.7em;color:#353535}.weui-dialog__ft{position:relative;line-height:48px;font-size:18px;display:-webkit-box;display:-webkit-flex;display:flex}.weui-dialog__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #d5d5d6;color:#d5d5d6;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-dialog__btn{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#3cc51f;text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative}.weui-dialog__btn:active{background-color:#eee}.weui-dialog__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1px solid #d5d5d6;color:#d5d5d6;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleX(.5);transform:scaleX(.5)}.weui-dialog__btn:first-child:after{display:none}.weui-dialog__btn_default{color:#353535}.weui-dialog__btn_primary{color:#0bb20c}.weui-skin_android .weui-dialog{text-align:left;box-shadow:0 6px 30px 0 rgba(0,0,0,.1)}.weui-skin_android .weui-dialog__title{font-size:21px}.weui-skin_android .weui-dialog__hd{text-align:left}.weui-skin_android .weui-dialog__bd{color:#999;padding:.25em 1.6em 2em;font-size:17px;text-align:left}.weui-skin_android .weui-dialog__bd:first-child{padding:1.6em 1.6em 2em;color:#353535}.weui-skin_android .weui-dialog__ft{display:block;text-align:right;line-height:42px;font-size:16px;padding:0 1.6em .7em}.weui-skin_android .weui-dialog__ft:after{display:none}.weui-skin_android .weui-dialog__btn{display:inline-block;vertical-align:top;padding:0 .8em}.weui-skin_android .weui-dialog__btn:after{display:none}.weui-skin_android .weui-dialog__btn:active,.weui-skin_android .weui-dialog__btn:visited{background-color:rgba(0,0,0,.06)}.weui-skin_android .weui-dialog__btn:last-child{margin-right:-.8em}.weui-skin_android .weui-dialog__btn_default{color:gray}@media screen and (min-width:1024px){.weui-dialog{width:35%}}.weui-toast{position:fixed;z-index:5000;width:7.6em;min-height:7.6em;top:180px;left:50%;margin-left:-3.8em;background:hsla(0,0%,7%,.7);text-align:center;border-radius:5px;color:#fff}.weui-icon_toast{margin:22px 0 0;display:block}.weui-icon_toast.weui-icon-success-no-circle:before{color:#fff;font-size:55px}.weui-icon_toast.weui-loading{margin:30px 0 0;width:38px;height:38px;vertical-align:baseline}.weui-toast__content{margin:0 0 15px}.weui-mask{background:rgba(0,0,0,.6)}.weui-mask,.weui-mask_transparent{position:fixed;z-index:1000;top:0;right:0;left:0;bottom:0}.weui-actionsheet{position:fixed;left:0;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:5000;width:100%;background-color:#efeff4;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.weui-actionsheet__title{position:relative;height:65px;padding:0 20px;line-height:1.4;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;text-align:center;font-size:14px;color:#888;background:#fcfcfd}.weui-actionsheet__title:before{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-actionsheet__title .weui-actionsheet__title-text{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-actionsheet__menu{background-color:#fcfcfd}.weui-actionsheet__action{margin-top:6px;background-color:#fcfcfd}.weui-actionsheet__cell{position:relative;padding:10px 0;text-align:center;font-size:18px}.weui-actionsheet__cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-actionsheet__cell:active{background-color:#ececec}.weui-actionsheet__cell:first-child:before{display:none}.weui-skin_android .weui-actionsheet{position:fixed;left:50%;top:50%;bottom:auto;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:274px;box-sizing:border-box;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:transparent;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.weui-skin_android .weui-actionsheet__action{display:none}.weui-skin_android .weui-actionsheet__menu{border-radius:2px;box-shadow:0 6px 30px 0 rgba(0,0,0,.1)}.weui-skin_android .weui-actionsheet__cell{padding:13px 24px;font-size:16px;line-height:1.4;text-align:left}.weui-skin_android .weui-actionsheet__cell:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.weui-skin_android .weui-actionsheet__cell:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.weui-actionsheet_toggle{-webkit-transform:translate(0);transform:translate(0)}.weui-loadmore{width:65%;margin:1.5em auto;line-height:1.6em;font-size:14px;text-align:center}.weui-loadmore__tips{display:inline-block;vertical-align:middle}.weui-loadmore_line{border-top:1px solid #e5e5e5;margin-top:2.4em}.weui-loadmore_line .weui-loadmore__tips{position:relative;top:-.9em;padding:0 .55em;background-color:#fff;color:#999}.weui-loadmore_dot .weui-loadmore__tips{padding:0 .16em}.weui-loadmore_dot .weui-loadmore__tips:before{content:" ";width:4px;height:4px;border-radius:50%;background-color:#e5e5e5;display:inline-block;position:relative;vertical-align:0;top:-.16em}.weui-badge{display:inline-block;padding:.15em .4em;min-width:8px;border-radius:18px;background-color:#f43530;color:#fff;line-height:1.2;text-align:center;font-size:12px;vertical-align:middle}.weui-badge_dot{padding:.4em;min-width:0}.weui-search-bar{position:relative;padding:8px 10px;display:-webkit-box;display:-webkit-flex;display:flex;box-sizing:border-box;background-color:#efeff4;-webkit-text-size-adjust:100%;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-search-bar:before{top:0;border-top:1px solid #d7d6dc;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-search-bar:after,.weui-search-bar:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#d7d6dc}.weui-search-bar:after{bottom:0;border-bottom:1px solid #d7d6dc;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-search-bar.weui-search-bar_focusing .weui-search-bar__cancel-btn{display:block}.weui-search-bar.weui-search-bar_focusing .weui-search-bar__label{display:none}.weui-search-bar__form{position:relative;-webkit-box-flex:1;-webkit-flex:auto;flex:auto;background-color:#efeff4}.weui-search-bar__form:after{content:'';position:absolute;left:0;top:0;width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5);-webkit-transform-origin:0 0;transform-origin:0 0;border-radius:10px;border:1px solid #e6e6ea;box-sizing:border-box;background:#fff}.weui-search-bar__box{position:relative;padding-left:30px;padding-right:30px;height:100%;width:100%;box-sizing:border-box;z-index:1}.weui-search-bar__box .weui-search-bar__input{padding:4px 0;width:100%;height:1.42857143em;border:0;font-size:14px;line-height:1.42857143em;box-sizing:content-box;background:transparent}.weui-search-bar__box .weui-search-bar__input:focus{outline:none}.weui-search-bar__box .weui-icon-search{position:absolute;top:50%;left:10px;margin-top:-14px;line-height:28px}.weui-search-bar__box .weui-icon-clear{position:absolute;top:50%;right:0;margin-top:-14px;padding:0 10px;line-height:28px}.weui-search-bar__label{position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:2;border-radius:3px;text-align:center;color:#9b9b9b;background:#fff}.weui-search-bar__label span{display:inline-block;font-size:14px;vertical-align:middle}.weui-search-bar__label .weui-icon-search{margin-right:5px}.weui-search-bar__cancel-btn{display:none;margin-left:10px;line-height:28px;color:#09bb07;white-space:nowrap}.weui-search-bar__input:not(:valid)~.weui-icon-clear{display:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{display:none}.weui-picker{position:fixed;width:100%;left:0;bottom:0;z-index:5000;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.weui-picker__hd{display:-webkit-box;display:-webkit-flex;display:flex;padding:9px 15px;background-color:#fff;position:relative;text-align:center;font-size:17px}.weui-picker__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1px solid #e5e5e5;color:#e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-picker__action{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#1aad19}.weui-picker__action:first-child{text-align:left;color:#888}.weui-picker__action:last-child{text-align:right}.weui-picker__bd{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;background-color:#fff;height:238px;overflow:hidden}.weui-picker__group{-webkit-box-flex:1;-webkit-flex:1;flex:1;position:relative;height:100%}.weui-picker__mask{top:0;height:100%;margin:0 auto;background:-webkit-linear-gradient(top,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6)),-webkit-linear-gradient(bottom,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6));background:linear-gradient(180deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6)),linear-gradient(0deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.6));background-position:top,bottom;background-size:100% 102px;background-repeat:no-repeat;-webkit-transform:translateZ(0);transform:translateZ(0)}.weui-picker__indicator,.weui-picker__mask{position:absolute;left:0;width:100%;z-index:3}.weui-picker__indicator{height:34px;top:102px}.weui-picker__indicator:before{top:0;border-top:1px solid #e5e5e5;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-picker__indicator:after,.weui-picker__indicator:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}.weui-picker__indicator:after{bottom:0;border-bottom:1px solid #e5e5e5;-webkit-transform-origin:0 100%;transform-origin:0 100%;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.weui-picker__content{position:absolute;top:0;left:0;width:100%}.weui-picker__item{padding:0;height:34px;line-height:34px;text-align:center;color:#000;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.weui-picker__item_disabled{color:#999}@-webkit-keyframes a{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes a{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.weui-animate-slide-up{-webkit-animation:a ease .3s forwards;animation:a ease .3s forwards}@-webkit-keyframes b{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes b{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.weui-animate-slide-down{-webkit-animation:b ease .3s forwards;animation:b ease .3s forwards}@-webkit-keyframes c{0%{opacity:0}to{opacity:1}}@keyframes c{0%{opacity:0}to{opacity:1}}.weui-animate-fade-in{-webkit-animation:c ease .3s forwards;animation:c ease .3s forwards}@-webkit-keyframes d{0%{opacity:1}to{opacity:0}}@keyframes d{0%{opacity:1}to{opacity:0}}.weui-animate-fade-out{-webkit-animation:d ease .3s forwards;animation:d ease .3s forwards}.weui-agree{display:block;padding:.5em 15px;font-size:13px}.weui-agree a{color:#586c94}.weui-agree__text{color:#999}.weui-agree__checkbox{-webkit-appearance:none;appearance:none;outline:0;font-size:0;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:13px;height:13px;position:relative;vertical-align:0;top:2px}.weui-agree__checkbox:checked:before{font-family:weui;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-align:center;speak:none;display:inline-block;vertical-align:middle;text-decoration:inherit;content:"\EA08";color:#09bb07;font-size:13px;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-48%) scale(.73);transform:translate(-50%,-48%) scale(.73)}.weui-agree__checkbox:disabled{background-color:#e1e1e1}.weui-agree__checkbox:disabled:before{color:#adadad}.weui-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;-webkit-animation:e 1s steps(12) infinite;animation:e 1s steps(12) infinite;background:transparent url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E") no-repeat;background-size:100%}.weui-btn_loading.weui-btn_primary .weui-loading,.weui-btn_loading.weui-btn_warn .weui-loading,.weui-loading.weui-loading_transparent{background-image:url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect xmlns='http://www.w3.org/2000/svg' width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.56)' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.5)' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.43)' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.38)' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.32)' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.28)' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.25)' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.2)' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.17)' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.14)' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.1)' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.03)' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E")}@-webkit-keyframes e{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes e{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.weui-slider{padding:15px 18px;-webkit-user-select:none;user-select:none}.weui-slider__inner{position:relative;height:2px;background-color:#e9e9e9}.weui-slider__track{height:2px;background-color:#1aad19;width:0}.weui-slider__handler{position:absolute;left:0;top:50%;width:28px;height:28px;margin-left:-14px;margin-top:-14px;border-radius:50%;background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.2)}.weui-slider-box{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-slider-box .weui-slider{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-slider-box__value{margin-left:.5em;min-width:24px;color:#888;text-align:center;font-size:14px}
\ No newline at end of file
diff --git a/oauth/src/main/resources/static/img/icon_header.png b/oauth/src/main/resources/static/img/icon_header.png
new file mode 100644
index 0000000..b3a7ebe
--- /dev/null
+++ b/oauth/src/main/resources/static/img/icon_header.png
Binary files differ
diff --git a/oauth/src/main/resources/templates/index.html b/oauth/src/main/resources/templates/index.html
index 6efd74e..faf4934 100644
--- a/oauth/src/main/resources/templates/index.html
+++ b/oauth/src/main/resources/templates/index.html
@@ -6,10 +6,85 @@
     <meta name="_csrf" th:content="${_csrf.token}"/>
     <!-- default header name is X-CSRF-TOKEN -->
     <meta name="_csrf_header" th:content="${_csrf.headerName}"/>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">
+    <link rel="stylesheet" type="text/css" th:href="@{/css/aui.css}"/>
     <link rel="stylesheet" type="text/css" th:href="@{/css/weui.min.css}"/>
     <link rel="stylesheet" type="text/css" th:href="@{/css/jquery-weui.css}"/>
+    <style type="text/css">
+        .text-white {
+            color: #ffffff !important;
+        }
+        .aui-grid [class*=aui-col-] {
+            padding: 0.75rem 0;
+        }
+    </style>
 </head>
 <body>
-用户中心
+<!-- 顶部 -->
+<section class="aui-content" id="user-info">
+    <div class="aui-list aui-media-list aui-list-noborder aui-bg-info">
+        <div class="aui-list-item aui-list-item-middle">
+            <div class="aui-media-list-item-inner ">
+                <div class="aui-list-item-media" style="width:3rem;">
+                    <img th:src="@{/img/icon_header.png}" class="aui-img-round" >
+                </div>
+                <div class="aui-list-item-inner aui-list-item-arrow">
+                    <div class="aui-list-item-text text-white aui-font-size-18">[[${uinfor.name}]]</div>
+                    <div class="aui-list-item-text text-white">
+                        <div  >[[${loginid}]]</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</section>
+<section class="aui-content aui-grid aui-margin-b-15">
+    <div class="aui-row">
+        <div class="aui-col-xs-4 aui-border-r">
+            <big class="aui-text-warning">[[${uinfor.availbal}]]<small> 元</small></big>
+            <div class="aui-gird-lable aui-font-size-12">余额</div>
+        </div>
+        <div class="aui-col-xs-4">
+            <big class="aui-text-success">0<small> 分</small></big>
+            <div class="aui-gird-lable aui-font-size-12">积分</div>
+        </div>
+        <div class="aui-col-xs-4 aui-border-r">
+            <big class="aui-text-danger">0<small> 个</small></big>
+            <div class="aui-gird-lable aui-font-size-12">优惠</div>
+        </div>
+    </div>
+</section>
+<section class="aui-content">
+    <ul class="aui-list aui-list-in aui-margin-b-15">
+        <li class="aui-list-item">
+            <div class="aui-list-item-inner aui-list-item-arrow">
+                <div class="aui-list-item-title">交易流水</div>
+            </div>
+        </li>
+    </ul>
+    <ul class="aui-list aui-list-in aui-margin-b-15">
+        <li class="aui-list-item">
+            <div class="aui-list-item-inner aui-list-item-arrow">
+                <div class="aui-list-item-title">消费限额</div>
+            </div>
+        </li>
+    </ul>
+    <ul class="aui-list aui-list-in aui-margin-b-15">
+        <li class="aui-list-item">
+            <div class="aui-list-item-inner aui-list-item-arrow">
+                <div class="aui-list-item-title">登录密码</div>
+            </div>
+        </li>
+        <li class="aui-list-item">
+            <div class="aui-list-item-inner aui-list-item-arrow">
+                <div class="aui-list-item-title">支付密码</div>
+            </div>
+        </li>
+    </ul>
+    <div style="padding: 20px;position: absolute;bottom: 0;left: 0;right: 0;">
+        <a th:href="@{/logout}" class="weui-btn weui-btn_warn">退出登录</a>
+    </div>
+</section>
 </body>
 </html>
\ No newline at end of file
diff --git a/oauth/src/main/resources/templates/login.html b/oauth/src/main/resources/templates/login.html
index 8993b29..263fb72 100644
--- a/oauth/src/main/resources/templates/login.html
+++ b/oauth/src/main/resources/templates/login.html
@@ -10,36 +10,53 @@
     <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">
     <link rel="stylesheet" type="text/css" th:href="@{/css/weui.min.css}"/>
     <link rel="stylesheet" type="text/css" th:href="@{/css/jquery-weui.css}"/>
+    <link rel="stylesheet" type="text/css" th:href="@{/css/aui.css}"/>
+    <link rel="stylesheet" type="text/css" th:href="@{/css/index.css}"/>
 </head>
 <body>
-<p style="color:red;padding: 0 0 10px 0;"
-   th:if="${session['SPRING_SECURITY_LAST_EXCEPTION']!=null and session['SPRING_SECURITY_LAST_EXCEPTION'].message!=null}"
-   th:text="${session['SPRING_SECURITY_LAST_EXCEPTION'].message}"></p>
 <form th:action="@{/login/form}" method="post">
-    <input type="hidden"
-           th:name="${_csrf.parameterName}"
-           th:value="${_csrf.token}"/>
-    <div class="weui-cells__title">统一身份认证</div>
-    <div class="weui-cells" >
-        <div class="weui-cell">
-            <div class="weui-cell__hd">
-                <label class="weui-label">账号</label>
-            </div>
-            <div class="weui-cell__bd">
-                <input class="weui-input" type="text" id="username" name="username" placeholder="学工号\手机号\邮箱">
-            </div>
-        </div>
-        <div class="weui-cell">
-            <div class="weui-cell__hd">
-                <label class="weui-label">密码</label>
-            </div>
-            <div class="weui-cell__bd">
-                <input class="weui-input" type="password" id="password" name="password" placeholder="请输入密码">
-            </div>
-        </div>
-
+    <div class="login-top">
+        统一身份认证
     </div>
-    <button type="submit" class="weui-btn weui-btn_plain-primary" style="margin:30px;">登 录</button>
+    <section class="aui-content" >
+        <p style="color:red;padding: 10px 0 ;text-align: center"
+           th:if="${session['SPRING_SECURITY_LAST_EXCEPTION']!=null and session['SPRING_SECURITY_LAST_EXCEPTION'].message!=null}"
+           th:text="${session['SPRING_SECURITY_LAST_EXCEPTION'].message}"></p>
+        <input type="hidden"
+               th:name="${_csrf.parameterName}"
+               th:value="${_csrf.token}"/>
+        <ul class="aui-list aui-form-list">
+            <li class="aui-list-item" >
+                <div class="aui-list-item-inner" >
+                    <div class="aui-list-item-label-icon">
+                        <i class="aui-iconfont aui-icon-mobile" ></i>
+                    </div>
+                    <div class="aui-list-item-input">
+                        <input  type="text" id="username" name="username"  placeholder="学工号/手机号/邮箱">
+                    </div>
+                </div>
+            </li>
+            <li class="aui-list-item">
+                <div class="aui-list-item-inner" >
+                    <div class="aui-list-item-label-icon">
+                        <i class="aui-iconfont aui-icon-lock"></i>
+                    </div>
+                    <div class="aui-list-item-input">
+                        <input type="password"  placeholder="请输入登录密码"  id="password" name="password"  >
+                    </div>
+                </div>
+            </li>
+        </ul>
+    </section>
+    <section class="aui-content-padded" style="margin-top: 30px;">
+        <button type="submit" class="aui-btn aui-btn-block aui-btn-info" >登 录</button>
+    </section>
+    <section class="aui-content-padded" style="position: absolute;bottom: 10px;text-align: center;left: 0;right: 0;">
+        <a  th:href="@{/findpwd}" style="color: #666;">
+            忘记密码?
+        </a>
+    </section>
 </form>
 </body>
-</html>
\ No newline at end of file
+</html>
+
diff --git a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java
index 4854570..a8e7808 100644
--- a/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java
+++ b/payapi-sdk/src/main/java/com/supwisdom/dlpay/paysdk/proxy/UserProxy.java
@@ -23,4 +23,6 @@
   @PostMapping("/api/user/querycards")
   CardsResponse querycards(@RequestBody QueryCardsParam param);
 
+  @PostMapping("/api/user/testmsg")
+  ApiResponse testmsg();
 }
diff --git a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
index 59eba97..9033d45 100644
--- a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
+++ b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
@@ -203,9 +203,9 @@
   public void testmsg(){
     ApiLoginHelper helper = new ApiLoginHelper(apiLoginProxy);
     helper.login(appid, secret);
-    QueryUserParam param = new QueryUserParam();
-    param.setCitizencardno("123456");
-
+    ApiResponse response = userProxy.testmsg();
+    assertThat("test msg " + response.getRetmsg() + response.getException(),
+            response.getRetcode(), equalTo(0));
   }
 
   @Test
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java
index ba8b092..ec68890 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/framework/util/StringUtil.java
@@ -137,6 +137,9 @@
    * 手机号遮掩中间4位
    */
   public static String phoneReplace(String phone) {
+    if(phone==null){
+      return phone;
+    }
     return phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");
   }
 
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
index 3636987..b2dac9a 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/controller/user_api_controller.kt
@@ -150,4 +150,11 @@
                     .fail(ret.retcode, ret.retmsg))
         }
     }
+
+    @PostMapping("/testmsg")
+    fun testmsg(): ResponseEntity<Any> {
+       kafkaSendMsgService.sendJpushMessage("402882816c2727a2016c2728165f0001","交易提醒","你有一笔0.01元的支出,点击查看详情","20190725133506000018", mutableMapOf(),"")
+       return  ResponseEntity.ok(ResponseBodyBuilder.create()
+                .success("ok"))
+    }
 }
\ No newline at end of file
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/kafka_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/kafka_service_impl.kt
index 1d75fd3..290bfaa 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/kafka_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/kafka_service_impl.kt
@@ -44,6 +44,7 @@
             msgDao.save(msg)
             return
         }
+        msg = msgDao.save(msg)
         var uids = ""
         musers.forEach {
             uids += "${it.uid},"
@@ -64,11 +65,11 @@
             message.gids = it.uid
             if(it.lastloginplatform.isNullOrEmpty()){
                 message.platform="ios"
-                kafkaTemplate.send(topic, refno, gson.toJson(message))
+                kafkaTemplate.send(topic, msg.msgid, gson.toJson(message))
                 message.platform="android"
-                kafkaTemplate.send(topic, refno, gson.toJson(message))
+                kafkaTemplate.send(topic, msg.msgid, gson.toJson(message))
             }else{
-                kafkaTemplate.send(topic, refno, gson.toJson(message))
+                kafkaTemplate.send(topic, msg.msgid, gson.toJson(message))
             }
         }
         msg.pusheduids = uids
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt
index 16f1742..c795cbd 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/AuthLoginHandler.kt
@@ -46,19 +46,19 @@
         val platform = request.getParameter("platform")
         logger.error(platform)
         val temp = authentication.principal as TBMobileUser
-        val user = mobileApiService.findUserByPhone(temp.phone)
+        val user = mobileApiService.findUserById(temp.uid)
         val exp = systemUtilService.getSysparaValueAsInt(SysparaUtil.MOBILE_LOGIN_EXPIRE_IN_SECONDS,60*60*24*3)
         jwtConfig.expiration = exp.toLong()
         if (user != null) {
             //TODO 从数据取jwtConfig.expiration
             val token = JwtTokenUtil(jwtConfig).generateToken(
                     mapOf("uid" to user.uid, "issuer" to "payapi",
-                            "audience" to temp.phone,
+                            "audience" to user.loginid,
                             Constants.JWT_CLAIM_TENANTID to "mobile",
                             Constants.JWT_CLAIM_AUTHORITIES to temp.authorities))
             val jwt = JwtRedis().apply {
                 jti = token.jti
-                uid = temp.phone
+                uid = user.loginid
                 status = TradeDict.JWT_STATUS_NORMAL
                 expiration = token.expiration.valueInMillis
             }.apply {
@@ -129,7 +129,7 @@
         }
         val temp = request.getParameter("username")
         if(!temp.isNullOrEmpty()) {
-            mobileUserDao.findByPhone(temp)?.let {
+            mobileUserDao.findByLoginid(temp)?.let {
                 if (it.loginpwderror == 0) {
                     it.loginpwderror = 0
                     it.loginpwderrortime = System.currentTimeMillis()
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
index 22ece91..1134463 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
@@ -124,6 +124,8 @@
             var user = mobileApiService.findUserByPhone(phone)
             if (user == null) {
                 user = TBMobileUser()
+                //登录ID和phone一致
+                user.loginid = phone
                 user.phone = phone
                 user.registerplatform = platform
                 user.registerdate = DateUtil.getNow()
@@ -182,12 +184,12 @@
         user.auths = authorities
         val token = JwtTokenUtil(jwtConfig).generateToken(
                 mapOf("uid" to user.uid, "issuer" to "payapi",
-                        "audience" to user.phone,
+                        "audience" to user.loginid,
                         Constants.JWT_CLAIM_TENANTID to "mobile",
                         Constants.JWT_CLAIM_AUTHORITIES to user.authorities))
         val jwt = JwtRedis().apply {
             jti = token.jti
-            uid = user.phone
+            uid = user.loginid
             status = TradeDict.JWT_STATUS_NORMAL
             expiration = token.expiration.valueInMillis
         }.apply {
@@ -279,14 +281,42 @@
     @RequestMapping("/infor")
     fun getUserInfor(): JsonResult {
         val p = SecurityContextHolder.getContext().authentication
-        mobileApiService.findUserById(p.name)
+        var user = mobileApiService.findUserById(p.name)
                 ?: return JsonResult.error("用户不存在,请注册")
+        var tk= ""
+        if (!user.jti.isNullOrEmpty()) {
+            var opt = apiJwtRepository.findById(user.jti!!)
+            if(opt.isPresent){
+                var jwt =  opt.get()
+                val cur = System.currentTimeMillis()
+                //token 小于12个小时,则更新它
+                if(jwt.expiration-cur<1000*60*60*12){
+                    val token = JwtTokenUtil(jwtConfig).generateToken(
+                            mapOf("uid" to user.uid, "issuer" to "payapi",
+                                    "audience" to user.loginid,
+                                    Constants.JWT_CLAIM_TENANTID to "mobile",
+                                    Constants.JWT_CLAIM_AUTHORITIES to p.authorities))
+                    jwt = JwtRedis().apply {
+                        jti = token.jti
+                        uid = user.loginid
+                        status = TradeDict.JWT_STATUS_NORMAL
+                        expiration = token.expiration.valueInMillis
+                    }.apply {
+                        //删除之前的token
+                        if (!user.jti.isNullOrEmpty()) {
+                            apiJwtRepository.deleteById(user.jti!!)
+                        }
+                        apiJwtRepository.save(this)
+                    }
+                    user.jti = jwt.jti
+                    mobileApiService.saveUser(user)
+                    tk = token.jwtToken
+                }
+            }
+        }
         return JsonResult.ok("OK").put("now", System.currentTimeMillis())
-                ?.put("version","1")
-                ?.put("versionmsg","1")
-                ?.put("minversion","1")!!
+                ?.put("token", tk)!!
     }
-
     /**
      * 验证码生成,内部校验
      * */
@@ -294,17 +324,17 @@
     fun code(): JsonResult {
         val p = SecurityContextHolder.getContext().authentication
         val user = mobileApiService.findUserById(p.name) ?: return JsonResult.error("用户不存在,请注册")
-        if (user.phone.isEmpty()) {
+        if (user.phone.isNullOrEmpty()) {
             return JsonResult.error("用户不存在,请注册")
         }
-        val temp = redisTemplate.opsForValue().get(user.phone)
+        val temp = redisTemplate.opsForValue().get(user.phone!!)
         if (temp.isNullOrEmpty()) {
             val code = RandomUtils.randomNumber(6)
-            val rs = mobileApiService.sendSms(user.phone, code)
+            val rs = mobileApiService.sendSms(user.phone!!, code)
             if ("0" != rs.retcode) {
                 return JsonResult.error(rs.retmsg)
             }
-            redisTemplate.opsForValue().set(user.phone, code, Duration.ofMinutes(5))
+            redisTemplate.opsForValue().set(user.loginid, code, Duration.ofMinutes(5))
         }
         return JsonResult.ok("验证码已发送")
     }
@@ -315,14 +345,17 @@
         val p = SecurityContextHolder.getContext().authentication
         val user = mobileApiService.findUserById(p.name)
                 ?: return JsonResult.error("用户不存在,请注册")
-        val temp = redisTemplate.opsForValue().get(user.phone)
+        if (user.phone.isNullOrEmpty()) {
+            return JsonResult.error("手机号不存在,请注册")
+        }
+        val temp = redisTemplate.opsForValue().get(user.phone!!)
         if (!temp.isNullOrEmpty()) {
             if (temp != code) {
                 return JsonResult.error("验证码错误")
             }
             val newCode = RandomUtils.getRandomString(30)
             redisTemplate.opsForValue().set(user.uid, newCode, Duration.ofHours(1))
-            redisTemplate.delete(user.phone)
+            redisTemplate.delete(user.phone!!)
             if (!personid.isNullOrEmpty()) {
                 //绑定用户
                 val person = userService.findOnePersonByUserid(personid)
@@ -344,7 +377,10 @@
         val p = SecurityContextHolder.getContext().authentication
         val user = mobileApiService.findUserById(p.name)
                 ?: return JsonResult.error("用户不存在,请注册")
-        val phone = user.phone
+        if (user.phone.isNullOrEmpty()) {
+            return JsonResult.error("手机号不存在,请注册")
+        }
+        val phone = user.phone!!
         val card = mobileApiService.findCardByNo(cardno)
                 ?: return JsonResult.error("银行卡号有误")
         if (card.userid.isNullOrEmpty() || card.status != TradeDict.STATUS_NORMAL) {
@@ -362,7 +398,7 @@
             return JsonResult.error("该银行卡号已被绑定,如有疑问,请联系客服")
         }
         //call api
-        var resp = citizencardPayService.bindCard(cardno, name, idtype, idno, phone);
+        var resp = citizencardPayService.bindCard(cardno, name, idtype, idno, phone)
         if (resp.code != "0000") {
             return JsonResult.error(resp.message)
         }
@@ -381,7 +417,7 @@
             resp.captcha
         }
         logger.error { code }
-        redisTemplate.opsForValue().set(user.phone, code, Duration.ofMinutes(10))
+        redisTemplate.opsForValue().set(phone, code, Duration.ofMinutes(10))
         var payseted = false
         if (!user.paypwd.isNullOrEmpty()) {
             payseted = true
@@ -498,7 +534,10 @@
     fun signbxy(agree: String): JsonResult {
         val p = SecurityContextHolder.getContext().authentication
         val user = mobileApiService.findUserById(p.name)
-                ?: return JsonResult.error("用户不存在,请注册")
+                ?: return JsonResult.error("手机号不存在,请注册")
+        if (user.phone.isNullOrEmpty()) {
+            return JsonResult.error("用户不存在,请注册")
+        }
         var signed: String
         if (!user.userid.isNullOrEmpty()) {
             var card = mobileApiService.findCardByUserid(user.userid!!)
@@ -508,12 +547,12 @@
             } else {
                 //call sign api
                 val person = userService.findOnePersonByUserid(card.userid)
-                var resp = citizencardPayService.signCard(card.cardno, person.name, person.idtype, person.idno, user.phone, YnrccUtil.TRANSTYPE_SIGNCARD)
+                var resp = citizencardPayService.signCard(card.cardno, person.name, person.idtype, person.idno, user.phone!!, YnrccUtil.TRANSTYPE_SIGNCARD)
                 if (resp.code != "0000") {
                     return JsonResult.error(resp.message)
                 }
                 card.signed = true
-                user.signedtime = DateUtil.getNow();
+                user.signedtime = DateUtil.getNow()
                 mobileApiService.saveCard(card)
                 mobileApiService.saveUser(user)
                 signed = TradeDict.STATUS_YES
@@ -587,6 +626,7 @@
                 ?.put("signed", signed)
                 ?.put("version","1")
                 ?.put("minversion","1")
+                ?.put("versionmsg","1")
                 ?.put("userid", if (user.userid.isNullOrEmpty()) "" else user.userid)!!.put("t", t)!!
     }
 
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/dao/MobileUserDao.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/dao/MobileUserDao.kt
index 47540f4..c7d8a0e 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/dao/MobileUserDao.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/dao/MobileUserDao.kt
@@ -6,6 +6,8 @@
 
 @Repository
 interface MobileUserDao : JpaRepository<TBMobileUser, String> {
+    fun findByLoginid(loginid: String): TBMobileUser?
+
     fun findByPhone(phone: String): TBMobileUser?
 
     fun findByUseridAndStatus(userid:String,status:String):List<TBMobileUser>?
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/domain/TBMobileUser.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/domain/TBMobileUser.kt
index afee39c..339e607 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/domain/TBMobileUser.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/domain/TBMobileUser.kt
@@ -1,14 +1,15 @@
 package com.supwisdom.dlpay.mobile.domain
 
-import com.supwisdom.dlpay.api.bean.JsonResult
+import com.supwisdom.dlpay.api.util.DateUtil
 import com.supwisdom.dlpay.framework.util.TradeDict
 import org.hibernate.annotations.GenericGenerator
 import org.springframework.security.core.GrantedAuthority
 import org.springframework.security.core.userdetails.UserDetails
 import javax.persistence.*
+import javax.validation.constraints.NotNull
 
 @Entity
-@Table(name = "TB_MOBILE_USER")
+@Table(name = "TB_MOBILE_USER",indexes = [Index(name = "mobile_user_loginid_idx", columnList = "loginid", unique = true)])
 class TBMobileUser : UserDetails {
     override fun getAuthorities(): Collection<GrantedAuthority>? {
         return this.auths
@@ -19,7 +20,7 @@
     }
 
     override fun getUsername(): String {
-        return this.phone
+        return this.loginid
     }
 
     override fun isCredentialsNonExpired(): Boolean {
@@ -31,7 +32,10 @@
     }
 
     override fun isAccountNonExpired(): Boolean {
-        return true
+        if(expiredate.isNullOrEmpty()){
+            return true
+        }
+        return this.expiredate!! >= DateUtil.getNow("yyyyMMdd")
     }
 
     override fun isAccountNonLocked(): Boolean {
@@ -41,17 +45,24 @@
     @Transient
     var auths: Collection<GrantedAuthority>? = null
 
-
     @Id
     @GenericGenerator(name = "idGenerator", strategy = "uuid")
     @GeneratedValue(generator = "idGenerator")
     @Column(name = "uid", nullable = false, length = 32)
     var uid: String = ""
     /**
-     * 手机号
+     * 登录id
      * */
-    @Column(name = "phone", length = 15)
-    var phone: String = ""
+
+    @Column(name = "loginid", length = 64)
+    @NotNull
+    var loginid: String = ""
+
+    /**
+     * 登录密码
+     * */
+    @Column(name = "loginpwd", length = 64)
+    var loginpwd: String = ""
 
     /**
      * 设备uuid
@@ -102,12 +113,6 @@
     var status: String? = null
 
     /**
-     * 登录密码
-     * */
-    @Column(name = "loginpwd", length = 64)
-    var loginpwd: String = ""
-
-    /**
      * 支付密码
      * */
     @Column(name = "paypwd", length = 64)
@@ -137,7 +142,6 @@
     @Column(name = "paypwderrortime", length = 16)
     var paypwderrortime: Long? = 0
 
-
     /**
      * jti
      * */
@@ -145,11 +149,6 @@
     var jti: String? = null
 
     /**
-     * 签约
-     * */
-    @Column(name = "issigned", length = 20)
-    var issigned: String? = null
-    /**
      * 签约时间
      * */
     @Column(name = "signedtime", length = 20)
@@ -170,6 +169,15 @@
     @Column(name = "tenantid", length = 32)
     var tenantid:String? = null
 
+    @Column(name = "expiredate", length = 8)
+    var expiredate: String? = null
+
+    @Column(name = "email", length = 100)
+    var email: String? = null
+
+    @Column(name = "phone", length = 15)
+    var phone: String? = null
+
     fun checkLoginpwdtime():Int{
         if (this.loginpwderror >= 5 && (System.currentTimeMillis() - this.loginpwderrortime!!) < 1000 * 60 * 30) {
             return -1
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
index 9412111..04a155a 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileApiServiceImpl.kt
@@ -134,7 +134,7 @@
         }
         var sendResult = client.sendTSMS (arrayOf(phone),
                 tempid, arrayOf(code),addserial,  priority.toInt(),sign, UUID.randomUUID().toString())
-        System.out.println("推送结果: $sendResult")
+        println("推送结果: $sendResult")
         return if(sendResult==1||sendResult==110){
             resp.retcode = "0"
             resp.retmsg="成功"
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileUserServiceImpl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileUserServiceImpl.kt
index 2878eb3..0e9f0b9 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileUserServiceImpl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/service/impl/MobileUserServiceImpl.kt
@@ -17,9 +17,7 @@
     companion object {
         const val TIME_INTERVAL = 1000 * 6 * 30
     }
-
     val logger = KotlinLogging.logger { }
-
     @Autowired
     lateinit var mobileUserDao: MobileUserDao
 
@@ -28,7 +26,7 @@
         if (username.isNullOrEmpty()) {
             throw UsernameNotFoundException("用户不存在")
         }
-        val temp = mobileUserDao.findByPhone(username)
+        val temp = mobileUserDao.findByLoginid(username)
         if (temp != null) {
             if (temp.loginpwd.isEmpty()) {
                 throw UserLoginFailException("用户注册后未设置登录密码,请找回密码或重新注册")