开放功能
获取微信头像
- 将 button 组件的 open-type 属性设置为
chooseAvatar
,点击按钮时,会弹出授权窗口,用户可以选择使用微信头像。 - 通过
bindchooseavatar
事件获取头像信息的临时路径。
index.wxml
<button class="btn" open-type="chooseAvatar" bindchooseavatar="handleChooseavatar">
<image class="avatar" src="{{avatarUrl}}" mode="" />
</button>
index.js
Page({
data: {
avatarUrl: '../../images/avatar.png'
},
handleChooseavatar(e) {
const { avatarUrl } = e.detail;
this.setData({ avatarUrl });
}
});
index.wxss
.btn {
background: transparent;
}
.btn::after {
border: none;
}
.avatar {
width: 200rpx;
height: 200rpx;
border-radius: 50%;
}
注意
临时路径是有失效时间的。在实际开发中,需要将临时路径上传到公司的服务器。
获取微信昵称
- 通过 form 组件包裹 input、以及
form-type
为submit
的 button 组件。 - 将 input 的 type 属性设置为
nickname
- 给 form 绑定 submit 事件,获取用户昵称
index.wxml
<form bindsubmit="handleSubmit">
<input type="nickname" name="nickname" class="nickname" placeholder="请输入昵称" />
<button type="primary" plain form-type="submit">提交</button>
</form>
index.js
Page({
handleSubmit(e) {
const { nickname } = e.detail.value;
console.log(nickname);
}
});
index.wxss
.nickname {
height: 60rpx;
margin: 20rpx;
padding-left: 20rpx;
border: 1px solid #179c16;
border-radius: 20rpx;
}
点击输入框后,会弹出键盘,在键盘上面会显示获取昵称。
点击提交按钮后,通过 from 就能获取到用户昵称,然后提交给服务器存储。
转发给好友
在页面的 js 文件中声明onShareAppMessage
事件监听函数。如果未声明,点击页面右上角三个点的菜单图标,会发现无法分享「发送给朋友」。
Page({
onShareAppMessage() {}
});
自定义转发内容
在onShareAppMessage
事件监听函数中返回一个对象,对象中可以设置标题、描述、路径等。
Page({
onShareAppMessage() {
return {
title: '分享的页面',
path: 'pages/index/index',
imageUrl: '../../images/home.png'
};
}
});
分享按钮
除了在菜单栏分享,还可以给 button 组件设置open-type="share"
属性,实现分享按钮。
<button open-type="share">分享给朋友</button>
onShareAppMessage 函数也有一个参数,可以打印查看:
- 如果从 button 触发,打印结果是
{from: "button", target: {…}}
- 如果从右上角菜单触发,打印结果是
{from: "menu", target: undefined}