IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 通过企业微信和微信打造免费的消息提醒机制 -> 正文阅读

[移动开发]通过企业微信和微信打造免费的消息提醒机制

自己做了很多服务,想通过发Push消息的方式发送到手机上,奈何针对不同平台的手机需要对应开发相应的App,成本较高。所以开始寻求有没有开源免费的消息提醒机制。

方向:

1. Push服务

2. 微信公众号

3. 日历同步

经过一顿操作猛如虎的调研发现:

Push服务基本都需要来开发对应App

微信公众号推送消息的话每天能推送的消息是有限的,或者使用模板消息,相对的扩展性较差

日历同步的话就比较Low了,也需要手机上安装上相应的同步软件,并不普世。

后来发现企业微信支持了自定义应用并且打通了微信,于是乎咱有了新方向:

1. 注册一个企业

2. 在企业下新建一个应用

3. 使用微信绑定企业微信

4. 打开企业微信消息同步到微信的开关

5. 将自己的提醒/报警服务接到企业微信中的应用

6. 将需要收到信息的人(家人、朋友)加入到企业成员

最后实现以下效果

?

附上一个天气预报提醒的小代码:

# -*- coding: utf-8 -*-
# @Time    : 2021/6/21 5:10 下午
# @Author  : SunRuichuan
# @File    : GetWeather.py
import datetime
import json
import requests

appid = '自己去申请'
appsecret = '自己去申请'
weather_url = 'https://tianqiapi.com/api'


def getWeather(city='北京'):
    params = {
        'appid': appid,
        'appsecret': appsecret,
        'version': 'v1',
        'cityid': '',
        'city': city,
        'ip': '',

    }
    return requests.get(url=weather_url, params=params)


def getAccessToken():
    url = '企业微信获取token链接,自己去申请'
    res = requests.get(url).json()
    if res['errcode'] == 0:
        return res['access_token']
    else:
        return None


def sendMsgToAll(content):
    """通过企业微信申请的应用发送内容"""
    access_token = getAccessToken()
    if access_token is None:
        return
    url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
    data = {
        "touser": '@all',
        "msgtype": "text",
        "agentid": 1000002,
        "text": {
            "content": content
        },
        "safe": 0
    }
    requests.post(url=url, data=json.dumps(data))


def getCarLimit():
    tomorrow = (datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y-%m-%d")
    # print(tomorrow)
    url = 'http://yw.jtgl.beijing.gov.cn/jgjxx/services/getRuleWithWeek'
    result = requests.get(url=url).json()
    for i in result['result']:
        _date = str(i['limitedTime']).replace('年', '-').replace('月', '-').replace('日', '')
        if tomorrow == _date:
            # print(i['limitedNumber'])
            return i['limitedNumber']


if __name__ == '__main__':
    limit = getCarLimit()
    limit_msg = ''
    if limit is not None and limit != '不限行':
        limit_msg = f'明日限行尾号为【{limit}】'

    print(limit_msg)

    weather_res = getWeather().json()
    city_name = weather_res['city']
    update_time = weather_res['update_time']
    weather_data = weather_res['data']
    '''获取明日天气'''
    date = weather_data[1]['date']
    weather = weather_data[1]['wea']
    high_tem = weather_data[1]['tem1']
    low_tme = weather_data[1]['tem2']
    air_level = weather_data[1]['air_level']
    wash_car = '未知'
    for wash in weather_data[1]['index']:
        if wash['title'] == '洗车指数':
            wash_car = wash['level']
    weather_string = f'{date} {city_name}\n天气情况【{weather}】\n最高气温【{high_tem}】\n最低气温【{low_tme}】\n空气质量【{air_level}】\n洗车指数【{wash_car}】'

    print(weather_string)
    msg = weather_string + '\n' + limit_msg
    sendMsgToAll(msg)

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:49:02  更:2022-02-09 20:50:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 14:51:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码