Browse Source

修改api传递数据,获取路径中token

yjt_vue
ting 5 months ago
parent
commit
e8ba8077da
  1. 12
      src/api/CanApi.js
  2. BIN
      src/assets/分组 11.png
  3. BIN
      src/assets/分组 12.png
  4. BIN
      src/assets/分组 17.png
  5. BIN
      src/assets/分组 8.png
  6. 16
      src/views/BackView.vue
  7. 32
      src/views/FrontView.vue

12
src/api/CanApi.js

@ -3,17 +3,19 @@ import service from "."
const CanApi = { const CanApi = {
//获取候选人列表 //获取候选人列表
getCandidates(token){ getCandidates(token){
return service.post('/getCandidates/',token);
return service.post('/getCandidates/',{token});
}, },
//投票 //投票
Vote(token,code){ Vote(token,code){
console.log("+++++++++")
return service.post('/vote',{token,code})
let formData = new FormData();
formData.append("token", token);
formData.append("code", code);
return service.post('/vote',formData)
}, },
//查看详情 //查看详情
Detail(token){
return service.get('/getVotesByCandidate/'+`${token}`)
Detail(jwcode){
return service.get(`/getVotesByCandidate/`+`${jwcode}`)
} }
} }

BIN
src/assets/分组 11.png

After

Width: 414  |  Height: 414  |  Size: 144 KiB

BIN
src/assets/分组 12.png

After

Width: 400  |  Height: 401  |  Size: 116 KiB

BIN
src/assets/分组 17.png

After

Width: 400  |  Height: 400  |  Size: 212 KiB

BIN
src/assets/分组 8.png

After

Width: 337  |  Height: 337  |  Size: 90 KiB

16
src/views/BackView.vue

@ -2,10 +2,24 @@
import CanApi from '@/api/CanApi'; import CanApi from '@/api/CanApi';
import { ref } from 'vue'; import { ref } from 'vue';
//
// var url = window.location.href;
var url = "https://wwww.voted?token=oHgj4lMA10LIb4C2pxznbZi0+fEeMx8pywnIlrmTkYxEOqcqxG7SCLo5+Zl/e3VufNpUPfOjn4srEKj1vsk"
//token=
var token = null;
function getToken() {
var parts = url.split("token=");
if (parts.length > 1) {
token = parts[1].split("&")[0]; // &
}
console.log("token字符串:",token); // token
}
getToken();
const candidates = ref([]) const candidates = ref([])
function loadCandidates() { function loadCandidates() {
CanApi.getCandidates().then(result =>{
CanApi.getCandidates(token).then(result =>{
candidates.value = result.data; candidates.value = result.data;
}) })
} }

32
src/views/FrontView.vue

