Browse Source

接口测试更改

Antiloveg 9 years ago
parent
commit
64ac99898f

+ 10 - 0
src/main/java/com/goafanti/common/controller/BaseController.java

@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.InitBinder;
 import org.springframework.web.bind.annotation.ModelAttribute;
 
 import com.goafanti.common.bo.Error;
+import com.goafanti.core.shiro.token.TokenManager;
 
 @Controller
 public class BaseController {
@@ -27,6 +28,12 @@ public class BaseController {
 
 	@Value(value = "${static.host}")
 	private String staticHost = null;
+	
+	@Value(value = "${upload.path}")
+	private String uploadPath = null;
+	
+	@Value(value = "${upload.private.path}")
+	private String uploadPrivatePath = null;
 
 	protected Error buildError(String key) {
 		return buildError(key, null);
@@ -72,5 +79,8 @@ public class BaseController {
 	public void prepareModel(HttpServletRequest request, Model model) {
 		model.addAttribute("staticHost", staticHost);
 		model.addAttribute("basePath", request.getContextPath());
+		model.addAttribute("uploadPath",uploadPath);
+		model.addAttribute("uploadPrivatePath",uploadPrivatePath);
+		model.addAttribute("userData",TokenManager.getToken());
 	}
 }

+ 1 - 0
src/main/java/com/goafanti/common/controller/PublicController.java

@@ -133,6 +133,7 @@ public class PublicController extends BaseController {
 			String mobileVerifyCode = VerifyCodeUtils.generateMobileVerifyCode(6);
 			// 存入Shiro会话session
 		    TokenManager.setVal2Session(VerifyCodeUtils.M_CODE, mobileVerifyCode);
+		    System.out.println(TokenManager.getSession().getAttribute(VerifyCodeUtils.M_CODE));
 		    TokenManager.setVal2Session(VerifyCodeUtils.M_CODE_TIME, System.currentTimeMillis());
 	        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAIqTgQLLwz252Z", "ICGuiUnqzaar7urw4zecVcJrJ1MHg9");
 	         try {

+ 38 - 18
src/main/java/com/goafanti/common/controller/WebpageController.java

@@ -1,18 +1,38 @@
-package com.goafanti.common.controller;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.servlet.ModelAndView;
-
-@Controller
-public class WebpageController extends BaseController {
-
-	@RequestMapping(value = "/", method = RequestMethod.GET)
-	public String home(HttpServletRequest request, ModelAndView modelview) {
-		return "/index";
-	}
-
-}
+package com.goafanti.common.controller;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.servlet.ModelAndView;
+
+@Controller
+public class WebpageController extends BaseController {
+
+	@RequestMapping(value = "/", method = RequestMethod.GET)
+	public String home(HttpServletRequest request, ModelAndView modelview) {
+		return "/index";
+	}
+	
+	@RequestMapping(value = "user/account/index", method = RequestMethod.GET)
+	public String index(HttpServletRequest request, ModelAndView modelview) {
+		return "/user/account/index";
+	}
+	
+	@RequestMapping(value = "/user/account/set", method = RequestMethod.GET)
+	public String userSet(HttpServletRequest request, ModelAndView modelview) {
+		return "/user/account/set";
+	}
+	
+	@RequestMapping(value = "/user/login", method = RequestMethod.GET)
+	public String userLogin(HttpServletRequest request, ModelAndView modelview) {
+		return "/user/login";
+	}
+	
+	@RequestMapping(value = "/user/signIn", method = RequestMethod.GET)
+	public String userSignin(HttpServletRequest request, ModelAndView modelview) {
+		return "/user/signIn";
+	}
+
+}

+ 15 - 4
src/main/java/com/goafanti/common/mapper/UserMapper.xml

@@ -9,13 +9,14 @@
     <result column="email" jdbcType="VARCHAR" property="email" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
     <result column="number" jdbcType="BIGINT" property="number" />
+    <result column="lvl" jdbcType="INTEGER" property="lvl" />
     <result column="type" jdbcType="INTEGER" property="type" />
   </resultMap>
   
   
   
   <sql id="Base_Column_List">
-    id, mobile, password, nickname, email, create_time, number, type
+    id, mobile, password, nickname, email, create_time, number, lvl, type
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
     select 
@@ -30,10 +31,10 @@
   <insert id="insert" parameterType="com.goafanti.common.model.User">
     insert into user (id, mobile, password, 
       nickname, email, create_time, 
-      number, type)
+      number, lvl, type)
     values (#{id,jdbcType=VARCHAR}, #{mobile,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, 
       #{nickname,jdbcType=VARCHAR}, #{email,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, 
-      #{number,jdbcType=BIGINT}, #{type,jdbcType=INTEGER})
+      #{number,jdbcType=BIGINT}, #{lvl,jdbcType=INTEGER},#{type,jdbcType=INTEGER})
   </insert>
   <insert id="insertSelective" parameterType="com.goafanti.common.model.User">
     insert into user
@@ -59,6 +60,9 @@
       <if test="number != null">
         number,
       </if>
+      <if test="lvl != null">
+        lvl,
+      </if>
       <if test="type != null">
         type,
       </if>
@@ -85,6 +89,9 @@
       <if test="number != null">
         #{number,jdbcType=BIGINT},
       </if>
+       <if test="lvl != null">
+        #{lvl,jdbcType=BIGINT},
+      </if>
       <if test="type != null">
         #{type,jdbcType=INTEGER},
       </if>
@@ -111,8 +118,11 @@
       <if test="number != null">
         number = #{number,jdbcType=BIGINT},
       </if>
+      <if test="lvl != null">
+        lvl = #{lvl,jdbcType=INTEGER},
+      </if>
       <if test="type != null">
-        type = #{type,jdbcType=INTEGER},
+        type = #{type,jdbcType=INTEGER}
       </if>
     </set>
     where id = #{id,jdbcType=VARCHAR}
@@ -125,6 +135,7 @@
       email = #{email,jdbcType=VARCHAR},
       create_time = #{createTime,jdbcType=TIMESTAMP},
       number = #{number,jdbcType=BIGINT},
+      lvl = #{lvl,jdbcType=INTEGER},
       type = #{type,jdbcType=INTEGER}
     where id = #{id,jdbcType=VARCHAR}
   </update>

+ 17 - 1
src/main/java/com/goafanti/common/model/User.java

@@ -49,7 +49,13 @@ public class User extends BaseModel{
     * 用户编号
     */
     private Long number;
-
+    
+    /**
+     * 用户等级
+     */
+    private Integer lvl;
+    
+    
     /**
     * 个人账号还是组织账号
 默认0为个人账号,1为组织账号
@@ -119,5 +125,15 @@ public class User extends BaseModel{
     public void setType(Integer type) {
         this.type = type;
     }
+
+	public Integer getLvl() {
+		return lvl;
+	}
+
+	public void setLvl(Integer lvl) {
+		this.lvl = lvl;
+	}
+    
+    
     
 }

+ 1 - 1
src/main/java/com/goafanti/common/utils/TimeUtils.java

@@ -15,7 +15,7 @@ public class TimeUtils {
 	        		 flag=true;
 	        	  }
         	  }else if("register".equals(s)){
-        		  if(System.currentTimeMillis()-(Long) TokenManager.getSession().getAttribute(VerifyCodeUtils.M_CODE_TIME)>90000){
+        		  if(System.currentTimeMillis()-(Long) TokenManager.getSession().getAttribute(VerifyCodeUtils.M_CODE_TIME)>900000){
  	        		 flag=true;
  	        	  }
         	  }

+ 18 - 1
src/main/java/com/goafanti/user/controller/UserApiController.java

@@ -174,7 +174,12 @@ public class UserApiController extends BaseApiController {
 		res.setData(handleFile(res, "/avatar/", false, req));
 		return res;
 	}
-
+    
+	/**
+	 * 认证
+	 * @param req
+	 * @return
+	 */
 	@RequestMapping(value = "/identity/upload", method = RequestMethod.POST)
 	public Result identityFile(HttpServletRequest req) {
 		Result res = new Result();
@@ -182,6 +187,18 @@ public class UserApiController extends BaseApiController {
 		return res;
 	}
 	
+	/**
+	 * 专利
+	 * @param req
+	 * @return
+	 */
+	@RequestMapping(value = "/patent/upload", method = RequestMethod.POST)
+	public Result patentFile(HttpServletRequest req) {
+		Result res = new Result();
+		res.setData(handleFile(res, "/patent/", true, req));
+		return res;
+	}
+	
 	private String handleFile(Result res, String path, boolean isPrivate, HttpServletRequest req) {
 		List<MultipartFile> files = getFiles(req);
 		String fileName = path + System.nanoTime() + ".jpg";

+ 10 - 1
src/main/java/com/goafanti/user/controller/UserLoginController.java

@@ -12,6 +12,7 @@ import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.view.RedirectView;
 
 import com.goafanti.common.bo.Result;
+import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseController;
 import com.goafanti.common.model.User;
 import com.goafanti.core.shiro.token.TokenManager;
@@ -25,10 +26,18 @@ public class UserLoginController extends BaseController {
 	private UserService userService;
 	
 	@RequestMapping(value = "/login", method = RequestMethod.GET)
+	@ResponseBody
+	public Result login(HttpServletRequest request, Model model) {
+		Result res = new Result();
+			TokenManager.logout();
+		return res;
+	}
+	
+	/*@RequestMapping(value = "/login", method = RequestMethod.GET)
 	public String login(HttpServletRequest request, Model model) {
 		TokenManager.logout();
 		return "login";
-	}
+	}*/
 
 	@RequestMapping(value = "/login", method = RequestMethod.POST)
 	public ModelAndView doLogin(User user, Boolean rememberMe, HttpServletRequest request, ModelAndView modelview) {

+ 6 - 3
src/main/java/com/goafanti/user/controller/UserRegisterController.java

@@ -11,6 +11,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
 
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
@@ -35,9 +36,10 @@ public class UserRegisterController extends BaseController{
 	 * @return
 	 */
 	@RequestMapping(value = "/register", method = RequestMethod.POST)
-	public Result register(User user,
-			String companyName,String verificationCode,String contacts,
-			String mobileCode,BindingResult bindingResult){
+	@ResponseBody
+		public Result register(@Valid User user,
+				String companyName,String verificationCode,String contacts,
+				String mobileCode,BindingResult bindingResult){
 		Result res = new Result();
 		if(!TokenManager.getSession().getAttribute(VerifyCodeUtils.V_CODE).equals(verificationCode)){
 			res.getError().add(buildError(ErrorConstants.VCODE_ERROR,"验证码错误"));
@@ -48,6 +50,7 @@ public class UserRegisterController extends BaseController{
 			res.getError().add(buildError(ErrorConstants.MCODE_OVERTIME_ERROR,"手机验证码超时失效"));
 			return res;
 		}
+		System.out.println(TokenManager.getSession().getAttribute(VerifyCodeUtils.M_CODE));
 		if(!TokenManager.getSession().getAttribute(VerifyCodeUtils.M_CODE).equals(mobileCode)){
 			res.getError().add(buildError(ErrorConstants.MCODE_ERROR,"手机验证码错误"));
 			return res;

+ 56 - 53
src/main/resources/props/config_dev.properties

@@ -1,53 +1,56 @@
-#Driver
-jdbc.driverClassName=com.mysql.jdbc.Driver
-#\u6570\u636E\u5E93\u94FE\u63A5\uFF0C
-jdbc.url=jdbc:mysql://123.57.207.214:3306/pro_aft_test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
-#\u5E10\u53F7
-jdbc.username=xiaolong
-#\u5BC6\u7801
-jdbc.password=!qaz2wsx
-#\u68C0\u6D4B\u6570\u636E\u5E93\u94FE\u63A5\u662F\u5426\u6709\u6548\uFF0C\u5FC5\u987B\u914D\u7F6E
-jdbc.validationQuery=SELECT 'x'
-#\u521D\u59CB\u8FDE\u63A5\u6570
-jdbc.initialSize=3
-#\u6700\u5927\u8FDE\u63A5\u6C60\u6570\u91CF
-jdbc.maxActive=20
-#\u53BB\u6389\uFF0C\u914D\u7F6E\u6587\u4EF6\u5BF9\u5E94\u53BB\u6389
-#jdbc.maxIdle=20
-#\u914D\u7F6E0,\u5F53\u7EBF\u7A0B\u6C60\u6570\u91CF\u4E0D\u8DB3\uFF0C\u81EA\u52A8\u8865\u5145\u3002
-jdbc.minIdle=0
-#\u83B7\u53D6\u94FE\u63A5\u8D85\u65F6\u65F6\u95F4\u4E3A1\u5206\u949F\uFF0C\u5355\u4F4D\u4E3A\u6BEB\u79D2\u3002
-jdbc.maxWait=120000
-#\u83B7\u53D6\u94FE\u63A5\u7684\u65F6\u5019\uFF0C\u4E0D\u6821\u9A8C\u662F\u5426\u53EF\u7528\uFF0C\u5F00\u542F\u4F1A\u6709\u635F\u6027\u80FD\u3002
-jdbc.testOnBorrow=false
-#\u5F52\u8FD8\u94FE\u63A5\u5230\u8FDE\u63A5\u6C60\u7684\u65F6\u5019\u6821\u9A8C\u94FE\u63A5\u662F\u5426\u53EF\u7528\u3002
-jdbc.testOnReturn=false
-#\u6B64\u9879\u914D\u7F6E\u4E3Atrue\u5373\u53EF\uFF0C\u4E0D\u5F71\u54CD\u6027\u80FD\uFF0C\u5E76\u4E14\u4FDD\u8BC1\u5B89\u5168\u6027\u3002\u610F\u4E49\u4E3A\uFF1A\u7533\u8BF7\u8FDE\u63A5\u7684\u65F6\u5019\u68C0\u6D4B\uFF0C\u5982\u679C\u7A7A\u95F2\u65F6\u95F4\u5927\u4E8EtimeBetweenEvictionRunsMillis\uFF0C\u6267\u884CvalidationQuery\u68C0\u6D4B\u8FDE\u63A5\u662F\u5426\u6709\u6548\u3002
-jdbc.testWhileIdle=true
-#1.Destroy\u7EBF\u7A0B\u4F1A\u68C0\u6D4B\u8FDE\u63A5\u7684\u95F4\u9694\u65F6\u95F4
-#2.testWhileIdle\u7684\u5224\u65AD\u4F9D\u636E
-jdbc.timeBetweenEvictionRunsMillis=60000
-#\u4E00\u4E2A\u94FE\u63A5\u751F\u5B58\u7684\u65F6\u95F4\uFF08\u4E4B\u524D\u7684\u503C\uFF1A25200000\uFF0C\u8FD9\u4E2A\u65F6\u95F4\u6709\u70B9BT\uFF0C\u8FD9\u4E2A\u7ED3\u679C\u4E0D\u77E5\u9053\u662F\u600E\u4E48\u6765\u7684\uFF0C\u6362\u7B97\u540E\u7684\u7ED3\u679C\u662F\uFF1A25200000/1000/60/60 = 7\u4E2A\u5C0F\u65F6\uFF09
-jdbc.minEvictableIdleTimeMillis=300000
-#\u94FE\u63A5\u4F7F\u7528\u8D85\u8FC7\u65F6\u95F4\u9650\u5236\u662F\u5426\u56DE\u6536
-jdbc.removeAbandoned=true
-#\u8D85\u8FC7\u65F6\u95F4\u9650\u5236\u65F6\u95F4\uFF08\u5355\u4F4D\u79D2\uFF09\uFF0C\u76EE\u524D\u4E3A5\u5206\u949F\uFF0C\u5982\u679C\u6709\u4E1A\u52A1\u5904\u7406\u65F6\u95F4\u8D85\u8FC75\u5206\u949F\uFF0C\u53EF\u4EE5\u9002\u5F53\u8C03\u6574\u3002
-jdbc.removeAbandonedTimeout=300
-#\u94FE\u63A5\u56DE\u6536\u7684\u65F6\u5019\u63A7\u5236\u53F0\u6253\u5370\u4FE1\u606F\uFF0C\u6D4B\u8BD5\u73AF\u5883\u53EF\u4EE5\u52A0\u4E0Atrue\uFF0C\u7EBF\u4E0A\u73AF\u5883false\u3002\u4F1A\u5F71\u54CD\u6027\u80FD\u3002
-jdbc.logAbandoned=true
-#\u7EDF\u8BA1\u76D1\u63A7
-jdbc.filters=stat
-
-jedis.host=123.57.207.214
-jedis.port=6379
-jedis.timeout=5000
-jedis.password=aft@2016!redis$
-
-pwd.hash_algorithm_name=md5
-pwd.hash_iterations=2
-
-session.timeout=12000000
-session.validate.timespan=18000000
-
-app.name=AFT
-static.host=//afts.hnzhiming.com
+#Driver
+jdbc.driverClassName=com.mysql.jdbc.Driver
+#\u6570\u636e\u5e93\u94fe\u63a5\uff0c
+jdbc.url=jdbc:mysql://123.57.207.214:3306/pro_aft_test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
+#\u5e10\u53f7
+jdbc.username=xiaolong
+#\u5bc6\u7801
+jdbc.password=!qaz2wsx
+#\u68c0\u6d4b\u6570\u636e\u5e93\u94fe\u63a5\u662f\u5426\u6709\u6548\uff0c\u5fc5\u987b\u914d\u7f6e
+jdbc.validationQuery=SELECT 'x'
+#\u521d\u59cb\u8fde\u63a5\u6570
+jdbc.initialSize=3
+#\u6700\u5927\u8fde\u63a5\u6c60\u6570\u91cf
+jdbc.maxActive=20
+#\u53bb\u6389\uff0c\u914d\u7f6e\u6587\u4ef6\u5bf9\u5e94\u53bb\u6389
+#jdbc.maxIdle=20
+#\u914d\u7f6e0,\u5f53\u7ebf\u7a0b\u6c60\u6570\u91cf\u4e0d\u8db3\uff0c\u81ea\u52a8\u8865\u5145\u3002
+jdbc.minIdle=0
+#\u83b7\u53d6\u94fe\u63a5\u8d85\u65f6\u65f6\u95f4\u4e3a1\u5206\u949f\uff0c\u5355\u4f4d\u4e3a\u6beb\u79d2\u3002
+jdbc.maxWait=120000
+#\u83b7\u53d6\u94fe\u63a5\u7684\u65f6\u5019\uff0c\u4e0d\u6821\u9a8c\u662f\u5426\u53ef\u7528\uff0c\u5f00\u542f\u4f1a\u6709\u635f\u6027\u80fd\u3002
+jdbc.testOnBorrow=false
+#\u5f52\u8fd8\u94fe\u63a5\u5230\u8fde\u63a5\u6c60\u7684\u65f6\u5019\u6821\u9a8c\u94fe\u63a5\u662f\u5426\u53ef\u7528\u3002
+jdbc.testOnReturn=false
+#\u6b64\u9879\u914d\u7f6e\u4e3atrue\u5373\u53ef\uff0c\u4e0d\u5f71\u54cd\u6027\u80fd\uff0c\u5e76\u4e14\u4fdd\u8bc1\u5b89\u5168\u6027\u3002\u610f\u4e49\u4e3a\uff1a\u7533\u8bf7\u8fde\u63a5\u7684\u65f6\u5019\u68c0\u6d4b\uff0c\u5982\u679c\u7a7a\u95f2\u65f6\u95f4\u5927\u4e8etimeBetweenEvictionRunsMillis\uff0c\u6267\u884cvalidationQuery\u68c0\u6d4b\u8fde\u63a5\u662f\u5426\u6709\u6548\u3002
+jdbc.testWhileIdle=true
+#1.Destroy\u7ebf\u7a0b\u4f1a\u68c0\u6d4b\u8fde\u63a5\u7684\u95f4\u9694\u65f6\u95f4
+#2.testWhileIdle\u7684\u5224\u65ad\u4f9d\u636e
+jdbc.timeBetweenEvictionRunsMillis=60000
+#\u4e00\u4e2a\u94fe\u63a5\u751f\u5b58\u7684\u65f6\u95f4\uff08\u4e4b\u524d\u7684\u503c\uff1a25200000\uff0c\u8fd9\u4e2a\u65f6\u95f4\u6709\u70b9BT\uff0c\u8fd9\u4e2a\u7ed3\u679c\u4e0d\u77e5\u9053\u662f\u600e\u4e48\u6765\u7684\uff0c\u6362\u7b97\u540e\u7684\u7ed3\u679c\u662f\uff1a25200000/1000/60/60 = 7\u4e2a\u5c0f\u65f6\uff09
+jdbc.minEvictableIdleTimeMillis=300000
+#\u94fe\u63a5\u4f7f\u7528\u8d85\u8fc7\u65f6\u95f4\u9650\u5236\u662f\u5426\u56de\u6536
+jdbc.removeAbandoned=true
+#\u8d85\u8fc7\u65f6\u95f4\u9650\u5236\u65f6\u95f4\uff08\u5355\u4f4d\u79d2\uff09\uff0c\u76ee\u524d\u4e3a5\u5206\u949f\uff0c\u5982\u679c\u6709\u4e1a\u52a1\u5904\u7406\u65f6\u95f4\u8d85\u8fc75\u5206\u949f\uff0c\u53ef\u4ee5\u9002\u5f53\u8c03\u6574\u3002
+jdbc.removeAbandonedTimeout=300
+#\u94fe\u63a5\u56de\u6536\u7684\u65f6\u5019\u63a7\u5236\u53f0\u6253\u5370\u4fe1\u606f\uff0c\u6d4b\u8bd5\u73af\u5883\u53ef\u4ee5\u52a0\u4e0atrue\uff0c\u7ebf\u4e0a\u73af\u5883false\u3002\u4f1a\u5f71\u54cd\u6027\u80fd\u3002
+jdbc.logAbandoned=true
+#\u7edf\u8ba1\u76d1\u63a7
+jdbc.filters=stat
+
+jedis.host=123.57.207.214
+jedis.port=6379
+jedis.timeout=5000
+jedis.password=aft@2016!redis$
+
+pwd.hash_algorithm_name=md5
+pwd.hash_iterations=2
+
+session.timeout=12000000
+session.validate.timespan=18000000
+
+app.name=AFT
+static.host=//afts.hnzhiming.com
+
+upload.path=/data/wwwroot/aft/upload
+upload.private.path=/data/upload

+ 19 - 19
src/main/resources/props/config_local.properties

@@ -1,41 +1,41 @@
 #Driver
 jdbc.driverClassName=com.mysql.jdbc.Driver
-#\u6570\u636E\u5E93\u94FE\u63A5\uFF0C
+#\u6570\u636e\u5e93\u94fe\u63a5\uff0c
 jdbc.url=jdbc:mysql://localhost:3306/aft_dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
-#\u5E10\u53F7
+#\u5e10\u53f7
 jdbc.username=root
-#\u5BC6\u7801
+#\u5bc6\u7801
 jdbc.password=123456
-#\u68C0\u6D4B\u6570\u636E\u5E93\u94FE\u63A5\u662F\u5426\u6709\u6548\uFF0C\u5FC5\u987B\u914D\u7F6E
+#\u68c0\u6d4b\u6570\u636e\u5e93\u94fe\u63a5\u662f\u5426\u6709\u6548\uff0c\u5fc5\u987b\u914d\u7f6e
 jdbc.validationQuery=SELECT 'x'
-#\u521D\u59CB\u8FDE\u63A5\u6570
+#\u521d\u59cb\u8fde\u63a5\u6570
 jdbc.initialSize=3
-#\u6700\u5927\u8FDE\u63A5\u6C60\u6570\u91CF
+#\u6700\u5927\u8fde\u63a5\u6c60\u6570\u91cf
 jdbc.maxActive=20
-#\u53BB\u6389\uFF0C\u914D\u7F6E\u6587\u4EF6\u5BF9\u5E94\u53BB\u6389
+#\u53bb\u6389\uff0c\u914d\u7f6e\u6587\u4ef6\u5bf9\u5e94\u53bb\u6389
 #jdbc.maxIdle=20
-#\u914D\u7F6E0,\u5F53\u7EBF\u7A0B\u6C60\u6570\u91CF\u4E0D\u8DB3\uFF0C\u81EA\u52A8\u8865\u5145\u3002
+#\u914d\u7f6e0,\u5f53\u7ebf\u7a0b\u6c60\u6570\u91cf\u4e0d\u8db3\uff0c\u81ea\u52a8\u8865\u5145\u3002
 jdbc.minIdle=0
-#\u83B7\u53D6\u94FE\u63A5\u8D85\u65F6\u65F6\u95F4\u4E3A1\u5206\u949F\uFF0C\u5355\u4F4D\u4E3A\u6BEB\u79D2\u3002
+#\u83b7\u53d6\u94fe\u63a5\u8d85\u65f6\u65f6\u95f4\u4e3a1\u5206\u949f\uff0c\u5355\u4f4d\u4e3a\u6beb\u79d2\u3002
 jdbc.maxWait=120000
-#\u83B7\u53D6\u94FE\u63A5\u7684\u65F6\u5019\uFF0C\u4E0D\u6821\u9A8C\u662F\u5426\u53EF\u7528\uFF0C\u5F00\u542F\u4F1A\u6709\u635F\u6027\u80FD\u3002
+#\u83b7\u53d6\u94fe\u63a5\u7684\u65f6\u5019\uff0c\u4e0d\u6821\u9a8c\u662f\u5426\u53ef\u7528\uff0c\u5f00\u542f\u4f1a\u6709\u635f\u6027\u80fd\u3002
 jdbc.testOnBorrow=false
-#\u5F52\u8FD8\u94FE\u63A5\u5230\u8FDE\u63A5\u6C60\u7684\u65F6\u5019\u6821\u9A8C\u94FE\u63A5\u662F\u5426\u53EF\u7528\u3002
+#\u5f52\u8fd8\u94fe\u63a5\u5230\u8fde\u63a5\u6c60\u7684\u65f6\u5019\u6821\u9a8c\u94fe\u63a5\u662f\u5426\u53ef\u7528\u3002
 jdbc.testOnReturn=false
-#\u6B64\u9879\u914D\u7F6E\u4E3Atrue\u5373\u53EF\uFF0C\u4E0D\u5F71\u54CD\u6027\u80FD\uFF0C\u5E76\u4E14\u4FDD\u8BC1\u5B89\u5168\u6027\u3002\u610F\u4E49\u4E3A\uFF1A\u7533\u8BF7\u8FDE\u63A5\u7684\u65F6\u5019\u68C0\u6D4B\uFF0C\u5982\u679C\u7A7A\u95F2\u65F6\u95F4\u5927\u4E8EtimeBetweenEvictionRunsMillis\uFF0C\u6267\u884CvalidationQuery\u68C0\u6D4B\u8FDE\u63A5\u662F\u5426\u6709\u6548\u3002
+#\u6b64\u9879\u914d\u7f6e\u4e3atrue\u5373\u53ef\uff0c\u4e0d\u5f71\u54cd\u6027\u80fd\uff0c\u5e76\u4e14\u4fdd\u8bc1\u5b89\u5168\u6027\u3002\u610f\u4e49\u4e3a\uff1a\u7533\u8bf7\u8fde\u63a5\u7684\u65f6\u5019\u68c0\u6d4b\uff0c\u5982\u679c\u7a7a\u95f2\u65f6\u95f4\u5927\u4e8etimeBetweenEvictionRunsMillis\uff0c\u6267\u884cvalidationQuery\u68c0\u6d4b\u8fde\u63a5\u662f\u5426\u6709\u6548\u3002
 jdbc.testWhileIdle=true
-#1.Destroy\u7EBF\u7A0B\u4F1A\u68C0\u6D4B\u8FDE\u63A5\u7684\u95F4\u9694\u65F6\u95F4
-#2.testWhileIdle\u7684\u5224\u65AD\u4F9D\u636E
+#1.Destroy\u7ebf\u7a0b\u4f1a\u68c0\u6d4b\u8fde\u63a5\u7684\u95f4\u9694\u65f6\u95f4
+#2.testWhileIdle\u7684\u5224\u65ad\u4f9d\u636e
 jdbc.timeBetweenEvictionRunsMillis=60000
-#\u4E00\u4E2A\u94FE\u63A5\u751F\u5B58\u7684\u65F6\u95F4\uFF08\u4E4B\u524D\u7684\u503C\uFF1A25200000\uFF0C\u8FD9\u4E2A\u65F6\u95F4\u6709\u70B9BT\uFF0C\u8FD9\u4E2A\u7ED3\u679C\u4E0D\u77E5\u9053\u662F\u600E\u4E48\u6765\u7684\uFF0C\u6362\u7B97\u540E\u7684\u7ED3\u679C\u662F\uFF1A25200000/1000/60/60 = 7\u4E2A\u5C0F\u65F6\uFF09
+#\u4e00\u4e2a\u94fe\u63a5\u751f\u5b58\u7684\u65f6\u95f4\uff08\u4e4b\u524d\u7684\u503c\uff1a25200000\uff0c\u8fd9\u4e2a\u65f6\u95f4\u6709\u70b9BT\uff0c\u8fd9\u4e2a\u7ed3\u679c\u4e0d\u77e5\u9053\u662f\u600e\u4e48\u6765\u7684\uff0c\u6362\u7b97\u540e\u7684\u7ed3\u679c\u662f\uff1a25200000/1000/60/60 = 7\u4e2a\u5c0f\u65f6\uff09
 jdbc.minEvictableIdleTimeMillis=300000
-#\u94FE\u63A5\u4F7F\u7528\u8D85\u8FC7\u65F6\u95F4\u9650\u5236\u662F\u5426\u56DE\u6536
+#\u94fe\u63a5\u4f7f\u7528\u8d85\u8fc7\u65f6\u95f4\u9650\u5236\u662f\u5426\u56de\u6536
 jdbc.removeAbandoned=true
-#\u8D85\u8FC7\u65F6\u95F4\u9650\u5236\u65F6\u95F4\uFF08\u5355\u4F4D\u79D2\uFF09\uFF0C\u76EE\u524D\u4E3A5\u5206\u949F\uFF0C\u5982\u679C\u6709\u4E1A\u52A1\u5904\u7406\u65F6\u95F4\u8D85\u8FC75\u5206\u949F\uFF0C\u53EF\u4EE5\u9002\u5F53\u8C03\u6574\u3002
+#\u8d85\u8fc7\u65f6\u95f4\u9650\u5236\u65f6\u95f4\uff08\u5355\u4f4d\u79d2\uff09\uff0c\u76ee\u524d\u4e3a5\u5206\u949f\uff0c\u5982\u679c\u6709\u4e1a\u52a1\u5904\u7406\u65f6\u95f4\u8d85\u8fc75\u5206\u949f\uff0c\u53ef\u4ee5\u9002\u5f53\u8c03\u6574\u3002
 jdbc.removeAbandonedTimeout=300
-#\u94FE\u63A5\u56DE\u6536\u7684\u65F6\u5019\u63A7\u5236\u53F0\u6253\u5370\u4FE1\u606F\uFF0C\u6D4B\u8BD5\u73AF\u5883\u53EF\u4EE5\u52A0\u4E0Atrue\uFF0C\u7EBF\u4E0A\u73AF\u5883false\u3002\u4F1A\u5F71\u54CD\u6027\u80FD\u3002
+#\u94fe\u63a5\u56de\u6536\u7684\u65f6\u5019\u63a7\u5236\u53f0\u6253\u5370\u4fe1\u606f\uff0c\u6d4b\u8bd5\u73af\u5883\u53ef\u4ee5\u52a0\u4e0atrue\uff0c\u7ebf\u4e0a\u73af\u5883false\u3002\u4f1a\u5f71\u54cd\u6027\u80fd\u3002
 jdbc.logAbandoned=true
-#\u7EDF\u8BA1\u76D1\u63A7
+#\u7edf\u8ba1\u76d1\u63a7
 jdbc.filters=stat
 
 jedis.host=localhost

+ 22 - 6
src/main/webapp/WEB-INF/views/header.jsp

@@ -1,5 +1,6 @@
 <%@ page contentType="text/html;charset=UTF-8" language="java"%>
 <%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
 <!DOCTYPE HTML>
 <html xmlns=http://www.w3.org/1999/xhtml>
 <head>
@@ -10,8 +11,27 @@
     <script src="//cdn.bootcss.com/html5shiv/r29/html5.min.js"></script>
 	<script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
   	<![endif]-->
-  	<link href="${basePath}/static/vendors.bundle.css" rel="stylesheet">
   	<script type="text/javascript">
+  		
+  	   <c:if test="${not empty userData}">
+  		   window.userData = {
+	  		   mobile : "${userData.mobile}" ,
+	  		   nickname : "${userData.nickname}",
+	  		   number : "${userData.number}",
+	  		   type : "${userData.type}",
+	  		   email: "${userData.email}",
+	  		   createTime : "${userData.createTime}",
+	  		   lvl : "${userData.lvl}"
+  		   }
+  	   </c:if>
+  	 
+  		window.globalConfig = {
+	  		context: "${basePath}",
+	  		staticHost: "${staticHost}",
+	  		uploadPath: "${uploadPath}",
+	  		uploadPrivatePath:"${uploadPrivatePath}"
+	  	}
+  		
   		<!--
   		<shiro:hasRole name="999999">
  		window.showSystem = true;
@@ -43,9 +63,5 @@
  		window.showDevice = true;
   		</shiro:hasPermission>
       -->
-  		window.globalConfig = {
-	  		context: "${basePath}"
-	  		staticHost: "${staticHost}"
-	  	}
   	</script>
-  	<script type="text/javascript" src="${basePath}/static/vendors.js"></script>
+  	<script type="text/javascript" src="${staticHost}/vendors.js"></script>

+ 11 - 0
src/main/webapp/WEB-INF/views/user/account/index.jsp

@@ -0,0 +1,11 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
+<%@ include file="../../header.jsp"%>
+<title>用户登录首页</title>
+<link href="${staticHost}/user/account/index.css" rel="stylesheet">
+</head>
+<body>
+	<div id="root"></div>
+	<script type="text/javascript" src="${staticHost}/user/account/index.js"></script>
+</body>
+</html>

+ 11 - 0
src/main/webapp/WEB-INF/views/user/account/set.jsp

@@ -0,0 +1,11 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
+<%@ include file="../../header.jsp"%>
+<title>用户设置</title>
+<link href="${staticHost}/user/account/set.css" rel="stylesheet">
+</head>
+<body>
+    <div id="root"></div>
+    <script type="text/javascript" src="${staticHost}/user/account/set.js"></script>
+</body>
+</html>

+ 11 - 0
src/main/webapp/WEB-INF/views/user/login.jsp

@@ -0,0 +1,11 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
+<%@ include file="../header.jsp"%>
+<title>登录页</title>
+<link href="${staticHost}/user/login.css" rel="stylesheet">
+</head>
+<body>
+	<div id="root"></div>
+	<script type="text/javascript" src="${staticHost}/user/login.js"></script>
+</body>
+</html>

+ 11 - 0
src/main/webapp/WEB-INF/views/user/signIn.jsp

@@ -0,0 +1,11 @@
+<%@ page contentType="text/html;charset=UTF-8" language="java"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
+<%@ include file="../header.jsp"%>
+<title>注册页面</title>
+<link href="${staticHost}/user/signIn.css" rel="stylesheet">
+</head>
+<body>
+	<div id="root"></div>
+	<script type="text/javascript" src="${staticHost}/user/signIn.js"></script>
+</body>
+</html>