2024.10.02

장재영·2024년 10월 2일
0

변경 사항

  • 목표 순서 변경
  • 레디스연결을 우선으로, 유저 정보 연결, record관리, 브로드케스트 순

구현

  • 레디스 연결
import { createClient } from 'redis';

const redisClient = createClient({
  url: process.env.REDIS_URL,
});

async function redisConnect() {
  try {
    await redisClient.connect();
    console.log('레디스 커넥트 완료');
  } catch (err) {
    console.log('레디스 커넥트 중 오류', err);
  }
}
redisConnect();

app.set('redisClient', redisClient);
- 연결 까지는 완료 했으나 서버 저장이나 가져오기 쪽은 아직 안해본 상태
- 명령어 및 어디에 어떻게 사용되는지를 잘 모르는 상태라 시간이 걸릴 것 으로 예상
  • 검증 작업 수정
  // 아이템 총 점수에대한 검증을 스테이지 변경될 시 검증작업에 변경
  const maxItemScore = items.data[stageIndex].score * 5;
  if (payload.itemScore - currentStage.itemScore > maxItemScore) {
    return { status: 'fail', message: 'The itemScore is too high. ' };
  }
  const elapsedTime = (serverTime - item.timestamp) / 1000;

  //아이템 획득 최소 시간 검증
  if (elapsedTime < 1) {
    return { status: 'fail', message: '아이템 획득 시간이 비정상입니다.' };
  }

  //스테이지에 나와서는 안될 아이템일 경우
  if (payload.itemId > itemUnlocks.data[stageIndex].item_id) {
    return { status: 'fail', message: '현 스테이지에 존재 해서는 안될 아이템.' };
  }

  //획득 아이템 점수 검증
  if (items.data[itemIdIndex].score !== payload.itemScore - item.itemScore) {
    console.log(items.data[itemIdIndex].score);
    console.log(payload.itemScore, item.itemScore);
    return { status: 'fail', message: '획득한 아이템 점수 이상.' };
  }

진짜 한거 없는거같은데 노력했습니다....

내일 목표

  • 도전 과제 끝내기
profile
개발 하고 싶은 비버

0개의 댓글