国产欧美另类,亚洲精品乱码,免费在线观看视频一区,日本午夜精品视频在线观看

咨詢電話:
15628812133
29
2023/06

微信推送模板消息:使用場景與在 Django 中實現注意事項

發布時間:2023-06-29 09:46:31
發布者:已經寫了
瀏覽量:
0

在使用Django開發web應用的時候,很多場景都會有需要微信相關功能的介入,最近我們公司在使用python的Django框架配合國產數據庫OceanBase數據庫進行開發互聯網應急指揮系統的時候,就用到了微信通知,在發生輿情事件的時候通過微信公眾號,通知對應人員有新的事件發生,或者提醒相關人員對應事件的進度情況

想要使用微信的信息推送,就需要提前做好一些準備,因為發送微信模板消息,您需要使用微信公眾平臺 API。

  1. 需要有一個微信公眾號,并且已經獲得了開發者權限

  2. 獲取到用戶的openid,如何獲取openid點擊查看方法

  3. 需要獲取微信公眾平臺的 API 密鑰,并且配置好相應的回調 URL。

  4. 需要根據微信公眾平臺的要求,選擇合適的模板,并填寫好模板內容。

  5. 根據微信公眾平臺的 API 文檔,構造合適的請求參數,發送請求。

  6. 對于推送消息的響應結果,需要進行適當的處理和解析,以便于判斷推送消息是否成功。

    廢話直接不多說,直接貼代碼

import copy
import json
import redis
import requests
from django.conf import settings
from api.models import DvadminSystemUsers
class WeChat:
    def __init__(self, app_id=settings.WX_APP_ID, secret=settings.WX_APP_SECRET, template=None):
        self.app_id = app_id
        self.secret = secret
        self.template = {
            "touser": "",
            "template_id": "",
            "url": "",
            "data": {
                "first": {
                    "value": "",
                },
                "keyword1": {
                    "value": "",
                },
                "keyword2": {
                    "value": "",
                },
                "remark": {
                    "value": "",
                },
            }
        }
        if template:
            self.template = template
        self.access_token = None
        self.req_list = list()
        self.user_list = list()
        self.data_list = list()
    def _get_token(self, force_update=False):
        key_name = 'wechat_token_{}'.format(self.app_id)
        if force_update:
            self.access_token = None
        else:
            self.access_token = get_data(key_name)
        if not self.access_token:
            url = "https://api.weixin.qq.com/cgi-bin/token?"
            payload = {
                'grant_type': 'client_credential',
                'appid': self.app_id,
                'secret': self.secret,
            }
            response = requests.get(url, params=payload, timeout=50)
            access_token = response.json().get("access_token")
            if access_token:
                set_data(key_name, access_token, ex=7100)
                self.access_token = get_data(key_name)
    def make_data_list(self):
        user_openid_list = DvadminSystemUsers.objects.filter(
            id__in=self.user_list
        ).exclude(
            openId=''
        ).exclude(
            openId__isnull=True
        ).values_list('openid', flat=True)
        for openid in user_openid_list:
            user_template = copy.deepcopy(self.template)
            user_template['touser'] = openid
            self.data_list.append(user_template)
    def post_data(self):
        # 獲取 token
        self._get_token()
        url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={}".format(self.access_token)
        # 準備數據
        if self.user_list:
            self.make_data_list()
        # 發送請求
        for data in self.data_list:
            json_template = json.dumps(data)
            res = requests.post(url, data=json_template)
            print('post_data', res.text)
def get_redis():
    """
    連接redis
    """
    redis =  redis.Redis(host='localhost', port=6379, db=0)
    return redis
def set_data(name, value, **kwargs):
    # 將數據存入redis緩存
    redis = get_redis()
    value = json.dumps(value)
    redis.set(name, value, **kwargs)
def get_data(name):
    # 取出數據
    redis = get_redis()
    value = redis.get(name)
    if value:
        value = json.loads(value)
    return value

          調用微信推送類

微信推送模板消息:使用場景與在 Django 中實現注意事項

關鍵詞:
返回列表
国产欧美另类,亚洲精品乱码,免费在线观看视频一区,日本午夜精品视频在线观看
日韩av成人高清| 福利在线免费视频| 精品国产一区二| 日本欧美在线看| 欧美日一区二区| 日韩国产一区二区| 加勒比视频一区| 国产高清精品二区| 国产日韩欧美三级| 久久精品99国产精品日本| 97精品久久| 国产精品xxx在线观看| 日本免费一区二区视频| 国产精品片aa在线观看| 日本一二区不卡| 99久久精品网站| 国产精品美女久久久| 亚洲精品伊人| 国产高清精品二区| 亚洲v在线看| 免费人成在线不卡| 久久激情av| 91中文字幕精品永久在线| 99久久久久久中文字幕一区| 国产中文一区| 蜜臀精品久久久久久蜜臀| 日本欧美大码aⅴ在线播放| 国产免费久久| 亚洲最新无码中文字幕久久| 夜夜精品视频| 91亚洲无吗| 97欧美在线视频| 日韩午夜av| 欧美天堂在线| 亚洲www免费| 四虎精品一区二区免费| 精品欧美日韩精品| 日韩午夜免费| 国产精品hd| 激情欧美丁香| 国产一卡不卡| 久久国产欧美| 亚洲精品国产日韩| 色乱码一区二区三区网站| 99在线精品视频在线观看| 国产精选一区| 激情综合网址| 日韩超碰人人爽人人做人人添| 国产精品成人一区二区不卡| 黄色成人91| 国产精品亚洲四区在线观看 | 亚洲国产成人二区| 日韩亚洲国产欧美| 美腿丝袜亚洲三区| 欧美日韩精品免费观看视欧美高清免费大片 | 久久精品五月| 亚洲欧美日韩国产一区二区| 国产精品午夜av| 午夜国产欧美理论在线播放| 欧美在线观看天堂一区二区三区| 91精品国产调教在线观看| 五月激激激综合网色播| 在线看片国产福利你懂的| 日本亚洲最大的色成网站www| 日韩高清成人| 国产精品天天看天天狠| 伊人久久亚洲影院| 久久精品人人| 综合欧美精品| 99精品视频精品精品视频| 欧美天堂一区| 亚洲一区二区三区高清不卡| 精品国产精品久久一区免费式 | 黄色网一区二区| 亚洲在线久久| 日韩中文影院| 欧美激情精品| 色综合视频一区二区三区日韩| 日本精品影院| 精品国产不卡一区二区| 婷婷五月色综合香五月| 久久高清免费| 国产一区调教| 国产精选久久| 日韩久久99| 视频一区二区三区中文字幕| 成人免费网站www网站高清| 欧美日韩xxxx| 蜜臀av一区二区在线免费观看| 精品捆绑调教一区二区三区| 欧美黄页在线免费观看| 日韩精品午夜视频| 亚洲欧美日本日韩| 五月天久久久| 亚洲黑丝一区二区| 国产传媒在线| 里番精品3d一二三区| 中文字幕一区二区av| 欧美午夜不卡影院在线观看完整版免费| 91综合视频| 国内精品麻豆美女在线播放视频| 欧美永久精品| 亚洲欧美日本国产| 亚洲制服少妇| 欧美日韩国产在线一区| 国产91一区| 久久精品免费一区二区三区| 天堂中文av在线资源库| 精品色999| 久久三级毛片| 麻豆一区二区三| 欧美激情久久久久久久久久久| 久久国内精品视频| 欧美日韩午夜电影网| 91av一区| 久久国产免费看| 国产欧美一区二区三区精品观看 | 精品美女视频 | 无码日韩精品一区二区免费| 亚洲深深色噜噜狠狠爱网站| 视频精品一区二区| 日本欧美在线看| 男女性色大片免费观看一区二区| 好看的av在线不卡观看| 在线一区欧美| 日韩一区精品字幕| 四虎成人精品一区二区免费网站 | 中文无码久久精品| 亚洲人成网站在线在线观看| 亚洲毛片在线| 国产一级成人av| 国产福利一区二区三区在线播放| 国产免费播放一区二区| 国产精品调教视频| 免费在线亚洲欧美| 国产成人精品亚洲线观看| 久久精品免费看| 日韩精品1区| 红桃视频国产一区| 亚洲精品三级| 国产精品一区二区精品| 久久精品天堂| 久久精品成人| 亚洲免费影视| 日韩高清中文字幕一区| 国产精品99久久免费观看| 国产一区二区三区不卡视频网站 | 精品日韩一区| 欧洲一区二区三区精品| 在线日韩视频| 亚洲欧美日韩视频二区| 亚洲精品影视| 久久精品亚洲一区二区| 精品欧美一区二区三区在线观看| 亚洲午夜av| 日本伊人午夜精品| 国产中文欧美日韩在线| 久久一级电影| 亚洲精品第一| 大香伊人久久精品一区二区| 久久激情一区| 亚洲91网站| 国产a久久精品一区二区三区| 米奇777超碰欧美日韩亚洲| 亚洲最大av| 国际精品欧美精品| 亚洲大全视频| 97久久亚洲| 91亚洲国产| 久久国产精品亚洲77777| 18国产精品| 少妇精品导航| 日本aⅴ亚洲精品中文乱码| 97欧美在线视频| 亚洲视频二区| 黄色欧美在线| 老鸭窝毛片一区二区三区| 国产高清日韩| 国产一区成人| 精品日产乱码久久久久久仙踪林| 狠狠爱成人网| 精品国内亚洲2022精品成人| 91久久国产| 国产精品久久| 欧美在线亚洲| 精品一区二区三区中文字幕 | 国产欧美综合一区二区三区| 亚洲最新无码中文字幕久久 | 国产午夜精品一区二区三区欧美 | 天堂а√在线最新版中文在线| 一区二区高清| 日韩在线观看| 亚洲精品韩国| 亚洲成人va| 欧美国产另类| 蜜桃视频一区二区三区在线观看| 精品国产99| 日本欧美一区二区在线观看| 在线日韩中文| 国产在线观看91一区二区三区|