微信小程序无法获取头像,昵称的解决办法 (原生)

2023-11-08

最新发布的微信小程序已经无法获取头像和昵称,那么如何解决这个问题呢?

其实很简单,新用户注册后,提示跳转到新页面,要求修改昵称和头像即可。

<import src="../temp.wxml"></import>
<template is="nav_top" data="{{nav}}"></template>

<view class="main_top" style="padding-top: {{nav.top+nav.safe_top+15}}px;"></view>

<view class="warn">{{info.warn}}</view>

<view class="box">
<view class="logo">
<view><view class="image" style="background: url({{user.logo}}) no-repeat center;background-size: cover;" ></view><text class="icon icon-bianji"></text>
<button open-type="chooseAvatar" bindchooseavatar="save_logo"></button>
</view>

</view>

<view class="l">
<input type="nickname" placeholder="我的昵称" value="{{user.nickname}}" data-val="{{user.nickname}}" bindblur="val_change" data-c="nickname"></input>
</view>


<view class="l">
<text>联系电话</text>
<input  placeholder="联系电话" value="{{user.phone}}" data-val="{{user.phone}}" bindblur="val_change" data-c="phone" style="text-align: left;font-size: 17px;" disabled="true"></input>
<text style="position: absolute;right: 0;left:auto;color: #00a47c;">获取电话
</text>
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber" style="position: absolute;height: 40px;width:60px;z-index: 100;opacity:0;right: 0;top: 0;" ></button>
</view>
<view class="l" style="padding-right: 0;"><text>所在城市</text>
<picker mode="region" value="{{region?region:''}}" bindchange="region_change" class="region">
<view>{{user.dist?(user.dist):'未选择默认城市'}}
<text class="icon icon-chevron-right"></text>
</view>
</picker>
</view>

</view>


var app = getApp()
var fun = require('../fun.js');
Page({
  data: {
    nav:{top:app.globalData.nav_top,title:'我的信息',home:'show',back:'show',safe_top:app.globalData.safe_top,page:'my',no_data:'您还没有购买记录'},page:1,can_load:1,
  },

   onLoad(op) {

   },

   onReady() {
this.load();
var pages=getCurrentPages();
this.setData({page_num:Object.keys(pages).length})
   },


   onShow() {
if(app.globalData.flash==1){this.load();app.globalData.flash=0;}
   },

   load() {
fun.get({ac:'get_my_info'}).then(res=>{
   var region;
   if(res.user.pro){
      region=[res.user.pro,res.user.city,res.user.dist]
   }
   this.setData({user:res.user,info:res.info,set:res.set,region:region})
})
   },
save_logo(e){
console.log(e)
var user=this.data.user;
var save_data=this.data.save_data;if(!save_data){save_data={}}
var that=this;
var url=e.detail.avatarUrl;
user.logo=url;
//that.setData({user:user});
wx.showLoading({
  title: '头像上传中,请稍后...',
})
setTimeout(function(){wx.hideLoading()},1500)
var data={tempFilePath:url,size:0,c:'logo',}
fun.upload(data).then(res=>{
  user.logo=res.img_240;
  that.setData({user:user});
  save_data.logo=res.img_240;
  that.data.save_data=save_data;
that.save()

})

   },

   save() {
var save_data=this.data.save_data;
if(!save_data){return;}
if(Object.keys(save_data).length==0){return}
fun.get({ac:'user_change',data:JSON.stringify(save_data)}).then(res=>{
  wx.hideLoading();
  this.data.save_data={}
  app.msg('保存成功');
  this.load();
  app.globalData.flash=1;
})
   },
   val_change(e){
var val=e.detail.value;
var c=e.currentTarget.dataset.c;
var save_data=this.data.save_data;if(!save_data){save_data={}}
save_data[[c]]=val;
this.data.save_data=save_data;
this.save()
   },
   region_change(e){
var region=e.detail.value;
if(!app.globalData.region){
   app.globalData.region=region;
   try {
      wx.setStorageSync('region',region);
      } catch (e) { }  
}
if(!app.globalData.area){
   app.globalData.area=region[2];
   try {
      wx.setStorageSync('area',region[2]);
      } catch (e) { }
}

var save_data=this.data.save_data;
if(!save_data){save_data={}}
save_data['pro']=region[0];save_data['city']=region[1];save_data['dist']=region[2];
this.data.save_data=save_data;
this.save();

   },


   getPhoneNumber(e){
    console.log('获取手机号',e.detail.errMsg,e.detail);
    var user=this.data.user;
    if(e.detail.errMsg=='getPhoneNumber:fail user deny'){
       this.back();return;
    }else{
    fun.get({ac:'get_phone',code:e.detail.code}).then(res=>{
 //获取成功后 则缓存状态
 if(res.phone){
user.phone=res.phone;
this.setData({user:user});
var save_data=this.data.save_data;if(!save_data){save_data={}}
save_data.phone=res.phone;
this.data.save_data=save_data;
this.save();
 }
    })
    }
    //this.back();
   },


   onReachBottom() {

   },


   onShareAppMessage() {

   },go(e){ wx.navigateTo({url: e.currentTarget.dataset.url})},
   back(e){var page_num=this.data.page_num;
      if(page_num==1){this.home();}else{wx.navigateBack({delta:1})}},
   home(e){ wx.reLaunch({url: '/pages/index/index'})},
   rgo(e){wx.redirectTo({url: e.currentTarget.dataset.url})},
   login: function (e) {wx.navigateTo({url: '/pages/login/index',})},
   win_open(e){var c=e.currentTarget.dataset.c;this.setData({[c]:'show'})},//打开窗口
   win_close(e){var c=e.currentTarget.dataset.c;this.setData({[c]:''})},//关闭窗口
})
.main_top{float: left;width: 100%;background: #fff;}
.warn{float: left;width: 100%;padding: 10px;color: crimson;background: rgb(250, 218, 225);}
page{background: #fff;}
.box{float: left;width: 100%;background: #fff;padding:15px;margin-top: 15px;}

.logo{float: left;width: 100%;display: flex;justify-content: center;}
.logo view{float: left;width:80px;height: 80px;}
.logo .image{float: left;width: 100%;height: 100%;border-radius: 50%;border: 5px solid #ccc;}
.logo  text{position: absolute;top:0px;right: 0px;background: #fff;width:24px;height: 24px;border-radius: 50%;font-size: 12px;text-align: center;line-height:18px;border:3px solid #eee;}
.logo  button{position: absolute;width:100%;height: 100%;z-index: 100;opacity: 0;}

.l{float: left;width: 100%;margin-top:20px;padding-left:80px;padding-right:80px;font-size: 18px;}
.l input{float: left;width: 100%;height: 40px;line-height: 40px;font-size: 20px;text-align: center;}
.l text{position: absolute;left:0;height: 40px;line-height: 40px;}
.l .region{float: left;width: 100%;height: 40px;line-height: 40px;padding-right: 30px;text-align: right;}
.l .icon{right: 0;left: auto;font-size: 30px;}
.l .region view{float: left;width: 100%;padding-right: 30px;}

本代码为原生代码,提供思路与解决办法,后端请自行编写.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序无法获取头像,昵称的解决办法 (原生) 的相关文章

随机推荐

  • HDFS副本放置策略

    前言 前一篇文章中刚刚分析完HDFS的异构存储以及相关的存储类型选择策略 浏览量还是不少的 说明大家对于HDFS的异构存储方面的功能还是很感兴趣的 但是其实一个文件Block块从最初的产生到最后的落盘 存储类型选择策略只是其中1步 因为存储
  • java 对应sql驱动版本_有关sqlserver的 jdbc驱动版本整理

    原标题 有关sqlserver的 jdbc驱动版本整理 皕杰报表创建sqlserver数据库的时候 需要加载sqlserver jdbc驱动 有些时候你需要了解不同版本的sqlserver的 jdbc驱动是哪个 1 Microsoft JD
  • 知识图谱简介及应用

    知识图谱由谷歌最早提出提升其搜索质量 在当前的人工智能大数据时代 知识图谱作为重要的知识表示方式之一 为机器语言认知提供了丰富的背景知识 使得机器对人类自然语言的理解更加精确 知识图谱本质上是语义网络 semantic network 的知
  • 最详细的python安装教程,小白建议收藏

    python安装是学习pyhon第一步 很多刚入门小白不清楚如何安装python 今天我来带大家完成python安装与配置 跟着我一步步来 很简单 你肯定能完成 咱们先一起来看看今天的主要内容 1 安装Python 2 编写第一个 Hell
  • emacs下类似Visual Assist 的工具:cscope(代码中穿梭)

    先前在VC6中都用习惯了那个小助手Visual Assist ctr g就到了函数定义 在emacs下当然也想用这个功能 在网上搜了下 经过试验感觉蛮好用的 1 首先到 http cscope sourceforge net 下载 csco
  • 「一体化信息建设」,江苏人社如何完成数据安全管控(建设篇)

    2019 年 江苏省人社厅正式启动全省人社一体化信息平台建设项目 省人社一体化信息平台基于全省统一的人社业务标准 规范 流程和数据体系 以群众需求为导向 以省集中建设为重点 以云平台架构为基础 采用人社部 LEAF6 2 中台架构 目标建设
  • 百度高级搜索语法

    方法一 嫌麻烦或记不住的话可以采用这种方法 在百度首页直接点击右上角的 设置 高级搜索 在弹出的对话框中按提示填入搜索信息 方法二 采用高级语法进行搜索 具体语法如下 intitle 搜索范围限定在网页标题 网页标题通常是对网页内容提纲挈领
  • C# 读取数据库中时间,毫秒丢失的情况总结

    if row AddDate null row AddDate ToString model AddDate DateTime Parse row AddDate ToString 用动软直接生成以上代码会发现在读取日期时精度丢失毫秒 比如
  • 数据结构与算法基础知识整理

    目录 1 数据结构 8种数据结构 2 排序 8种排序 3 查找 7种查找 4 树 5 图 BFS DFS 最小生成树 最短路径 一 数据结构 1 顺序表和链表 顺序表使用数组实现 采用一组地址连续的存储单元 数组大小有两种方式指定 一是静态
  • C# 两种求平方根的方法 随机法 二分法

    自己发明的方法 效率不高 纯属娱乐 有点类似于蒙特卡洛算法 但是有记忆 private double TQSqrt double X 建立一个数列来存储结果 List
  • Keil编译*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS

    这个提示原因是工程中定义了函数但程序中没有被调用出现的提示 解决方法 步骤1 步骤2 设置完再次编译 编译器自动把没有调用到的函数屏蔽掉
  • Nature发文:LK-99不是超导体(附链接)

    来源 新智元 本文约3500字 建议阅读7分钟Nature刊文梳理LK 99不是超导体的证据 科学界已经开始总结经验教训 导读 这次真的实锤了 Nature刊文梳理LK 99不是超导体的证据 科学界已经开始总结经验教训 连续多日的室温超导疑
  • spring boot打包发布后修改端口和配置不起作用

    在开发环境好好的 发布到服务器后改了下端口怎么改都不正常 还是用的开发环境配置的端口号 pom xml中的配置如下
  • 引导页源码全开源解密带后台超漂亮音乐+客服+多模板

    源码介绍 话不多说 全新的 自适应 采用器 可自己歌单 接的的云客服 1 新增6套 2 增加后台 3 上传 4 新增多种片 5 弹出公告 6 适配seo优化 网盘下载地址 http www bytepan com t2mfGXzODQN 图
  • 什么是网关,网关的作用是什么?

    网关 Gateway 又称网间连接器 协议转换器 网关在传输层上以实现网络互连 是最复杂的网络互连设备 仅用于两个高层协议不同的网络互连 网关的结构也和路由器类似 不同的是互连层 网关既可以用于广域网互连 也可以用于局域网互连 网关是一种充
  • powershell notes II

    学习疑问 1 如何任意显示某个对象的method并使用它呢 已结 2 获取可卸载程序的命令行字卸载符串该怎么在powershell中使用呢 一 PowerShell常用快捷键F7 显示曾经输入的命令历史记录 用上下箭头可逐个选定再次执行 A
  • node 升版本

    不用命令 不用nvm的傻瓜式教程 前端项目之前一直用的node14版本 结果clone下一个开源项目需要15以上的版本 这就需要升级了 第一步 直接从官网上下载需要的版本 我下载的是免安装的压缩包 官网地址 Node js 下载完成后解压放
  • 17_外部中断实验

    目录 外部中断概述 外部中断的一般配置步骤 硬件连接图 实验源码 中途遇到问题printf打印中文乱码 外部中断概述 STM32F1的每个IO口都可以作为外部中断输入 STM32F1的中断控制器支持19个外部中断 事件请求 线0 15 对应
  • Android Studio 如何设置logcat(控制台)的缓存大小,增加logcat控制台条数

    在一些比较大型的项目Logcat条数会很多 由于LogCat控制台经常刷新 速度太快导致之前的日志被冲洗掉 这里教大家一个方法 可以避免这种情况发生 改下logcat的缓存 缓冲区 大小 做到显示更多的LogCat日志 1 去找你所安装的A
  • 微信小程序无法获取头像,昵称的解决办法 (原生)

    最新发布的微信小程序已经无法获取头像和昵称 那么如何解决这个问题呢 其实很简单 新用户注册后 提示跳转到新页面 要求修改昵称和头像即可