123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- import Vue from 'vue'
- import { _API_AppMessage } from '@/apis/app.js'
- import { deepClone } from '@/common/util/index.js'
- const getPreviewText = item => {
- let status;
- switch (+item.status) {
- case 0: status = "下单"; break;
- case 1: status = "发货"; break;
- case 2: status = "收货"; break;
- }
- return `恭喜您!您有一份价值 ${item.goodList.reduce((t, e) => t + (+e.num * +e.price), 0)} 元的订单已经${status}成功!`
- }
- export default {
- namespaced: true,
- state: {
- system: [],
- myOrder: [],
- downOrder: [],
- systemLocal: uni.getStorageSync('systemLocal') ? JSON.parse(uni.getStorageSync('systemLocal')) : [],
- myOrderLocal: uni.getStorageSync('myOrderLocal') ? JSON.parse(uni.getStorageSync('myOrderLocal')) : [],
- downOrderLocal: uni.getStorageSync('downOrderLocal') ? JSON.parse(uni.getStorageSync('downOrderLocal')) : [],
- },
- getters: {
- messageNum: state => {
- return state.system.length + state.myOrder.length + state.downOrder.length
- },
- systemMessageNum: state => {
- return state.system.length
- },
- orderMessageNum: state => {
- return state.myOrder.length + state.downOrder.length
- },
- downOrderMessageNum: state => {
- return state.downOrder.length
- },
- previewOrderMessage: state => {
-
- },
- previewSystemMessage: state => {
- if (state.system.length) {
- return `${state.system[0].title} ${state.system[0].message}`
- } else if (state.systemLocal.length) {
- return `${state.systemLocal[0].title} ${state.systemLocal[0].message}`
- } else {
- return '暂无消息'
- }
- },
- },
- mutations: {
- readMessage(state, payload) {
- if (payload.type === 2) {
- const item = deepClone(state.myOrderLocal[payload.index])
- item.readed = true
- Vue.set(state.myOrderLocal, payload.index, item)
- uni.setStorageSync('myOrderLocal', JSON.stringify(state.myOrderLocal))
- } else if (payload.type === 3) {
- const item = deepClone(state.downOrderLocal[payload.index])
- item.readed = true
- Vue.set(state.downOrderLocal, payload.index, item)
- uni.setStorageSync('downOrderLocal', JSON.stringify(state.downOrderLocal))
- }
- },
- setStorage(state, index) {
- if (index === 1) {
- state.systemLocal = [...state.system, ...state.systemLocal]
- state.system = []
- uni.setStorageSync('systemLocal', JSON.stringify(state.systemLocal))
- this.commit('message/setTabbarNum')
- } else if (index === 2) {
- state.myOrderLocal = [...state.myOrder, ...state.myOrderLocal]
- state.myOrder = []
- uni.setStorageSync('myOrderLocal', JSON.stringify(state.myOrderLocal))
- this.commit('message/setTabbarNum')
- } else if (index === 3) {
- state.downOrderLocal = [...state.downOrder, ...state.downOrderLocal]
- state.downOrder = []
- uni.setStorageSync('downOrderLocal', JSON.stringify(state.downOrderLocal))
- this.commit('message/setTabbarNum')
- }
- },
- clearStorage(state) {
- state.systemLocal = []
- state.myOrderLocal = []
- state.downOrderLocal = []
- uni.removeStorageSync('systemLocal')
- uni.removeStorageSync('myOrderLocal')
- uni.removeStorageSync('downOrderLocal')
- },
- setMessage(state, payload) {
- state.system = payload[0]
- state.myOrder = payload[1]
- state.downOrder = payload[2]
- },
-
-
-
-
-
-
-
- },
- actions: {
- getMessage ({ commit, getters }) {
- _API_AppMessage().then(res => {
- if (res.code === 200) {
- commit('setMessage', [res.data.system, res.data.myOrder, res.data.downOrder])
- uni.vibrateLong()
- uni.setTabBarBadge({ index: 3, text: String(getters.messageNum) })
- }
- })
- }
- }
- }
|