pref: 去除开发环境配置
This commit is contained in:
@@ -37,7 +37,8 @@ import WechatRegister from './WechatRegister';
|
||||
|
||||
// API配置
|
||||
const isProduction = process.env.NODE_ENV === 'production';
|
||||
const API_BASE_URL = isProduction ? "" : "http://49.232.185.254:5001";
|
||||
// 使用空字符串让请求通过 webpack proxy,避免跨域 cookie 问题
|
||||
const API_BASE_URL = "";
|
||||
|
||||
// 统一配置对象
|
||||
const AUTH_CONFIG = {
|
||||
@@ -154,12 +155,12 @@ export default function AuthFormContent() {
|
||||
|
||||
try {
|
||||
setSendingCode(true);
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/send-verification-code`, {
|
||||
const response = await fetch('/api/auth/send-verification-code', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
credentials: 'include',
|
||||
credentials: 'include', // 必须包含以支持跨域 session cookie
|
||||
body: JSON.stringify({
|
||||
credential,
|
||||
type: 'phone',
|
||||
@@ -243,12 +244,12 @@ export default function AuthFormContent() {
|
||||
};
|
||||
|
||||
// 调用API(根据模式选择不同的endpoint
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/login-with-code`, {
|
||||
const response = await fetch('/api/auth/login-with-code', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
credentials: 'include',
|
||||
credentials: 'include', // 必须包含以支持跨域 session cookie
|
||||
body: JSON.stringify(requestBody),
|
||||
});
|
||||
|
||||
|
||||
@@ -3,10 +3,6 @@ import React, { createContext, useContext, useState, useEffect } from 'react';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { useToast } from '@chakra-ui/react';
|
||||
|
||||
// API基础URL配置
|
||||
const isProduction = process.env.NODE_ENV === 'production';
|
||||
const API_BASE_URL = isProduction ? "" : process.env.REACT_APP_API_URL || "http://49.232.185.254:5001";
|
||||
|
||||
// 创建认证上下文
|
||||
const AuthContext = createContext();
|
||||
|
||||
@@ -32,7 +28,7 @@ export const AuthProvider = ({ children }) => {
|
||||
try {
|
||||
console.log('🔍 检查Session状态...');
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/session`, {
|
||||
const response = await fetch(`/api/auth/session`, {
|
||||
method: 'GET',
|
||||
credentials: 'include', // 重要:包含cookie
|
||||
headers: {
|
||||
@@ -103,14 +99,14 @@ export const AuthProvider = ({ children }) => {
|
||||
formData.append('username', credential);
|
||||
}
|
||||
|
||||
console.log('📤 发送登录请求到:', `${API_BASE_URL}/api/auth/login`);
|
||||
console.log('📤 发送登录请求到:', `/api/auth/login`);
|
||||
console.log('📝 请求数据:', {
|
||||
credential,
|
||||
loginType,
|
||||
formData: formData.toString()
|
||||
});
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/login`, {
|
||||
const response = await fetch(`/api/auth/login`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
@@ -181,7 +177,7 @@ export const AuthProvider = ({ children }) => {
|
||||
formData.append('email', email);
|
||||
formData.append('password', password);
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/register`, {
|
||||
const response = await fetch(`/api/auth/register`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
@@ -232,7 +228,7 @@ export const AuthProvider = ({ children }) => {
|
||||
try {
|
||||
setIsLoading(true);
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/register/phone`, {
|
||||
const response = await fetch(`/api/auth/register/phone`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -288,7 +284,7 @@ export const AuthProvider = ({ children }) => {
|
||||
try {
|
||||
setIsLoading(true);
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/register/email`, {
|
||||
const response = await fetch(`/api/auth/register/email`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -342,11 +338,12 @@ export const AuthProvider = ({ children }) => {
|
||||
// 发送手机验证码
|
||||
const sendSmsCode = async (phone) => {
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/send-sms-code`, {
|
||||
const response = await fetch(`/api/auth/send-sms-code`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
credentials: 'include', // 必须包含以支持跨域 session cookie
|
||||
body: JSON.stringify({ phone })
|
||||
});
|
||||
|
||||
@@ -384,11 +381,12 @@ export const AuthProvider = ({ children }) => {
|
||||
// 发送邮箱验证码
|
||||
const sendEmailCode = async (email) => {
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/send-email-code`, {
|
||||
const response = await fetch(`/api/auth/send-email-code`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
credentials: 'include', // 必须包含以支持跨域 session cookie
|
||||
body: JSON.stringify({ email })
|
||||
});
|
||||
|
||||
@@ -427,7 +425,7 @@ export const AuthProvider = ({ children }) => {
|
||||
const logout = async () => {
|
||||
try {
|
||||
// 调用后端登出API
|
||||
await fetch(`${API_BASE_URL}/api/auth/logout`, {
|
||||
await fetch(`/api/auth/logout`, {
|
||||
method: 'POST',
|
||||
credentials: 'include'
|
||||
});
|
||||
@@ -476,7 +474,7 @@ export const AuthProvider = ({ children }) => {
|
||||
}
|
||||
|
||||
// 获取用户权限信息
|
||||
const response = await fetch(`${API_BASE_URL}/api/subscription/permissions`, {
|
||||
const response = await fetch(`/api/subscription/permissions`, {
|
||||
method: 'GET',
|
||||
credentials: 'include',
|
||||
headers: {
|
||||
|
||||
@@ -3,10 +3,6 @@ import React, { createContext, useContext, useState, useEffect } from 'react';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { useToast } from '@chakra-ui/react';
|
||||
|
||||
// API基础URL配置
|
||||
const isProduction = process.env.NODE_ENV === 'production';
|
||||
const API_BASE_URL = isProduction ? "" : process.env.REACT_APP_API_URL || "http://49.232.185.254:5001";
|
||||
|
||||
// 创建认证上下文
|
||||
const AuthContext = createContext();
|
||||
|
||||
@@ -36,7 +32,7 @@ export const AuthProvider = ({ children }) => {
|
||||
const controller = new AbortController();
|
||||
const timeoutId = setTimeout(() => controller.abort(), 5000); // 5秒超时
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/session`, {
|
||||
const response = await fetch(`/api/auth/session`, {
|
||||
method: 'GET',
|
||||
credentials: 'include', // 重要:包含cookie
|
||||
headers: {
|
||||
@@ -114,14 +110,14 @@ export const AuthProvider = ({ children }) => {
|
||||
formData.append('username', credential);
|
||||
}
|
||||
|
||||
console.log('📤 发送登录请求到:', `${API_BASE_URL}/api/auth/login`);
|
||||
console.log('📤 发送登录请求到:', `/api/auth/login`);
|
||||
console.log('📝 请求数据:', {
|
||||
credential,
|
||||
loginType,
|
||||
formData: formData.toString()
|
||||
});
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/login`, {
|
||||
const response = await fetch(`/api/auth/login`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
@@ -194,7 +190,7 @@ export const AuthProvider = ({ children }) => {
|
||||
formData.append('email', email);
|
||||
formData.append('password', password);
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/register`, {
|
||||
const response = await fetch(`/api/auth/register`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
@@ -245,7 +241,7 @@ export const AuthProvider = ({ children }) => {
|
||||
try {
|
||||
setIsLoading(true);
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/register/phone`, {
|
||||
const response = await fetch(`/api/auth/register/phone`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -301,7 +297,7 @@ export const AuthProvider = ({ children }) => {
|
||||
try {
|
||||
setIsLoading(true);
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/register/email`, {
|
||||
const response = await fetch(`/api/auth/register/email`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -355,11 +351,12 @@ export const AuthProvider = ({ children }) => {
|
||||
// 发送手机验证码
|
||||
const sendSmsCode = async (phone) => {
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/send-sms-code`, {
|
||||
const response = await fetch(`/api/auth/send-sms-code`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
credentials: 'include', // 必须包含以支持跨域 session cookie
|
||||
body: JSON.stringify({ phone })
|
||||
});
|
||||
|
||||
@@ -397,11 +394,12 @@ export const AuthProvider = ({ children }) => {
|
||||
// 发送邮箱验证码
|
||||
const sendEmailCode = async (email) => {
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/send-email-code`, {
|
||||
const response = await fetch(`/api/auth/send-email-code`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
credentials: 'include', // 必须包含以支持跨域 session cookie
|
||||
body: JSON.stringify({ email })
|
||||
});
|
||||
|
||||
@@ -440,7 +438,7 @@ export const AuthProvider = ({ children }) => {
|
||||
const logout = async () => {
|
||||
try {
|
||||
// 调用后端登出API
|
||||
await fetch(`${API_BASE_URL}/api/auth/logout`, {
|
||||
await fetch(`/api/auth/logout`, {
|
||||
method: 'POST',
|
||||
credentials: 'include'
|
||||
});
|
||||
|
||||
@@ -1,15 +1,10 @@
|
||||
// src/services/eventService.js
|
||||
|
||||
// 判断当前是否是生产环境
|
||||
const isProduction = process.env.NODE_ENV === 'production';
|
||||
const API_BASE_URL = isProduction ? "" : process.env.REACT_APP_API_URL;
|
||||
//const API_BASE_URL = process.env.REACT_APP_API_URL || "http://49.232.185.254:5001";
|
||||
|
||||
const apiRequest = async (url, options = {}) => {
|
||||
try {
|
||||
console.log(`Making API request to: ${API_BASE_URL}${url}`);
|
||||
console.log(`Making API request to: ${url}`);
|
||||
|
||||
const response = await fetch(`${API_BASE_URL}${url}`, {
|
||||
const response = await fetch(url, {
|
||||
...options,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -322,7 +317,7 @@ export const stockService = {
|
||||
}
|
||||
|
||||
const url = `/api/stock/${stockCode}/kline?${params.toString()}`;
|
||||
console.log(`获取K线数据: ${API_BASE_URL}${url}`);
|
||||
console.log(`获取K线数据: ${url}`);
|
||||
|
||||
const response = await apiRequest(url);
|
||||
|
||||
@@ -387,7 +382,7 @@ export const indexService = {
|
||||
}
|
||||
|
||||
const url = `/api/index/${indexCode}/kline?${params.toString()}`;
|
||||
console.log(`获取指数K线数据: ${API_BASE_URL}${url}`);
|
||||
console.log(`获取指数K线数据: ${url}`);
|
||||
const response = await apiRequest(url);
|
||||
return response;
|
||||
} catch (error) {
|
||||
|
||||
@@ -32,10 +32,6 @@ import AuthFooter from "../../../components/Auth/AuthFooter";
|
||||
import VerificationCodeInput from "../../../components/Auth/VerificationCodeInput";
|
||||
import WechatRegister from "../../../components/Auth/WechatRegister";
|
||||
|
||||
// API配置
|
||||
const isProduction = process.env.NODE_ENV === 'production';
|
||||
const API_BASE_URL = isProduction ? "" : "http://49.232.185.254:5001";
|
||||
|
||||
export default function SignInIllustration() {
|
||||
const navigate = useNavigate();
|
||||
const location = useLocation();
|
||||
@@ -174,7 +170,7 @@ export default function SignInIllustration() {
|
||||
|
||||
try {
|
||||
setSendingCode(true);
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/send-verification-code`, {
|
||||
const response = await fetch('/api/auth/send-verification-code', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
@@ -234,7 +230,7 @@ export default function SignInIllustration() {
|
||||
// 验证码登录函数
|
||||
const loginWithVerificationCode = async (credential, verificationCode, authLoginType) => {
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/auth/login-with-code`, {
|
||||
const response = await fetch('/api/auth/login-with-code', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
|
||||
@@ -42,9 +42,6 @@ import { format } from 'date-fns';
|
||||
import { zhCN } from 'date-fns/locale';
|
||||
import { eventService } from '../../../services/eventService';
|
||||
|
||||
// 获取 API 基础地址
|
||||
const API_BASE_URL = process.env.NODE_ENV === 'production' ? '' : (process.env.REACT_APP_API_URL || 'http://49.232.185.254:5001');
|
||||
|
||||
const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussionType = '事件讨论' }) => {
|
||||
const [posts, setPosts] = useState([]);
|
||||
const [newPostContent, setNewPostContent] = useState('');
|
||||
@@ -67,7 +64,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
|
||||
|
||||
setLoading(true);
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/events/${eventId}/posts?sort=latest&page=1&per_page=20`, {
|
||||
const response = await fetch(`/api/events/${eventId}/posts?sort=latest&page=1&per_page=20`, {
|
||||
method: 'GET',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
credentials: 'include'
|
||||
@@ -101,7 +98,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
|
||||
const loadPostComments = async (postId) => {
|
||||
setLoadingComments(prev => ({ ...prev, [postId]: true }));
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/posts/${postId}/comments?sort=latest`, {
|
||||
const response = await fetch(`/api/posts/${postId}/comments?sort=latest`, {
|
||||
method: 'GET',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
credentials: 'include'
|
||||
@@ -134,7 +131,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
|
||||
|
||||
setSubmitting(true);
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/events/${eventId}/posts`, {
|
||||
const response = await fetch(`/api/events/${eventId}/posts`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
credentials: 'include',
|
||||
@@ -182,7 +179,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
|
||||
if (!window.confirm('确定要删除这个帖子吗?')) return;
|
||||
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/posts/${postId}`, {
|
||||
const response = await fetch(`/api/posts/${postId}`, {
|
||||
method: 'DELETE',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
credentials: 'include'
|
||||
@@ -219,7 +216,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
|
||||
// 点赞帖子
|
||||
const handleLikePost = async (postId) => {
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/posts/${postId}/like`, {
|
||||
const response = await fetch(`/api/posts/${postId}/like`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
credentials: 'include'
|
||||
@@ -251,7 +248,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
|
||||
if (!content?.trim()) return;
|
||||
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/posts/${postId}/comments`, {
|
||||
const response = await fetch(`/api/posts/${postId}/comments`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
credentials: 'include',
|
||||
@@ -294,7 +291,7 @@ const EventDiscussionModal = ({ isOpen, onClose, eventId, eventTitle, discussion
|
||||
if (!window.confirm('确定要删除这条评论吗?')) return;
|
||||
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/api/comments/${commentId}`, {
|
||||
const response = await fetch(`/api/comments/${commentId}`, {
|
||||
method: 'DELETE',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
credentials: 'include'
|
||||
|
||||
Reference in New Issue
Block a user