uniapp 小程序,登录上传头像昵称页面处理步骤

登录上传头像 成功前阻塞 处理成功后才跳转回 游戏页面 为了能看见最新上传的头像显示,处理方式是 重新封装base64处理方法为promise 这样可以用await等待,请求后台的方法也等待,等待处理完成后调用跳转页面方法,同时信息上传完成后要跳转的页面的初始钩子事件由onload改为onshow,这个钩子中包含获取缓存中useinfo的处理, 这样每次出来再切换进来都会重新获取新的用户信息。ps 保存请求回来的用户信息并放入缓存是 登录方法login中封装好的

javascript 复制代码
	// 重新封装base64处理方法为promise 这样可以用await等待
	const readFileAsync = (filePath) => {
	  return new Promise((resolve, reject) => {
	    uni.getFileSystemManager().readFile({
	      filePath,
	      encoding: 'base64',
	      success: (res) => resolve(res),
	      fail: (err) => reject(err)
	    });
	  });
	};
	const upLoad = async (isSuccessClose) => {
		const r = await readFileAsync(avatarUrl.value, 'base64');
		console.log('base64转换完成的结果',r.data);
		const avatarUrl_base64 = 'data:image/jpeg;base64,' + r.data
		console.log('avatarUrl_base64 转换完成 ', avatarUrl_base64)
		const res = await myUtils.requestAwait('user/updateUserDetail', {
			nickName: nickName.value,
			avatarUrl: avatarUrl_base64,
			openid: userInfo.value.openid
		})
		if(!isSuccessClose){
			return
		}
		
		console.log('头像上传完成 ', res)
		uni.showToast({
			title: '保存成功',
			icon: 'none', //success 等
			duration: 1000
		});
		console.log('头像后登录')
		const lr =await myUtils.login()
		console.log('登录完成后跳转')
		to1Tab('grid')
		console.log('登录完成跳转完成')
		console.log(' 后加的上传结果恢复  ',res)
		
	}

成功后跳转的页面处理

javascript 复制代码
	onShow(()=>{	
		makeValArr()
		userInfo.value = uni.getStorageSync('userInfo');
		console.log('新 获取完成112 ', userInfo.value.avatarUrl)
	})
相关推荐
特创数字科技1 小时前
uniapp 图片全能处理|全平台支持(鸿蒙、安卓、苹果、web),实现九宫格、水印、滤镜、压缩、拼图
uni-app
2501_916007472 小时前
苹果应用商店App Store上架费用标准及原因解析
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张20 小时前
苹果App Store上架指南:费用、原理与步骤详解
android·ios·小程序·https·uni-app·iphone·webview
特创数字科技1 天前
【uni-app x】告别系统相机限制!三端通用自定义相机组件:任意布局、静默拍照、录像、水印叠加、连拍回图一次搞定
前端·数码相机·uni-app
Martin -Tang1 天前
uniapp app嵌套webview 弹窗方式
android·ios·uni-app
paopaokaka_luck1 天前
个人综合管理小程序(echarts数据看板、健康数据记录与趋势查看、目标拆解和进度管理、日程待办与番茄钟、习惯打卡、收支统计、个人生活记录、跨模块智能提醒)
前端·javascript·spring·小程序·数据分析·echarts·生活
m0_587383002 天前
广州24小时自助健身房解决方案实战指南与系统部署要点
java·spring·小程序·架构·需求分析
郑州光合科技余经理2 天前
同城电商系统:库存变更怎么同步到订单
java·开发语言·前端·后端·uni-app·php·ai编程
m0_587383002 天前
西安同城拼车软件开发实战指南:从零搭建高效系统
人工智能·小程序·数据挖掘·系统架构·需求分析
weixin_lynhgworld2 天前
抽取类盲盒小程序的五条合规红线意味着什么?
小程序