import { defineStore } from 'pinia'; // defineStore 方法有两个参数,第一个参数是模块化名字(也就相当于身份证一样,不能重复) // 第二个参数是选项,对象里面有三个属性,相比于vuex 少了一个 mutations. export const useConfigStore = defineStore('config', { state(){ // 存放的就是模块的变量 return { isMobile: (navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))?true:false, isEur: window.location.hostname.includes('eur'), isTest: window.location.hostname.includes('test'), } }, getters:{ // 相当于vue里面的计算属性,可以缓存数据 getIsMobile(state){ return (navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))?true:false }, }, actions:{ // 可以通过actions 方法,改变 state 里面的值。 refreshModel(){ this.isMobile = (navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))?true:false } } })