Magicodes.WeiChat
Данный код представляет собой исходники быстрого разработчика для WeChat — фреймворка Magicodes.WeiChat. Его можно использовать для обучения или коммерческого использования. Подпишитесь на официальный аккаунт "magicodes", чтобы получать последние новости и руководства.
Рекомендованный фреймворк (.NET Core): https://gitee.com/magicodes/Magicodes.Admin.Core
Документация по лицензии доступна для скачивания (разница между платной версией и бесплатной заключается в поддержке после продаж):
- Авторское соглашение для Magicodes.WeiChat (высшая версия)
Документация по разработке
Документация по фреймворку Magicodes.WeiChat
Официальный блог
http://www.cnblogs.com/codelove/
Официальный сайт
http://xin-lai.com
Другие открытые библиотеки
https://github.com/xin-lai
Соответствующие группы QQ
Программистская группа <85318032>
Группа для обсуждения продуктов <897857351>
Журнал обновлений
Подробные записи о каждом коммите можно найти здесь: https://gitee.com/xl_wenqiang/Magicodes.WeiChat/commits/develop# Версия 4.8 (2018.09.19)
- Переработана система платежей, теперь она отдельный модуль.
- Выпущен SDK для мини-приложений.
- Переработана система обратных вызовов платежей, теперь она унифицирована и поддерживает логику обратных вызовов как для WeChat, так и для Alipay.
- Поддерживается создание пользовательских меню для мини-приложений.
- Устранены конфликты версий при выполнении.# Версия 4.7 (2018.04.17)
- Устранена ошибка при использовании JSSDK.
- Обновлено SDK до последней версии.
- Поддерживается создание пользовательских меню для мини-приложений.
Версия 4.6 (2018.02.02)
- Добавлена поддержка массовой обработки данных.
- Улучшена производительность синхронизации подписчиков (только для MS SQL).
- Обновлено ko.
- Устранена проблема удаления статьи.
- Обновлено SDK.
- Устранена проблема кликов, вызванная компонентами ko.
Версия 4.5 (2017.12.20)
-
Простое упаковывание событий, используется для динамического отправления шаблонных сообщений.
- Поддерживается триггер события.
- Поддерживается слушатель события.
- Поддерживается обработка действий слушателя (в настоящее время поддерживаются только операции с шаблонными сообщениями).
- Поддерживается передача параметров события (IEventData), где WeChatEventDataBase является базовым классом для параметров событий публичного аккаунта (включает некоторые глобальные функции по умолчанию, чтобы они могли быть вызваны в выражениях).
- В настоящее время поддерживаются выражения, такие как: Receivers="{{0}.WeChatUser.OpenId}", Expression="{"Спасибо за подписку:" + {0}.GetWeChatUserByOpenId({0}.WeChatUser.OpenId).NickName}".
Для более подробного использования см. тест EventTest. В будущем планируется дизайн интерфейса, который позволит динамически настраивать конфигурацию через административную панель.2. На странице конфигураций добавлено уведомление о белых IP-адресах.
-
Добавлен простой CMS, поддерживающий управление разделами и статьями.
-
Интерфейсы загрузки материалов, если достигнут лимит, будут давать явное уведомление UEEditor.
-
Переработана загрузка изображений, теперь загрузка изображений для всех статей не занимает место в материалах.
-
Управление материалами, имя файла теперь отображается с учётом ограничений длины, превышение длины будет заменяться многоточием. # В4.4 (2017.11.24)
-
Настройка платежей автоматически обновляет обратный адрес при открытии.
-
Устранена проблема с ошибками в менеджере меню.
-
Устранена проблема с логированием шаблонных сообщений.
-
Обновлено JSSDK до версии 1.2.0.
-
Обновлено JSSDK для решения проблемы очистки выбора изображений.
-
Устранена проблема с невидимыми изображениями в ответах на сообщения из-за запрета внешних ссылок WeChat.
-
Устранена проблема с невидимыми изображениями при просмотре статей.
-
Улучшено решение проблемы загрузки изображений UEEditor.
-
Добавлена проверка количества символов в статьях публичных аккаунтов (не более 20000 символов).
-
Добавлен CRUD контроллер.
-
Добавлен скрипт форматирования времени.
-
Добавлено уведомление о недостаточном количестве данных в бесконечной прокрутке.
-
Добавлены конфигурация и функциональность пересылки событий сервера.Обновлены данные статистики главной страницы с использованием WeChat SDK
-
Изменение .NET версии на 4.6.1
-
Изменение NuGet пакета Magicodes.WeChat.SDK на Magicodes.WeChat.SDK.Core
-
Обновление до последней версии Magicodes.WeChat.SDK.Core
-
Изменение логики регистрации SDK# В4.3 (2017.03.23)
-
В web.config
добавлены удалённые модули и обработчики WebDAV для предотвращения блокировки запросов HTTP PUT.
-
В _LoginPartial.cshtml
добавлены проверки на наличие арендатора и конфигурации.
-
Устранена проблема отправки групповых сообщений в нужные группы.
-
Устранены ошибки /bundles/jqueryval
.
-
Добавлено предварительное просмотр окна для групповых сообщений, позволяющее вводить учётные записи WeChat или выбирать текущую учётную запись OpenID.
-
Обновлено Magicodes.WeChat.SDK
до версии 1.0.6290.28984.
-
Устранена проблема переполнения имени файла при управлении материалами.# Версия 4.2 (2017.02.21)
-
Устранена проблема инициализации данных меню
-
Устранена проблема отображения значков уведомлений в интерфейсе отправки сообщений
-
Обновлен TypeScript
-
Устранена проблема загрузки меню при отсутствии данных
-
Добавлены перегруженные методы TenantAction в MvcHelper для передачи дополнительных параметров
-
Изменено синхронное управление шаблонными сообщениями
-
Устранена проблема управления несколькими изображениями в менеджере статей
-
Устранены проблемы доступа к некоторым страницам
-
Устранена проблема отсутствия контроллера
Версия 4.1 (2016.11.30)
В этом обновлении содержится множество изменений, поэтому будьте осторожны при обновлении (особенно в части кода управления правами доступа, что может повлиять на вашу расширенную бизнес-логику, поэтому рекомендуется рассмотреть этот вопрос с учётом ваших потребностей)
- Переписана логика обработки пользовательских меню
- Переписана логика загрузки навигационного меню слева
- Обновлены пакеты Magicodes.Echarts, Magicodes.Mvc.AccessFilter, Magicodes.WeChat.SD
- Устранена проблема с загрузкой родительского меню при загрузке меню
- Добавлены фильтры доступа, а также пример записи логов доступа и увеличены возможности контроля прав доступа в административной панели
- Добавлены NuGet-библиотеки Magicodes.Task и Magicodes.Notify для поддержки фоновых задач и внутренних уведомлений, а также отчётов о прогрессе выполнения7. Добавлен
SyncMessagesTemplatesTask
для синхронизации информации шаблонов сообщений
- Добавлен
SyncMKFTask
для синхронизации информации нескольких служб поддержки клиентов
- Добавлен
SyncWeChatUserGroupTask
для синхронизации информации групп подписчиков
- Удалены
SyncHelper
и TaskHelper
- Добавлен
SyncWeChatUsersTask
для реализации логики синхронизации подписчиков
- Добавлен конфигурационный файл
TaskManagerConfig
для настройки логики управления задачами
- В
mwc_business.js
добавлен метод initAllTrCheck
для инициализации чекбоксов контента
- Временно удалены элементы синхронизации конфигурации профиля публичного аккаунта
- Изменена страница входа и добавлен раздел "Картинка дня"
Версия 4.0 (2016.10.31)
- Устранена проблема с проверкой токена в конфигурационной информации интерфейса из-за перехвата фильтром
- Устранена проблема с длиной индекса таблицы ролей пользователей при использовании MySQL
- Устранена проблема, возникающая при изменении информации системного арендатора, которая приводила к невозможности входа в панель управления арендатора
- Улучшены
mwc_elements.js
, mwc_business.js
и wc.js
- Улучшено управление множеством графических материалов для поддержки MySQL
- Создание пользовательского меню заменено на реализацию
Magicodes.WeChat.SDK
для решения проблемы добавления медиа-меню
Версия 4.0 Бета (2016.10.06)## В данном выпуске была значительно переработана архитектура с целью помочь разработчикам сосредоточиться на написании бизнес-логики для WeChat, не заботясь о реализации других библиотек. Это также облегчит будущие обновления продуктов.
- Упаковано множество компонентов и открыты исходные коды (см. открытый репозиторий: https://github.com/xin-lai) и поддерживаются NuGet пакеты (пожалуйста, используйте NuGet для поиска "Magicodes"). В настоящее время основной акцент сделан на следующих компонентах:
- Magicodes.Data [Связанные с данными] (Magicodes.Data.Multitenant — поддержка многопользовательских систем ASP.NET Identity)
- Magicodes.Wechat.SDK [Wechat SDK] (обёртка для Wechat API, поддерживает многопользовательские системы, легковесна)
- Magicodes.Mvc.Filter [Общие фильтры] (Magicodes.Mvc.AccessFilter — фильтр доступа, Magicodes.Mvc.AuditFilter — аудиторский фильтр, Magicodes.Mvc.RoleMenuFilter — фильтр ролей меню)
- Magicodes.Storage [Общая поддержка хранения] (Magicodes.Storage — основная библиотека и интерфейсы, Magicodes.Storage.Local — поддержка локального хранения, скоро будет поддерживаться Alibaba Cloud и Windows Azure)
- Magicodes.Logger [Общая поддержка журналирования] (Magicodes.Logger — основная библиотека, Magicodes.Logger.NLog — реализация через NLog, Magicodes.Logger.DebugLogger — реализация консольного журнала для поддержки юнит-тестов или вывода отладочных журналов)
- Magicodes.Sms [SMS сообщения] (Magicodes.Sms — основная библиотека, Magicodes.Sms.Alidayu — реализация SMS через Alibaba Dàyú)
7.ECharts [Реализация графиков ECharts] (Magicodes.ECharts — основная реализация графиков ECharts, Magicodes.ECharts.Mvc — расширение MVC для ECharts)
2. Поддерживается несколько баз данных, включая SQL Server и MySQL. Для использования MySQL обратитесь к примечаниям в Web.config.
3. Исправлено отображение второго уровня меню после сворачивания главного меню.
4. Исправлена проблема выброса исключения при выборе других материалов после активации службы поддержки клиентов в ответах на ключевые слова.
5. Удалены внешние ключи из таблиц логов шаблонных сообщений и подписчиков для обеспечения независимости процесса синхронизации подписчиков.
6. API платежей был перепакован; подробное описание использования и примеры будут предоставлены в виде руководства.
7. Удалены большинство компонентов из решения, каждый из которых был перестроен: графики были перестроены с использованием Magicodes.ECharts, журналы заменены на Magicodes.Logger, хранилище обновлено до Magicodes.Storage, данные и SDK соответственно используются Magicodes.Data.Multitenant и Magicodes.Wechat.SDK.
8. Обновлены шаблоны T4, исправлены некоторые логики генерации.
9. Изменено оформление шрифтов и стилей в административной панели, изменён темплейт ECharts.
10. Перестроены некоторые модели данных для более удобного чтения и понимания.
11. Добавлено аудита логов, страницы для просмотра доступа, а также логика генерации меню ролей и конфигурация. Основной код зависит от Magicodes.Mvc.Filter.12. Удалена поддержка пакетной обработки для других типов баз данных, таких как MySQL. # V3.9 (2016.07.27)
1. Совместимость синхронизации подписчиков с VS2013
2. Обновление шаблонов T4-фреймворка
3. Устранение ошибки при удалении или редактировании текста во время работы с умной реакцией
4. Поддержка управления версиями в пользовательских меню
5. Дополнение API меню
6. Включение knockout-sortable для возможности перетаскивания пользовательских меню WeChat
7. Устранение проблемы отображения изображений при выборе изображения в пользовательском меню
8. Изменение стилей загрузочного плагина и размера диалогового окна загрузки файла, а также замена сообщений загрузки
9. Добавление управления меню сайта, ролевого меню и автоматической инициализации данных меню
10. Добавление компонента выбора значков
11. Устранение ошибки при удалении медиафайлов
12. Устранение проблем с шаблонами T4
13. Устранение ошибки массовых операций в mwc_business.js
14. Поддержка загрузки меню по роли, поддержка множества ролей для пользователя
15. Поддержка добавления номера шаблона из библиотеки шаблонов при редактировании шаблонного сообщения
16. Устранение ошибки невозможности конфигурации подключения к службе поддержки
17. Добавление StopwatchAttribute для проверки производительности контроллера
18. Добавление WeiChatApiCallbackFuncArgInfo
19. Устранение проблем с детальной информацией членов арендатора
20.Устранение ошибки отображения изображений после редактирования статьи в публичном аккаунте
21. Создание SiteResourceHelper и улучшение кода загрузки UEEditor для поддержки связи с материалами изображений WeChat
22. Устранение ошибки переключения URL в пользовательском меню
23. Добавление JSONModelBinder для поддержки привязки модели данных в формате JSON
24. Добавление метода Url.TenantAction для удобного создания ссылок арендатора
25. Добавление базового кода менеджера настроек
26. Изменение конфигурации Bundle JSTree для решения проблемы загрузки стилей в режиме Release
27. Добавление параметра inputValue в mwc.message.prompt для установки значения по умолчанию поля ввода
28. Изменение mwc.restApi для поддержки определения состояния success и Success
29. Добавление SettingManager (менеджер настроек)
30. Изменение mwc_business.js для добавления функции initFormControls для инициализации элементов управления типа чисел, процентов, переключателей, дат и времени
31. Улучшение логики обработки ключевых слов и добавление связанных условий проверки
32. Добавление поддержки обратного вызова функции mwc.bs.batchOperationInitParams для установки глобальных параметров по умолчанию, а также передачи параметров через data-param для динамического изменения параметров
33. Устранение ошибки добавления подписчиков в группу
34.Добавление универсального компонента предупреждений и сообщений в AppBase для использования разработчиками для отображения предупреждений. Примеры страниц демонстрационного приложения App Demo включают страницы предупреждений об ошибках, предупреждений и информации.
35. В режиме отладки активируется ShowDetailExceptionFilter для вывода подробной информации об ошибках. Кроме того, ShowDetailExceptionFilter был расширен для вывода информации об ошибке DbEntityValidationException.36. Добавлено отображение страницы с сообщением об ошибке WeChat. При возникновении ошибки на странице WeChat будет отображаться стандартное окно с сообщением об ошибке и дружественной информацией. Предварительное условие — контроллер должен наследовать AppBaseController.
-
Основные классы данных были разделены на WeiChat_AdminBase и WeiChat_WeChatBase. WeiChat_AdminBase используется как базовый класс для моделей backend, а WeiChat_WeChatBase — как базовый класс для моделей WeChat.
-
Добавлена поддержка счетчика производительности API (ApiStopwatchAttribute).
-
Регистрация фильтра异常筛选器(WebApiExceptionFilter), чтобы улучшить дружественные сообщения об ошибках WEB API и записывать детали ошибок.40. Добавлен AppApiController как базовый класс для WebAPI бизнес-логики WeChat. # В3.8 (2016.05.29)
-
Добавлены API для работы с图文 сообщениями
-
Улучшена система кэширования, добавлена возможность управления сроками годности и функции очистки кэша арендаторов
-
Добавлены расширения EF для пакетной операции и оптимизация производительности, что повысило скорость выполнения пакетных операций на 90 %. В настоящий момент поддерживаются только пакетные вставки, удаления и изменения (из-за проблем совместимости). Для получения более точной информации обратитесь к результатам юнит-тестирования.
-
Переработана и оптимизирована логика синхронизации подписчиков для поддержки большого количества подписчиков (миллионного уровня) (параллелизация задач + механизм повторных попыток при возникновении ошибок + обработка истечения срока действия AccessToken + оптимизация пакетных вставок EF + оптимизация обработки генерических коллекций). Производительность синхронизации миллионов подписчиков была увеличена с шести часов до нескольких минут.
-
Добавлен механизм автоматического обновления AccessToken при истечении срока его действия (поддерживается только для интерфейсов SDK фреймворка)
-
Исправлен баг, связанный с удалением меток (в связи с проблемой совместимости расширений EF)
7.На главной странице добавлено тестирование производительности для предотвращения чрезмерного использования вычислительных мощностей SQL при открытии главной страницы пользователями с большим количеством подписчиков.
8. Решены проблемы неправильного отображения данных подписчиков при подписке на несколько публичных аккаунтов разных арендаторов одним пользователем. Фреймворк теперь поддерживает корректное получение данных подписчиков при подписке на несколько публичных аккаунтов одного арендатора, находящихся под одной доменной зоной.
9. Представлены следующие демо-страницы WeChat, подробное описание доступно в документации разработчика или официальном блоге:
- Мысли (построение слайдера изображений, загрузка фотографий, просмотр фотографий, водопад, запаздывание загрузки изображений, получение данных через WebAPI, привязка элементов страницы)
- Версия продукта (TimeLine)
- Центр подписчиков (WeChatOAuth)
В3.7 (2016.05.06)
1. Добавлен метод синхронизации шаблонных сообщений.
2. Изменён SyncHelper, теперь используется фильтр арендатора.
3. В TemplateMessageApi добавлены методы AddTemplate и Get.
4. Улучшена логика синхронизации.
5. В WeiChat_MessagesTemplate добавлена поле ShortNo (идентификатор шаблона в библиотеке шаблонов).
6. Изменена логика добавления шаблонных сообщений. Теперь достаточно указать ShortNo (идентификатор шаблона в библиотеке шаблонов).В TemplateMessageApi добавлен метод Delete
8. Исправлен баг при удалении члена группы арендатора
9. Исправлен баг при удалении системного члена группы арендатора, когда существует несколько системных членов группы арендатора
10. Добавлен входной URL для онлайн-поддержки
11. Исправлен баг при привязке администратора WeChat к члену группы арендатора
12. Исправлен баг при отображении членов группы арендатора без учёта фильтра арендатора
13. Исправлены проблемы управления членами группы арендатора
14. Добавлено управление ролями и членами ролей
15. Исправлен баг при редактировании ответа на ключевые слова в некоторых браузерах
16. Удалены некоторые ненужные директории
17. Добавлен универсальный скрипт бизнес-логики mwc_business.js для административной панели, подробное описание доступно на моём блоге
18. Добавлен фильтр AntiXssAttribute для защиты от атак XSS
19. Исправлен баг в функции uploads в wc_wechat.js (обёртка JSSDK) для многоконтентной загрузки
20. Добавлена статистика местоположения для записи местоположения пользователя
21. Улучшен WeChatOAuth, изменено имя по умолчанию для cookie ASP.NET Identity
22. При отписке обновляется состояние подписки фаната
23. При добавлении конфигурационной информации обеспечивается синхронизация связанных элементов выбора
24.Добавлена конфигурация типа публичного аккаунта (верифицированный аккаунт подписки, верифицированный сервисный аккаунт, тестовый аккаунт, корпоративный аккаунт)
25. Добавлен TenantBaseApiController<TEntry>, поддерживающий многоарендаторскую фильтрацию для WebAPI
26. Поддержка возврата NULL для запросов событий сервера WeChat, чтобы избежать ошибочных сообщений
27. Добавлен и улучшен компонент tag-list, оптимизирован опыт использования, добавлены возможности удаления, применены ко всем материалам
28. Временно удалена поддержка Thumb
29. Добавлен API код состояния: тестовый аккаунт не поддерживает этот интерфейс = gst_40102
30. Удалена запись журналов ошибок для управляемого кода
31. Добавлен интерфейс ITenant
32. Добавлен тип CustomerService для ответа на ключевые слова, поддерживающий триггер ответа службы поддержки
33. Добавлен класс IdentityExtension и метод GetTenantInfo
34. Добавлен скрипт LoadingButton
35. Изменён content-choice.js для поддержки типа CustomService
36. На верхней части страницы добавлены данные, такие как название арендатора, номер публичного аккаунта WeChat
37. mwc_business.js поддерживает кнопку LoadingButton
38. В интерфейсе шаблонных сообщений добавлена возможность полной синхронизации
39. Добавлены и улучшены TenantBaseApiController и WebApiControllerBase
40. Изменён mwc_element. Поддержка состояния кода 409 (конфликт данных)
41. Изменение mwc.js и mwc_element.js, добавление функции mwc.message.prompt для поддержки отображения поля ввода
42.Поддержка триггеров событий меню для ключевых слов
43. Уведомление о удалении废弃的代码和视图部分
44. Исправление ситуации с недисплейом из-за блокировки внешних ссылок на некоторых страницах # В3. 6 (2016. 04. 05)
- Добавлена возможность переадресации сообщений с использованием ключевых слов "сервис поддержки".
- Добавлен wc.js, который предоставляет часто используемые операции UI. Подробное описание будет представлено в последующих документах и блогах.
- Добавлен компонент tenanturl-input, поддерживающий автоматическое добавление параметров арендатора в URL-контроллер. В будущем будут добавлены дополнительные функции.
- Удалены WXFramework.js и WXWebApp.Core.js.
- Исправлены проблемы совместимости браузера при ответе на ключевые слова и подписке.
- Добавлен пример WebApi, подробный код можно найти в Src/Magicodes.WeiChat/Controllers/WebApi/DemoController.cs.
- Исправлены проблемы с префиксами изображений внутри статей.
- Исправлены логические ошибки инициализации меток, что могло привести к ошибкам управления материалами.
- Добавлен Roadmap файл, подробное содержание доступно в "Magicodes.WeiChat/Documents/RoadMap.xlsx".
- Полностью исправлены проблемы совместимости браузера при вложении a-тегов внутрь button-тегов.
- Добавлена конфигурация для случаев, когда невозможно дать ответ.
- Исправлены логические ошибки ответа на ключевые слова, что могло привести к отсутствию изоляции данных между арендаторами.
13.Исправлены логические ошибки создания ключевых слов, вызывающие проблемы уникального индекса для разных арендаторов.
- Добавлен TenantManager для активации фильтров многопользовательской системы.
- Изменён MessageHandler, перестроен раздел поддержки арендаторов.
- Добавлен AppDemoController для предоставления демонстрационных примеров.
- Добавлен WeChatOAuthTestDemo для демонстрации получения информации пользователя через страницу авторизации. Подробное описание доступно на сайте (http://www.cnblogs.com/codelove/p/5355514.html).
- Добавлен _JWeixinConfig.cshtml, который предоставляет логику конфигурации JSSDK (подробное описание будет предоставлено в последующих документах).
- Добавлен wc_wechat.js, который предоставляет часто используемые операции JSSDK (подробное описание будет предоставлено в последующих документах).
- Добавлен _GetLocation.cshtml, который предоставляет логику получения координат и детальной информации местоположения с помощью API Baidu (подробное описание будет предоставлено в последующих документах).# Версия 3.5 (2016.03.22)
- Исправлены проблемы NuGet пакета.
- Изменено синхронное логическое управление.
- Исправлены проблемы KnockoutJS скриптов после установки для некоторых пользователей.
- Исправлены проблемы управления аккаунтами многофункциональной службы поддержки.
- Улучшено управление аккаунтами многофункциональной службы поддержки и добавлены единичные тесты.
- Добавлен метод расширения MD5 шифрования.
- Добавлена возможность обновления информации пользователя при подписке.
- Удалена логика добавления новых пользователей в WeChatOAuth функции.
- В журнале событий подписки и ответа на ключевые слова добавлены поля OpenId, Original Id, Message Id, Event Key.
- В системе управления арендаторами добавлены дополнительные контролирующие права.
- В интерфейсе управления публичными аккаунтами добавлен вход в системный интерфейс.
- Журналы событий подписки и ответа на ключевые слова теперь отображаются в порядке новизны.
- Исправлены проблемы многофункциональной службы поддержки.
- В базовом контролере добавлено поле HasConfigWeChat (есть ли конфигурация для WeChat).
- Оптимизирована логика перехода на главную страницу управления публичными аккаунтами при отсутствии конфигурации.
- Исправлены проблемы загрузки content-choice.js. # Версия 3.4
- Устранение проблемы выхода системного администратораУлучшение функциональности управления другими арендаторами системным арендатором
- Добавление метода кэширования по арендуемому пространству в управлении кэшем
- Улучшение механизма получения ID арендатора
- Улучшение журналирования шаблонных сообщений
- Улучшение механизмов проверки системы управления арендаторами
- Настройка AppSecret как парольного поля для повышения безопасности
- Добавление конфигурации страниц JSSDK
- Изменение логотипа
- Устранение проблем с отсутствием ссылок, вызванных изменениями структуры каталогов# В3.3
- Добавлено функциональное привязывание администратора WeChat
- Переработана генерация QR-кодов и добавлены цели использования QR-кодов
- Оптимизирован restApi.post
- Оптимизирован WeiChatConfigManager
- Добавлено тестирование QRCodeApi
- Переработана структура и организованное переопределение каталогов
- Добавлена функция экспорта CSV для управления подписчиками
- Добавлены CsvFileResult для экспорта CSV и CsvHelper для чтения и записи CSV. Подробнее на сайте: http://www.cnblogs.com/codelove/p/5253634.html
- Добавлен проект Magicodes.WeiChat.ComponentModel для определения общих характеристик
- Изменено List.cs.T4 и HTML кнопка просмотра
- Удалены связанные файлы при удалении материалов
- Устранена проблема просмотра журнала ответов на ключевые слова. Удалена кнопка создания
- Добавлена проверка домашней страницы, которая перенаправляет на страницу конфигурации, если нет информации о публичном аккаунте
- Добавлены некоторые часто используемые расширения методов
- Добавлена функция ответа при подписке
- Добавлен компонент content-choice-button для выбора типа контента
- Добавлена функция предварительного просмотра при редактировании ответов на ключевые слова, зависящая от компонента content-choice-button
- Переработан Framework для перезагрузки API получения пользовательских меню, подробнее на сайте: http://www.cnblogs.com/codelove/p/5236488.html# В3.2
- Устранение ошибки при отправке данных
mwc.restApi.post
в mwc_element.js
- Устранение проблем со стилем страницы входа
- Добавление
MenuApi
в Magicodes.WeiChat.Framework
и реализация метода Get
. Подробности доступны на сайте и в документах.# В3. 1
- Экстренная коррекция проблемы, связанной с удалением Unity директории в проекте Magicodes.WeChat# V3. 0 (многопользовательская система)
- Добавлен проект Magicodes.WeChat.Data.Multitenant для полной поддержки многопользовательской системы (на основе EF и ASP.NET Identity).
- Включены возможности управления пользователями, членами группы, изменения пароля, конфигурации публичного аккаунта и других функций.
- Добавлена возможность ответа ключевыми словами с поддержкой отправки изображений, текста, голосовых сообщений, видео и множества текстовых материалов. Также включено увеличение изображений, голосовых сообщений и видео при просмотре.
- Добавлен базовый контроллер TenantBaseController для автоматической регистрации фильтров пользователей и установки связанных конфигураций.
- Добавлен интерфейс IDeleted для последующего использования мягкого удаления.
- Добавлен EnumHelper, который позволяет получить отображаемое значение для значений перечисления через GetDisplayName.
- Добавлен EntityFramework.DynamicFilters: https://github.com/jcachat/EntityFramework.DynamicFilters, включены фильтры данных для многопользовательской системы AppEntryFilter и фильтр мягкого удаления IsDeleted.
- Улучшена конфигурация менеджера WeChat с добавлением функциональности внедрения функций. Удалены зависимости Magicodes.WeChat.Framework от Magicodes.WeChat.Data и доступ к базе данных для шаблонных сообщений, заменены на функциональность внедрения функций.
9.Добавлена поддержка многопользовательской системы для управления подписчиками, группами пользователей и шаблонными сообщениями.
- Добавлен журнал обработки ключевых слов.
- Добавлена поддержка многопользовательской системы для передачи событий сервера WeChat. При ошибке проверки события сервером WeChat будет записана в журнал ошибок. Улучшена сохраняемость конфигурации WeChat.
- Добавлен журнал записи автоперезапросов.
- Добавлено форматирование JSON-даты и времени.
- Добавлен метод
IsSelectedUrl
в расширении HTMLHelperExtensions
для лучшей совместимости путей.
- Добавлен менеджер ресурсов сайта для управления звуковыми файлами, видео, изображениями, статьями и множеством текстовых материалов внутри сайта и публичного аккаунта.
- Улучшена проверка успеха запроса REST API.
- Улучшена обработка ошибок при использовании DELETE запроса
mwc.restApi
с JSON данными.
- Добавлена возможность удаления ресурсов сайта.
- При несоответствии ключевых слов добавлена возможность возврата списка ключевых слов. Также улучшена обработка ключевых слов.
- Переработана логика отправки сообщений с добавлением возможности отправки видео.
- Улучшен JavaScript
mwc.js
для функций модальных окон, чтобы они были более удобны при работе с несколькими уровнями окон.
- Добавлена возможность выбора различных типов ресурсов.
- Переработаны пользовательские кнопки.Поддерживается редактирование, деактивация и передача типа. Также улучшена высота пользовательских кнопок.
- Исправлена ошибка управления подписчиками из-за изменения типа пола на перечисление.
- Исправлена ошибка добавления множества текстовых материалов при управлении текстовыми материалами.
- Исправлена ошибка просмотра шаблонных сообщений.
- Исправлена ошибка полной синхронизации подписчиков.
- Определён класс исключения ApiArgumentException для выброса при некорректных входных параметрах.
- Добавлено ограничение в метод получения информации о группе подписчиков — не более 100 записей за один запрос.
- Добавлен XmlModelBinder для удобства привязки моделей MVC.
- Устранены проблемы с поддержкой многочисленных QR-кодов для разных арендаторов.
- Переписан процесс синхронизации нескольких аккаунтов службы поддержки клиентов.
- Устранена ошибка при отсутствии данных меню.
- Добавлен фильтр для подробного отображения ошибок для улучшения отладки.
- При отсутствии данных шаблона в сообщении-шаблоне выбрасывается предупреждающее исключение.
- Добавлен модуль для получения географических координат через карты Baidu.
- Устранены проблемы с поиском множества графических материалов.
- Изменён стиль пагинации для решения проблем нажатия кнопок в некоторых браузерах.
- Удалена директория Unity из корневого сайта. # В2.5
1.Удалена поддержка части синтаксиса C# 5.0 и废弃的代码
1. Обновлен Senparc.Weixin до последней версии и исправлена проблема с недоступностью media_id
и SingleViewLimited
в интерфейсе управления custom menu #V2.4
2. Добавлена система управления кэшем, подробнее в документации для разработчиков
3. Добавлена обработка ошибок, подробнее в документации для разработчиков
4. На главной странице добавлены метрики для системы управления кэшем и обработки ошибок
5. Упакованы несколько API-интерфейсов
6. Исправлена проблема отображения меню при большом количестве пунктов
7. Добавлены юнит-тесты для связанных с API методов
8. Добавлены кнопка и ссылка для просмотра участников
9. Добавлено представление таблицы для управления подписчиками, поддерживающее изменения групп подписчиков и установку примечаний
10. Изменено меню
11. В базовый класс результатов API добавлен метод GetFriendlyMessage
для получения текста дружелюбного сообщения
12. Добавлено условие проверки удаления группы подписчиков
13. Добавлен слой Unity, включая WebRequestHelper
и WeChatApiWebRequestHelper
, переопределены методы GET
и POST
в ApiBase
14. Удалён MenuLink
из MenusApi
15. SafeReturnHelper
и ThreadSafeLazyBaseSingleton
перемещены в Magicodes.WeiChat.Unity
16. Исправлено сериализация WebApi из-за атрибута [Serializable]
, подробнее см.: http://stackoverflow.com/questions/12334382/net-webapi-serialization-k-backingfield-nastiness
17. Переопределен контроллер MenusApiController
для исправления проблемы с отправкой PUT запросов через mwc.restApi
Обновлен пользовательский интерфейс для настройки меню, использует объект mwc.restApi
вместо старого кода
18. Исправлено использование атрибута Serializable
для AjaxResponse<TResult>
, подробнее см.: http://stackoverflow.com/questions/12334382/net-webapi-serialization-k-backingfield-nastiness
19. Изменен метод Get(int pageIndex = 1, int pageSize = 6)
в NewsApiController
для поддержки пагинации
20. Улучшена обработка ошибок в методе Get
контроллера MenusApiController
21. Обновлен компонент news-choice.js
, заменены AJAX-запросы на mwc.restApi
22. Удалён AccessToken
из WeiXinHelper
, теперь используется WeiChatConfigManager.Current.AccessToken
23. Метод GetJSSDKConfigInfo
перемещён в WeiChatConfigManager
24. Класс DateTimeExtend
перемещён в Magicodes.WeiChat.Unity.WeChat
25. Изменен метод SyncUsers
для использования батч-запросов, что значительно увеличивает производительность; SDK-интерфейсы обновлены до WeiChatApisContext.Current.UserApi.Get
и WeiChatApisContext.Current.UserApi.GetOpenIdList
26. Добавлены цветные и стилизованные сообщения об ошибках при работе с клиентской информацией
27. Добавлен модуль управления файлами WeiChatFilesManager
, удалены зависимости Magicodes.WeiChat.Framework
от Magicodes.WeiChat.Infrastructure
, проведена рефакторизация частично реализованных классов
28. Добавлен SUI-Mobile для ускорения разработки страниц для WeChat (подробности будут представлены в будущих документах)
29. Удалён WeixinTasks
, все конфигурации перемещены в WeiChatConfigManager
30. Добавлен библиотека Magicodes.WeiChat.WeChatHelper
для упаковки сложных бизнес-процессов WeChatДобавлен TaskManager для управления задачами, текущий список синхронизационных задач перемещён в этот модуль, дальнейшая работа будет направлена на его расширение и глубокую интеграцию # В2.3
- Настройка шаблонных сообщений теперь доступна через административный интерфейс. Внутри Framework реализованы методы массовой отправки шаблонных сообщений и логирования отправок. Подробнее см. документацию.
- Добавлены плагины Bootstrap Colorpicker, X-editable и Select2. Также исправлена проблема с совместимостью Select2 и X-editable.
- Начата работа над рефакторингом конфигурационного менеджмента с поддержкой многочисленных арендаторов.
- Начата разработка обёртки UI-фреймворка WeChat.
- В бэкенд-фреймворк JavaScript добавлена поддержка окон. Подробности см.
mwc.window
.# В2.2
- Документация была преобразована в Word-формат для удобства просмотра и чтения. Подробности см. документ "Magicodes.WeiChat框架说明文档.docx" в пакете исходного кода.
- Исправлена проблема получения информации пользователя при использовании WeChatOAuthAttribute для ссылок, разделённых другими пользователями.
- В логи добавлено поле Identify.
В2.1
- Обновлен AppUser для добавления описательной информации.
- В BaseController добавлены UserId и UserName для более удобного получения данных пользователя.
- Устранено перекрытие уведомлений.
- Исправлены ошибки при ссылках на компонент JSON.NET.
- Временно удалены возможности управления ответами по ключевым словам для последующего рефакторинга и расширения функциональности.# Версия 2.0
- Создан передний конечный интерфейс для административного интерфейса (подробное описание будет добавлено в будущих версиях документации).
- Рефакторинг модуля пользовательских кнопок, поддерживающий 10 типов кнопок. Подробности см. http://www.cnblogs.com/codelove/p/4838766.html.
- Исправлены проблемы с загрузкой файлов .woff и .woff2 на сервер.
- Исправлены проблемы с загрузкой некоторых JS-файлов в режимах Bundle Release.
- Добавлена возможность работы с облачными журналами. Подробности см. "Magicodes.WeiChat——Использование CloudLog для создания каналов облачных журналов". http://www.cnblogs.com/codelove/p/4858771.html.
- Добавлен AjaxResponse.
- Улучшена базовая архитектура кода (поддерживает создание, удаление, просмотр, редактирование, пагинацию, поиск, подтверждение удаления, массовое действие, массовое удаление, поддержку датовых контроллеров, несколько первичных ключей) и т.д., подробности см. http://www.cnblogs.com/codelove/p/4877491.html.
- Удалены некоторые старые части кода и файлы.
- Рефакторинг пагинации и добавление представления пагинации [__BootStrapPager].
- Логирование всех исключений для упрощения отслеживания ошибок.
- Рефакторинг управления подписчиками для лучшей эстетики и отображения аватаров подписчиков.
- Поддержка нескольких контроллеров в навигационном меню, подробности см. HtmlHelperExtensions.IsSelectedController.
- Поддержка настройки токена.
- Управление QR-кодами (QR-коды сценариев).
- Управление текстовыми ответами по ключевым словам.# Версия 1.81
Были внесены несколько изменений в Magicodes.WeiChat.Infrastructure.
- Добавлены несколько фильтров, таких как DenyInternalRequestAttribute и WeChatOAuthAttribute, подробнее см. Magicodes.WeiChat.Infrastructure.MvcExtension.
- Введен WeiChatApplicationContext для удобства получения информации о WeChat, подробнее см. Magicodes.WeiChat.Infrastructure.WeiChatApplicationContext.
- Улучшена конфигурация Identity, подробнее см. Magicodes.WeiChat.Infrastructure.Identity.
Версия 1.7
- Добавлен пример получения информации пользователя WeChat через OAuth и общее решение для этого, подробнее см. раздел "Получение информации пользователя WeChat через OAuth" в документации разработчика.
- Добавлена кэшировка AccessToken.
- Поддержка JS-интерфейсов WeChat, дальнейшая работа будет направлена на их упаковку.
- Английские сообщения об ошибках входа заменены на китайские.
Версия 1.6
- В интерфейсе создания многостраничных материалов добавлен редактор с богатым форматированием.
- JSON.NET используется вместо JavaScriptSerializer ASP.NET MVC, подробнее см. JsonNetResult.
- Устранена проблема отображения множества графических материалов из-за занятости сервера при скачивании изображений.
Версия 1.5
- Только в режиме отладки DEBUG будут выводиться логи сессий.
- Magicodes.WeiChat.Data был преобразован в слой данных, что позволило провести множество улучшений.
- Добавлена таблица ключевых слов.
- Добавлена возможность автоматического ответа на ключевые слова.
- Поддержка Visual Studio 2015.# Версия 1.4
- Исправлена проблема изменения пароля сотрудниками.
- На странице ошибок (релизный режим) добавлены сообщения об ошибках.
- Из управления материалами изображений удален кнопочный метод загрузки, теперь можно просто перетаскивать файлы.
- Улучшен процесс загрузки материала изображений.
- Добавлена возможность удаления изображений.
- Добавлена возможность удаления графических материалов.
- Улучшен выбор и загрузка изображений для графических материалов.
- Улучшен процесс загрузки аудио-сообщений и его отображение.
- Увеличен тайм-аут загрузки ресурсов до двух минут.
- Улучшен процесс отправки аудио-сообщений.
- Улучшены сообщения о завершении отправки сообщений.
- Улучшен процесс отправки сообщений и сообщения о завершении.
- Активирована автоматическая восстановление NuGet пакетов.
Версия 1.31. Добавлена система обработки сообщений (текстовые сообщения, изображения, аудио, видео, короткие видеоролики, географическое положение, ссылки).
-
Пример использования шаблонных сообщений.
-
Добавлена система обработки событий (подписка/отписка, сканирование QR-кода с параметрами, отчёт о геопозиции, события меню).
-
Добавлен инструмент регистрации ошибок, администратор может просмотреть журналы ошибок по адресу /ServerErrors.
-
Добавлен компонент журналирования (NLog).
-
Добавлены обработчики ошибок 404 (/NotFoundError) и 500 (/Error). Активируются только в режиме релиза.# Версия 1.2
-
При сохранении пользовательских меню добавлена информация о состоянии, а также улучшен процесс взаимодействия.
-
Добавлена функциональность "Управление подписчиками".
Версия 1.1
- Добавлено исключение "Пожалуйста, настройте AppId и AppSecret в web.config!".
- Исправлена ошибка при открытии главной страницы при отсутствии данных.
Версия 1.01. SDK WeChat
- Быстрое развитие с помощью шаблона WeChat
- Отчеты главной страницы
- Кастомизация меню
- Управление материалами (изображения, аудио, многообразные图文)
- Распределение сообщений (изображения, аудио, многообразные图文)
- Управление службой поддержки клиентов
- Управление администраторами
Комментарии ( 0 )