1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-WeiXinMPSDK

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.en.md

Senparc.Weixin — WeChat .NET SDK

Build status

NuGet

GitHub commit activity the past week, 4 weeks, year

Static Badge

Senparc.Weixin.All

license

С помощью Senparc.Weixin вы можете легко и быстро разрабатывать приложения для платформы Wechat, включая официальные аккаунты Wechat, мини-программы, мини-игры, корпоративные аккаунты, открытые платформы, Wechat Pay, JS-SDK, оборудование Wechat/Bluetooth и многое другое. Демоверсия доступна на сайте.

Примечание: в запросе присутствуют ссылки на внешние ресурсы, которые не были переведены. Данный проект также подходит для начинающих изучать программирование на .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, Console (командная строка), настольные приложения (.exe), Blazor, MAUI и фоновые службы, и полностью отделён от внешних фреймворков.

Senparc.Weixin SDK в настоящее время является наиболее широко используемым Wechat .NET SDK и одним из самых популярных проектов с открытым исходным кодом .NET в Китае.

С момента своего создания в 2013 году мы постоянно обновляем проект и без ограничений делимся полным исходным кодом и идеями дизайна, надеясь, что больше людей смогут извлечь из этого пользу, понять и распространить дух открытого исходного кода, а также помочь делу открытого исходного кода в Китае! Мы благодарны всем друзьям, которые помогали нам на этом пути!

Если вам нравится этот проект и вы хотите, чтобы мы продолжали его улучшать, пожалуйста, поставьте нам ★ Звезду :)

🔔 Объявление

🔥 Интеграция чат-бота AI с Wechat доступна онлайн! нажмите здесь, чтобы посмотреть 📺 На глобальном саммите Microsoft MVP в 2024 году я имел честь взять интервью у Скотта Хансельмана и обсудить ряд тем, связанных с ИИ. Мы продолжим наш разговор 13 апреля 2024 года во время мероприятия «Senparc 3.14 Technology Open Day», где мы более подробно рассмотрим влияние ИИ и агентов на будущее индустрии программного обеспечения и программного обеспечения с открытым исходным кодом. Приглашаем всех присоединиться! Смотрите видео. ⚡ Образец теперь поддерживает .NET 8.0 (обратно совместимый), нажмите здесь, чтобы просмотреть. 🔒 Модуль Wechat Pay V3 (V1.0) [https://github.com/JeffreySu/WeiXinMPSDK/tree/master/src/Senparc.Weixin.TenPay/Senparc.Weixin.TenPayV3] теперь доступен онлайн! 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.wexin.senparc.com/Docs/TenPayV2/

Примечание:

  1. Приведённые выше примеры модулей включают как документацию, так и исполняемые шаблоны кода (нужно только настроить параметры Wechat без изменения какого-либо кода).
  2. Методы настройки, регистрации и вызова интерфейса в примерах совпадают. Как только вы научитесь разрабатывать один модуль, вы сможете применить те же знания к другим модулям. В примере Hello World ниже используется официальный аккаунт в качестве примера, но его можно расширить и на другие модули.
  3. Более полная документация по разработке представлена в каталоге /docs, нажмите здесь для просмотра.

🚀 Hello World: Начните свой путь разработки Wechat с 3 строк кода!

Примечание:

  1. Следующий исходный код находится в По умолчанию сообщение для всех необработанных типов
/// Default message for all unhandled types  
    /// </summary>  
    /// <returns></returns>  
    public override IResponseMessageBase DefaultResponseMessage(IRequestMessageBase requestMessage)  
    {  
        //ResponseMessageText can also be News or other types  
        var responseMessage = this.CreateResponseMessage<ResponseMessageText>();  
        responseMessage.Content = "Вы отправили сообщение, но программа не указала процедуру обработки";  
        return responseMessage;  
    }  
  
    public override Task<IResponseMessageBase> OnImageRequestAsync(RequestMessageImage requestMessage)  
    {  
        //Handle image requests...  
    }  
  
    public override Task<IResponseMessageBase> OnLocationRequestAsync(RequestMessageLocation requestMessage)  
    {  
        //Handle location requests...  
    }  
}  

Шаг 2: Запрос CustomMessageHandler:

Мы предоставляем два способа запроса CustomMessageHandler: Middleware (рекомендуется) и Controller (или WebApi). Вы можете выбрать любой из них. На примере Middleware после включения конфигурации в Program.cs добавьте следующий код для регистрации MessageHandler:

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 (также применимо к Enterprise Wechat и Mini Program, см. соответствующий образец).

Кроме того, вы также можете использовать метод Controller (или WebApi), чтобы иметь более точный контроль над всем процессом обработки сообщений (или использовать его в .NET Framework), нажмите здесь, чтобы посмотреть.

Теперь вы освоили основные навыки, необходимые для разработки платформ WeChat. Продолжайте читать для получения дополнительной информации:

📇 Дополнительные индексы

Этот репозиторий содержит исходный код для нескольких версий, включая .NET Framework/.NET Standard 2.0+/.NET Core 3.1/.NET 6/.NET 7/.NET 8:

Используйте Visual Studio 2022 для открытия демонстрации (поддерживает все версии): .NET 8.0 — Senparc.Weixin.Sample.Net7.sln. Используйте Visual Studio 2019 или более позднюю версию, чтобы открыть демо .NET Framework: Senparc.Weixin.MP.Sample.Net45.sln (не включает исходный код, только ссылки на библиотеки).

Используйте Visual Studio 2019 или более позднюю версию, чтобы открыть демонстрацию командной строки Console (.NET Core): Senparc.Weixin.MP.Sample.Consoles.vs2019.sln.

.NET 4.6 .NET Standard 2.x .NET 8.0, обратно совместимый с .NET 5.0–7.0
.NET Framework 4.6.2+ .NET Standard 2.0 / 2.1 .NET 8.0, обратно совместим с .NET 5.0-7.0

Совет:

  1. Начиная с 1 мая 2019 года, .NET Framework версии 3.5 и 4.0 больше не будут получать обновления. Последнюю стабильную версию .NET Framework версий 3.5 + 4.0 можно найти здесь.
  2. Начиная с 3 апреля 2022 года, .NET Framework 4.5 был обновлён до 4.6.2. Последнюю стабильную версию .NET Framework 4.5 можно найти здесь.
  3. Если вы всё ещё используете .NET Framework, рекомендуется обновить ваше приложение до .NET Framework 4.8+ к 12 января 2027 года, так как официальная поддержка .NET Framework 4.6.2 к тому времени закончится.
  4. Используйте интеграционную библиотеку Senparc.Weixin.All для автоматического обращения ко всем библиотекам сразу.

