示例#1
0
def mobile_me(request):
    getUserList = authorization.get_user(request)
    if getUserList[0] == authorization.RESULT_SUCCESS:
        temp_user_list = token.get_user(request)
        if temp_user_list[0] != token.RESULT_SUCCESS :
            return HttpResponse('{"result":'+str(temp_user_list[0])+'}')
        temp_user = temp_user_list[2]
        level_img_str = getUserLevelImg(temp_user)
        level_str = getUserLevelStr(temp_user)
        nickname = getNicknameStr(temp_user)
        username = temp_user.username
        is_staff = temp_user.is_staff
        is_available = not temp_user.is_active
        register_time = str(temp_user.date_joined)
        info = temp_user.info
        return HttpResponse(json.dumps({
            'level_img_str': level_img_str,
            'level_str': level_str,
            'nickname': nickname,
            'username': username,
            'is_staff': bool_to_chs_str_lambda(is_staff),
            'is_available': bool_to_chs_str_lambda(is_available),
            'register_time': register_time[0:len(register_time) - 13],
            'info': info,
        },ensure_ascii=False))
    elif getUserList[0] == authorization.RESULT_TOKEN_NOT_EXIST:
        return HttpResponse(JSON_LOGIN_REQUIRE)
    else:
        return HttpResponse(JSON_OPPERATION_FAIL)
示例#2
0
def mobile_login(request):
    if request.POST:
        print(request.POST)
        resultCode, tokenStr, tempUser = authorization.get_user(request)
        print('登录结果',resultCode, tokenStr, tempUser)
        if resultCode == authorization.RESULT_SUCCESS :
            tokenObj = {}
            tokenObj['token'] = tokenStr
            tokenObj['result'] = authorization.RESULT_SUCCESS
        else :
            tokenObj = {}
            tokenObj['token'] = '?'
            tokenObj['result'] = resultCode
        return HttpResponse(json.dumps(tokenObj))
    return HttpResponse(JSON_REQUIRE_POST)
示例#3
0
def mobile_setting(request):
    getUserList = authorization.get_user(request)
    if getUserList[0] == authorization.RESULT_SUCCESS:
        if (getUserList[2].is_staff and getUserList[2].is_active) or getUserList[2].is_superuser:
            temperature_config = config.get_temperature_config()
            humidity_config = config.get_humidity_config()
            dirt_humidity_config = config.get_dirt_humidity_config()
            fertilization_config = config.get_fertilization_config()
            watering_config = config.get_water_config()
            return HttpResponse(json.dumps({
                'temperature_state': temperature_config.isAutoControl,
                'temperature_upper_limit': temperature_config.upperLimit,
                'temperature_lower_limit': temperature_config.lowerLimit,
                'temperature_upper_actions': temperature_config.upperActions,
                'temperature_lower_actions': temperature_config.lowerActions,
                'himidity_state': humidity_config.isAutoControl,
                'himidity_upper_limit': humidity_config.upperLimit,
                'himidity_lower_limit': humidity_config.lowerLimit,
                'himidity_upper_actions': humidity_config.upperActions,
                'himidity_lower_actions': humidity_config.lowerActions,
                'dirt_himidity_state': dirt_humidity_config.isAutoControl,
                'dirt_himidity_upper_limit': dirt_humidity_config.upperLimit,
                'dirt_himidity_lower_limit': dirt_humidity_config.lowerLimit,
                'dirt_himidity_upper_actions': dirt_humidity_config.upperActions,
                'dirt_himidity_lower_actions': dirt_humidity_config.lowerActions,
                'fertilization_state': fertilization_config.isAutoControl,
                'fertilization_repeat_type': fertilization_config.repeatType,
                'fertilization_hour': fertilization_config.hour,
                'fertilization_minute': fertilization_config.minute,
                'fertilization_repeat_circle': fertilization_config.repeatCircle,
                'fertilization_hint_text': '自动施肥周期',
                'watering_state': watering_config.isAutoControl,
                'watering_repeat_type': watering_config.repeatType,
                'watering_hour': watering_config.hour,
                'watering_minute': watering_config.minute,
                'watering_repeat_circle': watering_config.repeatCircle,
                'watering_hint_text': '自动浇水周期',
            },ensure_ascii=False))
        return HttpResponse(JSON_PERMISSION_DENIED)
    elif getUserList[0] == authorization.RESULT_TOKEN_NOT_EXIST:
        return HttpResponse(JSON_LOGIN_REQUIRE)
    else:
        return HttpResponse(JSON_OPPERATION_FAIL)
示例#4
0
def mobile_schedule(request):
    getUserList = authorization.get_user(request)
    if getUserList[0] == authorization.RESULT_SUCCESS:
        if (getUserList[2].is_staff and getUserList[2].is_active) or getUserList[2].is_superuser:
            try:
                scheduleList = config.get_schedule()['data']
                for scheduleItem in scheduleList:
                    scheduleItem['repeat_str'] = __getScheduleWeekdayStr(scheduleItem['repeat_value'])
            except Exception as e:
                scheduleList = []
            return HttpResponse(json.dumps({
                'scheduleList': scheduleList,
            },ensure_ascii=False))
        else:
            return HttpResponse(JSON_PERMISSION_DENIED)
    elif getUserList[0] == authorization.RESULT_TOKEN_NOT_EXIST:
        return HttpResponse(JSON_LOGIN_REQUIRE)
    else:
        return HttpResponse(JSON_OPPERATION_FAIL)
示例#5
0
def mobile_user(request):
    getUserList = authorization.get_user(request)
    if getUserList[0] == authorization.RESULT_SUCCESS:
        if getUserList[2].is_superuser:
            userList = User.objects.all()
            userListJson = []
            for userItem in userList:
                tempUserJson = {}
                tempUserJson['username'] = userItem.username
                tempUserJson['nickname'] = userItem.nickname
                tempUserJson['is_staff'] = userItem.is_staff
                tempUserJson['is_active'] = userItem.is_active
                tempUserJson['is_admin'] = userItem.is_superuser
                tempUserJson['info'] = userItem.info
                userListJson.append(tempUserJson)
            return HttpResponse(json.dumps(userListJson,ensure_ascii=False))
        return HttpResponse(JSON_PERMISSION_DENIED)
    elif getUserList[0] == authorization.RESULT_TOKEN_NOT_EXIST:
        return HttpResponse(JSON_LOGIN_REQUIRE)
    else:
        return HttpResponse(JSON_OPPERATION_FAIL)
示例#6
0
def mobile_manage(request):
    getUserList = authorization.get_user(request)
    if getUserList[0] == authorization.RESULT_SUCCESS:
        if (getUserList[2].is_staff and getUserList[2].is_active) or getUserList[2].is_superuser:
            device_config = config.get_device_config()
            light_config = config.get_light_config()
            return HttpResponse(json.dumps({
                'device1_state': device_config.device1State,
                'device2_state': device_config.device2State,
                'device3_state': device_config.device3State,
                'device4_state': device_config.device4State,
                'light_state': light_config.isLightOn,
                'light_color': light_config.lightColor,
                'light_color_str': config.get_color_str(light_config.lightColor),
                'light_level': light_config.lightLevel
            },ensure_ascii=False))
        else:
            return HttpResponse(JSON_PERMISSION_DENIED)
    elif getUserList[0] == authorization.RESULT_TOKEN_NOT_EXIST:
        return HttpResponse(JSON_LOGIN_REQUIRE)
    else:
        return HttpResponse(JSON_OPPERATION_FAIL)
示例#7
0
def mobile_index(request):
    getUserList = authorization.get_user(request)
    if getUserList[0] == authorization.RESULT_SUCCESS:
        if int(state.temperature_air) > int(state.temperature_upper):
            temperatureAirSubTitle = '空气温度过高,请采取措施'
        elif int(state.temperature_air) < int(state.temperature_lower):
            temperatureAirSubTitle = '空气温度过低,请采取措施'
        else :
            temperatureAirSubTitle = '空气温度正常'
        # 土壤温度显示的文本
        temperatureDirtSubTitle = ' '
        if int(state.temperature_dirt) > int(state.temperature_upper):
            temperatureDirtSubTitle = '土壤温度过高,请采取措施'
        elif int(state.temperature_dirt) < int(state.temperature_lower):
            temperatureDirtSubTitle = '土壤温度过低,请采取措施'
        else :
            temperatureDirtSubTitle = '土壤温度正常'
        # 空气湿度显示的文本
        humidityAirText = ' '
        if int(state.humidity_air) > int(state.humidity_air_upper):
            humidityAirText = '空气湿度过高,请采取措施'
        elif int(state.humidity_air) < int(state.humidity_air_lower):
            humidityAirText = '空气湿度过低,请采取措施'
        else :
            humidityAirText = '空气湿度正常'
        # 土壤湿度显示的文本
        humidityDirtText = ' '
        if int(state.humidity_dirt) > int(state.humidity_dirt_upper):
            humidityDirtText = '土壤湿度过高,请采取措施'
        elif int(state.humidity_dirt) < int(state.humidity_dirt_lower):
            humidityDirtText = '土壤湿度过低,请采取措施'
        else :
            humidityDirtText = '土壤湿度正常'
        # 灯光的显示文本
        lightTitle = ' '
        lightSubTitle = '亮度'+str(state.light_level*10)+'%'
        if state.light == 1:
            if state.light_color == 0:
                lightTitle = '红色'
            elif state.light_color == 1:
                lightTitle = '绿色'
            elif state.light_color == 2:
                lightTitle = '蓝色'
            elif state.light_color == 3:
                lightTitle = '黄色'
            elif state.light_color == 4:
                lightTitle = '紫色'
            elif state.light_color == 5:
                lightTitle = '青色'
            elif state.light_color == 6:
                lightTitle = '白色'
            else:
                lightTitle = '其他颜色'
        else :
            lightTitle = '关闭'
            lightSubTitle = '已关闭'
        # 自定义设备的显示文本
        deviceStateTitle = ' '
        deviceStateSubTitle = ' '
        if state.device_1 == 1 and state.device_2 == 1 and state.device_3 == 1 and state.device_4 == 1:
            deviceStateTitle = 'ON'
            deviceStateSubTitle = '自定义设备均已打开'
        elif state.device_1 != 1 and state.device_2 != 1 and state.device_3 != 1 and state.device_4 != 1:
            deviceStateTitle = 'OFF'
            deviceStateSubTitle = '自定义设备均已关闭'
        else :
            deviceStateTitle = 'ON'
            deviceStateSubTitle = '自定义设备已部分打开'
        return HttpResponse(json.dumps({
            'temperature_air' : state.temperature_air ,
            'temperature_air_text' : temperatureAirSubTitle ,
            'temperature_dirt' : state.temperature_dirt ,
            'temperature_dirt_text' : temperatureDirtSubTitle ,
            'humidity_air' : state.humidity_air ,
            'humidity_air_text' : humidityAirText ,
            'humidity_dirt' : state.humidity_dirt,
            'humidity_dirt_text' : humidityDirtText,
            'light' : lightTitle,
            'light_text' : lightSubTitle,
            'device_title' : deviceStateTitle,
            'device_subtitle' : deviceStateSubTitle,
            'tempUpper':state.temperature_upper,
            'tempLower':state.temperature_lower,
            'humidityAirUpper':state.humidity_air_upper,
            'humidityAirLower':state.humidity_air_lower,
            'humidityDirtUpper':state.humidity_dirt_upper,
            'humidityDirtLower':state.humidity_dirt_lower
            },ensure_ascii=False))
    elif getUserList[0] == authorization.RESULT_TOKEN_NOT_EXIST:
        return HttpResponse(JSON_LOGIN_REQUIRE)
    return HttpResponse(JSON_OPPERATION_FAIL)