Commit 586ac3f4 by liuxinlin

feat: 修改搜索接口

parent c7d8c077
HOST=m.julyedu.com
PORT=80
HOST=localhost
PORT=3000
module.exports = {
"/homeApi": {
target: "https://fast.julyedu.com",
changeOrigin: true,
secure: false,
pathRewrite: { "^/homeApi": "" },
},
"/baseApi": {
target: "https://api.julyedu.com",
changeOrigin: true,
secure: false,
pathRewrite: { "^/baseApi": "" },
},
"/searchApi": {
target: "https://search.julyedu.com",
changeOrigin: true,
secure: false,
pathRewrite: { "^/searchApi": "" },
},
"/passportApi": {
target: "https://passport.julyedu.com",
changeOrigin: true,
secure: false,
pathRewrite: { "^/passportApi": "" },
},
"/record": {
target: "https://record.julyedu.com",
changeOrigin: true,
secure: false,
pathRewrite: { "^/record": "" },
},
"/mApi": {
target: "https://m.julyedu.com",
changeOrigin: true,
secure: false,
pathRewrite: { "^/mApi": "" },
},
"/ai-search": {
target: "https://ai-search.julyedu.com",
changeOrigin: true,
secure: false,
pathRewrite: { "^/ai-search": "" },
},
}
var API = {
'www': 'http://www-test.julyedu.com',
'home': 'https://fast.julyedu.com',
'search-api': 'http://search-test.julyedu.com',
'passport-api': 'http://passport-test.julyedu.com',
'base-api': 'https://api.julyedu.com',
'record': 'record.julyedu.com:8001',
'home': 'http://localhost:3000/homeApi',
'search-api': 'http://localhost:3000/searchApi',
'passport-api': 'http://localhost:3000/passportApi',
'base-api': 'http://localhost:3000/baseApi',
'record': 'http://localhost:3000/record',
'process-api': 'ws:process-test.julyedu.com:9502',
'm': 'http://m-test.julyedu.com',
'm': 'http://localhost:3000/mApi',
'ai-search': 'http://localhost:3000/ai-search',
}
......@@ -31,6 +31,7 @@ const openBrowser = require("react-dev-utils/openBrowser")
const paths = require("../config/paths")
const configFactory = require("../config/webpack.config")
const createDevServerConfig = require("../config/webpackDevServer.config")
const proxy = require("../config/proxy.js")
const useYarn = fs.existsSync(paths.yarnLockFile)
const isInteractive = process.stdout.isTTY
......@@ -97,8 +98,8 @@ checkBrowsers(paths.appPath, isInteractive)
webpack,
})
// Load proxy config
const proxySetting = require(paths.appPackageJson).proxy
const proxyConfig = prepareProxy(proxySetting, paths.appPublic)
const proxyConfig = proxy
// const proxyConfig = prepareProxy(proxySetting, paths.appPublic)
// Serve webpack assets generated by the compiler over a web server.
const serverConfig = createDevServerConfig(
proxyConfig,
......
import React, { PureComponent } from "react"
import SearchHeader from "./searchHead"
import VList from "src/common/VList"
import { http, getParam } from "src/utils"
import { getParam } from "src/utils"
import { aiSearchInstance } from "src/utils/http"
import "./search-result.scss"
import Recommendation from "./recommendation"
import throttle from "lodash/throttle"
......@@ -47,15 +48,35 @@ class SearchResult extends PureComponent {
}
getCourses = (word) => {
http
.get(`${API["search-api"]}/search/${word}?type=v2-course&page=1`)
aiSearchInstance
.post(
`${API["ai-search"]}/aisearch/v1/fusion`,
{
search_params: {
query: word,
es_fragment_size: 200,
es_number_of_fragments: 3,
es_size: 40,
es_slop: 1,
milvus_limit: 40,
timeout: 5,
},
},
{
headers: {
"Content-Type": "application/json",
},
}
)
.then((res) => {
const data = res.data
console.log("data: ", data)
const { response, status_code } = data
if (data.errno === 0) {
if (status_code === 200) {
this.setState({
courseList: data.data.info["search_data"].course,
resultCount: data.data.info["search_data"].num,
courseList: response,
resultCount: response.length,
})
}
})
......@@ -164,15 +185,35 @@ class SearchResult extends PureComponent {
className="title text-overflow-2"
dangerouslySetInnerHTML={{
__html:
item.highlight?.course_title?.length > 0
? item.highlight.course_title[0]
item.highlight?.["course_title.pinyin"]?.length > 0
? item.highlight["course_title.pinyin"][0]
: item.course_title,
}}
></p>
<p className="des text-overflow-1">
{item.simpledescription}
</p>
<Bottom item={item} />
{/* <p
className="des text-overflow-1"
dangerouslySetInnerHTML={{
__html:
item.highlight?.["course_stage.pinyin"]?.length > 0
? item.highlight["course_stage.pinyin"][0]
: "",
}}
></p> */}
<p
className="des text-overflow-1"
dangerouslySetInnerHTML={{
__html:
item.highlight?.["course_lesson.pinyin"]?.length > 0
? item.highlight["course_lesson.pinyin"][0]
: "",
}}
></p>
<div className="course_tags text-overflow-1">
{item.course_tags.map((tag, index) => (
<span key={index}>{tag}</span>
))}
</div>
{/* <Bottom item={item} /> */}
</div>
)
const status =
......
......@@ -55,6 +55,19 @@
margin-top: 10px;
}
.course_tags {
margin-top: 10px;
font-size: $font_12;
color: #777;
span {
display: inline-block;
margin-right: 5px;
padding: 2px 5px;
background-color: #f0f0f0;
border-radius: 4px;
}
}
.price {
color: $red;
font-size: $font_16;
......
......@@ -12,4 +12,13 @@ const instance = axios.create({
HTTP_PLAT: 5,
},
})
export const aiSearchInstance = axios.create({
headers: {
HTTP_PLAT_FORM: 5,
HTTP_PLAT: 5,
},
withCredentials: true,
})
export default instance
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment