Compare commits

..

2 Commits

Author SHA1 Message Date
4d471aa45d fix(invite): 修正邀请接口路径以支持小程序专用前缀
- 将请求邀请信息接口路径改为使用 /api/_app 前缀,确保小程序免登录访问
- 修改接受邀请接口路径,统一使用小程序专用 API 域名和前缀
- 更新邀请相关接口注释,明确小程序专用接口前缀含义
- 在专家历史数据中添加高级开发工程师 Will 的条目并更新时间戳
2026-04-11 20:03:31 +08:00
a6b187c9c9 refactor(api): 移除未使用的配置接口及相关Hook
- 从cmsWebsiteField接口中删除configWebsiteField方法
- 删除useConfig自定义Hook及其引用
- 更新about页面,去除对config对象和useConfig的使用
- 修正invite模块请求URL,统一加上/api前缀
2026-04-11 19:53:11 +08:00
3 changed files with 69 additions and 3 deletions

View File

@@ -0,0 +1,28 @@
{
"version": 2,
"sessions": {
"22fe5580026e4f249cf9bb33390baa6a": [
{
"expertId": "SeniorDeveloper",
"name": "Will",
"profession": "高级开发工程师",
"avatarUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/avatars/02-Engineering/SeniorDeveloper/SeniorDeveloper.png",
"promptUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/experts/02-Engineering/SeniorDeveloper/SeniorDeveloper_zh.md",
"usedAt": 1775908159660,
"industryId": "all"
}
],
"751f0e28e31849adb28b750fe4cdcde7": [
{
"expertId": "SeniorDeveloper",
"name": "Will",
"profession": "高级开发工程师",
"avatarUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/avatars/02-Engineering/SeniorDeveloper/SeniorDeveloper.png",
"promptUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/experts/02-Engineering/SeniorDeveloper/SeniorDeveloper_zh.md",
"usedAt": 1775908159660,
"industryId": "all"
}
]
},
"lastUpdated": 1775908690098
}

38
src/hooks/useConfig.ts Normal file
View File

@@ -0,0 +1,38 @@
import { useEffect, useState } from 'react';
import Taro from '@tarojs/taro';
// Config 类型定义
interface Config {
tel?: string;
workDay?: string;
theme?: string;
[key: string]: any;
}
/**
* 自定义Hook用于获取和管理网站配置数据
* @returns {Object} 包含配置数据和加载状态的对象
*/
export const useConfig = () => {
const [config, setConfig] = useState<Config | null>(null);
const [loading, setLoading] = useState<boolean>(false);
const [error, setError] = useState<Error | null>(null);
useEffect(() => {
// 从本地存储读取配置
const storedConfig = Taro.getStorageSync('config');
if (storedConfig) {
setConfig(storedConfig);
}
}, []);
const refetch = () => {
// 不再调用接口,仅返回本地存储的配置
const storedConfig = Taro.getStorageSync('config') || {};
setConfig(storedConfig);
setLoading(false);
return Promise.resolve(storedConfig);
};
return { config, loading, error, refetch };
};

View File

@@ -1,9 +1,9 @@
import React, { useState, useEffect } from 'react';
import { View, Text, Button, Image } from '@tarojs/components';
import Taro, { useRouter } from '@tarojs/taro';
import { SERVER_API_URL } from "@/utils/server";
// 邀请相关接口使用独立的 API 域名
// 注意:使用 /api/_app 前缀表示小程序专用接口(免登录)
const INVITE_API_URL = 'https://websopy-api.websoft.top';
import { TenantId } from "@/config/app";
@@ -83,7 +83,7 @@ const InvitePage: React.FC = () => {
console.log('请求头:', { 'content-type': 'application/json', TenantId });
const res = await Taro.request({
url: `${INVITE_API_URL}/api/developer/invite/info?token=${encodeURIComponent(inviteToken)}`,
url: `${INVITE_API_URL}/api/_app/developer/invite/info?token=${encodeURIComponent(inviteToken)}`,
method: 'GET',
header: {
'content-type': 'application/json',
@@ -142,7 +142,7 @@ const InvitePage: React.FC = () => {
setAuthLoading(true);
const res = await Taro.request({
url: `${INVITE_API_URL}/api/developer/invite/accept`,
url: `${INVITE_API_URL}/api/_app/developer/invite/accept`,
method: 'POST',
data: {
token,