Свойства и методы бэкенд объекта "cb"
cb.crypto.compareSync(password, hashData)
Сравнить пароль с
hashcb.crypto.decrypt(message, key, iv)
Расшифровать текст. По умолчанию key, iv взяты из config.json
cb.crypto.encrypt(message, key, iv)
Зашифровать текст. По умолчанию key, iv взяты из config.json
cb.crypto.generateHexKey()
Создать пару key, iv
cb.crypto.hashSync(password)
Хеш пароля, для безопасного хранения в базе данных
cb.getHTML
Формирует html страницы, на основе элементов, редактируемых пользователем. Используется в рендер функциях.
cb.localStorage
Интерфейс для хранения данных, аналогично localStorage в браузере.
.set(key, value)
.get(key)
.remove(key)
.clear()
.keys()
cb.random(min, max)
Случайное число, между мин макс. Если передать одномерный массив, тогда будет выбран случайный элемент.
cb.randomStr(length = 10)
Случайная строка.
cb.RateLimit
Интерфейс для ограничения запросов. Если id не указан, то отслеживаются любые запросы.
const requestLimit = new cb.RateLimit({max: 1, sec: 60})
// check limit
if (requestLimit.check(req, id)) return res.status(429).json(null)
// check status
const {count, max} = requestLimit.status(req, id)cb.Render(req, res, data = {})
Рендер взаимодействующий с express фреймворком. Формирует ответ страницы на основании адреса и файла /pages/{PAGE_ID}/index.ejs запрашиваемой страницы. Можно перенаправлять адреса на один файл.
// перенаправления адресов начинающихся с /account/* на страницу /account
app.all('/account/*', (req, res) => cb.Render(req, res, {PAGE_ID: '/account'}))
// страницы по умолчанию
app.get('*', cb.Render)cb.renderPanel(id, locals)
Формирует html панелей
<%-cb.renderPanel('panel', locals)%>cb.Run(app, server)
Старт приложения
const app = express()
const server = app.listen(3001)
await cb.Run(app, server)cb.sleep(ms)
Ждет заданное количество миллисекунд.
new Promise(resolve => setTimeout(resolve, ms))
cb.system
Интерфейс событий EventEmitter
cb.UserManager
Интерфейс для работы с пользователями.
cb.walkSync(folder)
Массив всех файлов в папке