diff --git a/auto_pt/urls.py b/auto_pt/urls.py index a6d7c98..25c4eed 100644 --- a/auto_pt/urls.py +++ b/auto_pt/urls.py @@ -27,6 +27,7 @@ urlpatterns = [ path(r'sign_in_api', views.sign_in_api, name='sign_in_api'), path(r'update_site_api', views.update_site_api, name='update_site_api'), path(r'edit_site_api', views.edit_site_api, name='edit_site_api'), + path(r'show_sign_api', views.show_sign_api, name='show_sign_api'), path(r'site_sort_api', views.site_sort_api, name='site_sort_api'), path(r'get_log_list', views.get_log_list, name='get_log_list'), path(r'show_log_list', views.show_log_list, name='show_log_list'), diff --git a/auto_pt/views.py b/auto_pt/views.py index 661a404..1fc30e6 100644 --- a/auto_pt/views.py +++ b/auto_pt/views.py @@ -768,7 +768,6 @@ def site_data_api(request): # } for diff in diff_list] return JsonResponse(data=CommonResponse.success( - # msg='全站数据展示功能还未完成,敬请期待!' data={ 'date_list': date_list, 'diff': diff_list @@ -826,6 +825,7 @@ def sign_in_api(request): ).to_dict(), safe=False) my_site = MySite.objects.filter(id=my_site_id).first() sign_state = pt_spider.sign_in(my_site) + logger.info(sign_state) # if sign_state.code == StatusCodeEnum.OK.code: # return JsonResponse(data=CommonResponse.success( # msg=sign_state.msg @@ -895,6 +895,39 @@ def edit_site_api(request): ).to_dict(), safe=False) +def show_sign_api(request): + try: + my_site_id = request.GET.get('id') + logger.info(f'ID值:{my_site_id}') + my_site = MySite.objects.filter(id=my_site_id).first() + sign_in_list = my_site.signin_set.all().order_by('-pk') + sign_in_list = [ + {'created_at': sign_in.created_at.strftime('%Y-%m-%d %H:%M:%S'), 'sign_in_info': sign_in.sign_in_info} + for sign_in in sign_in_list] + site = { + 'id': my_site.id, + 'name': my_site.site.name, + 'icon': my_site.site.logo, + 'url': my_site.site.url, + # 'class': my_site.my_level, + # 'seeding': my_site.seed, + # 'leeching': my_site.leech, + 'last_active': datetime.strftime(my_site.updated_at, '%Y年%m月%d日%H:%M:%S'), + } + return JsonResponse(data=CommonResponse.success( + data={ + 'site': site, + 'sign_in_list': sign_in_list + } + ).to_dict(), safe=False) + except Exception as e: + logger.error(f'签到历史数据获取失败:{e}') + logger.error(traceback.format_exc(limit=3)) + return JsonResponse(data=CommonResponse.error( + msg=f'签到历史数据获取失败:{e}' + ).to_dict(), safe=False) + + def get_log_list(request): path = os.path.join(BASE_DIR, 'db') logger.info(path) diff --git a/pt_site/UtilityTool.py b/pt_site/UtilityTool.py index 787d6b8..4d36444 100644 --- a/pt_site/UtilityTool.py +++ b/pt_site/UtilityTool.py @@ -811,7 +811,7 @@ class PtSpider: logger.info(resp.text) return CommonResponse.success( status=StatusCodeEnum.OK, - msg=resp.text.encode('utf8') + msg=resp.content.decode('utf8') ) except Exception as e: # 打印异常详细信息 diff --git a/templates/auto_pt/status.html b/templates/auto_pt/status.html index 1603059..4986b38 100644 --- a/templates/auto_pt/status.html +++ b/templates/auto_pt/status.html @@ -245,8 +245,8 @@ - - {# 已签到#} + @@ -347,7 +347,6 @@ - @@ -358,11 +357,45 @@ append-to-body style="background-color: rgba(227, 229, 229, 0.6);">
-

--历史数据

- - +

-
+
+ + + +

+

+
+
+
+
+
+ + + +

+

+
+
+
+
+
#} @@ -402,6 +435,7 @@
+
@@ -432,6 +466,8 @@ showAllHistory: false, incrementData: {}, dataLength: -7, + showSignList: false, + signInList: [], } }, beforeMount() { @@ -523,6 +559,35 @@ }); }) }, + showSignIn(id) { + axios.get( + "{% url 'show_sign_api' %}" + `?id=${id}` + ).then(res => { + console.log('获取数据成功', res.data.data) + if (res.data.code === 0) { + this.signInList = res.data.data.sign_in_list + this.site = res.data.data.site + this.showSiteChart = true + this.showSignList = true + + this.$message({ + type: 'success', + message: res.data.msg + }); + } else { + this.$message({ + type: 'warning', + message: res.data.msg + }); + } + }).catch(res => { + console.log('签到失败', res) + this.$message({ + type: 'warning', + message: '签到失败!' + res + }); + }) + }, updateSite(id) { axios.get( "{% url 'update_site_api' %}" + '?id=' + id @@ -592,6 +657,7 @@ {#this.setPie()#} {#this.setCard()#} this.incrementData = res.data.data + this.showSignList = false id == 0 ? this.showAllIncrementHistory() : this.setLine() } else { this.$message({