예제 #1
0
파일: lib.py 프로젝트: jiachenyu/kaka
def TransmissionTemplateDemo(content):
    template = TransmissionTemplate()
    template.transmissionType = 2
    template.appId = APPID
    template.appKey = APPKEY
    template.transmissionContent = content  #'请填入透传内容'
    # iOS 推送需要的PushInfo字段 前三项必填,后四项可以填空字符串
    # template.setPushInfo(actionLocKey, badge, message, sound, payload, locKey, locArgs, launchImage)
    # template.setPushInfo("", 0, "", "com.gexin.ios.silence", "", "", "", "");

    # APN简单推送
    alertMsg = SimpleAlertMsg()
    alertMsg.alertMsg = "兔乖乖"
    apn = APNPayload()
    apn.alertMsg = alertMsg
    apn.badge = 2
    # apn.sound = ""
    apn.addCustomMsg("payload", "payload")
    # apn.contentAvailable=1
    # apn.category="ACTIONABLE"
    template.setApnInfo(apn)

    logger.info(
        "TransmissionTemplateDemo: transmissionContent={}".format(content))
    return template
예제 #2
0
파일: lib.py 프로젝트: wangyangkobe/kaka
def pushMessageToList(tokenList, template):
    # 消息模版: 
    # 1.TransmissionTemplate:透传功能模板  
    # 2.LinkTemplate:通知打开链接功能模板  
    # 3.NotificationTemplate:通知透传功能模板  
    # 4.NotyPopLoadTemplate:通知弹框下载功能模板

    # template = NotificationTemplateDemo()
    # template = LinkTemplateDemo()
    # template = TransmissionTemplateDemo()
    # template = NotyPopLoadTemplateDemo()

    message = IGtListMessage()
    message.data = template
    message.isOffline = True
    message.offlineExpireTime = 1000 * 3600 * 12
    message.pushNetWorkType = 0

    arr = []
    for token in tokenList:
        target = Target()
        target.appId = APPID
        target.clientId = token
        target.alias = Alias
        arr.append(target)
        
    contentId = push.getContentId(message)
    ret = push.pushMessageToList(contentId, arr)
    logger.info("pushMessageToList result = {}".format(ret))
예제 #3
0
파일: lib.py 프로젝트: jiachenyu/kaka
def pushMessageToList(tokenList, template):
    # 消息模版:
    # 1.TransmissionTemplate:透传功能模板
    # 2.LinkTemplate:通知打开链接功能模板
    # 3.NotificationTemplate:通知透传功能模板
    # 4.NotyPopLoadTemplate:通知弹框下载功能模板

    # template = NotificationTemplateDemo()
    # template = LinkTemplateDemo()
    # template = TransmissionTemplateDemo()
    # template = NotyPopLoadTemplateDemo()

    message = IGtListMessage()
    message.data = template
    message.isOffline = True
    message.offlineExpireTime = 1000 * 3600 * 12
    message.pushNetWorkType = 0

    arr = []
    for token in tokenList:
        target = Target()
        target.appId = APPID
        target.clientId = token
        target.alias = Alias
        arr.append(target)

    contentId = push.getContentId(message)
    ret = push.pushMessageToList(contentId, arr)
    logger.info("pushMessageToList result = {}".format(ret))
예제 #4
0
파일: views.py 프로젝트: wangyangkobe/kaka
def applyPermission(args):
    userId = args.get('UserId', '')
    phone  = args.get('Phone', '')
    user = User.getUserByIdOrPhoneOrMail(id=userId, phone=phone)
    applyDetail = args.get('ApplyDetail')
    macAddress = applyDetail.get('Mac', '')
    startTime  = applyDetail.get('StartTime', '') if applyDetail.get('StartTime', '') else None
    endTime    = applyDetail.get('EndTime', '') if applyDetail.get('EndTime', '') else None
    money      = applyDetail.get('Money', 0.0)
    machine = Machine.query.filter_by(macAddress=macAddress).first()
    if not machine:
        return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "MacAddress {} does't exist".format(macAddress)}), 400

    needPermission = applyDetail.get('Permission')
    reason = applyDetail.get('Reason')
    shenQing = ShenQing(user.id, machine.id, reason=reason, needPermission=needPermission, startTime=startTime, endTime=endTime, money=money)
    db.session.add(shenQing)
    db.session.commit()

    managerIds = [element.userId for element in QuanXian.query.filter_by(machineId=machine.id) if element.permission in [QuanXian.SuperAdmin, QuanXian.Admin]]
    tokenList = filter(lambda x : len(x) > 0, [User.query.get(id).pushToken for id in managerIds])
    logger.info("managerIds = {}\ntokens ={}".format(managerIds, tokenList))

    pushContent = request.get_json()
    pushContent.pop('Token', None)
    pushContent['UserName'] = user.userName
    pushContent['Phone'] = user.phone
    pushContent['Action'] = 'applyPermission'
    pushContent['ShenQingId'] = shenQing.id
    pushMessageToSingle(tokenList, TransmissionTemplateDemo( json.dumps(pushContent) ))

    return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '申请成功!', 'ApplyDetail': shenQing.toJson()}), 200
