pnpm install
tree -L 4 -I 'node_modules|.git'
echo "20" > .nvmrc
nvm install
nvm use
rm -rf node_modules
rm -rf dist
rm -rf ~/.pnpm-store
pnpm install
npm rebuild bcrypt
find node_modules -name bcrypt_lib.node
pnpm run prisma:generate:mysql
pnpm run prisma:generate:mongo
pnpm run prisma:generate
pnpm build:mgnt
pnpm dev:mgnt
sudo systemctl start mysql
sudo systemctl start mongod
pnpm run prisma:seed:mysql pnpm run prisma:migrate:mysql
pnpm run prisma:generate:mysql
pnpm run prisma:migrate:mysql
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
git remote add origin git@47.238.201.61:fct/box-nestjs-monorepo.git
+-----------+-------------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database |
+-----------+-------------------------------------------------------------------------------------------------------------------------------------+
| box*admin | CREATE DATABASE `box_admin` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4*0900_ai_ci*/ /_!80016 DEFAULT ENCRYPTION='N'_/ |
+-----------+-------------------------------------------------------------------------------------------------------------------------------------+
mongosh mongodb://admin:ZXcv%21%21996@localhost:27017/box?authSource=admin
curl -X POST <http://47.76.151.238:3200/external-sync/fullsync/tea-copy> \
-H "Content-Type: application/json" \
-d '{"size": 20}'
Future<Uint8List> decryptImage(Map<String, dynamic> params) async {
Uint8List imgBytes = params['imgBytes'];
String path = params['path'];
if (imgBytes.isEmpty) {
return imgBytes;
}
var encryptedHead = Uint8List.fromList([0x88, 0xA8, 0x30, 0xCB, 0x10, 0x76]);
var needEncrypt = false;
if (imgBytes.length >= encryptedHead.length) {
bool allMatch = true;
for (int i = 0; i < encryptedHead.length; i++) {
if (encryptedHead[i] != imgBytes[i]) {
allMatch = false;
break;
}
}
if (allMatch) {
needEncrypt = true;
}
}
if (needEncrypt) {
List<int> fileNameList = utf8.encode(path);
/// 裁剪头部添加的字节数量
for (var i = 0; i < encryptedHead.length; i++) {
List<int> mutableList = imgBytes.toList();
mutableList.remove(encryptedHead[i]);
imgBytes = Uint8List.fromList(mutableList);
}
// 裁剪尾部添加的字节数量
imgBytes.sublist(0, imgBytes.length - fileNameList.length);
}
return imgBytes;
}