diff --git a/src/main/java/com/mewhz/paste/controller/CodeController.java b/src/main/java/com/mewhz/paste/controller/CodeController.java index 2fdd7f3..751ccf4 100644 --- a/src/main/java/com/mewhz/paste/controller/CodeController.java +++ b/src/main/java/com/mewhz/paste/controller/CodeController.java @@ -2,57 +2,37 @@ import cn.hutool.db.Entity; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.mewhz.paste.utils.CodeSQL; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; import java.util.List; /** * @author mewhz */ -@Controller +@RestController public class CodeController { @RequestMapping("/code") - @ResponseBody - public String code(@RequestParam String id) { - String htmlFront = "\n" + - "\n" + - "\n" + - " \n" + - " "; - String htmlTitle ="\n" + - " \n" + - " \n" + - " "+ - "\n" + - "\n" + - "
\n" +
-                "      \n" +
-                ""+
-                "    \n"+
-                "\n" +
-                "\n"+
-                        "\n" +
-                        "";
-
-        String htmlEnd = "\n" +
-                "";
-        StringBuilder html = new StringBuilder(htmlFront);
-
-        String cHtml = "\n" +
-                        "\n";
-        String javaHtml = "\n";
-        String pythonHtml = "\n";
-
 
         CodeSQL codesql = new CodeSQL();
         List list = codesql.findCode(id);
@@ -60,27 +40,11 @@ public String code(@RequestParam String id) {
         type = (String) list.get(0).get("type");
         text = (String) list.get(0).get("text");
         remark = (String) list.get(0).get("remark");
-        if ("".equals(remark)){
-            remark = "贴代码";
-        }
-
-        text = text.replaceAll("<", "<");
-        text = text.replaceAll(">", ">");
-        text = text.replaceAll("\n", "
"); - text = text.replaceAll(" ", " "); - html.append(remark).append(htmlTitle).append(type).append("\">").append(text).append(htmlLast); - if ("cpp".equals(type)){ - html.append(cHtml); - } - else if ("java".equals(type)){ - html.append(javaHtml); - } - else if ("python".equals(type)){ - html.append(pythonHtml); - } - html.append(htmlEnd); + json.append("text", text); + json.append("type", type); + json.append("remark", remark); - return html.toString(); + return json; } } diff --git a/src/main/java/com/mewhz/paste/controller/ListController.java b/src/main/java/com/mewhz/paste/controller/ListController.java index 3e189bc..60cfaa7 100644 --- a/src/main/java/com/mewhz/paste/controller/ListController.java +++ b/src/main/java/com/mewhz/paste/controller/ListController.java @@ -1,22 +1,22 @@ package com.mewhz.paste.controller; import cn.hutool.db.Entity; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.mewhz.paste.utils.CodeSQL; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; import java.util.List; /** * @author mewhz */ -@Controller +@RestController public class ListController { - @ResponseBody @RequestMapping(value = "/list") public String list(@RequestParam(value = "id", required = false) String id ){ @@ -82,4 +82,36 @@ public String list(@RequestParam(value = "id", required = false) String id ){ return html.toString(); } + + @RequestMapping("/lists") + public ModelAndView lists(@RequestParam(value = "id", required = false) String id ){ + + ModelAndView mav = new ModelAndView("/list.html"); + + return mav; + + } + + @RequestMapping("/selectList") + @CrossOrigin("http://localhost:63343") + public JSONObject selectList(@RequestParam(value = "id", required = false) String id){ + JSONObject json = JSONUtil.createObj(); + CodeSQL codeSQL = new CodeSQL(); + + List list = codeSQL.findIdentifyingCode(id); + if (list.size() == 0){ + json.append("info", "zero"); + return json; + } + for (Entity e : list){ + json.append("date", e.get("date")); + json.append("time_id", e.get("time_id")); + json.append("remark", e.get("remark")); + json.append("type", e.get("type")); + json.append("text", e.get("text")); + } + System.out.println(json); + return json; + } + } diff --git a/src/main/java/com/mewhz/paste/controller/LoginController.java b/src/main/java/com/mewhz/paste/controller/LoginController.java index 6842156..66ac47e 100644 --- a/src/main/java/com/mewhz/paste/controller/LoginController.java +++ b/src/main/java/com/mewhz/paste/controller/LoginController.java @@ -16,6 +16,9 @@ public class LoginController { @RequestMapping("/login") public String login(@RequestParam String user, @RequestParam String pass){ System.out.println(user + " " + pass); - return user + " " + pass; + if (!"admin".equals(user) || !"admin".equals(pass)){ + return "ERROR"; + } + return "success"; } } diff --git a/src/main/resources/static/code.html b/src/main/resources/static/code.html index 36fb04a..f5e6c4c 100644 --- a/src/main/resources/static/code.html +++ b/src/main/resources/static/code.html @@ -9,25 +9,14 @@
-      #include <iostream>
-using namespace std;
-int main() {
-    int n;
-    cin >> n;
-    cout << n << endl;
-    return 0;
-}
+      
       
     
- + - - - + - - - - + + diff --git a/src/main/resources/static/js/code.js b/src/main/resources/static/js/code.js index 82c2eaf..7e2d7cd 100644 --- a/src/main/resources/static/js/code.js +++ b/src/main/resources/static/js/code.js @@ -1,20 +1,41 @@ -// $(document).ready(()=>{ -// $("#button").click(()=>{ -// let text = $("#code").text(); -// navigator.clipboard.writeText(text); -// toastr.success("复制成功,快去粘贴吧!"); -// }); -// }); -function copy(){ - let clipboard = new ClipboardJS('#button'); - clipboard.on('success', function(e) { - e.clearSelection(); - clipboard.destroy(); - // 释放内存,如果不释放,下次总会多复制 - toastr.success("复制成功,快去粘贴吧!"); - }); +import {copy, getQueryVariable} from './utils.js' + +$(document).ready(()=>{ - clipboard.on('error', function(e) { - toastr.error("一键复制失败,请手动复制!") + $(".button").click((e)=>{ + + let id = $(e.target).attr("id"); + // 单击事件复制 + copy(id); }); -} + + let id = getQueryVariable("id"); + const codeId = $("#code"); + const title = $("title"); + const body = $("body"); + $.ajax({ + url: "/selectCode?id=" + id, + success: (result)=>{ + codeId.attr("class","language-" + result.type); + codeId.text(result.text); + title.text(result.remark); + if (result.remark === "") { + title.text("贴代码"); + } + console.log(result.type[0]); + switch (result.type[0]){ + case "java": + body.append(''); + break; + case "cpp": + body.append(''); + body.append(''); + break; + case "python": + body.append(''); + } + // 对代码重新渲染 + Prism.highlightAll(); + } + }) +}); diff --git a/src/main/resources/static/js/list.js b/src/main/resources/static/js/list.js new file mode 100644 index 0000000..b2cc9e0 --- /dev/null +++ b/src/main/resources/static/js/list.js @@ -0,0 +1,40 @@ +import {copy, getQueryVariable} from './utils.js' + +$(document).ready(()=>{ + let all = $("#all"); + let body = $("body"); + let set = new Set(); + let id = getQueryVariable("id"); + + $.ajax({ + url: "/selectList?id=" + id, + success: (result) => { + console.log(result.type); + let len = result.type.length; + let type = result.type; + let date = result.date; + let time_id = result.time_id; + let text = result.text; + let remark = result.remark; + for (let i = 0; i < len; i ++){ + all.append("
"+ date[i] +" " + time_id[i] + " " + remark[i] + "" + + "
"+ text[i] +"
"); + if (!set.has(type[i])){ + switch (type[i]){ + case "java": + body.append(''); + break; + case "cpp": + body.append(''); + body.append(''); + break; + case "python": + body.append(''); + } + set.add(type[i]); + } + } + Prism.highlightAll(); + } + }) +}); diff --git a/src/main/resources/static/js/utils.js b/src/main/resources/static/js/utils.js new file mode 100644 index 0000000..75bf514 --- /dev/null +++ b/src/main/resources/static/js/utils.js @@ -0,0 +1,22 @@ +export function copy(id){ + let clipboard = new ClipboardJS('.button'); + clipboard.on('success', (e)=>{ + e.clearSelection(); + // 释放内存,否则会多复制 + clipboard.destroy(); + toastr.success("复制成功,快去站贴吧!"); + }); + + clipboard.on('error', (e)=>{ + toastr.error("一键复制失败,请手动复制!"); + }) +} +export function getQueryVariable(variable){ + let query = window.location.search.substring(1); + let vars = query.split("&"); + for (let i = 0; i < vars.length; i ++){ + let pair = vars[i].split("="); + if (pair[0] === variable) return pair[1]; + } + return false; +} diff --git a/src/main/resources/static/list.html b/src/main/resources/static/list.html index 9a1ec36..be93d55 100644 --- a/src/main/resources/static/list.html +++ b/src/main/resources/static/list.html @@ -6,38 +6,11 @@ -
- NiHao -
-      
+    
-using namespace std; -const int N = 205; -int score[5][5] = {{0,0,1,1,0},{1,0,0,1,0},{0,1,0,0,1},{0,0,1,0,1},{1,1,0,0,0}}; -int a,b,n; -int na[N],nb[N]; -int main(){ - scanf("%d%d%d", &n,&a,&b); - int A = 0, B = 0; - for (int i = 0; i < a; i++) scanf("%d", &na[i]); - for (int i = 0; i < b; i++) scanf("%d", &nb[i]); - for (int i = 0; i < n; i++){ - A += score[na[i % a]][nb[i % b]]; - B += score[nb[i % b]][na[i % a]]; - } - cout << A << " " << B; - return 0; -} - -
-
-
- One -

World

-
- - - - + + + + \ No newline at end of file diff --git a/src/test/java/com/mewhz/paste/Main.java b/src/test/java/com/mewhz/paste/Main.java new file mode 100644 index 0000000..d09640a --- /dev/null +++ b/src/test/java/com/mewhz/paste/Main.java @@ -0,0 +1,7 @@ +package com.mewhz.paste; + +public class Main { + public static void main(String[] args) { + System.out.println("Hello World"); + } +}