Browse Source

ADD

删除信息后端对接
RegMs If 4 years ago
parent
commit
10b1e872c2

+ 6 - 0
cloudfunctions/deleteMessage/config.json

@@ -0,0 +1,6 @@
+{
+  "permissions": {
+    "openapi": [
+    ]
+  }
+}

+ 52 - 0
cloudfunctions/deleteMessage/index.js

@@ -0,0 +1,52 @@
+// 云函数入口文件
+const cloud = require('wx-server-sdk')
+
+cloud.init()
+const db = cloud.database()
+
+// 云函数入口函数
+exports.main = async (event, context) => {
+  const {
+    OPENID
+  } = cloud.getWXContext()
+
+  const message_check = await db.collection('message')
+    .where({
+      _id: event.msg_id
+    })
+    .get()
+  if (message_check.data.length === 0) {
+    return {
+      errMsg: '信息不存在',
+      status: 'ERR'
+    }
+  }
+
+  const manage_check = await db.collection('manager')
+    .where({
+      pub_id: message_check.data[0].pub_id,
+      user_id: OPENID
+    })
+    .get()
+  if (manage_check.data.length === 0) {
+    return {
+      errMsg: '只有管理员可以删除',
+      status: 'ERR'
+    }
+  }
+  if (manage_check.data[0].role !== '所有者' && manage_check.data[0].role !== '管理者') {
+    return {
+      errMsg: '没有删除权限',
+      status: 'ERR'
+    }
+  }
+
+  const message = await db.collection('message')
+    .doc(event.msg_id)
+    .remove()
+
+  return {
+    removed: message.removed,
+    status: 'OK'
+  }
+}

+ 14 - 0
cloudfunctions/deleteMessage/package.json

@@ -0,0 +1,14 @@
+{
+  "name": "deleteMessage",
+  "version": "1.0.0",
+  "description": "",
+  "main": "index.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "author": "",
+  "license": "ISC",
+  "dependencies": {
+    "wx-server-sdk": "~2.4.0"
+  }
+}

+ 1 - 1
cloudfunctions/getMessage/index.js

@@ -22,7 +22,7 @@ exports.main = async (event, context) => {
       as: 'publisher'
     })
     .end()