@ -3,24 +3,22 @@ import CanApi from '@/api/CanApi';
import { defaultInitialZIndex, ElMessage } from 'element-plus'; import { defaultInitialZIndex, ElMessage } from 'element-plus';
import { ref } from 'vue'; import { ref } from 'vue';
//
var url = "https://wwww.voted?token=9H0l5gBX0kPIbYe1rBrnbZi0+fEeMx8pywnIlrmTxo5EOPR/wjWDV7w7+ZUseiBtf9kFa/atmNx6QfSpv5w"
//
// var url = window.location.href;
var url = "https://wwww.voted?token=oHgj4lMA10LIb4C2pxznbZi0+fEeMx8pywnIlrmTkYxEOqcqxG7SCLo5+Zl/e3VufNpUPfOjn4srEKj1vsk"
//token=
var token = null; var token = null;
function getToken() { function getToken() {
var url = "https://wwww.voted?token=9H0l5gBX0kPIbYe1rBrnbZi0+fEeMx8pywnIlrmTxo5EOPR/wjWDV7w7+ZUseiBtf9kFa/atmNx6QfSpv5w"
// 使 URL URL
var parsedUrl = new URL(url);
// 使 URLSearchParams token
// token = parsedUrl.searchParams.get("token");
token = "9H0l5gBX0kPIbYe1rBrnbZi0+fEeMx8pywnIlrmTxo5EOPR/wjWDV7w7+ZUseiBtf9kFa/atmNx6QfSpv5w";
var parts = url.split("token=");
if (parts.length > 1) {
token = parts[1].split("&")[0]; // &
}
console.log("token字符串:",token); // token console.log("token字符串:",token); // token
// token = JSON.parse(tokenStr);
// console.log("token json:",token);
} }
getToken(); getToken();
// //
const candidates = ref([]) const candidates = ref([])
const first = ref(); const first = ref();
@ -175,7 +173,7 @@ function vote(code) {
<!-- 头像框 --> <!-- 头像框 -->
<div class="avatar-box2"></div> <div class="avatar-box2"></div>
<!-- 头像图片 --> <!-- 头像图片 -->
<img class="cover2" src="../assets/image.png">
<img class="cover2" :src="second.avatar">
<!-- 投票按钮 --> <!-- 投票按钮 -->
<div class="one-button2" v-if="second.voted == false" @click="vote(second.jwCode)">投票</div> <div class="one-button2" v-if="second.voted == false" @click="vote(second.jwCode)">投票</div>
<div class="buttoned2" v-else @click="vote(second.jwCode)">已投票</div> <div class="buttoned2" v-else @click="vote(second.jwCode)">已投票</div>
@ -189,7 +187,7 @@ function vote(code) {
<!-- 头像框 --> <!-- 头像框 -->
<div class="avatar-box1"></div> <div class="avatar-box1"></div>
<!-- 头像图片 --> <!-- 头像图片 -->
<img class="cover1" src="../assets/image.png">
<img class="cover1" :src="first.avatar">
<!-- 投票按钮 --> <!-- 投票按钮 -->
<div class="one-button1" v-if="first.voted == false" @click="vote(first.jwCode)">投票</div> <div class="one-button1" v-if="first.voted == false" @click="vote(first.jwCode)">投票</div>
<div class="buttoned1" v-else @click="vote(first.jwCode)">已投票</div> <div class="buttoned1" v-else @click="vote(first.jwCode)">已投票</div>
@ -203,7 +201,7 @@ function vote(code) {
<!-- 头像框 --> <!-- 头像框 -->
<div class="avatar-box3"></div> <div class="avatar-box3"></div>
<!-- 头像图片 --> <!-- 头像图片 -->
<img class="cover3" src="../assets/image.png">
<img class="cover3" :src="third.avatar">
<!-- 投票按钮 --> <!-- 投票按钮 -->
<div class="one-button3" v-if="third.voted == false" @click="vote(third.jwCode)">投票</div> <div class="one-button3" v-if="third.voted == false" @click="vote(third.jwCode)">投票</div>
<div class="buttoned3" v-else @click="vote(third.jwCode)">已投票</div> <div class="buttoned3" v-else @click="vote(third.jwCode)">已投票</div>
@ -221,7 +219,7 @@ function vote(code) {
<!-- 排名 --> <!-- 排名 -->
<div class="num">{{ index + 4 }}</div> <div class="num">{{ index + 4 }}</div>
<!-- 头像 --> <!-- 头像 -->
<img class="list-avatar" src="../assets/image.png">
<img class="list-avatar" :src="backCandidate.avatar">
<!-- 投票数 --> <!-- 投票数 -->
<div class="votes">已有{{ backCandidate.votes }}人投票</div> <div class="votes">已有{{ backCandidate.votes }}人投票</div>
<!-- 投票按钮 --> <!-- 投票按钮 -->
@ -455,7 +453,7 @@ function vote(code) {
.cover1 { .cover1 {
position: absolute; position: absolute;
left: 40.9%;
left: 40.8%;
top: -8%; top: -8%;
width: 19.1%; width: 19.1%;
height: 9%; height: 9%;

Loading…
Cancel
Save