예제 #5
0
def updatePassword(args):
    phone = args.get('Phone', '')
    user = User.getUserByIdOrPhoneOrMail(phone=phone)

    questionId = args.get('QuestionId')
    questionAnswer = args.get('QuestionAnswer')
    if (user.passWordQA != "") and (user.passWordQA
                                    == str(questionId) + ";" + questionAnswer):
        try:
            user.updatePassWord(args.get('NewPassWord'))
            db.session.merge(user)
            db.session.commit()
            return jsonify({
                'Status': 'Success',
                'StatusCode': 0,
                'Msg': "操作成功!",
                'User': user.toJson()
            }), 200
        except ValueError, error:
            logger.info('ValueError: errorMsg = {}'.format(error.message))
            return jsonify({
                'Status': 'Failed',
                'StatusCode': -1,
                'Msg': error.message
            }), 400
예제 #6
0
파일: views.py 프로젝트: wangyangkobe/kaka
def getMachineDetailInfo(args):
    logger.info("getMachineDetailInfo: request json = {}".format(request.get_json()))
    macList = request.get_json().get('MacList')
    mac     = macList.get('Mac')
    machine = Machine.query.filter_by(macAddress=mac).first()
    if machine:
        return  jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '操作成功!', 'MachineInfo': machine.toJson()}), 200
    else:
        return jsonify({'Status': 'Success', 'StatusCode': -1, 'Msg': '操作失败,机器mac={}不存在!'.format(mac)}), 400
예제 #7
0
def register(args):
    try:
        user = User(**request.get_json())
        user.verifyUser()
        db.session.add(user)
        db.session.commit()
        return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '注册成功!', 'User': user.toJson()}), 200
    except ValueError, error:
        logger.info('ValueError: errorMsg = {}'.format(error.message))
        return jsonify({'Status': 'Failed', 'StatusCode': -1, 'Msg': error.message}), 400
예제 #8
0
def applyPermission(args):
    userId = args.get('UserId', '')
    phone = args.get('Phone', '')
    user = User.getUserByIdOrPhoneOrMail(id=userId, phone=phone)
    applyDetail = args.get('ApplyDetail')
    macAddress = applyDetail.get('Mac', '')
    startTime = applyDetail.get('StartTime', '') if applyDetail.get(
        'StartTime', '') else None
    endTime = applyDetail.get('EndTime', '') if applyDetail.get('EndTime',
                                                                '') else None
    money = applyDetail.get('Money', 0.0)
    machine = Machine.query.filter_by(macAddress=macAddress).first()
    if not machine:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': "MacAddress {} does't exist".format(macAddress)
        }), 400

    needPermission = applyDetail.get('Permission')
    reason = applyDetail.get('Reason')
    shenQing = ShenQing(user.id,
                        machine.id,
                        reason=reason,
                        needPermission=needPermission,
                        startTime=startTime,
                        endTime=endTime,
                        money=money)
    db.session.add(shenQing)
    db.session.commit()

    managerIds = [
        element.userId
        for element in QuanXian.query.filter_by(machineId=machine.id)
        if element.permission in [QuanXian.SuperAdmin, QuanXian.Admin]
    ]
    tokenList = filter(lambda x: len(x) > 0,
                       [User.query.get(id).pushToken for id in managerIds])
    logger.info("managerIds = {}\ntokens ={}".format(managerIds, tokenList))

    pushContent = request.get_json()
    pushContent.pop('Token', None)
    pushContent['UserName'] = user.userName
    pushContent['Phone'] = user.phone
    pushContent['Action'] = 'applyPermission'
    pushContent['ShenQingId'] = shenQing.id
    pushMessageToSingle(tokenList,
                        TransmissionTemplateDemo(json.dumps(pushContent)))

    return jsonify({
        'Status': 'Success',
        'StatusCode': 0,
        'Msg': '申请成功!',
        'ApplyDetail': shenQing.toJson()
    }), 200
