const { index, util } = getApp().globalData Page({ /** * 页面的初始数据 */ data: { ossUrl: 'https://losta.oss-cn-shanghai.aliyuncs.com', showTips: true, fileList: [], thingTypeIndex: 0, thingTypeArr: [ { title: '失物招领', type: 1 }, { title: '寻物启事', type: 2 }, ], thingCategoryIndex: 0, thingCategoryArr: [ { title: '证件', type: 1 }, { title: '服装', type: 2 }, { title: '数码', type: 3 }, { title: '日用品', type: 4 }, { title: '其他', type: 5 }, ], pushParams: { user_id: 0, thing_title: '', thing_introduce: '', thing_img: '', thing_type: 1, thing_category: 1 } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if (util.checkIsLogin()) { this.setData({ thingTypeIndex: options.id - 1 }) } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, onShow: function () { setTimeout(()=> { this.setData({ showTips: false }) },4000) }, thingTitleInput(e) { this.setData({ ['pushParams.thing_title']: e.detail.value }); }, thingIntrInput(e) { this.setData({ ['pushParams.thing_introduce']: e.detail.value }) }, changeThingTypeIndex(e) { this.setData({ thingTypeIndex: e.target.dataset.id }) }, changeThingCategoryIndex(e) { this.setData({ thingCategoryIndex: e.target.dataset.id }) }, async PushThing() { let userInfo = wx.getStorageSync('user'); let { fileList, pushParams, thingTypeIndex, thingTypeArr, thingCategoryIndex, thingCategoryArr } = this.data; if (pushParams.thing_title.length == 0) { wx.showToast({ title: '标题必填', icon: 'none', duration: 2000 }); return false; } if (pushParams.thing_introduce.length == 0 || pushParams.thing_introduce.length > 500) { wx.showToast({ title: '介绍必填,且字数不能大于500', icon: 'none', duration: 2000 }); return false; } if (pushParams.thing_img.length == 0) { wx.showToast({ title: '图片必须上传', icon: 'none', duration: 2000 }); return false; } pushParams.user_id = userInfo.user_id; pushParams.thing_type = thingTypeArr[thingTypeIndex].type; pushParams.thing_category = thingCategoryArr[thingCategoryIndex].type; console.log("请求参数:", pushParams) let res = await index.push(pushParams); console.log(res); util.showToast({ title: '发布成功', icon: 'success', duration: 2000, close: () => { wx.navigateBack() } }) }, async afterRead(event) { const { file } = event.detail; this.setData({ fileList: [ file ] }) console.log("file === ", file) let arr = file.url.split(".") let fileType = arr[arr.length - 1]; // 文件后缀 let ossConfig = await index.token(); let fileName = `${util.random()}.${fileType}`; console.log("fileName === ", fileName) wx.uploadFile({ url: this.data.ossUrl, filePath: file.url, name: 'file', formData: { key: fileName, ...ossConfig }, success: (res) => { console.log("uploadFile success : ", res) if (res.statusCode == 204) { this.setData({ ['pushParams.thing_img']: `${this.data.ossUrl}/${fileName}` }); } else { wx.showToast({ title: "图片上传错误,稍后再试", icon: 'none', duration: 3000 }); } } }); }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })