Prechádzať zdrojové kódy

Merge branch 'base' into tabbar

菲鸽 1 rok pred
rodič
commit
7ab753ee8d

+ 4 - 2
src/hooks/useRequest.ts

@@ -1,3 +1,5 @@
+import { UnwrapRef } from 'vue'
+
 type IUseRequestOptions<T> = {
   /** 是否立即执行,如果是则在onLoad执行 */
   immediate?: boolean
@@ -19,12 +21,12 @@ export default function useRequest<T>(
 ) {
   const loading = ref(false)
   const error = ref(false)
-  const data = ref<T>()
+  const data = ref<T>(options.initialData)
   const run = async () => {
     loading.value = true
     func()
       .then((res) => {
-        data.value = res.data
+        data.value = res.data as UnwrapRef<T>
         error.value = false
       })
       .catch((err) => {

+ 17 - 5
src/pages/about/components/request.vue

@@ -24,9 +24,14 @@
 
     <!-- http://localhost:9000/#/pages/index/request -->
     <wd-button @click="run" class="my-6">发送请求</wd-button>
-    <view class="text-xl">请求数据如下</view>
-    <view class="text-green h-6">{{ JSON.stringify(data) }}</view>
-    <wd-button type="error" @click="reset" class="my-6">清除数据</wd-button>
+    <view class="h-12">
+      <view v-if="loading">loading...</view>
+      <block v-else>
+        <view class="text-xl">请求数据如下</view>
+        <view class="text-green leading-8">{{ JSON.stringify(data) }}</view>
+      </block>
+    </view>
+    <wd-button type="error" @click="reset" class="my-6" :disabled="!data">重置数据</wd-button>
   </view>
 </template>
 
@@ -35,9 +40,16 @@ import { getFooAPI, postFooAPI, IFooItem } from '@/service/index/foo'
 
 const recommendUrl = ref('http://laf.run/signup?code=ohaOgIX')
 
+// const initialData = {
+//   name: 'initialData',
+//   id: '1234',
+// }
+const initialData = undefined
 // 适合少部分全局性的接口————多个页面都需要的请求接口,额外编写一个 Service 层
-const { loading, error, data, run } = useRequest<IFooItem>(() => getFooAPI('菲鸽'))
+const { loading, error, data, run } = useRequest<IFooItem>(() => getFooAPI('菲鸽'), {
+  initialData,
+})
 const reset = () => {
-  data.value = undefined
+  data.value = initialData
 }
 </script>

+ 5 - 4
uno.config.ts

@@ -12,7 +12,7 @@ import {
 import { presetApplet, presetRemRpx, transformerAttributify } from 'unocss-applet'
 
 // @see https://unocss.dev/presets/legacy-compat
-import { presetLegacyCompat } from '@unocss/preset-legacy-compat'
+// import { presetLegacyCompat } from '@unocss/preset-legacy-compat'
 
 const isMp = process.env?.UNI_PLATFORM?.startsWith('mp') ?? false
 
@@ -43,9 +43,10 @@ export default defineConfig({
     // 将颜色函数 (rgb()和hsl()) 从空格分隔转换为逗号分隔,更好的兼容性app端,example:
     // `rgb(255 0 0)` -> `rgb(255, 0, 0)`
     // `rgba(255 0 0 / 0.5)` -> `rgba(255, 0, 0, 0.5)`
-    presetLegacyCompat({
-      commaStyleColorFunction: true,
-    }) as Preset,
+    // 与群友的正常写法冲突,先去掉!(2024-05-25)
+    // presetLegacyCompat({
+    //   commaStyleColorFunction: true,
+    // }) as Preset,
   ],
   /**
    * 自定义快捷语句