u
No files matched your search
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"expo": {
|
||||
"name": "allapp",
|
||||
"slug": "allapp",
|
||||
"name": "app",
|
||||
"slug": "app",
|
||||
"version": "1.0.0",
|
||||
"orientation": "portrait",
|
||||
"icon": "./assets/icon.png",
|
||||
"userInterfaceStyle": "light",
|
||||
"newArchEnabled": true,
|
||||
"scheme": [
|
||||
"allapp",
|
||||
"oneao",
|
||||
"tencent102826474"
|
||||
],
|
||||
"splash": {
|
||||
@@ -26,7 +26,7 @@
|
||||
},
|
||||
"edgeToEdgeEnabled": true,
|
||||
"predictiveBackGestureEnabled": false,
|
||||
"package": "cn.oneao.allapp"
|
||||
"package": "cn.oneao.app"
|
||||
},
|
||||
"web": {
|
||||
"favicon": "./assets/favicon.png"
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import type { MoneyCategoryEnum, MoneyCategoryItem } from '@/types/money/category'
|
||||
import { useEffect, useRef, useState } from 'react'
|
||||
import { Pressable, Text, View } from 'react-native'
|
||||
import type { MoneyCategoryItem } from '@/types/money/category'
|
||||
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
||||
import { FlatList, Pressable, Text, View } from 'react-native'
|
||||
import { AButton, ADrawer, AInput } from '@/components/common/ao'
|
||||
import MoneyCategoryIcon from '@/components/common/MoneyCategoryIcon'
|
||||
import { useMoneyCategoryStore } from '@/store/moneyCategory'
|
||||
import { MoneyCategoryEnum } from '@/types/money/category'
|
||||
|
||||
export interface EditCategoryForm {
|
||||
id?: number
|
||||
@@ -60,86 +61,104 @@ export default function CreateCategory({
|
||||
onClose?.()
|
||||
}
|
||||
|
||||
// 缓存点击 Icon 的回调
|
||||
const handlePressIcon = useCallback(
|
||||
(icon: string) => {
|
||||
setForm(v => ({ ...v, icon }))
|
||||
},
|
||||
[setForm],
|
||||
)
|
||||
|
||||
// Memo 化单个 IconItem,避免重复渲染
|
||||
const IconItem = useCallback(({ icon, selected }: { icon: string, selected: boolean }) => {
|
||||
return (
|
||||
<Pressable
|
||||
className="w-1/5 mb-3 flex items-center"
|
||||
onPress={() => handlePressIcon(icon)}
|
||||
>
|
||||
<View
|
||||
style={{
|
||||
width: 46,
|
||||
height: 46,
|
||||
borderRadius: 28,
|
||||
justifyContent: 'center',
|
||||
alignItems: 'center',
|
||||
backgroundColor: selected ? '#333' : '#F3F4F6',
|
||||
}}
|
||||
>
|
||||
<MoneyCategoryIcon
|
||||
name={icon}
|
||||
size={32}
|
||||
color={selected ? '#fff' : '#000'}
|
||||
/>
|
||||
</View>
|
||||
</Pressable>
|
||||
)
|
||||
}, [handlePressIcon])
|
||||
|
||||
// Memo 化渲染每组 Icon 的组件
|
||||
const renderGroup = useCallback(
|
||||
({ item }: { item: [string, string[]] }) => {
|
||||
const [groupName, icons] = item
|
||||
return (
|
||||
<View className="mb-4">
|
||||
<Text className="text-center text-sm mb-3">{groupName}</Text>
|
||||
<View className="flex flex-row flex-wrap">
|
||||
{icons.map(icon => (
|
||||
<IconItem key={icon} icon={icon} selected={form.icon === icon} />
|
||||
))}
|
||||
</View>
|
||||
</View>
|
||||
)
|
||||
},
|
||||
[IconItem, form.icon],
|
||||
)
|
||||
|
||||
// 使用 useMemo 缓存 FlatList 的数据
|
||||
const flatListData = useMemo(() => Object.entries(moneyCategoryStore.ICON_GROUPS), [moneyCategoryStore.ICON_GROUPS])
|
||||
|
||||
return (
|
||||
<ADrawer visible={isOpen} hideModal={handleClose} title="你好" Height="80%" duration={300} />
|
||||
<ADrawer
|
||||
visible={isOpen}
|
||||
hideModal={handleClose}
|
||||
height="80%"
|
||||
duration={300}
|
||||
header={(
|
||||
<View className="flex flex-row items-center justify-between w-full p-4">
|
||||
<AButton size="xs" variant="outline" onPress={handleClose}>
|
||||
取消
|
||||
</AButton>
|
||||
<Text className="text-lg font-medium">
|
||||
{type === MoneyCategoryEnum.Expense ? '添加支出分类' : '添加收入分类'}
|
||||
</Text>
|
||||
<AButton
|
||||
size="xs"
|
||||
disabled={confirmDisabled}
|
||||
loading={confirmLoading}
|
||||
onPress={async () => {
|
||||
if (!onConfirm)
|
||||
return
|
||||
try {
|
||||
setConfirmLoading(true)
|
||||
await onConfirm({ ...form, name: form.name.trim() })
|
||||
}
|
||||
finally {
|
||||
setConfirmLoading(false)
|
||||
}
|
||||
}}
|
||||
>
|
||||
确认
|
||||
</AButton>
|
||||
</View>
|
||||
)}
|
||||
>
|
||||
<FlatList
|
||||
ref={scrollRef}
|
||||
data={flatListData}
|
||||
keyExtractor={([groupName]) => groupName}
|
||||
renderItem={renderGroup}
|
||||
initialNumToRender={1}
|
||||
/>
|
||||
</ADrawer>
|
||||
)
|
||||
}
|
||||
|
||||
// <Drawer isOpen={isOpen} onClose={handleClose} size="lg" anchor="bottom">
|
||||
// <DrawerBackdrop />
|
||||
// <DrawerContent style={{ paddingLeft: 0, paddingRight: 0 }}>
|
||||
// <DrawerHeader className="px-4 flex flex-col gap-4">
|
||||
// <View className="flex flex-row items-center justify-between w-full">
|
||||
// <AButton size="xs" variant="outline" onPress={handleClose}>
|
||||
// 取消
|
||||
// </AButton>
|
||||
// <Text className="text-lg font-medium">
|
||||
// {type === MoneyCategoryEnum.Expense ? '添加支出分类' : '添加收入分类'}
|
||||
// </Text>
|
||||
// <AButton
|
||||
// size="xs"
|
||||
// disabled={confirmDisabled}
|
||||
// loading={confirmLoading}
|
||||
// onPress={async () => {
|
||||
// if (!onConfirm)
|
||||
// return
|
||||
// try {
|
||||
// setConfirmLoading(true)
|
||||
// await onConfirm({ ...form, name: form.name.trim() })
|
||||
// }
|
||||
// finally {
|
||||
// setConfirmLoading(false)
|
||||
// }
|
||||
// }}
|
||||
// >
|
||||
// 确认
|
||||
// </AButton>
|
||||
// </View>
|
||||
// <AInput
|
||||
// value={form.name}
|
||||
// placeholder="请输入名称(不超过5个字符)"
|
||||
// onChangeText={text => setForm(val => ({ ...val, name: text }))}
|
||||
// />
|
||||
// </DrawerHeader>
|
||||
|
||||
// <DrawerBody ref={scrollRef} className="mb-16">
|
||||
// {Object.entries(moneyCategoryStore.ICON_GROUPS).map(([groupName, icons]) => (
|
||||
// <View key={groupName} className="mb-4">
|
||||
// <Text className="text-center text-sm mb-3">{groupName}</Text>
|
||||
// <View className="flex flex-row flex-wrap">
|
||||
// {icons.map(icon => (
|
||||
// <Pressable
|
||||
// key={icon}
|
||||
// className="w-1/5 mb-3 flex items-center"
|
||||
// onPress={() => setForm(val => ({ ...val, icon }))}
|
||||
// >
|
||||
// <View
|
||||
// onLayout={(e) => {
|
||||
// console.log(e.nativeEvent.layout)
|
||||
// iconPositions.current[icon] = e.nativeEvent.layout.y
|
||||
// }}
|
||||
// style={{
|
||||
// width: 46,
|
||||
// height: 46,
|
||||
// borderRadius: 28,
|
||||
// justifyContent: 'center',
|
||||
// alignItems: 'center',
|
||||
// backgroundColor: icon === form.icon ? '#333' : '#F3F4F6',
|
||||
// }}
|
||||
// >
|
||||
// <MoneyCategoryIcon
|
||||
// name={icon}
|
||||
// size={32}
|
||||
// color={icon === form.icon ? '#fff' : '#000'}
|
||||
// />
|
||||
// </View>
|
||||
// </Pressable>
|
||||
// ))}
|
||||
// </View>
|
||||
// </View>
|
||||
// ))}
|
||||
// </DrawerBody>
|
||||
|
||||
// <DrawerFooter />
|
||||
// </DrawerContent>
|
||||
// </Drawer>
|
||||
@@ -19,9 +19,10 @@ interface DrawerMenuProps {
|
||||
visible: boolean
|
||||
duration?: number
|
||||
menuPosition?: 'left' | 'right' | 'top' | 'bottom'
|
||||
Height?: DimensionValue
|
||||
height?: DimensionValue
|
||||
hideModal: () => void
|
||||
children?: ReactNode
|
||||
header?: ReactNode
|
||||
isCircle?: boolean
|
||||
CircleNum?: number
|
||||
isShadowHideModal?: boolean
|
||||
@@ -30,7 +31,7 @@ interface DrawerMenuProps {
|
||||
|
||||
export default function Drawer({
|
||||
visible,
|
||||
Height,
|
||||
height,
|
||||
hideModal,
|
||||
duration = 300,
|
||||
isCircle,
|
||||
@@ -38,6 +39,7 @@ export default function Drawer({
|
||||
children,
|
||||
CircleNum,
|
||||
isShadowHideModal = true,
|
||||
header,
|
||||
title,
|
||||
}: DrawerMenuProps) {
|
||||
const [menuPositionStyle, setMenuPositionStyle] = useState<ViewStyle>()
|
||||
@@ -68,7 +70,7 @@ export default function Drawer({
|
||||
borderBottomRightRadius: isCircle ? CircleNum : 0,
|
||||
})
|
||||
setDrawerMenuBox({
|
||||
width: Height,
|
||||
width: height,
|
||||
height: WINDOW.height,
|
||||
position: 'absolute',
|
||||
left: 0,
|
||||
@@ -84,7 +86,7 @@ export default function Drawer({
|
||||
borderBottomLeftRadius: isCircle ? CircleNum : 0,
|
||||
})
|
||||
setDrawerMenuBox({
|
||||
width: Height,
|
||||
width: height,
|
||||
height: WINDOW.height,
|
||||
position: 'absolute',
|
||||
right: 0,
|
||||
@@ -101,7 +103,7 @@ export default function Drawer({
|
||||
})
|
||||
setDrawerMenuBox({
|
||||
width: WINDOW.width,
|
||||
height: Height,
|
||||
height,
|
||||
position: 'absolute',
|
||||
top: 0,
|
||||
right: 0,
|
||||
@@ -118,14 +120,14 @@ export default function Drawer({
|
||||
})
|
||||
setDrawerMenuBox({
|
||||
width: WINDOW.width,
|
||||
height: Height,
|
||||
height,
|
||||
position: 'absolute',
|
||||
bottom: 0,
|
||||
right: 0,
|
||||
})
|
||||
break
|
||||
}
|
||||
}, [menuPosition, Height, isCircle, CircleNum])
|
||||
}, [menuPosition, height, isCircle, CircleNum])
|
||||
|
||||
/* ================== 动画 ================== */
|
||||
const open = () => {
|
||||
@@ -219,17 +221,20 @@ export default function Drawer({
|
||||
<View style={{ paddingTop: Platform.OS === 'ios' ? 50 : 0 }} />
|
||||
)}
|
||||
|
||||
<View style={styles.headTitle}>
|
||||
<Text style={styles.title}>{title}</Text>
|
||||
<LucideIcon
|
||||
icon="X"
|
||||
size={24}
|
||||
color="black"
|
||||
style={{ position: 'absolute', right: 15, top: 11 }}
|
||||
onPress={close}
|
||||
/>
|
||||
</View>
|
||||
|
||||
{
|
||||
header || (
|
||||
<View style={styles.headTitle}>
|
||||
<Text style={styles.title}>{title}</Text>
|
||||
<LucideIcon
|
||||
icon="X"
|
||||
size={22}
|
||||
color="black"
|
||||
style={{ position: 'absolute', right: 15, top: 11 }}
|
||||
onPress={close}
|
||||
/>
|
||||
</View>
|
||||
)
|
||||
}
|
||||
{children}
|
||||
</View>
|
||||
</Animated.View>
|
||||
@@ -249,7 +254,6 @@ const styles = StyleSheet.create({
|
||||
position: 'absolute',
|
||||
},
|
||||
headTitle: {
|
||||
height: 40,
|
||||
width: '100%',
|
||||
padding: 10,
|
||||
justifyContent: 'center',
|
||||
|
||||
@@ -32,8 +32,8 @@ function isWhiteListed(url: string) {
|
||||
}
|
||||
|
||||
const alovaInstance = createAlova({
|
||||
baseURL: 'http://192.168.5.6:8086/app',
|
||||
// baseURL: 'http://192.168.1.137:8086/app',
|
||||
// baseURL: 'http://192.168.5.6:8086/app',
|
||||
baseURL: 'http://192.168.1.137:8086/app',
|
||||
requestAdapter: axiosRequestAdapter(),
|
||||
timeout: 5000,
|
||||
cacheFor: null,
|
||||
|
||||
|
After Width: | Height: | Size: 662 KiB |
|
After Width: | Height: | Size: 902 KiB |
|
After Width: | Height: | Size: 694 KiB |
|
After Width: | Height: | Size: 688 KiB |
|
After Width: | Height: | Size: 975 KiB |
|
After Width: | Height: | Size: 724 KiB |
|
After Width: | Height: | Size: 817 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 848 KiB |
|
After Width: | Height: | Size: 534 KiB |
|
After Width: | Height: | Size: 755 KiB |
|
After Width: | Height: | Size: 571 KiB |
|
After Width: | Height: | Size: 551 KiB |
|
After Width: | Height: | Size: 812 KiB |
|
After Width: | Height: | Size: 586 KiB |
|
After Width: | Height: | Size: 758 KiB |
|
After Width: | Height: | Size: 999 KiB |
|
After Width: | Height: | Size: 788 KiB |
|
After Width: | Height: | Size: 527 KiB |
|
After Width: | Height: | Size: 770 KiB |
|
After Width: | Height: | Size: 570 KiB |
|
After Width: | Height: | Size: 530 KiB |
|
After Width: | Height: | Size: 772 KiB |
|
After Width: | Height: | Size: 565 KiB |
@@ -0,0 +1,186 @@
|
||||
/**
|
||||
* Owl Carousel v2.3.4
|
||||
* Copyright 2013-2018 David Deutsch
|
||||
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
|
||||
*/
|
||||
/*
|
||||
* Owl Carousel - Core
|
||||
*/
|
||||
.owl-carousel {
|
||||
display: none;
|
||||
width: 100%;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
/* position relative and z-index fix webkit rendering fonts issue */
|
||||
position: relative;
|
||||
z-index: 1; }
|
||||
.owl-carousel .owl-stage {
|
||||
position: relative;
|
||||
-ms-touch-action: pan-Y;
|
||||
touch-action: manipulation;
|
||||
-moz-backface-visibility: hidden;
|
||||
/* fix firefox animation glitch */ }
|
||||
.owl-carousel .owl-stage:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
line-height: 0;
|
||||
height: 0; }
|
||||
.owl-carousel .owl-stage-outer {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
/* fix for flashing background */
|
||||
-webkit-transform: translate3d(0px, 0px, 0px); }
|
||||
.owl-carousel .owl-wrapper,
|
||||
.owl-carousel .owl-item {
|
||||
-webkit-backface-visibility: hidden;
|
||||
-moz-backface-visibility: hidden;
|
||||
-ms-backface-visibility: hidden;
|
||||
-webkit-transform: translate3d(0, 0, 0);
|
||||
-moz-transform: translate3d(0, 0, 0);
|
||||
-ms-transform: translate3d(0, 0, 0); }
|
||||
.owl-carousel .owl-item {
|
||||
position: relative;
|
||||
min-height: 1px;
|
||||
float: left;
|
||||
-webkit-backface-visibility: hidden;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
-webkit-touch-callout: none; }
|
||||
.owl-carousel .owl-item img {
|
||||
display: block;
|
||||
width: 100%; }
|
||||
.owl-carousel .owl-nav.disabled,
|
||||
.owl-carousel .owl-dots.disabled {
|
||||
display: none; }
|
||||
.owl-carousel .owl-nav .owl-prev,
|
||||
.owl-carousel .owl-nav .owl-next,
|
||||
.owl-carousel .owl-dot {
|
||||
cursor: pointer;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none; }
|
||||
.owl-carousel .owl-nav button.owl-prev,
|
||||
.owl-carousel .owl-nav button.owl-next,
|
||||
.owl-carousel button.owl-dot {
|
||||
background: none;
|
||||
color: inherit;
|
||||
border: none;
|
||||
padding: 0 !important;
|
||||
font: inherit; }
|
||||
.owl-carousel.owl-loaded {
|
||||
display: block; }
|
||||
.owl-carousel.owl-loading {
|
||||
opacity: 0;
|
||||
display: block; }
|
||||
.owl-carousel.owl-hidden {
|
||||
opacity: 0; }
|
||||
.owl-carousel.owl-refresh .owl-item {
|
||||
visibility: hidden; }
|
||||
.owl-carousel.owl-drag .owl-item {
|
||||
-ms-touch-action: pan-y;
|
||||
touch-action: pan-y;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none; }
|
||||
.owl-carousel.owl-grab {
|
||||
cursor: move;
|
||||
cursor: grab; }
|
||||
.owl-carousel.owl-rtl {
|
||||
direction: rtl; }
|
||||
.owl-carousel.owl-rtl .owl-item {
|
||||
float: right; }
|
||||
|
||||
/* No Js */
|
||||
.no-js .owl-carousel {
|
||||
display: block; }
|
||||
|
||||
/*
|
||||
* Owl Carousel - Animate Plugin
|
||||
*/
|
||||
.owl-carousel .animated {
|
||||
animation-duration: 1000ms;
|
||||
animation-fill-mode: both; }
|
||||
|
||||
.owl-carousel .owl-animated-in {
|
||||
z-index: 0; }
|
||||
|
||||
.owl-carousel .owl-animated-out {
|
||||
z-index: 1; }
|
||||
|
||||
.owl-carousel .fadeOut {
|
||||
animation-name: fadeOut; }
|
||||
|
||||
@keyframes fadeOut {
|
||||
0% {
|
||||
opacity: 1; }
|
||||
100% {
|
||||
opacity: 0; } }
|
||||
|
||||
/*
|
||||
* Owl Carousel - Auto Height Plugin
|
||||
*/
|
||||
.owl-height {
|
||||
transition: height 500ms ease-in-out; }
|
||||
|
||||
/*
|
||||
* Owl Carousel - Lazy Load Plugin
|
||||
*/
|
||||
.owl-carousel .owl-item {
|
||||
/**
|
||||
This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
|
||||
calculation of the height of the owl-item that breaks page layouts
|
||||
*/ }
|
||||
.owl-carousel .owl-item .owl-lazy {
|
||||
opacity: 0;
|
||||
transition: opacity 400ms ease; }
|
||||
.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
|
||||
max-height: 0; }
|
||||
.owl-carousel .owl-item img.owl-lazy {
|
||||
transform-style: preserve-3d; }
|
||||
|
||||
/*
|
||||
* Owl Carousel - Video Plugin
|
||||
*/
|
||||
.owl-carousel .owl-video-wrapper {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
background: #000; }
|
||||
|
||||
.owl-carousel .owl-video-play-icon {
|
||||
position: absolute;
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
margin-left: -40px;
|
||||
margin-top: -40px;
|
||||
background: url("owl.video.play.png") no-repeat;
|
||||
cursor: pointer;
|
||||
z-index: 1;
|
||||
-webkit-backface-visibility: hidden;
|
||||
transition: transform 100ms ease; }
|
||||
|
||||
.owl-carousel .owl-video-play-icon:hover {
|
||||
-ms-transform: scale(1.3, 1.3);
|
||||
transform: scale(1.3, 1.3); }
|
||||
|
||||
.owl-carousel .owl-video-playing .owl-video-tn,
|
||||
.owl-carousel .owl-video-playing .owl-video-play-icon {
|
||||
display: none; }
|
||||
|
||||
.owl-carousel .owl-video-tn {
|
||||
opacity: 0;
|
||||
height: 100%;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
transition: opacity 400ms ease; }
|
||||
|
||||
.owl-carousel .owl-video-frame {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
height: 100%;
|
||||
width: 100%; }
|
||||
@@ -0,0 +1,6 @@
|
||||
/**
|
||||
* Owl Carousel v2.3.4
|
||||
* Copyright 2013-2018 David Deutsch
|
||||
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
|
||||
*/
|
||||
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}
|
||||
@@ -0,0 +1,994 @@
|
||||
/*
|
||||
App by FreeHTML5.co
|
||||
Twitter: http://twitter.com/fh5co
|
||||
URL: http://freehtml5.co
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css?family=Montserrat:200,300,400,500,600,700,800");
|
||||
* {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-family: "Montserrat", "sans-serif";
|
||||
}
|
||||
|
||||
html {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.download-btn-first {
|
||||
background: #f7f7f7;
|
||||
}
|
||||
|
||||
.download-btn-first:hover {
|
||||
background: #234197;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.features-btn-first {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.features-btn-first:hover {
|
||||
background: #f7f7f7 !important;
|
||||
color: #234197 !important;
|
||||
}
|
||||
|
||||
#fh5co-hero-wrapper {
|
||||
height: 800px;
|
||||
width: 100%;
|
||||
background: url("../img/banner-bg.jpg") no-repeat center;
|
||||
border-radius: 0 0 50% 50% / 4%;
|
||||
}
|
||||
|
||||
.main-navbar-nav .navbar-brand {
|
||||
font-size: 38px;
|
||||
letter-spacing: 4px;
|
||||
position: relative;
|
||||
top: -5px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.main-navbar-nav {
|
||||
color: #fff !important;
|
||||
}
|
||||
.main-navbar-nav li {
|
||||
color: #fff;
|
||||
opacity: .7;
|
||||
}
|
||||
.main-navbar-nav .navbar-nav .nav-item a:hover {
|
||||
color: #234197 !important;
|
||||
-webkit-transition: all .33s ease;
|
||||
-moz-transition: all .33s ease;
|
||||
-o-transition: all .33s ease;
|
||||
-ms-transition: all .33s ease;
|
||||
transition: all .33s ease;
|
||||
}
|
||||
.main-navbar-nav .active {
|
||||
color: #fff !important;
|
||||
opacity: 1 !important;
|
||||
}
|
||||
.main-navbar-nav a {
|
||||
color: #fff !important;
|
||||
}
|
||||
.main-navbar-nav .nav-link {
|
||||
opacity: 1 !important;
|
||||
margin: 0 35px;
|
||||
font-size: 14.5px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.social-icons-header i {
|
||||
margin: 15px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.social-icons-header a:hover i {
|
||||
opacity: .6;
|
||||
-webkit-transition: all .2s ease;
|
||||
-moz-transition: all .2s ease;
|
||||
-o-transition: all .2s ease;
|
||||
-ms-transition: all .2s ease;
|
||||
transition: all .2s ease;
|
||||
}
|
||||
|
||||
.fh5co-hero-inner {
|
||||
margin-top: 110px;
|
||||
position: relative;
|
||||
}
|
||||
.fh5co-hero-inner > h1 {
|
||||
color: #fff;
|
||||
font-weight: 300;
|
||||
font-size: 55px;
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
.fh5co-hero-inner > p {
|
||||
width: 400px;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
margin-top: 30px;
|
||||
margin-bottom: 30px;
|
||||
line-height: 2em;
|
||||
}
|
||||
.fh5co-hero-inner .download-btn-first {
|
||||
font-size: 15px;
|
||||
padding: 10px 15px;
|
||||
font-weight: 700;
|
||||
color: #234197;
|
||||
}
|
||||
.fh5co-hero-inner .features-btn-first {
|
||||
font-size: 15px;
|
||||
padding: 8px 13px;
|
||||
font-weight: 400;
|
||||
background: #234197;
|
||||
color: #fff;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.fh5co-hero-inner .fh5co-hero-smartphone {
|
||||
position: absolute;
|
||||
right: 0px;
|
||||
top: 120px;
|
||||
height: 650px;
|
||||
}
|
||||
|
||||
/* ==========================================================================================================
|
||||
ADVANTAGES
|
||||
========================================================================================================== */
|
||||
.fh5co-advantages-outer {
|
||||
padding: 70px;
|
||||
height: auto;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.fh5co-advantages-outer .span-perfect {
|
||||
color: #648cff;
|
||||
text-transform: uppercase;
|
||||
font-size: 27px;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.fh5co-advantages-outer .span-features {
|
||||
text-transform: uppercase;
|
||||
font-size: 42px;
|
||||
}
|
||||
.fh5co-advantages-outer .second-title {
|
||||
text-align: center;
|
||||
display: block;
|
||||
}
|
||||
.fh5co-advantages-outer small {
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
.fh5co-advantages-outer .fh5co-advantages-grid-columns {
|
||||
margin-top: 120px;
|
||||
}
|
||||
.fh5co-advantages-outer .fh5co-advantages-grid-columns .col-sm-4 .grid-image {
|
||||
width: 30%;
|
||||
float: left;
|
||||
padding-right: 30px;
|
||||
position: relative;
|
||||
top: 1px;
|
||||
color: #648cff;
|
||||
}
|
||||
.fh5co-advantages-outer .fh5co-advantages-grid-columns .col-sm-4 .grid-title {
|
||||
float: left;
|
||||
font-size: 20px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.fh5co-advantages-outer .fh5co-advantages-grid-columns .col-sm-4 .grid-desc {
|
||||
float: right;
|
||||
font-size: 13px;
|
||||
padding-right: 7%;
|
||||
width: 70%;
|
||||
color: #c7c7c7;
|
||||
margin-top: 10px;
|
||||
line-height: 1.87em;
|
||||
}
|
||||
|
||||
.fh5co-slider-inner {
|
||||
margin-top: 50px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
/* ==========================================================================================================
|
||||
SLIDER
|
||||
========================================================================================================== */
|
||||
.fh5co-slider-outer {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
padding: 70px;
|
||||
}
|
||||
.fh5co-slider-outer h1 {
|
||||
color: #648cff;
|
||||
text-transform: uppercase;
|
||||
font-size: 30px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
.fh5co-slider-outer > h1, .fh5co-slider-outer small {
|
||||
text-align: center;
|
||||
display: block;
|
||||
}
|
||||
.fh5co-slider-outer .fh5co-slider-outer {
|
||||
margin-top: 50px;
|
||||
}
|
||||
.fh5co-slider-outer .carousel-left-arrow {
|
||||
position: absolute;
|
||||
left: -100px;
|
||||
bottom: 250px;
|
||||
font-size: 60px;
|
||||
color: #ececec;
|
||||
}
|
||||
.fh5co-slider-outer .carousel-right-arrow {
|
||||
position: absolute;
|
||||
right: -100px;
|
||||
bottom: 250px;
|
||||
font-size: 60px;
|
||||
color: #ececec;
|
||||
}
|
||||
.fh5co-slider-outer .item img {
|
||||
height: 400px;
|
||||
width: 200px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
/* ==========================================================================================================
|
||||
FEATURES
|
||||
========================================================================================================== */
|
||||
.curved-bg-div {
|
||||
background: url("../img/curved-bgg.jpg") no-repeat;
|
||||
background-position: 0px -140px;
|
||||
background-size: cover;
|
||||
width: 100%;
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.fh5co-features-outer {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin-top: -180px;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 {
|
||||
margin-top: 80px;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 img {
|
||||
height: 550px;
|
||||
}
|
||||
.fh5co-features-outer .sm-6-content {
|
||||
margin-top: 250px;
|
||||
position: relative;
|
||||
}
|
||||
.fh5co-features-outer .sm-6-content h1 {
|
||||
color: #648cff;
|
||||
text-transform: uppercase;
|
||||
font-size: 25px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.fh5co-features-outer .sm-6-content p {
|
||||
color: #111;
|
||||
font-weight: 500;
|
||||
font-size: 14.5px;
|
||||
line-height: 1.8em;
|
||||
width: 450px;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 .col-sm-image-container {
|
||||
position: relative;
|
||||
width: 300px;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 .span-new {
|
||||
color: #fff;
|
||||
background: #fcec64;
|
||||
padding: 18px;
|
||||
width: 35px;
|
||||
display: inline-block;
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
font-size: 14px;
|
||||
box-sizing: initial;
|
||||
position: absolute;
|
||||
font-weight: 700;
|
||||
right: 0;
|
||||
top: 140px;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 .span-free {
|
||||
color: #fff;
|
||||
background: #6ca3ff;
|
||||
padding: 18px;
|
||||
width: 35px;
|
||||
display: inline-block;
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
font-size: 14px;
|
||||
box-sizing: initial;
|
||||
position: absolute;
|
||||
left: -35px;
|
||||
bottom: -430px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 .span-data {
|
||||
color: #7e8c91;
|
||||
background: #b8faee;
|
||||
padding: 20px;
|
||||
width: 40px;
|
||||
display: inline-block;
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
font-size: 14px;
|
||||
letter-spacing: 1px;
|
||||
box-sizing: initial;
|
||||
position: absolute;
|
||||
top: 140px;
|
||||
right: -2px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 .span-percent {
|
||||
color: #fff;
|
||||
background: #6ca3ff;
|
||||
padding: 18px;
|
||||
width: 35px;
|
||||
display: inline-block;
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
font-size: 14px;
|
||||
box-sizing: initial;
|
||||
position: absolute;
|
||||
left: -35px;
|
||||
bottom: -430px;
|
||||
font-weight: 700;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 .circle {
|
||||
color: #c3cfe5;
|
||||
border: 1px solid #ededed;
|
||||
background: #fff;
|
||||
padding: 10px;
|
||||
width: 35px;
|
||||
display: inline-block;
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
font-size: 14px;
|
||||
box-sizing: initial;
|
||||
position: absolute;
|
||||
font-weight: 600;
|
||||
box-shadow: 0 0 0 5px #f9f9f9;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 .circle-first {
|
||||
width: 35px;
|
||||
display: inline-block;
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
font-size: 14px;
|
||||
box-sizing: initial;
|
||||
position: absolute;
|
||||
margin-left: 0px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 .circle-middle {
|
||||
width: 35px;
|
||||
display: inline-block;
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
font-size: 14px;
|
||||
box-sizing: initial;
|
||||
position: absolute;
|
||||
margin-left: 50px;
|
||||
font-weight: 600;
|
||||
}
|
||||
.fh5co-features-outer .col-sm-6 .circle-last {
|
||||
width: 35px;
|
||||
display: inline-block;
|
||||
line-height: 30px;
|
||||
height: 30px;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
font-size: 14px;
|
||||
box-sizing: initial;
|
||||
position: absolute;
|
||||
margin-left: 100px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* ==========================================================================================================
|
||||
REVIEWS
|
||||
========================================================================================================== */
|
||||
.fh5co-reviews-outer {
|
||||
width: 100%;
|
||||
height: 400px;
|
||||
padding: 70px;
|
||||
margin-top: 100px;
|
||||
}
|
||||
.fh5co-reviews-outer .fh5co-reviews-inner {
|
||||
margin-top: 100px;
|
||||
}
|
||||
.fh5co-reviews-outer > h1 {
|
||||
color: #648cff;
|
||||
text-transform: uppercase;
|
||||
font-size: 30px;
|
||||
font-weight: 600;
|
||||
margin-bottom: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
.fh5co-reviews-outer > small {
|
||||
text-align: center;
|
||||
display: block;
|
||||
}
|
||||
.fh5co-reviews-outer .testimonial-desc {
|
||||
clear: both;
|
||||
padding-top: 30px;
|
||||
font-weight: 500;
|
||||
}
|
||||
.fh5co-reviews-outer .testimonial-2 {
|
||||
margin-left: 50px;
|
||||
}
|
||||
|
||||
/* ==========================================================================================================
|
||||
BOTTOM
|
||||
========================================================================================================== */
|
||||
.fh5co-bottom-outer {
|
||||
width: 100%;
|
||||
height: 572px;
|
||||
background: url("../img/download-section-bg.jpg") no-repeat center;
|
||||
margin-top: 120px;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
.fh5co-bottom-outer .fh5co-bottom-inner {
|
||||
margin-top: 270px;
|
||||
}
|
||||
.fh5co-bottom-outer .fh5co-bottom-inner .col-sm-6 h1 {
|
||||
color: #fff;
|
||||
text-transform: uppercase;
|
||||
font-size: 30px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.fh5co-bottom-outer .fh5co-bottom-inner .col-sm-6 p {
|
||||
width: 350px;
|
||||
color: #fff;
|
||||
font-size: 14.5px;
|
||||
line-height: 1.85em;
|
||||
}
|
||||
.fh5co-bottom-outer .fh5co-bottom-inner .col-sm-6 img {
|
||||
margin-top: 25px;
|
||||
}
|
||||
|
||||
/* ==========================================================================================================
|
||||
SUB FOOTER
|
||||
========================================================================================================== */
|
||||
.img-float-left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.img-float-right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.footer-outer {
|
||||
width: 100%;
|
||||
padding: 50px;
|
||||
height: 250px;
|
||||
background: #2e3149;
|
||||
overflow: hidden;
|
||||
}
|
||||
.footer-outer .footer-inner {
|
||||
width: 100%;
|
||||
height: inherit;
|
||||
}
|
||||
.footer-outer .social-icons-footer i {
|
||||
margin: 15px;
|
||||
font-size: 20px;
|
||||
}
|
||||
.footer-outer .social-icons-footer a:hover i {
|
||||
opacity: .6;
|
||||
-webkit-transition: all .2s ease;
|
||||
-moz-transition: all .2s ease;
|
||||
-o-transition: all .2s ease;
|
||||
-ms-transition: all .2s ease;
|
||||
transition: all .2s ease;
|
||||
}
|
||||
.footer-outer .footer-three-grid {
|
||||
width: 1140px;
|
||||
margin: 0 auto;
|
||||
height: 50px;
|
||||
text-align: center;
|
||||
}
|
||||
.footer-outer .column-1-3 {
|
||||
width: 20%;
|
||||
float: left;
|
||||
height: 50px;
|
||||
}
|
||||
.footer-outer .column-1-3 h1 {
|
||||
font-size: 38px;
|
||||
letter-spacing: 3px;
|
||||
position: relative;
|
||||
top: -5px;
|
||||
font-weight: 600;
|
||||
color: #fff;
|
||||
}
|
||||
.footer-outer .column-2-3 {
|
||||
width: 60%;
|
||||
float: left;
|
||||
height: 50px;
|
||||
}
|
||||
.footer-outer .column-3-3 {
|
||||
width: 20%;
|
||||
float: left;
|
||||
height: 50px;
|
||||
}
|
||||
.footer-outer .column-3-3 a {
|
||||
color: #b5b5c8;
|
||||
}
|
||||
.footer-outer .column-3-3 .social-icons-header a:hover {
|
||||
color: #fff;
|
||||
opacity: 1;
|
||||
-webkit-transition: color .2s ease;
|
||||
-o-transition: color .2s ease;
|
||||
transition: color .2s ease;
|
||||
}
|
||||
.footer-outer .footer-nav ul {
|
||||
list-style: none;
|
||||
text-align: center;
|
||||
}
|
||||
.footer-outer .footer-nav ul li {
|
||||
display: inline-block;
|
||||
line-height: 50px;
|
||||
color: #b5b5c8;
|
||||
margin: 0 30px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.footer-outer .footer-nav ul li:hover {
|
||||
color: #fff;
|
||||
-webkit-transition: color .2s ease-in-out;
|
||||
-o-transition: color .2s ease-in-out;
|
||||
transition: color .2s ease-in-out;
|
||||
}
|
||||
.footer-outer .footer-nav ul .active {
|
||||
color: #fff;
|
||||
}
|
||||
.footer-outer .footer-nav ul li a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
.footer-outer .border-bottom-footer {
|
||||
height: 1px;
|
||||
width: 60%;
|
||||
margin: 0 auto;
|
||||
border: 1px solid #434769;
|
||||
display: block;
|
||||
margin-top: 50px;
|
||||
}
|
||||
.footer-outer .copyright {
|
||||
color: #565b87;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
padding: 40px 0;
|
||||
}
|
||||
|
||||
.google-play-btn {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
/* ==========================================================================================================
|
||||
RESPONSIVE STYLING
|
||||
========================================================================================================== */
|
||||
@media screen and (max-width: 1400px) {
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.fh5co-hero-inner .fh5co-hero-smartphone {
|
||||
position: absolute;
|
||||
right: 50px;
|
||||
top: 200px;
|
||||
height: 550px;
|
||||
}
|
||||
|
||||
.curved-bg-div {
|
||||
background-position: 100% -20px;
|
||||
}
|
||||
|
||||
.footer-outer .footer-three-grid {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 1200px) {
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.fh5co-hero-inner .fh5co-hero-smartphone {
|
||||
position: absolute;
|
||||
right: -15px;
|
||||
top: 200px;
|
||||
height: 550px;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 993px) {
|
||||
body {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
#fh5co-hero-wrapper {
|
||||
height: 95vh;
|
||||
}
|
||||
|
||||
.fh5co-hero-inner {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.fh5co-hero-inner .fh5co-hero-smartphone {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
top: 270px;
|
||||
height: 460px;
|
||||
margin-top: 110px;
|
||||
}
|
||||
|
||||
.fh5co-advantages-outer {
|
||||
margin-top: 50px;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.fh5co-advantages-outer .fh5co-advantages-grid-columns .col-sm-4 .grid-image {
|
||||
width: 60px;
|
||||
float: none;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
padding-right: 0px;
|
||||
margin-bottom: 20px;
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
|
||||
.fh5co-advantages-outer .fh5co-advantages-grid-columns .col-sm-4 .grid-title {
|
||||
float: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fh5co-advantages-outer .fh5co-advantages-grid-columns .col-sm-4 .grid-desc {
|
||||
float: none;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fh5co-slider-outer .fh5co-slider-outer {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
.fh5co-features-outer {
|
||||
margin-top: -100px;
|
||||
}
|
||||
|
||||
.fh5co-features-outer .sm-6-content p {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.footer-outer .footer-nav ul li {
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
.footer-outer .social-icons-footer i {
|
||||
margin: 15px 10px;
|
||||
font-size: 20px;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 993px) {
|
||||
.fh5co-features-grid-columns .col-sm-6 {
|
||||
-ms-flex: 0 0 50%;
|
||||
flex: 0 0 100%;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
margin: 30px auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fh5co-features-outer .col-sm-6 .col-sm-image-container {
|
||||
position: relative;
|
||||
width: 295px !important;
|
||||
text-align: center;
|
||||
margin: 15px auto 0;
|
||||
}
|
||||
|
||||
.no-float {
|
||||
float: none !important;
|
||||
}
|
||||
|
||||
.fh5co-slider-outer .carousel-right-arrow {
|
||||
position: absolute;
|
||||
right: -70px;
|
||||
bottom: 250px;
|
||||
font-size: 60px;
|
||||
color: #ececec;
|
||||
}
|
||||
|
||||
.fh5co-slider-outer .carousel-left-arrow {
|
||||
position: absolute;
|
||||
left: -70px;
|
||||
bottom: 250px;
|
||||
font-size: 60px;
|
||||
color: #ececec;
|
||||
}
|
||||
|
||||
.img-float-right {
|
||||
float: none;
|
||||
}
|
||||
|
||||
.img-float-left {
|
||||
float: none;
|
||||
}
|
||||
|
||||
.fh5co-features-outer .col-sm-6 .span-percent, .fh5co-features-outer .col-sm-6 .span-free {
|
||||
left: -15px;
|
||||
bottom: 140px;
|
||||
}
|
||||
|
||||
.fh5co-features-outer .col-sm-6 .span-new {
|
||||
right: -10px;
|
||||
}
|
||||
|
||||
.fh5co-features-outer .col-sm-6 .span-data {
|
||||
right: -15px;
|
||||
}
|
||||
|
||||
.fh5co-features-outer .col-sm-6 .circle {
|
||||
position: static;
|
||||
display: inline-block;
|
||||
margin: 25px 5px;
|
||||
}
|
||||
|
||||
.fh5co-advantages-outer .second-title {
|
||||
margin-top: 60px;
|
||||
}
|
||||
|
||||
.fh5co-features-grid-columns {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.fh5co-features-grid-columns .in-order-4 {
|
||||
order: 1;
|
||||
}
|
||||
.fh5co-features-grid-columns .in-order-3 {
|
||||
order: 2;
|
||||
}
|
||||
|
||||
.fh5co-reviews-outer {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.navbar-light .navbar-toggler {
|
||||
color: #fff !important;
|
||||
border-color: #c7c7c7 !important;
|
||||
}
|
||||
|
||||
.navbar-light .navbar-nav .nav-link {
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.social-icons-header i:first-of-type {
|
||||
margin-right: 10px !important;
|
||||
margin-left: 0 !important;
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 800px) {
|
||||
.fh5co-hero-inner > h1 {
|
||||
color: #fff;
|
||||
font-weight: 300;
|
||||
font-size: 45px;
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
|
||||
#fh5co-hero-wrapper {
|
||||
height: 800px;
|
||||
}
|
||||
|
||||
.fh5co-advantages-outer .fh5co-advantages-grid-columns {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.fh5co-advantages-grid-columns .col-sm-4 {
|
||||
-ms-flex: 0 0 100%;
|
||||
flex: 0 0 100%;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
margin: 30px auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fh5co-hero-inner .fh5co-hero-smartphone {
|
||||
height: 420px;
|
||||
top: 310px;
|
||||
}
|
||||
|
||||
.fh5co-advantages-outer .second-title {
|
||||
margin-top: 60px;
|
||||
}
|
||||
|
||||
.fh5co-bottom-outer {
|
||||
margin-top: 40px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fh5co-bottom-outer .fh5co-bottom-inner {
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
.fh5co-slider-outer {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.fh5co-slider-outer .carousel-left-arrow {
|
||||
left: 50px;
|
||||
font-size: 50px;
|
||||
bottom: 190px;
|
||||
}
|
||||
|
||||
.fh5co-slider-outer .carousel-right-arrow {
|
||||
right: 50px;
|
||||
font-size: 50px;
|
||||
bottom: 190px;
|
||||
}
|
||||
|
||||
.fh5co-reviews-inner .col-sm-5 {
|
||||
-ms-flex: 0 0 75%;
|
||||
flex: 0 0 75%;
|
||||
width: 75%;
|
||||
max-width: 75%;
|
||||
margin: 30px auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fh5co-slider-outer .item img {
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.fh5co-reviews-outer {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.fh5co-reviews-outer .fh5co-reviews-inner {
|
||||
margin-top: 50px;
|
||||
}
|
||||
|
||||
.fh5co-bottom-outer {
|
||||
background-position: center bottom;
|
||||
overflow: hidden;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.fh5co-bottom-inner {
|
||||
overflow: hidden;
|
||||
padding-bottom: 50px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.overlay {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.fh5co-bottom-outer .fh5co-bottom-inner .col-sm-6 p {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.footer-outer {
|
||||
height: auto;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.footer-outer .column-1-3 {
|
||||
width: 100%;
|
||||
float: none;
|
||||
height: auto;
|
||||
padding-top: 30px;
|
||||
}
|
||||
|
||||
.footer-outer .column-2-3 {
|
||||
width: 100%;
|
||||
float: none;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.footer-outer .column-3-3 {
|
||||
width: 100%;
|
||||
float: left;
|
||||
height: auto;
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
.footer-outer .copyright {
|
||||
margin-top: 30px;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.footer-outer .border-bottom-footer {
|
||||
height: 1px;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
border: 1px solid #434769;
|
||||
display: block;
|
||||
margin-top: 100px;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 520px) {
|
||||
#fh5co-hero-wrapper {
|
||||
height: 900px;
|
||||
}
|
||||
|
||||
.fh5co-hero-inner > h1 {
|
||||
font-size: 40px;
|
||||
}
|
||||
|
||||
.fh5co-hero-inner > p {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.fh5co-hero-inner {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fh5co-hero-inner .fh5co-hero-smartphone {
|
||||
height: 450px;
|
||||
top: 420px;
|
||||
margin-top: 70px;
|
||||
}
|
||||
|
||||
.social-icons-header i:first-of-type {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.fh5co-slider-outer .carousel-left-arrow {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.fh5co-slider-outer .carousel-right-arrow {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.fh5co-slider-inner {
|
||||
margin-top: 50px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.fh5co-reviews-inner .col-sm-5 {
|
||||
-ms-flex: 0 0 90%;
|
||||
flex: 0 0 90%;
|
||||
width: 90%;
|
||||
max-width: 90%;
|
||||
margin: 30px auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fh5co-advantages-outer .span-perfect {
|
||||
margin-top: 80px;
|
||||
font-size: 18px;
|
||||
margin-bottom: 15px;
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fh5co-advantages-outer .span-features {
|
||||
font-size: 24px;
|
||||
display: block;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"mappings": "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 truncated
|
||||
"sources": ["../sass/style.scss"],
|
||||
"names": [],
|
||||
"file": "style.css"
|
||||
}
|
||||
|
After Width: | Height: | Size: 571 KiB |
|
After Width: | Height: | Size: 694 KiB |
|
After Width: | Height: | Size: 724 KiB |
|
After Width: | Height: | Size: 848 KiB |
|
After Width: | Height: | Size: 788 KiB |
|
After Width: | Height: | Size: 586 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 793 B |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 970 B |
|
After Width: | Height: | Size: 83 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 956 B |
|
After Width: | Height: | Size: 570 KiB |
|
After Width: | Height: | Size: 565 KiB |
@@ -0,0 +1,284 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>OneAO 记账应用</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta
|
||||
name="description"
|
||||
content="OneAO 记账应用,帮助用户轻松管理日常收支、分类账目、预算与统计,养成良好理财习惯。"
|
||||
/>
|
||||
<meta
|
||||
name="keywords"
|
||||
content="OneAO, 记账, 收支管理, 分类账目, 预算, 财务统计, 理财工具"
|
||||
/>
|
||||
|
||||
<!-- Facebook and Twitter integration -->
|
||||
<meta property="og:title" content="OneAO 记账应用" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="轻松记录每日收支,管理预算与分类账目,养成良好理财习惯。"
|
||||
/>
|
||||
<meta name="twitter:title" content="OneAO 记账应用" />
|
||||
|
||||
<!-- Bootstrap -->
|
||||
<link rel="stylesheet" href="css/bootstrap.css" />
|
||||
<link rel="stylesheet" href="css/owl.carousel.css" />
|
||||
<link rel="stylesheet" href="css/owl.theme.default.min.css" />
|
||||
<link rel="stylesheet" href="css/animate.css" />
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://use.fontawesome.com/releases/v5.0.13/css/all.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="css/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="page-wrap">
|
||||
<!-- HERO -->
|
||||
<div id="fh5co-hero-wrapper">
|
||||
<nav
|
||||
class="container navbar navbar-expand-lg main-navbar-nav navbar-light"
|
||||
>
|
||||
<a class="navbar-brand" href="">OneAO 记账应用</a>
|
||||
<button
|
||||
class="navbar-toggler"
|
||||
type="button"
|
||||
data-toggle="collapse"
|
||||
data-target="#navbarSupportedContent"
|
||||
>
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav nav-items-center ml-auto mr-auto">
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="#">首页</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a
|
||||
class="nav-link"
|
||||
href="#"
|
||||
onclick="$('#fh5co-features').goTo();return false;"
|
||||
>功能特点</a
|
||||
>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a
|
||||
class="nav-link"
|
||||
href="#"
|
||||
onclick="$('#fh5co-download').goTo();return false;"
|
||||
>关于我们</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container fh5co-hero-inner">
|
||||
<h1 class="animated fadeIn wow" data-wow-delay="0.4s">
|
||||
OneAO 记账应用
|
||||
</h1>
|
||||
<p class="animated fadeIn wow" data-wow-delay="0.67s">
|
||||
OneAO 记账应用帮助用户轻松记录日常收支,分类管理账目,实时查看财务状况,养成良好理财习惯。
|
||||
</p>
|
||||
|
||||
<button
|
||||
class="btn btn-md download-btn-first wow fadeInLeft animated"
|
||||
data-wow-delay="0.85s"
|
||||
onclick="$('#fh5co-download').goTo();return false;"
|
||||
>
|
||||
了解更多
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-md features-btn-first animated fadeInLeft wow"
|
||||
data-wow-delay="0.95s"
|
||||
onclick="$('#fh5co-features').goTo();return false;"
|
||||
>
|
||||
功能介绍
|
||||
</button>
|
||||
<img
|
||||
class="fh5co-hero-smartphone animated fadeInRight wow"
|
||||
data-wow-delay="1s"
|
||||
src="img/5.png"
|
||||
alt="App展示"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ADVANTAGES -->
|
||||
<div class="fh5co-advantages-outer">
|
||||
<div class="container">
|
||||
<h1 class="second-title">
|
||||
<span class="span-perfect">核心</span>
|
||||
<span class="span-features">功能</span>
|
||||
</h1>
|
||||
<small>助力日常财务管理</small>
|
||||
|
||||
<div
|
||||
class="row fh5co-advantages-grid-columns wow animated fadeIn"
|
||||
data-wow-delay="0.36s"
|
||||
>
|
||||
<div class="col-sm-4">
|
||||
<img class="grid-image" src="img/icon-1.png" alt="Icon-1" />
|
||||
<h1 class="grid-title">轻松记录收支</h1>
|
||||
<p class="grid-desc">
|
||||
支持快速录入收入和支出,随时查看账目明细,记账更高效。
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<img class="grid-image" src="img/icon-2.png" alt="Icon-2" />
|
||||
<h1 class="grid-title">分类管理账目</h1>
|
||||
<p class="grid-desc">
|
||||
按类别管理收支账目,清晰了解每一笔开销,方便预算规划。
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<img class="grid-image" src="img/icon-3.png" alt="Icon-3" />
|
||||
<h1 class="grid-title">数据统计分析</h1>
|
||||
<p class="grid-desc">
|
||||
自动生成报表和图表,分析消费习惯,帮助科学理财。
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- FEATURES -->
|
||||
<div
|
||||
class="curved-bg-div wow animated fadeIn"
|
||||
data-wow-delay="0.15s"
|
||||
></div>
|
||||
<div id="fh5co-features" class="fh5co-features-outer">
|
||||
<div class="container">
|
||||
<div class="row fh5co-features-grid-columns">
|
||||
<div
|
||||
class="col-sm-6 in-order-1 wow animated fadeInLeft"
|
||||
data-wow-delay="0.22s"
|
||||
>
|
||||
<div class="col-sm-image-container">
|
||||
<img class="img-float-left" src="img/2.png" alt="功能预览" />
|
||||
<span class="span-new">新版</span>
|
||||
<span class="span-free">智能</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="col-sm-6 in-order-2 sm-6-content wow animated fadeInRight"
|
||||
data-wow-delay="0.22s"
|
||||
>
|
||||
<h1>应用亮点</h1>
|
||||
<p>
|
||||
OneAO 记账应用通过简单、智能的操作方式,实现每日收支管理、分类账目整理、预算跟踪和数据分析,帮助用户掌握财务状况,提升理财能力。
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="fh5co-slider-outer wow fadeIn" data-wow-delay="0.36s">
|
||||
<h1>功能展示</h1>
|
||||
<div class="container fh5co-slider-inner">
|
||||
<div class="owl-carousel owl-theme">
|
||||
<div class="item"><img src="img/1.png" alt="" /></div>
|
||||
<div class="item"><img src="img/6.png" alt="" /></div>
|
||||
<div class="item"><img src="img/2.png" alt="" /></div>
|
||||
<div class="item"><img src="img/3.png" alt="" /></div>
|
||||
<div class="item"><img src="img/4.png" alt="" /></div>
|
||||
<div class="item"><img src="img/5.png" alt="" /></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ABOUT -->
|
||||
<div id="fh5co-download" class="fh5co-bottom-outer">
|
||||
<div class="overlay">
|
||||
<div class="container fh5co-bottom-inner">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<h1>关于 OneAO</h1>
|
||||
<p>
|
||||
OneAO 记账应用专注于帮助用户管理个人收支、预算和账目分析,轻松记录每一笔开销,让理财更科学、更便捷。
|
||||
</p>
|
||||
<button
|
||||
style="
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 6px;
|
||||
padding: 10px 24px;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s ease;
|
||||
"
|
||||
onmouseover="this.style.backgroundColor='#0056b3'"
|
||||
onmouseout="this.style.backgroundColor='#007bff'"
|
||||
>
|
||||
了解更多
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- FOOTER -->
|
||||
<footer class="footer-outer">
|
||||
<div class="container footer-inner">
|
||||
<div
|
||||
class="footer-three-grid wow fadeIn animated"
|
||||
data-wow-delay="0.66s"
|
||||
>
|
||||
<div class="column-1-3">
|
||||
<h1>OneAO 记账应用</h1>
|
||||
</div>
|
||||
<div class="column-2-3">
|
||||
<nav class="footer-nav">
|
||||
<ul>
|
||||
<a
|
||||
href="#"
|
||||
onclick="$('#fh5co-hero-wrapper').goTo();return false;"
|
||||
><li>首页</li></a
|
||||
>
|
||||
<a
|
||||
href="#"
|
||||
onclick="$('#fh5co-features').goTo();return false;"
|
||||
><li>功能特点</li></a
|
||||
>
|
||||
<a
|
||||
href="#"
|
||||
onclick="$('#fh5co-download').goTo();return false;"
|
||||
><li>关于我们</li></a
|
||||
>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<span class="border-bottom-footer"></span>
|
||||
|
||||
<p style="color: white; display: block; margin: 6px 0">
|
||||
© 2025 OneAO 记账应用. 版权所有.
|
||||
</p>
|
||||
<p style="color: white; display: block; margin: 4px 0">
|
||||
官网:
|
||||
<a
|
||||
href="https://www.oneao.cn"
|
||||
target="_blank"
|
||||
style="color: #00bfff; text-decoration: underline"
|
||||
>
|
||||
www.oneao.cn
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<script src="js/jquery.min.js"></script>
|
||||
<script src="js/bootstrap.js"></script>
|
||||
<script src="js/owl.carousel.js"></script>
|
||||
<script src="js/wow.min.js"></script>
|
||||
<script src="js/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,2 @@
|
||||
/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
|
||||
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)Line truncated
|
||||
@@ -0,0 +1,58 @@
|
||||
;(function () {
|
||||
|
||||
'use strict';
|
||||
|
||||
var owlCarousel = function(){
|
||||
|
||||
new WOW().init();
|
||||
|
||||
$('.owl-carousel').owlCarousel({
|
||||
items : 4,
|
||||
loop : true,
|
||||
margin : 170,
|
||||
center : true,
|
||||
smartSpeed :900,
|
||||
nav:true,
|
||||
navText: [
|
||||
"<i class='fa carousel-left-arrow fa-chevron-left'></i>",
|
||||
"<i class='fa carousel-right-arrow fa-chevron-right'></i>"
|
||||
],responsiveClass:true,
|
||||
responsive:{
|
||||
0:{
|
||||
items:1,
|
||||
nav:true
|
||||
},
|
||||
600:{
|
||||
items:1,
|
||||
nav:true,
|
||||
margin : 120,
|
||||
},
|
||||
1000:{
|
||||
items:3,
|
||||
nav:true,
|
||||
loop:true,
|
||||
autoplay: true,
|
||||
autoplayTimeout: 1500,
|
||||
navText: [
|
||||
"<i class='fa carousel-left-arrow fa-chevron-left'></i>",
|
||||
"<i class='fa carousel-right-arrow fa-chevron-right'></i>"
|
||||
],
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
$.fn.goTo = function() {
|
||||
$('html, body').animate({
|
||||
scrollTop: $(this).offset().top + 'px'
|
||||
}, 'slow');
|
||||
return this; // for chaining...
|
||||
}
|
||||
|
||||
$(function(){
|
||||
owlCarousel();
|
||||
});
|
||||
|
||||
|
||||
}());
|
||||
@@ -0,0 +1,2 @@
|
||||
/*! WOW - v1.1.3 - 2016-05-06
|
||||
* Copyright (c) 2016 Matthieu Aussaguel;*/(function(){var a,b,c,d,e,f=function(a,b){return function(){return a.apply(b,arguments)}},g=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};b=function(){function a(){}return a.prototype.extend=function(a,b){var c,d;for(c in b)d=b[c],null==a[c]&&(a[c]=d);return a},a.prototype.isMobile=function(a){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(a)},a.prototype.createEvent=function(a,b,c,d){var e;return null==b&&(b=!1),null==c&&(c=!1),null==d&&(d=null),null!=document.createEvent?(e=document.createEvent("CustomEvent"),e.initCustomEvent(a,b,c,d)):null!=document.createEventObject?(e=document.createEventObject(),e.eventType=a):e.eventName=a,e},a.prototype.emitEvent=function(a,b){return null!=a.dispatchEvent?a.dispatchEvent(b):b in(null!=a)?a[b]():"on"+b in(null!=a)?a["on"+b]():void 0},a.prototype.addEvent=function(a,b,c){return null!=a.addEventListener?a.addEventListener(b,c,!1):null!=a.attachEvent?a.attachEvent("on"+b,c):a[b]=c},a.prototype.removeEvent=function(a,b,c){return null!=a.removeEventListener?a.removeEventListener(b,c,!1):null!=a.detachEvent?a.detachEvent("on"+b,c):delete a[b]},a.prototype.innerHeight=function(){return"innerHeight"in window?window.innerHeight:document.documentElement.clientHeight},a}(),c=this.WeakMap||this.MozWeakMap||(c=function(){function a(){this.keys=[],this.values=[]}return a.prototype.get=function(a){var b,c,d,e,f;for(f=this.keys,b=d=0,e=f.length;e>d;b=++d)if(c=f[b],c===a)return this.values[b]},a.prototype.set=function(a,b){var c,d,e,f,g;for(g=this.keys,c=e=0,f=g.length;f>e;c=++e)if(d=g[c],d===a)return void(this.values[c]=b);return this.keys.push(a),this.values.push(b)},a}()),a=this.MutationObserver||this.WebkitMutationObserver||this.MozMutationObserver||(a=function(){function a(){"undefined"!=typeof console&&null!==console&&console.warn("MutationObserver is not supported by your browser."),"undefined"!=typeof console&&null!==console&&console.warn("WOW.js cannot detect dom mutations, please call .sync() after loading new content.")}return a.notSupported=!0,a.prototype.observe=function(){},a}()),d=this.getComputedStyle||function(a,b){return this.getPropertyValue=function(b){var c;return"float"===b&&(b="styleFloat"),e.test(b)&&b.replace(e,function(a,b){return b.toUpperCase()}),(null!=(c=a.currentStyle)?c[b]:void 0)||null},this},e=/(\-([a-z]){1})/g,this.WOW=function(){function e(a){null==a&&(a={}),this.scrollCallback=f(this.scrollCallback,this),this.scrollHandler=f(this.scrollHandler,this),this.resetAnimation=f(this.resetAnimation,this),this.start=f(this.start,this),this.scrolled=!0,this.config=this.util().extend(a,this.defaults),null!=a.scrollContainer&&(this.config.scrollContainer=document.querySelector(a.scrollContainer)),this.animationNameCache=new c,this.wowEvent=this.util().createEvent(this.config.boxClass)}return e.prototype.defaults={boxClass:"wow",animateClass:"animated",offset:0,mobile:!0,live:!0,callback:null,scrollContainer:null},e.prototype.init=function(){var a;return this.element=window.document.documentElement,"interactive"===(a=document.readyState)||"complete"===a?this.start():this.util().addEvent(document,"DOMContentLoaded",this.start),this.finished=[]},e.prototype.start=function(){var b,c,d,e;if(this.stopped=!1,this.boxes=function(){var a,c,d,e;for(d=this.element.querySelectorAll("."+this.config.boxClass),e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.all=function(){var a,c,d,e;for(d=this.boxes,e=[],a=0,c=d.length;c>a;a++)b=d[a],e.push(b);return e}.call(this),this.boxes.length)if(this.disabled())this.resetStyle();else for(e=this.boxes,c=0,d=e.length;d>c;c++)b=e[c],this.applyStyle(b,!0);return this.disabled()||(this.util().addEvent(this.config.scrollContainer||window,"scroll",this.scrollHandler),this.util().addEvent(window,"resize",this.scrollHandler),this.interval=setInterval(this.scrollCallback,50)),this.config.live?new a(function(a){return function(b){var c,d,e,f,g;for(g=[],c=0,d=b.length;d>c;c++)f=b[c],g.push(function(){var a,b,c,d;for(c=f.addedNodes||[],d=[],a=0,b=c.length;b>a;a++)e=c[a],d.push(this.doSync(e));return d}.call(a));return g}}(this)).observe(document.body,{childList:!0,subtree:!0}):void 0},e.prototype.stop=function(){return this.stopped=!0,this.util().removeEvent(this.config.scrollContainer||window,"scroll",this.scrollHandler),this.util().removeEvent(window,"resize",this.scrollHandler),null!=this.interval?clearInterval(this.interval):void 0},e.prototype.sync=function(b){return a.notSupported?this.doSync(this.element):void 0},e.prototype.doSync=function(a){var b,c,d,e,f;if(null==a&&(a=this.element),1===a.nodeType){for(a=a.parentNode||a,e=a.querySelectorAll("."+this.config.boxClass),f=[],c=0,d=e.length;d>c;c++)b=e[c],g.call(this.all,b)<0?(this.boxes.push(b),this.all.push(b),this.stopped||this.disabled()?this.resetStyle():this.applyStyle(b,!0),f.push(this.scrolled=!0)):f.push(void 0);return f}},e.prototyLine truncated
|
||||
@@ -0,0 +1,15 @@
|
||||
生成keystore:
|
||||
|
||||
keytool -genkey -v -keystore oneao-android.keystore -alias oneao-android -keyalg RSA -keysize 2048 -validity 10000
|
||||
别名:allapp-android
|
||||
密码:xxx
|
||||
|
||||
获取签名信息:
|
||||
|
||||
keytool -list -v -keystore oneao-android.keystore -alias oneao-android
|
||||
|
||||
//提取MD5删除 ':' 并转为小写
|
||||
|
||||
2c17f1e7fb4554dcc8275e35ff0b76f9
|
||||
|
||||
包名:cn.oneao.app
|
||||