游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

。Net6FurionSqlsugarSenparcSdk开

  一、说明
  在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息。二、新建partial类
  partial即为定义部分类的关键字。部分类主要用于当一个类中的内容较多时将相似类中的内容拆分到不同的类中,并且部分类的名称必须相同。
  CustomMessageHandler。cs加关键词partial
  Handler下新建CustomMessageHandlerEvents部分类用来接收事件推送
  修改类名为CustomMessageHandler并添加关键词partial使得CustomMessageHandlerEvents为CustomMessageHandler的部分类,这样推送事件和普通消息事件就分开了,职责清晰,便于维护。namespaceWeiXinApi。Application。Handler{publicpartialclassCustomMessageHandler{}}
  同样的我们新建MessageServiceEvents部分类
  namespaceWeiXinApi。Application。Services{publicpartialinterfaceIMessageService{}}namespaceWeiXinApi。Application。Services{publicpartialclassMessageService{}}
  IMessageService和IMessageService也要加partial关键字
  三、关注取消关注事件
  IMessageServiceEvents定义接口summary订阅summaryparamnamerequestMessageparamreturnsreturnsTaskIResponseMessageBaseOnEventSubscribeRequestAsync(RequestMessageEventSubscriberequestMessage);summary取消订阅summaryparamnamerequestMessageparamreturnsreturnsTaskIResponseMessageBaseOnEventUnsubscribeRequest(RequestMessageEventUnsubscriberequestMessage);
  MessageServiceEvents实现接口publicasyncTaskIResponseMessageBaseOnEventSubscribeRequestAsync(RequestMessageEventSubscriberequestMessage){varresponseMessageResponseMessageBase。CreateFromRequestMessageResponseMessageText(requestMessage);varreceivesawaitDbContext。Db。QueryableMessageReceive()。ToListAsync();如果关键字搜不到,列出关键字varresultnewStringBuilder();result。AppendFormat(欢迎订阅,可以试试下面的关键字rr);for(inti0;ireceives。Count;i){result。AppendFormat(34;{i1}:{receives〔i〕。KeyWords}r);}responseMessage。Contentresult。ToString();returnresponseMessage;}summarysummaryparamnamerequestMessageparamreturnsreturnspublicasyncTaskIResponseMessageBaseOnEventUnsubscribeRequest(RequestMessageEventUnsubscriberequestMessage){实际上用户无法收到非订阅账号的消息,所以这里可以随便写。varresponseMessageResponseMessageBase。CreateFromRequestMessageResponseMessageText(requestMessage);responseMessage。Content34;再见!;Console。WriteLine(34;{requestMessage。FromUserName}取消了订阅);returnresponseMessage;}
  CustomMessageHandlerEvents里重写订阅和取消订阅事件summary订阅或关注事件summaryparamnamerequestMessageparamreturnsreturnspublicoverrideasyncTaskIResponseMessageBaseOnEventSubscribeRequestAsync(RequestMessageEventSubscriberequestMessage){varresultawaitmessageService。OnEventSubscribeRequestAsync(requestMessage);returnresult;}summary退订unsubscribe事件的意义在于及时删除网站应用中已经记录的OpenID绑定,消除冗余数据。并且关注用户流失的情况。summaryreturnsreturnspublicoverrideasyncTaskIResponseMessageBaseOnEventUnsubscribeRequestAsync(RequestMessageEventUnsubscriberequestMessage){varresultawaitmessageService。OnEventUnsubscribeRequest(requestMessage);returnresult;}
  发布到服务器,测试下效果,成功接收到事件
  四、扫描带参数二维码事件
  IMessageServiceEvents定义接口summary扫描带参数二维码事件summaryparamnamerequestMessageparamreturnsreturnsTaskIResponseMessageBaseOnEventScanRequestAsync(RequestMessageEventScanrequestMessage);
  MessageServiceEvents实现接口publicasyncTaskIResponseMessageBaseOnEventScanRequestAsync(RequestMessageEventScanrequestMessage){varresponseMessageResponseMessageBase。CreateFromRequestMessageResponseMessageText(requestMessage);varresult扫描带二维码事件;varsceneIdrequestMessage。EventKey。ObjToInt();varreceiveawaitDbContext。Db。QueryableQrCode()。Where(itit。SceneIdsceneId)。FirstAsync();从数据库拿数据Console。WriteLine(34;是否有数据:{receive!null});if(receive!null){switch(receive。ReceiveInfo。ReceiveType){caseReceiveType。文字:result34;{receive。ReceiveInfo。ReceiveString};break;}}responseMessage。Contentresult;returnresponseMessage;}
  CustomMessageHandlerEvents重写扫描二维码事件summary扫描带参数二维码事件summaryparamnamerequestMessageparamreturnsreturnspublicoverrideasyncTaskIResponseMessageBaseOnEventScanRequestAsync(RequestMessageEventScanrequestMessage){varresultawaitmessageService。OnEventScanRequestAsync(requestMessage);returnresult;}
  先用api接口创建一个二维码,然后发布到服务器,记得sqlite文件为始终复制,可以正常显示
  先取消关注再扫码,发现只回复了扫描带二维码事件这几个字,发现原来在没有关注的情况下会将eventkey推送到订阅事件
  因为关注事件和扫码二维码事件都会去数据库查数据,所以将共用的方法提取出来,编写方法GetScanRequestsummary获取扫描事件结果summaryparamnameeventKeyparamreturnsreturnsprivateasyncTaskstringGetScanRequest(stringeventKey){Console。WriteLine(34;eventKey:{eventKey});varresult扫描带二维码事件!;varsceneIdeventKey。ObjToInt();varreceiveawaitDbContext。Db。QueryableQrCode()。Where(itit。SceneIdsceneId)。FirstAsync();从数据库拿数据Console。WriteLine(34;是否有数据:{receive!null});if(receive!null){switch(receive。ReceiveInfo。ReceiveType){caseReceiveType。文字:result34;{receive。ReceiveInfo。ReceiveString};break;}}returnresult;}
  修改OnEventSubscribeRequestAsync方法publicasyncTaskIResponseMessageBaseOnEventSubscribeRequestAsync(RequestMessageEventSubscriberequestMessage){varresponseMessageResponseMessageBase。CreateFromRequestMessageResponseMessageText(requestMessage);if(!string。IsNullOrWhiteSpace(requestMessage。EventKey)requestMessage。EventKey。StartsWith(qrscene))扫二维码事件{responseMessage。ContentawaitGetScanRequest(requestMessage。EventKey。Split()〔1〕);}else{varreceivesawaitDbContext。Db。QueryableMessageReceive()。ToListAsync();如果关键字搜不到,列出关键字varresultnewStringBuilder();result。AppendFormat(欢迎订阅,可以试试下面的关键字rr);for(inti0;ireceives。Count;i){result。AppendFormat(34;{i1}:{receives〔i〕。KeyWords}r);}responseMessage。Contentresult。ToString();}returnresponseMessage;}
  OnEventScanRequestAsync也改下publicasyncTaskIResponseMessageBaseOnEventScanRequestAsync(RequestMessageEventScanrequestMessage){varresponseMessageResponseMessageBase。CreateFromRequestMessageResponseMessageText(requestMessage);responseMessage。ContentawaitGetScanRequest(requestMessage。EventKey);returnresponseMessage;}
  发布到服务器,取消关注再扫描,成功显示数据
  五、上报地理位置事件
  IMessageServiceEvents定义接口summary位置事件summaryparamnamerequestMessageparamreturnsreturnsTaskIResponseMessageBaseOnEventLocationRequestAsync(RequestMessageEventLocationrequestMessage);
  MessageServiceEvents实现接口publicasyncTaskIResponseMessageBaseOnEventLocationRequestAsync(RequestMessageEventLocationrequestMessage){这里是微信客户端(通过微信服务器)自动发送过来的位置信息varresponseMessageResponseMessageBase。CreateFromRequestMessageResponseMessageText(requestMessage);varresult34;Latitude:{requestMessage。Latitude},Longitude:{requestMessage。Longitude};Console。WriteLine(result);responseMessage。Contentresult;这里写什么都无所谓returnresponseMessage;}
  CustomMessageHandlerEvents重写位置事件summary位置事件summaryparamnamerequestMessageparamreturnsreturnspublicoverrideasyncTaskIResponseMessageBaseOnEventLocationRequestAsync(RequestMessageEventLocationrequestMessage){varresultawaitmessageService。OnEventLocationRequestAsync(requestMessage);returnresult;}
  开通位置权限
  测试一下,正常打印日志
  六、自定义菜单事件6。1、创建菜单
  参考自定义菜单章节6。2、点击事件
  IMessageServiceEvents定义接口summary点击事件summaryparamnamerequestMessageparamreturnsreturnsTaskIResponseMessageBaseOnEventClickRequestAsync(RequestMessageEventClickrequestMessage);
  MessageServiceEvents实现接口publicasyncTaskIResponseMessageBaseOnEventClickRequestAsync(RequestMessageEventClickrequestMessage){Console。WriteLine(进入点击事件);IResponseMessageBasereponseMessagenull;switch(requestMessage。EventKey){caseV1001TODAYMUSIC:{varfilePathwwwrootImagesmusic。jpeg;记得调成始终复制varuploadResultawaitMediaApi。UploadTemporaryMediaAsync(appId,UploadMediaFileType。thumb,ServerUtility。ContentRootMapPath(filePath));PS:缩略图官方没有特别提示文件大小限制,实际测试哪怕114K也会返回文件过大的错误,因此尽量控制在小一点设置音乐信息varstrongResponseMessageResponseMessageBase。CreateFromRequestMessageResponseMessageMusic(requestMessage);reponseMessagestrongResponseMessage;strongResponseMessage。Music。Title天籁之音;strongResponseMessage。Music。Description真的是天籁之音;strongResponseMessage。Music。MusicUrlhttps:sdk。weixin。senparc。comContentmusic1。mp3;strongResponseMessage。Music。HQMusicUrlhttps:sdk。weixin。senparc。comContentmusic1。mp3;strongResponseMessage。Music。ThumbMediaIduploadResult。thumbmediaid;}break;default:{varstrongResponseMessageResponseMessageBase。CreateFromRequestMessageResponseMessageText(requestMessage);strongResponseMessage。Content您点击了按钮,EventKey:requestMessage。EventKey;reponseMessagestrongResponseMessage;}break;}returnreponseMessage;}
  CustomMessageHandlerEvents重写点击事件summary点击事件summaryparamnamerequestMessageparamreturnsreturnspublicoverrideasyncTaskIResponseMessageBaseOnEventClickRequestAsync(RequestMessageEventClickrequestMessage){varresultawaitmessageService。OnEventClickRequestAsync(requestMessage);returnresult;}
  发布到服务器,测试下,没毛病,这里缩略图不知道为啥没显示,不管了,后面再看看啥问题。
  七、点击菜单跳转链接时的事件推送
  IMessageServiceEvents定义接口summary打开网页事件summaryparamnamerequestMessageparamreturnsreturnsTaskIResponseMessageBaseOnEventViewRequestAsync(RequestMessageEventViewrequestMessage);
  MessageServiceEvents实现接口publicasyncTaskIResponseMessageBaseOnEventViewRequestAsync(RequestMessageEventViewrequestMessage){Console。WriteLine(进入链接跳转事件);说明:这条消息只作为接收,下面的responseMessage到达不了客户端,类似OnEventUnsubscribeRequestvarresponseMessageResponseMessageBase。CreateFromRequestMessageResponseMessageText(requestMessage);responseMessage。Content您点击了view按钮,将打开网页:requestMessage。EventKey;returnresponseMessage;}
  CustomMessageHandlerEvents重写打开网页事件summary打开网页事件summaryparamnamerequestMessageparamreturnsreturnspublicoverrideasyncTaskIResponseMessageBaseOnEventViewRequestAsync(RequestMessageEventViewrequestMessage){varresultawaitmessageService。OnEventViewRequestAsync(requestMessage);returnresult;}
  发布到服务器,测试下,没毛病。
  八、本章Gitee地址链接
  https:gitee。comhuguodong520weixinapitreeE4BA8BE4BBB6E68EA8E98081

