日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
.NET之盛派微信SDK簡單操作

本文轉載自微信公眾號「鵬祥」,作者AZRNG 。轉載本文請聯(lián)系鵬祥公眾號。

專注于為中小企業(yè)提供成都網站設計、做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)甘谷免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。

介紹

Senparc.Weixin SDK 是由盛派網絡(Senparc)團隊自主研發(fā)的針對微信各模塊的開發(fā)套件(C# SDK),已全面支持微信公眾號、小程序、微信支付、企業(yè)號、開放平臺、JSSDK、搖一搖周邊等模塊。有一些東西都已經封住在sdk里面,不需要我們再進行那些繁瑣的操作。

示例

要對接微信公眾號,我們首先得有一個微信公眾號(我本來是使用我自己公眾號,奈何好多好玩的功能沒有權限需要微信認證),我們可以通過微信申請測試號來學習使用,申請地址 該測試號可以直接體驗和測試公眾平臺的所有高級接口。https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

通過測試號我可以可以得到我們想要的微信公眾號參數(shù)信息

通過VS2019(好想盡快體驗VS2022)新建一個.Net5 WebApi程序

安裝組件

 
 
 
 
  1.   
  2.    
  3.    
  4.    

為了方便(偷懶),我直接使用了postman生成的RestSharp請求代碼,因此裝了該包。

添加配置

 
 
 
 
  1. //CO2NET  
  2. "SenparcSetting": { 
  3.   "IsDebug": true, 
  4.   "DefaultCacheNamespace": "DefaultCache" //緩存通過前綴區(qū)分 
  5. }, 
  6. //Senparc.Weixin SDK 
  7. "SenparcWeixinSetting": { 
  8.   "IsDebug": true, 
  9.  
  10.   "Token": "token", 
  11.   "EncodingAESKey": "EncodingAESKey", 
  12.   "WeixinAppId": "appid", 
  13.   "WeixinAppSecret": "secret" 

通過配置IsDebug可以配置是否以Debug模式運行。

關于SenparcWeixinSetting為何叫做這個名字?是因為配置中寫死的

ConfigureServices中注冊服務

 
 
 
 
  1. services.AddMemoryCache()//使用本地緩存必須添加 
  2.            .AddSenparcWeixinServices(Configuration);//Senparc.Weixin 注冊(必須) 

也可以采用redis等其他方法存儲配置信息等

Configure中啟用服務

 
 
 
 
  1. //注冊 Senparc.Weixin 及基礎庫 
  2.    app.UseSenparcGlobal(env, senparcSetting.Value, _ => { }, true) 
  3.        .UseSenparcWeixin(senparcWeixinSetting.Value, 
  4.            weixinRegister => weixinRegister.RegisterMpAccount(senparcWeixinSetting.Value)); 

通過這些配置我們可以獲取accesstoken

 
 
 
 
  1. var accessToken = await AccessTokenContainer.GetAccessTokenAsync(_configuration["SenparcWeixinSetting:WeixinAppId"]).ConfigureAwait(false); 

自定義消息回復

要實現(xiàn)接受用戶的消息,并且做出回應,我們需要繼承MessageHandler,新建CustomerMessageHandler類,該類中實現(xiàn)了網上說的價值一個億的AI核心代碼,看到就是賺到。

 
 
 
 
  1. ///  
  2. /// 自定義消息處理器 
  3. ///  
  4. public class CustomerMessageHandler : MessageHandler 
  5.     public CustomerMessageHandler(Stream inputStream, PostModel postModel, int maxRecordCount = 0, IServiceProvider serviceProvider = null) 
  6.         : base(inputStream, postModel, maxRecordCount, false, null) 
  7.     { 
  8.     } 
  9.  
  10.     ///  
  11.     /// 回復以文字形式發(fā)送的信息(可選) 
  12.     ///  
  13.     public override async Task OnTextRequestAsync(RequestMessageText requestMessage) 
  14.     { 
  15.         var responseMessage = base.CreateResponseMessage(); 
  16.         // await Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendTextAsync(Config.SenparcWeixinSetting.MpSetting.WeixinAppId, OpenId,);//注意:只有測試號或部署到正式環(huán)境的正式服務號可用此接口 
  17.         //responseMessage.Content =  $"你發(fā)送了文字:{requestMessage.Content}\r\n\r\n你的OpenId:{OpenId}";//以文字類型消息回復 
  18.         responseMessage.Content = requestMessage.Content.Replace("嗎", "").Replace('?', '!').Replace('?', '!'); 
  19.         return responseMessage; 
  20.     } 
  21.  
  22.     ///  
  23.     /// 默認消息 
  24.     ///  
  25.     public override IResponseMessageBase DefaultResponseMessage(IRequestMessageBase requestMessage) 
  26.     { 
  27.         var responseMessage = base.CreateResponseMessage(); 
  28.         responseMessage.Content = "歡迎來到我的公眾號!"; 
  29.         return responseMessage; 
  30.     } 

啟用消息處理器

 
 
 
 
  1. //使用中間件注冊 MessageHandler,指定 CustomMessageHandler 為自定義處理方法 
  2.             app.UseMessageHandlerForMp("/weixinmsg", 
  3.                 (stream, postModel, maxRecordCount, serviceProvider) => 
  4.                     new CustomerMessageHandler(stream, postModel, maxRecordCount, serviceProvider), 
  5.                 options => { options.AccountSettingFunc = context => senparcWeixinSetting.Value; }); 

這個時候我們已經實現(xiàn)了用戶消息的接收和回復代碼,不過還需要在微信平臺進行配置(為了可以讓微信發(fā)送消息到該代碼,我使用了內網穿透功能供微信訪問該地址)

如果你修改接口配置信息,提交成功說明微信可以調通該接口,這個時候就可以關注微信測試號,發(fā)送消息查看結果。

自定義菜單

通過編寫接口來實現(xiàn)自定義菜單配置

 
 
 
 
  1. [HttpGet] 
  2.         public async Task GetAsync() 
  3.         { 
  4.             var accessToken = await AccessTokenContainer 
  5.                 .GetAccessTokenAsync(_configuration["SenparcWeixinSetting:WeixinAppId"]).ConfigureAwait(false); 
  6.             var bg = new ButtonGroup(); 
  7.  
  8.             var oneSubButton = new SubButton 
  9.             { 
  10.                 name = "基礎知識", 
  11.                 sub_button = new List 
  12.                 { 
  13.                     new SingleViewButton 
  14.                     { 
  15.                         name = "日志", 
  16.                         url = "https://XXXXXX/appmsgalbum?__biz=MzU4MjU4NjgyOQ==&action=getalbum&album_id=1841538022157172741#wechat_redirect", 
  17.                     } 
  18.                 } 
  19.             }; 
  20.             bg.button.Add(oneSubButton); 
  21.  
  22.             bg.button.Add(new SingleViewButton 
  23.             { 
  24.                 name = "文章目錄", 
  25.                 url = "https://www.yuque.com/docs/share/9aed821e-9115-41c7-a0cd-6b691ad7e400" 
  26.             }); 
  27.  
  28.             var result = CommonApi.CreateMenu(accessToken, bg); 
  29.  
  30.             return "成功" + result; 
  31.         } 

參考地址:

https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html

通過調用該接口實現(xiàn)自定義菜單配置,顯示下面的菜單

參考文檔

GitHub:https://github.com/JeffreySu/WeiXinMPSDK

sdk文檔地址:https://www.cnblogs.com/szw/p/weixin-course-index.html


當前名稱:.NET之盛派微信SDK簡單操作
標題來源:http://www.5511xx.com/article/dhcgddp.html