Example #1
0
def api_has_activate(request):
    '''
        api接口 has_activate,验证当前的软件是否激活,并返回授权信息
    '''
    is_active, active_status, info = has_activate()
    if info.has_key('end_date') and info['end_date'].startswith('0000-00-00'):
        info['end_date'] = u'无限期'
    return create_success_dict(data={
        'is_active': is_active,
        'active_status': active_status,
        'info': info
    })
Example #2
0
def activate(request, *args, **kwargs):
    # 1.获取token
    token, code = _getToken(ACTIVATE_USER)
    logger.debug('1.get token=%s', token)
    if not token:
        create_failure_dict(
            msg=u'激活失败',
            debug=[token, code],
            errors=u'Token获取失败',
            reason=CODES.get(LANG, CODES['en']).get(str(code),
                                                    'unknown error'),
        )

    # 获取激活密钥
    sn = request.POST.get('activate_key')
    if DEBUG:
        sn = request.POST.get('activate_key', request.GET.get('activate_key'))
    if not sn:
        return create_failure_dict(msg=u'激活密钥获取失败')

    data = _getLicense(sn, token)

    if isinstance(data, dict) and data.get('code') == 0:
        if not data.has_key('body'):
            return create_failure_dict(msg=u'激活数据获取失败', debug=data)
        body = CryptHelper.decrypt(data['body'], AES_KEY, IV)
        quota = json.loads(body)
        country = models.GroupTB.objects.get(group_id=quota['county'])
        country_name = country.name
        city_name = country.parent.name
        province_name = country.parent.parent.name

        quota['update_time'] = datetime.datetime.now().strftime(
            '%Y-%m-%d %H:%M:%S')
        quota['country_name'] = country_name
        quota['city_name'] = city_name
        quota['area'] = '%s %s %s' % (province_name, city_name, country_name)

        models.Setting.setval('activation', quota)
        val = models.Setting.getval('activation')
        return create_success_dict(msg=u'激活成功', val=val)

    return create_failure_dict(
        msg=CODES.get(LANG, CODES['en']).get(str(data['code']),
                                             'unknown error'),
        reason=CODES.get(LANG, CODES['en']).get(str(data['code']),
                                                'unknown error'),
        debug=data)
Example #3
0
def api_get_none_activate(request):
    '''
        api接口 get_none_activate,获取服务端未使用的授权数 (未用)
    '''
    none_number = get_none_activate()
    return create_success_dict(data={'none_number': none_number})
Example #4
0
def api_get_use_activate_with_detail(request):
    '''
        api接口 get_use_activate_with_detail,获取服务端已使用的授权数 (已用)
    '''
    use_number_dict = get_use_activate_with_detail()
    return create_success_dict(data={'use_number_dict': use_number_dict})
Example #5
0
def api_get_use_activate(request):
    '''
        api接口 get_use_activate,获取服务端已使用的授权数 (已用)
    '''
    use_number = get_use_activate()
    return create_success_dict(data={'use_number': use_number})