refactor(create-assistant): 调整按钮样式并改进变量声明

- 重构`createAssistant`方法中的变量声明,使用`const`代替`let`以提高代码的可读性和一致性。
- 调整`v-btn`组件的属性顺序,以增强代码的整洁性。

refactor(index): 移动console.log位置以优化代码可读性

- 重置`console.log`声明的位置,以提升代码的可读性和整洁性。

refactor(user-store): 标准化变量命名和更新数据处理方式

- 更新`user`模块的登录方法中的变量命名,使用`const`和`accessToken`, `refreshToken`等命名方式,以保持代码风格的一致性。
- 优化JWT解析和数据更新流程,以增强代码的清晰度和可维护性。

refactor(user-store): 优化异步请求和数据构建处理

- 使用`const`代替`let`进行异步请求,以优化代码的规范性和可读性。
- 调整数据构建流程,使用`const`初始化`URLSearchParams`,以提升代码质量和一致性。
This commit is contained in:
ivamp 2024-08-03 16:11:05 +08:00
parent dfb3f27e7b
commit e67d1dbb6b
3 changed files with 21 additions and 22 deletions

View File

@ -21,7 +21,7 @@
label="助理提示语" label="助理提示语"
required required
></v-textarea> ></v-textarea>
<v-btn @click="createAssistant" color="primary">创建</v-btn> <v-btn color="primary" @click="createAssistant">创建</v-btn>
</v-form> </v-form>
</v-card-text> </v-card-text>
</v-card> </v-card>
@ -56,7 +56,7 @@ const createdID = ref(0);
const createAssistant = async () => { const createAssistant = async () => {
try { try {
let assistant = await api.Assistant.apiV1AssistantsPost({ const assistant = await api.Assistant.apiV1AssistantsPost({
name: name.value, name: name.value,
prompt: prompt.value, prompt: prompt.value,
description: description.value, description: description.value,

View File

@ -24,9 +24,9 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
console.log("this is index");
import { useUserStore } from "@/stores/user"; import { useUserStore } from "@/stores/user";
console.log("this is index");
const userStore = useUserStore(); const userStore = useUserStore();
function refresh() { function refresh() {

View File

@ -21,24 +21,24 @@ export const useUserStore = defineStore("user", {
}), }),
actions: { actions: {
login( login(
id_token: string, idToken: string,
access_token: string, accessToken: string,
refresh_token: string, refreshToken: string,
expired_at: number, expiredAt: number,
) { ) {
let id_token_parts = id_token.split("."); const idTokenParts = idToken.split(".");
let id_token_payload = JSON.parse(atob(id_token_parts[1])); const idTokenPayload = JSON.parse(atob(idTokenParts[1]));
expired_at = Date.now() + expired_at * 1000; expiredAt = Date.now() + expiredAt * 1000;
this.expired_at = expired_at; this.expired_at = expiredAt;
this.refresh_token = refresh_token; this.refresh_token = refreshToken;
this.access_token = access_token; this.access_token = accessToken;
this.id_token = id_token; this.id_token = idToken;
this.user.email = id_token_payload.email; this.user.email = idTokenPayload.email;
this.user.name = id_token_payload.name; this.user.name = idTokenPayload.name;
this.user.id = id_token_payload.sub; this.user.id = idTokenPayload.sub;
this.logined = true; this.logined = true;
}, },
setupTimer() { setupTimer() {
@ -60,11 +60,11 @@ export const useUserStore = defineStore("user", {
async refresh() { async refresh() {
const configStore = useConfigStore(); const configStore = useConfigStore();
let discovery = await axios.get(configStore.oauth_discovery_url); const discovery = await axios.get(configStore.oauth_discovery_url);
// post /oauth/token to refresh // post /oauth/token to refresh
// 构建 form 参数 // 构建 form 参数
let data = new URLSearchParams(); const data = new URLSearchParams();
data.set("grant_type", "refresh_token"); data.set("grant_type", "refresh_token");
data.set("refresh_token", this.refresh_token); data.set("refresh_token", this.refresh_token);
data.set("client_id", configStore.oauth_client_id); data.set("client_id", configStore.oauth_client_id);
@ -82,13 +82,12 @@ export const useUserStore = defineStore("user", {
}) })
.catch((error) => { .catch((error) => {
// if 401 // if 401
if (error.response.status == 401) { if (error.response.status === 401) {
console.log("Refresh token failed"); console.log("Refresh token failed");
} }
// logout // logout
this.logout(); this.logout();
clearInterval(timer); clearInterval(timer);
return;
}); });
}, },
logout() { logout() {