merchapp/java-mall-app-shop-admin/store/modules/push.js

116 lines
2.6 KiB
JavaScript

import { GetOrderDetail } from "@/api/order";
import { GetShopBaseInfo } from "@/api/shop.js";
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;
const res = await GetShopBaseInfo();
const ringtone_is_enable = res.data.ringtone_is_enable === 1
//多次会调用播放新的文件时,提前销毁实例,可避免-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":
commit("SET_ORDER_STATUS_API", pushBase.payload.category);
if(ringtone_is_enable){
AUDIO.src = "../../static/mp3/jinxingzhong.MP3";
AUDIO.play();
}
break;
// 异常订单
case "mchAbnormalOrderList":
commit("SET_ORDER_STATUS_API", pushBase.payload.category);
if(ringtone_is_enable){
AUDIO.src = "../../static/mp3/yichang.MP3";
AUDIO.play();
}
break;
// 退款订单
case "mchRetrunOrderList":
commit("SET_ORDER_STATUS_API", pushBase.payload.category);
if(ringtone_is_enable){
AUDIO.src = "../../static/mp3/tuihuo.MP3";
AUDIO.play();
}
break;
}
} catch (e) {
console.log(e);
}
},
};
export default {
namespaced: true,
state,
getters,
mutations,
actions,
};