blog

アプレットwx.requestカプセル化

アプレットディレクトリにapiフォルダを作成し、その中にapi.jsスクリプトを作成します。プロジェクト内のほとんどのapiは再利用可能です。プロジェクトの保守と管理を容易にするために、この時点でap...

Jan 3, 2021 · 2 min. read
シェア

さっそく、袖をまくって仕事に取りかかりましょう!!!!!!!!!!!!!!!!!!!!!!!!?

ドメイン名の設定

通常、プロジェクトのドメインプレフィックスはapp.js で設定します。

App({
 onLaunch: function() {
 },
 globalData: {
 userInfo: null,
 loginCode: null,
 version: '1.0.0',
 host: 'https://**',
 }
})

カプセル化 wx.request

アプレットディレクトリにapiフォルダを作成し、その中にapi.jsスクリプトを作成します。 wx.requestをラップし始めます。

const app = getApp() const request = (url, options) => { return new Promise((resolve, reject) => { wx.request({ url: `${app.globalData.host}${url}`, method: options.method, data: options.method === 'GET' ? options.data : JSON.stringify(options.data), header: { 'Content-Type': 'application/json; charset=UTF-8', 'x-token': 'x-token' // 必要なら }, success(request) { if (request.data.code === 2000) { resolve(request.data) } else { reject(request.data) } }, fail(error) { reject(error.data) } }) }) } const get = (url, options = {}) => { return request(url, { method: 'GET', data: options }) } const post = (url, options) => { return request(url, { method: 'POST', data: options }) } const put = (url, options) => { return request(url, { method: 'PUT', data: options }) } // DELETEは宣言できない。 const remove = (url, options) => { return request(url, { method: 'DELETE', data: options }) } module.exports = { get, post, put, remove }

api インターフェイスの管理

プロジェクト内のほとんどのapiは再利用可能です。後でそれらを保守・管理するためには、この時点でapiを立ち上げておく必要があります。これを行うには、モジュールごとにjsスクリプトをビルドするなど、いくつかの方法があります。以下はその例です:

const login = '/user/login' //  
module.exports = {
 login
}

カプセル化されたapiの使用

import api from '../api/api' import { login } from '../**/conf' // リンクが正しく記入されていることに注意 api.post(login, { data: '' }).then(res => { if(){} }).catch(err => { wx.showToast({ title: err.message, icon: 'none' }) })

post リクエストは api.post()...、get リクエストは api.get()...です。getリクエストはapi.get()...

Read next

GLKitとAPI

AppleはOpenGL ESを放棄しましたが、iOS開発者は引き続き使用できます。 すべてのレンダリング要素にエフェクトを適用するために使用される環境色。

Jan 3, 2021 · 6 min read