From bf6b8c11667b34be61f16ed63f7b1a4f6d914b02 Mon Sep 17 00:00:00 2001 From: tamguo Date: Thu, 22 Nov 2018 17:05:38 +0800 Subject: [PATCH] fix bug --- .../com/tamguo/config/shiro/MemberRealm.java | 72 ++ .../config/shiro/ShiroConfiguration.java | 69 ++ .../tamguo/config/web/ThymeleafConfig.java | 1 + .../java/com/tamguo/utils/ShiroUtils.java | 43 + .../java/com/tamguo/web/BookController.java | 1 + .../java/com/tamguo/web/IndexController.java | 29 +- .../java/com/tamguo/web/LoginController.java | 115 ++ .../src/main/resources/application.properties | 5 +- .../src/main/resources/static/css/main.css | 1030 +++++++++++++++++ .../src/main/resources/static/images/book.jpg | Bin 0 -> 3339 bytes .../images/qrcode_for_gh_30d79d8188a1_258.jpg | Bin 0 -> 28152 bytes .../src/main/resources/static/js/index.js | 12 + .../resources/static/js/jquery-1.12.4.min.js | 5 + .../resources/static/js/jquery-1.8.3.min.js | 2 + .../resources/static/js/jquery.iDialog.js | 425 +++++++ .../src/main/resources/static/js/main.js | 73 ++ .../resources/static/js/member/minlogin.js | 152 +++ .../resources/templates/include/footer.html | 79 ++ .../resources/templates/include/header.html | 29 + .../templates/include/minilogin.html | 92 ++ .../src/main/resources/templates/index.html | 124 ++ .../templates/member/book/compare.html | 141 --- .../resources/templates/member/book/edit.html | 781 ------------- .../templates/member/book/history.html | 130 --- .../resources/templates/member/book/list.html | 113 -- .../resources/templates/member/index.html | 134 --- .../tamguo/modules/book/model/BookEntity.java | 8 + 27 files changed, 2362 insertions(+), 1303 deletions(-) create mode 100644 tamguo-bms/src/main/java/com/tamguo/config/shiro/MemberRealm.java create mode 100644 tamguo-bms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java create mode 100644 tamguo-bms/src/main/java/com/tamguo/utils/ShiroUtils.java create mode 100644 tamguo-bms/src/main/java/com/tamguo/web/LoginController.java create mode 100644 tamguo-bms/src/main/resources/static/css/main.css create mode 100644 tamguo-bms/src/main/resources/static/images/book.jpg create mode 100644 tamguo-bms/src/main/resources/static/images/qrcode_for_gh_30d79d8188a1_258.jpg create mode 100644 tamguo-bms/src/main/resources/static/js/index.js create mode 100644 tamguo-bms/src/main/resources/static/js/jquery-1.12.4.min.js create mode 100644 tamguo-bms/src/main/resources/static/js/jquery-1.8.3.min.js create mode 100644 tamguo-bms/src/main/resources/static/js/jquery.iDialog.js create mode 100644 tamguo-bms/src/main/resources/static/js/main.js create mode 100644 tamguo-bms/src/main/resources/static/js/member/minlogin.js create mode 100644 tamguo-bms/src/main/resources/templates/include/footer.html create mode 100644 tamguo-bms/src/main/resources/templates/include/header.html create mode 100644 tamguo-bms/src/main/resources/templates/include/minilogin.html create mode 100644 tamguo-bms/src/main/resources/templates/index.html delete mode 100644 tamguo-bms/src/main/resources/templates/member/book/compare.html delete mode 100644 tamguo-bms/src/main/resources/templates/member/book/edit.html delete mode 100644 tamguo-bms/src/main/resources/templates/member/book/history.html delete mode 100644 tamguo-bms/src/main/resources/templates/member/book/list.html delete mode 100644 tamguo-bms/src/main/resources/templates/member/index.html diff --git a/tamguo-bms/src/main/java/com/tamguo/config/shiro/MemberRealm.java b/tamguo-bms/src/main/java/com/tamguo/config/shiro/MemberRealm.java new file mode 100644 index 0000000..6a55f8d --- /dev/null +++ b/tamguo-bms/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-bms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java b/tamguo-bms/src/main/java/com/tamguo/config/shiro/ShiroConfiguration.java new file mode 100644 index 0000000..96f9ab3 --- /dev/null +++ b/tamguo-bms/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-bms/src/main/java/com/tamguo/config/web/ThymeleafConfig.java b/tamguo-bms/src/main/java/com/tamguo/config/web/ThymeleafConfig.java index 72756bd..cb46b3f 100644 --- a/tamguo-bms/src/main/java/com/tamguo/config/web/ThymeleafConfig.java +++ b/tamguo-bms/src/main/java/com/tamguo/config/web/ThymeleafConfig.java @@ -23,6 +23,7 @@ public class ThymeleafConfig implements EnvironmentAware{ Map vars = new HashMap<>(); vars.put("domainName", env.getProperty("domain.name")); vars.put("adminDomain", env.getProperty("admin.domain.name")); + vars.put("memberDomain", env.getProperty("member.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); diff --git a/tamguo-bms/src/main/java/com/tamguo/utils/ShiroUtils.java b/tamguo-bms/src/main/java/com/tamguo/utils/ShiroUtils.java new file mode 100644 index 0000000..a31888d --- /dev/null +++ b/tamguo-bms/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-bms/src/main/java/com/tamguo/web/BookController.java b/tamguo-bms/src/main/java/com/tamguo/web/BookController.java index ac29c23..3194219 100644 --- a/tamguo-bms/src/main/java/com/tamguo/web/BookController.java +++ b/tamguo-bms/src/main/java/com/tamguo/web/BookController.java @@ -47,6 +47,7 @@ public class BookController { model.addObject("documentList", iDocumentService.selectList(Condition.create().eq("book_id", id).eq("status", DocumentStatusEnum.NORMAL.getValue()).orderAsc(Arrays.asList("create_date")))); return model; } + @SuppressWarnings("unchecked") @RequestMapping(value="document/{id}.html" , method=RequestMethod.GET) diff --git a/tamguo-bms/src/main/java/com/tamguo/web/IndexController.java b/tamguo-bms/src/main/java/com/tamguo/web/IndexController.java index 3cfa6fc..01d1555 100644 --- a/tamguo-bms/src/main/java/com/tamguo/web/IndexController.java +++ b/tamguo-bms/src/main/java/com/tamguo/web/IndexController.java @@ -1,9 +1,16 @@ package com.tamguo.web; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; +import com.baomidou.mybatisplus.plugins.Page; +import com.tamguo.modules.book.model.BookEntity; +import com.tamguo.modules.book.service.IBookService; +import com.tamguo.modules.member.model.MemberEntity; +import com.tamguo.modules.member.service.IMemberService; + /** * Controller - 首页 * @@ -12,10 +19,28 @@ import org.springframework.web.servlet.ModelAndView; */ @Controller public class IndexController { + + @Autowired + IBookService iBookService; + @Autowired + IMemberService iMemberService; - @RequestMapping(path= {"index" , "/"}) - public ModelAndView index(ModelAndView model) { + @RequestMapping(path= {"index" , "/" , "index.html"}) + public ModelAndView index(Integer current , ModelAndView model) { + if(current == null) { + current = 1; + } model.setViewName("index"); + Page bookPage = iBookService.selectPage(new Page<>(current, 18)); + for(BookEntity book : bookPage.getRecords()) { + MemberEntity member = iMemberService.selectById(book.getOwner()); + if(member != null) { + book.setMemberName(member.getUsername()); + } + } + model.addObject("bookPage", bookPage); + model.setViewName("index"); + return model; } diff --git a/tamguo-bms/src/main/java/com/tamguo/web/LoginController.java b/tamguo-bms/src/main/java/com/tamguo/web/LoginController.java new file mode 100644 index 0000000..ca633d1 --- /dev/null +++ b/tamguo-bms/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-bms/src/main/resources/application.properties b/tamguo-bms/src/main/resources/application.properties index ea1c838..e79e229 100644 --- a/tamguo-bms/src/main/resources/application.properties +++ b/tamguo-bms/src/main/resources/application.properties @@ -1,6 +1,7 @@ domain.name=https://book.tamguo.com/ -admin.domain.name=https://book.tamguo.com/ -tamguo.admin.name=https://www.tamguo.com/login +admin.domain.name=https://admin.tamguo.com/ +tamguo.admin.name=https://www.tamguo.com/ +member.domain.name=https://member.tamguo.com/ cookie.domian.name=tamguo.com server.port=8083 jasypt.encryptor.password=tamguo diff --git a/tamguo-bms/src/main/resources/static/css/main.css b/tamguo-bms/src/main/resources/static/css/main.css new file mode 100644 index 0000000..9429a53 --- /dev/null +++ b/tamguo-bms/src/main/resources/static/css/main.css @@ -0,0 +1,1030 @@ +body { + position: relative; + font-family: Helvetica, -apple-system, "Helvetica Neue",Helvetica,"Segoe UI",Arial,freesans,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Microsoft Yahei","Helvetica Neue",Helvetica; +} + +a{ + text-decoration: none; +} +a:hover{ + text-decoration: none; + outline: 0; +} +textarea{ + resize: none; +} +.text{ + font-size: 12px; + color: #999999; + font-weight: 200; +} +.error-message{ + color: #d9534f; + font-size: 12px; +} +.success-message{ + color: #5cb85c; + font-size: 12px; +} +.input-readonly{ + border: 1px solid rgba(34,36,38,.15); + background-color: #fff !important; + -webkit-box-shadow : none; + box-shadow: none; +} + +::-webkit-scrollbar , body .scrollbar-track-color{ + height: 9px; + width: 7px; + background: #E6E6E6; +} +::-webkit-scrollbar:hover { + background: #CCCCCC; +} +::-webkit-scrollbar-thumb { + background: #A2A2A2; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + -ms-border-radius: 6px; + -o-border-radius: 6px; + border-radius: 6px; +} +.bootstrap-tagsinput{ + display: block !important; +} +.manual-header{ + margin-bottom: 0; + background-color: #fff; + border-bottom: 0; + box-shadow: rgba(0,0,0,.1)0 1px 5px; + border-top: 1px solid #009a61; +} +.manual-header .navbar-brand,.manual-header a { + font-weight: 500; + color: #563d7c; + max-width: 300px; + white-space:nowrap; + overflow: hidden; +} +.manual-header .navbar-nav li.active a{ + background-color: #009a61; + color: #ffffff; +} +.manual-reader .slidebar { + margin: 5px 10px 0 0; +} +.user-info{ + border: 0; + background-color: #ffffff; + padding: 5px 10px !important; + cursor: pointer; +} +.user-info:hover{ + background-color: #F5F5F5; +} +.user-info-dropdown a{ + font-size: 14px; + color: #333333; + height: 30px !important; + line-height: 25px !important; +} +.user-info-dropdown a>i{ + display: inline-block; + margin-right: 5px; +} +.userbar-avatar{ + display: inline-block; + width: 43px; + height: 43px; + margin-right: 15px; +} +.userbar-content{ + display: inline-block; + vertical-align: middle; +} +.userbar-content span{ + display: inline-block; + font-size: 14px; + font-weight: 400; + margin-right: 40px; + color: #3d444f; +} +.userbar-content div{ + font-size: 12px; + line-height: 1; + color: #9ba3af; +} +/**************首页标签*******************/ +.tag-container-outer{ + border-bottom: 1px solid #eee; + padding-top: 5px; + padding-bottom: 5px; + line-height: 30px; + position: relative; + display: block !important; + margin-top: 15px; +} +.tag-container-outer .title{ + font-weight: 400; + font-size: 14px; +} + +.tag-container-outer .tags a{ + display: inline-block; + vertical-align: baseline; + line-height: 1; + border-radius: 0.3rem; + transition: background .1s ease; + cursor: pointer; + background-color: #e0e0e0; + margin: 0 .5em .5em 0!important; + padding: 0.5rem 0.8rem; + color: #999999; + opacity: 0.8; +} +.tag-container-outer .tags a:hover{ + color: #666666; + opacity: 1; +} +.tag-container-outer .tags a>.detail{ + display: inline-block; + vertical-align: top; + font-weight: 400; + margin-left: 1em; + opacity: .8 +} +/*********************************/ +.manual-body{ + margin-top: 53px; +} +.manual-body .page-left{ + position: fixed; + overflow: auto; + top: 50px; + bottom: 0; + z-index: 100; + width: 199px; + background-color: #f5f5f5; + border-right: 1px solid #eaeaea +} + +.manual-body .page-left .menu { + padding: 18px 0 +} +.manual-body .page-left .menu li { + height: 36px; + line-height: 0 +} +.manual-body .page-left .menu .item { + display: block; + padding: 8px 24px; + color: #666; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + line-height: 20px; + text-decoration: none; +} +.manual-body .page-left .menu .item:hover { + background-color: #eee; + text-decoration: none; +} +.manual-body .page-left .menu a:visited{ + text-decoration: none; +} +.manual-body .page-left .menu li.active .item{ + background-color: #DDB; +} +.manual-body .page-right { + padding: 15px 0 15px 24px; + margin-left: 200px; + min-width: 400px; +} + +.manual-body .page-right .box-head{ + border-bottom: 1px solid #DDDDD9; +} +.m-box .box-head .box-title { + display: inline-block; + height: 36px; + line-height: 36px; + padding-bottom: 3px; + border-bottom: 2px solid #44B035; + margin-bottom: -1px; + min-width: 80px; + font-weight: 200; + font-size: 18px; +} +.manual-body .page-right .box-body { + padding: 12px 0; + position: relative; +} + +.manual-body .page-right .box-body label, .text-label{ + font-family: "Microsoft Yahei","Helvetica Neue",Helvetica,Arial,sans-serif; + color: #222222; + font-weight: 300; +} +.required>.text-label:after{ + color: #db2828; + content: "*"; + vertical-align: middle; + margin: -.2em 0 0 .2em; +} +.manual-body .page-right .box-body .form-right{ + position: absolute; + right: 0; + top: 34px +} +/*************网站首页******************/ +.manual-list{ + margin: 15px auto; +} +.manual-list .list-item{ + float: left; + padding-left: 15px; + padding-right: 15px; + margin: 18px 0; + height: 280px +} +.manual-list .list-item .manual-item-standard{ + float: left; + width: 163px; + line-height: 1.5em; + position: relative; +} +.manual-list .list-item .manual-item-standard>dt{ + margin-bottom: 6px; + height: 231px; + position: relative; +} +.manual-list .list-item .manual-item-standard>dt>a { + display: block; + position: relative; + width: 100%; +} +.manual-list .list-item .manual-item-standard>dt>a .image{ + position: relative; + /*display: none;*/ +} +.manual-list .list-item .manual-item-standard .cover { + border: none; + width: 170px; + position: relative; + display: inline-block; + height: 230px; + background-color: #eee; + border-radius: 2px; + box-shadow: 0 1px 3px 0 #d4d4d5, 0 0 0 1px #d4d4d5; +} +.manual-list .list-item .manual-item-standard .b-cover:hover { + border-color: #4db559; + box-shadow: 0 0 4px rgba(77,181,89,.7) +} +.manual-list .list-item .manual-item-standard a.name { + vertical-align: top; + word-wrap: normal; + font-size: 16px; + color: #666; + display: inline-block; + max-width: 100%; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden +} +.manual-list .list-item .manual-item-standard a.name:hover{ + color: #333333; +} +.manual-list .list-item .manual-item-standard .author{ + zoom:1;vertical-align: top; + display: inline-block; + height: 20px; + line-height: 20px; + color: #484848; + font-size: 13px; +} +.manual-list .list-item .manual-item-standard .author>.text{ + font-weight: 200; + color: #484848; +} + + +/*************文档列表******************/ +.book-list .list-item{ + display: block; + width: 100%; + margin: 0; + border-bottom: 1px solid #dddddd; + padding: 15px 10px; +} +.book-list .list-item:hover{ + background: #eaeaea; +} +.book-list .list-item a{ + color: #666666; + font-size: 16px; + text-decoration: none; +} +.book-list .list-item .pull-right a{ + font-size: 12px; +} +.book-list .list-item a:hover{ + text-decoration: none; + color: #428bca; +} +.book-list .list-item .desc-text{ + font-size: 12px; + margin: 5px; + word-wrap: break-word; + word-break: break-word; +} +.book-list .list-item .info{ + font-size: 12px; + color: #666666; +} +.book-list .list-item .info span{ + display: inline-block; + padding-right: 10px; +} +/************文档概述*****************/ +.dashboard{ + +} +.dashboard .list{ + zoom: 1; + line-height: 35px; +} +.dashboard .summary{ + margin-top: 15px; + word-break: break-all; +} +/************文档成员*************************/ +.users-list .list-item{ + padding: 12px; + border-bottom: 1px dotted #EEE; +} +.users-list .list-item:hover { + background-color: #F9F9F9 +} +.users-list .list-item .operate{ + float: right; +} +/**************用户搜索界面样式********************/ +.searchbar{ + padding: 8px; +} +.searchbar .search-btn { + display: inline-block; + line-height: 100%; + cursor: pointer; + margin-top: -10px; + margin-left: -45px; + border: 0; + background-color: transparent +} +.searchbar .search-btn>i.fa{ + padding: 10px; +} +.manual-search-reader .manual-body{ + margin-top: 60px; +} +.manual-search-reader .search-head{ + margin: 10px auto; + padding-bottom: 15px; + line-height: 1.5em; + border-bottom: 3px solid #EEEEEE; +} +.manual-search-reader .search-head .search-title{ + font-size: 22px; + font-weight: 300; +} +.manual-search-reader .search-body { + margin-top: 80px; +} +.manual-search-reader .search-empty{ + margin:150px auto; + text-align:center; +} +.manual-search-reader .search-empty .empty-text { + font-size: 18px; + display: block; + margin: 24px; + text-align: center; + opacity: .5; + filter: alpha(opacity=50) +} +.manual-search-reader .search-empty .empty-image{ + margin: 5px auto; + display: block; + text-align: center; + opacity: 0.3; + filter: alpha(opacity=30); +} +.manual-search-reader .search-item{ + margin: 0 15px; + padding: 10px 20px; + line-height: 25px; + word-break: break-word; +} +.manual-search-reader .search-item:hover{ + background-color: #F5F5F5; +} +.manual-search-reader .search-item a{ + color: #0886E9; +} +.manual-search-reader .search-item em{ + color: #FF802C; + font-style:normal; +} +.manual-search-reader .search-item .title{ + font-size: 16px; + font-weight: 400; +} +.manual-search-reader .search-item .description{ + color: #666; + line-height: 25px; + min-height: 20px; + font-size: 12px; +} +.manual-search-reader .search-item .site { + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; + white-space: nowrap; + max-width: 600px; + color: #008000; + font-size: 12px; +} +.manual-search-reader .search-item .source .item { + display: inline-block; + margin-right: 15px; +} +.manual-search-reader .search-item .source,.manual-search-reader .search-item .source a{ + font-size: 12px; + color: #999999; +} + +/**************用户登录界面样式*******************/ +.login .login-body{ + width: 400px; + padding: 5px 30px 25px 30px; + margin: 0 auto; + margin-top: 30px; + background-color: #FFF; + border: 1px solid #ddd; + border-radius: 5px; +} +.login .login-body .tooltip.bottom .tooltip-arrow,.has-error .tooltip.bottom .tooltip-arrow{ + border-bottom-color: #a94442; +} +.login .login-body .tooltip.top .tooltip-arrow,.has-error .tooltip.top .tooltip-arrow{ + border-top-color: #a94442; +} +.login .login-body .tooltip.right .tooltip-arrow,.has-error .tooltip.right .tooltip-arrow{ + border-top-color: #a94442; +} +.login .login-body .tooltip.left .tooltip-arrow,.has-error .tooltip.left .tooltip-arrow{ + border-top-color: #a94442; +} +.login .login-body .tooltip-inner,.has-error .tooltip-inner{ + background-color: #a94442; +} +/************图片上传样式*******************/ + +#upload-logo-panel .wraper{ + float: left; + background: #f6f6f6; + position: relative; + width: 360px; + height: 360px; + overflow: hidden; +} +#upload-logo-panel .watch-crop-list{ + width: 170px; + padding:10px 20px; + margin-left: 10px; + background-color: #f6f6f6; + text-align: center; + float: right; + height: 360px; +} +#image-wraper{ + text-align: center; +} +.webuploader-pick{ + +} +.webuploader-pick-hover{ + +} +.webuploader-container{ + padding: 0; + border: 0; + height: 40px; +} +.watch-crop-list>ul{ + list-style: none; + padding: 0; + margin: 0; +} +.webuploader-container div{ + width: 77px !important; + height: 40px !important; + left: 0 !important; +} +.img-preview { + margin: 5px auto 10px auto; + text-align: center; + overflow: hidden; +} +.img-preview > img { + max-width: 100%; +} +.preview-lg{ + width: 120px; + height: 120px; +} +.preview-sm{ + width: 60px; + height: 60px; +} +#error-message{ + font-size: 13px; + color: red; + vertical-align: middle; + margin-top: -10px; + display: inline-block; + height: 40px; +} +.manager .dashboard-item{ + float: left; + width: 100px; + height: 115px; + padding: 10px; + font-size: 10px; + line-height: 1.4; + text-align: center; + background-color: #f9f9f9; + border: 1px solid #fff; + cursor: pointer; + color: #333; +} +.manager .dashboard-item:hover{ + background-color: #563D7C; + color: #ffffff; +} +.manager .dashboard-item .fa{ + margin-top: 5px; + margin-bottom: 10px; + font-size: 24px; +} +.manager .dashboard-item .fa-class { + display: block; + text-align: center; + word-wrap: break-word; /* Help out IE10+ with class names */ +} + +.pagination-container { + margin: 5px auto; + display: block !important; +} +.pagination-container .pagination{ + box-shadow: 0 1px 2px 0 #e3e3e0; +} +.pagination-container .pagination>li>a,.pagination-container .pagination>li>span{ + padding: 8px 16px !important; +} +.pagination-container .pagination>li>a,.pagination-container .pagination>li>span{ + color: #272727; +} +.pagination-container .pagination>.active>a{ + /*color: #fff;*/ + background-color: #f3f3f3; + border: 1px solid #e3e3e0; +} +.pagination-container .pagination>.active>a, .pagination>.active>a:focus, .pagination>.active>a:hover, .pagination>.active>span, .pagination>.active>span:focus, .pagination>.active>span:hover{ + color: #272727; +} +/*************文章相关样式**********/ +.ui.items>.item>.content>.header { + display: inline-block; + margin: -.21425em 0 0; + font-family: 'PingFang SC','Helvetica Neue','Microsoft YaHei UI','Microsoft YaHei','Noto Sans CJK SC',Sathu,EucrosiaUPC,Arial,Helvetica,sans-serif; + font-weight: 700; + color: rgba(0,0,0,.85) +} +.ui.items>.item { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + margin: 1em 0; + width: 100%; + min-height: 0; + background: 0 0; + padding: 0; + border: none; + border-radius: 0; + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transition: -webkit-box-shadow .1s ease; + transition: -webkit-box-shadow .1s ease; + transition: box-shadow .1s ease; + transition: box-shadow .1s ease,-webkit-box-shadow .1s ease; + z-index: '' +} + +.ui.items>.item a { + cursor: pointer +} + +.ui.items { + margin: 1.5em 0 +} + +.ui.items:first-child { + margin-top: 0!important +} + +.ui.items:last-child { + margin-bottom: 0!important +} + +.ui.items>.item:after { + display: block; + content: ' '; + height: 0; + clear: both; + overflow: hidden; + visibility: hidden +} + +.ui.items>.item:first-child { + margin-top: 0 +} + +.ui.items>.item:last-child { + margin-bottom: 0 +} + +.ui.items>.item>.image { + position: relative; + -webkit-box-flex: 0; + -ms-flex: 0 0 auto; + flex: 0 0 auto; + display: block; + float: none; + margin: 0; + padding: 0; + max-height: ''; + -ms-flex-item-align: top; + align-self: top +} + +.ui.items>.item>.image>img { + display: block; + width: 100%; + height: auto; + border-radius: .125rem; + border: none +} + +.ui.items>.item>.image:only-child>img { + border-radius: 0 +} + +.ui.items>.item>.content { + display: block; + -webkit-box-flex: 1; + -ms-flex: 1 1 auto; + flex: 1 1 auto; + background: 0 0; + margin: 0; + padding: 0; + -webkit-box-shadow: none; + box-shadow: none; + font-size: 1em; + border: none; + border-radius: 0 +} + +.ui.items>.item>.content:after { + display: block; + content: ' '; + height: 0; + clear: both; + overflow: hidden; + visibility: hidden +} + +.ui.items>.item>.image+.content { + min-width: 0; + width: auto; + display: block; + margin-left: 0; + -ms-flex-item-align: top; + align-self: top; + padding-left: 1.5em +} + +.ui.items>.item>.content>.header { + display: inline-block; + margin: -.21425em 0 0; + font-family: 'PingFang SC','Helvetica Neue','Microsoft YaHei UI','Microsoft YaHei','Noto Sans CJK SC',Sathu,EucrosiaUPC,Arial,Helvetica,sans-serif; + font-weight: 700; + color: rgba(0,0,0,.85) +} + +.ui.items>.item>.content>.header:not(.ui) { + font-size: 1.14285714em +} + +.ui.items>.item [class*="left floated"] { + float: left +} + +.ui.items>.item [class*="right floated"] { + float: right +} + +.ui.items>.item .content img { + -ms-flex-item-align: middle; + align-self: middle; + width: '' +} + +.ui.items>.item .avatar img,.ui.items>.item img.avatar { + width: ''; + height: ''; + border-radius: 500rem +} + +.ui.items>.item>.content>.description { + margin-top: .6em; + font-size: 1em; + line-height: 1.4285em; + color: rgba(0,0,0,.87); + min-height: 40px; + word-wrap: break-word; + word-break: break-word; +} + +.ui.items>.item>.content p { + margin: 0 0 .5em +} + +.ui.items>.item>.content p:last-child { + margin-bottom: 0 +} + +.ui.items>.item .meta { + margin: .5em 0 .5em; + font-size: 1em; + line-height: 1em; + color: rgba(0,0,0,.6) +} + +.ui.items>.item .meta * { + margin-right: .3em +} + +.ui.items>.item .meta :last-child { + margin-right: 0 +} + +.ui.items>.item .meta [class*="right floated"] { + margin-right: 0; + margin-left: .3em +} + +.ui.items>.item>.content a:not(.ui) { + color: ''; + -webkit-transition: color .1s ease; + transition: color .1s ease +} + +.ui.items>.item>.content a:not(.ui):hover { + color: '' +} + +.ui.items>.item>.content>a.header { + color: rgba(0,0,0,.85) +} + +.ui.items>.item>.content>a.header:hover { + color: #1e70bf +} + +.ui.items>.item .meta>a:not(.ui) { + color: rgba(0,0,0,.4) +} + +.ui.items>.item .meta>a:not(.ui):hover { + color: rgba(0,0,0,.87) +} + +.ui.items>.item>.content .favorite.icon { + cursor: pointer; + opacity: .75; + -webkit-transition: color .1s ease; + transition: color .1s ease +} + +.ui.items>.item>.content .favorite.icon:hover { + opacity: 1; + color: #ffb70a +} + +.ui.items>.item>.content .active.favorite.icon { + color: #ffe623 +} + +.ui.items>.item>.content .like.icon { + cursor: pointer; + opacity: .75; + -webkit-transition: color .1s ease; + transition: color .1s ease +} + +.ui.items>.item>.content .like.icon:hover { + opacity: 1; + color: #ff2733 +} + +.ui.items>.item>.content .active.like.icon { + color: #ff2733 +} + +.ui.items>.item .extra { + display: block; + position: relative; + background: 0 0; + margin: .5rem 0 0; + width: 100%; + padding: 0 0 0; + top: 0; + left: 0; + color: rgba(0,0,0,.4); + -webkit-box-shadow: none; + box-shadow: none; + -webkit-transition: color .1s ease; + transition: color .1s ease; + border-top: none +} + +.ui.items>.item .extra>* { + margin: .25rem .5rem .25rem 0 +} + +.ui.items>.item .extra>[class*="right floated"] { + margin: .25rem 0 .25rem .5rem +} + +.ui.items>.item .extra:after { + display: block; + content: ' '; + height: 0; + clear: both; + overflow: hidden; + visibility: hidden +} + +.ui.items>.item>.image:not(.ui) { + width: 175px +} +.ui.horizontal.list { + display: inline-block; + font-size: 0 +} + +.ui.horizontal.list>.item { + display: inline-block; + margin-left: 1em; + font-size: 1rem +} + +.ui.horizontal.list:not(.celled)>.item:first-child { + margin-left: 0!important; + padding-left: 0!important +} + +.ui.horizontal.list .list { + padding-left: 0; + padding-bottom: 0 +} +.ui.horizontal.list a{ + color: rgba(0,0,0,.4); +} +.ui.horizontal.list a:hover { + color: rgba(0,0,0,.87) +} + +.ui.horizontal.list .list>.item>.content,.ui.horizontal.list .list>.item>.icon,.ui.horizontal.list .list>.item>.image,.ui.horizontal.list>.item>.content,.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.image { + vertical-align: middle +} + +.ui.horizontal.list>.item:first-child,.ui.horizontal.list>.item:last-child { + padding-top: .21428571em; + padding-bottom: .21428571em +} + +.ui.horizontal.list>.item>i.icon { + margin: 0; + padding: 0 .25em 0 0 +} + +.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.icon+.content { + float: none; + display: inline-block +} +.ui.teal.label { + background-color: #00b5ad!important; + border-color: #00b5ad!important; + color: #fff!important +} +.ui.items>.item { + border-bottom: 1px solid #efefef; + margin: 0; + padding: 1em 0 +} +/**************项目空间样式******************/ +.ui-card{ + display: inline-block; + width: 22%; + margin: 10px 15px; + border: solid 1px #d4d4d5; + border-radius: 4px; + padding: 15px 25px; + text-align: center; + color: #333333; +} +.ui-card:hover{ + -webkit-box-shadow: 0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5; + box-shadow: 0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5; + -webkit-transition: -webkit-box-shadow .1s ease,-webkit-transform .1s ease; + transition: -webkit-box-shadow .1s ease,-webkit-transform .1s ease; + transition: box-shadow .1s ease,transform .1s ease; + transition: box-shadow .1s ease,transform .1s ease,-webkit-box-shadow .1s ease,-webkit-transform .1s ease; +} +.ui-card>.header{ + font-weight: 500; + font-size: 18px; +} +.ui-card>.description{ + font-size: 12px; + color: #666; + text-align: left; +} +/**************网站底部样式*************************/ +.footer{ + color: #777; + padding: 30px 0; + margin-top: 70px; + font-size: 12px; + background-color: #ffffff; + bottom: 0; +} +.footer .container{ + padding: 0; +} +.footer .container .row{ + margin-left: 220px; + padding-top: 20px; + opacity : 0.8; + font-size: 13px; +} +.footer .container .border-top{ + border-top: 2px solid #DDDDD9; +} +.manual-container .footer .container .row{ + margin-left: 0; +} + +.footer a{ + color: #222; + text-decoration: none; +} +.footer a:hover { + color: #2b85ae +} +@media screen and (max-width: 840px) { + .manual-body .page-left{ + display: none; + } + .manual-body .page-right { + margin-left: 0; + } + .manual-body .page-right .box-body .form-right{ + display: none; + } + .manual-body .page-right .box-body{ + padding-right: 0 !important; + } + .footer .container .row{ + margin-left: 0; + } +} + + + + diff --git a/tamguo-bms/src/main/resources/static/images/book.jpg b/tamguo-bms/src/main/resources/static/images/book.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4a29c860963a133deb61f20fb805ab7916b1dcd6 GIT binary patch literal 3339 zcmeH{c{JPU8pnSTgwSeYD~j5;w#HVbN?N9tnzTb1#Sm0#4a1k} z;Lv#+dm8`*0s-Fq0q_`r>N#xSRRBOD0bKw9MEHAf0L)*3_~Q@prT}X|00i2fe+n!F z-j}eTAXo?@41w%hL{v;vLUAwJPQ)Sm(gfCYtw`6WTc_yMFt{PMwI0e-PU zf`a_$c>X>h2or*<7@QTBbo7C!hD#aVdQc#uX7z$9?KH?#H}Z{05QWOf9+s2W(A3h_ z(KR+XX=?W6DeJG!+1T3IpTFen@~!J-H}@-k=&Sw#fk8h+Mnzx4#>6JxPD)O>b2k;A z`S8)>tS8wy#KNNDlG3No%4%xsNc9bkP0j5con75My{}#m(S}Dx$Hpfn8S@M87MGS+ zR^PLJ-Tbt*y~F~nzxuJH|q2@0tg2*b}hLVUs{ zRSj>6NLf87ctI6aGjd`|`$h~xWz>xs8mxV^Kgj+yu!R4J>@Tptb4>!`U=Y7~U>JY^ z_TCUvwSoU0qx;(@r(WrW>B(oQ9BT3Y;U$2Nzxk@@9lk~A8WEvaPMKp6qyxPUvaEuY zAnfZhRmA$bYLr7IeX^bIm!n-lt#vR@x%#Nm_gq(dVO_*ytdw7rk}wZQ=;j0rbH9w! zANt6ZnqU`pc&Rd_Gk!en5IC1-xbf|1MH0`M@r!g&|+^IM8H-jhi;V8(J}veU1h`rkxRR-rlQ_ zDfaTSYzi(+B3TKXBez;fqnzRsk-ufCj9gXLWM?aS1VZE>iP` z*uJrMlMLtBkeL?}=jeAV&Brjt7?d4Lx_EeW(y2E~Xwl$Ub-$dYlbu@hvD8I{9}bN4 z^8hLu=a(TIC(gf4cPt(u*6?H9l(IOrWVQK5{;ct6sPRh0+d|pi?V1^5`1-6>HY_#i zOp)LjiUmLQOe-#i2M8&%~!(-{!%yF7qn*BQ;&>O-nGF|eWGwl^!loVR!If{ z%Ohh_wFUf zDbKGXoEtNohd()@pH91%qXJ$G`(D(Ic&?4@5Or>jNp()R{p?aIXKb&gj*#X~=SXcb z+U^m;So1ufJIhOA_$ck?VG==PrTG)faHc$AbepO)H2FpG)SCzL-&=;~ZV#@Oot1rA|xJM&<|lY|E*NqAz%W|97$v*L)Uhj}<%`?s=q1F+~JZ;Bnq0 zHjbG^#Ywj!<{MR*7rWzS=p9^Dmh`Z!{Jn-iV+rll7?tCSougE|X;XUY`A!}nZxL_A z10b^QJ@LCL97J-!LXI3+Z8cCmlz%ccTI4A6>=AF8LiSH7a$ z(a#Qx-oP9&G}Br_R-g9CQfc8Ta-7-W2lEOzHoIC091GdxwHxLqGnI;!5(6~qkYg$# z@a1(Y=LYSj-BS~Fw%(fPqc%8u#N4e}=wPcUOKY2mLDpy3 z1Sf^ZvuY$BMoU%K=a~)Tdg*V6XJ?F`R;*tCaMf3R!I6e~lQpw0IX0S$GmmWgY}pYE z%bVU(T-7EP{i01w1^&@`%JVWQWmv*X_t{+HhXah6E8kS-PxiRT^hHKa%$~fw3^NeZ z>{h9VgE7?8qg~QQsSm$H*XkOE2idVNA^C4eG|rgBj4FyvxpUffo&a-S_3a&~M5?X2 zN-DS=pL9EpDQd_Kgc}KY6o=nd@(~+wxW)qn{h5}vyK>kR#*Jr{sP|r~ER7Lz1tM*c zgd$A^o&2R-rpEekNco{|vili7b(@c5pR4+)D~>K&*K}|uRW$#o`q9|c;U}wodoxv4 z4pB26Hu*dL0~AHd96|o#y6mpnWsU~xT6$~vyq@RDfD>0nw)7hN7dKzpC+SaMT7YNFL8F?75)}JNqnHpeqD3S9>#rL|dzH$-`h& ze$*}ZnR$}_b}c+3h)6JMC2WQ*6H)jVr&9+r>{iIT+*pDc_cem~^?(Ss+wue}Y2y~h zlLe<)vx;cbUf58K%|u(Bp_dNHJ}!1V^<(_ynV-cmSg`iKFuri~rE!9-1)2ru97lF#ygG~w9Zitk-l6Ic#iFQh*$m04&Aj;rGV x?_6hm&g*ROe>V%w6{6lvi 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⪻4M62c_*lYj)JP>(c>?Wje`OP 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 H>k9rKsTy_A literal 0 HcmV?d00001 diff --git a/tamguo-bms/src/main/resources/static/js/index.js b/tamguo-bms/src/main/resources/static/js/index.js new file mode 100644 index 0000000..5c55eba --- /dev/null +++ b/tamguo-bms/src/main/resources/static/js/index.js @@ -0,0 +1,12 @@ +$(function(){ + + // 首页轮播 + $(".content-wp .banner .play-nav li").bind("click",function(event){ + $(".content-wp .banner .play-nav li").removeClass("cur"); + $(this).addClass("cur"); + + $(".content-wp .banner .banner-list li").css("z-index","1"); + $(".content-wp .banner .banner-list a[data-index='"+$(this).find("a").text()+"']").parent().css("z-index","9"); + event.stopPropagation(); + }); +}) \ No newline at end of file diff --git a/tamguo-bms/src/main/resources/static/js/jquery-1.12.4.min.js b/tamguo-bms/src/main/resources/static/js/jquery-1.12.4.min.js new file mode 100644 index 0000000..a58cb73 --- /dev/null +++ b/tamguo-bms/src/main/resources/static/js/jquery-1.12.4.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; +}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="
a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("'); + this.$body[0].appendChild(lock); + }, + createHTML: function() { + this._lock && this.lock(); + this.inited = true; + var dialog = document.createElement('div'), + html = '', + that = this; + if (this.title!==false) { + html = '
' + + '

' + this.title + '

' + + '×' + + '
'; + } + html += '
'; + if(this._btn) html+='
'; + this.$body[0].appendChild(dialog); + this.$dialog = $(dialog).addClass('i-dialog').html(html).css({ + zIndex: ++dialogZindex, + width: this.width, + height: this.height + }); + this.$dialog.find('*').each(function(){ + that[ '$'+this.className ] = $(this); + this.className = 'i-'+this.className; + }); + this.$content.css({ + padding: this.padding + }); + this.effect&&this.$dialog.addClass(this.effect); + this._btn && this.btn(this._btn,1); + if(this.drag){ + this.myDrag = $.drag({ + target: this.$target, + root: this.$dialog, + fixed: this.fixed + }); + }else{ + this.$target.css('cursor','default'); + } + this.setPosition(); + this.content(); + if(this.title===false){ + this.$dialog.css({background:'none',boxShadow:'none',borderRadius:0,border:'none'}); + } + }, + content: function(content) { + this.content = content || this.content; + if (typeof this._content == 'string') { + this.$content.html(this._content); + } else if (typeof this._content == 'object' && this._content.nodeType === 1) { + this.$content[0].appendChild(this._content); + this._content.style.display='block'; + } + return this; + }, + setPosition: function() { + if (this.fixed) { + if (!ie6) { + this.$dialog.css({ + position: 'fixed' + }); + } else { + this.$dialog.css({ + position: 'absolute' + }); + $('html').css({ + backgroundImage: 'url(about:blank)', + backgroundAttachment: 'fixed' + }); + } + } else { + this.$dialog.css({ + position: 'absolute' + }); + } + }, + show: function() { + !this.inited && this.createHTML(); + if(this.id && !dialog.get[this.id]){ + dialog.get[this.id] = this; + } + if(this._show.call(this)===false)return; + if(this._lock){ + this.$lock.show(); + ie&&version<9&&this.$lock.css({opacity: this.opacity}); + } + this.width = this.$dialog.width(); + this.height = this.$dialog.height(); + var winWidth = win.width(), + winHeight = win.height(), + scrollLeft = win.scrollLeft(), + scrollTop = win.scrollTop(), + that = this; + this.follow&&this._follow(); + this.$dialog.show().css({ + top: this.top!==undefined?this.top : ((winHeight - this.height)*.382 + (ie6 || !this.fixed ? scrollTop : 0)), + left: this.top!==undefined?this.left : ((winWidth - this.width) / 2 + (ie6 || !this.fixed ? scrollLeft : 0)), + width: this.width, + height: this.height + }); + this.width = this.$dialog.outerWidth(); + this.height = this.$dialog.outerHeight(); + setTimeout(function() { + that._lock && that.$lock.css({ + opacity: that.opacity + }); + that.effect&&that.$dialog.addClass('i-show'); + }, this.effect?50:0); + this.time = this.time ? setTimeout(function(){that.hide();}, this.time) : 0; + }, + _follow: function(){ + var offset = this.follow.offset(), + width = parseInt(this.follow.outerWidth()), + height = parseInt(this.follow.outerHeight()), + scrollTop = win.scrollTop(), + scrollLeft = win.scrollLeft(), + winWidth = win.width(), + winHeight = win.height(), + maxTop = scrollTop+winHeight-this.height, + maxLeft = scrollLeft+winWidth-this.width; + this.top = offset.top + height; + this.left = offset.left-(this.width-width)/2; + + this.top = this.top > maxTop ? offset.top-this.height : this.top; + this.left = this.left > maxLeft ? maxLeft : this.left; + }, + hide: function() { + if(this._hide.call(this)===false)return; + var style = this.$dialog[0].style, + time = 0, + that = this; + if (style.transform !== undefined || style.webkitTransform !== undefined || + style.mozTransform !== undefined || style.msTransform !== undefined) { + time = 300; + } + this.$dialog.removeClass('i-show'); + this._lock && this.$lock.css({ + opacity: 0 + }); + this.time && clearTimeout(this.time); + setTimeout(function() { + that._lock && that.$lock.hide(); + that.$dialog.hide(); + }, this.effect?time:0); + }, + events: function() { + var that = this, + timeout = null; + win.bind('resize', function() { + timeout && clearTimeout(timeout); + timeout = setTimeout(function() { + that.limit(); + (parseInt(that.$dialog.css('left'))>that.myDrag.max.x)&&that.$dialog.css('left',that.myDrag.max.x); + (parseInt(that.$dialog.css('top'))>that.myDrag.max.y)&&that.$dialog.css('top',that.myDrag.max.y); + }, 100); + }); + this.$close && this.$close.bind('click', function() { + that.hide(); + }); + this.$lock && this.$lock.bind('dblclick', function() { + that.hide(); + }); + this.esc&&doc.bind('keyup', function(e) { + if (e.keyCode == 27&&that.$dialog.css('display')!='none'){ + that.hide(); + } + }); + this.$dialog.bind('mousedown', function () { + $.each(dialog.get, function(){ + if(this.$dialog.zIndex == dialogZindex)this.$dialog.css({zIndex:dialogZindex-1}); + }); + $(this).css({zIndex:dialogZindex}); + }) + //设置限制拖拽区域 + if(this.drag){ + this.myDrag.start = function() { + that.limit(); + } + }; + }, + limit: function(){ + var winWidth = win.width(), + winHeight = win.height(), + scrollLeft = win.scrollLeft(), + scrollTop = win.scrollTop(); + this.myDrag.min = { + x: 0, + y: 0 + }; + if (this.fixed && ie6) { + this.myDrag.min = { + x: scrollLeft, + y: scrollTop + }; + } + if (this.fixed) { + this.myDrag.max = !ie6 ? { + x: winWidth - this.width, + y: winHeight - this.height + } : { + x: winWidth + scrollLeft - this.width, + y: winHeight + scrollTop - this.height + }; + } else { + this.myDrag.max = { + x: winWidth - this.width, + y: doc.height() - this.height + }; + } + }, + btn: function(btns,type){ + var input, that = this; + $.each(btns, function(key){ + input = (!type&&that._btn[key]) ? that._btn[key].input : document.createElement('input'); + input.type = 'button'; + input.value = this.val||input.value; + input.className = this.type || input.className || ''; + if(this.disabled === true){ + input.disabled = 'disabled'; + input.className += ' i-disabled'; + }else if(this.disabled === false){ + input.disabled = ''; + input.className = input.className.replace(' i-disabled',''); + } + if(type||!that._btn[key])that.$wrapBtn.append(input); + if(!that._btn[key])that._btn[key] = this; + that._btn[key].input = input; + + input.onclick = this.click ? (function(self){ + return function(){ + if((self.click&&false !== self.click.call(that, this))||!self.click)that.hide(); + } + })(this) : input.onclick || function(){that.hide()}; + }); + } + }; + + dialog.fn.init.prototype = dialog.fn; + window.iDialog = $.dialog = dialog; + + dialog.get = {}; + window.iDialog.get = $.dialog.get = dialog.get; + +}(jQuery, this); + diff --git a/tamguo-bms/src/main/resources/static/js/main.js b/tamguo-bms/src/main/resources/static/js/main.js new file mode 100644 index 0000000..c8e301a --- /dev/null +++ b/tamguo-bms/src/main/resources/static/js/main.js @@ -0,0 +1,73 @@ +$(function(){ + + // 头部选项事件 + $(".header .menu .menu-contain .contain-ul .contain-li-hashover").bind("mouseover",function(event){ + $(".header .menu .menu-contain .contain-ul li i").css("transform","rotate(0deg)"); + $(this).find("i").css("transform","rotate(180deg)"); + $(".header .submenu-container .subm-ul").addClass("dis-none"); + $(".header .submenu-container .all-exm").addClass("dis-none"); + $(".header .submenu-container ."+$(this).attr("data-class")+"").removeClass("dis-none"); + $(this).addClass("li-hover"); + event.stopPropagation(); + }).bind("mouseleave",function(event){ + if(event.relatedTarget == null || $(event.relatedTarget).attr("data-id") != "submenu"){ + $(this).find("i").css("transform","rotate(0deg)"); + $(".header .submenu-container .subm-ul").addClass("dis-none"); + $(".header .submenu-container .all-exm").addClass("dis-none"); + $(".header .menu .menu-contain .contain-ul li").removeClass("li-hover"); + event.stopPropagation(); + } + }); + $(".header .submenu-container").bind("mouseleave",function(event){ + if(event.relatedTarget.className != "contain-ul"){ + $(".header .menu .menu-contain .contain-ul li i").css("transform","rotate(0deg)"); + $(".header .submenu-container .subm-ul").addClass("dis-none"); + $(".header .submenu-container .all-exm").addClass("dis-none"); + $(".header .menu .menu-contain .contain-ul li").removeClass("li-hover"); + event.stopPropagation(); + } + }); + + // 左侧导航 + $(".content-wp .navbar-container .navbar-list .navbar-list-item").bind("mouseover",function(event){ + $(".content-wp .navbar-container .navbar-list .navbar-list-item").removeClass("navbar-list-item-hover"); + $(this).addClass("navbar-list-item-hover"); + + $(".content-wp .navbar-container .navbar-list-item-section").css("display","none"); + $("div[datatype='"+$(this).attr("datatype")+"']").css("display","block"); + event.stopPropagation(); + }).bind("mouseleave",function(event){ + if(event.relatedTarget.className != "navbar-list-item-section"){ + $(".content-wp .navbar-container .navbar-list .navbar-list-item").removeClass("navbar-list-item-hover"); + $(".content-wp .navbar-container .navbar-list-item-section").css("display","none"); + event.stopPropagation(); + } + }); + + $(".content-wp .navbar-container .navbar-list-item-section").bind("mouseleave",function(event){ + $(".content-wp .navbar-container .navbar-list .navbar-list-item").removeClass("navbar-list-item-hover"); + $(".content-wp .navbar-container .navbar-list-item-section").css("display","none"); + event.stopPropagation(); + }); + + // 马上做题 + $(".detail-kpoint-2").bind("mouseover",function(event){ + $(this).find(".mask").show(); + event.stopPropagation(); + }).bind("mouseleave",function(event){ + $(this).find(".mask").hide(); + event.stopPropagation(); + }); + + // 问题列表 + $(".quelist-wrap .question-box").bind("mouseover",function(event){ + $(this).addClass("hover-quescontainer"); + $(this).find(".view-analyse").find(".view-link").css("color","#11a68d!important"); + event.stopPropagation(); + }).bind("mouseleave",function(event){ + $(this).removeClass("hover-quescontainer"); + $(this).find(".view-analyse").find(".view-link").css("color","#11a68d!important"); + event.stopPropagation(); + }); + +}) \ No newline at end of file diff --git a/tamguo-bms/src/main/resources/static/js/member/minlogin.js b/tamguo-bms/src/main/resources/static/js/member/minlogin.js new file mode 100644 index 0000000..5df1af8 --- /dev/null +++ b/tamguo-bms/src/main/resources/static/js/member/minlogin.js @@ -0,0 +1,152 @@ +$(function(){ + // 登录窗口拖动 + $.drag({ + target:'#TANGRAM__PSP_19__title', + root:'#passport-login-pop', + lock:true + }); + + $(".header .login-container").bind("click",function(event){ + if($(this).find("span").length == 1){ + $(".mask").css("display","block"); + $("#passport-login-pop").css("display","block"); + } + }); + + $("#TANGRAM__PSP_19__closeBtn").bind("click",function(event){ + $(".mask").css("display","none"); + $("#passport-login-pop").css("display","none"); + }); + + $(".pass-login-pop-content .pass-text-input").bind("focus",function(event){ + $(this).addClass("pass-text-input-hover"); + }).bind("blur",function(event){ + $(this).removeClass("pass-text-input-hover"); + $(this).removeClass("pass-text-input-error"); + }).bind("keyup",function(event){ + if($(this).val() != ""){ + $("#"+$(this).attr("id")+"_clearbtn").css("display","block").css("visibility","visible"); + } + }); + + $(".pass-login-pop-content .pass-clearbtn").bind("click",function(event){ + $(this).css("display","none").css("visibility","hidden"); + $(this).prev().val(""); + $(this).prev().trigger("focus"); + }) + + $("#TANGRAM__PSP_25__submit").bind("click",function(event){ + if($("#TANGRAM__PSP_25__userName").val() == ""){ + $("#TANGRAM__PSP_25__userName").focus(); + $("#TANGRAM__PSP_25__error").html('请输入用户名/手机号/邮箱'); + return false; + } + if($("#TANGRAM__PSP_25__password").val() == ""){ + $("#TANGRAM__PSP_25__password").focus(); + $("#TANGRAM__PSP_25__error").html('请输入密码'); + return false; + } + var username = $("#TANGRAM__PSP_25__userName").val(); + var password = $("#TANGRAM__PSP_25__password").val(); + $.ajax({ + type : "get", + url : mainHttp + "miniLogin.html", + async : true, + data:{username:username,password:password,captcha:$("#TANGRAM__PSP_25__verifyCode").val()}, + dataType : "json", + success : function(data) {// 返回数据根据结果进行相应的处理,无论请求成功还是失败,都会走这个方法的 + if(data.code == 201){ + $("#TANGRAM__PSP_25__userName").addClass("pass-text-input-error").focus(); + $("#TANGRAM__PSP_25__userName").removeClass("pass-text-input-hover"); + $("#TANGRAM__PSP_25__userName").val(""); + $("#TANGRAM__PSP_25__password").val(""); + $("#TANGRAM__PSP_25__verifyCode").val(""); + $("#TANGRAM__PSP_25__verifyCodeChange").trigger("click"); + $("#TANGRAM__PSP_25__error").html('帐号或密码错误,请重新输入或者找回密码'); + }else if(data.code == 202){ + $("#TANGRAM__PSP_25__password").addClass("pass-text-input-error").focus(); + $("#TANGRAM__PSP_25__password").removeClass("pass-text-input-hover"); + $("#TANGRAM__PSP_25__password").val(""); + $("#TANGRAM__PSP_25__verifyCode").val(""); + $("#TANGRAM__PSP_25__verifyCodeChange").trigger("click"); + $("#TANGRAM__PSP_25__error").html('帐号或密码错误,请重新输入或者找回密码'); + } else if(data.code == 203){ + $("#TANGRAM__PSP_25__error").html('账号被锁定两小时'); + } else if(data.code == 204){ + $("#TANGRAM__PSP_25__verifyCodeImgWrapper").css("display","block"); + $("#TANGRAM__PSP_25__verifyCode").addClass("pass-text-input-error").focus(); + $("#TANGRAM__PSP_25__verifyCode").removeClass("pass-text-input-hover"); + $("#TANGRAM__PSP_25__verifyCode").val(""); + $("#TANGRAM__PSP_25__verifyCodeChange").trigger("click"); + $("#TANGRAM__PSP_25__error").html('请输入验证码!'); + } else if(data.code == 205){ + $("#TANGRAM__PSP_25__verifyCode").addClass("pass-text-input-error").focus(); + $("#TANGRAM__PSP_25__verifyCode").removeClass("pass-text-input-hover"); + $("#TANGRAM__PSP_25__verifyCode").val(""); + $("#TANGRAM__PSP_25__verifyCodeChange").trigger("click"); + $("#TANGRAM__PSP_25__error").html('验证码错误,请重新输入!'); + } else if(data.code == 0){ + window.location.reload(); + } + } + }); + return false; + }); + + $(".header .login-container").bind("mouseover",function(){ + if($(this).find("img").length == 1){ + $(this).addClass("black"); + $(".header .login-option").removeClass("dis-none"); + $(this).find("i").css("transform","rotate(180deg)"); + } + }).bind("mouseleave",function(event){ + if(event.relatedTarget == null){ + $(this).find("i").css("transform","rotate(0deg)"); + $(".header .submenu-container .subm-ul").addClass("dis-none"); + $(".header .submenu-container .all-exm").addClass("dis-none"); + $(".header .menu .menu-contain .contain-ul li").removeClass("li-hover"); + $("#loginOptionUl").addClass("dis-none"); + event.stopPropagation(); + } + if(event.relatedTarget.id != "loginOptionUl" && event.relatedTarget.parentElement.id != "loginOptionUl"){ + $(this).find("i").css("transform","rotate(0deg)"); + $(".header .submenu-container .subm-ul").addClass("dis-none"); + $(".header .submenu-container .all-exm").addClass("dis-none"); + $(".header .menu .menu-contain .contain-ul li").removeClass("li-hover"); + $("#loginOptionUl").addClass("dis-none"); + event.stopPropagation(); + } + }); + + $("#loginOptionUl").bind("mouseleave",function(){ + $(".header .login-container").find("i").css("transform","rotate(0deg)"); + $(".header .submenu-container .subm-ul").addClass("dis-none"); + $(".header .submenu-container .all-exm").addClass("dis-none"); + $(".header .menu .menu-contain .contain-ul li").removeClass("li-hover"); + $("#loginOptionUl").addClass("dis-none"); + event.stopPropagation(); + }); + + $("#TANGRAM__PSP_25__smsSwitchWrapper").bind("click",function(){ + $("#passport-login-pop-api").css("display","none").css("visibility","hidden"); + $("#TANGRAM__PSP_25__sms").css("display","block").css("visibility","visible"); + $("#TANGRAM__PSP_25__footerQrcodeBtn").show(); + $("#TANGRAM__PSP_25__footerULoginBtn").hide(); + }); + + $("#TANGRAM__PSP_25__sms_btn_back").bind("click",function(){ + $("#passport-login-pop-api").css("display","block").css("visibility","visible"); + $("#TANGRAM__PSP_25__sms").css("display","none").css("visibility","hidden"); + $("#TANGRAM__PSP_25__footerULoginBtn").show(); + $("#TANGRAM__PSP_25__footerQrcodeBtn").hide(); + }); + + $("#TANGRAM__PSP_25__verifyCodeChange").bind("click",function(){ + $("#TANGRAM__PSP_25__verifyCodeImg").attr("src",mainHttp + "captcha.jpg?t=" + $.now()); + }); + + $("#TANGRAM__PSP_25__verifyCodeImg").bind("click",function(){ + $("#TANGRAM__PSP_25__verifyCodeImg").attr("src",mainHttp + "captcha.jpg?t=" + $.now()); + }); + +}) \ No newline at end of file diff --git a/tamguo-bms/src/main/resources/templates/include/footer.html b/tamguo-bms/src/main/resources/templates/include/footer.html new file mode 100644 index 0000000..2a28905 --- /dev/null +++ b/tamguo-bms/src/main/resources/templates/include/footer.html @@ -0,0 +1,79 @@ + + + + \ No newline at end of file diff --git a/tamguo-bms/src/main/resources/templates/include/header.html b/tamguo-bms/src/main/resources/templates/include/header.html new file mode 100644 index 0000000..310f650 --- /dev/null +++ b/tamguo-bms/src/main/resources/templates/include/header.html @@ -0,0 +1,29 @@ + + +
+ +
+ \ No newline at end of file diff --git a/tamguo-bms/src/main/resources/templates/include/minilogin.html b/tamguo-bms/src/main/resources/templates/include/minilogin.html new file mode 100644 index 0000000..e3c4583 --- /dev/null +++ b/tamguo-bms/src/main/resources/templates/include/minilogin.html @@ -0,0 +1,92 @@ + + + +
\ No newline at end of file diff --git a/tamguo-bms/src/main/resources/templates/index.html b/tamguo-bms/src/main/resources/templates/index.html new file mode 100644 index 0000000..fa937ab --- /dev/null +++ b/tamguo-bms/src/main/resources/templates/index.html @@ -0,0 +1,124 @@ + + + + 聪明的学生都在这里 - 探果网 + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+ + + +
+
+ 运行支持组 +
+
+ + 作者 + - + mayun12 + +
+
+
+
+
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/tamguo-bms/src/main/resources/templates/member/book/compare.html b/tamguo-bms/src/main/resources/templates/member/book/compare.html deleted file mode 100644 index 845bb4e..0000000 --- a/tamguo-bms/src/main/resources/templates/member/book/compare.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - 文档比较 - Tamguo - - - - - - - - - - - - - - - - - - - - - - -
    -
  • 保存合并
  • -
  • -
  • 上一处差异
  • -
  • 下一处差异
  • -
  • -
  • 合并到左侧
  • -
  • 合并到右侧
  • -
  • 左右切换
  • -
- - -
- - - - -
- -
-
-
- - - - - - diff --git a/tamguo-bms/src/main/resources/templates/member/book/edit.html b/tamguo-bms/src/main/resources/templates/member/book/edit.html deleted file mode 100644 index b592c1d..0000000 --- a/tamguo-bms/src/main/resources/templates/member/book/edit.html +++ /dev/null @@ -1,781 +0,0 @@ - - - - - - - - 书籍 - 探果网 - - - - - - - - - - - - - - - - -
-
-
- -
-
- - -
-
- - -
-
- - - -
-
- H1 - H2 - H3 - H4 - H5 - H6 -
-
- - - -
-
- - - - - - - - - - - -
- -
- - - - -
- -
- -
- -
- - -
- -
-
-
-
-
- - -
-
- -
-
-
-
-
-
-
0 个附件
-
-
- -
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - -
#模板名称模板类型创建人创建时间操作
暂无数据
- - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tamguo-bms/src/main/resources/templates/member/book/history.html b/tamguo-bms/src/main/resources/templates/member/book/history.html deleted file mode 100644 index 07321cc..0000000 --- a/tamguo-bms/src/main/resources/templates/member/book/history.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - - - - 历史版本 - Tamguo - - - - - - -
-
- - - - - - - - - - - - - - - - - -
修改时间修改人操作
2018-11-14 06:55:34admin - - - - - -
-
-
- - - - - - \ No newline at end of file diff --git a/tamguo-bms/src/main/resources/templates/member/book/list.html b/tamguo-bms/src/main/resources/templates/member/book/list.html deleted file mode 100644 index 7c237e8..0000000 --- a/tamguo-bms/src/main/resources/templates/member/book/list.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - 书籍列表 - 探果网 - - - - - - - - - - - -
-
- - -
-
- tamguo - 退出 -
-
-
-
- -
-
-
- 探果五步曲 -
-
-
    -
  • 1新建书籍
  • -
  • 2添加章节
  • -
  • 3书写内容
  • -
  • 4发布试卷
  • -
  • 5等待收益
  • -
-
-
-
- -
-
-

我的试卷

-
-
- -
    - -
-
-
-
- - -
- - - - - - - - - diff --git a/tamguo-bms/src/main/resources/templates/member/index.html b/tamguo-bms/src/main/resources/templates/member/index.html deleted file mode 100644 index 7ce7836..0000000 --- a/tamguo-bms/src/main/resources/templates/member/index.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - 会员中心 - 探果网 - - - - - - - - -
-
- - -
-
- tamguo - 退出 -
-
-
-
- - -
-
-
- 探果五步曲 -
-
-
    -
  • 1新建书籍
  • -
  • 2添加章节
  • -
  • 3书写内容
  • -
  • 4发布书籍
  • -
  • 5等待收益
  • -
-
-
-
- -
-
-

-   - tamguo,您好!欢迎来到探果网会员中心 - -

- -
-
-

基本信息

-
- - - - -
- - - -
- 盘诚软件 - 编辑 -
-

-
-
-
-

账户信息

-
    -
  • 积分: - 1000分 -
  • -
  • 余额:50
  • -
  • 最近登录时间:2018-04-27 10:32
  • -
- 我的钱包 -
-
- -
-
-
    -
  • -
    - 0
    - 下载总数 -
  • -
  • -
    - 1
    - 书籍总数 -
  • -
  • -
    - 0
    - 阅读总数 -
  • -
  • -
    - 19
    - 章节总数 -
  • -
-
-
- -
- 开始新建书籍 -
-
-
-
-
- - -
- - \ No newline at end of file diff --git a/tamguo-modules-core/src/main/java/com/tamguo/modules/book/model/BookEntity.java b/tamguo-modules-core/src/main/java/com/tamguo/modules/book/model/BookEntity.java index e9c2701..22c37a7 100644 --- a/tamguo-modules-core/src/main/java/com/tamguo/modules/book/model/BookEntity.java +++ b/tamguo-modules-core/src/main/java/com/tamguo/modules/book/model/BookEntity.java @@ -28,6 +28,8 @@ public class BookEntity extends Model{ @TableField(exist=false) private List categoryIds; + @TableField(exist=false) + private String memberName; public String getId() { return id; @@ -99,4 +101,10 @@ public class BookEntity extends Model{ public void setCategoryIds(List categoryIds) { this.categoryIds = categoryIds; } + public String getMemberName() { + return memberName; + } + public void setMemberName(String memberName) { + this.memberName = memberName; + } }