예제 #9
0
def addressGeoCoding(address):
    print address
    if not address:
        raise ValueError("address不能为空!")
    try:
        location = Baidu('sXN2OGE9BeXBtg86alaspxFFcEWEp5B1').geocode(address)
        logger.info("addressGeoCoding, location = {}".format(location))
        return (location.longitude, location.latitude)
    except Exception as e:
        print e
        raise ValueError("地址 %s 解析失败,error=%s!" % (address, e.message))
예제 #10
0
 def __init__(self, **kargs):
     logger.info('User __init__: kargs = {}'.format(kargs))
     self.userName = kargs.get('UserName', "")
     self.passWord = generate_password_hash(kargs.get('Password'))
     self.phone = kargs.get('Phone', '')
     self.email = kargs.get('Email', '')
     self.verifyCode = kargs.get('VerifyCode', '')
     self.pushToken = kargs.get('PushToken', '')
     #self.userType   = kargs.get('UserType', 0)
     self.registerType = int(kargs.get('RegisterType', 0))
     self.userMoney = kargs.get('UserMoney', 0.0)
     self.passWordQA = kargs.get('PassWordQA', '')
예제 #11
0
파일: models.py 프로젝트: wangyangkobe/kaka
 def __init__(self, **kargs):
     logger.info('User __init__: kargs = {}'.format(kargs))
     self.userName = kargs.get('UserName', "")
     self.passWord = generate_password_hash(kargs.get('Password'))
     self.phone    = kargs.get('Phone', '')
     self.email    = kargs.get('Email', '')
     self.verifyCode = kargs.get('VerifyCode', '')
     self.pushToken  = kargs.get('PushToken', '')
     #self.userType   = kargs.get('UserType', 0)
     self.registerType = int(kargs.get('RegisterType', 0))
     self.userMoney   = kargs.get('UserMoney', 0.0)
     self.passWordQA  = kargs.get('PassWordQA', '')
예제 #12
0
파일: views.py 프로젝트: wangyangkobe/kaka
def updatePassword(args):
    phone  = args.get('Phone', '')
    user = User.getUserByIdOrPhoneOrMail(phone=phone)

    if not user:
        return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "User phone={} does't exist".format(phone)}), 400

    questionId = args.get('QuestionId')
    questionAnswer = args.get('QuestionAnswer')
    if (user.passWordQA != "") and (user.passWordQA == str(questionId) + ";" + questionAnswer):
        try:
            user.updatePassWord(args.get('NewPassWord'))
            db.session.merge(user)
            db.session.commit()
            return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': "操作成功!", 'User': user.toJson()}), 200
        except ValueError, error:
            logger.info('ValueError: errorMsg = {}'.format(error.message))
            return jsonify({'Status': 'Failed', 'StatusCode': -1, 'Msg': error.message}), 400
예제 #13
0
파일: views.py 프로젝트: jiachenyu/kaka
def getMachineDetailInfo(args):
    logger.info("getMachineDetailInfo: request json = {}".format(
        request.get_json()))
    macList = request.get_json().get('MacList')
    mac = macList.get('Mac')
    machine = Machine.query.filter_by(macAddress=mac).first()
    if machine:
        return jsonify({
            'Status': 'Success',
            'StatusCode': 0,
            'Msg': '操作成功!',
            'MachineInfo': machine.toJson()
        }), 200
    else:
        return jsonify({
            'Status': 'Success',
            'StatusCode': -1,
            'Msg': '操作失败,机器mac={}不存在!'.format(mac)
        }), 400
