first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 527 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 KiB

View File

@@ -0,0 +1,10 @@
*.iml
.gradle
/local.properties
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
.DS_Store
/build
/captures
.externalNativeBuild

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>caipu</name>
<comment>Project caipu created by Buildship.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
</projectDescription>

View File

@@ -0,0 +1,13 @@
arguments=
auto.sync=false
build.scans.enabled=false
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
connection.project.dir=
eclipse.preferences.version=1
gradle.user.home=
java.home=/usr
jvm.arguments=
offline.mode=false
override.workspace.settings=true
show.console.view=true
show.executions.view=true

View File

@@ -0,0 +1 @@
/build

View File

@@ -0,0 +1,32 @@
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.cp.bmy.cp"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
ndk{
abiFilters "armeabi","armeabi-v7a","x86","mips"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

View File

@@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@@ -0,0 +1 @@
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]

View File

@@ -0,0 +1,26 @@
package com.caipu.bmy.cp;
import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getTargetContext();
assertEquals("com.cp.bmy.cp", appContext.getPackageName());
}
}

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.caipu.bmy.cp">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 硬件加速对X5视频播放非常重要建议开启 -->
<uses-permission android:name="android.permission.GET_TASKS" />
<application
android:name="com.caipu.bmy.cp.AppAplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:hardwareAccelerated="true"
android:theme="@style/AppTheme">
<activity
android:name="com.caipu.bmy.cp.MainActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:windowSoftInputMode="stateHidden|adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>

View File

@@ -0,0 +1,15 @@
body {
background: #fff;
}
.top-title {
width: 100%;
height: 4rem;
display: flex;
justify-content: space-around;
align-items: center;
padding: 0 .5rem;
}
.top-title h2{
font-size: .54rem;
padding-left: .4rem;
}

View File

@@ -0,0 +1,67 @@
body {
background: #fff !important;
}
.class-title{
margin-bottom: .42rem;
}
.class-title h2{
font-size: .64rem;
margin-bottom: .2rem;
}
.class-title p{
color: #8d8d8d;
}
.g-view {
padding: 0 .3rem;
}
.cell-item {
box-shadow: 0 0 .12rem #e8e8e8;
}
.class-caipu ul {
display: flex;
flex-wrap: wrap;
}
.class-caipu ul li{
width: 30%;
margin-right: .3rem;
position: relative;
margin-bottom: .3rem;
}
.class-caipu ul li:nth-child(3n){
margin-right: 0;
}
.class-caipu ul li img{
width: 100%;
}
.class-caipu ul li div{
position: absolute;
width: 100%;
height: 2.07rem;
left: 0;
top: 0;
background: rgba(0, 0, 0, 0.28);
}
.class-caipu ul li p{
position: absolute;
z-index: 3;
color: #fff;
left: 50%;
top: 50%;
margin-left: -0.24rem;
margin-top: -0.18rem;
}
.caipu-title {
display: flex;
justify-content: space-between;
height: .68rem;
align-items: center;
}
.caipu-title h3{
font-size: .3rem;
}
.caipu-title span{
font-size: .24rem;
color: #8d8d8d
}

View File

@@ -0,0 +1,3 @@
.m-tabbar.tabbar-fixed {
bottom: -1px;
}

View File

@@ -0,0 +1,52 @@
.m-slider {
width: 95% !important;
margin: .1rem auto;
}
.slider-item {
width: 100% !important;
}
.m-grids-4 .grids-item:not(:nth-child(4n)):before,
.m-grids-2:before, .m-grids-3:before, .m-grids-4:before, .m-grids-5:before {
border: none !important;
}
.grids-icon {
height: auto;
}
.grids-icon img{
width: .9rem;
height: .9rem;
}
.grids-txt {
margin-top: .2rem;
}
.list-theme3 .list-item:nth-child(odd):after,
.list-theme3 .list-item:before {
border: none;
}
.list-cp {
margin-top: .4rem;
}
.list-title {
display: flex;
width: 100%;
justify-content: center;
height: 1rem;
align-items: center;
}
.list-title img{
width: .6rem;
height: .6rem;
}
.list-info {
margin-left: .2rem;
}
.list-info span{
font-size: .36rem;
color: #333;
}
.list-info p{
font-size: .2rem;
color: #999;
line-height: .24rem;
}

View File

@@ -0,0 +1,95 @@
body {
background: #fff;
}
.m-navbar {
background: rgba(255, 255, 255, 0);
position: fixed;
width: 100%;
top: 0;
z-index: 99;
transition: all 1s;
}
.active {
background: rgba(0, 0, 0, 0.41);
}
.g-view:before {
height: 0 !important;
}
.m-navbar:after{
border: none !important;
}
.navbar-center .navbar-title {
color: #fff;
}
.cell-icon:before {
color: #fff !important;
}
.info-top {
width: 100%;
height: 4.5rem;
background: url("../img/info_1.jpg") center /cover no-repeat;
background-size: cover;
}
.top-zhezhao {
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.42);
}
.info-title,
.info-list-item{
padding: .24rem;
}
.info-title{
margin-bottom: .4rem;
}
.info-title h2{
font-size: .48rem;
color: #000;
margin-bottom: .2rem;
}
.info-title p{
font-weight: 300;
color: #666;
text-align: justify;
font-size: .34rem;
color: #333;
line-height: .5rem;
}
.info-list-item {
margin-bottom: .2rem;
}
.info-list-item h2{
height: .72rem;
line-height: .72rem;
font-size: .32rem;
color: #333;
font-weight: 900;
}
.info-list-item p{
color: #333;
font-size: .32rem;
font-weight: 300;
line-height: .48rem;
padding-bottom: .2rem;
}
.step-item h2{
height: .88rem;
line-height: .88rem;
color: #333;
font-size: .38rem;
margin: .6rem 0 .2rem;
text-align: center;
display: block;
font-weight: 500;
}
.step-item p {
font-size: .34rem;
line-height: .5rem;
color: #333;
font-weight: 300;
text-align: justify;
padding: .32rem .4rem;
}
.step-item img {
width: 100%;
}

View File

@@ -0,0 +1,3 @@
.g-view:before {
height: 0;
}

View File

@@ -0,0 +1,44 @@
body {
background: #fff;
}
.view-main,.g-view {
height: 100%;
}
.view-main .view-left {
width: 25%;
height: 100%;
float: left;
border-right: .02rem solid #e8e8e8;
position: fixed;
top: .9rem;
left: 0;
overflow-y: scroll;
}
.view-main .view-right {
width: 75%;
height: 100%;
float: left;
position: fixed;
left: 1.875rem;
top: .9rem;
overflow-y: scroll;
}
.view-main .view-right li{
float: left;
padding: .2rem;
}
.view-right ul{
padding-left: .2rem;
}
.view-main .view-left ul li{
height: .8rem;
line-height: .8rem;
text-align: center;
}
.view-main .view-left ul li:last-child{
margin-bottom: 42px;
}
.active {
color: red;
}

View File

@@ -0,0 +1,14 @@
.g-view:before {
height: 0 !important;
}
.m-navbar:after,
.m-cell:after {
border-bottom: none !important;
}
body {
background: #fff;
}
.cell-input {
background: #f7f7f7;
padding-left: 10px;
}

View File

@@ -0,0 +1,268 @@
@font-face {
font-family:"socialshare";src:url("https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.16/fonts/iconfont.eot");src:url("https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.16/fonts/iconfont.eot?#iefix") format("embedded-opentype"),url("https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.16/fonts/iconfont.woff") format("woff"),url("https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.16/fonts/iconfont.ttf") format("truetype"),url("https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.16/fonts/iconfont.svg#iconfont") format("svg")
}
.social-share {
font-family: "socialshare" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale
}
.social-share * {
font-family: "socialshare" !important
}
.social-share .icons-tencent:before {
content: "\f07a"
}
.social-share .icons-qq:before {
content: "\f11a"
}
.social-share .icons-weibo:before {
content: "\f12a"
}
.social-share .icons-wechat:before {
content: "\f09a"
}
.social-share .icons-douban:before {
content: "\f10a"
}
.social-share .icons-heart:before {
content: "\f20a"
}
.social-share .icons-like:before {
content: "\f00a"
}
.social-share .icons-qzone:before {
content: "\f08a"
}
.social-share .icons-linkedin:before {
content: "\f01a"
}
.social-share .icons-diandian:before {
content: "\f05a"
}
.social-share .icons-facebook:before {
content: "\f03a"
}
.social-share .icons-google:before {
content: "\f04a"
}
.social-share .icons-twitter:before {
content: "\f06a"
}
.social-share a {
position: relative;
text-decoration: none;
margin: 4px;
display: inline-block;
outline: none
}
.social-share .social-share-icon {
position: relative;
display: inline-block;
width: 32px;
height: 32px;
font-size: 20px;
border-radius: 50%;
line-height: 32px;
border: 1px solid #666;
color: #666;
text-align: center;
vertical-align: middle;
transition: background 0.6s ease-out 0s
}
.social-share .social-share-icon:hover {
background: #666;
color: #fff
}
.social-share .icons-weibo {
color: #ff763b;
border-color: #ff763b
}
.social-share .icons-weibo:hover {
background: #ff763b
}
.social-share .icons-tencent {
color: #56b6e7;
border-color: #56b6e7
}
.social-share .icons-tencent:hover {
background: #56b6e7
}
.social-share .icons-qq {
color: #56b6e7;
border-color: #56b6e7
}
.social-share .icons-qq:hover {
background: #56b6e7
}
.social-share .icons-qzone {
color: #FDBE3D;
border-color: #FDBE3D
}
.social-share .icons-qzone:hover {
background: #FDBE3D
}
.social-share .icons-douban {
color: #33b045;
border-color: #33b045
}
.social-share .icons-douban:hover {
background: #33b045
}
.social-share .icons-linkedin {
color: #0077B5;
border-color: #0077B5
}
.social-share .icons-linkedin:hover {
background: #0077B5
}
.social-share .icons-facebook {
color: #44619D;
border-color: #44619D
}
.social-share .icons-facebook:hover {
background: #44619D
}
.social-share .icons-google {
color: #db4437;
border-color: #db4437
}
.social-share .icons-google:hover {
background: #db4437
}
.social-share .icons-twitter {
color: #55acee;
border-color: #55acee
}
.social-share .icons-twitter:hover {
background: #55acee
}
.social-share .icons-diandian {
color: #307DCA;
border-color: #307DCA
}
.social-share .icons-diandian:hover {
background: #307DCA
}
.social-share .icons-wechat {
position: relative;
color: #7bc549;
border-color: #7bc549
}
.social-share .icons-wechat:hover {
background: #7bc549
}
.social-share .icons-wechat .wechat-qrcode {
display: none;
border: 1px solid #eee;
position: absolute;
z-index: 9;
top: -205px;
left: -84px;
width: 200px;
height: 192px;
color: #666;
font-size: 12px;
text-align: center;
background-color: #fff;
box-shadow: 0 2px 10px #aaa;
transition: all 200ms;
-webkit-tansition: all 350ms;
-moz-transition: all 350ms
}
.social-share .icons-wechat .wechat-qrcode.bottom {
top: 40px;
left: -84px
}
.social-share .icons-wechat .wechat-qrcode.bottom:after {
display: none
}
.social-share .icons-wechat .wechat-qrcode h4 {
font-weight: normal;
height: 26px;
line-height: 26px;
font-size: 12px;
background-color: #f3f3f3;
margin: 0;
padding: 0;
color: #777
}
.social-share .icons-wechat .wechat-qrcode .qrcode {
width: 105px;
margin: 10px auto
}
.social-share .icons-wechat .wechat-qrcode .qrcode table {
margin: 0 !important
}
.social-share .icons-wechat .wechat-qrcode .help p {
font-weight: normal;
line-height: 16px;
padding: 0;
margin: 0
}
.social-share .icons-wechat .wechat-qrcode:after {
content: '';
position: absolute;
left: 50%;
margin-left: -6px;
bottom: -13px;
width: 0;
height: 0;
border-width: 8px 6px 6px 6px;
border-style: solid;
border-color: #fff transparent transparent transparent
}
.social-share .icons-wechat:hover .wechat-qrcode {
display: block
}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,43 @@
(function() {
var keyWord = [
'猪蹄','西红柿','鸡蛋','黄瓜','红烧肉','排骨','鸡','鱼'
];
var len = keyWord.length + 1
var indexs = parseInt( ( Math.random() * len )+0)
get({
url: '/query',
data: {
keyword: keyWord[indexs]
}
}, function(res) {
var list = res.data
list.forEach(function(val,index){
$(".list-cp article").append(`<a class="list-item" href="./info.html">
<div class="list-img">
<img src="${val.albums[0]}">
</div>
<div class="list-mes">
<h3 class="list-title">${val.title}</h3>
<div class="list-mes-item">
<div>
<span class="list-del-price">${val.tags.substring(0,10)}...</span>
</div>
</div>
</div>
</a>`)
});
BindClick(list)
})
function BindClick(list) {
$(".list-cp article .list-item").on('click',function() {
var current = list[$(this).index()];
localStorage.setItem("info",JSON.stringify(current))
location.href = "./info.html"
})
}
})()

View File

@@ -0,0 +1,82 @@
(function(){
SetDirviceData()
var infoID = (JSON.parse(localStorage.getItem("info"))).id;
var ListArr = JSON.parse(localStorage.getItem(list));
ListArr.forEach(function(val,index) {
if(val.id == infoID) {
$(".like").removeClass("icon-star-outline").addClass("icon-star")
}
})
var infoData = JSON.parse(localStorage.getItem("info"))
$(".info-top").css({
background: `url("${infoData.albums[0]}") center /cover no-repeat`
})
document.title = infoData.title
$(".social-share").attr({
'data-description': infoData.imtro
})
$(".info-title h2").text(`${infoData.title}`)
$(".info-title p").text(`${infoData.imtro}`)
$(".zhu p").text(`${infoData.ingredients}`)
$(".fu p").text(`${infoData.burden}`)
infoData.steps.forEach(function(val,index) {
$(".info-step").append(`<div class="step-item">
<h2>${infoData.title} 步骤 ${index+1}</h2>
<img src="${val.img}" alt="">
<p>${val.step}</p>
</div>`)
});
var $config = {
url: location.href,
title: infoData.title,
description: infoData.imtro,
image: infoData.albums[0],
sites: ['qzone', 'qq', 'weibo','wechat', 'douban'],
wechatQrcodeTitle : "微信扫一扫:分享",
wechatQrcodeHelper : '<p>微信里点“发现”,扫一下</p><p>二维码便可将本文分享至朋友圈。</p>',
};
$(".icon-share2").click(function(){
$(".share").animate({
bottom: "0"
}, 200 );
});
$(".g-view").click(function(){
$(".share").animate({
bottom: "-60px"
}, 200 );
});
$('.icon-star-outline').on("click",function() {
var data = JSON.parse(localStorage.getItem(list));
data.push(JSON.parse(localStorage.getItem("info")))
localStorage.setItem(list,JSON.stringify(data))
YDUI.dialog.toast('已收藏成功', 'success', 1000);
$(".like").removeClass("icon-star-outline").addClass("icon-star")
})
})()

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,81 @@
SetDirviceData()
var $as = $('#J_ActionSheet'), index = 0;
var ListData = JSON.parse(localStorage.getItem(list))
function isRender() {
if(ListData.length == 0 ) {
$('.list-theme4').empty()
$('.list-theme4').append(`<p style="text-align: center;margin: 100px 0;font-size: 16px;color: #8d8d8d;"> 没有数据 </p>`)
} else {
Render(ListData)
}
}
function Render(data) {
$(".list-theme4").empty()
data.forEach((val,index) => {
$(".list-theme4").append(`<a class="list-item">
<div class="list-img" data-id="${index}">
<img src="${val.albums[0]}">
</div>
<div class="list-mes">
<h3 class="list-title">${val.title}</h3>
<div class="list-mes-item">
<div>
<span class="list-del-price">
${val.imtro.substring(0,20)}
</span>
</div>
</div>
</div>
</a>`)
});
}
isRender()
touchStart()
function touchStart() {
$(".list-theme4 .list-item").on({
touchstart: function(e){
index = $(this).index()
timeOutEvent = setTimeout(function(){
$as.actionSheet('open');
},300);
}
});
}
$('#J_Cancel').on('click', function () {
$as.actionSheet('close');
});
$('.delete').on('click', function () {
ListData.splice(index,1)
// Render(ListData)
isRender()
touchStart()
$as.actionSheet('close');
localStorage.setItem(list,JSON.stringify(ListData))
});
$(".list-theme4 .list-item").on('click',function() {
var current = ListData[$(this).index()];
localStorage.setItem("info",JSON.stringify(current))
location.href = "./info.html"
})

