utils.js 1019 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. const cloudbase = require("@cloudbase/node-sdk");
  2. async function checkAuth() {
  3. // 获取用户信息
  4. // 在云函数中获取用户身份信息
  5. const app = cloudbase.init();
  6. const { TCB_UUID } = cloudbase.getCloudbaseContext();
  7. let { userInfo } = await app.auth().getEndUserInfo(TCB_UUID);
  8. // 未登录用户
  9. if (!userInfo.username && !userInfo.openId) {
  10. return {
  11. msg: "未登录用户!",
  12. result: false
  13. }
  14. }
  15. // 校验用户是否为 CMS 的用户
  16. // 腾讯云 CMS 用户数据集合为 tcb-ext-cms-users
  17. // 微信 CMS 用户数据集合为 wx-ext-cms-users
  18. const {
  19. data: [userRecord]
  20. } = await app
  21. .database()
  22. .collection("tcb-ext-cms-users")
  23. .where({
  24. username: userInfo.username
  25. })
  26. .get();
  27. // 用户信息不存在
  28. if (!userRecord) {
  29. return {
  30. msg: "用户不存在,请确认登录信息!",
  31. result: false
  32. }
  33. }
  34. // 校验通过
  35. return {
  36. msg: "",
  37. result: true
  38. }
  39. }
  40. exports.config = {
  41. checkAuth
  42. }