From a07bb243714eac69322659a97c35364d52181f24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E6=89=BF=E6=B7=9E?= <644344980@qq.com> Date: Tue, 8 Aug 2017 08:18:21 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=B8=80=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/webapp/WEB-INF/view/web/index/forget.html | 5 ++++- src/main/webapp/WEB-INF/view/web/index/register.html | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/webapp/WEB-INF/view/web/index/forget.html b/src/main/webapp/WEB-INF/view/web/index/forget.html index 848e24c..32945ec 100644 --- a/src/main/webapp/WEB-INF/view/web/index/forget.html +++ b/src/main/webapp/WEB-INF/view/web/index/forget.html @@ -26,9 +26,12 @@ <input type="text" name="authCode" class="u-field-input u-field-input-auth" placeholder="请输入验证码" maxlength="11"> <input class="u-field-send" type="button" style="border:none" onclick="sendPasswordBackSms()" id="authCode" value="获取验证码"> </div> - <div class="u-btn" style="color:#fff"> + <div class="u-btn" style="color:#fff;margin-bottom:10px;"> <div class="u-field-send" onclick="resetPass()">重置密码</div> </div> + <div style="text-align:center"> + <a href="#(contextPath)/" style="color:grey">返回登录</a> + </div> </div> </div> </div> diff --git a/src/main/webapp/WEB-INF/view/web/index/register.html b/src/main/webapp/WEB-INF/view/web/index/register.html index 25f55a4..e92877b 100644 --- a/src/main/webapp/WEB-INF/view/web/index/register.html +++ b/src/main/webapp/WEB-INF/view/web/index/register.html @@ -35,7 +35,7 @@ <div class="u-btn" onclick="reg()"> <div class="u-btn-register"></div> </div> - <a class="" href="#(contextPath)/index">已有账号,立即登录</a> + <a style="color:grey" href="#(contextPath)/index" >已有账号,立即登录</a> </div> </div> </div> -- Gitee From 3f610004e76eccc565ea1a3df728a59dc4e3875e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E6=89=BF=E6=B7=9E?= <644344980@qq.com> Date: Tue, 8 Aug 2017 08:25:38 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=95=B4=E6=94=B9?= =?UTF-8?q?=E4=B8=80=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/tianpengtech/front/web/task/TaskService.java | 2 +- src/main/webapp/WEB-INF/view/web/task/task_add_new.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/tianpengtech/front/web/task/TaskService.java b/src/main/java/com/tianpengtech/front/web/task/TaskService.java index 3f1adcc..7b1a408 100644 --- a/src/main/java/com/tianpengtech/front/web/task/TaskService.java +++ b/src/main/java/com/tianpengtech/front/web/task/TaskService.java @@ -78,7 +78,7 @@ public class TaskService { Validator validator = new Validator(); int status = (auth==null)?Authenticate.STATUS_FAILURE:auth.getInt(Authenticate.STATUS); validator.addRule(new NumbericMustBeEqual(status, Authenticate.STATUS_SUCCESS, "当前用户资质认证审核未通过,不允许提交任务")); - validator.addRule(new StringLengthBetween(task.getStr(Task.TASK_TITLE),"任务标题不能为空",1,30)); + validator.addRule(new StringLengthBetween(task.getStr(Task.TASK_TITLE),"任务标题只能是1-15个字符",1,15)); validator.addRule(new StringMustBeRequired(DateUtils.formateData(start, DateUtils.YYMMdd_FORMAT),"任务开始时间不能为空")); validator.addRule(new StringMustBeRequired(DateUtils.formateData(end,DateUtils.YYMMdd_FORMAT),"任务结束时间不能为空")); validator.addRule(new NumbericMustBeGreaterEqualThan(end.getTime(),start.getTime(),"任务结束日期必须在开始日期之后")); diff --git a/src/main/webapp/WEB-INF/view/web/task/task_add_new.html b/src/main/webapp/WEB-INF/view/web/task/task_add_new.html index 85eb6dc..045596c 100644 --- a/src/main/webapp/WEB-INF/view/web/task/task_add_new.html +++ b/src/main/webapp/WEB-INF/view/web/task/task_add_new.html @@ -22,7 +22,7 @@ <div class="u-row-title">任务标题:</div> <div class="u-row-box"> <div class="u-row-box-input"> - <input name="task.task_title" placeholder="请输入任务标题信息,最多30个字符" class="u-row-cell-input" id="task_title" maxlength="20" /> + <input name="task.task_title" placeholder="请输入任务标题信息,最多15个字符" class="u-row-cell-input" id="task_title" maxlength="15" /> </div> </div> </div> -- Gitee From 9adda1931a28eb0c391a7bb7267da88dc7a9b1f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E6=89=BF=E6=B7=9E?= <644344980@qq.com> Date: Tue, 8 Aug 2017 08:35:07 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E8=BF=B7=E5=A4=B1?= =?UTF-8?q?=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/webapp/assets/front/web/css/main.css | 2 +- src/main/webapp/assets/front/web/css/main.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/webapp/assets/front/web/css/main.css b/src/main/webapp/assets/front/web/css/main.css index beb7daa..aea40d0 100644 --- a/src/main/webapp/assets/front/web/css/main.css +++ b/src/main/webapp/assets/front/web/css/main.css @@ -1370,7 +1370,7 @@ ul li { width: 24px; height: 24px; } .c-article .g-passport-base-info .m-card .m-info .m-mid .m-row .u-key .u-icon-company { - background: url("../resources/icon-mc.jpg") center/contain no-repeat; } + background: url("../resources/icon-mc.png") center/contain no-repeat; } .c-article .g-passport-base-info .m-card .m-info .m-mid .m-row .u-key .u-icon-address { background: url("../resources/icon-dz.jpg") center/contain no-repeat; } .c-article .g-passport-base-info .m-card .m-info .m-mid .m-row .u-key .u-icon-name { diff --git a/src/main/webapp/assets/front/web/css/main.scss b/src/main/webapp/assets/front/web/css/main.scss index 544c09d..243a146 100644 --- a/src/main/webapp/assets/front/web/css/main.scss +++ b/src/main/webapp/assets/front/web/css/main.scss @@ -1690,7 +1690,7 @@ ul li { height:24px; } .u-icon-company{ - background: url("../resources/icon-mc.jpg") center/contain no-repeat; + background: url("../resources/icon-mc.png") center/contain no-repeat; } .u-icon-address{ background: url("../resources/icon-dz.jpg") center/contain no-repeat; -- Gitee From 3cd7302a2ec42de5e571817f1334a997fd336783 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E6=89=BF=E6=B7=9E?= <644344980@qq.com> Date: Wed, 9 Aug 2017 06:35:19 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E6=9B=B4=E6=8D=A2=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tianpengtech/common/util/SendSmsMsg.java | 12 +++++++++--- .../mobile/login/MobileLoginController.java | 3 ++- .../front/web/passport/PassportService.java | 6 +++--- .../web/passport/PassportWebController.java | 3 ++- src/main/resources/sms.properties | 18 ++++++++++-------- 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/tianpengtech/common/util/SendSmsMsg.java b/src/main/java/com/tianpengtech/common/util/SendSmsMsg.java index 3fe46d7..52d2bff 100644 --- a/src/main/java/com/tianpengtech/common/util/SendSmsMsg.java +++ b/src/main/java/com/tianpengtech/common/util/SendSmsMsg.java @@ -33,9 +33,15 @@ public class SendSmsMsg { private static final String domain = "dysmsapi.aliyuncs.com"; // static final String accessKeyId = "LTAIvQPdztlGanRB"; // static final String accessKeySecret = "KSxwLrQR7BdijGWYzGv21T3HTwTvMO"; + + + public static final String TEMPLATE_REG_SMS="SMS_76595520";//发送注册验证码 + public static final String TEMPLATE_PASS_BACK_SMS="SMS_76595518";//忘记密码验证码 + + private static final String accessKeyId = prop.get("accessKeyId"); private static final String accessKeySecret = prop.get("accessKeySecret"); - public static boolean send(String mobile,String code) { + public static boolean send(String mobile,String code,String templateCode) { IClientProfile profile = DefaultProfile.getProfile("cn-beijing", accessKeyId, accessKeySecret); try { DefaultProfile.addEndpoint("cn-beijing", "cn-beijing", product, domain); @@ -49,8 +55,8 @@ public class SendSmsMsg { // request.setSignName("铂数网络"); // request.setTemplateCode("SMS_76595520"); request.setSignName(prop.get("signName")); - request.setTemplateCode(prop.get("templateCode")); - request.setTemplateParam("{\"code\":\""+code+"\"}"); + request.setTemplateCode(templateCode); + request.setTemplateParam("{\"code\":\""+code+"\",\"product\":\"象漾\"}"); SendSmsResponse sendSmsResponse = null; try { sendSmsResponse = acsClient.getAcsResponse(request); diff --git a/src/main/java/com/tianpengtech/front/mobile/login/MobileLoginController.java b/src/main/java/com/tianpengtech/front/mobile/login/MobileLoginController.java index 4ac62cd..10dd8d1 100644 --- a/src/main/java/com/tianpengtech/front/mobile/login/MobileLoginController.java +++ b/src/main/java/com/tianpengtech/front/mobile/login/MobileLoginController.java @@ -6,6 +6,7 @@ import com.jfinal.kit.Ret; import com.jfinal.kit.StrKit; import com.jfinal.plugin.activerecord.tx.Tx; import com.tianpengtech.common.util.IpKit; +import com.tianpengtech.common.util.SendSmsMsg; import com.tianpengtech.front.mobile.common.intercepter.MobileRequestInterceptor; import com.tianpengtech.front.mobile.common.intercepter.TokenCheckInterceptor; import com.tianpengtech.front.mobile.common.util.R; @@ -60,7 +61,7 @@ public class MobileLoginController extends BaseController { return; } String ip = IpKit.getRealIp(getRequest()); - Ret ret=passportService.sendAuthCode(mobile,ip); + Ret ret=passportService.sendAuthCode(mobile,ip,SendSmsMsg.TEMPLATE_REG_SMS); if (ret.isOk()){ R r=R.ok("发送成功"); r.p("code",ret.get("code")); diff --git a/src/main/java/com/tianpengtech/front/web/passport/PassportService.java b/src/main/java/com/tianpengtech/front/web/passport/PassportService.java index dd622c0..9751b6a 100644 --- a/src/main/java/com/tianpengtech/front/web/passport/PassportService.java +++ b/src/main/java/com/tianpengtech/front/web/passport/PassportService.java @@ -93,7 +93,7 @@ public class PassportService { /** * 发送手机验证码 */ - public Ret sendAuthCode(String mobile,String ip){ + public Ret sendAuthCode(String mobile,String ip,String templateCode){ //防止恶意发送验证码 //缓存过期时间为5分钟, 5分钟内超过5次就不允许发送了 Integer count=CacheKit.get(User.AUTH_CODE_CACHENAME,ip+mobile+"_count"); @@ -110,7 +110,7 @@ public class PassportService { CacheKit.put(User.AUTH_CODE_CACHENAME,ip+mobile,code); if (SendSmsMsg.isSend){ //发送短信验证码 - if (SendSmsMsg.send(mobile,code+"")){ + if (SendSmsMsg.send(mobile,code+"",templateCode)){ return Ret.ok(); }else{ return Ret.fail(); @@ -147,7 +147,7 @@ public class PassportService { */ public Ret sendAuthCodeByPasswordBack(String mobile,String ip,Integer user_type){ if (isMobileExists(mobile,user_type)){ - return sendAuthCode(mobile,ip); + return sendAuthCode(mobile,ip,SendSmsMsg.TEMPLATE_PASS_BACK_SMS); }else{ return Ret.fail("msg","用户不存在"); } diff --git a/src/main/java/com/tianpengtech/front/web/passport/PassportWebController.java b/src/main/java/com/tianpengtech/front/web/passport/PassportWebController.java index 8b3e001..f5add1c 100644 --- a/src/main/java/com/tianpengtech/front/web/passport/PassportWebController.java +++ b/src/main/java/com/tianpengtech/front/web/passport/PassportWebController.java @@ -14,6 +14,7 @@ import com.tianpengtech.common.model.user.User; import com.tianpengtech.common.util.IpKit; import com.tianpengtech.common.util.JsonUtil; import com.tianpengtech.common.util.QiNiuUtil; +import com.tianpengtech.common.util.SendSmsMsg; import com.tianpengtech.front.web.common.constant.Page; import com.tianpengtech.front.web.common.controller.BaseController; import com.tianpengtech.front.web.common.interceptor.PassportInterceptor; @@ -71,7 +72,7 @@ public class PassportWebController extends BaseController { public void sendAuthcode(){ String ip = IpKit.getRealIp(getRequest()); String mobile = getPara("mobile"); - renderJson(srv.sendAuthCode(mobile,ip)); + renderJson(srv.sendAuthCode(mobile,ip,SendSmsMsg.TEMPLATE_REG_SMS)); } /** * 找回密码发送验证码 diff --git a/src/main/resources/sms.properties b/src/main/resources/sms.properties index 52665bb..444a53c 100644 --- a/src/main/resources/sms.properties +++ b/src/main/resources/sms.properties @@ -3,14 +3,16 @@ #apikey = d73376b0b813442a91c0337556e8d8b1 #templateid = 16 -isSend = true + #dev SMS config -accessKeyId = LTAIYOrnhcUCJnPJ -accessKeySecret = GcOxh9LGvb44StevmhPKV7I6elKV0d -signName = \u516c\u56fd\u680b -templateCode = SMS_82105038 +#accessKeyId = LTAIYOrnhcUCJnPJ +#accessKeySecret = GcOxh9LGvb44StevmhPKV7I6elKV0d +#signName = \u516c\u56fd\u680b +#templateCode = SMS_82105038 -#accessKeyId = LTAIvQPdztlGanRB -#accessKeySecret = KSxwLrQR7BdijGWYzGv21T3HTwTvMO -#signName = \u94C2\u6570\u7F51\u7EDC + +isSend = true +accessKeyId = LTAIvQPdztlGanRB +accessKeySecret = KSxwLrQR7BdijGWYzGv21T3HTwTvMO +signName = \u94C2\u6570\u7F51\u7EDC #templateCode = SMS_76595520 \ No newline at end of file -- Gitee From 4a82e549aec721b745cdd324934aeb56f88a50f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E6=89=BF=E6=B7=9E?= <644344980@qq.com> Date: Thu, 10 Aug 2017 06:57:32 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E4=BF=AE=E6=AD=A3tio=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/tianpengtech/common/plugin/im/ImStartPlugin.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/tianpengtech/common/plugin/im/ImStartPlugin.java b/src/main/java/com/tianpengtech/common/plugin/im/ImStartPlugin.java index 97ba993..dd3bb23 100644 --- a/src/main/java/com/tianpengtech/common/plugin/im/ImStartPlugin.java +++ b/src/main/java/com/tianpengtech/common/plugin/im/ImStartPlugin.java @@ -49,6 +49,7 @@ public class ImStartPlugin implements IPlugin{ @Override public boolean stop() { aioServer.stop(); + System.exit(0); return true; } } -- Gitee From c46e2728a7f4ca6ffc30cb9f17be063ab0793d73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E6=89=BF=E6=B7=9E?= <644344980@qq.com> Date: Fri, 11 Aug 2017 07:21:46 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=95=B4=E6=94=B9?= =?UTF-8?q?=E6=84=8F=E8=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/tianpengtech/common/model/fair/Fair.java | 4 ++-- .../java/com/tianpengtech/common/model/task/Task.java | 2 +- .../front/web/common/interceptor/WebsiteInterceptor.java | 6 ++++++ .../tianpengtech/front/web/task/TaskWebController.java | 1 + .../webapp/WEB-INF/view/web/main/platform_welcome.html | 8 ++++---- src/main/webapp/WEB-INF/view/web/task/task_detail.html | 4 +++- src/main/webapp/WEB-INF/view/web/task/task_success.html | 7 +++++-- 7 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/tianpengtech/common/model/fair/Fair.java b/src/main/java/com/tianpengtech/common/model/fair/Fair.java index 0f4e654..281f659 100644 --- a/src/main/java/com/tianpengtech/common/model/fair/Fair.java +++ b/src/main/java/com/tianpengtech/common/model/fair/Fair.java @@ -136,7 +136,7 @@ public class Fair extends AbstractBaseModel<Fair> { BigDecimal cvs=fair.getBigDecimal("num"); long click=getClick(); double d=0; - if(fair.getBigDecimal("num")!=null){ + if(fair.getBigDecimal("num")!=null&&click>0){ d=cvs.doubleValue()/click; } DecimalFormat df=(DecimalFormat) DecimalFormat.getInstance(); @@ -174,7 +174,7 @@ public class Fair extends AbstractBaseModel<Fair> { BigDecimal cvs= new BigDecimal(0); long click=getClick(); double d=0; - if(fair.getBigDecimal("num")!=null){ + if(fair.getBigDecimal("num")!=null && click>0){ d = cvs.doubleValue()/click/getOrders(); } DecimalFormat df=(DecimalFormat) DecimalFormat.getInstance(); diff --git a/src/main/java/com/tianpengtech/common/model/task/Task.java b/src/main/java/com/tianpengtech/common/model/task/Task.java index ebbcba8..13827bf 100644 --- a/src/main/java/com/tianpengtech/common/model/task/Task.java +++ b/src/main/java/com/tianpengtech/common/model/task/Task.java @@ -176,7 +176,7 @@ public class Task extends AbstractBaseModel<Task> { * @return */ public List<Fair> getFairTop(){ - String sql = "select fair.*,SUM(tw."+TaskWh.CLICK_NUM+") cnum from "+TaskWh.dao.tableName()+" tw left join "+Fair.dao.tableName()+" fair on fair."+Fair.ID+"=tw."+TaskWh.WH_ID+" where "+TaskWh.TASK_ID+ "=? and tw."+TaskWh.DELETETAG+"="+TaskWh.DELETE_STATUS_NO+" GROUP BY "+TaskWh.WH_ID+" ORDER by SUM(tw."+TaskWh.CLICK_NUM+") desc LIMIT 6"; + String sql = "select fair.*,SUM(tw."+TaskWh.CLICK_NUM+") cnum from "+TaskWh.dao.tableName()+" tw left join "+Fair.dao.tableName()+" fair on fair."+Fair.ID+"=tw."+TaskWh.WH_ID+" where "+TaskWh.TASK_ID+ "=? and tw."+TaskWh.DELETETAG+"="+TaskWh.DELETE_STATUS_NO+" GROUP BY "+TaskWh.WH_ID+" ORDER by SUM(tw."+TaskWh.CLICK_NUM+") desc LIMIT 3"; return Fair.dao.findByCache(Fair.FAIR_CACHE_NAME,TASK_CACHE_MAIN_FAIR_TOP_KEY+get(ID),sql,new Object[]{get(ID)}); } diff --git a/src/main/java/com/tianpengtech/front/web/common/interceptor/WebsiteInterceptor.java b/src/main/java/com/tianpengtech/front/web/common/interceptor/WebsiteInterceptor.java index 9c135f6..bd87bb0 100644 --- a/src/main/java/com/tianpengtech/front/web/common/interceptor/WebsiteInterceptor.java +++ b/src/main/java/com/tianpengtech/front/web/common/interceptor/WebsiteInterceptor.java @@ -2,6 +2,7 @@ package com.tianpengtech.front.web.common.interceptor; import com.jfinal.aop.Interceptor; import com.jfinal.aop.Invocation; +import com.jfinal.core.Controller; /** * Templates constant intercept @@ -11,5 +12,10 @@ public class WebsiteInterceptor implements Interceptor { public void intercept(Invocation i) { //todo set Website field to JF templates from web_config.properties i.invoke(); + Controller controller = i.getController(); + String host = controller.getRequest().getRemoteHost(); + int port = controller.getRequest().getLocalPort(); + controller.setAttr("host", host); + controller.setAttr("port", port); } } diff --git a/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java b/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java index ecea970..208fd9f 100644 --- a/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java +++ b/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java @@ -279,6 +279,7 @@ public class TaskWebController extends BaseController { renderTemplate("h5_preview.html"); } + @Clear(PassportInterceptor.class) public void showH5(){ int id = getParaToInt(Task.ID,GlobalConfigConstant.DEFAULT_VALUE_ZERO); diff --git a/src/main/webapp/WEB-INF/view/web/main/platform_welcome.html b/src/main/webapp/WEB-INF/view/web/main/platform_welcome.html index b8b8262..8b0bd08 100644 --- a/src/main/webapp/WEB-INF/view/web/main/platform_welcome.html +++ b/src/main/webapp/WEB-INF/view/web/main/platform_welcome.html @@ -94,7 +94,7 @@ <i class="u-text">#(task.dateString)</i> </div> </div> - <div class="u-btn" style="border-radius:3px;"> + <div class="u-btn" style="border-radius:3px;border: 1px solid #f97a5b;background-color: #f97a5b; "> <div class="u-btn-progress"></div> <div class="u-btn-text">#(task.status())...</div> </div> @@ -102,7 +102,7 @@ <ul class="u-member"> #for(fair : task.fairTop) <li class="u-content" onclick="fairDetail('#(fair.id)')"> - <div class="u-head" style='background-image: url("#(contextPath)#(fair.photo)")'></div> + <div class="u-head" style='background-image: url("#(contextPath)#(fair.photo)"); border-radius: 100%; box-shadow: #333 1px 1px 1px;'></div> <div class="u-name">#(fair.name)</div> <div class="u-data"> <i class="u-data-icon"></i> @@ -135,7 +135,7 @@ <i class="u-text">#(task.dateString)</i> </div> </div> - <div class="u-btn" style="border-radius:3px;"> + <div class="u-btn" style="border-radius:3px;border: 1px solid #f97a5b;background-color: #f97a5b;"> <div class="u-btn-progress"></div> <div class="u-btn-text">#(task.status())...</div> </div> @@ -143,7 +143,7 @@ <ul class="u-member"> #for(fair : task.fairTop) <li class="u-content" onclick="fairDetail('#(fair.id)')"> - <div class="u-head" style='background: url("#(contextPath)#(fair.photo)") center/cover no-repeat;'></div> + <div class="u-head" style='background: url("#(contextPath)#(fair.photo)") center/cover no-repeat; border-radius: 100%;box-shadow: #333 1px 1px 1px;'></div> <div class="u-name">#(fair.name)</div> <div class="u-data"> <i class="u-data-icon"></i> diff --git a/src/main/webapp/WEB-INF/view/web/task/task_detail.html b/src/main/webapp/WEB-INF/view/web/task/task_detail.html index 3d50b50..eafe60f 100644 --- a/src/main/webapp/WEB-INF/view/web/task/task_detail.html +++ b/src/main/webapp/WEB-INF/view/web/task/task_detail.html @@ -45,7 +45,9 @@ <div class="u-text-title">任务链接</div> <div class="u-content"> #if(task.h5_type==2) - <a href="#(contextPath)/platform/task/viewH5?id=#(task.id)">预览页面</a> + <a href="#(contextPath)/platform/task/viewH5?id=#(task.id)"> + #(host):#(port)#(contextPath)/platform/task/showH5?id=#(task.id) + </a> #else 当前任务暂无H5预览页面 #end diff --git a/src/main/webapp/WEB-INF/view/web/task/task_success.html b/src/main/webapp/WEB-INF/view/web/task/task_success.html index 9c0ab2d..e598126 100644 --- a/src/main/webapp/WEB-INF/view/web/task/task_success.html +++ b/src/main/webapp/WEB-INF/view/web/task/task_success.html @@ -10,7 +10,7 @@ <div class="u-task-icon"></div> <div class="u-task-text">恭喜您成功创建任务!</div> </div> - <div class="m-task-card-column" style="margin-top:30px;"> + <div class="m-task-card-column" style="margin-top:30px;padding:35px;"> <div class="u-title">基本信息</div> <ul class="m-task-list"> <li class="m-task-cell"> @@ -32,7 +32,10 @@ #if(task.h5_type==2) <li class="m-task-cell"> <div class="u-task-key">任务链接:</div> - <div class="u-task-value">#(task.task_url ?? "链接生成中")</div> + <div class="u-task-value"> + <a href="#(contextPath)/platform/task/showH5?id=#(task.id)" target="_blank"> + #(host):#(port)#(contextPath)/platform/task/showH5?id=#(task.id)</a> + </div> </li> #end <li class="m-task-cell"> -- Gitee From c63c002a6769357f90c58938f30d9ed9a5ea8ed0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E6=89=BF=E6=B7=9E?= <644344980@qq.com> Date: Fri, 11 Aug 2017 08:09:07 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=95=B4=E6=94=B9?= =?UTF-8?q?=E6=84=8F=E8=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/tianpengtech/common/model/task/Task.java | 7 +++++++ .../web/common/interceptor/WebsiteInterceptor.java | 2 +- .../front/web/task/TaskWebController.java | 1 + src/main/webapp/WEB-INF/view/web/task/showH5.html | 12 ++++++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/tianpengtech/common/model/task/Task.java b/src/main/java/com/tianpengtech/common/model/task/Task.java index 13827bf..24eeefe 100644 --- a/src/main/java/com/tianpengtech/common/model/task/Task.java +++ b/src/main/java/com/tianpengtech/common/model/task/Task.java @@ -170,6 +170,13 @@ public class Task extends AbstractBaseModel<Task> { return num; } + public String web_url(){ + String webUrl = getStr(WEB_URL); + if(webUrl==null){ + webUrl = ""; + } + return (webUrl.startsWith("http")?webUrl:"http://"+webUrl); + } /** * 获取点击量前三的网红信息 diff --git a/src/main/java/com/tianpengtech/front/web/common/interceptor/WebsiteInterceptor.java b/src/main/java/com/tianpengtech/front/web/common/interceptor/WebsiteInterceptor.java index bd87bb0..be76f7f 100644 --- a/src/main/java/com/tianpengtech/front/web/common/interceptor/WebsiteInterceptor.java +++ b/src/main/java/com/tianpengtech/front/web/common/interceptor/WebsiteInterceptor.java @@ -15,7 +15,7 @@ public class WebsiteInterceptor implements Interceptor { Controller controller = i.getController(); String host = controller.getRequest().getRemoteHost(); int port = controller.getRequest().getLocalPort(); - controller.setAttr("host", host); + controller.setAttr("host", "http://106.14.177.36"); controller.setAttr("port", port); } } diff --git a/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java b/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java index 208fd9f..8feaf5b 100644 --- a/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java +++ b/src/main/java/com/tianpengtech/front/web/task/TaskWebController.java @@ -285,6 +285,7 @@ public class TaskWebController extends BaseController { int id = getParaToInt(Task.ID,GlobalConfigConstant.DEFAULT_VALUE_ZERO); List<TaskSource> source = service.findSourceByTask(id); setAttr("sources", source); + setAttr("task", Task.dao.findById(id)); renderTemplate("showH5.html"); } } diff --git a/src/main/webapp/WEB-INF/view/web/task/showH5.html b/src/main/webapp/WEB-INF/view/web/task/showH5.html index 76f3eea..47f4722 100644 --- a/src/main/webapp/WEB-INF/view/web/task/showH5.html +++ b/src/main/webapp/WEB-INF/view/web/task/showH5.html @@ -11,8 +11,20 @@ <img style="width: 100%" src="#(s.source??'')"> #end + + #if(task.web_url??) + #set(url = task.web_url()) + <div style="color:#fff;padding:10px;width:30%;margin-top:1rem;text-align:center; + cursor: pointer;margin-left:auto;margin-right:auto;background-color:#62bcc0" onclick="window.location.href='#(url)'">查看更多</div> + #end </div> #end #define script() +<script> +function open(url){ + alert(url); + //window.location.href=url; +} +</script> <script type="application/javascript" data-main="#(contextPath)/assets/front/web/script/platform_feedback" src="#(contextPath)/assets/front/web/script/require.js"></script> #end \ No newline at end of file -- Gitee From ee70de4bdd3658f8f749d478bcb4ccefa1e631e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E6=89=BF=E6=B7=9E?= <644344980@qq.com> Date: Mon, 14 Aug 2017 23:58:58 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=95=B4=E6=94=B9?= =?UTF-8?q?=E6=84=8F=E8=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AuthenticateAdminServiceImpl.java | 2 +- .../admin/fair/FairAdminServiceImpl.java | 2 +- .../admin/task/TaskAdminServiceImpl.java | 2 +- .../com/tianpengtech/common/MyConfig.java | 2 ++ .../tianpengtech/common/util/PageUtil.java | 24 +++++++++++++++++++ .../authenticate/authenticate-reason.html | 2 +- .../WEB-INF/view/admin/fair/fair-reason.html | 2 +- .../WEB-INF/view/admin/task/task-reason.html | 2 +- .../WEB-INF/view/web/main/platform.html | 9 ++++++- .../WEB-INF/view/web/task/task_list.html | 14 +++++------ src/main/webapp/assets/front/web/css/main.css | 2 +- .../webapp/assets/front/web/css/main.scss | 2 +- .../webapp/assets/front/web/script/main.js | 7 +++++- .../front/web/script/platform_fair_detail.js | 4 ++++ 14 files changed, 59 insertions(+), 17 deletions(-) create mode 100644 src/main/java/com/tianpengtech/common/util/PageUtil.java diff --git a/src/main/java/com/tianpengtech/admin/authenticate/AuthenticateAdminServiceImpl.java b/src/main/java/com/tianpengtech/admin/authenticate/AuthenticateAdminServiceImpl.java index 062d42c..af6442b 100644 --- a/src/main/java/com/tianpengtech/admin/authenticate/AuthenticateAdminServiceImpl.java +++ b/src/main/java/com/tianpengtech/admin/authenticate/AuthenticateAdminServiceImpl.java @@ -84,7 +84,7 @@ public class AuthenticateAdminServiceImpl extends AbstractAdmin implements IAdmi String content = params.getStr(Opertion.CONTENT); Validator validator = new Validator(); if(status==Authenticate.STATUS_FAILURE){ - validator.addRule( new StringLengthBetween(content,"拒绝理由必须是1-150个字符之间",1,150)); + validator.addRule( new StringLengthBetween(content,"拒绝理由必须是1-40个字符之间",1,40)); } validator.addRule( new NumbericMustBeGreaterThan(id,0,"id值必须要大于0")).excute(); diff --git a/src/main/java/com/tianpengtech/admin/fair/FairAdminServiceImpl.java b/src/main/java/com/tianpengtech/admin/fair/FairAdminServiceImpl.java index 2b21723..5a3027b 100644 --- a/src/main/java/com/tianpengtech/admin/fair/FairAdminServiceImpl.java +++ b/src/main/java/com/tianpengtech/admin/fair/FairAdminServiceImpl.java @@ -106,7 +106,7 @@ public class FairAdminServiceImpl extends AbstractAdmin implements IAdminOpt{ String content = params.getStr(Opertion.CONTENT); Validator validator = new Validator(); if(status==Fair.STATUS_FAILURE){ - validator.addRule( new StringLengthBetween(content,"拒绝理由必须是1-150个字符之间",1,150)); + validator.addRule( new StringLengthBetween(content,"拒绝理由必须是1-40个字符之间",1,40)); } validator.addRule( new NumbericMustBeGreaterThan(id,0,"id值必须要大于0")).excute(); model.set(Fair.ID, id); diff --git a/src/main/java/com/tianpengtech/admin/task/TaskAdminServiceImpl.java b/src/main/java/com/tianpengtech/admin/task/TaskAdminServiceImpl.java index b178fb9..0c64a91 100644 --- a/src/main/java/com/tianpengtech/admin/task/TaskAdminServiceImpl.java +++ b/src/main/java/com/tianpengtech/admin/task/TaskAdminServiceImpl.java @@ -85,7 +85,7 @@ public class TaskAdminServiceImpl extends AbstractAdmin implements IAdminOpt{ String content = params.getStr(Opertion.CONTENT); Validator validator = new Validator(); if(status==Task.STATUS_FAILURE){ - validator.addRule( new StringLengthBetween(content,"拒绝理由必须是1-150个字符之间",1,150)); + validator.addRule( new StringLengthBetween(content,"拒绝理由必须是1-40个字符之间",1,40)); } validator.addRule( new NumbericMustBeGreaterThan(id,0,"id值必须要大于0")).excute(); model.set(Task.ID, id); diff --git a/src/main/java/com/tianpengtech/common/MyConfig.java b/src/main/java/com/tianpengtech/common/MyConfig.java index 86da728..c8dd216 100644 --- a/src/main/java/com/tianpengtech/common/MyConfig.java +++ b/src/main/java/com/tianpengtech/common/MyConfig.java @@ -41,6 +41,7 @@ import com.tianpengtech.common.plugin.quartz.QuartzPlugin; import com.tianpengtech.common.plugin.shiro.ext.ShiroPlugin; import com.tianpengtech.common.plugin.shiro.tag.ShiroTag; import com.tianpengtech.common.util.DruidUtil; +import com.tianpengtech.common.util.PageUtil; import com.tianpengtech.common.util.QiNiuUtil; import com.tianpengtech.front.mobile.MobileRoutes; import com.tianpengtech.front.web.WebRoutes; @@ -182,6 +183,7 @@ public class MyConfig extends JFinalConfig { me.addSharedFunction("/WEB-INF/view/admin/lay_out/__layout.html"); me.addSharedStaticMethod(Generator.class); me.addSharedStaticMethod(ShiroTag.class); + me.addSharedStaticMethod(PageUtil.class); me.addSharedObject("AppName","颜控网络运营支持系统平台"); /* web */ diff --git a/src/main/java/com/tianpengtech/common/util/PageUtil.java b/src/main/java/com/tianpengtech/common/util/PageUtil.java new file mode 100644 index 0000000..6c588ba --- /dev/null +++ b/src/main/java/com/tianpengtech/common/util/PageUtil.java @@ -0,0 +1,24 @@ +package com.tianpengtech.common.util; + +public class PageUtil { + + /** + * 截取字符串 + * @param content + * @param maxLength + * @return + */ + public static String maxLength(String content,int maxLength){ + String result ="暂无最新消息"; + if(isTooLong(content, maxLength)){ + result = content.substring(0, maxLength); + result = result+"..."; + } + return result; + } + + public static boolean isTooLong(String content,int maxLength){ + String result = (content==null)?"":content; + return result.length()> maxLength; + } +} diff --git a/src/main/webapp/WEB-INF/view/admin/authenticate/authenticate-reason.html b/src/main/webapp/WEB-INF/view/admin/authenticate/authenticate-reason.html index ed6e77c..66f9e5d 100644 --- a/src/main/webapp/WEB-INF/view/admin/authenticate/authenticate-reason.html +++ b/src/main/webapp/WEB-INF/view/admin/authenticate/authenticate-reason.html @@ -31,7 +31,7 @@ <div class="row cl"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>拒绝理由</label> <div class="formControls col-xs-8 col-sm-9"> - <textarea name="content" class="textarea" rows="5"> </textarea> + <textarea name="content" class="textarea" rows="5" maxlength="40" placeholder="请输入简短的拒绝理由,最多40个字符..."></textarea> </div> </div> <div class="row cl"> diff --git a/src/main/webapp/WEB-INF/view/admin/fair/fair-reason.html b/src/main/webapp/WEB-INF/view/admin/fair/fair-reason.html index 69f87d6..7fc599c 100644 --- a/src/main/webapp/WEB-INF/view/admin/fair/fair-reason.html +++ b/src/main/webapp/WEB-INF/view/admin/fair/fair-reason.html @@ -31,7 +31,7 @@ <div class="row cl"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>拒绝理由</label> <div class="formControls col-xs-8 col-sm-9"> - <textarea name="content" class="textarea" rows="5"> </textarea> + <textarea name="content" class="textarea" rows="5" maxlength="40" placeholder="请输入简短的拒绝理由,最多40个字符..."></textarea> </div> </div> <div class="row cl"> diff --git a/src/main/webapp/WEB-INF/view/admin/task/task-reason.html b/src/main/webapp/WEB-INF/view/admin/task/task-reason.html index 0fcaa9b..ff383b6 100644 --- a/src/main/webapp/WEB-INF/view/admin/task/task-reason.html +++ b/src/main/webapp/WEB-INF/view/admin/task/task-reason.html @@ -31,7 +31,7 @@ <div class="row cl"> <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>拒绝理由</label> <div class="formControls col-xs-8 col-sm-9"> - <textarea name="content" class="textarea" rows="5"> </textarea> + <textarea name="content" class="textarea" rows="5" maxlength="40" placeholder="请输入简短的拒绝理由,最多40个字符..."></textarea> </div> </div> <div class="row cl"> diff --git a/src/main/webapp/WEB-INF/view/web/main/platform.html b/src/main/webapp/WEB-INF/view/web/main/platform.html index 17a0fa7..24a985e 100644 --- a/src/main/webapp/WEB-INF/view/web/main/platform.html +++ b/src/main/webapp/WEB-INF/view/web/main/platform.html @@ -46,7 +46,14 @@ <div class="u-icon"></div> <span class="u-text" data-href="#(contextPath)/passport/form">最新消息:</span> ###<span class="u-name">犀利的大菜菜</span> - <span class="u-content" id="content">#(record.msg??'暂无最新消息') #(record.create_time??'')</span> + <span class="u-content" id="content"> + #if(isTooLong(record.msg,40)) + #(maxLength(record.msg,40)) <a href="javascript:;" onclick="showMsg()" style="color:#ccc9c9">[查看详情]</a> #(record.create_time??'') + <input type="hidden" value="#(record.msg)" id="msg"> + #else + #(record.msg??'暂无最新消息') #(record.create_time??'') + #end + </span> <span class="u-time" id="msgTime"></span> </div> </header> diff --git a/src/main/webapp/WEB-INF/view/web/task/task_list.html b/src/main/webapp/WEB-INF/view/web/task/task_list.html index b664ee9..d8e1edc 100644 --- a/src/main/webapp/WEB-INF/view/web/task/task_list.html +++ b/src/main/webapp/WEB-INF/view/web/task/task_list.html @@ -20,7 +20,7 @@ </div> </div> </div> - <div class="m-select"> + <div class="m-select" style="margin-top:20px;"> <div data-status="" class="u-select-option u-select-option-active">全部</div> <div data-status="1" class="u-select-option">未开始</div> <div data-status="2" class="u-select-option">进行中</div> @@ -31,12 +31,12 @@ <table class="m-task-list" style="margin-top: 20px;padding-top: 0;"> <thead> <tr> - <th>起始日期</th> - <th>任务标题</th> - <th>点击量</th> - <th>转化量</th> - <th>任务状态</th> - <th width="150">操作</th> + <th width="10%">起始日期</th> + <th width="40%">任务标题</th> + <th width="10%">点击量</th> + <th width="10%">转化量</th> + <th width="10%">任务状态</th> + <th width="20%">操作</th> </tr> </thead> <tbody id="tbody"></tbody> diff --git a/src/main/webapp/assets/front/web/css/main.css b/src/main/webapp/assets/front/web/css/main.css index aea40d0..9637924 100644 --- a/src/main/webapp/assets/front/web/css/main.css +++ b/src/main/webapp/assets/front/web/css/main.css @@ -245,7 +245,7 @@ ul li { align-items: center; justify-content: flex-start; box-sizing: border-box; - padding: 40px 0; + padding: 15px 0; width: 100%; background-color: #f2f2fd; transition: 0.3s all ease-out; diff --git a/src/main/webapp/assets/front/web/css/main.scss b/src/main/webapp/assets/front/web/css/main.scss index 243a146..fd8381a 100644 --- a/src/main/webapp/assets/front/web/css/main.scss +++ b/src/main/webapp/assets/front/web/css/main.scss @@ -309,7 +309,7 @@ ul li { align-items: center; justify-content: flex-start; box-sizing: border-box; - padding:40px 0; + padding:15px 0; width:100%; background-color: #f2f2fd; transition: $nav_transition; diff --git a/src/main/webapp/assets/front/web/script/main.js b/src/main/webapp/assets/front/web/script/main.js index 814b2ca..f0807c2 100644 --- a/src/main/webapp/assets/front/web/script/main.js +++ b/src/main/webapp/assets/front/web/script/main.js @@ -10,7 +10,6 @@ require(["jquery","common","layer"],(a,b,c)=>{ }) const init = ()=>{ $(".u-btn-logout").on("click",()=>{ - console.log(layer); layer.confirm("确定要退出当前系统吗?", { btn: ['确定','取消'] //按钮 }, function(){ @@ -24,6 +23,12 @@ const init = ()=>{ // } }); } + +let showMsg=function(){ + let msg = $("#msg").val(); + layer.alert(msg); +} + const monitor = ()=>{ $(".u-switch").on("click",()=>{ $(".g-nav").toggleClass("g-nav-hide"); diff --git a/src/main/webapp/assets/front/web/script/platform_fair_detail.js b/src/main/webapp/assets/front/web/script/platform_fair_detail.js index 30f8cb5..fdeffb6 100644 --- a/src/main/webapp/assets/front/web/script/platform_fair_detail.js +++ b/src/main/webapp/assets/front/web/script/platform_fair_detail.js @@ -15,6 +15,10 @@ const monitor = ()=>{ if(status=="off"){ $(".g-fair-task-info .m-cell-active").removeClass("m-cell-active"); $(this).parent().parent().parent().addClass("m-cell-active"); + $(".u-content-btn").each(function (i,item){ + console.log(item); + $(item).attr("data-status","off"); + }); $(this).attr("data-status","open"); }else{ $(".g-fair-task-info .m-cell-active").removeClass("m-cell-active"); -- Gitee