init
This commit is contained in:
150
store/index.js
Normal file
150
store/index.js
Normal file
@@ -0,0 +1,150 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import api from '@/api/index'
|
||||
// import config from '../config'
|
||||
// useStore 可以是 useUser、useCart 之类的任何东西
|
||||
// 第一个参数是应用程序中 store 的唯一 id
|
||||
export const useStore = defineStore('main2', {
|
||||
state: () => {
|
||||
return {
|
||||
// 所有这些属性都将自动推断其类型
|
||||
isLogin: false,
|
||||
userInfo:null,
|
||||
access_token:'',
|
||||
historySearchWords:'',
|
||||
course_detail_id:0,
|
||||
timer:null,
|
||||
surplus_seconds:null,// 倒计时
|
||||
test_time:0,//测试用时
|
||||
test_timer:null,
|
||||
total_score:0,
|
||||
status_bar_height: 0,
|
||||
debounceTimer:null,
|
||||
systemInfo:null,
|
||||
cartList:[],
|
||||
cartChange:false,
|
||||
remark_text:'',
|
||||
address:''
|
||||
}
|
||||
},
|
||||
actions:{
|
||||
//应用初始化,在这里获取必要的基础信息
|
||||
appInit() {
|
||||
//获取设备信息
|
||||
const { statusBarHeight } = uni.getSystemInfoSync();
|
||||
this.status_bar_height = statusBarHeight
|
||||
},
|
||||
countdownFunc(minutes){ // 计时
|
||||
this.surplus_seconds = minutes*60
|
||||
},
|
||||
saveToken(token){ // 保存token
|
||||
uni.setStorage({
|
||||
key: 'access_token',
|
||||
data: token,
|
||||
success: function () {
|
||||
console.log('token was saved');
|
||||
}
|
||||
});
|
||||
},
|
||||
saveVisitState(){ // 保存浏览状态
|
||||
uni.setStorage({
|
||||
key: 'visitState',
|
||||
data: 1,
|
||||
success: function () {
|
||||
console.log('visitState was saved');
|
||||
}
|
||||
});
|
||||
},
|
||||
checkLogin(){ // 检查是否登录
|
||||
let access_token = uni.getStorageSync('access_token')
|
||||
// let visitState = uni.getStorageSync('visitState')
|
||||
console.log(access_token)
|
||||
if(access_token) {
|
||||
this.access_token = access_token
|
||||
this.isLogin = true
|
||||
this.getUserInfo()
|
||||
}
|
||||
// else{
|
||||
// if(!visitState) {
|
||||
// // uni.navigateTo({
|
||||
// // url:`/pages/user/login`
|
||||
// // });
|
||||
// }
|
||||
// }
|
||||
},
|
||||
async getUserInfo() {// 获取用户信息
|
||||
const _this = this
|
||||
//测试
|
||||
// 拦截器
|
||||
// uni.addInterceptor('request',{
|
||||
// complete(res) {
|
||||
// // console.log('拦截信息:',res)
|
||||
// if(res.data.data.tag === 'user') { // user接口
|
||||
// // console.log('interceptor-complete',res)
|
||||
// if(res.data.code === 1) {
|
||||
// _this.userInfo = res.data.data.user
|
||||
// }
|
||||
|
||||
// if(res.data.code === 7 ) { // token过期 清除token缓存
|
||||
// _this.access_token = ''
|
||||
// _this.isLogin = false
|
||||
// uni.removeStorageSync('access_token');
|
||||
// uni.removeStorageSync('visitState');
|
||||
// }
|
||||
|
||||
// if(res.header.authorization) {
|
||||
// _this.saveToken(res.header.authorization)
|
||||
// _this.isLogin = true
|
||||
// }
|
||||
// uni.removeInterceptor('request')
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
//测试 结束
|
||||
const res = await api.getUserInfo()
|
||||
// console.log('用户信息:',res)
|
||||
if(res.code == 1) {
|
||||
this.userInfo = res.data
|
||||
uni.setStorageSync('userInfo',res.data);
|
||||
}
|
||||
// else if(res.code == 7){ // token过期 清除token缓存
|
||||
// this.access_token = ''
|
||||
// this.isLogin = false
|
||||
// uni.removeStorageSync('access_token');
|
||||
// uni.removeStorageSync('visitState');
|
||||
// }
|
||||
},
|
||||
logout() { // 登出
|
||||
this.userInfo = null
|
||||
this.isLogin = false
|
||||
uni.removeStorageSync('access_token');
|
||||
uni.removeStorageSync('visitState');
|
||||
},
|
||||
clearStorageFunc() { // 清除倒计时缓存
|
||||
uni.removeStorageSync('surplus_seconds')
|
||||
uni.removeStorageSync('test_time')
|
||||
uni.removeStorageSync('saved_right_indexs_storage') // 清除正确题目的提交记录
|
||||
},
|
||||
toLogin() { // 跳转登录页
|
||||
uni.navigateTo({
|
||||
url:'/pages/user/login'
|
||||
});
|
||||
},
|
||||
showMsg(msg,type){
|
||||
uni.showToast({
|
||||
title: msg,
|
||||
icon :type || 'none',
|
||||
duration: 2000
|
||||
});
|
||||
},
|
||||
async getCartList(){
|
||||
const res = await api.getCartList()
|
||||
// console.log(res)
|
||||
if(res.code === 1) {
|
||||
// if(res.data.length >0) {
|
||||
this.cartList = res.data
|
||||
// cart_list.value = res.data
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
Reference in New Issue
Block a user