微信小程序-button opentype

本文概述了微信小程序中open-type属性的最新发展,包括获取用户手机号、加密用户信息处理、getUserProfile方法的使用,以及授权页面和反馈功能。重点讲解了从2021年4月13日后信息加密和权限获取的注意事项。

open-type=“contact”:打开客服会话窗口

在这里插入图片描述

open-type="share"触发用户转发:不能发送朋友圈

在这里插入图片描述

open-type="getPhoneNumber"获取用户手机号,配合bindgetphonenumber事件使用

我这边的id没认证,暂时不能获取。
获取到的手机号数据是加密后的数据,需要到服务端进行解密,解密后返回

在这里插入图片描述

open-type="getUserInfo"获取用户信息,配合bindgetuserinfo事件进行使用

ps:从21年4.13号之后返回的数据是加密的
在这里插入图片描述

新的获取用户信息方法,任意控件绑定监听事件,调用 wx.getUserProfile方法

官方文档

https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html

  getinfo(){
    wx.getUserProfile({
      desc:"完善个人信息",
      success(e){
          console.log(e);
      }
    })
  },

在这里插入图片描述

open-type="openSetting"打开授权页面

在这里插入图片描述

open-type="feedback"打开意见反馈页面,目前只在真机可以

微信小程序里,要把使用 `button open-type=chooseAvatar` 选择的图片路径转化为二进制数据并发送到后端,可按以下步骤实施: ### 1. 获取图片路径 借助 `button open-type=chooseAvatar` 让用户选择图片,同时在 `bindchooseavatar` 事件里获取图片路径。 ```html <button open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"></button> ``` ### 2. 把图片路径转化为二进制数据 使用 `wx.getFileSystemManager().readFile` 方法将图片路径转化为二进制数据。 ### 3. 把二进制数据发送到后端 利用 `wx.request` 方法把二进制数据发送到后端。 以下是完整的代码示例: ```javascript Page({ data: { avatarUrl: '' }, onChooseAvatar(e) { const avatarUrl = e.detail.avatarUrl; this.setData({ avatarUrl }); this.sendAvatarToBackend(avatarUrl); }, sendAvatarToBackend(avatarUrl) { wx.getFileSystemManager().readFile({ filePath: avatarUrl, success: res => { const binaryData = res.data; wx.request({ url: 'https://your-backend-api-url', method: 'POST', data: binaryData, header: { 'Content-Type': 'application/octet-stream' }, success: response => { console.log('图片上传成功', response); }, fail: err => { console.error('图片上传失败', err); } }); }, fail: err => { console.error('读取图片失败', err); } }); } }); ``` ### 代码解释 1. **获取图片路径**:在 `onChooseAvatar` 方法中,通过 `e.detail.avatarUrl` 获取用户选择的图片路径。 2. **转化为二进制数据**:运用 `wx.getFileSystemManager().readFile` 方法读取图片文件,成功后得到二进制数据 `res.data`。 3. **发送到后端**:使用 `wx.request` 方法把二进制数据发送到后端,设置 `Content-Type` 为 `application/octet-stream`。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值