From 097d3244a4c3d8c5d0906b6bf09409baaa6fedd9 Mon Sep 17 00:00:00 2001 From: tamguo Date: Mon, 19 Nov 2018 17:51:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E4=B8=AD=E5=BF=83=E9=87=8D?= =?UTF-8?q?=E6=9E=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tamguo-mms/.classpath | 36 ++ tamguo-mms/.gitignore | 1 + tamguo-mms/.project | 23 + .../org.eclipse.core.resources.prefs | 6 + .../.settings/org.eclipse.jdt.core.prefs | 5 + .../.settings/org.eclipse.m2e.core.prefs | 4 + tamguo-mms/pom.xml | 171 ++++++ .../src/main/java/com/tamguo/Application.java | 36 ++ .../config/dao/MyMetaObjectHandler.java | 23 + .../tamguo/config/dao/MybatisPlusConfig.java | 93 +++ .../com/tamguo/config/shiro/MemberRealm.java | 72 +++ .../config/shiro/ShiroConfiguration.java | 69 +++ .../tamguo/config/web/ErrorConfigurar.java | 21 + .../tamguo/config/web/ThymeleafConfig.java | 40 ++ .../java/com/tamguo/config/web/WebConfig.java | 30 + .../java/com/tamguo/utils/ShiroUtils.java | 43 ++ .../java/com/tamguo/web/LoginController.java | 115 ++++ .../com/tamguo/web/PasswordController.java | 81 +++ .../com/tamguo/web/RegisterController.java | 69 +++ .../web/interceptor/MemberInterceptor.java | 55 ++ .../src/main/resources/application.properties | 62 ++ .../src/main/resources/ehcache-shiro.xml | 11 + tamguo-mms/src/main/resources/redis.xml | 9 + .../resources/static/css/member/login.css | 560 ++++++++++++++++++ .../resources/static/css/member/register.css | 452 ++++++++++++++ .../static/css/password/confirmAccount.css | 298 ++++++++++ .../static/css/password/resetPassword.css | 270 +++++++++ .../static/css/password/resetPwSuccess.css | 211 +++++++ .../static/css/password/securityCheck.css | 393 ++++++++++++ .../src/main/resources/static/css/reset.css | 23 + .../src/main/resources/static/images/logo.png | Bin 0 -> 8633 bytes .../resources/static/images/logo_731bc32.png | Bin 0 -> 1553 bytes .../static/images/member/account/cog.png | Bin 0 -> 1066 bytes .../images/member/account/icon-erro.png | Bin 0 -> 2823 bytes .../static/images/member/footer/blogo.png | Bin 0 -> 5388 bytes .../static/images/member/footer/f-phone.png | Bin 0 -> 5718 bytes .../static/images/member/footer/f-qq.png | Bin 0 -> 1266 bytes .../static/images/member/footer/f-weixin.png | Bin 0 -> 1395 bytes .../images/member/footer/saimaweixin.jpg | Bin 0 -> 153131 bytes .../static/images/member/index/VIp-logo.png | Bin 0 -> 1616 bytes .../static/images/member/index/compnew.png | Bin 0 -> 541 bytes .../static/images/member/index/cv-01-01.png | Bin 0 -> 3876 bytes .../static/images/member/index/face-date.png | Bin 0 -> 4041 bytes .../static/images/member/index/face-xiao.png | Bin 0 -> 1382 bytes .../static/images/member/index/icon.png | Bin 0 -> 26579 bytes .../static/images/member/index/inputko.png | Bin 0 -> 549 bytes .../static/images/member/index/paperm.png | Bin 0 -> 554 bytes .../static/images/member/index/peneil.png | Bin 0 -> 685 bytes .../static/images/member/index/peoplem.png | Bin 0 -> 928 bytes .../static/images/member/index/person.png | Bin 0 -> 570 bytes .../images/member/index/project-candidate.png | Bin 0 -> 9705 bytes .../images/member/index/project-cnav.png | Bin 0 -> 936 bytes .../images/member/index/project-cnavbj.jpg | Bin 0 -> 7336 bytes .../static/images/member/index/testnew.png | Bin 0 -> 603 bytes .../static/images/member/index/testnew2.png | Bin 0 -> 762 bytes .../static/images/member/index/top-kaos.png | Bin 0 -> 1608 bytes .../static/images/member/index/top-kaos6.png | Bin 0 -> 3427 bytes .../static/images/member/loading_16.gif | Bin 0 -> 1818 bytes .../static/images/member/login-bg.png | Bin 0 -> 14203 bytes .../static/images/member/loginlogo.gif | Bin 0 -> 2550 bytes .../static/images/member/loginlogo.png | Bin 0 -> 3314 bytes .../static/images/member/loginv4.png | Bin 0 -> 5117 bytes .../static/images/member/pass_login_icons.png | Bin 0 -> 14278 bytes .../static/images/member/qrcode-error.png | Bin 0 -> 1789 bytes .../static/images/member/qrcode-success.png | Bin 0 -> 1577 bytes .../static/images/password/button_icon.png | Bin 0 -> 743 bytes .../static/images/password/close.png | Bin 0 -> 1306 bytes .../static/images/password/form_input_261.png | Bin 0 -> 189 bytes .../resources/static/images/password/hdbg.png | Bin 0 -> 899 bytes .../resources/static/images/password/logo.gif | Bin 0 -> 2900 bytes .../static/images/password/mod_sub_nav.png | Bin 0 -> 2271 bytes .../static/images/password/sub_nav_1.png | Bin 0 -> 1725 bytes .../static/images/password/sub_nav_2.png | Bin 0 -> 2121 bytes .../static/images/password/sub_nav_3.png | Bin 0 -> 1852 bytes .../static/images/password/success_icon.png | Bin 0 -> 2042 bytes .../main/resources/static/images/reg_hr.png | Bin 0 -> 457 bytes .../resources/static/images/reg_icons.png | Bin 0 -> 2424 bytes .../resources/static/js/jquery-1.8.3.min.js | 2 + .../main/resources/static/js/member/login.js | 56 ++ .../resources/static/js/member/register.js | 124 ++++ .../static/js/password/confirmAccount.js | 88 +++ .../static/js/password/resetPassword.js | 40 ++ .../static/js/password/securityCheck.js | 64 ++ .../src/main/resources/templates/login.html | 102 ++++ .../templates/password/confirmAccount.html | 82 +++ .../templates/password/resetPassword.html | 90 +++ .../templates/password/resetPwSuccess.html | 82 +++ .../templates/password/securityCheck.html | 90 +++ .../main/resources/templates/register.html | 84 +++ .../member/service/impl/MemberService.java | 2 +- 90 files changed, 4187 insertions(+), 1 deletion(-) create mode 100644 tamguo-mms/.classpath create mode 100644 tamguo-mms/.gitignore create mode 100644 tamguo-mms/.project create mode 100644 tamguo-mms/.settings/org.eclipse.core.resources.prefs create mode 100644 tamguo-mms/.settings/org.eclipse.jdt.core.prefs create mode 100644 tamguo-mms/.settings/org.eclipse.m2e.core.prefs create mode 100644 tamguo-mms/pom.xml create mode 100644 tamguo-mms/src/main/java/com/tamguo/Application.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/config/dao/MyMetaObjectHandler.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/config/dao/MybatisPlusConfig.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/config/shiro/MemberRealm.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/config/web/ErrorConfigurar.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/config/web/ThymeleafConfig.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/config/web/WebConfig.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/utils/ShiroUtils.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/web/LoginController.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/web/PasswordController.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/web/RegisterController.java create mode 100644 tamguo-mms/src/main/java/com/tamguo/web/interceptor/MemberInterceptor.java create mode 100644 tamguo-mms/src/main/resources/application.properties create mode 100644 tamguo-mms/src/main/resources/ehcache-shiro.xml create mode 100644 tamguo-mms/src/main/resources/redis.xml create mode 100644 tamguo-mms/src/main/resources/static/css/member/login.css create mode 100644 tamguo-mms/src/main/resources/static/css/member/register.css create mode 100644 tamguo-mms/src/main/resources/static/css/password/confirmAccount.css create mode 100644 tamguo-mms/src/main/resources/static/css/password/resetPassword.css create mode 100644 tamguo-mms/src/main/resources/static/css/password/resetPwSuccess.css create mode 100644 tamguo-mms/src/main/resources/static/css/password/securityCheck.css create mode 100644 tamguo-mms/src/main/resources/static/css/reset.css create mode 100644 tamguo-mms/src/main/resources/static/images/logo.png create mode 100644 tamguo-mms/src/main/resources/static/images/logo_731bc32.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/account/cog.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/account/icon-erro.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/footer/blogo.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/footer/f-phone.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/footer/f-qq.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/footer/f-weixin.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/footer/saimaweixin.jpg create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/VIp-logo.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/compnew.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/cv-01-01.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/face-date.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/face-xiao.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/icon.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/inputko.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/paperm.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/peneil.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/peoplem.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/person.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/project-candidate.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/project-cnav.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/project-cnavbj.jpg create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/testnew.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/testnew2.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/top-kaos.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/index/top-kaos6.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/loading_16.gif create mode 100644 tamguo-mms/src/main/resources/static/images/member/login-bg.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/loginlogo.gif create mode 100644 tamguo-mms/src/main/resources/static/images/member/loginlogo.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/loginv4.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/pass_login_icons.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/qrcode-error.png create mode 100644 tamguo-mms/src/main/resources/static/images/member/qrcode-success.png create mode 100644 tamguo-mms/src/main/resources/static/images/password/button_icon.png create mode 100644 tamguo-mms/src/main/resources/static/images/password/close.png create mode 100644 tamguo-mms/src/main/resources/static/images/password/form_input_261.png create mode 100644 tamguo-mms/src/main/resources/static/images/password/hdbg.png create mode 100644 tamguo-mms/src/main/resources/static/images/password/logo.gif create mode 100644 tamguo-mms/src/main/resources/static/images/password/mod_sub_nav.png create mode 100644 tamguo-mms/src/main/resources/static/images/password/sub_nav_1.png create mode 100644 tamguo-mms/src/main/resources/static/images/password/sub_nav_2.png create mode 100644 tamguo-mms/src/main/resources/static/images/password/sub_nav_3.png create mode 100644 tamguo-mms/src/main/resources/static/images/password/success_icon.png create mode 100644 tamguo-mms/src/main/resources/static/images/reg_hr.png create mode 100644 tamguo-mms/src/main/resources/static/images/reg_icons.png create mode 100644 tamguo-mms/src/main/resources/static/js/jquery-1.8.3.min.js create mode 100644 tamguo-mms/src/main/resources/static/js/member/login.js create mode 100644 tamguo-mms/src/main/resources/static/js/member/register.js create mode 100644 tamguo-mms/src/main/resources/static/js/password/confirmAccount.js create mode 100644 tamguo-mms/src/main/resources/static/js/password/resetPassword.js create mode 100644 tamguo-mms/src/main/resources/static/js/password/securityCheck.js create mode 100644 tamguo-mms/src/main/resources/templates/login.html create mode 100644 tamguo-mms/src/main/resources/templates/password/confirmAccount.html create mode 100644 tamguo-mms/src/main/resources/templates/password/resetPassword.html create mode 100644 tamguo-mms/src/main/resources/templates/password/resetPwSuccess.html create mode 100644 tamguo-mms/src/main/resources/templates/password/securityCheck.html create mode 100644 tamguo-mms/src/main/resources/templates/register.html diff --git a/tamguo-mms/.classpath b/tamguo-mms/.classpath new file mode 100644 index 0000000..16c89cc --- /dev/null +++ b/tamguo-mms/.classpath @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tamguo-mms/.gitignore b/tamguo-mms/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/tamguo-mms/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/tamguo-mms/.project b/tamguo-mms/.project new file mode 100644 index 0000000..9b11dce --- /dev/null +++ b/tamguo-mms/.project @@ -0,0 +1,23 @@ + + + tamguo-mms + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/tamguo-mms/.settings/org.eclipse.core.resources.prefs b/tamguo-mms/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..04cfa2c --- /dev/null +++ b/tamguo-mms/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/=UTF-8 diff --git a/tamguo-mms/.settings/org.eclipse.jdt.core.prefs b/tamguo-mms/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..d59e09c --- /dev/null +++ b/tamguo-mms/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/tamguo-mms/.settings/org.eclipse.m2e.core.prefs b/tamguo-mms/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..14b697b --- /dev/null +++ b/tamguo-mms/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/tamguo-mms/pom.xml b/tamguo-mms/pom.xml new file mode 100644 index 0000000..277c085 --- /dev/null +++ b/tamguo-mms/pom.xml @@ -0,0 +1,171 @@ + + 4.0.0 + com.tamguo + tamguo-mms + 1.0.0 + + + org.springframework.boot + spring-boot-starter-parent + 2.0.3.RELEASE + + + + + UTF-8 + 1.8 + 2.1.9 + + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + org.springframework.boot + spring-boot-starter-jdbc + + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus-boot-starter.version} + + + tomcat-jdbc + org.apache.tomcat + + + + + + net.sourceforge.nekohtml + nekohtml + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.boot + spring-boot-starter-redis + 1.3.8.RELEASE + + + org.springframework.session + spring-session-data-redis + + + com.github.theborakompanioni + thymeleaf-extras-shiro + 1.2.1 + + + com.alibaba + fastjson + 1.2.32 + + + org.apache.shiro + shiro-spring + 1.2.5 + + + org.apache.shiro + shiro-ehcache + 1.2.5 + + + cn.songxinqiang + com.baidu.ueditor + 1.1.2-edit-1.0 + + + commons-codec + commons-codec + + + commons-fileupload + commons-fileupload + 1.3.1 + + + commons-io + commons-io + + + com.alibaba + druid + 1.0.18 + + + mysql + mysql-connector-java + + + org.apache.commons + commons-lang3 + + + com.aliyun + aliyun-java-sdk-dysmsapi + 1.0.0 + + + com.aliyun + aliyun-java-sdk-core + 3.2.8 + + + org.apache.commons + commons-email + 1.5 + + + + com.bladejava + blade-patchca + 1.0.5 + + + + com.tamguo + tamguo-modules-core + 1.0.0 + + + + commons-collections + commons-collections + 3.2.1 + + + + + + + org.springframework.cloud + spring-cloud-dependencies + Camden.SR6 + pom + import + + + + + + mms + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/tamguo-mms/src/main/java/com/tamguo/Application.java b/tamguo-mms/src/main/java/com/tamguo/Application.java new file mode 100644 index 0000000..d1d90b8 --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/Application.java @@ -0,0 +1,36 @@ +package com.tamguo; + +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.http.HttpMessageConverters; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; + +import com.alibaba.fastjson.serializer.SerializerFeature; +import com.alibaba.fastjson.support.config.FastJsonConfig; +import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; + +@SpringBootApplication +@ComponentScan("com.tamguo") +public class Application { + + public static void main(String[] args) { + new SpringApplicationBuilder(Application.class).run(args); + } + + /** + * FastJson替代Jackson + * @return + */ + @Bean + public HttpMessageConverters fastJsonHttpMessageConverters() { + FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); + FastJsonConfig fastJsonConfig = new FastJsonConfig(); + fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); + fastJsonConfig.setSerializerFeatures(SerializerFeature.DisableCircularReferenceDetect); + fastConverter.setFastJsonConfig(fastJsonConfig); + FastJsonHttpMessageConverter converter = fastConverter; + return new HttpMessageConverters(converter); + } + +} diff --git a/tamguo-mms/src/main/java/com/tamguo/config/dao/MyMetaObjectHandler.java b/tamguo-mms/src/main/java/com/tamguo/config/dao/MyMetaObjectHandler.java new file mode 100644 index 0000000..9b0c21d --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/config/dao/MyMetaObjectHandler.java @@ -0,0 +1,23 @@ +package com.tamguo.config.dao; + +import com.baomidou.mybatisplus.mapper.MetaObjectHandler; +import org.apache.ibatis.reflection.MetaObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * 注入公共字段自动填充,任选注入方式即可 + */ +//@Component +public class MyMetaObjectHandler extends MetaObjectHandler { + + protected final static Logger logger = LoggerFactory.getLogger(MyMetaObjectHandler.class); + + @Override + public void insertFill(MetaObject metaObject) { + } + + @Override + public void updateFill(MetaObject metaObject) { + } +} diff --git a/tamguo-mms/src/main/java/com/tamguo/config/dao/MybatisPlusConfig.java b/tamguo-mms/src/main/java/com/tamguo/config/dao/MybatisPlusConfig.java new file mode 100644 index 0000000..47d0386 --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/config/dao/MybatisPlusConfig.java @@ -0,0 +1,93 @@ +package com.tamguo.config.dao; + +import java.util.ArrayList; +import java.util.List; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import com.baomidou.mybatisplus.mapper.ISqlInjector; +import com.baomidou.mybatisplus.mapper.LogicSqlInjector; +import com.baomidou.mybatisplus.mapper.MetaObjectHandler; +import com.baomidou.mybatisplus.plugins.PaginationInterceptor; +import com.baomidou.mybatisplus.plugins.PerformanceInterceptor; +import com.baomidou.mybatisplus.plugins.parser.ISqlParser; +import com.baomidou.mybatisplus.plugins.parser.tenant.TenantHandler; +import com.baomidou.mybatisplus.plugins.parser.tenant.TenantSqlParser; + +import net.sf.jsqlparser.expression.Expression; +import net.sf.jsqlparser.expression.LongValue; + +@Configuration +@MapperScan("com.tamguo.modules.*.dao*") +public class MybatisPlusConfig { + + @Bean + public PerformanceInterceptor performanceInterceptor() { + return new PerformanceInterceptor(); + } + + /** + * mybatis-plus分页插件
+ * 文档:http://mp.baomidou.com
+ */ + @Bean + public PaginationInterceptor paginationInterceptor() { + PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); + paginationInterceptor.setLocalPage(true);// 开启 PageHelper 的支持 + /* + * 【测试多租户】 SQL 解析处理拦截器
+ * 这里固定写成住户 1 实际情况你可以从cookie读取,因此数据看不到 【 麻花藤 】 这条记录( 注意观察 SQL )
+ */ + List sqlParserList = new ArrayList<>(); + TenantSqlParser tenantSqlParser = new TenantSqlParser(); + tenantSqlParser.setTenantHandler(new TenantHandler() { + @Override + public Expression getTenantId() { + return new LongValue(1L); + } + + @Override + public String getTenantIdColumn() { + return "course_id"; + } + + @Override + public boolean doTableFilter(String tableName) { + // 这里可以判断是否过滤表 + return true; + } + }); + + + sqlParserList.add(tenantSqlParser); + paginationInterceptor.setSqlParserList(sqlParserList); + // 以下过滤方式与 @SqlParser(filter = true) 注解等效 +// paginationInterceptor.setSqlParserFilter(new ISqlParserFilter() { +// @Override +// public boolean doFilter(MetaObject metaObject) { +// MappedStatement ms = PluginUtils.getMappedStatement(metaObject); +// // 过滤自定义查询此时无租户信息约束【 麻花藤 】出现 +// if ("com.baomidou.springboot.mapper.UserMapper.selectListBySQL".equals(ms.getId())) { +// return true; +// } +// return false; +// } +// }); + return paginationInterceptor; + } + + @Bean + public MetaObjectHandler metaObjectHandler(){ + return new MyMetaObjectHandler(); + } + + /** + * 注入sql注入器 + */ + @Bean + public ISqlInjector sqlInjector(){ + return new LogicSqlInjector(); + } +} diff --git a/tamguo-mms/src/main/java/com/tamguo/config/shiro/MemberRealm.java b/tamguo-mms/src/main/java/com/tamguo/config/shiro/MemberRealm.java new file mode 100644 index 0000000..6a55f8d --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/config/shiro/MemberRealm.java @@ -0,0 +1,72 @@ +package com.tamguo.config.shiro; + +import java.util.Set; +import org.apache.shiro.authc.AuthenticationException; +import org.apache.shiro.authc.AuthenticationInfo; +import org.apache.shiro.authc.AuthenticationToken; +import org.apache.shiro.authc.IncorrectCredentialsException; +import org.apache.shiro.authc.LockedAccountException; +import org.apache.shiro.authc.SimpleAuthenticationInfo; +import org.apache.shiro.authc.UnknownAccountException; +import org.apache.shiro.authz.AuthorizationInfo; +import org.apache.shiro.authz.SimpleAuthorizationInfo; +import org.apache.shiro.crypto.hash.Sha256Hash; +import org.apache.shiro.realm.AuthorizingRealm; +import org.apache.shiro.subject.PrincipalCollection; +import org.springframework.beans.factory.annotation.Autowired; + +import com.tamguo.modules.member.model.MemberEntity; +import com.tamguo.modules.member.service.IMemberService; + +/** + * 认证 + * + */ +public class MemberRealm extends AuthorizingRealm { + + @Autowired + private IMemberService iMemberService; + + /** + * 授权(验证权限时调用) + */ + @Override + protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { + Set permsSet = null; + SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(); + info.setStringPermissions(permsSet); + + return info; + } + + /** + * 认证(登录时调用) + */ + @Override + protected AuthenticationInfo doGetAuthenticationInfo( + AuthenticationToken token) throws AuthenticationException { + String username = (String) token.getPrincipal(); + String password = new String((char[]) token.getCredentials()); + + MemberEntity member = iMemberService.findByUsername(username); + if(member == null) { + throw new UnknownAccountException("用户名或密码有误,请重新输入或找回密码"); + } + Integer loginFailureCount = iMemberService.getLoginFailureCount(member); + if(loginFailureCount > 10) { + throw new LockedAccountException("账号被锁定"); + } + + if(!new Sha256Hash(password).toHex().equals(member.getPassword())){ + loginFailureCount++; + iMemberService.updateLoginFailureCount(member , loginFailureCount); + throw new IncorrectCredentialsException("用户名或密码有误,请重新输入或找回密码"); + } + // 更新登录时间 + iMemberService.updateLastLoginTime(member.getId()); + + SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(member, password, getName()); + return info; + } + +} diff --git a/tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java b/tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java new file mode 100644 index 0000000..96f9ab3 --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java @@ -0,0 +1,69 @@ +package com.tamguo.config.shiro; + +import java.util.LinkedHashMap; +import java.util.Map; + +import org.apache.shiro.cache.ehcache.EhCacheManager; +import org.apache.shiro.spring.LifecycleBeanPostProcessor; +import org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor; +import org.apache.shiro.spring.web.ShiroFilterFactoryBean; +import org.apache.shiro.web.mgt.DefaultWebSecurityManager; +import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class ShiroConfiguration { + private static Map filterChainDefinitionMap = new LinkedHashMap(); + + @Bean(name = "shiroRealm") + public MemberRealm getShiroRealm() { + return new MemberRealm(); + } + + @Bean(name = "shiroEhcacheManager") + public EhCacheManager getEhCacheManager() { + EhCacheManager em = new EhCacheManager(); + em.setCacheManagerConfigFile("classpath:ehcache-shiro.xml"); + return em; + } + + @Bean(name = "lifecycleBeanPostProcessor") + public LifecycleBeanPostProcessor getLifecycleBeanPostProcessor() { + return new LifecycleBeanPostProcessor(); + } + + @Bean + public DefaultAdvisorAutoProxyCreator getDefaultAdvisorAutoProxyCreator() { + DefaultAdvisorAutoProxyCreator daap = new DefaultAdvisorAutoProxyCreator(); + daap.setProxyTargetClass(true); + return daap; + } + + @Bean(name = "securityManager") + public DefaultWebSecurityManager getDefaultWebSecurityManager() { + DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager(); + dwsm.setRealm(getShiroRealm()); + dwsm.setCacheManager(getEhCacheManager()); + return dwsm; + } + + @Bean + public AuthorizationAttributeSourceAdvisor getAuthorizationAttributeSourceAdvisor() { + AuthorizationAttributeSourceAdvisor aasa = new AuthorizationAttributeSourceAdvisor(); + aasa.setSecurityManager(getDefaultWebSecurityManager()); + return new AuthorizationAttributeSourceAdvisor(); + } + + @Bean(name = "shiroFilter") + public ShiroFilterFactoryBean getShiroFilterFactoryBean() { + ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); + shiroFilterFactoryBean.setSecurityManager(getDefaultWebSecurityManager()); + shiroFilterFactoryBean.setLoginUrl("/login"); + shiroFilterFactoryBean.setSuccessUrl("/index"); + filterChainDefinitionMap.put("/member/**", "authc"); + filterChainDefinitionMap.put("/**", "anon"); + shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap); + return shiroFilterFactoryBean; + } +} \ No newline at end of file diff --git a/tamguo-mms/src/main/java/com/tamguo/config/web/ErrorConfigurar.java b/tamguo-mms/src/main/java/com/tamguo/config/web/ErrorConfigurar.java new file mode 100644 index 0000000..9267271 --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/config/web/ErrorConfigurar.java @@ -0,0 +1,21 @@ +package com.tamguo.config.web; + +import org.springframework.boot.web.server.ErrorPage; +import org.springframework.boot.web.server.ErrorPageRegistrar; +import org.springframework.boot.web.server.ErrorPageRegistry; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Component; + +@Component +public class ErrorConfigurar implements ErrorPageRegistrar { + + @Override + public void registerErrorPages(ErrorPageRegistry registry) { + ErrorPage[] errorPages=new ErrorPage[2]; + errorPages[0]=new ErrorPage(HttpStatus.NOT_FOUND,"/error404"); + errorPages[1]=new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR,"/error500"); + + registry.addErrorPages(errorPages); + } + +} diff --git a/tamguo-mms/src/main/java/com/tamguo/config/web/ThymeleafConfig.java b/tamguo-mms/src/main/java/com/tamguo/config/web/ThymeleafConfig.java new file mode 100644 index 0000000..72756bd --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/config/web/ThymeleafConfig.java @@ -0,0 +1,40 @@ +package com.tamguo.config.web; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Resource; + +import org.springframework.context.EnvironmentAware; +import org.springframework.core.env.Environment; +import org.springframework.stereotype.Component; +import org.thymeleaf.spring5.view.ThymeleafViewResolver; + +import com.tamguo.common.utils.SystemConstant; + +@Component +public class ThymeleafConfig implements EnvironmentAware{ + + @Resource + private Environment env; + + @Resource + private void configureThymeleafStaticVars(ThymeleafViewResolver viewResolver) { + if(viewResolver != null) { + Map vars = new HashMap<>(); + vars.put("domainName", env.getProperty("domain.name")); + vars.put("adminDomain", env.getProperty("admin.domain.name")); + vars.put("PAPER_TYPE_ZHENTI", SystemConstant.ZHENGTI_PAPER_ID); + vars.put("PAPER_TYPE_MONI", SystemConstant.MONI_PAPER_ID); + vars.put("PAPER_TYPE_YATI", SystemConstant.YATI_PAPER_ID); + vars.put("PAPER_TYPE_MINGXIAO", SystemConstant.MINGXIAO_PAPER_ID); + vars.put("BEIJING_AREA_ID", SystemConstant.BEIJING_AREA_ID); + viewResolver.setStaticVariables(vars); + } + } + + @Override + public void setEnvironment(Environment environment) { + env = environment; + } + +} diff --git a/tamguo-mms/src/main/java/com/tamguo/config/web/WebConfig.java b/tamguo-mms/src/main/java/com/tamguo/config/web/WebConfig.java new file mode 100644 index 0000000..a6dfdfd --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/config/web/WebConfig.java @@ -0,0 +1,30 @@ +package com.tamguo.config.web; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +import com.tamguo.web.interceptor.MemberInterceptor; + + +@Configuration +public class WebConfig implements WebMvcConfigurer { + + @Value("${file.storage.path}") + private String fileStoragePath; + @Autowired + private MemberInterceptor memberInterceptor; + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(memberInterceptor).addPathPatterns("/member/**").excludePathPatterns("login.html","register.html","password/**"); + } + + @Override + public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("/files/**").addResourceLocations("file:"+fileStoragePath); + } +} diff --git a/tamguo-mms/src/main/java/com/tamguo/utils/ShiroUtils.java b/tamguo-mms/src/main/java/com/tamguo/utils/ShiroUtils.java new file mode 100644 index 0000000..a31888d --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/utils/ShiroUtils.java @@ -0,0 +1,43 @@ +package com.tamguo.utils; + +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.session.Session; +import org.apache.shiro.subject.Subject; + +import com.tamguo.modules.member.model.MemberEntity; + +public class ShiroUtils { + + public static Session getSession() { + return SecurityUtils.getSubject().getSession(); + } + + public static Subject getSubject() { + return SecurityUtils.getSubject(); + } + + public static MemberEntity getMember() { + return (MemberEntity)SecurityUtils.getSubject().getPrincipal(); + } + + public static String getMemberId() { + return getMember().getId(); + } + + public static void setSessionAttribute(Object key, Object value) { + getSession().setAttribute(key, value); + } + + public static Object getSessionAttribute(Object key) { + return getSession().getAttribute(key); + } + + public static boolean isLogin() { + return SecurityUtils.getSubject().getPrincipal() != null; + } + + public static void logout() { + SecurityUtils.getSubject().logout(); + } + +} diff --git a/tamguo-mms/src/main/java/com/tamguo/web/LoginController.java b/tamguo-mms/src/main/java/com/tamguo/web/LoginController.java new file mode 100644 index 0000000..ca633d1 --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/web/LoginController.java @@ -0,0 +1,115 @@ +package com.tamguo.web; + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authc.IncorrectCredentialsException; +import org.apache.shiro.authc.LockedAccountException; +import org.apache.shiro.authc.UnknownAccountException; +import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.subject.Subject; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import com.tamguo.common.image.CaptchaUtils; +import com.tamguo.common.utils.Result; +import com.tamguo.common.utils.SystemConstant; +import com.tamguo.utils.ShiroUtils; + +@Controller +public class LoginController { + + @RequestMapping("captcha.jpg") + public void captcha(HttpServletResponse response , HttpSession session) throws ServletException, IOException { + response.setHeader("Cache-Control", "no-store, no-cache"); + response.setContentType("image/jpeg"); + + String a = CaptchaUtils.generateCaptcha(response.getOutputStream()); + session.setAttribute(SystemConstant.KAPTCHA_SESSION_KEY, a); + } + + @RequestMapping(value = "/login.html", method = RequestMethod.GET) + public ModelAndView login(ModelAndView model){ + model.setViewName("login"); + model.addObject("isVerifyCode" , "0"); + return model; + } + + @RequestMapping(value = "/submitLogin.html", method = RequestMethod.POST) + public ModelAndView submitLogin(String username , String password , String verifyCode , ModelAndView model , HttpSession session , HttpServletResponse response) throws IOException{ + Result result = Result.successResult(null); + if(StringUtils.isEmpty(verifyCode)) { + result = Result.result(202, null, "请输入验证码"); + } else if(StringUtils.isNotEmpty(verifyCode)){ + String kaptcha = session.getAttribute(SystemConstant.KAPTCHA_SESSION_KEY).toString(); + if (!verifyCode.equalsIgnoreCase(kaptcha)) { + result = Result.result(205, null, "验证码错误"); + } else { + Subject subject = ShiroUtils.getSubject(); + UsernamePasswordToken token = new UsernamePasswordToken(username, password); + try { + subject.login(token); + + session.setAttribute("currMember", ShiroUtils.getMember()); + response.sendRedirect("member/index.html"); + return null; + } catch (UnknownAccountException e) { + result = Result.result(201, null, "用户名或密码有误,请重新输入或找回密码"); + } catch (IncorrectCredentialsException e) { + result = Result.result(202, null, "用户名或密码有误,请重新输入或找回密码"); + } catch (LockedAccountException e) { + result = Result.result(203, null, "账号被锁定"); + } + } + } + model.setViewName("login"); + model.addObject("code", result.getCode()); + model.addObject("msg" , result.getMessage()); + model.addObject("username", username); + return model; + } + + @RequestMapping(value = "/miniLogin.html", method = RequestMethod.GET) + @ResponseBody + public Result miniLogin(String username , String password , String captcha, ModelAndView model , HttpSession session) { + Result result = null; + if(StringUtils.isEmpty(captcha)) { + result = Result.result(204, null, "请输入验证码"); + } else if(StringUtils.isNotEmpty(captcha)){ + String kaptcha = session.getAttribute(SystemConstant.KAPTCHA_SESSION_KEY).toString(); + if (!captcha.equalsIgnoreCase(kaptcha)) { + result = Result.result(205, null, "验证码错误"); + }else { + Subject subject = ShiroUtils.getSubject(); + UsernamePasswordToken token = new UsernamePasswordToken(username, password); + try { + subject.login(token); + session.setAttribute("currMember", ShiroUtils.getMember()); + result = Result.successResult(ShiroUtils.getMember()); + } catch (UnknownAccountException e) { + result = Result.result(201, null, "用户名或密码有误,请重新输入或找回密码"); + } catch (IncorrectCredentialsException e) { + result = Result.result(202, null, "用户名或密码有误,请重新输入或找回密码"); + } catch (LockedAccountException e) { + result = Result.result(203, null, "账号被锁定"); + } + } + } + return result; + } + + @RequestMapping(value = "/isLogin.html", method = RequestMethod.GET) + @ResponseBody + public Result isLogin() { + if(ShiroUtils.isLogin()) { + return Result.result(1, null , "已经登录"); + } + return Result.result(0, null, "未登录"); + } +} diff --git a/tamguo-mms/src/main/java/com/tamguo/web/PasswordController.java b/tamguo-mms/src/main/java/com/tamguo/web/PasswordController.java new file mode 100644 index 0000000..fcd7116 --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/web/PasswordController.java @@ -0,0 +1,81 @@ +package com.tamguo.web; + +import javax.servlet.http.HttpSession; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import com.tamguo.common.utils.Result; +import com.tamguo.common.utils.SystemConstant; +import com.tamguo.modules.member.service.IMemberService; + +@Controller +public class PasswordController { + + @Autowired + private IMemberService iMemberService; + + @RequestMapping(value = "password/find.html", method = RequestMethod.GET) + public ModelAndView confirmAccount(ModelAndView model){ + model.setViewName("password/confirmAccount"); + return model; + } + + @RequestMapping(value = "password/confirmAccount.html", method = RequestMethod.POST) + public ModelAndView submitConfirmAccount(String username , String veritycode , ModelAndView model , HttpSession session){ + Result result = iMemberService.confirmAccount(username, veritycode); + String kaptcha = session.getAttribute(SystemConstant.KAPTCHA_SESSION_KEY).toString(); + if (!veritycode.equalsIgnoreCase(kaptcha)) { + result = Result.result(202, null, "验证码错误"); + } + if(result.getCode() == 200){ + model.setViewName("password/securityCheck"); + model.addObject("result", result); + model.addObject("isEmail", username.contains("@") ? "1" : "0"); + }else{ + model.setViewName("password/confirmAccount"); + model.addObject("account", username); + model.addObject("username",username); + model.addObject("veritycode", veritycode); + model.addObject("code", result.getCode()); + } + return model; + } + + @RequestMapping(value = "password/securityCheck.html", method = RequestMethod.POST) + public ModelAndView securityCheck(String username , String isEmail , String mobileVcode , ModelAndView model){ + Result result = iMemberService.securityCheck(username , isEmail , mobileVcode); + if(result.getCode() == 200){ + model.addObject("username", username); + model.addObject("resetPasswordKey" , result.getResult()); + model.setViewName("password/resetPassword"); + }else{ + model.addObject("result", result); + model.addObject("isEmail", isEmail); + model.addObject("codeError", "1"); + model.setViewName("password/securityCheck"); + } + return model; + } + + @RequestMapping(value = "password/resetPassword.html", method = RequestMethod.POST) + public ModelAndView resetPassword(String resetPasswordKey , String username , String password , String verifypwd , ModelAndView model){ + Result result = iMemberService.resetPassword(resetPasswordKey , username , password , verifypwd); + if(result.getCode() == 200){ + model.setViewName("password/resetPwSuccess"); + }else{ + model.setViewName("password/resetPassword"); + } + return model; + } + + @RequestMapping(value = "password/checkAccount.html", method = RequestMethod.GET) + @ResponseBody + public Result checkAccount(String account){ + return iMemberService.checkAccount(account); + } + +} diff --git a/tamguo-mms/src/main/java/com/tamguo/web/RegisterController.java b/tamguo-mms/src/main/java/com/tamguo/web/RegisterController.java new file mode 100644 index 0000000..0337470 --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/web/RegisterController.java @@ -0,0 +1,69 @@ +package com.tamguo.web; + +import javax.servlet.http.HttpSession; +import org.apache.shiro.authc.IncorrectCredentialsException; +import org.apache.shiro.authc.LockedAccountException; +import org.apache.shiro.authc.UnknownAccountException; +import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.subject.Subject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import com.tamguo.common.utils.Result; +import com.tamguo.modules.member.model.MemberEntity; +import com.tamguo.modules.member.service.IMemberService; +import com.tamguo.utils.ShiroUtils; + +@Controller +public class RegisterController { + + @Autowired + private IMemberService iMemberService; + + @RequestMapping(value = "/register.html", method = RequestMethod.GET) + public ModelAndView register(ModelAndView model , HttpSession session) { + model.setViewName("register"); + return model; + } + + @RequestMapping(value = "/checkUsername.html", method = RequestMethod.GET) + @ResponseBody + public Result checkUsername(String username){ + return iMemberService.checkUsername(username); + } + + @RequestMapping(value = "/checkMobile.html", method = RequestMethod.GET) + @ResponseBody + public Result checkMobile(String mobile){ + return iMemberService.checkMobile(mobile); + } + + @RequestMapping(value = "/subRegister.html", method = RequestMethod.POST) + @ResponseBody + public Result subRegister(@RequestBody MemberEntity member , HttpSession session){ + Result result = iMemberService.register(member); + if(result.getCode() == 200) { + Subject subject = ShiroUtils.getSubject(); + MemberEntity memberEntity = (MemberEntity) result.getResult(); + UsernamePasswordToken token = new UsernamePasswordToken(memberEntity.getUsername(), member.getPassword()); + try { + subject.login(token); + + session.setAttribute("currMember", ShiroUtils.getMember()); + } catch (UnknownAccountException e) { + return Result.result(201, null, "用户名或密码有误,请重新输入或找回密码"); + } catch (IncorrectCredentialsException e) { + return Result.result(202, null, "用户名或密码有误,请重新输入或找回密码"); + } catch (LockedAccountException e) { + return Result.result(203, null, "账号被锁定"); + } + } + return result; + } + +} diff --git a/tamguo-mms/src/main/java/com/tamguo/web/interceptor/MemberInterceptor.java b/tamguo-mms/src/main/java/com/tamguo/web/interceptor/MemberInterceptor.java new file mode 100644 index 0000000..b35cfdf --- /dev/null +++ b/tamguo-mms/src/main/java/com/tamguo/web/interceptor/MemberInterceptor.java @@ -0,0 +1,55 @@ +package com.tamguo.web.interceptor; + +import java.net.URLEncoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; + +@Component +public class MemberInterceptor extends HandlerInterceptorAdapter{ + + /** "重定向URL"参数名称 */ + private static final String REDIRECT_URL_PARAMETER_NAME = "redirectUrl"; + + /** 默认登录URL */ + private static final String DEFAULT_LOGIN_URL = "/login.html"; + + /** 登录URL */ + private String loginUrl = DEFAULT_LOGIN_URL; + + /** + * 请求前处理 + * + * @param request + * HttpServletRequest + * @param response + * HttpServletResponse + * @param handler + * 处理器 + * @return 是否继续执行 + */ + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + Object currMember = request.getSession().getAttribute("currMember"); + if (currMember != null) { + return true; + } else { + String requestType = request.getHeader("X-Requested-With"); + if (requestType != null && requestType.equalsIgnoreCase("XMLHttpRequest")) { + response.addHeader("loginStatus", "accessDenied"); + response.sendError(HttpServletResponse.SC_FORBIDDEN); + return false; + } else { + if (request.getMethod().equalsIgnoreCase("GET")) { + String redirectUrl = request.getQueryString() != null ? request.getRequestURI() + "?" + request.getQueryString() : request.getRequestURI(); + response.sendRedirect(request.getContextPath() + loginUrl + "?" + REDIRECT_URL_PARAMETER_NAME + "=" + URLEncoder.encode(redirectUrl, "UTF-8")); + } else { + response.sendRedirect(request.getContextPath() + loginUrl); + } + return false; + } + } + } + +} diff --git a/tamguo-mms/src/main/resources/application.properties b/tamguo-mms/src/main/resources/application.properties new file mode 100644 index 0000000..6b65ccf --- /dev/null +++ b/tamguo-mms/src/main/resources/application.properties @@ -0,0 +1,62 @@ +domain.name=http://localhost:8084/ +admin.domain.name=http://localhost:8084/ +server.port=8084 +jasypt.encryptor.password=tamguo + +spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 +spring.datasource.driver-class-name=com.mysql.jdbc.Driver +spring.datasource.filters=stat,wall,log4j +spring.datasource.initialSize=5 +spring.datasource.maxActive=20 +spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 +spring.datasource.maxWait=60000 +spring.datasource.minEvictableIdleTimeMillis=300000 +spring.datasource.minIdle=5 +spring.datasource.password=123456 +spring.datasource.poolPreparedStatements=true +spring.datasource.testOnBorrow=false +spring.datasource.testOnReturn=false +spring.datasource.testWhileIdle=true +spring.datasource.timeBetweenEvictionRunsMillis=60000 +spring.datasource.type=com.alibaba.druid.pool.DruidDataSource +spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tamguo_20181110?useUnicode=true&characterEncoding=UTF-8&useSSL=false +spring.datasource.username=root +spring.datasource.validationQuery=SELECT 1 FROM DUAL + +mybatis-plus.mapper-locations=classpath:/mappers/*Mapper.xml +mybatis-plus.typeAliasesPackage=com.tamguo.modules.*.model +mybatis-plus.typeEnumsPackage=com.tamguo.modules.*.model.enums +mybatis-plus.global-config.id-type=5 +mybatis-plus.global-config.field-strategy=2 +mybatis-plus.global-config.db-column-underline=true +mybatis-plus.global-config.refresh-mapper=true +mybatis-plus.global-config.key-generator=com.baomidou.mybatisplus.incrementer.H2KeyGenerator +mybatis-plus.global-config.logic-delete-value=0 +mybatis-plus.global-config.logic-not-delete-value=1 +mybatis-plus.global-config.sql-injector=com.baomidou.mybatisplus.mapper.LogicSqlInjector +mybatis-plus.global-config.meta-object-handler=com.tamguo.config.dao.MyMetaObjectHandler +mybatis-plus.global-config.sql-parser-cache=true +mybatis-plus.configuration.map-underscore-to-camel-case=true +mybatis-plus.configuration.cache-enabled=false + +spring.thymeleaf.prefix=classpath:/templates/ +spring.thymeleaf.suffix=.html +spring.thymeleaf.mode=LEGACYHTML5 +spring.thymeleaf.encoding=UTF-8 +spring.thymeleaf.content-type=text/html +spring.thymeleaf.cache=false + +redis.hostname=127.0.0.1 +redis.port=6379 +redis.password= + +logging.level.root=INFO +logging.level.org.springframework.web=INFO +logging.file=/home/webdata/log/tamguo.log +logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n +logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n + +server.compression.enabled=true +server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain + +file.storage.path=/home/webdata/files/ \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/ehcache-shiro.xml b/tamguo-mms/src/main/resources/ehcache-shiro.xml new file mode 100644 index 0000000..03ae4ff --- /dev/null +++ b/tamguo-mms/src/main/resources/ehcache-shiro.xml @@ -0,0 +1,11 @@ + + + \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/redis.xml b/tamguo-mms/src/main/resources/redis.xml new file mode 100644 index 0000000..ed04f74 --- /dev/null +++ b/tamguo-mms/src/main/resources/redis.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/static/css/member/login.css b/tamguo-mms/src/main/resources/static/css/member/login.css new file mode 100644 index 0000000..97bf814 --- /dev/null +++ b/tamguo-mms/src/main/resources/static/css/member/login.css @@ -0,0 +1,560 @@ +#wrapper { + background: #fff; + height: auto; + position: relative; + min-height: 100%; + _height: 100%; + width: 920px; + margin: 0 auto; +} +#wrapper { + width: 100%; +} +#head { + padding-top: 40px; +} +#head, #content, #foot { + width: 980px; + margin-left: auto; + margin-right: auto; +} +#head { + height: 75px; + z-index: 100; +} +.mod-header { + display: inline; + font-size: 66px; +} +a { + text-decoration: underline; + color: #00c; +} +#nav { + width: 100%; + background: #fafafa; + z-index: 1; +} +.clearfix:after { + content: '\20'; + display: block; + height: 0; + clear: both; +} +.clearfix:after { + content: '\20'; + display: block; + height: 0; + clear: both; + visibility: hidden; + overflow: hidden; +} +#content { + margin-top: 30px; + width: 920px; + background: url(../../images/member/login-bg.png) no-repeat 0 center; + padding-bottom: 40px; + display: none; +} +.login-container { + _height: 475px; + min-height: 475px; +} +.login-form { + float: right; + width: 354px; + font-family: "Microsoft Yahei", 微软雅黑, Arial, STHeiti; + box-shadow: rgb(239, 239, 239) 1px 1px 1px; + padding-top: 25px; + border-width: 1px; + border-style: solid; + border-color: rgb(239, 239, 239); + border-image: initial; +} +.tang-pass-login { + position: relative; +} +.tang-pass-login .pass-form { + padding: 0 28px; +} +p.pass-form-logo { + background: url(../../images/logo_731bc32.png) no-repeat left; + background: url(../../images/logo_731bc32.png) no-repeat left; + font-size: 16px; + height: 32px; + line-height: 46px; + padding-left: 118px; + color: #000; + margin-top: 0; + margin-bottom: 15px; +} +.tang-pass-login a, .tang-pass-login label, .tang-pass-login p, .tang-pass-login li, .tang-pass-login input { + font-size: 12px; + margin: 0; + padding: 0; + list-style: none; +} +.tang-pass-login .pass-generalErrorWrapper { + height: auto; + _height: 28px; + min-height: 28px; + color: #fc4343; + padding-bottom: 2px; +} +.tang-pass-login .pass-generalError { + display: block; + font-size: 12px; + line-height: 14px; + padding-top: 8px; +} +.tang-pass-login .pass-form-item.pass-form-item-userName { + z-index: 21; +} +.tang-pass-login .pass-form-item { + position: relative; + clear: both; + z-index: 18; +} +.tang-pass-login .pass-form-item { + margin-bottom: 16px; +} +.tang-pass-login a, .tang-pass-login label, .tang-pass-login p, .tang-pass-login li, .tang-pass-login input { + font-size: 12px; + margin: 0; + padding: 0; + list-style: none; +} +.tang-pass-login .pass-form-item input.pass-text-input-userName, .tang-pass-login .pass-form-item input.pass-text-input-password { + padding-left: 8px; + width: 284px; +} +.tang-pass-login .pass-form-item .pass-text-input { + position: relative; + z-index: 17; + display: block; + height: 20px; + line-height: 20px; + width: 300px; + font-size: 12px; + color: rgb(102, 102, 102); + font-family: Tahoma, Helvetica, "Microsoft Yahei", 微软雅黑, Arial, STHeiti; + padding: 10px 8px; + margin: 0px; + border-width: 1px; + border-style: solid; + border-color: rgb(222, 222, 222); + border-image: initial; + transition: 0.3s; +} +.tang-pass-login a, .tang-pass-login label, .tang-pass-login p, .tang-pass-login li, .tang-pass-login input { + font-size: 12px; + margin: 0; + padding: 0; + list-style: none; +} +.tang-pass-login .pass-form-item .pass-clearbtn { + position: absolute; + z-index: 20; + top: 14px; + right: 6px; + height: 16px; + width: 16px; + background: url(../../images/member/pass_login_icons.png) no-repeat 0 0; + cursor: pointer; +} +.tang-pass-login .pass-suggestion-list { + position: absolute; + margin: 0; + padding: 0; + z-index: 21; + top: 42px; + _top: 43px; + left: 0; + border: 1px solid #dedede; + border-top: 0; + background: #fff; + width: 300px; +} +.tang-pass-login li.pass-item-suggsetion { + position: relative; + z-index: 2001; + line-height: 14px; + font-family: 宋体; + font-size: 12px; + color: rgb(51, 51, 51); + cursor: pointer; + word-break: break-all; + padding: 5px 0px 5px 6px; +} +.tang-pass-login a, .tang-pass-login label, .tang-pass-login p, .tang-pass-login li, .tang-pass-login input { + font-size: 12px; + margin: 0; + padding: 0; + list-style: none; +} +.tang-pass-login li.pass-item-suggsetion a { + position: absolute; + display: none; + top: 4px; + right: 4px; + height: 16px; + width: 16px; + background: url(../../images/member/pass_login_icons.png) no-repeat 0 0; +} +.tang-pass-login a { + text-decoration: none; + color: #2e82ff; +} +.tang-pass-login a, .tang-pass-login label, .tang-pass-login p, .tang-pass-login li, .tang-pass-login input { + font-size: 12px; + margin: 0; + padding: 0; + list-style: none; +} +.tang-pass-login .pass-form-item .pass-item-selectbtn-userName { + position: absolute; + display: block; + height: 16px; + width: 16px; + background: url(../../images/member/pass_login_icons.png) no-repeat 0 -30px; + top: 6px; + right: 31px; + _right: 50px; + cursor: pointer; +} +.tang-pass-login { + position: relative; +} +.tang-pass-qrcode p.pass-form-logo { + margin-left: 28px; +} +p.pass-form-logo { + background: url(../../images/logo_731bc32.png) no-repeat left; + background: url(../../images/logo_731bc32.png) no-repeat left; + font-size: 16px; + height: 32px; + line-height: 46px; + padding-left: 118px; + color: #000; + margin-top: 0; + margin-bottom: 15px; +} +.tang-pass-qrcode .tang-pass-qrcode-content { + padding-top: 24px; + height: 180px; + overflow: hidden; + text-align: center; +} +.tang-pass-qrcode .tang-pass-qrcode-imgWrapper { + display: block; +} +.Qrcode-animationRight { + -webkit-animation: marginRight .3s linear; + -moz-animation: marginRight .3s linear; + animation: marginRight .3s linear; + -webkit-transition: all .3s liner; + -moz-transition: all .3s liner; + transition: .3s liner; + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); +} +.Qrcode-status-con { + width: 138px; + height: 138px; + border: 1px solid #ecedee; + padding: 9px; + text-align: center; + color: #000; + font-size: 14px; + display: none; + line-height: 20px; + margin: 0 auto; + -webkit-transition: all .3s liner; + -moz-transition: all .3s liner; + transition: .3s liner; + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); +} +.tang-pass-qrcode .tang-pass-qrcode-content img { + width: 138px; + height: 138px; +} +.tang-pass-login a, .tang-pass-login label, .tang-pass-login p, .tang-pass-login li, .tang-pass-login input { + font-size: 12px; + margin: 0; + padding: 0; + list-style: none; +} +.Qrcode-status-success .Qrcode-status-icon { + background: url(../../images/member/qrcode-success.png) no-repeat center; +} +.Qrcode-status-con .Qrcode-status-icon { + width: 36px; + height: 36px; + margin: 25px auto 15px; +} +.Qrcode-status-msg { + font-size: 12px; + color: #333; +} +.Qrcode-status-con { + width: 138px; + height: 138px; + border: 1px solid #ecedee; + padding: 9px; + text-align: center; + color: #000; + font-size: 14px; + display: none; + line-height: 20px; + margin: 0 auto; + -webkit-transition: all .3s liner; + -moz-transition: all .3s liner; + transition: .3s liner; + -webkit-transform: translateX(0); + -moz-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); +} +.Qrcode-status-error .Qrcode-status-icon { + background: url(../../images/member/qrcode-error.png) no-repeat center; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAIAAABuYg/PAAAAGXRFW…/D4I4xl3xkwAY7jblOLLskcyH7N0XjiBnHLHsac/8IMAC4AzcrBhyRBQAAAABJRU5ErkJggg==); +} +.Qrcode-status-con .Qrcode-status-icon { + width: 36px; + height: 36px; + margin: 25px auto 15px; +} +.tang-pass-login p.Qrcode-refresh-btn { + color: #38f; + text-align: center; + padding: 8px 10px; + cursor: pointer; + display: inline-block; + margin-top: 3px; +} +.tang-pass-qrcode .tang-pass-qrcode-title { + font-size: 16px; + text-align: center; + line-height: 16px; + padding-left: 0; +} +.tang-pass-qrcode .tang-pass-qrcode-title a { + font-size: 16px; +} +.tang-pass-login a { + text-decoration: none; + color: #2e82ff; +} +.tang-pass-footerBar { + color: #2e82ff; + margin-top: 40px; + height: 60px; + line-height: 60px; + background: #f0f6ff; + padding: 0 28px; + position: relative; +} +.tang-pass-footerBarQrcode, .tang-pass-footerBarULogin { + display: inline-block; + width: 80px; + text-align: left; + margin: 0; + font-size: 14px; + cursor: pointer; +} +.tang-pass-footerBarPhoenix { + color: #2e82ff; + display: inline-block; +} +.tang-pass-footerBarPhoenixSplit { + width: 1px; + background: #3582f8; + height: 8px; + margin-right: 16px; + display: inline-block; +} +.tang-pass-login-phoenix { + padding: 0 0 10px 16px; + position: absolute; + margin-top: -36px; +} +.tang-pass-login-phoenix .pass-phoenix-list { + clear: both; + line-height: 20px; + zoom: 1; +} +.clear { + clear: both; + height: 0; + line-height: 0; + font-size: 0; + visibility: hidden; + overflow: hidden; +} +.tang-pass-login-phoenix .pass-phoenix-list .pass-phoenix-btn { + float: left; +} +.tang-pass-login-phoenix .pass-phoenix-list .bd-acc-list, .tang-pass-login-phoenix .pass-phoenix-list .bd-acc-list li { + float: left; + list-style: none; + margin: 0; + padding: 0; +} +.tang-pass-login-phoenix .pass-phoenix-list .bd-acc-list li { + width: 26px; +} +.tang-pass-login-phoenix .pass-phoenix-list .bd-acc-list, .tang-pass-login-phoenix .pass-phoenix-list .bd-acc-list li { + float: left; + list-style: none; + margin: 0; + padding: 0; +} +.tang-pass-footerBar a, .tang-pass-footerBar a:hover { + text-decoration: none; + font-size: 14px; + width: 80px; + text-align: center; +} +a.pass-reglink { + position: absolute; + right: 26px; + color: #2e82ff; + top: 0; +} +.tang-pass-login .pass-form-item-submit { + position: relative; +} +.tang-pass-login .pass-form-item { + position: relative; + clear: both; + z-index: 18; +} +.tang-pass-login .pass-form-item { + margin-bottom: 16px; +} +.tang-pass-login .pass-form-item-submit .pass-button-submit { + font-size: 14px; + font-weight: 800; + border: 0; + color: #fff; + cursor: pointer; +} +.tang-pass-login .pass-form-item-submit input { + width: 302px; + height: 40px; + line-height: 40px; + background: #2e82ff; + border-radius: 2px; +} +.tang-pass-login input[type=submit] { + -webkit-appearance: none; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +.tang-pass-login .pass-form-item-submit .pass-fgtpwd { + display: inline-block; + margin-top: 12px; + font-size: 12px; +} +.tang-pass-login a { + text-decoration: none; + color: #2e82ff; +} +p.pass-form-logo { + background: url(../../images/logo_731bc32.png) no-repeat left; + background: url(../../images/logo_731bc32.png) no-repeat left; + font-size: 16px; + height: 32px; + line-height: 46px; + padding-left: 118px; + color: #000; + margin-top: 0; + margin-bottom: 15px; +} +.tang-pass-login-phoenix .pass-phoenix-list .phoenix-btn-item { + display: block; + margin-right: 15px; + color: #00C; + text-decoration: underline; + padding-left: 20px; + cursor: pointer; + font-size: 12px; + list-style: none; + background: url(../../images/member/loginv4.png) no-repeat; + _background: url(../../images/member/loginv4.gif) no-repeat; + width: 0; + height: 18px; + overflow: hidden; +} +.tang-pass-login-phoenix .pass-phoenix-list .bd-acc-qzone .phoenix-btn-item { + background-position: -6px -55px; +} +.tang-pass-login-phoenix .pass-phoenix-list .bd-acc-tsina .phoenix-btn-item { + background-position: -55px -33px; +} +.tang-pass-login-phoenix .pass-phoenix-list .bd-acc-weixin .phoenix-btn-item { + background-position: -30px -30px; +} +#foot { + text-align: center; + color: #7a77c8; + margin-top: 20px; + margin-bottom: 20px; +} +.tang-pass-login .pass-form-item .pass-text-input-focus { + border-color: #488ee7 +} +.tang-pass-login .pass-form-item .pass-clearbtn:hover { + background-position: 0 -16px +} +.tang-pass-login .pass-form-item .pass-text-input-verifyCode { + width: 130px; + float: left; +} +.tang-pass-sms p.pass-form-item-smsVerifyCode, .tang-pass-login p.pass-form-item-verifyCode { + position: relative; + margin-bottom: 15px; + width: 302px; + zoom: 1; +} +.tang-pass-login .pass-form-item span.pass-clearbtn-verifyCode { + left: 125px; + z-index: 1999; +} +.tang-pass-login .pass-verifyCode { + width: 90px; + height: 40px; + background: url(../../images/member/loading_16.gif) no-repeat center center; + border: 1px solid #DDD; + float: left; + margin-left: 5px; +} +.tang-pass-login .pass-change-verifyCode { + padding-left: 12px; + font-size: 12px; + text-decoration: none; + line-height: 40px; + float: left; + cursor: pointer; +} +.tang-pass-login a { + text-decoration: none; + color: #2e82ff; +} +.tang-pass-login .pass-form-item-memberPass { + margin-bottom: 10px; + display: inline-block; +} +.tang-pass-sms p.pass-form-item-smsVerifyCode:after, .tang-pass-login p.pass-form-item-verifyCode:after { + line-height: 20px; + content: "\20"; + display: block; + height: 0; + clear: both; +} \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/static/css/member/register.css b/tamguo-mms/src/main/resources/static/css/member/register.css new file mode 100644 index 0000000..f931f0a --- /dev/null +++ b/tamguo-mms/src/main/resources/static/css/member/register.css @@ -0,0 +1,452 @@ +#wrapper { + width: 100%; +} +#head, #content, #foot { + width: 980px; + margin-left: auto; + margin-right: auto; +} +#head { + height: 75px; + z-index: 100; +} +#head .mod-header { + display: block; + width: 330px; +} +.mod-header { + display: inline; + font-size: 66px; +} +#head .mod-header a { + display: none; + width: 330px; + height: 76px; +} +#head .mod-header a img { + margin-top: 15px; +} +#nav { + background: 0 0; +} +#nav .nav-2 { + height: 20px; + background: url(../../images/reg_hr.png) no-repeat center top; +} +.clearfix { + zoom: 1; +} +.mod-reg { + position: relative; +} +.tang-pass-reg { + position: relative; + width: 720px; + overflow: hidden; +} +.reg-content { + float: left; +} +.tang-pass-reg .pass-generalErrorWrapper { + margin: 0; + padding: 0; +} +.tang-pass-reg .pass-generalError { + color: #fc4343; + display: block; + height: 40px; + font-size: 12px; + line-height: 40px; +} +.tang-pass-reg .pass-form-item { + position: relative; + clear: both; + margin-bottom: 20px; + zoom: 1; +} +.tang-pass-reg .pass-label { + display: block; + float: left; + height: 42px; + width: 65px; + margin-right: 10px; + line-height: 42px; + font-size: 14px; + color: #666; + font-weight: 700; + text-align: right; +} +.tang-pass-reg .pass-text-input { + display: block; + position: relative; + float: left; + height: 16px; + width: 328px; + padding: 11px 10px; + margin-right: 10px; + border: 1px solid #ddd; + font-size: 14px; + color: #666; + transition: .3s; +} +.tang-pass-reg .pass-clearbtn { + display: block; + position: absolute; + width: 16px; + height: 16px; + background: url(../../images/reg_icons.png) -32px -24px no-repeat; + top: 12px; + left: 398px; + cursor: pointer; +} +.tang-pass-reg .pass-item-error-password { + position: absolute; + float: left; + background: 0 0; + padding: 0; + top: 0; + left: 434px; + height: 40px; +} +.tang-pass-reg .pass-item-error { + display: none; + float: left; + position: relative; + width: 250px; + top: 12px; + color: #fc4343; + height: 16px; + line-height: 14px; + padding-left: 20px; + background: url(../../images/err_small.png) 0 0 no-repeat; +} +.tang-pass-reg .pass-item-error-password .nopwd .pwd-strength-sum { + display: none; +} +.tang-pass-reg .pass-item-error-password .nopwd .pwd-strength-detail { + margin-top: 12px; +} +.tang-pass-reg .pass-item-error-password .pwd-strength-detail { + background: url(../../images/reg_icons.png) -80px -24px no-repeat; + padding-left: 20px; + line-height: 16px; + display: block; + width: 220px; +} +.tang-pass-reg .pass-item-error-password .pwd-strength-bg { + background-color: #eee; +} +.tang-pass-reg .pass-item-error-password .pwd-strength-sco, .tang-pass-reg .pass-item-error-password .pwd-strength-bg { + display: block; + position: absolute; + width: 130px; + height: 10px; + line-height: 10px; +} +.tang-pass-reg .pwd-checklist .pwd-checklist-item-error { + background-position: -86px -144px; + color: #fc4343; +} +.tang-pass-reg .pwd-checklist .pwd-checklist-item-success { + background-position: -86px -128px; +} +.tang-pass-reg .pwd-checklist .pwd-checklist-item-success { + background-position: -86px -128px; +} +.tang-pass-reg .pwd-checklist { + margin-left: 10px; + padding: 5px 10px; + border: 1px solid #ddd; + box-shadow: 1px 1px 1px #efefef; + background: #f9f9f9; + width: 200px; +} +.tang-pass-reg .pwd-checklist-wrapper .pwd-checklist-arrow { + position: absolute; + top: 8px; + left: 0; +} +.tang-pass-reg .pwd-checklist-wrapper .pwd-checklist-arrow em.arrowa { + color: #ddd; + left: 0; +} +.tang-pass-reg .pwd-checklist-wrapper .pwd-checklist-arrow em { + position: absolute; + left: 0; + top: 0; + font-size: 20px; +} +.tang-pass-reg .pwd-checklist-wrapper .pwd-checklist-arrow em.arrowb { + color: #f9f9f9; + left: 1px; +} +.tang-pass-reg .pass-item-tiptext-password { + padding-top: 0; +} +.tang-pass-reg .pass-item-tiptext { + display: block; +} +.tang-pass-reg .pass-form-item { + position: relative; + clear: both; + margin-bottom: 20px; + zoom: 1; +} +.tang-pass-reg .pass-form-item:after { + visibility: hidden; + display: block; + font-size: 0; + content: " "; + clear: both; + height: 0; +} +.tang-pass-reg .pass-item-placeholder { + top: 12px; + line-height: 16px; + _line-height: 18px; + font-size: 14px; + color: #ccc; + left: 87px; + display: none; + visibility: hidden; + width: 0; + left: 0; +} +.tang-pass-reg .pass-item-tiptext-password { + padding-top: 0; +} +.tang-pass-reg .pass-item-tip-password { + position: absolute; + left: 430px; + top: 0; + zoom: 1; + z-index: 20; +} +.tang-pass-reg .pass-item-tip { + width: 270px; +} +.tang-pass-reg .pass-form-item { + position: relative; + clear: both; + margin-bottom: 20px; + zoom: 1; +} +.tang-pass-reg .pass-label { + display: block; + float: left; + height: 42px; + width: 65px; + margin-right: 10px; + line-height: 42px; + font-size: 14px; + color: #666; + font-weight: 700; + text-align: right; +} +.tang-pass-reg .pass-text-input-verifyCode { + width: 156px; +} +.tang-pass-reg .pass-form-item-verifyCode span, .tang-pass-reg .pass-form-item-verifyCodeSend span { + float: left; + display: block; +} +.tang-pass-reg .pass-clearbtn-verifyCode { + left: 228px; +} +.tang-pass-reg .pass-clearbtn { + display: block; + position: absolute; + width: 16px; + height: 16px; + background: url(../../images/reg_icons.png) -32px -24px no-repeat; + top: 12px; + left: 398px; + cursor: pointer; +} +.tang-pass-reg input.pass-button-verifyCodeSend { + border-radius: 0; + border: 1px solid #ddd; + height: 40px; + background: #f7f7f7; + color: #666; + font-weight: 400; + width: 160px; + float: left; + margin-right: 10px; + font-size: 14px; +} +.tang-pass-reg .pass-button { + display: block; + height: 50px; + font-size: 16px; + font-weight: 700; + cursor: pointer; + color: #fff; + background-image: none; + border-radius: 3px; + border: 0; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + transition: .3s; + -moz-transition: .3s; + -o-transition: .3s; + -webkit-transition: .3s; +} +.tang-pass-reg .pass-form-item-verifyCode span.pass-item-error, .tang-pass-reg .pass-form-item-verifyCodeSend span.pass-item-error { + display: none; +} +.tang-pass-reg .pass-form-item-verifyCode span, .tang-pass-reg .pass-form-item-verifyCodeSend span { + float: left; + display: block; +} +.tang-pass-reg .pass-form-item-verifyCode span, .tang-pass-reg .pass-form-item-verifyCodeSend span { + float: left; + display: block; +} +.tang-pass-reg .pass-item-tip-verifyCodeSend { + padding-top: 2px; +} +.tang-pass-reg .pass-item-tip { + width: 270px; +} +.tang-pass-reg .pass-form-item-isAgree { + margin-left: 75px; +} +.tang-pass-reg .pass-form-item-isAgree .pass-checkbox-isAgree { + vertical-align: middle; +} +.tang-pass-reg .pass-form-item-isAgree label { + color: #666; + font-size: 12px; + margin-left: 5px; +} +.tang-pass-reg a { + text-decoration: none; + color: #1b66c7; +} +.tang-pass-reg a { + text-decoration: none; + color: #1b66c7; +} +.tang-pass-reg .pass-form-item-submit { + position: relative; + left: 75px; +} +.tang-pass-reg .pass-form-item { + position: relative; + clear: both; + margin-bottom: 20px; + zoom: 1; +} +.tang-pass-reg a { + text-decoration: none; + color: #1b66c7; +} +.mod-reg .tang-pass-reg .pass-button-submit { + background-color: #3f89ec; +} +.tang-pass-reg .pass-button-submit { + float: left; + width: 350px; +} +.tang-pass-reg .pass-button { + display: block; + height: 50px; + font-size: 16px; + font-weight: 700; + cursor: pointer; + color: #fff; + background-image: none; + border-radius: 3px; + border: 0; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + transition: .3s; + -moz-transition: .3s; + -o-transition: .3s; + -webkit-transition: .3s; +} +#foot { + text-align: center; + color: #7a77c8; + margin-top: 20px; + margin-bottom: 20px; +} +#foot { + margin-top: 80px; +} +#head, #content, #foot { + width: 980px; + margin-left: auto; + margin-right: auto; +} +.reg-sms { + width: 258px; + border: 1px solid #d1eeff; + background-color: #f5fbff; + margin-top: 40px; +} +.reg-sms { + float: right; +} +.mod-reg .login-link, .mod-regnotify .login-link { + position: absolute; + top: -70px; + right: 0; + color: #666; +} +.mod-reg .login-link span, .mod-regnotify .login-link span { + float: left; + display: block; + margin-right: 5px; + margin-top: 10px; +} +.mod-reg .login-link, .mod-regnotify .login-link { + position: absolute; + top: -70px; + right: 0; + color: #666; +} +.mod-reg .login-btn, .mod-regnotify .login-btn { + font-weight: 700; + color: #666; + height: 32px; + width: 64px; + border: 0; + background: url(../../images/reg_icons.png) no-repeat 0 -48px; +} +.tang-pass-reg .pass-item-tiptext-userName { + padding-top: 6px; +} +.mod-reg .tang-pass-reg .pass-text-input-error { + border-color: #fc4343; +} +.mod-reg .tang-pass-reg .pass-text-input-focus { + border-color: #488ee7 +} +.tang-pass-reg input.pass-text-input-disabled { + background: #f6f6f6; + border-color: #ebebeb; + color: #c5c5c5 +} +.tang-pass-reg span.pass-item-error-isAgree { + top: 0; + float: none; +} +button { + cursor: pointer; +} +.clearfix:after { + content: '\20'; + display: block; + height: 0; + clear: both; +} +.clearfix:after { + content: '\20'; + display: block; + height: 0; + clear: both; + visibility: hidden; + overflow: hidden; +} \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/static/css/password/confirmAccount.css b/tamguo-mms/src/main/resources/static/css/password/confirmAccount.css new file mode 100644 index 0000000..e09d6fe --- /dev/null +++ b/tamguo-mms/src/main/resources/static/css/password/confirmAccount.css @@ -0,0 +1,298 @@ +#head, #content, #foot { + width: 980px; + margin-left: auto; + margin-right: auto; +} +#head { + height: 75px; + z-index: 100; +} +.mod-header { + display: inline; + font-size: 66px; +} +.mod-userbar { + position: absolute; + top: 15px; + right: 20px; + z-index: 300; + font-family: "Microsoft yahei", Arial, Helvetica, STHeiti, 鐎瑰缍�; +} +.mod-userbar li { + float: left; + margin: 0 5px; + color: #ccc; + height: 24px; +} +.mod-userbar li a { + color: #000; + text-decoration: underline; +} +#nav { + height: 42px; +} +#nav { + width: 100%; + background: #fafafa; + z-index: 1; +} +.nav-2 { + height: 46px; + background: url(../../images/password/hdbg.png) repeat-x 0 0; + width: 100%; +} +.mod-nav { + position: relative; + width: 980px; + margin-left: auto; + margin-right: auto; +} +.page-type-notab { + color: #333; + font-size: 14px; + font-weight: 700; + float: left; + margin-left: 70px; + line-height: 46px; + display: inline; +} +.clearfix:after { + content: '\20'; + display: block; + height: 0; + clear: both; + visibility: hidden; + overflow: hidden; +} +#content { + height: auto; +} +#content .mod-forgot { + min-height: 500px; + height: auto; +} +.mod-forgot { + height: 450px; + margin-left: 70px; + width: 910px; +} +.mod-sub-nav { + height: 34px; + background: url(../../images/password/mod_sub_nav.png) no-repeat 0 0; + margin: 30px 0; + line-height: 34px; + color: #666; + font-size: 16px; + font-family: "Microsoft Yahei",\5fae\8f6f\96c5\9ed1,\9ed1\4f53; +} +.mod-sub-nav li.list1-active { + background: url(../../images/password/sub_nav_1.png) no-repeat 0 0; + color: #2e82ff; +} +.mod-sub-nav li { + float: left; + padding-left: 66px; +} +.mod-sub-list1 { + width: 175px; +} +.mod-step-detail .step-email-info, .mod-step-detail .step-form-info { + font-size: 12px; + padding-bottom: 10px; +} +.pass-input-container { + margin-bottom: 20px; +} +.pass-input-container { + position: relative; +} +.pass-input { + border: 1px solid #CCC; + border-bottom: 1px solid #ddd; + border-right: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + font-size: 12px; + _margin-top: 1px; + padding: 7px 0 7px 8px; + height: 16px; + line-height: 16px; + overflow: hidden; + color: #333; + font-size: 14px; + background: url(https://passport.baidu.com/static/passpc-base/img/ui/form_input_261.png) no-repeat left top; + -webkit-transition-property: all; + -webkit-transition-duration: .3s; + -moz-transition-property: all; + -moz-transition-duration: .3s; + -o-transition-property: all; + -o-transition-duration: .3s; + transition-property: all; + transition-duration: .3s; + outline: 0; + resize: none; + width: 253px; + float: left; +} +.pass-input-forgot { + display: block; + position: relative; + float: left; + height: 16px; + width: 328px; + padding: 11px 10px; + margin-right: 10px; + border: 1px solid #ddd; + font-size: 14px; + color: #666; + -webkit-transition: .3s; + -moz-transition: .3s; + -o-transition: .3s; + transition: .3s; + background: #fff; +} +.input-label-new1 { + top: 6px; + left: 10px; + font-size: 14px; +} +.userName-clearbtn { + background: url(../../images/password/close.png) no-repeat; + background-position: 0 0; + cursor: pointer; + position: absolute; + z-index: 8px; + top: 15px; + margin-left: -35px; + height: 12px; + width: 12px; + display: none; + transition: all ease-out .3s; +} +.l-h40 { + line-height: 40px; +} +.pass-input-msg { + line-height: 32px; + float: left; + color: #da1111; + margin-left: 10px; + font-size: 12px; +} +.clearfix:after { + content: '\20'; + display: block; + height: 0; + clear: both; + visibility: hidden; + overflow: hidden; +} +.m_b15 { + margin-bottom: 15px; +} +.pass-account-slect .pass-radio-list { + clear: both; + margin-top: 10px; + line-height: 16px; + background-position: 0 0; +} +.pass-radio-list { + position: relative; +} +.pass-radio { + float: left; + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR閳ワ拷3IakF6mZAFyGGPGsDAMBoGgyUMnoAyBqnJGKrnCSOl2RkADS8pAQZncMwAAAAASUVORK5CYII=) no-repeat 0 8px; + padding-left: 25px; + cursor: pointer; +} +.pass-account-slect .pass-radio-list { + clear: both; + margin-top: 10px; + line-height: 16px; + background-position: 0 0; +} +.pass-radion-active { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR閳ヮ毣AkCTIEBAmBDC8QEgDujwTAzBXoQsSzQflSFCWJMsQaHYGAIAFT0KWP06mAAAAAElFTkSuQmCC) no-repeat 0 8px; +} +.mod-step-detail .vcode-container { + margin-bottom: 30px; +} +.mod-step-detail .vcode-container .vcode-input-width { + width: 156px; + margin-right: 0; +} +.mod-step-detail .vcode-container .vcode-input { + float: left; + width: 97px; +} +.mod-step-detail .vcode-container .vcode-label { + width: 90px; +} +.mod-step-detail .vcode-container .vcode-img-big { + float: left; + width: 100px; + height: 38px; + border: 1px solid #ddd; + margin-left: 10px; +} +.mod-step-detail .vcode-container .p-t13 { + padding-top: 13px; +} +.mod-step-detail .vcode-container .vcode-img-change { + padding-left: 10px; + display: block; + padding-top: 9px; + float: left; +} +.l-h40 { + line-height: 40px; +} +.mod-step-detail .pass-button-submit { + display: block; + height: 40px; + font-size: 16px; + font-weight: 700; + cursor: pointer; + color: #fff; + background-image: none; + border-radius: 3px; + border: 0; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + transition: .3s; + -moz-transition: .3s; + -o-transition: .3s; + -webkit-transition: .3s; + background-color: #3f89ec; + width: 350px; +} +.pass-button-submit, .pass-button-timer2, .mod-btn1 { + height: 34px; + width: 109px; + color: #fff; + cursor: pointer; + text-align: center; + border: 0; + background: url(https://passport.baidu.com/static/passpc-base/img/ui/button_icon.png) no-repeat 0 0; + line-height: 32px; +} +#foot { + text-align: center; + color: #7a77c8; + margin-top: 20px; + margin-bottom: 20px; +} +.pass-input-focus { + border-color: #377bcb +} +a { + text-decoration: none; + color: #2b78e4; +} +.userName-clearbtn-hover { + background-position: 0 -15px +} + +.pass-input-error { + border: 1px solid #da1111; +} diff --git a/tamguo-mms/src/main/resources/static/css/password/resetPassword.css b/tamguo-mms/src/main/resources/static/css/password/resetPassword.css new file mode 100644 index 0000000..549482d --- /dev/null +++ b/tamguo-mms/src/main/resources/static/css/password/resetPassword.css @@ -0,0 +1,270 @@ +#wrapper { + width: 100%; +} +#head, #content, #foot { + width: 980px; + margin-left: auto; + margin-right: auto; +} +#head { + height: 75px; + z-index: 100; +} +.mod-header { + display: inline; + font-size: 66px; +} +a { + text-decoration: none; + color: #2b78e4; +} +.mod-userbar { + position: absolute; + top: 15px; + right: 20px; + z-index: 300; + font-family: "Microsoft yahei",Arial,Helvetica,STHeiti,"宋体"; +} +.mod-userbar li { + float: left; + margin: 0 5px; + color: #ccc; + height: 24px; +} +.mod-userbar li a { + color: #000; + text-decoration: underline; +} +#nav { + height: 42px; +} +#nav { + width: 100%; + background: #fafafa; + z-index: 1; +} +.nav-2 { + height: 46px; + background: url(../../images/password/hdbg.png) repeat-x 0 0; + width: 100%; +} +.mod-nav { + position: relative; + width: 980px; + margin-left: auto; + margin-right: auto; +} +.page-type-notab { + color: #333; + font-size: 14px; + font-weight: 700; + float: left; + margin-left: 70px; + line-height: 46px; + display: inline; +} +.clearfix:after { + content: '\20'; + display: block; + height: 0; + clear: both; + visibility: hidden; + overflow: hidden; +} +#content { + height: auto; +} +#content .mod-forgot { + min-height: 500px; + height: auto; +} +.mod-forgot { + height: 450px; + margin-left: 70px; + width: 910px; +} +.mod-sub-nav { + height: 34px; + background: url(../../images/password/mod_sub_nav.png) no-repeat 0 0; + margin: 30px 0; + line-height: 34px; + color: #666; + font-size: 16px; + font-family: "Microsoft Yahei",\5fae\8f6f\96c5\9ed1,\9ed1\4f53; +} +.mod-sub-nav li { + float: left; + padding-left: 66px; +} +.mod-sub-list1 { + width: 175px; +} +.mod-sub-list2 { + width: 163px; +} +.mod-sub-nav li.list3-active { + background: url(../../images/password/sub_nav_3.png) no-repeat 0 0; + color: #2e82ff; + margin-left: -12px; + padding-left: 78px; + width: 163px; +} +.mod-step-detail .step-form-tip { + color: #999; + font-size: 12px; + padding-bottom: 20px; +} +.m_l80 { + margin-left: 80px; +} +form { + position: relative; +} +.pass-input-container { + margin-bottom: 20px; +} +.pass-input-container { + position: relative; +} +.l-h40 { + line-height: 40px; +} +.pass-input-title { + font-size: 14px; + width: 70px; + padding-right: 10px; + line-height: 32px; + float: left; + text-align: right; +} +.pass-input { + border: 1px solid #CCC; + border-bottom: 1px solid #ddd; + border-right: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + font-size: 12px; + _margin-top: 1px; + padding: 7px 0 7px 8px; + height: 16px; + line-height: 16px; + overflow: hidden; + color: #333; + font-size: 14px; + background: url(../../images/password/form_input_261.png) no-repeat left top; + -webkit-transition-property: all; + -webkit-transition-duration: .3s; + -moz-transition-property: all; + -moz-transition-duration: .3s; + -o-transition-property: all; + -o-transition-duration: .3s; + transition-property: all; + transition-duration: .3s; + outline: 0; + resize: none; + width: 253px; + float: left; +} +.pass-input-forgot { + display: block; + position: relative; + float: left; + height: 16px; + width: 328px; + padding: 11px 10px; + margin-right: 10px; + border: 1px solid #ddd; + font-size: 14px; + color: #666; + -webkit-transition: .3s; + -moz-transition: .3s; + -o-transition: .3s; + transition: .3s; + background: #fff; +} +.left { + float: left; +} +.pass-input-pwdmsg { + float: left; + width: 226px; +} +.pass-streng-wrapper { + visibility: hidden; +} +.pass-tips-streng { + float: left; + background: #f1f1f1; + width: 165px; + height: 10px; + overflow: hidden; + margin-left: 10px; + margin-right: 6px; + position: relative; +} +.pass-tips-streng span { + position: absolute; + left: 0; + top: 0; + height: 10px; +} +.pass-input-pwdmsg .pass-input-msg { + line-height: 1.3em; + margin-top: 2px; + display: inline-block; + width: 350px; +} +.l-h40 { + line-height: 40px; +} +.pass-input-msg { + line-height: 32px; + float: left; + color: #da1111; + margin-left: 10px; + font-size: 12px; +} +.m_l80 { + margin-left: 80px; +} +.mod-step-detail .pass-button-submit { + display: block; + height: 40px; + font-size: 16px; + font-weight: 700; + cursor: pointer; + color: #fff; + background-image: none; + border-radius: 3px; + border: 0; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + transition: .3s; + -moz-transition: .3s; + -o-transition: .3s; + -webkit-transition: .3s; + background-color: #3f89ec; + width: 350px; +} +.pass-button-submit, .pass-button-timer2, .mod-btn1 { + height: 34px; + width: 109px; + color: #fff; + cursor: pointer; + text-align: center; + border: 0; + background: url(../../images/password/button_icon.png) no-repeat 0 0; + line-height: 32px; +} +#foot { + text-align: center; + color: #7a77c8; + margin-top: 20px; + margin-bottom: 20px; +} +.pass-input-error { + border: 1px solid #da1111 +} +.pass-input-focus { + border-color: #377bcb +} \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/static/css/password/resetPwSuccess.css b/tamguo-mms/src/main/resources/static/css/password/resetPwSuccess.css new file mode 100644 index 0000000..0fe73ea --- /dev/null +++ b/tamguo-mms/src/main/resources/static/css/password/resetPwSuccess.css @@ -0,0 +1,211 @@ +#wrapper { + width: 100%; +} +#head, #content, #foot { + width: 980px; + margin-left: auto; + margin-right: auto; +} +#head { + height: 75px; + z-index: 100; +} +.mod-header { + display: inline; + font-size: 66px; +} +a { + text-decoration: none; + color: #2b78e4; +} +.mod-userbar { + position: absolute; + top: 15px; + right: 20px; + z-index: 300; + font-family: "Microsoft yahei", Arial, Helvetica, STHeiti, 宋体; +} +.mod-userbar li { + float: left; + margin: 0 5px; + color: #ccc; + height: 24px; +} +.mod-userbar li a { + color: #000; + text-decoration: underline; +} +.mod-userbar { + position: absolute; + top: 15px; + right: 20px; + z-index: 300; + font-family: "Microsoft yahei", Arial, Helvetica, STHeiti, 宋体; +} +.mod-userbar li { + float: left; + margin: 0 5px; + color: #ccc; + height: 24px; +} +.mod-userbar li a { + color: #000; + text-decoration: underline; +} +#nav { + height: 42px; +} +.nav-2 { + height: 46px; + background: url(../../images/password/hdbg.png) repeat-x 0 0; + width: 100%; +} +.mod-nav { + position: relative; + width: 980px; + margin-left: auto; + margin-right: auto; +} +.page-type-notab { + color: #333; + font-size: 14px; + font-weight: 700; + float: left; + margin-left: 70px; + line-height: 46px; + display: inline; +} +.clearfix:after { + content: '\20'; + display: block; + height: 0; + clear: both; + visibility: hidden; + overflow: hidden; +} +#content { + height: auto; +} +#content .mod-forgot { + min-height: 500px; + height: auto; +} +.mod-forgot { + height: 450px; + margin-left: 70px; + width: 910px; +} +.mod-sub-nav { + height: 34px; + background: url(../../images/password/mod_sub_nav.png) no-repeat 0 0; + margin: 30px 0; + line-height: 34px; + color: #666; + font-size: 16px; + font-family: "Microsoft Yahei",\5fae\8f6f\96c5\9ed1,\9ed1\4f53; +} +.mod-sub-nav li { + float: left; + padding-left: 66px; +} +.mod-sub-list1 { + width: 175px; +} +.mod-sub-list2 { + width: 163px; +} +.mod-sub-nav li.list3-active { + background: url(../../images/password/sub_nav_3.png) no-repeat 0 0; + color: #2e82ff; + margin-left: -12px; + padding-left: 78px; + width: 163px; +} +.mod-step-detail .result-info { + text-align: center; + padding-top: 60px; + width: 695px; +} +.mod-step-detail .result-info .result-message { + font-size: 18px; + font-weight: 700; + position: relative; + padding-bottom: 40px; +} +.result-message span, .result-message2 span { + position: relative; + top: -8px; + left: 8px; +} +.mod-setinfo .button, .mod-layer-body .button, .mod-step-detail .button { + display: block; + float: left; + text-align: center; + color: #fff; + font-weight: 400; + line-height: 30px; + width: 77px; + height: 30px; + background: #3f89ec; + border-radius: 3px; +} +.mod-setinfo .result-title-btn, .mod-step-detail .result-title-btn { + float: none; + height: 40px; + width: 140px; + line-height: 40px; + font-weight: 700; + font-size: 14px; + margin: 0 auto; + margin-top: 20px; +} +.result-content-msg { + font-size: 12px; + margin: 10px 0; + color: #999; + text-align: left; + display: block; +} +.result-content-table { + width: 700px; +} +.result-content-link { + display: block; + text-align: right; + margin-top: 5px; +} +tbody { + display: table-row-group; + vertical-align: middle; + border-color: inherit; +} +.result-content-title { + width: 700px; + height: 30px; + text-align: center; + font-size: 12px; +} +tr { + display: table-row; + vertical-align: inherit; + border-color: inherit; +} +.result-content-title th { + color: #666; + border-top: 1px solid #dfdfdf; + background: #f3f3f3; + text-align: center; +} +.result-content-list td { + border-bottom: 1px dotted #dcdcdc; + word-wrap: break-word; + word-break: break-all; + padding: 5px 0; + text-align: center; +} +#foot { + text-align: center; + color: #7a77c8; + margin-top: 20px; + margin-bottom: 20px; +} diff --git a/tamguo-mms/src/main/resources/static/css/password/securityCheck.css b/tamguo-mms/src/main/resources/static/css/password/securityCheck.css new file mode 100644 index 0000000..c48ab5d --- /dev/null +++ b/tamguo-mms/src/main/resources/static/css/password/securityCheck.css @@ -0,0 +1,393 @@ +#wrapper { + width: 100%; +} +#head, #content, #foot { + width: 980px; + margin-left: auto; + margin-right: auto; +} +#head { + height: 75px; + z-index: 100; +} +.mod-header { + display: inline; + font-size: 66px; +} +a { + text-decoration: none; + color: #2b78e4; +} +.mod-userbar { + position: absolute; + top: 15px; + right: 20px; + z-index: 300; + font-family: "Microsoft yahei", Arial, Helvetica, STHeiti, ; +} +.mod-userbar li { + float: left; + margin: 0 5px; + color: #ccc; + height: 24px; +} +.mod-userbar li a { + color: #000; + text-decoration: underline; +} +#nav { + height: 42px; +} +#nav { + width: 100%; + background: #fafafa; + z-index: 1; +} +.nav-2 { + height: 46px; + background: url(../../images/password/hdbg.png) repeat-x 0 0; + width: 100%; +} +.mod-nav { + position: relative; + width: 980px; + margin-left: auto; + margin-right: auto; +} +.page-type-notab { + color: #333; + font-size: 14px; + font-weight: 700; + float: left; + margin-left: 70px; + line-height: 46px; + display: inline; +} +#content { + height: auto; +} +#content .mod-forgot { + min-height: 500px; + height: auto; +} +.mod-forgot { + height: 450px; + margin-left: 70px; + width: 910px; +} +.mod-sub-nav { + height: 34px; + background: url(../../images/password/mod_sub_nav.png) no-repeat 0 0; + margin: 30px 0; + line-height: 34px; + color: #666; + font-size: 16px; + font-family: "Microsoft Yahei",\5fae\8f6f\96c5\9ed1,\9ed1\4f53; +} +.mod-sub-nav li { + float: left; + padding-left: 66px; +} +.mod-sub-list1 { + width: 175px; +} +.mod-sub-nav li.list2-active { + background: url(../../images/password/sub_nav_2.png) no-repeat 0 0; + color: #2e82ff; + margin-left: -12px; + padding-left: 78px; +} +.forgot-auth-container { + width: 520px; +} +.mod-step-detail .step-email-info, .mod-step-detail .step-form-info { + font-size: 12px; + padding-bottom: 10px; +} +.mod-step-detail .step-email-info, .mod-step-detail .step-form-info { + font-size: 12px; + padding-bottom: 10px; +} +.forgot-auth-type { + position: relative; + z-index: 1; +} +.m-t10 { + margin-top: 10px; +} +form { + position: relative; +} +.forgot-auth-title { + font-weight: 700; + font-size: 14px; + margin-bottom: 20px; +} +.pass-input-container, .m-b15 { + margin-bottom: 15px; +} +.pass-input-container { + position: relative; +} +.form-2-label { + width: 70px; + font-size: 14px; + float: left; + margin-right: 10px; + text-align: right; + line-height: 32px; +} +label { + cursor: default; +} +.line-32 { + line-height: 32px; +} +.form-2-content { + font-size: 14px; + position: relative; + float: left; +} +.verify-method { + font-size: 14px; + font-weight: 700; + line-height: 30px; +} +.mod-step-detail .m-b-mobile { + margin-bottom: 8px; +} +.mod-step-detail .vcode-container { + margin-bottom: 30px; +} +.form-2-content { + font-size: 14px; + position: relative; + float: left; +} +.mod-step-detail .vcode-container .vcode-input { + float: left; + width: 97px; +} +.mod-step-detail .vcode-container .pass-input-new { + width: 220px; + height: 22px; + background: #fff; +} +.pass-input { + border: 1px solid #CCC; + border-bottom: 1px solid #ddd; + border-right: 1px solid #ddd; + background-color: #fff; + vertical-align: middle; + font-size: 12px; + _margin-top: 1px; + padding: 7px 0 7px 8px; + height: 16px; + line-height: 16px; + overflow: hidden; + color: #333; + font-size: 14px; + background: url(../../images/password/form_input_261.png) no-repeat left top; + -webkit-transition-property: all; + -webkit-transition-duration: .3s; + -moz-transition-property: all; + -moz-transition-duration: .3s; + -o-transition-property: all; + -o-transition-duration: .3s; + transition-property: all; + transition-duration: .3s; + outline: 0; + resize: none; + width: 253px; + float: left; +} +.input-label-new1 { + top: 6px; + left: 10px; + font-size: 14px; +} +.pass-input-label { + position: absolute; + left: 13px; + top: 3px; + _top: 5px; + color: #ccc; + height: 28px; + line-height: 28px; + cursor: text; + -webkit-transition-property: color; + -webkit-transition-duration: .3s; + -moz-transition-property: all; + -moz-transition-duration: .3s; + -o-transition-property: all; + -o-transition-duration: .3s; + transition-property: all; + transition-duration: .3s; +} +#pass-button-new1 { + width: 120px; + height: 36px; + border: 1px solid #ccc; + background: #f7f7f7; + color: #666; + line-height: 36px; +} +.form-2-content .pass-button-timer { + margin: 0 0 0 10px; +} +.pass-button-timer, .mod-btn2 { + height: 29px; + width: 107px; + color: #333; + cursor: pointer; + border: 0; + line-height: 29px; + text-align: center; + background: url(../../images/password/button_icon.png) no-repeat 0 -138px; + float: left; +} +.pass-input-stip { + line-height: 40px; + float: left; + font-size: 12px; + margin-left: 10px; + display: inline-block; +} +.pass-input-stip { + line-height: 40px; + float: left; + font-size: 12px; + margin-left: 10px; + display: inline-block; +} +.form-2-content .pass-input-msg { + clear: both; + margin-left: 0; + height: 32px; + width: 420px; +} +.pass-input-msg { + line-height: 32px; + float: left; + color: #da1111; + margin-left: 10px; + font-size: 12px; +} +.m-b30 { + margin-bottom: 30px; +} +.m-b30 .pass-button-new1 { + width: 360px; + height: 40px; + background: #2e82ff; + color: #fff; + font-weight: 700; +} +.mod-step-detail .pass-button-submit { + display: block; + height: 40px; + font-size: 16px; + font-weight: 700; + cursor: pointer; + color: #fff; + background-image: none; + border-radius: 3px; + border: 0; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + transition: .3s; + -moz-transition: .3s; + -o-transition: .3s; + -webkit-transition: .3s; + background-color: #3f89ec; + width: 350px; +} +.pass-button-submit, .pass-button-timer2, .mod-btn1 { + height: 34px; + width: 109px; + color: #fff; + cursor: pointer; + text-align: center; + border: 0; + background: url(../../images/password/button_icon.png) no-repeat 0 0; + line-height: 32px; +} +.forgot-auth-title { + font-weight: 700; + font-size: 14px; + margin-bottom: 20px; +} +.mod-step-detail .step-email-info, .mod-step-detail .step-form-info { + font-size: 12px; + padding-bottom: 10px; +} +.mod-step-detail .step-email-info, .mod-step-detail .step-form-info { + font-size: 12px; + padding-bottom: 10px; +} +.upsms-auth-content { + width: 400px; + height: 130px; + border: 1px solid #ccc; + margin-bottom: 15px; +} +.upsms-auth-left { + background: #f9f9f9; + width: 209px; + height: 100px; + float: left; + padding: 20px 20px 10px; + border-right: 1px solid #ccc; +} +.upsms-auth-left p { + margin-bottom: 10px; +} +.upsms-auth-left p { + margin-bottom: 10px; +} +.mod-step-detail .step-tip { + border-top: 1px dotted #e5e5e5; + margin: 70px 0 140px; + width: 910px; +} +.mod-step-detail .m-t0 { + margin-top: 0; +} +.mod-step-detail .step-tip li { + font-family: , Arial, Helvetica, STHeiti; +} +.mod-step-detail .step-tip li { + margin-top: 12px; +} +.img-info { + padding-right: 5px; +} +.left { + float: left; +} +.hide { + display: none; +} +#foot { + text-align: center; + color: #7a77c8; + margin-top: 20px; + margin-bottom: 20px; +} +.mod-sub-list2 { + width: 163px; +} +.clearfix:after { + content: '\20'; + display: block; + height: 0; + clear: both; + visibility: hidden; + overflow: hidden; +} +.pass-input-focus { + border-color: #377bcb +} +.pass-input-error { + border: 1px solid #da1111 +} diff --git a/tamguo-mms/src/main/resources/static/css/reset.css b/tamguo-mms/src/main/resources/static/css/reset.css new file mode 100644 index 0000000..f296ea8 --- /dev/null +++ b/tamguo-mms/src/main/resources/static/css/reset.css @@ -0,0 +1,23 @@ +/* reset */ +html,body,h1,h2,h3,h4,h5,h6,div,dl,dt,dd,ul,ol,li,p,blockquote,pre,hr,figure,table,caption,th,td,form,fieldset,legend,input,button,textarea,menu{margin:0;padding:0;} +header,footer,section,article,aside,nav,hgroup,address,figure,figcaption,menu,details{display:block;} +table{border-collapse:collapse;border-spacing:0;} +caption,th{text-align:left;font-weight:normal;} +html,body,fieldset,img,iframe,abbr{border:0;} +i,cite,em,var,address,dfn{font-style:normal;} +[hidefocus],summary{outline:0;} +li{list-style:none;} +h1,h2,h3,h4,h5,h6,small{font-size:100%;} +sup,sub{font-size:83%;} +pre,code,kbd,samp{font-family:inherit;} +q:before,q:after{content:none;} +textarea{overflow:auto;resize:none;} +label,summary{cursor:default;} +a,button{cursor:pointer;} +h1,h2,h3,h4,h5,h6,em,strong,b{font-weight:bold;} +del,ins,u,s,a,a:hover{text-decoration:none;} +body,textarea,input,button,select,keygen,legend{font:12px/1.14 arial,\5b8b\4f53;color:#333;outline:0;} +body{background:#fff;} +a{color:#333;} +a:hover{color: #11a68d;} +body {height: 100%;font: 12px/1.333 "\5FAE\8F6F\96C5\9ED1","Hiragino Sans GB",arial,helvetica,clean;} \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/static/images/logo.png b/tamguo-mms/src/main/resources/static/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2660a7a7a9974e9b250644cb8bbbba929566aba5 GIT binary patch literal 8633 zcmds7^;cAH&|gH5Mg-|@5$R58R$2*(r5ov3x=Xqn7HNqE0bywrSU?(qr4g2nT?G+w ziFd#6fAPM*Jm;SK+%sop?#wfv`8@MpUsr>ah@J=l0FVMTRbK-DIKQ#a#RT}+H3!$_ z69B*p0IDh(29}(aYWbLrcf{X+j!IhVDWRZBYdNhmHsBCqj`9Xj9Gfynol%U@V;9ZE z27(DTxd%v!0@r7;R8i9e0=3|Z$kNVC)?eHvj;K`5d#i?T(YMwI)45&D_YVlzVjnC2 ze_LYNzi2pHE=9IeZ=0PXe;;8$Ru8atKFPNI%QjEXny@`OPN?LB$bX47e3+Y1A$qKh z0FlY!;?sAc#ftTZEu~FDnrp1xZbHia|Gv6WZ4WjAu=rVJ;V7W{N-(wXMd7UWC+M#} zdrS(7N6=fh1~A}eYkCw zTRRJ>L^yXYCM3eNRf??R@v+Z<6}ghovP=sB+i=3A2eLlc$vx{|Dg{fP<%1!NIAS`h zYV9I#cQgJ;D;I^)v`K-IrIH-na0RFt^SnFg+yAfIr33OHK0 zcmqB)L636hXS0*oV`^lb+za1&B9?<9RwnS~*4dd!_%5=BG1d`Fez)R~)MXXGDJb`< z5f^-zXwGT`fZBxR%(EFS;ze$|2XgR`n?Sj#tP5PizQ#<4`8ew z1F}ngOdt`ukk6Zup4TM}S2%;_Xy2fmw-^RL*~lRg_!+Bz1mRaT8<+}D>@ZKmLmT0U zkQdagPiCK__kMKuu=_P8T!87Xp^|RGixU`zc@p{d2__FHb&fmC^bL>$rjoBve7^G| z2YoFU6v~MrF@hPGp_36Y{!NPxNv`u{Bqc1QY$oQb^0&~MSU4gH?n8Fb8BFMztg}dP?tdPuh2*kllO+T!WPT_+HF;5z9<^8g>DDKc2Myz#E!f!!)O zO>@RLiln>aPm5HyxsFlep~_Q7qj5D6z-(%N(G)!cL;ZszBI&KFw%a|ws!hSQ-0S*| z9^j*qIq|!HXDE5}f?-~EH0r1=oIratv*6o&h}4ED>Q7hTse;LH32FFpmrtC{pX!`x z$f#4TocVLl`|Uqr)BvHu`~2m1y1=kdA@$eqw!CZ4*`@ zZ86aI$EaaqoTXTv0h4guy}Owd1cC}8`BYYV8-_eHclUH9afDx@Bo<%eI{HTzan zi5vBq`IZ^rI9q^J;1LxCWv9CaU}|ZH}m9VgU(OqY+E3t0D*C!x(_0z>yJ`0?c?tNM)-?C$)bMs z9F7abMYu-Vfe!2bk_~DAmNFQm@pA+heuo$3d$R6d8soPA#z?cf;AN;A7Ax|_9@wZvx%z^)Z0)a#%1P8MVR`2FLeF$LAKpNpqKY= z#>BtVx)5O2(i!bM>M-T9CY6X~_SoNgmp8w(M}~uOqWV>(EmwEaYW=lXa%t;CFH@rf z`%Edsq2cPqX=swKc!&-8)ZaaW*ejJQwKp@c=W(5IHKuACmJF3#VY9fZr->yWy!{!E zj=4vTx-Prxt|pv8WjOoh1>vn9zy26i9S9c3`jH69vONG{tO&Zsy$la1y*<7ap*I<& zeflrM?^a%#EunM9G?Qvi#`F~8*3Q6wDLD2+p#y8H(#iSheqn5X%;0cjfv58y1$&t? zfZiT##NvaI&BvFTD@6%I9gAW!v;m=jq6tHN6Lu{?w9X@`}Z9JjOW+m7hNq$zzN@CJYe{v$z9La0p>s43p?MuF=c}L zs9sD1qDZZ&kTPgYk&PriXiGzWfT=t6G8}jQ^xHE|`IpEYH>#_i`rqV=(KDSy!cKKp zEFW&2h2G0U95{&I)$@{(-kNGWf zhVb6t{UpU4M5v}Wg>V(xw1hJ4KNm9MDPHO8*?%S`xQQ!@w*3X6FQREsbR+Sg)_)*% z&^$@hG|A0NJz9Jq$+FmGYS9hTA#?{+(jmTFRTmIbFQ+OY$o}*O7i`g9Fmh+BrWv5Y z(coh6hqH1ey0~AD7BFai#;}<2_9m41DI_9E1V<8@7Nvg`%qb>A%-5`Kts`2lg(8|u zcD}5qMXpWh3Xzk1qkTFf^7H0zFK$3tF)ByzN=9kCeJN3z&l~!qd29XLI8=qd$h((l z!&dyA?(0;y>#dt<@tHK+!z5S+5bAqkQdqdZCKDOlzv(0+7W}zvWD<$)P`O?xa z;)EMz(1}@(t@n%W>@`(rdPu2BM)$%X3}*@B2N@qdt9B`0+gw`_w1b@3R}} zk9TfQI^Eg@tOjW#1T8e_io%%LxGb$C@1(_QZuKchl(WRZ?J6cDIkduqI;Rj5q4@A< z$#L-~-}~N!m-%Olf^F%!jRr+CdE4c;_}|cJ9FQzMt|Au3CTSO6`*@bb#ox&jNlL%d z9Uo|89nlxj1ALX@w6mKPM#=>Ms6RQ~GIpx#r|3SrJLXO;m^+KPd^6(U>CT#Bvvxgs zefB@!d%SPI!3(j*C}wlBnoV)^4ilSB^polf$;03<?4}@CS1$sip zVP1`vVtMiY0FU?1-;>D7lPJDPrgJUmZ``Cw$F;Oto3mfc9D~+lts{4S^6oyqX7F=Q zwWJoWcvF-wzWBw~St@+~*iVSR&u>*}&FS2t^rnD&=7;NSa-}QxUZL&XACFTX8ZV%I z+7T#};O&d3gAdY-Sapq3EjcrjE@3^ZcuWW3rAP@d>bWMp^MstcMXC9gg@zl5OJ(1!PnE=?H zXZ?oa^BJu^w&5NF;BN`@mkrnLuSO{$7G~8GaiEopvR+He6650Pc#?KxZ*doo{V8$` zTS*;6;~4CqKLfE?c((f#@GY>)x?Cc$HiT&{gDa*x_~gBJ2z4}$wPi@3#ebMKgl9IM z&%&R&Raf6U&hgQ4FiX(^&RaWFL!pwmJ<6X zuoS@X)>Ky4S~Z{RZ8uNz^o1b3w-U*W22Vke#oJVP=5oRG2N)LEU2i*@XyiJsP; zj#eo2%RZPC-<}WN<}STdesaux0flBGePPBYu}cUyLXcnFBC^MBcH}6#e8jCEA7mZ^ zTdrf32&gFN?y%H@qT@D9^(+ZE{xuE-50Io-N^LYW(wWjmhDwiP^J%WKg*u_DTY6@cV{fJjin%*-WSd>&u9Hu7&riD-f3{QleBi`nAzuT_f%>i$Gz-+ma6G^MEFypK< zk7c;phV(E8_vvcboO6>?W_ibTsJA#$ypLFQwI_KT|FF*O8&U1M^ZAvH#x-vuB=AN~ z6Y|w_b1|h;TSi!c0JTO2vSGAcn1z20P^|wlhSr=Xiad7j_{7?1myw`^=xg~fP>JcP zp-hs@6#oV)PAb@yDRMJOZn)xXc=$P06_El?FRnTApnm(ZK*piS@V8B6YL~JHe1;Pt z$;=H=8=3NU+$Wy$wisOtgEr3;5rom4>n43)D1X$$5{>P)t#=pQTT5^_qkrD9E07x? ziAd=RVM9~aG6^4s^gAAy7!ljDf&96zAU-+p)iKD zMsorNZ^g}1QS$FTKY87aCPh1z!Z$0hvZrNmv<@T$500;#KFtg%s)U)#hqoO_R){oS z%*>R#lmP7wWqGDPb&~kksPxj@0EVn~>!mijw3{58im0_+ME52;v=e|94iBJz6CzYK2em zjeoKysJ-3&vVQXdwWM!ap0%~)UD_qqRdf?@Nbk`0v$R?^wZYElds@NYQ&(~5&@9Ne z%;9wr%xcHF#Ui)Wmd6U-pUzOhQ|GSk%d#ehbXSHHdl%@Sl7P(BuPwiMyHS5lC61G^ zlc5wL60+UAfYwS;0}239g*$)0!v_-huH6|B9eBS>*$0?{D-utJ-{W}H`Ug>iFWsZMmFp4;0gVutx(;|t}4Jm6lFfdaTU(e6b9=CK<3ik39hc1z=qFzli| zc;z4(8@|033vM)DlN26bFc(JB|1Jc7F_KkySWI$ovb1Hfbcm6wIW>DUk{wFYy&uz4?Axf8OX1p5ryyqf-URIaYr5pu(5eW!LL3 z`ekZI1)l>eZQB75dqigtlM;Dt_D=6zeU7{chfGKhNa*dyc}cCq=v{@Blc&3sDu^ZK z_*4E)19W~SNqUSOO90QNQdanA%R+yUa4`+KwACdw;mcyqT^wq`XT#{(PB>J@G$3ja zl&Ip%LLZgRD~(fhuw72a!tVFv5qL;=irS>|ofAnTxu7$j7>UPLpTVamIok@d=%V&h z1*Z_Pxp^@ivtd|!?qwiz+wfsrOBzY;`ML06Jxmu~7&8*FY4+aW#XR18v(RBhP5^=% z17;S4q6 zgS!*SySD_%=5{=Q$D*QX$|=iVdy9?i@}3pd0Fx7AhTCT@3J#_nT6!|Fl@PQE1j2*< z%lnT#soXUlVF6y!(fc>iu^URV@V!2g>>Vy*u~6)x^xwbLFpJURNON~aMnSJKYt6QD zHWbof)vqg6Da|hOi!YB9`vcfcVM6WDgF=vhB*lc!CMc{QSJ5fj?^lo~rhxe95jiZ? z&91+}hslSPC%>n%l`g|ZSh1!w*#fl0M4}~V^gKYvi4(HaQuL?rOOul?U-s&I_3L$| zjh=CL_(oGhS9&iczWCnjLb>#@g0Ih=I7}Gvco%}`G8`&xxWF6xb!uvTk2$DC(5^K8 zsl-=7ffT~UT8kb8e_x=6V3sPnvVN&lHhBU@8YX$=F*AB)Ati(EuW3kn16~)It!9)K zy>jOhQmshFjDTYbtH@Xz$%8Li@hiPM-B27t)O9sKmFI+oVh%n$j$FZZ96uW4$c};s zMEglKjQ5D>-hjh5wUUC_dgkMTB$MI%lC`fagT&jPkO=X+TlvLFMt0?+0$9`e!A7Jn z*iZQ-f0)%6)5<#5&&>8VKC{RT$K{5Yt(Htwi4jGo4HVN}5vtE81*c5EM(5k8)~YnU zvPj-nT25t#Z{ccI1xdR9O&y}Sz)Kjz>m z+GktLMfL@AZ`mkG&{4Vl%Rl%aJI2V!s>X!!!?Q-<+jp_MvIjF? z&n#B?2!#{sXJ%g0M(9fpdG(QFR&I6^lT|j*KZ-~`^5KXWExxtVaPey-Xzn_@S&G=w z7z(?V{CG7nog9#DF*Eh%gZdXwi|_za zSHG>NxT0)9-fzape;cfA5_WOb2JHW?Eru^{?on61DOl<4e_HMIxD(5Z-M^m{2;8dg zM+UR3CZ%NnSpZmC$f)O~odVv7wo$#ucVFmR0-8I6M9&w81qrmD7B4&`QcbnLyg4@N zo+kE(90+R#pbuWGIy$87wy4Z}vO@^`EM90cN}PCe$OY5pYulCG+tDYRgUJM#NlOa4 z@uoxsCR2`_q9l@)Rwgc2kB!*&wQuDS82tf+&*7P}$0Zq{((AKbZ9|zJb*gD&d44m`m%ayIPJ$+X+=QzOd`fxA4D`M}8l>vr+x`~*`lWqMKH4! zmN>*R5VU*j6JrKm>TT(nW=w4X5G`svFR>}VJc2^7c&e!(Vg5x*5}B{*yo;gT?S>)0=B zAZxj$yi052YgOT z6TZxJg^y*y%=&P1;=}qzRlB7&h}TLn!B41Z_^@$&_35)RfajgXbow|yeVa3-z`=B8 ziPVe>8zJ=N-R0lR@qh$qDy1sT$DhOfj9as?)^n)Houq0Rn+~7QM-X8`j#?m{g$BYe zu(STguQ&ChRQ{oJHu}F-&7$x_lzq&gnlNYfX zBi$Hp$F*u@Q^)S;kswJ!<$$LnnfD>Q>KuP5sf(wPx04wuAXF0l>TK!W5;COj-`k;Z zKqAwY&Fkn+tenL@SIgzuEaKEaow`l$CHlSUZ3;ME1Vu9c>}JAkZ#cqc6lI>+3!;}5 zhJX5_kaR?-jyK>Mebh%AvNNvuwIT014_xn>XpCNK)$llUx-xzdD;@^OL!xn_Md)UF zBo8trEp7O+Eszs-aXdohEOK6o7cj@Mr9CLc`>}fR^D{z}?t_>m-w*Y~w!zzgCSy|^d!?|t)B%oEJ9DQ|KCWyV=ArX3lxc;cm~68sOBCjw+vB$vcu-vOKluPnIY8LV}S`!Au>~%3#=9X z9sa1KQ_VBtx@SN_7x@NYJmI43wCFVod&9Cq=dWYjc!;jNb@poe4}5K+ZcquzpOrvM{kv@scmMCzLi4X1mE2wUyG*(e=wqSRyMM;M2EJjy z>hP1kHYDQVi@Vx)qOM#BRQ7YtH=wH?0|T@g#WLPS-Cv77*tokSS~mdb{qf^VDjhCc z5~w>?_-t=z?USIa1eU#b#c!*6vqt}u$ubp~+QcMzANI2@^PbCgLO*2~sO~gvPb*r0%;15@r zayFZyqO{V*Ilb-8t9>y78Qv5tr0?LaIpgP;uUfYFQenME7<5T?0*!gX-BkoWZ(4^Z z_b@CWM0HgtZL{jk_btt1h`PyOK97u^zPDe~>f5Iph;8+ii_IjYHZ|@FonNlGw3pMz zZ9g=JSsxCGAE`KX;h$Icay>f|OfcOf<4vEQ^*XpXlZwekmuHxDqH6hJBGqzK^9lwq zHsIZT<=sjYLH?u9zq;o0`%!zHwO2>VUZmM~q?v!#hu2TTyd*VoHhKX+CcaD1(+FlJ zCJ;<^YZcM<421V!!9d;EGFgNbmYv12(K`0o$b4!d86lt884APeQ{M>>N$Ltl=TYBv zecQH`?G6St0COC%y8K8F^M{pIc9oG(C-fqFiyHR|mg{V=s@U4ESF^!8i`R z-?`9=qhD>$g3Wl-=(*o^J~#7u^S-mch@ri)gPoggEjV`sL;p0tT91%T>~I&yc4HeQ z{e=Cj7_=#8#QH*y>g?uKKGr1fZE|{6WzD78^6Z4Tr2?l^VZmQ}M;lZLY_Tpc@Y}J& z0e=6@0?6^Uq7!sAE!V~E$U>`xu~*A@;KSYR+2h--4VPhdPzmbx(@6ts?2VjPf-duu z88GxI*~=zIO#(KGawQ(}N5xZp=9L16f#aG_lr>rXy0Q~Autl(_MC~kNPgQr%CH8Ua zga2&80wCVhG^4PZuumJKn;V#5Pvx<`c>GeicUZDAQTjKOV{6z@u!P7VHbWLbDswIU zzZ8Jc!@i$nDWPiKRVRzu1Z;FFF}mRjHJ~N!Z4*xOol|(|qb!_A0r1ZMjiG}K*o`8T X)(XVVqLYLj$p8S=bXB3s*3th1b6cpI literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/logo_731bc32.png b/tamguo-mms/src/main/resources/static/images/logo_731bc32.png new file mode 100644 index 0000000000000000000000000000000000000000..00704a73abdd49fbd008e448a5a3c4cbcb3fe93a GIT binary patch literal 1553 zcmV+s2JZQZP)Wyr7RP^2qGmhl6IfnEMz5kiLF^Mmfn~tEc21D^1h!9*%n9u58i<0(Cy0E4VOECe zg_RQwdpo4`W>MdyoMaZ=8T9ZE2x1lAt5@~Di_oD%hYlS&bm-8bLx&E3E+iQp-;SuW z(bqY&hC`vg1jGQDO-E{7JJ?ppO|O zWem}>%^1cT&OkwdSy3V!_(S^l7;mW=fx@f+

xVs@G;06&w~Fs<>mL;p6aLk{ zroN#z|&4;~(i6%bblpo75upX%+?`@(XdX$l!Hgwa6AzAgX zbv@;hqaqK{qR+!R`m5i&>JXTKOzqp1{eke=&h2|%*3NxcO*Xsnfk8~|^_87zO@zr-s~PN@e!A+m_}WR)k+ z{G3zh^dWezqZ`!edh@X)^+44qc~<-jcpc8I*CsN&9%6$oqxqca!_chhf7hTlq{z*j z-gr9UWt_&hM@ZG1gj^_}(|3avgX$%!BQ}~tf1kGJK`_pe`QEub@CvN5vh@p72=4(k zN}yNT=mR-H}#DBD~`?;^V1(s-m@FO9sEE?!UM9owL4_)U~K zXSlI4CYCpru}q>9V6e%PD2BH-14NKh^Yh4&^a}BaL9EAs={#bDV%=7TdzLs|B?fID zPPHLx6QV6{CStm*UbP}25bh*&LQq`X;ki!B@ciDI6In5+oH6qx1vk^U+v`RHe?7QJ z>Y9=NmQ)|D?sU6Bg7C84YRW77uq0dWA`&_yrdzvwV6j^!>jh{1YU{q; zAmOl$=(vySh2Bv0CTYjy6yw7=C|Q!t#p^aMN4>D&y8n^c-8ud0pENtHIFiuk9N&)Y z-D#B2#opYn-f(<7Vs>}#8xvT1FO^o4U@v)k(@Nvo=p1{!U;XoDV^U+xBgARZAzl;M zR@6=3><*fC30b|O?mG!*&HK$3K|y%jq7F7@-W2duR-IjuRW2n?Kqd`2k>T7vc}?Aa zy_HVn9oWx7!U=UhZr4k)wTW=kVL2l&?LEjSef_s3S@qGcTW2|06%3L#4l6$FnTU&9 z|Fo7mw3?x|K}1XYy{hTS?(@KfOx}*RP&No^DcwOHuA_Fn_Y-@a_d7X9PznQ5LKRr_9GDBHe|pp^ZnLzh?~Z zpS;+zX1J_=L*S3c@$HDZAJUWgG?C`@`S_O~vbR48kJXSL0~0x+)lH4Dq#pdWzcTZ` z79kGDwCb(4j+z4jnpl_$K}Xo#c!pY zQTu2)lf~KO5HBLdDOeb%sc3{vQNcb_6T||2ZiImIWN=WP80F$MyiXi*++D@^TKgm-lkK+XpHSO`_@2IG>IVR$`G=h|XiI@eETc zm7FDy6X_ES8wdm}4Y%7t5DsHT#e(TjjjpOf6dIx~Ygk4quoQ(HD&i1LGTl9bqSa(o zqf#bPFvb)#hIP8EBUORPr?8Qk(IAtC1}f?zY20|16-whHIutO{ zGYCyqtC-3ojEp?eKxBjiCr4#fLM7wW4nCRW6RLp)RfLIXh$ae7S(bROKOFP;Igck6 zVOcij^SgYWus;?E_}pP{*cYgBqev_&P{mcQw8!nO%eAbaXe4qJ>hd&{26d!>og?#d z{ao0(dKIozKNojhE<=)Gtj7M;=;{`6k2S5?mMm((^C+uPr%O&KgUJ-?F*ww->tTy81P>)VIkHyv3nAAOv&fpTYdJ8nbh>**4N?nt7Wro<;RwE{`l?K-JENw{o^`H&Dndd6w0sW*1oxH zFMc;{_Sti`-p|*k53k&tjsF@r7Hqop?1S9B(Aht=bZuem1hWxObWk=s)e_;pY)L~G Pt=pT34M!h@$L9Y4)c9AP literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/account/icon-erro.png b/tamguo-mms/src/main/resources/static/images/member/account/icon-erro.png new file mode 100644 index 0000000000000000000000000000000000000000..84b5f32b77a6c6880a1d7fc3ab8607ae561786b4 GIT binary patch literal 2823 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 Z0|2~g1}nlSPA>oe002ovPDHLkV1ltqS*-v7 literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/footer/blogo.png b/tamguo-mms/src/main/resources/static/images/member/footer/blogo.png new file mode 100644 index 0000000000000000000000000000000000000000..3f6730a277bf673f8d2416e4ac154f992acfaaff GIT binary patch literal 5388 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 literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/footer/f-phone.png b/tamguo-mms/src/main/resources/static/images/member/footer/f-phone.png new file mode 100644 index 0000000000000000000000000000000000000000..38988f726bf9d09fdc1a26ad8906f5d18c63863d GIT binary patch literal 5718 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 W8$9Qt)9-FWMV25}%ii_fO#K7>KjNYQ literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/footer/f-weixin.png b/tamguo-mms/src/main/resources/static/images/member/footer/f-weixin.png new file mode 100644 index 0000000000000000000000000000000000000000..f053dab37493e2065150b5c1175f14150e621ca9 GIT binary patch literal 1395 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

RGUvmq&= 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


vs2kzI1KvXgTAK;l)u(WT&$e^_Y!-P! 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 J1H`Wt{|}{wpX>kt literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/VIp-logo.png b/tamguo-mms/src/main/resources/static/images/member/index/VIp-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..52e5497b820d3ffc2a80ede60ce064b2ae9b11b3 GIT binary patch literal 1616 zcmaJ>dr;GM9Pg$AK6(OBSgfT^P}GGsK!7$iNue_4dk(3d zC=WeFx84w(BIs^1@i9*42h1W#?FG6=w6$Fm4Cf!kKE zx=h6Lcw?NTC6!GzE>K!2y9oEmh}?E3hvxC(=enJ^HJ4z43?hqksK6(unn8fHslX*N zBV=@HiEJ{lkS0PU>K0gMX*#Rm%|?e2m~Wyh#PVtELF55Uj$o`b>10XD z0r(j449dl-K+e)(7wk@>@eQ$q83_~@GO-(XieV8Xw%dJv4M{VsnfTX?QKcEnY9}E! z6Aa~|tz14bWBgz)c5heY6XdK>E~H5=DR`cavbyYqgEi<>Aa^6Okv64NLckIfl?!bs zK?tQN1_{wjnN>(&ax?=&6$)L9 z91M#)tb|`T$>|=!qHo12wKRdV6m6lXJbx9KvMH8gvMDE^)%vn71LBOhm2~(HXZR8| z?6;1f$$Y{#kEZOvP^6XQC{}1-DJs!I5=5)Vd>&vBqC;gUh9MXxk@!3q#@a@S-UwFu zzgRJ6jM!Hu|0x^)5m$@8<(nqpHgDR9aB#gtb4^mhui3)my_;{)sV(k~qLf=nW%zr8 zswXv9x7+vF>wj=X?|xVr^&mZX$H^np=Xb5VwpgKgu2)2to7B2s*OZWG)*I2ItubUr znKnOQ8#`-S_*s?A$;RuaF5H$c8#ufE4s*3DzM0wI2Z5S^g+*&3s|Lp=qS^E32XEEy zD9IrX^im0D1$f7e)}w*xn>*8R=P@%qo;K5>lBo{Gx!I@KV?B^HU_cPIDwI8R!`&RA zMkBQwPfrTFfV^mI+z}jEUr`Y=ZE*ba?H^2=S>|2jJ%7J2s5$@M?#9%J$GK_*-S7ED zd2wHV+oM)eNEGZkZQCaZe|72cH`36c>YuC97XP$$aZXi8X6epbwW{LUA0M2Vye|4q zc-6h*tC^fp4chH*_V1Zukf1^004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv00000008+zyMF)x010qNS#tmY3labT3lag+-G2N400DtXL_t(Y$L*A{Ym;FR z#(!@TYr#c9>!7GODDG0|;N;lBwK#}>fQTKsb&BAkn}dscb#!l+ZXHB%vPeN%u|tYT z(b6`iKZibn5J=)D8GCR%@4esMbI09xFN_d%QT?K})bG)j`c-|d)<;d9OAG zag-tCcY$R<;2E$1bcs5^MWC6xxl+p8s@301g&&6ayot~JAfHB$^8;Y2r^1<>FNC1h z7kdQU$az);sHZDGfTdE(9_m^3<3IGes%)y4i~16HluA~CtI-zl378l#tCIQb1Gj)n zz&7w1xRdUzpzb8&leFq-?AI0M)lAH**!N?%Yv~)nTJTKpRE2-ybZ|1b9z3W42QkhE zyTh!qK=r=ZbHP8g3MBs}Ckajxj3+_&8R(3W_oz2PcXM}wyTM--2!Hm)YzHSAz&GF~ zu%NyGuIJ-5^){n7y2J5f2XIB51|G(?sB^&57~9h;i^pm7vAUris(b3L`de-1ZkV?F fVh+_UwF&SS+USK@b^`P<00000NkvXXu0mjf+y?D( literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/cv-01-01.png b/tamguo-mms/src/main/resources/static/images/member/index/cv-01-01.png new file mode 100644 index 0000000000000000000000000000000000000000..9f925891ea0c916e34c59c549ad840b9f33aae48 GIT binary patch literal 3876 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

F4Cl!Y3zN!DsF(oJ>ST@V>j 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 literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/face-xiao.png b/tamguo-mms/src/main/resources/static/images/member/index/face-xiao.png new file mode 100644 index 0000000000000000000000000000000000000000..2d1a4068d3dad2443d931637f169275c5b207cda GIT binary patch literal 1382 zcmeAS@N?(olHy`uVBq!ia0vp^(jd&i1|)m0dc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`YHVa+>11JM?CNZ2Xy|Hg;bv&$Xy)W-Zee0z zY;NiZ)9aF-T$-DjR|3v4~Pj*wm=R%;iu*SQ+p9GS^s}_ZWjXs<1J4Y$B>F! zXTm(anGHqeT?s5)`Qqr-M_u=}baXs&UHanU{-~qf0UJBCs{~%TMLTZs&~4f+w!Hg( zv$+79b()p&(F4b)@A3JhTA3fWC_83Z^6b3}3@&i8n0#N#vxgyFed1IVNfvJ3hBVXv zUP4WUj0^Ql!fsaZr!?%@DImW4($6VwH_KewD)Ukn?tA!k+J>1*88S0e?w4$^eS2AO zp0W9<#(+1CF;C7s{{fmF&uLhQ1d2gNt z-MlGda70)ys^wN^gIt1S?!&M*v8(n+{pu=`FAFPEZR7NFEKHF9YU_PpT7yf5DSKV* zvB_$=zls*jIb~zod+fjPua0$zaTmVEpF6%?F~E4jsxNEvjCaV3JbcD;>->~8j7iKZ z*l#uDEtvZ{?UuLo-N^2c{L~f^zttI744On!6a)T za4V4aZxHK2mJHb)401nCI+R~A|KM?v{YXyBnJH=|o&h)B7@VHy5xA;2K{U~P&Y#mJ z9W}x%FEqFw$uwwb&_*3W)tv8*=xA^-E!i&9eue%a5x$@`?m9g^+Rv_9pA vct|RrX>#N*TK1sfH%ngOm)$9U1QQshXHA*4^?%?oP|4@%>gTe~DWM4fM^5(* literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/icon.png b/tamguo-mms/src/main/resources/static/images/member/index/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a36d3c12683bf9e5c256975fb49ea1a611c6d395 GIT binary patch literal 26579 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 l0DGK&SzgAz9I$%ard{rAw$dIaZJGWS% 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 literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/inputko.png b/tamguo-mms/src/main/resources/static/images/member/index/inputko.png new file mode 100644 index 0000000000000000000000000000000000000000..07929a1f8a47ef3af8953c6ca3228f8003d5a7ea GIT binary patch literal 549 zcmV+=0^0qFP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv00000008+zyMF)x010qNS#tmY3labT3lag+-G2N400D_fL_t(Y$K91NYZPG+ zhM&1xun1aMq);sU0TIC%lAza#AZQ<}RCa>3g8_3pxy!=16P0&kUvoX`@qA9c$qnKzzg6KaFB6T zZUMYP9oQUCt7_`KNx`9h1m=L(zY)NgqicbjOe4m18hU7nQC zh+I9dZq&wYVNx?~WElY0(!L%M8-HnJwUsRDIrWJ;Xb`7rE6tlgy-<;No%3-htM|Vk zKf(V&esoHlCtIus%%r__8q5)~nP$IWv_)osRrL$wH&N4$OJF6>zfteE*r9FkY*bPo nsh`tXs)tiNW#)fX*8q+IsD%RrBue3H00000NkvXXu0mjfCIa8{ literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/paperm.png b/tamguo-mms/src/main/resources/static/images/member/index/paperm.png new file mode 100644 index 0000000000000000000000000000000000000000..5972781e9365d030f1277f3e47033a39ce621e3b GIT binary patch literal 554 zcmV+_0@eMAP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv00000008+zyMF)x010qNS#tmY3labT3lag+-G2N400E9kL_t(Y$L*FqFGNug zhM!p%A<-z1Efj)HG%7)@Q3#FSAW?~gAEDCe{R1>KDw54AWTT_fY@!s2{qT`jVJ>Uk zD|>hMs`hQ>PR=>=oS8}P8RHL0+5t9zF_NnSoCCXNR{9HaqR!|^(uBo8Hh}|oYrq9y zK&HuTs=y>L<$gXcn`6Jtv!q-LWeek+d7N_G4d2|B%Vnb(^|*a)GyY@9i35cXU{=y_8=ytEeL>8IJg~~=3wb5!$g^*@)HPrl zSaJUzNe@0igzr0&dLn sdSq1`Hpl0zoul=?#T~F|W`(H54;>zE4g_t8asU7T07*qoM6N<$f~_InT>t<8 literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/peneil.png b/tamguo-mms/src/main/resources/static/images/member/index/peneil.png new file mode 100644 index 0000000000000000000000000000000000000000..14b6d3a421a46a1b19b5b7c6f63a520fadd16e4b GIT binary patch literal 685 zcmV;e0#f~nP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv00000008+zyMF)x010qNS#tmY3labT3lag+-G2N400I$7L_t(Y$F-I_XcbWu zMb~~LF<>D?M0xlDQA7km5d<+H2-;etFwvwGzwv{hjZy3@;twUIg^HF|f`vpon}}$k zh=o5epae| z?F2qZx?sBtcmaF@)}&}(V*5&T7aK}$nzOdQ+OCKEZG+391z`-`Q37}@y3SAA%R>EI zsO^u%F|@ZJ@I=bm&DdUNd$sMppzE##YI`_i)BKBcW43oe@?4c!!(re?hU9qA-2n~* zQ>C2dIJE5pL3ci?tuO4<_URmlgOcut^PN$>RtReQBycqccrVJQ8U-yuZJz5gx%%&*IB0$Jk)9`uP7SgS@r-7Bg zCP_0zftgUCFC4!E6To|*F6mtvU>@`}un!oQG+h?d6jai)DnW5HZluXJFlHMIjZXL2 z?g6?gfX$QqN3TtTE{^hBZEzY#CnV$j+-6W5KNg(c1WfWG_}vCjEjWBEX%gT+oEuK` TLi+ri00000NkvXXu0mjfOJO0O literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/peoplem.png b/tamguo-mms/src/main/resources/static/images/member/index/peoplem.png new file mode 100644 index 0000000000000000000000000000000000000000..194177b958e9b7ec9cb06c215777de81a62683bc GIT binary patch literal 928 zcmV;R17G}!P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv00000008+zyMF)x010qNS#tmY3labT3lag+-G2N400RU`L_t(o!?l)KNET5T zhQIkU+6*iIP(!3H+BM9`q>E^Sunox|XrYY?s_TThF=(OaqPhyYNC=`Xq@qHit|W*` zEc&y>7AP|*icBk)(x;0V>GOCF|BTBA1BWxu`_4PxFy|bR5Cx0?wgZ*GJK#rfy#OkJ zbr#KXpdM%ht^zxNkzt+}CeS9}J;|#USfq6KEldNjWuSphS&Z9*4!m`Q+ZAYwf#*Q0 zg*n~dK!*&YC%`r!OEJ@c13u#o6xGRQlew0u* zmGE9jO)Bs`Sto!R#oP`XC=PTh;mimxvtQ|6JD7P!w=%*QuT+9W==S>BETBv2vmM+U z#jG*!$1IxhYHWR5S9zY-BqB{}YLWwesmAdzp*kG_!*ptlh@`2h-wrfgjoZT*=c?BJ zBEl*REK%BKn-)j|IwJpp_*+R&9gh&ITIsGim@|s`5al!MHvW)RAvA{#O_7BuHJH7j zLj?x4hQUE#tc9C`zbWgwU@$2_xxqY*6eutnN8e5LD{vV&0-OMg;_rdF zYJl{}p#sAN_*+KUY6M0Z9y<-D6Ij@vFtMN$pN&o=tH1aQ<38n8WH8;pC*YXt`JN@v z3=ydmky*yAXChK9B6aeAElU-VxgxSyL~;!NmWY&kp4WkYoY^WOg(5OsF^Pb2FVa8( z&}O{Zbzo_d&ZYqCfd_^*0gP7MRQyw@uAe}j%Q({r^at43k56A_JhaxrY@qi7+6u&N zW{(xr2F!^XNO_s-(OC8M23a&=zYdt788*Y#a!|{uWPVEd7k%5L>{TB6&3~& zxu~W}Vj_~SCc>SWqg9m}&v!6))VLrfy%)WYLlCN7jVC)8eT2!5iAbiJ_%;Ng+SEAH z!L+Dxj^H0jnt*dd5J-Rt_=mp+V6B6R0q27pW&Z#xv4BnZHGTpB0000%A_P)P000*V1^@s6{^R5m00004XF*Lt006O% z3;baP0000WV@Og>004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv00000008+zyMF)x010qNS#tmY3labT3lag+-G2N400Ev!L_t(Y$E}n-NE}fV zh0jC@=xPxZlr$1pSX{PC6R;9362u}J2sR-$Rw-0iL)s*TjkU5$nxsgh)^^%%DS`p* zb}NNM5E8S0pT*vR$CBBZeUl5rVR+}B@6F7cDgy*^Ane~Abt@%fcZ`*taQJx1~`e#h{WA^jK^obAT zq3O>UNYgaq18H=?;x^NaGIWFVnbu<<^$vee5KISRAmJ1I^?{U4=VBl)O)KiPfHCJE zSdQ@IfVz2>dWKlYBG9ss&p-hPfXBcJaOXW*fJeYF~4?zH^4-a@K?Yw z>FN|%2S&o&z`~~_l_cdI=82>;Ntcq&B~>N;Qu{Ool7=OXTTf0>R?@uF|69^(5Cppd zo;ka?2G)R_=QkX+*H(5iivp^4^Bu_eghv2BgcLc%$^Qj#Ks5mOXKZ+T=-zoeSl zLvF!2??KA&rlf+x;R(D?d1T}2C(^b07*qo IM6N<$f@G=Z)&Kwi literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/project-candidate.png b/tamguo-mms/src/main/resources/static/images/member/index/project-candidate.png new file mode 100644 index 0000000000000000000000000000000000000000..642307b521bff5e0f5dc60edb980ad3fbc9d3d32 GIT binary patch literal 9705 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 aK=^mMl4p%M>$ksYfV8-RSe1xT;Qs(}mDw8r literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/project-cnav.png b/tamguo-mms/src/main/resources/static/images/member/index/project-cnav.png new file mode 100644 index 0000000000000000000000000000000000000000..30b20450c84eb202f437787df5a43b6b238e61f7 GIT binary patch literal 936 zcmaJ=O^?z*7%q|!vvCtoCVDWF?!`pu7Yn5m>IPbHn^;1CWI1@Sv;#D3J9RqP!ckBD z4)6W}4}0;liNC|Bs`DFN$ky4h$b$`p&UOCE)X44u0}}+Qf>d^;ngnXHAXko6Reb~$NtQ%O z5oM(;tFWR#NdnuCXVHi^fqk>Hjm364Kch5)qL?I!kW>UrrlPEATBe~WWrirn%aA&0 zIgF2T1rx?9ego zqieta6pn|>2#I|Z;{|cq#Z8W~P!Ti;awsN4jL-8b_GXykc!ncj465MF4?Ud38?~vb1EVrvoqh4v(6y;c{w`#4Lk#kM#E&>$NoanL|%vB0BjP5{(dj@y?R@&x8IAlmn$+eVs@>6U2}fKdM8`%nwD*L zZI43M>x4D+$FHAL_8{(CW^j$^jrSTo`oBQyMyK#$q_O?{eA9i8( NcC2>SeAjyZ>JOA&AsPSx literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/project-cnavbj.jpg b/tamguo-mms/src/main/resources/static/images/member/index/project-cnavbj.jpg new file mode 100644 index 0000000000000000000000000000000000000000..60fe2135c15e9a8057c9c2a748e868ff9570db3e GIT binary patch literal 7336 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 literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/top-kaos.png b/tamguo-mms/src/main/resources/static/images/member/index/top-kaos.png new file mode 100644 index 0000000000000000000000000000000000000000..99a066e394a72d2540293fc11f4c99969a0937aa GIT binary patch literal 1608 zcmaJ>drT8|96vNp3aCS5Lne9@!NuD4`T}}V9P}s!DZ!SFhjUokYkQRT&i1e^%b0AP z=%Ne-6e}z~S|>gjMiK`)AAqna;8ro{*udy?5_zd?COTzT1l%8Em)!jx`FuX#*C)3< zEj4kTPp}UF0P~Whh@4svQE#O88`Kw>6Q4>gi^+scQh{qoi_(MwacVpl1(OU)Eh+f>uMm(F|Kf^a)*<+Iz0qbZ`Pf z>P7TdNoC5?KrwDYK>-V5s-Q>+jO4I5JbqME)GCk*aUeFtWplVpP87`J!Vm;bK6EOY zNv(n9h-5MrbrR8aBuT(*w#8y$S$Hhmq-Ar2LZL^4%VkmsrrBmBl~$(F95$tZpk|c` zBS;K4f*wU>E?z*2=v1b!N-z-9vPSb{o2Z7dtxAH;VL_gfrhqcp|3eLiX|$P?qp$P* zPhoSqjX>FQ)QlIHRMg-!VV+O~EHYuu({wnAn{_w=iWLGd12d{|i+KVq zlfg+wGpRJH&?H1er}!)kQ^OL05Q<9R@*y!dp2JCqjOWKg(Fl?tMmQ24Um}>|BDku+ zfEvjuuKG1sFeBGv1Oq`uMo<&B8C6S6xB;9f7{+GKg*&6(Bv(CiF1#7JY$_SHXRQAk z^VAjP9nW^!wA5kR_NbBax`{G%)usFZ0GM??35iR${xVp7ZS5lEk~VGoPJ6wJD|SJL zUlw;292-9{c;{Pjcle=`gKiPseQAD8^JCqo;_#3r%lq$+CVsgguLV5S@P{iSvm|S; zM%y2vja_C9vfZ*-_Kmby`n3IQ)w*?1KCvATLw#@)C$$rzBGayv14(M4hGUI3zR z*{~uPk;tOBKiR6)8Wx_syL;g=^XI97aDsvE-$(yf3N8S@hgdUa_*bwz2BAdPLhztgY#Ju{$y>MF+J# z$2zvrXpEg?YxrVaZR&TzT)eTxKcafia9*iT_?5XujQf?euZEP(8E(wQJ*0qiMKtOHY VZxuYnVc7F;PfAEd>f$$k_7Cs`X+8h| literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/index/top-kaos6.png b/tamguo-mms/src/main/resources/static/images/member/index/top-kaos6.png new file mode 100644 index 0000000000000000000000000000000000000000..51a6607b32d9ac7b7ac31d4f6c28360f15bb62d1 GIT binary patch literal 3427 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 FV1fljjR*h$ literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/loading_16.gif b/tamguo-mms/src/main/resources/static/images/member/loading_16.gif new file mode 100644 index 0000000000000000000000000000000000000000..28cb4464058ddff57b2b5693a06887d170c79a6b GIT binary patch literal 1818 zcmZ9LZBP@59mY4wZrI&y!fps}kzgW82rmh5!9u_t$c7{Yq`+wexi%nJxI+(UxbcwC z37G(i7a(}_h>RYnM^Btukec?KJ3PaSqV*^`r{`eDibEaG8AozV>p6DDF80HrUv_r( z%d@}#^Lq@1`mF340U!Ww1Hh|SuU@`<`TY6w_4V~<&z?Pb^5oH@M-Lx9ynp}x^78VX zJ9lo~y0y5tc>VhI`T6-kATT{WeevQ&zu$lU{P}a|&W(?ckByCuj*cEbe%$Bt4Gs=^ zy}e+1Rxr^u&mb z$0v^I7_44`KmZcN3G5hRVonlF0OD~UBO@3eyvYnX?5`%OIR6IzQT*p0AM6}HTrF0d zxm{g041WXv*S&rN_&O{9Ez(c`qe;y)X_juMYhm6S!FQN-eT@xaFT@w4ZU)nl#+^ev z2l#E`rF&PWijbse=d;l%lr!4B6bP20#!fgomfzWf_E2mN2Stu(xdi|B%mES{X8H2p zJZcz#&{0(zQPKj}f@DQp{H11QF(F~_0H(cr^?R@X%q3m?CtYV7s#n18*5gDX2Za?H%|V19F!HdGqu!y!DTqgKc0oy{g=|JO^E2(Hyp5{y*JyNJ=|`1V zKjm0ja>JQ%t1~}jd?cUw6s>e+osD%*tnL$cc#s)17|_lx<}2)Ko5`Zjn)VqC1v#om#do1^sDWbz}!Bw%=*hrA`tuQvDw@qU``M_ikDt?m!*2Mwo; zp4pzDbn>dFcI6~2+Ovk2uXX-jD za1}XOk`90jO-tw<89jOG{Y`{FYkGe}Q%sG~nr4e(WT0zOQpsa{Yz!E@M$VA?!wOfH zjpb&F1L7;x73qLknu^yjAF4HfVd7i{lVoy0P!KB$A%TtCLM)RG5{f_Y@ycqM0&Xq9 z9x^i#l+()QOrXsqJ1sR;C8az5x~qAMXsd`|xIq@s4251ZhhSgmB$-L|b+oChBJhuK z>U2>Th=0;Wd&){yH}R6>KOj{kEh@?fVs5t~896=r?q!z6Pv+c7fH_szZxU=Fi{}5jUJ(!j1b_3v-O# zbo}P&nu9KW?%JXZ9Vp&*`@(1InlZmbrQAY=kn)sLOc6&i<8qOx>|UcZw<0mKSe~or zWr&TkoHnxC5UI43ZMrrDz`*~fvYWoPQ5uEJef~@FdwQX1pZ0u3)F}$uo)E0VXY(%P z1)IfM{o_=@_+3|Vfp2*?`3uW_wn^KnA|;txc?wULmff&zJEe-zC3QH|l(`~IQMD-v z05~+_#!~j?jVwjtSig={ez!9G(@O<&L4kJfj^%wX>U7%>3-tvh;h#7=F(vs4?dwiq z9Dxh{aJ-ydHcF`zNl~gcGPb5vnf}|Y-6SmH+v7#Wsv{vE*eOD8eTqQNrG# zqi(52Q_M)!WXJqVd}F^Z8Rwkv-p0#M7aC5_IWC85%>L5$ z-+5Ze6WkN4j=;WF@_iKPq__fRD;y;jLe>zGNN@nDGJ|**tuMP1B21m3gtwD>yxW=& GT}KoRsIDjN1s%skZ)!+PB-d z*wq{8=|D-*^vPp&^nHD;Ltn$|Qsu`(JM?YuX0Z?YJhr2#bmd@pm*TT_2_2|wtpP)> zpP_3tVFw+V-m`uBsF+7LCmE}~(dk*4OOG$31#_th=T_!#M+e6}`Ox=k==&+O4<=4W z_iC=Qe%9vsVJ~at8G7n@_tWWYym99S`gphmeVL7^Yu>1jdTL38R>ABo&n#ZPnR)si z%nf}!4Sig;R}8MLTtH7ptD&!}+kX=pcV2c|Q(l)At!B@mClLda6IXr#V~(K4nAnf| zo@)uTxjyx4LqWcIWSW?&g;wCa#$RD)|dC=E^R}YKz%eM;eADc&4 zkC$uvNudL)ep@3`I}$PC1Mu5p-+iFV*7W?#X2YVX)x=iBR(-*txWsXP!PD)w)p*I6%iOi|w}90vTfd;dh5q%^$G4N#_lNuQkv}`CYKKxX#{*@*q-3El{f~Z* z(f&X8v^5|79UpwZfBdk8KK0)O*g>Hm(C7co+aUD){o|>B;}ZJ*+_!o4{PADMWAEd` z^y5R{PO!(lpTlW?(e=sc^-belem-=|e(tPqr84+ps%pC=?RNj)!}|yH<74XL_4a;o z=WoZxdg&|=#XxfiWfvC zKpF+;9>IOgr>y`nC@ZmM$Qxh${$q&P(vi`}{^ITE zkbm6K`r2HxIKA4rd3kv&WFxY=Jh}NUMCP?Y$Qs)_=~nyrdhZ?Zkqtr=m)D5d<$#Tg z#-b#m5(WG(h{vYVw-T7bmH9WYx^B*9^MgK4SXZwHe;CC+P zujycBX2mb61kr=u-rgA*86ZVVEUTOh&m-wKXMukFF0lx;S^u``-mm_b>N65T8%9bVLBJf zicCQ{aDdn)A(Ro|7UiX#;7X!(SOU}lj~fJjXI`}=FEQhWH9ug3BMN3+6?~z?1k2r~ z4_N_Vn*Z}e&W6K;DcjD<>q3BEyf;WPte4KM^}bO_N(9$HN=Fh;&l1Z3TnV1*P}wDp zJyYq%91e~|Te|NMOaeKCk0!G`n5dBx$$rbA(XIJhSQi*G^u|w&hFg;?+7s1Y)2661 zc@`ucIf9#Czw~Di!DG-4vuTW;d$F4>g&s>g3VvOQ;aK8zPxuWk#tn!7JdjL)dpBa# z2tgrODl3_h%Z+oyMn+_KP=_C2Ja{(l2M?C0?rZB37QiFRmB-VP7sr0(z(q#pEyWg; zX2s|FAlyF-v{S(OZ*-^jzuZM|JGe^paFN=jO{O|uSS81jEwTG>gv(h%q{}7q>kQac z(9)#`qtaN^94HCE;|S&fCrbK&q<>#v@IPn3i;l2r?%1ah;N%#o;znZoYWlJc;Hj_t z+Via&&ngwnd+E;J;0zy&Jd^jIQzVOJI;kB)Ic4-1(iN20cI;XcV?(wB8c=@@C>2Z}2$2rOzI=#KY2{X-C19;mN|1)L3SsW0 zO=KzFs`b>-Ln`@3N129d!y1~O{Dol#F-Qc^P8cLfwj}grR=tAX5=2nE_q+@oNsa|7 zgrh|w%2EZ^!6hW%I)C)hn-K$wP!YDo(d#f#Bce$DxYx}E3BaA!8RP^vz!pyOTbzW|h&6Vu0JeZ0{Z%tTc6&UO`|3Q_hw-m#ihIv( zQm|Bd>h_aqPbJaeI`wB4a8tRrjQFTR&`YEoYq>fDsQf4vlx%bTqo2>V=}$2r6s2De z6ExbRWl+povig_=HoPS)SEAu=6N=(YVMRYNWGQ@Q8DTg7j=VkdA|B2F*KDR93Y0JZ zL#~@-imN$e#Jp5Pfc!c30ax)ib0%V-GHd`|Fxtfpxuj7(Ifif!?YDJpX#rO0NElm! zQj3H~ig*W(A=6zr1c*%lY-PJ9gKQ1Ql{IP_Br3)Ww#JoYVv!7iRXu7f6mIUhh>kBv zmLVaPET!iXMcb)$YK1*v$Bsou^D3tbBN6eitVg%chapLFmigv`!J04x4p1E+KVZh4 z-mnfzHz|1&oI*qsecg7gWPY+@3EY)Daq^$+m3S00bS2Urg)}8TW_aPSV$zUU`C?SH zM&tw}e&#;euDi=+!aC4L_%+57I@wp(YSNZ|Z#tSdxn05&@47iI5?b0qnHk}Tciqrdcv)Q#d_zG`MNd_R4m}>bG*JJS zEQ8_R)fxRg79XZk$vi9e7B@M*QR^VGXh@}r1};|DdM0UI5l1p>2}U1hf({Li{?A=2 zOhkZV#bX^|B&q3w*4E}A9E&g^E;`)rkVv49$FH6tHp|JeBK3p`I>VgX0X5*aG#?9` zR*ZYgyQJBxa!EPa8yaHx7g@B}^oi`He{Q$zh%S za@=~LK*_+iGnsNJmI;PmKV|HqndAiaBLaVzCL*6nlxR}N!~TAbibmjoZgH3GJ>TpG z_a=-8QtObgn@yU<=&;B#O2x#+EtSZN^7)0cA)deMA^a9;3_%G+W%va*RwWe1V0|T{ z_cIK^k9XJahzN+_ZS2koU&CU8GKTyaZrW}8Ol*czp{zQa1noOY1`dB1f_VXn7$6ic zEkJsl0&rQ{m@Fv6pq)ZyWwe<5Q+x0uDzj-vUkC* zgr&w)+CJq#D#d6)A1%a24m9$tgf7U@7ASp3ch!^SPT0&H$JgzF1vrNfDj_)RVW7HP z>LnBxz!RZE z5BVS9Sd&TniP6L410p^}L(b+gg*93Tln_A#sE6i^C2;7%NDPG+b*?Qxs~oA|WDnI>O{R1aDGd)fw1*AFMzdL^pbJl6GEEdg&!`;xo$Io3S}W^fdjm zl0kLB1&kn?R7KjlRqt|bMhYOj$i7*fUu*gsCyXY8PDGWir0_TzKHxIVJ5@v-nL!g- zI>bQCzO_gPRzP29y?_tBu)&}f-T-~ALl@jMUR${wzMPH-V2ks@XKS%(E@E8b# zlqznHQld@S@}*#ZhHBs(gdlIHAX(eYFM-IaKm-va0hgSxz~$f%{ez{nqC^a(gb<|H zznYO2KU>wu{xqxE35%KEZ5L)4T1Qs~whqS!7u4ZbtGcLLJ$hD1aY}}xdY~jaNi?QymK(J?zL&$k?v$vndFJ`e<+Xn5w#$sB} z%|~MZ*df&t3r?I3aC~Sn6@5U$2$p|FR7#Q40{S^dEdkFr>rTnYaNh7Cf1N;{M|eCX zPbj*utC8%MT6LYg7)n-4+{jJ!1$W|T!S?=yaw$EcuCDph58qR=fRv(@QlUPU>j z6#OUjjAr0TgN1Blo2+vq_4K@dIuy49nYwXS>mjc>1i*C?Sqt)~a%{aKC9Z=xWg@}v zjnuVkH8EDR;AFhL5?Dzc$MYs?7mPgc1E0zg?;Jp!-m1R$elLY_XfTIH04Q~9jKr^LxQ@KKu zGb>aN4#i#V=AYxWF1!ibg)`mC(Qq;muEb~A(kBL-+I9w|BwnxsDsHxa5{?ZRfFqN1e5ePA7wj$n8QynaKn4_8~h{qX}v z>*}|93H8%}wCBj~-5MGW<~Y7wp)OfjM8xE3bqu8t?d4_vZt@%-jo84X6R<}qe-Z81 zF)Qe0n>PgRn9d4A);bn#Z2ztnN-a68LJqJKUcL_}z6ePM=#7`xZr1PG#pq8Sv)Ic7 z5j}s}g}JCTF_NPFcAPXLuPjTOvq`bsJ4l^h`fFiU`7dSvAT`-? zp5u8e_U!KCZ0i%`7E||oe0cn_mM2fBhga-GD51I@Zz@(1uID%lY`*xstpmRyFQA9X zfmGGq*GYafn;{&>6vCnF^B|5SXe6C|i~(>{inpt_`ZxGTLF#V*U}5QA=Z4^gL%G2f z()HIn@FpKIBvl8>>%g?bQ#j~z7q=cD`h6cWJ<=~K5l&Ys{_DQUcwt6+5&8@>Tcm2V zDx~?>GVDOZr@E+8`cSRnn$Pwq)Sf;$w`KoDD=VuW=WXH%iH#qH0$|i&Kj%b`_KaEK z>}Cq!c|(&PJvX-KYMQ8#Nnx}#k)&m-TdrU>rxp8)jNkP72j2^aNx=F>C$l@q?w9>G z`|C1#=7ud2%k;P4nTAuyw?wjYoh5gD5zM@{7~Aq!`^A9P9u4^zi#WDFgk3lE?KN7R zm0)uVW$GGI!={#k$jOz2PpnHlRM#hSpn>SlHqBtWZ8iy0h128DfkUbPJ-b9daQ$6v zFgEJ)+6u;Kq&=c)`x-`HlfQy48Ey3X?t+4;`z3Ee7x>Sm_V!X z1D`7j>?0?#z_5ZVQuodDmxNqE@gC+;gj`W;VrSoO;pe;!))HB$^@Wf*bTF7!Nao z%W4L}le5Z6j1#7Ue67Xfgto?t=R0sjmCd9qQuvF@vrbKnIZCEuY;@`!XXm(cqxJyi zPsZ&_RUzC+pplf{SzP*vww(ihSNA&K^z*&;&6@;4VGauX6Nv}@v6hM~+AR3-clgLJr zGShAIB(x&WJ*PNKuR971ul+vZFuL;pc(fDU0jNN;m31-KbDb}I`oF~qRhKFA^1)hL z&EA3jZ8xU@93QF$*4<~TbxYK@P*-kZ#*)ArvkhN9yKP_isOFnF#&x+QNBfJ84R_o# z@^&#(4_Zy4ecP`9rtNBg^|qo`Gzd+Bf7hyB20xJlQSK};+}2cMmz2UF%Q8Vr`+CTfHrQ^*4kTbFdR`QaPI*9@Enoyg6%0V2tBi;`!ge)fk3w zyi_EAZXvSs%cz_tri?EF#+Pz2cxFLY5*v{+k5L+LUAU?&C* zT`A^b=_(g44x{!%m#yt0J{O9|4<$9%f?k3})dBGMjwxRrvKGy4*f!buKcMU~9tuhs z2U2R9u0F5N>3k zlI*VFOlTwrouu$E#J7KLq`(_BC`;&OiPbZbx(Q`^#4D2?Qv1aQl3S#1AA-~G%2r-L z{fip`A<(TORkz3cZw?kf=OeJDt}38G#tPKq)tYPlXFUqN(`mhefs)bw`jLkV0|UgJ z7M#To`Vt!R+w2>!O+jTG+_8&ykLTI;6e@x9yZNb(c>^Iwjl2HN=hp`#f??RY#tXcW z&mb|4A(CoRRg|^*v_=VaWf_pe_yhEdO9|L-J^p_Gb;Iv=_w|Em3ss~wTLn1o=Ql@A z@#CZ+Ajex)HW>&Z70Awf-fGTk;3~5GJIAsWP8zG;G`fEikGUxWtXql3s|2#-! z;y^K03`b~V{R<+bNa;HBa$gH&iodA05wQ=u)I-*#I0SWJA&au>c5;}q z{dSwGC2`7|vlUv51{f#C>^ze`U8Ld=9#!3U#UtVYnppWM@x5ndXIEX@KQ4w@%5dsg zi^q}un2(DSdtmcj^JZhIRq<>wbQ6s$Ke5mS1|<`vfQh%GDws^ZS~RB2O=Jr-0;<>J zdU#2Wg5ZSGNV-QjIKOdHz9xha6=i*G+v?lk06FitbUI)}fz!8XCqns+j5JoSBFrp{ z9U&@E_R+t~jb?qvSm~-ASx$rh;5roV29LgV0Kh6s@n~_U;`Unu%~?QTj0**0*3nGz z9HvEzuch*5H0mX!L_7Rf8qM*wuwyg0+->fmpW`?Hx)gBwR+NEs zL%RuHI|B6P)E!+vWk0oeF!e4a;aqmp*!D1TthA#8pniat#Cd6-FEnxjJfE~sOZm{@ z%hlM zF!}y@(1B~ym(_Y859LK(TzX(LQlD{(#R-AUGber(85KL6*mjuO*X;h9Ku3?-wLBRX zzzd=C9Hw+x!54cvpK=o6Ophy%3llCag&uofLQm6uePLr6L#jsQu`g!_S?kfdz=~cp zV2u`3hNI~DYT~sjh}1);#zV+XG+YvRcWcyRhrM6fkf9bT>OXw?!!P3Fn)Ww%=C2oX zL+sXF?OtLTMMvta8s;ZpJQgO=9jWn5-#t2Ls{V5SRlMtR|7TE^bOAXn&w$R?yN5+f z!P-}}TA=TFbFHX2y0RuaU-g>76#9z%w1lS*#>?beJQILez-s3tb(szL}O&|E|39w8)%H~xicu~T*7La zAp=WR;N6?0tEnaPo?TufyaRW93byj>@n`EUM-1rkHxQF&+X0J z;J-602a^&m$4?Khy4q8e98!52EN)z3fx$Gt8i*p6l6ZdfoIOv3YxnaRcHSE2StjcveAxTNkhQgbzwuYNHxv} zFr6`b3+f~odu+MB2tVJr!n=@BHy(u4fMs^$GMcRlXOUKdjw zdB#}`-Qv5YStc6ZA0(rg1{yAa0$@(fZ!oBml99h6Qe|K;PQ}%7iimu%xH<<{7xQ70mPa)|t{HH1m zlZ4j7&)MZqbiP;XPNC79ecOpzOAt3FDWhjKIxY~Q>aUu?=dVTr8Pu_FcVbCEFX145 zq8Ugu@nW3}sf0+)2Zi<0!k>anqE_VnC%9BGicjYWyjjBlC0$@sv@F}Y!A}#&p6)SHPe*CvsPt}mh6UO(<%=d=?V4lsu>9sxG zw?8N^w(6mW&n%l_HHpd2tMx$oW+wE`+ieLm36!%!lM{fPh|)qQFU5)IWx~xo5$%ws){yd zsc3cY77{RKYN+w;y=`6=(62G^jmrCk-ohkZGSYsA+tt_-X?_l;IjJuE`_{`J%N9P( z2bKmOUSILpX14Z1F#j3(E=2#>8Q`sU8d z4Mv~CM^!t-4fk5gJy=(>>nHir@c+e>b@)=lNYZcgsd_tO`$fbF+?y+wu%l~#>&~Ej z1=e$#wwMhp6S0iQ==l6vQ`F1neQ%Up!WM3KTzGKr9vKEM+S@Rym7}tqO&&B}YdoC( zZGLq+B<6c!{z~3Mo@8nBaUGX8C3u)@;i1iLZ2i;QkBDn+s!SvmLlVzhZ zj+SVL|0OSzcht~WL!UHpIX>elV-Ni|#wl#*)9VjH{IP`k5 zR_0sqYI~-SX0lQ0`3c2lh6vja<)@bLqH79Z6Yn}ibGxw7+cDcW*|NO($8Ue9>K>Bd zu1XUbP=EW{H7qUrU87a86x)9gH|^)Lytejac-)20<3;F?O{04I#qLc5T#rl#Xk>M1 zZLyQJqvLsQTcUWf!mAvSVmT3qId@iuy+HWz8izbZ(CwUM>t;Bw4VR2wsY-S46quMC z&B{AU6Bxe$MoH3zhCo>vw&th_+)>)vXp8g&F>H8PPv(tO?O#N8{~d{T9Xw_7P2DBb zc21}C{;B`El{VpCkmAwLR_oV@hNl;1!BS3E&0YAR(1}#@j^6%5e3n))I!&A+w<)b= zK4dO-38dQP)C1SoW}DDJ9tf8_=h{j6R(2T?sgw^iRg7Rex$0gV7}g!O(7-Ui#2Quk zvAf;m@yf=TtK56rkYeP}AGXvlXE(ra9X@R2|CPsp=6e(y=Mxpt`|>E023a?0&`u=U zmoPj@{x|;w+<06i1egS1b*f0=Bl{X!?f|mx99}#BfUoTRwZtRWY83XVLG3^{QeDk^ zDI>zHZhO(To^De~b+scTRji(mzS0ZjqIH~^EK_qlsK*L>*6#HS5tWTRaca;Rg#* zX0Gcr9aJjp&x^U*Y28$9rf!5{zr*~9G%v{D!RZbPk!;A=0G^4Cn=fs-h_Ways;jc_ z%KjJs;62rL53S1ly(=Yh1^Jt}d+(1`en4|GgQ31g+>OPVa_#{yoZhtIg>RZxQg?O%F0AekBn(aU+m4E%}#y;Vz z-8?}Wt{@Q6jj<%5j9_sOrBe56x@Wwe5f!8QHe870cskdvyY}2gt42G=#MivG69jGp zNn?p=XU4_k>0NWzV9DRrA>dAFUqH#F3}DRntLDUK!-sX5=+lwCdAtoVsR-pbH&T=u zw}e2=xr;xoH6WIsCzIvM612kvn^2WJDi;b?v%3D7QaVCiX}Ic?DIR!SB7$0)OvYr3 z8)dc6HBq&qF0gV^>Tc_FHWy=en8(_a$ELf5C(b>`Uy6OV|E=Y?4A9h|Tz>o} zPU|Pm%@hd`50p|uQ$m}8Yvs%pu83=yvF%TlqN|Vlf9W`YXNW4}tJr9Ztb5qp6F#-8aVkl^-@UqMmpwF;F7?CdhqSUBcH%!F#kL1qB% z5Z@!ft4E$zdmXoeFAl=?Ntk04ok%evufpD*`rtnm*fRiK-5;m|>S$eeX$8L&`Ex1&KzsMm@!B9c{a zUTe>SBOXN}i*HFeSQ+|#ax6#WhdJ*Ihels;NoD3YBh#j}O{GC)-J*Xb?}r-!+|l-g zqS)1LBK>BV6Z#J}t;AkjJyw7b_m+rMRx7wW6e= zz2K?+$ECh1+-al!l+uTMVa-9*<~9h%nC(#hJgob`*ud`b0+7&k`+#vB<8}V?VX74# zZuZy#>vQ@bh^$dN z<8`WiM-&3)RJ~YQ)#IK)$B~Wt2#51rMfaQ4JcoZjf@tSbJ!|E?a?j%P^u zhDMyr2c2wyKz&@x4pmX=b3Sx#;z`&y|W!u zw?}wUtThJ{08Tz?%6fK^4EQ`v+x8G1Cm$FtnwP}`-hN2lQX4W&;}muKep>#rz@}l) zZB!z*`xQ7ss$8%kbo_@Z23q`5wCWu2{*JU60KH#zhBEutM&rIjN1lZlh$Udu-sx~S zMA+cXlf7t|w%Jmd1$k|Cx3I6HB=HebP39@1d=BsJ>_nb;%iy`C0KZiNh)cdNvY3l? zi24fLJ=Pvy)_$Ba`GSP0hZrOlxwvvt+QcJmi00?tRVC;j#9SbqjhFZA))E)vYa(T( zQzqU~a7(T)Zd8$Rl*29)(B(4|-~l^w-gu1U`SzhQ9^FL>2M|rqLeqw8 z?dA2f$WtET-hkGg@h@ZJW!ZhmTXd)AyZJ*)n^OB#6w3uu-ab3My+gK$E{M;q5+vXY zyq^Ck@VIkLg-UK&sIU&!5T6Vl7&AHwz@j6oS7>IQC z=ukk<&JbFj$R9UcA-@(Spt0c_heBy!-lLUWh=bDJjnCsG zzcxX?dA)#-#vW!`0RbIFUcH;IuW>{b^RAhK%z6CIZ`#6X;GLXR{ff#LFMC=tNi<1% zMsXOr>;IBCHzRaMWrUx>`&fa5@kG6K{;V*bV`%oamVTwpd2@3485=dZeWkm@uL*+w zZ(drOUv+DeC|8$2$FFPxpF~Rs97&?k?|k^F#aj9RNe+_b$3^nz4K-86$)ei zK$ZU&rslV-#HLz4r$APEWA?Iq@|iZzf5|hhfx_dHlNll+B0@q!B7q+s9_9P!yIZ|c zk+(y&`SE(f%0RNjj|^}i2Z8LT??X)J00bfBN6pSSF}yJonb=N1ADd%^*&c}xahHGtpe=@O@a~k5yG_L9>`bF1vLs6KllO8kqaXZ zgNZM%`@N8fJ#lPbxYcL0pw{H$-Qa6lT}M=JLhMGaVSk&AV5c%=zGQ@|+f)?HBH}?4 zDf zS}L*rbi&@?z6J>|IW!~3VB%*J@iW`hO0ss+*qNIfPZ?BuVAzbcH}&qC&`$-q!J0}6 zRnx%ej5hu%?}J$+V#MAB5u-a9=phAr@dOA}NTbS}=gbs>z`ZgHP$?(hc0CEmM@7lYAKOjd4NZ!JIS4{vc&q z0q+;~L)tr6Sxeo3rZk-DZ~4`h^4EcgHDnGPkco3Q%y##mPA5JtMTdpBsHiezkFWp52_Cn5jsw9=SD~U78)E6%*Zt&^m6M+kF-#vfTZCH(p-;8&`B# z9if~3AIJabJ>G!q<{Xj&KHNg`1g3|r`_s^`QwO<;|KzKRc`(uqb<$L?~sHH89>dBzmPWNoXuyyFpnj6 zBNS0f)sm&9tH(KlGb%0+GttSX0NLE6LL!~G+C<#c-$lE zT2>Q@TlwrRSduxF>1H0>inlj)`F-T*m`3F0ezdPT`M&*K^$#!Yyeq#PcXd`SNn&T~ z-G&P*Dhnzc#wpuJO)F?B=jj0JvZo=zW*A^*{A^^N>e`QCEA^kQBfk*y1B170zw74Aoy@4TUgCtkSoM6WS1 zNx#Dxt756o;bLDa2ooqZK5JaY+rGWTR!u5xS4QiV<6lk^ukHH@VP-Zh?$8wKw-O{I z*+4slo48FlN(FzoH`F2oQRW^pxFizzk86Y!B#T2-49n}JjT1H)qdeFAPUoY&;|VQS0;9*%qH?3{ImjF zu{{FgKWX8L`DKa0*i9d&U%R320o@C8vWs)nr`hoqTx*lO_$Gdv7u=q>Wdc|rvF?A3 zD181K19lWfMy?h557u@9y)feg>;M_|KDNSgz3S9(?LXUC@ZvDl?cA$Q~i{gZ<5Y1l=zE!5s4FND3oA+;+sKXW=tLYEL^ z`aru4S(u8Qfk-?bvBotxuVycI>}K*^(&gZr69?A0$1xefx$o~SS<$|jgwBMr{G$JT zkFLU}1i!99e}Udb>4&DsF45t~o_-knUA-V}2T)&h`)thP!4@0M8nErvQiyt8$?{av z!XTPbc7TTvbma>=B;}LCc{vYXf`=xMqIFnxK%i?z`YsW#!pb5z+0*vwS%V)!<}18c zX+%B4Kgv2^FWMxdJ(KGIG9{j>B3-=9M&r9=bnt}LtI2OSG znOEDx$(&E#j<=|maX=`(EYkottzD4+jQ?4 zJEl8$mS;e1b%Y;NhovNknIj%2E2`bco73_ov8_rv^J;=LBBV z?6~I8NCBFD=!6CKxb&cs?fVh9U7GMKrRb2??0BF&iU`3dZ_XXVRq=GxDQrNL$0sJ) zRM;6~7e;pb-sNRWQ(5)D4*25K^dv^zi*ou2!|z8oQZNewDa%r`DhN@MHrys6a&W$c z{(hTY=8G!X-#Ax$Xl#Q4*ehGN@UH2Y)(Pk=%?`%p7XB4S zzU`?y8o`1CG-SzR=ulv=4Oqz*XN?@nj#KapkfQ~+X^t!ev}k*mUs7jJv^4wb@N^K$1j z*FhWHmM5w5*s@-lQv_Hl9AZPAZ6lRLsN?1*HONe~h*j??n4beee1V8u6BM~f6=Q6f zw8AL#h}k2~XXt57>tgPY=1$k{G|p%$oBpfKj$4Bj5Qj|6Ntqw(VH7m**X~y^8h)Kh z8(n1#NJm~yZr1k_XK!F~k}Yv*(;Qu@58-lHzKl~#Stq5cARe2zqJD=hW{JOAND&NE zHz%4&YR!$IZRN=(OdH`!Tjj8=`epEit;`MD;wYs>WYDiUn8EvZLr=#;dqFZA59c=@ z1A#HifR9ZqJV9Eo13>Z11SF;?nb?J*ux?0AI+A9fC(z-RKvIQ$6BpP;vhSNAE-P{i9K5k zc3CaD%*8G=17T&(A}0T2`Doq#pj!@UgsQAJw_-az>7_dpvw^3XS=Z$cFL6?&GVVtd zkhne4y6RB6rY65qQIZ&fCD9MloQeoYR?Hk&Er0YwsC$*9zg3YluXCGo#s~p9xfTx6 zhN`gQ^5v}4^pC8EHfo0G>GeZ~Rj3~J6GM0bSN!C;;+@I-94o#tbsTF;WIp^Z%BH4gd(n{va>UzY2-hIDCJRppA{XQWSUn#+skSViJ&rhWFFj4)_1g1vE1vU9~z%FMjk*s zwCGWaP8fyel2bkDi_*K^2Kyo%F>=7GURv z7mVR*FWV~R+8LviO)7mN*9E_y3}0af&cXM)C?2_8je3KcD@Xv)4GsP6RM4}7QEd9g z5ex<4FcW3|9nUi(N5#u12I3CP!B?}EvIv@}gZvHsR~4y^_m+D16=R=ER?W>>rxO=O zr^Wj!*CS&aV12VGP!za?x=|`B(j7~hKW+&v$kHrAzKMu+H@TAuE1p^g zVX$H@FYWbUV+PRR;9O`zr%j%^tY-SsXJ+0CwLVeXqN3c~qJ9o9cW-ZRGq>vY z+Yb5l$i>K%5o@V=66@iS32fwPJVLSPaSkk*n60pAt(@hNc3(sEH}`s^)k}LCiD;bT zdb)GDVj<=HSI|@ox#s5hHGWQG!%HzCPHa6BkT{}w1-mdJQHINda1A!liL#*@BVXj3 zwl*&XC@FyeZIMbaP!L%m19iB9@Vh8xl?j*=H~n_zZKbf#V)(Cvojn=J_J=|@E@)f9 zkn4lQH=5~?|*7K Om@jf_vNh7C!T$&QDF{;l literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/loginlogo.gif b/tamguo-mms/src/main/resources/static/images/member/loginlogo.gif new file mode 100644 index 0000000000000000000000000000000000000000..21530b747e723b36b61299dc525f49ebcd1ed1c2 GIT binary patch literal 2550 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 InpU#nA4X|PEdT%j literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/loginlogo.png b/tamguo-mms/src/main/resources/static/images/member/loginlogo.png new file mode 100644 index 0000000000000000000000000000000000000000..4a9556c8e4697c53583a7c4876ff02e9d8cdd65e GIT binary patch literal 3314 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 LYK^Wo_K5p8!0PXr literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/member/pass_login_icons.png b/tamguo-mms/src/main/resources/static/images/member/pass_login_icons.png new file mode 100644 index 0000000000000000000000000000000000000000..a245a2b3aca111f94281efb1a7bc8843ea86afe8 GIT binary patch literal 14278 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%0DSec<>qYctN?l<@XzWPqRoc`5Tycm=QkK*u8k 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 Xa;g$XetlU4D!e^i{an^LB{Ts5t4UYK literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/password/button_icon.png b/tamguo-mms/src/main/resources/static/images/password/button_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6f9cc3e3b6c154c4e88e0a7e105e294d41af4709 GIT binary patch literal 743 zcmeAS@N?(olHy`uVBq!ia0vp^xj_7wgBeKfn3Ht|NJ*BsMwA5SrL#V^<8uByx`Pv)^qAZ_ldV%x-WW7d+6MC(P!p!*WN20lkd9pT=t&v#B=gJm+njd z|NsB-f8V`(_w?yg?-@_uzkmPs?b}zcUY$C1%DLn0n>TM>ym;~a`SaJWUq5^H z%&Gm%%a<>Ky4<#Y-3D~OO-YbnFpx_wVA$R9dN~6FW22{wV@SoVH#gkFS`tKD61UvG za?I?x%)u6k+kfACFIdJWQK0u}&F;p0rssQpO>WXYJ1NN}^hxH*xz3`89apLbeBA23 z;>Ru1DO)U8=xq_z$b21eY1zVE7yK43(RKE;Zkn`>T{TzG>y}7J&099FTRb7+w^XNW zsRXJGT@m$IYpaQT(9~`%Z}yO)rKwEq782v}J9wB9t1+UgEBI5A*`}!rgT( zglRF0ZtMe-nJm!{V^#D6Y%bfE#U&D#HO6I$GiFmv7C!hvmyvZ!95#}6Pl2+1Ab!}B z+&$0#x!>>q{=W}9+Fz@y*-?WaNL?`C3&Xt@J}*>T;QP*%YkT3g-SkJzF16Q8@;X3T zL^TG`pv?DyFyO_Z!E2xiK`IBONYspmUgrc=w(%v5EhTG^jUY{)l*SAFz(ix9Pg2}i z?z>qGl|(nz&4kF1<^^#nFsy^F;r56y+%K>q<~e{ir8uZS1}2ZDOj4!4p7F%-~vfGP#0^X7|PK|?L+M(MH3`VP&7{2Ig;fl23=bi zw5E%_T-evPW(!JgEN+?_M-a(m(w3xcs@_LXEXxw4ov_<+h`@~@#pF}CV(cnw@Bu^6 zCC!vn1ubdhV`{>5W6;yp5M(VBT34(XYl(s>BT~FZP&Sf~ehC8TBuqgb1PZbg}P|TpujlnNAQ4%?)lZ-Vo0N|`Z z(zug#@OUFDh&T{?MVfVxF{eP5^=!y*W8iWzWQ)sBQGTY?PusozRxiu6dTFnVEpvm4 zVe*Oq%C@DF?NzShsa(#h1Kw2ih^h{hyPzYknyL|3HPq`xt=*C$s!3x{sY0s(`+zRJ z3&b{EmC=Y zr*Fzvuo+9o^(lbD`WyiT4v!9}q*k47K#&Sg(AN@4-H9zP<>qtqvvap^Z__GYo*et* z*2SawhgBhq)zWZ6FBFT#-)~-c=6TylVL9)qMdm)Wy?yK>ve_yo;;*LDThDE&O=p(= z{Oyxdr$+J*r!pC=zP|qZkoFuw5FOdOSI4v2?8!ruR?DS^`0<&Ug~fZ+)oaR2pa+^Irzg5${bpH`yo;X`EIW~W^ur+Y-oS$q?S0JA)Y&tO5xg%TpTLt~? KzAszfIra~w70}rL literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/password/form_input_261.png b/tamguo-mms/src/main/resources/static/images/password/form_input_261.png new file mode 100644 index 0000000000000000000000000000000000000000..f916d7c7abe33855ba41633093987d3cb3572765 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0y~yU}Ocd$cke;_4U;u=vBoS#-wo>-L1;Fyx1 zl&avFo0y&&l$w}QS$Hzl2BbE?C&cyDt5=U7KmPLN%e!~)e*XOV|NsAjBC9;0tfQxk zV@SoVHy0ck84NgB78GawKb8HETWNyVDSr z1<%~X^wgl##FWaylc_cg49pAxJ|V9E{{4IR?%mffU*5fa^Y`!HUq65T`t=KF!YCLG zfsqgb3!3XE0sSfI>EaktaVseyC1J5qN-)78&q Iol`;+0JQ2imjD0& literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/password/logo.gif b/tamguo-mms/src/main/resources/static/images/password/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..aa4840a64844371ea93fd0b157dc492ac026a267 GIT binary patch literal 2900 zcmcK1i$9YK1Hkd;nO&YS>oJ+d)W$GEa}B8;n=-j1Il1IAlAP+4l#*_{P!lq@TXT?(SZmo%>{O+0nW5?%lgl<+8Q4vZJG;q--8Rkfn}iN-7i- z6f}P|XKrq8Dq#1&vvbQsgDjSEbadI3{b_V`H1Yh*LS8PP&-eEBR;g6AwY8q!aA$IXPoHts%E}J!PXWOb--iYhFU(E__yz8r zEG=6&eST&>Gb8Tg48k5;o}JCg`EvaD@$ZBG2??7B44&-hTx@Dy3=N+gcd*LLo?FPv z2??KEng8PH{V61D(v|aRK1(t`|8LX7#klzCFPRxX7J&al^d&S10Q-Jm{OErs08Yi< zClny=b*M zYFQHA3|(TXSuJmEd#uRE6VV-Nvb9P2)GnDC760V*o44;OTyS+Sae99W&FXOP-^2am z6O&WIweMveN@Jl$NnMw6%jbVrRFziIylWQiE4?kL zKTH$2lQ@^t8dCE*qHr4}V+~&0m^7MuXK`Z{cgs=P+5$K(D}af!6R9WX@&ueS9S(&f zEanbb5w1}4+K!*JNt#_TecC73!A@&MSqXjaa2tV$jbei zoKDc7Rsn@RxM_=O~l8~joN#0zXU!{4APlfO#KrGuYyWQq0HmO zYA5iut;mOwg_BqabUO*8-y^I2TAo`e%& z8?6hfNr~iH?QS&VcN#r8iz%UBLLwavfpsx$D2d3ire6h884lv_v)W z#)}e8nB#B;H7lWnhDWa{&pV)wN8oHPM-KqAI+71cPVnW|5|jnE=!8Lj%5^@fUqIg= zZ5%40l2h0wGI z-1FsvVBf)s%6f97D;i8g#9%}JL2k9;gWdr;`C?N^K7|xP$d_11r2*~nH%3t|OMUs5 z_Zs$(-jZfHGg2aj`0?askJ^Kb%9U>wG=dx4Di!rKv84%qFz{=$4GXHqpsBIYcQQ%- z;P~skGZaYXDbApT@rCHsyU%h|7}xET?#NDRHG;QClXtkPL9WR(nC8e=*Hh$iYd2f? znN$b|ST%G*E+3_S^<*yy-mOKwf^naz*_P^3XubPG3&DK<}N7 zd_`#!@T$I@QP*XL1j^tc201IHiQajL^7zdM;u0HMc2ErI9C>1kd{!cG9UrN8Q~cre ze3N#HiT%Y#naqTd;jCKXn{vgj4L+~+9~V<%SsFCqp5m@t!#!}_7d$Gdt`@<`O<6FM zo{Zu3|Lr&;&3SbCHS$42B?1zQBnp5z@H= z;1LInPOZN;8o{Nq(Fp3qNxFd!+l|t{X5PZ_;<)t{9~&=>`bRq zV?N*1Ti2-?T3lC;hx|R<^Bp}4TJY#t>)U)$B+{g@?KVEf+zs}L)z)JuRlf{0X@L1O zF}6pDZgF(Op3kXpg9W)u+BazE1KZh>=dof@(!xNDsk$!^UW6cENP-1Afu$Xq?N)O2 zfEB$_ntPcm$2gW5*%6PxytnN(j*^Y8F@SD61u%Qo!;hiLaRXY4^^c&GpGps%w9{83 zK8j+3eYL`-W+_%gZnI9~NdV2;y_DBg22fu{f`15fNXMP?ZN~rRJ|1Jsj1eYHfYD+o zboY?bA6n2bW)dN%#SD7NN-oa#0GD}<;zc|{y>RB1i@o9r!R%oA(qSX4Mo(9G|Dl~K zbeX{_XKs~FP5@{e$T9ue3fTF>Q{Q`Mi1uL26*}mk;uO6wXBn;u(eV(CUEUVWqcs=+ z#U+y$6Q9P?nk9qTcd2VPPpsLAYw?E-+wX>bt#}h+6`8l`;RlK{3^1}~1v=juY;WkvU3|#qb51shdOPMmBz<+== zvh5kYcT&@jtiHGPS|UWW$|*_aDpfVof2>G}KDDXhVtT`acJ`nzXHlQCs)^#t3X;XX zX?6!VC8gMIWbHi0)bjHt$uvQ}T?B=>=o~|U8|qj&2GNK*^>|&VJV=pCT{!8>hnjc6 z4@wbH&3e{3d)cA*`B#(>NQgPL1gnRR?LU`OGSoKh>x_Qsjq82)GR)5F!Vun*<%e3u zU;X<)u$*)=va=}a4$R`+F{ClOuqYpx35Q%{U_WShBbOX4t9+)o_XSxqUAe&36PRAs zxrlz0fB;||LhA^&Z(&|n&ngDKWKa0uW7f}|uo+@flcfyy)HSNg^jjfaslpT=)4{kf; z6hh0*)?$FG9qWss1%bM;V~Q~Y4$;aU)=7}>pEKYS&w7jFDhMXYeAJ~v0FO^F3$@;V z^0(gNlrgj6e!ViFa!hs?nBCTbDVVkRXxcKA8spLj-V*k-OD(*rMgq0M+ni^zi%T|cgpLr`e zklwoGN*nH@x^fhgt79c~XxkO{zUxdYh1EglSn$<$9rR>!V=?*^721>5%D!&HH>VB3 z&L1pM7%6}0`HO^03W>(StynxWBIvO53?q^f;TZ_{mTgcFtu*dV?JCDQ4+5Hg@Ex3-QIKSEzb%nVLKGs1;To3+Lo(nPCKHo^go|=3ShQBx z3j&t9=mJugun%>yporDlauE?&79UZ>`dC3KqSh6(l^sOv{_yFKogXvjoO!?Z{l4#f z-+4}PMEC|f+hw)@0N90Wlqvv#bdDHPKOzzDj?UyM;^T@3$KjD!GH!wlFc7H0l3+>* z3Z=jb7}8|yY=`{-z-lKF6^F-#Z4#+5ln%{c=w?(;SOb8czgZ8dwJ=Uef>RKknEK>= zE0uz1#MD@B7$ZzCfwvzwgsQ&9Ier6FtfWkOLF{7zEqsT0#zU37W z^gWYQTRiq6FK z7Hz~8@NaH>5N(Xg(8HhtHezW8HL)Mb9&^S-?tWir21s}#+H63GO@UISm^uxGb$EzW zOeOx%HHb!}W;6K=E>}R~@{=?)K7+%h355(Eji*)%V5We_7VuefJRhDUTTx7$gf4&e?|Oj5wrI!*kjQq5aO5|GTy#i2;Ui%n*fPsdH5j zu^q!P<919>kw_?OV-cMOGa0>Sc4#(WDQrN}VU5gyp_I2N79k&y=kf(GpUZ}595zo) zQ)@VCS`r_EXe!*q*@@MfbxqVGjR;kLE#Ndz~@bsnAn*$Sm`ReuU4Ohvh zSVNRUYkFDa;F{+xJMGu^Wk0GKSm{!R!w(~4m;(meDyeef}F z59x+;qTi&D%y%)!D7I(UUt@Bq|)Oaq9+h?$e&f>3^zN{FkL( zq`}4>=Qc;+yU_D@{xg+*yNv)))tjr4t$Ore3ynptz!MYloq_4OMTiu#t{ zJlu79jUC-{_*K^0ewqYv*_&_e+T$G6dhB55gB|}YAM4!cX~@jX%*mOaoV+=`i?d8D z68&)Y8_e-_b`d1-sP!3EWTGg#YnRx`w*A%M;PH=dWww0QJMv|hjQ>v9a^O#+yg! z<+kju_}v6S=dCv9Mu@WRAW*|YlUXi1I~Hf}TAEunv_HPa$#Ra}C7bj{<(`gJijZ5yy(5nn9j>j_iYmSs-490jI8!H% z+<*Fs6&RT3CM{G%kAyOxU0Y1A!3=Tzvso&l+uvj-yi+(en&@WU5xQ4DjTTn z>mST<+jrHoY^84*gZlhIi^uTgvZ(4dNi@BR&*QDYy1Tpm8{3n=a{EJJC8znzQ)fII zrm}ZywOXSwa{a{%7vfbahrF6Qaot)l)XLCwJJ$BNoV43)79_p0+O(z!`ozBxUDvzn zNRb1%Ah5IHhO?LTlNuL6|HzxTL@DoJm%Y<`k7IWv6<(E`>>|rpMfd_$UY5=D>Ju$3 zEx)FYxG&qU!?5Q=3jLa<9j$wpR?So8`QBSo8*}D?L0Qt39JzZ-5mZ|3dfPCSel%xYiKOj43AmEK6Z(}+5+a#|1&JNf6zpWQckmRE;7{Iqo8h;2X# zFtPl4Jga-`-}AD!#5#BQk`AuEbavQpt>xJyJ)qU%b3{p|$a8B0Dw@-P5nJMjvHd2_ zYLmkJ;`QuFu?KSbHonveS8X7=7jQ|q7G0-X2{d26+to^11Y8N)T1Gpl4V}4igan66 JEkTL-{{_$Rhx`Bl literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/password/sub_nav_1.png b/tamguo-mms/src/main/resources/static/images/password/sub_nav_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3c9b9b38591fd454aa13a592b0e07eb1ff7914c9 GIT binary patch literal 1725 zcmbVNX;2eq7>-)3TCr4yDjpbu7Gq6zH=A=M){t;X!Wjlyb;@S5z!s7Xn}sA)tb-g1 zqt>>l9AXfR*b$g|AoZw&VnvGr1?>!=Xe*+qC{?Rs!EO+2e>nc=&g_2Q`+e{8p3ghG zDIzS$b=sV1EEdZ(Bv=*2tb@$UnKF_2PMB2H!z`Y3KpY)SCeRj?!dVJEsl(YJ1~d_m z!cn~~^*rv!VogdVv~hHtMvY*kfsZ5B{DuFf`n3NDO&(SFaW{;1oI#P0?H6b#2$M% zj5kW3fJCVR$9yr8oRdV;CIkR177O13^GPZZfMhZm015zsfX8U?%r+y9T6spZ&$tB@ zZpJ9WL=&Wu?X-yM$TV8cVIqB%g2ANGyf$n!j}?k38DK?C0K^9YgTa~CsJ5Ao!v789 zjoN0d&4dF{xS33&Fs2^~KI34fc5ip&RAiz-!YP7j3YwxKu`~m2q(fA44s*lT6M6)L zAqglFNqHiPPS2BoLJ?0U1I0WshDmWqDu$&J!ML3_;U$48AuLh|l}d2{1O*6XfeNuo z45|FZU;r#uD#o!PMl+2XF?`%N!T27-!f(YQN(x75lG2i7$~X%ml1Q2~Cy^$$QpsK% zOBnT}#msef=vBfhoFdY3eIP{|*rO#zh&Q;Gp*SqS#R)tC3d(qpR0#5PGJ%LEkbruj zSg6y9Ks{#+um8WL1DK!yCr|#voAD!tjLz-rDPV-xbA%h2;h~r*(Yfql#&zQFAu5H| z+Ig=lG}%3J_T=kNn->}2sef(%tg|CWr?_k2=6~3IC+z6Rgw!^C*0I!z>ov6Z$b=on z%Q1?Fb(cFg$4QE_KDrW*ebGn#468buX|<*k+a4(I>&sNN=~BMbNIyu!K6)T-|iz*Y#E6J(0k-WZ++fCcSWOeV}HZ1W!`($ z&t+GW0&4xN8wvvtdaLq%V-9SXv9MQNg7jsL%+=`ayS?gWzVFFR9ax-Ojvl_bY|FQl zW9ybhUQ|kHdl0k)x7OT!vF<|APtsl1rhCGDTldVEZnxW34xKz##8od)N7Uwrho?^F zR@$*7_H6`t>G+!LMKRp+&n-yu{PF{js>}Tj4#j)i99RLj ze;1mYn}6hx^&CTo<68uNEt?OwH4A%Vo^JPMxDX5augYb_61UkOpGkZAOfF^)q1D;9 g^6I8z!ym-6R_z*ESK|BLGv^N_Bp^&x;~$^(4;G!Om;e9( literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/password/sub_nav_2.png b/tamguo-mms/src/main/resources/static/images/password/sub_nav_2.png new file mode 100644 index 0000000000000000000000000000000000000000..764eea8f51f659eee64ca9ac7020774637f0493b GIT binary patch literal 2121 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 literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/images/password/success_icon.png b/tamguo-mms/src/main/resources/static/images/password/success_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e96507977bc0eeec45f263b857354e80092e940f GIT binary patch literal 2042 zcmaJ?X;f2Z8qNTA7%CzaM35OTK^7IVCxl3(Bw_0iM4%)HDj~Un0Le|03kl3nTo@D; zPz-88um**K0)hh!E{K3f1udI}0T)EeE=$EF7|8U-ik%sy9>~s+W-$G4G|E7Fb`0Q6C`q)l8*kMOGD=RZ7dr2 z0D6bjx2AmH!>EDm`ou6PoSOra6nfR7Iv zi6#>WX~8U?kFk&y9UTk9QW_SkP$)18A_kJhVDawm?s^RZ!4*Nc%9AB9Pw6U=+b=1w zKsjF~lENZL0_YWa(NH2xMZiV1@H~G`~`Ppx@Fv z2-X;mWCTvER)zmN--6>+ck*j-e43*u#HL^pi3J}vr}kw|I&nuXc!ABcI?VG&)awGL)t{8fZORcz@_J=B2L=$jLG{*@phY4t*=Pa=xfgT(G-(?N67&_FA>X9DI6>l(cr- zSa{6jfiOK+oo+mqS-z-syD5q?30tkf{=99-Ljy$}>K(G|EF-9aey;Wr`)v5p$txyD z=OwlZkDJaZ;QIknQh;W<_`#mg!SIWA&sGJ%Z>Rp08&MPSiY&D{a{o@mkGGlXN)kFF zkZNYMad4^=v^`+Z+DD!ZrnX%${yTl)mWx~d*_iI5!pmDpx}T&RMw8{bnLjVuPU3dF zf~M+MA6M_UNHcnPp&Dz~_4U3vd%A`F@D0H>m%|>lrLUxg!(FWr8IhWczH5z5bX$m4 z_`*`T=9r&)EGuJrv<^;sn0CG5`S@_uvn@TIpJ^gAW*yLu!yH+1g)Z3Os+Z|MFnomFIqm~i)KkJQ4C_?2 zggl|vQ|EbN?(X=I2ENOPbf=&l%=f;yTI1Wxg<~DfYQ;@0MoppC&co!jomf8`s15a@sFS8Gf6yWb@j?azBL(Vh>Kq}jz)Ueo$f>o z8`e&?l_d>o_b;s3d7@B4{)vDw;#-Eo?>BD?c7cc1ppZeqdzC@uzm8I=_2bTix4 zs>?Rk08TYsHeuK?kTW)(c#*!)9BxB;UxG>Z&Sp&HMc!4le`)2B@Z?(6h;-96p15>U z*gRDS>MgWFkVs=8+Ws^TO1fB*je{rk6X-@beI?(^r*-@bkO`0?Y{ zuU|iW`0(k|r!QZ=yng-q$B!Sse*OCW`}dzefBydc`}60||NsA|IqWh8*<2Fj7YyX0 z0|tNp=Yk9jjLe=cjv*Dd-rQ>RJFFn$aB)@e_RR1Z|NpO7V@)$zy3}p)>vKO@CY3us zD9vXGUnK3e{L!4RCu6@&dE>5sGPy{`R=xdV?KW?@P3tOHw>>broO5Z%4Fk3m3(;UE(W qx5EYo7H%+GKnKYFH?^FRjloqW?{VDGbdeuHXA&65QdFhF1NI_bZBU3YHG>^!y=K0&*$s)dKiXa6D*g@RR+0GD7-cp ztxzaTCX-sNP9z_QCG9@b<32k(tJCQq2%4CfDCgd&tgJK|jUWg@Cdg!h<9a=nN@XD< zRVtN&24jt|cye-559y|-r+GXcMcL6c@lh-mgC|Z%Bod8AgC9Mw1vOB1HiX3{_4%1h zpgJ4g@g2iAWuaK(+1ieu=HYV=v?Pan!Qpp&ZOg0#F z5P?7<_cBL0Fa$}3JkAV#W@c(kA~LnND^)W(Ey!SviY3xfHs=K&PgfH=MpRM7G!q0j z$^L{A6I%z>`>&GUh)N_{ZUN(BOcDJnUD?f06*IGjrbrzf9Z-C{>FZb4%s`#E%p;rR zfg!fb>oTb!UfDf)BZ>8riv2khRN2U>2Lm^T&P?bfrR=K-r9&4fLC9> zI`xPNHdgWT9K zI)S|J6mh#&tA+oIi_ojdxp0dz!$QLU*ZIF@;2s`M2LQ|TV1M7^ml+dfh?7o1%WfsO z`7F=6=f8n!d6(0Ew#_mwwf(I3?M~N_Li-|f?K(<<5q$v`Tc-vz>S#Bu8JDa-FgYOh|pG%xpSSb zDq)NDQn09SVIIzJ>59G+?uN?Z@4=g191^~G;Hi6X;6th0*HY=Q!s&i!%See0cH&2~ z_vz@FX@~HzFyZE+8pJ$=*EjaOx68eGoqPMQ6LTBi|dIK91SG{VMItHXD0C ziBs+YdX&G_rP0t5!jq`^sKejVz=ZMuaqHj_<$9ce&v{mK3~> z*t*)Mq5P-|2D#j4$CJ>mUBJ~VTe!W%hLOI%jVcz_s;uLiL;sZF(r zTcmu(3p4Q+xb=Vtd7pdtSWoeMQ8lo>xwV%Z?AY%<0I%m@pEUoX*O>)t<{ zw##v89S?CNxO(j?s4$dL`cLW>?OjQXjK-}#wPU-!41GonVP#cTgxgX}{+^&}9HsxS zJ?oaF4cJWa93rW&stMZA!vpz96kJaADmj=|m0YtNZ0LG(RJ`laJ>(zyg#}T~uG^NQ zw)7}|&5v_XdN4?u!e_OQY21dzHj7+W9uXag^!r1qZ4?@tFp0^h7Im^C>YY73oPHMi z>@-;fCdxnm9w_b|*_yI?+BWz?$ZK0Y+^FAp|GhqiOR7pK$hyOb4ve}~|I%&H7P3U; zrpYD`lVU;vZjIAhx8#JeMrDhU)QmU2%F)vLIb% zabxotO^N<3_Zn8|^&y~eN@n5wxw{Hm9oLM#K(U+DwQQU*+lqgx8&8eZk zp4ol=aP_%3kFUO;r~Vx&kc3MuA{e{SuxCO4IKE?187f4pU$bq-3fz*H~XRnbJy(*!fm#}6;Ac(=@$IJ z_BR0I*fvKWi&gHplFzo0o5@pjxgJWjZm= z(j?dab7FX{h`Ki5A$my+(-K?ftm1%XNdJ!HYyB>G6TvtBW8N#XU4SPp_9o&G@NEt5 u;07>m$GL@Nr-uO4@Rndz8 literal 0 HcmV?d00001 diff --git a/tamguo-mms/src/main/resources/static/js/jquery-1.8.3.min.js b/tamguo-mms/src/main/resources/static/js/jquery-1.8.3.min.js new file mode 100644 index 0000000..3883779 --- /dev/null +++ b/tamguo-mms/src/main/resources/static/js/jquery-1.8.3.min.js @@ -0,0 +1,2 @@ +/*! jQuery v1.8.3 jquery.com | jquery.org/license */ +(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
t
",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="

",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
","
"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/static/js/member/login.js b/tamguo-mms/src/main/resources/static/js/member/login.js new file mode 100644 index 0000000..afb02a5 --- /dev/null +++ b/tamguo-mms/src/main/resources/static/js/member/login.js @@ -0,0 +1,56 @@ +$(function(){ + + $("#TANGRAM__PSP_3__userName").bind("focus",function(){ + $("#TANGRAM__PSP_3__userName").addClass("pass-text-input-focus"); + }).bind("keyup",function(){ + if($("#TANGRAM__PSP_3__userName").val() != ""){ + $("#TANGRAM__PSP_3__userName_clearbtn").show(); + }else{ + $("#TANGRAM__PSP_3__userName_clearbtn").hide(); + } + }).bind("blur",function(){ + $("#TANGRAM__PSP_3__userName").removeClass("pass-text-input-focus"); + }); + + $("#TANGRAM__PSP_3__userName_clearbtn").bind("click",function(){ + $("#TANGRAM__PSP_3__userName").val(""); + $("#TANGRAM__PSP_3__userName_clearbtn").hide(); + $("#TANGRAM__PSP_3__userName").focus(); + }); + + $("#TANGRAM__PSP_3__verifyCodeChange").bind("click",function(){ + $("#TANGRAM__PSP_3__verifyCodeImg").attr("src",mainHttp + "captcha.jpg?t=" + $.now()); + }); + + $("#TANGRAM__PSP_3__password").bind("focus",function(){ + $("#TANGRAM__PSP_3__password").addClass("pass-text-input-focus"); + }).bind("blur",function(){ + $("#TANGRAM__PSP_3__password").removeClass("pass-text-input-focus"); + }).bind("keyup",function(){ + if($("#TANGRAM__PSP_3__password").val() != ""){ + $("#TANGRAM__PSP_3__password_clearbtn").show(); + }else{ + $("#TANGRAM__PSP_3__password_clearbtn").hide(); + } + }); + + $("#TANGRAM__PSP_3__password_clearbtn").bind("click",function(){ + $("#TANGRAM__PSP_3__password").val(""); + $("#TANGRAM__PSP_3__password_clearbtn").hide(); + $("#TANGRAM__PSP_3__password").focus(); + }); + + $("#TANGRAM__PSP_3__submit").bind("click",function(){ + if($("#TANGRAM__PSP_3__userName").val() == ""){ + $("#TANGRAM__PSP_3__userName").focus(); + $("#TANGRAM__PSP_3__error").text("请您输入手机/邮箱/用户名"); + return false; + } + if($("#TANGRAM__PSP_3__password").val() == ""){ + $("#TANGRAM__PSP_3__password").focus(); + $("#TANGRAM__PSP_3__error").text("请您输入密码"); + return false; + } + return true; + }); +}) \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/static/js/member/register.js b/tamguo-mms/src/main/resources/static/js/member/register.js new file mode 100644 index 0000000..a51618b --- /dev/null +++ b/tamguo-mms/src/main/resources/static/js/member/register.js @@ -0,0 +1,124 @@ +// 校验 +var validateCheckPass = (rule, value, callback) => { + if (value !== vm.member.password) { + callback(new Error('两次输入密码不一致!')); + } else { + callback(); + } +}; +var validateUsername = (rule, value, callback) => { + if(!/^(undefined|null|\s)$/.test(value)){ + axios({method: 'get',url: mainHttp + 'checkUsername.html?username='+vm.member.username}).then(function(response){ + if(response.data.code == 201){ + callback(new Error('此用户名太受欢迎,请更换一个!')); + }else{ + callback(); + } + }); + } +} +var validateMobile = (rule, value, callback) => { + if(!/^(undefined|null|\s)$/.test(value)){ + axios({method: 'get',url: mainHttp + 'checkMobile.html?mobile='+vm.member.mobile}).then(function(response){ + if(response.data.code == 201){ + callback(new Error('该手机号已经存在!')); + }else{ + callback(); + } + }); + } +} +var vm = new Vue({ + el: '#content', + data() { + return { + smsDisabled:false, + loading:false, + member: { + username: '', + mobile:'', + password:'', + checkPass:'', + verifyCode:'' + }, + courses: [], + rules: { + username: [ + { required: true, message: '请输入用户名', trigger: 'blur' }, + { min: 6 , message: '长度大于6个字符', trigger: 'blur' }, + { validator: validateUsername, trigger: 'blur' } + ], + mobile: [ + { required: true, message: '请输入手机号', trigger: 'blur' }, + { pattern: /^1[345678]\d{9}$/, message: '手机号格式错误', trigger: 'blur' }, + { validator: validateMobile, trigger: 'blur' } + ], + password: [ + { required: true, message: '请输入密码', trigger: 'blur' }, + ], + checkPass: [ + { required: true, message: '请输入确认密码', trigger: 'blur' }, + { validator: validateCheckPass, trigger: 'blur' } + ], + verifyCode:[ + { required: true, message: '请输入验证码', trigger: 'blur' }, + ], + kemuId:[ + {required: true, message: '请选择科目', trigger: 'change'} + ], + email:[ + { required: true, message: '请输入邮箱地址', trigger: 'blur' }, + { type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] } + ] + } + }; + }, + methods: { + submitForm(formName) { + this.$refs[formName].validate((valid) => { + if (valid) { + vm.loading = true; + vm.member.subjectId = vm.member.kemuId[0]; + axios({method: 'post',url: mainHttp + 'subRegister.html',data: vm.member}).then(function(response){ + if(response.data.code == 200){ + vm.loading = false; + vm.$message({message: "注册成功",duration:500,type: 'success',onClose:function(){ + window.location.href = "member/index.html"; + }}); + }else{ + vm.loading = false; + vm.$message.error(response.data.message); + vm.$refs[formName].validate(); + } + }); + } else { + console.log('error submit!!'); + return false; + } + }); + }, + resetForm(formName) { + this.$refs[formName].resetFields(); + }, + getCourses:function(){ + axios.get(mainHttp + 'subject/getSubjectTree.html').then(function(response){ + vm.courses = response.data.result; + }); + }, + sendSms:function(){ + // 校验成功才能发送短信 + vm.$refs['member'].validateField('mobile',function(message){ + if(message == ""){ + axios.get(mainHttp + 'sms/sendFindPasswordSms.html?mobile='+vm.member.mobile).then(function(response){ + if(response.data.code == 200){ + vm.$message({message: response.data.message,type: 'success'}); + }else{ + vm.$message.error(response.data.message); + } + }); + } + }); + } + } + }); +vm.getCourses(); \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/static/js/password/confirmAccount.js b/tamguo-mms/src/main/resources/static/js/password/confirmAccount.js new file mode 100644 index 0000000..bf5303d --- /dev/null +++ b/tamguo-mms/src/main/resources/static/js/password/confirmAccount.js @@ -0,0 +1,88 @@ +$(function(){ + + $("#account").bind("focus",function(){ + $("#account").addClass("pass-input-focus"); + $("#pass-auth-select .pass-input-msg").text(""); + $("#account").removeClass("pass-input-error"); + }).bind("blur",function(){ + $("#account").removeClass("pass-input-focus"); + // 验证码用户名/邮箱/手机号是否存在 + if($("#account").val() != ""){ + $.ajax({ + type : "get", + url : "checkAccount.html", + async : false, + data:{account:$("#account").val()}, + dataType : "json", + success : function(data) { + if(data.code == 201){ + $("#pass-auth-select .pass-input-msg").text("用户名不存在,请重新输入"); + $("#account").addClass("pass-input-error"); + } + } + }); + } + }); + + $("#account").bind("keyup",function(){ + if($("#account").val() != ""){ + $("#userName_clearBtn").show(); + }else{ + $("#userName_clearBtn").hide(); + } + }); + + $("#userName_clearBtn").bind("mouseover",function(){ + $("#userName_clearBtn").addClass("userName-clearbtn-hover"); + }).bind("mouseleave",function(){ + $("#userName_clearBtn").removeClass("userName-clearbtn-hover"); + }).bind("click",function(){ + $("#account").val(""); + $("#userName_clearBtn").hide(); + $("#account").trigger("focus"); + }); + + $("#veritycode").bind("focus",function(){ + $("#veritycode").addClass("pass-input-focus"); + $("#veritycode").removeClass("pass-input-error"); + $(".vcode-container .pass-input-msg").text(""); + }).bind("blur",function(){ + $("#veritycode").removeClass("pass-input-focus"); + }); + + $("#submit").bind("click",function(){ + var flag = true; + if($("#account").val() == ""){ + $("#pass-auth-select .pass-input-msg").text("请您输入用户名/邮箱/手机"); + $("#account").addClass("pass-input-error"); + flag = false; + } + if($("#veritycode").val() == ""){ + $(".vcode-container .pass-input-msg").text("请您输入验证码"); + $("#veritycode").addClass("pass-input-error"); + flag = false; + } + // 验证码用户名/邮箱/手机号是否存在 + $.ajax({ + type : "get", + url : "checkAccount.html", + async : false, + data:{account:$("#account").val()}, + dataType : "json", + success : function(data) { + if(data.code == 201){ + $("#pass-auth-select .pass-input-msg").text("用户名不存在,请重新输入"); + $("#account").addClass("pass-input-error"); + flag = false; + } + } + }); + if(!flag){ + return false; + } + }); + + $(".vcode-img-change").bind("click",function(){ + $(".vcode-img").attr("src",mainHttp + "captcha.jpg?t=" + $.now()); + }); +}) \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/static/js/password/resetPassword.js b/tamguo-mms/src/main/resources/static/js/password/resetPassword.js new file mode 100644 index 0000000..a19cf67 --- /dev/null +++ b/tamguo-mms/src/main/resources/static/js/password/resetPassword.js @@ -0,0 +1,40 @@ +$(function(){ + + $("#password").bind("focus",function(){ + $("#password").addClass("pass-input-focus"); + $("#password").removeClass("pass-input-error"); + $("#pass_input_msg_Pwd").text(""); + }).bind("blur",function(){ + $("#password").removeClass("pass-input-focus"); + }); + + $("#verifypwd").bind("focus",function(){ + $("#verifypwd").addClass("pass-input-focus"); + $("#verifypwd").removeClass("pass-input-error"); + $("#repassword_msg").text(""); + }).bind("blur",function(){ + $("#verifypwd").removeClass("pass-input-focus"); + }); + + $("#submit-resetpwd").bind("click",function(){ + var flag = true; + if($("#password").val() == ""){ + $("#password").addClass("pass-input-error"); + $("#pass_input_msg_Pwd").text("请您填写密码"); + flag = false; + } + if($("#verifypwd").val() == ""){ + $("#verifypwd").addClass("pass-input-error"); + $("#repassword_msg").text("请您输入确认密码"); + flag = false; + } + if($("#password").val() != $("#verifypwd").val()){ + $("#verifypwd").addClass("pass-input-error"); + $("#verifypwd").val(""); + $("#repassword_msg").text("确认新密码和新密码不同"); + flag = false; + } + return flag; + }); + +}) \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/static/js/password/securityCheck.js b/tamguo-mms/src/main/resources/static/js/password/securityCheck.js new file mode 100644 index 0000000..dc9bd9c --- /dev/null +++ b/tamguo-mms/src/main/resources/static/js/password/securityCheck.js @@ -0,0 +1,64 @@ +$(function(){ + + $("#pass-input-mobileVcode").bind("focus",function(){ + $("#pass-input-mobileVcode").removeClass("pass-input-error"); + $("#pass-input-mobileVcode").addClass("pass-input-focus"); + $("#forgot-mobileVcode-tip").text(""); + }).bind("blur",function(){ + $("#pass-input-mobileVcode").removeClass("pass-input-focus"); + }); + + $("#pass-button-new1").bind("click",function(){ + $("#forgot-mobileVcode-success").text("短信已经发送"); + $("#forgot-mobileVcode-success").show(); + $("#pass-button-new1").css("disabled","disabled"); + var u = 60; + var t = function() { + if (u < 2) { + $("#pass-button-new1").text("重新发送"); + $("#pass-button-new1").css("disabled",""); + return + } else { + u--; + $("#pass-button-new1").text("重新发送("+u+")"); + } + setTimeout(t, 1000) + }; + t(); + + var isEmail = $("input[name='isEmail']").val(); + if(isEmail == "0"){ + // 发送短信 + $.ajax({ + type : "get", + url : mainHttp + "sms/sendFindPasswordSms.html", + async : false, + data:{mobile:$("input[name='mobile']").val()}, + dataType : "json", + success : function(data) { + console.log(data); + } + }); + }else{ + // 发送邮件 + $.ajax({ + type : "get", + url : mainHttp + "email/sendFindPasswordEmail.html", + async : false, + data:{email:$("input[name='email']").val()}, + dataType : "json", + success : function(data) { + console.log(data); + } + }); + } + }); + + $("#submit-mobile").bind("click",function(){ + if($("input[name='mobileVcode']").val() == ""){ + $("#pass-input-mobileVcode").addClass("pass-input-error"); + $("#forgot-mobileVcode-tip").text("请填写验证码"); + return false; + } + }); +}) \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/templates/login.html b/tamguo-mms/src/main/resources/templates/login.html new file mode 100644 index 0000000..5d387bf --- /dev/null +++ b/tamguo-mms/src/main/resources/templates/login.html @@ -0,0 +1,102 @@ + + + + + 登录_探果网 + + + + + + + + + +
+ + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/templates/password/confirmAccount.html b/tamguo-mms/src/main/resources/templates/password/confirmAccount.html new file mode 100644 index 0000000..78b64f7 --- /dev/null +++ b/tamguo-mms/src/main/resources/templates/password/confirmAccount.html @@ -0,0 +1,82 @@ + + + + + 找回密码_探果网 + + + + + + + +
+ + +
+
+
    +
  • 确认帐号
  • +
  • 安全验证
  • +
  • 重置密码
  • +
+
+
+

请填写您需要找回的帐号 +

+
+ + + +
+ +
+ + 验证码图片 + 换一张 + +
+
+ +
+
+ +
+
+ +
+ + + + + + \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/templates/password/resetPassword.html b/tamguo-mms/src/main/resources/templates/password/resetPassword.html new file mode 100644 index 0000000..269f991 --- /dev/null +++ b/tamguo-mms/src/main/resources/templates/password/resetPassword.html @@ -0,0 +1,90 @@ + + + + + 找回密码_探果网 + + + + + + + +
+ + +
+
+
    +
  • 确认帐号
  • +
  • 安全验证
  • +
  • 重置密码
  • +
+
+

您正在找回的帐号是:喜欢吃鱼的果果

+
+
+ + +
+
+ + + + +
+ +
+
+
+ + + +
+
+ + + +
+ +
+
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/templates/password/resetPwSuccess.html b/tamguo-mms/src/main/resources/templates/password/resetPwSuccess.html new file mode 100644 index 0000000..b035e45 --- /dev/null +++ b/tamguo-mms/src/main/resources/templates/password/resetPwSuccess.html @@ -0,0 +1,82 @@ + + + + + 修改密码_探果网 + + + + + + + +
+ + +
+
+
    +
  • 确认帐号
  • +
  • 安全验证
  • +
  • 重置密码
  • +
+
+
+
+ + 恭喜,探果帐号喜欢吃鱼的果果重置密码成功 + 直接登录 +
+
+ 以下为您最近2次的操作记录,请仔细检查手机及邮箱,如非本人所有,可通过帐号申诉更换。 +
+ + + + + + + + + + + + + + + + + +
时间操作记录IP
2018-03-19 找回密码220.248.*.*
2018-03-13 设置用户名:喜欢吃鱼的果果220.248.*.*
+ + + + + + + + + diff --git a/tamguo-mms/src/main/resources/templates/password/securityCheck.html b/tamguo-mms/src/main/resources/templates/password/securityCheck.html new file mode 100644 index 0000000..5aa83b0 --- /dev/null +++ b/tamguo-mms/src/main/resources/templates/password/securityCheck.html @@ -0,0 +1,90 @@ + + + + + 找回密码_探果网 + + + + + + + +
+ + +
+
+
    +
  • 确认帐号
  • +
  • 安全验证
  • +
  • 重置密码
  • +
+
+
+

为了你的帐号安全,请完成身份验证

+
+
+
手机验证
+
+ +
+ 156******86
+
+

验证码:

+
+
+ +
发送验证码
+ +
+ + +
+
+
+ + + + + +
+
+
+
+
+
+
+ +
+ + + + + + \ No newline at end of file diff --git a/tamguo-mms/src/main/resources/templates/register.html b/tamguo-mms/src/main/resources/templates/register.html new file mode 100644 index 0000000..572af98 --- /dev/null +++ b/tamguo-mms/src/main/resources/templates/register.html @@ -0,0 +1,84 @@ + + + + + 注册_探果网 + + + + + + + + + + +
+ + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + 发送短信 + + + 立即注册 + 重置 + + +
+ +
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/tamguo-modules-core/src/main/java/com/tamguo/modules/member/service/impl/MemberService.java b/tamguo-modules-core/src/main/java/com/tamguo/modules/member/service/impl/MemberService.java index e54bd04..34efdaf 100644 --- a/tamguo-modules-core/src/main/java/com/tamguo/modules/member/service/impl/MemberService.java +++ b/tamguo-modules-core/src/main/java/com/tamguo/modules/member/service/impl/MemberService.java @@ -134,7 +134,7 @@ public class MemberService extends ServiceImpl imple return Result.result(201, null, "帐号不存在!"); } - List members = memberMapper.selectList(Condition.create().eq("user_name", account).or().eq("mobile", account)); + List members = memberMapper.selectList(Condition.create().eq("username", account).or().eq("mobile", account)); if(members.size() == 0){ return Result.result(201, null, "帐号不存在!"); }