[net8]: https://img.shields.io/badge/.NET%208.0-Y-brightgreen.svg Поддержка функций

  • Поддерживается большинство API WeChat 8.x, включая WeChat Pay, пользовательское меню/персонализированное меню, интерфейс шаблона сообщения, интерфейс загрузки материала, интерфейс массового сообщения, интерфейс обслуживания клиентов, платёжный интерфейс, интерфейс магазина WeChat, карточный интерфейс, интерфейс счёта и т. д.
  • Поддержка официальных учётных записей WeChat, мини-программ, корпоративных учётных записей, открытых платформ, WeChat Pay и других модулей.
  • Поддержка контекста сеанса пользователя (решение проблемы использования Session для обработки информации о пользователе на сервере).
  • Полная поддержка новейших API официальных учётных записей WeChat, мини-программ, корпоративных аккаунтов (WeChat Work), WeChat Pay V2/V3 и открытых платформ.
  • Поддержка распределённого кэширования и расширения стратегии кэширования (поддержка по умолчанию: локальный кэш, Redis, Memcached, можно свободно расширять), не нужно беспокоиться о типе используемого кеша во время разработки, можно свободно переключаться в файле конфигурации или во время выполнения.
  1. Официальные API идеально интегрированы, и все обновления будут пытаться обеспечить обратную совместимость, если не указано иное. Таким образом, вы можете безопасно использовать или напрямую обновлять (перезаписывать) последние библиотеки DLL. Для обновлений рекомендуется использовать NuGet (https://www.nuget.org/).
  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 WeChat Official Account Senparc.Weixin.MP.dll
Senparc.Weixin.MP.Middleware (src/Senparc.Weixin.MP.Middleware) Исходный код промежуточного программного обеспечения сообщений WeChat Official Account Senparc.Weixin.MP.Middleware.dll
Senparc.Weixin.TenPay Senparc.Weinx.TenPay.dll и Senparc.Weixin.TenPayV3.dll — исходный код для WeChat Pay V2 и V3.
Senparc.Weixin.Work Senparc.Weixin.Work.dll — исходный код корпоративного WeChat SDK.
Senparc.Weixin.Work.Middleware Senparc.Weixin.Work.Middleware.dll — исходный код промежуточного программного обеспечения корпоративных сообщений WeChat.
Senparc.Weixin.WxOpen Senparc.Weixin.WxOpen.dll — исходный код WeChat Mini Program SDK, включая мини-игры.
Senparc.Weixin.WxOpen.Middleware Senparc.Weixin.WxOpen.Middleware.dll — исходный код промежуточного ПО для обработки сообщений WeChat Mini Programs, включая мини-игры.
Senparc.Weixin Исходный код всех базовых библиотек Senparc.Weixin[x].dll.

Объяснение папки Samples (в папке Samples)

Использование всех модулей в Senparc.Weixin SDK очень согласованно, включая процесс настройки, управление AccessToken, обработку сообщений, служебные сообщения, вызовы API и т. д. Вам нужно только обратиться к использованию любого модуля (рекомендуется начать с Official Accounts или Mini Programs), и вы можете применить те же принципы к другим модулям.

Из следующих примеров вы можете узнать о настройке и использовании каждого независимого модуля. Просто откройте файл решения .sln в соответствующей папке, чтобы просмотреть исходный код и запустить его, чтобы увидеть документацию. Папка All содержит более комплексные и продвинутые демонстрации функций.

Папка Описание Метод ссылки на SDK
MP Официальные аккаунты Пакет NuGet
TenPayV2 WeChat Pay V1 и V2 Пакет NuGet
TenPayV3 WeChat Pay V3 (TenPay APIv3) Пакет 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 Исходный код

Настройка проекта WeChat по своему вкусу

Веб-версия: Нажмите здесь для получения инструкций.

Версия для настольных ПК: войдите на сайт https://weixin.senparc.com/User, чтобы загрузить инструмент WeChatSampleBuilder и ознакомиться с инструкциями. WeChatSampleBuilder инструмент предназначен только для упрощения кода примеров для тестирования и обучения. Он не поможет вам создать полноценные рабочие проекты с бизнес-логикой. Для создания рабочего проекта обратитесь к полным демонстрационным примерам или другим учебным пособиям. Рекомендуется использовать существующие системные фреймворки для построения проекта, такие как NeuCharFramework.

🎨 Ресурсы

  1. Официальный веб-сайт: https://weixin.senparc.com/
  2. Онлайн-демонстрация (для .NET 8.0, обратно совместима с .NET 6.0, 7.0 и .NET Core): https://sdk.weixin.senparc.com/
  3. Учебники по разработке WeChat: https://www.cnblogs.com/szw/p/weixin-course-index.html
  4. Техническое сообщество WeChat: https://weixin.senparc.com/QA
  5. Редактор онлайн-меню: https://sdk.weixin.senparc.com/Menu
  6. Инструмент тестирования сообщений: https://sdk.weixin.senparc.com/SimulateTool
  7. Инструмент тестирования кэша: https://sdk.wexin.senparc.com/Cache/Test
  8. Загрузка справочного документа chm: https://sdk.weixin.senparc.com/Document
  9. Исходный код и последние обновления: https://github.com/JeffreySu/WeiXinMPSDK
  10. Коллекция ресурсов для разработки WeChat: https://github.com/JeffreySu/WeixinResource
  11. Вспомогательная система для чтения «Глубокий анализ разработки WeChat»: https://book.weixin.senparc.com
  12. Покупка «Глубокого анализа разработки WeChat»: https://item.jd.com/12220004.html
  13. Видеоурок по быстрому созданию официальных аккаунтов и мини-программ WeChat: https://github.com/JeffreySu/WechatVideoCourse
  • Технические коммуникационные группы QQ:

Группа 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 (Заполнена)

  • Бизнес-контакт QQ: 498977166

Если этот проект будет полезен для вас, мы приветствуем любую форму пожертвования или участия в обновлении кода и обратной связи. Спасибо!

Пожертвование: Введите

📖 Официальная книга Senparc Tutorial

Книга по разработке Wechat, под названием «Глубокий анализ разработки Wechat: Эффективные секреты разработки для официальных аккаунтов и мини-программ», была завершена Джеффри Су и командой Senparc после двух лет усилий и опубликована. Книга поставляется с вспомогательной системой чтения: BookHelper.

Добро пожаловать на покупку подлинной книги: 【Купить подлинную】

Снимок кода версии книги находится в ветке BookVersion1.

💻 Официальное видео Senparc

Чтобы помочь всем более интуитивно понять детали разработки Wechat и изучить разработку Wechat и различные приёмы в процессе разработки .NET, мы создали группу «Senparc Classroom» и запустили видеокурсы по разработке Wechat, которые охватывают следующие две части:

  1. Основные навыки разработки Wechat
  2. Пример разработки официальных аккаунтов и мини-программ

Общая продолжительность курса составляет 60 уроков с дополнительными эпизодами.

В настоящее время видео доступны на NetEase Cloud Classroom с хорошо подготовленным контентом и обильными материалами. Курс был выбран в качестве 👩‍🏫 Как разрабатывать с .NET Core

Начиная с версии v0.4.0, MessageHandler добавляет поддержку контекста пользовательского сеанса для решения проблемы невозможности управления пользовательскими сеансами на сервере. Смотрите: Пользовательский контекст WeixinContext и MessageContext.

Текущая ветка включает полную версию .NET Framework 4.6.2+ и код .NET 6.0/7.0/8.0 (снимок версий, которые больше не обновляются, можно найти в релизе).

Демонстрация для .NET Framework находится в каталоге /src/Samples/All/net45-mvc, а рекомендуемая демонстрация для .NET 8.0 (совместимая с .NET 5.0, 6.0, 7.0 и .NET Core 3.1 и более низкими версиями) — в каталоге /Samples/All/net8-mvc.

Обратите внимание: в приведённых выше примерах в примере net8-mvc непосредственно ссылаются на исходный код каждого модуля и могут генерировать библиотеку Senaprc.Weixin SDK, совместимую с различными версиями после компиляции с Release.

↕️ Установка через Nuget в проект

Методы установки Nuget для каждого модуля: Установка SDK в проект с помощью Nuget.

🏬 Руководство по развёртыванию

  1. Развёртывание в Azure App Service Azure App Service — это веб-служба, запущенная Microsoft Azure, которая хорошо поддерживает .NET. Подробные шаги развёртывания приведены в разделе Развертывание сайта Wechat в Azure.

  2. Развёртывание на любом сервере через FTP Установите службу FTP (рекомендуется FileZilla Server) на веб-сервере и напрямую загрузите скомпилированный код с локального компьютера (соответствующий код в образцах Senparc.Weixin.Sample.Net8. После компиляции вы можете использовать его напрямую без изменения кода. Если вы используете Azure App Service или другие облачные сервисы, FTP обычно также включён. Приложения корпоративного аккаунта

  • Получать сообщения и события
  • Отправлять сообщения
  • Пользовательское меню
  • Интерфейс аутентификации личности
  • JSSDK
  • Авторизация в сторонних приложениях
    • Протокол обратного вызова стороннего приложения
      • Отправка события с кодом авторизации
      • Уведомление об изменении адресной книги
  • Вход в корпоративный аккаунт WeChat
  • Платёж через корпоративный аккаунт WeChat
  • Сервис корпоративной сессии
    • Обратный вызов корпоративной сессии
  • Корпоративное встряхивание
  • Сервис корпоративных купонов
    • Push-уведомление о событии купона
  • Служба клиентской поддержки
    • Callback-сообщение ответа службы клиентской поддержки
  • Стратегия кэширования*
  • Интерфейсное расширение стратегии
  • Локальный кэш
  • Пакет расширения Redis
  • Пакет расширения Memcached

Добро пожаловать, разработчики! Вы можете отправлять Pull Requests для незавершённых или дополняемых модулей!

🍴 Важные ветки

Ветвь Описание
master Основная ветка для официальных релизов. Эта ветка обычно более стабильна и может использоваться в производственных средах.
Developer 1. Ветка разработки. Это бета-версия, и новые версии разрабатываются в этой ветке перед отправкой в основную ветку. Если вы хотите узнать о новых функциях, вы можете использовать эту ветку.
2. Эта ветка совместима с версиями .NET 4.5 / .NET Core / .NET Core 2.0 одновременно. Рекомендуется отправлять запросы на вытягивание кода в эту ветку вместо основной.
BookVersion1 Эта ветка является снимком кода книги «Глубокий анализ разработки WeChat: секреты эффективной разработки для официальных аккаунтов и мини-программ» (https://book.weixin.senparc.com/book/link?code=github-homepage2).
DotNET-Core_MySQL Эта ветка — демонстрационная ветка для интеграции фреймворка Pomelo.EntityFrameworkCore.MySql в среде .NET Core.
NET4.0 Ветвь, которая поддерживает только .NET 4.0. Разработка этой ветки была остановлена в 2017 году. Последний код для .NET 4.0 синхронизирован с ветками master / Developer.
NET3.5 Ветвь, поддерживающая только .NET 3.5. Разработка этой ветки была остановлена в 2015 году. Последний код для .NET 3.5 синхронизирован с ветками master / Developer.
Developer-Senparc.SDK Эту ветку использует только команда Senparc для внутреннего тестирования, её можно игнорировать.

🍟 Спасибо участникам

Спасибо разработчикам, которые внесли свой вклад в этот проект. Вы не только улучшили этот проект, но и внесли свой вклад в китайское сообщество открытого исходного кода. Спасибо! Список можно найти здесь (https://github.com/JeffreySu/WeiXinMPSDK/blob/master/Contributors.md).

💰 Пожертвования

Если этот проект полезен для вас, мы приветствуем любые формы пожертвований, включая участие в обновлении кода проекта или предоставление обратной связи. Спасибо!

Пожертвовать:

donate

⭐ Статистика количества звёзд

starcharts stargazers over time

📎 Лицензия

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

``` ГАРАНТИИ ИЛИ УСЛОВИЯ ЛЮБОГО РОДА, 
явные или подразумеваемые. См. Лицензию для конкретного языка, регулирующего разрешения 
и ограничения по Лицензии.

Detail: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-WeiXinMPSDK.git
git@api.gitlife.ru:oschina-mirror/mirrors-WeiXinMPSDK.git
oschina-mirror
mirrors-WeiXinMPSDK
mirrors-WeiXinMPSDK
master