国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序通過(guò)web-view網(wǎng)頁(yè)授權(quán)獲取用戶公眾號(hào)OpenID

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序通過(guò)web-view網(wǎng)頁(yè)授權(quán)獲取用戶公眾號(hào)OpenID。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1.準(zhǔn)備工作

第一步:
通過(guò)該地址 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
獲取到微信公眾號(hào)測(cè)試號(hào)AppID與appsecret (測(cè)試公眾號(hào)可以測(cè)試使用,個(gè)人公眾號(hào)不允許使用。微信認(rèn)證服務(wù)號(hào)可以使用,微信認(rèn)證訂閱號(hào)不可以使用)。
接口權(quán)限查看鏈接:
https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Explanation_of_interface_privileges.html
測(cè)試公眾號(hào)在生成測(cè)試公眾號(hào)界面中按照提示微信關(guān)注即可。非測(cè)試不僅需要關(guān)注,還需要將微信公眾平臺(tái)中還需要將開(kāi)發(fā)人員給設(shè)置一下才可以使用web-view。

同時(shí)需要修改一下網(wǎng)頁(yè)授權(quán)接口
微信小程序通過(guò)web-view網(wǎng)頁(yè)授權(quán)獲取用戶公眾號(hào)OpenID

因?yàn)槭菧y(cè)試,就修改成本地IPv4地址加你后端的端口號(hào)即可。注意不允許127.0.0.1。

微信小程序通過(guò)web-view網(wǎng)頁(yè)授權(quán)獲取用戶公眾號(hào)OpenID
以上是我的。正式環(huán)境下需要使用到域名,測(cè)試環(huán)境可以不需要。

第二步:
還需要弄一個(gè)微信小程序的測(cè)試號(hào)。拿到其中的AppID與appsecrt。注意:小程序的跟微信公眾號(hào)的AppID不是同一個(gè)。

第三步:
我這邊后端使用的是WeiXin-JAVA開(kāi)發(fā)包。具體可以通過(guò)鏈接訪問(wèn)
https://github.com/Wechat-Group/WxJava
也可以自己根據(jù)自己能力自行實(shí)現(xiàn)。

2.應(yīng)用場(chǎng)景說(shuō)明

其他應(yīng)用場(chǎng)景不清楚,根據(jù)我個(gè)人實(shí)際情況(不使用unionID情況下可以使用當(dāng)前方法)

3.實(shí)現(xiàn)步驟

第一步: 下載微信開(kāi)發(fā)工具

第二步: 使用微信小程序的AppId創(chuàng)建一個(gè)微信小程序項(xiàng)目,然后官方提供的簡(jiǎn)單入門(mén)Demo,你可以使用也可以不使用。很簡(jiǎn)單的程序,一下就寫(xiě)好了,可以不用官方的。

第三步: 編寫(xiě)一個(gè)按鈕,通過(guò)點(diǎn)擊按鈕實(shí)現(xiàn)去獲取微信公眾號(hào)OpenID

// index.wxml
<button bindtap="getGzhOpenId">獲取公眾號(hào)OpenId</button>

一個(gè)按鈕一個(gè)點(diǎn)擊事件。

點(diǎn)擊事件中代碼如下:

// index.js
getGzhOpenId(){
    wx.navigateTo({
      url: '/pages/test/test',
    })
  }

寫(xiě)過(guò)小程序的都知道,這就是一個(gè)頁(yè)面跳轉(zhuǎn)。但是這個(gè)跳轉(zhuǎn)的不是正常頁(yè)面,而是一個(gè)帶有web-view的界面。

// test.wxml
<web-view src="{{src}}">
</web-view>

整個(gè)頁(yè)面就兩行代碼,這等于是一個(gè)中轉(zhuǎn)站,不需要被用戶看到。src是可打開(kāi)關(guān)聯(lián)的公眾號(hào)的文章,其它網(wǎng)頁(yè)需登錄小程序管理后臺(tái)配置業(yè)務(wù)域名。

// test.js
onLoad(){
	let redirect_url = 'http://測(cè)試公眾號(hào)網(wǎng)頁(yè)授權(quán)的地址/后臺(tái)接口地址/appid';   
   this.data.src = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=測(cè)試號(hào)AppID&redirect_uri=' + escape(redirect_url) + '&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect';
   this.setData({
    src: this.data.src
   })
}