cpb311可以素颜涂吗cpb311口红掉色吗CPB是日本的贵妇品牌,不光是各种护肤品深受人们的喜爱,它的彩妆也很值得一提,CPB的口红包装精美,膏体的棱角与外壳相呼应,精致的就像一个艺术品一般,CPB的口红不光有绝美的颜……silkygirl唇釉多少钱?silkygirl唇釉专柜价格silkygirl唇釉颜色个人挺喜欢,磨砂真的好有质感,用纸巾抿了一下,没有掉色。那么silkygirl唇釉多少钱?下面小编为你提供silkygirl唇釉专柜价格。silkyg……ModelY与小鹏G9,这对惺惺相惜的宿敌,如何选?有些新势力已经不算新了,比如特斯拉和小鹏。别误会,这句话并不是说它们变味,回归传统,失去新意与活力。相反,这两家以科技见长的车企,灵感似乎不会枯竭,每年定期举办的特斯拉电……10年来最差开局,渣叔感到非常棘手,下一场或有巨大变动上赛季还是英超亚军的利物浦,新赛季开打后,遭遇三轮不胜,更要命的是,新援努涅斯红牌停赛,球队伤病满营,克洛普现在只能使用十五名球员踢比赛。可以说,如今的利物浦问题频出,而克洛普……鼻影修容教程鼻影修容图解我的这个修容包括眼部和鼻部,因为我想要加深眼窝,很其他人的教程会有所不同,也可能这种方法适合我不适合有些宝宝,因为有人说自然我才出的,喜欢的用心看,希望能帮到你们,不喜勿喷哦。……DeFi代币UNI无视市场下跌为了应对美联储加息引发的更广泛的市场低迷,领先的去中心化金融(DeFi)代币在过去24小时内上涨。UNI是去中心化交易所(DEX)Uniswap背后的代币,在过去24小时……rmk卸妆膏怎么用rmk卸妆膏使用方法说到RMK可能还是会有很多小仙女会感到很陌生,这是一个日本的品牌。相较于其他大火的日系化妆品牌来说,RMK就很小众了。之前就有推过他家的轻薄粉底液,反响很不错。这一次我们要来安……物资财富遍地流觞,岌岌可危精神食粮祖国安好,天天有约,子民心语1361前天我写了一篇都在借债享受,谁来还债的小文,今天续写此篇再谈谈这个话题,敬请评鉴。可以说这个时代,物资财富丰富多彩甚至是遍地流淌……杭州因何被美誉为人间的天堂?回想当年,天刚吐鱼白,我冒着濛濛细雨,昏沉沉地登上了大巴车,开始了杭州之行。车子远离市区后,雨停了,我也醒了。睁开睡眼,只见车窗外大块大块的绿色迎面扑来,伴随着的是阵阵清新。雨……迟到了六年,洛佩特吉入主狼队2016年7月,复星国际宣布4500万英镑完成对英冠俱乐部狼队的收购。他们本来想同时官宣新帅洛佩特吉的上任,但50岁的西班牙人当天却出现在了马德里西北25公里的拉斯罗萨斯。那是……科学家太平洋将消失,亚洲美洲将合并新的超级大陆或将因太平洋的合拢而出现。2。8亿年后,地球上将出现一个新的超级大陆美亚超级大陆。澳大利亚柯廷大学的新研究称,由于地壳运动,大约2亿至3亿年后,太平洋会……欧莱雅911试色欧莱雅纷泽溢彩釉光唇膏911豆沙色试色欧莱雅的口红新款系列欧莱雅纷泽溢彩釉光唇膏,这是一款固体唇釉,不过大家喜欢叫它手榴弹口红,因为壳子的纹路是手榴弹的设计,很酷有没有,下面就来看看热门色号911试色欧莱雅固体唇釉……
cl萝卜丁口红哪个颜色好看?cl萝卜丁口红哪个颜色最火?萝卜丁口红已经被玩坏了,之前一直以为ysl杨树林口红是最火的口红,知道遇见了cl,这个价格甩tomford、ysl几条街啊!这么火的萝卜丁口红,那一只不容易踩雷呢?萝卜丁口红哪……如何从日常生活判断自己是否肾虚肾虚怎么调理比较好肾是人体一大重要的器官,肾功能的好坏能直接影响人精神面貌,一个肾虚肾不好的人从他的面相和精神状态都能看出,那么如何才能自我判断肾虚呢?其实自身可以从日常的小细节来判断自己是否肾……bcl蜜粉饼哪个颜色好?bclclearlast蜜粉饼怎么样bclclearlast蜜粉饼,这款是被我一个朋友种草的,她去日本旅游的时候给我带的一盒,这款商品有几款颜色,分别是不同的味道和适合不同肤质哦!bcl蜜粉饼怎么样这款品牌……人这辈子,命里的钱,皆是定数人生在世命也运也布大道于天下施善念于人心虽无修行身亦是修行人洞明修行苦方开修行门众生之相在流行歌曲《闯码头》里,其歌词这样写道!我们一……来广西想吃什么?我来告诉你!朋友们,如果你们到广西来游玩,想吃广西特产、小吃好吃的东西很多,我为大家一一道来去哪里吃。吃狗肉去玉林,各种个样的做法都有,但脆皮狗我个人认为得胜脆皮狗才正宗。吃田鼠到来宾,烤……surratt腮红怎么样?surratt腮红好用吗?surratt腮红上脸颜色不淡,很自然很心机,轻轻一刷就可以达到修容效果。那么surratt腮红怎么样?surratt腮红好用吗?surratt腮红怎么样surratt腮……纪梵希317显白吗?纪梵希317适合黄皮吗?黄皮星人最怕就是选择了一支不合适的口红,毕竟人家是黄皮嘛,嘤嘤嘤要抱抱。今天5号网小编就要和大家聊一聊很热门的纪梵希小羊皮的一个色号,纪梵希317显白吗?纪梵希317适合黄皮吗……丝芙兰气垫腮红怎么用?丝芙兰柔光气垫腮红用法丝芙兰柔光气垫腮红是一种全新的腮红体验,气垫的感受让你不再担心红屁股。今天5号网小编就来为大家介绍一下,丝芙兰气垫腮红怎么用?丝芙兰柔光气垫腮红用法是什么?丝芙兰气垫腮红介绍……哑光和镜面口红哪个好?哑光口红和镜面口红区别口红至少是有8种质地的,所以说女生买一支口红真的是深思熟虑,几十种色号加上不同品牌不同质地,简直要死一堆脑细胞,现在哑光和镜面口红正流行,哪一种比较好呢?镜面口红是什么意思……高秀敏离世17年,赵本山才明白铁三角解散的背后,是他自己2005年8月18日,正在筹备拍摄《圣水湖畔2》的高秀敏。因为突发心脏病,独自死在了家中,年仅46岁。葬礼上,才失去和原配所生的大儿子的爱人何庆魁哭得不能自己,马不……用防晒棒会花妆吗?化妆了还能用防晒棒吗防晒棒,今年防晒新宠,前几天还有妹子问我要出去旅游担心防晒喷雾被没收的问题,有了防晒棒就不用担心了,那么使用防晒棒会不会花妆呢?用防晒棒会花妆吗感觉看今年的朋友圈,猛然发……防晒棒是什么?防晒棒好用吗防晒棒是一个新型的防晒概念,它好携带,它的防晒指数高,它也方便补涂,就像是一支大号的唇膏一样,想涂就可以轻松涂抹,实在是太方便防晒棒是什么防晒棒是棒状的防晒膏,涂上去有一……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网