uniapp获取微信昵称和头像

简介: uniapp获取微信昵称和头像

可以参考官方文档的示例 根据API调试进行获取 uni-app官网 (dcloud.net.cn)

多的不说 直接上示例看看我的代码

HTML部分

简单的搞了一个样式 样式就不用了多说了吧?

<template>
  <view class="login">
    <image :src="avatarUrl" mode=""></image>
    <view class="nickname">
      <text>昵称:</text>
      <input type="nickname" class="weui-input" :value="nickName" @blur="bindblur" placeholder="点击获取昵称"
        @input="bindinput" />
    </view>
    <button type="balanced" open-type="chooseAvatar" @chooseavatar="chooseAvatar">获取头像</button>
    <button @click="onSubmit">授权登录</button>
  </view>
</template>

JS部分

<script>
  export default {
    data() {
      return {
        nickName: '',
        avatarUrl: 'https://pic.imgdb.cn/item/648448141ddac507ccf110ca.png',
        activeRadio: ''
      }
    },
    methods: {
      bindblur(e) {
        // console.log(e);
        this.nickName = e.detail.value; // 获取微信昵称
      },
      bindinput(e) {
        // console.log(e);
        this.nickName = e.detail.value; //这里要注意如果只用blur方法的话用户在输入玩昵称后直接点击保存按钮,会出现修改不成功的情况。
      },
      chooseAvatar(e) {
        console.log(e);
        this.avatarUrl = e.detail.avatarUrl
        uni.login({
          "provider": "weixin",
          // "onlyAuthorize": true, // 微信登录仅请求授权认证
          success: function(run) {
            // console.log(run);
            const {
              code
            } = run
            console.log(code);
            //客户端成功获取授权临时票据(code),向业务服务器发起登录请求。
            uni.request({
              url: '地址链接',//这里用自己的地址获取
              method: 'POST',
              data: {
                code: code
              },
              success: (res) => {
                //获得token完成登录
                console.log(res.data.openid);
                uni.setStorageSync('token', res.data.openid)
              }
            });
          },
          fail: function(err) {
            // 登录授权失败  
            // err.code是错误码
          }
        })
        let {
          avatarUrl
        } = e.detail;
        uni.showLoading({
          title: '加载中',
          duration: 1000
        });
      },
      onSubmit() {
        //这里是提交事件 根据自己的情况写
      }
    }
  }
</script>

这是我的效果图 样式随便写了一个 仅供参考

相关文章
|
2月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
365 3
|
2月前
|
移动开发 小程序 数据可视化
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
58 2
|
2月前
|
存储 移动开发 小程序
uniapp富文本editor输入二次扩展兼容微信小程序
uniapp富文本editor输入二次扩展兼容微信小程序
96 0
|
2月前
|
小程序
uniapp实现微信小程序隐私协议组件封装
uniapp实现微信小程序隐私协议组件封装
57 0
|
4月前
|
移动开发 小程序 前端开发
|
4月前
|
小程序 前端开发
|
4月前
|
存储 前端开发 安全
|
4月前
|
存储 小程序 JavaScript
|
4月前
|
开发工具 Android开发
|
5月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
91 7