408249787@qq.com 10 시간 전
부모
커밋
3b348b5238

+ 3 - 1
.cool/store/user.ts

@@ -35,7 +35,9 @@ export class User {
 
 		// 如果token为空字符串则置为null
 		this.token = token == "" ? 'Basic ZW5kOmVuZA==' : token;
-
+		if (this.token == 'Basic ZW5kOmVuZA==') {
+			return;
+		}
 		// 初始化用户信息
 		if (userInfo != null && isObject(userInfo)) {
 			this.set(userInfo);

+ 4 - 4
App.uvue

@@ -8,11 +8,11 @@ export default {
 	onShow: function () {
 		console.log("App Show");
 
-		// 根据业务情况判断是否要预先调用
-		const { user } = useStore();
+		// // 根据业务情况判断是否要预先调用
+		// const { user } = useStore();
 
-		// 获取用户信息,未登录不执行
-		user.get();
+		// // 获取用户信息,未登录不执行
+		// user.get();
 	},
 	onHide: function () {
 		console.log("App Hide");

+ 2 - 2
config/proxy.ts

@@ -2,7 +2,7 @@ export const proxy = {
 	// 开发环境配置
 	dev: {
 		// 本地地址
-		target: "http://127.0.0.1:5001",
+		target: "http://127.0.0.1:5001/api",
 		changeOrigin: true,
 		rewrite: (path: string) => path.replace("/dev", "")
 	},
@@ -26,4 +26,4 @@ export const proxy = {
 	}
 };
 
-export const value = "prod";
+export const value = "api";

+ 33 - 9
pages/catalog/index.uvue

@@ -1,8 +1,8 @@
 <script lang="ts" setup>
 import { ref, onMounted } from 'vue'
 import { fetchSubjectAppInfo } from '@/services/subject/info'
-import { type SubjectCatalogResult, querySubjectCatalog } from '@/services/subject/catalog'
-import { type SubjectCourseResult, getSubjectCoursePage } from '@/services/subject/course'
+import { type SubjectCatalogResult, querySubjectCatalog, querySubjectCatalogNoLogin } from '@/services/subject/catalog'
+import { type SubjectCourseResult, getSubjectCoursePage, getSubjectCoursePageNoLogin } from '@/services/subject/course'
 import Lock from '@/components/lock.uvue'
 import Progress from './components/progress.uvue'
 import Back from '@/components/back.uvue'
@@ -10,6 +10,7 @@ import Loading from '@/components/loading.uvue'
 import { config } from '@/config'
 import { dict } from '@/.cool/store'
 import { router, debounce, user } from "@/.cool";
+import { type GetPage } from '@/services/types/index'
 
 const isLoading = ref(true)
 const visible = ref<boolean>(false)
@@ -18,10 +19,20 @@ const catalog = ref<SubjectCatalogResult>()
 const courseList = ref<SubjectCourseResult[]>()
 const record = ref<any>()
 async function getDataList() {
-  const id = dict.getValueByLabelMapByType('index_subject_id')['物理']
-  const res = await querySubjectCatalog({
-    subjectId: id
-  })
+  console.log(user.token)
+  let res: SubjectCatalogResult[] = []
+  const id = '69c49329091547710d451f9d'
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectCatalogNoLogin({
+      subjectId: id
+    })
+  } else {
+    res = await querySubjectCatalog({
+      subjectId: id
+    })
+  }
+
+  console.log(res)
   dataList.value = res || []
   catalog.value = catalog.value || res?.[0] as SubjectCatalogResult
   handleSelect(catalog.value)
@@ -59,9 +70,22 @@ async function handleSelect(val: SubjectCatalogResult) {
   catalog.value = val
   visible.value = false
   // courseList.value = []
-  const res = await getSubjectCoursePage({
-    catalogId: val.id, pageSize: 20
-  })
+  let res: GetPage<SubjectCourseResult> = {
+    total: 0,
+    rows: [],
+    pageNum: 1,
+    pageSize: 20,
+    pages: 0
+  }
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await getSubjectCoursePageNoLogin({
+      catalogId: val.id, pageSize: 20
+    })
+  } else {
+    res = await getSubjectCoursePage({
+      catalogId: val.id, pageSize: 20
+    })
+  }
   courseList.value = res.rows || []
   cardsScrollView.value.scrollTo({
     left: 0, // 减去顶部偏移

+ 30 - 9
pages/chinese/index.uvue

@@ -2,12 +2,13 @@
 import Back from '@/components/back.uvue'
 import Loading from '@/components/loading.uvue'
 import { ref, onMounted, computed } from 'vue'
-import { type SubjectCatalogResult, querySubjectCatalog } from '@/services/subject/catalog'
-import { type SubjectCourseResult, getSubjectCoursePage } from '@/services/subject/course'
+import { type SubjectCatalogResult, querySubjectCatalog, querySubjectCatalogNoLogin } from '@/services/subject/catalog'
+import { type SubjectCourseResult, getSubjectCoursePage, getSubjectCoursePageNoLogin } from '@/services/subject/course'
 import { config } from '@/config'
 import { dict } from '@/.cool/store'
 import { router, debounce, user } from "@/.cool";
 import Lock from '@/components/lock.uvue'
+import { type GetPage } from '@/services/types/index'
 
 const isLoading = ref(true)
 const dataList = ref<SubjectCatalogResult[]>([])
@@ -18,10 +19,16 @@ const pageNum = ref(1)
 const loading = ref(false)
 const finish = ref(false)
 async function getDataList() {
-
-  const res = await querySubjectCatalog({
-    subjectId: router.query().id
-  })
+  let res: SubjectCatalogResult[] = []
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectCatalogNoLogin({
+      subjectId: router.query().id
+    })
+  } else {
+    res = await querySubjectCatalog({
+      subjectId: router.query().id
+    })
+  }
   dataList.value = res || []
   catalog.value = res?.[0] as SubjectCatalogResult
   handleSelect(catalog.value)
@@ -39,9 +46,23 @@ async function handleSelect(val: SubjectCatalogResult) {
 }
 async function getInfo() {
   loading.value = true
-  const res = await getSubjectCoursePage({
-    catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value,
-  })
+  let res: GetPage<SubjectCourseResult> = {
+    total: 0,
+    rows: [],
+    pageNum: 1,
+    pageSize: 20,
+    pages: 0
+  }
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await getSubjectCoursePageNoLogin({
+      catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value,
+    })
+  } else {
+    res = await getSubjectCoursePage({
+      catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value,
+    })
+  }
+
   courseList.value = [...courseList.value, ...(res.rows || [])]
   loading.value = false
   finish.value = res.pages === pageNum.value

+ 29 - 8
pages/english/index.uvue

@@ -2,8 +2,9 @@
 import Back from '@/components/back.uvue'
 import Loading from '@/components/loading.uvue'
 import { ref, onMounted, nextTick, computed } from 'vue'
-import { type SubjectCatalogResult, querySubjectCatalog } from '@/services/subject/catalog'
-import { type SubjectCourseResult, getSubjectCoursePage } from '@/services/subject/course'
+import { type SubjectCatalogResult, querySubjectCatalog, querySubjectCatalogNoLogin } from '@/services/subject/catalog'
+import { type SubjectCourseResult, getSubjectCoursePage, getSubjectCoursePageNoLogin } from '@/services/subject/course'
+import { type GetPage } from '@/services/types/index'
 import { config } from '@/config'
 import { dict } from '@/.cool/store'
 import { router, debounce, user } from "@/.cool";
@@ -18,9 +19,16 @@ const pageNum = ref(1)
 const loading = ref(false)
 const finish = ref(false)
 async function getDataList() {
-  const res = await querySubjectCatalog({
-    subjectId: router.query().id
-  })
+  let res: SubjectCatalogResult[] = []
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectCatalogNoLogin({
+      subjectId: router.query().id
+    })
+  } else {
+    res = await querySubjectCatalog({
+      subjectId: router.query().id
+    })
+  }
   dataList.value = res || []
   catalog.value = res?.[0] as SubjectCatalogResult
   handleSelect(catalog.value)
@@ -38,9 +46,22 @@ async function handleSelect(val: SubjectCatalogResult) {
 }
 async function getInfo() {
   loading.value = true
-  const res = await getSubjectCoursePage({
-    catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value
-  })
+  let res: GetPage<SubjectCourseResult> = {
+    total: 0,
+    rows: [],
+    pageNum: 1,
+    pageSize: 20,
+    pages: 0
+  }
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await getSubjectCoursePageNoLogin({
+      catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value,
+    })
+  } else {
+    res = await getSubjectCoursePage({
+      catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value,
+    })
+  }
   courseList.value = [...courseList.value, ...(res.rows || [])]
   loading.value = false
   finish.value = res.pages === pageNum.value

+ 14 - 6
pages/index/components/chinese.uvue

@@ -1,17 +1,25 @@
 <script lang="ts" setup>
 import { ref, onMounted } from 'vue'
-import { querySubjectInfo } from '@/services/subject/info'
+import { querySubjectInfo, querySubjectInfoNoLogin } from '@/services/subject/info'
 import type { SubjectInfoResult } from '@/services/subject/info'
+import { router, debounce, user } from "@/.cool";
 
 import { config } from '@/config'
-import { router } from "@/.cool";
 const isLoading = ref(true)
 const dataList = ref<SubjectInfoResult[]>([])
 async function getDataList() {
-  const res = await querySubjectInfo({
-    delFlag: false,
-    subjectType: 'chinese'
-  })
+  let res: SubjectInfoResult[] = []
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectInfoNoLogin({
+      delFlag: false,
+      subjectType: 'chinese'
+    })
+  } else {
+    res = await querySubjectInfo({
+      delFlag: false,
+      subjectType: 'chinese'
+    })
+  }
   dataList.value = res
 }
 onMounted(async () => {

+ 14 - 6
pages/index/components/english.uvue

@@ -1,17 +1,25 @@
 <script lang="ts" setup>
 import { ref, onMounted } from 'vue'
-import { querySubjectInfo } from '@/services/subject/info'
+import { querySubjectInfo, querySubjectInfoNoLogin } from '@/services/subject/info'
 import type { SubjectInfoResult } from '@/services/subject/info'
+import { router, debounce, user } from "@/.cool";
 
 import { config } from '@/config'
-import { router } from "@/.cool";
 const isLoading = ref(true)
 const dataList = ref<SubjectInfoResult[]>([])
 async function getDataList() {
-  const res = await querySubjectInfo({
-    delFlag: false,
-    subjectType: 'english'
-  })
+  let res: SubjectInfoResult[] = []
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectInfoNoLogin({
+      delFlag: false,
+      subjectType: 'english'
+    })
+  } else {
+    res = await querySubjectInfo({
+      delFlag: false,
+      subjectType: 'english'
+    })
+  }
   dataList.value = res
 }
 onMounted(async () => {

+ 14 - 6
pages/index/components/math.uvue

@@ -1,17 +1,25 @@
 <script lang="ts" setup>
 import { ref, onMounted } from 'vue'
-import { querySubjectInfo } from '@/services/subject/info'
+import { querySubjectInfo, querySubjectInfoNoLogin } from '@/services/subject/info'
 import type { SubjectInfoResult } from '@/services/subject/info'
+import { router, debounce, user } from "@/.cool";
 
 import { config } from '@/config'
-import { router } from "@/.cool";
 const isLoading = ref(true)
 const dataList = ref<SubjectInfoResult[]>([])
 async function getDataList() {
-  const res = await querySubjectInfo({
-    delFlag: false,
-    subjectType: 'math'
-  })
+  let res: SubjectInfoResult[] = []
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectInfoNoLogin({
+      delFlag: false,
+      subjectType: 'math'
+    })
+  } else {
+    res = await querySubjectInfo({
+      delFlag: false,
+      subjectType: 'math'
+    })
+  }
   dataList.value = res
 }
 onMounted(async () => {

+ 15 - 9
pages/index/components/mix.uvue

@@ -1,17 +1,24 @@
 <script lang="ts" setup>
 import { ref, onMounted } from 'vue'
-import { querySubjectInfo } from '@/services/subject/info'
+import { querySubjectInfo, querySubjectInfoNoLogin } from '@/services/subject/info'
 import type { SubjectInfoResult } from '@/services/subject/info'
-
+import { router, debounce, user } from "@/.cool";
 import { config } from '@/config'
-import { router } from "@/.cool";
 const isLoading = ref(true)
 const dataList = ref<SubjectInfoResult[]>([])
 async function getDataList() {
-  const res = await querySubjectInfo({
-    delFlag: false,
-    subjectType: 'mix'
-  })
+  let res: SubjectInfoResult[] = []
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectInfoNoLogin({
+      delFlag: false,
+      subjectType: 'mix'
+    })
+  } else {
+    res = await querySubjectInfo({
+      delFlag: false,
+      subjectType: 'mix'
+    })
+  }
   dataList.value = res
 }
 onMounted(async () => {
@@ -38,8 +45,7 @@ function handleDetail(item: any) {
     <scroll-view class="scroll-view_H" direction="horizontal" :show-scrollbar="false">
       <view class="scroll-view-item_H bg-[white]" v-for="course in dataList || []" :key="course.id"
         @tap="handleDetail(course)">
-        <cl-image :src="course?.iconPath" mode="heightFix"
-          class="!w-full !h-[26vh] mb-[2px] rounded-xl"></cl-image>
+        <cl-image :src="course?.iconPath" mode="heightFix" class="!w-full !h-[26vh] mb-[2px] rounded-xl"></cl-image>
         <text class="text-[4vh] font-bold">{{
           course.mainTitle }}</text>
         <text class="text-[3vh] text-[#666]">{{

+ 30 - 4
pages/index/home.uvue

@@ -16,7 +16,30 @@ import { exchangeCode } from '@/services/user'
 const ui = useUi();
 const menuList = computed(() => {
 	return [
-		...dict.getChildrenList('index_subject_id'),
+		{
+			label: '物理',
+			code: 'physics'
+		},
+		{
+			label: '语文',
+			code: 'chinese'
+		},
+		{
+			label: '数学',
+			code: 'math'
+		},
+		{
+			label: '英语',
+			code: 'english'
+		},
+		{
+			label: '百度百科',
+			code: 'mix'
+		},
+		// {
+		// 	label: '娱乐',
+		// 	code: 'game'
+		// },
 		{
 			label: '少儿编程',
 			code: 'coding'
@@ -64,6 +87,9 @@ const visible3 = ref(false)
 const visible4 = ref(false)
 const visible5 = ref(false)
 onMounted(async () => {
+	if (!userInfo.value) {
+		return
+	}
 	if (!userInfo.value.wxOpenId) {
 		visible4.value = true
 		return
@@ -153,7 +179,7 @@ async function handleExchange() {
 
 			</view>
 		</view>
-		<cl-float-view :left="20" :bottom="100" v-if="!userInfo.roleCodes?.includes('show_time')">
+		<cl-float-view :left="20" :bottom="100" v-if="userInfo && !userInfo.roleCodes?.includes('show_time')">
 			<view
 				class="flex flex-col items-center p-1 px-4 justify-center gap-1 w-[40px] h-[40px] transition-all duration-300"
 				@tap="visible = true">
@@ -186,8 +212,8 @@ async function handleExchange() {
 				<view class="text-center " v-if="userInfo?.memberLevel !== 'default'">
 					<cl-text class="text-center" color="#999" :size="14">账号:小程序登录手机账号 </cl-text>
 					<cl-text class="text-center" color="#999" :size="14"> 密码:初始密码为123456 </cl-text>
-					<cl-text class="text-center" v-if="!userInfo.roleCodes?.includes('show_time')" color="#999"
-						:size="14">少儿编程网址: www.xiaoxiongcode.com </cl-text>
+					<cl-text class="text-center" v-if="userInfo && !userInfo.roleCodes?.includes('show_time')"
+						color="#999" :size="14">少儿编程网址: www.xiaoxiongcode.com </cl-text>
 					<cl-text class="text-center" v-else color="#999" :size="14">少儿编程网址: ************* </cl-text>
 					<cl-button type="primary" size="small" @tap="copyUrl"> 复制网址 </cl-button>
 				</view>

+ 30 - 8
pages/math/index.uvue

@@ -2,8 +2,9 @@
 import Back from '@/components/back.uvue'
 import Loading from '@/components/loading.uvue'
 import { ref, onMounted, computed } from 'vue'
-import { type SubjectCatalogResult, querySubjectCatalog } from '@/services/subject/catalog'
-import { type SubjectCourseResult, getSubjectCoursePage } from '@/services/subject/course'
+import { type SubjectCatalogResult, querySubjectCatalog, querySubjectCatalogNoLogin } from '@/services/subject/catalog'
+import { type SubjectCourseResult, getSubjectCoursePage, getSubjectCoursePageNoLogin } from '@/services/subject/course'
+import { type GetPage } from '@/services/types/index'
 import { config } from '@/config'
 import { dict } from '@/.cool/store'
 import { router, debounce, user } from "@/.cool";
@@ -18,9 +19,17 @@ const pageNum = ref(1)
 const loading = ref(false)
 const finish = ref(false)
 async function getDataList() {
-  const res = await querySubjectCatalog({
-    subjectId: router.query().id
-  })
+
+  let res: SubjectCatalogResult[] = []
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectCatalogNoLogin({
+      subjectId: router.query().id
+    })
+  } else {
+    res = await querySubjectCatalog({
+      subjectId: router.query().id
+    })
+  }
   dataList.value = res || []
   catalog.value = res?.[0] as SubjectCatalogResult
   handleSelect(catalog.value)
@@ -38,9 +47,22 @@ async function handleSelect(val: SubjectCatalogResult) {
 }
 async function getInfo() {
   loading.value = true
-  const res = await getSubjectCoursePage({
-    catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value
-  })
+  let res: GetPage<SubjectCourseResult> = {
+    total: 0,
+    rows: [],
+    pageNum: 1,
+    pageSize: 20,
+    pages: 0
+  }
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await getSubjectCoursePageNoLogin({
+      catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value,
+    })
+  } else {
+    res = await getSubjectCoursePage({
+      catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value,
+    })
+  }
   courseList.value = [...courseList.value, ...(res.rows || [])]
   loading.value = false
   finish.value = res.pages === pageNum.value

+ 30 - 8
pages/mix/index.uvue

@@ -2,8 +2,10 @@
 import Back from '@/components/back.uvue'
 import Loading from '@/components/loading.uvue'
 import { ref, onMounted, nextTick, computed } from 'vue'
-import { type SubjectCatalogResult, querySubjectCatalog } from '@/services/subject/catalog'
-import { type SubjectCourseResult, getSubjectCoursePage } from '@/services/subject/course'
+import { type SubjectCatalogResult, querySubjectCatalog, querySubjectCatalogNoLogin } from '@/services/subject/catalog'
+import { type SubjectCourseResult, getSubjectCoursePage, getSubjectCoursePageNoLogin } from '@/services/subject/course'
+import { type GetPage } from '@/services/types/index'
+
 import { config } from '@/config'
 import { dict } from '@/.cool/store'
 import { router, debounce, user } from "@/.cool";
@@ -18,9 +20,16 @@ const pageNum = ref(1)
 const loading = ref(false)
 const finish = ref(false)
 async function getDataList() {
-  const res = await querySubjectCatalog({
-    subjectId: router.query().id
-  })
+  let res: SubjectCatalogResult[] = []
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectCatalogNoLogin({
+      subjectId: router.query().id
+    })
+  } else {
+    res = await querySubjectCatalog({
+      subjectId: router.query().id
+    })
+  }
   dataList.value = res || []
   catalog.value = res?.[0] as SubjectCatalogResult
   handleSelect(catalog.value)
@@ -38,9 +47,22 @@ async function handleSelect(val: SubjectCatalogResult) {
 }
 async function getInfo() {
   loading.value = true
-  const res = await getSubjectCoursePage({
-    catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value
-  })
+  let res: GetPage<SubjectCourseResult> = {
+    total: 0,
+    rows: [],
+    pageNum: 1,
+    pageSize: 20,
+    pages: 0
+  }
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await getSubjectCoursePageNoLogin({
+      catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value,
+    })
+  } else {
+    res = await getSubjectCoursePage({
+      catalogId: catalog.value?.id, pageSize: 12, pageNum: pageNum.value,
+    })
+  }
   courseList.value = [...courseList.value, ...(res.rows || [])]
   loading.value = false
   finish.value = res.pages === pageNum.value

+ 24 - 7
pages/test/index.uvue

@@ -2,8 +2,8 @@
 import { user } from '@/.cool'
 import { ref, onMounted, computed } from 'vue'
 import { fetchSubjectAppInfo } from '@/services/subject/info'
-import { querySubjectCourseTest } from '@/services/subject/test'
-import { type SubjectCatalogResult, querySubjectCatalog } from '@/services/subject/catalog'
+import { querySubjectCourseTest, querySubjectCourseTestNoLogin } from '@/services/subject/test'
+import { type SubjectCatalogResult, querySubjectCatalog, querySubjectCatalogNoLogin } from '@/services/subject/catalog'
 import type { SubjectCourseTestResult } from '@/services/subject/test'
 import Lock from '@/components/lock.uvue'
 import Back from '@/components/back.uvue'
@@ -19,8 +19,17 @@ const dataList = ref<SubjectCatalogResult[]>([])
 const catalog = ref<SubjectCatalogResult>()
 const testList = ref<SubjectCourseTestResult[]>()
 async function getDataList() {
-  const id = dict.getValueByLabelMapByType('index_subject_id')['物理']
-  const res = await querySubjectCatalog({ subjectId: id })
+  let res: SubjectCatalogResult[] = []
+  const id = '69c49329091547710d451f9d'
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectCatalogNoLogin({
+      subjectId: id
+    })
+  } else {
+    res = await querySubjectCatalog({
+      subjectId: id
+    })
+  }
   dataList.value = res || []
   catalog.value = res?.[0] as SubjectCatalogResult
   handleSelect(catalog.value)
@@ -52,9 +61,17 @@ async function handleSelect(val: SubjectCatalogResult) {
   catalog.value = val
   visible.value = false
   testList.value = []
-  const res = await querySubjectCourseTest({
-    catalogId: val.id, pageSize: 20
-  })
+  let res: SubjectCourseTestResult[] = []
+  if (user.token === 'Basic ZW5kOmVuZA==') {
+    res = await querySubjectCourseTestNoLogin({
+      catalogId: val.id, pageSize: 20
+    })
+  } else {
+    res = await querySubjectCourseTest({
+      catalogId: val.id, pageSize: 20
+    })
+  }
+
   testList.value = res || []
   cardsScrollView.value.scrollTo({
     left: 0, // 减去顶部偏移

+ 13 - 5
pages/user/info.uvue

@@ -1,18 +1,26 @@
 <script lang="ts" setup>
 import Back from '@/components/back.uvue'
-import user from './components/user.uvue'
+import userModal from './components/user.uvue'
 import conversion from './components/conversion.uvue'
 import setting from './components/set.uvue'
-import { ref, computed } from 'vue'
+import { ref, onMounted } from 'vue'
+import { useStore } from "@/.cool";
 const active = ref<'user' | 'conversion' | 'set'>('user')
-
+const { user } = useStore();
+onMounted(() => {
+  if (!user.info.value?.userInfo) {
+    user.logout()
+    return
+  }
+})
 
 </script>
 
 <template>
   <cl-page>
     <Back />
-    <image mode="aspectFill" src="https://oss.xiaoxiongcode.com/static/个人中心/bg.png" alt="" class="w-full h-full object-cover" />
+    <image mode="aspectFill" src="https://oss.xiaoxiongcode.com/static/个人中心/bg.png" alt=""
+      class="w-full h-full object-cover" />
     <view class="content">
       <view class="flex flex-row justify-between items-center">
         <view
@@ -35,7 +43,7 @@ const active = ref<'user' | 'conversion' | 'set'>('user')
         </view>
       </view>
       <view class="w-full h-full ">
-        <user v-if="active === 'user'" />
+        <userModal v-if="active === 'user'" />
         <conversion v-else-if="active === 'conversion'" />
         <setting v-else-if="active === 'set'" />
       </view>

+ 3 - 1
services/subject/catalog.ts

@@ -38,7 +38,9 @@ export function fetchSubjectCatalog(parameter: any) {
 export function querySubjectCatalog(parameter: any) {
     return useGet(`/subject/catalog`, parameter) as Promise<SubjectCatalogResult[]>
 }
-
+export function querySubjectCatalogNoLogin(parameter: any) {
+    return useGet(`/subject/catalog/no/login`, parameter) as Promise<SubjectCatalogResult[]>
+}
 // export function deleteSubjectCatalogs(parameter: string[]) {
 //     return useDelete<any>(`/subject/catalog`, parameter)
 // }

+ 3 - 0
services/subject/course.ts

@@ -36,6 +36,9 @@ export interface SubjectCourseResult {
 export function getSubjectCoursePage(parameter: any) {
     return useGet(`/subject/course/page`, parameter) as Promise<GetPage<SubjectCourseResult>>
 }
+export function getSubjectCoursePageNoLogin(parameter: any) {
+    return useGet(`/subject/course/no/login/page`, parameter) as Promise<GetPage<SubjectCourseResult>>
+}
 // export function addSubjectCourse(parameter: SubjectCourseResult) {
 //     return usePost<any>(`/subject/course`, parameter)
 // }

+ 4 - 1
services/subject/info.ts

@@ -54,4 +54,7 @@ export function fetchSubjectInfo(parameter: any) {
 // }
 export function querySubjectInfo(parameter: any) {
     return useGet(`/subject/info`, parameter) as Promise<SubjectInfoResult[]>
-}
+}
+export function querySubjectInfoNoLogin(parameter: any) {
+    return useGet(`/subject/info/no/login`, parameter) as Promise<SubjectInfoResult[]>
+}

+ 5 - 0
services/subject/test.ts

@@ -26,6 +26,11 @@ export function querySubjectCourseTest(parameter?: any) {
     return useGet(`/subject/test`, parameter) as Promise<SubjectCourseTestResult[]>
 }
 
+export function querySubjectCourseTestNoLogin(parameter?: any) {
+    return useGet(`/subject/test/noLogin`, parameter) as Promise<SubjectCourseTestResult[]>
+}
+
+
 export function fetchSubjectCourseTest(parameter: any) {
     return useGet(`/subject/test/${parameter.id}`) as Promise<SubjectCourseTestResult>
 }