import { GetOrderDetail } from "@/api/order"; const defaultState = () => { return { pushBase: { unipush_version: "", payload: { orderId: "", category: "", }, title: "", content: "", }, orderDetail: {}, orderStatus: "", appOpenStatus: false, }; }; const state = defaultState(); const getters = {}; const mutations = { SET_PUSH(state, pushBase) { state.pushBase = pushBase; }, SET_ORDER_DETAIL(state, orderDetail) { state.orderDetail = orderDetail; }, SET_ORDER_STATUS_API(state, orderStatus) { state.orderStatus = orderStatus; }, SET_APP_OPENT_STATUS(state, appOpenStatus) { state.appOpenStatus = appOpenStatus; }, }; const actions = { async setPush({ commit }, pushBase) { console.log(pushBase); commit("SET_PUSH", pushBase); var AUDIO = null; //多次会调用播放新的文件时,提前销毁实例,可避免-99错误 if (AUDIO) { try { AUDIO.pause(); AUDIO.destroy(); AUDIO = null; } catch (e) { console.log(e); } } AUDIO = uni.createInnerAudioContext(); try { // AUDIO.stop(); switch (pushBase.payload.category) { // 订单详情 case "mchOrderDetail": let params = { orderId: pushBase.payload.orderId, }; let res = await GetOrderDetail(params); console.log(res); if (res && res.status == 200) { commit("SET_ORDER_DETAIL", res.data); } break; // 订单列表 case "mchOnLineOrderList": AUDIO.src = "../../static/mp3/jinxingzhong.MP3"; AUDIO.play(); console.log("播放成功"); commit("SET_ORDER_STATUS_API", pushBase.payload.category); break; // 异常订单 case "mchAbnormalOrderList": AUDIO.src = "../../static/mp3/yichang.MP3"; AUDIO.play(); commit("SET_ORDER_STATUS_API", pushBase.payload.category); break; // 退款订单 case "mchRetrunOrderList": AUDIO.src = "../../static/mp3/tuihuo.MP3"; AUDIO.play(); commit("SET_ORDER_STATUS_API", pushBase.payload.category); break; } } catch (e) { console.log(e); } }, }; export default { namespaced: true, state, getters, mutations, actions, };