微信小程序自定义授权弹框

本文介绍了因微信接口调整导致的用户授权问题,提出通过自定义弹框组件解决授权按钮在页面上的不协调感。详细阐述了解决方案,包括新建components目录,创建dialog组件的相关文件(json, js, wxml, wxss),并在首页或我的页面进行授权检测的实现步骤。最终展示自定义弹框的效果,并提供相关参考链接。" 53448098,5746911,理解C语言中的数组特性,"['C语言', '数组操作', '指针', '内存管理', '编程基础']
摘要由CSDN通过智能技术生成

前言

最近微信获取用户信息的接口有调整,就是这货:wx.getUserInfo(OBJECT),文档描述如下:

 此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button open-type="getUserInfo"></button> 引导用户主动进行授权操作
 1.当用户未授权过,调用该接口将直接报错
 2.当用户授权过,可以使用该接口获取用户信息

这就很蛋疼了,以前只需要弹框授权就行了,现在还必须要先按一个按钮,这样的话多了一个操作,多一个按钮感觉很别扭,放在页面上哪里都不合适,
评论区有个图亮了:
image

解决方案

无缘无故在页面上多了一个按钮,只是为了引导用户授权,加在哪里都会觉得和页面内容格格不入。
那就弹一个框提示吧,虽然连续两个弹框也很怪,但是个人觉得比页面多一个按钮好一点。

微信自己定义的弹框交互并不适合授权这个场景,那就想到自定义一个弹框组件来解决。

实现

新建 components 目录文件如下:
image

dialog.json 文件内容:

{
  "component": true,  // 自定义组件必须先声明
  "usingComponents": {}
}

dialog.js 文件内容:

Component({
  options: {
    multipleSlots: true // 在组件定义时的选项中启用多slot支持
  },
  /**
   * 组件的属性列表
   */
  properties: {
    // 弹窗标题
    title: {          
      type: String,     
      value: '标题' // 默认值
    },
    // 弹窗内容
    content :{
      type : String ,
      value : '弹窗内容'
    },

    // 弹窗确认按钮文字
    confirmText :{
      type : String ,
      value : '确定'
    } 
  },

  /**
   * 组件内私有数据
   */
  data: {
    // 弹窗显示控制
    isShow:false
  },

  /**
   * 组件的公有方法列表
   */
  methods: {

    //隐藏弹框
    hideDialog(){
      this.setData({
        isShow: !this.data.isShow
      })
    },
    
  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值