uniapp uni-id 如果是正式项目,需自行实现发送邮件的相关功能
(3) 使用云对象sendEmailCode 发送邮箱验证码,报错送邮箱验证码失败 Error: 已启动测试模式,直接使用:123456作为邮箱验证码即可。 如果是正式项目,需自行实现发送邮件的相关功能 - DCloud问答
uni-id 没有实现邮箱验证码逻辑,需要的化需要自行接入。
因为uni-id 并没有实现 邮箱验证码逻辑,所以可以先注释掉,uni-id-co文件夹下找到module下的register的register-user-by-email
修改代码为以下代码,即可暂时注释掉邮箱验证码验证
const {postRegister,preRegisterWithPassword
} = require('../../lib/utils/register')
const {verifyCaptcha
} = require('../../lib/utils/captcha')
const {CAPTCHA_SCENE,EMAIL_SCENE,LOG_TYPE
} = require('../../common/constants')
const {verifyEmailCode
} = require('../../lib/utils/verify-code')/*** 通过邮箱+验证码注册普通用户* @tutorial https://uniapp.dcloud.net.cn/uniCloud/uni-id-pages.html#register-user-by-email* @param {Object} params* @param {String} params.email 邮箱* @param {String} params.password 密码* @param {String} params.nickname 昵称* @param {String} params.code 邮箱验证码* @param {String} params.inviteCode 邀请码* @returns*/
module.exports = async function(params = {}) {const schema = {email: 'email',password: 'password',nickname: {required: false,type: 'nickname'},code: { // 设置为非必填required: false,type: 'string'},inviteCode: {required: false,type: 'string'}}this.middleware.validate(params, schema)const {email,password,nickname,code,inviteCode} = params// 注释掉邮箱验证码验证部分// try {// // 验证邮箱验证码,验证不通过时写入失败日志// await verifyEmailCode({// email,// code,// scene: EMAIL_SCENE.REGISTER// })// } catch (error) {// await this.middleware.uniIdLog({// data: {// email// },// type: LOG_TYPE.REGISTER,// success: false// })// throw error// }const {user,extraData} = await preRegisterWithPassword.call(this, {user: {email},password})return postRegister.call(this, {user,extraData: {...extraData,nickname,email_confirmed: 1},inviteCode})
}