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