View File

@@ -0,0 +1,70 @@
(function() {
var status = true;
var cid = YDUI.util.getQueryString("id") || YDUI.util.getQueryString("key");
// 如果为 true 表示用户从搜索页面进入 list 列表页面
// 如果为 false 表示用户从分类页面点击小分类进入 list 列表页面
parseInt(cid).toString() == "NaN" ? status = true : status = false;
var pns = 0, dat = [];
function RenderList() {
$('.g-view').infiniteScroll({
pageSize: 10,
initLoad: true,
loadingHtml: '<strong>加载中...</strong>',
loadListFn: function () {
var def = $.Deferred();
get({
url: status ? '/query' : '/getClassInfo',
data: status ? { keyword: cid, pn: pns } : { cid: cid, pn: pns }
},function(res) {
var data = res.data;
data.forEach(function(val) {
dat.push(val)
$(".list-theme4").append(`<a class="list-item">
<div class="list-img">
<img src="${val.albums[0]}">
</div>
<div class="list-mes">
<h3 class="list-title">${val.title}</h3>
<div class="list-mes-item">
<div>
<p>${val.imtro.substring(0,20)}</p>
<span >${val.ingredients}</span>
</div>
</div>
</div>
</a>`);
def.resolve(res.data);
++pns;
});
bindClick(dat)
})
return def.promise();
}
});
}
function bindClick(list) {
$(".list-theme4 .list-item").on('click',function() {
var current = list[$(this).index()];
localStorage.setItem("info",JSON.stringify(current))
location.href = "./info.html"
})
}
RenderList()
})()

View File

@@ -0,0 +1,55 @@
var result = classDara.result
// 渲染左边的大分类
function RenderLeftMenu(){
result.forEach(function(val,index){
$(".view-left ul").append(`<li class="${ index == 0 ? 'active' : '' }">${val.name}</li>`)
})
}
function leftMenuChange() {
if(YDUI.util.getQueryString("id") == "") {
$(".view-left ul li").on("click", function(){
bindLi()
});
} else {
var id = YDUI.util.getQueryString("id");
$($(".view-left ul li")[id]).addClass("active").siblings().removeClass("active")
RenderRightMenu($($(".view-left ul li")[id]).text())
bindLi()
}
}
function bindLi() {
$(".view-left ul li").on("click", function(){
$(this).addClass("active").siblings().removeClass("active")
RenderRightMenu($(this).text())
});
}
// 渲染右边菜单列表
function RenderRightMenu(name) {
var listArrar = []
result.forEach(function(val,index){
if(name == val.name) {
listArrar = val.list
}
})
$(".view-right ul").empty()
listArrar.forEach(function(val,index){
$(".view-right ul").append(`<li>
<a href="./list.html?id=${val.id}">${val.name}</a>
</li>`)
})
}
RenderLeftMenu()
leftMenuChange()
RenderRightMenu("菜式菜品")

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,45 @@
function get(params, callback) {
YDUI.dialog.loading.open('数据正在加载...');
$.ajax({
url: "http://103.91.219.160:3300"+params.url,
data: params.data,
type: 'GET',
success: function(res) {
if(res.resultcode == "200") {
callback(res.result)
}else {
YDUI.dialog.toast(res.reason, 'error', 2000);
}
YDUI.dialog.loading.close();
},
errot: function() {
YDUI.dialog.toast('您的网络不好', 'error', 2000);
}
})
}
function Search(classNames) {
$(classNames).on("change",function() {
location.href = `./list.html?key=${ $(classNames).val() }`;
})
}
var list = "";
function SetDirviceData() {
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
var u = navigator.userAgent
if(u.indexOf("iPhone") > -1){
list = "iPhonelike"
} else if (u.indexOf("Android") > -1) {
list = "AndroidBuild"
}
if(localStorage.getItem(list) == null || !(JSON.parse(localStorage.getItem(list)).length > 0)) {
localStorage.setItem(list,"[]")
}
} else {
alert(4)
}
}

View File

@@ -0,0 +1 @@
!function(t){var e=750,i=t.document,n=i.documentElement,o="orientationchange"in t?"orientationchange":"resize",a=function t(){var i=n.getBoundingClientRect().width;return n.style.fontSize=5*Math.max(Math.min(i/e*20,11.2),8.55)+"px",t}();n.setAttribute("data-dpr",t.navigator.appVersion.match(/iphone/gi)?t.devicePixelRatio:1),/iP(hone|od|ad)/.test(t.navigator.userAgent)&&(i.documentElement.classList.add("ios"),parseInt(t.navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/)[1],10)>=8&&i.documentElement.classList.add("hairline")),i.addEventListener&&(t.addEventListener(o,a,!1),i.addEventListener("DOMContentLoaded",a,!1))}(window);

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,64 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 引入YDUI样式 -->
<link rel="stylesheet" href="../css/ydui.css" />
<link rel="stylesheet" href="../css/clear.css">
<link rel="stylesheet" href="../css/about.css">
<!-- 引入YDUI自适应解决方案类库 -->
<script src="../js/ydui.flexible.js"></script>
<title>我的</title>
</head>
<body>
<div class="g-view">
<div class="top-title">
<h2>我的美食之旅</h2>
<i class="icon-ucenter-outline" style="font-size: 56px;"></i>
</div>
<div class="m-cell">
<a class="cell-item" href="./like.html">
<div class="cell-left">
我的收藏
</div>
<div class="cell-right">
<i class="cell-icon icon-like-outline"></i>
</div>
</a>
<a class="cell-item" href="javascript:; ">
<div class="cell-left">
意见反馈
</div>
<div class="cell-right">
<i class="cell-icon icon-feedback"></i>
</div>
</a>
</div>
</div>
<footer class="m-tabbar tabbar-fixed">
<a href="./index.html" class="tabbar-item">
<span class="tabbar-icon">
<i class="icon-home"></i>
</span>
<span class="tabbar-txt">首页</span>
</a>
<a href="./class.html" class="tabbar-item">
<span class="tabbar-icon">
<i class="icon-type"></i>
</span>
<span class="tabbar-txt">分类</span>
</a>
<a href="./about.html" class="tabbar-item tabbar-active">
<span class="tabbar-icon">
<i class="icon-ucenter-outline"></i>
</span>
<span class="tabbar-txt">我的</span>
</a>
</footer>
</body>

View File

@@ -0,0 +1,123 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 引入YDUI样式 -->
<link rel="stylesheet" href="../css/ydui.css" />
<link rel="stylesheet" href="../css/clear.css">
<link rel="stylesheet" href="../css/class.css">
<!-- 引入YDUI自适应解决方案类库 -->
<script src="../js/ydui.flexible.js"></script>
<title>分类</title>
</head>
<body>
<div class="g-view">
<div class="class-title">
<h2>分类</h2>
<p>要吃什么,这里都有!</p>
</div>
<div class="m-cell">
<div class="cell-item">
<div class="cell-left">
<i class="cell-icon icon-search"></i>
</div>
<div class="cell-right">
<input type="text" class="cell-input" placeholder="点这里,做不一样的菜">
</div>
</div>
</div>
<div class="class-caipu">
<div class="caipu-title">
<h3>菜谱分类</h3>
<span>
<a href="./moreclass.html">更多分类</a>
</span>
</div>
<ul>
<li>
<img src="../img/class_shop_1.jpg" alt="">
<div></div>
<p>
<a href="./moreclass.html?id=6">菜肴</a>
</p>
</li>
<li>
<img src="../img/class_shop_1.jpg" alt="">
<div></div>
<p>
<a href="./moreclass.html?id=8">西点</a>
</p>
</li>
<li>
<img src="../img/class_shop_1.jpg" alt="">
<div></div>
<p>
<a href="./moreclass.html?id=5">工艺口味</a>
</p>
</li>
<li>
<img src="../img/class_shop_1.jpg" alt="">
<div></div>
<p>
<a href="./moreclass.html?id=7">主食</a>
</p>
</li>
<li>
<img src="../img/class_shop_1.jpg" alt="">
<div></div>
<p>
<a href="./moreclass.html?id=10">其他菜品</a>
</p>
</li>
<li>
<img src="../img/class_shop_1.jpg" alt="">
<div></div>
<p>
<a href="./moreclass.html?id=11">人群</a>
</p>
</li>
</ul>
</div>
</div>
<footer class="m-tabbar tabbar-fixed">
<a href="./index.html" class="tabbar-item">
<span class="tabbar-icon">
<i class="icon-home"></i>
</span>
<span class="tabbar-txt">首页</span>
</a>
<a href="./class.html" class="tabbar-item tabbar-active">
<span class="tabbar-icon">
<i class="icon-type"></i>
</span>
<span class="tabbar-txt">分类</span>
</a>
<a href="./about.html" class="tabbar-item">
<span class="tabbar-icon">
<i class="icon-ucenter-outline"></i>
</span>
<span class="tabbar-txt">我的</span>
</a>
</footer>
<!-- 引入jQuery 2.0+ -->
<script src="../js/jquery.js"></script>
<!-- 引入YDUI脚本 -->
<script src="../js/ydui.js"></script>
<script src="../js/utils.js"></script>
<script>
Search('.cell-input')
</script>
</body>

View File

@@ -0,0 +1,141 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 引入YDUI样式 -->
<link rel="stylesheet" href="../css/ydui.css" />
<link rel="stylesheet" href="../css/clear.css">
<link rel="stylesheet" href="../css/index.css">
<!-- 引入YDUI自适应解决方案类库 -->
<script src="../js/ydui.flexible.js"></script>
<title>首页</title>
</head>
<body>
<header class="m-navbar navbar-fixed">
<a href="./about.html" class="navbar-item">
<i class="cell-icon icon-ucenter-outline"></i>
</a>
<div class="navbar-center">
<span class="navbar-title">
舌尖秘籍
</span>
</div>
<a onclick="javascript:location.href='./search.html' " class="navbar-item">
<i class="cell-icon icon-search"></i>
</a>
</header>
<div class="g-view">
<div class="m-slider" id="J_Slider">
<div class="slider-wrapper">
<div class="slider-item">
<a href="#">
<img src="../img/banner_1.jpg">
</a>
</div>
<div class="slider-item">
<a href="#">
<img src="../img/banner_2.jpg">
</a>
</div>
<div class="slider-item">
<a href="#">
<img src="../img/banner_3.png">
</a>
</div>
</div>
<div class="slider-pagination"></div><!-- 分页标识 -->
</div>
<div class="m-grids-4">
<a href="./moreclass.html?id=1" class="grids-item">
<div class="grids-icon">
<img src="../img/class_1.png">
</div>
<div class="grids-txt">
<span>菜系</span>
</div>
</a>
<a href="./moreclass.html?id=9" class="grids-item">
<div class="grids-icon">
<img src="../img/class_2.png">
</div>
<div class="grids-txt">
<span>汤羹饮品</span>
</div>
</a>
<a href="./moreclass.html?id=4" class="grids-item">
<div class="grids-icon">
<img src="../img/class_3.png">
</div>
<div class="grids-txt">
<span>场景</span>
</div>
</a>
<a href="./moreclass.html?id=7" class="grids-item">
<div class="grids-icon">
<img src="../img/class_4.png">
</div>
<div class="grids-txt">
<span>主食</span>
</div>
</a>
</div>
<div class="list-cp">
<div class="list-title">
<img src="../img/home_title_love.png" alt="">
<div class="list-info">
<span>猜你喜欢</span>
<p>21:16为您更新</p>
</div>
</div>
<article class="m-list list-theme3">
</article>
</div>
</div>
<footer class="m-tabbar tabbar-fixed">
<a href="./index.html" class="tabbar-item tabbar-active">
<span class="tabbar-icon">
<i class="icon-home"></i>
</span>
<span class="tabbar-txt">首页</span>
</a>
<a href="./class.html" class="tabbar-item">
<span class="tabbar-icon">
<i class="icon-type"></i>
</span>
<span class="tabbar-txt">分类</span>
</a>
<a href="./about.html" class="tabbar-item">
<span class="tabbar-icon">
<i class="icon-ucenter-outline"></i>
</span>
<span class="tabbar-txt">我的</span>
</a>
</footer>
<!-- 引入jQuery 2.0+ -->
<script src="../js/jquery.js"></script>
<!-- 引入YDUI脚本 -->
<script src="../js/ydui.js"></script>
<script src="../js/utils.js"></script>
<script src="../js/index.js"></script>
<script>
$('#J_Slider').slider({
speed: 200,
autoplay: 100000,
lazyLoad: true,
effect: 'cube'
});
</script>
</body>
</html>

View File

@@ -0,0 +1,98 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 引入YDUI样式 -->
<link rel="stylesheet" href="../css/share.min.css">
<link rel="stylesheet" href="../css/ydui.css" />
<link rel="stylesheet" href="../css/clear.css">
<link rel="stylesheet" href="../css/info.css">
<!-- 引入YDUI自适应解决方案类库 -->
<script src="../js/ydui.flexible.js"></script>
<title></title>
<style>
.share {
position: fixed;
width: 100%;
height: 60px;
left: 0;
bottom: -60px;
z-index: 999;
background: #fff;
padding-top: 10px;
text-align: center;
}
</style>
</head>
<body>
<header class="m-navbar">
<a href="#" class="navbar-item">
<i class="cell-icon back-ico" onclick="javascript:history.back()"></i>
<i class="cell-icon icon-share2"></i>
</a>
<div class="navbar-center">
<span class="navbar-title">菜品详情</span>
</div>
<div class="navbar-item">
<a href="#">
<i class="like cell-icon icon-star-outline"></i>
</a>
</div>
</header>
<div class="g-view">
<div class="info-top">
<div class="top-zhezhao"></div>
</div>
<div class="info-action">
<div class="info-title">
<h2>香辣豆豉鲫鱼</h2>
<p>以前我们介绍过【午餐肉】、【清蒸猪肉】等常见的罐头口味菜品的烹饪方法,今天我们再介绍一道常见的罐头食品【豆豉鲫鱼】的做法...</p>
</div>
<div class="info-list-item zhu">
<h2>主料</h2>
<p>荷叶饼,6张;韭菜,200g;绿豆芽,200g;肉馅,200g</p>
</div>
<div class="info-list-item fu">
<h2>辅料</h2>
<p>盐,适量;水淀粉,适量</p>
</div>
<div class="info-step">
</div>
</div>
</div>
<div class="share">
<div class="social-share" data-disabled="google,twitter,facebook"></div>
</div>
<!-- 引入jQuery 2.0+ -->
<script src="../js/jquery.js"></script>
<!-- 引入YDUI脚本 -->
<script src="../js/ydui.js"></script>
<script src="../js/utils.js"></script>
<script src="../js/info.js"></script>
<script src="../js/social-share.min.js"></script>
<script>
// jq 监听页面滚动
$(window).scroll(function(){
//获取当前滑动的位置
var scrollTop = $(window).scrollTop();
// 如果大于导航条 45px 时候添加 改变背景色的类名
if(scrollTop > 45){
$(".m-navbar").addClass("active");
}else{ // 否则移除
$(".m-navbar").removeClass("active");
}
})
</script>
</body>
</html>

View File

