index.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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 manage_check = await db.collection('manager')
  11. .where({
  12. pub_id: event.pub_id,
  13. user_id: OPENID
  14. })
  15. .get()
  16. if (manage_check.data.length === 0) {
  17. return {
  18. errMsg: '只有管理员可以发布'
  19. }
  20. }
  21. if (manage_check.data[0].role !== '拥有者' && manage_check.data[0].role !== '发布者') {
  22. return {
  23. errMsg: '没有发布权限'
  24. }
  25. }
  26. if (event.type === '纳新') {
  27. const publisher = await db.collection('publisher')
  28. .doc(event.pub_id)
  29. .get()
  30. event.type = publisher.data.type + '纳新'
  31. }
  32. const message = await db.collection('message')
  33. .add({
  34. data: {
  35. pub_id: event.pub_id || '',
  36. user_id: OPENID,
  37. name: event.name || '',
  38. type: event.type || '',
  39. brief: event.brief || '',
  40. poster: event.poster || '',
  41. photo: event.photo || '',
  42. tag: event.tag || '',
  43. orient: event.orient || '',
  44. time: event.time || '',
  45. place: event.place || '',
  46. contact: event.contact || '',
  47. detail: event.detail || '',
  48. link: event.link || '',
  49. publish_time: new Date()
  50. }
  51. })
  52. return message
  53. }