Artikel ini merumuskan dan berkongsi dengan anda beberapa soalan temuduga berdasarkan program kecil (dengan analisis), supaya anda boleh memenangi temu duga dengan pasti. Saya harap ia akan membantu semua orang!
Proses log masuk program mini
Langkah pertama: wx.login untuk mendapatkan kelayakan log masuk sementara pengguna kod
Langkah 2: wx.getUserInfo memperoleh data yang disulitkan encryptedData dan parameter penyahsulitan iv
Langkah 3: Hantar kod, encryptedData dan iv dalam langkah 1 dan 2 kepada pemaju sendiri Pelayan Langkah 4: Selepas pelayan memperoleh kod, encryptedData, dan iv, gunakan kaedah get untuk meminta projek peribadi antara muka WeChat berikut Tiada antara muka belakang dan menjawab proses log masuk dalam pembangunan awan
Kitaran pengisytiharan halaman Program Kecil
● onLoad() dicetuskan apabila halaman dimuatkan dan hanya akan dipanggil sekali untuk mendapatkan parameter dalam laluan halaman semasa.
● onShow() dicetuskan apabila halaman dipaparkan/dipotong ke latar depan, dan biasanya digunakan untuk menghantar permintaan data
● onReady() dicetuskan apabila pemaparan awal; halaman selesai, dan hanya akan dipanggil sekali, menunjukkan bahawa halaman telah Boleh berinteraksi dengan lapisan paparan
● onHide() Dicetuskan apabila halaman disembunyikan/ditukar ke latar belakang, seperti tab bawah bertukar ke halaman lain atau applet bertukar ke latar belakang, dsb.
● onUnload() apabila halaman dipunggah Dicetuskan, seperti redirectTo atau navigateBack to other page
Rangka kerja yang biasa digunakan dalam program kecil
WeUI WeUI ialah perpustakaan gaya asas yang konsisten dengan pengalaman visual asli WeChat. Pasukan reka bentuk rasmi WeChat menyesuaikan halaman web WeChat dan program mini WeChat untuk menjadikan persepsi penggunaan pengguna lebih bersatu. Ia adalah rangka kerja yang paling biasa digunakan dalam pembangunan program mini dan popular di kalangan pembangun. Rangka kerja program mini Meituan mpvue Pengenalan rasmi: mpvue ialah rangka kerja bahagian hadapan yang menggunakan Vue.js untuk membangunkan program kecil. Rangka kerja ini berdasarkan teras Vue.js mpvue telah mengubah suai masa jalan dan pelaksanaan pengkompil Vue.js supaya ia boleh dijalankan dalam persekitaran program mini, sekali gus memperkenalkan set lengkap pengalaman pembangunan Vue.js untuk pembangunan program mini. .
Rangka kerja pembangunan komponen wepy Pengenalan rasmi: Pembangunan berasaskan komponen menyelesaikan masalah seperti pengasingan komponen, sarang komponen dan komunikasi komponen dengan sempurna Ia menyokong penggunaan sumber npm pihak ketiga, secara automatik mengendalikan kebergantungan antara sumber npm dan serasi sempurna dengan semua pakej sumber npm tanpa. kebergantungan platform. Rangka kerja rasmi MINA Pengenalan rasmi: Rangka kerja menyediakan bahasa penerangan lapisan paparan sendiri WXML dan WXSS, serta rangka kerja lapisan logik berasaskan JavaScript, dan menyediakan penghantaran data dan sistem peristiwa antara lapisan paparan dan lapisan logik, membolehkan pembangun memfokuskan dengan mudah pada data dan secara logik.
Adakah anda tahu tentang program mini WeChat? Terangkan secara ringkas prinsip program mini.
Program Mini WeChat dibangunkan menggunakan tiga teknologi: JavaScript, WXML dan WXSS Pada asasnya ia adalah aplikasi satu halaman Semua rendering halaman dan pemprosesan acara dilakukan dalam Ia dijalankan dalam halaman, tetapi pelbagai antara muka asli boleh dipanggil melalui klien WeChat
Seni bina WeChat ialah model seni bina dipacu data, dan UI dan datanya dipisahkan , semua kemas kini halaman perlu dicapai melalui perubahan kepada; data;
Aplet dibahagikan kepada dua bahagian, webview dan appService. Antaranya, webview digunakan terutamanya untuk memaparkan UI, dan appService digunakan untuk mengendalikan logik perniagaan, data dan panggilan antara muka. Mereka berjalan dalam dua proses, berkomunikasi melalui lapisan sistem JSBridge, dan melaksanakan pemaparan UI dan pemprosesan acara
Fungsi fail direktori utama projek program mini
fail konfigurasi projek project.config.json, buat beberapa konfigurasi diperibadikan, seperti warna antara muka, konfigurasi kompilasi, dsb.; app.json ialah konfigurasi global program mini semasa, termasuk semua konfigurasi laluan halaman program mini, prestasi antara muka, tamat masa rangkaian, tab bawah, dsb.; sitemap.json mengkonfigurasi sama ada program mini dan halamannya dibenarkan untuk diindeks oleh WeChat; halaman mengandungi halaman tertentu; wxml (WeiXin Markup Language) ialah satu set bahasa tag yang direka bentuk oleh rangka kerja Digabungkan dengan komponen asas dan sistem acara, ia boleh membina struktur halaman. wxss (WeiXin Style Sheets) ialah bahasa gaya yang digunakan untuk menerangkan gaya komponen WXML app.wxss, sebagai gaya global, akan digunakan pada semua halaman applet semasa dan gaya halaman setempat page.wxss hanya berkuat kuasa pada halaman semasa; logik applet app.js pemprosesan logik js, permintaan rangkaian konfigurasi halaman json
Bagaimanakah pengikatan dua hala program mini berbeza daripada vue
Atribut data ini secara langsung dalam program mini tidak boleh disegerakkan Untuk paparan, anda mesti memanggil: this.setData({ // Tetapkan di sini })
Fungsi kitaran hayat halaman applet
onLoad dicetuskan apabila halaman dimuatkan. Halaman hanya akan dipanggil sekali. Anda boleh mendapatkan parameter dalam laluan untuk membuka halaman semasa dalam parameter onLoad (memantau pemuatan halaman)
onShow() dicetuskan apabila halaman dipaparkan/dipotong ke dalam latar depan (paparan halaman pemantauan)
onReady() dicetuskan apabila pemaparan awal halaman selesai. Halaman hanya akan dipanggil sekali sahaja, yang bermaksud halaman itu sedia dan boleh berinteraksi dengan lapisan paparan (memantau penyiapan pemaparan awal halaman)
onHide() dicetuskan apabila halaman disembunyikan /bertukar ke latar belakang. Seperti navigateTo atau tab bawah untuk beralih ke halaman lain, applet beralih ke latar belakang, dsb. (memantau penyembunyian halaman)
onUnload() dicetuskan apabila halaman dipunggah. Seperti ubah halaKe atau navigasiKembali ke halaman lain (memantau pemunggahan halaman)
Kebaikan dan keburukan applet WeChat
Kelebihan: Sedia untuk digunakan, tiada pemasangan diperlukan, menjimatkan trafik dan masa pemasangan, dan tidak menduduki desktop Bergantung pada trafik WeChat, promosi semula jadi dan kelebihan komunikasi Kos pembangunan lebih rendah daripada apl kekurangan: Pengekalan pengguna, penggunaan segera adalah satu kelebihan, tetapi terdapat juga beberapa masalah Pintu masuk jauh lebih dalam daripada aplikasi tradisional Terdapat banyak sekatan, saiz halaman tidak boleh melebihi 2M, dan halaman dengan lebih daripada 10 tahap tidak boleh dibuka
Apakah perbezaan antara wxss dan css dalam program mini
WXSS serupa dengan CSS, tetapi beberapa penambahan dan pengubahsuaian dibuat berdasarkan CSS
Unit saiz ialah rpx rpx ialah piksel responsif yang menyesuaikan diri dengan lebar skrin. Lebar skrin yang ditentukan ialah 750rpx. Sebagai contoh, pada iPhone6, lebar skrin ialah 375px dan terdapat 750 piksel fizikal secara keseluruhan, kemudian 750rpx = 375px = 750 piksel fizikal
Gunakan pengecam @import untuk mengimport gaya luaran. @import diikuti oleh laluan relatif helaian gaya luaran yang perlu diimport, dengan ; untuk menunjukkan penghujung pernyataan
Apakah kaedah pemindahan data antara program mini halaman
(1) Gunakan pembolehubah global untuk melaksanakan pemindahan data. Takrifkan globalData pembolehubah global dalam fail app.js dan simpan maklumat yang perlu disimpan di dalamnya. Apabila menggunakannya, gunakan terus getApp() untuk mendapatkan maklumat yang disimpan
(2) Apabila menggunakan wx.navigateTo dan wx.redirectTo, anda boleh meletakkan sebahagian daripada data dalam url dan memuatkannya apabila halaman baharu adalah onLoaded Isu yang perlu diberi perhatian: wx.navigateTo dan wx.redirectUntuk tidak membenarkan melompat ke halaman yang terkandung dalam tab onLoad dilaksanakan sekali sahaja (3) Gunakan cache tempatan berkaitan Storan
Cara menentukan keunikan pengguna dengan mengaitkan program mini dengan akaun rasmi WeChat
Jika pembangun mempunyai berbilang aplikasi Mudah Alih, aplikasi tapak web dan akaun awam (termasuk program mini) boleh menggunakan unionid untuk membezakan keunikan pengguna, kerana selagi mereka adalah aplikasi mudah alih, aplikasi tapak web dan akaun awam (termasuk program mini) di bawah akaun platform terbuka WeChat yang sama, Unionid pengguna adalah unik. Dalam erti kata lain, pengguna yang sama mempunyai unionid yang sama untuk aplikasi berbeza di bawah platform terbuka WeChat yang sama
Cara melaksanakan penyegaran tarik-turun
Konfigurasikan dahulu enablePullDownRefresh dalam tetingkap dalam konfigurasi global Tentukan fungsi cangkuk onPullDownRefresh dalam Halaman Selepas mencapai keadaan muat semula tarik ke bawah, fungsi cangkuk dilaksanakan dan kaedah permintaan dimulakan. Selepas permintaan kembali, hubungi wx.stopPullDownRefresh untuk menghentikan muat semula tarik turun
Apakah perbezaan antara bindtap dan catchtap? perkara yang sama: pertama sekali, kedua-duanya adalah sebagai Fungsi acara klik dicetuskan apabila diklik. Dalam fungsi ini, mereka adalah sama dan tidak perlu membezakannya Perbezaannya: perbezaan utama mereka ialah bindtap tidak menghalang kejadian menggelegak, manakala catchtap menghalang menggelegak
Perbezaan antara 'wx.navigateTo()', 'wx.redirectTo()', 'wx.switchTab()', 'wx.navigateBack()', 'wx.reLaunch()'
wx.navigateTo(): Kekalkan halaman semasa dan lompat ke halaman dalam aplikasi. Tetapi anda tidak boleh melompat ke halaman bar tab wx.redirectTo(): Tutup halaman semasa dan lompat ke halaman dalam aplikasi. Walau bagaimanapun, melompat ke halaman bar tab tidak dibenarkan
wx.switchTab(): Lompat ke halaman tabBar dan tutup semua halaman bukan tabBar lain
wx.navigateBack(): Tutup semasa halaman dan kembalikan halaman sebelumnya atau halaman berbilang peringkat. Anda boleh mendapatkan timbunan halaman semasa melalui getCurrentPages() dan tentukan berapa banyak tahap yang anda perlu kembalikan
wx.reLaunch(): Tutup semua halaman dan buka halaman dalam aplikasi
Perbezaan antara typeof operator, instanceof operator dan isPrototypeOf() method
typeof ialah operator yang digunakan untuk mengesan jenis data, seperti jenis data asas null, undefined, rentetan , nombor, boolean, Serta objek dan fungsi jenis data rujukan, tetapi untuk jenis data rujukan seperti ungkapan biasa, tarikh dan tatasusunan, semuanya akan dikenali sebagai objek instanceof juga merupakan operator, yang boleh mengenal pasti dengan mudah; data tertentu. Perbezaan antara ia dan isPrototypeOf ialah Ia digunakan untuk mengesan sama ada prototaip pembina wujud dalam rantaian prototaip objek yang ditentukan; IsPrototypeOf digunakan untuk mengesan sama ada objek yang memanggil kaedah ini wujud dalam rantaian prototaip objek yang ditentukan, jadi pada asasnya sasaran pengesanan adalah berbeza.
Perbezaan antara call() dan apply()
Sebenarnya, fungsi apply dan call adalah sama, tetapi bentuk senarai parameter yang diluluskan adalah berbeza.
apply(objek ini, [parameter 1, parameter 2,...]) Walaupun terdapat hanya satu parameter, ia mesti ditulis ke dalam tatasusunan
call(objek ini, parameter 1, parameter 2,...) Ia boleh menerima berbilang parameter sewenang-wenangnya Parameter pertama adalah sama seperti yang digunakan, diikuti dengan senarai parameter WeChat. Mini Bagaimanakah program menghantar nilai kepada peristiwa Tambahkan atribut data-* pada elemen HTML untuk menghantar nilai yang kita perlukan, dan kemudian dapatkannya melalui parameter param e.currentTarget.set data atau onload.
Tetapi nama data tidak boleh mempunyai huruf besar dan tidak boleh menyimpan objek Perbezaan antara applet WeChat dan vue • Kitaran hayat ialah berbeza, kitaran hayat program WeChat Mini agak mudah
• Pengikatan data juga berbeza Pengikatan data applet WeChat perlu menggunakan {{}}, vue secara langsung
• Kawal paparan dan penyembunyian elemen Dalam program mini, gunakan wx-if dan tersembunyi untuk mengawal paparan dan menyembunyikan elemen dalam vue, gunakan v-if dan v-show
• Pemprosesan acara adalah berbeza Dalam program mini, bindtap (peristiwa mengikat) atau catchtap (acara menangkap) digunakan untuk mengikat acara: gunakan v-on:event untuk mengikat acara, atau gunakan @event untuk mengikat acara.
• Pengikatan dua hala data juga berbeza Dalam vue, anda hanya perlu menambah model-v pada elemen bentuk, dan kemudian mengikat nilai yang sepadan dalam data Apabila kandungan elemen borang berubah, nilai yang sepadan dalam data juga akan berubah. Ia akan berubah dengan sewajarnya, yang merupakan perkara yang sangat bagus tentang vue. Applet WeChat mesti mendapatkan nilai yang diubah bagi elemen borang, dan kemudian memberikan nilai kepada pembolehubah yang diisytiharkan dalam data. Apakah kaedah yang boleh digunakan untuk meningkatkan kelajuan aplikasi program mini WeChat Meningkatkan kelajuan memuatkan halaman
Ramalan tingkah laku pengguna
Kurangkan saiz data lalai
Penyelesaian terkomponen Cara menyelesaikan masalah permintaan tak segerak bagi program mini Program mini menyokong kebanyakan sintaks ES6
• Logik proses dalam panggilan balik yang mengembalikan kejayaan Apakah persamaan dan perbezaan antara applet wxml dan html standard? Sama:
• Ia digunakan untuk menerangkan struktur halaman;
• Ia terdiri daripada tag, atribut, dsb.;
berbeza:
• Nama label adalah berbeza, dan terdapat lebih sedikit label program mini dan lebih banyak label tunggal;
• Terdapat lebih banyak atribut seperti wx:if dan ungkapan seperti {{ }};
• WXML hanya boleh dipratonton dalam alat pembangun applet WeChat, manakala HTML boleh dipratonton dalam penyemak imbas;
• Enkapsulasi komponen berbeza, WXML merangkum semula komponen;
• Program mini berjalan dalam JS Core dan tidak mempunyai pokok DOM dan objek tetingkap Objek tetingkap dan objek dokumen tidak boleh digunakan dalam program mini. Aplet memperkenalkan senarai atribut bagi tiga objek acara secara ringkas? BaseEvent
• jenis: jenis acara
• cap masa: cap masa apabila peristiwa dijana
• sasaran: koleksi nilai sifat komponen yang mencetuskan peristiwa
• currentTarget: koleksi sifat komponen semasa
Acara tersuai (CustomEvent)
• perincian
Acara sentuh (TouchEvent)
• sentuhan
• Bagaimanakah applet changedTouches memahami penggunaan wx:if dan tersembunyi? • wx:jika mempunyai kos penukaran yang lebih tinggi.
• tersembunyi mempunyai kos pemaparan awal yang lebih tinggi.
• Oleh itu, jika penukaran yang kerap diperlukan, lebih baik menggunakan tersembunyi Jika keadaan tidak mungkin berubah semasa masa jalan, wx:if adalah lebih baik Perbezaan antara applet WeChat dan. H5 Perbezaan dalam persekitaran pengendalian: Persekitaran pengendalian HTML5 tradisional ialah penyemak imbas, termasuk paparan web, manakala persekitaran pengendalian applet WeChat bukanlah penyemak imbas yang lengkap dibangunkan oleh pasukan pembangunan WeChat. Penghurai terbina dalam yang telah distruktur semula sepenuhnya dalam kernel telah dioptimumkan khas untuk program kecil dan bekerjasama dengan piawaian bahasa pembangunan yang ditentukan sendiri untuk meningkatkan prestasi program kecil.
• Perbezaan dalam kos pembangunan: Ia hanya berjalan pada WeChat, jadi anda tidak perlu risau tentang keserasian penyemak imbas atau pepijat yang tidak dapat diramalkan dalam persekitaran pengeluaran.
• Perbezaan dalam mendapatkan kebenaran peringkat sistem app.json ialah konfigurasi global applet semasa Apakah maksud setiap tiga item konfigurasi? • medan halaman - digunakan untuk menerangkan laluan semua halaman program mini semasa Ini adalah untuk memberitahu klien WeChat dalam direktori mana halaman program mini anda ditakrifkan pada masa ini.
• medan tetingkap - warna latar belakang atas semua halaman program mini, warna teks ditakrifkan di sini
• medan tab - bahagian atas atau bawah global tab applet Apakah yang perlu saya perhatikan apabila menggunakan kaedah onPageScroll applet? Memandangkan kaedah ini kerap dipanggil, ia boleh dialih keluar apabila tidak diperlukan Jangan simpan kaedah kosong Apabila menggunakan onPageScroll, cuba elakkan menggunakan setData() dan cuba kurangkan kekerapan penggunaan setData(). Paparan program mini menamatkan panggilan balik? Gunakan setData(data, panggil balik) dan tambah kod operasi seterusnya dalam kaedah panggil balik Apakah yang perlu anda perhatikan apabila menggunakan API segerak dan API tak segerak program mini? wx.setStorageSync ialah API yang berakhir dengan Sync, iaitu API penyegerakan.
Gunakan try-catch untuk melihat pengecualian apabila menggunakannya Jika API ditentukan sebagai tidak segerak, anda boleh melakukan langkah seterusnya dalam kejayaan, gagal dan lengkap kaedah panggil baliknya. Bagaimana untuk merangkum permintaan data applet WeChat? 1. Letakkan semua antara muka dalam fail js bersatu dan eksportnya. 2. Cipta kaedah dalam app.js untuk merangkum data permintaan. 3. Panggil kaedah terkapsul dalam sub-halaman untuk meminta data. Mana satu lebih baik, program mini atau apl asli? Selain mempunyai kelebihan kos pembangunan yang rendah, kos pemerolehan pelanggan yang rendah, dan tidak perlu memuat turun akaun awam, program mini juga telah meningkatkan kependaman permintaan perkhidmatan dan pengalaman pengguna ,
Ini membolehkannya membawa fungsi perkhidmatan yang kompleks dan menyediakan pengguna dengan pengalaman pengguna yang lebih baik. Bagaimana untuk melompat kembali ke program mini dari halaman dalam paparan web? Mula-mula perkenalkan versi terkini jweixin-x.x.x.js, kemudian Cara untuk melompat ke navigasi program mini dari paparan web halaman muka surat? Halaman yang dilayari oleh applet boleh ditukar melalui switchTab, tetapi data tidak akan dimuatkan semula secara lalai. Jika anda perlu memuatkan data baharu, cuma tambahkan kod berikut pada atribut kejayaan: Apakah masalah yang dihadapi oleh program mini semasa memanggil antara muka latar belakang? 1 Saiz data adalah terhad secara langsung akan menyebabkan keseluruhan program mini ranap melainkan program mini dimulakan semula tidak boleh memaparkan artikel secara langsung Jika anda ingin memaparkan kandungan teks html jenis ini pada halaman kandungan, anda perlu menggunakan pemalam, tetapi pemaparan pemalam akan menyebabkan halaman dimuatkan dengan lebih perlahan, jadi sebaiknya menapis html kandungan artikel di latar belakang, dan secara langsung memproses penggantian kelompok teg p dan teg div di latar belakang, dan kemudian biarkan pemalam melakukan teg lain untuk mengurangkan masa bahagian hadapan Kelebihan: Tutorial Pembangunan Program Miniwx.miniProgram.navigateTo({
url: '/pages/login/login'+'$params'
})
Atas ialah kandungan terperinci Ringkaskan dan kongsi beberapa soalan temuduga berdasarkan program kecil untuk memastikan anda memenangi temu duga!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!