@@ -0,0 +1,60 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 引入YDUI样式 -->
<link rel="stylesheet" href="../css/share.min.css">
<link rel="stylesheet" href="../css/ydui.css" />
<link rel="stylesheet" href="../css/clear.css">
<link rel="stylesheet" href="../css/like.css">
<!-- 引入YDUI自适应解决方案类库 -->
<script src="../js/ydui.flexible.js"></script>
<title></title>
</head>
<header class="m-navbar">
<a onclick="javascript:history.back()" class="navbar-item">
<i class="back-ico"></i>
</a>
<div class="navbar-center">
<span class="navbar-title">收藏列表</span>
</div>
</header>
<div class="g-view">
<div class="m-actionsheet" id="J_ActionSheet">
<a href="#" class="actionsheet-item delete">删除该分类</a>
<a href="javascript:;" class="actionsheet-action" id="J_Cancel">取消</a>
</div>
<article class="m-list list-theme4">
</article>
</div>
<!-- 引入jQuery 2.0+ -->
<script src="../js/jquery.js"></script>
<!-- 引入YDUI脚本 -->
<script src="../js/ydui.js"></script>
<script src="../js/utils.js"></script>
<script src="../js/like.js"></script>
<script>
// jq 监听页面滚动
$(window).scroll(function(){
//获取当前滑动的位置
var scrollTop = $(window).scrollTop();
// 如果大于导航条 45px 时候添加 改变背景色的类名
if(scrollTop > 45){
$(".m-navbar").addClass("active");
}else{ // 否则移除
$(".m-navbar").removeClass("active");
}
})
</script>
</body>
</html>

View File

@@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 引入YDUI样式 -->
<link rel="stylesheet" href="../css/ydui.css" />
<link rel="stylesheet" href="../css/clear.css">
<link rel="stylesheet" href="../css/index.css">
<!-- 引入YDUI自适应解决方案类库 -->
<script src="../js/ydui.flexible.js"></script>
<title>菜单列表</title>
</head>
<body>
<header class="m-navbar navbar-fixed">
<a onclick="javascript:history.back()" class="navbar-item">
<i class="cell-icon back-ico"></i>
</a>
<div class="navbar-center">
<span class="navbar-title">菜品列表</span>
</div>
<a onclick="javascript:location.href='./search.html' " class="navbar-item">
<i class="cell-icon icon-search"></i>
</a>
</header>
<div class="g-view">
<article class="m-list list-theme4">
</article>
</div>
<!-- 引入jQuery 2.0+ -->
<script src="../js/jquery.js"></script>
<!-- 引入YDUI脚本 -->
<script src="../js/ydui.js"></script>
<script src="../js/utils.js"></script>
<script src="../js/list.js"></script>
</body>
</html>

View File

@@ -0,0 +1,52 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 引入YDUI样式 -->
<link rel="stylesheet" href="../css/ydui.css" />
<link rel="stylesheet" href="../css/clear.css">
<link rel="stylesheet" href="../css/moreclass.css">
<!-- 引入YDUI自适应解决方案类库 -->
<script src="../js/ydui.flexible.js"></script>
<title>更多分类</title>
</head>
<body>
<header class="m-navbar navbar-fixed">
<a onclick="javascript:history.back()" class="navbar-item">
<i class="cell-icon back-ico"></i>
</a>
<div class="navbar-center">
<span class="navbar-title">分类</span>
</div>
<a onclick="javascript:location.href='./search.html' " class="navbar-item">
<i class="cell-icon icon-search"></i>
</a>
</header>
<div class="g-view">
<div class="view-main">
<div class="view-left">
<ul>
</ul>
</div>
<div class="view-right">
<ul>
</ul>
</div>
</div>
</div>
<!-- 引入jQuery 2.0+ -->
<script src="../js/jquery.js"></script>
<!-- 引入YDUI脚本 -->
<script src="../js/ydui.js"></script>
<script src="../js/classData.js"></script>
<script src="../js/moreclass.js"></script>
<body

View File

@@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<!-- 引入YDUI样式 -->
<link rel="stylesheet" href="../css/ydui.css" />
<link rel="stylesheet" href="../css/clear.css">
<link rel="stylesheet" href="../css/search.css">
<!-- 引入YDUI自适应解决方案类库 -->
<script src="../js/ydui.flexible.js"></script>
<title>搜索</title>
</head>
<body>
<header class="m-navbar">
<a onclick="javascript:history.back()" class="navbar-item">
<i class="back-ico"></i>
</a>
<div class="navbar-center">
<span class="navbar-title">搜索</span>
</div>
</header>
<div class="g-view">
<div class="m-cell">
<div class="cell-item">
<div class="cell-left">
<i class="cell-icon icon-search"></i>
</div>
<div class="cell-right">
<input type="text" class="cell-input searchKey" placeholder="点这里,做不一样的菜">
</div>
</div>
</div>
</div>
<!-- 引入jQuery 2.0+ -->
<script src="../js/jquery.js"></script>
<!-- 引入YDUI脚本 -->
<script src="../js/ydui.js"></script>
<script src="../js/utils.js"></script>
<script>
Search('.searchKey')
</script>
</body>
</html>

View File

@@ -0,0 +1,31 @@
package com.caipu.bmy.cp;
import android.app.Application;
import android.util.Log;
import com.tencent.smtt.sdk.QbSdk;
public class AppAplication extends Application {
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
//搜集本地tbs内核信息并上报服务器服务器返回结果决定使用哪个内核。
QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {
@Override
public void onViewInitFinished(boolean arg0) {
// TODO Auto-generated method stub
//x5內核初始化完成的回调为true表示x5内核加载成功否则表示x5内核加载失败会自动切换到系统内核。
Log.d("app", " onViewInitFinished is " + arg0);
}
@Override
public void onCoreInitFinished() {
// TODO Auto-generated method stub
}
};
//x5内核初始化接口
QbSdk.initX5Environment(getApplicationContext(), cb);
}
}

View File

@@ -0,0 +1,81 @@
package com.caipu.bmy.cp;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import com.tencent.smtt.export.external.interfaces.SslError;
import com.tencent.smtt.export.external.interfaces.SslErrorHandler;
import com.tencent.smtt.sdk.WebSettings;
import android.widget.Toast;
import com.caipu.bmy.cp.utils.X5WebView;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
public class MainActivity extends Activity {
private X5WebView webView;
private long mExitTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (X5WebView) findViewById(R.id.web_filechooser);
webView.loadUrl("http://192.168.0.101:8080/h5/?act_chan=MHAH&ssoId=hfxyw&act_chan=MHAH&sourceid=131001&systemtime=20200318133139701&apptype=5&channelKey=Qs8x5QbbaGkcudjrykYQkjTVZs96UsIiElMS+z3apv+dPlVE5dyWTxKTrhdbvAI5uh9YcLRr58ky7/0PrYMNliFJV6zZfE3wjOc2DuIvy/6ECb44vQ/sLfRthrfCQlqNJb7tj2iycI8bk66eMfQVUO/VpSHQ5EQpgJ0ZSnNboTw=&wdVersion=1&WT.cid=27C2952DBA272CB23139B8CB39DCED09");
webView.setWebViewClient(new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
webView.getSettings().setBlockNetworkImage(false);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("weixin://wap/pay?")) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
}
return super.shouldOverrideUrlLoading(view, url);
}
//加载https时候接受所有证书
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
webView.goBack();
return false;
}else {
return super.onKeyDown(keyCode, event);
}
}
/**
* 确保注销配置能够被释放
*/
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
if (this.webView != null) {
webView.destroy();
}
super.onDestroy();
}
}

View File

@@ -0,0 +1,60 @@
package com.caipu.bmy.cp.utils;
import android.annotation.SuppressLint;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.TextView;
import com.tencent.smtt.sdk.WebSettings;
import com.tencent.smtt.sdk.WebSettings.LayoutAlgorithm;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
public class X5WebView extends WebView {
TextView title;
private WebViewClient client = new WebViewClient() {
/**
* 防止加载网页时调起系统浏览器
*/
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
};
@SuppressLint("SetJavaScriptEnabled")
public X5WebView(Context arg0, AttributeSet arg1) {
super(arg0, arg1);
this.setWebViewClient(client);
// this.setWebChromeClient(chromeClient);
// WebStorage webStorage = WebStorage.getInstance();
initWebViewSettings();
this.getView().setClickable(true);
}
private void initWebViewSettings() {
WebSettings webSetting = this.getSettings();
webSetting.setJavaScriptEnabled(true);
webSetting.setJavaScriptCanOpenWindowsAutomatically(true);
webSetting.setAllowFileAccess(true);
webSetting.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
webSetting.setSupportZoom(false);
webSetting.setBuiltInZoomControls(false);
webSetting.setUseWideViewPort(true);
webSetting.setSupportMultipleWindows(true);
webSetting.setLoadWithOverviewMode(true);
webSetting.setAppCacheEnabled(true);
webSetting.setDomStorageEnabled(true);
webSetting.setGeolocationEnabled(true);
webSetting.setAppCacheMaxSize(Long.MAX_VALUE);
webSetting.setPluginState(WebSettings.PluginState.ON_DEMAND);
webSetting.setRenderPriority(WebSettings.RenderPriority.HIGH);
webSetting.setCacheMode(WebSettings.LOAD_DEFAULT);
webSetting.setBlockNetworkImage(true);
}
public X5WebView(Context arg0) {
super(arg0);
setBackgroundColor(85621);
}
}

