CrazyIter_Bin 8 months ago
parent
commit
3f53c1c51e

+ 3 - 3
TEAMModelBI/TEAMModelBI.csproj

@@ -65,9 +65,9 @@
 		<SpaRoot>ClientApp\</SpaRoot>
 		<DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
 		<UserSecretsId>078b5d89-7d90-4f6a-88fc-7d96025990a8</UserSecretsId>
-		<Version>5.2409.18</Version>
-		<AssemblyVersion>5.2409.18.1</AssemblyVersion>
-		<FileVersion>5.2409.18.1</FileVersion>
+		<Version>5.2409.25</Version>
+		<AssemblyVersion>5.2409.25.1</AssemblyVersion>
+		<FileVersion>5.2409.25.1</FileVersion>
 		<Description>TEAMModelBI(BI)</Description>
 		<PackageReleaseNotes>BI版本说明版本切换标记2022000908</PackageReleaseNotes>
 		<PackageId>TEAMModelBI</PackageId>

File diff suppressed because it is too large
+ 961 - 185
TEAMModelOS.Extension/HTEX.Test/Controllers/LessonRecordController.cs


+ 4 - 0
TEAMModelOS.Extension/HTEX.Test/HTEX.Test.csproj

@@ -6,6 +6,10 @@
     <ImplicitUsings>enable</ImplicitUsings>
   </PropertyGroup>
 
+  <ItemGroup>
+    <PackageReference Include="Microsoft.ML" Version="3.0.1" />
+  </ItemGroup>
+
   <ItemGroup>
     <ProjectReference Include="..\..\TEAMModelOS.SDK\TEAMModelOS.SDK.csproj" />
   </ItemGroup>

+ 133 - 65
TEAMModelOS.Extension/HTEX.Test/Program.cs

@@ -1,3 +1,5 @@
+using Azure;
+using HTEX.Test.Service;
 using MathNet.Numerics;
 using System.Configuration;
 using System.Diagnostics;
@@ -39,89 +41,155 @@ namespace HTEX.Test
             app.Run();
         }
 
