diff --git a/models/topic.js b/models/topic.js index 98e87de..9644d6f 100644 --- a/models/topic.js +++ b/models/topic.js @@ -151,13 +151,14 @@ class TopicModel extends HTTP { this.request(params) } - addMessage(title,content,success){ + addMessage(title, content, picList,success){ let params = { url: TopicBaseUrl.topic_addMessage_url, method: Method.POST, data: { title:title, - content: content + content: content, + picList: picList, }, success: success } diff --git a/pages/topics/index.js b/pages/topics/index.js index 47034a5..3bc3f69 100644 --- a/pages/topics/index.js +++ b/pages/topics/index.js @@ -45,22 +45,23 @@ Page({ }, onShow: function () { // 页面出现在前台时执行 - console.log('啦啦啦') let segmentIndex = this.data.segmentIndex if (segmentIndex === 0 || segmentIndex === 1){ wx.pageScrollTo({ scrollTop: 0, }) + + this.setData({ + currPage: 1, + }) + switch (this.data.segmentIndex) { + case 0: + return this.fetchTopicList() + case 1: + return this.fetchGoodIdeaList() + } } - this.setData({ - currPage: 1, - }) - switch (this.data.segmentIndex) { - case 0: - return this.fetchTopicList() - case 1: - return this.fetchGoodIdeaList() - } + }, fetchTopicList () { let page = this.data.currPage @@ -174,14 +175,24 @@ Page({ * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { - this.setData({ - currPage: 1, - }) - switch (this.data.segmentIndex) { - case 0: - return this.fetchTopicList() - case 1: - return this.fetchGoodIdeaList() + let segmentIndex = this.data.segmentIndex + if (segmentIndex === 2){ + wx.stopPullDownRefresh() + } + if (segmentIndex === 0 || segmentIndex === 1) { + wx.pageScrollTo({ + scrollTop: 0, + }) + + this.setData({ + currPage: 1, + }) + switch (this.data.segmentIndex) { + case 0: + return this.fetchTopicList() + case 1: + return this.fetchGoodIdeaList() + } } }, @@ -189,16 +200,24 @@ Page({ * 页面上拉触底事件的处理函数 */ onReachBottom: function () { - const page = this.data.currPage + 1 - this.setData({ - currPage: page - }) - switch (this.data.segmentIndex) { - case 0: - return this.fetchTopicList() - case 1: - return this.fetchGoodIdeaList() + let segmentIndex = this.data.segmentIndex + if(segmentIndex === 2){ + return } + + if (segmentIndex === 0 || segmentIndex === 1) { + const page = this.data.currPage + 1 + this.setData({ + currPage: page + }) + switch (this.data.segmentIndex) { + case 0: + return this.fetchTopicList() + case 1: + return this.fetchGoodIdeaList() + } + } + }, // 定义点击标题的事件处理函数,将选中标题的id赋值给selectedTitle diff --git a/pages/topics/message/index.js b/pages/topics/message/index.js index 3e73154..f5f48f7 100644 --- a/pages/topics/message/index.js +++ b/pages/topics/message/index.js @@ -1,4 +1,6 @@ // pages/topics/common/message/index.js +import { config } from '../../../config.js' +import { store } from '../../../utils/store.js' import { TopicModel } from '../../../models/topic.js' let topicModel = new TopicModel() @@ -16,11 +18,32 @@ Component({ data: { messageTitle:"", messageDetail:"", + files: [], }, + // lifetimes: { + // attached: function () { + // // 在组件实例进入页面节点树时执行 + // }, + // detached: function () { + // // 在组件实例被从页面节点树移除时执行 + // } + // }, + // attached: function () { + // console.log('啦啦啦') + // }, /** * 组件的方法列表 */ + attached: function () { + console.log('啦啦啦') + this.setData({ + uplaodFile: this.uplaodFile.bind(this) + }) + + + + }, methods: { bindTextInput(e) { this.setData({ @@ -32,6 +55,48 @@ Component({ messageDetail: e.detail.value }) }, + + uplaodFile(files) { + console.log('upload files', files) + // 文件上传的函数,返回一个promise + const token = store.readToken() + console.log(token) + return new Promise((resolve, reject) => { + files.tempFilePaths.forEach(item => { + wx.uploadFile({ + url: config.api_url + "/api/common/view", + filePath: item, + header: { + 'token': token, + 'content-type': 'application/json', + }, + name: 'files', + success: (res) => { + console.log(res); + const data = JSON.parse(res.data) + const image = { + url: config.api_url + '/' + data.result.imgUrl, + } + this.setData({ + files: [...this.data.files, image] + }) + resolve(this.data.files) + } + }) + }) + }) + }, + deleteFile(e) { + console.log(e) + let tempImages = this.data.files + const index = e.detail.index + + tempImages.splice(index, 1); + this.setData({ + files: tempImages + }) + }, + submit() { if (this.data.messageTitle === '') { wx.showModal({ @@ -50,11 +115,12 @@ Component({ return } - topicModel.addMessage(this.data.messageTitle, this.data.messageDetail,res=>{ + topicModel.addMessage(this.data.messageTitle, this.data.messageDetail,this.data.files,res=>{ if(res.code === 200){ this.setData({ messageTitle:'', - messageDetail: '' + messageDetail: '', + files:[], },()=>{ wx.showToast({ title: res.message, diff --git a/pages/topics/message/index.json b/pages/topics/message/index.json index 93850f5..719cee5 100644 --- a/pages/topics/message/index.json +++ b/pages/topics/message/index.json @@ -1,6 +1,9 @@ { "component": true, "usingComponents": { - "e-ibutton": "/components/image-button/index" + "e-ibutton": "/components/image-button/index", + "mp-cells": "/components/weui/cells/cells", + "mp-cell": "/components/weui/cell/cell", + "mp-uploader": "/components/weui/uploader/uploader" } } \ No newline at end of file diff --git a/pages/topics/message/index.wxml b/pages/topics/message/index.wxml index cb0f8d0..454dce1 100644 --- a/pages/topics/message/index.wxml +++ b/pages/topics/message/index.wxml @@ -10,6 +10,13 @@