Merge branch 'develop' into frontend/robin
This commit is contained in:
commit
caa5494840
@ -58,6 +58,9 @@ dependencies {
|
|||||||
|
|
||||||
compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.0.2'
|
compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.0.2'
|
||||||
|
|
||||||
|
// https://mvnrepository.com/artifact/com.mashape.unirest/unirest-java
|
||||||
|
compile group: 'com.mashape.unirest', name: 'unirest-java', version: '1.3.1'
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
node {
|
node {
|
||||||
|
|||||||
@ -111,12 +111,12 @@ module.exports = function (ctx) {
|
|||||||
? { // Base URL for API-Calls: DEV
|
? { // Base URL for API-Calls: DEV
|
||||||
API: JSON.stringify('http://localhost:8080'),
|
API: JSON.stringify('http://localhost:8080'),
|
||||||
// API: JSON.stringify('https://seserver.se.hs-heilbronn.de:8443/buga19geocaching'),
|
// API: JSON.stringify('https://seserver.se.hs-heilbronn.de:8443/buga19geocaching'),
|
||||||
USER_API: JSON.stringify('https://seserver.se.hs-heilbronn.de:8443/buga19usermanagement')
|
USER_API: JSON.stringify('https://seserver.se.hs-heilbronn.de:9443/buga19usermanagement')
|
||||||
}
|
}
|
||||||
: { // Base URL for API-Calls: PRODUCTION (build)
|
: { // Base URL for API-Calls: PRODUCTION (build)
|
||||||
API: JSON.stringify('http://localhost:8080'),
|
API: JSON.stringify('http://localhost:8080'),
|
||||||
//API: JSON.stringify('https://seserver.se.hs-heilbronn.de:8443/buga19geocaching'),
|
//API: JSON.stringify('https://seserver.se.hs-heilbronn.de:8443/buga19geocaching'),
|
||||||
USER_API: JSON.stringify('https://seserver.se.hs-heilbronn.de:8443/buga19usermanagement')
|
USER_API: JSON.stringify('https://seserver.se.hs-heilbronn.de:9443/buga19usermanagement')
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<q-img transition="fade"
|
<iframe transition="fade"
|
||||||
class="q-mb-md "
|
class="q-mb-md "
|
||||||
:ratio="16/9"
|
height= "200px"
|
||||||
src="https://www.buga2019.de/we-bilder/3.Gartenausstellung/Gelaendeplan/190320_Gelaendeplan-quadratisch.jpg"
|
width= "100%"
|
||||||
v-if="!cameraActive"
|
v-if="!cameraActive"
|
||||||
></q-img>
|
:src= "iFrameURL" frameborder="0"></iframe>
|
||||||
<div v-if="!cameraActive" class="q-ma-md">
|
<div v-if="!cameraActive" class="q-ma-md">
|
||||||
<p class="text-h4">{{ cacheName }}</p>
|
<p class="text-h4">{{ cacheName }}</p>
|
||||||
<p>{{ instruction }}</p>
|
<p>{{ instruction }}</p>
|
||||||
@ -21,13 +21,27 @@
|
|||||||
name: "CacheStart",
|
name: "CacheStart",
|
||||||
components: {qrscanner},
|
components: {qrscanner},
|
||||||
data() {
|
data() {
|
||||||
return { //TODO Lageplan einbinden
|
return {
|
||||||
result: null,
|
result: null,
|
||||||
cameraActive: false,
|
cameraActive: false,
|
||||||
cacheID: "",
|
cacheID: "",
|
||||||
cacheName: "",
|
cacheName: "",
|
||||||
//code: "8/7",
|
//code: "8/7",
|
||||||
instruction: "Bitte begib Dich zu der auf der Karte angezeigten Position. An dieser Position wirst Du einen QR-Code finden. Wenn du ihn gefunden hast, drücke den Knopf zum Starten des QR-Scanners und gib uns die Berechtigung, Deine Kamera zu öffnen. Nachdem Du den QR-Code gescannt hast, erhältst du ein Rätsel zur Position der nächsten Station. Die Lösung zu dem Rätsel ist also das Versteck des nächsten QR-Codes.",
|
instruction: "Bitte begib Dich zu der auf der Karte angezeigten Position. An dieser Position wirst Du einen QR-Code finden. Wenn du ihn gefunden hast, drücke den Knopf zum Starten des QR-Scanners und gib uns die Berechtigung, Deine Kamera zu öffnen. Nachdem Du den QR-Code gescannt hast, erhältst du ein Rätsel zur Position der nächsten Station. Die Lösung zu dem Rätsel ist also das Versteck des nächsten QR-Codes.",
|
||||||
|
// Following Params belong to QR-Code Scanner
|
||||||
|
askForPermission: true,
|
||||||
|
activateCamera: false,
|
||||||
|
isValid: false,
|
||||||
|
validating: false,
|
||||||
|
loading: false,
|
||||||
|
paused: false,
|
||||||
|
params: null,
|
||||||
|
noStreamApiSupport: false,
|
||||||
|
lon: "",
|
||||||
|
lat: "",
|
||||||
|
stationID: [],
|
||||||
|
iFrameURL: ""
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@ -42,8 +56,40 @@
|
|||||||
const cache = response.data.find(cache => cache.id === Number(this.$route.params.cache));
|
const cache = response.data.find(cache => cache.id === Number(this.$route.params.cache));
|
||||||
this.cacheName = cache.name;
|
this.cacheName = cache.name;
|
||||||
this.cacheID = this.$route.params.cache;
|
this.cacheID = this.$route.params.cache;
|
||||||
|
this.stationID = cache.stationen[0];
|
||||||
|
this.lon = this.stationID.longitude;
|
||||||
|
this.lat = this.stationID.lattitude;
|
||||||
|
this.iFrameURL = `http://www.se.hs-heilbronn.de:3000/api/map/lon=${this.lon}&lat=${this.lat}`
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
checkStation() {
|
||||||
|
let params = this.setParams();
|
||||||
|
console.log(params);
|
||||||
|
this.$axios.get('/api/checkStation', {params})
|
||||||
|
.then((response) => {
|
||||||
|
console.log(response);
|
||||||
|
console.log("Anfrage erfolgreich");
|
||||||
|
|
||||||
|
}).catch((error) => {
|
||||||
|
console.log(error);
|
||||||
|
console.log("Anfrage fehlgeschlagen");
|
||||||
|
})
|
||||||
|
this.$router.push({path: `/station/${params.cacheID}/${params.stationID}`})
|
||||||
|
},
|
||||||
|
|
||||||
|
setParams() {
|
||||||
|
console.log("setParams: ");
|
||||||
|
let params = {};
|
||||||
|
params.cacheID = this.result.split('/')[0];
|
||||||
|
params.stationID = this.result.split('/')[1];
|
||||||
|
params.durchgefuehrterCacheID = this.cacheID;
|
||||||
|
console.log("CacheID: " + params.cacheID + " und StationID: " + params.stationID);
|
||||||
|
console.log(params.durchgefuehrterCacheID);
|
||||||
|
if (localStorage.getItem('userToken')) {
|
||||||
|
params.token = JSON.parse(localStorage.getItem('userToken')).token;
|
||||||
|
}
|
||||||
|
return params;
|
||||||
|
},
|
||||||
|
|
||||||
updateResult(event) {
|
updateResult(event) {
|
||||||
console.log("updateResult()");
|
console.log("updateResult()");
|
||||||
|
|||||||
@ -93,6 +93,8 @@
|
|||||||
return {
|
return {
|
||||||
tab: 'list',
|
tab: 'list',
|
||||||
caches: [],
|
caches: [],
|
||||||
|
stations: [],
|
||||||
|
pois: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted: function () {
|
mounted: function () {
|
||||||
@ -116,8 +118,19 @@
|
|||||||
fetchAllCaches() {
|
fetchAllCaches() {
|
||||||
this.$axios.get('/api/allCaches')
|
this.$axios.get('/api/allCaches')
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
console.log("Caches: " + this.caches);
|
|
||||||
this.caches = response.data;
|
this.caches = response.data;
|
||||||
|
for(let cache in this.caches) {
|
||||||
|
|
||||||
|
this.stations[cache]=(this.caches[cache].stationen[0]);
|
||||||
|
const poiItem = {
|
||||||
|
Name: this.caches[cache].name,
|
||||||
|
CategoryID: 3,
|
||||||
|
Latitude: this.stations[cache].lattitude,
|
||||||
|
Longitude: this.stations[cache].longitude
|
||||||
|
};
|
||||||
|
this.pois.push(poiItem);
|
||||||
|
}
|
||||||
|
this.initMap();
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
let message;
|
let message;
|
||||||
let header = "Fehler: ";
|
let header = "Fehler: ";
|
||||||
@ -146,9 +159,23 @@
|
|||||||
},
|
},
|
||||||
editCache() {
|
editCache() {
|
||||||
},
|
},
|
||||||
|
initMap(){
|
||||||
|
console.log("Signalwort: " + this.pois);
|
||||||
|
// this.$axios.post('http://seserver.se.hs-heilbronn.de:3000/api/map', {
|
||||||
|
// body: this.pois
|
||||||
|
// }).then((response)=>{
|
||||||
|
// console.log(response)
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
this.$axios.get('http://www.se.hs-heilbronn.de:3000/api/map/lon=9&lat=49', {
|
||||||
|
body: this.pois
|
||||||
|
}).then((response)=>{
|
||||||
|
console.log(response)
|
||||||
|
})
|
||||||
|
},
|
||||||
deleteCache(id) {
|
deleteCache(id) {
|
||||||
console.log('delete cache: ' + id);
|
console.log('delete cache: ' + id);
|
||||||
this.$axios.get('/api/deleteCache', {params: {cacheID: id}})
|
axios.get('/api/deleteCache', {params: {cacheID: id}})
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
this.fetchAllCaches()
|
this.fetchAllCaches()
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
|
|||||||
@ -36,13 +36,13 @@
|
|||||||
|
|
||||||
<q-tab-panel name="team" class=" fit">
|
<q-tab-panel name="team" class=" fit">
|
||||||
<q-list>
|
<q-list>
|
||||||
<q-card class="q-mb-md">
|
<q-card class="q-mb-md" v-for="(team,index) in teamRankinglist" :key="team.id">
|
||||||
<q-item class="q-pr-sm ">
|
<q-item class="q-pr-sm ">
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<q-item-label>Single line item</q-item-label>
|
<q-item-label><a class="text-black" style="text-decoration: none"><span>{{index+1}}. {{team.teamname}}</span></a></q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
<q-item-section side>
|
<q-item-section side>
|
||||||
<span class="text-grey"> Punkte </span>
|
<span class="text-grey">{{team.rankingPointsSum}} Punkte </span>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
</q-card>
|
</q-card>
|
||||||
@ -68,12 +68,15 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tab: 'solo',
|
tab: 'solo',
|
||||||
rankinglist: []
|
rankinglist: [],
|
||||||
|
teamRankinglist: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created: function() {
|
created: function() {
|
||||||
console.log("created(): " + this.rankinglist);
|
console.log("created(): " + this.rankinglist);
|
||||||
|
console.log("created(): " + this.teamRankinglist);
|
||||||
this.fetchRankinglist();
|
this.fetchRankinglist();
|
||||||
|
this.fetchTeamRankinglist();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
fetchRankinglist() {
|
fetchRankinglist() {
|
||||||
@ -104,6 +107,35 @@
|
|||||||
console.log(error.config);
|
console.log(error.config);
|
||||||
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', { message: msg, title: title, });
|
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', { message: msg, title: title, });
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
fetchTeamRankinglist() {
|
||||||
|
this.$axios.get('/api/getTeamRankingList')
|
||||||
|
.then((response) => {
|
||||||
|
console.log("Team-Rankinglist: ");
|
||||||
|
console.log(response.data);
|
||||||
|
this.teamRankinglist = response.data;
|
||||||
|
}).catch((error) => {
|
||||||
|
// Error
|
||||||
|
let msg;
|
||||||
|
let title;
|
||||||
|
if (error.response) {
|
||||||
|
// The request was made and the server responded with a status code
|
||||||
|
title = "Problem with response!";
|
||||||
|
msg = error.response;
|
||||||
|
} else if (error.request) {
|
||||||
|
// The request was made but no response was received
|
||||||
|
title = "Problem with request!";
|
||||||
|
msg = "Error occured due to wrong server request!"
|
||||||
|
console.log(error.request);
|
||||||
|
} else {
|
||||||
|
// Something happened in setting up the request that triggered an Error
|
||||||
|
title = "Error";
|
||||||
|
msg = error.message;
|
||||||
|
console.log('Error', error.message);
|
||||||
|
}
|
||||||
|
console.log(error.config);
|
||||||
|
this.$store.commit('dialog/NEW_MESSAGE_DIALOG', { message: msg, title: title, });
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package hhn.labsw.bugageocaching.controller;
|
package hhn.labsw.bugageocaching.controller;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
|
import com.mashape.unirest.http.exceptions.UnirestException;
|
||||||
import hhn.labsw.bugageocaching.entities.*;
|
import hhn.labsw.bugageocaching.entities.*;
|
||||||
import hhn.labsw.bugageocaching.helper.POI;
|
import hhn.labsw.bugageocaching.helper.POI;
|
||||||
import hhn.labsw.bugageocaching.helper.RankingListHelper;
|
import hhn.labsw.bugageocaching.helper.RankingListHelper;
|
||||||
@ -57,7 +58,7 @@ public class Controller {
|
|||||||
TeamInviteRepository teamInviteRepository;
|
TeamInviteRepository teamInviteRepository;
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init() {
|
public void init(){
|
||||||
fetchPublicKey();
|
fetchPublicKey();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -544,6 +545,7 @@ public class Controller {
|
|||||||
|
|
||||||
Team team = new Team();
|
Team team = new Team();
|
||||||
team.setName(name);
|
team.setName(name);
|
||||||
|
team.setTeamStatus("");
|
||||||
teamRepository.save(team);
|
teamRepository.save(team);
|
||||||
|
|
||||||
user_info.setTeam(team);
|
user_info.setTeam(team);
|
||||||
|
|||||||
@ -4,7 +4,6 @@ import hhn.labsw.bugageocaching.fetchObjects.PublicKey;
|
|||||||
import io.jsonwebtoken.Claims;
|
import io.jsonwebtoken.Claims;
|
||||||
import io.jsonwebtoken.ExpiredJwtException;
|
import io.jsonwebtoken.ExpiredJwtException;
|
||||||
import io.jsonwebtoken.Jwts;
|
import io.jsonwebtoken.Jwts;
|
||||||
import org.springframework.http.HttpHeaders;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
@ -17,10 +16,10 @@ public class VerificationUtil {
|
|||||||
|
|
||||||
public static Key publicKey;
|
public static Key publicKey;
|
||||||
|
|
||||||
public static void fetchPublicKey() {
|
public static void fetchPublicKey(){
|
||||||
RestTemplate restTemplate = new RestTemplate();
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
try {
|
try {
|
||||||
PublicKey response = restTemplate.getForObject("http://seserver.se.hs-heilbronn.de:8090/buga19usermanagement/token/publickey", PublicKey.class);
|
PublicKey response = restTemplate.getForObject("http://seserver.se.hs-heilbronn.de:9080/buga19usermanagement/token/publickey", PublicKey.class);
|
||||||
byte[] decodedKey = Base64.getDecoder().decode(response.getMessage());
|
byte[] decodedKey = Base64.getDecoder().decode(response.getMessage());
|
||||||
KeyFactory factory = KeyFactory.getInstance("RSA");
|
KeyFactory factory = KeyFactory.getInstance("RSA");
|
||||||
X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(decodedKey);
|
X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(decodedKey);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user