async def retrievecode(ns): """找回密码发送短信验证码""" db = DBPools() async with db.sqlorContext('kboss') as sor: type = 0 ns['del_flg'] = '0' userreacs = await sor.R('users', ns) if len(userreacs) >= 1: type += 1 else: userreacs = await sor.R('users', {'mobile': ns['username'], 'del_flg': '0'}) if len(userreacs) >= 1: type += 1 if type >= 1: code = await generate_vcode() nss = await send_vcode(userreacs[0]['mobile'], '用户注册登录验证', code.get('vcode')) if nss == True: return {'status': True, 'msg': '发送成功', 'codeid': code.get('id'), 'userid': userreacs[0]['id']} else: return {'status': False, 'msg': '发送失败'} else: return {'status': False, 'msg': '没有该用户或手机号错误'} ret = await retrievecode(params_kw) return ret