diff --git a/b/user/loginUser.dspy b/b/user/loginUser.dspy index 485f114..f4a2f68 100644 --- a/b/user/loginUser.dspy +++ b/b/user/loginUser.dspy @@ -153,6 +153,10 @@ async def loginUser(ns): if type1 == 1: # 手机号验证码登录 userreacs = await sor.R('users', {'mobile': ns.get('username')}) + + if not userreacs: + userreacs = await sor.R('users', {'username': ns.get('username')}) + # 如果是微信扫码后绑定已有账号 if ns.get('wechat_openid'): if userreacs: diff --git a/b/user/logintype.dspy b/b/user/logintype.dspy index 097f1eb..d2f6aa4 100644 --- a/b/user/logintype.dspy +++ b/b/user/logintype.dspy @@ -43,57 +43,101 @@ async def logintype(ns): db = DBPools() async with db.sqlorContext('kboss') as sor: - type = 0 - if ns.get('codeid'): - type += 1 + + domain_name = ns.get('domain_name') + if domain_name in ['www.opencomputing.cn', 'dev.opencomputing.cn', 'localhost:9527'] and ns.get('username') != '开元云(北京)科技有限公司': + if not ns.get('mobile'): + return { + 'status': False, + 'msg': '请输入手机号' + } + real_mobile_li = await sor.R('users', {'username': ns['username']}) + if not real_mobile_li: + return { + 'status': False, + 'msg': '用户名有误' + } + real_mobile = real_mobile_li[0]['mobile'] if real_mobile_li else None + if not real_mobile: + return { + 'status': False, + 'msg': '未查询到匹配得手机号码' + } + + if real_mobile and ns['mobile'] != real_mobile: + return { + 'status': False, + 'msg': '您的手机号与用户名不匹配' + } + + if not ns.get('codeid'): + return { + 'status': False, + 'msg': 'codeid不存在, 请输入验证码' + } code = await sor.R('validatecode', {'id': ns.get('codeid'), 'vcode': ns.get('vcode')}) if len(code) < 1: return {'status': False, 'msg': '验证码不正确'} - if type == 1: - # 手机号登录 - users = await sor.R('users', {'mobile': ns.get('username')}) - else: + password = password_encode(ns['password']) users = await sor.R('users', {'username': ns.get('username'), 'password': password}) - if len(users) < 1: - return {"status": False,'msg':'用户名或密码错误'} - elif ns.get('username') == "admin": + if len(users) < 1: + return {"status": False,'msg':'用户名或密码错误'} + return {'status': True} + else: - reseller = await sor.R('reseller', {'domain_name': ns.get('domain_name')}) - # 查到用户的所在机构 - user_org = await sor.R('organization', {'id': users[0]['orgid']}) - #0代表用户为主 1代表用户为子 - user_type = 0 - # 子页面判断用户 - if len(reseller) >= 1: - if reseller[0]['orgid'] == user_org[0]['parentid']: - user_type += 1 - if reseller[0]['orgid'] == users[0]['orgid']: - user_type += 1 - # 主页面判断用户 + type = 0 + if ns.get('codeid'): + type += 1 + code = await sor.R('validatecode', {'id': ns.get('codeid'), 'vcode': ns.get('vcode')}) + if len(code) < 1: + return {'status': False, 'msg': '验证码不正确'} + if type == 1: + # 手机号登录 + users = await sor.R('users', {'mobile': ns.get('username')}) else: - resellers = await sor.R('reseller', {'orgid': user_org[0]['parentid']}) - if len(resellers) >= 1: - user_type += 1 - if users[0]['user_reseller'] == '1': - user_type += 1 - # 证明是主级页面 - if len(reseller) < 1: - # 用户为主 - if user_type == 0: - return {'status': True} + password = password_encode(ns['password']) + users = await sor.R('users', {'username': ns.get('username'), 'password': password}) + if len(users) < 1: + return {"status": False,'msg':'用户名或密码错误'} + elif ns.get('username') == "admin": + return {'status': True} + else: + reseller = await sor.R('reseller', {'domain_name': ns.get('domain_name')}) + # 查到用户的所在机构 + user_org = await sor.R('organization', {'id': users[0]['orgid']}) + #0代表用户为主 1代表用户为子 + user_type = 0 + # 子页面判断用户 + if len(reseller) >= 1: + if reseller[0]['orgid'] == user_org[0]['parentid']: + user_type += 1 + if reseller[0]['orgid'] == users[0]['orgid']: + user_type += 1 + # 主页面判断用户 else: + resellers = await sor.R('reseller', {'orgid': user_org[0]['parentid']}) + if len(resellers) >= 1: + user_type += 1 + if users[0]['user_reseller'] == '1': + user_type += 1 + # 证明是主级页面 + if len(reseller) < 1: + # 用户为主 + if user_type == 0: + return {'status': True} + else: + # 用户为子 + return {'status': False,'msg':'用户名或密码错误'} + # 子级页面 + else: + # 用户为主 + if user_type == 0: + return {'status': False,'msg':'用户名或密码错误'} # 用户为子 - return {'status': False,'msg':'用户名或密码错误'} - # 子级页面 - else: - # 用户为主 - if user_type == 0: - return {'status': False,'msg':'用户名或密码错误'} - # 用户为子 - else: - return {'status': True} + else: + return {'status': True} ret = await logintype(params_kw) return ret \ No newline at end of file diff --git a/f/web-kboss/src/views/homePage/components/topBox/index.vue b/f/web-kboss/src/views/homePage/components/topBox/index.vue index ee7f21a..0ab83fb 100644 --- a/f/web-kboss/src/views/homePage/components/topBox/index.vue +++ b/f/web-kboss/src/views/homePage/components/topBox/index.vue @@ -160,8 +160,13 @@ -
- 开元数智 + NCMatch + 开元云 您身边的AI管家
@@ -42,105 +43,86 @@