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

微信小程序----API、獲取openid、消息訂閱

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序----API、獲取openid、消息訂閱。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

微信小程序二

小程序API

https://www.w3xue.com/mobile/wxminiapp/hpm41q8p.html

基礎(chǔ):

API,全稱Application Programming Interface,即應(yīng)用程序編程接口。

  • API 是一些預(yù)先定義函數(shù),目的是用來(lái)提供應(yīng)用程序與開(kāi)發(fā)人員基于某軟件或者某硬件得以訪問(wèn)一組例程的能力,并且無(wú)需訪問(wèn)源碼或無(wú)需理解內(nèi)部工作機(jī)制細(xì)節(jié)。

  • API 就是操作系統(tǒng)給應(yīng)用程序的調(diào)用接口,應(yīng)用程序通過(guò)調(diào)用操作系統(tǒng)的 API而使操作系統(tǒng)去執(zhí)行應(yīng)用程序的命令(動(dòng)作)。在 Windows 中,系統(tǒng)API是以函數(shù)調(diào)用的方式提供的。

說(shuō)明:

  • wx.on 開(kāi)頭的 API 是監(jiān)聽(tīng)某個(gè)事件發(fā)生的API接口

    如:接受一個(gè)CALLBACK函數(shù)作為參數(shù),當(dāng)該事件觸發(fā)時(shí),會(huì)調(diào)用CALLBACK函數(shù)。

  • 如未特殊約定,其他API接口都接受一個(gè)OBJECT作為參數(shù)。

  • OBJECT中可以指定success,fail,complete來(lái)接收接口調(diào)用結(jié)果。

參數(shù)名 類型 必填 說(shuō)明
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行)
外部 api 的引用示例:

js文件:

