index.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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 code_check = await db.collection('invite')
  11. .where({
  12. code: event.code
  13. })
  14. .get()
  15. if (code_check.data.length === 0) {
  16. return {
  17. errMsg: '邀请码不存在',
  18. status: 'ERR'
  19. }
  20. }
  21. if (code_check.data[0].pub_id !== '') {
  22. return {
  23. errMsg: '邀请码已被使用',
  24. status: 'ERR'
  25. }
  26. }
  27. const name_check = await db.collection('publisher')
  28. .where({
  29. name: event.name
  30. })
  31. .get()
  32. if (name_check.data.length !== 0) {
  33. return {
  34. errMsg: '名称已存在',
  35. status: 'ERR'
  36. }
  37. }
  38. const publisher = await db.collection('publisher')
  39. .add({
  40. data: {
  41. name: event.name || '',
  42. type: event.type || '',
  43. level: event.level || '',
  44. intro: event.intro || '',
  45. avatar: event.avatar || '',
  46. phone: event.phone || '',
  47. email: event.email || '',
  48. qq: event.qq || '',
  49. wechat: event.wechat || '',
  50. reside_time: new Date()
  51. }
  52. })
  53. await db.collection('invite')
  54. .where({
  55. code: event.code
  56. })
  57. .update({
  58. data: {
  59. pub_id: publisher._id,
  60. use_time: new Date()
  61. }
  62. })
  63. await db.collection('manager')
  64. .add({
  65. data: {
  66. pub_id: publisher._id,
  67. user_id: OPENID,
  68. title: '',
  69. role: '所有者'
  70. }
  71. })
  72. return {
  73. _id: publisher._id,
  74. status: 'OK'
  75. }
  76. }