Weapp(微信小程序) wrapper API อย่างเป็นทางการ มีวัตถุประสงค์เพื่อเปิดเผย API การเขียนโปรแกรมที่ทันสมัย เป็นมิตร และคล่องแคล่ว
API async ที่สัญญาไว้
ทางลัดสำหรับ wx.request
API
การปรับปรุง API อย่างเป็นทางการ
ไคลเอนต์ http ที่เหลือ
# via Github
npm i xixilive/weapp-next --save-dev
# via npm
npm i weapp-next --save-dev
const weapp = require ( 'weapp-next' ) ( wx )
const client = weapp . Http ( 'https://api.server.com/' )
//async/await
async function postLogin ( ) {
const { code } = await weapp . login ( )
const { errMsg , ... userInfo } = await weapp . getUserInfo ( { withCredentials : true } )
return await client . post ( '/login' , { data : { ... userInfo , code } } )
}
//promise
function postLogin ( ) {
const getUserInfo = code => opts => {
return weapp . getUserInfo ( opts ) . then ( ( { errMsg , ... userInfo } ) => ( { userInfo , code } )
}
const postRequest = data => client . post ( '/login' , { data } )
return weapp . login ( ) . then ( getUserInfo ) . then ( postRequest )
}
weapp-next
ใช้ระบบโมดูล UMD คุณสามารถโหลดได้ในรูปแบบ Commonjs หรือ AMD
import weapp from 'weapp-next'
// get wrapped wx Object
const { request , Http } = weapp ( wx )
// use request API
request ( { url : 'https://test.com' , method : 'GET' } ) . then ( response => console . log )
// use shortcuts of request API, such as get, post, put, etc.
request . get ( 'https://test.com' ) . then ( response => console . log )
// use Http client
const http = Http ( 'https://server.com/api' )
http . get ( '/path' ) . then ( response => console . log )
// or
const weapp = require ( 'weapp-next' ) ( wx )
รวม API อย่างเป็นทางการเกือบทั้งหมด โปรดดูวิธีการรวม
สร้างทางลัดคำขอ http ตามกริยาประกาศมินิโปรแกรม wechat (RFC 2616) โดยเฉพาะกริยา PATCH
อาจมีประโยชน์สำหรับ RESTful-ist ที่เข้มงวด และดังนั้นจึงได้กำหนดไว้ด้วย
weapp.request
จะแก้ไขการตอบสนองที่ใช้ statusCode ในช่วง [200, 300) และปฏิเสธการตอบสนองที่อยู่นอกช่วง
การตอบสนองที่แก้ไขแล้วและเหตุผล/ข้อผิดพลาดที่ถูกปฏิเสธคือออบเจ็กต์การตอบสนองจาก wx.request
ดั้งเดิม
import weapp from 'weapp-next'
const { request } = weapp ( wx )
request ( { url , method : 'GET' } )
. then ( response => {
// response is the response object from wx.request
} )
. catch ( error => {
// error is the response object from wx.request
} )
request . get ( url : String [ , init : Function ] )
request . post ( url : String , body : String / Object , [ , init : Function ] )
request . put ( url : String , body : String / Object , [ , init : Function ] )
request . patch ( url : String , body : String / Object , [ , init : Function ] )
request . delete ( url : String [ , init : Function ] )
request . head ( url : String [ , init : Function ] )
request . options ( url : String [ , init : Function ] )
request . trace ( url : String [ , init : Function ] )
request . connect ( url : String [ , init : Function ] )
อาร์กิวเมนต์ init
ที่เป็นทางเลือกคือฟังก์ชัน Zero-arugments เพื่อประมาณค่าพารามิเตอร์คำขอ และคาดว่าจะส่งคืนค่าอ็อบเจ็กต์ตามสัญญา คุณสามารถแทนที่พารามิเตอร์คำขอใด ๆ ด้วยวัตถุที่ส่งคืนยกเว้น url
และ method
// logic of init function
const config = { ... }
return { ... config , ... init ( ) , url , method }
weapp.requireAuth
(DPRECIATED)ลดราคา
นี่คือมิดเดิลแวร์ Express สำหรับสถานการณ์การเข้าสู่ระบบ weapp ซึ่งมีจุดประสงค์เพื่อให้การรวมการเข้าสู่ระบบ weapp และตรรกะ getUserInfo เป็นเรื่องง่าย ด่วน weapp-auth
import weapp from 'weapp-next'
const http = weapp ( wx ) . Http ( 'https://api.server.com/' )
http . get ( '/status' , { version : '1' } ) // /status?version=1
http . post ( '/status' , { data : { } } )
บันทึกการเปลี่ยนแปลง