+
+
         public static string Test()
         {
-            string originalString = "这 是 一      个 测 试。\n \r\t  ";
-            string stringWithoutSpaces = Regex.Replace(originalString, @"\s+", "");
-            // 标准答案集合
-            List<string> standardAnswers = new List<string> { "apple", "banana", "cherry" };
-            // 学生作答集合
-            List<string> studentAnswers = new List<string> { "bana1na", "orange", "grape", "111" };
-
-            // 使用LINQ查询来判断是否有匹配的答案
-            bool hasMatchingAnswer = standardAnswers.Intersect(studentAnswers).Any();
+            var a = new int[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27];
+            var b = new int[2192, 2379, 2070, 1813, 1662, 1421, 1134, 1043, 861, 763, 608, 563, 451, 358, 291, 252, 213, 170, 152, 133, 132, 95, 82, 71, 73, 63, 43];
+
+
+          //   var per= GetPersent(array,3);
+         //   Console.WriteLine(per);
+
+           //var data =  MLService.GetNormalCluster(array.ToArray(),3,0.3);
+            //  var group =  array.GroupBy(x=>x).Select(x=>new { key = x.Key, list = x.ToList()}).OrderBy(x=>x.key);
+            // Console.WriteLine(group.Select(x => x.key).ToJsonString());
+            //Console.WriteLine(group.Select(x => x.list.Count()).ToJsonString());
+
+            //int count = 10;
+            //int score = 10;
+            //for (int i = 0; i < 10; i++) 
+            //{
+            //    int work = Random.Shared.Next(1, count);
+            //    int right = Random.Shared.Next(1, work);
+            //    double xIRS =  (work+right);
+            //    var exsIRS = 150/(1+Math.Exp(-(xIRS/2)))-75;
+            //    Console.WriteLine($"{i}=》答题 {work}-----{right}: {exsIRS}");
+
+            //    double xPIC = (work+right*3);
+            //    var exsPIC = 40/(1+Math.Exp(-(xPIC/5)))-20;
+            //    Console.WriteLine($"{i}=》挑人 {work}-----{right}: {exsPIC}");
+
+
+            //    double xBUS = (work+right*3+(work-right));
+            //    var exsBUZ = 80/(1+Math.Exp(-(xBUS/3)))-40;
+            //    Console.WriteLine($"{i}=》抢权 {work}-----{right}: {exsBUZ}");
+
+            //    int pscr = Random.Shared.Next(1, 10)*10;
+            //    int gscr = Random.Shared.Next(1, 10)*10;
+            //    double xSCR = (pscr + gscr );
+            //    var exsSCR= 60/(1+Math.Exp(-(xSCR/8)))-30;
+            //    Console.WriteLine($"{i}=》计分 {pscr}-----{gscr}: {exsSCR}");
+
+
+            //    double xWRK = (work);
+            //    var exsWRK = 150/(1+Math.Exp(-(xWRK)))-75;
+            //    Console.WriteLine($"{i}=》作品 {work}-----{right}: {exsBUZ}");
+
+
+            //    int vt = Random.Shared.Next(1, 3);
+            //    int sc = Random.Shared.Next(1, 3);
+            //    int cm = Random.Shared.Next(1, 3);
+            //    int pt = Random.Shared.Next(1, 3);
+            //    double xCMT = (vt + sc+cm*2+pt);
+            //    var exsCMT = 100/(1+Math.Exp(-(xSCR/8)))-50;
+            //    Console.WriteLine($"{i}=》评分 {vt}-----{sc}---{cm}---{pt}: {exsCMT}");
+
+            //    int b = Random.Shared.Next(1, 100)/20;
+            //    int m = Random.Shared.Next(1, 100)/20;
+            //    int g = Random.Shared.Next(1, 10)/2;
+            //    int t = Random.Shared.Next(1, 10)/2;
+            //    double xXZ = (b + m+g+t);
+            //    var exsXZ= 150/(1+Math.Exp(-(xSCR/8)))-75;
+            //    Console.WriteLine($"{i}=》协作 {b}-----{m}---{g}---{t}: {exsXZ}");
+
+            //    var xALL = xXZ+xCMT+xWRK+xSCR+xBUS+exsPIC+xIRS;
+            //    var exsALL = 190/(1+Math.Exp(-(xALL/25)))-95;
+            //    Console.WriteLine($"{i}=》所有: {exsALL}");
+            //}
+
+
+            //List<int> nums = new List<int>();
+            //for (int i = 0; i < 100; i++)
+            //{
+            //    nums.Add(Random.Shared.Next(1,5));
+            //}
+            //for (int i = 0; i < 100; i++)
+            //{
+            //    nums.Add(Random.Shared.Next(4, 8));
+            //}
+            //for (int i = 0; i < 100; i++)
+            //{
+            //    nums.Add(Random.Shared.Next(5, 20));
+            //}
+            //for (int i = 0; i < 50; i++)
+            //{
+            //    nums.Add(Random.Shared.Next(15, 36));
+            //}
+            //var per = GetPersent(nums, 11);
+            //bool[] anomalies = MarkAnomalies(nums);
+
+            //for (int i = 0; i < nums.Count; i++)
+            //{
+            //    if (anomalies[i]) { Console.WriteLine($"Number{ i}: {nums[i]} is an anomaly."); }
+
+            //}
+            return "Hello World!";
+        }
 
