| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- import Vue from 'vue'
- import Vuex from 'vuex'
- import api from '@/api'
- import jump from '@/utils/jump'
- Vue.use(Vuex)
- export default new Vuex.Store({
- state: {
- set token(token) {
- uni.setStorageSync('token', token)
- },
- get token() {
- return uni.getStorageSync('token')
- },
- set user(user) {
- //当前登录用户的信息
- uni.setStorageSync('user', JSON.stringify(user))
- },
- get user() {
- return JSON.parse(uni.getStorageSync('user') || '{}')
- },
- set sysInfo(sysInfo) {
- uni.setStorageSync('sysInfo', JSON.stringify(sysInfo))
- },
- get sysInfo() {
- return {
- ...JSON.parse(uni.getStorageSync('sysInfo') || '{}'),
- timestamp: Date.now()
- }
- },
- set params(params) {
- // 当前页面跳转的参数
- uni.setStorageSync('params', JSON.stringify(params))
- },
- get params() {
- return JSON.parse(uni.getStorageSync('params') || '{}')
- },
- set appConfig(appConfig) {
- uni.setStorageSync('appConfig', JSON.stringify(appConfig))
- },
- get appConfig() {
- return JSON.parse(uni.getStorageSync('appConfig') || '{}')
- },
- set knowAfter(knowAfter) {
- // 售后的弹窗 知晓列表
- uni.setStorageSync('knowAfter', JSON.stringify(knowAfter))
- },
- get knowAfter() {
- return JSON.parse(uni.getStorageSync('knowAfter') || '[]')
- },
- set adultWarn(adultWarn) {
- // 18岁提示
- uni.setStorageSync('adultWarn', JSON.stringify(adultWarn))
- },
- get adultWarn() {
- return JSON.parse(uni.getStorageSync('adultWarn') || 'true')
- },
- isRefresh: true, // 是否刷新 User
- appVersionUp: {} // 版本更新信息
- },
- getters: {
- isAppVersionUp(state) {
- return state.appVersionUp.has_update === 1
- }
- },
- actions: {
- async getAppConfig({ state }) {
- state.appConfig = await api.appConfig()
- },
- async refreshUser({ state }) {
- if (!state.token) return
- try {
- state.user = await api.userInfo()
- return true
- } catch {
- return false
- }
- },
- async refreshAppVersion({ state }) {
- // #ifdef APP-PLUS
- plus.runtime.getProperty(plus.runtime.appid, async function (widgetInfo) {
- console.log('store' + JSON.stringify(widgetInfo))
- state.appVersionUp = await api.appVersionCheck({ app_version: widgetInfo.version })
- })
- console.log('v', 111)
- // #endif
- // #ifndef APP-PLUS
- console.log('v', 222)
- state.appVersionUp = await api.appVersionCheck()
- // #endif
- }
- },
- mutations: {
- getSysInfo(state) {
- // 都进行同步获取
- state.sysInfo = {
- app_version: uni.getSystemInfoSync().appVersion || 'No appVersion',
- app_sources: uni.getSystemInfoSync().osName || 'No osName',
- sys_version: uni.getSystemInfoSync().osVersion || 'No osVersion',
- sys_model: uni.getSystemInfoSync().deviceModel || 'No deviceModel',
- udid: uni.getSystemInfoSync().deviceId || 'No deviceId'
- }
- },
- exit(state, type = '') {
- state.token = ''
- state.user = {}
- if (type === 'logout') {
- jump({ url: '/pages/index/index' }, {}, 'switchTab')
- } else {
- jump({ url: '/pages/login/login', animationType: 'zoom-fade-out' })
- }
- },
- setIsRefresh(state, bool) {
- state.isRefresh = bool
- },
- addKnowAfter(state, mobile) {
- state.knowAfter = [...state.knowAfter, mobile]
- },
- closeAdultWarn(state) {
- state.adultWarn = false
- }
- }
- })
|