1.uniapp处理图片二进制流
uni.request({
url: "http://192.168.2.8:8080/common/download?name="+`${this.vuex_user.avatar}`,
responseType:"ArrayBuffer",
success: (res)=>{
const imgsb = res.data;
this.imgUrl = 'data:image/jpeg;base64,'+uni.arrayBufferToBase64(imgsb)
}
})
2.头像照片的上传和修改
//点击头像旁边小图标
click(index) {
//选择相机还是相册
uni.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['camera', 'album'], //这要注意,camera掉拍照,album是打开手机相册
success: (res) => {
console.log(res);
this.imgUrl = res.tempFiles[0].path; //src需要的参数名字
const tempFilePaths = res.tempFilePaths;
//选择完照片去上传
uni.uploadFile({
url: 'http://192.168.2.8:8080/common/upload', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'file',
formData: {
'user': 'test'
},
//上传成功后将图片修改
success: (uploadFileRes) => {
//传递修改的数据需要是名称,而不是路径
const urls = JSON.parse(uploadFileRes.data).data
const params = {
avatar: urls
}
this.$u.api.changeUser(params).then(res => {
console.log(res);
})
}
});
}
})
}
3.在uniapp中获取当前路由
let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
let curRoute = routes[routes.length - 1].route // 获取当前页面路由,也就是最后一个打开的页面路由
4.下拉内容
data() {
return {
show: false, //模态框的状态
checked: false, //关闭渠道的状态
content: "关闭后,用户将不能使用支付宝(1.1)进行充值!"
}
},
methods: {
//点击switch开关选择器
clickFn() {
if (this.checked) {
this.show = true;
} else {
uni.showToa