// pages/community/add.js const config = require("../../config/config") const { api } = require("../../utils/api") Page({ /** * 页面的初始数据 */ data: { content: '', ossIds: [], fileList: [] }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { }, upload(e) { const { files } = e.detail; console.log(files); this.setData({ fileList: files }) }, remove(e) { const { index } = e.detail; const { fileList } = this.data fileList.splice(index, 1); this.setData({ fileList }); }, input(e) { const value = e.detail.value this.setData({ content: value }) }, submit() { if (this.data.content.length === 0) { wx.showModal({ content: '请输入这一刻的想法', }) return } wx.showLoading({ title: '请稍后', }) // 上传图片 const uploadTasks = this.data.fileList.map(file => this.uploadSingle(file)); Promise.all(uploadTasks) .then(ossIds => { console.log("全部上传成功", ossIds); // ossIds 是一个 [id1, id2, id3...] this.save(ossIds); }) .catch(err => { console.error("有上传失败", err); wx.showToast({ title: '上传失败', icon: 'none' }); }); }, save(ids){ const data = {content:this.data.content,ossIds: ids,title:this.data.content} api('/post/add','POST',data,'json').then(res => { if (res.code === 200){ wx.navigateBack() } else{ wx.showModal({ content: res.msg }) } }) }, uploadSingle(file) { console.log(file); return new Promise((resolve, reject) => { wx.uploadFile({ filePath: file.url, name: 'file', header: { 'Authorization': 'Bearer ' + wx.getStorageSync('token'), }, url: config.baseUrl + '/oss/upload', success: res => { const data = JSON.parse(res.data); if (data.code === 200) { resolve(data.data.file.id); // 返回 ossId } else { reject(data); } }, fail: reject }); }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })