


Bagaimanakah program mini asli boleh merangkum permintaan dan antara muka panggilan dengan elegan?
Dec 02, 2021 am 10:26 AMBagaimanakah applet WeChat merangkum permintaan asli? Bagaimana untuk memanggil antara muka? Artikel berikut akan memperkenalkan anda kepada kaedah merangkum permintaan dalam applet WeChat asli dan antara muka panggilan yang elegan. Saya harap ia akan membantu anda!
Artikel ini ialah coretan kod, yang merangkumi permintaan applet WeChat asli. Saya mempunyai tabiat menulis peribadi, hanya untuk rujukan.
Merangkum permintaan gaya Promise berdasarkan Permintaan asli program mini
Elakkan panggilan balik berbilang peringkat (neraka panggilan balik)
Pemprosesan dan pengedaran ralat permintaan rangkaian bersepadu
Struktur direktori
. ├── api │ ├── config.js // 相關(guān)請(qǐng)求的配置項(xiàng),請(qǐng)求api等 │ ├── env.js // 環(huán)境配置 │ ├── request.js // 封裝主函數(shù) │ ├── statusCode.js // 狀態(tài)碼 └── ...
Kod berkaitan
Fail konfigurasi
env.js
// env.js module.exports = { ENV: 'production', // ENV: 'test' }
statusCode.js
// statusCode.js // 配置一些常見(jiàn)的請(qǐng)求狀態(tài)碼 module.exports = { SUCCESS: 200, EXPIRE: 403 }
config.js
// config.js const { ENV } = require('./env') let BASEURL switch (ENV) { case 'production': BASEURL = '' break case 'test': BASEURL = '' break default: BASEURL = '' break } module.exports = { BASEURL,// 項(xiàng)目接口地址,支持多域名 }
Fungsi utama
Nota Baris 64~68 ialah pemprosesan tamat tempoh token Apabila memanggil log masuk, semak sama ada token wujud dalam app.globalData Jika ia wujud, tiada permintaan log masuk akan dimulakan Jika token tamat tempoh, maka permintaan log masuk akan dimulakan semula pada permintaan seterusnya. Ini akan memperoleh semula token baharu
// 引入狀態(tài)碼statusCode const statusCode = require('./statusCode') // 定義請(qǐng)求路徑, BASEURL: 普通請(qǐng)求API; CBASEURL: 中臺(tái)API,不使用中臺(tái)可不引入CBASEURL const { BASEURL } = require('./config') // 定義默認(rèn)參數(shù) const defaultOptions = { data: {}, ignoreToken: false, form: false, } /** * 發(fā)送請(qǐng)求 * @params * method: <String> 請(qǐng)求方式: POST/GET * url: <String> 請(qǐng)求路徑 * data: <Object> 請(qǐng)求參數(shù) * ignoreToken: <Boolean> 是否忽略token驗(yàn)證 * form: <Boolean> 是否使用formData請(qǐng)求 */ function request (options) { let _options = Object.assign(defaultOptions, options) let { method, url, data, ignoreToken, form } = _options const app = getApp() // 設(shè)置請(qǐng)求頭 let header = {} if (form) { header = { 'content-type': 'application/x-www-form-urlencoded' } } else { header = { 'content-type': 'application/json' //自定義請(qǐng)求頭信息 } } if (!ignoreToken) { // 從全局變量中獲取token let token = app.globalData.token header.Authorization = `Bearer ${token}` } return new Promise((resolve, reject) => { wx.request({ url: BASEURL + url, data, header, method, success: (res) => { let { statusCode: code } = res if (code === statusCode.SUCCESS) { if (res.data.code !== 0) { // 統(tǒng)一處理請(qǐng)求錯(cuò)誤 showToast(res.data.errorMsg) reject(res.data) return } resolve(res.data) } else if (code === statusCode.EXPIRE) { app.globalData.token = '' showToast(`登錄過(guò)期, 請(qǐng)重新刷新頁(yè)面`) reject(res.data) } else { showToast(`請(qǐng)求錯(cuò)誤${url}, CODE: ${code}`) reject(res.data) } }, fail: (err) => { console.log('%c err', 'color: red;font-weight: bold', err) showToast(err.errMsg) reject(err) } }) }) } // 封裝toast函數(shù) function showToast (title, icon='none', duration=2500, mask=false) { wx.showToast({ title: title || '', icon, duration, mask }); } function get (options) { return request({ method: 'GET', ...options }) } function post (options) { // url, data = {}, ignoreToken, form return request({ method: 'POST', ...options }) } module.exports = { request, get, post }
Penggunaan
Buat fail baharu
Cipta fail api (ambil antara muka pesanan sebagai contoh di sini) , buat api/index.js
baharu (pemprosesan bersepadu pengedaran antara muka untuk mengelakkan antara muka daripada ditulis dalam fail yang sama terlalu bertele-tele)
Struktur direktori ialah seperti berikut:
. ├── api │ ├── config.js // 相關(guān)請(qǐng)求的配置項(xiàng),請(qǐng)求api等 │ ├── index.js // 統(tǒng)一處理入口 │ ├── order.js // 訂單接口 │ ├── request.js // 封裝主函數(shù) │ ├── statusCode.js // 狀態(tài)碼 └── ...
Pengenalan permintaan
// order.js const request = require('./request') module.exports = { // data可以傳入 url, data, ignoreToken, form, cToken apiName (data) { let url = 'apiUrl' return request.post({ url, data }) } }
Antara muka pengedaran bersatu
const orderApi = require("./order") module.exports = { orderApi }
Rujukan halaman
const { orderApi } = require('dir/path/api/index') ... 1. `Promise.then()`鏈?zhǔn)秸{(diào)用 func () { orderApi.apiName(params).then(res => { // do Something }).catch(err => { // do Something }) } 2. `async/await` 調(diào)用 async func () { try { let res = await orderApi.apiName(params) // do Something } catch (err) { // do Something } }
nilai pilihan
參數(shù) | 說(shuō)明 | 數(shù)據(jù)類型 | 默認(rèn)值 |
---|---|---|---|
url | 接口名 | String |
'' |
data | 請(qǐng)求體 | Object |
{} |
ignoreToken | 請(qǐng)求是否攜帶token | Boolean |
false |
form | 是否是表單請(qǐng)求 | Boolean |
false |
[Cadangan pembelajaran berkaitan: Tutorial Pembangunan Program Mini】
Atas ialah kandungan terperinci Bagaimanakah program mini asli boleh merangkum permintaan dan antara muka panggilan dengan elegan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Dengan populariti teknologi Internet mudah alih dan telefon pintar, WeChat telah menjadi aplikasi yang sangat diperlukan dalam kehidupan orang ramai. Program mini WeChat membenarkan orang ramai menggunakan program mini secara langsung untuk menyelesaikan beberapa keperluan mudah tanpa memuat turun dan memasang aplikasi. Artikel ini akan memperkenalkan cara menggunakan Python untuk membangunkan applet WeChat. 1. Persediaan Sebelum menggunakan Python untuk membangunkan applet WeChat, anda perlu memasang perpustakaan Python yang berkaitan. Adalah disyorkan untuk menggunakan dua perpustakaan wxpy dan itchat di sini. wxpy ialah mesin WeChat

Melaksanakan kesan flipping kad dalam program mini WeChat Dalam program mini WeChat, melaksanakan kesan flipping kad ialah kesan animasi biasa yang boleh meningkatkan pengalaman pengguna dan daya tarikan interaksi antara muka. Yang berikut akan memperkenalkan secara terperinci cara melaksanakan kesan khas flipping kad dalam applet WeChat dan memberikan contoh kod yang berkaitan. Pertama, anda perlu menentukan dua elemen kad dalam fail susun atur halaman program mini, satu untuk memaparkan kandungan hadapan dan satu untuk memaparkan kandungan belakang Kod sampel khusus adalah seperti berikut: <!--index.wxml-. ->&l

Menurut berita dari laman web ini pada 31 Oktober, pada 27 Mei tahun ini, Ant Group mengumumkan pelancaran "Projek Pemilihan Watak Cina", dan baru-baru ini membawa kemajuan baharu: Alipay melancarkan program mini "Pemilihan Watak Cina-Watak Biasa" untuk mengumpul koleksi daripada masyarakat Watak nadir menambah pustaka aksara jarang dan memberikan pengalaman input yang berbeza untuk aksara jarang untuk membantu memperbaik kaedah input aksara jarang dalam Alipay. Pada masa ini, pengguna boleh memasukkan applet "Watak Tidak Biasa" dengan mencari kata kunci seperti "Pengambilan aksara Cina" dan "aksara jarang". Dalam program mini, pengguna boleh menghantar gambar aksara jarang yang belum dikenali dan dimasukkan oleh sistem Selepas pengesahan, jurutera Alipay akan membuat entri tambahan ke dalam perpustakaan fon. Laman web ini mendapati bahawa pengguna juga boleh mengalami kaedah input pemisahan perkataan terkini dalam program mini Kaedah input ini direka untuk perkataan yang jarang dengan sebutan yang tidak jelas. Pembongkaran pengguna

Program mini boleh menggunakan react. Cara menggunakannya: 1. Laksanakan pemapar berdasarkan "react-reconciler" dan jana DSL 2. Buat komponen program mini untuk menghuraikan dan membuat DSL 3. Pasang npm dan laksanakan Build; npm dalam alat; 4. Perkenalkan pakej ke halaman anda sendiri, dan kemudian gunakan API untuk menyelesaikan pembangunan.

Bagaimana uniapp boleh mencapai penukaran pantas antara program mini dan H5 memerlukan contoh kod khusus Dalam beberapa tahun kebelakangan ini, dengan perkembangan Internet mudah alih dan populariti telefon pintar, program mini dan H5 telah menjadi bentuk aplikasi yang sangat diperlukan. Sebagai rangka kerja pembangunan merentas platform, uniapp boleh dengan cepat merealisasikan penukaran antara program kecil dan H5 berdasarkan set kod, meningkatkan kecekapan pembangunan. Artikel ini akan memperkenalkan cara uniapp boleh mencapai penukaran pantas antara program mini dan H5, dan memberikan contoh kod khusus. 1. Pengenalan kepada uniapp unia

Artikel ini membawakan kepada anda beberapa isu berkaitan tentang program mini WeChat terutamanya cara menggunakan mesej templat akaun dalam program mini. Saya harap ia dapat membantu semua orang.

Idea pelaksanaan x01 Penubuhan pelayan Pertama, pada bahagian pelayan, soket digunakan untuk menerima mesej Setiap kali permintaan soket diterima, utas baharu dibuka untuk menguruskan pengedaran dan penerimaan mesej Pada masa yang sama, terdapat pengendali untuk menguruskan semua Thread, dengan itu merealisasikan pemprosesan pelbagai fungsi ruang sembang Penubuhan pelanggan x02 adalah lebih mudah daripada pelayan Fungsi pelanggan hanya untuk menghantar dan menerima mesej, dan untuk memasukkan aksara tertentu mengikut peraturan tertentu. Ini membolehkan penggunaan fungsi yang berbeza, di sisi pelanggan, anda hanya perlu menggunakan dua utas, satu didedikasikan untuk menerima mesej, dan yang lain didedikasikan untuk menghantar mesej adalah kerana, hanya

Kedudukan geolokasi dan paparan peta PHP dan program mini Kedudukan geolokasi dan paparan peta telah menjadi salah satu fungsi yang diperlukan dalam teknologi moden. Dengan populariti peranti mudah alih, permintaan orang ramai untuk kedudukan dan paparan peta juga meningkat. Semasa proses pembangunan, PHP dan applet adalah dua pilihan teknologi biasa. Artikel ini akan memperkenalkan anda kepada kaedah pelaksanaan kedudukan lokasi geografi dan paparan peta dalam program PHP dan mini, serta melampirkan contoh kod yang sepadan. 1. Geolokasi dalam PHP Dalam PHP, kita boleh menggunakan geolokasi pihak ketiga
