Browse Source

оформление

pull/1/head
Sergey Verevkin 4 years ago
parent
commit
36e399112b
  1. 1
      .gitignore
  2. 7
      src/components/App/App.tsx
  3. 7
      src/components/GamePage/GamePage.tsx
  4. 7
      src/components/IntroPage/IntroPage.tsx
  5. 9
      src/model/Game.ts
  6. 9
      src/model/GameDto.ts
  7. 7
      src/model/Witch.ts
  8. 10
      src/model/WitchDto.ts
  9. 8
      src/store/apiStore/apiStore.service.ts
  10. 10
      src/store/apiStore/mockApiStore.service.ts
  11. 6
      src/store/mapper.ts
  12. 10
      src/store/tool.ts

1
.gitignore

@ -1,4 +1,5 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
/.idea
# dependencies
/node_modules

7
src/components/App/App.tsx

@ -1,3 +1,10 @@
/**
* @file Корневой компонент
* @version 2022.01.26
* @author Verevkin S.A.
* @copyright Verevkin S.A.
*/
import './App.css';
import IntroPage from '../IntroPage/IntroPage';
import GamePage from '../GamePage/GamePage';

7
src/components/GamePage/GamePage.tsx

@ -1,3 +1,10 @@
/**
* @file Страница игры
* @version 2022.01.26
* @author Verevkin S.A.
* @copyright Verevkin S.A.
*/
import _ from 'lodash';
// @ts-ignore

7
src/components/IntroPage/IntroPage.tsx

@ -1,3 +1,10 @@
/**
* @file Страница приветствия
* @version 2022.01.26
* @author Verevkin S.A.
* @copyright Verevkin S.A.
*/
// @ts-ignore
import witch from '../../resources/witch.svg';
import './IntroPage.css';

9
src/model/Game.ts

@ -1,6 +1,13 @@
/*
* @file Класс
* @version 2022.2.6
* @author Verevkin S.A.
* @copyright Verevkin S.A.
*/
import { Witch } from './Witch';
export type Game = {
export type Game = {
guid: string,
score: number,
witches: Witch[],

9
src/model/GameDto.ts

@ -1,6 +1,13 @@
/*
* @file Класс
* @version 2022.2.6
* @author Verevkin S.A.
* @copyright Verevkin S.A.
*/
import { IWitchDto } from './WitchDto';
export type IGameDto = {
export type IGameDto = {
guid: string,
score: number,
witches: IWitchDto[],

7
src/model/Witch.ts

@ -1,3 +1,10 @@
/**
* @file Описание игрового элемента - ведьмы (фронтенд)
* @version 2022.01.26
* @author Verevkin S.A.
* @copyright Verevkin S.A.
*/
export type Witch = {
guid: string,
position: number,

10
src/model/WitchDto.ts

@ -1,5 +1,13 @@
/*
* *
* * @file Класс
* * @version {2022}.{2}.{6}
* * @author Verevkin S.A.
* * @copyright Verevkin S.A.
*
*/
export interface IWitchDto {
guid: string,
flagReal: boolean,
position: number,
};

8
src/store/apiStore/apiStore.service.ts

@ -1,6 +1,6 @@
/**
* @file Сервис для источника данных
* @version 2022.01.26
/*
* @file Класс
* @version 2022.2.6
* @author Verevkin S.A.
* @copyright Verevkin S.A.
*/
@ -32,7 +32,7 @@ const service = {
async getVersion(): Promise<string | undefined> {
return tool.get<string>('/version', {});
}
// endregion
// endregion
};
export default service;

10
src/store/apiStore/mockApiStore.service.ts

@ -1,6 +1,6 @@
/**
* @file Эмулятор сервера
* @version 2022.01.26
/*
* @file Класс
* @version 2022.2.6
* @author Verevkin S.A.
* @copyright Verevkin S.A.
*/
@ -33,7 +33,7 @@ const mockService = {
return this.h_restartGame();
}
this.score -= 1;
return { ...game, score: this.score};
return {...game, score: this.score};
},
async getVersion(): Promise<string | undefined> {
@ -58,7 +58,7 @@ const mockService = {
h_createWitches(count: number): ServerWitch[] {
let ar: ServerWitch[] = [];
const dt = Date.now().toString(10);
for(let ii=0;ii<count;ii+=1) {
for (let ii = 0; ii < count; ii += 1) {
ar.push({
guid: dt + '-' + ii, position: ii, flagReal: false,
});

6
src/store/mapper.ts

@ -1,3 +1,9 @@
/**
* @file Конвертация объектов DTO в внутренние
* @version 2022.01.26
* @author Verevkin S.A.
* @copyright Verevkin S.A.
*/
import _ from 'lodash';
import { Game } from '../model/Game';

10
src/store/tool.ts

@ -5,6 +5,12 @@
* @copyright Verevkin S.A.
*/
import axios from 'axios';
import _ from 'lodash';
export type ParamGet = {
name: string,
value: string,
};
const tool = {
apiUrl: process.env.REACT_APP_API_URL,
@ -13,11 +19,11 @@ const tool = {
// метод взаимодействия с REST-сервисом
get<TResult>(
method: string,
args: any,
args: ParamGet[],
): Promise<TResult | undefined> {
const url = this.apiUrl + method;
const requestConfig = {
params: Object
params: _.fromPairs(args.map((v) => [v.name, v.value]))
};
return axios
.get<TResult>(

Loading…
Cancel
Save