예제 #14
0
파일: views.py 프로젝트: wangyangkobe/kaka
def getMachinePermissionDetail(args):
    userId = args.get('UserId')
    phone  = args.get('PhoneList').get('Phone')
    ownMachines = QuanXian.query.filter(QuanXian.userId == userId).filter( QuanXian.permission.in_((0,1,2)) )
    ownMachineIds = [element.machineId for element in ownMachines]
    userIds = []
    if phone == 'All':
        userIds = [user.id for user in User.query.all()]
    else:
        userIds = [user.id for user in User.query.filter_by(phone=phone)]
    logger.info("getMachinePermissionDetail ownMachineIds = {}".format(ownMachineIds))
    if not ownMachineIds:
        return jsonify({'Status': 'Success', 'StatusCode': -1, 'Msg': '操作失败,您还不是任何机器的管理员!'}), 400

    macList = args.get('MacList')
    permissonDetail = []
    for mac in macList:
        if mac.get('Mac') == 'All':
            for element in QuanXian.query.filter(QuanXian.machineId.in_(ownMachineIds)):
                if element.userId not in userIds:
                    continue
                user = User.query.get(element.userId)
                userJson = user.toJson()
                userJson.pop('passWord', None)
                userJson.pop('token', None)
                machine = Machine.query.get(element.machineId)
                permissonDetail.append({'User': userJson, 'Permission': element.permission, 'Machine': machine.toJson()})
        else:
            machine = Machine.query.filter_by(macAddress=mac.get('Mac')).first()
            if not machine:
                return jsonify({'Status': 'Success', 'StatusCode': -1, 'Msg': '操作失败,机器{}不存在!'.format(mac.get('Mac'))}), 400
            if machine.id not in ownMachineIds:
                return jsonify({'Status': 'Success', 'StatusCode': -1, 'Msg': '操作失败,您不是机器{}的管理员!'.format(mac.get('Mac'))}), 400
            for element in QuanXian.query.filter_by(machineId=machine.id):
                if element.userId not in userIds:
                    continue
                user = User.query.get(element.userId)
                userJson = user.toJson()
                userJson.pop('passWord', None)
                userJson.pop('token', None)
                machine = Machine.query.get(element.machineId)
                permissonDetail.append({'User': userJson, 'Permission': element.permission, 'Machine': machine.toJson()})
    return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '操作成功!', 'PermissionDetail': permissonDetail}), 200
예제 #15
0
def notify_url_handler():
    logger.info('running notify_url_handler...\n' +
                pprint.pformat(request.args.to_dict()))
    if notify_verify(request.args.to_dict()):
        #商户网站订单号
        tn = request.args.get('out_trade_no')
        logger.info('Change the status of order %s' % tn)
        #支付宝单号
        trade_no = request.args.get('trade_no')
        #返回支付状态
        trade_status = request.args.get('trade_status')
        order = Order.query.get(id=tn)
        order.status = trade_status
        db.session.merge(order)
        db.session.commit()
        if trade_status == 'TRADE_SUCCESS' or trade_status == 'TRADE_FINISHED':
            return "success"
    else:
        return "fail"
예제 #16
0
파일: lib.py 프로젝트: wangyangkobe/kaka
def pushMessageToSingle(tokenList, template):    
    # 定义"SingleMessage"消息体,设置是否离线,离线有效时间,模板设置
    message = IGtSingleMessage()
    message.isOffline = True
    message.offlineExpireTime = 1000 * 3600 * 12
    message.data = template
    message.pushNetWorkType = 0#设置是否根据WIFI推送消息,2为4G/3G/2G,1为wifi推送,0为不限制推送
    target = Target()
    target.appId = APPID
    
    for token in tokenList:
        target.clientId = token
        try:
            ret = push.pushMessageToSingle(message, target)
            logger.info("pushMessageToSingle: token={}, result={}".format(token, ret))
        except RequestException, e:
            # 发生异常重新发送
            requstId = e.getRequestId()
            ret = push.pushMessageToSingle(message, target, requstId)
            logger.info("pushMessageToSingle: token={}, resend result={}".format(token, ret))
예제 #17
0
def createShare(args):
    user = User.getUserByIdOrPhoneOrMail(id=args.get('UserId', ''),
                                         phone=args.get('Phone', ''))
    if Share.query.filter_by(userId=user.id,
                             title=args.get('Title'),
                             address=args.get('Address')).count() > 0:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': '你已经发布过相同的分享了!'
        }), 400
    try:
        (longitude, latitude) = addressGeoCoding(args.get('Address'))
    except Exception as error:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': str(error)
        }), 400

    hotPoint = HotPoint.checkExist(args.get('HotPointTag'))

    shareDict = dict(args)
    shareDict.update({
        'UserId': user.id,
        'HotPointIds': hotPoint.id,
        'Longitude': longitude,
        'ImageUrls': ','.join(args.get('ImageUrls')),
        'Latitude': latitude
    })
    shareDict['Address'] = args.get('Address')
    logger.info("createShare, shareObj = \n" + pprint.pformat(shareDict))
    shareObj = Share(**shareDict)
    db.session.add(shareObj)
    db.session.commit()
    return jsonify({
        'Status': 'Success',
        'StatusCode': 0,
        'Msg': "操作成功!",
        'Share': shareObj.toJson()
    }), 200
예제 #18
0
파일: lib.py 프로젝트: jiachenyu/kaka
def pushMessageToSingle(tokenList, template):
    # 定义"SingleMessage"消息体,设置是否离线,离线有效时间,模板设置
    message = IGtSingleMessage()
    message.isOffline = True
    message.offlineExpireTime = 1000 * 3600 * 12
    message.data = template
    message.pushNetWorkType = 0  #设置是否根据WIFI推送消息,2为4G/3G/2G,1为wifi推送,0为不限制推送
    target = Target()
    target.appId = APPID

    for token in tokenList:
        target.clientId = token
        try:
            ret = push.pushMessageToSingle(message, target)
            logger.info("pushMessageToSingle: token={}, result={}".format(
                token, ret))
        except RequestException, e:
            # 发生异常重新发送
            requstId = e.getRequestId()
            ret = push.pushMessageToSingle(message, target, requstId)
            logger.info(
                "pushMessageToSingle: token={}, resend result={}".format(
                    token, ret))
예제 #19
0
파일: lib.py 프로젝트: wangyangkobe/kaka
def TransmissionTemplateDemo(content):
    template = TransmissionTemplate()
    template.transmissionType = 2
    template.appId = APPID
    template.appKey = APPKEY
    template.transmissionContent = content #'请填入透传内容'
    # iOS 推送需要的PushInfo字段 前三项必填,后四项可以填空字符串
    # template.setPushInfo(actionLocKey, badge, message, sound, payload, locKey, locArgs, launchImage)
    # template.setPushInfo("", 0, "", "com.gexin.ios.silence", "", "", "", "");

    # APN简单推送
    alertMsg = SimpleAlertMsg()
    alertMsg.alertMsg = "兔乖乖"
    apn = APNPayload();
    apn.alertMsg = alertMsg
    apn.badge = 2
    # apn.sound = ""
    apn.addCustomMsg("payload", "payload")
    # apn.contentAvailable=1
    # apn.category="ACTIONABLE"
    template.setApnInfo(apn)
    
    logger.info("TransmissionTemplateDemo: transmissionContent={}".format(content))
    return template
예제 #20
0
def searchShare(args):
    hotPoint = HotPoint.query.filter_by(name=args.get('HotPointTag')).first()
    if not hotPoint:
        return jsonify({
            'Status':
            'Failed',
            'StatusCode':
            -1,
            'Msg':
            "输入的HotPointTag={}无效!".format(args.get('HotPointTag'))
        }), 400
    try:
        (longitude, latitude) = addressGeoCoding(args.get('Address'))
    except Exception as error:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': str(error)
        }), 400

    sql = text(
        'SELECT *, (POWER(MOD(ABS(longitude - {}),360),2) + POWER(ABS(latitude - {}),2)) AS distance FROM `share` where hotPointIds={} ORDER BY distance LIMIT 100'
        .format(longitude, latitude, hotPoint.id))
    result = []
    for row in db.engine.execute(sql.execution_options(autocommit=True)):
        logger.info(row)
        share = Share.query.get(row['id']).toJson()
        share['Distance'] = row['distance']
        result.append(share)

    return jsonify({
        'Status': 'Success',
        'StatusCode': 0,
        'Msg': "操作成功!",
        'Shares': result
    }), 200