-            // 输出结果
-            Console.WriteLine("学生答案中是否有符合标准答案的? " + (hasMatchingAnswer ? "是" : "否"));
+        static bool[] MarkAnomalies(List<int> array)
+        {
+            if (array.Count == 0) return new bool[0];
 
+            double average = array.Average();
+            double variance = array.Average(x => Math.Pow(x - average, 2));
+            double standardDeviation = Math.Sqrt(variance);
 
-            string sentence1 = "学生答案中是否有符合标准答案的";
-            string sentence2 = "学生答案中是否有标合标准答案的";
+            // 定义异常值的阈值,这里使用2倍标准差
+            double threshold =3* standardDeviation;
 
-            double areSimilar = AreSentencesSimilar(sentence1, sentence2);
-            Console.WriteLine($"Are the sentences similar? {areSimilar}");
+            bool[] anomalies = new bool[array.Count];
+            for (int i = 0; i < array.Count; i++)
+            {
+                double deviation = Math.Abs(array[i] - average);
+                anomalies[i] = deviation > threshold;
+            }
 
-            List<string> a = new List<string>() { "a", "d" };
-            List<string> b = new List<string>() { "b", "a", "c" };
-            var v = (a.All(item => b.Contains(item)));
-            string c = "[\r\n  1\r\n]";
-            List<int> d = c.ToObject<List<int>>();
-            return "Hello World!";
+            return anomalies;
         }
-        public static void  calculate_text_similarity() 
+        /// <summary>
+        /// 计算当前元素在集合中超过了多少百分比的值
+        /// </summary>
+        /// <param name="nums"></param>
+        /// <param name="curr"></param>
+        /// <returns></returns>
+        public static double GetPersent(IEnumerable<double> nums, int curr)
         {
-            string pythonExe = @"C:\Path\To\Python\python.exe"; // 修改为你的Python解释器路径  
-            string scriptPath = @"C:\Path\To\Your\Script\calculate_similarity.py"; // 修改为你的脚本路径  
-            string text1 = "今天天气真好";
-            string text2 = "今天天气不错";
-
-            ProcessStartInfo start = new ProcessStartInfo();
-            start.FileName = pythonExe;
-            start.Arguments = $"\"{scriptPath}\" \"{text1}\" \"{text2}\"";
-            start.UseShellExecute = false;
-            start.RedirectStandardOutput = true;
-
-            using (Process process = Process.Start(start))
+            int count = 0;
+            foreach (var op in nums.OrderBy(x => x))
             {
-                using (StreamReader reader = process.StandardOutput)
+                if (op < curr)
                 {
-                    string result = reader.ReadToEnd();
-                    Console.Write(result);
+                    count++;
                 }
-            }
-        }
-        public static double CalculateSimilarity(string s1, string s2)
-        {
-            int n = s1.Length;
-            int m = s2.Length;
-            int[,] d = new int[n + 1, m + 1];
-            for (int i = 0; i <= n; i++)
-            {
-                d[i, 0] = i;
-            }
-
-            for (int j = 0; j <= m; j++)
-            {
-                d[0, j] = j;
-            }
-
-            for (int i = 1; i <= n; i++)
-            {
-                for (int j = 1; j <= m; j++)
+                else if (op == curr)
+                {
+                    count++;
+                }
+                else
                 {
-                    int cost = (s1[i - 1] == s2[j - 1]) ? 0 : 1;
-                    d[i, j] = Math.Min(Math.Min(d[i - 1, j] + 1, d[i, j - 1] + 1), d[i - 1, j - 1] + cost);
+                    break;
                 }
             }
-
-            return (1.0 - ((double)d[n, m] / Math.Max(s1.Length, s2.Length))) * 100;
+            return count *1.0/ nums.Count() * 100;
         }
 
-        public static double AreSentencesSimilar(string sentence1, string sentence2)
+
+        public class KeyCount
         {
-          //  double threshold = 70; // 设置一个阈值,超过这个百分比则认为是相同的句子
-            double similarity = CalculateSimilarity(sentence1, sentence2);
-            return similarity ;
+            public int count { get; set;}
+            public int key { get; set;}
         }
     }
 }

+ 146 - 0
TEAMModelOS.Extension/HTEX.Test/Service/MLService.cs

