lex 2 years ago
parent
commit
f4804b033b

BIN
src/components/o-empty/images/empty.png


BIN
src/components/o-empty/images/emptyContent.png


BIN
src/components/o-empty/images/network.png


BIN
src/components/o-empty/images/notFond.png


+ 2 - 2
src/components/o-empty/index.module.less

@@ -14,7 +14,7 @@
   .SMALL {
     :global {
       .van-empty__image {
-        width: 182px;
+        width: 161px;
         height: 161px;
       }
     }
@@ -22,7 +22,7 @@
   .CERT {
     :global {
       .van-empty__image {
-        width: 260px;
+        width: 230px;
         height: 230px;
       }
       .van-empty__description {

+ 8 - 0
src/router/routes-school.ts

@@ -254,6 +254,14 @@ export default [
         }
       },
       {
+        path: '/batch-adjust',
+        name: 'batch-adjust',
+        component: () => import('@/school/approval-manage/batch-adjust'),
+        meta: {
+          title: '批量调整'
+        }
+      },
+      {
         path: '/school-detail',
         name: 'school-detail',
         component: () => import('@/school/school-detail/index'),

+ 47 - 0
src/school/approval-manage/batch-adjust.module.less

@@ -0,0 +1,47 @@
+.batchAdjust {
+  margin-top: 12px;
+  :global {
+    .van-cell {
+      font-size: 16px;
+      padding: 18px 12px;
+    }
+    .van-cell__value {
+      color: #333;
+    }
+
+    .van-radio-group,
+    .van-checkbox-group {
+      justify-content: flex-end;
+    }
+  }
+  .tips {
+    color: #c8c9cc;
+  }
+
+  .radioSection {
+    position: relative;
+    min-width: 32px;
+    justify-content: center;
+  }
+
+  .radioItem {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    opacity: 0;
+  }
+
+  .radioSection + .radioSection {
+    margin-left: 12px;
+  }
+}
+
+.adjustDay {
+  :global {
+    .van-field__control {
+      color: var(--van-primary-color);
+    }
+  }
+}

+ 263 - 0
src/school/approval-manage/batch-adjust.tsx

@@ -0,0 +1,263 @@
+import OHeader from '@/components/o-header'
+import OPopup from '@/components/o-popup'
+import { postMessage } from '@/helpers/native-message'
+import request from '@/helpers/request'
+import { browser } from '@/helpers/utils'
+import router from '@/router'
+import { state } from '@/state'
+import dayjs from 'dayjs'
+import {
+  Button,
+  Cell,
+  CellGroup,
+  DatePicker,
+  Field,
+  Picker,
+  Popup,
+  Radio,
+  RadioGroup,
+  Tag
+} from 'vant'
+import { defineComponent, onMounted, reactive } from 'vue'
+import { useRouter } from 'vue-router'
+import PracticeClass from '../train-planning/modal/practice-class'
+import styles from './batch-adjust.module.less'
+
+export default defineComponent({
+  name: 'batch-adjust',
+  setup() {
+    const router = useRouter()
+    const forms = reactive({
+      changeType: 1, // 调整方式
+      startTimeStatus: false,
+      startTime: [],
+      endTimeMinDate: new Date(),
+      endTimeStatus: false,
+      endTime: [],
+      adjustDay: null as any,
+      orchestraStatus: false,
+      orchestraList: [] as any, // 乐团列表
+      orchestraId: null as any,
+      orchestraName: null as any,
+      classGroupIdList: [] as any, // 选中班级id集合
+      classStatus: false
+    })
+
+    // 获取乐团列表
+    const getOrchestra = async () => {
+      try {
+        const { data } = await request.post('/api-school/orchestra/page', {
+          data: {
+            page: 1,
+            rows: 100,
+            schoolId: state.user.data.school.id
+          }
+        })
+        forms.orchestraList = data.rows || []
+        // 初始化显示选中第一个乐团
+        if (forms.orchestraList.length > 0) {
+          const temp = forms.orchestraList[0]
+          forms.orchestraId = temp.id
+          forms.orchestraName = temp.name
+        }
+      } catch {
+        //
+      }
+    }
+
+    const onSubmit = async () => {
+      try {
+        const { data } = await request.post('/api-school/courseSchedule/batchAdjust', {
+          data: {
+            adjustDay: forms.changeType ? '-' + forms.adjustDay : forms.adjustDay,
+            classGroupIdList: forms.classGroupIdList,
+            startTime: forms.startTime.join('-'),
+            endTime: forms.endTime.join('-')
+          }
+        })
+        console.log(data)
+      } catch {
+        //
+      }
+    }
+
+    onMounted(() => {
+      getOrchestra()
+    })
+    return () => (
+      <div class={styles.batchAdjust}>
+        <OHeader />
+
+        <CellGroup inset>
+          <Cell isLink onClick={() => (forms.orchestraStatus = true)}>
+            {{ title: () => '乐团名称', value: () => forms.orchestraName }}
+          </Cell>
+          <Cell
+            isLink
+            onClick={() => {
+              forms.classStatus = true
+            }}
+          >
+            {{
+              title: () => '班级',
+              value: () => (
+                <div class={styles.value}>
+                  {forms.classGroupIdList.length <= 0 ? (
+                    <div class={styles.tips}>请选择班级</div>
+                  ) : (
+                    <div>
+                      已选<span style={{ padding: '0 4px' }}>{forms.classGroupIdList.length}</span>
+                      个班级
+                    </div>
+                  )}
+                </div>
+              )
+            }}
+          </Cell>
+          <Field
+            isLink
+            label="课程开始日期"
+            placeholder="请选择课程开始日期"
+            readonly
+            inputAlign="right"
+            modelValue={forms.startTime.join('-')}
+            onClick={() => {
+              forms.startTimeStatus = true
+            }}
+          />
+          <Field
+            isLink
+            label="课程结束日期"
+            placeholder="请选择课程结束日期"
+            readonly
+            inputAlign="right"
+            modelValue={forms.endTime.join('-')}
+            onClick={() => {
+              forms.endTimeStatus = true
+            }}
+          />
+          <Cell title="调整方式">
+            {{
+              value: () => (
+                <RadioGroup
+                  checked-color="#FF8057"
+                  v-model={forms.changeType}
+                  direction="horizontal"
+                >
+                  <Tag
+                    size="large"
+                    type="primary"
+                    plain={!(forms.changeType === 1)}
+                    color="#FF8057"
+                    class={styles.radioSection}
+                  >
+                    <Radio class={styles.radioItem} name={1}></Radio>提前
+                  </Tag>
+                  <Tag
+                    size="large"
+                    type="primary"
+                    plain={!(forms.changeType === 0)}
+                    color="#FF8057"
+                    class={styles.radioSection}
+                  >
+                    <Radio class={styles.radioItem} name={0}></Radio>延后
+                  </Tag>
+                </RadioGroup>
+              )
+            }}
+          </Cell>
+          <Field
+            class={styles.adjustDay}
+            label="调整天数"
+            inputAlign="right"
+            type="number"
+            v-model={forms.adjustDay}
+            placeholder="请输入调整天数"
+            v-slots={{ extra: () => '天' }}
+          />
+        </CellGroup>
+
+        <div class={['btnGroup btnMore']} style={{ marginTop: '20px' }}>
+          <Button
+            color="#ccc"
+            round
+            onClick={() => {
+              if (browser().isApp) {
+                postMessage({ api: 'back' })
+              } else {
+                router.back()
+              }
+            }}
+          >
+            取消
+          </Button>
+          <Button color="#FF8057" round onClick={onSubmit}>
+            下一步
+          </Button>
+        </div>
+
+        {/* 乐团列表 */}
+        <Popup v-model:show={forms.orchestraStatus} position="bottom" round>
+          <Picker
+            columns={forms.orchestraList}
+            columnsFieldNames={{ text: 'name', value: 'id' }}
+            onCancel={() => (forms.orchestraStatus = false)}
+            onConfirm={(val: any) => {
+              const selectedOption = val.selectedOptions[0]
+              if (forms.orchestraId !== selectedOption.id) {
+                forms.orchestraId = selectedOption.id
+                forms.orchestraName = selectedOption.name
+                forms.classGroupIdList = []
+              }
+              forms.orchestraStatus = false
+            }}
+          />
+        </Popup>
+
+        {/* 班级 */}
+        <OPopup
+          v-model:modelValue={forms.classStatus}
+          position="bottom"
+          style={{ background: '#f6f6f6' }}
+          destroy
+        >
+          <PracticeClass
+            onClose={() => (forms.classStatus = false)}
+            orchestraId={forms.orchestraId}
+            selectItem={forms.classGroupIdList}
+            onConfirm={(val: any) => {
+              forms.classGroupIdList = val
+            }}
+          />
+        </OPopup>
+
+        {/* 开始日期 */}
+        <Popup v-model:show={forms.startTimeStatus} position="bottom" round>
+          <DatePicker
+            // v-model={forms.startTime}
+            minDate={new Date()}
+            onCancel={() => (forms.startTimeStatus = false)}
+            onConfirm={(val: any) => {
+              forms.startTime = val.selectedValues
+              forms.startTimeStatus = false
+              forms.endTime = []
+              forms.endTimeMinDate = dayjs(forms.startTime.join('-') || new Date()).toDate()
+            }}
+          />
+        </Popup>
+        {/* 结束日期 */}
+        <Popup v-model:show={forms.endTimeStatus} position="bottom" round>
+          <DatePicker
+            // v-model={forms.endTime}
+            minDate={forms.endTimeMinDate}
+            onCancel={() => (forms.endTimeStatus = false)}
+            onConfirm={(val: any) => {
+              forms.endTime = val.selectedValues
+              forms.endTimeStatus = false
+            }}
+          />
+        </Popup>
+      </div>
+    )
+  }
+})

+ 17 - 4
src/school/approval-manage/course-adjust.tsx

@@ -1,5 +1,5 @@
 import OHeader from '@/components/o-header'
-import { CellGroup, Cell, Button, showToast, Field } from 'vant'
+import { CellGroup, Cell, Button, showToast, Field, Tag } from 'vant'
 import { defineComponent, reactive, ref, onMounted } from 'vue'
 import { postMessage } from '@/helpers/native-message'
 import styles from './course-adjust.module.less'
@@ -114,7 +114,9 @@ export default defineComponent({
       // await getDetail()
       // await getList()
       if (browser().iPhone && !state.cacheId && state.isBack != 'true') {
-        postMessage({ api: 'back' })
+        setTimeout(() => {
+          postMessage({ api: 'back' })
+        }, 1000)
       } else {
         router.back()
       }
@@ -132,6 +134,7 @@ export default defineComponent({
           showToast('请选择课程开始时间')
           return
         }
+
         await request.post(`/api-school/courseSchedule/adjust`, {
           data: {
             ...forms,
@@ -139,7 +142,9 @@ export default defineComponent({
           }
         })
         reset()
-        showToast('调整成功')
+        setTimeout(() => {
+          showToast('调整成功')
+        }, 100)
       } catch (e: any) {
         showToast(e.message)
       }
@@ -153,7 +158,15 @@ export default defineComponent({
           <div class={styles.courseInfo}>
             <CellGroup inset border={false}>
               <Cell title="乐团名称" value={courseDetail.value.orchestraName} />
-              <Cell title="课程类型" value={courseEmnu[courseDetail.value.type]} />
+              <Cell title="课程类型">
+                {{
+                  value: () => (
+                    <Tag type="primary" size="medium">
+                      {courseEmnu[courseDetail.value.type]}
+                    </Tag>
+                  )
+                }}
+              </Cell>
               <Cell
                 title="授课老师"
                 value={forms.teacherName}

+ 59 - 3
src/school/companion-teacher/index.tsx

@@ -6,6 +6,7 @@ import {
   ActionSheet,
   Cell,
   CellGroup,
+  closeToast,
   Grid,
   GridItem,
   Icon,
@@ -13,6 +14,9 @@ import {
   List,
   Picker,
   Popup,
+  showFailToast,
+  showLoadingToast,
+  showSuccessToast,
   Tag
 } from 'vant'
 import { defineComponent, onMounted, reactive } from 'vue'
@@ -28,7 +32,9 @@ import request from '@/helpers/request'
 import { state } from '@/state'
 import OEmpty from '@/components/o-empty'
 import { manageTeacherType } from '@/constant'
-import { postMessage } from '@/helpers/native-message'
+import { postMessage, promisefiyPostMessage } from '@/helpers/native-message'
+import html2canvas from 'html2canvas'
+import { forms } from '../train-planning/create'
 
 export default defineComponent({
   name: 'companion-teacher',
@@ -155,6 +161,56 @@ export default defineComponent({
       onSearch()
     }
 
+    const imgs = reactive({
+      saveLoading: false,
+      image: null as any
+    })
+    const onSaveImg = async () => {
+      // 判断是否在保存中...
+      if (imgs.saveLoading) {
+        return
+      }
+      imgs.saveLoading = true
+      // 判断是否已经生成图片
+      if (imgs.image) {
+        saveImg()
+      } else {
+        const container: any = document.getElementById(`preview-container`)
+        html2canvas(container, {
+          allowTaint: true,
+          useCORS: true,
+          backgroundColor: null
+        })
+          .then(async (canvas) => {
+            const url = canvas.toDataURL('image/png')
+            imgs.image = url
+            saveImg()
+          })
+          .catch(() => {
+            closeToast()
+            imgs.saveLoading = false
+          })
+      }
+    }
+    const saveImg = async () => {
+      showLoadingToast({ message: '图片生成中...', forbidClick: true })
+      setTimeout(() => {
+        imgs.saveLoading = false
+      }, 100)
+      const res = await promisefiyPostMessage({
+        api: 'savePicture',
+        content: {
+          base64: imgs.image
+        }
+      })
+      if (res?.content?.status === 'success') {
+        showSuccessToast('保存成功')
+        form.showQrcode = false
+      } else {
+        showFailToast('保存失败')
+      }
+    }
+
     onMounted(() => {
       getDetail(state.user.data.id)
       getSubjects()
@@ -271,7 +327,7 @@ export default defineComponent({
           style={{ background: 'transparent' }}
         >
           <div class={styles.codeContainer}>
-            <div class={styles.codeImg}>
+            <div class={styles.codeImg} id="preview-container">
               <div class={styles.codeContent}>
                 <h2 class={[styles.codeTitle, 'van-ellipsis']}>{form.schoolName}</h2>
                 <div class={styles.codeName}>邀请您成为乐团伴学老师</div>
@@ -298,7 +354,7 @@ export default defineComponent({
                 <i></i>分享方式
               </h3>
               <Grid columnNum={2} border={false}>
-                <GridItem>
+                <GridItem onClick={onSaveImg}>
                   {{
                     icon: () => <Image class={styles.shareImg} src={iconSaveImage} />,
                     text: () => <div class={styles.shareText}>保存图片</div>

+ 13 - 4
src/school/main.ts

@@ -1,17 +1,26 @@
 import { createApp } from 'vue'
 import App from './App.vue'
 import router from '../router/index'
-import { postMessage } from '@/helpers/native-message'
+import { postMessage, promisefiyPostMessage } from '@/helpers/native-message'
 
 import 'normalize.css'
 import 'vant/lib/index.css'
 
 import '../styles/index.less'
 import { state } from '@/state'
-import { browser } from '@/helpers/utils'
+import { browser, setAuth } from '@/helpers/utils'
 
 const app = createApp(App)
 
+// 获取token
+promisefiyPostMessage({ api: 'getToken' }).then((res: any) => {
+  console.log(res, 'res')
+  const content = res.content
+  if (content?.accessToken) {
+    setAuth(content.tokenType + ' ' + content.accessToken)
+  }
+})
+
 postMessage(
   {
     api: 'getVersion'
@@ -21,8 +30,8 @@ postMessage(
     console.log(res, 'version')
   }
 )
-// import Vconsole from 'vconsole'
-// const vconsole = new Vconsole()
+import Vconsole from 'vconsole'
+const vconsole = new Vconsole()
 const paymentType = (window as any).paymentType // 浏览器设置
 if (browser().isTeacher || paymentType === 'TEACHER') {
   state.platformType = 'TEACHER'

+ 68 - 3
src/school/manage-teacher/index.tsx

@@ -2,7 +2,20 @@ import OHeader from '@/components/o-header'
 import OQrcode from '@/components/o-qrcode'
 import OSearch from '@/components/o-search'
 import OSticky from '@/components/o-sticky'
-import { ActionSheet, Cell, Grid, GridItem, Icon, Image, List, Popup } from 'vant'
+import {
+  ActionSheet,
+  Cell,
+  closeToast,
+  Grid,
+  GridItem,
+  Icon,
+  Image,
+  List,
+  Popup,
+  showFailToast,
+  showLoadingToast,
+  showSuccessToast
+} from 'vant'
 import { defineComponent, onMounted, reactive } from 'vue'
 import styles from './index.module.less'
 import iconSaveImage from '@/school/orchestra/images/icon-save-image.png'
@@ -13,6 +26,8 @@ import request from '@/helpers/request'
 import { state } from '@/state'
 import OEmpty from '@/components/o-empty'
 import { manageTeacherType } from '@/constant'
+import html2canvas from 'html2canvas'
+import { promisefiyPostMessage } from '@/helpers/native-message'
 
 export default defineComponent({
   name: 'companion-teacher',
@@ -99,6 +114,56 @@ export default defineComponent({
       })
     }
 
+    const imgs = reactive({
+      saveLoading: false,
+      image: null as any
+    })
+    const onSaveImg = async () => {
+      // 判断是否在保存中...
+      if (imgs.saveLoading) {
+        return
+      }
+      imgs.saveLoading = true
+      // 判断是否已经生成图片
+      if (imgs.image) {
+        saveImg()
+      } else {
+        const container: any = document.getElementById(`preview-container`)
+        html2canvas(container, {
+          allowTaint: true,
+          useCORS: true,
+          backgroundColor: null
+        })
+          .then(async (canvas) => {
+            const url = canvas.toDataURL('image/png')
+            imgs.image = url
+            saveImg()
+          })
+          .catch(() => {
+            closeToast()
+            imgs.saveLoading = false
+          })
+      }
+    }
+    const saveImg = async () => {
+      showLoadingToast({ message: '图片生成中...', forbidClick: true })
+      setTimeout(() => {
+        imgs.saveLoading = false
+      }, 100)
+      const res = await promisefiyPostMessage({
+        api: 'savePicture',
+        content: {
+          base64: imgs.image
+        }
+      })
+      if (res?.content?.status === 'success') {
+        showSuccessToast('保存成功')
+        form.showQrcode = false
+      } else {
+        showFailToast('保存失败')
+      }
+    }
+
     onMounted(() => {
       console.log(state.user.data.id, '1212')
       getDetail(state.user.data.id)
@@ -176,7 +241,7 @@ export default defineComponent({
           safeAreaInsetBottom={true}
         >
           <div class={styles.codeContainer}>
-            <div class={styles.codeImg}>
+            <div class={styles.codeImg} id="preview-container">
               <div class={styles.codeContent}>
                 <h2 class={[styles.codeTitle, 'van-ellipsis']}>{form.schoolName}</h2>
                 <div class={styles.codeName}>邀请您成为乐团管理老师</div>
@@ -203,7 +268,7 @@ export default defineComponent({
                 <i></i>分享方式
               </h3>
               <Grid columnNum={2} border={false}>
-                <GridItem>
+                <GridItem onClick={onSaveImg}>
                   {{
                     icon: () => <Image class={styles.shareImg} src={iconSaveImage} />,
                     text: () => <div class={styles.shareText}>保存图片</div>

+ 22 - 8
src/school/train-planning/modal/practice-class/index.tsx

@@ -28,13 +28,22 @@ export default defineComponent({
     classType: {
       type: String,
       default: ''
+    },
+    orchestraId: {
+      // 乐团编号
+      type: String,
+      default: ''
+    },
+    selectItem: {
+      type: Array,
+      default: () => []
     }
   },
   emits: ['close', 'confirm'],
   setup(props, { slots, attrs, emit }) {
     const forms = reactive({
       showPopover: false,
-      orchestraId: null as any,
+      orchestraId: (props.orchestraId || null) as any,
       orchestraName: null as any,
       orchestraList: [] as any,
       isClick: false,
@@ -49,7 +58,7 @@ export default defineComponent({
         page: 1,
         rows: 20
       },
-      check: [] as any,
+      check: (props.selectItem || []) as any,
       checkboxRefs: [] as any
     })
     // 获取乐团列表
@@ -136,13 +145,15 @@ export default defineComponent({
 
     // 确定选择班级
     const onSubmit = () => {
-      console.log(forms.check)
       emit('confirm', forms.check)
       emit('close')
     }
 
     onMounted(async () => {
-      await getOrchestras()
+      // 判断是否有乐团编号
+      if (!props.orchestraId) {
+        await getOrchestras()
+      }
       await getList()
     })
 
@@ -150,17 +161,20 @@ export default defineComponent({
       <div class={styles.practiceClass}>
         <OSticky position="top">
           <OHeader title="选择班级" desotry={false} />
-          <div style={{ padding: '12px 13px', background: '#f6f6f6' }}>
-            <div class={styles.searchBand} onClick={() => (forms.showPopover = true)}>
-              {forms.orchestraName} <Icon name={forms.showPopover ? 'arrow-up' : 'arrow-down'} />
+          {!props.orchestraId && (
+            <div style={{ padding: '12px 13px', background: '#f6f6f6' }}>
+              <div class={styles.searchBand} onClick={() => (forms.showPopover = true)}>
+                {forms.orchestraName} <Icon name={forms.showPopover ? 'arrow-up' : 'arrow-down'} />
+              </div>
             </div>
-          </div>
+          )}
         </OSticky>
 
         {forms.listState.dataShow ? (
           <List
             v-model:loading={forms.listState.loading}
             finished={forms.listState.finished}
+            style={{ marginTop: props.orchestraId ? '12px' : 0 }}
             finishedText=" "
             class={[styles.liveList]}
             onLoad={getList}

+ 11 - 0
src/student/main.ts

@@ -6,6 +6,17 @@ import 'vant/lib/index.css';
 import 'normalize.css'
 
 import '../styles/index.less'
+import { promisefiyPostMessage } from '@/helpers/native-message';
+import { setAuth } from './music-group/layout/utils';
+
+// 获取token
+promisefiyPostMessage({ api: 'getToken' }).then((res: any) => {
+  console.log(res, 'res')
+  const content = res.content
+  if (content?.accessToken) {
+    setAuth(content.tokenType + ' ' + content.accessToken)
+  }
+})
 
 
 // import Vconsole from 'vconsole'

+ 6 - 1
src/student/member-center/index.tsx

@@ -96,7 +96,12 @@ export default defineComponent({
     // 查询未支付订单
     async paymentOrderUnpaid() {
       try {
-        const { data } = await request.get('/api-student/userPaymentOrder/unpaid')
+        const { data } = await request.get('/api-student/userPaymentOrder/unpaid', {
+          requestType: 'form',
+          params: {
+            paymentType: 'VIP'
+          }
+        })
         // 判断是否有待支付订单
         if (data.id) {
           showConfirmDialog({

+ 1 - 1
src/student/music-group/pre-apply/order-detail.tsx

@@ -413,7 +413,7 @@ export default defineComponent({
                   <div class={styles.tipsContent}>
                     1.长按二维码保存图片到相册(或截屏保存到相册)
                     <br />
-                    2.打开支付宝扫一扫
+                    2.打开{state.pay_channel === 'wx_pub' ? '微信' : '支付宝'}扫一扫
                     <br />
                     3.选择相册中的二维码
                     <br />

+ 12 - 2
src/teacher/main.ts

@@ -1,13 +1,13 @@
 import { createApp } from 'vue'
 import App from './App.vue'
 import router from '../router/index'
-import { postMessage } from '@/helpers/native-message'
+import { postMessage, promisefiyPostMessage } from '@/helpers/native-message'
 
 import 'normalize.css'
 import 'vant/lib/index.css';
 import '../styles/index.less'
 import { state } from '@/state'
-import { browser } from '@/helpers/utils'
+import { browser, setAuth } from '@/helpers/utils'
 
 const app = createApp(App)
 
@@ -23,6 +23,16 @@ const app = createApp(App)
 //   }
 // });
 
+// 获取token
+promisefiyPostMessage({ api: 'getToken' }).then((res: any) => {
+  console.log(res, 'res')
+  const content = res.content
+  if (content?.accessToken) {
+    setAuth(content.tokenType + ' ' + content.accessToken)
+  }
+})
+
+
 postMessage(
   {
     api: 'getVersion'

+ 2 - 2
vite.config.ts

@@ -12,9 +12,9 @@ function resolve(dir: string) {
 // https://vitejs.dev/config/
 // https://github.com/vitejs/vite/issues/1930 .env
 // const proxyUrl = 'https://mstutest.dayaedu.com/';
-const proxyUrl = 'http://47.98.131.38:8989/'
+// const proxyUrl = 'http://47.98.131.38:8989/'
 // const proxyUrl = 'http://192.168.3.143:8989/' // 尚科
-// const proxyUrl = 'http://192.168.3.26:8989/' // 刘俊驰
+const proxyUrl = 'http://192.168.3.26:8989/' // 刘俊驰
 export default defineConfig({
   base: './',
   plugins: [