日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

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

本文轉(zhuǎn)載自微信公眾號(hào)「鵬祥」,作者AZRNG 。轉(zhuǎn)載本文請(qǐng)聯(lián)系鵬祥公眾號(hào)。

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

介紹

Senparc.Weixin SDK 是由盛派網(wǎng)絡(luò)(Senparc)團(tuán)隊(duì)自主研發(fā)的針對(duì)微信各模塊的開(kāi)發(fā)套件(C# SDK),已全面支持微信公眾號(hào)、小程序、微信支付、企業(yè)號(hào)、開(kāi)放平臺(tái)、JSSDK、搖一搖周邊等模塊。有一些東西都已經(jīng)封住在sdk里面,不需要我們?cè)龠M(jìn)行那些繁瑣的操作。

示例

要對(duì)接微信公眾號(hào),我們首先得有一個(gè)微信公眾號(hào)(我本來(lái)是使用我自己公眾號(hào),奈何好多好玩的功能沒(méi)有權(quán)限需要微信認(rèn)證),我們可以通過(guò)微信申請(qǐng)測(cè)試號(hào)來(lái)學(xué)習(xí)使用,申請(qǐng)地址 該測(cè)試號(hào)可以直接體驗(yàn)和測(cè)試公眾平臺(tái)的所有高級(jí)接口。https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

通過(guò)測(cè)試號(hào)我可以可以得到我們想要的微信公眾號(hào)參數(shù)信息

通過(guò)VS2019(好想盡快體驗(yàn)VS2022)新建一個(gè).Net5 WebApi程序

安裝組件

 
 
 
 
  1.   
  2.    
  3.    
  4.    

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

添加配置

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

通過(guò)配置IsDebug可以配置是否以Debug模式運(yùn)行。

關(guān)于SenparcWeixinSetting為何叫做這個(gè)名字?是因?yàn)榕渲弥袑?xiě)死的

ConfigureServices中注冊(cè)服務(wù)

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

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

Configure中啟用服務(wù)

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

通過(guò)這些配置我們可以獲取accesstoken

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

自定義消息回復(fù)

要實(shí)現(xiàn)接受用戶的消息,并且做出回應(yīng),我們需要繼承MessageHandler,新建CustomerMessageHandler類,該類中實(shí)現(xiàn)了網(wǎng)上說(shuō)的價(jià)值一個(gè)億的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ù)以文字形式發(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,);//注意:只有測(cè)試號(hào)或部署到正式環(huán)境的正式服務(wù)號(hào)可用此接口 
  17.         //responseMessage.Content =  $"你發(fā)送了文字:{requestMessage.Content}\r\n\r\n你的OpenId:{OpenId}";//以文字類型消息回復(fù) 
  18.         responseMessage.Content = requestMessage.Content.Replace("嗎", "").Replace('?', '!').Replace('?', '!'); 
  19.         return responseMessage; 
  20.     } 
  21.  
  22.     ///  
  23.     /// 默認(rèn)消息 
  24.     ///  
  25.     public override IResponseMessageBase DefaultResponseMessage(IRequestMessageBase requestMessage) 
  26.     { 
  27.         var responseMessage = base.CreateResponseMessage(); 
  28.         responseMessage.Content = "歡迎來(lái)到我的公眾號(hào)!"; 
  29.         return responseMessage; 
  30.     } 

啟用消息處理器

 
 
 
 
  1. //使用中間件注冊(cè) 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; }); 

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

如果你修改接口配置信息,提交成功說(shuō)明微信可以調(diào)通該接口,這個(gè)時(shí)候就可以關(guān)注微信測(cè)試號(hào),發(fā)送消息查看結(jié)果。

自定義菜單

通過(guò)編寫(xiě)接口來(lái)實(shí)現(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 = "基礎(chǔ)知識(shí)", 
  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

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

參考文檔

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

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


當(dāng)前文章:.NET之盛派微信SDK簡(jiǎn)單操作
文章URL:http://www.dlmjj.cn/article/dhcgddp.html