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)
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)
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)
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)
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)
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)
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)