番外訊息推送篇_05
簡述
本文介紹微信訊息推送實現過程
需求分析
目前小程式可通過訊息模板實現訊息推送,但因次數限制,不太符合業務場景,後續考慮,可嘗試使用微信網頁版訊息推送方式,封裝成服務,供程式呼叫實現推送
實現過程
使用技術
wxpy 實現微信頁面端相關呼叫 + flask 實現服務封裝
步驟簡述
——> bot = Bot() 微信網頁版登入
——> bot.friends().search(m_object) 查詢接收物件
——> o.send(m_content) 傳送訊息
——> app = Flask(__name__) 封裝相關服務
使用包
from functools import wraps
from flask import Flask, url_for, request, make_response
from wxpy import *
傳送訊息方法
def api_webchat():
if request.method == "POST":
m_type = request.form.get('type')
m_object = request.form.get('name')
m_content = request.form.get('message')
print(m_type)
if(m_type == 'friend'):
object_list = bot.friends().search(m_object)
else:
print(m_object)
object_list = bot.groups().search(m_object)
if(len(object_list) == 0):
return '沒有找到使用者或群'
for o in object_list:
try:
o.send(m_content)
print(m_content)
return 'to send success!'
except ResponseError as e:
print(e.err_code, e.err_msg)
封裝服務方法
app = Flask(__name__)
#跨域
def allow_cross_domain(fun):
@wraps(fun)
def wrapper_fun(*args, **kwargs):
rst = make_response(fun(*args, **kwargs))
rst.headers['Access-Control-Allow-Origin'] = '*'
rst.headers['Access-Control-Allow-Methods'] = 'PUT,GET,POST,DELETE'
allow_headers = "Referer,Accept,Origin,User-Agent"
rst.headers['Access-Control-Allow-Headers'] = allow_headers
return rst
return wrapper_fun
@app.route('/')
@allow_cross_domain
def api_root():
return 'Welcome Wechat Root!'
實現效果
經驗總結
請求服務跨域
設定headers['Access-Control-Allow-Origin']='*'
掃碼無法登入
測試過程中,使用小號連續登入,後手機沒電,自動退出,後續再掃碼無法登入,但不影響小號微信正常使用,實際使用過程中通過切換微訊號登入規避
注:重新登入前,建議手動檢查Python
程式,關閉後再登入
提示群找不到
測試過程中,傳送群訊息時,小概率提示找不到群,修改群名稱後,能正常使用
原始碼
相關文章
- mqtt訊息推送(vue前端篇)MQQTVue前端
- [番外]-Flutter小課堂-Image篇Flutter
- iOS 點選推送訊息跳轉指定介面 —總結篇iOS
- 搞掂釘釘訊息推送!
- 實時訊息推送整理
- Android之訊息推送原理Android
- workerman 實現訊息推送
- Android 訊息推送:第三方訊息推送平臺 詳細解析Android
- 小程式訊息推送訂閱
- 實時訊息推送方案-SSE
- 玩轉釘釘訊息推送!
- uni-app訊息推送方案APP
- 訊息推送背後的思考
- Flutter websocket 實現訊息推送FlutterWeb
- APP訊息推送 極光推送 示例程式碼APP
- uni-app小程式訊息推送APP
- .NET對接極光訊息推送
- react-native 使用leanclound訊息推送React
- App訊息推送思維導圖APP
- 訊息機制篇——初識訊息與訊息佇列佇列
- .NET快速對接極光訊息推送
- 造輪子之訊息實時推送
- .NET Core 企業微信訊息推送
- 監聽微信公眾號訊息,監聽微信訊息推送
- 用 Laravel 自帶訊息模組搭建小程式實時推送訊息Laravel
- PHP基於Redis訊息佇列實現的訊息推送的方法PHPRedis佇列
- PHP與反ajax推送,實現的訊息實時推送功能PHP
- Python巡檢OGG並推送釘釘訊息Python
- 基於 Hyperf 實現 RabbitMQ + WebSocket 訊息推送MQWeb
- workerman做實時訊息推送,用過沒?
- 訊息推送介面設計(內含原始碼)原始碼
- SseEmitter 伺服器向客戶端推送訊息MIT伺服器客戶端
- 訊息推送平臺終於要上線啦!
- 訊息推送平臺終於要釋出啦!
- Knative 實戰:基於 Kafka 實現訊息推送Kafka
- 智慧運營助你輕鬆玩轉訊息推送
- Jenkins環境搭建(7)-整合釘釘訊息推送Jenkins
- 你知道如何在小程式中推送模板訊息?