diff --git a/common/api.js b/common/api.js index 256ba24..e9f5915 100644 --- a/common/api.js +++ b/common/api.js @@ -1,8 +1,8 @@ // appId: 正式 null | 测试 null export const DEV = "dev"; // dev 测试 | prod 正式 export const VERSION = '1.0.0'; // 版本号 -export const DEVURL = 'http://192.168.111.224'; // 测试服请求地址 -// export const DEVURL = 'https://blinddate.lanzulive.com'; // 测试服请求地址 +export const DEVURL = 'https://blinddate.lanzulive.com'; // 测试服请求地址 +// export const DEVURL = 'http://192.168.111.224'; // 测试服请求地址 export const PRODURL = ''; // 正式服请求地址 export const CALLBACKURL = 'http://192.168.111.220:8080'; // 重定向地址(H5授权换取code回调地址) export const APPID = 'wx98e64ab875b2553e'; // 公众号appid diff --git a/common/http.js b/common/http.js index cc60597..a86848e 100644 --- a/common/http.js +++ b/common/http.js @@ -44,6 +44,9 @@ function $http(url, data = {}, options = {}){ // #ifdef APP-PLUS data.platform = 'app'; // 来自app平台,其他平台写法类似 // #endif + // #ifdef H5 + data.platform = 'h5'; // 来自app平台,其他平台写法类似 + // #endif // 当前小程序版本号 data.version = that.API.VERSION; // 获取设备唯一deviceId,如果没有,自动生成一个 diff --git a/common/styles/sharedIconFont.css b/common/styles/sharedIconFont.css index eb45c93..d4445f9 100644 --- a/common/styles/sharedIconFont.css +++ b/common/styles/sharedIconFont.css @@ -1,8 +1,8 @@ @font-face { font-family: "le"; /* Project id 2758976 */ - src: url('//at.alicdn.com/t/font_2758976_blqjbbep8zo.woff2?t=1629876001355') format('woff2'), - url('//at.alicdn.com/t/font_2758976_blqjbbep8zo.woff?t=1629876001355') format('woff'), - url('//at.alicdn.com/t/font_2758976_blqjbbep8zo.ttf?t=1629876001355') format('truetype'); + src: url('//at.alicdn.com/t/font_2758976_ab62fotvipq.woff2?t=1630381533626') format('woff2'), + url('//at.alicdn.com/t/font_2758976_ab62fotvipq.woff?t=1630381533626') format('woff'), + url('//at.alicdn.com/t/font_2758976_ab62fotvipq.ttf?t=1630381533626') format('truetype'); } .le { @@ -13,6 +13,26 @@ -moz-osx-font-smoothing: grayscale; } +.lf-icon-home:before { + content: "\e759"; +} + +.lf-icon-jiantoushang:before { + content: "\e619"; +} + +.lf-icon-jiantouxia:before { + content: "\e61a"; +} + +.lf-icon-jiantouyou:before { + content: "\e61b"; +} + +.lf-icon-jiantouzuo:before { + content: "\e61c"; +} + .lf-icon-xingxing-kong:before { content: "\e649"; } diff --git a/components/lf-nav/lf-nav.vue b/components/lf-nav/lf-nav.vue new file mode 100644 index 0000000..6d3d12b --- /dev/null +++ b/components/lf-nav/lf-nav.vue @@ -0,0 +1,191 @@ + + + + + \ No newline at end of file diff --git a/components/lf-tabbar/animate.scss b/components/lf-tabbar/animate.scss new file mode 100644 index 0000000..b07e0db --- /dev/null +++ b/components/lf-tabbar/animate.scss @@ -0,0 +1,149 @@ +.animate__animated { + animation-duration: 0.5s; + animation-fill-mode: both; +} + +@keyframes zoomIn { + from { + opacity: 0; + -webkit-transform: scale3d(0.3, 0.3, 0.3); + transform: scale3d(0.3, 0.3, 0.3); + } + + 50% { + opacity: 1; + } +} + +.animate__zoomIn { + animation-name: zoomIn; +} + +@keyframes bounce { + + from, + 20%, + 53%, + to { + -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } + + 40%, + 43% { + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + transform: translate3d(0, -30px, 0) scaleY(1.1); + } + + 70% { + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); + transform: translate3d(0, -15px, 0) scaleY(1.05); + } + + 80% { + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + transform: translate3d(0, 0, 0) scaleY(0.95); + } + + 90% { + transform: translate3d(0, -4px, 0) scaleY(1.02); + } +} + +.animate__bounce { + animation-name: bounce; + transform-origin: center bottom; +} + +@keyframes rubberBand { + from { + transform: scale3d(1, 1, 1); + } + + 30% { + transform: scale3d(1.25, 0.75, 1); + } + + 40% { + transform: scale3d(0.75, 1.25, 1); + } + + 50% { + transform: scale3d(1.15, 0.85, 1); + } + + 65% { + transform: scale3d(0.95, 1.05, 1); + } + + 75% { + transform: scale3d(1.05, 0.95, 1); + } + + to { + transform: scale3d(1, 1, 1); + } +} + +.animate__rubberBand { + animation-name: rubberBand; +} + +@keyframes bounceIn { + + from, + 20%, + 40%, + 60%, + 80%, + to { + animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + + 0% { + opacity: 0; + transform: scale3d(0.3, 0.3, 0.3); + } + + 20% { + transform: scale3d(1.1, 1.1, 1.1); + } + + 40% { + transform: scale3d(0.9, 0.9, 0.9); + } + + 60% { + opacity: 1; + transform: scale3d(1.03, 1.03, 1.03); + } + + 80% { + transform: scale3d(0.97, 0.97, 0.97); + } + + to { + opacity: 1; + transform: scale3d(1, 1, 1); + } +} + +.animate__bounceIn { + animation-name: bounceIn; +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +.animate__fadeIn { + animation-name: fadeIn; +} \ No newline at end of file diff --git a/components/lf-tabbar/lf-tabbar-item.vue b/components/lf-tabbar/lf-tabbar-item.vue new file mode 100644 index 0000000..7e2cfc3 --- /dev/null +++ b/components/lf-tabbar/lf-tabbar-item.vue @@ -0,0 +1,258 @@ + + + + + diff --git a/components/lf-tabbar/lf-tabbar.vue b/components/lf-tabbar/lf-tabbar.vue new file mode 100644 index 0000000..e95a5e3 --- /dev/null +++ b/components/lf-tabbar/lf-tabbar.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/components/lf-tabbar/style.scss b/components/lf-tabbar/style.scss new file mode 100644 index 0000000..2123402 --- /dev/null +++ b/components/lf-tabbar/style.scss @@ -0,0 +1,121 @@ +.lb-tabbar-content { + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + flex-direction: row; + align-items: center; + justify-content: center; +} + +.lb-tabbar--fixed { + position: fixed; + left: 0; + right: 0; + bottom: 0; +} + +.lb-tabbar-border { + height: 1px; + position: absolute; + left: 0; + right: 0; + top: 0; + transform: scaleY(0.5); +} + +/* #ifndef APP-NVUE */ +lb-tabbar-item { + flex: 1; +} + +/* #endif */ + +.lb-tabbar-item { + flex: 1; + /* #ifndef APP-NVUE */ + display: flex; + /* #endif */ + flex-direction: column; + align-items: center; + justify-content: center; + position: relative; + // justify-content: flex-end; +} + +.lb-tabbar-item__text { + overflow: hidden; +} + +.lb-tabbar-item__text--active { + transition-property: color; + transition-duration: 0.3s; +} + +.lb-tabbar-item__icon { + position: relative; +} + +.lb-tabbar-icon { + position: relative; + /* #ifndef APP-NVUE */ + line-height: 1; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + /* #endif */ +} + +.lb-tabbar-item__icon--active { + transition-property: color; + transition-duration: 0.3s; +} + +.lb-my-active{ + transform: translateY(-16.5px) scale(2) !important; + color: yellow; +} +.lb-tabbar-item__icon--raisede { + background-color: #fff; + border-radius: 9999px; + position: relative; + /* #ifndef APP-NVUE */ + z-index: 1; + /* #endif */ +} + +.lb-tabbar-item__dot--style { + border-radius: 9999px; + position: absolute; + top: 0; + right: 0; +} + +.lb-tabbar-item__dot { + width: 8px; + height: 8px; +} + +.lb-tabbar-item__dot--nvue { + opacity: 0; + transition-property: opacity; + transition-duration: 0.1s; +} + +.lb-tabbar-item__dot--show { + opacity: 1; +} + +.lb-tabbar-item__dot--info { + height: 14px; + line-height: 14px; + /* #ifdef APP-NVUE */ + flex: 1; + /* #endif */ + margin-top: 5px; + font-size: 12px; + padding-left: 4px; + padding-right: 4px; + text-align: center; + color: #fff; + transform: translate(50%, -50%); +} \ No newline at end of file diff --git a/components/lf-tabbar/utils.js b/components/lf-tabbar/utils.js new file mode 100644 index 0000000..faf27b6 --- /dev/null +++ b/components/lf-tabbar/utils.js @@ -0,0 +1,10 @@ +export function getPx (val) { + if (!val) return 0 + if (val.indexOf('rpx') > -1) { + val = +val.replace('rpx', '') + val = uni.upx2px(val) + } else { + val = +val.replace('px', '') + } + return val +} diff --git a/pages.json b/pages.json index 678e471..6ac1031 100644 --- a/pages.json +++ b/pages.json @@ -245,7 +245,8 @@ { "path": "pages/test/test", "style": { - "navigationBarTitleText": "测试专用" + "navigationBarTitleText": "测试专用", + "navigationStyle": "custom" } }, { diff --git a/pages/test/test.vue b/pages/test/test.vue index a0644f2..35eb303 100644 --- a/pages/test/test.vue +++ b/pages/test/test.vue @@ -26,6 +26,7 @@
--> + @@ -37,6 +38,22 @@ + {{ item }} + 欧耶 + + + + {{ item.text }} + + @@ -46,22 +63,55 @@ }