diff --git a/WebRoot/WEB-INF/jsp/feedback/feedback/feedback_edit.jsp b/WebRoot/WEB-INF/jsp/feedback/feedback/feedback_edit.jsp new file mode 100644 index 0000000..1b58fd3 --- /dev/null +++ b/WebRoot/WEB-INF/jsp/feedback/feedback/feedback_edit.jsp @@ -0,0 +1,153 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<% + String path = request.getContextPath(); + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; +%> + + + + + + + + <%@ include file="../../system/index/top.jsp"%> + + + + + +
+ +
+
+
+
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
学校地址省:
学校地址市:
联系人:
联系电话:
产品序列号:
问题现象:
操作系统:
软件版本:
软件名称:
异常数量:
详细描述:
问题图片:
客户编码:
处理人:
报告日期:
处理时间:
产品类型:
产品型号:
+ 保存 + 取消 +
+
+ +
+
+ +
+ +
+ +
+
+ +
+ + + + + <%@ include file="../../system/index/foot.jsp"%> + + + + + + + + + \ No newline at end of file diff --git a/WebRoot/WEB-INF/jsp/feedback/feedback/feedback_list.jsp b/WebRoot/WEB-INF/jsp/feedback/feedback/feedback_list.jsp new file mode 100644 index 0000000..b553703 --- /dev/null +++ b/WebRoot/WEB-INF/jsp/feedback/feedback/feedback_list.jsp @@ -0,0 +1,398 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + + +<%@ include file="../../system/index/top.jsp"%> + + + + + + +
+ +
+
+
+
+
+ + +
+ + + + + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + 序号学校地址省学校地址市联系人联系电话产品序列号问题现象操作系统软件版本软件名称异常数量详细描述问题图片客户编码处理人报告日期处理时间产品类型产品型号操作
+ + ${vs.index+1}${var.SCHOOL_ADDRESS1}${var.SCHOOL_ADDRESS2}${var.CONTACT_PHONE}${var.PHONE_CONTACT}${var.PRODUCT_SEQ}${var.QUESTION_NAME}${var.OS}${var.SOFTWARE_VERSION}${var.SOFTWARE_NAME}${var.EXCEPTION_NUM}${var.DESCRIPTION}${var.PROBLEM_PATH}${var.CUSTOMER_CODE}${var.PERSON_LIABLE}${var.CREATE_DATE}${var.PROCESSING_DATE}${var.PRODUCT_TYPE}${var.PRODUCT_MODEL} + + + + + +
您无权查看
没有相关数据
+ +
+ +
+ +
+ +
+ +
+
+ + + + + + + +
+ + + + + <%@ include file="../../system/index/foot.jsp"%> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WebRoot/WEB-INF/jsp/feedback/problemphenomenon/problemphenomenon_edit.jsp b/WebRoot/WEB-INF/jsp/feedback/problemphenomenon/problemphenomenon_edit.jsp new file mode 100644 index 0000000..5fcd043 --- /dev/null +++ b/WebRoot/WEB-INF/jsp/feedback/problemphenomenon/problemphenomenon_edit.jsp @@ -0,0 +1,108 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<% + String path = request.getContextPath(); + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; +%> + + + + + + + + <%@ include file="../../system/index/top.jsp"%> + + + + + +
+ +
+
+
+
+
+ +
+ +
+ + + + + + + + + + + + +
问题描述:
备注:
+ 保存 + 取消 +
+
+ +
+
+ +
+ +
+ +
+
+ +
+ + + + + <%@ include file="../../system/index/foot.jsp"%> + + + + + + + + + \ No newline at end of file diff --git a/WebRoot/WEB-INF/jsp/feedback/problemphenomenon/problemphenomenon_list.jsp b/WebRoot/WEB-INF/jsp/feedback/problemphenomenon/problemphenomenon_list.jsp new file mode 100644 index 0000000..406d315 --- /dev/null +++ b/WebRoot/WEB-INF/jsp/feedback/problemphenomenon/problemphenomenon_list.jsp @@ -0,0 +1,366 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + + +<%@ include file="../../system/index/top.jsp"%> + + + + + + +
+ +
+
+
+
+
+ + +
+ + + + + + + + + + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + 序号问题描述备注操作
+ + ${vs.index+1}${var.DESC1}${var.REMARK} + + + + + +
您无权查看
没有相关数据
+ +
+ +
+ +
+ +
+ +
+
+ + + + + + + +
+ + + + + <%@ include file="../../system/index/foot.jsp"%> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WebRoot/WEB-INF/jsp/system/index/login.jsp b/WebRoot/WEB-INF/jsp/system/index/login.jsp index ff1cd66..0e10a44 100644 --- a/WebRoot/WEB-INF/jsp/system/index/login.jsp +++ b/WebRoot/WEB-INF/jsp/system/index/login.jsp @@ -345,7 +345,7 @@ $("#password").focus(); return false; } - if ($("#code").val() == "") { + /* if ($("#code").val() == "") { $("#code").tips({ side : 1, msg : '验证码不得为空', @@ -355,7 +355,7 @@ showfh(); $("#code").focus(); return false; - } + } */ $("#loginbox").tips({ side : 1, msg : '正在登录 , 请稍后 ...', @@ -479,7 +479,7 @@ $("#EMAIL").focus(); return false; } - if ($("#rcode").val() == "") { + /* if ($("#rcode").val() == "") { $("#rcode").tips({ side : 1, msg : '验证码不得为空', @@ -488,7 +488,7 @@ }); $("#rcode").focus(); return false; - } + } */ return true; } diff --git a/WebRoot/WEB-INF/web.xml b/WebRoot/WEB-INF/web.xml index 848cbb7..af64995 100644 --- a/WebRoot/WEB-INF/web.xml +++ b/WebRoot/WEB-INF/web.xml @@ -27,7 +27,7 @@ webAppRootKey - www.fhadmin.org + www.zhongtianjiaoyu.org DruidWebStatFilter diff --git a/WebRoot/afterService/css/style.css b/WebRoot/afterService/css/style.css new file mode 100644 index 0000000..6f2478d --- /dev/null +++ b/WebRoot/afterService/css/style.css @@ -0,0 +1,25 @@ +li{list-style:none;} + a{color:#000;} +ul{padding:0;} +.container h3{border-bottom:1px solid #000;padding-bottom:10px;} +.container .col-md-8 li{float:left;margin-left:15px;} +.container .col-md-8 ul li:first-child{margin-left:0;} +.container .col-md-8 li img{width:140px;height:140px;} +.container .col-md-8 li p{text-align:center;font-size:16px;margin-top:5px;} +.container .col-md-8 h3 img{width:30px;margin-right:2%;vertical-align:bottom;} +.container .col-md-4 li{margin-top:10%;border-bottom:1px dashed #383838;} +.container .col-md-4 li .col-xs-3 img{width:50px;} +.container .col-md-4 li .col-xs-9:nth-child(2) p{font-size:18px;font-weight:bold;} +.container .col-md-4 li .col-xs-9:nth-child(3) p{font-size:14px;color:#ccc;} +.container .contact .col-xs-11 p{font-size:16px;font-weight:bold;margin-top:10px;} +.container .contact .col-xs-11 p span{font-size:20px;} + +.header{border-bottom:1px dashed #ccc;padding:3% 0;} +.header .col-xs-9:nth-child(2) p{font-size:18px;font-weight:700;} +.content{padding:3% 0;} +.form-group{margin-top:10px;} +.xq label{width:4em;float:left;} +.rightBox{padding-top:3%;} +.red{color:#FF0000;} +.qaList p:first-child{font-size:18px;font-weight:bold;} +.k{display:inline-block;width:10px;height:10px;background:#1886ec;margin-right:5px;} \ No newline at end of file diff --git a/WebRoot/afterService/document/基站-EA1000-常见问题解答(新东方)V1.1-20170922.pdf b/WebRoot/afterService/document/基站-EA1000-常见问题解答(新东方)V1.1-20170922.pdf new file mode 100644 index 0000000..0c8c4bc --- /dev/null +++ b/WebRoot/afterService/document/基站-EA1000-常见问题解答(新东方)V1.1-20170922.pdf diff --git a/WebRoot/afterService/document/新东方产品售后维修流程.pdf b/WebRoot/afterService/document/新东方产品售后维修流程.pdf new file mode 100644 index 0000000..5a70bc4 --- /dev/null +++ b/WebRoot/afterService/document/新东方产品售后维修流程.pdf diff --git a/WebRoot/afterService/document/新东方售后政策&改善说明.pdf b/WebRoot/afterService/document/新东方售后政策&改善说明.pdf new file mode 100644 index 0000000..3bdf11f --- /dev/null +++ b/WebRoot/afterService/document/新东方售后政策&改善说明.pdf diff --git a/WebRoot/afterService/document/新东方基站-EA4200W-常见问题解答()V1.0-20170922.pdf b/WebRoot/afterService/document/新东方基站-EA4200W-常见问题解答()V1.0-20170922.pdf new file mode 100644 index 0000000..8e2cd0d --- /dev/null +++ b/WebRoot/afterService/document/新东方基站-EA4200W-常见问题解答()V1.0-20170922.pdf diff --git a/WebRoot/afterService/document/键盘-S52Plus-常见问题解答V1.0(新东方)-20180309.pdf b/WebRoot/afterService/document/键盘-S52Plus-常见问题解答V1.0(新东方)-20180309.pdf new file mode 100644 index 0000000..1d6d5aa --- /dev/null +++ b/WebRoot/afterService/document/键盘-S52Plus-常见问题解答V1.0(新东方)-20180309.pdf diff --git a/WebRoot/afterService/dt_info.html b/WebRoot/afterService/dt_info.html new file mode 100644 index 0000000..d640674 --- /dev/null +++ b/WebRoot/afterService/dt_info.html @@ -0,0 +1,378 @@ + + + + + + + 填写资料 + + + + + + + + + + + +
+
+
+
+
+

答题器问题反馈

+

请填写以下信息反馈问题,我们会在24小时内响应。或直接拨打售后电话您也可以根据问题的现象参照常见问题,自行排查问题。

+
+
+
+
+
+ +
+
+ + +
+
+ +
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + +
+
+ + +
+
+ +
+ +
+
+
+ + +
+
+ + +
+ + +
+ +
+
+
+
+
+
+ + +

R-接收标志

+

键盘接收到基站发送的指令时显示。用于判断键盘是否进入反馈状态。

+

T-发送标志

+

键盘提交数据给基站时显示,用于判断键盘是否发送了数据。

+

OK-发送成功标志

+

基站收到键盘发送的数据时显示,用于判断键盘数据是否发送成功。

+
+
+
  • +

    问题现象1:无法开机

    +

    可能键盘没有电导致,更换电池后再次尝试是否可以开机。若更换电池后仍无法开机,请联系技术支持。

    +
  • +
  • +

    问题现象2:无信号

    +

    确认基站连接成功后,键盘仍显示无信号,可能是未进行配对导致。使用配对工具SunVote Match Tool V1.0.0.1配对后再尝试。开启配对后,S52Plus同时按住配对键“”和“”,直到键盘屏幕上有数字滚动。若无法配对,请参考问题“5.为什么答题器无法与基站配对成功”

    + +
  • +
  • +

    问题现象3:有信号,无法进入反馈(不显示R)

    +

    ① 所有键盘无法进入反馈,可能是基站未开始反馈。确保基站连接成功,并且已经进入答题状态。

    +

    ② 个别键盘无法进入反馈,可能是受到其他基站干扰。确保周围没有相邻频点基站或免配对基站正在使用。可把当前基站拔了,确认答题器上是否仍然有信号,如果有信号,可确认该答题器与其他基站匹配了。可将该答题器与基站重新配对。

    + +
  • +
  • +

    问题现象4:进入反馈(显示R),无法提交(不显示OK),或提交慢

    +

    可能是由于信号不好导致,干扰信号的因素:2.4G设备,信号屏蔽仪,同频点或免配对基站,人或其他物体的阻挡。避免信号干扰的方法如下:

    +

    ① 确保附近没有其他基站干扰

    +

    ② 确保键盘和基站之间没有障碍物阻挡

    +

    ③ 确保未开启信号屏蔽议

    +

    ④ 尝试更换频道,一般情况下频道1和7效果会较好。

    +

    可能是按键磨损导致按键不灵。观察按键上的文字是否脱落,是否能看到答题器的线路板(示例如下)。如果确定按键有磨损,可将异常产品数量统计,并联系厂家技术支持安排售后处理。

    + + +
  • +
  • +

    问题现象5:为什么键盘有时需按Send键提交,有时候自动提交?

    +

    基站的提交模式决定

    +

    基站支持自动提交和按键提交两种提交模式,设置成自动提交时,单选、判断输入选项后即可自动提交。多选、排序、数字类型的题目,不支持自动提交模式,需要按Send键提交。出厂默认为自动提交模式。

    +
  • +
  • +

    问题现象6:什么情况下耗电快?

    +

    离线开机

    +

    离线开机时,键盘需要搜索基站,无线模块一直处于发射信号中,耗电比正常工作时要大很多。

    +

    保管不当

    +

    装有电池的键盘,宜要存放在干燥通风的地方。温差太大或者太潮湿的环境都不适宜存放。

    +
  • +
  • +

    问题现象7:如何单独保管电池?

    +

    电池单独存放时,须存放在厂家发货的托盘中,禁止堆积存放,否则放电极快造成电池发热,甚至可能会引起电池破裂或起火的危险 。

    +

    电池宜存放在阴凉通风的地方,禁止在太阳下暴晒。温差太大或者太潮湿的环境都不适宜存放。

    +
  • +
  • +

    问题现象8:为什么答题器无法与基站配对成功?

    +

    在确认配对工具版本(SunVote Match Tool V1.0.0.1)正常,且其他答题器可正常配对的情况下,可能是由于基站和答题器的频点范围不一致造成的。基站是80个频点的版本,答题器是32个频点的版本。基站的频点设置超过了32,因此答题器无法与基站匹配。

    +

    如何确认这个问题:

    +

    ① 检查基站的频点是否超过了32

    +

    ② 检查答题器配对时,是否频点数字跳动到32后,就再次重1开始。

    +

    如果确定是由于该原因导致,可以将旧版本的答题器发回升级。或者将基站的频点更改为32以内范围。

    +

    排除频点范围的原因,可用多只答题器作对比测试,同样的基站,同样的软件,同时操作,仅特定的某只答题器无法配对,可能是答题的版本

    +
  • +
    + +
    + + +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/WebRoot/afterService/images/EA1000.jpg b/WebRoot/afterService/images/EA1000.jpg new file mode 100644 index 0000000..6624015 --- /dev/null +++ b/WebRoot/afterService/images/EA1000.jpg diff --git a/WebRoot/afterService/images/EA1000_line.jpg b/WebRoot/afterService/images/EA1000_line.jpg new file mode 100644 index 0000000..21d97b1 --- /dev/null +++ b/WebRoot/afterService/images/EA1000_line.jpg diff --git a/WebRoot/afterService/images/EA4200W.jpg b/WebRoot/afterService/images/EA4200W.jpg new file mode 100644 index 0000000..49c120b --- /dev/null +++ b/WebRoot/afterService/images/EA4200W.jpg diff --git a/WebRoot/afterService/images/EA4200W.png b/WebRoot/afterService/images/EA4200W.png new file mode 100644 index 0000000..3b42d8c --- /dev/null +++ b/WebRoot/afterService/images/EA4200W.png diff --git a/WebRoot/afterService/images/EA4200W_line.jpg b/WebRoot/afterService/images/EA4200W_line.jpg new file mode 100644 index 0000000..bab1ec5 --- /dev/null +++ b/WebRoot/afterService/images/EA4200W_line.jpg diff --git a/WebRoot/afterService/images/bag.png b/WebRoot/afterService/images/bag.png new file mode 100644 index 0000000..2077b32 --- /dev/null +++ b/WebRoot/afterService/images/bag.png diff --git a/WebRoot/afterService/images/battery.jpg b/WebRoot/afterService/images/battery.jpg new file mode 100644 index 0000000..aba1bd2 --- /dev/null +++ b/WebRoot/afterService/images/battery.jpg diff --git a/WebRoot/afterService/images/contact.jpg b/WebRoot/afterService/images/contact.jpg new file mode 100644 index 0000000..1d36adf --- /dev/null +++ b/WebRoot/afterService/images/contact.jpg diff --git a/WebRoot/afterService/images/dt_q1.png b/WebRoot/afterService/images/dt_q1.png new file mode 100644 index 0000000..3129053 --- /dev/null +++ b/WebRoot/afterService/images/dt_q1.png diff --git a/WebRoot/afterService/images/dt_q2.png b/WebRoot/afterService/images/dt_q2.png new file mode 100644 index 0000000..2b646c3 --- /dev/null +++ b/WebRoot/afterService/images/dt_q2.png diff --git a/WebRoot/afterService/images/dt_q3.png b/WebRoot/afterService/images/dt_q3.png new file mode 100644 index 0000000..5a30cbd --- /dev/null +++ b/WebRoot/afterService/images/dt_q3.png diff --git a/WebRoot/afterService/images/dtq.png b/WebRoot/afterService/images/dtq.png new file mode 100644 index 0000000..e247968 --- /dev/null +++ b/WebRoot/afterService/images/dtq.png diff --git a/WebRoot/afterService/images/ea1000_q.png b/WebRoot/afterService/images/ea1000_q.png new file mode 100644 index 0000000..2d4edbe --- /dev/null +++ b/WebRoot/afterService/images/ea1000_q.png diff --git a/WebRoot/afterService/images/ea1000_q1.png b/WebRoot/afterService/images/ea1000_q1.png new file mode 100644 index 0000000..9cd3d07 --- /dev/null +++ b/WebRoot/afterService/images/ea1000_q1.png diff --git a/WebRoot/afterService/images/ea1000_q2.png b/WebRoot/afterService/images/ea1000_q2.png new file mode 100644 index 0000000..e0026e7 --- /dev/null +++ b/WebRoot/afterService/images/ea1000_q2.png diff --git a/WebRoot/afterService/images/ea1000_q3.png b/WebRoot/afterService/images/ea1000_q3.png new file mode 100644 index 0000000..b9ceb60 --- /dev/null +++ b/WebRoot/afterService/images/ea1000_q3.png diff --git a/WebRoot/afterService/images/ea4200w_q.png b/WebRoot/afterService/images/ea4200w_q.png new file mode 100644 index 0000000..08cbab6 --- /dev/null +++ b/WebRoot/afterService/images/ea4200w_q.png diff --git a/WebRoot/afterService/images/jz.png b/WebRoot/afterService/images/jz.png new file mode 100644 index 0000000..277ce51 --- /dev/null +++ b/WebRoot/afterService/images/jz.png diff --git a/WebRoot/afterService/images/lc.png b/WebRoot/afterService/images/lc.png new file mode 100644 index 0000000..b4226eb --- /dev/null +++ b/WebRoot/afterService/images/lc.png diff --git a/WebRoot/afterService/images/pj.png b/WebRoot/afterService/images/pj.png new file mode 100644 index 0000000..e6da57a --- /dev/null +++ b/WebRoot/afterService/images/pj.png diff --git a/WebRoot/afterService/images/sn.png b/WebRoot/afterService/images/sn.png new file mode 100644 index 0000000..6afc4fa --- /dev/null +++ b/WebRoot/afterService/images/sn.png diff --git a/WebRoot/afterService/images/timg.jpg b/WebRoot/afterService/images/timg.jpg new file mode 100644 index 0000000..1783ee9 --- /dev/null +++ b/WebRoot/afterService/images/timg.jpg diff --git a/WebRoot/afterService/images/u26.jpg b/WebRoot/afterService/images/u26.jpg new file mode 100644 index 0000000..49c120b --- /dev/null +++ b/WebRoot/afterService/images/u26.jpg diff --git a/WebRoot/afterService/images/u30.jpg b/WebRoot/afterService/images/u30.jpg new file mode 100644 index 0000000..1cbd686 --- /dev/null +++ b/WebRoot/afterService/images/u30.jpg diff --git a/WebRoot/afterService/images/u30.png b/WebRoot/afterService/images/u30.png new file mode 100644 index 0000000..8e20e92 --- /dev/null +++ b/WebRoot/afterService/images/u30.png diff --git a/WebRoot/afterService/images/wt.png b/WebRoot/afterService/images/wt.png new file mode 100644 index 0000000..2a7ea5c --- /dev/null +++ b/WebRoot/afterService/images/wt.png diff --git a/WebRoot/afterService/images/zc.png b/WebRoot/afterService/images/zc.png new file mode 100644 index 0000000..d2cbc35 --- /dev/null +++ b/WebRoot/afterService/images/zc.png diff --git a/WebRoot/afterService/index.html b/WebRoot/afterService/index.html new file mode 100644 index 0000000..596eb11 --- /dev/null +++ b/WebRoot/afterService/index.html @@ -0,0 +1,114 @@ + + + + + + + 产品问题反馈 + + + + + + + + +
    +

    产品问题反馈

    +
    +
    +

    基站

    + +
    +
    +
    +

    答题器

    + +
    +
    + +
    + + + +
    + + + \ No newline at end of file diff --git a/WebRoot/afterService/info.html b/WebRoot/afterService/info.html new file mode 100644 index 0000000..171cda6 --- /dev/null +++ b/WebRoot/afterService/info.html @@ -0,0 +1,373 @@ + + + + + + + 填写资料 + + + + + + + + + + + +
    +
    +
    +
    +
    +

    EA1000问题反馈

    +

    请填写以下信息反馈问题,我们会在24小时内响应。或直接拨打售后电话您也可以根据问题的现象参照EA1000常见问题,自行排查问题。

    +
    +
    +
    +
    +
    + +
    +
    + + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + + +
    + +
    +
    +
    +
    +
    +
    + +

    信道状态指示灯

    +

    基站收到通讯信号时闪烁。如收到键盘提交的数据。无键盘发送数据,该指示灯快闪时,表示附近有相邻频点的基站干扰。请更换改基站的频点。

    +

    连接状态指示灯

    +

    基站接通电源时慢闪(1秒一次),基站与软件连接成功时快闪(1秒多次)。

    +
    +
    +
  • +

    问题现象1:连接指示灯不亮

    +

    初次使用时,系统会自动安装驱动,需要等待10秒左右。驱动自动安装成功后,才能正常使用。若此时仍不能解决,可能是接口接触不良,或者连接线的问题。检查基站是否插好,更换USB插口,尝试更换USB延长线。

    +
  • +
  • +

    问题现象2:连接指示灯慢闪(1秒一次),软件显示连接断开

    +

    ① 请检查答题系统的版本是否为互动课堂 2.12.1或更高版本。Match Tool的版本是否为1.0.0.1。配对工具手册及下载地址:https://shimo.im/doc/95gSPuzB1zM7bFRc

    +

    ② 确认基站驱动是否正常,打开设备管理器,驱动正常时,插上基站时 “人体学输入设备”会添加一个“USB输入设备”

    + + + +
  • +
  • +

    问题现象3:连接指示灯快闪(1秒多次),软件显示连接断开

    +

    快闪表示应用软件与基站已经连接成功,可能是软件操作问题,请查看软件操作手册。

    + +
  • +
    + +
    +
    +
    + +

    信道状态指示灯

    +

    基站收到通讯信号时闪烁。如收到键盘提交的数据。无键盘发送数据,该指示灯快闪时,表示附近有相邻频点的基站干扰。请更换改基站的频点。

    +

    连接状态指示灯

    +

    基站接通电源时慢闪(1秒一次),基站与软件连接成功时快闪(1秒多次)。

    +

    充电指示灯

    +

    充电时亮红灯,充满熄灭。

    +

    电源指示灯

    +

    电源连接后点亮。

    +
    +
    +
  • +

    问题现象1:连接指示灯不亮

    +

    初次使用时,系统会自动安装驱动,需要等待10秒左右。驱动自动安装成功后,才能正常使用。若此时仍不能解决,可能是接口接触不良,或者连接线的问题。检查基站是否插好,更换USB插口,尝试更换USB延长线。

    +
  • +
  • +

    问题现象2:连接指示灯慢闪(1秒一次),软件显示连接断开

    +

    ① 请检查答题系统的版本是否为互动课堂 2.12.1或更高版本。Match Tool的版本是否为1.0.0.1。配对工具手册及下载地址:https://shimo.im/doc/95gSPuzB1zM7bFRc

    +

    ② 确认基站驱动是否正常,打开设备管理器,驱动正常时,插上基站时 “人体学输入设备”会添加一个“USB输入设备”

    + + + +
  • +
  • +

    问题现象3:连接指示灯快闪(1秒多次),软件显示连接断开

    +

    快闪表示应用软件与基站已经连接成功,可能是软件操作问题,请查看软件操作手册。

    + +
  • +
  • +

    问题现象4:连接指示灯常亮

    +

    基站与设备已建立wifi连接,若此时您的设备无法与该基站建立连接,可能是其他设备连接到了这个基站。检查周围是否有其他设备连接上了该基站,断开与其它基站的连接,再连接。 +PS:建议老师使用手动连接的方式,不要选择自动连接。

    + +
  • +
  • +

    问题现象3:连接指示灯、数据灯、充电指示灯常亮

    +

    有可能是基站复位, 请联系技术支持

    + +
  • +
    + +
    + +
    +
    + +
    + + + + + + \ No newline at end of file diff --git a/WebRoot/afterService/js/data.js b/WebRoot/afterService/js/data.js new file mode 100644 index 0000000..7b725f5 --- /dev/null +++ b/WebRoot/afterService/js/data.js @@ -0,0 +1,595 @@ +var data = [ + { + id: 11, name: '北京', cities: [ + {id: 1101, name: '东城区'}, + {id: 1102, name: '西城区'}, + {id: 1108, name: '海淀区'}, + {id: 1105, name: '朝阳区'}, + {id: 1106, name: '丰台区'}, + {id: 1107, name: '石景山区'}, + {id: 1109, name: '门头沟区'}, + {id: 1111, name: '房山区'}, + {id: 1112, name: '通州区'}, + {id: 1113, name: '顺义区'}, + {id: 1114, name: '昌平区'}, + {id: 1115, name: '大兴区'}, + {id: 1116, name: '怀柔区'}, + {id: 1117, name: '平谷区'}, + {id: 1128, name: '密云县'}, + {id: 1129, name: '延庆县'} + ] + }, + { + id: 12, name: '天津', cities: [ + {id: 1201, name: '和平区'}, + {id: 1202, name: '河东区'}, + {id: 1203, name: '河西区'}, + {id: 1204, name: '南开区'}, + {id: 1205, name: '河北区'}, + {id: 1206, name: '红桥区'}, + {id: 1207, name: '塘沽区'}, + {id: 1208, name: '汉沽区'}, + {id: 1209, name: '大港区'}, + {id: 1210, name: '东丽区'}, + {id: 1211, name: '西青区'}, + {id: 1212, name: '津南区'}, + {id: 1213, name: '北辰区'}, + {id: 1214, name: '武清区'}, + {id: 1215, name: '宝坻区'}, + {id: 1221, name: '宁河县'}, + {id: 1223, name: '静海县'}, + {id: 1225, name: '蓟县'} + ] + }, + { + id: 13, name: '河北', cities: [ + {id: 1301, name: '石家庄'}, + {id: 1302, name: '唐山'}, + {id: 1303, name: '秦皇岛'}, + {id: 1304, name: '邯郸'}, + {id: 1305, name: '邢台'}, + {id: 1306, name: '保定'}, + {id: 1307, name: '张家口'}, + {id: 1308, name: '承德'}, + {id: 1309, name: '沧州'}, + {id: 1310, name: '廊坊'}, + {id: 1311, name: '衡水'} + ] + }, + { + id: 14, name: '山西', cities: [ + {id: 1401, name: '太原'}, + {id: 1402, name: '大同'}, + {id: 1403, name: '阳泉'}, + {id: 1404, name: '长治'}, + {id: 1405, name: '晋城'}, + {id: 1406, name: '朔州'}, + {id: 1407, name: '晋中'}, + {id: 1408, name: '运城'}, + {id: 1409, name: '忻州'}, + {id: 1410, name: '临汾'}, + {id: 1423, name: '吕梁'} + ] + }, + { + id: 15, name: '内蒙古', cities: [ + {id: 1501, name: '呼和浩特'}, + {id: 1502, name: '包头'}, + {id: 1503, name: '乌海'}, + {id: 1504, name: '赤峰'}, + {id: 1505, name: '通辽'}, + {id: 1506, name: '鄂尔多斯'}, + {id: 1507, name: '呼伦贝尔'}, + {id: 1522, name: '兴安盟'}, + {id: 1525, name: '锡林郭勒盟'}, + {id: 1526, name: '乌兰察布盟'}, + {id: 1528, name: '巴彦淖尔盟'}, + {id: 1529, name: '阿拉善盟'} + ] + }, + { + id: 21, name: '辽宁', cities: [ + {id: 2101, name: '沈阳'}, + {id: 2102, name: '大连'}, + {id: 2103, name: '鞍山'}, + {id: 2104, name: '抚顺'}, + {id: 2105, name: '本溪'}, + {id: 2106, name: '丹东'}, + {id: 2107, name: '锦州'}, + {id: 2108, name: '营口'}, + {id: 2109, name: '阜新'}, + {id: 2110, name: '辽阳'}, + {id: 2111, name: '盘锦'}, + {id: 2112, name: '铁岭'}, + {id: 2113, name: '朝阳'}, + {id: 2114, name: '葫芦岛'} + ] + }, + { + id: 22, name: '吉林', cities: [ + {id: 2201, name: '长春'}, + {id: 2202, name: '吉林'}, + {id: 2203, name: '四平'}, + {id: 2204, name: '辽源'}, + {id: 2205, name: '通化'}, + {id: 2206, name: '白山'}, + {id: 2207, name: '松原'}, + {id: 2208, name: '白城'}, + {id: 2224, name: '延边朝鲜族自治州'} + ] + }, + { + id: 23, name: '黑龙江', cities: [ + {id: 2301, name: '哈尔滨'}, + {id: 2302, name: '齐齐哈尔'}, + {id: 2303, name: '鸡西'}, + {id: 2304, name: '鹤岗'}, + {id: 2305, name: '双鸭山'}, + {id: 2306, name: '大庆'}, + {id: 2307, name: '伊春'}, + {id: 2308, name: '佳木斯'}, + {id: 2309, name: '七台河'}, + {id: 2310, name: '牡丹江'}, + {id: 2311, name: '黑河'}, + {id: 2312, name: '绥化'}, + {id: 2327, name: '大兴安岭'} + ] + }, + { + id: 31, name: '上海', cities: [ + {id: 3101, name: '黄浦区'}, + {id: 3103, name: '卢湾区'}, + {id: 3104, name: '徐汇区'}, + {id: 3105, name: '长宁区'}, + {id: 3106, name: '静安区'}, + {id: 3107, name: '普陀区'}, + {id: 3108, name: '闸北区'}, + {id: 3109, name: '虹口区'}, + {id: 3110, name: '杨浦区'}, + {id: 3112, name: '闵行区'}, + {id: 3113, name: '宝山区'}, + {id: 3114, name: '嘉定区'}, + {id: 3115, name: '浦东新区'}, + {id: 3116, name: '金山区'}, + {id: 3117, name: '松江区'}, + {id: 3118, name: '青浦区'}, + {id: 3119, name: '南汇区'}, + {id: 3120, name: '奉贤区'}, + {id: 3130, name: '崇明县'} + ] + }, + { + id: 32, name: '江苏', cities: [ + {id: 3201, name: '南京'}, + {id: 3202, name: '无锡'}, + {id: 3203, name: '徐州'}, + {id: 3204, name: '常州'}, + {id: 3205, name: '苏州'}, + {id: 3206, name: '南通'}, + {id: 3207, name: '连云港'}, + {id: 3208, name: '淮安'}, + {id: 3209, name: '盐城'}, + {id: 3210, name: '扬州'}, + {id: 3211, name: '镇江'}, + {id: 3212, name: '泰州'}, + {id: 3213, name: '宿迁'} + ] + }, + { + id: 33, name: '浙江', cities: [ + {id: 3301, name: '杭州'}, + {id: 3302, name: '宁波'}, + {id: 3303, name: '温州'}, + {id: 3304, name: '嘉兴'}, + {id: 3305, name: '湖州'}, + {id: 3306, name: '绍兴'}, + {id: 3307, name: '金华'}, + {id: 3308, name: '衢州'}, + {id: 3309, name: '舟山'}, + {id: 3310, name: '台州'}, + {id: 3311, name: '丽水'} + ] + }, + { + id: 34, name: '安徽', cities: [ + {id: 3401, name: '合肥'}, + {id: 3402, name: '芜湖'}, + {id: 3403, name: '蚌埠'}, + {id: 3404, name: '淮南'}, + {id: 3405, name: '马鞍山'}, + {id: 3406, name: '淮北'}, + {id: 3407, name: '铜陵'}, + {id: 3408, name: '安庆'}, + {id: 3410, name: '黄山'}, + {id: 3411, name: '滁州'}, + {id: 3412, name: '阜阳'}, + {id: 3413, name: '宿州'}, + {id: 3414, name: '巢湖'}, + {id: 3415, name: '六安'}, + {id: 3416, name: '亳州'}, + {id: 3417, name: '池州'}, + {id: 3418, name: '宣城'} + ] + }, + { + id: 35, name: '福建', cities: [ + {id: 3501, name: '福州'}, + {id: 3502, name: '厦门'}, + {id: 3503, name: '莆田'}, + {id: 3504, name: '三明'}, + {id: 3505, name: '泉州'}, + {id: 3506, name: '漳州'}, + {id: 3507, name: '南平'}, + {id: 3508, name: '龙岩'}, + {id: 3509, name: '宁德'} + ] + }, + { + id: 36, name: '江西', cities: [ + {id: 3601, name: '南昌'}, + {id: 3602, name: '景德镇'}, + {id: 3603, name: '萍乡'}, + {id: 3604, name: '九江'}, + {id: 3605, name: '新余'}, + {id: 3606, name: '鹰潭'}, + {id: 3607, name: '赣州'}, + {id: 3608, name: '吉安'}, + {id: 3609, name: '宜春'}, + {id: 3610, name: '抚州'}, + {id: 3611, name: '上饶'} + ] + }, + { + id: 37, name: '山东', cities: [ + {id: 3701, name: '济南'}, + {id: 3702, name: '青岛'}, + {id: 3703, name: '淄博'}, + {id: 3704, name: '枣庄'}, + {id: 3705, name: '东营'}, + {id: 3706, name: '烟台'}, + {id: 3707, name: '潍坊'}, + {id: 3708, name: '济宁'}, + {id: 3709, name: '泰安'}, + {id: 3710, name: '威海'}, + {id: 3711, name: '日照'}, + {id: 3712, name: '莱芜'}, + {id: 3713, name: '临沂'}, + {id: 3714, name: '德州'}, + {id: 3715, name: '聊城'}, + {id: 3716, name: '滨州'}, + {id: 3717, name: '菏泽'} + ] + }, + { + id: 41, name: '河南', cities: [ + {id: 4101, name: '郑州'}, + {id: 4102, name: '开封'}, + {id: 4103, name: '洛阳'}, + {id: 4104, name: '平顶山'}, + {id: 4105, name: '安阳'}, + {id: 4106, name: '鹤壁'}, + {id: 4107, name: '新乡'}, + {id: 4108, name: '焦作'}, + {id: 4109, name: '濮阳'}, + {id: 4110, name: '许昌'}, + {id: 4111, name: '漯河'}, + {id: 4112, name: '三门峡'}, + {id: 4113, name: '南阳'}, + {id: 4114, name: '商丘'}, + {id: 4115, name: '信阳'}, + {id: 4116, name: '周口'}, + {id: 4117, name: '驻马店'}, + {id: 4118, name: '济源'} + ] + }, + { + id: 42, name: '湖北', cities: [ + {id: 4201, name: '武汉'}, + {id: 4202, name: '黄石'}, + {id: 4203, name: '十堰'}, + {id: 4205, name: '宜昌'}, + {id: 4206, name: '襄樊'}, + {id: 4207, name: '鄂州'}, + {id: 4208, name: '荆门'}, + {id: 4209, name: '孝感'}, + {id: 4210, name: '荆州'}, + {id: 4211, name: '黄冈'}, + {id: 4212, name: '咸宁'}, + {id: 4213, name: '随州'}, + {id: 4228, name: '恩施土家族苗族自治州'} + ] + }, + { + id: 43, name: '湖南', cities: [ + {id: 4301, name: '长沙'}, + {id: 4302, name: '株洲'}, + {id: 4303, name: '湘潭'}, + {id: 4304, name: '衡阳'}, + {id: 4305, name: '邵阳'}, + {id: 4306, name: '岳阳'}, + {id: 4307, name: '常德'}, + {id: 4308, name: '张家界'}, + {id: 4309, name: '益阳'}, + {id: 4310, name: '郴州'}, + {id: 4311, name: '永州'}, + {id: 4312, name: '怀化'}, + {id: 4313, name: '娄底'}, + {id: 4331, name: '湘西土家族苗族自治州'} + ] + }, + { + id: 44, name: '广东', cities: [ + {id: 4401, name: '广州'}, + {id: 4402, name: '韶关'}, + {id: 4403, name: '深圳'}, + {id: 4404, name: '珠海'}, + {id: 4405, name: '汕头'}, + {id: 4406, name: '佛山'}, + {id: 4407, name: '江门'}, + {id: 4408, name: '湛江'}, + {id: 4409, name: '茂名'}, + {id: 4412, name: '肇庆'}, + {id: 4413, name: '惠州'}, + {id: 4414, name: '梅州'}, + {id: 4415, name: '汕尾'}, + {id: 4416, name: '河源'}, + {id: 4417, name: '阳江'}, + {id: 4418, name: '清远'}, + {id: 4419, name: '东莞'}, + {id: 4420, name: '中山'}, + {id: 4451, name: '潮州'}, + {id: 4452, name: '揭阳'}, + {id: 4453, name: '云浮'} + ] + }, + { + id: 45, name: '广西', cities: [ + {id: 4501, name: '南宁'}, + {id: 4502, name: '柳州'}, + {id: 4503, name: '桂林'}, + {id: 4504, name: '梧州'}, + {id: 4505, name: '北海'}, + {id: 4506, name: '防城港'}, + {id: 4507, name: '钦州'}, + {id: 4508, name: '贵港'}, + {id: 4509, name: '玉林'}, + {id: 4510, name: '百色'}, + {id: 4511, name: '贺州'}, + {id: 4512, name: '河池'}, + {id: 4521, name: '南宁'}, + {id: 4522, name: '柳州'} + ] + }, + { + id: 46, name: '海南', cities: [ + {id: 4601, name: '海口'}, + {id: 4602, name: '三亚'}, + {id: 4690, name: '其他'} + ] + }, + { + id: 50, name: '重庆', cities: [ + {id: 5001, name: '万州区'}, + {id: 5002, name: '涪陵区'}, + {id: 5003, name: '渝中区'}, + {id: 5004, name: '大渡口区'}, + {id: 5005, name: '江北区'}, + {id: 5006, name: '沙坪坝区'}, + {id: 5007, name: '九龙坡区'}, + {id: 5008, name: '南岸区'}, + {id: 5009, name: '北碚区'}, + {id: 5010, name: '万盛区'}, + {id: 5011, name: '双桥区'}, + {id: 5012, name: '渝北区'}, + {id: 5013, name: '巴南区'}, + {id: 5014, name: '黔江区'}, + {id: 5015, name: '长寿区'}, + {id: 5022, name: '綦江县'}, + {id: 5023, name: '潼南县'}, + {id: 5024, name: '铜梁县'}, + {id: 5025, name: '大足县'}, + {id: 5026, name: '荣昌县'}, + {id: 5027, name: '璧山县'}, + {id: 5028, name: '梁平县'}, + {id: 5029, name: '城口县'}, + {id: 5030, name: '丰都县'}, + {id: 5031, name: '垫江县'}, + {id: 5032, name: '武隆县'}, + {id: 5033, name: '忠县'}, + {id: 5034, name: '开县'}, + {id: 5035, name: '云阳县'}, + {id: 5036, name: '奉节县'}, + {id: 5037, name: '巫山县'}, + {id: 5038, name: '巫溪县'}, + {id: 5040, name: '石柱土家族自治县'}, + {id: 5041, name: '秀山土家族苗族自治县'}, + {id: 5042, name: '酉阳土家族苗族自治县'}, + {id: 5043, name: '彭水苗族土家族自治县'}, + {id: 5081, name: '江津市'}, + {id: 5082, name: '合川市'}, + {id: 5083, name: '永川区'}, + {id: 5084, name: '南川市'} + ] + }, + { + id: 51, name: '四川', cities: [ + {id: 5101, name: '成都'}, + {id: 5103, name: '自贡'}, + {id: 5104, name: '攀枝花'}, + {id: 5105, name: '泸州'}, + {id: 5106, name: '德阳'}, + {id: 5107, name: '绵阳'}, + {id: 5108, name: '广元'}, + {id: 5109, name: '遂宁'}, + {id: 5110, name: '内江'}, + {id: 5111, name: '乐山'}, + {id: 5113, name: '南充'}, + {id: 5114, name: '眉山'}, + {id: 5115, name: '宜宾'}, + {id: 5116, name: '广安'}, + {id: 5117, name: '达州'}, + {id: 5118, name: '雅安'}, + {id: 5119, name: '巴中'}, + {id: 5120, name: '资阳'}, + {id: 5132, name: '阿坝'}, + {id: 5133, name: '甘孜'}, + {id: 5134, name: '凉山'} + ] + }, + { + id: 52, name: '贵州', cities: [ + {id: 5201, name: '贵阳'}, + {id: 5202, name: '六盘水'}, + {id: 5203, name: '遵义'}, + {id: 5204, name: '安顺'}, + {id: 5222, name: '铜仁'}, + {id: 5223, name: '黔西南'}, + {id: 5224, name: '毕节'}, + {id: 5226, name: '黔东南'}, + {id: 5227, name: '黔南'} + ] + }, + { + id: 53, name: '云南', cities: [ + {id: 5301, name: '昆明'}, + {id: 5303, name: '曲靖'}, + {id: 5304, name: '玉溪'}, + {id: 5305, name: '保山'}, + {id: 5306, name: '昭通'}, + {id: 5323, name: '楚雄'}, + {id: 5325, name: '红河'}, + {id: 5326, name: '文山'}, + {id: 5327, name: '思茅'}, + {id: 5328, name: '西双版纳'}, + {id: 5329, name: '大理'}, + {id: 5331, name: '德宏'}, + {id: 5332, name: '丽江'}, + {id: 5333, name: '怒江'}, + {id: 5334, name: '迪庆'}, + {id: 5335, name: '临沧'} + ] + }, + { + id: 54, name: '西藏', cities: [ + {id: 5401, name: '拉萨'}, + {id: 5421, name: '昌都'}, + {id: 5422, name: '山南'}, + {id: 5423, name: '日喀则'}, + {id: 5424, name: '那曲'}, + {id: 5425, name: '阿里'}, + {id: 5426, name: '林芝'} + ] + }, + { + id: 61, name: '陕西', cities: [ + {id: 6101, name: '西安'}, + {id: 6102, name: '铜川'}, + {id: 6103, name: '宝鸡'}, + {id: 6104, name: '咸阳'}, + {id: 6105, name: '渭南'}, + {id: 6106, name: '延安'}, + {id: 6107, name: '汉中'}, + {id: 6108, name: '榆林'}, + {id: 6109, name: '安康'}, + {id: 6110, name: '商洛'} + ] + }, + { + id: 62, name: '甘肃', cities: [ + {id: 6201, name: '兰州'}, + {id: 6202, name: '嘉峪关'}, + {id: 6203, name: '金昌'}, + {id: 6204, name: '白银'}, + {id: 6205, name: '天水'}, + {id: 6206, name: '武威'}, + {id: 6207, name: '张掖'}, + {id: 6208, name: '平凉'}, + {id: 6209, name: '酒泉'}, + {id: 6210, name: '庆阳'}, + {id: 6224, name: '定西'}, + {id: 6226, name: '陇南'}, + {id: 6229, name: '临夏'}, + {id: 6230, name: '甘南'} + ] + }, + { + id: 63, name: '青海', cities: [ + {id: 6301, name: '西宁'}, + {id: 6321, name: '海东'}, + {id: 6322, name: '海北'}, + {id: 6323, name: '黄南'}, + {id: 6325, name: '海南'}, + {id: 6326, name: '果洛'}, + {id: 6327, name: '玉树'}, + {id: 6328, name: '海西'} + ] + }, + { + id: 64, name: '宁夏', cities: [ + {id: 6401, name: '银川'}, + {id: 6402, name: '石嘴山'}, + {id: 6403, name: '吴忠'}, + {id: 6404, name: '固原'} + ] + }, + { + id: 65, name: '新疆', cities: [ + {id: 6501, name: '乌鲁木齐'}, + {id: 6502, name: '克拉玛依'}, + {id: 6521, name: '吐鲁番'}, + {id: 6522, name: '哈密'}, + {id: 6523, name: '昌吉'}, + {id: 6527, name: '博尔塔拉'}, + {id: 6528, name: '巴音郭楞'}, + {id: 6529, name: '阿克苏'}, + {id: 6530, name: '克孜勒苏'}, + {id: 6531, name: '喀什'}, + {id: 6532, name: '和田'}, + {id: 6540, name: '伊犁'}, + {id: 6542, name: '塔城'}, + {id: 6543, name: '阿勒泰'} + ] + }, + { + id: 71, name: '台湾', cities: [ + {id: 7101, name: '台北'}, + {id: 7102, name: '高雄'}, + {id: 7190, name: '其他'} + ] + }, + { + id: 81, name: '香港', cities: [ + {id: 8101, name: '香港'} + ] + }, + { + id: 82, name: '澳门', cities: [ + {id: 8201, name: '澳门'} + ] + }, + { + id: 100, name: '其他', cities: [ + {id: 10001, name: '其他'} + ] + }, + { + id: 400, name: '海外', cities: [ + {id: 40001, name: '美国'}, + {id: 40002, name: '英国'}, + {id: 40003, name: '法国'}, + {id: 40004, name: '俄罗斯'}, + {id: 40005, name: '加拿大'}, + {id: 40006, name: '巴西'}, + {id: 40007, name: '澳大利亚'}, + {id: 40008, name: '印尼'}, + {id: 40009, name: '泰国'}, + {id: 40010, name: '马来西亚'}, + {id: 40011, name: '新加坡'}, + {id: 40012, name: '菲律宾'}, + {id: 40013, name: '越南'}, + {id: 40014, name: '印度'}, + {id: 40015, name: '日本'}, + {id: 40016, name: '其他'} + ] + } +]; \ No newline at end of file diff --git a/WebRoot/afterService/js/jquery.city.select.min.js b/WebRoot/afterService/js/jquery.city.select.min.js new file mode 100644 index 0000000..16fc4d7 --- /dev/null +++ b/WebRoot/afterService/js/jquery.city.select.min.js @@ -0,0 +1 @@ +!function(e,n){"function"==typeof define?define(["city.select"],n):"object"==typeof exports?module.exports=n():n()}(this,function(){"use strict";var e;return e=function(e){return e.fn.extend({citylist:function(n){function t(e,n){var t=e,i=n.data,a=[];for(var o in i)if(i.hasOwnProperty(o)){a.push("");for(var r in i[o][n.children])i[o][n.children].hasOwnProperty(r)&&a.push(n.idVal?"":"")}a=a.join(""),t.find("option").remove(),t.append(a)}function i(n,t){var i,a=n.eq(0),o=n.eq(1),r=[];for(var c in t.data)t.data.hasOwnProperty(c)&&(i=t.data[c],r.push(t.idVal?"":""));r=r.join(""),a.find("option").remove(),a.append(r);var l=a.find("option");a.on("change",function(){var n=e(this).val();l.each(function(i,a){return e(a).val()==n?function(n){var i,a=e(n).attr(t.metaTag),r=[];for(var c in t.data)if(t.data.hasOwnProperty(c)&&(i=t.data[c],i[t.id]==a&&i[t.children])){i=i[t.children];for(var l in i)i.hasOwnProperty(l)&&r.push(t.idVal?"":"");break}r=r.join(""),o.find("option").remove(),o.append(r)}(a):void 0})}).trigger("change")}n=e.extend({id:"id",name:"name",children:"children",metaTag:"data-extra",idVal:!1,data:!1,selected:!1},n);var a=e(this),d=' selected="selected"';switch(a.length){case 1:t(a,n);break;case 2:i(a,n);break;default:return this}return this}}),e}(jQuery)}); \ No newline at end of file diff --git a/WebRoot/afterService/js/prettify.js b/WebRoot/afterService/js/prettify.js new file mode 100644 index 0000000..eef5ad7 --- /dev/null +++ b/WebRoot/afterService/js/prettify.js @@ -0,0 +1,28 @@ +var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; +(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= +[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), +l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, +q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, +q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, +"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), +a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} +for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], +"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], +H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], +J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ +I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), +["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", +/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), +["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", +hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= +!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}pthis.depCount&&!this.defined){if(G(l)){if(this.events.error&&this.map.isDefine||g.onError!==ca)try{f=i.execCb(c,l,b,f)}catch(d){a=d}else f=i.execCb(c,l,b,f);this.map.isDefine&&void 0===f&&((b=this.module)?f=b.exports:this.usingExports&& +(f=this.exports));if(a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",w(this.error=a)}else f=l;this.exports=f;if(this.map.isDefine&&!this.ignore&&(r[c]=f,g.onResourceLoad))g.onResourceLoad(i,this.map,this.depMaps);y(c);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var a= +this.map,b=a.id,d=p(a.prefix);this.depMaps.push(d);q(d,"defined",u(this,function(f){var l,d;d=m(aa,this.map.id);var e=this.map.name,P=this.map.parentMap?this.map.parentMap.name:null,n=i.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(f.normalize&&(e=f.normalize(e,function(a){return c(a,P,!0)})||""),f=p(a.prefix+"!"+e,this.map.parentMap),q(f,"defined",u(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),d=m(h,f.id)){this.depMaps.push(f); +if(this.events.error)d.on("error",u(this,function(a){this.emit("error",a)}));d.enable()}}else d?(this.map.url=i.nameToUrl(d),this.load()):(l=u(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),l.error=u(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b];B(h,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&y(a.map.id)});w(a)}),l.fromText=u(this,function(f,c){var d=a.name,e=p(d),P=M;c&&(f=c);P&&(M=!1);s(e);t(j.config,b)&&(j.config[d]=j.config[b]);try{g.exec(f)}catch(h){return w(C("fromtexteval", +"fromText eval for "+b+" failed: "+h,h,[b]))}P&&(M=!0);this.depMaps.push(e);i.completeLoad(d);n([d],l)}),f.load(a.name,n,l,j))}));i.enable(d,this);this.pluginMaps[d.id]=d},enable:function(){V[this.map.id]=this;this.enabling=this.enabled=!0;v(this.depMaps,u(this,function(a,b){var c,f;if("string"===typeof a){a=p(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=m(L,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;q(a,"defined",u(this,function(a){this.defineDep(b, +a);this.check()}));this.errback?q(a,"error",u(this,this.errback)):this.events.error&&q(a,"error",u(this,function(a){this.emit("error",a)}))}c=a.id;f=h[c];!t(L,c)&&(f&&!f.enabled)&&i.enable(a,this)}));B(this.pluginMaps,u(this,function(a){var b=m(h,a.id);b&&!b.enabled&&i.enable(a,this)}));this.enabling=!1;this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]);c.push(b)},emit:function(a,b){v(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};i={config:j,contextName:b, +registry:h,defined:r,urlFetched:S,defQueue:A,Module:Z,makeModuleMap:p,nextTick:g.nextTick,onError:w,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=j.shim,c={paths:!0,bundles:!0,config:!0,map:!0};B(a,function(a,b){c[b]?(j[b]||(j[b]={}),U(j[b],a,!0,!0)):j[b]=a});a.bundles&&B(a.bundles,function(a,b){v(a,function(a){a!==b&&(aa[a]=b)})});a.shim&&(B(a.shim,function(a,c){H(a)&&(a={deps:a});if((a.exports||a.init)&&!a.exportsFn)a.exportsFn=i.makeShimExports(a); +b[c]=a}),j.shim=b);a.packages&&v(a.packages,function(a){var b,a="string"===typeof a?{name:a}:a;b=a.name;a.location&&(j.paths[b]=a.location);j.pkgs[b]=a.name+"/"+(a.main||"main").replace(ia,"").replace(Q,"")});B(h,function(a,b){!a.inited&&!a.map.unnormalized&&(a.map=p(b))});if(a.deps||a.callback)i.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(ba,arguments));return b||a.exports&&da(a.exports)}},makeRequire:function(a,e){function j(c,d,m){var n, +q;e.enableBuildCallback&&(d&&G(d))&&(d.__requireJsBuild=!0);if("string"===typeof c){if(G(d))return w(C("requireargs","Invalid require call"),m);if(a&&t(L,c))return L[c](h[a.id]);if(g.get)return g.get(i,c,a,j);n=p(c,a,!1,!0);n=n.id;return!t(r,n)?w(C("notloaded",'Module name "'+n+'" has not been loaded yet for context: '+b+(a?"":". Use require([])"))):r[n]}J();i.nextTick(function(){J();q=s(p(null,a));q.skipMap=e.skipMap;q.init(c,d,m,{enabled:!0});D()});return j}e=e||{};U(j,{isBrowser:z,toUrl:function(b){var d, +e=b.lastIndexOf("."),k=b.split("/")[0];if(-1!==e&&(!("."===k||".."===k)||1e.attachEvent.toString().indexOf("[native code"))&& +!Y?(M=!0,e.attachEvent("onreadystatechange",b.onScriptLoad)):(e.addEventListener("load",b.onScriptLoad,!1),e.addEventListener("error",b.onScriptError,!1)),e.src=d,J=e,D?y.insertBefore(e,D):y.appendChild(e),J=null,e;if(ea)try{importScripts(d),b.completeLoad(c)}catch(m){b.onError(C("importscripts","importScripts failed for "+c+" at "+d,m,[c]))}};z&&!q.skipDataMain&&T(document.getElementsByTagName("script"),function(b){y||(y=b.parentNode);if(I=b.getAttribute("data-main"))return s=I,q.baseUrl||(E=s.split("/"), +s=E.pop(),O=E.length?E.join("/")+"/":"./",q.baseUrl=O),s=s.replace(Q,""),g.jsExtRegExp.test(s)&&(s=I),q.deps=q.deps?q.deps.concat(s):[s],!0});define=function(b,c,d){var e,g;"string"!==typeof b&&(d=c,c=b,b=null);H(c)||(d=c,c=null);!c&&G(d)&&(c=[],d.length&&(d.toString().replace(ka,"").replace(la,function(b,d){c.push(d)}),c=(1===d.length?["require"]:["require","exports","module"]).concat(c)));if(M){if(!(e=J))N&&"interactive"===N.readyState||T(document.getElementsByTagName("script"),function(b){if("interactive"=== +b.readyState)return N=b}),e=N;e&&(b||(b=e.getAttribute("data-requiremodule")),g=F[e.getAttribute("data-requirecontext")])}(g?g.defQueue:R).push([b,c,d])};define.amd={jQuery:!0};g.exec=function(b){return eval(b)};g(q)}})(this); diff --git a/WebRoot/afterService/parts2_info.html b/WebRoot/afterService/parts2_info.html new file mode 100644 index 0000000..c0fcb7f --- /dev/null +++ b/WebRoot/afterService/parts2_info.html @@ -0,0 +1,262 @@ + + + + + + + 填写资料 + + + + + + + + + + + +
    +
    +
    +
    +
    +

    问题反馈

    +

    请填写以下信息反馈问题,我们会在24小时内响应。或直接拨打售后电话您也可以根据问题的现象参照EA1000常见问题,自行排查问题。

    +
    +
    +
    +
    +
    + +
    +
    + + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + + +
    + +
    +
    +
    +
    + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/WebRoot/afterService/parts_info.html b/WebRoot/afterService/parts_info.html new file mode 100644 index 0000000..8644e46 --- /dev/null +++ b/WebRoot/afterService/parts_info.html @@ -0,0 +1,264 @@ + + + + + + + 填写资料 + + + + + + + + + + + +
    +
    +
    +
    +
    +

    EA1000问题反馈

    +

    请填写以下信息反馈问题,我们会在24小时内响应。或直接拨打售后电话您也可以根据问题的现象参照EA1000常见问题,自行排查问题。

    +
    +
    +
    +
    +
    + +
    +
    + + +
    +
    + +
    +
    + +
    +
    + + +
    +
    + + +
    +
    + +
    + +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + + +
    + +
    +
    +
    +
    + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/resources/dbconfig.properties b/resources/dbconfig.properties index 4661b0b..e074a70 100644 --- a/resources/dbconfig.properties +++ b/resources/dbconfig.properties @@ -1,5 +1,5 @@ #数据源 1 -url:jdbc:mysql://127.0.0.1:3306/education?autoReconnect=true&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 +url:jdbc:mysql://120.78.57.84:3306/education?autoReconnect=true&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8 driverClassName:com.mysql.jdbc.Driver username:root #password:elvis diff --git a/resources/mybatis1/feedback/FeedbackMapper.xml b/resources/mybatis1/feedback/FeedbackMapper.xml new file mode 100644 index 0000000..d39e509 --- /dev/null +++ b/resources/mybatis1/feedback/FeedbackMapper.xml @@ -0,0 +1,201 @@ + + + + + + + FB_FEEDBACK + + + + + SCHOOL_ADDRESS1, + SCHOOL_ADDRESS2, + CONTACT_PHONE, + PHONE_CONTACT, + PRODUCT_SEQ, + QUESTION_NAME, + OS, + SOFTWARE_VERSION, + SOFTWARE_NAME, + EXCEPTION_NUM, + DESCRIPTION, + PROBLEM_PATH, + CUSTOMER_CODE, + PERSON_LIABLE, + CREATE_DATE, + PROCESSING_DATE, + PRODUCT_TYPE, + PRODUCT_MODEL, + TIME_PURCHASE, + BATTERY_BRAND, + BASE_STATION, + ID + + + + + #{SCHOOL_ADDRESS1}, + #{SCHOOL_ADDRESS2}, + #{CONTACT_PHONE}, + #{PHONE_CONTACT}, + #{PRODUCT_SEQ}, + #{QUESTION_NAME}, + #{OS}, + #{SOFTWARE_VERSION}, + #{SOFTWARE_NAME}, + #{EXCEPTION_NUM}, + #{DESCRIPTION}, + #{PROBLEM_PATH}, + #{CUSTOMER_CODE}, + #{PERSON_LIABLE}, + #{CREATE_DATE}, + #{PROCESSING_DATE}, + #{PRODUCT_TYPE}, + #{PRODUCT_MODEL}, + #{TIME_PURCHASE}, + #{BATTERY_BRAND}, + #{BASE_STATION}, + #{ID} + + + + + insert into + + ( + SCHOOL_ADDRESS1, + SCHOOL_ADDRESS2, + CONTACT_PHONE, + PHONE_CONTACT, + PRODUCT_SEQ, + QUESTION_NAME, + OS, + SOFTWARE_VERSION, + SOFTWARE_NAME, + EXCEPTION_NUM, + DESCRIPTION, + PROBLEM_PATH, + CUSTOMER_CODE, + PERSON_LIABLE, + CREATE_DATE, + PROCESSING_DATE, + PRODUCT_TYPE, + TIME_PURCHASE, + BATTERY_BRAND, + BASE_STATION, + PRODUCT_MODEL + ) values ( + #{SCHOOL_ADDRESS1}, + #{SCHOOL_ADDRESS2}, + #{CONTACT_PHONE}, + #{PHONE_CONTACT}, + #{PRODUCT_SEQ}, + #{QUESTION_NAME}, + #{OS}, + #{SOFTWARE_VERSION}, + #{SOFTWARE_NAME}, + #{EXCEPTION_NUM}, + #{DESCRIPTION}, + #{PROBLEM_PATH}, + #{CUSTOMER_CODE}, + #{PERSON_LIABLE}, + #{CREATE_DATE}, + #{PROCESSING_DATE}, + #{PRODUCT_TYPE}, + #{TIME_PURCHASE}, + #{BATTERY_BRAND}, + #{BASE_STATION}, + #{PRODUCT_MODEL} + ) + + + + + delete from + + where + ID = #{ID} + + + + + update + + set + SCHOOL_ADDRESS1 = #{SCHOOL_ADDRESS1}, + SCHOOL_ADDRESS2 = #{SCHOOL_ADDRESS2}, + CONTACT_PHONE = #{CONTACT_PHONE}, + PHONE_CONTACT = #{PHONE_CONTACT}, + PRODUCT_SEQ = #{PRODUCT_SEQ}, + QUESTION_NAME = #{QUESTION_NAME}, + OS = #{OS}, + SOFTWARE_VERSION = #{SOFTWARE_VERSION}, + SOFTWARE_NAME = #{SOFTWARE_NAME}, + EXCEPTION_NUM = #{EXCEPTION_NUM}, + DESCRIPTION = #{DESCRIPTION}, + PROBLEM_PATH = #{PROBLEM_PATH}, + CUSTOMER_CODE = #{CUSTOMER_CODE}, + PERSON_LIABLE = #{PERSON_LIABLE}, + CREATE_DATE = #{CREATE_DATE}, + PROCESSING_DATE = #{PROCESSING_DATE}, + PRODUCT_TYPE = #{PRODUCT_TYPE}, + PRODUCT_MODEL = #{PRODUCT_MODEL}, + TIME_PURCHASE = #{TIME_PURCHASE}, + BATTERY_BRAND = #{BATTERY_BRAND}, + BASE_STATION = #{BASE_STATION}, + ID = #{ID} + where + ID = #{ID} + + + + + + + + + + + + + + delete from + + where + ID in + + #{item} + + + + + \ No newline at end of file diff --git a/resources/mybatis1/feedback/ProblemPhenomenonMapper.xml b/resources/mybatis1/feedback/ProblemPhenomenonMapper.xml new file mode 100644 index 0000000..a33e60e --- /dev/null +++ b/resources/mybatis1/feedback/ProblemPhenomenonMapper.xml @@ -0,0 +1,124 @@ + + + + + + + FB_PROBLEMPHENOMENON + + + + + DESC1, + REMARK, + TYPE, + ID + + + + + #{DESC1}, + #{REMARK}, + #{TYPE}, + #{ID} + + + + + insert into + + ( + DESC1, + TYPE, + REMARK + ) values ( + #{DESC1}, + #{TYPE}, + #{REMARK} + ) + + + + + delete from + + where + ID = #{ID} + + + + + update + + set + DESC1 = #{DESC1}, + REMARK = #{REMARK}, + TYPE = #{TYPE}, + ID = #{ID} + where + ID = #{ID} + + + + + + + + + + + + + + + + + delete from + + where + ID in + + #{item} + + + + + \ No newline at end of file diff --git a/resources/spring/ApplicationContext-shiro.xml b/resources/spring/ApplicationContext-shiro.xml index 3f8ba8c..92cb5c7 100644 --- a/resources/spring/ApplicationContext-shiro.xml +++ b/resources/spring/ApplicationContext-shiro.xml @@ -42,6 +42,7 @@ /login_login = anon /app**/** = anon /api/** = anon + /afterService/** = anon /weixin/** = anon /** = authc diff --git a/src/com/fh/controller/api/ApiServer.java b/src/com/fh/controller/api/ApiServer.java index 9958aef..656f2f3 100644 --- a/src/com/fh/controller/api/ApiServer.java +++ b/src/com/fh/controller/api/ApiServer.java @@ -1,6 +1,8 @@ package com.fh.controller.api; import java.io.File; +import java.io.FileOutputStream; +import java.io.OutputStream; import java.util.Date; import java.util.List; @@ -12,8 +14,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; +import Decoder.BASE64Decoder; + import com.fh.controller.base.BaseController; import com.fh.service.feedback.feedback.FeedbackManager; +import com.fh.service.feedback.problemphenomenon.ProblemPhenomenonManager; import com.fh.service.sunvote.basestation.BasestationManager; import com.fh.service.sunvote.keypad.KeypadManager; import com.fh.service.sunvote.school.SchoolManager; @@ -36,6 +41,9 @@ public class ApiServer extends BaseController { @Resource(name = "feedbackService") private FeedbackManager feedbackService; + @Resource(name = "problemphenomenonService") + private ProblemPhenomenonManager problemphenomenonService; + @RequestMapping(value = "/school", produces = "application/json;charset=UTF-8") @ResponseBody public Object schoolDefault() throws Exception { @@ -262,6 +270,11 @@ public class ApiServer extends BaseController { ResponseGson res = new ResponseGson(); String path = request.getSession().getServletContext() .getRealPath("/images"); + File pathFile = new File(path); + if(!pathFile.exists()){ + pathFile.mkdirs(); + } + logger.info(path); if (file != null) { String fileName = file.getOriginalFilename(); File dir = new File(path, Tools.date2Str(new Date()) + fileName); @@ -269,12 +282,32 @@ public class ApiServer extends BaseController { dir.mkdirs(); } file.transferTo(dir); - + pd.put("PROBLEM_PATH", dir.getAbsolutePath()); + logger.info(dir.getAbsolutePath()); + } else { + if (pd.get("PROBLEM_PATH") != null) { + String imgStr = pd.getString("PROBLEM_PATH"); + String[] content = imgStr.split(";base64,"); + if (content.length >= 2) { + String fileType = ".file"; + if (content[0].contains("image")) { + fileType = content[0].substring(11,content[0].length()); + } + File dir = new File(path + File.separator + "fb_" + + System.currentTimeMillis() + "." + fileType); + if (!dir.exists()) { + dir.createNewFile(); + } + generateImage(content[1], dir.getAbsolutePath()); + pd.put("PROBLEM_PATH", dir.getAbsolutePath()); + } + } } String id = pd.getString("ID"); if (id != null && !"".equals(id)) { try { + logger.info(pd); feedbackService.edit(pd); } catch (Exception ex) { res.setDataError(); @@ -289,4 +322,41 @@ public class ApiServer extends BaseController { } return res.toJson(); } + + @RequestMapping(value = "/problem", produces = "application/json;charset=UTF-8") + @ResponseBody + public Object problem() throws Exception { + PageData pd = getPageData(); + List ret = null; + if (pd.get("TYPE") != null && !"".equals(pd.get("TYPE"))) { + ret = problemphenomenonService.listAllByType(pd); + } else { + ret = problemphenomenonService.listAll(pd); + } + ResponseGson> res = new ResponseGson(); + res.setData(ret); + return res.toJson(); + } + + public static boolean generateImage(String imgStr, String path) { + if (imgStr == null) + return false; + BASE64Decoder decoder = new BASE64Decoder(); + try { + byte[] b = decoder.decodeBuffer(imgStr); + // 处理数据 + for (int i = 0; i < b.length; ++i) { + if (b[i] < 0) { + b[i] += 256; + } + } + OutputStream out = new FileOutputStream(path); + out.write(b); + out.flush(); + out.close(); + return true; + } catch (Exception e) { + return false; + } + } } diff --git a/src/com/fh/controller/feedback/feedback/FeedbackController.java b/src/com/fh/controller/feedback/feedback/FeedbackController.java new file mode 100644 index 0000000..abbe9ac --- /dev/null +++ b/src/com/fh/controller/feedback/feedback/FeedbackController.java @@ -0,0 +1,250 @@ +package com.fh.controller.feedback.feedback; + +import java.io.PrintWriter; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.beans.propertyeditors.CustomDateEditor; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.WebDataBinder; +import org.springframework.web.bind.annotation.InitBinder; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.servlet.ModelAndView; + +import com.fh.controller.base.BaseController; +import com.fh.entity.Page; +import com.fh.util.AppUtil; +import com.fh.util.ObjectExcelView; +import com.fh.util.PageData; +import com.fh.util.Jurisdiction; +import com.fh.util.Tools; +import com.fh.service.feedback.feedback.FeedbackManager; +import com.fh.service.system.fhlog.FHlogManager; + +/** + * 说明:用户反馈模块 + * 创建人:Elvis + * 创建时间:2018-05-03 + */ +@Controller +@RequestMapping(value="/feedback") +public class FeedbackController extends BaseController { + + String menuUrl = "feedback/list.do"; //菜单地址(权限用) + @Resource(name="feedbackService") + private FeedbackManager feedbackService; + + @Resource(name="fhlogService") + private FHlogManager FHLOG; + + /**保存 + * @param + * @throws Exception + */ + @RequestMapping(value="/save") + public ModelAndView save() throws Exception{ + logBefore(logger, Jurisdiction.getUsername()+"新增Feedback"); + if(!Jurisdiction.buttonJurisdiction(menuUrl, "add")){return null;} //校验权限 + ModelAndView mv = this.getModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("PROCESSING_DATE", Tools.date2Str(new Date())); + FHLOG.save(getUsername(), "新增Feedback:"); + feedbackService.save(pd); + mv.addObject("msg","success"); + mv.setViewName("save_result"); + return mv; + } + + /**删除 + * @param out + * @throws Exception + */ + @RequestMapping(value="/delete") + public void delete(PrintWriter out) throws Exception{ + logBefore(logger, Jurisdiction.getUsername()+"删除Feedback"); + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return;} //校验权限 + PageData pd = new PageData(); + pd = this.getPageData(); + feedbackService.delete(pd); + out.write("success"); + out.close(); + } + + /**修改 + * @param + * @throws Exception + */ + @RequestMapping(value="/edit") + public ModelAndView edit() throws Exception{ + logBefore(logger, Jurisdiction.getUsername()+"修改Feedback"); + if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限 + ModelAndView mv = this.getModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + pd.put("PROCESSING_DATE", Tools.date2Str(new Date())); + FHLOG.save(getUsername(), "修改Feedback:" + pd.toString()); + feedbackService.edit(pd); + mv.addObject("msg","success"); + mv.setViewName("save_result"); + return mv; + } + + /**列表 + * @param page + * @throws Exception + */ + @RequestMapping(value="/list") + public ModelAndView list(Page page) throws Exception{ + logBefore(logger, Jurisdiction.getUsername()+"列表Feedback"); + //if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} //校验权限(无权查看时页面会有提示,如果不注释掉这句代码就无法进入列表页面,所以根据情况是否加入本句代码) + ModelAndView mv = this.getModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + String keywords = pd.getString("keywords"); //关键词检索条件 + if(null != keywords && !"".equals(keywords)){ + pd.put("keywords", keywords.trim()); + } + page.setPd(pd); + List varList = feedbackService.list(page); //列出Feedback列表 + mv.setViewName("feedback/feedback/feedback_list"); + mv.addObject("varList", varList); + mv.addObject("pd", pd); + mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 + return mv; + } + + /**去新增页面 + * @param + * @throws Exception + */ + @RequestMapping(value="/goAdd") + public ModelAndView goAdd()throws Exception{ + ModelAndView mv = this.getModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + mv.setViewName("feedback/feedback/feedback_edit"); + mv.addObject("msg", "save"); + mv.addObject("pd", pd); + return mv; + } + + /**去修改页面 + * @param + * @throws Exception + */ + @RequestMapping(value="/goEdit") + public ModelAndView goEdit()throws Exception{ + ModelAndView mv = this.getModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + pd = feedbackService.findById(pd); //根据ID读取 + + mv.setViewName("feedback/feedback/feedback_edit"); + mv.addObject("msg", "edit"); + mv.addObject("pd", pd); + return mv; + } + + /**批量删除 + * @param + * @throws Exception + */ + @RequestMapping(value="/deleteAll") + @ResponseBody + public Object deleteAll() throws Exception{ + logBefore(logger, Jurisdiction.getUsername()+"批量删除Feedback"); + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限 + PageData pd = new PageData(); + Map map = new HashMap(); + pd = this.getPageData(); + List pdList = new ArrayList(); + String DATA_IDS = pd.getString("DATA_IDS"); + if(null != DATA_IDS && !"".equals(DATA_IDS)){ + String ArrayDATA_IDS[] = DATA_IDS.split(","); + feedbackService.deleteAll(ArrayDATA_IDS); + pd.put("msg", "ok"); + }else{ + pd.put("msg", "no"); + } + pdList.add(pd); + map.put("list", pdList); + return AppUtil.returnObject(pd, map); + } + + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/excel") + public ModelAndView exportExcel() throws Exception{ + logBefore(logger, Jurisdiction.getUsername()+"导出Feedback到excel"); + if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} + ModelAndView mv = new ModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + Map dataMap = new HashMap(); + List titles = new ArrayList(); + titles.add("学校地址省"); //1 + titles.add("学校地址市"); //2 + titles.add("联系人"); //3 + titles.add("联系电话"); //4 + titles.add("产品序列号"); //5 + titles.add("问题现象"); //6 + titles.add("操作系统"); //7 + titles.add("软件版本"); //8 + titles.add("软件名称"); //9 + titles.add("异常数量"); //10 + titles.add("详细描述"); //11 + titles.add("问题图片"); //12 + titles.add("客户编码"); //13 + titles.add("处理人"); //14 + titles.add("报告日期"); //15 + titles.add("处理时间"); //16 + titles.add("产品类型"); //17 + titles.add("产品型号"); //18 + dataMap.put("titles", titles); + List varOList = feedbackService.listAll(pd); + List varList = new ArrayList(); + for(int i=0;i varList = problemphenomenonService.list(page); //列出ProblemPhenomenon列表 + mv.setViewName("feedback/problemphenomenon/problemphenomenon_list"); + mv.addObject("varList", varList); + mv.addObject("pd", pd); + mv.addObject("QX",Jurisdiction.getHC()); //按钮权限 + return mv; + } + + /**去新增页面 + * @param + * @throws Exception + */ + @RequestMapping(value="/goAdd") + public ModelAndView goAdd()throws Exception{ + ModelAndView mv = this.getModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + mv.setViewName("feedback/problemphenomenon/problemphenomenon_edit"); + mv.addObject("msg", "save"); + mv.addObject("pd", pd); + return mv; + } + + /**去修改页面 + * @param + * @throws Exception + */ + @RequestMapping(value="/goEdit") + public ModelAndView goEdit()throws Exception{ + ModelAndView mv = this.getModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + pd = problemphenomenonService.findById(pd); //根据ID读取 + mv.setViewName("feedback/problemphenomenon/problemphenomenon_edit"); + mv.addObject("msg", "edit"); + mv.addObject("pd", pd); + return mv; + } + + /**批量删除 + * @param + * @throws Exception + */ + @RequestMapping(value="/deleteAll") + @ResponseBody + public Object deleteAll() throws Exception{ + logBefore(logger, Jurisdiction.getUsername()+"批量删除ProblemPhenomenon"); + if(!Jurisdiction.buttonJurisdiction(menuUrl, "del")){return null;} //校验权限 + PageData pd = new PageData(); + Map map = new HashMap(); + pd = this.getPageData(); + List pdList = new ArrayList(); + String DATA_IDS = pd.getString("DATA_IDS"); + if(null != DATA_IDS && !"".equals(DATA_IDS)){ + String ArrayDATA_IDS[] = DATA_IDS.split(","); + problemphenomenonService.deleteAll(ArrayDATA_IDS); + pd.put("msg", "ok"); + }else{ + pd.put("msg", "no"); + } + pdList.add(pd); + map.put("list", pdList); + return AppUtil.returnObject(pd, map); + } + + /**导出到excel + * @param + * @throws Exception + */ + @RequestMapping(value="/excel") + public ModelAndView exportExcel() throws Exception{ + logBefore(logger, Jurisdiction.getUsername()+"导出ProblemPhenomenon到excel"); + if(!Jurisdiction.buttonJurisdiction(menuUrl, "cha")){return null;} + ModelAndView mv = new ModelAndView(); + PageData pd = new PageData(); + pd = this.getPageData(); + Map dataMap = new HashMap(); + List titles = new ArrayList(); + titles.add("问题描述"); //1 + titles.add("备注"); //2 + dataMap.put("titles", titles); + List varOList = problemphenomenonService.listAll(pd); + List varList = new ArrayList(); + for(int i=0;i= 2){ Session session = Jurisdiction.getSession(); String sessionCode = (String)session.getAttribute(Const.SESSION_SECURITY_CODE); //获取session中的验证码 - String code = KEYDATA[2]; - if(null == code || "".equals(code)){//判断效验码 - errInfo = "nullcode"; //效验码为空 - }else{ +// String code = KEYDATA[2]; +// if(null == code || "".equals(code)){//判断效验码 +// errInfo = "nullcode"; //效验码为空 +// }else{ String USERNAME = KEYDATA[0]; //登录过来的用户名 String PASSWORD = KEYDATA[1]; //登录过来的密码 pd.put("USERNAME", USERNAME); - if(Tools.notEmpty(sessionCode) && sessionCode.equalsIgnoreCase(code)){ //判断登录验证码 +// if(Tools.notEmpty(sessionCode) && sessionCode.equalsIgnoreCase(code)){ //判断登录验证码 String passwd = new SimpleHash("SHA-1", USERNAME, PASSWORD).toString(); //密码加密 pd.put("PASSWORD", passwd); pd = userService.getUserByNameAndPwd(pd); //根据用户名和密码去读取用户信息 @@ -140,18 +140,18 @@ public class LoginController extends BaseController { logBefore(logger, USERNAME+"登录系统密码或用户名错误"); FHLOG.save(USERNAME, "登录系统密码或用户名错误"); } - }else{ - errInfo = "codeerror"; //验证码输入有误 - } +// }else{ +// errInfo = "codeerror"; //验证码输入有误 +// } if(Tools.isEmpty(errInfo)){ errInfo = "success"; //验证成功 logBefore(logger, USERNAME+"登录系统"); FHLOG.save(USERNAME, "登录系统"); } } - }else{ - errInfo = "error"; //缺少参数 - } +// }else{ +// errInfo = "error"; //缺少参数 +// } map.put("result", errInfo); return AppUtil.returnObject(new PageData(), map); } diff --git a/src/com/fh/service/feedback/feedback/FeedbackManager.java b/src/com/fh/service/feedback/feedback/FeedbackManager.java new file mode 100644 index 0000000..003e014 --- /dev/null +++ b/src/com/fh/service/feedback/feedback/FeedbackManager.java @@ -0,0 +1,58 @@ +package com.fh.service.feedback.feedback; + +import java.util.List; +import com.fh.entity.Page; +import com.fh.util.PageData; + +/** + * 说明: 用户反馈模块接口 + * 创建人:Elvis + * 创建时间:2018-05-03 + * @version + */ +public interface FeedbackManager{ + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception; + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception; + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception; + + /**列表 + * @param page + * @throws Exception + */ + public List list(Page page)throws Exception; + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception; + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception; + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + +} + diff --git a/src/com/fh/service/feedback/feedback/impl/FeedbackService.java b/src/com/fh/service/feedback/feedback/impl/FeedbackService.java new file mode 100644 index 0000000..510d641 --- /dev/null +++ b/src/com/fh/service/feedback/feedback/impl/FeedbackService.java @@ -0,0 +1,82 @@ +package com.fh.service.feedback.feedback.impl; + +import java.util.List; +import javax.annotation.Resource; +import org.springframework.stereotype.Service; +import com.fh.dao.DaoSupport; +import com.fh.entity.Page; +import com.fh.util.PageData; +import com.fh.service.feedback.feedback.FeedbackManager; + +/** + * 说明: 用户反馈模块 + * 创建人:FH Q313596790 + * 创建时间:2018-05-03 + * @version + */ +@Service("feedbackService") +public class FeedbackService implements FeedbackManager{ + + @Resource(name = "daoSupport") + private DaoSupport dao; + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception{ + dao.save("FeedbackMapper.save", pd); + } + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception{ + dao.delete("FeedbackMapper.delete", pd); + } + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception{ + dao.update("FeedbackMapper.edit", pd); + } + + /**列表 + * @param page + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List list(Page page)throws Exception{ + return (List)dao.findForList("FeedbackMapper.datalistPage", page); + } + + /**列表(全部) + * @param pd + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List listAll(PageData pd)throws Exception{ + return (List)dao.findForList("FeedbackMapper.listAll", pd); + } + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception{ + return (PageData)dao.findForObject("FeedbackMapper.findById", pd); + } + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ + dao.delete("FeedbackMapper.deleteAll", ArrayDATA_IDS); + } + +} + diff --git a/src/com/fh/service/feedback/problemphenomenon/ProblemPhenomenonManager.java b/src/com/fh/service/feedback/problemphenomenon/ProblemPhenomenonManager.java new file mode 100644 index 0000000..45137d5 --- /dev/null +++ b/src/com/fh/service/feedback/problemphenomenon/ProblemPhenomenonManager.java @@ -0,0 +1,63 @@ +package com.fh.service.feedback.problemphenomenon; + +import java.util.List; +import com.fh.entity.Page; +import com.fh.util.PageData; + +/** + * 说明: 问题现象接口 + * 创建人:Elvis + * 创建时间:2018-05-04 + * @version + */ +public interface ProblemPhenomenonManager{ + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception; + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception; + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception; + + /**列表 + * @param page + * @throws Exception + */ + public List list(Page page)throws Exception; + + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAll(PageData pd)throws Exception; + /**列表(全部) + * @param pd + * @throws Exception + */ + public List listAllByType(PageData pd)throws Exception; + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception; + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception; + +} + diff --git a/src/com/fh/service/feedback/problemphenomenon/impl/ProblemPhenomenonService.java b/src/com/fh/service/feedback/problemphenomenon/impl/ProblemPhenomenonService.java new file mode 100644 index 0000000..7f6e77d --- /dev/null +++ b/src/com/fh/service/feedback/problemphenomenon/impl/ProblemPhenomenonService.java @@ -0,0 +1,90 @@ +package com.fh.service.feedback.problemphenomenon.impl; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import com.fh.dao.DaoSupport; +import com.fh.entity.Page; +import com.fh.util.PageData; +import com.fh.service.feedback.problemphenomenon.ProblemPhenomenonManager; + +/** + * 说明: 问题现象 + * 创建人:FH Q313596790 + * 创建时间:2018-05-04 + * @version + */ +@Service("problemphenomenonService") +public class ProblemPhenomenonService implements ProblemPhenomenonManager{ + + @Resource(name = "daoSupport") + private DaoSupport dao; + + /**新增 + * @param pd + * @throws Exception + */ + public void save(PageData pd)throws Exception{ + dao.save("ProblemPhenomenonMapper.save", pd); + } + + /**删除 + * @param pd + * @throws Exception + */ + public void delete(PageData pd)throws Exception{ + dao.delete("ProblemPhenomenonMapper.delete", pd); + } + + /**修改 + * @param pd + * @throws Exception + */ + public void edit(PageData pd)throws Exception{ + dao.update("ProblemPhenomenonMapper.edit", pd); + } + + /**列表 + * @param page + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List list(Page page)throws Exception{ + return (List)dao.findForList("ProblemPhenomenonMapper.datalistPage", page); + } + + /**列表(全部) + * @param pd + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List listAll(PageData pd)throws Exception{ + return (List)dao.findForList("ProblemPhenomenonMapper.listAll", pd); + } + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + public PageData findById(PageData pd)throws Exception{ + return (PageData)dao.findForObject("ProblemPhenomenonMapper.findById", pd); + } + + /**批量删除 + * @param ArrayDATA_IDS + * @throws Exception + */ + public void deleteAll(String[] ArrayDATA_IDS)throws Exception{ + dao.delete("ProblemPhenomenonMapper.deleteAll", ArrayDATA_IDS); + } + + @Override + public List listAllByType(PageData pd) throws Exception { + return (List)dao.findForList("ProblemPhenomenonMapper.listAllByType", pd); + } + +} + diff --git a/src/com/fh/util/Const.java b/src/com/fh/util/Const.java index ad22f7c..599b81b 100644 --- a/src/com/fh/util/Const.java +++ b/src/com/fh/util/Const.java @@ -32,7 +32,7 @@ public class Const { public static final String FILEPATHFILE = "uploadFiles/file/"; //文件上传路径 public static final String FILEPATHFILEOA = "uploadFiles/uploadFile/"; //文件上传路径(oa管理) public static final String FILEPATHTWODIMENSIONCODE = "uploadFiles/twoDimensionCode/"; //二维码存放路径 - public static final String NO_INTERCEPTOR_PATH = ".*/((login)|(logout)|(code)|(app)|(weixin)|(static)|(main)|(api)|(websocket)|(uploadImgs)).*"; //不对匹配该值的访问路径拦截(正则) + public static final String NO_INTERCEPTOR_PATH = ".*/((login)|(logout)|(code)|(app)|(weixin)|(static)|(afterService)|(main)|(api)|(websocket)|(uploadImgs)).*"; //不对匹配该值的访问路径拦截(正则) public static ApplicationContext WEB_APP_CONTEXT = null; //该值会在web容器启动时由WebAppContextListener初始化 /**