View File

@@ -0,0 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportHeight="108"
android:viewportWidth="108">
<path
android:fillType="evenOdd"
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
android:strokeColor="#00000000"
android:strokeWidth="1">
<aapt:attr name="android:fillColor">
<gradient
android:endX="78.5885"
android:endY="90.9159"
android:startX="48.7653"
android:startY="61.0927"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0"/>
<item
android:color="#00000000"
android:offset="1.0"/>
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
android:strokeColor="#00000000"
android:strokeWidth="1"/>
</vector>

View File

@@ -0,0 +1,200 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="1366dp"
android:height="1024dp"
android:viewportWidth="1366"
android:viewportHeight="1024">
<path
android:fillColor="#CF8F33"
android:pathData="M253.61,722.896 C234.942,757.446,260.525,813.924,293.921,845.31
C366.961,913.989,462.813,848.978,677.057,849.834
C893.814,850.704,989.884,918.038,1062.91,849.834
C1097.8,817.227,1122.53,758.329,1102.83,722.857
C1068.86,661.719,930.895,721.049,677.97,721.214
C425.698,721.391,286.235,662.549,253.612,722.899 Z" />
<path
android:fillColor="#000000"
android:pathData="M978.321,907.508 C948.757,907.508,916.001,902.264,878.788,896.312
C825.992,887.861,760.275,877.292,676.949,877.019
C595.432,876.693,530.664,886.257,478.588,893.947
C392.029,906.745,329.436,915.997,275.308,865.104
C233.122,825.432,204.523,756.563,229.712,709.974
C248.163,675.845,284.574,670.14,310.361,668.821
C341.611,667.219,381.214,671.714,431.28,677.408
C496.726,684.854,578.176,694.079,677.927,694.051
S858.789,684.622,924.017,677.109
C974.218,671.321,1013.86,666.742,1045.32,668.373
C1071.13,669.731,1107.56,675.438,1126.58,709.661
C1139.5,732.921,1140.36,763.707,1129.01,796.355
C1115.1,834.921,1090.15,866.692,1058,888.733
C1050.76,898.375,1017.33,907.491,978.321,907.505 Z M672.777,822.661
L677.138,822.661 C764.661,823.014,832.689,833.897,887.332,842.633
C972.261,856.219,1011.2,860.921,1044.34,829.97
C1073.24,803.015,1090.44,756.495,1079.01,736.033
C1077.04,732.487,1072.42,724.173,1042.45,722.61
C1015.54,721.252,977.874,725.557,930.198,731.061
C863.624,738.737,780.748,748.302,677.926,748.37 L676.853,748.37
C574.507,748.37,491.712,738.955,425.139,731.387
C348.702,722.718,288.284,715.857,277.523,735.817
C267.061,755.164,284.085,798.763,312.534,825.487
C346.08,857.036,385.276,852.782,470.706,840.147
C523.611,832.362,589.246,822.661,672.777,822.661 Z" />
<path
android:fillColor="#9A2700"
android:pathData="M257.946,580.483 C178.752,626.433,139.228,734.212,163.684,759.008
C185.98,781.602,248.382,719.037,371.759,690.343
C495.395,661.581,503.682,707.911,701.241,705.574
C913.256,703.075,944.234,649.232,1070.21,688.033
C1113.43,701.347,1163.67,724.295,1186.37,702.299
C1207.77,681.566,1200.92,624.721,1176.18,590.211
C1095.38,477.445,863.897,659.189,505.012,586.258
C413.507,567.686,333.593,536.601,257.944,580.484 Z" />
<path
android:fillColor="#731D00"
android:pathData="M207.199,695.275 C227.321,716.646,292.725,659.95,401.171,631.664
C508.707,603.594,524.807,638.321,696.539,636.487
C915.279,634.163,957.791,577.088,1086.47,618.825
C1132.45,633.77,1170.95,655.278,1198.79,670.97
C1201.06,645.523,1192.53,612.97,1176.18,590.173
C1175.47,589.195,1174.82,588.243,1174.03,587.306
Q1169.06,583.231,1163.91,579.439 C1138.04,559.991,1106.94,546.017,1073.12,539.86
C1016.2,530.148,805.234,647.221,504.975,586.232
C494.568,584.154,484.229,581.858,473.972,579.439
C395.266,561.463,324.93,541.56,257.949,580.404
C213.304,613.636,190.371,677.452,207.205,695.277 Z" />
<path
android:fillColor="#FFFFFF"
android:pathData="M379.963,493.885 C376.146,514.985,417.325,522.512,472.35,593.065
C542.619,683.156,547.293,762.894,574.249,761.536
C609.152,759.729,619.586,625.129,657.127,624.313
C680.36,623.811,687.628,675.126,712.831,675.942
C748.223,677.083,751.837,576.409,825.597,518.339
C888.094,469.129,960.183,482.606,960.102,474.863
C959.871,453.139,393.958,416.441,379.964,493.883 Z" />
<path
android:fillColor="#E4EEFB"
android:pathData="M768.874,590.09 C761.026,571.297,749.874,555.327,736.006,542.192
C756.025,598.757,747.008,626.232,732.545,650.034
C722.252,668.725,702.348,689.907,678.404,705.364
C735.681,676.389,745.313,635.073,768.873,590.089 Z M601.422,701.077
C591.137,725.533,588.407,742.95,575.989,746.849
C568.435,749.227,560.038,745.721,552.457,740.49
C559.359,754.198,565.676,761.984,574.195,761.549
C600.186,760.191,612.603,685.248,632.752,646.703
C608.775,678.327,591.734,716.517,584.625,758.095 Z" />
<path
android:fillColor="#6BE166"
android:pathData="M238.761,569.847 C177.962,621.557,153.058,706.037,171.44,722.693
C193.178,742.352,264.452,657.601,395.615,618.077
C501.997,586.027,511.208,620.984,684.243,614.802
C914.368,606.65,982.192,527.578,1119.01,581.393
C1157.42,596.502,1201,622.057,1210.04,610.726
C1219.48,598.838,1187.39,543.977,1139.39,514.153
C1063.75,467.118,989.94,507.985,808.018,520.742
C791.714,521.883,807.705,520.47,631.843,522.1
C338.662,524.79,287.034,528.784,238.762,569.842 Z" />
<path
android:fillColor="#5BBF57"
android:pathData="M556.872,522.891 C409.623,524.793,338.132,528.326,294.098,540.553
C294.514,553.018,298.715,564.426,305.576,573.753
C335.603,615.578,419.582,578.065,570.933,567.129
C706.471,557.374,717.734,581.817,880.988,575.05
C893.732,574.52,913.976,573.527,940.198,574.004
C1001.42,560.512,1051.96,554.984,1119.09,581.34
C1157.5,596.449,1201.08,622.004,1210.12,610.673
C1219.56,598.785,1187.47,543.924,1139.47,514.1
C1063.83,467.065,990.02,507.932,808.098,520.689
C714.27,533.297,629.41,530.132,556.872,522.89 Z" />
<path
android:fillColor="#F2A83C"
android:pathData="M289.641,541.6 C315.454,575.471,377.124,543.136,549.67,530.54
C692.178,520.133,831.002,528.964,871.897,531.898
C1027.38,543.148,1076.96,564.111,1105.49,531.218
C1143.53,487.402,1113.71,382.786,1061.35,317.165
C924.589,145.977,557.54,145.311,382.032,317.383
C311.383,386.674,256.887,498.531,289.645,541.599 Z" />
<path
android:fillColor="#CF8F33"
android:pathData="M286.924,536.166 C287.997,543.476,377.232,537.524,546.953,525.106
C689.46,514.699,828.286,523.531,869.18,526.464
C1038.58,538.692,1079.62,554.723,1102.77,525.784
C1160.87,453.219,997.49,219.751,971.39,230.783
C953.836,238.186,1021.48,346.349,973.686,415.082
C928.267,480.405,824.848,443.614,600.06,466.711
C428.111,484.387,285.563,526.804,286.922,536.165 Z" />
<path
android:fillColor="#000000"
android:pathData="M401.784,246.925 C401.777,246.925,401.768,246.925,401.761,246.925
C386.753,246.925,374.588,234.759,374.588,219.752
C374.588,210.241,379.474,201.872,386.872,197.017 L388.334,196.097
C392.487,193.39,397.569,191.782,403.027,191.782
C418.035,191.782,430.201,203.949,430.201,218.956
C430.201,228.505,425.275,236.905,417.825,241.751 L416.566,242.562
C412.409,245.297,407.314,246.923,401.837,246.923
C401.817,246.923,401.8,246.923,401.781,246.923 Z" />
<path
android:fillColor="#000000"
android:pathData="M1054.97,570.525 C1036.16,570.525,1013.2,567.931,983.171,564.533
C948.173,560.58,904.628,555.647,847.09,552.305
C698.102,543.663,555.934,551.653,509.21,554.276
C456.128,557.251,414.622,561.069,381.267,564.235
C340.304,568.053,313.24,570.581,291.474,569.099
C272.752,567.835,248.963,563.447,230.919,540.567
C206.206,509.237,204.846,458.479,227.143,397.733
C246.163,345.834,279.654,292.819,319.122,252.36
C324.064,247.29,330.96,244.144,338.591,244.144
C353.6,244.144,365.767,256.312,365.767,271.32
C365.767,278.697,362.827,285.389,358.054,290.285
C283.347,366.81,248.608,475.243,273.593,506.954
C282.519,518.271,306.933,516.613,376.211,510.147
C410.013,506.995,452.063,503.069,506.151,500.039
C553.704,497.321,698.154,489.251,850.226,498.068
C909.245,501.492,953.619,506.505,989.269,510.541
C1048.48,517.239,1072.85,519.521,1081.66,508.666
C1093.89,493.571,1092.53,458.723,1077.98,417.731
C1062.02,372.747,1032.24,324.95,998.309,289.87
C884.184,171.858,657.562,136.019,482.352,208.257
C479.29,209.555,475.73,210.307,471.993,210.307
C456.979,210.307,444.807,198.135,444.807,183.121
C444.807,171.843,451.673,162.17,461.454,158.053
C554.156,119.863,662.861,107.459,767.747,123.057
C876.86,139.293,972.616,185.106,1037.38,252.128
C1077.03,293.118,1110.49,346.879,1129.2,399.594
C1150.94,461.004,1149.09,511.925,1123.85,542.985
C1105.56,565.47,1081.41,569.343,1064.82,570.293 Q1060.09,570.538,1054.98,570.525
Z" />
<path
android:fillColor="#000000"
android:pathData="Z" />
<path
android:fillColor="#000000"
android:pathData="M739.478,376.618 C739.479,376.62,739.48,376.623,739.481,376.625
C746.366,392.907,762.306,401.727,775.083,396.324
C787.862,390.92,792.64,373.34,785.755,357.058
C785.754,357.055,785.753,357.053,785.752,357.051
C785.751,357.049,785.75,357.046,785.749,357.044
C778.864,340.762,762.924,331.942,750.146,337.345
C737.367,342.749,732.589,360.328,739.473,376.611
C739.474,376.614,739.475,376.616,739.476,376.618 Z" />
<path
android:fillColor="#000000"
android:pathData="M566.506,351.686 C566.507,351.687,566.507,351.688,566.508,351.689
C572.695,362.405,589.811,364.104,604.737,355.488
C619.664,346.87,626.749,331.197,620.563,320.481
C620.562,320.48,620.562,320.479,620.561,320.478
C620.561,320.477,620.56,320.476,620.559,320.475
C614.372,309.759,597.257,308.06,582.331,316.676
C567.404,325.294,560.319,340.967,566.505,351.683
S566.506,351.685,566.507,351.686 Z" />
<path
android:fillColor="#000000"
android:pathData="M835.993,353.969 C835.994,353.97,835.995,353.972,835.995,353.973
C840.624,361.992,853.228,363.383,864.144,357.08
C875.062,350.777,880.157,339.167,875.527,331.148
C875.526,331.147,875.525,331.145,875.525,331.144
C875.524,331.143,875.524,331.142,875.523,331.14
C870.894,323.121,858.29,321.73,847.374,328.033
C836.456,334.336,831.361,345.946,835.991,353.965
C835.992,353.966,835.993,353.968,835.993,353.969 Z" />
</vector>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<com.caipu.bmy.cp.utils.X5WebView
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:id="@+id/web_filechooser">
</com.caipu.bmy.cp.utils.X5WebView>
</RelativeLayout>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
</adaptive-icon>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#FFF</color>
<color name="colorPrimaryDark">#FFF</color>
<color name="colorAccent">#FFF</color>
</resources>

