综合干狼人综合首页,日本а中文在线天堂,中国av一区,日韩va亚洲va欧洲va国产

29
2023/06

微信推送模板消息:使用場(chǎng)景與在 Django 中實(shí)現(xiàn)注意事項(xiàng)

發(fā)布時(shí)間:2023-06-29 09:46:31
發(fā)布者:已經(jīng)寫了
瀏覽量:
0

在使用Django開發(fā)web應(yīng)用的時(shí)候,很多場(chǎng)景都會(huì)有需要微信相關(guān)功能的介入,最近我們公司在使用python的Django框架配合國(guó)產(chǎn)數(shù)據(jù)庫(kù)OceanBase數(shù)據(jù)庫(kù)進(jìn)行開發(fā)互聯(lián)網(wǎng)應(yīng)急指揮系統(tǒng)的時(shí)候,就用到了微信通知,在發(fā)生輿情事件的時(shí)候通過(guò)微信公眾號(hào),通知對(duì)應(yīng)人員有新的事件發(fā)生,或者提醒相關(guān)人員對(duì)應(yīng)事件的進(jìn)度情況

想要使用微信的信息推送,就需要提前做好一些準(zhǔn)備,因?yàn)榘l(fā)送微信模板消息,您需要使用微信公眾平臺(tái) API。

  1. 需要有一個(gè)微信公眾號(hào),并且已經(jīng)獲得了開發(fā)者權(quán)限。

  2. 獲取到用戶的openid,如何獲取openid點(diǎn)擊查看方法

  3. 需要獲取微信公眾平臺(tái)的 API 密鑰,并且配置好相應(yīng)的回調(diào) URL。

  4. 需要根據(jù)微信公眾平臺(tái)的要求,選擇合適的模板,并填寫好模板內(nèi)容。

  5. 根據(jù)微信公眾平臺(tái)的 API 文檔,構(gòu)造合適的請(qǐng)求參數(shù),發(fā)送請(qǐng)求。

  6. 對(duì)于推送消息的響應(yīng)結(jié)果,需要進(jìn)行適當(dāng)?shù)奶幚砗徒馕?,以便于判斷推送消息是否成功?/p>

    廢話直接不多說(shuō),直接貼代碼

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)
        # 準(zhǔn)備數(shù)據(jù)
        if self.user_list:
            self.make_data_list()
        # 發(fā)送請(qǐng)求
        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):
    # 將數(shù)據(jù)存入redis緩存
    redis = get_redis()
    value = json.dumps(value)
    redis.set(name, value, **kwargs)
def get_data(name):
    # 取出數(shù)據(jù)
    redis = get_redis()
    value = redis.get(name)
    if value:
        value = json.loads(value)
    return value

          調(diào)用微信推送類

微信推送模板消息:使用場(chǎng)景與在 Django 中實(shí)現(xiàn)注意事項(xiàng)

關(guān)鍵詞:
返回列表
综合干狼人综合首页,日本а中文在线天堂,中国av一区,日韩va亚洲va欧洲va国产
国产亚洲成av人片在线观看桃| 欧美高清视频www夜色资源网| 久久综合九色欧美综合狠狠| 偷窥国产亚洲免费视频| 国产精品丝袜久久久久久app| 国产乱理伦片在线观看夜一区| av电影天堂一区二区在线| 色婷婷国产精品| 国产一区二区美女诱惑| 精品久久人人做人人爱| 日本精品视频一区二区三区| 亚洲欧美成aⅴ人在线观看| 黑人精品xxx一区一二区| 激情五月播播久久久精品| 中文字幕日韩视频| 欧美一区二区免费观在线| 欧美国产日韩在线观看| 亚洲精品wwwww| 欧美午夜片在线免费观看| 亚洲成年人影院在线| 国产精品原创巨作av| 欧美日韩精品高清| 亚洲丶国产丶欧美一区二区三区| 欧美成人r级一区二区三区| 亚洲成在线观看| 亚洲一区在线观看免费观看电影高清| 污片在线观看一区二区| 亚洲欧美日韩国产综合在线| 亚洲成人av片| 欧美精品一区二区久久久| 国产一区二区三区视频| 欧美日韩中文字幕一区| 精品久久久免费| 国产一区二区美女诱惑| 亚洲va国产天堂va久久en| 日韩欧美一级二级三级久久久| 久久精品人人爽人人爽| 亚洲一区欧美一区| 亚洲激情在线视频| 欧美日韩在线综合| 日韩欧美美女一区二区三区| 国产精品18久久久| 久久噜噜亚洲综合| 91精品国产品国语在线不卡| 精品一二三四在线| 亚洲成精国产精品女| 国产婷婷色一区二区三区四区| 亚洲欧美日韩久久精品| 91精品国产一区二区| 亚洲欧美综合另类中字| 精品久久久久久国产| 日韩欧美极品在线观看| 中文字幕久久精品| 亚洲免费观看视频| 91麻豆精品国产91久久久久久| 国产网站一区二区| 亚洲欧洲美洲在线综合| 国产一区二区三区不卡在线观看| 亚洲一区二区综合| 亚洲精品国产综合久久| 欧美一区二区久久久| 亚洲.国产.中文慕字在线| 一本色道久久综合亚洲91| 欧美日韩中文字幕一区| 中文字幕视频在线免费欧美日韩综合在线看| 日韩视频永久免费| 欧美日韩中文字幕精品| 中文字幕亚洲精品| 婷婷丁香久久五月婷婷| 国产精品美女久久久久久久| 亚洲国产精品嫩草影院久久| 欧美国产综合一区二区| 婷婷亚洲久悠悠色悠在线播放| 中文字幕精品www乱入免费视频| 国产乱码一区二区三区| 欧美一区二区三区四区高清| 亚洲素人一区二区| 伊人av综合网| 久久久久青草大香线综合精品| 在线观看国产精品网站| 亚洲一区二区欧美日韩| 一区二区三区鲁丝不卡| 欧美日韩国产高清一区二区三区| 色吊一区二区三区| 精品无人区太爽高潮在线播放| 日韩免费一区二区三区在线播放| 国产一区91精品张津瑜| 国产suv精品一区二区6| 欧美日韩一区二区免费视频| 国产成人高清在线| 91精品国产综合久久久久久| 亚洲一区免费观看| 久久综合九色综合欧美就去吻| 日韩一区二区三区高清免费看看| 欧美性猛交xxxx免费看漫画| 日韩成人av在线播放| 欧美日韩精品一二三区| 欧美一区二区国产| 亚洲欧美另类在线观看| 亚洲欧洲中文天堂| 亚洲综合免费观看高清在线观看| 午夜不卡av免费| 亚洲精品久久久久久久久久久久久| 欧美日韩日本国产| 在线看国产一区二区| 国产欧美日韩激情| 91精品久久久久久蜜臀| 国产精品视频yy9299一区| 高清久久久久久久高清久久| 亚洲一区二区四区蜜桃| 久久综合狠狠综合久久激情| 亚洲激情六月丁香| 亚洲男人的天堂在线| 亚洲国产精品久久久| 日韩欧美福利视频| 亚洲精品综合久久中文字幕| 在线观看日韩毛片| 久久国产精品99精品国产| 日韩欧美在线字幕| 日韩女优av电影| 欧美成人性战久久| 色综合一个色综合亚洲| 日韩一区在线免费观看| 黄一区二区三区| 国产精品一区二区在线观看不卡| 欧美日韩国产高清一区| 国产欧美日韩不卡| 久久福利视频一区二区| 91麻豆精品视频| 亚洲精品大尺度| 欧美三级视频在线播放| 日韩精品一区二区三区在线观看| 中文字幕日韩精品有码视频| 日韩欧美国产黄色| 成人午夜免费av| 亚洲欧美视频在线观看| 国产日产精品一区| 在线日韩精品视频| 91高清视频在线| 欧美精品一区二区久久婷婷| 亚洲精品国产拍免费91在线| 欧美日韩国产色| 精久久久久久久久久久| 97成人超碰视| 五月天国产精品| 日韩欧美色电影| 亚洲激情在线观看视频免费| 亚洲大胆美女视频| 欧美日韩免费高清一区色橹橹| 亚洲成人久久久| 亚洲成人久久网| 狠狠色伊人亚洲综合成人| 国产乱对白刺激视频不卡| 精品久久久久久久一区二区蜜臀| 91麻豆精品国产91久久久资源速度| 欧美精品日韩综合在线| 久久久国产精品麻豆| 日韩美女视频一区二区在线观看| 亚洲第一综合天堂另类专| 中文字幕日韩欧美在线| 激情综合色播激情啊| 久99久精品视频免费观看| 欧美日韩视频在线第一区| 精品久久久久久无| 亚洲精品久久7777777| 成人午夜精品一区二区三区| 国产一区二区成人久久免费影院| 国产精品网站在线播放| 国产久卡久卡久卡久卡视频精品| 欧美日韩一区三区四区| 亚洲综合免费观看高清在线观看| 日韩一区在线免费观看| 亚洲欧美视频一区| 一区二区欧美国产| 欧美久久久影院| 91精品国产高清一区二区三区| 欧美精品一区二区三| 欧美另类一区二区三区| 亚洲日本欧美日韩高观看| 欧美巨大另类极品videosbest| 亚洲视频日韩精品| 色哟哟欧美精品| 日韩欧美一区二区在线| 国产suv一区二区三区88区| 色综合久久中文综合久久牛| 亚洲美女免费在线| 欧美另类videos死尸| 91精品在线观看入口| 一区二区三区91| 国产成人精品1024| 在线观看免费成人| 精品视频一区在线视频| 欧美精品乱码久久久久久按摩| 亚洲精品一区二区三区精华液| 午夜伦理一区二区| 欧美午夜精品久久久久久久| 亚洲国产精品精华液网站| 国产视频一区在线播放| 91激情在线视频| 亚洲一级黄色片|