// pages/demo02/demo02.js
const app = getApp()
Page({

  /**
   * 頁(yè)面的初始數(shù)據(jù)
   */
  data: {
    code:'',
    testList:[],
    dreamCode:'',
    dreamResult:[]
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
   */
  onLoad(options) {
    self=this;
  },
  test1:function() {
    //訪問(wèn)外部api需請(qǐng)求:
      wx.request({
        url: 'http://api.tianapi.com/starinfo/index',
        method:'GET',
        //請(qǐng)求參數(shù):
        data:{
          key:'9b46f4069f578a5808847c85ce6b93eb',
          name:'劉德華'
        },
        //接口調(diào)用成功的回調(diào)函數(shù):
        success:function(res){
            console.log(res.data);
            self.setData({
              testList:res.data.code,
              testList:res.data.newslist
            })
          }
      })
  },
  test2:function() {
    wx.request({
      url: 'http://api.tianapi.com/dream/index',
      method:'GET',
      data:{
        key:'9b46f4069f578a5808847c85ce6b93eb',
        num:5,
        word:'西瓜'
      },  
      success: function(res) {
        console.log(res.data)
         //頁(yè)面獲得數(shù)據(jù)
        /*self.setData({
            dreamCode:res.data.code,
            dreamResult: res.data.newslist
        })*/
      }   
    })
  }
})

wxml文件:

<!--pages/demo02/demo02.wxml-->
<text>pages/demo02/demo02.wxml</text>
<button open-type="share" bindtap="test2">周公解夢(mèng)</button>-
<view wx:for="{{dreamResult}}" >
    <view>夢(mèng)到{{dreamResult[index].title}}------{{dreamResult[index].result}}</view>
</view>

<button type="primary" bindtap="test1">明星百科大全</button>
<view wx:for="{{testList}}" >
  <view>名字:{{testList[index].nationality}}</view> 
</view> 

訂閱消息實(shí)戰(zhàn)

1. 搭配環(huán)境,建目錄

注意:創(chuàng)建項(xiàng)目時(shí)先不要使用云開(kāi)發(fā),避免不必要的目錄

  1. 在app.js文件中初始云環(huán)境

     onLaunch() {
          wx.cloud.init({
              env:"cloud1-0gdcaicsce323e0e"
          })
     },
    
  2. 在project.config.json文件中,創(chuàng)建云函數(shù)

    "cloudfunctionRoot": "cloud1/",
    

    在目錄處新建文件夾命名(出現(xiàn)小云朵成功)

    右鍵選自己的一個(gè)環(huán)境,如果只有一個(gè)環(huán)境的話,就是當(dāng)前環(huán)境。

  3. 創(chuàng)建云函數(shù),右鍵cloud1(自己的那個(gè)云函數(shù)目錄),選擇—>新建Node.js云函數(shù),創(chuàng)建云函數(shù)(先獲得openid),此文件中的inde.js的 cloud.init() 中初始化,可以用常量cloud.DYNAMIC_CURRENT_ENV

    cloud.init({
        env:cloud.DYNAMIC_CURRENT_NV  //默認(rèn)取當(dāng)前云環(huán)境ID
    })
    
2. 獲取openid

在pages目錄的-----index.wxml中

<button bindtap="getOpenid">獲取用戶openID</button>

在pages目錄的-----index.js的代碼中

Page({
 //獲取用戶openID
 getOpenid(){
     wx.cloud.callFunction({
         name:"getOpenid"
     }).then(res=>{
        console.log("獲取Openid成功",res)
     }).catch(res=>{
        console.log("獲取Openid失敗",res)
     })
 }
})

保存后需要再次上傳并部署,內(nèi)容修改就得部署一次

3.獲取用戶授權(quán)

每次訂閱消息的時(shí)候都需要獲取授權(quán)

一次性訂閱消息、長(zhǎng)期訂閱消息,詳見(jiàn)接口 wx.requestSubscribeMessage

設(shè)備訂閱消息,詳見(jiàn)接口 wx.requestSubscribeDeviceMessage

  1. 定義按鈕:
<button bindtap="shouquan" >2.獲取用戶授權(quán)</button>
  1. 授權(quán),綁定模板ID

    //pages目錄的-----index.js的Page({})中
    shouquan(){
        wx.requestSubscribeMessage({
            tmplIds: [
                '3PlhCeepxyLBh7SziJ_BCc3Eyg5GOy313bJYATK3EHA'
            ], //此處添加申請(qǐng)的模板ID,多個(gè)用英文逗號(hào)隔開(kāi)
            success(res){
              console.log('授權(quán)成功-----',res)
            },
            fail(res){
              console.log('授權(quán)失敗-----',res)
            }
          })
     }
    

【當(dāng)有多個(gè)模板的時(shí)候可以通過(guò)真機(jī)調(diào)試,手機(jī)進(jìn)行模板的選擇—>

真機(jī)調(diào)試–>手機(jī)掃碼(模擬器與手機(jī)同步)—>點(diǎn)擊獲取授權(quán),選擇模板】

4. 調(diào)用接口下發(fā)訂閱消息

新建云函數(shù) (getMessages) 初始化步驟同上---->略

  1. getMessages下的index.js文件中

微信小程序----API、獲取openid、消息訂閱

//getMessages下的index.js文件中
// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
    try{
        //發(fā)送訂閱消息給用戶
        const result = await cloud.openapi.subscribeMessage.send({
          touser:event.openid,	//獲取當(dāng)前環(huán)境的openid
          page:"pages/index/index",  //要跳轉(zhuǎn)到哪個(gè)頁(yè)面
          data:{  //推送的內(nèi)容
            thing1:{
              value:"小程序編程"
            },
            name2:{
              value:'Aurora'
            },
            date3:{
              value:'2022/09/15 14:00'
            },
            thing4:{
                value:'大教室01'
              }
          },
          //模板id
          templateId:'3PlhCeepxyLBh7SziJ_BCc3Eyg5GOy313bJYATK3EHA'  //與前面模板ID相同
        })
        console.log(result)
        return result.errcode
      }catch(err){
        console.log(err);
        return err
      }
}

申請(qǐng)的模板,點(diǎn)擊詳情中的部分與代碼中的名稱相對(duì)應(yīng)

微信小程序----API、獲取openid、消息訂閱

  1. 在pages目錄的-----index.js和index.wxml中

    按鈕:3.發(fā)送訂閱消息給單個(gè)用戶

     //發(fā)送消息給單個(gè)用戶
     sendOne(){
         wx.cloud.callFunction({
            name:"sendMessages"
         }).then(res=>{
            console.log("發(fā)送一條信息成功-----",res)
         }).catch(res=>{
            console.log("發(fā)送一條信息失敗~~~",res)
         })
     }
    

【此時(shí)運(yùn)行整個(gè)過(guò)程,控制臺(tái)全部成功,但是手機(jī)并不能獲取到信息】

解決:

openid沒(méi)有上傳

在pages目錄的index.js中添加傳入openid

sendOne(){
     wx.cloud.callFunction({
        name:"sendMessages",
        data:{
            //此處openid與touser:event.openid的相同,將第一步獲取的openid復(fù)制
            openid:"oMKZh4zYY0j7X-DYLAQa2ngdlpfg"   
        }      
     }).then(res=>{
        console.log("發(fā)送一條信息成功-----",res)
     }).catch(res=>{
        console.log("發(fā)送一條信息失敗-----",res)
     })
 }
5.其他問(wèn)題:
  1. 模板ID中的參數(shù)名莫錯(cuò),模板ID莫復(fù)制錯(cuò)

  2. 手機(jī)未收到消息去控制臺(tái)找錯(cuò)來(lái)源:

![[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳

errMsg會(huì)出現(xiàn)40003(openid有誤)等等的錯(cuò)誤,可以去官方文檔的社區(qū)中,將錯(cuò)誤信息或者錯(cuò)誤代碼復(fù)制,看他人如何解決或者官方文檔提示的錯(cuò)誤文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-483306.html

  1. 授權(quán)一次只能發(fā)送一次消息

到了這里,關(guān)于微信小程序----API、獲取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)文章

  • 【微信小程序】通過(guò)云函數(shù)獲取用戶openid

    1.pages同級(jí)目錄下新建新文件夾,命名為cloudFunctions(其他名字也可以)。 2.project.config.json中添加以下內(nèi)容,值為上一步創(chuàng)建的文件夾名字。編譯一次后上一步創(chuàng)建的文件夾前圖標(biāo)就帶“云”了。 3.app.js內(nèi)的App中添加 1.右擊cloudFunctions文件夾,點(diǎn)擊【新建Node.js云函數(shù)】,命名為

    2024年02月10日
    瀏覽(95)
  • uniapp寫(xiě)微信小程序,獲取openId、unionId

    appId,secret?? 可以從微信公眾平臺(tái)獲取,(點(diǎn)擊右上角頭像,向下滑,可以找到) 注意:這個(gè)一般寫(xiě)了app.vue里有個(gè)onlanch函數(shù),否則有可能在進(jìn)入小程序時(shí)獲取不到openid 微信接口路徑為 “https://api.weixin.qq.com/sns/jscode2session” 獲取unionId的前提條件:微信開(kāi)放平臺(tái)綁定你的小程

    2024年02月13日
    瀏覽(19)
  • 微信小程序如何獲取微信號(hào)的唯一標(biāo)識(shí)(openid)

    微信小程序如何獲取微信號(hào)的唯一標(biāo)識(shí)(openid)

    1.獲取微信登錄憑證 2.登錄憑證傳回后端獲取openid,前端直接調(diào)用接口獲取openid正式上線代碼審核過(guò)不去。 3.后端代碼(直接返回的openid中含有secret,可發(fā)布,但是會(huì)提醒你存在安全漏洞,所以對(duì)openid進(jìn)行截取拼接) 3.獲取AppSecret和AppID 登錄微信公眾平臺(tái) 開(kāi)發(fā)——開(kāi)發(fā)管理——開(kāi)發(fā)

    2024年02月08日
    瀏覽(18)
  • 微信小程序訂閱消息

    subscribeMessage.send | 微信開(kāi)放文檔 由于業(yè)務(wù)需求 , 需要實(shí)現(xiàn)小程序訂單狀態(tài)發(fā)送給用戶 , 于是微信小程序發(fā)送訂閱消息就被找到了 這里前端是使用了uniapp , 具體實(shí)現(xiàn)方式不清楚,就不瞎bb了 后端這里就是上面的接口文檔 , 總共需要是三個(gè)步驟 1. 獲取小程序 appid 和 密鑰 2. 訂閱消

    2024年02月09日
    瀏覽(29)
  • 微信小程序--訂閱消息

    微信小程序--訂閱消息

    關(guān)于小程序訂閱消息之一次性訂閱: 一次性訂閱是指授權(quán)一次方可接收一次消息;這個(gè)最好的應(yīng)用場(chǎng)景就是自己給自己發(fā)送消息,比如訂單,當(dāng)自己下單成功時(shí),調(diào)用此接口,會(huì)在微信服務(wù)消息收到下單成功通知等具體詳情。 如果是給別人發(fā),一次性訂閱就不適合,類似你

    2024年02月07日
    瀏覽(20)
  • 微信小程序內(nèi)嵌H5頁(yè)面獲取openid+分享功能

    主要實(shí)現(xiàn)功能:1.通過(guò)webview實(shí)現(xiàn)小程序內(nèi)嵌H5頁(yè)面 ? ? ? ? ? ? ? ? ? ? ? ? ?2.在H5頁(yè)面獲取到用戶的openid ? ? ? ? ? ? ? ? ? ? ? ? ?3.在H5頁(yè)面實(shí)現(xiàn)分享獲取到分享人的openid和被分享者的openid 代碼實(shí)現(xiàn): 1.通過(guò)webview實(shí)現(xiàn)小程序內(nèi)嵌H5頁(yè)面 傳參:在地址后面加入的參數(shù)就是我

    2024年04月23日
    瀏覽(106)
  • 微信小程序登錄獲取用戶唯一標(biāo)識(shí)OpenId,(SpringBoot項(xiàng)目)

    微信小程序登錄獲取用戶唯一標(biāo)識(shí)OpenId,(SpringBoot項(xiàng)目)

    微信小程序的登錄,需要獲取到用戶的唯一標(biāo)識(shí)OpenId,這里只涉及到后端代碼,所以前提是前端申請(qǐng)了一個(gè)小程序并且有了appid和secret。 文章目錄 一、微信小程序登錄流程 二、代碼實(shí)現(xiàn) 1.引入相關(guān)依賴 2.代碼實(shí)現(xiàn) 實(shí)際項(xiàng)目經(jīng)驗(yàn)分享 先上官方開(kāi)發(fā)文檔連接 小程序登錄 | 微信

    2024年02月12日
    瀏覽(23)
  • uniapp 小程序訂閱消息 一次訂閱多個(gè) wx.requestSubscribeMessage 微信小程序訂閱消息

    uniapp 小程序訂閱消息 一次訂閱多個(gè) wx.requestSubscribeMessage 微信小程序訂閱消息

    如圖所示,訂閱消息 官方文檔: 小程序訂閱消息官方文檔 1,消息類型 (1) 一次性訂閱消息 用戶自主訂閱后,開(kāi)發(fā)者可不限時(shí)間地下發(fā)一條對(duì)應(yīng)的服務(wù)消息;每條消息可單獨(dú)訂閱或退訂。 (2) 長(zhǎng)期訂閱消息 用戶訂閱一次后,開(kāi)發(fā)者可長(zhǎng)期下發(fā)多條消息。 目前長(zhǎng)期性訂閱消息

    2024年02月09日
    瀏覽(28)
  • 微信小程序——訂閱通知消息

    微信小程序——訂閱通知消息

    1.在微信公眾平臺(tái)的訂閱消息頁(yè)面設(shè)置模板消息 2.后端發(fā)送訂閱消息需要得到用戶的唯一id 通過(guò)?? wx.login() 獲取微信的唯一配置 code (每一個(gè)微信號(hào)只有一個(gè)code) 通過(guò)接口把獲取到的 code 發(fā)送給后端 獲取openid? ?3.在登錄頁(yè)面點(diǎn)擊登錄按鈕的時(shí)候讓用戶同意接收訂閱消息 使用

    2024年02月13日
    瀏覽(32)
  • 微信小程序 如何訂閱消息?

    微信小程序 如何訂閱消息?

    微信公眾號(hào)分為兩種類型:訂閱號(hào)和服務(wù)號(hào),它們?cè)诠δ芎褪褂梅绞缴嫌幸恍﹨^(qū)別。 1.訂閱號(hào)(Subscription Account): 2.服務(wù)號(hào)(Service Account): 微信公眾號(hào)的類型是在注冊(cè)時(shí)選擇的,一旦選擇了訂閱號(hào)或服務(wù)號(hào),無(wú)法直接轉(zhuǎn)換。如果您主要是提供資訊和更新性內(nèi)容,訂閱號(hào)可

    2024年02月06日
    瀏覽(37)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包