rbac/wwwroot/gen_sms_code.dspy

41 lines
1.1 KiB
Plaintext

# TEST MODE: 不发送真实短信,返回固定验证码 123456
phone = params_kw.cellphone
if phone is None:
return {
"status": "error",
"data": {
"message": "没有收到手机号"
}
}
try:
code = '123456'
code_id = getID()
from datetime import datetime, timedelta
expire_time = datetime.now() + timedelta(minutes=5)
env = request._run_ns
async with get_sor_context(env, 'smssend') as sor:
await sor.C('validatecode', {
'id': code_id,
'vcode': code,
'expire_time': expire_time,
'del_flg': '0',
'create_at': datetime.now()
})
debug(f'TEST MODE: code_id={code_id}, code={code}, phone={phone}')
return {
"status": "ok",
"data": {
"message": f"测试模式: 验证码 {code}",
"key": code_id
}
}
except Exception as e:
debug(f'gen_sms_code error: {e}')
exception(f'gen_sms_code error for {phone}: {e}')
return {
"status": "error",
"data": {
"message": f"发送验证码出错: {e}"
}
}