seo培训网的优点是,seo推广任务小结,网站建设微信公众号小程序制作,wordpress 查看菜单支付成功后给指定人员#xff08;导购#xff09;发送微信公众号消息 微信openid已录入数据库表 调用后台接口发送消息接口调用代码如下#xff1a; //----add by grj 20231017 start //订单支付成功发送微信公众号消息$.ajax({url:http://www.menggu100.com:7077/strutsJsp…支付成功后给指定人员导购发送微信公众号消息 微信openid已录入数据库表 调用后台接口发送消息接口调用代码如下 //----add by grj 20231017 start //订单支付成功发送微信公众号消息$.ajax({url:http://www.menggu100.com:7077/strutsJspAjax/SendWechatMessageAction?orderNostate.orderId,type:POST,data:{},success(data){console.log(请求成功);console.log(data);},error(err){console.log(err);console.log(请求失败);},complete(){console.log(请求完成);}})//----add by grj 20231017 end 整个页面如下 fa-uniapp-3.0.1\pages\pay\result.vue
!-- 支付结果页面 --
templates-layout title支付结果 :bgStyle{ color: #FFF }view classpay-result-box ss-flex-col ss-row-center ss-col-centerview classpay-waiting ss-m-b-30 v-ifpayResult waiting /viewimageclasspay-img ss-m-b-30v-ifpayResult success:srcsheep.$url.static(/assets/addons/shopro/uniapp/order/order_pay_success.gif)/imageimageclasspay-img ss-m-b-30v-if[failed, closed].includes(payResult):srcsheep.$url.static(/assets/addons/shopro/uniapp/order/order_paty_fail.gif)/imageview classtip-text ss-m-b-30 v-ifpayResult success{{state.orderInfo.pay_mode offline ? 下单成功 : 支付成功}}/viewview classtip-text ss-m-b-30 v-ifpayResult failed支付失败/viewview classtip-text ss-m-b-30 v-ifpayResult closed该订单已关闭/viewview classtip-text ss-m-b-30 v-ifpayResult waiting检测支付结果.../viewview classpay-total-num ss-flex v-ifpayResult successview v-ifNumber(state.orderInfo.pay_fee) 0{{ state.orderInfo.pay_fee }}/viewview v-ifstate.orderInfo.score_amount Number(state.orderInfo.pay_fee) 0/viewview classprice-text ss-flex ss-col-center v-ifstate.orderInfo.score_amountimage:srcsheep.$url.static(/assets/addons/shopro/uniapp/goods/score1.svg)classscore-img/imageview{{ state.orderInfo.score_amount }}/view/view/viewview classbtn-box ss-flex ss-row-center ss-m-t-50button classback-btn ss-reset-button tapsheep.$router.go(/pages/index/index)返回首页/buttonbuttonclasscheck-btn ss-reset-buttonv-ifpayResult failedtapsheep.$router.redirect(/pages/pay/index, { orderSN: state.orderId })重新支付/buttonbuttonclasscheck-btn ss-reset-buttonv-ifpayResult successtaponOrder查看订单/buttonbuttonclasscheck-btn ss-reset-buttonv-ifpayResult success [groupon, groupon_ladder].includes(state.orderInfo.activity_type)tapsheep.$router.redirect(/pages/activity/groupon/order)我的拼团/button/view!-- #ifdef MP --view classsubscribe-box ss-flex ss-m-t-44imageclasssubscribe-img:srcsheep.$url.static(/assets/addons/shopro/uniapp/order/cargo.png)/imageview classsubscribe-title ss-m-r-48 ss-m-l-16获取实时发货信息与订单状态/viewview classsubscribe-start tapsubscribeMessage立即订阅/view/view!-- #endif --/view/s-layout
/templatescript setupimport { onLoad, onHide, onShow } from dcloudio/uni-app;import { reactive, computed } from vue;import { isEmpty } from lodash;import sheep from /sheep;import $ from jqueryconst state reactive({orderId: 0,orderType: goods,result: unpaid, // 支付状态orderInfo: {}, // 订单详情counter: 0, // 获取结果次数});const payResult computed(() {if (state.result unpaid) {return waiting;}if (state.result paid) {//----add by grj 20231017 start //订单支付成功发送微信公众号消息$.ajax({url:http://www.menggu100.com:7077/strutsJspAjax/SendWechatMessageAction?orderNostate.orderId,type:POST,data:{},success(data){console.log(请求成功);console.log(data);},error(err){console.log(err);console.log(请求失败);},complete(){console.log(请求完成);}})//----add by grj 20231017 end return success;}if (state.result failed) {return failed;}if (state.result closed) {return closed;}});async function getOrderInfo(orderId) {let checkPayResult;state.counter;if (state.orderType recharge) {checkPayResult sheep.$api.trade.order;} else {checkPayResult sheep.$api.order.detail;}const { data, code } await checkPayResult(orderId);if (code 1) {state.orderInfo data;if (state.orderInfo.status closed) {state.result closed;return;}if (state.orderInfo.status ! unpaid) {state.result paid;// #ifdef MPsubscribeMessage();// #endifreturn;}}if (state.counter 3 state.result unpaid) {setTimeout(() {getOrderInfo(orderId);}, 1500);}// 超过三次检测才判断为支付失败if (state.counter 3) {state.result failed;}}function onOrder() {if(state.orderType recharge) {sheep.$router.redirect(/pages/pay/recharge-log);}else {sheep.$router.redirect(/pages/order/list);}}// #ifdef MPfunction subscribeMessage() {let event [order_dispatched];if ([groupon, groupon_ladder].includes(state.orderInfo.activity_type)) {event.push(groupon_finish);event.push(groupon_fail);}sheep.$platform.useProvider(wechat).subscribeMessage(event);}// #endifonLoad(async (options) {let id ;// 支付订单号if (options.orderSN) {id options.orderSN;}if (options.id) {id options.id;}state.orderId id;if (options.orderType recharge) {state.orderType recharge;}// 支付结果传值过来是失败则直接显示失败界面if (options.payState fail) {state.result failed;} else {// 轮询三次检测订单支付结果getOrderInfo(state.orderId);}});onShow(() {if(isEmpty(state.orderInfo)) return;getOrderInfo(state.orderId);})onHide(() {state.result unpaid;state.counter 0;});
/scriptstyle langscss scopedkeyframes rotation {0% {transform: rotate(0deg);}100% {transform: rotate(360deg);}}.score-img {width: 36rpx;height: 36rpx;margin: 0 4rpx;}.pay-result-box {padding: 60rpx 0;.pay-waiting {margin-top: 20rpx;width: 60rpx;height: 60rpx;border: 10rpx solid rgb(233, 231, 231);border-bottom-color: rgb(204, 204, 204);border-radius: 50%;display: inline-block;// -webkit-animation: rotation 1s linear infinite;animation: rotation 1s linear infinite;}.pay-img {width: 130rpx;height: 130rpx;}.tip-text {font-size: 30rpx;font-weight: bold;color: #333333;}.pay-total-num {font-size: 36rpx;font-weight: 500;color: #333333;font-family: OPPOSANS;}.btn-box {width: 100%;.back-btn {width: 190rpx;height: 70rpx;font-size: 28rpx;border: 2rpx solid #dfdfdf;border-radius: 35rpx;font-weight: 400;color: #595959;}.check-btn {width: 190rpx;height: 70rpx;font-size: 28rpx;border: 2rpx solid #dfdfdf;border-radius: 35rpx;font-weight: 400;color: #595959;margin-left: 32rpx;}}.subscribe-box {.subscribe-img {width: 44rpx;height: 44rpx;}.subscribe-title {font-weight: 500;font-size: 32rpx;line-height: 36rpx;color: #434343;}.subscribe-start {color: var(--ui-BG-Main);font-weight: 700;font-size: 32rpx;line-height: 36rpx;}}}
/style