uniap之微信公眾號支付

近來用uniapp開發H5的時候,需要接入支付,原來都是基于后端框架來做的,所以可謂是一路坑中過,今天整理下大致流程分享給大家。

先封裝util.js,便于后面調用
const isWechat =function(){return String(navigator.userAgent.toLowerCase().match(/MicroMessenger/i)) === 'micromessenger';
}
const wechatAppid = function() {return '你的appid';
}
const payed = function(data){WeixinJSBridge.invoke('getBrandWCPayRequest', data, function(respay) {if (respay.err_msg === "get_brand_wcpay_request:ok") {uni.showToast({title:'支付成功',icon:"none"})} else if (respay.err_msg === "get_brand_wcpay_request:cancel") {uni.showToast({title:"取消支付",icon:"none",duration:2000})} else if (respay.err_msg === "get_brand_wcpay_request:fail") {uni.showToast({title:"支付失敗",icon:"none",duration:2000})}}, function(err) {uni.showToast({title:err,icon:"none",duration:2000})})
}
/*** http請求* action 方法名* data  傳輸數據* Method 請求方式 GET POST*/
const Requests = function (action,data,Method='GET',event) {var headers = {'content-type': 'application/json' // 默認值}if (Method == 'POST') {headers = {'content-type': 'application/x-www-form-urlencoded' // 默認值}}uni.request({url: config.requestUrl + action,method:Method,header:headers,data: data,success(res) {if (res.data.status == 100) {return event(res.data);}else {uni.showToast({title: res.data.msg,icon:'none'})}},fail() {uni.showToast({title: '網絡異常',icon: 'none',duration: 2000})}})
}
export default {isWechat,wechatAppid,payed,Requests 
}
在需要調用支付的頁面判斷環境跳轉獲取code
先在頁面加載util.js
import util from 'common/util.js'
再在onload里判斷獲取code
if(!options.code === false){this.code  =options.code
}else{if(util.isWechat()){let appid = util.wechatAppid();let local = window.location.href;window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='+appid+'&redirect_uri='+encodeURIComponent(local)+'&response_type=code&scope=snsapi_base&state=1#wechat_redirect'return;}
}
最后再需要支付的地方進行調用
var that = this
//先創建訂單
util.Requests('order/createOrder',{id:that.id},'POST',  function(eve) {var eves = eve.result//再從后臺獲取統一下單支付參數util.Requests('pay/pay',{order_id:eves,code:that.code},'POST',  function(event) {util.payed(event.result)})
})

ok,至此,就結束了,喵~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/9853.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/9853.shtml
英文地址,請注明出處:http://en.pswp.cn/web/9853.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

隊列的實現(使用C語言)

完整代碼鏈接:DataStructure: 基本數據結構的實現。 (gitee.com) 目錄 一、隊列的概念: 二、隊列的實現: 使用鏈表實現隊列: 1.結構體設計: 2.初始化: 3.銷毀: 4.入隊: 5.…

OC foudation框架(下)的學習

OCfoudation框架(下) 前面學習了有關OCfoudation框架的部分內容,我們現在對于后面的內容繼續學習。 文章目錄 OCfoudation框架(下)數組(NSArray和NSMutableArray)對集合元素整體調用方法排序使用…

會賺錢的人都在做這件事:你了解嗎?

在我們日常生活的點滴中,以及在各種場合的交互中,利他思維始終扮演著不可或缺的角色。當我們追求合作與共贏時,單方面的自我立場顯然是不夠的,真正的關鍵在于換位思考,尋找并滿足對方的需求。 互利互贏的核心理念正是利…

設置docker容器時區

設置docker容器時區 查看當前系統時間 1.1 查看當前系統版本 cat /etc/issue1.2 查看當前系統時間 date查看鏡像默認時間 2.1 alpine鏡像 sudo docker run -it --rm alpine date2.2 ubuntu鏡像 sudo docker run -it --rm ubuntu date2.3 centos鏡像 sudo docker run -it --rm …

虛擬知識付費系統源碼推薦,在線教育雙十一怎么做活動?

又是一年光棍節,啊不是,剁手節。小伙伴們早就摩拳擦掌準備剁手了,這個時候,幾乎所有線上平臺都行動起來了,而在線教育行業也沒有閑著。如今,雙十一已經成為了各大在線教育公司用來變現的一個大殺器&#xf…

ruoyi-vue-pro 使用記錄(4)

ruoyi-vue-pro 使用記錄(4) CRM數據庫線索客戶商機合同回款產品其他 CRM 文檔 主要分為 6 個核心模塊:線索、客戶、商機、合同、回款、產品。 線索管理以 crm_clue 作為核心表客戶管理以 crm_customer 作為核心表商機管理以 crm_business 作…

JavaScript數組(Array)方法 - toReversed、toSorted、toSpliced

最近發現幾個數組方法,是一些常規方法的升級版,比較有意思,分享給大家 文章目錄 一、溫故二、知新toReversedtoSortedtoSpliced 一、溫故 我們先來回顧幾個比較常用的方法:reverse,sort,splice眾所周知&a…

luceda ipkiss教程 69:導出器件或者線路的三維模型

ipkiss 3.12版加入write_obj函數,可以直接輸出器件的三維模型。 如,輸出自定義的mmi的三維模型: 代碼如下: from si_fab import all as pdk from ipkiss3 import all as i3class MMI1x2(i3.PCell):"""MMI with …

kaldi學習參考

HMM模型 https://www.cnblogs.com/baixf-xyz/p/16777438.htmlhttps://www.cnblogs.com/baixf-xyz/p/16777438.htmlGMM-HMM 基于GMM-HMM的語音識別系統https://www.cnblogs.com/baixf-xyz/p/16777439.html https://www.cnblogs.com/baixf-xyz/p/16777426.htmlhttps://www.cnbl…

全棧開發之路——前端篇(6)生命周期和自定義hooks

全棧開發一條龍——前端篇 第一篇:框架確定、ide設置與項目創建 第二篇:介紹項目文件意義、組件結構與導入以及setup的引入。 第三篇:setup語法,設置響應式數據。 第四篇:數據綁定、計算屬性和watch監視 第五篇 : 組件…

碼一點網站

Linux命令查詢網站 https://www.lzltool.com/LinuxCommand/Index 小林 x 圖解計算機基礎 https://xiaolincoding.com/ 代碼隨想錄 https://programmercarl.com/ 可用于爬蟲 https://books.toscrape.com/ 數據結構可視化 https://www.cs.usfca.edu/~galles/visualization/ …

fastText-文本分類

fastText介紹 fastText是一個快速文本分類算法,與基于神經網絡的分類算法相比有兩大優點: 1、fastText在保持高精度的情況下加快了訓練速度和測試速度 2、fastText不需要預訓練好的詞向量,fastText會自己訓練詞向量 3、fastText兩個重要的優化:Hierarchical Softmax、N-gr…

387.字符串中的第一個唯一字符

刷算法題: 第一遍:1.看5分鐘,沒思路看題解 2.通過題解改進自己的解法,并且要寫每行的注釋以及自己的思路。 3.思考自己做到了題解的哪一步,下次怎么才能做對(總結方法) 4.整理到自己的自媒體平臺。 5.再刷重復的類…

YUV中Y顏色模型的采樣

YUV的特點 相對于表示顏色的GUI, YUI將亮度(用Y表示)與色調(用U和V表示)分開來表示。又因為人類視網膜上的視網膜桿細胞要多于視網膜錐細 胞,說得通俗一些,視網膜桿細胞的作用就是識別亮度&…

LabVIEW MEMS電容式壓力傳感器測試系統

LabVIEW MEMS電容式壓力傳感器測試系統 隨著微電子技術的發展,MEMS(微電機系統)技術在各個領域得到了廣泛應用。MEMS電容式壓力傳感器以其高靈敏度、小尺寸、低功耗等優點,在微傳感器領域占據了重要的地位。然而,這些…

Smma-net:一種基于音頻線索的目標說話人提取網絡,具有譜圖匹配和相互關注功能

SMMA-NET: AN AUDIO CLUE-BASED TARGET SPEAKER EXTRACTION NETWORK WITH SPECTROGRAM MATCHING AND MUTUAL ATTENTION 第二章 目標說話人提取之《Smma-net:一種基于音頻線索的目標說話人提取網絡,具有譜圖匹配和相互關注功能》 文章目錄 SMMA-NET: AN AUDIO CLUE-…

程序員的多維智慧:技術修煉、人際交往與投資哲學

程序員不應該只會埋頭敲代碼,要多看看書,多學習... 1.程序員技術 保持嚴謹的作風,實事求是,記錄現象,找準依據,可以做出假設,問題的解釋和結論必須能完整、全面符合現象和各種認知邏輯。 絕不…

【算法入門賽】B. 自助店評分(C++、STL、推薦學習)題解與代碼

比賽地址:https://www.starrycoding.com/contest/8 題目描述 在上一場的入門教育賽中,牢 e e e找到了所有自助店的位置,但是他想發現一些“高分好店”,于是他利用爬蟲技術從“小眾點評APP”中爬取了武漢所有自助店的評分。 評分…

Python 機器學習 基礎 之 構建第一個機器學習應用

Python 機器學習 基礎 之 構建第一個機器學習應用 目錄 Python 機器學習 基礎 之 構建第一個機器學習應用 一、簡單介紹 二、第一個機器學習測試應用介紹:鳶尾花分類 三、第一個機器學習測試應用 :前置環境,知識點介紹 jupyter notebo…

mamba-ssm安裝卡著不動

項目中用到Mamba的小伙伴,causal_conv1d和 mamba-ssm兩個包,但是會卡在Building wheel for mamba-ssm (setup.py) : 為了探究卡在了building的哪一步,加入–verbose進行顯示: pip install mamba-ssm --no-cache-dir -…