一般的なカプセル化されたリクエストの場合、utilsフォルダーのserver.jsにファイルを作成できます。
// 数据请求 wx.request
// const url='https://cnodejs.org/api/v1'
var sendRrquest = function(url, method, data, header) {
var status = true;
var promise = new Promise(function(resolve, reject) {
wx.getNetworkType({
success: function(res) {
// 返回网络类型2g,3g,4g,wifi, none, unknown
var networkType = res.networkType
if (networkType == "none") {
wx.hideLoading();
//没有网络连接
wx.showModal({
title: '提示',
content: '网络连接失败,请检查您的网络设置',
showCancel: false,
success: function(res) {
if (res.confirm) {
//返回res.confirm为true时,表示用户点击确定按钮
console.log('表示用户点击确定按钮')
}
}
})
status = false;
} else if (networkType == "unknown") {
wx.hideLoading();
//未知的网络类型
wx.showModal({
title: '提示',
content: '未知的网络类型,请检查您的网络设置',
showCancel: false,
success: function(res) {
if (res.confirm) {
//返回res.confirm为true时,表示用户点击确定按钮
console.log('表示用户点击确定按钮')
}
}
})
status = false;
} else {
wx.request({
url: url,
data: data,
method: method,
header: header,
success: resolve,
fail: reject
})
}
}
})
return status
});
return promise;
};
// header 头部
function reqHeader() {
var header = {
'X-Xbyjshop-Token': wx.getStorageSync('token'),
'content-type': 'application/json/x-www-form-urlencoded; charset=utf-8',
'cookie': wx.getStorageSync("sessionid"),
}
return header
}
// 把方法暴露接口出来供别的页面使用[前面为名字,后面为方法]
module.exports = {
reqHeader: reqHeader,
sendRrquest: sendRrquest,
}
次に、必要に応じて呼び出します。cnodejsが提供するインターフェースは次のとおりです。
var util = require('../../utils/server'),
header = util.reqHeader();
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
util.sendRrquest('https://cnodejs.org/api/v1/topics', 'GET','data', header)
.then(function (response) {
console.log(response)
}, function (error) {
console.log(error);
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
https://www.jianshu.com/p/2e80c96ce712
PSを参照してください。後で電話をかけるときに、取得して投稿できます。
https://blog.csdn.net/qq_42894622/article/details/90070533
これは、Content-Typeで指定されたパラメーターのいくつかの形式のリファレンスです。
form-data、x-www-form-urlencoded、application/json、json
リクエストヘッダーのパラメータ
'X-Xbyjshop-Token': wx.getStorageSync('token'),//带token
'content-type': 'application/json/x-www-form-urlencoded; charset=utf-8',//带指定参数的格式
'cookie': wx.getStorageSync("sessionid"),//带cookie参数
合格方法
get post
getは直接スプライシング方法であり
、パラメーターはスプライシング方法で一緒にスプライシングされます
postはデータで定義され
、呼び出すデータのパラメータを直接定義します