Commit ae2cf950 by yeran

update

2 parents 77a56385 8e934057
import request from '../utils/request'
/*活力大脑 */
export function rememberSourceListAPI(data) {
return request({
url: 'brain/rememberSource/list',
data: data,
})
}
export function rememberSourceSaveAPI(data) {
return request({
url: 'brain/rememberSource/save',
data: data,
})
}
export function rememberSourceDeleteAPI(data) {
return request({
url: 'brain/rememberSource/delete',
data: data,
})
}
export function rememberSourceDetailAPI(data) {
return request({
url: 'brain/rememberSource/detail',
data: data,
})
}
import request from '../utils/request'
export function rememberPalaceSave(data) {
return request({url : 'brain/rememberPalace/save' ,data})
}
export function rememberPalaceDetail(data) {
return request({url : 'brain/rememberPalace/detail' ,data})
}
...@@ -78,21 +78,24 @@ export default new BaseCasePage({ ...@@ -78,21 +78,24 @@ export default new BaseCasePage({
], ],
tabList: ["五湖四海", "天南地北", "称心如意", "得心应手", "无懈可击"], tabList: ["五湖四海", "天南地北", "称心如意", "得心应手", "无懈可击"],
tab_index: 0, tab_index: 0,
count_time: 300, count_time: 10,
timer: null timer: null
}; };
}, },
methods: { methods: {
clearTimer(){
clearInterval(this.timer);
this.timer = null;
this.count_time = 0;
},
runCount() { runCount() {
this.timer = setInterval(() => { this.timer = setInterval(() => {
console.log(this.count_time) console.log(this.count_time)
if ((this.count_time > 0 && this.gameState === 'progress')) { if ((this.count_time > 0 && this.gameState === 'progress' )) {
this.count_time = this.count_time - 1; this.count_time = this.count_time - 1;
} else { } else if(this.$route.name === 'heart'){
clearInterval(this.timer); this.clearTimer();
this.timer = null;
this.count_time = 0;
this.$message({ this.$message({
type: "error", type: "error",
content: "游戏结束!", content: "游戏结束!",
...@@ -101,6 +104,8 @@ export default new BaseCasePage({ ...@@ -101,6 +104,8 @@ export default new BaseCasePage({
} }
}); });
return; return;
}else {
this.clearTimer();
} }
}, 1000); }, 1000);
}, },
...@@ -148,7 +153,13 @@ export default new BaseCasePage({ ...@@ -148,7 +153,13 @@ export default new BaseCasePage({
} }
}, },
mounted() { mounted() {
console.log('mounted--------------------')
},
beforeDestroy(){
console.log('beforeDestroy--------------------')
},
destroyed(){
console.log('destroyed--------------------')
} }
}); });
</script> </script>
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
<div class="list"> <div class="list">
<div class="item" v-for="(item,index) in list" :key="index"> <div class="item" v-for="(item,index) in list" :key="index">
<div class="box"> <div class="box">
<img class="img" /> <img class="img" :src="item.pic_url" />
<div class="info"> <div class="info">
<p class="title">{{item.name}}</p> <p class="title">{{item.value}}</p>
<p class="text">{{item.d1}}</p> <p class="text">{{item.remark_one}}</p>
<p class="text">{{item.d2}}</p> <p class="text">{{item.remark_two}}</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -18,46 +18,28 @@ ...@@ -18,46 +18,28 @@
<script> <script>
import BaseCasePage from "../../framework/core/baseCasePage"; import BaseCasePage from "../../framework/core/baseCasePage";
import CaseUtil from "../../framework/service/base/caseUtil"; import CaseUtil from "../../framework/service/base/caseUtil";
import { rememberSourceListAPI} from '@/api/recreation'
export default new BaseCasePage({ export default new BaseCasePage({
data() { data() {
return { return {
type:2,
page:1,
page_size:9999,
list: [ list: [
{
name: "a",
d1: "静:笔",
d2: "动:用毛笔在...上面"
},
{
name: "b",
d1: "静:笔",
d2: "动:用毛笔在...上面"
},
{
name: "c",
d1: "静:笔",
d2: "动:用毛笔在...上面"
},
{
name: "d",
d1: "静:笔",
d2: "动:用毛笔在...上面"
},
{
name: "e",
d1: "静:笔",
d2: "动:用毛笔在...上面"
},
{
name: "f",
d1: "静:笔",
d2: "动:用毛笔在...上面"
}
] ]
}; };
}, },
methods: {}, methods: {},
mounted() {} mounted() {
rememberSourceListAPI({type:this.type,page:this.page,page_size:this.page_size}).then(res => {
console.log(res)
if(res.error === 0 && res.data){
this.list = res.data.info;
}
})
}
}); });
</script> </script>
...@@ -77,8 +59,8 @@ export default new BaseCasePage({ ...@@ -77,8 +59,8 @@ export default new BaseCasePage({
display: block; display: block;
width: 100%; width: 100%;
height: 230px; height: 230px;
background: #333;
border-radius: 20px; border-radius: 20px;
overflow: hidden;
} }
.list .box .info { .list .box .info {
margin-top: 24px; margin-top: 24px;
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
<div class="list"> <div class="list">
<div class="item" v-for="(item,index) in list" :key="index"> <div class="item" v-for="(item,index) in list" :key="index">
<div class="box"> <div class="box">
<img class="img" /> <img class="img" :src="item.pic_url" />
<div class="info"> <div class="info">
<p class="title">{{item.name}}</p> <p class="title">{{item.value}}</p>
<p class="text">{{item.d1}}</p> <p class="text">{{item.remark_one}}</p>
<p class="text">{{item.d2}}</p> <p class="text">{{item.remark_two}}</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -18,46 +18,28 @@ ...@@ -18,46 +18,28 @@
<script> <script>
import BaseCasePage from "../../framework/core/baseCasePage"; import BaseCasePage from "../../framework/core/baseCasePage";
import CaseUtil from "../../framework/service/base/caseUtil"; import CaseUtil from "../../framework/service/base/caseUtil";
import { rememberSourceListAPI} from '@/api/recreation'
export default new BaseCasePage({ export default new BaseCasePage({
data() { data() {
return { return {
type:1,
page:1,
page_size:9999,
list: [ list: [
{
name: "1",
d1: "静:连衣裙",
d2: "动:用裙摆扫一扫用摆扫一扫"
},
{
name: "1",
d1: "静:连衣裙",
d2: "动:用裙摆扫一扫用摆扫一扫"
},
{
name: "1",
d1: "静:连衣裙",
d2: "动:用裙摆扫一扫用摆扫一扫"
},
{
name: "1",
d1: "静:连衣裙",
d2: "动:用裙摆扫一扫用摆扫一扫"
},
{
name: "1",
d1: "静:连衣裙",
d2: "动:用裙摆扫一扫用摆扫一扫"
},
{
name: "1",
d1: "静:连衣裙",
d2: "动:用裙摆扫一扫用摆扫一扫"
}
] ]
}; };
}, },
methods: {}, methods: {},
mounted() {} mounted() {
rememberSourceListAPI({type:this.type,page:this.page,page_size:this.page_size}).then(res => {
console.log(res)
if(res.error === 0 && res.data){
this.list = res.data.info;
}
})
}
}); });
</script> </script>
...@@ -77,8 +59,8 @@ export default new BaseCasePage({ ...@@ -77,8 +59,8 @@ export default new BaseCasePage({
display: block; display: block;
width: 100%; width: 100%;
height: 230px; height: 230px;
background: #333;
border-radius: 20px; border-radius: 20px;
overflow: hidden;
} }
.list .box .info { .list .box .info {
margin-top: 24px; margin-top: 24px;
......
...@@ -4,72 +4,80 @@ ...@@ -4,72 +4,80 @@
<div class="title">我的记忆宫殿</div> <div class="title">我的记忆宫殿</div>
<div class="tab-area"> <div class="tab-area">
<div class="item" v-for="(item,index) in tabList" :key="index"> <div class="item" v-for="(item,index) in tabList" :key="index">
<div :class="item.hit ? 'circle active':'circle'" @click="select(item)">{{item.value}}</div> <div :class="item.hit ? 'circle active':'circle'" @click="select(item)">{{item.label}}</div>
</div> </div>
</div> </div>
<el-button type="primary" class="start" @click="start">设置</el-button> <el-button type="primary" class="start" @click="start">设置</el-button>
</div> </div>
<div class="content" v-else> <div class="content" v-else>
<div class="title">{{targetLetter}}</div> <div class="title">{{targetLetter.label}}</div>
<div class="write-area"> <div class="write-area">
<div class="item" v-for="(item,index) in writeList" :key="index"> <div class="item" v-for="(item,index) in writeList" :key="index">
<span class="label-name">{{index + 1}}:</span> <span class="label-name">{{index + 1}}:</span>
<input type="text" class="input" :value="item"/> <input type="text" class="input" :value="item" @change="handleChange($event,index)"/>
</div> </div>
</div> </div>
<el-button type="primary" class="submit-btn" @click="submit">提交</el-button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import BaseCasePage from "../../framework/core/baseCasePage"; import BaseCasePage from "../../framework/core/baseCasePage";
import CaseUtil from "../../framework/service/base/caseUtil"; import {rememberPalaceDetail, rememberPalaceSave} from "@/api/remember";
export default new BaseCasePage({ export default new BaseCasePage({
name: "index", name: "index",
data() { data() {
return { return {
level: 0, level: 0,
targetLetter: 'A', targetLetter: {label: "A", value: 1},
tabList: [ tabList: [
{value: "A", hit: true}, {label: "A", hit: true, value: 1},
{value: "B", hit: false}, {label: "B", hit: false, value: 2},
{value: "C", hit: false}, {label: "C", hit: false, value: 3},
{value: "D", hit: false}, {label: "D", hit: false, value: 4},
{value: "E", hit: false}, {label: "E", hit: false, value: 5},
{value: "F", hit: false}, {label: "F", hit: false, value: 6},
{value: "G", hit: false}, {label: "G", hit: false, value: 7},
{value: "H", hit: false}, {label: "H", hit: false, value: 8},
{value: "I", hit: false}, {label: "I", hit: false, value: 9},
{value: "J", hit: false}, {label: "J", hit: false, value: 10},
{value: "K", hit: false}, {label: "K", hit: false, value: 11},
{value: "L", hit: false}, {label: "L", hit: false, value: 12},
{value: "M", hit: false}, {label: "M", hit: false, value: 13},
{value: "N", hit: false}, {label: "N", hit: false, value: 14},
{value: "O", hit: false}, {label: "O", hit: false, value: 15},
{value: "P", hit: false}, {label: "P", hit: false, value: 16},
{value: "Q", hit: false}, {label: "Q", hit: false, value: 17},
{value: "R", hit: false}, {label: "R", hit: false, value: 18},
{value: "S", hit: false}, {label: "S", hit: false, value: 19},
{value: "T", hit: false}, {label: "T", hit: false, value: 20},
{value: "U", hit: false}, {label: "U", hit: false, value: 21},
{value: "V", hit: false}, {label: "V", hit: false, value: 22},
{value: "W", hit: false}, {label: "W", hit: false, value: 23},
{value: "X", hit: false}, {label: "X", hit: false, value: 24},
{value: "Y", hit: false}, {label: "Y", hit: false, value: 25},
{value: "Z", hit: false} {label: "Z", hit: false, value: 26}
], ],
writeList: [], writeList: [],
startState: false startState: false
}; };
}, },
methods: { methods: {
handleChange(e, index) {
let value = e.target.value;
this.writeList[index] = value;
console.log(value, index, "--e--");
},
select(item) { select(item) {
this.tabList.forEach(v => { this.tabList.forEach(v => {
v.hit = false; v.hit = false;
}); });
item.hit = true; item.hit = true;
this.targetLetter = item.value; this.targetLetter.label = item.label;
this.targetLetter.value = item.value;
}, },
changLevel(level) { changLevel(level) {
if (level !== this.level) { if (level !== this.level) {
...@@ -78,6 +86,31 @@ ...@@ -78,6 +86,31 @@
}, },
start() { start() {
this.startState = true; this.startState = true;
this.getList();
},
getList() {
rememberPalaceDetail({group_id: this.targetLetter.value}).then(res => {
if (res.error === 0) {
this.writeList = res.data.config || [];
}
});
},
submit() {
rememberPalaceSave({
group_id: this.targetLetter.value,
config: this.writeList
}).then(res => {
if (res.error === 0) {
this.$message({
type: "success",
content: "提交成功",
cb: () => {
this.startState = false;
this.getList();
}
});
}
});
} }
}, },
created() { created() {
...@@ -89,6 +122,9 @@ ...@@ -89,6 +122,9 @@
<style scoped> <style scoped>
.content { .content {
padding-top: 80px; padding-top: 80px;
display: flex;
flex-direction: column;
align-items: center;
} }
.title { .title {
...@@ -110,6 +146,24 @@ ...@@ -110,6 +146,24 @@
font-size: 32px; font-size: 32px;
} }
.start {
position: fixed;
left: 50%;
bottom: 40px;
width: 500px;
height: 80px;
transform: translateX(-50%);
border-radius: 40px;
font-size: 32px;
}
.submit-btn {
width: 500px;
height: 80px;
border-radius: 40px;
font-size: 32px;
}
.tab-area { .tab-area {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
...@@ -149,7 +203,7 @@ ...@@ -149,7 +203,7 @@
} }
.write-area > .item { .write-area > .item {
width: 50%; width: 45%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
...@@ -163,6 +217,7 @@ ...@@ -163,6 +217,7 @@
.write-area > .item .input { .write-area > .item .input {
border: 0; border: 0;
outline: none; outline: none;
/*font-size: 36px;*/
border-bottom: 1px solid rgb(58, 58, 58); border-bottom: 1px solid rgb(58, 58, 58);
} }
</style> </style>
...@@ -7,10 +7,10 @@ ...@@ -7,10 +7,10 @@
<div v-if="startState">结束训练</div> <div v-if="startState">结束训练</div>
</div> </div>
<div class="box"> <div class="box">
<image class="img" /> <img class="img" @click="handleClick" />
</div> </div>
<div class="tab-area" v-if="startState"> <div class="tab-area" v-if="startState">
<div :class="item.hit && 'active'" v-for="(item,index) in tabList" :key="index">{{item.value}}</div> <div :class="item.hit && 'active'" v-for="(item,index) in tabList" :key="index">{{item.value}}</div>
</div> </div>
<el-button v-if="!startState" type="primary" class="start" @click="start">记忆完成</el-button> <el-button v-if="!startState" type="primary" class="start" @click="start">记忆完成</el-button>
</div> </div>
...@@ -41,7 +41,19 @@ export default new BaseCasePage({ ...@@ -41,7 +41,19 @@ export default new BaseCasePage({
}; };
}, },
methods: { methods: {
handleClick(e) {
if(!this.startState)return;
let top = e.clientY + "px";
let left = e.clientX + "px";
let box = document.querySelector('.box');
let dot = document.createElement('p');
let styleStr = `width:30px;height:30px;border: 2px solid red;border-radius: 50%;position: absolute;left:${left};top:${top};`;
dot.classList.add('dot')
dot.style.cssText =styleStr;
box.appendChild(dot);
},
changLevel(level) { changLevel(level) {
if (level !== this.level) { if (level !== this.level) {
this.level = level; this.level = level;
...@@ -59,6 +71,13 @@ export default new BaseCasePage({ ...@@ -59,6 +71,13 @@ export default new BaseCasePage({
.content { .content {
padding-top: 80px; padding-top: 80px;
} }
.dot {
width:20px;
height: 20px;
background: red;
border-radius: 50%;
position: absolute;
}
.title { .title {
color: #333; color: #333;
...@@ -72,7 +91,15 @@ export default new BaseCasePage({ ...@@ -72,7 +91,15 @@ export default new BaseCasePage({
.title > div { .title > div {
color: rgb(238, 147, 147); color: rgb(238, 147, 147);
} }
.box { .box >p{
width:20px;
height: 20px;
background: red;
border-radius: 50%;
position: absolute;
}
.box .img {
width: 100%;
height: 580px; height: 580px;
background: #666; background: #666;
} }
...@@ -87,7 +114,7 @@ export default new BaseCasePage({ ...@@ -87,7 +114,7 @@ export default new BaseCasePage({
font-size: 32px; font-size: 32px;
} }
.tab-area { .tab-area {
position: fixed; position: fixed;
left: 50%; left: 50%;
bottom: 80px; bottom: 80px;
width: 90%; width: 90%;
...@@ -96,16 +123,16 @@ export default new BaseCasePage({ ...@@ -96,16 +123,16 @@ export default new BaseCasePage({
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
} }
.tab-area >div { .tab-area > div {
width: 58px; width: 58px;
height: 58px; height: 58px;
line-height: 58px; line-height: 58px;
text-align: center; text-align: center;
border-radius: 50%; border-radius: 50%;
border: 1px solid rgb(129,129,129); border: 1px solid rgb(129, 129, 129);
} }
.tab-area >div.active { .tab-area > div.active {
background: rgba(244,172,185); background: rgba(244, 172, 185);
border: 0; border: 0;
} }
</style> </style>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!