my.request
Melakukan permintaan jaringan dari miniapp.
API my.request saat ini mendukung metode GET,
POST, danDELETE.API
my.requestsaat ini hanya mendukung permintaan HTTPS.
API ini didukung pada versi base library 1.11.0 dan yang lebih baru. Anda dapat menggunakan
my.canIUse('request')untuk menangani kompatibilitas. Untuk informasi selengkapnya, lihat Deskripsi Base Library Mini Program.API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
API
my.httpRequesttelah ditinggalkan. Gunakanmy.requestsebagai gantinya.Header permintaan default untuk
my.requestadalah{'content-type': 'application/json'}, bukan{'content-type': 'application/x-www-form-urlencoded'}. Kunci dan nilai dalam objek header permintaan harus berupa string.
Untuk informasi selengkapnya, lihat FAQ my.request.
Catatan penggunaan:
Aktifkan Permission control switch di Release Mini Program > Open Platform Mini Program Management. Kemudian, konfigurasikan daftar putih nama domain di Server domain name whitelist. Miniapp hanya dapat berkomunikasi dengan nama domain yang ada dalam daftar putih saat memanggil API seperti permintaan HTTP (
my.request) dan unggah file (my.uploadFile).Setelah Anda menambahkan nama domain ke daftar putih server, Anda harus mengemas ulang, mengunggah, dan membuat versi uji agar perubahan tersebut berlaku.
Saat melakukan debug di IDE, gunakan perangkat nyata untuk pratinjau.
Parameter input
Nama | Tipe | Wajib | Deskripsi |
url | String | Ya | URL server tujuan. |
headers | Object | Tidak | Menetapkan header permintaan HTTP. Nilai default-nya adalah |
method | String | Tidak | Nilai default-nya adalah GET. Metode yang didukung: GET, POST, dan DELETE. |
data | Object / ArrayBuffer | Tidak | Untuk informasi selengkapnya, lihat deskripsi parameter data di bawah. |
timeout | Number | Tidak | Periode timeout dalam milidetik (ms). Nilai default-nya adalah 30000. |
dataType | String | Tidak | Format data respons yang diharapkan. Nilai default-nya adalah json. Format yang didukung meliputi json, text, base64, dan arraybuffer. |
success | Function | Tidak | Fungsi callback untuk pemanggilan yang berhasil. |
fail | Function | Tidak | Fungsi callback untuk pemanggilan yang gagal. |
complete | Function | Tidak | Fungsi callback yang dieksekusi di akhir pemanggilan, baik berhasil maupun gagal. |
Deskripsi parameter data
Data yang dikirim ke server pada akhirnya dikonversi menjadi string. Jika data bukan string, maka dikonversi berdasarkan aturan berikut:
Jika metodenya adalah
GET, data dikonversi menjadi string kueri:encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)....Jika metodenya adalah
POSTdanheaders['content-type']bernilaiapplication/json, data diserialisasi ke JSON.Jika metodenya adalah
POSTdanheaders['content-type']bernilaiapplication/x-www-form-urlencoded, data dikonversi menjadi string kueri:encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)....
Deskripsi referer
Anda tidak dapat mengatur header
refererpada permintaan jaringan.Formatnya tetap sebagai
https://urlhost/{appid}/{version}/page-frame.html, di mana{appid}adalah APPID miniapp dan{version}adalah nomor versi miniapp.
Nilai kembali success
Nama | Tipe | Deskripsi |
data | String | Data respons. Formatnya tergantung pada parameter |
status | Number | Kode respons. |
headers | Object | Header respons. |
Kode kesalahan
Kode kesalahan | Deskripsi | Solusi |
1 | Navigasi ke halaman lain terjadi sebelum permintaan selesai. | Tunggu hingga permintaan selesai sebelum menavigasi ke halaman lain. |
2 | Kesalahan parameter. |
|
11 | Tidak ada izin untuk permintaan lintas domain. | Periksa apakah nama domain permintaan ada dalam daftar putih domain. Untuk menguji versi pengembangan, klik Details di pojok kanan atas IDE dan pilih Ignore httpRequest domain name validity check. Catatan: Saat merilis versi baru, Anda harus menambahkan nama domain ke Server Domain Name Whitelist. Jika tidak, kesalahan akan terjadi. |
12 | Kesalahan jaringan. | Periksa apakah lingkungan jaringan stabil dan server berjalan dengan benar. |
13 | Timeout. | Periksa apakah lingkungan jaringan stabil dan server merespons dengan benar. Jika permintaan memakan waktu lama, atur periode timeout yang lebih panjang untuk parameter `timeout`. |
14 | Gagal decoding. | Periksa apakah format data permintaan dan respons konsisten antara antarmuka depan dan backend. Misalnya, jika format data respons adalah `text` tetapi parameter input `dataType` adalah `JSON`, API akan melaporkan kesalahan. Dalam kasus ini, ubah format data respons backend menjadi JSON. |
15 | Gagal melewatkan parameter. | Jika Anda menggunakan `urlencode` untuk melewatkan parameter dari halaman miniapp, encode seluruh set parameter tersebut. |
19 | Kesalahan HTTP. |
|
20 | Permintaan dihentikan atau dikendalikan alirannya oleh server. | Pastikan server permintaan dapat diakses dan dapat merespons dengan benar. |
23 | Permintaan agen gagal. | Periksa apakah konfigurasi agen sudah benar. |
Ketika parameter input dataType diatur ke json, framework miniapp terlebih dahulu melakukan operasi JSON.parse pada hasilnya. Jika parsing gagal, framework mengembalikan kesalahan dengan kode 14. Ketika parameter input dataType diatur ke text, jika format konten yang dikembalikan tidak sesuai, framework juga mengembalikan kesalahan dengan kode 14. Jika Anda mengalami kesalahan ini, pertama-tama periksa apakah dataType diatur dengan benar.
Jika pemanggilan my.request mengembalikan You are not authorized to call this interface, konfigurasikan daftar putih nama domain di Open Platform Mini Program Management > Server domain name whitelist.
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
my.request({
url: 'https://example.org/post',
method: 'POST',
data: {
from: 'Alipay',
production: 'AlipayJSAPI',
},
dataType: 'json',
success: function(res) {
my.alert({content: 'success'});
},
fail: function(res) {
my.alert({content: 'fail'});
},
complete: function(res) {
my.hideLoading();
my.alert({content: 'complete'});
}
});
// Mengembalikan RequestTask, yang memungkinkan Anda memanggil metode abort untuk membatalkan permintaan.
const task = my.request({url: 'https://example.org/post'})
task.abort()Nilai kembali
RequestTask
Objek tugas permintaan jaringan.
Metode
RequestTask.abort()
my.uploadFile
API ini didukung pada mPaaS 10.1.32 dan yang lebih baru.
Mengunggah resource lokal ke server developer.
Catatan penggunaan:
Konfigurasikan daftar putih nama domain di Open Platform Mini Program Management > Server Domain Name Whitelist. Miniapp hanya dapat berkomunikasi dengan nama domain yang ada dalam daftar putih saat memanggil API seperti permintaan HTTP (
my.request) dan unggah file (my.uploadFile).
Parameter input
Nama | Tipe | Wajib | Deskripsi |
url | String | Ya | Alamat server developer. |
filePath | String | Ya | Identifier lokal dari resource file yang akan diunggah. |
fileName | String | Ya | Nama file, yang merupakan kunci yang sesuai. Developer dapat memperoleh konten biner file di sisi server melalui kunci ini. |
fileType | String | Ya | Tipe file: image, video, atau audio. |
hideLoading | Bool | Tidak | Menentukan apakah ikon loading disembunyikan. Nilai default-nya adalah false. |
header | Object | Tidak | Header permintaan HTTP. |
formData | Object | Tidak | Data form ekstra lainnya dalam permintaan HTTP. |
success | Function | Tidak | Fungsi callback untuk pemanggilan yang berhasil. |
fail | Function | Tidak | Fungsi callback untuk pemanggilan yang gagal. |
complete | Function | Tidak | Fungsi callback yang dieksekusi di akhir pemanggilan, baik berhasil maupun gagal. |
Nilai kembali success
Nama | Tipe | Deskripsi |
data | String | Data yang dikembalikan oleh server. |
statusCode | String | Kode status HTTP. |
header | Object | Header yang dikembalikan oleh server. |
Kode kesalahan
error | Deskripsi | Solusi |
11 | File tidak ada. | Periksa apakah file lokal ada. |
12 | Gagal mengunggah file. | Periksa jaringan dan server. |
13 | Tidak ada izin. | Periksa pengaturan izin. |
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
my.uploadFile({
url: 'Gunakan alamat server Anda sendiri',
fileType: 'image',
fileName: 'file',
filePath: '...',
success: (res) => {
my.alert({
content: 'Upload berhasil'
});
},
});UploadTask
Objek yang mendengarkan perubahan progres unggah dan membatalkan tugas unggah.
Metode
Metode | Deskripsi |
UploadTask.abort() | Menghentikan tugas unggah. |
UploadTask.onProgressUpdate(function callback) | Mendengarkan event perubahan progres unggah. |
Contoh kode
const task = my.uploadFile({
url: 'Gunakan alamat server Anda sendiri',
fileType: 'image',
fileName: 'file',
filePath: '...',
});
task.onProgressUpdate(({progress, totalBytesWritten, totalBytesExpectedToWrite}) => {
})
task.abort()FAQ
Q: Apakah miniapp dapat secara otomatis mengonversi gambar yang diunggah ke Base64, yaitu metode merepresentasikan data biner dengan karakter yang dapat dicetak?
A: Tidak, miniapp tidak mendukung konversi gambar ke Base64.
Q: Bagaimana cara menggunakan
my.uploadFileuntuk mengambil pesan kesalahan yang dikembalikan dari server?A:
Ambil dari parameter `data` dalam callback `success`.
Tambahkan API pengambilan log di sisi server. Jika unggah gagal, panggil API pengambilan log untuk mendapatkan log kegagalan secara detail.
Q: Berapa timeout default untuk
my.uploadFile? Apakah timeout default dapat diperpanjang?A: Timeout default untuk
my.uploadFileadalah 30 detik. Tidak, Anda tidak dapat memperpanjang timeout default tersebut.Q: Mengapa
my.uploadFilemelaporkanerror: 12saat mengunggah file?A: Kode kesalahan 12 menunjukkan kegagalan unggah. Kemungkinan penyebab kegagalan meliputi:
File terlalu besar.
Unggah memakan waktu lebih dari 30 detik.
Tidak ada izin.
Q: Backend menerima gambar biner saat menggunakan
my.uploadFile. Jika backend mengirim kembali gambar biner ini ke miniapp, bagaimana miniapp menguraikannya?A: Backend menerima gambar sebagai aliran biner. Backend hanya perlu menyediakan URL lokasi gambar di server.
Q: Mengapa pemanggilan
my.uploadFilemelaporkanerror: 4, tidak ada izin untuk memanggil API ini?A: URL yang diminta tidak ada dalam daftar putih. Tambahkan nama domain URL tersebut ke daftar putih.
Q: Apakah miniapp mendukung unggah file Excel?
A: Tidak. Saat ini,
my.uploadFilehanya mendukung unggah file bertipe image, video, atau audio. Tipe file lain tidak didukung.Q: Apakah
my.uploadFilemendukung unggah beberapa gambar sekaligus?A: Tidak,
my.uploadFiletidak mendukung unggah beberapa gambar sekaligus. Anda hanya dapat mengunggah satu gambar dalam satu waktu.
my.downloadFile
API ini didukung pada mPaaS 10.1.32 dan yang lebih baru.
Mengunduh resource file ke perangkat lokal.
Parameter input
Nama | Tipe | Wajib | Deskripsi |
url | String | Ya | Alamat file yang akan diunduh. |
header | Object | Tidak | Header permintaan HTTP. |
success | Function | Tidak | Fungsi callback untuk pemanggilan yang berhasil. |
fail | Function | Tidak | Fungsi callback untuk pemanggilan yang gagal. |
complete | Function | Tidak | Fungsi callback yang dieksekusi di akhir pemanggilan, baik berhasil maupun gagal. |
Nilai kembali success
Nama | Tipe | Deskripsi |
apFilePath | String | Lokasi sementara tempat file disimpan. |
Kode kesalahan
error | Deskripsi | Solusi |
12 | Gagal mengunduh. | Periksa jaringan dan server. |
13 | Tidak ada izin. | Periksa izin. |
20 | URL yang diminta tidak mendukung HTTP. | Ubah URL yang diminta agar menggunakan HTTPS. |
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
// API-DEMO page/API/download-file/download-file.json
{
"defaultTitle": "Download File"
}<!-- API-DEMO page/API/download-file/download-file.axml-->
<view class="container">
<button onTap="download">Unduh dan tampilkan gambar</button>
</view>// API-DEMO page/API/download-file/download-file.js
Page({
download() {
my.downloadFile({
url: 'https://img.alicdn.com/tfs/TB1x669SXXXXXbdaFXXXXXXXXXX-520-280.jpg',
success({ apFilePath }) {
my.previewImage({
urls: [apFilePath],
});
},
fail(res) {
my.alert({
content: res.errorMessage || res.error,
});
},
});
},
})my.connectSocket
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Membuat koneksi WebSocket.
Miniapp hanya dapat memiliki satu koneksi WebSocket dalam satu waktu. Jika koneksi WebSocket sudah ada, koneksi tersebut akan ditutup secara otomatis, dan koneksi baru dibuat.
Parameter input
Nama | Tipe | Wajib | Deskripsi |
url | String | Ya | URL server tujuan. Catatan: Beberapa miniapp yang baru dirilis hanya mendukung protokol wss. |
data | Object | Tidak | Parameter permintaan. |
header | Object | Tidak | Menetapkan header permintaan. |
success | Function | Tidak | Fungsi callback untuk pemanggilan yang berhasil. |
fail | Function | Tidak | Fungsi callback untuk pemanggilan yang gagal. |
complete | Function | Tidak | Fungsi callback yang dieksekusi di akhir pemanggilan, baik berhasil maupun gagal. |
Kode kesalahan
error | Deskripsi | Solusi |
1 | Kesalahan tidak diketahui. | - |
2 | Koneksi jaringan sudah ada. | Miniapp hanya dapat memiliki satu koneksi WebSocket dalam satu waktu. Jika koneksi WebSocket sudah ada, koneksi tersebut akan ditutup secara otomatis, dan koneksi baru dibuat. |
3 | Parameter URL kosong. | Ganti URL tersebut. |
4 | Format URL tidak dikenali. | Berikan URL dengan format yang valid. |
5 | URL harus diawali dengan | Ganti URL tersebut. |
6 | Koneksi ke server timeout. | Coba lagi nanti. |
7 | Sertifikat HTTPS yang dikembalikan oleh server tidak valid. | Miniapp harus menggunakan HTTPS atau WSS untuk memulai permintaan jaringan. Saat permintaan dilakukan, sistem memverifikasi sertifikat HTTPS yang digunakan oleh nama domain server. Jika verifikasi gagal, permintaan tidak dapat dilanjutkan. Karena keterbatasan sistem, tingkat keketatan persyaratan sertifikat berbeda-beda di berbagai platform. Untuk memastikan kompatibilitas, konfigurasikan sertifikat sesuai standar tertinggi dan gunakan alat terkait untuk memeriksa apakah sertifikat Anda memenuhi persyaratan. |
8 | Header protokol yang dikembalikan oleh server tidak valid. | Mulai Mei 2019, miniapp yang baru dibuat harus menggunakan protokol HTTPS dan WSS. Protokol HTTP dan WS tidak lagi didukung. |
9 | Permintaan WebSocket tidak menentukan header permintaan | Tentukan header permintaan |
10 | Koneksi jaringan belum terbuka, sehingga pesan tidak dapat dikirim. | Hubungkan ke server sebelum memanggil my.sendSocketMessage untuk mengirim pesan data. Anda dapat menggunakan my.onSocketOpen untuk mendengarkan event guna menentukan apakah koneksi yang benar telah terjalin dengan server. Catatan: Untuk mengirim data melalui koneksi WebSocket, pertama-tama gunakan my.connectSocket untuk memulai koneksi. Lalu, panggil my.sendSocketMessage untuk mengirim data setelah callback my.onSocketOpen. |
11 | Gagal mengirim pesan. | Coba lagi nanti. |
12 | Tidak dapat meminta lebih banyak memori untuk membaca data jaringan. | Periksa memori. |
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
my.connectSocket({
url: 'test.php',
data: {},
header:{
'content-type': 'application/json'
},
});my.onSocketOpen
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Mendengarkan event pembukaan koneksi WebSocket.
Parameter input
Tipe Object dengan properti berikut:
Properti | Tipe | Wajib | Deskripsi |
callback | Function | Ya | Fungsi callback untuk event pembukaan koneksi WebSocket. |
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
my.connectSocket({
url: 'test.php',
});
my.onSocketOpen(function(res) {
console.log('Koneksi WebSocket terbuka!');
});my.offSocketOpen
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Berhenti mendengarkan event pembukaan koneksi WebSocket.
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
Page({
onLoad() {
this.callback = this.callback.bind(this);
my.onSocketOpen(this.callback);
},
onUnload() {
my.offSocketOpen(this.callback);
},
callback(res) {
},
})Apakah perlu melewatkan nilai callback
Jika Anda tidak melewatkan nilai callback, semua callback event untuk listener ini akan dihapus. Contoh kode berikut:
my.offSocketOpen();Jika Anda melewatkan nilai callback, hanya event callback yang sesuai yang dihapus. Contoh kode berikut:
my.offSocketOpen(this.callback);
my.onSocketError
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Mendengarkan kesalahan WebSocket.
Parameter input
Tipe Object dengan properti berikut:
Parameter | Tipe | Wajib | Deskripsi |
callback | Function | Ya | Fungsi callback untuk event kesalahan WebSocket. |
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
my.connectSocket({
url: 'Alamat server Anda'
});
my.onSocketOpen(function(res){
console.log('Koneksi WebSocket terbuka!');
});
my.onSocketError(function(res){
console.log('Koneksi WebSocket gagal. Silakan periksa!');
});my.offSocketError
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Berhenti mendengarkan kesalahan WebSocket.
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
Page({
onLoad() {
this.callback = this.callback.bind(this);
my.onSocketError(this.callback);
},
onUnload() {
my.offSocketError(this.callback);
},
callback(res) {
},
})Apakah perlu melewatkan nilai callback
Jika Anda tidak melewatkan nilai callback, semua callback event untuk listener ini akan dihapus. Contoh kode berikut:
my.offSocketError();Jika Anda melewatkan nilai callback, hanya event callback yang sesuai yang dihapus. Contoh kode berikut:
my.offSocketError(this.callback);
my.sendSocketMessage
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Mengirim data melalui koneksi WebSocket. Anda harus terlebih dahulu menggunakan my.connectSocket untuk memulai koneksi, lalu mengirim data setelah callback my.onSocketOpen.
Parameter input
Nama | Tipe | Wajib | Deskripsi |
data | String | Ya | Konten yang akan dikirim: string teks biasa atau string yang di-encode Base64. |
isBuffer | Boolean | Tidak | Untuk mengirim data biner, encode data input ke Base64 menjadi string, tetapkan ke |
success | Function | Tidak | Fungsi callback. |
fail | Function | Tidak | Fungsi callback untuk pemanggilan yang gagal. |
complete | Function | Tidak | Fungsi callback yang dieksekusi di akhir pemanggilan, baik berhasil maupun gagal. |
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
my.sendSocketMessage({
data: this.data.toSendMessage, // Konten yang akan dikirim
success: (res) => {
my.alert({content: 'Data terkirim! ' + this.data.toSendMessage});
},
});my.onSocketMessage
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Mendengarkan pesan yang diterima dari server melalui koneksi WebSocket.
Nilai kembali callback
Nama | Tipe | Deskripsi |
data | String/ArrayBuffer | Pesan yang dikembalikan oleh server: string teks biasa atau string yang di-encode Base64. |
isBuffer | Boolean | Jika field ini bernilai |
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
my.connectSocket({
url: 'Alamat server'
})
my.onSocketMessage(function(res) {
console.log('Menerima konten dari server: ' + res.data)
})my.offSocketMessage
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Berhenti mendengarkan pesan yang diterima dari server melalui koneksi WebSocket.
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
my.connectSocket({
url: 'Alamat server'
})
my.onSocketMessage(function(res) {
console.log('Menerima konten dari server: ' + res.data)
})
my.offSocketMessage();Apakah perlu melewatkan nilai callback
Jika Anda tidak melewatkan nilai callback, semua callback event untuk listener ini akan dihapus. Contoh kode berikut:
my.offSocketMessage();Jika Anda melewatkan nilai callback, hanya event callback yang sesuai yang dihapus. Contoh kode berikut:
my.offSocketMessage(this.callback);
my.closeSocket
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Menutup koneksi WebSocket.
Parameter input
Nama | Tipe | Wajib | Deskripsi |
success | Function | Tidak | Fungsi callback. |
fail | Function | Tidak | Fungsi callback untuk pemanggilan yang gagal. |
complete | Function | Tidak | Fungsi callback yang dieksekusi di akhir pemanggilan, baik berhasil maupun gagal. |
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
my.onSocketOpen(function() {
my.closeSocket()
})
my.onSocketClose(function(res) {
console.log('Koneksi WebSocket ditutup!')
})my.onSocketClose
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Mendengarkan event penutupan WebSocket.
Parameter input
Tipe Object dengan properti berikut:
Parameter | Tipe | Wajib | Deskripsi |
callback | Function | Ya | Fungsi callback untuk event penutupan koneksi WebSocket. |
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
onLoad() {
// Catatan: Daftarkan metode callback hanya sekali selama fase startup miniapp.
// Jika Anda memanggilnya beberapa kali, callback akan dipicu beberapa kali.
my.onSocketClose((res) => {
my.alert({content: 'Koneksi ditutup!'});
this.setData({
sendMessageAbility: false,
closeLinkAbility: false,
});
});
// Catatan: Daftarkan metode callback hanya sekali selama fase startup miniapp.
// Jika Anda memanggilnya beberapa kali, callback akan dipicu beberapa kali.
my.onSocketOpen((res) => {
my.alert({content: 'Koneksi dibuka!'});
this.setData({
sendMessageAbility: true,
closeLinkAbility: true,
});
});
my.onSocketError(function(res){
my.alert('Koneksi WebSocket gagal. Silakan periksa! ' + res);
});
// Catatan: Daftarkan metode callback hanya sekali selama fase startup miniapp.
// Jika Anda memanggilnya beberapa kali, callback akan dipicu beberapa kali.
my.onSocketMessage((res) => {
my.alert({content: 'Data diterima! ' + JSON.stringify(res)});
});
}
connect_start() {
my.connectSocket({
url: 'Alamat server', // Alamat API server developer. Harus menggunakan protokol wss, dan nama domain harus berupa nama domain resmi yang dikonfigurasi di backend.
success: (res) => {
my.showToast({
content: 'success', // Konten teks
});
},
fail:()=>{
my.showToast({
content: 'fail', // Konten teks
});
}
});
},my.offSocketClose
API ini didukung pada mPaaS 10.1.60 dan yang lebih baru.
Berhenti mendengarkan event penutupan WebSocket.
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
Page({
onLoad() {
my.onSocketClose(this.callback);
},
onUnload() {
my.offSocketClose(this.callback);
// my.offSocketClose();
},
callback(res) {
my.alert({content: 'Koneksi ditutup!'});
this.setData({
sendMessageAbility: false,
closeLinkAbility: false,
});
},
})Apakah perlu melewatkan nilai callback
Jika Anda tidak melewatkan nilai callback, semua callback event untuk listener ini akan dihapus. Contoh kode berikut:
my.offSocketClose();Jika Anda melewatkan nilai callback, hanya event callback yang sesuai yang dihapus. Contoh kode berikut:
my.offSocketClose(this.callback);
my.rpc(Object)
API panggilan prosedur jarak jauh (RPC) khusus untuk framework miniapp. Ini adalah API gerbang miniapp.
Deskripsi parameter
Nama | Tipe | Wajib | Deskripsi |
operationType | String | Ya | operationType gerbang. |
requestData | Array | Tidak | Data permintaan gerbang. |
success | Function | Tidak | Fungsi callback untuk pemanggilan yang berhasil. |
fail | Function | Tidak | Fungsi callback untuk pemanggilan yang gagal. |
complete | Function | Tidak | Fungsi callback yang dieksekusi di akhir pemanggilan, baik berhasil maupun gagal. |
Contoh kode
Contoh ini hanya sebagai referensi. Anda harus menggunakan alamat Anda sendiri untuk pengujian.
my.rpc({
operationType: 'com.xx.xx',
requestData: [{
"param1":"",
"param2":0
}],
success: res => {
},
fail: res => {
}
});