Skip to content

Commit 2335e66

Browse files
committed
Use deviceName for qrlogin
1 parent cca2412 commit 2335e66

File tree

5 files changed

+44
-4
lines changed

5 files changed

+44
-4
lines changed

CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
206206
)
207207
set_source_files_properties(
208208
wiliwili/source/utils/config_helper.cpp
209+
wiliwili/source/utils/version_helper.cpp
209210
wiliwili/source/activity/setting_activity.cpp
210211
wiliwili/source/activity/dlna_activity.cpp
211212
PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)

wiliwili/include/utils/config_helper.hpp

+2
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ class APPVersion : public brls::Singleton<APPVersion> {
117117

118118
std::string getPlatform();
119119

120+
std::string getDeviceName();
121+
120122
static std::string getPackageName();
121123

122124
bool needUpdate(std::string latestVersion);

wiliwili/source/fragment/mine_qr_login.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ void MineQrLogin::checkLogin() {
8282
brls::Logger::debug("check login");
8383
ASYNC_RETAIN
8484
bilibili::BilibiliClient::get_login_info_v2(
85-
this->oauthKey, "wiliwili - " + APPVersion::instance().getPlatform(), ProgramConfig::instance().getDeviceID(),
85+
this->oauthKey, APPVersion::instance().getDeviceName(), ProgramConfig::instance().getDeviceID(),
8686
[ASYNC_TOKEN](bilibili::LoginInfo info) {
8787
this->loginCb.fire(info);
8888
brls::Logger::debug("return code:{}", (int)info);

wiliwili/source/utils/activity_helper.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ void Intent::openAV(const std::string& avid, uint64_t cid, int progress) {
3333
return;
3434
tmp = (tmp | MAX) ^ XOR;
3535
std::string x = "0000000000";
36-
int i = 0;
36+
size_t i = 0;
3737
while (i < x.length()) {
3838
x[i++] = table[tmp % BASE];
3939
tmp /= BASE;

wiliwili/source/utils/version_helper.cpp

+39-2
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,17 @@
1010
#include <borealis/core/application.hpp>
1111
#include <borealis/core/thread.hpp>
1212
#include <borealis/views/dialog.hpp>
13-
#include <borealis/platforms/desktop/steam_deck.hpp>
14-
1513
#include "utils/config_helper.hpp"
1614
#include "utils/dialog_helper.hpp"
1715
#include "api/bilibili/util/http.hpp"
1816
#include "fragment/latest_update.hpp"
17+
#ifdef __SWITCH__
18+
#include <switch.h>
19+
#elif defined(__APPLE__)
20+
#include <SystemConfiguration/SystemConfiguration.h>
21+
#elif defined(__linux__)
22+
#include <borealis/platforms/desktop/steam_deck.hpp>
23+
#endif
1924

2025
using namespace brls::literals;
2126

@@ -69,6 +74,38 @@ std::string APPVersion::getPlatform() {
6974
#endif
7075
}
7176

77+
std::string APPVersion::getDeviceName() {
78+
#ifdef __SWITCH__
79+
SetSysDeviceNickName nick;
80+
if (R_SUCCEEDED(setsysGetDeviceNickname(&nick))) {
81+
return nick.nickname;
82+
}
83+
#elif defined(_WIN32)
84+
DWORD nSize = 128;
85+
std::vector<WCHAR> buf(nSize);
86+
if (GetComputerNameW(buf.data(), &nSize)) {
87+
std::vector<char> name(nSize * 3);
88+
WideCharToMultiByte(CP_UTF8, 0, buf.data(), nSize, name.data(), name.size(), nullptr, nullptr);
89+
return name.data();
90+
}
91+
#elif defined(__APPLE__)
92+
CFStringRef nameRef = SCDynamicStoreCopyComputerName(nullptr, nullptr);
93+
if (nameRef) {
94+
std::vector<char> name(CFStringGetLength(nameRef) * 3);
95+
CFStringGetCString(nameRef, name.data(), name.size(), kCFStringEncodingUTF8);
96+
CFRelease(nameRef);
97+
return name.data();
98+
}
99+
#elif defined(__linux__)
100+
std::ifstream file("/etc/hostname");
101+
if (file.is_open()) {
102+
return std::string(std::istreambuf_iterator<char>(file),
103+
std::istreambuf_iterator<char>());
104+
}
105+
#endif
106+
return fmt::format("wiliwili - {}", getPlatform());
107+
}
108+
72109
std::string APPVersion::getPackageName() { return std::string{STR(BUILD_PACKAGE_NAME)}; }
73110

74111
bool APPVersion::needUpdate(std::string latestVersion) {

0 commit comments

Comments
 (0)