この記事の内容は、ミニプログラムの get リクエストと post リクエストをグローバル関数 (コード) にカプセル化することについてです。必要な方は参考にしていただければ幸いです。
まずこのコードをapp.jsにコピーします
/** * methods: 请求方式 * url: 请求地址 * data: 要传递的参数 * callback: 请求成功回调函数 * errFun: 请求失败回调函数 */ appRequest(methods, url, data, callback, errFun) { wx.request({ url: url, method: methods, header: { 'content-type': methods == 'GET' ? 'application/json' : 'application/x-www-form-urlencoded' }, dataType: 'json', data: data, success: function (res) { callback(res.data); }, fail: function (err) { errFun(err); } }) },
最初はgetリクエストです
const app = new getApp();// page/a/a.jsPage({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //懒人的写法 URL过长和传参多的时候比较不美观 app.appRequest('get', 'https://www.apiopen.top/satinApi?type=1&page=1', {}, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); //稍微优雅一点的写法,其实就是多一行代码,但是美观多了,也好维护 let url = 'https://www.apiopen.top/satinApi?type=1&page=1'; app.appRequest('get', url, {}, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); } })
getリクエストをリクエストするときは、データパラメータを{}として記述します
次にpostリクエスト
const app = new getApp();// page/b/b.jsPage({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //懒人的写法 URL过长和传参多的时候比较不美观 app.appRequest('post', 'https://www.apiopen.top/satinApi', { type:1, page:1 }, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); //稍微优雅一点的写法,其实就是多一行代码,但是美观多了,也好维护 let url = 'https://www.apiopen.top/satinApi'; let data = { type: 1, page: 1 } app.appRequest('post', url, data, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); } })
もちろん、すべての URL がページ上にあるとメンテナンスコストが増加するため、すべてのインターフェイスを 1 つのファイルに配置する必要があり、app.js に配置することにしました。書き方は以下の通りです
//app.js里面添加全局属性,和一个函数//全局请求URL处理函数 globalRequestUrl(domainName, site) { return this.globalData[domainName] + this.globalData[site] },//全局所有请求Url globalData: { domainNameA: 'https://www.apiopen.top',//请求域名A domainNameB: 'https://www.apiopen.top',//请求域名B siteA: '/satinApi' }
Cページでgetリクエストを使用するにはグローバルリクエストURL処理機能を使用します
const app = new getApp();// page/c/c.jsPage({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //懒人的写法 URL过长和传参多的时候比较不美观 app.appRequest('get', app.globalRequestUrl('domainNameA','siteA'), {}, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); //稍微优雅一点的写法,其实就是多一行代码,但是美观多了,也好维护 let url = app.globalRequestUrl('domainNameA','siteA'); app.appRequest('get', url, {}, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); } })
ページDでpostリクエストを使用するにはグローバルリクエストURL処理機能を使用します
const app = new getApp();// page/d/d.jsPage({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //懒人的写法 URL过长和传参多的时候比较不美观 app.appRequest('post', app.globalRequestUrl('domainNameA','siteA'), { type:1, page:1 }, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); //稍微优雅一点的写法,其实就是多一行代码,但是美观多了,也好维护 let url = app.globalRequestUrl('domainNameA','siteA'); let data = { type: 1, page: 1 } app.appRequest('post', url, data, (res) => { console.log(res) }, (err) => { console.log('请求错误信息: ' + err.errMsg); }); } })
//传说中一行完成请求的代码在此,哈哈哈哈哈 app.appRequest('get', app.globalRequestUrl('domainNameA', 'siteA'), {}, (res) => {console.log(res)});
関連する推奨事項:
WeChat ミニ プログラムでページのプルダウン更新とプルアップ読み込みを実装するためのその他のコード例
WeChat ミニ プログラムでグローバル変数 (コード) を設定する方法
以上がミニ プログラムの get リクエストと post リクエストをグローバル関数 (コード) にカプセル化します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。