sydomain

思绪来的快,去的也快,偶尔在这里停留。

python-远程控制到期时间(服务端+客户端)

实现远程控制到期时间需要建立一个客户端-服务器的架构,其中服务器端负责存储到期时间并提供远程访问接口,客户端通过访问服务器接口来获取到期时间并进行检查。
以下是一个简单的示例,使用Python的Flask库实现服务器端和客户端的通信:
服务器端代码(server.py):

from flask import Flask, request, jsonify

app = Flask(__name__)
expiry_date = None

@app.route('/set_expiry', methods=['POST'])
def set_expiry():
    global expiry_date
    expiry_date = request.json['expiry_date']
    return jsonify({'message': '到期时间已设置'})

@app.route('/check_expiry', methods=['GET'])
def check_expiry():
    global expiry_date
    return jsonify({'expiry_date': expiry_date})

if __name__ == '__main__':
    app.run()

客户端代码(client.py):

import requests
from datetime import datetime, timedelta
import tkinter as tk
from tkinter import messagebox

SERVER_URL = 'http://localhost:5000'  # 服务器地址

def check_expiry():
    response = requests.get(f'{SERVER_URL}/check_expiry')
    data = response.json()
    expiry_date = data['expiry_date']

    if expiry_date:
        current_date = datetime.now()
        expiry_date = datetime.strptime(expiry_date, "%Y-%m-%d %H:%M")

        if current_date < expiry_date:
            remaining_time = expiry_date - current_date
            remaining_days = remaining_time.days
            remaining_hours = remaining_time.seconds // 3600
            remaining_minutes = (remaining_time.seconds % 3600) // 60
            messagebox.showinfo("到期提醒", f"还有 {remaining_days} 天 {remaining_hours} 小时 {remaining_minutes} 分钟到期")
        elif current_date == expiry_date:
            messagebox.showinfo("到期提醒", "今天到期")
        else:
            messagebox.showwarning("到期提醒", "已过期,请联系客服充值\n wx:13888888888")
            sys.exit(1)  # 使用非零状态码表示程序异常退出
    else:
        messagebox.showwarning("到期提醒", "未设置到期时间")

check_expiry()

使用方法:

运行服务器端代码:python server.py
在客户端代码中设置SERVER_URL为服务器的地址
运行客户端代码:python client.py
客户端代码会向服务器发送GET请求获取到期时间,并进行检查和提醒。

请注意,这只是一个简单的示例,实际应用中你可能需要更复杂的逻辑和安全性措施来确保远程控制的准确性和安全性。同时,服务器端的数据存储也需要进行合适的管理和保护。

Powered By sydomain

Copyright Your WebSite.Some Rights Reserved.