@@ -0,0 +1,146 @@
+using Microsoft.ML.Data;
+using Microsoft.ML;
+
+namespace HTEX.Test.Service
+{
+    public static class MLService
+    {
+     
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="datas">数据需要去掉0</param>
+        /// <param name="numberOfClusters"></param>
+        /// <returns></returns>
+        public static List<ClusterData> KMeans(float[] datas, int numberOfClusters = 5)
+        {
+            List<DataPoint> data = new List<DataPoint>();
+            foreach (var d in datas)
+            {
+                data.Add(new DataPoint { Feature = d });
+            }
+
+            // 定义数据视图  
+            var mlContext = new MLContext();
+            var dataView = mlContext.Data.LoadFromEnumerable(data);
+            // 定义聚类管道  
+            var pipeline = mlContext.Transforms.Concatenate("Features", new[] { "Feature" })
+                                .Append(mlContext.Clustering.Trainers.KMeans(numberOfClusters: numberOfClusters)); // 假设我们想要将数据分成3个集群  
+                                                                                                                   // 训练模型  
+            var model = pipeline.Fit(dataView);
+
+            // 转换数据以获取聚类结果  
+            var predictions = model.Transform(dataView);
+
+            // 提取聚类结果  
+            var inMemoryCollection = mlContext.Data.CreateEnumerable<ClusterPrediction>(predictions, reuseRowObject: false);
+
+
+
+            // 打印聚类结果  
+            //var clusterSizes = new int[3]; // 假设有3个聚类  
+            int index = 0;
+            List<ClusterData> clusterDatas = new List<ClusterData>();
+            foreach (var prediction in inMemoryCollection)
+            {
+                //Console.WriteLine($"Data point: {data[index].Feature}, Cluster: {prediction.ClusterId}");
+                var clusterData = clusterDatas.Find(x => x.ClusterId.Equals(prediction.ClusterId));
+                if (clusterData!=null)
+                {
+                    clusterData.count +=1;
+                    clusterData.datas.Add(data[index].Feature);
+                    clusterData.avg=clusterData.datas.Sum() / clusterData.datas.Count();
+                }
+                else
+                {
+                    clusterDatas.Add(new ClusterData { avg=data[index].Feature, count=1, ClusterId=prediction.ClusterId, datas=new List<float> { data[index].Feature } });
+                }
+                index++;
+                //计算每个聚类的数据点数量
+                //clusterSizes[prediction.ClusterId-1]++;
+            }
+            // 预测聚类
+
+            // 确定最密集的部分  
+            // 这通常需要对聚类结果进行分析,比如计算每个聚类的平均距离、大小等  
+            // 在这里,你可以通过比较不同聚类的数据点数量或计算聚类中心周围的密度来估计哪个是最密集的  
+
+
+
+
+            // 找出最大的聚类  
+            //  var maxClusterIndex = clusterSizes.ToList().IndexOf(clusterSizes.Max());
+            //Console.WriteLine($"The densest cluster is cluster {maxClusterIndex} with {clusterSizes[maxClusterIndex]} data points.");
+
+            // 你还可以进一步分析聚类的特性,比如找出聚类中心、计算聚类内的方差等  
+
+            return clusterDatas;
+        }
+       /// <summary>
+       /// 
+       /// </summary>
+       /// <param name="datas"></param>
+       /// <param name="numberOfClusters"></param>
+       /// <param name="dropPercent">最大平均数的聚类与数量最多的聚类数量的落差小于30% 则以更高的为准</param>
+       /// <returns></returns>
+        public static (ClusterData clusterData, List<ClusterData> clusterDatas) GetNormalCluster (float[] datas, int numberOfClusters = 5,double dropPercent=0.3)
+        {
+            List<ClusterData> clusterDatas = KMeans(datas, numberOfClusters);
+            clusterDatas=clusterDatas.OrderByDescending(dr => dr.count).ToList();
+            ClusterData clusterData = FindSatisfactoryRecord(clusterDatas, 0, dropPercent);
+            return (clusterData, clusterDatas);
+        }
+
+        static ClusterData FindSatisfactoryRecord(List<ClusterData> data, int currentIndex,double dropPercent)
+        {        // 如果当前索引小于0,说明已经到达列表开头,返回null
+            if (currentIndex < 0) { return null; }
+
+            // 获取当前数据
+            ClusterData current = data.ElementAt(currentIndex);
+            if (currentIndex+1>=data.Count())
+            {
+                return current;
+            }
+            else
+            {
+                ClusterData next = data.ElementAt(currentIndex +1);        // 检查平均值和人数差是否满足条件
+                if (current.avg > next.avg)
+                {
+                    return current;
+                }
+                else
+                {
+                    var d = (current.count- next.count)*1.0/current.count;
+                    if (d>=dropPercent)
+                    {
+                        return current;
+                    }
+                    else
+                    { // 递归调用,继续向前比较
+                        return FindSatisfactoryRecord(data, currentIndex + 1, dropPercent);
+                    }
+                }
+            }
+        }
+    }
+    // 定义数据模型  
+    public class DataPoint
+    {
+        public float Feature { get; set; }
+    }
+    // 聚类预测类  
+    public class ClusterPrediction
+    {
+        [ColumnName("PredictedLabel")]
+        public uint ClusterId;
+
+        // 你可以添加其他预测列,比如距离聚类中心的距离等  
+    }
+    public class ClusterData
+    {
+        public List<float> datas = new List<float>();
+        public uint ClusterId { get; set; }
+        public int count { get; set; }
+        public float avg { get; set; }
+    }
+}

