千家信息网

Python如何实现京东云无线宝消息推送功能

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,今天小编给大家分享一下Python如何实现京东云无线宝消息推送功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获
千家信息网最后更新 2025年11月10日Python如何实现京东云无线宝消息推送功能

今天小编给大家分享一下Python如何实现京东云无线宝消息推送功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

配置文件

注释里面有写,懒得用配置文件了

代码

# 京东云无线路由宝推送import requestsimport jsonimport timeimport hmacimport hashlibimport base64import urllib.parsefrom datetime import datetime# 发送钉钉消息def sendinfo_ding(token,secret,data):    dic=get_timestamp_and_sign_by_secret(secret)    timestamp=dic['timestamp']    sign=dic['sign']    url = 'https://oapi.dingtalk.com/robot/send?access_token=%s×tamp=%s&sign=%s' %(token,timestamp,sign)  #你的机器人webhook地址    headers = {'Content-Type': 'application/json'}    f = requests.post(url, data=json.dumps(data), headers=headers)# 获取密签def get_timestamp_and_sign_by_secret(secret):    timestamp = str(round(time.time() * 1000))    secret_enc = secret.encode('utf-8')    string_to_sign = '{}{}'.format(timestamp, secret)    string_to_sign_enc = string_to_sign.encode('utf-8')    hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()    sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))    return {"timestamp":timestamp,"sign":sign}# 获取可用积分def get_jd_total_avail_point(wskey):    url='https://router-app-api.jdcloud.com/v1/regions/cn-north-1/pinTotalAvailPoint'    headers = {'Content-Type': 'application/json','wskey':wskey}    rsp=requests.get(url,headers=headers)    data=(json.loads(rsp.text)['result']['totalAvailPoint'])    return {'totalAvailPoint':data}# 获取积分详情def get_jd_detail(wskey):    url='https://router-app-api.jdcloud.com/v1/regions/cn-north-1/todayPointDetail?sortField=today_point&sortDirection=DESC&pageSize=15¤tPage=1'    headers = {'Content-Type': 'application/json','wskey':wskey}    rsp=requests.get(url,headers=headers)    data=(json.loads(rsp.text)['result'])    items=data['pointInfos']    total_today_point=0    total_all_point=0    dic={}    dic['todayDate']=data['todayDate']    dic['items']=[]    for item in items:        mac=item['mac']        today_point=item['todayPointIncome']        all_point=item['allPointIncome']        total_today_point+=int(today_point)        total_all_point+=int(all_point)        dic['items'].append(item)    dic['total_today_point']=total_today_point    dic['total_all_point']=total_all_point    return dic# 发送京东路由宝日报def send_jd_router(wskey):    dic=get_jd_detail(wskey)    msg='# 京东路由宝日报'    msg+='## %s ' %(dic['todayDate'])    msg+=('> 今日获取总积分为**%d**分,对应金钱为 **%.2f**元' %(dic['total_today_point'],float(dic['total_today_point'])/100))    for item in dic['items']:        msg+=('>> 设备**%s** ' %(item['mac']))        msg+=('>>> 今日获取积分为**%s**分,对应金钱为 **%.2f**元 ' %(item['todayPointIncome'],float(item['todayPointIncome'])/100))    msg+=('> 累计总积分为 **%s** 分,对应金钱 **%.2f** 元 ' %(dic['total_all_point'],float(dic['total_all_point'])/100))    dic=get_jd_total_avail_point(wskey)    msg+=('> 目前可用积分为 **%s** 分,对应金钱 **%.2f** 元' %(dic['totalAvailPoint'],float(dic['totalAvailPoint'])/100))    # token=""    # secret=""    # data = {    #     "msgtype": "markdown",    #     "markdown": {    #         "title":"京东云路由宝日报",    #         "text": msg    #         },    # }    # sendinfo_ding(token,secret,data)        # 更改server酱发送    server_send_wechat('京东路由宝日报',msg)#Server酱发送微信def server_send_wechat(text,desp=''):    # Server酱 Key    key=''    url=('https://sc.ftqq.com/%s.send' %key)    params={        'text':text,        'desp':desp    }    requests.get(url,params)# 更改为配置文件获取 todowskey=''while True:    now = datetime.now()    print("任务执行的时间为:"+datetime.strftime(now,"%Y-%m-%d:%H:%M:%S"))    if now.hour==8 and now.minute==0:        send_jd_router(wskey)    time.sleep(60)

以上就是"Python如何实现京东云无线宝消息推送功能"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

0