Bläddra i källkod

feat: 续上,删除多余文件

Burt 2 år sedan
förälder
incheckning
a3de109d01

+ 0 - 1
pages.config.ts

@@ -11,7 +11,6 @@ export default defineUniPages({
   easycom: {
     autoscan: true,
     custom: {
-      '^fly-(.*)': '@/components/fly-$1/fly-$1.vue',
       '^uni-(.*)': '@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue',
     },
   },

+ 0 - 3
src/components/fly-header/fly-header.vue

@@ -1,3 +0,0 @@
-<template>
-  <view class="text-green-500"> header </view>
-</template>

+ 0 - 7
src/components/fly-login/README.md

@@ -1,7 +0,0 @@
-# fly-login
-
-点击“点击显示微信头像”按钮后,出现的半屏登录弹窗,可以在任意页面引入。
-
-仿“掘金小册”小程序。
-
-![掘金小册登录](screenshot.png)

BIN
src/components/fly-login/defaultAvatar.png


+ 0 - 120
src/components/fly-login/fly-login.vue

@@ -1,120 +0,0 @@
-<template>
-  <view class="fly-login" v-if="modelValue">
-    <view class="fly-login-mask" />
-    <view class="fly-login-content px-4">
-      <view class="font-bold h-16 leading-16">获取您的昵称、头像</view>
-      <view
-        class="rounded-full bg-light-600 w-6 h-6 text-center absolute top-4 right-4"
-        @click="onClose"
-      >
-        <view class="i-carbon-close text-gray-700" />
-      </view>
-
-      <view
-        class="flex items-center h-16 leading-16 border-b-gray-400 border-b-solid border-[1rpx]"
-      >
-        <text class="mr-4 flex-shrink-0">头像</text>
-        <button
-          class="bg-transparent flex items-center after:b-none w-full h-12 leading-12"
-          open-type="chooseAvatar"
-          @chooseavatar="onChooseAvatar"
-        >
-          <image class="w-8 h-8 rounded-full" :src="avatarUrl"></image>
-          <text class="ml-auto i-carbon-chevron-right"></text>
-        </button>
-      </view>
-
-      <view
-        class="flex items-center h-16 leading-16 border-b-gray-400 border-b-solid border-1 mt-4"
-      >
-        <text class="mr-4 flex-shrink-0">昵称</text>
-        <input type="nickname" placeholder="请输入昵称" @change="onChange" @blur="onChange" />
-      </view>
-
-      <button
-        size="default"
-        type="default"
-        style="color: #fff; background-color: #1aad19; border-color: #1aad19"
-        class="text-center leading-12 w-40 my-4"
-        @click="onSubmit"
-      >
-        确定
-      </button>
-    </view>
-  </view>
-</template>
-<script lang="ts" setup>
-import { useUserStore } from '@/store'
-import defaultAvatarUrl from './defaultAvatar.png'
-
-const emit = defineEmits(['update:modelValue'])
-defineProps<{ modelValue: boolean }>()
-
-const userStore = useUserStore()
-
-const avatarUrl = ref(defaultAvatarUrl)
-const nickname = ref('')
-
-const onClose = () => {
-  emit('update:modelValue', false)
-}
-
-const onChooseAvatar = (e) => {
-  const { avatarUrl: url } = e.detail
-  avatarUrl.value = url
-  // 这里就要上传,加快速度,提升体验(用户多次选择头像就多次上传吧,总有取舍)
-  console.log(url)
-}
-
-const onChange = (e) => {
-  const { value } = e.detail
-  nickname.value = value
-  console.log(value)
-}
-
-const onSubmit = () => {
-  // 1、上传刚刚的图片,并返回网络地址
-  // 2、把用户信息存起来
-  if (avatarUrl.value === defaultAvatarUrl) {
-    uni.showToast({
-      title: '请选择头像',
-      icon: 'none',
-    })
-    return
-  }
-  if (!nickname.value) {
-    uni.showToast({
-      title: '请填写昵称',
-      icon: 'none',
-    })
-    return
-  }
-
-  emit('update:modelValue', false)
-  console.log('保存用户信息')
-  userStore.setUserInfo({ nickname: nickname.value, avatar: avatarUrl.value })
-}
-</script>
-
-<style lang="scss" scoped>
-.fly-login {
-  position: fixed;
-  inset: 0;
-
-  .fly-login-mask {
-    position: fixed;
-    inset: 0;
-    background-color: rgb(0 0 0 / 30%);
-  }
-
-  .fly-login-content {
-    position: fixed;
-    right: 0;
-    bottom: 0;
-    left: 0;
-    background-color: #fff;
-    border-top-left-radius: 16px;
-    border-top-right-radius: 16px;
-  }
-}
-</style>

BIN
src/components/fly-login/screenshot.png


+ 0 - 3
src/components/fly-navbar/README.md

@@ -1,3 +0,0 @@
-# fly-navbar
-
-建议本导航栏组件在设置 `"navigationStyle": "custom"` 的页面使用,目前支持微信小程序的页面滚动动画。

+ 0 - 71
src/components/fly-navbar/fly-navbar.vue

@@ -1,71 +0,0 @@
-<template>
-  <!-- 自定义导航栏: 默认透明不可见, scroll-view 滚动到 50 时展示 -->
-  <view class="fly-navbar" :style="{ paddingTop: safeAreaInsets?.top + 'px' }">
-    <!-- 1/3,多于1个页面,用返回图标 -->
-    <navigator v-if="pages.length > 1" open-type="navigateBack" class="left-icon">
-      <view class="bg-gray-500/80 rounded-full w-8 h-8 flex items-center justify-center">
-        <button class="i-carbon-chevron-left text-white w-7 h-7"></button>
-      </view>
-    </navigator>
-    <!-- 2/3,只有1个页面,如果不是tabbar,需要首页图标 -->
-    <!-- 这种情况一般出现在用户直接打开分享出去的详情页面,或者使用redirectTo等API -->
-    <navigator
-      v-else-if="!isTabbar"
-      open-type="switchTab"
-      url="/pages/index/index"
-      class="left-icon"
-    >
-      <view class="bg-gray-500/80 rounded-full w-8 h-8 flex items-center justify-center">
-        <button class="i-carbon-home text-white w-6 h-6"></button>
-      </view>
-    </navigator>
-    <!-- 3/3,如果当前页就是tabbar页,不用去首页,也就是什么图标都不需要 -->
-    <view class="title">{{ title || '' }}</view>
-  </view>
-</template>
-
-<script lang="ts" setup>
-import { getIsTabbar } from '@/utils/index'
-
-defineProps<{ title?: string }>()
-// 获取页面栈
-const pages = getCurrentPages()
-const isTabbar = getIsTabbar()
-console.log({ isTabbar, pagesLen: pages.length })
-
-// 获取屏幕边界到安全区域距离
-const { safeAreaInsets } = uni.getSystemInfoSync()
-</script>
-
-<style lang="scss" scoped>
-.fly-navbar {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 9;
-  width: 750rpx;
-  color: #000;
-  background-color: transparent;
-
-  .left-icon {
-    position: absolute;
-    left: 0;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    width: 44px;
-    height: 44px;
-    font-size: 44rpx;
-    color: #000;
-  }
-
-  .title {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    height: 44px;
-    font-size: 32rpx;
-    color: transparent;
-  }
-}
-</style>

+ 0 - 0
src/hooks/.gitkeep


+ 0 - 62
src/hooks/useNavbarWeixin.ts

@@ -1,62 +0,0 @@
-import { onReady } from '@dcloudio/uni-app'
-import { getIsTabbar } from '@/utils/index'
-
-export default () => {
-  // 获取页面栈
-  const pages = getCurrentPages()
-  const isTabbar = getIsTabbar()
-
-  // 页面滚动到底部时的操作,通常用于加载更多数据
-  const onScrollToLower = () => {}
-  // 获取屏幕边界到安全区域距离
-  const { safeAreaInsets } = uni.getSystemInfoSync()
-
-  // #ifdef MP-WEIXIN
-  // 基于小程序的 Page 类型扩展 uni-app 的 Page
-  type PageInstance = Page.PageInstance & WechatMiniprogram.Page.InstanceMethods<any>
-  // 获取当前页面实例,数组最后一项
-  const pageInstance = getCurrentPages().at(-1) as PageInstance
-
-  // 页面渲染完毕,绑定动画效果
-  onReady(() => {
-    // 动画效果,导航栏背景色
-    pageInstance.animate(
-      '.fly-navbar',
-      [{ backgroundColor: 'transparent' }, { backgroundColor: '#f8f8f8' }],
-      1000,
-      {
-        scrollSource: '#scroller',
-        timeRange: 1000,
-        startScrollOffset: 0,
-        endScrollOffset: 50,
-      },
-    )
-    // 动画效果,导航栏标题
-    pageInstance.animate(
-      '.fly-navbar .title',
-      [{ color: 'transparent' }, { color: '#000' }],
-      1000,
-      {
-        scrollSource: '#scroller',
-        timeRange: 1000,
-        startScrollOffset: 0,
-        endScrollOffset: 50,
-      },
-    )
-    // 动画效果,导航栏返回按钮
-    pageInstance.animate('.fly-navbar .left-icon', [{ color: '#fff' }, { color: '#000' }], 1000, {
-      scrollSource: '#scroller',
-      timeRange: 1000,
-      startScrollOffset: 0,
-      endScrollOffset: 50,
-    })
-  })
-  // #endif
-
-  return {
-    pages,
-    isTabbar,
-    onScrollToLower,
-    safeAreaInsets,
-  }
-}

+ 0 - 25
src/hooks/useWeixinShare.ts

@@ -1,25 +0,0 @@
-import { onShareAppMessage, onShareTimeline } from '@dcloudio/uni-app'
-
-export default () => {
-  return {
-    /** 激活“分享给好友” */
-    onShareAppMessage: onShareAppMessage(
-      (options: Page.ShareAppMessageOption): Page.CustomShareContent => {
-        console.log('options:', options)
-        return {
-          title: '自定义分享标题',
-          path: '/pages/index/index?id=xxx',
-          imageUrl:
-            'https://cip-shopping-page-0eysug01066a9e-1302818703.tcloudbaseapp.com/pretty-girl.png',
-        }
-      },
-    ),
-    /** 激活“分享到朋友圈”, 注意:需要先激活“分享给好友” */
-    onShareTimeline: onShareTimeline((): Page.ShareTimelineContent => {
-      return {
-        title: '自定义分享标题',
-        query: 'a=1&b=2',
-      }
-    }),
-  }
-}

+ 0 - 0
src/pages-sub/.gitkeep


+ 0 - 8
src/pages-sub/niubi/index.vue

@@ -1,8 +0,0 @@
-<template>
-  <div class="niubi bg-red-600">niubi</div>
-  <div class="niubi">通过 /pages-sub/niubi/index 访问</div>
-</template>
-
-<script lang="ts" setup></script>
-
-<style lang="scss" scoped></style>

BIN
src/static/tabbar/example.png


BIN
src/static/tabbar/exampleHL.png


BIN
src/static/tabbar/home.png


BIN
src/static/tabbar/homeHL.png


BIN
src/static/tabbar/personal.png


BIN
src/static/tabbar/personalHL.png


+ 0 - 28
src/store/count.ts

@@ -1,28 +0,0 @@
-// src/store/useCountStore.ts
-import { defineStore } from 'pinia'
-import { ref } from 'vue'
-
-export const useCountStore = defineStore(
-  'count',
-  () => {
-    const count = ref(0)
-    const increment = () => {
-      count.value++
-    }
-    const decrement = () => {
-      count.value--
-    }
-    const reset = () => {
-      count.value = 0
-    }
-    return {
-      count,
-      decrement,
-      increment,
-      reset,
-    }
-  },
-  {
-    persist: true,
-  },
-)

+ 0 - 1
src/store/index.ts

@@ -16,4 +16,3 @@ export default store
 
 // 模块统一导出
 export * from './user'
-export * from './count'

+ 0 - 3
src/test/import-sort.ts

@@ -1,3 +0,0 @@
-export function fun() {
-  console.log('import sort')
-}

+ 0 - 1
src/test/index.ts

@@ -1 +0,0 @@
-import './trailing-comma'

+ 0 - 6
src/test/trailing-comma.ts

@@ -1,6 +0,0 @@
-// 发现配置了 trailingcomma: "all" 也不会有函数的尾逗号,
-// 与prettier官网描述的不一致。 @see https://prettier.io/docs/en/options#trailing-commas
-export function fn(a: number, b: number) {
-  console.log(a, b)
-}
-fn(12, 2)

+ 0 - 13
src/utils/index.ts

@@ -1,13 +0,0 @@
-import pagesJson from '@/pages.json'
-
-console.log(pagesJson)
-
-/** 判断当前页面是否是tabbar页  */
-export const getIsTabbar = () => {
-  if (!pagesJson.tabBar) {
-    return false
-  }
-  const pages = getCurrentPages()
-  const currPath = pages.at(-1).route
-  return !!pagesJson.tabBar.list.find((e) => e.pagePath === currPath)
-}