View File

@@ -0,0 +1,3 @@
<resources>
<string name="app_name">test测试</string>
</resources>

View File

@@ -0,0 +1,11 @@
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>

View File

@@ -0,0 +1,17 @@
package com.caipu.bmy.cp;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}

View File

@@ -0,0 +1,27 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}

View File

@@ -0,0 +1,14 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
android.useDeprecatedNdk=true
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

View File

@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

@@ -0,0 +1,172 @@
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

View File

@@ -0,0 +1,84 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

View File

@@ -0,0 +1 @@
include ':app'

View File

@@ -0,0 +1,15 @@
body {
background: #fff;
}
.top-title {
width: 100%;
height: 4rem;
display: flex;
justify-content: space-around;
align-items: center;
padding: 0 .5rem;
}
.top-title h2{
font-size: .54rem;
padding-left: .4rem;
}

View File

@@ -0,0 +1,67 @@
body {
background: #fff !important;
}
.class-title{
margin-bottom: .42rem;
}
.class-title h2{
font-size: .64rem;
margin-bottom: .2rem;
}
.class-title p{
color: #8d8d8d;
}
.g-view {
padding: 0 .3rem;
}
.cell-item {
box-shadow: 0 0 .12rem #e8e8e8;
}
.class-caipu ul {
display: flex;
flex-wrap: wrap;
}
.class-caipu ul li{
width: 30%;
margin-right: .3rem;
position: relative;
margin-bottom: .3rem;
}
.class-caipu ul li:nth-child(3n){
margin-right: 0;
}
.class-caipu ul li img{
width: 100%;
}
.class-caipu ul li div{
position: absolute;
width: 100%;
height: 2.07rem;
left: 0;
top: 0;
background: rgba(0, 0, 0, 0.28);
}
.class-caipu ul li p{
position: absolute;
z-index: 3;
color: #fff;
left: 50%;
top: 50%;
margin-left: -0.24rem;
margin-top: -0.18rem;
}
.caipu-title {
display: flex;
justify-content: space-between;
height: .68rem;
align-items: center;
}
.caipu-title h3{
font-size: .3rem;
}
.caipu-title span{
font-size: .24rem;
color: #8d8d8d
}

View File

@@ -0,0 +1,3 @@
.m-tabbar.tabbar-fixed {
bottom: -1px;
}

View File

@@ -0,0 +1,52 @@
.m-slider {
width: 95% !important;
margin: .1rem auto;
}
.slider-item {
width: 100% !important;
}
.m-grids-4 .grids-item:not(:nth-child(4n)):before,
.m-grids-2:before, .m-grids-3:before, .m-grids-4:before, .m-grids-5:before {
border: none !important;
}
.grids-icon {
height: auto;
}
.grids-icon img{
width: .9rem;
height: .9rem;
}
.grids-txt {
margin-top: .2rem;
}
.list-theme3 .list-item:nth-child(odd):after,
.list-theme3 .list-item:before {
border: none;
}
.list-cp {
margin-top: .4rem;
}
.list-title {
display: flex;
width: 100%;
justify-content: center;
height: 1rem;
align-items: center;
}
.list-title img{
width: .6rem;
height: .6rem;
}
.list-info {
margin-left: .2rem;
}
.list-info span{
font-size: .36rem;
color: #333;
}
.list-info p{
font-size: .2rem;
color: #999;
line-height: .24rem;
}

