vue 微信小程序 uniapp 微信头像上传裁剪功能

效果如图:

在这里插入图片描述
操作流程:
个人中心–点击设置头像–选择图片-裁剪–选取–上传

template

<view class="meilan" style="position: relative;"><u-row justify="space-between"><u-col span="3">设置头像</u-col><u-col span="8"><view class="picselect"><view class="usernameyang"><view class="user-img"><image :src="userImg" mode="" v-if="userImg !=null"></image><image :src="userImg" mode="" v-else></image></view></view></view></u-col><u-col span="1"><u-icon name="arrow-right"></u-icon></u-col></u-row><cropper selWidth="660rpx" selHeight="660rpx" @upload="myUpload"  avatarStyle="width:100%;height:110rpx;position:absolute;top:0rpx;left:0px;"></cropper>
</view>

script

<script>
//引入组件
import cropper from "@/packageMy/facecropper.vue"
export default {onLoad(options) {this.getUserInfo()},components: {cropper},data() {return {userinfo:{},userImg:null};},methods:{//查看当前用户信息getUserInfo() {uni.showLoading();this.$api.task.roleIdList().then(res => {uni.hideLoading();this.userinfo = res.data.sysUser;if(res.data.sysUser.avatar){//用户头像this.userImg = res.data.sysUser.avatar}else{this.userImg = null}})},//上传返回图片myUpload(rsp) {const self = this;self.userImg = rsp.path;this.gosubmit()},gosubmit(){let imgData= {avatar: this.userImg}this.$api.mine.addImg(imgData).then(res => {uni.hideLoading();if (res.code == 1) {uni.showToast({title:"图片上传失败",icon:"none"})return}if (res.code == 0) {uni.showToast({title:"图片上传成功",icon:"none"})setTimeout(function() {uni.switchTab({url:"/pages/mine/mine"})}, 1000);}})}}
}
</script>

组件文件
facecropper.vue 点击此处

style

.picselect{position: relative;margin: 0 auto;text-align: center;
}
.usernameyang{width: 100%;height: 110rpx;line-height: 110rpx;box-sizing: border-box;text-align: right;padding-right: 20rpx;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: 30rpx;color: #333;
}
.user-img{width: 80rpx;height: 80rpx;border-radius: 8rpx;float: right;margin-top: 17rpx;
}
.user-img image{width: 100%;height: 100%;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/838130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nn.BatchNorm中affine参数的作用

在PyTorch的nn.BatchNorm2d中&#xff0c;affine参数决定是否在批归一化&#xff08;Batch Normalization&#xff09;过程中引入可学习的缩放和平移参数。 BN层的公式如下&#xff0c; affine参数决定是否在批归一化之后应用一个可学习的线性变换&#xff0c;即缩放和平移。具…

冒险岛vcruntime140_1.dll无法继续执行代码要怎么处理?教你一键修复vcruntime140_1.dll

当你在玩着冒险岛的时候&#xff0c;突然弹出一个vcruntime140_1.dll无法继续执行代码&#xff0c;这时候你是不是一脸懵逼&#xff1f;不知道怎么去解决&#xff1f;其实不需要担心&#xff0c;这是一个小问题&#xff0c;vcruntime140_1.dll文件是一个非常常用的dll文件&…

STM32最小系统

组件描述主控芯片STM32F103C8T6等时钟源外部晶体振荡器或者陶瓷谐振器&#xff0c;通常在4MHz到25MHz之间复位电路包括复位按钮和复位电路&#xff0c;用于将单片机置于初始状态电源电路提供稳定的电压&#xff0c;通常为3.3V或5V编程/调试接口SWD接口或JTAG接口等&#xff0c;…

JavaScript基础知识强化:变量提升、作用域逻辑及TDZ的全面解析

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 ⭐️ 引言&#x1f3af; 变量提升(Hoisting)&#x1f47b; 暂时性死区&#xff08;Temporal Dead Zone, TDZ&#xff09;解释&#x1f4e6; var声明&#x1f512; let与const声明&#x1f4d6; 函数声明 与 函数表达式函数声…

JavaScript-BOM编程

BOM对象 1 什么是BOM2 window对象的常见属性3 window对象的常见方法4 通过BOM编程控制浏览器行为演示5 通过BOM编程实现会话级和持久级数据存储 1 什么是BOM BOM是Browser Object Model的简写&#xff0c;即浏览器对象模型。 BOM由一系列对象组成&#xff0c;是访问、控制、修…

【网络安全】【Frida实战案例】某图xx付费功能逆向分析(二)

文章目录 一、目标应用二、环境三、步骤1、重打包2、运行打包后apk3、找到签名信息&#xff08;1&#xff09;、查看apk签名信息&#xff08;2&#xff09;、hook Android方法获取apk签名信息&#xff08;3&#xff09;、转为md5验证 4、hook apk签名信息 四、总结五、相关源码…

Learn Next.js(浅全栈)

Learn Next.js 中文教程

Pytorch代码基础—张量

Pytorch代码—张量 Pytorch张量 张量的属性&#xff1a; data&#xff1a;被包装的Tensorgrad&#xff1a;data的梯度grad_fn:创建Tensor的Function&#xff0c;是自动求导的关键requires_grad&#xff1a;指示是否需要梯度isleaf&#xff1a;指示是否是叶子结点&#xff0…

2.4 IDEA开发词频统计项目

文章目录 2.4.1 词频统计准备工作2.4.2 本地模式运行Spark项目2.4.3 集群模式运行Spark项目 2.4.1 词频统计准备工作 2.4.2 本地模式运行Spark项目 2.4.3 集群模式运行Spark项目

Etsy和其他平台的不同之处

Etsy平台每月的访问量大概是3.9亿&#xff0c;活跃用户有近9000万。区别于现在大部分的电商平台都是以快消产品为主&#xff0c;产品竞争激烈&#xff0c;而Etsy平台售卖的定制性原创产品便脱颖而出&#xff0c;更受消费者欢迎。 Etsy可以说是一个线上市场&#xff0c;提供一个…

AI预测福彩3D采取887定位大底=23策略+杀断组+杀组选+杀和尾+杀和值012缩水测试5月15日预测第1弹

昨天与一位玩3D的彩友通过视频直播的形式聊了下&#xff0c;受益匪浅&#xff0c;给我提供了一些比较有价值的建议&#xff0c;比如&#xff0c;对于887的定位策略&#xff0c;方向是没问题的&#xff0c;但是8873的话&#xff0c;还是缺乏一定的命中率&#xff0c;如果88723&a…

静态IP地址:网络通信的稳定之锚

在数字化时代&#xff0c;网络通信是企业运营和个人生活不可或缺的一部分。而在这个过程中&#xff0c;IP地址扮演着至关重要的角色。静态IP地址&#xff0c;作为一种特殊的网络配置&#xff0c;为网络通信提供了稳定性和可靠性。本文将从五个方面深入探讨静态IP地址的重要性、…

二进制部署k8s---下篇

一 master02 节点部署 1 先在master01 添加映射master02 对master02进行环境初始化 3 从 master01 节点上拷贝证书文件、各master组件的配置文件和服务管理文件到 master02 节点 scp -r /opt/etcd/ root192.168.11.12:/opt/ scp -r /opt/kubernetes/ root192.168.11.12:/opt…

贪心算法----最大数

今日题目&#xff1a;leetcode179------点击跳转题目 分析&#xff1a; 要把这些数组组成最大的数&#xff0c;首先我们把数字转化为字符串&#xff0c;根据自定义的排序规则把这些字符串字数排列&#xff0c;再用一个字符串接受这些字符串数字拼接成最大的字符串数字 排序规则…

秋招算法复习——5/15——三数之和

文章目录 问题描述思路分析实现代码分析与总结 问题描述 思路分析 三个之和为零&#xff0c;即a b c 0 &#xff0c;将这个拆解为b c -a &#xff0c;那就变成了两数之和问题。两重指针的模版来解决。 虽然列表中存在重复的数字&#xff0c;但是结果不允许存在重复的组合…

Find My OBD|苹果Find My技术与OBD结合,智能防丢,全球定位

OBD是英文On-Board Diagnostics的缩写&#xff0c;中文翻译为“车载自动诊断系统”。这个系统将从发动机的运行状况随时监控汽车是否尾气超标&#xff0c;一旦超标&#xff0c;会马上发出警示。当系统出现故障时&#xff0c;故障(MIL)灯或检查发动机(Check Engine)警告灯亮&…

电脑压缩图片怎么压缩?简单高效的压缩技巧

当我们将一些图片上传到各大网站的时候&#xff0c;经常会被提示图片大小超过网站的限制而被禁止上传&#xff0c;其实这是网站的一种防御措施&#xff0c;防止大量体积太大的图片占用了网站服务器的存储空间&#xff0c;从而影响用户体验&#xff0c;所以为了解决这个问题&…

vivo上下而求索

为一台手机&#xff0c;消费者能期待一整年。今天&#xff0c;在数码圈能有这种待遇的品牌&#xff0c;也许只有两个&#xff1a;苹果&#xff0c;以及vivo。 5月13日晚&#xff0c;vivo召开“影像新蓝图暨X系列新品发布会”&#xff0c;正式带来vivo X100s、vivo X100s Pro和v…

纯血鸿蒙APP实战开发——阅读翻页方式案例

介绍 本示例展示手机阅读时左右翻页&#xff0c;上下翻页&#xff0c;覆盖翻页的功能。 效果图预览 使用说明 进入模块即是左右翻页模式。点击屏幕中间区域弹出上下菜单。点击设置按钮&#xff0c;弹出翻页方式切换按钮&#xff0c;点击可切换翻页方式。左右翻页方式可点击翻…

python高级爱心代码

python高级爱心代码实现&#xff1a; import turtle import random # 设置画布 screen turtle.Screen() screen.bgcolor("black") # 创建画笔 pen turtle.Turtle() pen.speed(0) pen.color("red") pen.penup() # 移动画笔到起始位置 pen.goto(0, -20…