From d0adc326bf69b9832ad5b1a80c8967ed9f677975 Mon Sep 17 00:00:00 2001
From: dyh <2825183872@qq.com>
Date: Mon, 29 Aug 2022 17:35:27 +0800
Subject: [PATCH] =?UTF-8?q?version-2.6[=E9=A1=B9=E7=9B=AE=E6=9C=80?=
=?UTF-8?q?=E7=BB=88=E4=B8=8A=E7=BA=BF+=E4=BF=AE=E6=94=B9Api+=E6=89=93?=
=?UTF-8?q?=E5=8C=85=E5=89=8D=E5=90=8E=E7=AB=AF+=E9=85=8D=E7=BD=AEhttps,ng?=
=?UTF-8?q?inx=E6=96=87=E4=BB=B6+Docker]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
backendcloud/backend/pom.xml | 23 +-
.../kob/backend/config/SecurityConfig.java | 2 +-
.../ranklist/RankListController.java | 2 +-
.../record/GetRecordListController.java | 2 +-
.../user/account/InfoController.java | 2 +-
.../user/account/LoginController.java | 2 +-
.../user/account/RegisterController.java | 2 +-
.../controller/user/bot/AddController.java | 2 +-
.../user/bot/GetListController.java | 2 +-
.../controller/user/bot/RemoveController.java | 2 +-
.../controller/user/bot/UpdateController.java | 2 +-
.../src/main/resources/application.properties | 2 +-
backendcloud/botrunningsystem/pom.xml | 24 +-
.../service/impl/utils/Consumer.java | 19 +-
.../com/kob/botrunningsystem/utils/Bot.java | 81 +-
backendcloud/input.txt | 1 +
backendcloud/matchingsystem/Copy.txt | 94 --
backendcloud/matchingsystem/pom.xml | 23 +-
.../matchingsystem/config/SecurityConfig.java | 2 +-
web/src/components/MatchGround.vue | 2 +-
web/src/components/NavBar.vue | 5 +-
web/src/store/user.js | 4 +-
web/src/views/pk/PkIndexView.vue | 13 +-
web/src/views/ranklist/RanklistIndexView.vue | 2 +-
web/src/views/record/RecordIndexView.vue | 2 +-
.../user/account/UserAccountRegisterView.vue | 2 +-
web/src/views/user/account/copy.vue | 932 ------------------
web/src/views/user/bot/UserBotIndexView.vue | 8 +-
28 files changed, 197 insertions(+), 1062 deletions(-)
create mode 100644 backendcloud/input.txt
delete mode 100644 backendcloud/matchingsystem/Copy.txt
delete mode 100644 web/src/views/user/account/copy.vue
diff --git a/backendcloud/backend/pom.xml b/backendcloud/backend/pom.xml
index 8e279b2..cfdf104 100644
--- a/backendcloud/backend/pom.xml
+++ b/backendcloud/backend/pom.xml
@@ -10,6 +10,8 @@
4.0.0
backend
+
+ jar
8
@@ -129,5 +131,24 @@
-
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ com.kob.backend.BackendApplication
+
+
+
+
+ repackage
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backendcloud/backend/src/main/java/com/kob/backend/config/SecurityConfig.java b/backendcloud/backend/src/main/java/com/kob/backend/config/SecurityConfig.java
index 0199bcf..320d064 100644
--- a/backendcloud/backend/src/main/java/com/kob/backend/config/SecurityConfig.java
+++ b/backendcloud/backend/src/main/java/com/kob/backend/config/SecurityConfig.java
@@ -40,7 +40,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
- .antMatchers("/user/account/token/", "/user/account/register/").permitAll()
+ .antMatchers("/api/user/account/token/", "/api/user/account/register/").permitAll()
.antMatchers("/pk/start/game/","/pk/receive/bot/move/").hasIpAddress("127.0.0.1")
.antMatchers(HttpMethod.OPTIONS).permitAll()
.anyRequest().authenticated();
diff --git a/backendcloud/backend/src/main/java/com/kob/backend/controller/ranklist/RankListController.java b/backendcloud/backend/src/main/java/com/kob/backend/controller/ranklist/RankListController.java
index 2568bae..3abf5f2 100644
--- a/backendcloud/backend/src/main/java/com/kob/backend/controller/ranklist/RankListController.java
+++ b/backendcloud/backend/src/main/java/com/kob/backend/controller/ranklist/RankListController.java
@@ -14,7 +14,7 @@ public class RankListController {
@Autowired
private RankListService rankListService;
- @GetMapping("/ranklist/getlist")
+ @GetMapping("/api/ranklist/getlist")
public JSONObject getList(@RequestParam Map data){
Integer page = Integer.parseInt(data.get("page"));
return rankListService.getList(page);
diff --git a/backendcloud/backend/src/main/java/com/kob/backend/controller/record/GetRecordListController.java b/backendcloud/backend/src/main/java/com/kob/backend/controller/record/GetRecordListController.java
index 9436691..c26cbc6 100644
--- a/backendcloud/backend/src/main/java/com/kob/backend/controller/record/GetRecordListController.java
+++ b/backendcloud/backend/src/main/java/com/kob/backend/controller/record/GetRecordListController.java
@@ -14,7 +14,7 @@ public class GetRecordListController {
@Autowired
private GetRecordListService getRecordListService;
- @GetMapping("/record/getlist/")
+ @GetMapping("/api/record/getlist/")
public JSONObject getList(@RequestParam Map data){
Integer page = Integer.parseInt(data.get("page"));
return getRecordListService.getList(page);
diff --git a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/InfoController.java b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/InfoController.java
index 1723fa4..27233b9 100644
--- a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/InfoController.java
+++ b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/InfoController.java
@@ -12,7 +12,7 @@ public class InfoController {
@Autowired
private InfoService infoService;
- @GetMapping("/user/account/info/")
+ @GetMapping("/api/user/account/info/")
public Map getInfo()
{
return infoService.getInfo();
diff --git a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/LoginController.java b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/LoginController.java
index b7f7f6d..cef9dec 100644
--- a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/LoginController.java
+++ b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/LoginController.java
@@ -19,7 +19,7 @@ public class LoginController {
@Autowired
private LoginService loginService;//接口实例调用接口方法==>调用实现类中的方法
- @PostMapping("/user/account/token/")
+ @PostMapping("/api/user/account/token/")
public Map getToken(@RequestParam Map map)
{
String username = map.get("username");
diff --git a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/RegisterController.java b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/RegisterController.java
index 87b6bbb..08bf579 100644
--- a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/RegisterController.java
+++ b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/account/RegisterController.java
@@ -14,7 +14,7 @@ public class RegisterController {
@Autowired
private RegisterService registerService;
- @PostMapping("/user/account/register/")
+ @PostMapping("/api/user/account/register/")
public Map register(@RequestParam Map map)
{
String username = map.get("username");
diff --git a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/AddController.java b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/AddController.java
index 5ae6331..c00257b 100644
--- a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/AddController.java
+++ b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/AddController.java
@@ -14,7 +14,7 @@ public class AddController {
@Autowired
private AddService addService;
- @PostMapping("/user/bot/add/")
+ @PostMapping("/api/user/bot/add/")
public Map add(@RequestParam Map data)
{
return addService.add(data);
diff --git a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/GetListController.java b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/GetListController.java
index b44f5e8..e11ff4e 100644
--- a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/GetListController.java
+++ b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/GetListController.java
@@ -13,7 +13,7 @@ public class GetListController{
@Autowired
private GetListService getListService;
- @GetMapping("/user/bot/getlist/")
+ @GetMapping("/api/user/bot/getlist/")
public List getList()
{
return getListService.getList();
diff --git a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/RemoveController.java b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/RemoveController.java
index 78a13f4..5dc9936 100644
--- a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/RemoveController.java
+++ b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/RemoveController.java
@@ -13,7 +13,7 @@ public class RemoveController {
@Autowired
private RemoveService removeService;
- @PostMapping("/user/bot/remove/")
+ @PostMapping("/api/user/bot/remove/")
public Map remove(@RequestParam Map data)
{
return removeService.remove(data);
diff --git a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/UpdateController.java b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/UpdateController.java
index 65986c3..46ff909 100644
--- a/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/UpdateController.java
+++ b/backendcloud/backend/src/main/java/com/kob/backend/controller/user/bot/UpdateController.java
@@ -13,7 +13,7 @@ public class UpdateController {
@Autowired
private UpdateService updateService;
- @PostMapping("/user/bot/update/")
+ @PostMapping("/api/user/bot/update/")
public Map update(@RequestParam Map data){
return updateService.update(data);
}
diff --git a/backendcloud/backend/src/main/resources/application.properties b/backendcloud/backend/src/main/resources/application.properties
index 9d8b7b4..39eee02 100644
--- a/backendcloud/backend/src/main/resources/application.properties
+++ b/backendcloud/backend/src/main/resources/application.properties
@@ -1,7 +1,7 @@
server.port=3000
spring.datasource.username=root
-spring.datasource.password=dyh20011022
+spring.datasource.password=Dd20011022
spring.datasource.url=jdbc:mysql://localhost:3306/kob?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
diff --git a/backendcloud/botrunningsystem/pom.xml b/backendcloud/botrunningsystem/pom.xml
index e4bb51a..2739bfd 100644
--- a/backendcloud/botrunningsystem/pom.xml
+++ b/backendcloud/botrunningsystem/pom.xml
@@ -10,7 +10,8 @@
4.0.0
botrunningsystem
-
+
+ jar
8
8
@@ -68,5 +69,24 @@
-
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ com.kob.botrunningsystem.BotRunningSystemApplication
+
+
+
+
+ repackage
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backendcloud/botrunningsystem/src/main/java/com/kob/botrunningsystem/service/impl/utils/Consumer.java b/backendcloud/botrunningsystem/src/main/java/com/kob/botrunningsystem/service/impl/utils/Consumer.java
index bd111c1..6412fd4 100644
--- a/backendcloud/botrunningsystem/src/main/java/com/kob/botrunningsystem/service/impl/utils/Consumer.java
+++ b/backendcloud/botrunningsystem/src/main/java/com/kob/botrunningsystem/service/impl/utils/Consumer.java
@@ -10,7 +10,11 @@ import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.PrintWriter;
import java.util.UUID;
+import java.util.function.Supplier;
@Component
public class Consumer extends Thread{
@@ -37,7 +41,7 @@ public class Consumer extends Thread{
}
private String addUid(String code,String uid){
- int k = code.indexOf(" implements BotInterface");
+ int k = code.indexOf(" implements java.util.function.Supplier");
return code.substring(0,k) + uid +code.substring(k);
}
@@ -46,12 +50,21 @@ public class Consumer extends Thread{
UUID uuid = UUID.randomUUID();
String uid = uuid.toString().substring(0,8);
- BotInterface botInterface = Reflect.compile(
+ //更普遍的一个接口
+ Supplier botInterface = Reflect.compile(
"com.kob.botrunningsystem.utils.Bot" + uid,
addUid(bot.getBotCode(),uid)
).create().get();
+ //bot.getInput()写入文件
+ File file = new File("input.txt");
+ try(PrintWriter printWriter = new PrintWriter(file)){
+ printWriter.println(bot.getInput());
+ printWriter.flush();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
- Integer direction = botInterface.nextMove(bot.getInput());
+ Integer direction = botInterface.get();
System.out.println("move-direction: " + bot.getUserId() + " " + direction);
diff --git a/backendcloud/botrunningsystem/src/main/java/com/kob/botrunningsystem/utils/Bot.java b/backendcloud/botrunningsystem/src/main/java/com/kob/botrunningsystem/utils/Bot.java
index d2a671c..9f10ea2 100644
--- a/backendcloud/botrunningsystem/src/main/java/com/kob/botrunningsystem/utils/Bot.java
+++ b/backendcloud/botrunningsystem/src/main/java/com/kob/botrunningsystem/utils/Bot.java
@@ -1,8 +1,85 @@
package com.kob.botrunningsystem.utils;
-public class Bot implements com.kob.botrunningsystem.utils.BotInterface {
- @Override
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Scanner;
+
+public class Bot implements java.util.function.Supplier {
+ static class Cell {
+ public int x, y;
+ public Cell(int x, int y) {
+ this.x = x;
+ this.y = y;
+ }
+ }
+
+ private boolean check_tail_increasing(int step) { // 检验当前回合,蛇的长度是否增加
+ if (step <= 10) return true;
+ return step % 3 == 1;
+ }
+
+ public List getCells(int sx, int sy, String steps) {
+ steps = steps.substring(1, steps.length() - 1);
+ List res = new ArrayList<>();
+
+ int[] dx = {-1, 0, 1, 0}, dy = {0, 1, 0, -1};
+ int x = sx, y = sy;
+ int step = 0;
+ res.add(new Cell(x, y));
+ for (int i = 0; i < steps.length(); i ++ ) {
+ int d = steps.charAt(i) - '0';
+ x += dx[d];
+ y += dy[d];
+ res.add(new Cell(x, y));
+ if (!check_tail_increasing( ++ step)) {
+ res.remove(0);
+ }
+ }
+ return res;
+ }
+
public Integer nextMove(String input) {
+ String[] strs = input.split("#");
+ int[][] g = new int[13][14];
+ for (int i = 0, k = 0; i < 13; i ++ ) {
+ for (int j = 0; j < 14; j ++, k ++ ) {
+ if (strs[0].charAt(k) == '1') {
+ g[i][j] = 1;
+ }
+ }
+ }
+
+ int aSx = Integer.parseInt(strs[1]), aSy = Integer.parseInt(strs[2]);
+ int bSx = Integer.parseInt(strs[4]), bSy = Integer.parseInt(strs[5]);
+
+ List aCells = getCells(aSx, aSy, strs[3]);
+ List bCells = getCells(bSx, bSy, strs[6]);
+
+ for (Cell c: aCells) g[c.x][c.y] = 1;
+ for (Cell c: bCells) g[c.x][c.y] = 1;
+
+ int[] dx = {-1, 0, 1, 0}, dy = {0, 1, 0, -1};
+ for (int i = 0; i < 4; i ++ ) {
+ int x = aCells.get(aCells.size() - 1).x + dx[i];
+ int y = aCells.get(aCells.size() - 1).y + dy[i];
+ if (x >= 0 && x < 13 && y >= 0 && y < 14 && g[x][y] == 0) {
+ return i;
+ }
+ }
+
return 0;
}
+
+ @Override
+ public Integer get() {
+ File file = new File("input.txt");
+ try {
+ Scanner sc = new Scanner(file);
+ return nextMove(sc.next());
+ } catch (FileNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ }
}
diff --git a/backendcloud/input.txt b/backendcloud/input.txt
new file mode 100644
index 0000000..0e96c96
--- /dev/null
+++ b/backendcloud/input.txt
@@ -0,0 +1 @@
+11111111111111100100001100011000000000000110000000100001100001011100011000110000000110000000000001100000001100011000111010000110000100000001100000000000011000110000100111111111111111#1#12#(22222222223000000000012)#11#1#(00000000001211011121110)
diff --git a/backendcloud/matchingsystem/Copy.txt b/backendcloud/matchingsystem/Copy.txt
deleted file mode 100644
index 18ee3fd..0000000
--- a/backendcloud/matchingsystem/Copy.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/backendcloud/matchingsystem/pom.xml b/backendcloud/matchingsystem/pom.xml
index d2a4379..33cc4a5 100644
--- a/backendcloud/matchingsystem/pom.xml
+++ b/backendcloud/matchingsystem/pom.xml
@@ -11,7 +11,7 @@
com.kob.matchingsystem
matchingsystem
-
+ jar
8
8
@@ -60,5 +60,24 @@
-
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+ com.kob.matchingsystem.MatchingSystemApplication
+
+
+
+
+ repackage
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backendcloud/matchingsystem/src/main/java/com/kob/matchingsystem/config/SecurityConfig.java b/backendcloud/matchingsystem/src/main/java/com/kob/matchingsystem/config/SecurityConfig.java
index be39503..bc68445 100644
--- a/backendcloud/matchingsystem/src/main/java/com/kob/matchingsystem/config/SecurityConfig.java
+++ b/backendcloud/matchingsystem/src/main/java/com/kob/matchingsystem/config/SecurityConfig.java
@@ -16,7 +16,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
- .antMatchers("/player/add/","/player/remove/").hasIpAddress("localhost")//新加
+ .antMatchers("/player/add/","/player/remove/").hasIpAddress("127.0.0.1")//新加
.antMatchers(HttpMethod.OPTIONS).permitAll()
.anyRequest().authenticated();
}
diff --git a/web/src/components/MatchGround.vue b/web/src/components/MatchGround.vue
index 3c7f036..9a3c1e7 100644
--- a/web/src/components/MatchGround.vue
+++ b/web/src/components/MatchGround.vue
@@ -69,7 +69,7 @@ export default {
const refresh_bots = () => {
$.ajax({
- url: "http://127.0.0.1:3000/user/bot/getlist/",
+ url: "https://snake.mycomputer.top/api/user/bot/getlist/",
type: "get",
headers: {
'Authorization': "Bearer " + store.state.user.token,
diff --git a/web/src/components/NavBar.vue b/web/src/components/NavBar.vue
index 7ad4342..5981336 100644
--- a/web/src/components/NavBar.vue
+++ b/web/src/components/NavBar.vue
@@ -2,7 +2,10 @@
| | | |