예제 #21
0
파일: views.py 프로젝트: jiachenyu/kaka
def getMachinePermissionDetail(args):
    userId = args.get('UserId')
    phone = args.get('PhoneList').get('Phone')
    ownMachines = QuanXian.query.filter(QuanXian.userId == userId).filter(
        QuanXian.permission.in_((0, 1, 2)))
    ownMachineIds = [element.machineId for element in ownMachines]
    userIds = []
    if phone == 'All':
        userIds = [user.id for user in User.query.all()]
    else:
        userIds = [user.id for user in User.query.filter_by(phone=phone)]
    logger.info(
        "getMachinePermissionDetail ownMachineIds = {}".format(ownMachineIds))
    if not ownMachineIds:
        return jsonify({
            'Status': 'Success',
            'StatusCode': -1,
            'Msg': '操作失败,您还不是任何机器的管理员!'
        }), 400

    macList = args.get('MacList')
    permissonDetail = []
    for mac in macList:
        if mac.get('Mac') == 'All':
            for element in QuanXian.query.filter(
                    QuanXian.machineId.in_(ownMachineIds)):
                if element.userId not in userIds:
                    continue
                user = User.query.get(element.userId)
                userJson = user.toJson()
                userJson.pop('passWord', None)
                userJson.pop('token', None)
                machine = Machine.query.get(element.machineId)
                permissonDetail.append({
                    'User': userJson,
                    'Permission': element.permission,
                    'Machine': machine.toJson()
                })
        else:
            machine = Machine.query.filter_by(
                macAddress=mac.get('Mac')).first()
            if not machine:
                return jsonify({
                    'Status': 'Success',
                    'StatusCode': -1,
                    'Msg': '操作失败,机器{}不存在!'.format(mac.get('Mac'))
                }), 400
            if machine.id not in ownMachineIds:
                return jsonify({
                    'Status':
                    'Success',
                    'StatusCode':
                    -1,
                    'Msg':
                    '操作失败,您不是机器{}的管理员!'.format(mac.get('Mac'))
                }), 400
            for element in QuanXian.query.filter_by(machineId=machine.id):
                if element.userId not in userIds:
                    continue
                user = User.query.get(element.userId)
                userJson = user.toJson()
                userJson.pop('passWord', None)
                userJson.pop('token', None)
                machine = Machine.query.get(element.machineId)
                permissonDetail.append({
                    'User': userJson,
                    'Permission': element.permission,
                    'Machine': machine.toJson()
                })
    return jsonify({
        'Status': 'Success',
        'StatusCode': 0,
        'Msg': '操作成功!',
        'PermissionDetail': permissonDetail
    }), 200
예제 #22
0
파일: views.py 프로젝트: wangyangkobe/kaka
           'Password'    : fields.Str(required=True),
           #'UserType'    : fields.Int(required=True, missing=1, validate=validateUserType),
           'RegisterType': fields.Int(required=True, missing=0, validate=lambda value : value in [0, 1])},
          locations = ('json',))
def register(args):
    try:
        user = User(**request.get_json())
        user.verifyUser()
        db.session.add(user)
        db.session.commit()
        return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '注册成功!', 'User': user.toJson()}), 200
    except ValueError, error:
        logger.info('ValueError: errorMsg = {}'.format(error.message))
        return jsonify({'Status': 'Failed', 'StatusCode': -1, 'Msg': error.message}), 400
    except Exception, error:
        logger.info('Exception: errorMsg = {}'.format(error.message))
        return jsonify({'Status': 'Failed', 'StatusCode': -2, 'Msg': error.message}), 400
    
@api_blueprint.route('/login', methods=['POST'])
@verify_request_json
@use_args({'Password'     : fields.Str(required=True),
           'Phone'        : fields.Str(missing=''),
           'Email'        : fields.Str(missing=''),
           'RegisterType' : fields.Int(required=True, validate=lambda value : value in [0, 1])},
          locations = ('json',))
def login(args):
    passWord = args['Password']
    registerType = args['RegisterType']
    phone = args['Phone']
    email = args['Email']
    if registerType == 0 and not phone:
예제 #23
0
        db.session.commit()
        return jsonify({
            'Status': 'Success',
            'StatusCode': 0,
            'Msg': '注册成功!',
            'User': user.toJson()
        }), 200
    except ValueError, error:
        logger.info('ValueError: errorMsg = {}'.format(error.message))
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': error.message
        }), 400
    except Exception, error:
        logger.info('Exception: errorMsg = {}'.format(error.message))
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -2,
            'Msg': error.message
        }), 400


@api_blueprint.route('/login', methods=['POST'])
@verify_request_json
@use_args(
    {
        'Password':
        fields.Str(required=True),
        'Phone':
        fields.Str(missing=''),