专栏首页毛毛v5微信小程序云开发获取手机号码

微信小程序云开发获取手机号码

坑爹的baidu出来好多关于微信小程序云开发获取手机号码的例子还都是需要通过code获取sessionkey来解密信息取得手机号码,总感觉哪里不对,企鹅都说了,云开发是自动鉴权的,不应该还要解密啊。于是,试呀试呀,终于试出了正确的通过云函数获取手机号码的流程。 具体如下: 1,页面 cellphone.wxml

<!--miniprogram/pages/my/info/modify/cellphone/cellphone.wxml-->

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">手机号码</button>

2,js cellphone.js

Page({

  /**
   * 页面的初始数据
   */
  data: {

  },
  getPhoneNumber(e) {
    console.log(JSON.stringify(e));
    wx.cloud.callFunction({
      name: 'openapi',
      data: {
        action:'getcellphone',
        id:e.detail.cloudID
      }
    }).then(res => {
      console.log('res: ', res)
    
    })    
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})

3,云函数 openapi 的index.js

// 云函数入口文件
const cloud = require('wx-server-sdk')
//const requestpromise = require('request-promise');
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
  switch (event.action) {
    case 'getcellphone':{
      return getCellphone(event);
    }
    default: {
      return
    }
  }
}

async function getCellphone(event){
  const res = await cloud.getOpenData({
    list: [event.id], // 假设 event.openData.list 是一个 CloudID 字符串列表
  })  
  return {res,event};

}

全程没有code,session_key,和加密解密啥事。就是这么简单。云开发天然鉴权。用什么直接随便拿就行啊。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C#笔记:异步的简单实现

    在.net4.5之后。为了让异步变的更人性化。引入了两个关键字 async 和await.将异步操作从一大堆 beginInvoke 和 endInvoke中解...

    超级大猪
  • python笔记:python中实现异步

    实现异步最经典的方法是起一个线程,然后调用回调函数。在python中的yield关键字,可以简单的切换代码的上下文。这为优雅的实现异步提供了可能。

    超级大猪
  • 由一次线上故障来理解下TCP三握、四挥; Java堆栈分析到源码的探秘

    该服务主要是提供对外的代理接口,大部分接口都会调用第三方接口,获取数据后做聚合处理后,提供给客户端使用。

    黄泽杰
  • 从零开始学习React-在react项目里面使用mock(七)

    从零开始学习React-开发环境的搭建(一) https://www.jianshu.com/p/97f3a1ba168e 从零开始学习React-目录结构...

    祈澈菇凉
  • Java网络编程和NIO详解5:Java 非阻塞 IO 和异步 IO

    本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看

    Java技术江湖
  • 面向接口编程

    我们经常说一个库或者模块对外提供了某某API。通过主动暴露的接口来通信,可以隐藏软件系统内部的工作细节。这也是我们最熟悉的第一种接口含义。

    一粒小麦
  • ES6基础入门之let、const

    首先呢?欢迎大家来学习ES6入门基础let,const的基础知识内容。初始ECMA Script6。

    达达前端
  • python:python中异步的使用姿势

    在python中,可以利用asyncio包异步处理IO等操作,极大的增加吞吐。 asyncio的底层依赖的是一个IOLoop。最简单的用法如下:

    超级大猪
  • pagination使用说明

    下载jquery.min.js 下载jquery.pagination.js 下载pagination.css

    Theone67
  • Python线程、协程探究(二)—— 揭开协程的神秘面纱

    在上一篇中我们主要研究了python的多线程困境,发现多核情况下由于GIL的存在,python的多线程程序无法发挥多线程该有的并行威力。在文章的结尾,我...

    eedalong

扫码关注云+社区

领取腾讯云代金券