Перевод текста запроса на русский язык:
.NET 8.0 и другие фреймворки, совместимые со всеми MVC, Razor, WebApi, Console (командная строка), настольными приложениями (.exe), Blazor, MAUI, бэкенд-сервисами и другими средами, а также с внешними фреймворками полностью разделены.
Senparc.Weixin SDK — самый популярный в настоящее время .NET SDK для WeChat, один из самых популярных открытых проектов .NET.
С момента запуска более десяти лет назад мы постоянно обновляем проект и делимся полным исходным кодом и концепцией дизайна со всеми, надеясь, что больше людей смогут извлечь из этого пользу, понять и распространить дух открытого исходного кода, чтобы вместе способствовать развитию открытого исходного кода в Китае! Спасибо всем друзьям, которые помогали нам на этом пути!
Если вам нравится этот проект и вы хотите, чтобы мы его улучшили, поставьте ему звёздочку:).
🔥 Образец интеграции AI Chatbot WeChat уже доступен! Посмотреть 🎬 Скотт Хансльман о теме ИИ (мероприятие «День открытых дверей Microsoft MVP» 3.14.2024)
📺 Интервью Скотта Хансльмана на всемирном саммите Microsoft MVP 2024 (3.14.2024) ⚡ Образец теперь поддерживает .NET 8.0 (обратная совместимость), нажмите здесь, чтобы посмотреть! 🔒 Модуль WeChat Pay V3 (V1.0) теперь доступен! Nuget! 🎠 Полная поддержка автоматического разделения длинных текстовых сообщений на фрагменты, подробнее: «Адаптация к приложениям AIGC, автоматическое «продолжение» ответов на сверхдлинные текстовые сообщения»!
Модуль | Адрес |
---|---|
Публичный аккаунт | https://sdk.weixin.senparc.com/Docs/MP/ |
Мини-программа | https://sdk.wexin.senparc.com/Docs/WxOpen/ |
Корпоративный WeChat | https://sdk.weixin.senparc.com/Docs/Work/ |
WeChat Payment V3 (рекомендуется) | https://sdk.weixin.senparc.com/Docs/TenPayV3/ |
WeChat Payment V2 (не рекомендуется) | https://sdk.weixin.senparc.com/Docs/TenPayV2/ |
Примечание:
- Приведённые выше примеры модулей включают документацию и шаблоны кода, готовые к запуску (требуется только настройка параметров WeChat, без изменения кода).
- Методы конфигурации, регистрации и вызова интерфейса в примерах одинаковы, достаточно изучить один модуль разработки, чтобы применить его к другим. Пример Hello World также использует публичный аккаунт в качестве примера, который можно расширить на все остальные модули.
- В каталоге /docs есть более полная документация по разработке, которая используется для продвинутой разработки, см. здесь.
- Соответствующие различным платформам WeChat, Senparc.Weixin SDK разделили различные модули и выпустили их независимо, чтобы упростить ссылки. Вы также можете напрямую ссылаться на Senparc.Weixin.All, автоматически ссылаясь на все модули.
Примечание:
- Исходный код ниже находится в папке
/Samples/MP/
, используя публичный аккаунт в качестве примера. Освоив публичный аккаунт, вы сможете использовать другие модули, основные методы использования которых одинаковы (мини-программы, корпоративные WeChat, WeChat Payments и т. д.).- Если вам нужно просмотреть другие модули или примеры интеграции, вы можете просмотреть независимые примеры в других папках в
/Samples/
или в папке/Samples/All/
(продвинутые).
builder.Services.AddSenparcWeixinServices(builder.Configuration);
Соответствует методу ConfigureServices() в Startup.cs.
var registerService = app.UseSenparcWeixin(app.Environment, null, null, register => { },
(register, weixinSetting) =>
{
//Регистрация публичного аккаунта (можно выполнить несколько раз, зарегистрировать несколько публичных аккаунтов)
register.RegisterMpAccount(weixinSetting, "【盛派网络小助手】公众号");
});
Соответствует методу Configure() в Startup.cs.
Вы можете вызывать интерфейс в любом месте программы (на примере интерфейса обслуживания клиентов):
await CustomApi.SendTextAsync("AppId", "OpenId", "Hello World!");
Подсказка:
- Senparc.Weixin SDK будет автоматически управлять токеном доступа в течение всего жизненного цикла, поэтому при разработке необходимо предоставить только AppId, не беспокоясь об истечении срока действия токена и других проблемах.
- AppId и другую регистрационную информацию можно получить из Senparc.Weixin.Config.SenparcWeixinSetting, параметры настраиваются в appsettings.json.
- Вышеупомянутый метод также поддерживает синхронный метод: Senparc.Weixin.MP.AdvancedAPIs.CustomApi.SendText().
- Все пространства имён интерфейсов соответствуют официальному пути API, а параметры именования максимально соответствуют документации (особенно возвращаемые параметры), чтобы разработчикам было удобно быстро находить и позиционировать исходный код, повышать эффективность тестирования и снижать вероятность возникновения ошибок.
Теперь вы можете вызывать интерфейсы всех модулей WeChat! Для получения дополнительных навыков продолжайте читать дальше.
Публичный аккаунт по умолчанию предоставляет диалоговое окно сообщений, которое может отправлять текст, изображения, аудио и другие типы информации и взаимодействовать с программой.
Приведённый ниже пример также применим к функциям диалога сообщений корпоративных WeChat и мини-программ, требуется всего два шага!
using Senparc.NeuChar.Entities;
using Senparc.Weixin.MP.Entities;
using Senparc.Weixin.MP.Entities.Request;
using
``` **Текст запроса на русском языке:**
Сенпарк.Вейсин.МП.МессаджКонтекстс; используя Сенпарк.Вейсин.МП.МессаджХендлерс;
пространство имён Сенпарк.Вейсин.Сэмпл.МП {
///
/// 自定义MessageHandler
/// 把MessageHandler作为基类,重写对应请求的处理方法
///
открытый частичный класс КустомМессаджХандлер : МессаджХандлер<ДефолтМпМессаджКонтекст> {
публичный КустомМессаджХандлер(Стрим инпутСтрим, ПостМодел постМодел, инт максРекордкаунт = 0,
бул онлиАлловЭнкриптМессадж = фальс, IСервисПровайдер сервисПровайдер = нулл)
: базис(инпутСтрим, постМодел, максРекордкаунт, онлиАлловЭнкриптМессадж, нулл, сервисПровайдер) {
}
/// <summary>
/// 所有未处理类型的默认消息
/// </summary>
/// <returns></returns>
общедоступный переопределенный IРепонсеМессаджеБэйз ДефолтРепонсМессадже(IРекуестМессаджеБэйз рекуестМессадже) {
// РепонсМессаджеТекст канбидж би ньюс энтиер типс
вар репонсМессадже = это.КриэйтРепонсМессадже<РепонсМессаджеТекст>();
репонсМессадже.Контент = $"ты отправил сообщение, но программа не указала процесс обработки";
вернуть репонсМессадже;
}
общедоступное переопределенное задание<IРепонсМессаджеБэйз> ОнИмаджРекуестАсинх(РекуестМессаджеИмадж рекуестМессадже) {
// обработка запроса изображения...
}
общедоступное переопределенное задание<IРепонсМессаджеБэйз> ОнЛокатионРекуестАсинх(РекуестМессаджеЛокатион рекуестМессадже) {
// обработка запроса географического положения...
}
}
}
> С 3 апреля 2022 года .NET Framework 4.5 был обновлён до версии 4.6.2, последняя стабильная версия .NET Framework 4.5 доступна по [ссылке](https://github.com/JeffreySu/WeiXinMPSDK/releases/tag/v16.17.9).
> Если вы всё ещё используете .NET Framework, рекомендуется обновить его до версии .NET Framework 4.8+ в период с 12 января 2027 года. В это время официальная поддержка .NET Framework 4.6.2 будет прекращена (см. [здесь](https://learn.microsoft.com/en-us/lifecycle/products/microsoft-net-framework)).
> Используя интегрированную библиотеку Senparc.Weixin.All, можно автоматически ссылаться на все модули одновременно.
[1.1]: https://img.shields.io/nuget/v/Senparc.Weixin.svg?style=flat
[1.2]: https://www.nuget.org/packages/Senparc.Weixin
[2.1]: https://img.shields.io/nuget/v/Senparc.Weixin.MP.svg?style=flat
[2.2]: https://www.nuget.org/packages/Senparc.Weixin.MP
[3.1]: https://img.shields.io/nuget/v/Senparc.Weixin.MP.MVC.svg?style=flat
[3.2]: https://www.nuget.org/packages/Senparc.Weixin.MP.MVC
[4.1]: https://img.shields.io/nuget/v/Senparc.Weixin.QY.svg?style=flat
[4.2]: https://www.nuget.org/packages/Senparc.Weixin.QY
[5.1]: https://img.shields.io/nuget/v/Senparc.Weixin.Work.svg?style=flat
[5.2]: https://www.nuget.org/packages/Senparc.Weixin.Work
[6.1]: https://img.shields.io/nuget/v/Senparc.Weixin.Open.svg?style=flat
[6.2]: https://www.nuget.org/packages/Senparc.Weixin.Open
[7.1]: https://img.shields.io/nuget/v/Senparc.Weixin.Cache.Redis.svg?style=flat
[7.2]: https://www.nuget.org/packages/Senparc.Weixin.Cache.Redis
[8.1]: https://img.shields.io/nuget/v/Senparc.Weixin.Cache.Memcached.svg?style=flat
[8.2]: https://www.nuget.org/packages/Senparc.Weixin.Cache.Memcached
[9.1]: https://img.shields.io/nuget/v/Senparc.Weixin.WxOpen.svg?style=flat
[9.2]: https://www.nuget.org/packages/Senparc.Weixin.WxOpen
[10.1]: https://img.shields.io/nuget/v/Senparc.WebSocket.svg?style=flat
[10.2]: https://www.nuget.org/packages/Senparc.WebSocket
[11.1]: https://img.shields.io/nuget/v/Senparc.Weixin.MP.CoreMVC.svg?style=flat
[11.2]: https://www.nuget.org/packages/Senparc.Weixin.MP.CoreMVC
[12.1]: https://img.shields.io/nuget/v/Senparc.Weixin.TenPay.svg?style=flat
[12.2]: https://www.nuget.org/packages/Senparc.Weixin.TenPay
[13.1]: https://img.shields.io/nuget/v/Senparc.Weixin.TenPayV3.svg?style=flat
[13.2]: https://www.nuget.org/packages/Senparc.Weixin.TenPayV3
[14.1]: https://img.shields.io/nuget/v/Senparc.Weixin.All.svg?style=flat
[14.2]: https://www.nuget.org/packages/Senparc.Weixin.All
[net46Y]: https://img.shields.io/.NET%20Framework%204.6+-Y-brightgreen.svg
[net46N]: https://img.shields.io/.NET%20Framework%204.6+-N-lightgrey.svg
[net46N-]: https://img.shields.io/.NET%20Framework%204.6+----lightgrey.svg
[core20Y]: https://img.shields.io/.NET%20Standard2.x-Y-brightgreen.svg
[net8]: https://img.shields.io/.NET%208.0-Y-brightgreen.svg
[nuget-img-base]: https://img.shields.io/nuget/dt/Senparc.Weixin.svg
[nuget-url-base]: https://www.nuget.org/packages/Senparc.Weixin
[nuget-img-mp]: https://img.shields.io/nuget/dt/Senparc.Weixin.MP.svg
[nuget-url-mp]: https://www.nuget.org/packages/Senparc.Weixin.MP
[nuget-img-mvc]: https://img.shields.io/nuget/dt/Senparc.Weixin.MP.Mvc.svg
[nuget-url-mvc]: https://www.nuget.org/packages/Senparc.Weixin.MP.Mvc
[nuget-img-tenpay]: https://img.shields.io/nuget/dt/Senparc.Weixin.TenPay.svg
[nuget-url-tenpay]: https://www.nuget.org/packages/Senparc.Weixin.TenPay
[nuget-img-tenpayv3]: https://img.shields.io/nuget/dt/Senparc.Weixin.TenPayV3.svg
[nuget-url-tenpayv3]: https://www.nuget.org/packages/Senparc.Weixin.TenPayV3
[nuget-img-qy]: https://img.shields.io/nuget/dt/Senparc.Weixin.QY.svg
[nuget-url-qy]: https://www.nuget.org/packages/Senparc.Weixin.QY
[nuget-img-work]: https://img.shields.io/nuget/dt/Senparc.Weixin.Work.svg
[nuget-url-work]: https://www.nuget.org/packages/Senparc.Weixin.Work
[nuget-img-open]: https://img.shields.io/nuget/dt/Senparc.Weixin.Open.svg
[nuget-url-open]: https://www.nuget.org/packages/Senparc.Weixin.Open
[nuget-img-redis]: https://img.shields.io/nuget/dt/Senparc.Weixin.Cache.Redis.svg
[nuget-url-redis]: https://www.nuget.org/packages/Senparc.Weixin.Cache.Redis **Функциональная поддержка**
* Поддерживается большинство API 8.x WeChat, включая WeChat Pay, настраиваемые меню/индивидуальные меню, интерфейс информации о шаблонах, интерфейс загрузки материалов, интерфейс групповой рассылки, интерфейс многоканального обслуживания, интерфейс оплаты, интерфейс микро-магазина, интерфейс купонов, интерфейс счетов и т. д.
* Поддержка WeChat Official Accounts, мини-программ, корпоративных аккаунтов, WeChat Payment V2/V3, открытой платформы и других модулей.
* Поддерживаются контексты сеансов пользователей (решается проблема невозможности использования сервера Session для обработки информации о пользователях).
* Полная поддержка WeChat Official Account, мини-программы, корпоративного аккаунта (корпоративный WeChat), WeChat Payment V2/V3 и открытой платформы последнего API.
* Распределённое кэширование и стратегии кэширования поддерживаются и расширяются (по умолчанию поддерживается локальное кэширование, Redis, Memcached, и можно свободно расширять). В процессе разработки не нужно заботиться о типе используемого кэша, и его можно переключать в файле конфигурации или во время выполнения.
>1. В настоящее время все официальные API идеально интегрированы. Если нет особых инструкций, все обновления будут стараться поддерживать обратную совместимость, поэтому рекомендуется использовать выпущенную версию или напрямую обновить до последней версии dll (рекомендуется использовать [Nuget](https://www.nuget.org/) для обновления).<br>
>2. Вы также можете изменить и скомпилировать код самостоятельно. Откройте [Senparc.Weixin.Sample.Net8.sln](/Samples/All/net8-mvc/), чтобы увидеть весь исходный код. Когда режим компиляции установлен на «Release», автоматически будет сгенерирован локальный пакет Nuget (по умолчанию генерируется в папку /src/BuildOutPut/).
**Описание папки проекта исходного кода (папка src)**
| Папка | Описание |
| --- | --- |
|[Senparc.WebSocket](src/Senparc.WebSocket/)| Модуль WebSocket |
|[Senparc.Weixin.Cache](src/Senparc.Weixin.Cache) | Senparc.Weixin.Cache.Memcached.dll, Senparc.Weixin.Cache.Redis.dll и другие решения для распределённого кэширования и расширения |
|[Senparc.Weixin.AspNet](src/Senparc.Weixin.AspNet) | Библиотека классов, специально разработанная для поддержки веб-приложений Senparc.Weixin.AspNet.dll |
|[Senparc.Weixin.MP.MvcExtension](src/Senparc.Weixin.MP.MvcExtension) | Исходный код Senparc.Weixin.MP.MvcExtension.dll, расширение пакета для проектов MVC |
|[Senparc.Weixin.MP](src/Senparc.Weixin.MP) | Исходный код SDK Senparc.Weixin.MP.dll для WeChat Official Account |
|[Senparc.Weixin.MP.Middleware](src/Senparc.Weixin.MP.Middleware) | Исходный код промежуточного программного обеспечения сообщений WeChat Official Account Senparc.Weixin.MP.Middleware.dll |
|[Senparc.Weixin.Open](src/Senparc.Weixin.Open) | Исходный код SDK третьей стороны для открытой платформы Senparc.Weixin.Open.dll |
|[Senparc.Weixin.TenPay](src/Senparc.Weixin.TenPay) | Исходный код Senparc.Weixin.TenPay.dll & Senparc.Weixin.TenPayV3.dll содержит WeChat Payment [V2](https://github.com/JeffreySu/WeiXinMPSDK/tree/Developer/src/Senparc.Weixin.TenPay/Senparc.Weixin.TenPay) и [V3](https://github.com/JeffreySu/WeiXinMPSDK/tree/Developer/src/Senparc.Weixin.TenPay/Senparc.Weixin.TenPayV3) |
|[Senparc.Weixin.Work](src/Senparc.Weixin.Work) | Исходный код корпоративного WeChat SDK Senparc.Weixin.Work.dll |
|[Senparc.Weixin.Work.Middleware](src/Senparc.Weixin.Work.Middleware) | Промежуточное программное обеспечение корпоративных сообщений WeChat Senparc.Weixin.Work.Middleware.dll |
|[Senparc.Weixin.WxOpen](src/Senparc.Weixin.WxOpen) | Мини-программа WeChat SDK, включая исходный код мини-игр Senparc.Weixin.WxOpen.dll |
|[Senparc.Weixin.WxOpen.Middleware](src/Senparc.Weixin.WxOpen.Middleware) | Промежуточное ПО для сообщений мини-игры WeChat, включая мини-игру Senparc.Weixin.WxOpen.Middleware.dll |
|[Senparc.Weixin](src/Senparc.Weixin) | Все базовые библиотеки классов Senparc.Weixin.[x].dll |
[Перейдите в папку](src/)
**Описание папки Samples (папка Samples)**
Senparc.Weixin SDK поддерживает высокую степень согласованности в использовании каждого модуля, включая конфигурацию, управление AccessToken, обработку сообщений, служебные сообщения, вызовы интерфейса и так далее. Вам нужно только обратиться к использованию любого модуля (рекомендуется начать с WeChat Official Account или Mini Program), вы можете использовать другие модули по аналогии.
В следующих образцах вы можете узнать о конфигурации и использовании каждого независимого модуля. Просто откройте соответствующее решение .sln в соответствующей папке, чтобы просмотреть соответствующий исходный код, запустите его, чтобы увидеть инструкции. Среди них файл All содержит больше комплексных и продвинутых функций демонстрации.
| Папка | Описание | Способ ссылки на SDK |
|--------|--------|----|
|[MP](/Samples/MP/) | WeChat Official Account | Пакет Nuget |
|[TenPayV2](/Samples/TenPayV2/) | WeChat Payment V1 и V2 | Пакет Nuget |
|[TenPayV3](/Samples/TenPayV3/) | TenPay APIv3 (WeChat Payment V3)| Пакет Nuget |
|[Work](/Samples/Work/) | Корпоративный WeChat | Пакет Nuget |
|[WxOpen](/Samples/WxOpen/) | Мини-программа WeChat | Пакет Nuget |
|[Shared](/Samples/Shared) | Файлы, которые используются всеми образцами |
|[All](/Samples/All/) | Содержит все функции, такие как WeChat Official Account, Mini Program, WeChat Payment, Corporate WeChat и т.д., рекомендуется для проектов интеграции нескольких платформ или углублённой разработки (продвинутый уровень) |
| ┣ [All/console](/Samples/All/console) | Демонстрация командной строки Console (.NET Core) | Пакет Nuget |
| ┣ [All/net45-mvc](/Samples/All/net45-mvc) | Можно напрямую опубликовать демонстрацию использования (.NET Framework 4.5 + ASP.NET MVC) | Пакет Nuget |
| ┗ [All/net8-mvc](/Samples/All/net8-mvc) | Можно напрямую опубликовать демо (.NET 8.0), совместимое с .NET 5.0, 6.0, 7.0 и .NET Core | <strong>Последний исходный код</strong> **Файл-каталог**
<!-- *Личный настрой под свой проект*
**WeChatSampleBuilder**
*Веб-версия:* [https://www.cnblogs.com/szw/p/WeChatSampleBuilder-V2.html#Web-WeChatSampleBuilder](https://www.cnblogs.com/szw/p/WeChatSampleBuilder-V2.html#Web-WeChatSampleBuilder) — просмотр руководства.
<img src="https://sdk.weixin.senparc.com/images/WeChatSampleBuilder-v0.2.0-web.png?t=1" width="700" alt="WeChatSampleBuilder">
2. *Версия для рабочего стола:* войдите на сайт [https://weixin.senparc.com/User](https://weixin.senparc.com/User) и скачайте инструмент WeChatSampleBuilder, а также ознакомьтесь с инструкцией по использованию.
<img src="https://sdk.weixin.senparc.com/images/WeChatSampleBuilder-v0.2.0.png?t=1" width="700" alt="WeChatSampleBuilder">
> *Примечание:* использование инструмента WeChatSampleBuilder поможет вам упростить код Sample для тестирования и обучения, но не поможет создать полноценный проект для производственной среды. Если вы хотите создать проект для рабочей среды, обратитесь к полному демонстрационному примеру или другим руководствам. Рекомендуется использовать существующие системные фреймворки для создания проекта, например, NeuCharFramework (https://github.com/NeuCharFramework/NCF).
**🎨 Ресурсы**
1. Официальный сайт: [https://weixin.senparc.com/](https://weixin.senparc.com/).
2. Онлайн-демонстрация (.NET 8.0, совместима с .NET 6.0, 7.0 и .NET Core): [https://sdk.weixin.senparc.com/](https://sdk.weixin.senparc.com/).
3. Серия руководств по разработке для WeChat: [https://www.cnblogs.com/szw/p/weixin-course-index.html](https://www.cnblogs.com/szw/p/weixin-course-index.html).
4. Сообщество для обмена опытом в области WeChat: [https://weixin.senparc.com/QA](https://weixin.senparc.com/QA).
5. Инструмент для редактирования меню: [https://sdk.weixin.senparc.com/Menu](https://sdk.weixin.senparc.com/Menu).
6. Инструмент для тестирования сообщений: [https://sdk.weixin.senparc.com/SimulateTool](https://sdk.weixin.senparc.com/SimulateTool).
7. Инструмент для проверки кэша: [https://sdk.wexin.senparc.com/Cache/Test](https://sdk.wexin.senparc.com/Cache/Test).
8. Загрузка документации CHM: [https://sdk.weixin.senparc.com/Document](https://sdk.weixin.senparc.com/Document).
9. Исходный код и последние обновления: [https://github.com/JeffreySu/WeiXinMPSDK](https://github.com/JeffreySu/WeiXinMPSDK).
10. Коллекция ресурсов для разработки WeChat: [https://github.com/JeffreySu/WeixinResource](https://github.com/JeffreySu/WeixinResource).
11. «Глубокий анализ разработки WeChat»: [https://book.weixin.senparc.com](https://book.weixin.senparc.com).
12. Покупка книги «Глубокий анализ разработки WeChat»: [https://item.jd.com/12220004.html](https://book.weixin.senparc.com/book/link?code=github-homepage-resource).
13. Видеокурс по обучению разработке WeChat и мини-программ: [https://github.com/JeffreySu/WechatVideoCourse](https://github.com/JeffreySu/WechatVideoCourse).
*Техническая группа QQ:*
1 группа (публичный аккаунт): 300313885;
14 группа (группа для просмотра видеокурса): 588231256;
10 группа (распределённый кэш): 246860933;
12 группа (мини-программы WeChat): 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 (уже заполнена).
*Контакты для бизнеса:* 498977166.
*Sina Weibo:* [@苏震巍](http://weibo.com/jeffreysu1984).
Если этот проект будет полезен для вас, мы будем рады любой форме поддержки, включая участие в обновлении кода проекта или предоставление обратной связи. Спасибо!
**Финансирование:** [войти](http://sdk.weixin.senparc.com#donate).
**📖 Официальное руководство Senparc**
>Книга «Глубокий анализ разработки WeChat», написанная Джеффри Су и командой Senparc, была опубликована после двух лет работы. Полное название книги: «Глубокий анализ разработки WeChat: секреты эффективной разработки публичных аккаунтов и мини-программ». В книге есть вспомогательная система для чтения, которая уже запущена: [BookHelper](http://book.weixin.senparc.com).
>Приглашаем приобрести печатное издание: [покупка](https://book.weixin.senparc.com/book/link?code=github-homepage).
**💻 Официальное видеоруководство Senparc**
Чтобы помочь вам лучше понять детали разработки WeChat, а также изучить книгу «Глубокий анализ разработки WeChat» более подробно, мы создали группу «Класс Senparc», чтобы предложить курс по разработке WeChat. Курс помогает изучить разработку WeChat с разных точек зрения и включает практические занятия.
Курс состоит из двух частей:
1. Основы разработки WeChat;
2. Примеры использования публичных аккаунтов и мини-программ.
Всего 60 часов занятий, включая дополнительные материалы.
В настоящее время видеоуроки доступны на платформе NetEase Classroom, где они получили высокую оценку за качество и содержание. Они были выбраны в качестве курсов уровня «A» и доступны для просмотра на [видеоплатформе](https://book.weixin.senparc.com/book/videolinknetease?code=github-homepage) и для скачивания на [GitHub](https://github.com/JeffreySu/WechatVideoCourse).
**🧪 Тестирование учётных записей и функций мини-приложений (SenparcRobot):**
| Помощник Senparc Network Public Account | Помощник Senparc Network Mini Program | BookHelper |
|--|--|--|
|<img src="https://sdk.weixin.senparc.com/Images/qrcode.jpg" width="258">| <img src="https://sdk.weixin.senparc.com/Images/SenparcRobot_MiniProgram.jpg" width="258"> | <img src="https://sdk.weixin.senparc.com/Images/qrcode-bookhelper.jpg" width="258"> |
**✋ Вклад в код**
Если вам нужно использовать или изменить исходный код этого проекта, рекомендуется сначала создать форк. Также приветствуются запросы на вытягивание, которые включают ваши изменения.
1. Форк.
2. Создайте свою ветку функций (`git checkout -b my-new-feature`).
3. Зафиксируйте свои изменения (`git commit -am 'Added some feature'`).
4. Отправьте свои изменения в удалённый репозиторий git (`git push origin my-new-feature`).
5. Затем отправьте запрос на вытягивание в удалённую ветку `my-new-feature` на сайте GitHub.
(Пожалуйста, отправьте его в ветку Developer, а не напрямую в ветку master).
// **Контроллеры / WeixinController.cs**
Приведённый ниже токен необходимо синхронизировать с токеном, установленным в настройках платформы WeChat. Если токен часто меняется, рекомендуется сохранить его в файле Web.config или другом конфигурационном файле (на практике при использовании двух столбцов рекомендуется использовать цифры + прописные и строчные буквы для изменения токена, поскольку токен может быть легко подделан после взлома!).
```C#
public readonly string Token = "weixin";
Следующий Action (Get) используется для получения и возврата результата проверки URL-адреса обратного вызова WeChat, без необходимости изменения. Адрес может выглядеть следующим образом: http://domain/Weixin или http://domain/WeXin/Index.
/// <summary>
``` Таким образом, CustomMessageHandler при выполнении messageHandler.Execute() в случае, если тип информации запроса — текст, автоматически вызывает вышеуказанный код и возвращает responseMessage из кода в качестве возвращаемой информации. ResponseMessage может быть любым типом интерфейса IResponseMessageBase (включая текст, новости, мультимедийные форматы).
С версии v0.4.0 MessageHandler поддерживает контекст пользовательской сессии для решения проблемы невозможности использования Session для управления пользовательскими сессиями на сервере. Подробнее см.: [Пользовательский контекст WeixinContext и MessageContext](https://github.com/JeffreySu/WeiXinMPSDK/wiki/%E7%94%A8%E6%88%B7%E4%B8%8A%E4%B8%8B%E6%96%87WeixinContext%E5%92%8CMessageContext).
## 👩🏫 Как разрабатывать с использованием .NET Core
Текущая ветка содержит код полной версии .NET Framework 4.6.2+ и .NET 6.0/7.0/8.0 (для более старых версий, которые больше не обновляются, см. [release](https://github.com/JeffreySu/WeiXinMPSDK/releases) снимок).
В частности, демо .NET Framework находится в каталоге `/src/Samples/All/net45-mvc`, а рекомендуемое демо .NET 8.0 — в каталоге `/Samples/All/net8-mvc`.
Обратите внимание: в образце net8-mvc образец напрямую ссылается на исходный код каждого модуля, и после компиляции с использованием Release можно создать библиотеку Senaprc.Weixin SDK, совместимую с различными версиями.
## ↕️ Установка Nuget в проект
Способ установки Nuget для каждого модуля: [«Использование Nuget для установки SDK в проект»](https://github.com/JeffreySu/WeiXinMPSDK/wiki/%E4%BD%BF%E7%94%A8-Nuget-%E5%B0%86-SDK-%E5%AE%89%E8%A3%85%E5%88%B0%E9%A1%B9%E7%9B%AE%E4%B8%AD).
## 🏬 Как развернуть
### 1) Развертывание в Azure App Service
[App Service]( https://docs.microsoft.com/zh-cn/azure/app-service/azure-web-sites-web-hosting-plans-in-depth-overview ) — это веб-служба, предлагаемая Microsoft Azure, которая хорошо поддерживает .NET. Подробные шаги см.: [«Развертывание сайта WeChat в Azure»](https://github.com/JeffreySu/WeiXinMPSDK/wiki/%E5%B0%86%E5%BE%AE%E4%BF%A1%E7%AB%99%E7%82%B9%E9%83%A8%E7%BD%B2%E5%88%B0-Azure-%E4%B8%AD).
### 2) Развёртывание на любом FTP-сервере
Установите FTP-сервер на веб-сервере (рекомендуется [FileZilla Server](https://filezilla-project.org/download.php?type=server)), а затем используйте FTP для прямой загрузки уже скомпилированного локального кода (соответствующий проект в Samples — [Senparc.Weixin.Sample.Net8](https://github.com/JeffreySu/WeiXinMPSDK/tree/Developer/Samples/All/net8-mvc), который можно использовать после компиляции, без необходимости изменять код). Если вы используете Azure App Service или другие облачные сервисы, обычно FTP также открыт. **Благодарим разработчиков, которые внесли свой вклад в этот проект!**
Спасибо вам за то, что вы не только улучшили этот проект, но и внесли свой вклад в развитие открытого исходного кода в Китае! Список участников [можно посмотреть здесь](https://github.com/JeffreySu/WeiXinMPSDK/blob/master/Contributors.md).
<a href="https://github.com/JeffreySu/WeiXinMPSDK/graphs/contributors">
<img src="https://contrib.rocks/image?repo=JeffreySu/WeiXinMPSDK&max=200" />
</a>
## 💰 Пожертвования
Если этот проект оказался для вас полезным, мы будем рады любой форме пожертвований от всех желающих, включая участие в обновлении кода проекта или предоставление обратной связи. Спасибо!
Пожертвовать средства:
[](http://sdk.weixin.senparc.com#donate)
## ⭐ Статистика количества звёзд
[](https://starchart.cc/JeffreySu/WeiXinMPSDK)
## 📎 Лицензия
Apache License Version 2.0
Copyright 2024 Jeffrey Su & Suzhou Senparc Network Technology Co.,Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Подробнее: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md
> 100% открытый исходный код, подходит для коммерческого использования.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )