最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
.NET中怎么操作微信SDK

本篇文章給大家分享的是有關(guān).NET中怎么操作微信SDK,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)建站成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元保德做網(wǎng)站,已為上家服務(wù),為保德各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

介紹

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

示例

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

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

.NET中怎么操作微信SDK

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

安裝組件

          

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

添加配置

//CO2NET  "SenparcSetting": {   "IsDebug": true,   "DefaultCacheNamespace": "DefaultCache" //緩存通過前綴區(qū)分 }, //Senparc.Weixin SDK "SenparcWeixinSetting": {   "IsDebug": true,    "Token": "token",   "EncodingAESKey": "EncodingAESKey",   "WeixinAppId": "appid",   "WeixinAppSecret": "secret" }

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

關(guān)于SenparcWeixinSetting為何叫做這個(gè)名字?是因?yàn)榕渲弥袑懰赖?/p>

.NET中怎么操作微信SDK

ConfigureServices中注冊服務(wù)

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

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

Configure中啟用服務(wù)

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

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

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

自定義消息回復(fù)

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

///  /// 自定義消息處理器 ///  public class CustomerMessageHandler : MessageHandler {     public CustomerMessageHandler(Stream inputStream, PostModel postModel, int maxRecordCount = 0, IServiceProvider serviceProvider = null)         : base(inputStream, postModel, maxRecordCount, false, null)     {     }      ///      /// 回復(fù)以文字形式發(fā)送的信息(可選)     ///      public override async Task OnTextRequestAsync(RequestMessageText requestMessage)     {         var responseMessage = base.CreateResponseMessage();         // await Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendTextAsync(Config.SenparcWeixinSetting.MpSetting.WeixinAppId, OpenId,);//注意:只有測試號(hào)或部署到正式環(huán)境的正式服務(wù)號(hào)可用此接口         //responseMessage.Content =  $"你發(fā)送了文字:{requestMessage.Content}\r\n\r\n你的OpenId:{OpenId}";//以文字類型消息回復(fù)         responseMessage.Content = requestMessage.Content.Replace("嗎", "").Replace('?', '!').Replace('?', '!');         return responseMessage;     }      ///      /// 默認(rèn)消息     ///      public override IResponseMessageBase DefaultResponseMessage(IRequestMessageBase requestMessage)     {         var responseMessage = base.CreateResponseMessage();         responseMessage.Content = "歡迎來到我的公眾號(hào)!";         return responseMessage;     } }

啟用消息處理器

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

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

.NET中怎么操作微信SDK

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

.NET中怎么操作微信SDK

自定義菜單

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

[HttpGet]         public async Task GetAsync()         {             var accessToken = await AccessTokenContainer                 .GetAccessTokenAsync(_configuration["SenparcWeixinSetting:WeixinAppId"]).ConfigureAwait(false);             var bg = new ButtonGroup();              var oneSubButton = new SubButton             {                 name = "基礎(chǔ)知識(shí)",                 sub_button = new List                 {                     new SingleViewButton                     {                         name = "日志",                         url = "https://XXXXXX/appmsgalbum?__biz=MzU4MjU4NjgyOQ==&action=getalbum&album_id=1841538022157172741#wechat_redirect",                     }                 }             };             bg.button.Add(oneSubButton);              bg.button.Add(new SingleViewButton             {                 name = "文章目錄",                 url = "https://www.yuque.com/docs/share/9aed821e-9115-41c7-a0cd-6b691ad7e400"             });              var result = CommonApi.CreateMenu(accessToken, bg);              return "成功" + result;         }

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

.NET中怎么操作微信SDK

以上就是.NET中怎么操作微信SDK,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章名稱:.NET中怎么操作微信SDK
網(wǎng)頁路徑:http://fisionsoft.com.cn/article/jchoho.html