def login(): username = request.form.get('username') password = request.form.get('password') if not username: return render_template_string(error_html, error="用户名称为空") if not password: return render_template_string(error_html, error="密码为空") password_md5 = md5.new(password).hexdigest() db = g._db uid = None store_id = None seller = Seller.get_seller_with_number(db, username) if check_seller_password(seller, password): uid = seller['id'] store_id = seller['store_id'] else: try: seller_id = int(username) seller = Seller.get_seller(db, seller_id) if check_seller_password(seller, password): uid = seller['id'] store_id = seller['store_id'] except ValueError: pass if not uid: return render_template_string(error_html, error="非法的用户名/密码") name = seller.get('name') if not name: name = "" access_token = login_gobelieve(uid, name, config.APP_ID, config.APP_SECRET) if not access_token: return render_template_string(error_html, error="登录失败") response = flask.make_response(redirect('/')) response.set_cookie('token', access_token) response.set_cookie('store_id', str(seller['store_id'])) response.set_cookie('uid', str(seller['id'])) return response
def login(): username = request.form.get('username') password = request.form.get('password') if not username: return render_template_string(error_html, error="用户名称为空") if not password: return render_template_string(error_html, error="密码为空") password_md5 = md5.new(password).hexdigest() db = g._db uid = None store_id = None seller = Seller.get_seller_with_number(db, username) if check_seller_password(seller, password): uid = seller['id'] store_id = seller['store_id'] else: try: seller_id = int(username) seller = Seller.get_seller(db, seller_id) if check_seller_password(seller, password): uid = seller['id'] store_id = seller['store_id'] except ValueError: pass if not uid: return render_template_string(error_html, error="非法的用户名/密码") name = seller.get('name') if not name: name = "" access_token = login_gobelieve(uid, name, config.APP_ID, config.APP_SECRET) if not access_token: return render_template_string(error_html, error="登录失败") response = flask.make_response(redirect('/')) response.set_cookie('token', access_token) response.set_cookie('store_id', str(seller['store_id'])) response.set_cookie('uid', str(seller['id'])) return response
def access_token(): if not request.data: return INVALID_PARAM() obj = json.loads(request.data) username = obj["username"] password = obj["password"] platform = obj.get('platform', 0) device_id = obj.get('device_id', '') if not username or not password: return INVALID_PARAM() db = g._db rds = g.rds uid = None store_id = None try: seller_id = int(username) except ValueError: seller_id = 0 if seller_id: seller = Seller.get_seller(db, seller_id) else: seller = Seller.get_seller_with_number(db, username) if check_seller_password(seller, password): uid = seller['id'] store_id = seller['store_id'] if not uid: return INVALID_USER() access_token = login_gobelieve(uid, seller['name'], config.APP_ID, config.APP_SECRET, device_id, platform) if not access_token: return CAN_NOT_GET_TOKEN() tok = create_token(3600, True) tok['uid'] = uid tok['store_id'] = store_id tok['access_token'] = access_token tok['name'] = seller['name'] tok['status'] = 'online' t = token.AccessToken(**tok) t.save(rds) t = token.RefreshToken(**tok) t.save(rds) #用户上线 Supporter.set_user_online(rds, uid) now = int(time.time()) obj = { "timestamp": now, "device_name": obj.get("device_name", ""), "device_id": obj.get("device_id", ""), "platform": obj.get("platform", 0) } PLATFORM_WEB = 3 PLATFORM_WIN32 = 4 PLATFORM_DARWIN = 5 PLATFORM_LINUX = 6 if platform >= 3: content = json.dumps({"login_pc": obj}) else: content = json.dumps({"login": obj}) send_sys_message(uid, content, config.APP_ID, config.APP_SECRET) return make_json_response(tok, 200)