!61 【新增】接入微信订阅消息

Merge pull request !61 from puhui999/master
pull/52/MERGE
芋道源码 2024-07-24 11:36:54 +00:00 committed by Gitee
commit 3d7f63868f
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 42 additions and 30 deletions

View File

@ -130,6 +130,7 @@
import TradeConfigApi from '@/sheep/api/trade/config'; import TradeConfigApi from '@/sheep/api/trade/config';
import { fen2yuan } from '@/sheep/hooks/useGoods'; import { fen2yuan } from '@/sheep/hooks/useGoods';
import AfterSaleApi from '@/sheep/api/trade/afterSale'; import AfterSaleApi from '@/sheep/api/trade/afterSale';
import { SubscribeTemplate } from '@/sheep/util/const';
const form = ref(null); const form = ref(null);
const state = reactive({ const state = reactive({
@ -165,7 +166,7 @@
// //
async function submit() { async function submit() {
// #ifdef MP // #ifdef MP
sheep.$platform.useProvider('wechat').subscribeMessage('order_aftersale_change'); sheep.$platform.useProvider('wechat').subscribeMessage(SubscribeTemplate.ORDER_AFTERSALE_CHANGE);
// #endif // #endif
let data = { let data = {
orderItemId: state.itemId, orderItemId: state.itemId,

View File

@ -47,6 +47,7 @@
import { onLoad } from '@dcloudio/uni-app'; import { onLoad } from '@dcloudio/uni-app';
import { fen2yuan } from '@/sheep/hooks/useGoods'; import { fen2yuan } from '@/sheep/hooks/useGoods';
import PayWalletApi from '@/sheep/api/pay/wallet'; import PayWalletApi from '@/sheep/api/pay/wallet';
import { SubscribeTemplate } from '@/sheep/util/const';
const userWallet = computed(() => sheep.$store('user').userWallet); const userWallet = computed(() => sheep.$store('user').userWallet);
const statusBarHeight = sheep.$platform.device.statusBarHeight * 2; const statusBarHeight = sheep.$platform.device.statusBarHeight * 2;
@ -73,20 +74,20 @@
// //
async function onConfirm() { async function onConfirm() {
const { code, data } = await PayWalletApi.createWalletRecharge({ // const { code, data } = await PayWalletApi.createWalletRecharge({
packageId: state.packageList.find((item) => fen2yuan(item.payPrice) === state.recharge_money)?.id, // packageId: state.packageList.find((item) => fen2yuan(item.payPrice) === state.recharge_money)?.id,
payPrice: state.recharge_money * 100 // payPrice: state.recharge_money * 100
}); // });
if (code !== 0) { // if (code !== 0) {
return; // return;
} // }
// #ifdef MP // #ifdef MP
sheep.$platform.useProvider('wechat').subscribeMessage('money_change'); sheep.$platform.useProvider('wechat').subscribeMessage(SubscribeTemplate.MONEY_CHANGE);
// #endif // #endif
sheep.$router.go('/pages/pay/index', { // sheep.$router.go('/pages/pay/index', {
id: data.payOrderId, // id: data.payOrderId,
orderType: 'recharge' // orderType: 'recharge'
}); // });
} }
onLoad(() => { onLoad(() => {
@ -256,4 +257,4 @@
} }
} }
} }
</style> </style>

View File

@ -4,13 +4,10 @@ export default {
// 微信相关 // 微信相关
wechat: { wechat: {
// 小程序订阅消息 // 小程序订阅消息
subscribeTemplate: (params) => subscribeTemplate: () =>
request({ request({
url: 'third/wechat/subscribeTemplate', url: '/member/social-user/get-subscribe-template',
method: 'GET', method: 'GET',
params: {
platform: 'miniProgram',
},
custom: { custom: {
showError: false, showError: false,
showLoading: false, showLoading: false,

View File

@ -1,4 +1,4 @@
import third from '@/sheep/api/migration/third' import third from '@/sheep/api/migration/third';
import AuthUtil from '@/sheep/api/member/auth'; import AuthUtil from '@/sheep/api/member/auth';
import SocialApi from '@/sheep/api/member/social'; import SocialApi from '@/sheep/api/member/social';
import UserApi from '@/sheep/api/member/user'; import UserApi from '@/sheep/api/member/user';
@ -128,14 +128,14 @@ async function getInfo() {
const checkUpdate = async (silence = true) => { const checkUpdate = async (silence = true) => {
if (uni.canIUse('getUpdateManager')) { if (uni.canIUse('getUpdateManager')) {
const updateManager = uni.getUpdateManager(); const updateManager = uni.getUpdateManager();
updateManager.onCheckForUpdate(function (res) { updateManager.onCheckForUpdate(function(res) {
// 请求完新版本信息的回调 // 请求完新版本信息的回调
if (res.hasUpdate) { if (res.hasUpdate) {
updateManager.onUpdateReady(function () { updateManager.onUpdateReady(function() {
uni.showModal({ uni.showModal({
title: '更新提示', title: '更新提示',
content: '新版本已经准备好,是否重启应用?', content: '新版本已经准备好,是否重启应用?',
success: function (res) { success: function(res) {
if (res.confirm) { if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate(); updateManager.applyUpdate();
@ -143,7 +143,7 @@ const checkUpdate = async (silence = true) => {
}, },
}); });
}); });
updateManager.onUpdateFailed(function () { updateManager.onUpdateFailed(function() {
// 新的版本下载失败 // 新的版本下载失败
// uni.showModal({ // uni.showModal({
// title: '已经有新版本了哟~', // title: '已经有新版本了哟~',
@ -164,8 +164,8 @@ const checkUpdate = async (silence = true) => {
// 获取订阅消息模板 // 获取订阅消息模板
async function getSubscribeTemplate() { async function getSubscribeTemplate() {
const { error, data } = await third.wechat.subscribeTemplate(); const { code, data } = await third.wechat.subscribeTemplate();
if (error === 0) { if (code === 0) {
subscribeEventList = data; subscribeEventList = data;
} }
} }
@ -174,11 +174,17 @@ async function getSubscribeTemplate() {
function subscribeMessage(event) { function subscribeMessage(event) {
let tmplIds = []; let tmplIds = [];
if (typeof event === 'string') { if (typeof event === 'string') {
tmplIds.push(subscribeEventList[event]); const temp = subscribeEventList.find(item => item.title.includes(event));
if (temp) {
tmplIds.push(temp.priTmplId);
}
} }
if (typeof event === 'object') { if (typeof event === 'object') {
event.forEach((item) => { event.forEach((e) => {
if (typeof subscribeEventList[item] !== 'undefined') tmplIds.push(subscribeEventList[item]); const temp = subscribeEventList.find(item => item.title.includes(e));
if (temp) {
tmplIds.push(temp.priTmplId);
}
}); });
} }
if (tmplIds.length === 0) return; if (tmplIds.length === 0) return;
@ -201,5 +207,5 @@ export default {
getInfo, getInfo,
getOpenid, getOpenid,
subscribeMessage, subscribeMessage,
checkUpdate checkUpdate,
}; };

View File

@ -56,6 +56,13 @@ export const TimeStatusEnum = {
END: '已结束', END: '已结束',
} }
// TODO 订阅模版枚举
export const SubscribeTemplate = {
ORDER_AFTERSALE_CHANGE: "售后进度通知",
MONEY_CHANGE: "充值成功通知"
}
export const getTimeStatusEnum = (startTime, endTime) => { export const getTimeStatusEnum = (startTime, endTime) => {
const now = dayjs(); const now = dayjs();
if (now.isBefore(startTime)) { if (now.isBefore(startTime)) {