Repository Analysis

JeffreySu/WeiXinMPSDK

微信全平台 .NET SDK, Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 10.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.

13.1 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of JeffreySu/WeiXinMPSDK, a C# project with 8,881 GitHub stars. SynthScan v2.0 examined 507,147 lines of code across 2916 source files, recording 5249 pattern matches distributed across 9 syntactic categories. The overall adjusted score of 13.1 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

13.1
Adjusted Score
13.1
Raw Score
100%
Time Factor
2026-07-31
Last Push
8.9K
Stars
C#
Language
507.1K
Lines of Code
2.9K
Files
5.2K
Pattern Hits
2026-08-02
Scan Date
0.05
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 152HIGH 1MEDIUM 2LOW 5094

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 5249 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Over-Commented Block5030 hits · 4791 pts
SeverityFileLineSnippetContext
LOW….Weixin.Sample.CommonService/TemplateMessageService.cs21 //string productName = null;COMMENT
LOW….Weixin.Sample.CommonService/TemplateMessageService.cs41 // {COMMENT
LOW…eHandlers/CustomMessageHandler/CustomMessageHandler.cs81 /// </summary>COMMENT
LOW…eHandlers/CustomMessageHandler/CustomMessageHandler.cs121 /// 处理文字请求COMMENT
LOW…eHandlers/CustomMessageHandler/CustomMessageHandler.cs141 // PicUrl = picUrl,COMMENT
LOW…lers/WebSocket/CustomNetCoreWebSocketMessageHandler.cs81 // var formId = receivedMessage.FormId;//发送模板消息使用,需要在wxml中设置<form report-submit="true">COMMENT
LOW…ssage/WxOpen/WxOpenTemplateMessage_PaySuccessNotice.cs21COMMENT
LOW…Weixin.Sample.CommonService/Properties/AssemblyInfo.cs21COMMENT
LOW…n.Sample.CommonService/AI/MessageHandlers/ChatStore.cs41 public List<WeixinAiChatHistory> History { get; set; }COMMENT
LOW…n.Sample.CommonService/AI/MessageHandlers/ChatStore.cs121COMMENT
LOW…nService/AI/MessageHandlers/CustomMessageHandler_AI.cs321 }COMMENT
LOW…Weixin.Sample.Shared/wwwroot/js/miniprogram/signalr.js1761 //if (headers) {COMMENT
LOW…Weixin.Sample.Shared/wwwroot/js/miniprogram/signalr.js1781 // request.abortSignal.onabort = null;COMMENT
LOW…Weixin.Sample.Shared/wwwroot/js/miniprogram/signalr.js3921 _a.label = 2;COMMENT
LOW…-validation-unobtrusive/jquery.validate.unobtrusive.js261 /// <param name="params" type="Array" optional="true">[Optional] An array of parameter names (strings) that willCOMMENT
LOW…-validation-unobtrusive/jquery.validate.unobtrusive.js281 /// of adapterName will be used instead.</param>COMMENT
LOW…idation-unobtrusive/jquery.validate.unobtrusive.min.js1// Unobtrusive validation support library for jQuery and jQuery ValidateCOMMENT
LOW…s/All/net10-mvc/Senparc.Weixin.Sample.Net10/Startup.cs281 //注册多个公众号或小程序(可注册多个)COMMENT
LOW…n.Sample.Net10/Controllers/CaseCollectionController.cs21 /// 收集案例页面COMMENT
LOW…n.Sample.Net10/Controllers/CaseCollectionController.cs41 ///// <param name="name"></param>COMMENT
LOW…ixin.Sample.Net10/Controllers/Tools/CacheController.cs21 // get { return _dateTime; }COMMENT
LOW…ixin.Sample.Net10/Controllers/Tools/CacheController.cs241 // //var containerCacheStrategy = CacheStrategyFactory.GetContainerCacheStrategyInstance();COMMENT
LOW…ixin.Sample.Net10/Controllers/Tools/CacheController.cs261COMMENT
LOW…ixin.Sample.Net10/Controllers/Tools/CacheController.cs281 // sb.AppendFormat("=====MQ队列({0})=======<br><br>", mq.GetCount());COMMENT
LOW…ixin.Sample.Net10/Controllers/Tools/CacheController.cs301 // sb.AppendFormat("{0}:{1}<br />", "插入缓存时间",COMMENT
LOW…ixin.Sample.Net10/Controllers/Tools/AiDocController.cs281 // <h4>📦 接口模块</h4>COMMENT
LOW…ixin.Sample.Net10/Controllers/Tools/AiDocController.cs301 // <div class='code-tabs'>COMMENT
LOW…ixin.Sample.Net10/Controllers/Tools/AiDocController.cs321 //var result = await HttpHelper.GetAsync(apiUrl);</code></pre>COMMENT
LOW…ixin.Sample.Net10/Controllers/Tools/AiDocController.cs341 // ""subscribe_time"": 1672531200COMMENT
LOW….Net10/Controllers/Weixin/TenPay/TenPayV3Controller.cs321 //packageReqHandler.SetParameter("total_fee", "1");COMMENT
LOW….Net10/Controllers/Weixin/TenPay/TenPayV3Controller.cs381COMMENT
LOW….Net10/Controllers/Weixin/TenPay/TenPayV3Controller.cs661 //packageReqHandler.SetParameter("appid", TenPayV3Info.AppId); //公众账号IDCOMMENT
LOW….Net10/Controllers/Weixin/TenPay/TenPayV3Controller.cs681 ////调用证书COMMENT
LOW…le.Net10/Controllers/Weixin/TenPay/TenPayController.cs301 string payMessage = null;COMMENT
LOW…Sample.Net10/Controllers/Weixin/Work/WorkController.cs81 {COMMENT
LOW…e.Net10/Controllers/Weixin/MP/WeixinAsyncController.cs21 修改描述:改用中间件形式,已经不需要 ControllerCOMMENT
LOW…e.Net10/Controllers/Weixin/MP/WeixinAsyncController.cs41//using System.Xml.Linq;COMMENT
LOW…e.Net10/Controllers/Weixin/MP/WeixinAsyncController.cs61COMMENT
LOW…e.Net10/Controllers/Weixin/MP/WeixinAsyncController.cs81// }COMMENT
LOW…e.Net10/Controllers/Weixin/MP/WeixinAsyncController.cs101// postModel.AppId = AppId; //根据自己后台的设置保持一致COMMENT
LOW…e.Net10/Controllers/Weixin/MP/WeixinAsyncController.cs121// #endregionCOMMENT
LOW…e.Net10/Controllers/Weixin/MP/WeixinJSSDKController.cs21COMMENT
LOW…mple.Net10/Controllers/Weixin/MP/AnalysisController.cs41 return View(vd);COMMENT
LOW…mple.Net10/Controllers/Weixin/MP/AnalysisController.cs81 // result = AnalysisApi.GetArticleTotal(accessToken, vd_Form.StartDate, vd_Form.EndDate);COMMENT
LOW…mple.Net10/Controllers/Weixin/MP/AnalysisController.cs101 // result = AnalysisApi.GetInterfaceSummary(accessToken, vd_Form.StartDate, vd_Form.EndDate);COMMENT
LOW…mple.Net10/Controllers/Weixin/MP/AnalysisController.cs121 // result = AnalysisApi.GetUpStreamMsgMonth(accessToken, vd_Form.StartDate, vd_Form.EndDate);COMMENT
LOW….Net10/Controllers/Weixin/MP/SubscribeMsgController.cs61 }COMMENT
LOW…e.Net10/Controllers/Weixin/Open/OpenOAuthController.cs21 private string component_Secret = Config.SenparcWeixinSetting.Component_Secret;COMMENT
LOW…in.Sample.Net8/Controllers/CaseCollectionController.cs21 /// 收集案例页面COMMENT
LOW…in.Sample.Net8/Controllers/CaseCollectionController.cs41 ///// <param name="name"></param>COMMENT
LOW…eixin.Sample.Net8/Controllers/Tools/CacheController.cs21 // get { return _dateTime; }COMMENT
LOW…eixin.Sample.Net8/Controllers/Tools/CacheController.cs241 // //var containerCacheStrategy = CacheStrategyFactory.GetContainerCacheStrategyInstance();COMMENT
LOW…eixin.Sample.Net8/Controllers/Tools/CacheController.cs261COMMENT
LOW…eixin.Sample.Net8/Controllers/Tools/CacheController.cs281 // sb.AppendFormat("=====MQ队列({0})=======<br><br>", mq.GetCount());COMMENT
LOW…eixin.Sample.Net8/Controllers/Tools/CacheController.cs301 // sb.AppendFormat("{0}:{1}<br />", "插入缓存时间",COMMENT
LOW…eixin.Sample.Net8/Controllers/Tools/AiDocController.cs61 /// AI文档助手页面COMMENT
LOW…eixin.Sample.Net8/Controllers/Tools/AiDocController.cs301 var replacedSpaces = Regex.Replace(html, @" {2,}", " ");COMMENT
LOW…eixin.Sample.Net8/Controllers/Tools/AiDocController.cs321COMMENT
LOW…eixin.Sample.Net8/Controllers/Tools/AiDocController.cs341 // <div class='tab-content'>COMMENT
LOW…eixin.Sample.Net8/Controllers/Tools/AiDocController.cs361 //&openid=OPENIDCOMMENT
4970 more matches not shown…
Hallucination Indicators152 hits · 1782 pts
SeverityFileLineSnippetContext
CRITICALreadme.en.md118> 3. A synchronous version is also available: `Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendText()`.<br>CODE
CRITICALreadme.md118> 3. 以上方法也支持同步方法:`Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendText()`。<br>CODE
CRITICALdocs/zh/guide/wxopen/login.md225 var checkSuccess = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.CheckSignature(sessionId, rawData, signature);CODE
CRITICALdocs/zh/guide/work/advanced-interface.md25 var result = await Senparc.Weixin.Work.AdvancedAPIs.MassApi.SendTextAsync(appKey, "001", "这是一条来企业微信的消息");CODE
CRITICALdocs/zh/guide/work/advanced-interface.md54 var result = await Senparc.Weixin.Work.AdvancedAPIs.MassApi.SendTextAsync(accessToken, "001", "这是一条来企业微信的消息");CODE
CRITICALdocs/zh/guide/mp/advanced-interface.md15var result = await Senparc.Weixin.MP.AdvancedAPIs.UserApi.GetAsync(appId);//获取关注者 OpenId 信息CODE
CRITICALdocs/zh/guide/mp/advanced-interface.md24var result = await Senparc.Weixin.MP.AdvancedAPIs.UserApi.GetAsync(accessToken);//获取关注者 OpenId 信息CODE
CRITICALdocs/en/guide/wxopen/login.md224 var checkSuccess = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.CheckSignature(sessionId, rawData, signature);CODE
CRITICALdocs/en/guide/work/advanced-interface.md26 var result = await Senparc.Weixin.Work.AdvancedAPIs.MassApi.SendTextAsync(appKey, "001", "This is a message fromCODE
CRITICALdocs/en/guide/work/advanced-interface.md55 var result = await Senparc.Weixin.Work.AdvancedAPIs.MassApi.SendTextAsync(accessToken, "001", "This is a messageCODE
CRITICALdocs/en/guide/mp/advanced-interface.md17var result = await Senparc.Weixin.MP.AdvancedAPIs.UserApi.GetAsync(appId);//Get follower OpenId informationCODE
CRITICALdocs/en/guide/mp/advanced-interface.md26var result = await Senparc.Weixin.MP.AdvancedAPIs.UserApi.GetAsync(accessToken);//get the follower OpenId informationCODE
CRITICAL…ll/Senparc.Weixin.Sample.CommonService/EventService.cs184 var result = Senparc.Weixin.MP.AdvancedAPIs.TemplateApi.SendTemplateMessageAsync(appId, openId, CODE
CRITICAL…ndlers/WebSocket/CustomNet45WebSocketMessageHandler.cs92 //var tmResult = Senparc.Weixin.WxOpen.AdvancedAPIs.Template.TemplateApi.SendTemplateMessage(appId, openCOMMENT
CRITICAL…lers/WebSocket/CustomNetCoreWebSocketMessageHandler.cs93 // var tmResult = Senparc.Weixin.WxOpen.AdvancedAPIs.Template.TemplateApi.SendTemplateMessage(appId, COMMENT
CRITICAL…andlers/WorkMessageHandler/WorkCustomMessageHandler.cs86 Senparc.Weixin.Work.AdvancedAPIs.ChatApi.SendChatSimpleMessage(AccessTokenContainer.BuildingKey(_workSettingCODE
CRITICAL…andlers/WorkMessageHandler/WorkCustomMessageHandler.cs87 //Senparc.Weixin.Work.AdvancedAPIs.ChatApi.SendChatSimpleMessage(AccessTokenContainer.BuildingKey(_workSettiCOMMENT
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs121 await Senparc.Weixin.WxOpen.AdvancedAPIs.CustomApi.SendLinkAsync(appId, OpenId, "欢迎使用 Senparc.Weixin SDKCODE
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs130 await Senparc.Weixin.WxOpen.AdvancedAPIs.CustomApi.SendMiniProgramPageAsync(appId, OpenId, "欢迎使用 SenparcCODE
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs135 await Senparc.Weixin.WxOpen.AdvancedAPIs.CustomApi.SendTextAsync(appId, OpenId, "您即将进入客服");CODE
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs146 await Senparc.Weixin.WxOpen.AdvancedAPIs.CustomApi.SendTextAsync(appId, OpenId, sb.ToString());CODE
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs189 await Senparc.Weixin.WxOpen.AdvancedAPIs.CustomApi.SendTextAsync(appId, OpenId, msg);CODE
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs192 //Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendText(appId, WeixinOpenId, msg);COMMENT
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs214 await Senparc.Weixin.WxOpen.AdvancedAPIs.CustomApi.SendTextAsync(appId, OpenId, "刚才您发送了这张图片:");CODE
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs215 await Senparc.Weixin.WxOpen.AdvancedAPIs.CustomApi.SendImageAsync(appId, OpenId, requestMessage.MediaId);CODE
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs230 await Senparc.Weixin.WxOpen.AdvancedAPIs.CustomApi.SendTextAsync(appId, OpenId, msg);CODE
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs238 await Senparc.Weixin.WxOpen.AdvancedAPIs.CustomApi.SendTextAsync(appId, OpenId, msg);CODE
CRITICAL…ers/WxOpenMessageHandler/CustomWxOpenMessageHandler.cs239 await Senparc.Weixin.WxOpen.AdvancedAPIs.CustomApi.SendImageAsync(appId, OpenId, requestMessage.ThumbMediaIdCODE
CRITICAL…nService/AI/MessageHandlers/CustomMessageHandler_AI.cs380 _ = Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendTextAsync(appId, OpenId, "图片生成中,通常需要 1 分钟左右,请稍等!");CODE
CRITICAL…nService/AI/MessageHandlers/CustomMessageHandler_AI.cs424 _ = Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendTextAsync(appId, OpenId, "已生成,正在保存,请稍后!");CODE
CRITICAL…nService/AI/MessageHandlers/CustomMessageHandler_AI.cs426 var uploadResult = await Senparc.Weixin.MP.AdvancedAPIs.MediaApi.UploadTemporaryMediaAsync(appId, MP.UplCODE
CRITICAL…nService/AI/MessageHandlers/CustomMessageHandler_AI.cs428 await Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendImageAsync(appId, OpenId, uploadResult.media_id);CODE
CRITICAL…nService/AI/MessageHandlers/CustomMessageHandler_AI.cs502 await Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendTextAsync(appId, OpenId, responseMessageText);CODE
CRITICAL…s/All/net10-mvc/Senparc.Weixin.Sample.Net10/Startup.cs176 Senparc.CO2NET.Cache.CsRedis.Register.SetConfigurationOption(redisConfigurationStr);CODE
CRITICAL…s/All/net10-mvc/Senparc.Weixin.Sample.Net10/Startup.cs179 Senparc.CO2NET.Cache.CsRedis.Register.UseKeyValueRedisNow();//键值对缓存策略(推荐)CODE
CRITICAL…s/All/net10-mvc/Senparc.Weixin.Sample.Net10/Startup.cs181 //Senparc.CO2NET.Cache.CsRedis.Register.UseHashRedisNow();//HashSet储存格式的缓存策略COMMENT
CRITICAL…s/All/net10-mvc/Senparc.Weixin.Sample.Net10/Startup.cs193 //Senparc.CO2NET.Cache.Redis.Register.SetConfigurationOption(redisConfigurationStr);COMMENT
CRITICAL…s/All/net10-mvc/Senparc.Weixin.Sample.Net10/Startup.cs194 //Senparc.CO2NET.Cache.Redis.Register.UseKeyValueRedisNow();//键值对缓存策略(推荐)COMMENT
CRITICAL…s/All/net10-mvc/Senparc.Weixin.Sample.Net10/Startup.cs213 Senparc.CO2NET.Cache.Memcached.Register.SetConfigurationOption(memcachedConfigurationStr);CODE
CRITICAL…s/All/net10-mvc/Senparc.Weixin.Sample.Net10/Startup.cs216 Senparc.CO2NET.Cache.Memcached.Register.UseMemcachedNow();CODE
CRITICAL…xin.Sample.Net10/Controllers/Tools/QrCodeController.cs182 var task = Senparc.Weixin.MP.AdvancedAPIs.UrlApi.ShortUrlAsync(Config.SenparcWeixinSetting.MpSettingCODE
CRITICAL…le.Net10/Controllers/Weixin/WxOpen/WxOpenController.cs200 var checkSuccess = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.CheckSignature(sessionId, rawData, signatCODE
CRITICAL…le.Net10/Controllers/Weixin/WxOpen/WxOpenController.cs309 var phoneNumber = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.DecryptPhoneNumber(sessionId, encryptedDatCODE
CRITICAL…le.Net10/Controllers/Weixin/WxOpen/WxOpenController.cs333 var runData = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.DecryptRunData(sessionId, encryptedData, iv);CODE
CRITICAL…le.Net10/Controllers/Weixin/WxOpen/WxOpenController.cs367 var result = Senparc.Weixin.TenPay.V3.TenPayV3.Unifiedorder(xmlDataInfo);//调用统一订单接口CODE
CRITICAL…le.Net10/Controllers/Weixin/WxOpen/WxOpenController.cs388 paySign = Senparc.Weixin.TenPay.V3.TenPayV3.GetJsPaySign(WxOpenAppId, timeStamp, nonceStr, packageStCODE
CRITICAL…le.Net10/Controllers/Weixin/WxOpen/WxOpenController.cs582 var jumpWxa = new Senparc.Weixin.WxOpen.AdvancedAPIs.UrlScheme.GenerateSchemeJumpWxa("", "");CODE
CRITICAL…le.Net10/Controllers/Weixin/WxOpen/WxOpenController.cs583 var schmeResult = await Senparc.Weixin.WxOpen.AdvancedAPIs.UrlSchemeApi.GenerateSchemeAsync(wxOpenAppId,CODE
CRITICAL….Sample.Net10/Controllers/Weixin/MP/MediaController.cs34 Senparc.Weixin.MP.AdvancedAPIs.MediaApi.Get(appId, mediaId, ms);CODE
CRITICAL…les/All/net8-mvc/Senparc.Weixin.Sample.Net8/Startup.cs162 Senparc.CO2NET.Cache.CsRedis.Register.SetConfigurationOption(redisConfigurationStr);CODE
CRITICAL…les/All/net8-mvc/Senparc.Weixin.Sample.Net8/Startup.cs165 Senparc.CO2NET.Cache.CsRedis.Register.UseKeyValueRedisNow();//键值对缓存策略(推荐)CODE
CRITICAL…les/All/net8-mvc/Senparc.Weixin.Sample.Net8/Startup.cs167 //Senparc.CO2NET.Cache.CsRedis.Register.UseHashRedisNow();//HashSet储存格式的缓存策略COMMENT
CRITICAL…les/All/net8-mvc/Senparc.Weixin.Sample.Net8/Startup.cs179 //Senparc.CO2NET.Cache.Redis.Register.SetConfigurationOption(redisConfigurationStr);COMMENT
CRITICAL…les/All/net8-mvc/Senparc.Weixin.Sample.Net8/Startup.cs180 //Senparc.CO2NET.Cache.Redis.Register.UseKeyValueRedisNow();//键值对缓存策略(推荐)COMMENT
CRITICAL…les/All/net8-mvc/Senparc.Weixin.Sample.Net8/Startup.cs199 Senparc.CO2NET.Cache.Memcached.Register.SetConfigurationOption(memcachedConfigurationStr);CODE
CRITICAL…les/All/net8-mvc/Senparc.Weixin.Sample.Net8/Startup.cs202 Senparc.CO2NET.Cache.Memcached.Register.UseMemcachedNow();CODE
CRITICAL…ixin.Sample.Net8/Controllers/Tools/QrCodeController.cs164 var task = Senparc.Weixin.MP.AdvancedAPIs.UrlApi.ShortUrlAsync(Config.SenparcWeixinSetting.MpSettingCODE
CRITICAL…ple.Net8/Controllers/Weixin/WxOpen/WxOpenController.cs200 var checkSuccess = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.CheckSignature(sessionId, rawData, signatCODE
CRITICAL…ple.Net8/Controllers/Weixin/WxOpen/WxOpenController.cs309 var phoneNumber = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.DecryptPhoneNumber(sessionId, encryptedDatCODE
CRITICAL…ple.Net8/Controllers/Weixin/WxOpen/WxOpenController.cs333 var runData = Senparc.Weixin.WxOpen.Helpers.EncryptHelper.DecryptRunData(sessionId, encryptedData, iv);CODE
92 more matches not shown…
Hyper-Verbose Identifiers52 hits · 52 pts
SeverityFileLineSnippetContext
LOW…ols/WeixinBrowserPlugin/src/test-first-dock-display.js23function checkFloatingWindowDisplay(stepName) {CODE
LOWtools/WeixinBrowserPlugin/src/test-iframe-resize.js169async function compareFirstAndSubsequent() {CODE
LOWtools/WeixinBrowserPlugin/src/test-dock-v2.js126function testPageContentAdjustment() {CODE
LOWtools/WeixinBrowserPlugin/src/test-iframe-height.js34function checkFloatingWindowContent() {CODE
LOWtools/WeixinBrowserPlugin/src/debug-weixin-docs.js112function forceApplyDockStylesEnhanced() {CODE
LOWtools/WeixinBrowserPlugin/src/debug-weixin-docs.js259function applyWeixinDocsSpecificFix() {CODE
LOWtools/WeixinBrowserPlugin/src/content.js1387function setupOptimizedMutationObserver() {CODE
LOW…Weixin.Sample.Shared/wwwroot/js/miniprogram/signalr.js1(function webpackUniversalModuleDefinition(root, factory) {CODE
LOW…Weixin.Sample.Shared/wwwroot/js/miniprogram/signalr.js3731 function ServerSentEventsTransport(httpClient, accessTokenFactory, logger, logMessageContent, eventSourceConstructorCODE
LOW…5-mvc/Senparc.Weixin.MP.Sample/Scripts/jquery-1.7.1.js6895function addToPrefiltersOrTransports( structure ) {CODE
LOW…5-mvc/Senparc.Weixin.MP.Sample/Scripts/jquery-1.7.1.js6931function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js1888 function validateThatBindingIsAllowedForVirtualElements(bindingName) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js1894 function applyBindingsToDescendantsInternal (viewModel, elementOrVirtualElement, bindingContextsMayDifferFromDomPareCODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js1903 function applyBindingsToNodeAndDescendantsInternal (viewModel, nodeVerified, bindingContextMayDifferFromDomParentEleCODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js73 function isClickOnCheckableElement(element, eventType) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js535 function getDisposeCallbacksCollection(node, createIfNotFound) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js543 function destroyCallbacksCollection(node) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js571 function cleanImmediateCommentTypeChildren(nodeWithChildren) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js957 "equalityComparer": function valuesArePrimitiveAndEqual(a, b) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js1128 function disposeAllSubscriptionsToDependencies() {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js1325 function visitPropertiesOrArrayEntries(rootObject, visitorCallback) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js1851 function createBindingsStringEvaluatorViaCache(bindingsString, scopesCount, cache) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js1857 function createBindingsStringEvaluator(bindingsString, scopesCount) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js1930 function applyBindingsToNodeInternal (node, bindings, viewModelOrBindingContext, bindingContextMayDifferFromDomParenCODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js2169function ensureDropdownSelectionIsConsistentWithModelValue(element, modelValue, preferModelValue) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js2706 function validateDataBindValuesForRewriting(keyValueArray) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js2724 function constructMemoizedTagReplacement(dataBindAttributeValue, tagToRetain, templateEngine) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js2866 function invokeForEachNodeOrCommentInContinuousRange(firstNode, lastNode, action) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js2875 function activateBindingsOnContinuousNodeArray(continuousNodeArray, bindingContext) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js2896 function getFirstNodeFromPossibleArray(nodeOrNodeArray) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js3014 function disposeOldSubscriptionAndStoreNewOne(element, newSubscription) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js3092 function calculateEditDistanceMatrix(oldArray, newArray, maxAllowedDistance) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js3126 function findEditScriptFromEditDistanceMatrix(editDistanceMatrix, oldArray, newArray) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js3206 function mapNodeAndRefreshWhenChanged(containerNode, mapping, valueToMap, callbackAfterAddingNodes, index) {CODE
LOW…nparc.Weixin.MP.Sample/Scripts/knockout-2.1.0.debug.js3380 function ensureHasReferencedJQueryTemplates() {CODE
LOW…pen/Senparc.Weixin.WxOpen.AppDemo/utils/signalr.1.0.js2395 function ServerSentEventsTransport(httpClient, accessTokenFactory, logger, logMessageContent) {CODE
LOW…en/Senparc.Weixin.WxOpen.AppDemo/utils/signalr.test.js1(function webpackUniversalModuleDefinition(root, factory) {CODE
LOW…en/Senparc.Weixin.WxOpen.AppDemo/utils/signalr.test.js3750 function ServerSentEventsTransport(httpClient, accessTokenFactory, logger, logMessageContent, eventSourceConstructorCODE
LOW…src/Senparc.Weixin.WxOpen.AppDemo/utils/signalr.1.0.js2395 function ServerSentEventsTransport(httpClient, accessTokenFactory, logger, logMessageContent) {CODE
LOW…rc/Senparc.Weixin.WxOpen.AppDemo/utils/signalr.test.js1(function webpackUniversalModuleDefinition(root, factory) {CODE
LOW…rc/Senparc.Weixin.WxOpen.AppDemo/utils/signalr.test.js3750 function ServerSentEventsTransport(httpClient, accessTokenFactory, logger, logMessageContent, eventSourceConstructorCODE
LOW…Tests/Helpers/Serializers/WeixinJsonSerializerTests.cs59 private sealed class JsonResponseHandler : HttpMessageHandlerCODE
LOW…/Senparc.Weixin.TenPay/V2/RefundQueryRequestHandler.cs29 public class RefundQueryRequestHandler : ClientRequestHandlerCODE
LOW…enPay/Senparc.Weixin.TenPay/V2/ClientRequestHandler.cs34 public class ClientRequestHandlerCODE
LOW…enPay/Senparc.Weixin.TenPay/V2/RefundRequestHandler.cs47 public class RefundRequestHandler : ClientRequestHandlerCODE
LOW…TenPay/Senparc.Weixin.TenPay/V2/CheckRequestHandler.cs47 public class CheckRequestHandler : ClientRequestHandlerCODE
LOW…nPay/Senparc.Weixin.TenPay/V2/RefundResponseHandler.cs57 public class RefundResponseHandlerCODE
LOW…xin.TenPay/Senparc.Weixin.TenPay/V2/ResponseHandler.cs67 public class ResponseHandlerCODE
LOW…nPay/Senparc.Weixin.TenPay/V2/ClientResponseHandler.cs44 public class ClientResponseHandlerCODE
LOW…ixin.TenPay/Senparc.Weixin.TenPay/V2/RequestHandler.cs66 public class RequestHandlerCODE
LOW…xin.TenPay/Senparc.Weixin.TenPay/V3/ResponseHandler.cs78 public class ResponseHandlerCODE
LOW…ixin.TenPay/Senparc.Weixin.TenPay/V3/RequestHandler.cs92 public class RequestHandlerCODE
Structural Annotation Overuse8 hits · 12 pts
SeverityFileLineSnippetContext
LOWreadme.en.md129#### Step 1: Create a custom MessageHandler to control message processing logic:COMMENT
LOWreadme.en.md183#### Step 2: Request the CustomMessageHandler:COMMENT
LOWdocs/en/guide/work/oauth2.0.md9## Step 1: Set up the login pageCOMMENT
LOWdocs/en/guide/work/oauth2.0.md41## Step 2: Front-end login page setupCOMMENT
LOWdocs/en/guide/work/oauth2.0.md53## Step 3: Configure the post-login callback pageCOMMENT
LOWdocs/en/guide/mp/oauth2.0.md9## Step 1: Set up the login pageCOMMENT
LOWdocs/en/guide/mp/oauth2.0.md42## Step 2: Front-end login page setupCOMMENT
LOWdocs/en/guide/mp/oauth2.0.md58## Step 3: Configure the post-login callback pageCOMMENT
Synthetic Comment Markers1 hit · 8 pts
SeverityFileLineSnippetContext
HIGH…c/Senparc.Weixin.MP.Sample/Scripts/jquery-ui-1.8.20.js8186 // Format a name, short or long as requestedCOMMENT
Verbosity Indicators3 hits · 4 pts
SeverityFileLineSnippetContext
LOW…Weixin.Sample.Shared/wwwroot/js/miniprogram/signalr.js3958 // ErrorEvent is a browser only type we need to check if the type exists before using itCOMMENT
LOW…en/Senparc.Weixin.WxOpen.AppDemo/utils/signalr.test.js3986 // ErrorEvent is a browser only type we need to check if the type exists before using itCOMMENT
LOW…rc/Senparc.Weixin.WxOpen.AppDemo/utils/signalr.test.js3986 // ErrorEvent is a browser only type we need to check if the type exists before using itCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…5-mvc/Senparc.Weixin.MP.Sample/Scripts/jquery-1.7.1.js9255// AMD modules. A named AMD is safest and most robust way to register.COMMENT
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…c/Senparc.Weixin.MCP.Server/Tools/RandomNumberTools.cs5/// Sample MCP tools for demonstration purposes.COMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…rk.Test/AdvancedAPIs/FoundationCurrentContractTests.cs110 Assert.AreEqual("user@example.com", userDetail.biz_mail);CODE