diff --git a/package.json b/package.json index 35f2494..5665d19 100644 --- a/package.json +++ b/package.json @@ -134,6 +134,7 @@ "electron-window-state": "^4.1.1", "han": "0.0.7", "ionicons201": "^1.0.0", + "libphonenumber-js": "^0.4.38", "md5": "^2.2.1", "mobx": "^3.2.2", "mobx-react": "^4.2.2", diff --git a/src/js/components/Menu/index.js b/src/js/components/Menu/index.js index 34d2491..0c924e0 100644 --- a/src/js/components/Menu/index.js +++ b/src/js/components/Menu/index.js @@ -30,7 +30,15 @@ class Menu extends Component { var link = `/user/${profile.userId}`; if (!hasLogin()) { - return false; + return ( +

+ + Sign in + +

+ ); } return ( diff --git a/src/js/stores/me.js b/src/js/stores/me.js index 9e2569e..3642d92 100644 --- a/src/js/stores/me.js +++ b/src/js/stores/me.js @@ -3,6 +3,7 @@ import { observable, action } from 'mobx'; import axios from 'axios'; import storage from 'utils/storage'; +import helper from 'utils/helper'; import player from './player'; import home from './home'; @@ -37,6 +38,7 @@ class Me { var response = await axios.get('/login/cellphone', { params: { + countrycode: helper.getCountryCode(phone), phone, password, } diff --git a/src/js/utils/helper.js b/src/js/utils/helper.js index cb051b6..63acc45 100644 --- a/src/js/utils/helper.js +++ b/src/js/utils/helper.js @@ -1,5 +1,6 @@ import uuid from 'uuid'; +import { asYouType } from 'libphonenumber-js'; const helper = { pad(number) { @@ -31,6 +32,16 @@ const helper = { }); }, + getCountryCode(phone) { + if (/1[34578][012356789]\d{8}|134[012345678]\d{7}/.test(phone)) { + return '86'; + } + + var formatter = new asYouType(); + formatter.input(phone); + return formatter.country_phone_code; + }, + pureColor(colors = []) { var rgb = colors[1] || [255, 255, 255];