index.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. status: 'ERR'
  20. }
  21. }
  22. if (manage_check.data[0].role !== '所有者' && manage_check.data[0].role !== '管理者') {
  23. return {
  24. errMsg: '没有发布权限',
  25. status: 'ERR'
  26. }
  27. }
  28. if (event.type === '纳新') {
  29. const publisher = await db.collection('publisher')
  30. .doc(event.pub_id)
  31. .get()
  32. event.type = publisher.data.type + '纳新'
  33. }
  34. const message = await db.collection('message')
  35. .add({
  36. data: {
  37. pub_id: event.pub_id || '',
  38. user_id: OPENID,
  39. name: event.name || '',
  40. type: event.type || '',
  41. brief: event.brief || '',
  42. poster: event.poster || '',
  43. photo: event.photo || '',
  44. tag: event.tag || '',
  45. orient: event.orient || '',
  46. time: event.time || '',
  47. place: event.place || '',
  48. contact: event.contact || '',
  49. detail: event.detail || '',
  50. link: event.link || '',
  51. publish_time: new Date()
  52. }
  53. })
  54. return {
  55. _id: message._id,
  56. status: 'OK'
  57. }
  58. }