微信小程序获取手机号登陆(目前微信获取手机号功能已经收费,体验版+正式版1000次免费使用)

微信小程序调用微信api直接获取用户手机号(使用open-type)

注意目前微信小程序防止强制性登陆,应当在用户查看小程序功能后才能让用户登陆,否则微信审核会不通过
前端界面如下:
在这里插入图片描述

wxml代码
<!--pages/login/login.wxml-->
<view class="login_container">
    <view class="content" wx:if="{{ !agreementShow && !AntiFraudShow && !illegalShow}}">
        <image src="{{logoUrl}}"></image>
        <button class="login" bindtap="login">登录/注册</button>
        <button open-type="getPhoneNumber" class="get_phone" bindgetphonenumber="handlePhoneLogin">微信手机号快捷登录</button>
    </view>
</view>
js代码
// pages/login/login.js
import {get_phone,login} from '../../assets/api/login'
import APIConfig from "../../config/api";
Page({

  /**
   * 页面的初始数据
   */
  data: {
    code:'',
    phone:'',
    value:'',
    checked:false,
    team_code:'',// 团队cede
    company_code:'',// 承保公司code
    login_mode:'wx-phone',// 登陆方式--本页面为微信登陆
    logoUrl:`${APIConfig.baseUrl1}/logo/bjtp.png`
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 判断是否存在token--存在则直接跳转到到业务模块页面
    console.log(wx.getStorageSync("token"),'得到的token值');
    if (wx.getStorageSync("token") && wx.getStorageSync("token")  != '')
    return wx.redirectTo({
      url: "/pages/questionList/list",
    });
  },
  handlePhoneLogin:function(e){
    let that = this;
    let token = wx.getStorageSync('token');
    if (token) {
      wx.redirectTo({ url: "/pages/questionList/list" })
    } else {
      that.data.code = e.detail.code
      console.log(e,'获取手机号');
      let param = {
        code:that.data.code
      }
      get_phone(param).then(res=>{
        let phone = res.phone_number
        this.setData({
          phone
        })
        // const form = new FormData();
        // form.append('username',phone)
        // form.append('password',phone)
        let obj = {
          username:that.data.phone,
          password:that.data.phone
        }
        login(obj).then(res=>{
          let token = res.token_type + ' ' + res.access_token
          console.log(token,'存下来的token值');
          wx.setStorageSync('token',token);
          wx.redirectTo({ url: `/pages/questionList/list` })
          })
        })
    }
  },
  //去往注册页面
  login(){
    wx.redirectTo({
      url: '/pages/register/register',
    })
  },
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值