瀏覽代碼

tsconfig 添加baseUrl

JXDS18FUJT 2 年之前
父節點
當前提交
9cb464ea57
共有 5 個文件被更改,包括 62 次插入34 次删除
  1. 9 1
      src/api/index.ts
  2. 15 0
      src/api/type.d.ts
  3. 5 3
      src/utils/request.ts
  4. 32 30
      src/views/videokindList/index.tsx
  5. 1 0
      tsconfig.json

+ 9 - 1
src/api/index.ts

@@ -1,7 +1,7 @@
 import { AxiosPromise, AxiosResponse } from "axios";
 import request from "~/utils/request";
 const api = {
-
+    //公众号登陆
     loginGzhcode: (params: {
         authorizationCode: string
     }) => {
@@ -15,6 +15,7 @@ const api = {
         })
 
     },
+    //获取视频列表
     studentVideoTeachingList: (params: {
         state: 0 | 1,
         videoSubject: number
@@ -25,6 +26,13 @@ const api = {
             method: 'get',
             params
         })
+    },
+    //获取用户信息
+    studentUserInfo():AxiosPromise<studentUserInfoRes>{
+        return request({
+            url: "student/user/info",
+            method: 'get'
+        })
     }
 
 }

+ 15 - 0
src/api/type.d.ts

@@ -16,4 +16,19 @@ interface StudentVideoTeachingListRes extends Res{
 
     }[]
 
+}
+
+interface studentUserInfoRes extends Res{
+    total:number
+    data:{
+        createTime:string
+        id:number
+        state:0|1
+        updateTime:string
+        headImage:string
+        nickName:string
+        unionId:string
+
+    }
+
 }

+ 5 - 3
src/utils/request.ts

@@ -7,10 +7,10 @@ request.interceptors.request.use((config) => {
 	console.log(config)
 	let token = window.localStorage.getItem("token")
 	// 是否需要设置 token
-	if (config.headers.isLogin == '1'||!token) {
+	if (config.headers.isLogin == '1' || !token) {
 		config.headers["Authorization"] = ""; // 让每个请求携带自定义token 请根据实际情况自行修改
 	}
-	else{
+	else {
 		config.headers["Authorization"] = ("Bearer " + token);
 	}
 
@@ -23,7 +23,7 @@ request.interceptors.response.use((res) => {
 	if (res && res.data) {
 		switch (res.data.code) {
 			case 401:
-				
+
 				// Toast("登录失败,需要再次登录")
 				window.setTimeout(() => {
 
@@ -45,6 +45,8 @@ request.interceptors.response.use((res) => {
 					location.replace("https://nbjk1-h5.zzxcx.net/")
 				}
 
+				break;
+			default:
 				break;
 		}
 

+ 32 - 30
src/views/videokindList/index.tsx

@@ -1,13 +1,14 @@
 import './index.less'
 import React, { useEffect, useState } from "react";
-import { Link } from 'react-router-dom';
+
+import { Link, useHistory } from 'react-router-dom';
 import kemu1 from './../../assets/images/kemu1.png'
 import kemu2 from './../../assets/images/kemu2.png'
 import kemu3 from './../../assets/images/kemu3.png'
 import kemu4 from './../../assets/images/kemu4.png'
 import api from '~/api'
 export const VideoKindList: React.FC = (props: any) => {
-    const [list,setList] =useState([{
+    const [list, setList] = useState([{
         image: kemu1,
         title: "科目一"
     }, {
@@ -20,48 +21,49 @@ export const VideoKindList: React.FC = (props: any) => {
         image: kemu4,
         title: "科目四"
     }])
-    useEffect(()=>{
-        
+    useEffect(() => {
+
         let query = new URLSearchParams(window.location.search)
-        if(query.get("state")=='LOGIN'){
-            window.localStorage.setItem("token","")
+        api.studentUserInfo()
+        if (query.get("state") == 'LOGIN') {
             api.loginGzhcode({
-                authorizationCode:query.get("code")||""
-            }).then(res=>{
-               
-                window.localStorage.setItem("token",res.data.data.token)
+                authorizationCode: query.get("code") || ""
+            }).then(res => {
+                window.localStorage.setItem("token", res.data.data.token)
+                window.location.replace('/')
                 console.log(res.data.data.token)
             })
         }
-       
-        
 
 
 
 
-    })
+
+
+
+    }, [])
     return (
         <div className="videokindList">
-             <div className="list">
-                    {
-                        list.map((item, index) => {
-                            return (
-                                <Link key={index} to={
-                                    './videoList?subject='+(index+1)
-                                }>
-                                    <div className="list-item" key={index}>
-                                        <img className="list-item-img" src={item.image} alt="图片" />
-                                        <span className="list-item-text top54 ">{item.title}</span>
-                                        <span className="list-item-text top128 left40">《视频讲解》</span>
-                                    </div>
-                                </Link>
+            <div className="list">
+                {
+                    list.map((item, index) => {
+                        return (
+                            <Link key={index} to={
+                                './videoList?subject=' + (index + 1)
+                            }>
+                                <div className="list-item" key={index}>
+                                    <img className="list-item-img" src={item.image} alt="图片" />
+                                    <span className="list-item-text top54 ">{item.title}</span>
+                                    <span className="list-item-text top128 left40">《视频讲解》</span>
+                                </div>
+                            </Link>
 
 
-                            )
-                        })
+                        )
+                    })
 
-                    }
-                </div>
+                }
+            </div>
         </div>
     )
 

+ 1 - 0
tsconfig.json

@@ -1,5 +1,6 @@
 {
   "compilerOptions": {
+    "baseUrl": "./",
     "target": "ESNext",
     "lib": ["DOM", "DOM.Iterable", "ESNext"],
     "types": ["vite/client"],