index.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. // 云函数入口文件
  2. const cloud = require('wx-server-sdk')
  3. cloud.init()
  4. const db = cloud.database()
  5. // 云函数入口函数
  6. exports.main = async (event, context) => {
  7. const {
  8. OPENID
  9. } = cloud.getWXContext()
  10. const message_check = await db.collection('message')
  11. .where({
  12. _id: event.msg_id
  13. })
  14. .get()
  15. if (message_check.data.length === 0) {
  16. return {
  17. errMsg: '信息不存在',
  18. status: 'ERR'
  19. }
  20. }
  21. const manage_check = await db.collection('manager')
  22. .where({
  23. pub_id: message_check.data[0].pub_id,
  24. user_id: OPENID
  25. })
  26. .get()
  27. if (manage_check.data.length === 0) {
  28. return {
  29. errMsg: '只有管理员可以修改',
  30. status: 'ERR'
  31. }
  32. }
  33. if (manage_check.data[0].role !== '所有者' && manage_check.data[0].role !== '管理者') {
  34. return {
  35. errMsg: '没有修改权限',
  36. status: 'ERR'
  37. }
  38. }
  39. if (event.type === '纳新') {
  40. const publisher = await db.collection('publisher')
  41. .doc(event.pub_id)
  42. .get()
  43. event.type = publisher.data.type + '纳新'
  44. }
  45. const message = await db.collection('message')
  46. .doc(event.msg_id)
  47. .update({
  48. data: {
  49. user_id: OPENID,
  50. name: event.name,
  51. type: event.type,
  52. brief: event.brief,
  53. poster: event.poster,
  54. photo: event.photo,
  55. tag: event.tag,
  56. orient: event.orient,
  57. time: event.time,
  58. place: event.place,
  59. contact: event.contact,
  60. detail: event.detail,
  61. link: event.link
  62. }
  63. })
  64. return {
  65. updated: message.updated,
  66. status: 'OK'
  67. }
  68. }