以上是重點(diǎn)。重新梳理一下:
小程序加載進(jìn)入index.wxml -> 點(diǎn)擊按鈕跳轉(zhuǎn)到test.wxml -> 來(lái)到test.wxml會(huì)執(zhí)行js中的渲染方法也就是onLoad(){} 渲染中我們就可以開(kāi)始獲取公眾號(hào)OpenID了。

redirect_url: 回調(diào)地址

this.data.src: 也就是給web-view中的src賦值一個(gè)地址,web-view會(huì)去打開(kāi)這個(gè)地址。打開(kāi)后就會(huì)獲取到code然后回調(diào)redirect_url地址并且攜帶微信公眾號(hào)code(該code非小程序wx.login()的code)。

地址中參數(shù)可以參考官方文檔:
https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

需要特別注意的就是 scope 參數(shù)。他有兩個(gè)值 一個(gè)是snsapi_base。另一個(gè)是 snsapi_userinfo。前者是獲取openId。后者是獲取OpenId以及用戶信息,并且不需要關(guān)注公眾號(hào)也可以獲取到。WeiXin-Java-Demo中接口是獲取userInfo,所以需要將scope更換一下,否則會(huì)報(bào)錯(cuò)。 如果只需要獲取OpenId??匆韵率纠?/p>

@RequestMapping({"/getOpenId"})
    public String getOpenId(@PathVariable String appid, @RequestParam String code, ModelMap map) {
        if (!this.wxService.switchover(appid)) {
            throw new IllegalArgumentException(String.format("未找到對(duì)應(yīng)appid=[%s]的配置,請(qǐng)核實(shí)!", appid));
        } else {
            try {
                WxOAuth2AccessToken accessToken = this.wxService.getOAuth2Service().getAccessToken(code);
                map.addAttribute("openId",accessToken.getOpenId());
            } catch (WxErrorException var6) {
                var6.printStackTrace();
            }
            return "xxx";   
        }
    }

其實(shí)就是weixin工具包封裝了其方法,Demo中沒(méi)有使用而已,copy接口,粘貼修改一下即可。

到此就拿到了OpenId了,可以Debug調(diào)試,但是奇怪,我的小程序?yàn)樯哆€是白屏中啊。哈哈哈因?yàn)閣eb-view界面就我得理解就是html中的ifrname嵌入式頁(yè)面。

接下來(lái)也是重點(diǎn)
看后臺(tái)接口上圖,返回的是xxx。xxx代表一個(gè)頁(yè)面,也就是xxx.html界面。我們需要通過(guò)springmvc將視圖返回給小程序,小程序的web-view打開(kāi)的就是你在后臺(tái)寫(xiě)的界面。
那么 xxx.html中寫(xiě)什么呢? 繼續(xù)往下看

xxx.html在小程序中被打開(kāi),然后你要展示東西嗎?No!No!No! 不需要,不過(guò)如果你剛需我就不說(shuō)啥了。

// xxx.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
</HEAD>
<BODY>
</BODY>
<SCRIPT LANGUAGE="JavaScript">
    function back()
    {
        wx.miniProgram.redirectTo({url: "/pages/index/index?mpOpenid=${openId}"})
        //wx.miniProgram.postMessage({data:"${openId}"})
    }

    back();
</SCRIPT>
</HTML>

將xxx.html返回給小程序后加載該視圖,視圖執(zhí)行back()方法。使用小程序中redirectTo返回到你想去的界面。該界面必須小程序中存在哦!然后一定一定要引入jweixin。否則無(wú)法在網(wǎng)頁(yè)中使用小程序的方法。返回呢可以將微信公眾號(hào)的openId帶在url上返回到小程序的index界面。

onLoad(e){
console.log(e);
}

就可以獲取到OpenID了,通過(guò)以上方式拿到后就可以與wx.login獲取到的小程序OpenID進(jìn)行對(duì)應(yīng)起來(lái)。

以上方法呢還可以拓展很多種情況。例如小程序首次加載先看10s的注意公告。也可以在打開(kāi)web-view頁(yè)面攜帶上小程序OpenId,一口氣在后端拿到公眾號(hào)OpenID后持久化存儲(chǔ)。就不需要再返回了。

