电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

vue 授權(quán)獲取微信openId操作

瀏覽:69日期:2022-06-11 08:23:28

1、獲取url中參數(shù)code; 根據(jù)code 獲取openId;調(diào)用后臺(tái)接口獲取openId 。

參考文檔:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842

function getUrlKey(name){//獲取url 參數(shù) return decodeURIComponent((new RegExp(’[?|&]’+name+’=’+’([^&;]+?)(&|#|;|$)’).exec(location.href)||[,''])[1].replace(/+/g,’%20’))||null; } function getCodeApi(state){//獲取code let urlNow=encodeURIComponent(window.location.href); let scope=’snsapi_base’; //snsapi_userinfo //靜默授權(quán) 用戶無感知 let appid=’wx4cc5d5c123123123’; let url=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${urlNow}&response_type=code&scope=${scope}&state=${state}#wechat_redirect`; window.location.replace(url);}//注意代碼放置位置export default { created(){ let code=getUrlKey('code');//獲取url參數(shù)code if(code){ //拿到code, code傳遞給后臺(tái)接口換取opend getOpenIdApi(code).then(res=>{ console.log(res); }).catch(res=>{}) }else{ getCodeApi('123'); } }}

補(bǔ)充知識(shí):vue 微信公眾號(hào)支付 jssdk jsapi實(shí)現(xiàn)微信支付(完整版)

是自己項(xiàng)目里支付功能測(cè)試成功后的代碼參考,希望能幫助到曾和我一樣想找到有效參考借鑒的朋友們,

廢話不多說,直接講具體的操作規(guī)程及完整代碼

代碼部份:

一、vue的環(huán)境配置:

1. 先在當(dāng)前項(xiàng)目的命令行工具里安裝npm install weixin-jsapi

2. 在當(dāng)前支付頁(yè)面引用該weixin-jsapi

import wx from ’weixin-jsapi’

二、調(diào)用后臺(tái)接口,正式使用jssdk:

created(){ this.userId = JSON.parse(Cookie.get('user')).id;//這是在我頁(yè)面需要獲取的userid,不需要的可自行刪悼,不在支付代碼范圍 this.getConfig();,},methods: { getConfig(){ console.log(window.location.href); var url = window.location.href; this.$http.post(’**此處寫后臺(tái)提供獲取jsapi相關(guān)配置的接口**’,{ encodeUrl:Encrypt(url.split('#')[0]) //直接丟棄#及后面的字符串 注意這里Encrypt因?yàn)槲业捻?xiàng)目里使用了ase加密解密,所以這么寫的 }) .then(function(response) { if(response.data.flag == true){ var data = JSON.parse(Decrypt(response.data.data));//將解密后的字符串轉(zhuǎn)為對(duì)象 Decrypt這里是解密,不需要的就直接過濾悼 console.log(data); //下列的data.均為后臺(tái)接口返回的字段,比如我的項(xiàng)里里返回的是 appid,timestamp,nonceStr,signature wx.config({ debug: ture,//這里一般在測(cè)試階段先用ture,等打包給后臺(tái)的時(shí)候就改回false, appId: data.appid, timestamp: data.timestamp, nonceStr: data.noncestr, signature: data.signature, jsApiList: [’chooseWXPay’] }) wx.ready(function(){ wx.checkJsApi({ jsApiList: [’chooseWXPay’], success:function(res){ console.log('seccess') console.log(res) }, fail:function(res){ console.log('fail'); console.log(res) } }) }) }else{ Toast({ message: response.data.detailMsg }); } }).catch(function(error){ Toast({//提示引用的是mint-UI里toast message: ’獲取config失敗,請(qǐng)重試’ }); }); }, //報(bào)名繳費(fèi) ( 支付按鈕綁定@click='toapply()'事件) toapply(id){ var $this = this; this.$http.post(’**此處寫后臺(tái)提供的獲取支付json數(shù)據(jù)接口**’,{ encodeStr:Encrypt(id)//項(xiàng)目里的加密 }) .then(function(response) { if(response.data.flag == true){ var data = JSON.parse(Decrypt(response.data.data));//將解密后的字符串轉(zhuǎn)為對(duì)象 console.log(data); wx.ready(function(){ wx.chooseWXPay({ appId:data.appId, timestamp: data.timeStamp, // 支付簽名時(shí)間戳,注意微信jssdk中的所有使用timestamp字段均為小寫。但最新版的支付后臺(tái)生成簽名使用的timeStamp字段名需大寫其中的S字符 nonceStr: data.nonceStr, // 支付簽名隨機(jī)串,不長(zhǎng)于 32 package: data.package, // 統(tǒng)一支付接口返回的prepay_id參數(shù)值,提交格式如:prepay_id=***) signType: data.signType, // 簽名方式,默認(rèn)為’SHA1’,使用新版支付需傳入’MD5’ paySign: data.paySign, // 支付簽名 success: function (res) { //跳轉(zhuǎn)到支付成功頁(yè)面有這個(gè)頁(yè)面 $this.$router.push({ path: '/success_page', name:'success_page' }) console.log(res); }, cancel: function (res) {//提示引用的是mint-UI里toast Toast(’已取消支付’); }, fail: function (res) { Toast(’支付失敗,請(qǐng)重試’); } }) }) }else{ Toast({ message: ’獲取支付信息失敗,請(qǐng)重試’, }); } }).catch(function(error){ Toast({ message: ’獲取訂單信息失敗,請(qǐng)重試’, }); console.log(error); }); },}

這里代碼部份完成后,就支付測(cè)試看看提示,如若彈出以下提示說明簽名是正確的

vue 授權(quán)獲取微信openId操作

二、商戶和公眾號(hào)后臺(tái)配置

1.先去商戶號(hào)后臺(tái)里配置url域名:商戶平臺(tái)?>產(chǎn)品中心?>開發(fā)配置

vue 授權(quán)獲取微信openId操作

然后到微信公眾號(hào)后臺(tái),公眾號(hào)設(shè)置/功能設(shè)置里配置url域名

ps:這里要與商戶后臺(tái)里的配置域名同步

vue 授權(quán)獲取微信openId操作

代碼和配置都完成后,測(cè)試結(jié)果如下:

vue 授權(quán)獲取微信openId操作

最后,講講我在支付過程中遇到的問題:

因?yàn)槲⑿胖Ц侗娝苤臏y(cè)試麻煩,我是直接完成代碼后打包給后臺(tái)發(fā)布正式環(huán)境測(cè)試的,測(cè)試過程中一直出現(xiàn)以下的彈窗提示信息:

vue 授權(quán)獲取微信openId操作

排除法,代碼里的簽名沒有bug的情況下,還一直出現(xiàn)這個(gè)提示,那就只有一個(gè)問題,url路徑配置,網(wǎng)上查了很多說url路徑中不能帶# ,說是需要把把路由的hash模式改為hostry模式,如下:

vue 授權(quán)獲取微信openId操作

還說讓后臺(tái)也需要做去悼#相應(yīng)的改動(dòng),按這個(gè)方法打包給后臺(tái)測(cè)試 ,結(jié)果頁(yè)面就出現(xiàn)404了,行不通,所以我是利用處理如下:

url.split('#')[0]直接丟棄#及后面的字符串

后臺(tái)沒有作#處理,后面就發(fā)現(xiàn)我們是商戶后臺(tái)沒有配置url域名這個(gè)問題,是這里面的域名配置不能帶有#, 配置好后臺(tái)之后,測(cè)試就成功了,還別說,測(cè)試成功的那一刻,倍兒有成功感了

以上這篇vue 授權(quán)獲取微信openId操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: 微信
相關(guān)文章:
主站蜘蛛池模板: 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | 高压负荷开关-苏州雷尔沃电器有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 湖南印刷厂|长沙印刷公司|画册印刷|挂历印刷|台历印刷|杂志印刷-乐成印刷 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 10吨无线拉力计-2吨拉力计价格-上海佳宜电子科技有限公司 | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | RFID电子标签厂家-上海尼太普电子有限公司 | 2025世界机器人大会_IC China_半导体展_集成电路博览会_智能制造展览网 | 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 众品地板网-地板品牌招商_地板装修设计_地板门户的首选网络媒体。 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 胃口福饺子加盟官网_新鲜现包饺子云吞加盟 - 【胃口福唯一官网】 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 净化工程_无尘车间_无尘车间装修-广州科凌净化工程有限公司 | 大米加工设备|大米加工机械|碾米成套设备|大米加工成套设备-河南成立粮油机械有限公司 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 退火炉,燃气退火炉,燃气热处理炉生产厂家-丹阳市丰泰工业炉有限公司 | 山东信蓝建设有限公司官网| 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 空心明胶胶囊|植物胶囊|清真胶囊|浙江绿键胶囊有限公司欢迎您! | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 软启动器-上海能曼电气有限公司| 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 威客电竞(vk·game)·电子竞技赛事官网 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | 无锡门窗-系统门窗-阳光房-封阳台-断桥铝门窗厂[窗致美] | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 彼得逊采泥器-定深式采泥器-电动土壤采样器-土壤样品风干机-常州索奥仪器制造有限公司 |