{"id":26235216,"url":"https://github.com/qian-o/dimension","last_synced_at":"2025-04-07T11:07:02.568Z","repository":{"id":42510929,"uuid":"388713510","full_name":"qian-o/Dimension","owner":"qian-o","description":"基于 .NET 6 的在线音视频聊天项目","archived":false,"fork":false,"pushed_at":"2024-06-29T14:59:23.000Z","size":53692,"stargazers_count":250,"open_issues_count":0,"forks_count":63,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-06T07:15:24.334Z","etag":null,"topics":["asp-net-core","csharp","wpf"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qian-o.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-23T07:21:23.000Z","updated_at":"2025-03-19T06:02:49.000Z","dependencies_parsed_at":"2024-06-29T16:07:55.745Z","dependency_job_id":null,"html_url":"https://github.com/qian-o/Dimension","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qian-o%2FDimension","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qian-o%2FDimension/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qian-o%2FDimension/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qian-o%2FDimension/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qian-o","download_url":"https://codeload.github.com/qian-o/Dimension/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640462,"owners_count":20971557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp-net-core","csharp","wpf"],"created_at":"2025-03-13T02:36:21.297Z","updated_at":"2025-04-07T11:07:02.542Z","avatar_url":"https://github.com/qian-o.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dimension\n# 基于 .NET 6 的在线音视频聊天项目\n# WPF和ASP.NET API开发\n# 使用第三方依赖介绍\n**公用依赖**  \n1. log4net 日志记录。\n2. SignalR 用于服务器与客户端的通讯手段，该项目用于好友申请、消息提示、公告、聊天和音视频通话等一系列通知。\n3. EntityFrameworkCore 操作数据库的ORM工具，服务端使用SqlServer，客户端使用Sqlite。\n4. Newtonsoft.Json 序列化和反序列化JSON。\n\n**服务端**  \n1. TencentCloudSDK 操作腾讯云服务API，该项目用于管理通话房间。\n2. aliyun-net-sdk-core 操作阿里云服务API，该项目用于短信服务。\n3. CHSPinYinConv 获取中文拼音。\n4. Portable.BouncyCastle TRTC加密使用。\n5. SixLabors.ImageSharp 操作图片，因c#中操作图片需要微软的GDI绘图，但在linux上操作需要mono的libgdiplus库，处理效果并不理想。\n\n**WPF端**  \n1. TXLiteAV 操作腾讯云的TRTC服务，本地设备音视频推流、获取房间内其他用户音视频数据。\n2. XamlAnimatedGif 播放GIF，因设备效率问题，改动作者源码后重新打包使用。\n源库：https://github.com/XamlAnimatedGif/XamlAnimatedGif 问题：https://github.com/XamlAnimatedGif/XamlAnimatedGif/issues/160\n\n**后台部署说明**  \n1. 修改DimensionService.Common命名空间下 ClassHelper类  \n![image](https://user-images.githubusercontent.com/84434846/159858628-cfcd7669-fae3-41b6-bd74-700e117c8870.png)  \n请填写红框内付费服务内容，本程序使用阿里的短信服务和腾讯的TRTC服务，填写内容请见官方说明。  \n2. 数据库  \n该服务采用sqlserver2019数据库，并使用EF CORE作为主要的ORM框架，首次使用需要迁移数据库。  \n打开程序包管理控制台，输入Update-Database InitialCreate  \n![image](https://user-images.githubusercontent.com/84434846/159859559-e69a1d8e-fe6a-42f6-841e-980b20533ad4.png)  \n该项目提供线上测试服务地址，http://47.96.133.119:5000  由于种种原因，该服务器运行到2022.08.02为止。（这云服务器杀熟，贵的离谱）\n# WPF端  \n![image](https://user-images.githubusercontent.com/84434846/159860811-31419d6d-97a0-4f40-9536-c555d6140fd4.png)  \n红框内容需与服务端保持一致  \n已实现的功能  \n1.登录|注册  \n2.添加好友  \n3.音视频在线通话  \n4.聊天（图片、文字、富文本）  \n5.截屏（多显示器不同dpi支持）  \n# 界面展示\n![image](https://user-images.githubusercontent.com/84434846/159876575-a9593d87-2b90-40b5-bd25-55f3d37518bc.png)  \n![image](https://user-images.githubusercontent.com/84434846/159877738-b3197b00-5688-4a08-ab7f-52518da680ac.png)  \n![image](https://user-images.githubusercontent.com/84434846/159876681-7482d993-3818-4863-90f9-c68725bb1449.png)  \n![image](https://user-images.githubusercontent.com/84434846/159876750-6db8f92a-50b0-4a9e-b41e-53a2ce323cc6.png)  \n![image](https://user-images.githubusercontent.com/84434846/159876843-9048b0a7-44bf-48ba-9e9b-a0839d02418e.png)  \n![image](https://user-images.githubusercontent.com/84434846/159876933-8d07724e-100d-4c87-ab61-0db73fc47dbf.png)\n![image](https://user-images.githubusercontent.com/84434846/159877246-c5b08b3a-86f8-4dac-a20e-8d9d6988dd45.png)\n![image](https://user-images.githubusercontent.com/84434846/159877348-10285152-ae67-4e44-8fd9-9ea9e0cfddff.png)\n\n# 功能演示\n作者太懒，以后再写！  \n我还是提供的测试账号和程序地址吧。  \n不过需要安装NET6桌面运行时，这是下载地址：https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-6.0.3-windows-x64-installer  \n# 测试用户  \n1571221{1～9}177，\n密码统一为12345678。  \n所有用户登录信息我都放在程序包里啦，并且都添加了我做为好友。😄  \n![image](https://user-images.githubusercontent.com/84434846/159868799-ed024f69-d91f-48d7-a52f-961502a89445.png)  \n# 程序包\n链接：https://pan.baidu.com/s/1aTh_710GpKIIHOHpvVCpBw?pwd=cp4o \n提取码：cp4o \n--来自百度网盘超级会员V4的分享\n# 演示视频\n链接：https://pan.baidu.com/s/1n-sQZFgO9GEhS80jHLVouA?pwd=85x3 \n提取码：85x3 \n--来自百度网盘超级会员V4的分享\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqian-o%2Fdimension","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqian-o%2Fdimension","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqian-o%2Fdimension/lists"}