Forráskód Böngészése

修复老师学校班级显示问题

shmily1213 1 hónapja
szülő
commit
8659c1e791

+ 1 - 1
src/hooks/useSms.ts

@@ -14,7 +14,7 @@ export const useSms = () => {
   const { setItem, getItem, removeItem } = useUniStore();
 
   // 状态常量定义
-  const SMS_COUNTDOWN_TIME = 5; // 倒计时时长(秒)
+  const SMS_COUNTDOWN_TIME = import.meta.env.DEV ? 5 : 60; // 倒计时时长(秒)
   const STORAGE_KEYS = {
     LAST_TIME: 'ie-smsLastTime',
     WAIT_TIME: 'ie-smsWaitTime'

+ 15 - 16
src/pagesSystem/pages/bind-profile/bind-profile.vue

@@ -359,10 +359,10 @@ const handleSubmit = async () => {
 
     // 接下来补充注册登录信息
     try {
+      console.log('初步提交信息:', prevData.value.scene, params);
       if (prevData.value.scene === EnumBindScene.REGISTER) {
         startRegister(params as BindCardInfo);
       } else {
-        console.log('初步提交信息:', params);
         if (prevData.value.scene === EnumBindScene.LOGIN_BIND) {
           startLoginBind(params as BindCardInfo);
         } else {
@@ -378,19 +378,23 @@ const handleSubmit = async () => {
 const startLoginBind = async (params: BindCardInfo) => {
   uni.$ie.showLoading();
   const token = prevData.value.token;
-  await improveWithToken(params, token);
-  uni.$ie.hideLoading();
-  uni.$ie.showSuccess('绑定成功');
-  const userStore = useUserStore();
-  userStore.setToken(token);
-  setTimeout(() => {
-    userStore.getUserInfo();
-    goHome();
-  }, 50);
+  try {
+    await improveWithToken(params, token);
+    uni.$ie.hideLoading();
+    uni.$ie.showSuccess('绑定成功');
+    const userStore = useUserStore();
+    userStore.setToken(token);
+    setTimeout(() => {
+      userStore.getUserInfo();
+      goHome();
+    }, 50);
+  } catch (error) {
+    uni.$ie.hideLoading();
+    uni.$ie.showToast('绑定失败');
+  }
 }
 
 const startRegister = async (params: BindCardInfo) => {
-  console.log(params, 1111)
   uni.$ie.showLoading();
   const { token } = await registry(params);
   if (token) {
@@ -453,11 +457,6 @@ const gatherInfo = () => {
     // 
     scoresForm.value = userInfo.scores || {};
     handleGetClassList();
-  } else if (scene === EnumBindScene.IMPROVE) {
-    form.value = {
-      ...form.value,
-      ...userStore.userInfo
-    }
   }
 }
 

+ 10 - 14
src/pagesSystem/pages/bind-teacher-profile/bind-teacher-profile.vue

@@ -80,21 +80,17 @@
       </content-card>
 
       <content-card v-if="showSchoolInfo" title="学校信息">
-        <uv-form-item label="学校名称" prop="form.name" borderBottom>
-          <ie-picker ref="pickerRef" v-model="form.schoolName" disabled :placeholder="pickerPlaceholder"
-            :custom-style="customStyle" :custom-label="form.schoolName">
-            <template #right>
-              <ie-image src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
-            </template>
-          </ie-picker>
+        <uv-form-item label="学校名称" prop="form.campusName" borderBottom>
+          <uv-input v-model="form.campusName" border="none" placeholder="" placeholderClass="text-30" font-size="30rpx"
+            :custom-style="customStyle" readonly>
+          </uv-input>
+          <ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
         </uv-form-item>
-        <uv-form-item label="所在班级" prop="form.name">
-          <ie-picker ref="pickerRef" v-model="form.schoolClassName" :list="classList" title="选择班级" placeholder="请选择"
-            disabled :custom-style="customStyle" key-label="name" key-value="classId">
-            <template #right>
-              <ie-image src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
-            </template>
-          </ie-picker>
+        <uv-form-item label="所在班级" prop="form.campusClassName">
+          <uv-input v-model="form.campusClassName" border="none" placeholder="" placeholderClass="text-30"
+            font-size="30rpx" :custom-style="customStyle" readonly>
+          </uv-input>
+          <ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
         </uv-form-item>
       </content-card>
     </uv-form>

+ 13 - 27
src/pagesSystem/pages/edit-profile/edit-profile.vue

@@ -103,19 +103,17 @@
           </content-card>
         </template>
         <content-card v-else title="学校信息">
-          <uv-form-item label="学校名称" prop="form.name" borderBottom>
-            <uv-input v-model="form.schoolName" border="none" placeholder="" placeholderClass="text-30"
+          <uv-form-item label="学校名称" prop="form.campusName" borderBottom>
+            <uv-input v-model="form.campusName" border="none" placeholder="" placeholderClass="text-30"
               font-size="30rpx" :custom-style="customStyle" readonly>
             </uv-input>
             <ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
           </uv-form-item>
-          <uv-form-item label="所在班级" prop="form.name">
-            <ie-picker ref="pickerRef" v-model="form.schoolClassName" :list="classList" title="选择班级" disabled
-              placeholder="请选择所在班级" :custom-style="customStyle" key-label="name" key-value="classId">
-              <template #right>
-                <ie-image src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
-              </template>
-            </ie-picker>
+          <uv-form-item label="所在班级" prop="form.campusClassName">
+            <uv-input v-model="form.campusClassName" border="none" placeholder="" placeholderClass="text-30"
+              font-size="30rpx" :custom-style="customStyle" readonly>
+            </uv-input>
+            <ie-image slot="right" src="/static/image/icon-lock.png" custom-class="w-24 h-30" mode="aspectFill" />
           </uv-form-item>
         </content-card>
       </uv-form>
@@ -154,29 +152,17 @@ const userStore = useUserStore();
 const userInfo = computed(() => userStore.userInfo);
 const cardInfo = computed(() => userStore.card);
 const { classList, loadClassData } = useSchool();
-type SchoolInfo = {
-  schoolName: string;
-  classId: number | null;
-  className: string;
-  schoolId: number | null;
-}
-type UserProfile = Pick<UserInfo, 'nickName' | 'phonenumber' | 'location' | 'endYear' | 'examType' | 'schoolClassName'> & SchoolInfo;
 
-const form = ref<UserProfile>({
-  ...userInfo.value,
-  schoolName: '',
-  classId: null,
-  className: '',
-  schoolId: null
+const form = ref<UserInfo>({
+  ...userInfo.value
 });
 if (userStore.isStudent) {
   form.value.schoolName = cardInfo.value?.schoolName || '';
-  form.value.classId = cardInfo.value?.classId || null;
-  form.value.className = cardInfo.value?.className || '';
-  form.value.schoolId = cardInfo.value?.schoolId || null
-} else {
-  form.value.schoolName = userInfo.value.schoolName
+  form.value.classId = cardInfo.value?.classId || undefined;
+  form.value.schoolClassName = cardInfo.value?.className || '';
+  form.value.schoolId = cardInfo.value?.schoolId || undefined
 }
+
 const scores = ref({
   ...userInfo.value.scores
 })

+ 32 - 98
src/pagesSystem/pages/phone-verify/phone-verify.vue

@@ -50,51 +50,26 @@ const checkHasReg = async () => {
     password: form.value.password,
   };
   const res = await login(params);
-  // const params = {
-  //   phone: form.value.phone,
-  //   code: form.value.code,
-  //   uuid: form.value.uuid,
-  //   scene: '',
-  //   type: 'phone',
-  //   card: prevData.value.card,
-  //   cardNo: prevData.value.cardNo,
-  //   password: prevData.value.password
-  // };
   if (res.data) {
     const { code, message } = res.data;
     if (code === 101) {
       console.log('用户不存在')
       console.log(params)
-      if (prevData.value.scene === EnumBindScene.IMPROVE) {
-        const submitInfo = {
-          scene: EnumBindScene.IMPROVE,
-          userInfo: prevData.value.userInfo,
-          cardInfo: prevData.value.cardInfo,
-          registerInfo: {
-            ...params
-          }
-        };
-        console.log('提交信息:', submitInfo)
-        transferTo('/pagesSystem/pages/bind-profile/bind-profile', {
-          data: submitInfo
-        });
-      } else {
-        const submitInfo = {
-          scene: EnumBindScene.REGISTER_BIND,
-          userInfo: {},
-          cardInfo: prevData.value.cardInfo,
-          registerInfo: {
-            ...params,
-            // 此时注册信息需要替换为卡信息
-            username: prevData.value.registerInfo.username,
-            password: prevData.value.registerInfo.password,
-          }
-        };
-        // 账户不存在,执行注册操作
-        transferTo('/pagesSystem/pages/bind-profile/bind-profile', {
-          data: submitInfo
-        });
-      }
+      const submitInfo = {
+        scene: EnumBindScene.REGISTER_BIND,
+        userInfo: {},
+        cardInfo: prevData.value.cardInfo,
+        registerInfo: {
+          ...params,
+          // 此时注册信息需要替换为卡信息
+          username: prevData.value.registerInfo.username,
+          password: prevData.value.registerInfo.password,
+        }
+      };
+      // 账户不存在,执行注册操作
+      transferTo('/pagesSystem/pages/bind-profile/bind-profile', {
+        data: submitInfo
+      });
     }
   } else {
     // 账户已存在,执行绑卡操作
@@ -102,48 +77,28 @@ const checkHasReg = async () => {
       // 查询用户信息
       const { data } = await getUserInfoWithToken(res.token);
       console.log('用户已存在,用户信息:', data)
-      // params.scene = 'phone_improve';
-      // console.log(params)
       // 判断用户是否是 vip
       if (!!data.cardId) {
         uni.$ie.showToast('该手机号已绑定其他账号,请使用其他手机号');
         return;
       }
-      console.log(111, prevData.value.scene)
-      if (prevData.value.scene === EnumBindScene.IMPROVE) {
-        const submitInfo = {
-          scene: EnumBindScene.IMPROVE,
-          userInfo: data,
-          cardInfo: prevData.value.cardInfo,
-          registerInfo: {
-            ...params,
-            // 此时注册信息需要替换为卡信息
-            username: prevData.value.registerInfo.username,
-            password: prevData.value.registerInfo.password,
-          }
-        };
-        console.log('提交信息:', submitInfo)
-        transferTo('/pagesSystem/pages/bind-profile/bind-profile', {
-          data: submitInfo
-        });
-      } else {
-        // 不是 vip 则可以绑定
-        const submitInfo = {
-          scene: EnumBindScene.LOGIN_BIND,
-          userInfo: data,
-          cardInfo: prevData.value.cardInfo,
-          registerInfo: {
-            ...params,
-            // 此时注册信息需要替换为卡信息
-            username: prevData.value.registerInfo.username,
-            password: prevData.value.registerInfo.password,
-          }
-        };
-        console.log('提交信息:', submitInfo)
-        transferTo('/pagesSystem/pages/bind-profile/bind-profile', {
-          data: submitInfo
-        });
-      }
+      // 不是 vip 则可以绑定
+      const submitInfo = {
+        scene: EnumBindScene.LOGIN_BIND,
+        token: res.token,
+        userInfo: data,
+        cardInfo: prevData.value.cardInfo,
+        registerInfo: {
+          ...params,
+          // 此时注册信息需要替换为卡信息
+          username: prevData.value.registerInfo.username,
+          password: prevData.value.registerInfo.password,
+        }
+      };
+      console.log('提交信息:', submitInfo)
+      transferTo('/pagesSystem/pages/bind-profile/bind-profile', {
+        data: submitInfo
+      });
     }
   }
 }
@@ -168,28 +123,7 @@ const handleSubmit = async () => {
     uni.$ie.showToast('请输入验证码');
     return;
   }
-  // uni.$ie.showLoading();
   checkHasReg();
-  // validateSms({ mobile: phone, code: password }).then(() => {
-  //   uni.$ie.hideLoading();
-  //   const params = {
-  //     phone,
-  //     code: password,
-  //     uuid,
-  //     type: 'phone',
-  //     scene: 'card_improve',
-  //     card: prevData.value.card,
-  //     cardNo: prevData.value.cardNo,
-  //     password: prevData.value.password
-  //   };
-  //   console.log(params)
-  //   checkHasReg();
-  //   // transferTo('/pagesSystem/pages/bind-profile/bind-profile', {
-  //   //   data: params
-  //   // });
-  // }).catch(() => {
-  //   uni.$ie.hideLoading();
-  // });
 }
 onLoad(() => {
   console.log('收到上个页面的数据', prevData.value)

+ 2 - 0
src/types/user.ts

@@ -156,6 +156,8 @@ export interface UserInfo {
   schoolClassName: string;
   classId?: number;
   schoolId?: number;
+  campusClassName?: string;
+  campusName?: string;
 }
 
 export interface VipCardInfo {

+ 3 - 0
vite.config.js

@@ -24,6 +24,9 @@ export default defineConfig(({ mode }) => ({
       '~': resolve(__dirname, '')
     }
   },
+  server: {
+    port: 5174
+  },
   plugins: [
     viteCompression({
       verbose: true,