You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.5 KiB
68 lines
1.5 KiB
import Vue from 'vue';
|
|
import Vuex from 'vuex';
|
|
|
|
Vue.use(Vuex); // vue的插件机制
|
|
|
|
// Vuex.Store 构造器选项
|
|
const store = new Vuex.Store({
|
|
// 为了不和页面或组件的data中的造成混淆,state中的变量前面建议加上$符号
|
|
state: {
|
|
isMusic: false,
|
|
time: 0, // 计时时间
|
|
timer: null, // 计时对象
|
|
trainInfo: {},
|
|
// 患者名称
|
|
patientName: '',
|
|
trainPath: '',
|
|
},
|
|
mutations: {
|
|
// 更改state中状态的逻辑,同步操作
|
|
setIsMusic(state, data) {
|
|
state.isMusic = data;
|
|
},
|
|
// 设置训练信息
|
|
setTrainInfo(state, data) {
|
|
state.trainInfo = data;
|
|
console.log(' state.trainInfo: ', state.trainInfo);
|
|
},
|
|
// 自由训练患者名称
|
|
setPatientName(state, data) {
|
|
state.patientName = data;
|
|
},
|
|
// 自由训练患者名称
|
|
setTrainPath(state, data) {
|
|
state.trainPath = data;
|
|
},
|
|
|
|
// ----------全局定时器处理-----------
|
|
},
|
|
actions: {
|
|
// 开始计时
|
|
startTime({ commit }) {
|
|
let state = this.state;
|
|
// console.log('state.time: ', commit, this.state);
|
|
state.timer = setInterval(() => {
|
|
state.time++;
|
|
}, 1000);
|
|
},
|
|
// 设置计时时间
|
|
setTime(time) {
|
|
console.log('time', time);
|
|
let state = this.state;
|
|
state.tiem = time;
|
|
},
|
|
// 停止计时器
|
|
stopTimer() {
|
|
let state = this.state;
|
|
clearInterval(state.timer);
|
|
state.timer = null;
|
|
},
|
|
// 重置计时器
|
|
resetTime() {
|
|
let state = this.state;
|
|
state.time = 0;
|
|
},
|
|
},
|
|
});
|
|
|
|
export default store;
|
|
|