create-captcha.js 726 B

12345678910111213141516171819202122232425262728293031323334
  1. const {
  2. CAPTCHA_SCENE
  3. } = require('../../common/constants')
  4. const {
  5. ERROR
  6. } = require('../../common/error')
  7. /**
  8. * 创建图形验证码
  9. * @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#create-captcha
  10. * @param {Object} params
  11. * @param {String} params.scene 图形验证码使用场景
  12. * @returns
  13. */
  14. module.exports = async function (params = {}) {
  15. const schema = {
  16. scene: 'string'
  17. }
  18. this.middleware.validate(params, schema)
  19. const deviceId = this.getClientInfo().deviceId
  20. const {
  21. scene
  22. } = params
  23. if (!(Object.values(CAPTCHA_SCENE).includes(scene))) {
  24. throw {
  25. errCode: ERROR.INVALID_PARAM
  26. }
  27. }
  28. return this.uniCaptcha.create({
  29. deviceId,
  30. scene
  31. })
  32. }