Преглед на файлове

```
feat(components): 调整头像上传组件样式和登录按钮渐变效果

- 修改FileUploader组件中头像尺寸从150调整为148
- 将头像上传卡片边框设置为透明色
- 为上传列表项添加边距重置样式
- 为所有登录按钮添加gradient类以支持渐变效果
- 更新分页组件活动页码的渐变背景样式
- 为课程卡片添加底部阴影效果

fix(LearningSystem): 优化学习系统详情页面标签组件

- 将el-button替换为el-tag用于显示学习阶段和课程分类
- 改进评论组件文本域高度控制逻辑

refactor(PersonalCenter): 优化个人中心功能更新

- 为充值按钮添加渐变样式类
- 将changeShow方法改为异步函数并等待getInfo完成
```

zhangningning преди 1 седмица
родител
ревизия
7bec01e2a4

+ 5 - 2
src/components/FileUploader.vue

@@ -39,7 +39,7 @@
       <template v-else-if="listType === 'picture-card'">
         <!-- 只有当文件数量小于limit且limit大于0时才显示加号按钮 -->
         <!--  v-if="!limit || fileList.length < limit" -->
-        <el-avatar :size="150" :src="fileList[0]?.url || appStore.avatarDefault" v-if="isUploadAvatar" />
+        <el-avatar :size="148" :src="fileList[0]?.url || appStore.avatarDefault" v-if="isUploadAvatar" />
         <el-icon v-else-if="!limit || fileList.length < limit" ><Plus /></el-icon>
       </template>
       <template v-else-if="listType === 'picture-user-card'">
@@ -591,7 +591,7 @@ defineExpose({
   }
   &.is-upload-avatar{
     .el-upload--picture-card{
-      border: none;
+      border-color: transparent;
     }
     .el-upload-list__item{
       border-radius: 50%;
@@ -599,6 +599,9 @@ defineExpose({
     .el-upload-list__item-thumbnail{
       object-fit: fill
     }
+    .el-upload-list--picture-card .el-upload-list__item{
+      margin: 0;
+    }
   }
 };
 </style>

+ 3 - 3
src/components/LoginDialog.vue

@@ -52,7 +52,7 @@
               type="primary" 
               @click="handleSmsLogin" 
               :loading="loading" 
-              class="login-button"
+              class="login-button gradient"
               size="large"
             >
               {{ $t('common.login') }}
@@ -107,7 +107,7 @@
               type="primary" 
               @click="handlePasswordLogin" 
               :loading="loading" 
-              class="login-button"
+              class="login-button gradient"
               size="large"
             >
               {{ $t('common.login') }}
@@ -172,7 +172,7 @@
               type="primary" 
               @click="handleResetPassword" 
               :loading="loading" 
-              class="login-button"
+              class="login-button gradient"
               size="large"
             >
               {{ $t('common.login') }}

+ 7 - 0
src/components/Pagination.vue

@@ -57,6 +57,13 @@ const handleSizeChange = (size) => {
   display: flex;
   justify-content: center;
   margin-top: 20px;
+  .el-pager{
+    .number{
+      &.is-active {
+        background: linear-gradient(90deg, #0055FE 0%, #C832FA 100%);
+      }
+    }
+  }
 }
 .el-pagination.is-background .el-pager li,
 .el-pagination.is-background .btn-prev,

+ 3 - 0
src/components/course-card.vue

@@ -154,6 +154,9 @@ const startUsing = () => {
     background: white; // 确保背景色
     transform: translateY(60px); // 初始完全在下方隐藏
     transition: transform 0.3s ease;
+    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
+    //高斯模糊
+    // filter: blur(0px);
   }
   
   &:hover {

+ 2 - 2
src/pages/LearningSystem/LearningSystemDetail.vue

@@ -17,8 +17,8 @@
             <div class="bold font_size30">{{info.courseTitle}}</div>
           </div>
           <div>
-            <el-button type="primary"  plain v-if="info.studyStageName">{{info.studyStageName}}</el-button>
-            <el-button type="primary" plain v-if="info.courseCategoryName">{{info.courseCategoryName}}</el-button>
+            <el-tag type="primary"  plain v-if="info.studyStageName">{{info.studyStageName}}</el-tag>
+            <el-tag type="primary" plain v-if="info.courseCategoryName">{{info.courseCategoryName}}</el-tag>
           </div>
           <div class="gray font_size16 mt10 line2" :title="info.courseIntro">
             {{info.courseIntro}}

+ 6 - 3
src/pages/LearningSystem/components/pinglun.vue

@@ -9,7 +9,7 @@
           :rows="1"
           autosize
           show-word-limit
-          maxlength="500" style="width: 100%;flex:1;min-height:44px"/>
+          maxlength="500" style="width: 100%;flex:1;"/>
           <el-button type="primary" size="large" 
           :loading="isSubmiting"
           @click="handleSend" style="height:44px" class="gradient">
@@ -131,8 +131,11 @@ const handleSend = async () => {
 </script>
 <style lang="scss">
   .pinglun{
-    .el-textarea__inner{
-      min-height: 44px !important;
+    .el-textarea{
+      .el-textarea__inner{
+        min-height: 22px !important;
+        padding: 11px 10px;
+      }
     }
     .list{
       // max-height: 100vh;

+ 3 - 3
src/pages/PersonalCenter.vue

@@ -58,7 +58,7 @@
               <span>{{ $t('common.baomibi') }}</span>
             </div>
             <div class="btn">
-              <el-button type="primary" @click="router.push({
+              <el-button type="primary" class="gradient" @click="router.push({
                 path: `/order-confirm`,
               })">{{ $t('route.recharge') }}</el-button>
             </div>
@@ -861,8 +861,8 @@ const getCount = async () => {
 }
 
 
-const changeSHow = () => {
-  getInfo()
+const changeSHow = async () => {
+  await getInfo()
   dialogVisible.value = true;
 }
 onMounted(() => {