Плагин: vk-unicloud-router
Автор: VK
Если вы любите программировать и хотите быстро начать работу с облачными разработками, мы рады предложить вам серию фреймворков vk-unicloud. Вам не нужно менять свои привычки в разработке, и вы можете легко начать работать с облачной разработкой.
Фреймворк содержит множество встроенных API и инструментов, которые помогут вам преодолеть препятствия для вашего бизнеса. Ваш проект будет готов на 50% сразу после начала работы (включая вход через WeChat, отправку SMS, проверку подлинности, кэширование, генерацию кода для мини-программ и т. д.).
Теперь у вас есть новый навык — просто используйте JavaScript, чтобы легко справиться с задачами как для клиентской, так и для серверной части.
Полный адрес проекта фреймворка:
Документация по клиентской части: нажмите здесь.
Документация по серверной части: нажмите здесь.
Реализация режима маршрутизации облачных функций (также поддерживает маршрутизацию облачных объектов).
Реализация глобального фильтра, который фильтрует незаконные запросы. Разработчикам не нужно заботиться о проблемах с разрешениями пользователей.
Множество готовых JS API, избавляющих от необходимости создавать собственные решения.
Множество готовых API облачных функций, помогающих в решении бизнес-задач и освобождающих разработчиков от необходимости создания собственных решений (вход через WeChat, отправка SMS, проверка подлинности, кэширование, создание кода для мини-программы и т.д.).
Полная поддержка URL-адресации запросов облачных функций, разработчикам не нужно беспокоиться о получении параметров после URL-адресации.
Интеграция с uni-id версии 3.3.28 (уже поддерживается отправка электронных писем и SMS-сообщений с проверкой подлинности).
Расширение до vk.userCenter на основе uni-id, предоставляющее доступ к API пользовательского центра через this.vk.userCenter (см. документацию).
Объединение uni.callFunction и uni.request в одно целое, доступное через this.vk.callFunction.
vk.baseDao — API базы данных, позволяющий даже новичкам легко обращаться к базе данных (см. документацию).
vk.baseDao.selects — универсальный API для выбора данных из нескольких таблиц (см. документацию).
Компонент выбора SKU для товаров (создание наиболее полного компонента выбора SKU для плагинов uniMarket) (см. документацию).
Глубокая интеграция с Vuex (поддерживает постоянство), теперь можно легко использовать Vuex для чтения и сохранения данных (см. документацию).
Пользовательские фильтры (перед или после выполнения облачных функций можно установить несколько фильтров и выполнить их в указанном порядке) (см. документацию).
Настройка страниц, требующих входа в систему, или страниц, не требующих входа (на основе локального токена, без сетевых запросов, поддерживает подстановочные знаки) (см. документацию).
Настройка доступных для совместного использования страниц или запрещённых для совместного использования страниц (поддержка подстановочных знаков) (см. документацию).
vk.localStorage — инкапсуляция локального кэша, включая мониторинг обновлений и удаления кэша (см. документацию).
Улучшенное форматирование журналов запросов облачных функций для более чётких журналов запросов.
Возможность принудительно закрыть облачный сервис (подходит для ситуаций, когда необходимо временно закрыть бэкэнд-сервис, например, при миграции данных из Tencent Cloud в Alibaba Cloud, необходимо сначала закрыть сервис, иначе новые данные будут созданы во время миграции).
Глобальный API кеширования данных, теперь можно легко использовать кеширование в облачных функциях (см. документацию).
URL-переписывание облачных функций — первое место в мире (см. документацию).
Тысячи участников группы обмениваются опытом разработки, помогая избежать ошибок и получая поддержку от автора в группе, позволяя легко приступить к работе с uniCloud облачными функциями.
Адрес для ознакомления с некоторыми функциями API:
Откройте каталог uniCloud/cloudfunctions. Промежуточное ПО — # промежуточный слой (фильтры, перехватчики) | └── node_modules — # npm-пакет | └── service — # логический слой (для написания бизнес-логики) | ── └── логическая структура каталогов слоя представлена ниже | ── util — # пакет утилит | ├── pubFunction.js — # пакет общих функций | └── smsUtil.js — # глобальный фильтр | ├── config.js — # функция инициализации конфигурации входа | └── index.js — # входная функция | └── package.json — # файл конфигурации сторонних зависимостей (автоматически генерируется при использовании npm) └─└── package-lock.json — # файл конфигурации сторонних зависимостей (автоматически генерируется при использовании npm)
router/service
является логическим слоем.
├── router-test — # функции маршрутизации (среда тестирования разработки)
│ └── ... — # ...
│ └── ... — # ...
└── └── ... — # ...
router/service
каталог является логическим слоем..
├── service — # логический слой (используется для написания бизнес-логики)
│ └── admin — # логика бэкэнда (разработка фреймворка admin...)
│ ├── xxxxxxxxxxxxxxx — #
│ ├── xxxxxxxxxxxxxxx — #
│ ├── xxxxxxxxxxxxxxx — #
│ └── xxxxxxxxxxxxxxx — #
│ ├── client — # клиентская логика (H5, мини-программа, приложение)
│ ├── user — # сервис пользователя (собственная система логики)
│ ├── kh — # kh-функции доступны только после входа в систему
│ └── pub — # pub-функции доступны всем без ограничений
│ └── util — # набор инструментов, специфичных для пользовательского сервиса
│ ├── order — # служба заказа (собственная системная логика)
│ ├── kh — # kh-функции доступны только после входа в систему
│ └── pub — # pub-функции доступны всем без ограничений
│ └── util — # набор инструментов, специфичных для службы заказов
│ ├── xxxxxxxxxxxxxxxx — #
│ ├── xxxxxxxxxxxxxxxx — #
│ └── common — # общая логика (общий интерфейс)
│ ├── xxxxxxxxxxxxxxxx — #
│ └── xxxxxxxxxxxxxxxx — #
│ └── xxxxxxxxxxxxxxxx — #
│ └── user — # единый центр обслуживания пользователей (уже интегрирован uniID) (центр пользователей является основным и для удобства обновления плагинов, поэтому он находится на одном уровне с admin и client)
│ ├── kh — # kh-функции доступны только после входа в систему (клиентские пользователи)
│ ├── pub — # pub-функции доступны всем без ограничений
│ └── sys — # sys-функции доступны только администраторам бэкэнда (сотрудники бэкэнда компании)
│ └── util — # набор инструментов, специфичных для единого центра обслуживания пользователей
│ └── plugs — # логика плагина (плагин) (будет постепенно добавляться несколько полезных плагинов для разработчиков, таких как отправка сообщений подписки через мини-программу WeChat и т. д.)
│ ├── plugs-A — # плагин A
│ │ ├── admin — # админ-панель плагина A
│ │ └── client — # клиентский интерфейс плагина A
│ ├── plugs-B — # плагин B
│ │ ├── admin — # админ-панель плагина B
│ │ └── client — # клиентский интерфейс плагина B
│ └── template — # облачная функция шаблона (шаблон написания облачной функции в плагине)
│ ├── db_api — # шаблон вызова интерфейса базы данных
│ └── muban.js — # шаблон облачной функции (создайте новую облачную функцию, скопируйте и вставьте этот файл)
│ └── muban_easy.js — # шаблон облачной функции (упрощённая версия)
└─────────────────────────────────
module.exports = {
/**
* Имя этой функции
* @url user/sys/test1 — URL-адрес параметра запроса переднего конца
* @description Описание этой функции
* @params {Object} data — параметры запроса
* @params {String} uniIdToken — токен пользователя
* @params {String} userInfo — информация о текущем вошедшем пользователе (аналогично, это доверенный) (только kh-функция имеет этот параметр)
* @params {Object} util — общий набор инструментов
* @params {Object} filterResponse — данные ответа фильтра
* @params {Object} originalParam — исходные параметры запроса (включая исходное событие и контекст)
* Данные параметров запроса объясняют
* @params {String} uid — идентификатор текущего вошедшего пользователя, если пользователь вошёл в систему и токен действителен, то данные будут содержать параметр uid
* (Этот параметр является фильтром бэкэнда, который получает и добавляет его в данные через токен, и ему можно доверять) (только kh-функция имеет этот параметр)
* res — объяснение возвращаемых параметров
* @params {Number} code — код ошибки, 0 означает успех
* @params {String} msg — подробная информация
*/
main: async (event) => {
let { data = {}, userInfo, util, filterResponse, originalParam } = event;
let { customUtil, uniID, config, pubFun, vk , db, _ } = util;
let { uid } = data;
let res = { code : 0, msg : '' };
// Бизнес-логика начинается ----------------------------------------------
// Можно написать логику взаимодействия с базой данных и так далее
// Завершение бизнес-логики ----------------------------------------------
return res;
}
}
// Обратите внимание: все успешные запросы должны возвращать code: 0 code - это другие значения, указывающие на сбой, например, обмен не удался, ваши очки недостаточны!
// Если успешно, верните res.code = 0, чтобы указать, что выполнение выполнено;
return {
code : 0,
msg : 'Обмен успешен!'
}
return {
code : -1,
msg : 'Обмен не удался, ваших очков недостаточно!'
}
``` Запрос функции при сбое
* @params {Function} complete функция обратного вызова, которая выполняется независимо от того, успешен запрос или нет
*/
this.vk.callFunction({
url: 'user/kh/setAvatar',
title:'Запрос...',
data:{
avatar: "https://xxxxxxx.jpg"
},
success(data) {
// Успешное изменение
}
});
Нажмите здесь, чтобы увидеть пример использования «облачных функций через URL»
Перейдите по ссылке, чтобы узнать о «перехватчике для обнаружения недействительных токенов»
Ознакомьтесь с API базы данных «vk.baseDao» здесь
Узнайте, как настроить глобальные параметры запросов
Посмотрите шаблоны для рендеринга списков
Подробнее о компоненте выбора SKU
Прочитайте о том, как переключаться между рабочей и тестовой средами
Изучите этапы обновления плагина
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )