uniapp抖音小程序一键获取用户手机号的示例代码

 更新时间:2024年12月26日 11:54:37   作者:还这么多错误?!  
文章介绍了如何在uniapp抖音小程序中通过点击按钮一键获取用户手机号,encryptedData和iv通过点击按钮回传,后端部分通过解密获取手机号,感兴趣的朋友一起看看吧

前端部分

点击按钮,获取手机号

<button class="button" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">一键获取</button>

传入sessionKey和encryptedData、iv

其中sessionKey是通过登录时,调用抖音接口https://developer.toutiao.com/api/apps/v2/jscode2session获得

encryptedData、iv则通过点击按钮回传的事件参数

  getPhoneNumber(e) {
    if (e.detail) {
      if (e.detail.errMsg == "getPhoneNumber:fail auth den") {
        uni.showToast({
          title: '小程序通过试运营期,才能一键获取手机号',
          icon: 'none'
        });
      }
      this.getUserPhone(e.detail)
    } else {
      this.hasPhoneValue = false
    }
  },
  async getUserPhone(query) {
    // douyin-ad-1ddba+123456 /admin/dyinAd/answerAd
    let Authorization = this.$user.token || "none Authorization";
    let http_url = this.$config.base_url + '/app/user/login/getDyPhone'
    let http_data = {
      sessionKey: this.$user.sessionKey,
      encryptedData: query.encryptedData,
      iv: query.iv,
      "admin": this.$config.admin,
    }
    let http_header = {
      Authorization
    }
    let result = await this.$http.post(http_url, http_data, http_header, 'json')
      .then(async (res) => {
        if (res && res.data) {
          let phone = {}
          Object.assign(phone, JSON.parse(res.data))
          this.formPhone = phone.phoneNumber
        }
      })
      .catch((err) => {
      });
  },

后端部分

解密手机号

async getDyPhone(query){
    const decipher = crypto.createDecipheriv(
      "aes-128-cbc",
      Buffer.from(query.sessionKey, "base64"),
      Buffer.from(query.iv, "base64")
    );
    let ret = decipher.update(query.encryptedData, "base64", 'utf8');
    ret += decipher.final('utf8');
    return ret;
  }

到此这篇关于uniapp抖音小程序一键获取用户手机号的示例代码的文章就介绍到这了,更多相关uniapp抖音小程序获取用户手机号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • D3.js实现直方图的方法详解

    D3.js实现直方图的方法详解

    直方图在我们平常的时候经常见到,那么这篇文章给大家介绍了下如何使用D3.js实现直方图,文中通过实例介绍的很详细,有需要的朋友们可以参考借鉴。
    2016-09-09
  • JavaScript工具库Lodash的使用方法详解

    JavaScript工具库Lodash的使用方法详解

    Lodash是一个可以提高开发者效率、提高原生JS方法性能的JavaScript第三方实用工具库这篇文章主要介绍了JavaScript工具库Lodash使用方法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-10-10
  • 解决layUI的页面显示不全的问题

    解决layUI的页面显示不全的问题

    今天小编就为大家分享一篇解决layUI的页面显示不全的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JS实现的数组去除重复数据算法小结

    JS实现的数组去除重复数据算法小结

    这篇文章主要介绍了JS实现的数组去除重复数据算法,总结分析了4种比较常见的数组去重复算法及相关使用技巧,需要的朋友可以参考下
    2017-11-11
  • javascript制作的滑动图片菜单

    javascript制作的滑动图片菜单

    本文给大家分享的是一款javascript制作的很漂亮的js滑动导航菜单,鼠标经过立即快速滑动切换显示。有需要的小火把可以参考下。
    2015-05-05
  • 微信小程序实现的3d轮播图效果示例【基于swiper组件】

    微信小程序实现的3d轮播图效果示例【基于swiper组件】

    这篇文章主要介绍了微信小程序实现的3d轮播图效果,结合实例形式分析了微信小程序基于swiper组件相关属性设置、事件响应操作技巧,需要的朋友可以参考下
    2018-12-12
  • 微信小程序长按识别二维码的几种情况分析

    微信小程序长按识别二维码的几种情况分析

    最近接到需求,在小程序内部长按识别二维码添加个人微信,下面这篇文章主要给大家分析介绍了关于微信小程序长按识别二维码的几种情况,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Bootstrap Table从零开始

    Bootstrap Table从零开始

    Bootstrap Table从零开始,这篇文章主要介绍了Bootstrap Table的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • JavaScript中清空数组的几种方法

    JavaScript中清空数组的几种方法

    本文主要介绍了JavaScript中清空数组的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • js运算符的一些特殊用法

    js运算符的一些特殊用法

    这篇文章主要介绍了js运算符的一些特殊用法,需要的朋友可以参考下
    2018-07-07

最新评论