View File

@@ -0,0 +1,95 @@
body {
background: #fff;
}
.m-navbar {
background: rgba(255, 255, 255, 0);
position: fixed;
width: 100%;
top: 0;
z-index: 99;
transition: all 1s;
}
.active {
background: rgba(0, 0, 0, 0.41);
}
.g-view:before {
height: 0 !important;
}
.m-navbar:after{
border: none !important;
}
.navbar-center .navbar-title {
color: #fff;
}
.cell-icon:before {
color: #fff !important;
}
.info-top {
width: 100%;
height: 4.5rem;
background: url("../img/info_1.jpg") center /cover no-repeat;
background-size: cover;
}
.top-zhezhao {
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.42);
}
.info-title,
.info-list-item{
padding: .24rem;
}
.info-title{
margin-bottom: .4rem;
}
.info-title h2{
font-size: .48rem;
color: #000;
margin-bottom: .2rem;
}
.info-title p{
font-weight: 300;
color: #666;
text-align: justify;
font-size: .34rem;
color: #333;
line-height: .5rem;
}
.info-list-item {
margin-bottom: .2rem;
}
.info-list-item h2{
height: .72rem;
line-height: .72rem;
font-size: .32rem;
color: #333;
font-weight: 900;
}
.info-list-item p{
color: #333;
font-size: .32rem;
font-weight: 300;
line-height: .48rem;
padding-bottom: .2rem;
}
.step-item h2{
height: .88rem;
line-height: .88rem;
color: #333;
font-size: .38rem;
margin: .6rem 0 .2rem;
text-align: center;
display: block;
font-weight: 500;
}
.step-item p {
font-size: .34rem;
line-height: .5rem;
color: #333;
font-weight: 300;
text-align: justify;
padding: .32rem .4rem;
}
.step-item img {
width: 100%;
}

View File

@@ -0,0 +1,3 @@
.g-view:before {
height: 0;
}

View File

@@ -0,0 +1,44 @@
body {
background: #fff;
}
.view-main,.g-view {
height: 100%;
}
.view-main .view-left {
width: 25%;
height: 100%;
float: left;
border-right: .02rem solid #e8e8e8;
position: fixed;
top: .9rem;
left: 0;
overflow-y: scroll;
}
.view-main .view-right {
width: 75%;
height: 100%;
float: left;
position: fixed;
left: 1.875rem;
top: .9rem;
overflow-y: scroll;
}
.view-main .view-right li{
float: left;
padding: .2rem;
}
.view-right ul{
padding-left: .2rem;
}
.view-main .view-left ul li{
height: .8rem;
line-height: .8rem;
text-align: center;
}
.view-main .view-left ul li:last-child{
margin-bottom: 42px;
}
.active {
color: red;
}

View File

@@ -0,0 +1,14 @@
.g-view:before {
height: 0 !important;
}
.m-navbar:after,
.m-cell:after {
border-bottom: none !important;
}
body {
background: #fff;
}
.cell-input {
background: #f7f7f7;
padding-left: 10px;
}

View File

@@ -0,0 +1,268 @@
@font-face {
font-family:"socialshare";src:url("https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.16/fonts/iconfont.eot");src:url("https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.16/fonts/iconfont.eot?#iefix") format("embedded-opentype"),url("https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.16/fonts/iconfont.woff") format("woff"),url("https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.16/fonts/iconfont.ttf") format("truetype"),url("https://cdnjs.cloudflare.com/ajax/libs/social-share.js/1.0.16/fonts/iconfont.svg#iconfont") format("svg")
}
.social-share {
font-family: "socialshare" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale
}
.social-share * {
font-family: "socialshare" !important
}
.social-share .icons-tencent:before {
content: "\f07a"
}
.social-share .icons-qq:before {
content: "\f11a"
}
.social-share .icons-weibo:before {
content: "\f12a"
}
.social-share .icons-wechat:before {
content: "\f09a"
}
.social-share .icons-douban:before {
content: "\f10a"
}
.social-share .icons-heart:before {
content: "\f20a"
}
.social-share .icons-like:before {
content: "\f00a"
}
.social-share .icons-qzone:before {
content: "\f08a"
}
.social-share .icons-linkedin:before {
content: "\f01a"
}
.social-share .icons-diandian:before {
content: "\f05a"
}
.social-share .icons-facebook:before {
content: "\f03a"
}
.social-share .icons-google:before {
content: "\f04a"
}
.social-share .icons-twitter:before {
content: "\f06a"
}
.social-share a {
position: relative;
text-decoration: none;
margin: 4px;
display: inline-block;
outline: none
}
.social-share .social-share-icon {
position: relative;
display: inline-block;
width: 32px;
height: 32px;
font-size: 20px;
border-radius: 50%;
line-height: 32px;
border: 1px solid #666;
color: #666;
text-align: center;
vertical-align: middle;
transition: background 0.6s ease-out 0s
}
.social-share .social-share-icon:hover {
background: #666;
color: #fff
}
.social-share .icons-weibo {
color: #ff763b;
border-color: #ff763b
}
.social-share .icons-weibo:hover {
background: #ff763b
}
.social-share .icons-tencent {
color: #56b6e7;
border-color: #56b6e7
}
.social-share .icons-tencent:hover {
background: #56b6e7
}
.social-share .icons-qq {
color: #56b6e7;
border-color: #56b6e7
}
.social-share .icons-qq:hover {
background: #56b6e7
}
.social-share .icons-qzone {
color: #FDBE3D;
border-color: #FDBE3D
}
.social-share .icons-qzone:hover {
background: #FDBE3D
}
.social-share .icons-douban {
color: #33b045;
border-color: #33b045
}
.social-share .icons-douban:hover {
background: #33b045
}
.social-share .icons-linkedin {
color: #0077B5;
border-color: #0077B5
}
.social-share .icons-linkedin:hover {
background: #0077B5
}
.social-share .icons-facebook {
color: #44619D;
border-color: #44619D
}
.social-share .icons-facebook:hover {
background: #44619D
}
.social-share .icons-google {
color: #db4437;
border-color: #db4437
}
.social-share .icons-google:hover {
background: #db4437
}
.social-share .icons-twitter {
color: #55acee;
border-color: #55acee
}
.social-share .icons-twitter:hover {
background: #55acee
}
.social-share .icons-diandian {
color: #307DCA;
border-color: #307DCA
}
.social-share .icons-diandian:hover {
background: #307DCA
}
.social-share .icons-wechat {
position: relative;
color: #7bc549;
border-color: #7bc549
}
.social-share .icons-wechat:hover {
background: #7bc549
}
.social-share .icons-wechat .wechat-qrcode {
display: none;
border: 1px solid #eee;
position: absolute;
z-index: 9;
top: -205px;
left: -84px;
width: 200px;
height: 192px;
color: #666;
font-size: 12px;
text-align: center;
background-color: #fff;
box-shadow: 0 2px 10px #aaa;
transition: all 200ms;
-webkit-tansition: all 350ms;
-moz-transition: all 350ms
}
.social-share .icons-wechat .wechat-qrcode.bottom {
top: 40px;
left: -84px
}
.social-share .icons-wechat .wechat-qrcode.bottom:after {
display: none
}
.social-share .icons-wechat .wechat-qrcode h4 {
font-weight: normal;
height: 26px;
line-height: 26px;
font-size: 12px;
background-color: #f3f3f3;
margin: 0;
padding: 0;
color: #777
}
.social-share .icons-wechat .wechat-qrcode .qrcode {
width: 105px;
margin: 10px auto
}
.social-share .icons-wechat .wechat-qrcode .qrcode table {
margin: 0 !important
}
.social-share .icons-wechat .wechat-qrcode .help p {
font-weight: normal;
line-height: 16px;
padding: 0;
margin: 0
}
.social-share .icons-wechat .wechat-qrcode:after {
content: '';
position: absolute;
left: 50%;
margin-left: -6px;
bottom: -13px;
width: 0;
height: 0;
border-width: 8px 6px 6px 6px;
border-style: solid;
border-color: #fff transparent transparent transparent
}
.social-share .icons-wechat:hover .wechat-qrcode {
display: block
}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Some files were not shown because too many files have changed in this diff Show More