+ 1 - 1
TEAMModelOS.Function/Lang/zh-cn.json

@@ -26,7 +26,7 @@
   "art-template-comment5": "你在本次考核中{pointLow}等知识有待提高,希望进一步加强。",
   "art-template-subject_music": "其实音乐殿堂的门槛并没有你想的那么高,对吧?希望你继续努力能够在这里欣赏到更美丽的风景!跳动的音符充满魅力,每个人的生活都离不开音乐,加油吧,相信你在音乐中会有所收获的。",
   "art-template-subject_painting": "你敢于探素,乐于欣赏,在五彩的画笔中快乐成长,如果你再多一点耐心、仔细刻画,一定会更棒!你积极热爱美术,总是充满快乐,希望你能够坚持美术学习,永不放弃,在美术的道路上快乐地成长!",
-  "blob-space-school-notify": [ "剩余空间不足", "亲爱的{schoolName}管理员{tmdname}您好,提醒您贵校剩余空间不足{percent}%,请联系官方客服购买空间,详情请登入IES(teammodel.net)查看,如果已经扩容请忽略此通知。" ],
+  "blob-space-school-notify": [ "剩余空间不足", "亲爱的{schoolName}管理员{tmdname}您好,提醒您贵校剩余空间不足{percent}%,请联系官方客服购买空间,详情请登入IES(teammodel.cn)查看,如果已经扩容请忽略此通知。" ],
   "blob-space-private-notify": [ "剩余空间不足", "亲爱的{tmdname}您好,提醒您的帐号{tmdid}授权的剩余空间不足{percent}%,请联系学校管理员配置或是购买个人空间,如果已经扩容请忽略此通知。" ],
   "pdf-gen-notify-higher60": [ "PDF报告生成通知", "{tmdname}您好,{taskName}的PDF报告已经生成,总耗时(包含等待和生成时间){totalTime}秒,报告生成平均耗时{avgTime}秒,单个报告生成最长耗时{maxTime}秒,单个报告最短耗时{minTime}秒,生成成功{statusOk}个,生成失败{statusFailed}个" ],
   "pdf-gen-notify-below60": [ "PDF报告生成通知", "{tmdname}您好,{taskName}的PDF报告已经生成,总耗时(包含等待和生成时间){totalTime}秒,报告生成平均耗时{avgTime}秒,生成成功{statusOk}个,生成失败{statusFailed}个。以下是生成报告的详情:", "{studentName}(状态:{status},等待:{wait}秒,耗时:{cost}秒,总耗时:{total}秒)。" ],

+ 3 - 3
TEAMModelOS.Function/TEAMModelOS.Function.csproj

@@ -5,9 +5,9 @@
     <OutputType>Exe</OutputType>
     <ImplicitUsings>enable</ImplicitUsings>
     <Nullable>enable</Nullable>
-	<Version>5.2409.18</Version>
-	<AssemblyVersion>5.2409.18.1</AssemblyVersion>
-	<FileVersion>5.2409.18.1</FileVersion>
+	<Version>5.2409.25</Version>
+	<AssemblyVersion>5.2409.25.1</AssemblyVersion>
+	<FileVersion>5.2409.25.1</FileVersion>
 	<PackageId>TEAMModelOS.FunctionV4</PackageId>
 	<Authors>teammodel</Authors>
 	<Company>醍摩豆(成都)信息技术有限公司</Company>

+ 25 - 10
TEAMModelOS.SDK/Models/Cosmos/Common/LessonRecord.cs

@@ -454,8 +454,8 @@ namespace TEAMModelOS.SDK.Models
     {
         public List<MeteorScoreSummary> meteor_ScoreSummary { get; set; } = new List<MeteorScoreSummary>();
         public Dictionary<string, Dictionary<string, string>> scoreDetailResult { get; set; } = new Dictionary<string, Dictionary<string, string>>();
-        public Dictionary<string, MeteorVoteSummary> meteor_VoteSummary { get; set; } = new Dictionary<string, MeteorVoteSummary>();
-        public Dictionary<string, VoteDetailResult> voteDetailResult { get; set; } = new Dictionary<string, VoteDetailResult>();
+        public Dictionary<string, List<MeteorVoteSummary>> meteor_VoteSummary { get; set; } = new Dictionary<string, List<MeteorVoteSummary>>();
+        public Dictionary<string, List<VoteDetailResult>> voteDetailResult { get; set; } = new Dictionary<string, List<VoteDetailResult>>();
         public MutualSummary mutualSummary { get; set; }
         public Dictionary<string, Dictionary<string, string>> mutualDetailSummary { get; set; } = new Dictionary<string, Dictionary<string, string>>();
     }
@@ -517,19 +517,34 @@ namespace TEAMModelOS.SDK.Models
         /// 任务记录
         /// </summary>
         public StudentTaskRecord taskRecord { get; set; } = new StudentTaskRecord();
+        /// <summary>
+        ///评分记录
+        /// </summary>
+        public StudentRateingRecord rateingRecord { get; set; } = new StudentRateingRecord();
+         
+    }
+    public class StudentRateingRecord
+    {
+        /// <summary>
+        /// 参与率
+        /// </summary>
+        public double joinRate { get; set; }
 
+        /// <summary>
+        /// 任务参与记录
+        /// </summary>
+        public List<ItemRecord> itemRecords { get; set; } = new List<ItemRecord>();
 
     }
-
     /// <summary>
