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