Rumah >applet WeChat >Pembangunan program mini >Pengenalan ringkas: Laksanakan fungsi log masuk yang dibenarkan bagi program mini
Artikel ini membawakan anda pengetahuan yang berkaitan tentang Program Mini WeChat, yang terutamanya memperkenalkan cara melaksanakan fungsi log masuk yang dibenarkan bagi Program Mini Mari kita lihat bersama-sama .
[Cadangan pembelajaran berkaitan: Tutorial Pembelajaran Program Mini]
Dalam kerja harian kita, belajar, Dalam kehidupan kita, program mini WeChat telah menjadi bahagian yang tidak dapat dipisahkan dari kita Jika kita memberi perhatian yang teliti, setiap kali kita menggunakan program mini baru, kita akan sentiasa menemui halaman berikut:
Ini ialah fungsi log masuk WeChat Mini Program Selepas log masuk yang dibenarkan, kami boleh menggunakan Program Mini seperti biasa, dan Program Mini juga akan mendapatkan hak pengguna, nombor telefon bimbit dan maklumat peribadi kami yang lain
.
Langkah khusus untuk log masuk dibenarkan program mini WeChat adalah seperti berikut
Terperinci Pelaksanaan terutamanya mempunyai tiga langkah berikut:
Panggil wx.login() WeChat API untuk mendapatkan kod kelayakan log masuk sementara dan hantar semula ke pelayan pembangun
Panggil auth.code2Session WeChat api antara muka untuk mendapatkan OpenID pengecam unik pengguna, UnionID pengecam unik pengguna di bawah akaun platform terbuka WeChat dan kunci sesi session_key
Melalui langkah 2. Nyahsulit parameter yang diperolehi, dapatkan nombor telefon mudah alih pengguna, avatar dan ciri lain dan simpan data yang diperlukan ke cache
Kod untuk melaksanakan langkah adalah seperti berikut:
Memandangkan WeChat mengubah suai antara muka getUserInfo secara rasmi, kini adalah mustahil untuk memunculkan tetingkap kebenaran secara automatik sebaik sahaja anda memasuki applet WeChat, jadi kami hanya Pengguna boleh mencetuskan
secara manual melalui butang butang Kami mula-mula menulis kotak pop timbul yang mudah, dikawal oleh pembolehubah isShow bergantung pada maklumat cache dalam langkah 3. Apabila semua langkah selesai, , maklumat pengguna akan dicache dengan betul Pada masa ini, kotak pop timbul disembunyikan -kotak atas akan berada dalam keadaan yang dipaparkan
<view> <view> <text>需要先授权获取个人信息</text> <button>微信账号快速授权</button> </view> </view>
Apabila butang diklik, kaedah getUserInfo dipanggil, isShow Tetapkan kepada palsu, dan gunakan wx.login untuk mendapatkan kod kelayakan log masuk
getUserInfo:e=>{ this.setData({ isShow:false }) wx.login({ success: function (res) { let code = res.code // 登录凭证code } }) }
Dapatkan Selepas mendapat log masuk kod kelayakan, hubungi antara muka API auth.code2Session WeChat (ini adalah operasi bahagian pelayan, bos bahagian belakang mengendalikannya, kami hanya memanggil antara muka yang dia berikan kepada kami secara langsung)
wx.request({ url: 获取用户信息的auth.code2Session微信api接口, method: 'POST', data:{ code:code//登录凭证code }, header: { 'content-type': 'application/json;charset=UTF-8' }, success: function (res) { var userphone= res.data.data //解密手机号 var msg = e.detail.errMsg; var sessionKey = userphone.session_key;//会话密钥 var encryptedData=e.detail.encryptedData; //签名 var unionid = userphone.unionid//唯一标识 var iv= e.detail.iv; //授权成功 if (msg == 'getPhoneNumber:ok') { wx.checkSession({ success:function(){ //进行请求服务端解密手机号 this.deciyption(sessionKey,encryptedData,iv,unionid); } }) } } }) } })
Pada masa ini , kebanyakan Kami telah memperoleh maklumat pengguna, tetapi nombor telefon mudah alih pengguna, avatar pengguna dan maklumat lain masih disulitkan Kami perlu menyahsulit untuk mendapatkan parameter ini
deciyption(sessionKey,encryptedData,iv,unionid){ var that = this; wx.request({ url: 解密接口, method: 'POST', data: { sessionKey: sessionKey, encryptedData:encryptedData, iv: iv }, header: { 'content-type': 'application/json;charset=UTF-8' }, success: function(res) { let data = res.data if (data.resultCode == 'success') { wx.setStorageSync('userTel', data.data.phoneNumber);//存储解密后的用户手机号 }else{ wx.showToast({ title: '获取信息失败请重新授权', icon: 'none' }) that.setData({ isShow:true }) } }, fail:function(res) { wx.showToast({ title: '获取失败请重新授权', icon: 'none' }) that.setData({ isShow:true }) } }) },
Pada masa ini fungsi log masuk yang dibenarkan telah selesai
[Cadangan pembelajaran berkaitan: Tutorial pembelajaran program mini]
Atas ialah kandungan terperinci Pengenalan ringkas: Laksanakan fungsi log masuk yang dibenarkan bagi program mini. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!