-    /// 学生协作记录
+    /// 学生互动记录
     /// </summary>
     public class StudentInteractRecord
     {
         /// <summary>
-        /// 学生专属的互动次数,单独设置此字段,因为存在挑人的情况,需要单独设置
+        /// 学生互动参与率
         /// </summary>
-        public int interactRate { get; set; }
+        public double interactRate { get; set; }
         /// <summary>
         /// 互动积分
         /// </summary>
@@ -663,15 +678,15 @@ namespace TEAMModelOS.SDK.Models
         /// <summary>
         /// 作答错误,有参加,有抢权1
         /// </summary>
-        public static readonly double T1 = 1;
+        public static readonly double T1 = 60;
         /// <summary>
         /// 部分正确1.3
         /// </summary>
-        public static readonly double TP = 1.3;
+        public static readonly double TP = 80;
         /// <summary>
         /// 作答正确,抢权成功,被抽到1.5
         /// </summary>
-        public static readonly double TT = 1.5;
+        public static readonly double TT = 100;
     }
     public class MutualSummary
     {
@@ -699,7 +714,7 @@ namespace TEAMModelOS.SDK.Models
         public string id { get; set; }
         public string name { get; set; }
         public string materialType { get; set; }
-        public string material { get; set; }
+        //public string material { get; set; }
         public bool isGroup { get; set; }
         public bool haveStroke { get; set;}
         public Obtained obtained { get; set;}

+ 3 - 3
TEAMModelOS.SDK/TEAMModelOS.SDK.csproj

@@ -1,9 +1,9 @@
 <Project Sdk="Microsoft.NET.Sdk">
 	<PropertyGroup>
 		<TargetFramework>net8.0</TargetFramework>
-		<Version>5.2409.18</Version>
-		<AssemblyVersion>5.2409.18.1</AssemblyVersion>
-		<FileVersion>5.2409.18.1</FileVersion>
+		<Version>5.2409.25</Version>
+		<AssemblyVersion>5.2409.25.1</AssemblyVersion>
+		<FileVersion>5.2409.25.1</FileVersion>
 		<PackageReleaseNotes>发版</PackageReleaseNotes>
 	</PropertyGroup>
 

+ 1 - 1
TEAMModelOS/Controllers/Third/IRS/ThirdIRSController.cs

@@ -183,7 +183,7 @@ namespace TEAMModelOS.Controllers
         [HttpPost("third-irs/receive-139zhxy")]
         public async Task<IActionResult> Receive_139zhxy(JsonElement json)
         {
-            await _dingDing.SendBotMsg($"收到,接收到 139zhxy反馈器推送信息!{json.ToJsonString()}\n", GroupNames.成都开发測試群組);
+            //await _dingDing.SendBotMsg($"收到,接收到 139zhxy反馈器推送信息!{json.ToJsonString()}\n", GroupNames.成都开发測試群組);
             string sign = string.Empty, timestamp = string.Empty, message="请求失败";
             int code = -1;
             long now =  DateTimeOffset.UtcNow.GetGMTTime(8).ToUnixTimeMilliseconds();

+ 4 - 4
TEAMModelOS/TEAMModelOS.csproj

@@ -80,11 +80,11 @@
 		<SpaRoot>ClientApp\</SpaRoot>
 		<DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
 		<UserSecretsId>078b5d89-7d90-4f6a-88fc-7d96025990a8</UserSecretsId>
-		<Version>5.2409.18</Version>
-		<AssemblyVersion>5.2409.18.1</AssemblyVersion>
-		<FileVersion>5.2409.18.1</FileVersion>
+		<Version>5.2409.25</Version>
+		<AssemblyVersion>5.2409.25.1</AssemblyVersion>
+		<FileVersion>5.2409.25.1</FileVersion>
 		<Description>TEAMModelOS(IES5)</Description>
-		<PackageReleaseNotes>IES版本说明版本切换标记5.2409.18.1</PackageReleaseNotes>
+		<PackageReleaseNotes>IES版本说明版本切换标记5.2409.25.1</PackageReleaseNotes>
 		<PackageId>TEAMModelOS</PackageId>
 		<Authors>teammodel</Authors>
 		<Company>醍摩豆(成都)信息技术有限公司</Company>

+ 1 - 1
TEAMModelOS/appsettings.Development.json

@@ -18,7 +18,7 @@
     "IdTokenSalt": "8263692E2213497BB55E74792B7900B4",
     "HttpTrigger": "https://teammodelosfunction-test.chinacloudsites.cn/api/",
     //"HttpTrigger": "http://localhost:7071/api/"
-    "Version": "5.2409.18.1"
+    "Version": "5.2409.25.1"
   },
   "Azure": {
     // 测试站数据库

+ 1 - 1
TEAMModelOS/appsettings.json

@@ -18,7 +18,7 @@
     "Exp": 86400,
     "IdTokenSalt": "8263692E2213497BB55E74792B7900B4",
     "HttpTrigger": "https://teammodelosfunction.chinacloudsites.cn/api/",
-    "Version": "5.2409.18.1"
+    "Version": "5.2409.25.1"
   },
   "Azure": {
     "Storage": {