123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- import { ref, computed, reactive } from 'vue'
- import { defineStore } from 'pinia'
- import { useRouter, useRoute } from 'vue-router'
- import { $ls, $ss } from "@/storage";
- import { ElMessage } from 'element-plus'
- import { passwordLogin } from "@/apis/user.js";
- import { routerPath } from '@/utils/index.js'
- import routerList from '../router/router';
- import axios from 'axios' // axios version exactly 0.19.2
- export const useCounterStore = defineStore('counter', () => {
- const $router = useRouter()
- const $route = useRoute()
- const data = reactive({
- basic_token1: 'YWdlbnQ6YWdlbnQ=', // 登陆的头部字段
- isCollapse: false, // 是否水平折叠收起菜单,
- menu: $ls.getItem('menu') && $ls.getItem('menu') || [],
- menulist: $ls.getItem('menu') && $ls.getItem('menu') || [],
- mainTabsList: [],
- curActiveTabVal: '',
- pathUrlList: [],
- userName: $ss.getItem('info') && $ss.getItem('info').sysUser.username || '',
- curPath: ''
- })
- // 登陆
- function LoginUsername(params) {
- passwordLogin(params).then((res) => {
- if (res.code === 1) {
- // 存储token鉴权
- console.log(res,'resloggin');
- $ss.setItem('token', res.data)
- $ls.setItem('info', params)
- // let token = $ls.getItem('token')
- // axios.defaults.headers.common['accessToken'] = token
- ElMessage.success('登录成功')
- // 跳转主页
- setTimeout(() => {
- $router.push('/home')
- }, 1000)
- } else {
- ElMessage.warning(res.message || '登录失败')
- }
- })
- }
- // 登出
- function Logout() {
- ElMessageBox.confirm(
- '是否确定要退出?',
- '警告',
- {
- confirmButtonText: '确认',
- cancelButtonText: '取消',
- type: 'warning',
- }
- )
- .then(() => {
- localStorage.clear()
- sessionStorage.clear();
- $router.push({
- path: "/login"
- });
- })
- .catch(() => {
- })
- }
- function addMenuTab(obj) {
- let flag = data.mainTabsList.some((val) => val.path === obj.path);
- if (!flag) {
- data.mainTabsList.push(obj);
- }
- data.curActiveTabVal = obj.path;
- }
- function delMenuTab(val) {
- data.mainTabsList = data.mainTabsList.filter((item) => item.path !== val);
- }
- function remoMenuTab() {
- data.mainTabsList = [];
- }
- // 路由跳转
- function puhsMentab(obj) {
- addMenuTab({
- path: obj.path,
- name: obj.name
- });
- console.log(obj);
- if (obj.query) {
- $router.push({
- path: obj.path,
- query: obj.query
- })
- } else {
- $router.push({
- path: obj.path,
- })
- }
- data.curPath = obj.path;
- $ls.setItem("fullPath", { path: obj.path, name: obj.name });
- }
- return { LoginUsername, data, Logout, addMenuTab, delMenuTab, puhsMentab, remoMenuTab }
- })
|