Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
grading-widget
Advanced tools
Что нужно знать для использования библиотеки в своем проекте 1. Для установки: npm i grading-widget
Что нужно знать для использования библиотеки в своем проекте
Для установки: npm i grading-widget
В файле, где ты хочешь использовать библиотеку грейдирования добавь пустой div с id = widgetTagName и инициализируй билиотеку
<template>
<div id="grading-widget"></div>
</template>
import { openGrading, removeGrading } from '@/utils/plugins/grading';
export default {
setup() {
openGrading(filialId, orderId, amount);
onBeforeUnmount(() => {
removeGrading();
}
}
}
import { AuthService } from '@/services/auth';
import i18n from '@/utils/plugins/i18n';
import 'grading-widget/dist/grading-widget.css';
let onGradingDestroy: (() => void) | null = null;
const appEnv = import.meta.env.VITE_ENV;
const gradingEnv = appEnv === 'production' ? 'production' : 'stage';
async function onForbidden() {
return Promise.reject(new Error('Нет токена')); // добавить, когда будет готов метод
}
function openGrading(filialId: number, orderId: number, amount: number) {
let myGradeLibraryInstance: {
init: () => boolean;
destroy: () => void;
mount: () => void;
};
const filialIdStr = filialId.toString();
const orderIdStr = orderId.toString();
const amountStr = amount.toString();
import('grading-widget').then(async MyGradeLibrary => {
myGradeLibraryInstance = MyGradeLibrary.default({
filialId: filialIdStr,
orderId: orderIdStr,
amount: amountStr,
onForbidden,
token: AuthService.state.accessToken,
showCongrats: true,
environment: gradingEnv,
lang: i18n.global.locale.value,
onError: (msg: string) => console.log(msg),
widgetTagName: '#grading-widget'
});
if (await myGradeLibraryInstance.init()) {
myGradeLibraryInstance.mount();
}
onGradingDestroy = myGradeLibraryInstance.destroy;
});
}
function removeGrading() {
if (onGradingDestroy) {
onGradingDestroy();
onGradingDestroy = null;
}
}
export { openGrading, removeGrading };
// отправляет запрос на получение данных по грейдированию
const grading = (
filialId: string,
orderId: string,
amount: number | string,
): Promise<IPayedRestaurant> => {
return gradingApiClient().get(
`/member-ladder/grading/thank-you-page/${filialId}?order_id=${orderId}&amount=${amount}`,
).then((response) => {
return response.data.data;
})
};
// проверяет есть ли грейдирование по указанному filialId
const hasGrading = (
filialId: string,
): Promise<IHasGrading> => {
return gradingApiClient().get(
`/member-ladder/grading/terminal/${filialId}`,
).then((response) => {
return response.data.data;
})
};
interface IMyGradeLibrary {
filialId: string,
orderId: string,
amount: string, // Сумма оплаты
environment: string, // Принимает process.env.VUE_APP_ENVIRONMENT основного приложения
lang: string, // Текущий язык основного приложения, который будет отображен
token: string,
onForbidden: () => Promise<string>, // необязательный параметр. Функция, срабатывающая, когда токен умирает. Из родительского приложения нужно отправлять новый токен, если этого метода нет, то можно возвращать return Promise.reject();
showCongrats: boolean, // Контролирует нужно ли отображать анимации поздравлений и отображения прогресса по уровням
onError: (message) => void, // Обработка ошибок
widgetTagName: string, // передает в библиотеку Грейдирования id тега div, который ты используешь в своем проекте как контейнер для отрисовки компонента библиотеки
logToConsole: (key, message) => void, // необязательный параметр, показывает в родительском приложении консоль библиотеки грейдирования
animationWasEnded: () => void, // необязательный параметр, который принимает метод, который должен срабатывать, когда закончились все анимации и отображен финальный вид виджета
logAmplitudeEvent: (event: string, payload: any) => void | Promise<void>, // обязательный параметр, вызывает аналитику
}
FAQs
Что нужно знать для использования библиотеки в своем проекте 1. Для установки: npm i grading-widget
We found that grading-widget demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.