結(jié)語(yǔ)

本人第一次編寫(xiě)CSDN,也是第一次使用markdown寫(xiě),寫(xiě)得少,也沒(méi)美化的眼光。重點(diǎn)還是解決了一個(gè)工作中的問(wèn)題。以此作為記錄,以防下次面試官問(wèn)我項(xiàng)目中碰到的問(wèn)題(解決了那還叫碰到的問(wèn)題嗎?)。同時(shí)該文章也希望大家遇到困難能夠用得上,不懂可以在評(píng)論區(qū)中交流或者私信。因?yàn)榈谝淮?,所以也是自己查百度然后慢慢摸索折騰明白的。也看了其他類(lèi)似的文章。從他們文章中找到的靈感并且,我也附帶在下面,可以同時(shí)看,這樣就會(huì)更快速的明白。

https://blog.csdn.net/qq_41929578/article/details/121748935
https://blog.csdn.net/daengwei/article/details/124535274
https://blog.csdn.net/qq_21492635/article/details/119491131文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-475952.html

到了這里,關(guān)于微信小程序通過(guò)web-view網(wǎng)頁(yè)授權(quán)獲取用戶公眾號(hào)OpenID的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序web-view嵌入uni-app H5頁(yè)面,通過(guò)H5頁(yè)面跳轉(zhuǎn)企業(yè)微信客戶聊天窗口如何操作?

    微信小程序web-view嵌入uni-app H5頁(yè)面,通過(guò)H5頁(yè)面跳轉(zhuǎn)企業(yè)微信客戶聊天窗口如何操作?

    1)找到企業(yè)ID,登錄?企業(yè)微信 企業(yè)微信 https://work.weixin.qq.com/wework_admin/loginpage_wx ?2)找到接入鏈接? 功能-客服-微信客服 微信公眾平臺(tái),給個(gè)人、企業(yè)和組織提供業(yè)務(wù)服務(wù)與用戶管理能力的全新服務(wù)平臺(tái)。 https://mp.weixin.qq.com/

    2024年02月11日
    瀏覽(97)
  • 微信小程序web-view跳轉(zhuǎn)

    微信小程序web-view跳轉(zhuǎn)

    h5項(xiàng)目中跳轉(zhuǎn)外部連接可使用的web-view標(biāo)簽解決 官網(wǎng)連接:web-view | 微信開(kāi)放文檔 1.添加事件 2.新頁(yè)面中的跳轉(zhuǎn)鏈接(一行即可,默認(rèn)會(huì)會(huì)自動(dòng)鋪滿整個(gè)小程序頁(yè)面) src就是路徑,寫(xiě)需要跳轉(zhuǎn)的網(wǎng)頁(yè)地址即可! 3.配置路由,app.jason中 4.小程序后臺(tái)配置域名 開(kāi)發(fā)管理=開(kāi)發(fā)設(shè)置=業(yè)務(wù)域名中

    2024年02月11日
    瀏覽(21)
  • 微信小程序如何使用web-view

    微信小程序如何使用web-view

    ? ? ? ?有時(shí)我們的業(yè)務(wù)需求是小程序內(nèi)部跳轉(zhuǎn)到其他h5項(xiàng)目的頁(yè)面,這是我們就會(huì)用到web-view標(biāo)簽,這個(gè)標(biāo)簽可以幫助我們完成h5頁(yè)面的渲染。下面,就是使用方法: 第一步: 首先現(xiàn)在小程序建一個(gè)新的page用來(lái)使用web-view ?在wxml文件中寫(xiě)入web-view標(biāo)簽,src屬性為你要跳轉(zhuǎn)h5線

    2024年02月14日
    瀏覽(24)
  • 微信小程序?qū)崿F(xiàn)支付寶支付——web-view實(shí)現(xiàn)

    微信小程序?qū)崿F(xiàn)支付寶支付——web-view實(shí)現(xiàn)

    由于使用到的微信小程序需要實(shí)現(xiàn)支付功能,而微信支付的申請(qǐng)手續(xù)較為繁瑣,所以使用了支付寶支付,但是微信小程序正常情況不支持支付寶支付,所以我使用了web-view內(nèi)嵌了支付寶的h5支付。 不會(huì)使用支付寶沙箱支付的同學(xué)可以看這篇文章Springboot支付寶沙箱支付 代碼如下

    2024年02月11日
    瀏覽(58)
  • uniapp微信小程序嵌入頁(yè)面web-view配置

    uniapp微信小程序嵌入頁(yè)面web-view配置

    uniapp開(kāi)發(fā)微信小程序的時(shí)候, 有時(shí)候需要嵌入H5頁(yè)面 可以使用小程序自帶的? web-view ?組件相當(dāng)于 HTML頁(yè)面中的 iframe ?1.配置業(yè)務(wù)域名 開(kāi)發(fā)管理?---開(kāi)發(fā)設(shè)置 ---業(yè)務(wù)域名? ?然后去配置你的業(yè)務(wù)域名就可以了 ? 2.頁(yè)面中使用 web-view 使用起來(lái)還是很方便的 uniapp提供屬性可以具體

    2024年02月11日
    瀏覽(22)
  • 微信小程序在web-view頁(yè)面增加一個(gè)按鈕

    需求: 在微信小程序中通過(guò)web-view打開(kāi)H5頁(yè)面,需要小程序端在頁(yè)面中增加一個(gè)可以請(qǐng)求接口的按鈕 實(shí)現(xiàn)方法 通過(guò)在web-view中嵌套cover-view標(biāo)簽來(lái)實(shí)現(xiàn)( 注意: cover-view只支持嵌套 cover-view、cover-image,可在 cover-view 中使用 button,但是本人在里面使用button標(biāo)簽時(shí),對(duì)button添加樣式無(wú)效

    2024年02月07日
    瀏覽(23)
  • 微信小程序組件、web-view、h5之間交互

    目錄結(jié)構(gòu) 小程序 /pages/index/index.wxml /pages/index/index.js /pages/index/index.json 組件 /component/index-page/index.wxml /component/index-page/index.js /component/index-page/index.json web-view /pages/web/web.wxml /pages/web/web.js h5

    2023年04月16日
    瀏覽(21)
  • 微信小程序web-view嵌入uni-app H5頁(yè)面,通過(guò)H5頁(yè)面?zhèn)鲄⒔o小程序進(jìn)行轉(zhuǎn)發(fā)分享頁(yè)面,并通過(guò)點(diǎn)擊轉(zhuǎn)發(fā)出來(lái)的卡片,定向打開(kāi)對(duì)應(yīng)H5路徑

    index.wxml ?index.js 在H5項(xiàng)目的App.vue頁(yè)面獲取參數(shù)實(shí)現(xiàn)自動(dòng)跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面,包括攜帶的參數(shù)值

    2024年02月12日
    瀏覽(96)
  • 微信小程序跳轉(zhuǎn)公眾號(hào)文章 web-view方式

    提示:文章寫(xiě)完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔 提示:這里可以添加本文要記錄的大概內(nèi)容: 小程序和公眾號(hào)都必須時(shí)企業(yè)認(rèn)證的 1.在小程序里面關(guān)聯(lián)相關(guān)的公眾號(hào) 2.在公眾號(hào)里面關(guān)聯(lián)相關(guān)的小程序 提示:以下是本篇文章正文內(nèi)容,下面案例可供參

    2024年02月09日
    瀏覽(28)
  • 關(guān)于微信小程序<web-view>組件跳轉(zhuǎn)報(bào)錯(cuò)問(wèn)題-解決!

    關(guān)于微信小程序<web-view>組件跳轉(zhuǎn)報(bào)錯(cuò)問(wèn)題-解決!

    報(bào)錯(cuò)以上的問(wèn)題 嘗試了好久--發(fā)現(xiàn)的問(wèn)題-官網(wǎng)上文章看完了也沒(méi)有看到 ? 當(dāng)點(diǎn)擊 itemClick1 的時(shí)候 就報(bào)以上的 錯(cuò)誤 當(dāng)點(diǎn)擊 itemClick2 的時(shí)候就能成功 跳轉(zhuǎn) 原因是:? itemClick1和當(dāng)前跳轉(zhuǎn)的位置是同級(jí),應(yīng)該是web-view組件不能跳轉(zhuǎn)到同級(jí)以外的地方! 總結(jié):? 所有想要使用?web-view 組

    2024年02月16日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包