Перейти к публикации

Мобильный клиент VimeTop


Рекомендованные сообщения

Ну конечно мобильный клиент громко сказано, так, пару функций с vimetop. Как-то раз сидя на vimetop я случайно заметил что там используется REST api, я был удивлён и быстро погуглив нашёл что оказывается есть документация по апишке для vimeworld (да, я немножко отстал от жизни). Сразу подумал что не видел нигде аналагов vimetop на адроид/иос и подумал что это неплхоая идея, решил опробовать апи и сделал за пару часов небольшую прилу (то на что хватило моего энтузиазма в 3 часа ночи)

 

VimeTop mobile

Описание

Вся суть прилы это возможность ввести ник и по нику посмотреть статистику профиля определенного игрока, вообще
апишка позволяет разгуляется как следует, но я не знаю как это будет актуально и нужно это хоть комуто, так что будет
считать это демо версией)

Тех База

Использовал кросплатформерный фреймворк react native, так что в будущем можно будет и на iphone запустить

Скриншоты

RX4cNcn.jpg
oaXzThv.jpg
1qw6tbl.jpg

 

Ссылки

1)Apk

2)VirusTotal

3)GitHub - по хорошему надо было делать через typescript, а в идеале ещё и тесты писать, но ёмае 5 утра,

мне на работу через 3 часа)

 

Вообщем как-то так, есть желание развить этот проект, тем более есть где разгуляться, но если это вообще кому-нибудь нужно)

Ссылка на комментарий

Хзхз, у меня лично на телефоне и сайт нормально работает

Ты наверное прав, просто переделывать vimetop под мобильное приложение не вариант, не хватает чего-то чтобы отличало приложение от других продуктов.

Из плюсов именно приложения могу заметить:

1)Более высокая скорость работы по сравнению с сайтом (нативное приложение всё таки)

2)Адаптированный именно под телефоны UI

Ссылка на комментарий

Как насчет того что-бы использовать async/await? А еще лучше использовать напрямую api.vime.world (ваймтоп менее стабилен) и сделать уникальный дизайн или использовать нативные стили систем. Удачи!

QsyQq69.jpg

 

 

Пример того как может быть, коротко и просто:

 

async componentDidMount() {
  const bg_png = await fetch(`https://u1.vimetop.ru/user/bg/${this.props.data.username.substr(0, 2)}/${this.props.data.username}.png`)

  if (bg_png.status === 200) {
    this.setState({ isLoadImage: false });
    return;
  }

  const bg_jpeg = await fetch(`https://u1.vimetop.ru/user/bg/${this.props.data.username.substr(0, 2)}/${this.props.data.username}.jpeg`)

  if (bg_jpeg === 200) {
    this.setState({
      image: {
        uri: `https://u1.vimetop.ru/user/bg/${this.props.data.username.substr(0, 2)}/${this.props.data.username}.jpeg`,
      },
      isLoadImage: false,
    });
  } else {
    this.setState({ image: defaultBg, isLoadImage: false });
  }
} 

 

 

Изменено пользователем Acex187x
Ссылка на комментарий

И еще. НИКОГДА не оставляй дев-токены в публичном продукте. Во первых это небезопасно, во вторых лимит одного токена распределяется на всех пользователей твоего продукта (вместо лимита отдельного ip у каждого юзера) и тогда получиться ситуация "хотел сделать лучше, а получилось как всегда"

 

dlYoHL1.png

 

Ссылка на комментарий

И еще. НИКОГДА не оставляй дев-токены в публичном продукте. Во первых это небезопасно, во вторых лимит одного токена распределяется на всех пользователей твоего продукта (вместо лимита отдельного ip у каждого юзера) и тогда получиться ситуация "хотел сделать лучше, а получилось как всегда"

 

dlYoHL1.png

 

Спасибо за замечания) Но на самом деле этот участок кода и так является костылём, так как задние фоны эта фишка самого vimetop мне приходится вот так вот изворачиваться, async/await полезная вещь, но и про старый стиль забывать тоже не стоит, я считаю тут дело в удобстве, хотя не спорю, с async/await код читабельнее, но это последнее что я делал и когда она эта вещь заработала я уже начинал отрубаться)).

Про токен, я очень хорошо знаю что так делать нельзя, но немного подумав что знание токена злоумышленником вреда особо не нанесёт и решил оставить, в любом случае его можно будет поменять.

 

Вижу ты человек разбирающийся, но сейчас меня интересует какие-нибудь идеи или фишки, которые будут полезны пользователем, я считаю что у нативного клиента большие перспективы и при этом пока никто этого не делал, как я и говорил это прила сделанная на коленке, только чтобы опробовать апи)) Если делать нормально то подрубать redux+thunk и использовать typescript, а пока нужно наработать концепт приложения))

Изменено пользователем Walerchik
Ссылка на комментарий

Спасибо за замечания) Но на самом деле этот участок кода и так является костылём, так как задние фоны эта фишка самого vimetop мне приходится вот так вот изворачиваться, async/await полезная вещь, но и про старый стиль забывать тоже не стоит, я считаю тут дело в удобстве, хотя не спорю, с async/await код читабельнее, но это последнее что я делал и когда она эта вещь заработала я уже начинал отрубаться)).

Про токен, я очень хорошо знаю что так делать нельзя, но немного подумав что знание токена злоумышленником вреда особо не нанесёт и решил оставить, в любом случае его можно будет поменять.

 

Вижу ты человек разбирающийся, но сейчас меня интересует какие-нибудь идеи или фишки, которые будут полезны пользователем, я считаю что у нативного клиента большие перспективы и при этом пока никто этого не делал, как я и говорил это прила сделанная на коленке, только чтобы опробовать апи)) Если делать нормально то подрубать redux+thunk и использовать typescript, а пока нужно наработать концепт приложения))

По этому чувак, я купил себе это:

U4w39fVPxPM.png

Ссылка на комментарий
  • 2 недели спустя...

Как насчет того что-бы использовать async/await? А еще лучше использовать напрямую api.vime.world (ваймтоп менее стабилен) и сделать уникальный дизайн или использовать нативные стили систем. Удачи!

QsyQq69.jpg

 

 

Пример того как может быть, коротко и просто:

 

 

...

 

 

 

 

я конечно тоже не мастер, но и ты не тому учишь.

код может и не будет работать, но мысль хотя бы я передал.

твой новый сайт тоже далеко по коду не ушел))

var imageTypes = [
    'png',
    'jpeg',
    'gif',
    'bmp',
];

async componentDidMount() {
    
    imageTypes.forEach(function(type) {
        const background = await fetch(`https://u1.vimetop.ru/user/bg/${this.props.data.username.substr(0, 2)}/${this.props.data.username}.${type}`);
        
        if (bg_png.status === 200) {
            this.setState({
                image: {
                    uri: `https://u1.vimetop.ru/user/bg/${this.props.data.username.substr(0, 2)}/${this.props.data.username}.${type}`,
                },
                isLoadImage: false
            });
            return;
        }
    }
} 
Ссылка на комментарий

Я бы запихнул в apk ратку и наложил на код виртауализацию или мутацию, и всё, на VT 0 вирусов, а у тебя удалённое пользование телефона

 

теперь если скинешь что-нибудь в этот раздел, я с уверенностью закрою вкладку с твоей темой

Ссылка на комментарий
  • 2 недели спустя...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...