fix: 修复token和用户信息问题
This commit is contained in:
parent
c2fcf9c0e2
commit
a21420754c
1
env/.env
vendored
1
env/.env
vendored
@ -8,6 +8,7 @@ VITE_DEV_TOKEN= ""
|
|||||||
VITE_APP_PUBLIC_BASE=/
|
VITE_APP_PUBLIC_BASE=/
|
||||||
|
|
||||||
VITE_SERVER_BASEURL = 'http://114.218.158.24:9020'
|
VITE_SERVER_BASEURL = 'http://114.218.158.24:9020'
|
||||||
|
# VITE_SERVER_BASEURL = 'https://oa-b.szjixun.cn/api'
|
||||||
VITE_UPLOAD_BASEURL = 'http://114.218.158.24:9020'
|
VITE_UPLOAD_BASEURL = 'http://114.218.158.24:9020'
|
||||||
|
|
||||||
# 有些同学可能需要在微信小程序里面根据 develop、trial、release 分别设置上传地址,参考代码如下。
|
# 有些同学可能需要在微信小程序里面根据 develop、trial、release 分别设置上传地址,参考代码如下。
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<div class="flex flex-col h-screen bg-#ffffff tops">
|
<div class="flex flex-col h-screen bg-#ffffff tops">
|
||||||
<!-- Navigation Bar -->
|
<!-- Navigation Bar -->
|
||||||
<div
|
<div
|
||||||
class="flex-none flex items-center justify-between px-5 pb-6 bg-white shadow-md h-20 pt-15 z-999 fixed top-0 w-full box-border"
|
class="flex-none flex items-center justify-between px-5 pb-2 bg-white shadow-md pt-2 z-999 fixed top-0 w-full box-border"
|
||||||
>
|
>
|
||||||
<image src="/static/aichat/black.png" class="w-3 h-4.5" @click="goBack" />
|
<image src="/static/aichat/black.png" class="w-3 h-4.5" @click="goBack" />
|
||||||
<div class="text-lg font-medium ml-12">小墨</div>
|
<div class="text-lg font-medium ml-12">小墨</div>
|
||||||
@ -21,7 +21,6 @@
|
|||||||
<image src="/static/aichat/new.png" class="w-5 h-5" @click="newChat" />
|
<image src="/static/aichat/new.png" class="w-5 h-5" @click="newChat" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 消息区 -->
|
<!-- 消息区 -->
|
||||||
<div
|
<div
|
||||||
:class="[
|
:class="[
|
||||||
@ -37,6 +36,12 @@
|
|||||||
<image src="/static/aichat/logo.png" class="w-20 h-24 mb-4" @click="newChat" />
|
<image src="/static/aichat/logo.png" class="w-20 h-24 mb-4" @click="newChat" />
|
||||||
<view class="text-xl font-medium mb-1">嗨! 我是小墨</view>
|
<view class="text-xl font-medium mb-1">嗨! 我是小墨</view>
|
||||||
<view class="text-gray-400">开启新的聊天吧</view>
|
<view class="text-gray-400">开启新的聊天吧</view>
|
||||||
|
<view
|
||||||
|
class="text-gray-400"
|
||||||
|
style="max-width: 200px; overflow: auto; text-overflow: ellipsis; white-space: nowrap"
|
||||||
|
>
|
||||||
|
{{ chatUserInfo }}
|
||||||
|
</view>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
@ -514,7 +519,6 @@ import {
|
|||||||
import 'dayjs/locale/zh-cn'
|
import 'dayjs/locale/zh-cn'
|
||||||
import { showToastErr, showToastOk, time_format3 } from '@/utils/tools'
|
import { showToastErr, showToastOk, time_format3 } from '@/utils/tools'
|
||||||
import { uploadFileChunk } from './utils/api.js'
|
import { uploadFileChunk } from './utils/api.js'
|
||||||
// import { TOKEN, AVATAR } from './utils/test'
|
|
||||||
import { deepClone } from 'wot-design-uni/components/common/util'
|
import { deepClone } from 'wot-design-uni/components/common/util'
|
||||||
import VConsole from 'vconsole'
|
import VConsole from 'vconsole'
|
||||||
|
|
||||||
@ -627,7 +631,7 @@ async function createChatSession() {
|
|||||||
gptModel: chatMode.value,
|
gptModel: chatMode.value,
|
||||||
},
|
},
|
||||||
header: {
|
header: {
|
||||||
Authorization: token.value,
|
Authorization: chatToken.value,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
// 如果后台返回新的会话信息,可以在这里处理,比如拿到 listUuid 等
|
// 如果后台返回新的会话信息,可以在这里处理,比如拿到 listUuid 等
|
||||||
@ -669,9 +673,7 @@ async function fetchHistoryList() {
|
|||||||
page: state.page,
|
page: state.page,
|
||||||
pageSize: state.pageSize,
|
pageSize: state.pageSize,
|
||||||
},
|
},
|
||||||
header: {
|
header: {},
|
||||||
// Authorization: token.value,
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
if (resp.data.code == 0 && resp.data.data) {
|
if (resp.data.code == 0 && resp.data.data) {
|
||||||
if (rawList.value.length > 0) {
|
if (rawList.value.length > 0) {
|
||||||
@ -731,9 +733,7 @@ async function fetchHistoryDiets(value) {
|
|||||||
listUuid: value,
|
listUuid: value,
|
||||||
gptModel: chatMode.value,
|
gptModel: chatMode.value,
|
||||||
},
|
},
|
||||||
header: {
|
header: {},
|
||||||
// Authorization: token.value,
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
if (resp.data.status === 0 && resp.data && resp.data.data) {
|
if (resp.data.status === 0 && resp.data && resp.data.data) {
|
||||||
const rawList = resp?.data?.data?.detail // 假设后端直接返回消息数组
|
const rawList = resp?.data?.data?.detail // 假设后端直接返回消息数组
|
||||||
@ -1004,35 +1004,29 @@ function tryParseMapFormat(str: string): ParsedPart[] | null {
|
|||||||
return result.length > 0 ? result : null
|
return result.length > 0 ? result : null
|
||||||
}
|
}
|
||||||
|
|
||||||
const token = ref<string>()
|
const chatToken = ref<string>()
|
||||||
const userInfo = ref<any>({})
|
const chatUserInfo = ref<any>({})
|
||||||
const refreshToken = ref<string>('')
|
const refreshToken = ref<string>('')
|
||||||
const statusBarHeight = ref<number>(0)
|
const statusBarHeight = ref<number>(0)
|
||||||
const mask = ref('')
|
const mask = ref('')
|
||||||
// ---- 页面初始化 ----
|
// ---- 页面初始化 ----
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
|
const { token } = await window.NativeBridge.getAccessToken()
|
||||||
|
const { user } = await window.NativeBridge.call('auth.getUser')
|
||||||
|
chatToken.value = token
|
||||||
|
chatUserInfo.value = user
|
||||||
// 1. 定义一个 init 函数,拿 Extras 并依次调用接口
|
// 1. 定义一个 init 函数,拿 Extras 并依次调用接口
|
||||||
try {
|
try {
|
||||||
const init = async () => {
|
const init = async () => {
|
||||||
const wv = plus.webview.currentWebview() // 获取当前页面所属的 Webview 对象。
|
const wv = plus.webview.currentWebview() // 获取当前页面所属的 Webview 对象。
|
||||||
token.value =
|
userAvatar.value = chatUserInfo.value.Avatar
|
||||||
wv.token ||
|
mask.value = chatUserInfo.value.ID
|
||||||
uni.getStorageSync('token') ||
|
|
||||||
store.userInfo.token ||
|
|
||||||
import.meta.env.VITE_DEV_TOKEN
|
|
||||||
userInfo.value = JSON.parse(wv.userInfo) || {}
|
|
||||||
refreshToken.value = wv.refreshToken || uni.getStorageSync('refreshToken')
|
|
||||||
statusBarHeight.value = wv.statusBarHeight || uni.getSystemInfoSync().statusBarHeight
|
|
||||||
userAvatar.value = userInfo.value.Avatar
|
|
||||||
mask.value = userInfo.value.ID
|
|
||||||
store.setUserInfo({
|
store.setUserInfo({
|
||||||
token: token.value,
|
token: chatToken.value,
|
||||||
avatar: userInfo.value.Avatar,
|
avatar: chatUserInfo.value.Avatar,
|
||||||
refreshToken: refreshToken.value,
|
|
||||||
statusBarHeight: statusBarHeight.value,
|
|
||||||
})
|
})
|
||||||
if (userInfo.value.TelNum === '18639432358') {
|
if (chatUserInfo.value.TelNum === '18639432358') {
|
||||||
new VConsole()
|
new VConsole()
|
||||||
}
|
}
|
||||||
await createChatSession()
|
await createChatSession()
|
||||||
@ -1041,12 +1035,7 @@ onMounted(async () => {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('onMounted e: ', e)
|
console.error('onMounted e: ', e)
|
||||||
} finally {
|
} finally {
|
||||||
// store.userInfo.token = ''
|
|
||||||
// token.value = store.userInfo.token
|
|
||||||
}
|
}
|
||||||
// if (JSON.parse(uni.getStorageSync('userInfo'))?.NickName === '常东方') {
|
|
||||||
// new VConsole()
|
|
||||||
// }
|
|
||||||
})
|
})
|
||||||
|
|
||||||
function scrollToBottom() {
|
function scrollToBottom() {
|
||||||
@ -1908,12 +1897,11 @@ const send = async (body) => {
|
|||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
Authorization: token.value,
|
Authorization: chatToken.value,
|
||||||
},
|
},
|
||||||
body: JSON.stringify(body),
|
body: JSON.stringify(body),
|
||||||
signal: signal,
|
signal: signal,
|
||||||
})
|
})
|
||||||
// console.log(resp)
|
|
||||||
|
|
||||||
const reader = resp.body!.getReader()
|
const reader = resp.body!.getReader()
|
||||||
const decoder = new TextDecoder()
|
const decoder = new TextDecoder()
|
||||||
@ -1922,8 +1910,6 @@ const send = async (body) => {
|
|||||||
|
|
||||||
while (!done) {
|
while (!done) {
|
||||||
if (stopStreamMsg) {
|
if (stopStreamMsg) {
|
||||||
// 立刻停下
|
|
||||||
// reader.cancel();
|
|
||||||
controller.abort()
|
controller.abort()
|
||||||
stopStreamMsg = false
|
stopStreamMsg = false
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user