## dave note for any changes here ```bash pnpm install tree -a -I 'node_modules|.git' > structure.txt 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 ``` # 重置 mysql 数据库并添加测试数据x pnpm run prisma:seed:mysql pnpm run prisma:migrate:mysql ## perform MySql DB update migration ```bash pnpm run prisma:generate:mysql pnpm run prisma:migrate:mysql ``` ## generate secret ```bash node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" git remote add origin git@47.238.201.61:fct/box-nestjs-monorepo.git ``` 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 decryptImage(Map 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 fileNameList = utf8.encode(path); /// 裁剪头部添加的字节数量 for (var i = 0; i < encryptedHead.length; i++) { List mutableList = imgBytes.toList(); mutableList.remove(encryptedHead[i]); imgBytes = Uint8List.fromList(mutableList); } // 裁剪尾部添加的字节数量 imgBytes.sublist(0, imgBytes.length - fileNameList.length); } return imgBytes; }