解锁并提取Linux客户端微信数据库 (vibe coded)
at 66 lines 2.0 kB view raw
1# -*- coding: utf-8 -*-# 2# ------------------------------------------------------------------------------- 3# Name: meta.py 4# Description: 版本、更新检查 5# ------------------------------------------------------------------------------- 6from fastapi import APIRouter 7 8import wxdump_linux 9from ..response import ReJson 10from ..decorators import error9999 11 12meta_router = APIRouter() 13 14 15@meta_router.api_route('/check_update', methods=["GET", 'POST']) 16@error9999 17def check_update(): 18 """ 19 检查更新 20 :return: 21 """ 22 url = "https://api.github.com/repos/xaoyaoo/PyWxDump/tags" 23 try: 24 import requests 25 res = requests.get(url) 26 if res.status_code == 200: 27 data = res.json() 28 NEW_VERSION = data[0].get("name") 29 if NEW_VERSION[1:] != wxdump_linux.__version__: 30 msg = "有新版本" 31 else: 32 msg = "已经是最新版本" 33 return ReJson(0, body={"msg": msg, "latest_version": NEW_VERSION, 34 "latest_url": "https://github.com/xaoyaoo/PyWxDump/releases/tag/" + NEW_VERSION}) 35 else: 36 return ReJson(2001, body="status_code is not 200") 37 except Exception as e: 38 return ReJson(9999, msg=str(e)) 39 40 41@meta_router.api_route('/version', methods=["GET", "POST"]) 42@error9999 43def version(): 44 """ 45 版本 46 :return: 47 """ 48 return ReJson(0, wxdump_linux.__version__) 49 50 51@meta_router.api_route('/get_readme', methods=["GET", 'POST']) 52@error9999 53def get_readme(): 54 """ 55 获取README 56 :return: 57 """ 58 url = "https://raw.githubusercontent.com/xaoyaoo/PyWxDump/master/doc/README_CN.md" 59 import requests 60 res = requests.get(url) 61 if res.status_code == 200: 62 data = res.text 63 data = data.replace("# <center>PyWxDump</center>", "") 64 return ReJson(0, body=data) 65 else: 66 return ReJson(2001, body="status_code is not 200")