222 lines
4.8 KiB
JavaScript
222 lines
4.8 KiB
JavaScript
import userAPI from '../../../api/user';
|
|
import commonAPI from '../../../api/common';
|
|
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
list:[],
|
|
scrollViewHeight:0,
|
|
autoBack:false,
|
|
pager:{limit:10,loading:false,loadAll:false,pageIndex:0,refreshTrigger:false},
|
|
|
|
uploadImg:{}
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
const windowInfo = wx.getWindowInfo();
|
|
this.setData({
|
|
autoBack:options.auto_back||false,
|
|
scrollViewHeight:windowInfo.windowHeight
|
|
});
|
|
this.data.pager.loading = false;
|
|
this.data.pager.loadAll = false;
|
|
this.loadList();
|
|
},
|
|
refreshList(){
|
|
this.data.pager.pageIndex = 0;
|
|
this.data.pager.loadAll = false;
|
|
this.setData({
|
|
pager:this.data.pager
|
|
});
|
|
this.loadList();
|
|
},
|
|
loadList(){
|
|
if(this.data.pager.loading||this.data.pager.loadAll){
|
|
return;
|
|
}
|
|
this.data.pager.loading = true;
|
|
this.setData({
|
|
pager:this.data.pager
|
|
});
|
|
userAPI.getPersonImages({
|
|
skip:this.data.pager.limit*this.data.pager.pageIndex,
|
|
limit:this.data.pager.limit
|
|
}).then((data)=>{
|
|
|
|
if(this.data.pager.pageIndex==0){
|
|
this.data.list = data;
|
|
}else{
|
|
this.data.list = this.data.list.concat(data);
|
|
}
|
|
this.data.pager.refreshTrigger = false;
|
|
this.data.pager.loading = false;
|
|
this.data.pager.pageIndex++;
|
|
if(data.length<this.data.pager.limit){
|
|
this.data.pager.loadAll = true;
|
|
}
|
|
|
|
this.setData({
|
|
list:this.data.list,
|
|
pager:this.data.pager
|
|
})
|
|
}).catch(()=>{
|
|
this.setData({
|
|
"pager.loading":false,
|
|
"pager.refreshTrigger":false
|
|
})
|
|
})
|
|
},
|
|
|
|
setDefault(event){
|
|
const item = event.currentTarget.dataset.item;
|
|
const index = event.currentTarget.dataset.index;
|
|
const defaultIndex = this.data.list.findIndex((item)=>item.is_default);
|
|
userAPI.updatePersonImageDefault(item.id).then((data)=>{
|
|
if(this.data.autoBack){
|
|
wx.navigateBack()
|
|
}else{
|
|
wx.showToast({
|
|
icon:'none',
|
|
title: '修改成功'
|
|
})
|
|
this.setData({
|
|
[`list[${defaultIndex}].is_default`]:false,
|
|
[`list[${index}].is_default`]:true
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
deleteImage(event){
|
|
const index = event.currentTarget.dataset.index;
|
|
const item = event.currentTarget.dataset.item;
|
|
wx.showModal({
|
|
title: '是否删除这个形象',
|
|
complete: (res) => {
|
|
if (res.confirm) {
|
|
this.confirmDelete(item,index);
|
|
}
|
|
}
|
|
})
|
|
|
|
},
|
|
confirmDelete(item,index){
|
|
// this.selectComponent('#listView').loadMoreIfNeed();
|
|
|
|
userAPI.deletePersonImage(item.id).then(async(data)=>{
|
|
if(item.is_default){
|
|
//找一个不是默认的形象
|
|
const newDefaultIndex = this.data.list.findIndex((item=>!item.is_default));
|
|
if(newDefaultIndex>-1){
|
|
const newDefault = this.data.list[newDefaultIndex];
|
|
await userAPI.updatePersonImageDefault(newDefault.id);
|
|
this.setData({
|
|
[`list[${newDefaultIndex}].is_default`]:true
|
|
})
|
|
}
|
|
}
|
|
|
|
if(this.data.pager.loadAll){
|
|
this.data.list.splice(index,1);
|
|
this.setData({
|
|
list:this.data.list
|
|
})
|
|
}else{
|
|
this.refreshList();
|
|
}
|
|
})
|
|
},
|
|
|
|
chooseImg(){
|
|
wx.chooseMedia({
|
|
count:1,
|
|
success:(res)=>{
|
|
wx.cropImage({
|
|
cropScale:'3:4',
|
|
src: res.tempFiles[0].tempFilePath,
|
|
success:(_res)=>{
|
|
_res.uploading = true;
|
|
this.setData({
|
|
uploadImg:_res
|
|
})
|
|
commonAPI.upload(_res).then((data)=>{
|
|
this.setData({
|
|
"uploadImg.serverUrl":data.url
|
|
});
|
|
userAPI.addPersonImages(data.url).then(()=>{
|
|
this.setData({
|
|
uploadImg:{}
|
|
})
|
|
this.refreshList();
|
|
})
|
|
}).finally(()=>{
|
|
this.setData({
|
|
'uploadImg.uploading':false
|
|
})
|
|
});
|
|
_res.task.onProgressUpdate((detail)=>{
|
|
this.setData({
|
|
uploadPercent:detail.progress
|
|
})
|
|
})
|
|
}
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
|
|
}
|
|
}) |