週報描述
- 開發問卷調查系統
下週計劃
週報筆記
-
JAVA後臺獲取訪問者ip
@RequestMapping("/answer") @RestController public class AnswerController { @PostMapping(value = "/submitAnswer") public void submitAnswer(@RequestBody JSONObject para) { //獲取ip HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String ip = getIP(req); } } public String getIP(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("X-Real-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } return ip; }
-
附件題minio邏輯
數據庫中附件的表爲 SELECT * FROM t_an_attach,上傳minio的邏輯爲:先根據文件名跟bucketName(寫死了),去獲取一個上傳附件的鏈接,然後再通過http請求將文件上傳到這個鏈接,上傳完了以後,再根據文件名跟bucketName再去獲取一個下載的鏈接。答卷的時候把這個下載的鏈接存到數據庫,然後打開問卷詳情的時候查出來。
-
ElementUI自帶組件
評分題el-rate,上傳el-upload。
-
MySQL中isnull()用法
isnull(exper) 判斷exper是否爲空,是則返回1,否則返回0。
ifnull(exper1,exper2)判斷exper1是否爲空,是則用exper2代替。
nullif(exper1,exper2)如果expr1= expr2 成立,那麼返回值爲NULL,否則返回值爲expr1。
--如果值爲null,則設置爲0再加一: update t_survey_directory set answer_num=ifnull(answer_num,0)+1 where id = #{surveyId}
-
判斷語句導致報錯
變量quType在前,當quType=null時,判斷將出錯:
if(quType.equals("RADIO"))
應改正爲:
if("RADIO".equals(quType))
-
參數傳遞
發送參數:
let routeUrl = this.$router.resolve({ path:'./answerSurvey', query:{ surveyId:obj, } }); window.open(routeUrl.href, '_blank'); //在新窗口打開頁面
另一個頁面接收參數:
var param = this.$route.query.surveyId;
-
vue-draggable
README:https://github.com/SortableJS/Sortable#options
演示: https://sortablejs.github.io/Vue.Draggable/