-  if (message.list.length !== 1) {
+  if (message.list.length === 0) {
     return {
       errMsg: '信息不存在',
       status: 'ERR'

+ 35 - 31
cloudfunctions/updateMessage/index.js

@@ -10,9 +10,21 @@ exports.main = async (event, context) => {
     OPENID
   } = cloud.getWXContext()
 
+  const message_check = await db.collection('message')
+    .where({
+      _id: event.msg_id
+    })
+    .get()
+  if (message_check.data.length === 0) {
+    return {
+      errMsg: '信息不存在',
+      status: 'ERR'
+    }
+  }
+
   const manage_check = await db.collection('manager')
     .where({
-      pub_id: event.pub_id,
+      pub_id: message_check.data[0].pub_id,
       user_id: OPENID
     })
     .get()
@@ -36,36 +48,28 @@ exports.main = async (event, context) => {
     event.type = publisher.data.type + '纳新'
   }
 
-  try {
-    const message = await db.collection('message')
-      .doc(msg_id)
-      .update({
-        data: {
-          pub_id: event.pub_id,
-          user_id: OPENID,
-          name: event.name,
-          type: event.type,
-          brief: event.brief,
-          poster: event.poster,
-          photo: event.photo,
-          tag: event.tag,
-          orient: event.orient,
-          time: event.time,
-          place: event.place,
-          contact: event.contact,
-          detail: event.detail,
-          link: event.link
-        }
-      })
+  const message = await db.collection('message')
+    .doc(event.msg_id)
+    .update({
+      data: {
+        user_id: OPENID,
+        name: event.name,
+        type: event.type,
+        brief: event.brief,
+        poster: event.poster,
+        photo: event.photo,
+        tag: event.tag,
+        orient: event.orient,
+        time: event.time,
+        place: event.place,
+        contact: event.contact,
+        detail: event.detail,
+        link: event.link
+      }
+    })
 
-    return {
-      updated: message.updated,
-      status: 'OK'
-    }
-  } catch (err) {
-    return {
-      errMsg: '信息不存在',
-      status: 'ERR'
-    }
+  return {
+    updated: message.updated,
+    status: 'OK'
   }
 }

+ 33 - 50
miniprogram/pages/activity/activity.js

@@ -29,6 +29,39 @@ Page({
     })
   },
 
+  deleteActivity: function () {
+    wx.showModal({
+      content: "确认删除信息?",
+      confirmColor: "#009195",
+      success: function (res) {
+        if (res.confirm) {
+          wx.showLoading({
+            title: '删除中'
+          })
+          wx.cloud.callFunction({
+            name: 'deleteMessage',
+            data: {
+              msg_id: this.data.messageId
+            }
+          }).then(res => {
+            wx.hideLoading()
+            if (res.result.status !== 'OK') {
+              wx.showToast({
+                title: res.result.errMsg,
+                icon: 'none'
+              })
+              return
+            }
+            wx.showToast({
+              title: "删除成功",
+            })
+            wx.navigateBack()
+          })
+        }
+      }.bind(this)
+    })
+  },
+
   toggleLike: function () {
     wx.showLoading({
       title: this.data.like ? '取消收藏' : '收藏中'
@@ -55,56 +88,6 @@ Page({
         like: !this.data.like
       })
     })
-
-    // if (!this.data.likeEnable) return
-    // this.setData({
-    //   likeEnable: false
-    // })
-    // const db = wx.cloud.database()
-    // if (this.data.like == 0) {
-    //   db.collection('likeData').add({
-    //     data: {
-    //       type: 'message',
-    //       id: this.data.activityInfo._id
-    //     },
-    //     success: function () {
-    //       this.setData({
-    //         like: 1,
-    //         likeEnable: true
-    //       })
-    //       wx.showToast({
-    //         title: '已收藏',
-    //       })
-    //     }.bind(this),
-    //     fail: function () {
-    //       wx.showToast({
-    //         title: '网络错误',
-    //         icon: 'none'
-    //       })
-    //     }
-    //   })
-    // } else {
-    //   db.collection('likeData').where({
-    //     type: 'message',
-    //     id: this.data.activityInfo._id
-    //   }).remove({
-    //     success: function () {
-    //       this.setData({
-    //         like: 0,
-    //         likeEnable: true
-    //       })
-    //       wx.showToast({
-    //         title: '已取消收藏',
-    //       })
-    //     }.bind(this),
-    //     fail: function () {
-    //       wx.showToast({
-    //         title: '网络错误',
-    //         icon: 'none'
-    //       })
-    //     }
-    //   })
-    // }
   },
 
   loadQuestionData: function () {

+ 1 - 1
miniprogram/pages/activity/activity.wxml

@@ -40,7 +40,7 @@
       </view>
 
       <view class="bottom" wx:if="{{showEdit}}">
-        <view class="btn accent-background-color white-text-color">删除</view>
+        <view class="btn accent-background-color white-text-color" bindtap="deleteActivity">删除</view>
         <view class="btn primary-background-color" bindtap="editActivity">
           <image class="btn-icon primary-background-color" mode="aspectFit" src="/images/publisher/publish2.png">
           </image>

+ 9 - 8
miniprogram/pages/activityPublish/activityPublish.js

@@ -139,7 +139,11 @@ Page({
       wx.showLoading({
         title: '正在发布'
       })
-      value.pub_id = this.data.publisherId
+      if (this.data.messageId === '') {
+        value.pub_id = this.data.publisherId
+      } else {
+        value.msg_id = this.data.messageId
+      }
       if (value.poster.length !== 0 && value.poster[0].substr(0, 8) !== 'cloud://') {
         value.poster[0] = res[0].fileID
         res.splice(0, 1)
@@ -150,17 +154,14 @@ Page({
           res.splice(0, 1)
         }
       }
-      if (this.data.messageId) {
+      if (this.data.messageId === '') {
         return wx.cloud.callFunction({
-          name: 'updateMessage',
-          data: {
-            msg_id: this.data.messageId,
-            ...util.msgToDb(value)
-          }
+          name: 'createMessage',
+          data: util.msgToDb(value)
         })
       } else {
         return wx.cloud.callFunction({
-          name: 'createMessage',
+          name: 'updateMessage',
           data: util.msgToDb(value)
         })
       }

+ 1 - 1
miniprogram/pages/publisherPage/publisherPage.wxml

@@ -24,7 +24,7 @@
 <view class="block2" hover-class="btn-hover" bindtap="publisherQuestion">
   <view class="left">
     <image class="btn-icon" mode="aspectFit" src="/images/publisher/question.png"></image>
-    <view class="btn-text primary-text">收到的问</view>
+    <view class="btn-text primary-text">收到的问</view>
   </view>
   <view class="btn-arrow secondary-text">></view>
 </view>

+ 1 - 1
miniprogram/pages/publisherQuestion/publisherQuestion.js

@@ -55,7 +55,7 @@ Page({
 
   removeQuestion: function (e) {
     wx.showModal({
-      content: "确认删除?",
+      content: "确认删除提问?",
       confirmColor: "#009195",
       success: function (res) {
         if (res.confirm) {

+ 1 - 1
miniprogram/pages/publisherQuestion/publisherQuestion.wxml

@@ -1,4 +1,4 @@
-<!--为发布者-收到的问页面-->
+<!--为发布者-收到的问页面-->
 <view wx:if="{{questions.length == 0}}" class="title primary-text-color" style="text-align: center;">这里空空如也哦</view>
 
 <checkbox-group wx:if="{{questions.length != 0}}" class="checkbox-group" bindchange="updateFilter">

+ 2 - 2
miniprogram/pages/search/search.wxml

@@ -30,7 +30,7 @@
     <view class="hot-bar" wx:for="{{hotBarData}}" wx:key="rank" wx:for-item="item" data-activity-id="{{item.id}}"
       bindtap="viewActivity">
       <view>
-        <text class="primary-text-color" space="nbsp">{{item.rank}}{{"   "}}</text><text
+        <text class="primary-text-color" space="nbsp">{{item.rank}}{{" "}}{{" "}}{{" "}}</text><text
           class="secondary-text-color">{{item.title}}</text>
       </view>
       <image class="more" src="/images/more.png" mode="aspectFill"></image>
@@ -39,7 +39,7 @@
 </scroll-view>
 
 <scroll-view wx:if="{{searchEnable}}" class="search-block secondary-background-color" scroll-y bindtap="blur">
-  <view class="result-bar" wx:for="{{searchResult}}" wx:key="_id">
+  <view class="result-bar" wx:for="{{searchResult}}" wx:for-item="item" wx:key="_id">
     <itemCard item="{{item}}" />
   </view>
   <view wx:if="{{searchText == '' && searchResult.length == 0}}" wx:for="{{searchHistory}}" wx:for-item="item"

+ 1 - 4
miniprogram/pages/search/search.wxss

@@ -94,10 +94,7 @@
 }
 
 .result-bar {
-  padding: 15rpx 20rpx;
-  border-style: solid;
-  border-width: 1rpx;
-  border-color: #F0F0F0;
+  padding: 0rpx 20rpx;
 }
 
 .search-history {