현재 네비게이션 페이지 오픈소스 프로젝트의 대부분은 커스터마이징이 잘 되지 않고, 개인이 주목하고 싶은 정보가 너무 산재해 있기 때문에 사용자의 커스터마이징이 가능한 네비게이션 페이지를 작성하고 정보와 기능을 통합하기로 결정했습니다. 그들은 필요합니다.
업데이트가 재개되었습니다! 지난 2년 동안 일이 바빠서 최근에는 수리할 시간이 별로 없었습니다.
프런트엔드는 Vue.js를 사용하고 백엔드는 Python을 사용하며 MariaDB+Redis는 데이터 저장소를 제공합니다. 프런트엔드 프레임워크는 Element UI를 사용하고 백엔드 프레임워크는 Flask를 사용하며 백엔드 ORM은 Peewee를 사용합니다.
? 버그/요구 사항/제안 사항이 있는 경우 재현 단계/아이디어를 첨부하고 이슈를 제출해 주세요!
웰컴 스타!
? 개인적으로 공항에서 몇년째 사용중인데 빠르고 저렴해서 정말 추천드려요! 이 링크를 클릭하세요!
ByteDance 소셜 채용 내부 프로모션은 이 링크를 클릭하여 제출할 수 있습니다. 캠퍼스 채용 내부 프로모션 코드: AWN958P, 전달 및 확산을 환영합니다!
dev 브랜치는 개발 중인 브랜치이므로 실행에 문제가 있을 수 있습니다. 배포 테스트에는 master 브랜치를 사용하는 것이 좋습니다.
Docker는 이미 작업 중입니다~
먼저 Python3, Pip, MySQL(테스트 중에는 MariaDB를 사용함) 및 Redis 환경이 필요합니다.
SeverChan에 적용된 키는 WeChat에 알림을 보내는 데 사용됩니다. Zefeng Weather에 사용되는 키는 날씨 정보를 얻는 데 사용됩니다. 이메일과 비밀번호는 기본적으로 QQ 메일함의 비밀번호 획득 방법을 참조하세요.
환경이 확보되면 python3을 사용하여 루트 디렉터리에서 start.py를 실행하고 프롬프트를 따릅니다.
목차 | 콘텐츠 |
---|---|
/백엔드 | 백엔드 코드 |
/백엔드/run.py | 백엔드 항목 파일 |
/프런트엔드 | 프런트엔드 코드 |
/거리 | 프론트엔드 컴파일의 산물 |
/업로드 | 사용자가 업로드한 파일 저장 |
/배경화면 | 스크랩한 Bing 배경화면 저장 |
여기를 클릭하면 vscode를 사용하여 일시적으로 코드를 확인할 수 있습니다.
입구: 홈페이지
기능: 콘텐츠 입력 후 검색 URL로 이동합니다. 페이지 진입 시 자동으로 검색창에 포커스가 배치됩니다. 텍스트를 입력하면 프롬프트가 나타날 수 있습니다. (데이터 테이블 search_engines에서 해당 엔진의 콜백 기능을 구성해야 합니다.) .엔진을 추가하거나 삭제해도 데이터베이스에 추가됩니다.
입장: 콘솔에 로그인한 후 왼쪽 상단에 사용자 이름을 올려 놓습니다.
기능: 향후 권한 제어 또는 정렬 작업을 용이하게 하기 위해 콘솔 테이블에 등록된 프런트엔드 구성 요소 입구를 제공합니다. 프런트엔드 모듈을 추가해야 하는 경우 프런트엔드 비즈니스를 작성하는 것 외에도 추가해야 합니다. 콘솔 테이블에 기록합니다.
입장: 로그인 후 좌측 상단 - 콘솔 - 스크립트 실행 플랫폼에서 사용자 이름을 마우스로 가리키세요.
기능: 백그라운드 프로그램용 통합 드라이버. 프런트엔드 양식은 모두 구성에 의해 생성되므로 프런트엔드 코드를 건드릴 필요가 없습니다. 구성에 의해 생성된 양식을 작성하여 백엔드 실행 스크립트에 스크립트를 제출하고 실행 결과를 표시할 수 있습니다. 또한 정기적으로 스크립트를 실행하고, 이전에 실행한 작업을 재생하고, 실행 시간을 기록하고, 작업 기록 양식을 사용자 정의하고, 기타 인간화 기능을 수행하는 기능도 있습니다.
알아채다:
기준 치수:
스크립트 편집:
초기 옵션:
구성 요소 옵션:
print()
사용하여 출력해야 하는 텍스트를 인쇄하는 것입니다. 또한 특정 데이터 형식을 통해 선택기 구성 요소의 옵션을 초기화할 수 있습니다. 아래에: import json
d = {
'code' : 200 , # 状态码,非必填,无实际作用
'data' : {
'msg' : 'hello n world qwe n qewqweewqwe' , # 展示的文本,非必须,会被解析为html,使用"n"换行
'value' : '123' , # 非必须,当传递value时,会将组件内的值替换成传回的值
'options' : [ # 非必须,当传递options时,会将选择器组件内的选项替换成传回的选项
{
'label' : '234' , # 标签,用于选择器组件展示的值
'value' : '234' # 值,用于选择器组件选择时实际代表和传递的值
},
]
}
}
print ( json . dumps ( d ))
입장: 콘솔-계정 및 권한 로그인 후 왼쪽 상단에 사용자 이름을 올려 놓습니다.
기능: "사용자 역할 권한" 모델을 사용하여 작성된 인터페이스 수준 권한 제어 시스템. 인터페이스는 데코레이터를 사용하여 권한을 제어할 수 있습니다. 기본적으로 사용자가 인터페이스를 요청할 때 요청하는 IP는 로그인할 때 사용하는 IP와 일치해야 합니다. 이는 비교적 엄격한 정책이며 "/backend/app/privilege/privilege_control.py:24"에서 끌 수 있습니다.
기준 치수:
사용자 설정: 사용자 추가, 사용자 비활성화, 사용자 삭제, 사용자 역할 수정, 사용자 비밀번호 수정
역할 해당 권한 설정: 역할 추가, 역할 비활성화, 역할 삭제, 역할 이름 수정, 역할 해당 권한 수정
권한 설정: 권한 추가, 권한 비활성화, 권한 삭제, 권한 수정
입장 : 로그인 후 좌측상단 사용자명 마우스오버 - 콘솔 - 홈페이지 구성요소 수정
기능: 드래그 앤 드롭으로 홈페이지 표시 방식을 수정합니다. 구성 요소의 상위는 "구성 요소 세트"로 정의됩니다. 구성 요소 세트가 하나만 있는 경우 페이지에는 구성 요소 세트 제목이 표시되지 않고 포함된 구성 요소만 표시됩니다. 페이지에는 구성요소 세트와 여기에 포함된 구성요소가 표시됩니다.
버튼: 왼쪽 및 오른쪽 드래그를 사용하여 컴포넌트 세트의 순서를 편집하고, 컴포넌트 세트 오른쪽에 있는 둥근 더하기 버튼을 사용하여 컴포넌트 세트를 추가하고, 각 컴포넌트 세트 내의 편집 버튼을 사용하여 컴포넌트 이름을 수정합니다. 세트, 각 구성 요소 사용 구성 요소 세트를 삭제하려면 세트 내의 삭제 버튼을 사용하고, 구성 요소 세트의 구성 요소 순서를 편집하려면 위아래 드래그 방법을 사용하고, 구성 요소를 추가하려면 각 구성 요소 세트의 사각형 더하기 버튼을 사용합니다. 구성 요소를 삭제하려면 구성 요소 오른쪽에 있는 삭제 버튼을 사용하세요. 구성요소 세부정보는 수정을 지원하지 않습니다. 라이브러리(위젯)를 수동으로 변경하여 수정할 수 있습니다.
입장 : 로그인 후 좌측 상단에 사용자 이름을 올려주세요 - 네트워크 디스크/픽쳐 베드
네트워크 디스크:
다운로드 링크를 통한 공유를 지원하는 간편한 네트워크 디스크 기능입니다. 파일 업로드 크기 및 다운로드 속도 제한이 없습니다. 단, 대용량 파일을 업로드하는 경우 로딩이 완료될 때까지 잠시 기다려야 합니다. 파일은 루트 디렉터리의 업로드 폴더에 저장되고 Date라는 하위 폴더가 생성됩니다.
버튼: 인터페이스의 상단 부분은 파일 업로드 버튼입니다. 파일을 클릭하여 선택하거나 파일을 브라우저로 드래그하여 업로드할 수 있습니다. 아래 파일 목록의 버튼은 다음과 같습니다. 1. 다운로드 버튼 - 다운로드하려면 클릭하세요. 2. 공유 버튼(공유 아님)이 나타납니다. - 클릭하면 공유 링크가 생성됩니다. 다른 사람과 공유한 후 다른 사람이 이를 브라우저에 붙여넣어 파일 다운로드를 실행할 수 있습니다. 압축하여 실제 다운로드 다운로드 링크는 쉽게 사용할 수 있도록 짧은 링크로 압축되며, 링크에는 기본 보안을 보장하는 인증 토큰이 있습니다. 3. 공유 링크 복사 버튼(공유 후 표시) - 공유 링크를 클립보드에 복사하려면 클릭하세요. 공유 취소 버튼(공유 후 나타남) - 공유 링크를 무효화하고 공유를 취소합니다. 5. 삭제 버튼 - 파일을 논리적으로 삭제합니다. 6. 파일 이름 수정 버튼, 파일 이름을 수정할 수 있습니다.
사진 침대:
로그인하지 않으면 해당 IP 위치의 날씨 정보가 표시됩니다(타사 API에 의해 제한되며 IP 위치가 해외인 경우 지원이 좋지 않음). 로그인 후 맞춤 설정할 수 있습니다. 표시 범위는 IP + 사용자 정의 위치 정보입니다. 또한, 데이터 요청 시 속도 보장을 위해 캐시가 먼저 사용됩니다. 캐시된 데이터는 3시간 동안 유효합니다(효과가 없는 경우 backendappweatherweather_function.py:16에서 수정). 캐시를 사용하면 외부 API에 데이터를 가져와 캐시에 저장하도록 요청됩니다.
버튼: 추가 - 로그인 후 새 도시를 추가합니다. 정렬 - 맞춤 도시를 드래그하여 정렬하거나 삭제할 수 있습니다. 푸시 - 비와 눈 날씨, 급격한 온도 상승/하강 등 세 가지 종류의 비정상적인 날씨 옵션이 있습니다. 공기질과 푸시되는 위치와 표시되는 위치는 독립적이며 별도로 설정할 수 있습니다.
로그인 후 맞춤 설정이 가능합니다. 로그인하지 않았을 때 표시되는 북마크는 데이터베이스에서 수정됩니다. (bookmarks.user_id==0)
버튼: 추가 - 로그인 후 북마크 추가 설정 - 로그인 후 아이콘을 드래그하여 북마크를 정렬, 삭제 또는 수정
Apple App Store에서 앱을 찾아 가격을 모니터링하고, 가격이 설정된 임계값보다 낮으면 사용자에게 알립니다.
메모를 기록하고 메모 내용을 정기적으로 WeChat/이메일로 푸시하세요. 기능을 너무 복잡하게 만들고 싶지 않기 때문에 제출된 푸시를 취소할 수는 없지만 여러 번 설정할 수 있습니다. 즉, 설정된 푸시를 마음대로 추가할 수는 있지만 뺄 수는 없습니다. 또한, 실수로 삭제한 경우나 기타 상황에 적합한 '타임머신'을 통해 메모를 이전 버전으로 롤백할 수 있습니다.
버튼: 마우스를 줄임표에 올리면 세 개의 버튼이 나타날 수 있습니다. 편집 및 삭제 - 선택한 메모를 편집 또는 삭제하고 제출 후 모든 메모를 새 버전으로 저장합니다. 알림 - 클릭하면 편집 알림 대화 상자가 나타납니다. WeChat을 통해 액세스할 수 있으며 최소 5분 단위로 이메일로 메모 내용을 상기시킬 수 있습니다. 아래의 원형 버튼은 각각 신규 버튼과 타임머신 버튼입니다. 해당 기능은 다시 설명하지 않습니다.
알리바바 서비스를 이용하여 번역기를 사용하여 구현됩니다. 왼쪽 입력 영역에 텍스트를 입력하면 일정 시간이 지나면 위에서 선택한 언어에 따라 번역됩니다.
시스템은 "스크립트 실행 플랫폼"을 사용하여 매일 하나의 Bing 배경화면을 크롤링하도록 스크립트를 구동하고, 위젯은 7일 이내에 배경화면을 표시하도록 스크롤하여 원본 사진을 다운로드합니다.
금 가격을 모니터링하고 가격이 임계값을 초과하면 경고를 보내도록 임계값을 설정할 수 있습니다. "스크립트 실행 플랫폼"에서 예약된 작업을 구성해야 합니다. 데이터를 크롤링할 때 크롤러는 국내 금이 열리지 않는 시간을 건너뜁니다.
상하이 및 선전 주식시장, 홍콩 주식, 미국 주식의 주식 데이터를 크롤링하고 임계값 초과 시 알림 기능을 설정합니다.
펀드 데이터를 크롤링하고 임계값 초과 시 알림 기능을 설정합니다.
20개 이상의 웹사이트에서 정보를 집계하고 예약된 작업을 통해 매시간 수집합니다. 제목을 클릭하면 내용의 일부 스크린샷을 수동으로 새로 고칠 수 있습니다.
참고: 2020년 11월 현재 Baidu, Weibo, Omelette 및 Sogou에서는 개인 사용자의 정보 크롤링을 명확하게 금지하고 있으며, 프로젝트 실행 시 관련 코드를 엄격히 삭제하시기 바랍니다.
웹사이트 규칙은 변경될 수 있으므로, 프로젝트 실행 시 순차적으로 본 프로젝트에 사용되는 데이터 소스를 확인하시기 바랍니다. 로봇 프로토콜이 개별 사용자의 크롤링을 금지하는 경우 해당 코드를 삭제하세요!
로봇 프로토콜을 준수하고, 크롤러 윤리를 준수하며, 더 나은 인터넷 환경을 구축합니다.
?이 프로젝트의 개발은 수많은 우수한 오픈 소스 프로젝트와 웹 사이트 서비스에 의존합니다.
코드는 데이터 캐싱 및 빈도 제한과 같은 방법을 사용하여 최적화되어 데이터 크롤링이 웹 사이트에 더 큰 압력을 가하는 것을 방지합니다.
수집된 데이터는 학습 참고용으로만 침해가 있는 경우 즉시 당사에 연락하여 삭제하시기 바랍니다.
?이메일: [email protected]
?이 프로젝트가 당신에게 영감을 주거나 도움이 된다면 개발자를 지원하고 싶을 수도 있습니다.
MPL-2.0