Rumah >hujung hadapan web >uni-app >Apakah yang perlu saya lakukan jika tetingkap pop timbul tidak muncul apabila uniapp memperoleh maklumat?

Apakah yang perlu saya lakukan jika tetingkap pop timbul tidak muncul apabila uniapp memperoleh maklumat?

PHPz
PHPzasal
2023-04-20 13:54:262196semak imbas

Dengan perkembangan pesat Internet mudah alih, semakin banyak aplikasi dan tapak web dibangunkan menggunakan teknologi uniapp. Dalam pembangunan uniapp, masalah yang sering dihadapi ialah tetingkap tidak muncul semasa mendapatkan maklumat. Artikel ini akan memperkenalkan cara menyelesaikan masalah ini dalam uniapp.

Perihalan Masalah

Semasa proses pembangunan menggunakan uniapp, kami sering menghadapi senario di mana pengguna perlu digesa, seperti tetingkap timbul pengesahan, pemberitahuan mesej, dsb. Walau bagaimanapun, jika anda tidak biasa dengan pembangunan uniapp, anda mungkin mendapati bahawa tiada tetingkap timbul semasa mendapatkan maklumat dalam uniapp, yang sangat menyedihkan.

Khususnya, apabila kami memanggil kaedah yang disediakan oleh uniapp untuk mendapatkan data, seperti kaedah wx.getUserInfo() applet WeChat, objek Promise akan dikembalikan. Dalam JavaScript, kami boleh memproses data yang diperoleh melalui kaedah then() bagi objek Promise, seperti memaparkannya pada halaman atau memunculkan tetingkap timbul pengesahan. Tetapi dalam uniapp, jika anda terus menggunakan kaedah uni.<平台>.getUserInfo() untuk mendapatkan maklumat pengguna, tiada tetingkap pop timbul pengesahan akan muncul dan tiada gesaan.

Analisis Sebab

Untuk menyelesaikan masalah ini, anda perlu memahami beberapa pengetahuan asas tentang uniapp terlebih dahulu. Dalam uniapp, kami biasanya menggunakan API terkapsul untuk memanggil API asli. Pelaksanaan API terkapsul biasanya dengan memanggil API asli, dan kemudian memprosesnya mengikut ciri platform yang berbeza, dan akhirnya mengembalikan hasil yang diperlukan.

Sebagai contoh, apabila kami menggunakan kaedah wx.getUserInfo() untuk mendapatkan maklumat pengguna dalam applet WeChat, applet WeChat akan memunculkan tetingkap pop timbul pengesahan untuk menggesa pengguna sama ada membenarkan aplikasi mendapatkan pengguna maklumat. Jika pengguna membenarkannya, applet WeChat akan mengembalikan maklumat pengguna kepada program pembangun jika pengguna menolak kebenaran, applet WeChat akan mengembalikan mesej ralat.

Walau bagaimanapun, dalam uniapp, disebabkan keperluan untuk serasi dengan berbilang platform, apabila merangkum API, anda tidak boleh terus memanggil API asli untuk mendapatkan maklumat pengguna. Sebaliknya, kaedah uni.<平台>.getUserInfo() yang dirangkumkan oleh uniapp hanya mengembalikan maklumat pengguna kepada program pembangun tanpa memunculkan tetingkap pop timbul pengesahan atau gesaan lain.

Penyelesaian

Sekarang puncanya jelas, penyelesaiannya juga jelas. Dalam uniapp, jika anda perlu mendapatkan maklumat pengguna dan ingin mempunyai tetingkap pop timbul pengesahan atau gesaan lain, anda perlu menggunakan API yang disediakan oleh uniapp.

Secara khususnya, anda boleh menggunakan API kotak gesaan mesej uniapp uni.showModal() dan API kotak gesaan lemah uni.showToast() untuk melaksanakan fungsi gesaan. Contohnya adalah seperti berikut:

uni.showModal({
  title: '提示',
  content: '是否允许获取用户信息?',
  success: function (res) {
    if (res.confirm) {
      uni.<平台>.getUserInfo({
        success: function (res) {
          console.log(res.userInfo);
        }
      });
    }
  }
});

Dalam kod di atas, sebelum kami memanggil kaedah uni..getUserInfo(), tetingkap pop timbul pengesahan akan muncul untuk menggesa pengguna sama ada untuk membenarkan akses kepada maklumat pengguna. Jika pengguna mengklik butang pengesahan, kaedah uni..getUserInfo() akan dilaksanakan dan maklumat pengguna yang diperoleh akan dicetak.

Selain dua API di atas, uniapp juga menyediakan banyak API lain untuk membantu kami melaksanakan fungsi seperti gesaan. Anda perlu memilih dan menggunakannya mengikut situasi tertentu.

Kesimpulan

Secara amnya, dalam pembangunan uniapp, jika anda ingin mendapatkan maklumat pengguna dan memerlukan fungsi segera, anda tidak boleh terus menggunakan API asli, tetapi perlu menggunakan API yang disediakan oleh uniapp . Pelaksanaan API terkapsul biasanya dengan memanggil API asli, dan kemudian memprosesnya mengikut ciri-ciri platform yang berbeza, dan akhirnya mengembalikan hasil yang diperlukan. Antaranya, API kotak gesaan mesej uni.showModal() dan API kotak gesaan lemah uni.showToast() yang disediakan oleh uniapp sering digunakan untuk melaksanakan fungsi gesaan.

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika tetingkap pop timbul tidak muncul apabila uniapp memperoleh maklumat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn