取消字典数据加密
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
*/
|
||||
export default {
|
||||
// baseUrl: 'http://39.98.44.136:8080', // 测试
|
||||
baseUrl: 'https://www.xjksly.cn/api/ks', // 正式环境
|
||||
// baseUrl: 'http://ks.zhaopinzao8dian.com/api/ks', // 测试
|
||||
// baseUrl: 'https://www.xjksly.cn/api/ks', // 正式环境
|
||||
baseUrl: 'http://ks.zhaopinzao8dian.com/api/ks', // 测试
|
||||
|
||||
// LCBaseUrl:'http://10.110.145.145:9100',//内网端口
|
||||
// LCBaseUrlInner:'http://10.110.145.145:10100',//招聘、培训、帮扶
|
||||
|
||||
@@ -580,6 +580,15 @@ function extractSpeechText(markdown) {
|
||||
console.log('📝 Input markdown length:', markdown ? markdown.length : 0);
|
||||
console.log('📝 Input markdown preview:', markdown ? markdown.substring(0, 200) + '...' : 'No markdown');
|
||||
|
||||
// 过滤AI推理内容(如DeepSeek的<think>标签)
|
||||
// 这些是AI的内部推理过程,不应朗读给用户
|
||||
let cleanedMarkdown = markdown.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
|
||||
console.log('🧹 After removing think tags, length:', cleanedMarkdown.length);
|
||||
if (cleanedMarkdown.length === 0 && markdown.length > 0) {
|
||||
console.warn('⚠️ 所有内容都是think标签,将使用原始文本');
|
||||
cleanedMarkdown = markdown;
|
||||
}
|
||||
|
||||
const jobRegex = /``` job-json\s*({[\s\S]*?})\s*```/g;
|
||||
const jobs = [];
|
||||
let match;
|
||||
@@ -587,7 +596,7 @@ function extractSpeechText(markdown) {
|
||||
let firstJobStartIndex = -1;
|
||||
|
||||
// 提取岗位 json 数据及前后位置
|
||||
while ((match = jobRegex.exec(markdown)) !== null) {
|
||||
while ((match = jobRegex.exec(cleanedMarkdown)) !== null) {
|
||||
const jobStr = match[1];
|
||||
try {
|
||||
const job = JSON.parse(jobStr);
|
||||
@@ -608,12 +617,12 @@ function extractSpeechText(markdown) {
|
||||
|
||||
// 提取引导语(第一个 job-json 之前的文字)
|
||||
const guideText = firstJobStartIndex > 0 ?
|
||||
markdown.slice(0, firstJobStartIndex).trim() :
|
||||
cleanedMarkdown.slice(0, firstJobStartIndex).trim() :
|
||||
'';
|
||||
|
||||
// 提取结束语(最后一个 job-json 之后的文字)
|
||||
const endingText = lastJobEndIndex < markdown.length ?
|
||||
markdown.slice(lastJobEndIndex).trim() :
|
||||
const endingText = lastJobEndIndex < cleanedMarkdown.length ?
|
||||
cleanedMarkdown.slice(lastJobEndIndex).trim() :
|
||||
'';
|
||||
|
||||
console.log('📝 Guide text:', guideText);
|
||||
|
||||
@@ -673,14 +673,15 @@ const scrollToBottom = throttle(function () {
|
||||
}, 500);
|
||||
|
||||
function getGuess() {
|
||||
// $api.chatRequest('/guest', { sessionId: chatSessionID.value }, 'POST').then((res) => {
|
||||
$api.chatRequest('/guest', undefined, 'POST').then((res) => {
|
||||
$api.chatRequest('/guest', { sessionId: chatSessionID.value }, 'POST').then((res) => {
|
||||
console.log('getGuess ---- res:', res);
|
||||
guessList.value = res.data;
|
||||
showGuess.value = true;
|
||||
nextTick(() => {
|
||||
scrollToBottom();
|
||||
});
|
||||
}).catch((err) => {
|
||||
console.warn('getGuess 请求失败:', err);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -80,20 +80,20 @@
|
||||
name: ""
|
||||
}
|
||||
}
|
||||
$api.myRequest('/auth/login2/ks',form,'post',10100).then((res) => {
|
||||
if (res.code=='200') {
|
||||
uni.setStorageSync('Padmin-Token', res.data.access_token)
|
||||
uni.navigateBack({
|
||||
delta:2
|
||||
})
|
||||
}
|
||||
}).catch(() => {
|
||||
uni.hideLoading()
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '登录失败,请重试'
|
||||
})
|
||||
})
|
||||
// $api.myRequest('/auth/login2/ks',form,'post',10100).then((res) => {
|
||||
// if (res.code=='200') {
|
||||
// uni.setStorageSync('Padmin-Token', res.data.access_token)
|
||||
// uni.navigateBack({
|
||||
// delta:2
|
||||
// })
|
||||
// }
|
||||
// }).catch(() => {
|
||||
// uni.hideLoading()
|
||||
// uni.showToast({
|
||||
// icon: 'none',
|
||||
// title: '登录失败,请重试'
|
||||
// })
|
||||
// })
|
||||
})
|
||||
|
||||
function register() {
|
||||
|
||||
@@ -15,9 +15,9 @@ const needToEncryptSet = new Set([
|
||||
]);
|
||||
|
||||
const encryptPathPrefixes = [
|
||||
'/app/common/',
|
||||
// '/app/common/',
|
||||
'/app/chat/',
|
||||
'/app/speech/',
|
||||
// '/app/speech/',
|
||||
'/app/job/',
|
||||
'/app/company/',
|
||||
'/app/companycontact/',
|
||||
@@ -62,6 +62,7 @@ const handleResponseData = (resData) => {
|
||||
if (resData?.encrypted) {
|
||||
const decrypted = sm4Decrypt(config.sm4Config.key, resData.encryptedData);
|
||||
resData = JSON.parse(decrypted);
|
||||
console.log('[请求] 解密后数据:', resData);
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('[请求] 解密失败:', e.message);
|
||||
|
||||
@@ -37,6 +37,7 @@ function StreamRequestMiniProgram(url, data = {}, onDataReceived, onError, onCom
|
||||
return new Promise((resolve, reject) => {
|
||||
let buffer = '';
|
||||
let hasReceivedContent = false;
|
||||
let isCompleted = false;
|
||||
|
||||
const requestTask = uni.request({
|
||||
url: config.StreamBaseURl + url,
|
||||
@@ -50,8 +51,11 @@ function StreamRequestMiniProgram(url, data = {}, onDataReceived, onError, onCom
|
||||
enableChunked: true, // 启用分块传输
|
||||
success: (res) => {
|
||||
console.log('📡 Stream request completed');
|
||||
onComplete && onComplete();
|
||||
resolve();
|
||||
if (!isCompleted) {
|
||||
isCompleted = true;
|
||||
onComplete && onComplete();
|
||||
resolve();
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('Stream 请求失败:', err);
|
||||
@@ -181,8 +185,11 @@ function StreamRequestMiniProgram(url, data = {}, onDataReceived, onError, onCom
|
||||
console.log('📄 提取的JSON数据:', jsonData);
|
||||
if (jsonData === "[DONE]") {
|
||||
console.log('✅ 收到结束标记 [DONE]');
|
||||
onComplete && onComplete();
|
||||
resolve();
|
||||
if (!isCompleted) {
|
||||
isCompleted = true;
|
||||
onComplete && onComplete();
|
||||
resolve();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user