index.js 1.6 KB

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