api路径更改

This commit is contained in:
WindowBird 2025-10-13 09:07:28 +08:00
parent ae691c6db9
commit dac7e6f727
3 changed files with 111 additions and 111 deletions

View File

@ -41,7 +41,7 @@ const props = withDefaults(defineProps<Props>(), {
}) })
// API // API
const API_BASE_URL = 'http://192.168.2.26:4101' const API_BASE_URL = 'http://192.168.2.77:4101'
// 使 // 使
const internalArticleData = ref({ const internalArticleData = ref({
@ -355,9 +355,9 @@ const loadCSSFiles = () => {
class="sy_news animated" data-wow-delay="200ms" class="sy_news animated" data-wow-delay="200ms"
style="visibility: visible; animation-delay: 200ms; animation-name: fadeInDown;"> style="visibility: visible; animation-delay: 200ms; animation-name: fadeInDown;">
<RecommendedArticles <RecommendedArticles
:show-types="['solution', 'developKnowledge', 'industryTrend']" :articles-per-type="3"
:articles-per-type="3" :show-title="false"
:show-title="false" :show-types="['solution', 'developKnowledge', 'industryTrend']"
/> />
</div> </div>
</aside><!-- 右边部分 --> </aside><!-- 右边部分 -->

View File

@ -1,30 +1,30 @@
// 文章API服务 // 文章API服务
export interface Article { export interface Article {
id: string id: string
title: string title: string
brief: string | null brief: string | null
content: string | null content: string | null
createTime: string createTime: string
code: string | null code: string | null
status: string | null status: string | null
} }
export interface ArticleListResponse { export interface ArticleListResponse {
msg: string msg: string
code: number code: number
data: Article[] data: Article[]
} }
export interface ArticleListParams { export interface ArticleListParams {
code?: string // 文章类型solution、developKnowledge、industryTrend code?: string // 文章类型solution、developKnowledge、industryTrend
orderByColumn?: string orderByColumn?: string
isAsc?: string isAsc?: string
pageNum?: number pageNum?: number
pageSize?: number pageSize?: number
} }
// API基础地址 // API基础地址
const API_BASE_URL = 'http://192.168.2.26:4101' const API_BASE_URL = 'http://192.168.2.77:4101'
/** /**
* *
@ -32,35 +32,35 @@ const API_BASE_URL = 'http://192.168.2.26:4101'
* @returns Promise<ArticleListResponse> * @returns Promise<ArticleListResponse>
*/ */
export const fetchArticleList = async (params: ArticleListParams = {}): Promise<ArticleListResponse> => { export const fetchArticleList = async (params: ArticleListParams = {}): Promise<ArticleListResponse> => {
try { try {
// 构建查询参数 // 构建查询参数
const queryParams = new URLSearchParams() const queryParams = new URLSearchParams()
if (params.code) queryParams.append('code', params.code) if (params.code) queryParams.append('code', params.code)
if (params.orderByColumn) queryParams.append('orderByColumn', params.orderByColumn) if (params.orderByColumn) queryParams.append('orderByColumn', params.orderByColumn)
if (params.isAsc) queryParams.append('isAsc', params.isAsc) if (params.isAsc) queryParams.append('isAsc', params.isAsc)
if (params.pageNum) queryParams.append('pageNum', params.pageNum.toString()) if (params.pageNum) queryParams.append('pageNum', params.pageNum.toString())
if (params.pageSize) queryParams.append('pageSize', params.pageSize.toString()) if (params.pageSize) queryParams.append('pageSize', params.pageSize.toString())
const url = `${API_BASE_URL}/app/owArticle/list?${queryParams.toString()}` const url = `${API_BASE_URL}/app/owArticle/list?${queryParams.toString()}`
const response = await fetch(url, { const response = await fetch(url, {
method: 'GET', method: 'GET',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
}, },
}) })
if (!response.ok) { if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`) throw new Error(`HTTP error! status: ${response.status}`)
}
const result: ArticleListResponse = await response.json()
return result
} catch (error) {
console.error('获取文章列表失败:', error)
throw error
} }
const result: ArticleListResponse = await response.json()
return result
} catch (error) {
console.error('获取文章列表失败:', error)
throw error
}
} }
/** /**
@ -70,46 +70,46 @@ export const fetchArticleList = async (params: ArticleListParams = {}): Promise<
* @returns Promise<Record<string, Article[]>> * @returns Promise<Record<string, Article[]>>
*/ */
export const fetchRecommendedArticles = async ( export const fetchRecommendedArticles = async (
types: string[] = ['solution', 'developKnowledge', 'industryTrend'], types: string[] = ['solution', 'developKnowledge', 'industryTrend'],
pageSize: number = 5 pageSize: number = 5
): Promise<Record<string, Article[]>> => { ): Promise<Record<string, Article[]>> => {
try { try {
const result: Record<string, Article[]> = {} const result: Record<string, Article[]> = {}
// 并发获取各类型文章 // 并发获取各类型文章
const promises = types.map(async (type) => { const promises = types.map(async (type) => {
const response = await fetchArticleList({ const response = await fetchArticleList({
code: type, code: type,
orderByColumn: 'createTime', orderByColumn: 'createTime',
isAsc: 'descending', isAsc: 'descending',
pageNum: 1, pageNum: 1,
pageSize: pageSize pageSize: pageSize
}) })
return { type, articles: response.data } return {type, articles: response.data}
}) })
const responses = await Promise.all(promises) const responses = await Promise.all(promises)
// 整理结果 // 整理结果
responses.forEach(({ type, articles }) => { responses.forEach(({type, articles}) => {
result[type] = articles result[type] = articles
}) })
return result return result
} catch (error) { } catch (error) {
console.error('获取推荐文章失败:', error) console.error('获取推荐文章失败:', error)
throw error throw error
} }
} }
/** /**
* *
*/ */
export const ARTICLE_TYPE_MAP: Record<string, string> = { export const ARTICLE_TYPE_MAP: Record<string, string> = {
'solution': '解决方案', 'solution': '解决方案',
'developKnowledge': '开发知识', 'developKnowledge': '开发知识',
'industryTrend': '行业动态', 'industryTrend': '行业动态',
'aboutUs': '关于我们' 'aboutUs': '关于我们'
} }
/** /**
@ -118,7 +118,7 @@ export const ARTICLE_TYPE_MAP: Record<string, string> = {
* @returns * @returns
*/ */
export const getArticleTypeName = (code: string): string => { export const getArticleTypeName = (code: string): string => {
return ARTICLE_TYPE_MAP[code] || '未知类型' return ARTICLE_TYPE_MAP[code] || '未知类型'
} }
/** /**
@ -126,37 +126,37 @@ export const getArticleTypeName = (code: string): string => {
* @returns API相关方法 * @returns API相关方法
*/ */
export const useArticleApi = () => { export const useArticleApi = () => {
/** /**
* *
* @param params * @param params
* @returns Promise<Article[]> * @returns Promise<Article[]>
*/ */
const getArticles = async (params: ArticleListParams = {}): Promise<Article[]> => { const getArticles = async (params: ArticleListParams = {}): Promise<Article[]> => {
try { try {
const response = await fetchArticleList(params) const response = await fetchArticleList(params)
return response.data || [] return response.data || []
} catch (error) { } catch (error) {
console.error('获取文章列表失败:', error) console.error('获取文章列表失败:', error)
return [] return []
}
} }
}
/** /**
* *
* @param types * @param types
* @param pageSize * @param pageSize
* @returns Promise<Record<string, Article[]>> * @returns Promise<Record<string, Article[]>>
*/ */
const getRecommendedArticles = async ( const getRecommendedArticles = async (
types: string[] = ['solution', 'developKnowledge', 'industryTrend'], types: string[] = ['solution', 'developKnowledge', 'industryTrend'],
pageSize: number = 5 pageSize: number = 5
): Promise<Record<string, Article[]>> => { ): Promise<Record<string, Article[]>> => {
return await fetchRecommendedArticles(types, pageSize) return await fetchRecommendedArticles(types, pageSize)
} }
return { return {
getArticles, getArticles,
getRecommendedArticles, getRecommendedArticles,
getArticleTypeName getArticleTypeName
} }
} }

View File

@ -29,7 +29,7 @@ const loading = ref(true)
const error = ref('') const error = ref('')
// API // API
const API_BASE_URL = 'http://192.168.2.26:4101' const API_BASE_URL = 'http://192.168.2.77:4101'
// //
const fetchArticle = async (id: string) => { const fetchArticle = async (id: string) => {
@ -98,7 +98,7 @@ watch(() => route.params.id, (newId) => {
<template> <template>
<view> <view>
<NewsNew :article-data="articleData" :loading="loading" :error="error" /> <NewsNew :article-data="articleData" :error="error" :loading="loading"/>
</view> </view>
</template> </template>