feat(frontend): make api base configurable

This commit is contained in:
Tim
2025-07-04 18:29:01 +08:00
parent 8519a80485
commit a7c6be2735
3 changed files with 12 additions and 3 deletions
+7
View File
@@ -3,4 +3,11 @@ import App from './App.vue'
import router from './router' import router from './router'
import './assets/global.css' import './assets/global.css'
// Configurable API domain and port
export const API_DOMAIN =
process.env.VUE_APP_API_DOMAIN ||
`${window.location.protocol}//${window.location.hostname}`
export const API_PORT = process.env.VUE_APP_API_PORT || window.location.port
export const API_BASE_URL = API_PORT ? `${API_DOMAIN}:${API_PORT}` : API_DOMAIN
createApp(App).use(router).mount('#app') createApp(App).use(router).mount('#app')
+2 -1
View File
@@ -48,6 +48,7 @@
</template> </template>
<script> <script>
import { API_BASE_URL } from '../main'
export default { export default {
name: 'LoginPageView', name: 'LoginPageView',
data() { data() {
@@ -59,7 +60,7 @@ export default {
methods: { methods: {
async submitLogin() { async submitLogin() {
try { try {
const res = await fetch('/api/auth/login', { const res = await fetch(`${API_BASE_URL}/api/auth/login`, {
method: 'POST', method: 'POST',
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ username: this.username, password: this.password }) body: JSON.stringify({ username: this.username, password: this.password })
+3 -2
View File
@@ -82,6 +82,7 @@
</template> </template>
<script> <script>
import { API_BASE_URL } from '../main'
export default { export default {
name: 'SignupPageView', name: 'SignupPageView',
@@ -98,7 +99,7 @@ export default {
methods: { methods: {
async sendVerification() { async sendVerification() {
try { try {
const res = await fetch('/api/auth/register', { const res = await fetch(`${API_BASE_URL}/api/auth/register`, {
method: 'POST', method: 'POST',
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ body: JSON.stringify({
@@ -120,7 +121,7 @@ export default {
}, },
async verifyCode() { async verifyCode() {
try { try {
const res = await fetch('/api/auth/verify', { const res = await fetch(`${API_BASE_URL}/api/auth/verify`, {
method: 'POST', method: 'POST',
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ username: this.username, code: this.code }) body: JSON.stringify({ username: this.username, code: this.code })