Selaa lähdekoodia

refactor: 整理demo页面+自动引入

Burt 2 vuotta sitten
vanhempi
commit
6aec85e58d

src/pages/demo/demo/mp-weixin-share.vue → src/pages/demo/base/mp-weixin-share.vue


src/pages/demo/demo/navbar.vue → src/pages/demo/base/navbar.vue


src/pages/demo/demo/pinia.vue → src/pages/demo/base/pinia.vue


src/pages/demo/demo/request.vue → src/pages/demo/base/request.vue


src/pages/demo/demo/throughout.vue → src/pages/demo/base/throughout.vue


src/pages/demo/demo/uni-ui-icons.vue → src/pages/demo/base/uni-ui-icons.vue


src/pages/demo/demo/uni-ui.vue → src/pages/demo/base/uni-ui.vue


src/pages/demo/demo/unocss-icons.vue → src/pages/demo/base/unocss-icons.vue


src/pages/demo/demo/unocss.vue → src/pages/demo/base/unocss.vue


+ 34 - 44
src/pages/demo/index.vue

@@ -1,12 +1,25 @@
 <template>
   <view class="bg-slate-100">
     <view class="bg-slate-100 w-full">
-      <view v-for="item in list" :key="item.url" class="mt-3">
+      <view class="font-800 mt-4">基本功能</view>
+      <view v-for="item in baseDemos" :key="item.path" class="mt-3">
         <view
           class="flex bg-white items-center justify-between p-3 mb-2"
-          @click="goDetailPage(item.url)"
+          @click="goDetailPage(item.path)"
         >
-          <text class="flex-1 text-4 text-dark">{{ item.name }}</text>
+          <text class="flex-1 text-4 text-dark">{{ item.title }}</text>
+          <text class="i-carbon-chevron-right"></text>
+        </view>
+      </view>
+    </view>
+    <view class="bg-slate-100 w-full">
+      <view class="font-800 mt-4">页面功能</view>
+      <view v-for="item in pageDemos" :key="item.path" class="mt-3">
+        <view
+          class="flex bg-white items-center justify-between p-3 mb-2"
+          @click="goDetailPage(item.path)"
+        >
+          <text class="flex-1 text-4 text-dark">{{ item.title }}</text>
           <text class="i-carbon-chevron-right"></text>
         </view>
       </view>
@@ -15,49 +28,26 @@
 </template>
 
 <script setup lang="ts" name="TestIndex">
-import { ref } from 'vue'
+import pagesJson from '@/pages.json'
+
+console.log(pagesJson)
+/** 基本功能 */
+const baseDemos = pagesJson.pages
+  .filter((e) => e.path.startsWith('pages/demo/base'))
+  .map((e) => ({
+    title: e.style?.navigationBarTitleText || '默认页面标题',
+    path: e.path,
+  }))
+/** 页面功能 */
+const pageDemos = pagesJson.pages
+  .filter((e) => e.path.startsWith('pages/demo/page'))
+  .map((e) => ({
+    title: e.style?.navigationBarTitleText || '默认页面标题',
+    path: e.path,
+  }))
 
-// TODO: 通过pages.json 文件里面的 path 和 navigationBarTitleText,生成数组
-const list = ref([
-  {
-    name: 'UnoCSS',
-    url: 'unocss',
-  },
-  {
-    name: 'UnoCSS Icons',
-    url: 'unocss-icons',
-  },
-  {
-    name: 'UniUI',
-    url: 'uni-ui',
-  },
-  {
-    name: 'UniUI Icons',
-    url: 'uni-ui-icons',
-  },
-  {
-    name: 'Pinia+持久化',
-    url: 'pinia',
-  },
-  {
-    name: '微信分享',
-    url: 'mp-weixin-share',
-  },
-  {
-    name: '自定义导航栏',
-    url: 'navbar',
-  },
-  {
-    name: '自定义导航栏渐变',
-    url: 'throughout',
-  },
-  {
-    name: '请求封装+请求拦截器',
-    url: 'request',
-  },
-])
 const goDetailPage = (path: string) => {
-  const url = `/pages/demo/demo/${path}`
+  const url = `/${path}`
   uni.navigateTo({
     url,
   })

src/pages/demo/demo/clock.vue → src/pages/demo/page/clock.vue


+ 7 - 0
src/pages/demo/demo/floating-bubble.vue

@@ -1,3 +1,10 @@
+<route lang="json5">
+{
+  layout: 'default',
+  style: { navigationBarTitleText: '页面悬浮球' },
+}
+</route>
+
 <template>
   <view>
     <movable-area class="movable-area">

src/pages/demo/demo/img-min/index.vue → src/pages/demo/page/img-min/index.vue


src/pages/demo/demo/lottery.vue → src/pages/demo/page/lottery.vue


src/pages/demo/demo/lottery/big-wheel.vue → src/pages/demo/page/lottery/big-wheel.vue


src/pages/demo/demo/lottery/nine-grid.vue → src/pages/demo/page/lottery/nine-grid.vue


src/pages/demo/demo/lottery2.vue → src/pages/demo/page/lottery2.vue


src/pages/demo/demo/throughout/index.vue → src/pages/demo/page/throughout/index.vue