С помощью Senparc.Weixin вы можете легко и быстро создавать приложения для платформы WeChat, включая официальные аккаунты WeChat, мини-приложения, мини-игры, корпоративные аккаунты, открытые платформы, платежи WeChat, JS-SDK, аппаратные устройства/Bluetooth WeChat и многое другое. Пример этого проекта также подходит для начинающих, чтобы изучить программирование на .NET.
На данный момент Senparc.Weixin поддерживает почти все модули и интерфейсы платформы WeChat и поддерживает несколько фреймворков, таких как .NET 3.5 / 4.0 / 4.5 / .NET Standard 2.x / .NET Core 2.x / .NET Core 3.x / .NET 6.0 / .NET 7.0 / .NET 8.0. Он совместим со всеми средами, включая MVC, Razor, WebApi, консоль (строка команд), настольные приложения (.exe), Blazor, MAUI и фоновые службы, и полностью декуплен от внешних фреймворков.
Senparc.Weixin SDK является одним из самых широко используемых .NET SDK для WeChat и одним из самых популярных .NET открытых проектов в Китае.
С момента своего создания в 2013 году мы постоянно обновляем проект и беспрепятственно предоставляем полный исходный код и идеи дизайна, надеясь, что больше людей смогут воспользоваться им, понять и распространить дух открытого кода, а также помочь развитию открытого движения в Китае! Мы благодарны всем друзьям, которые помогали нам на протяжении всего пути!
Если вам нравится этот проект и вы хотите, чтобы мы продолжили его совершенствовать, пожалуйста, отметьте его звездой ★
📺
На конференции Microsoft MVP Global Summit 2024 года мне удалось взять интервью у Scott Hanselmen, где мы обсудили различные аспекты искусственного интеллекта. Мы продолжим нашу беседу 13 апреля 2024 года во время мероприятия "Senparc 3.14 Technology Open Day", где мы углубимся в влияние AI и Agent на будущее программной отрасли и открытого программного обеспечения. Всех ждут!
Перейти по ссылке
⚡ Пример теперь поддерживает .NET 8.0 (совместимость с предыдущими версиями), перейти по ссылке!
🔒 Модуль Wechat Pay V3 (версия 1.0) доступен онлайн! Nuget
🎠 Полная поддержка автоматического разделения и отправки длинных текстовых сообщений, больше: «Автоматический ответ на длинные текстовые сообщения для адаптации к приложениям AIGC»
Модуль | Ссылка |
---|---|
Официальный аккаунт | https://sdk.weixin.senparc.com/Docs/MP/ |
Мини программа | https://sdk.weixin.senparc.com/Docs/WxOpen/ |
Корпоративный WeChat | https://sdk.weixin.senparc.com/Docs/Work/ |
WeChat Pay V3 (рекомендовано) | https://sdk.weixin.senparc.com/Docs/TenPayV3/ |
WeChat Pay V2 (не рекомендовано) | https://sdk.weixin.senparc.com/Docs/TenPayV2/ |
Примечание:
- Примеры вышеуказанных модулей включают как документацию, так и исполняемые шаблоны кода (только требуется настроить параметры WeChat без изменения кода).
- Методы настройки, регистрации и вызова интерфейсов в примерах являются последовательными. Как только вы научитесь работать с одним модулем, вы можете применять ту же информацию к другим модулям. Пример ниже использует Официальный аккаунт в качестве примера, но он может быть расширен до других модулей.
- Более полная документация для продвинутого развития находится в директории /docs, перейти по ссылке.## 🚀 Привет, мир: Начните свой путь разработки WeChat всего за три строки кода!
Примечание:
- Нижеуказанное исходное код расположено в директории
/Samples/MP/
, используя Официальный аккаунт WeChat в качестве примера. Как только вы освоите работу с Официальным аккаунтом, вы сможете использовать те же знания для работы с другими модулями (Мини программа, Корпоративный WeChat, WeChat Pay и т.д.).
- Для просмотра примеров других модулей или интеграций вы можете проверить независимые образцы в директории
/Samples/
или интегрированные образцы в директории/Samples/All/
(для продвинутых пользователей).
- Для различных платформ WeChat SDK Senparc.Weixin был декомпозирован и независимо выпущен каждый модуль. Чтобы упростить ссылки, вы можете прямым образом ссылаться на Senparc.Weixin.All, который будет автоматически ссылаться на все модули.
builder.Build()
в Program.cs:builder.Services.AddSenparcWeixinServices(builder.Configuration);
Соответствует методу ConfigureServices() в Startup.cs.
builder.Build()
в Program.cs:var registerService = app.UseSenparcWeixin(app.Environment, null, null, register => { },
(register, weixinSetting) =>
{
// Регистрация информации Официального аккаунта (может выполняться несколько раз для регистрации нескольких Официальных аккаунтов)
register.RegisterMpAccount(weixinSetting, "Senparc Network Assistant Official Account");
});
Соответствует методу Configure() в Startup.cs.
Вы можете вызывать интерфейсы (используя интерфейс службы клиентской поддержки в качестве примера) в любом месте программы:
await CustomApi.SendTextAsync("AppId", "OpenId", "Привет, мир!");
Подсказки:
- SDK Senparc.Weixin автоматически управляет AccessToken на протяжении всего жизненного цикла, поэтому во время разработки вам достаточно предоставить AppId, не беспокоясь о сроке действия AccessToken и т.д.
- Информация о регистрации, такие как AppId, может быть автоматически получена из
Senparc.Weixin.Config.SenparcWeixinSetting
, а соответствующие параметры настроены вappsettings.json
.- Вышеуказанный метод также поддерживает синхронные вызовы: Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendText().
- Все пространства имён интерфейсов определяются согласно правилам официальной API-дороги, а названия параметров максимально соответствуют документации (особенно выходные параметры), что делает процесс быстрого поиска и тестирования удобным для разработчиков и снижает вероятность ошибок.
С использованием вышеуказанного кода вы можете вызывать интерфейсы для всех модулей WeChat! Продолжайте чтение для получения более подробной информации.
Официальные аккаунты предоставляют окно для отправки сообщений по умолчанию, которое позволяет отправлять различные типы сообщений и взаимодействовать с программой с помощью текста, изображений, голоса и т.д.
Ниже представлен пример, применимый к отправке сообщений корпоративного WeChat и мини-программы службой клиентской поддержки, всего два шага!
/// <summary>
/// По умолчанию сообщение для всех необработанных типов
/// </summary>
/// <returns></returns>
public override IResponseMessageBase DefaultResponseMessage(IRequestMessageBase requestMessage)
{
// ResponseMessageText также может быть News или другими типами
var responseMessage = this.CreateResponseMessage<ResponseMessageText>();
responseMessage.Content = $"Вы отправили сообщение, но программа не указала процедуру обработки.";
return responseMessage;
}
public override Task<IResponseMessageBase> OnImageRequestAsync(RequestMessageImage requestMessage)
{
// Обработка запросов изображений...
}
public override Task<IResponseMessageBase> OnLocationRequestAsync(RequestMessageLocation requestMessage)
{
// Обработка запросов местоположения...
}
}
}
</details>
#### Шаг 2: Запрос пользователя CustomMessageHandler:
Мы предлагаем два способа запроса CustomMessageHandler: `Middleware` (рекомендовано) и `Controller (или WebApi)`. Вы можете выбрать любой из них. Возьмём Middleware в качестве примера, после активации конфигурации в Program.cs, добавьте следующий код для регистрации MessageHandler:
``` C#
app.UseMessageHandlerForMp("/WeixinAsync",
(stream, postModel, maxRecordCount, serviceProvider)
=> new CustomMessageHandler(stream, postModel, maxRecordCount, false, serviceProvider),
options
=>
{
options.AccountSettingFunc = context => Senparc.Weixin.Config.SenparcWeixinSetting;
});
На этом этапе вы можете использовать https://YourDomain/WeixinAsync для настройки в административной панели WeChat Официального аккаунта [Настройки и развитие] > [Основные настройки] > Адрес сервера (URL), а соответствующий токен установлен в appsettings.json (также применимо к корпоративному WeChat и мини-программе, обратитесь к соответствующему Примеру).
Кроме того, вы также можете использовать метод Controller (или WebApi)
для более точного контроля над всем процессом обработки сообщений (или использовать его в .NET Framework), перейти по ссылке.
Теперь вы овладели базовыми навыками разработки для платформ WeChat. Продолжайте чтение для получения дополнительных ресурсов:
Этот репозиторий содержит исходный код для множества версий, включая .NET Framework/.NET Standard 2.0+/NET Core 3.1/.NET 6/.NET 7/.NET 8:
.NET Framework 4.6.2+ | .NET Standard 2.0 / 2.1 | .NET 8.0, обратная совместимость с .NET 5.0-7.0 |
Совет:
- С 1 мая 2019 года обновления для .NET Framework 3.5 и 4.0 прекращены. Последняя стабильная версия .NET Framework 3.5 + 4.0 доступна здесь.
- С 3 апреля 2022 года .NET Framework 4.5 был обновлен до 4.6.2. Последняя стабильная версия .NET Framework 4.5 доступна здесь.
- Если вы все еще используете .NET Framework, рекомендуется обновить свое приложение до .NET Framework 4.8+ до 12 января 2027 года, так как официальная поддержка .NET Framework 4.6.2 закончится к тому времени (источник).
- Используйте интеграционную библиотеку 'Senparc.Weixin.All', чтобы автоматически ссылаться на все библиотеки одновременно.
Официальные API идеально интегрированы, и все обновления будут стремиться обеспечивать обратную совместимость, если это не указано иначе. Поэтому вы можете безопасно использовать или сразу обновлять (перезаписывать) последние DLL. Рекомендуется использовать NuGet для обновлений.
Вы также можете самостоятельно изменять и компилировать код. Откройте решение Senparc.Weixin.Sample.Net8.sln для просмотра всех исходных кодов. При режиме сборки
Release
автоматически будет создан локальный пакет NuGet (по умолчанию создается в папке/src/BuildOutput/
).
Папка | Описание |
---|---|
Senparc.WebSocket | Модуль WebSocket |
Senparc.Weixin.Cache | Senparc.Weixin.Cache.Memcached.dll, Senparc.Weixin.Cache.Redis.dll и другие решения расширяемости распределённого кэша |
Senparc.Weixin.AspNet | Senparc.Weixin.AspNet.dll, библиотека классов специально для веб-поддержки |
Senparc.Weixin.MP.MvcExtension | Исходный код Senparc.Weixin.MP.MvcExtension.dll, расширяемый пакет для проектов MVC |
Senparc.Weixin.MP | Исходный код Senparc.Weixin.MP.dll, SDK официального аккаунта WeChat |
Senparc.Weixin.MP.Middleware | Исходный код Senparc.Weixin.MP.Middleware.dll, среды сообщений официального аккаунта WeChat |
Senparc.Weixin.Open | Исходный код Senparc.Weixin.Open.dll, SDK третьего уровня открытой платформы |
Senparc.Weixin.TenPay | Исходный код Senparc.Weixin.TenPay.dll и Senparc.Weixin.TenPayV3.dll для WeChat Pay V2 и V3 |
Senparc.Weixin.Work | Исходный код Senparc.Weixin.Work.dll, SDK корпоративного WeChat |
Senparc.Weixin.Work.Middleware | Исходный код Senparc.Weixin.Work.Middleware.dll, среды сообщений корпоративного WeChat |
Senparc.Weixin.WxOpen | Исходный код Senparc.Weixin.WxOpen.dll, SDK мини-приложений WeChat, включая мини-игры |
Senparc.Weixin.WxOpen.Middleware | Исходный код Senparc.Weixin.WxOpen.Middleware.dll, среды сообщений мини-приложений WeChat, включая мини-игры |
Senparc.Weixin | Исходный код всех базовых библиотек Senparc.Weixin.[x].dll |
Использование всех модулей в SDK Senparc.Weixin очень последовательно, включая процесс конфигурации, управление AccessToken, обработку сообщений, служебные сообщения, вызовы API и т.д. Вам достаточно ознакомиться с использованием любого модуля (рекомендуется начать с Официальных аккаунтов
или Мини-приложений
) и применить те же принципы ко всем остальным модулям.
На основе следующих примеров вы сможете узнать о конфигурации и использовании каждого самостоятельного модуля. Просто откройте файл решения .sln
в соответствующей папке для просмотра исходного кода и запустите его для просмотра документации. Папка All
содержит более полные и продвинутые демонстрации функций.
Папка | Описание | Метод установки SDK |
---|---|---|
MP | Официальные аккаунты | Пакет NuGet |
TenPayV2 | WeChat Pay V1 и V2 | Пакет NuGet |
TenPayV3 | WeChat Pay V3 (API TenPay v3) | Пакет NuGet |
Work | Корпоративные аккаунты | Пакет NuGet |
WxOpen | Мини-приложения | Пакет NuGet |
Shared | Общие файлы, необходимые для всех примеров | |
All | Смешанный сценарий демонстрации, который включает все функции официальных аккаунтов WeChat, мини-приложений, WeChat Pay, корпоративных аккаунтов и т.д., рекомендован для проектов, которые интегрируют несколько платформ или требуют глубокого развития (продвинутый) | |
┣ All/console | Демонстрация консольного приложения (.NET Core) | Пакет NuGet |
┣ All/net45-mvc | Пример, который может быть напрямую опубликован и использован (.NET Framework 4.5 + ASP.NET MVC) | Пакет NuGet |
┗ All/net8-mvc | Пример, который может быть напрямую опубликован и использован (.NET 8.0), совместим с .NET 5.0, 6.0, 7.0 и .NET Core | Исходный код |
Группа 1 (Официальные аккаунты): 300313885
Группа 14 (Студенты видео-курсов): 588231256
Группа 10 (Распределенный кэш): 246860933
Группа 12 (Мини-приложения): 108830388
Группа 16 (Открытая платформа): 860626938
Следующие группы заполнены:
Группа 2: 293958349 (Заполнена), Группа 3: 342319110 (Заполнена)
Группа 4: 372212092 (Заполнена), Группа 5: 377815480 (Заполнена), Группа 6: 425898825 (Заполнена)
Группа 7: 482942254 (Заполнена), Группа 8: 106230270 (Заполнена), Группа 9: 539061281 (Заполнена)
Группа 11: 553198593 (Заполнена), Группа 13: 183424136 (Открытая платформа, Заполнена), Группа 15: 289181996 (Заполнена)
Если этот проект был вам полезен, мы приветствуем любую форму пожертвования или участие в обновлении кода и отзывах. Спасибо!Пожертвовать: Перейти
Книга по разработке WeChat, названная "Глубинное анализ разработки WeChat: секреты эффективной разработки официальных аккаунтов и мини-приложений", созданная Джейфри Сю и командой Senparc за два года работы, была опубликована. Книга сопровождается вспомогательной системой чтения: BookHelper.
Приобретайте настоящую книгу: 【Купить оригинал】
Код книги версии публикации находится в ветке BookVersion1.
Чтобы помочь всем лучше понять детали разработки WeChat и научиться разработке WeChat и различным хитростям процесса разработки .NET, мы создали группу "Senparc Classroom" и запустили видеокурсы по разработке WeChat, которые охватывают следующие две части:
- Базовые навыки разработки WeChat
- Анализ случаев использования официальных аккаунтов и мини-приложений
Общее время курса составляет 60 занятий, а также есть дополнительные эпизоды.
В настоящее время видео доступны на платформе NetEase Cloud Classroom, где содержание хорошо подготовлено и материалы обширны. Курс был выбран как "А"-классовый курс. 【Смотреть видео】, 【Просмотреть код и слайды курса】.
Официальный аккаунт Senparc Network Assistant | Мини-приложение Senparc Network Assistant | BookHelper |
---|---|---|
![]() |
![]() |
![]() |
Если вам требуется использование или модификация исходного кода этого проекта, рекомендуется сначала сделать форк. Также приветствуем отправку запроса на слияние (Pull Request) для общей версии, которую вы модифицировали.
git checkout -b my-new-feature
)git commit -am 'Добавил некоторую возможность'
)git push origin my-new-feature
)my-new-feature
вашего удаленного репозитория Git на сайте GitHub и отправьте запрос на слияние (Pull Request)
(Отправляйте запрос на слияние в ветку Developer
, а не напрямую в ветку master
)Ветка | Описание |
---|---|
master | Основная ветка для официальных выпусков. Эта ветка обычно более стабильна и может использоваться в производственной среде. |
Developer | 1. Ветка развития. Эта ветка обычно является версией Beta, и новые версии разрабатываются в этой ветке до того, как они будут перемещены в основную ветку. Если вы хотите получить первое представление новых функций, вы можете использовать эту ветку. 2. Эта ветка совместима с версиями .NET 4.5 / .NET Core / .NET Core 2.0 одновременно. Рекомендуется отправлять запросы на слияние (Pull Request) для кода в эту ветку вместо основной. |
BookVersion1 | Эта ветка представляет собой снимок кода книги Глубинное анализ разработки WeChat: секреты эффективной разработки официальных аккаунтов и мини-приложений публикации. |
DotNET-Core_MySQL | Эта ветка представляет собой демонстрационную ветку для интеграции Pomelo.EntityFrameworkCore.MySql фреймворка в окружении .NET Core. |
NET4.0 | Ветка, поддерживающая только .NET 4.0. Эта ветка прекращает обновления с 2017 года. Последний код для .NET 4.0 синхронизирован с основной / Developer веткой. |
NET3.5 | Ветка, поддерживающая только .NET 3.5. Эта ветка прекращает обновления с 2015 года. Последний код для .NET 3.5 синхронизирован с основной / Developer веткой. |
Developer-Senparc.SDK | Эта ветка используется исключительно для внутреннего тестирования команды Senparc и может быть игнорирована. |
Благодарим разработчиков, которые приняли участие в этом проекте. Вы не только улучшили этот проект, но и сделали вклад в китайское сообщество открытого программного обеспечения. Спасибо! Список участников можно найти здесь.
## 💰 Донаты
Если данный проект полезен вам, мы приветствуем любую форму доната, включая участие в обновлении кода проекта или предоставление обратной связи. Спасибо!
Донат:
Лицензия Apache версии 2.0
Авторское право © 2025 Jeffrey Su & Suzhou Senparc Network Technology Co., Ltd.
Разрешено использовать этот файл только в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу:
http://www.apache.org/licenses/LICENSE-2.0
Кроме случаев, предусмотренных применимым законом или письменно согласовано сторонами, программное обеспечение, распространяемое в рамках Лицензии, предоставляется «КАК ЕСТЬ», БЕЗ ВСЯКИХ УСЛОВИЙ ИЛИ ГАРАНТИЙ, ЯВНО ИМПЛЮЧЕННЫХ ИЛИ НЕЯВНО.
Смотрите Лицензию для конкретного языка, регулирующего права использования и ограничения, связанные с Лицензией.
Подробнее: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )