Rumah > applet WeChat > Pembangunan program mini > Analisis ringkas amalan pembangunan program mini: cara mendapatkan nombor telefon mudah alih

Analisis ringkas amalan pembangunan program mini: cara mendapatkan nombor telefon mudah alih

青灯夜游
Lepaskan: 2021-11-18 18:48:24
ke hadapan
6496 orang telah melayarinya

Bagaimanakah program mini mendapatkan nombor telefon mudah alih pengguna? Artikel berikut akan memperkenalkan kepada anda kaedah mendapatkan nombor telefon mudah alih pengguna dalam pembangunan applet WeChat Saya harap ia akan membantu anda!

Analisis ringkas amalan pembangunan program mini: cara mendapatkan nombor telefon mudah alih

1. Latar Belakang

Apabila anda biasanya menggunakan program mini WeChat pihak ketiga, anda selalunya perlu mendapatkan telefon mudah alih WeChat nombor. , seperti yang ditunjukkan dalam rajah di bawah:

Analisis ringkas amalan pembangunan program mini: cara mendapatkan nombor telefon mudah alih

[Cadangan pembelajaran berkaitan: Tutorial Pembangunan Program Mini]

Bagaimana ini dilaksanakan? Berikut adalah rekod cara mendapatkan nombor mudah alih WeChat.

**Nota:** Anda perlu mempunyai akaun program mini WeChat dan akaun ini diperakui oleh perusahaan. (Fungsi mendapatkan nombor telefon bimbit tidak berkuat kuasa untuk nombor program mini peribadi)

Kemudian mari kita mulakan perjalanan pengaturcaraan untuk mendapatkan nombor telefon bimbit bersama-sama.

2. Pelaksanaan kod

2.1 Buat projek baharu

dalam app.json fail Tambah "pages/getphonenumber/getphonenumber", seperti yang ditunjukkan di bawah:

Analisis ringkas amalan pembangunan program mini: cara mendapatkan nombor telefon mudah alih

2.2 Sediakan kelas alat penghuraian teks sifir

Dapatkan nombor telefon mudah alih melalui antara muka yang disediakan oleh applet WeChat Data yang dikembalikan disulitkan, jadi data yang disulitkan yang dikembalikan perlu dinyahsulit.

1) Cipta terminal baharu

Dalam alatan pembangun WeChat, klik "Terminal" -> "Terminal Baharu" seperti yang ditunjukkan dalam rajah di bawah:

Analisis ringkas amalan pembangunan program mini: cara mendapatkan nombor telefon mudah alih

2) Laksanakan arahan npm init

//Selepas melaksanakan npm init, anda perlu memasukkan beberapa maklumat, cuma terus klik butang "Enter " key

Seperti yang ditunjukkan di bawah:

Analisis ringkas amalan pembangunan program mini: cara mendapatkan nombor telefon mudah alih

3) Laksana npm install crypto-js --save , npm install js-base64 --save

Seperti yang ditunjukkan di bawah:

Analisis ringkas amalan pembangunan program mini: cara mendapatkan nombor telefon mudah alih

4) Bina npm

dalam menu pembangunan WeChat alat Pilih "Alat" -> "Bina npm" dalam bar dan binaan selesai.

2.3 Pelaksanaan kelas analisis

Buat fail WXBizDataCrypt.js baharu dalam folder utils projek tersebut.

var CryptoJS = require("crypto-js");
var Base64 = require("js-base64");

//解析加密数据
function decode(sesionKey,iv,data) {
  var key = CryptoJS.enc.Base64.parse(sesionKey);
  var iv = CryptoJS.enc.Base64.parse(iv);
  var decrypt = CryptoJS.AES.decrypt(data, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  });
  return Base64.decode(CryptoJS.enc.Base64.stringify(decrypt));
}

module.exports = {
 decode
}
Salin selepas log masuk

2.4 Dapatkan pelaksanaan kod nombor telefon

2.4.1 pelaksanaan getphonenumber.js

Nota: appId dan rahsia perlu diganti dengan applet anda sendiri

// pages/getphonenumber/getphonenumber.js
const WXBizDataCrypt = require('../../utils/WXBizDataCrypt');

Page({

  /**
   * 页面的初始数据
   */
  data: {
    phoneNum:'',
    sessionKey:'',
    openId:'',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getSessionKey();
  },

  getPhoneNumber: function(e){
    if (e.detail.errMsg == "getPhoneNumber:fail user deny") {
      wx.showToast({
        title: '拒绝授权,无法获取用户手机号码!',
      }) 
      return;
    }
    //解密数据获取手机号码
    this.decryptData(this.data.sessionKey,e.detail.iv,e.detail.encryptedData);
  },

  //获取SessionKey
  getSessionKey: function(){
    wx.login({
      success:res =>{
        console.log('code:'+res.code);
        var data = {
          'appid':'***********',//注意appId、secret需要替换为自身小程序的
          'secret':'**************************',
          'js_code':res.code,
          'grant_type':'authorization_code'
        };

        wx.request({
          url:'https://api.weixin.qq.com/sns/jscode2session',
          data:data,
          method:'GET',
          success:res =>{
            console.log("jscode2session result: ",res);
            this.setData({
              sessionKey:res.data.session_key,
              openId: res.data.openId
            })
          },
          fail:function(res){
            console.log("获取jscodeSession fail: ",res);
          }
        })
      }
    })
  },

  //解密数据
  decryptData: function(key,iv,encryptedData){
    var processData = WXBizDataCrypt.decode(key,iv,encryptedData);
    console.log("解密数据: ",processData);
    var jsonObj = JSON.parse(processData);
    this.setData({
      phoneNum: jsonObj['phoneNumber']
    })
  },
})
Salin selepas log masuk

2.4.2 getphonenumber.wxml pelaksanaan

<!--pages/getphonenumber/getphonenumber.wxml-->
<button type="primary"  bindgetphonenumber="getPhoneNumber" open-type=&#39;getPhoneNumber&#39;>获取手机号码</button>
<text>获取到的手机号码:{{phoneNum}}</text>
Salin selepas log masuk

Pada ketika ini, proses pengekodan telah selesai. Nota: Dalam keadaan biasa, mendapatkan jscode2session dilaksanakan pada bahagian pelayan Di sini saya melaksanakan semua mendapatkan sessionKey pada applet. Rujuk pautan laman web rasmi program mini:

3 Rendering operasi

Klik untuk mendapatkan nombor telefon bimbit:

Analisis ringkas amalan pembangunan program mini: cara mendapatkan nombor telefon mudah alih

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !

Atas ialah kandungan terperinci Analisis ringkas amalan pembangunan program mini: cara mendapatkan nombor telefon mudah alih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:juejin.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan