diff --git a/_db/dbstructure_v1.6.sql b/_db/dbstructure_v1.6.sql
index c58ab3e9..b1d4281e 100644
--- a/_db/dbstructure_v1.6.sql
+++ b/_db/dbstructure_v1.6.sql
@@ -662,6 +662,133 @@ INSERT INTO `downloadspeed` VALUES (1,'64kbps'),(2,'128kbps'),(3,'256kbps'),(4,'
/*!40000 ALTER TABLE `downloadspeed` ENABLE KEYS */;
UNLOCK TABLES;
+--
+-- Table structure for table `exam_progress`
+--
+
+DROP TABLE IF EXISTS `exam_progress`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `exam_progress` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `exam_user_id` int(11) NOT NULL,
+ `exam_id` int(11) NOT NULL,
+ `uid` int(11) NOT NULL,
+ `torrent_id` int(11) NOT NULL,
+ `index` int(11) NOT NULL,
+ `value` bigint(20) NOT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `exam_progress_created_at_index` (`created_at`),
+ KEY `exam_progress_exam_user_id_index` (`exam_user_id`),
+ KEY `exam_progress_exam_id_index` (`exam_id`),
+ KEY `exam_progress_uid_index` (`uid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `exam_progress`
+--
+
+LOCK TABLES `exam_progress` WRITE;
+/*!40000 ALTER TABLE `exam_progress` DISABLE KEYS */;
+/*!40000 ALTER TABLE `exam_progress` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `exam_users`
+--
+
+DROP TABLE IF EXISTS `exam_users`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `exam_users` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `uid` int(11) NOT NULL,
+ `exam_id` int(11) NOT NULL,
+ `status` int(11) NOT NULL DEFAULT '0',
+ `begin` datetime DEFAULT NULL,
+ `end` datetime DEFAULT NULL,
+ `progress` text COLLATE utf8mb4_unicode_ci,
+ `is_done` tinyint(4) NOT NULL DEFAULT '0',
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ KEY `exam_users_uid_index` (`uid`),
+ KEY `exam_users_exam_id_index` (`exam_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `exam_users`
+--
+
+LOCK TABLES `exam_users` WRITE;
+/*!40000 ALTER TABLE `exam_users` DISABLE KEYS */;
+/*!40000 ALTER TABLE `exam_users` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `exams`
+--
+
+DROP TABLE IF EXISTS `exams`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `exams` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `description` text COLLATE utf8mb4_unicode_ci,
+ `begin` datetime DEFAULT NULL,
+ `end` datetime DEFAULT NULL,
+ `filters` text COLLATE utf8mb4_unicode_ci,
+ `indexes` text COLLATE utf8mb4_unicode_ci NOT NULL,
+ `status` tinyint(4) NOT NULL DEFAULT '0',
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `exams`
+--
+
+LOCK TABLES `exams` WRITE;
+/*!40000 ALTER TABLE `exams` DISABLE KEYS */;
+/*!40000 ALTER TABLE `exams` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `failed_jobs`
+--
+
+DROP TABLE IF EXISTS `failed_jobs`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `failed_jobs` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
+ `queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
+ `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
+ `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
+ `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `failed_jobs`
+--
+
+LOCK TABLES `failed_jobs` WRITE;
+/*!40000 ALTER TABLE `failed_jobs` DISABLE KEYS */;
+/*!40000 ALTER TABLE `failed_jobs` ENABLE KEYS */;
+UNLOCK TABLES;
+
--
-- Table structure for table `faq`
--
@@ -1128,6 +1255,30 @@ LOCK TABLES `messages` WRITE;
/*!40000 ALTER TABLE `messages` ENABLE KEYS */;
UNLOCK TABLES;
+--
+-- Table structure for table `migrations`
+--
+
+DROP TABLE IF EXISTS `migrations`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `migrations` (
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+ `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `batch` int(11) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `migrations`
+--
+
+LOCK TABLES `migrations` WRITE;
+/*!40000 ALTER TABLE `migrations` DISABLE KEYS */;
+/*!40000 ALTER TABLE `migrations` ENABLE KEYS */;
+UNLOCK TABLES;
+
--
-- Table structure for table `modpanel`
--
@@ -1309,6 +1460,38 @@ LOCK TABLES `peers` WRITE;
/*!40000 ALTER TABLE `peers` ENABLE KEYS */;
UNLOCK TABLES;
+--
+-- Table structure for table `personal_access_tokens`
+--
+
+DROP TABLE IF EXISTS `personal_access_tokens`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!40101 SET character_set_client = utf8 */;
+CREATE TABLE `personal_access_tokens` (
+ `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ `tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `tokenable_id` bigint(20) unsigned NOT NULL,
+ `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
+ `abilities` text COLLATE utf8mb4_unicode_ci,
+ `last_used_at` timestamp NULL DEFAULT NULL,
+ `created_at` timestamp NULL DEFAULT NULL,
+ `updated_at` timestamp NULL DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
+ KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `personal_access_tokens`
+--
+
+LOCK TABLES `personal_access_tokens` WRITE;
+/*!40000 ALTER TABLE `personal_access_tokens` DISABLE KEYS */;
+/*!40000 ALTER TABLE `personal_access_tokens` ENABLE KEYS */;
+UNLOCK TABLES;
+
--
-- Table structure for table `pmboxes`
--
@@ -2484,4 +2667,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
--- Dump completed on 2021-03-18 20:25:39
+-- Dump completed on 2021-04-30 1:17:11
diff --git a/admin/src/components/Header.vue b/admin/src/components/Header.vue
index 069e674c..11bb13cf 100644
--- a/admin/src/components/Header.vue
+++ b/admin/src/components/Header.vue
@@ -38,9 +38,6 @@ import api from "../utils/api";
export default {
name: 'Header',
props: {
- userInfo: {
- type: Object
- }
},
setup(props, context) {
const router = useRouter()
@@ -54,14 +51,10 @@ export default {
onMounted(async () => {
console.log("Head onMounted!")
console.log(props)
- // let userInfo = localGet(userInfoKey);
- // if (userInfo) {
- // state.userInfo = userInfo;
- // } else {
- // let res = await api.getUserBase()
- // state.userInfo = res.data
- // localSet(userInfoKey, res.data)
- // }
+ let userInfo = localGet(userInfoKey);
+ if (userInfo) {
+ state.userInfo = userInfo;
+ }
})
const logout = () => {
api.logout().then(() => {
@@ -74,13 +67,9 @@ export default {
router.back()
}
router.afterEach((to) => {
- console.log("Head afterEach to", to)
+ // console.log("Head afterEach to", to)
const { id } = to.query
state.name = pathMap[to.name]
- if (id && to.name == 'add') {
- state.name = '编辑商品'
- }
- state.hasBack = ['level2', 'level3', 'order_detail'].includes(to.name)
})
return {
...toRefs(state),
diff --git a/admin/src/utils/axios.js b/admin/src/utils/axios.js
index ccfcb7f2..ecc3cb36 100644
--- a/admin/src/utils/axios.js
+++ b/admin/src/utils/axios.js
@@ -1,6 +1,7 @@
import axios from 'axios'
import { ElMessage } from 'element-plus'
-import {localGet} from "./index";
+import {localGet} from "./index"
+import router from '../router/index'
axios.defaults.baseURL = 'http://nexus-php8.tinyhd.net/api'
axios.defaults.withCredentials = true
@@ -9,8 +10,14 @@ axios.defaults.headers['Content-Type'] = 'application/json'
axios.defaults.headers['Accept'] = 'application/json'
axios.defaults.headers['Authorization'] = 'Bearer ' + localGet('token')
-// 请求拦截器,内部根据返回值,重新组装,统一管理。
+// axios.interceptors.request.use(config => {
+// // console.log('before request', config)
+// config.headers['Authorization'] = 'Bearer ' + localGet('token')
+// return config
+// })
+
axios.interceptors.response.use(res => {
+ console.log(res)
if (typeof res.data !== 'object') {
ElMessage.error('Server Error 1')
return Promise.reject(res)
@@ -21,7 +28,14 @@ axios.interceptors.response.use(res => {
}
return res.data
}, error => {
- ElMessage.error(error.response.data.msg || 'Server Error 2')
+ let res = error.response;
+ console.log(res)
+ if (res.status == 401) {
+ router.push({
+ name: 'login'
+ })
+ }
+ ElMessage.error(res.data.msg || 'Server Error 2')
return Promise.reject(error)
})
diff --git a/admin/src/views/exam/index.vue b/admin/src/views/exam/index.vue
index 9c391fd4..14ffe7f7 100644
--- a/admin/src/views/exam/index.vue
+++ b/admin/src/views/exam/index.vue
@@ -122,6 +122,7 @@ export default {
const state = useTable()
onMounted(() => {
+ console.log('ExamTable onMounted')
fetchTableData()
})
// 获取轮播图列表
diff --git a/admin/src/views/login.vue b/admin/src/views/login.vue
index 145156e8..048647c2 100644
--- a/admin/src/views/login.vue
+++ b/admin/src/views/login.vue
@@ -5,15 +5,15 @@