8-小程序的API

小程序開發框架提供豐富的API,可以方便地調用微信提供的功能,比如獲取用戶信息,本地存儲,微信支付等功能。目前,小程序的API分成下面幾個大類:網絡、媒體、數據、位置、設備、界面、開放接口。

小程序API的具體參考文檔:

    https://mp.weixin.qq.com/debug/wxadoc/dev/api/?t=1476197491659

 

看千遍,不如自己做一遍。做一遍後,就能更加深刻地認識小程序的某個API,然後舉一反三,通過查詢騰訊的API文檔,就能掌握其他API了。好了,下面開始幹活。

    1wx.request

wx.request發起的是https請求。一個微信小程序,同時只能有5個網絡請求連接。wx.request的參數如下:

參數

類型

是否必填

說明

url

String

開發者服務器接口地址

data

ObjectString

請求的參數

header

Object

設置請求的 header , header 中不能設置 Referer

method

String

默認爲 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT

success

Function

收到開發者服務成功返回的回調函數,res = {data: '開發者服務器返回的內容'}

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執行)

 

我們請求這個restful APIhttp://news-at.zhihu.com/api/4/news/latest

然後把數據顯示出來。

 我先用postMan測試下這個restful API,看下顯示的數據是什麼?

wKiom1gLCl_QE7h7AABzymzFhvk093.png

 app.js中添加一個getHttpRequest()函數。

  getHttpData: function(){

    return 測試wx.request

  },

 

 index.jsonLoad()函數修改成:

onLoad: function () {

var that = this

var httpData = app.getHttpData()

that.setData({username:httpData})

}

 編譯後,能看到如下界面:

wKioL1gLCnqzdns9AABcIPrMlak500.png

 我們把getHttpData的代碼進行升級,如下所示:

getHttpData: function(callback){

    wx.request({

    url: 'http://www.yangfuhai.com/api',

    data: {

      x: '' ,

      y: ''

    },

    header: {

      'Content-Type': 'application/json'

    },

    success: function(res) {

      callback(res.data)

    }

    })

}

 index.jsonLoad()函數修改成:

onLoad: function () {

var that = this

app.getHttpData(function(data){

    console.log(data.date)

    that.setData({username:data.date})

})

}

 編譯後,能看到如下界面:

wKioL1gLCpSRH1fRAABX6YJ4Z1M703.png

 

that.setData({username:data.date})修改成:

that.setData({username:data.stories[0].title})

編譯後,看到如下界面:

wKioL1gLCquxia3oAABqFXCtmVw392.png

在前面的例子中,data.stories返回的是個數組列表,我們通過data.stories[0].title得到了數組的第1個對象的title。現在讓我們回顧下小程序的渲染功能,用wx:fordata.stories循環地列出來。

 index.wxml裏添加如下代碼:

  <view wx:for="`items`">

    `index`: `item`.`title`

  </view>

 index.jsonLoad()函數修改成:

  onLoad: function () {

    var that = this

    app.getHttpData(function(data){

        that.setData({items:data.stories})

    })

  }

編譯後,看到如下界面:

wKiom1gLCtCgAkv9AAC7V08hBi0142.png-wh_50

最後,插播一個廣告,如果朋友覺得我講得不錯,歡迎加羣討論學習,共同提高: 小程序學習交流 171547625。我在羣裏可在線解答朋友在小程序開發過程中碰到的一些問題,還會在羣裏存放一些重要的代碼、資料哦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章