| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- const XOR_KEY = "BofangKey";
- const PREFIX = "#02";
- function encryptXOR(text, key) {
- let encrypted = "";
- for (let i = 0; i < text.length; i++) {
- encrypted += String.fromCharCode(text.charCodeAt(i) ^ key.charCodeAt(i % key.length));
- }
- return encrypted;
- }
- function encryptSQL(sql) {
- return PREFIX + encryptXOR(encodeURIComponent(sql), XOR_KEY);
- }
- function getSessionToken() {
- const Parse = getApp().Parse;
- const currentUser = Parse && Parse.User && Parse.User.current();
- if (!currentUser) return "";
- if (typeof currentUser.getSessionToken == "function") {
- return currentUser.getSessionToken();
- }
- return currentUser.get && currentUser.get("sessionToken") || "";
- }
- function buildNovaQLData(sql, params) {
- const data = {
- sql: encryptSQL(sql),
- token: getSessionToken(),
- };
- if (Array.isArray(params) && params.length > 0) {
- data.params = JSON.stringify(params);
- }
- return data;
- }
- module.exports = {
- encryptSQL,
- buildNovaQLData,
- };
|