Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 16497 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Показать содержимое robots.txt
<!DOCTYPE html>
<html>
<head>
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.
The path provided below has to start and end with a slash "/" in order for
it to work correctly.
For more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`.
-->
<!-- <base href="/" /> -->
<base href="/" />
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="川川云手机">
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="ccy_cloud_phone_h5">
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<meta HTTP-EQUIV="Expires" CONTENT="0">
<meta name="google-signin-client_id" content="1093149858512-9i0979gp79792imff34fdh704dnjraqm.apps.googleusercontent.com">
<link rel="apple-touch-icon" href="icons/Icon-192.png">
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png" />
<title>川川云手机</title>
<link rel="manifest" href="manifest.json">
<script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script>
<script src="https://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<script src="https://accounts.google.com/gsi/client" async defer></script>
<!-- <script src="google_signin_button.js" defer></script> -->
<!-- <script type="application/javascript" src="/assets/packages/flutter_inappwebview/assets/web/web_support.js" defer></script>-->
<script text="text/javascript">
// The value below is injected by flutter build, do not touch.
const serviceWorkerVersion = "3692390563";
window.flutterWebRenderer = "html";
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>
<script src="https://apis.google.com/js/api.js"></script>
<script>
</script>
</head>
<style>
div[aria-labelledby="button-label"]{
height: 100px;
}
</style>
<body>
<div class="container" style="
position: absolute;
top: 310px;
width: 100%;
opacity: 0;
z-index: 9999;
display: none; /* 初始状态为隐藏 */
pointer-events: none; /* 禁止点击事件 */
height: 100px;
">
<div id="g_id_onload"
data-client_id="1093149858512-9i0979gp79792imff34fdh704dnjraqm.apps.googleusercontent.com"
data-callback="handleCredentialResponse">
</div>
<div class="g_id_signin" data-type="standard"></div>
</div>
<script>
<!-- var vconsole = new VConsole();-->
console.log(window.navigator.userAgent);
function authWechatLogin() {
window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx5683133f454558ff&redirect_uri=https://www.ccynice.com/h5/passwordLogin&response_type=code&scope=snsapi_base&state=1#wechat_redirect";
}
window.fbAsyncInit = function() {
FB.init({
appId : '28097715163153130', // 替换为您的Facebook App ID
cookie : true,
xfbml : true,
version : 'v20.0' // 检查最新版本:https://developers.facebook.com/docs/javascript
});
FB.AppEvents.logPageView();
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "https://connect.facebook.net/en_US/sdk.js"; // 或其他语言版本
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
function showGoogleSignIn() {
const container = document.querySelector('.container');
if (container) {
container.style.display = 'block';
container.style.pointerEvents = 'auto';
}
}
function hideGoogleSignIn() {
const container = document.querySelector('.container');
if (container) {
container.style.display = 'none';
container.style.pointerEvents = 'none';
}
}
function getBrowserLanguageCode() {
// 优先使用 navigator.language(标准属性)
if (navigator.language) {
return navigator.language
}
// 备选属性(针对不同浏览器的兼容性)
if (navigator.userLanguage) {
return navigator.userLanguage
}
if (navigator.browserLanguage) {
return navigator.browserLanguage
}
if (navigator.systemLanguage) {
return navigator.systemLanguage
}
// 默认返回美式英语
return 'en-US'
}
function languageSet() {
//根据浏览器系统语言设置语言版本
const userLanguage = getBrowserLanguageCode()
// 提取主语言(如 'zh-CN' → 'zh')
const primaryLanguage = userLanguage.split('-')[0]
let lange = 'en'
if (primaryLanguage === 'en') {
lange = 'language_en'
}else if (primaryLanguage === 'pt') {
lange = 'language_portuguese'
} else {
if (userLanguage === 'zh-CN') {
lange = 'language_zh'
} else if (userLanguage === 'zh-TW') {
lange = 'language_complex'
} else if (userLanguage === 'ms') {
lange = 'language_malay'
} else if (userLanguage === 'vi') {
lange = 'language_vietnamese'
} else if (userLanguage === 'id') {
lange = 'language_bahasa'
} else if (userLanguage === 'th') {
lange = 'language_thai'
} else if (userLanguage === 'my') {
lange = 'language_burmese'
} else if (userLanguage === 'lo') {
lange = 'language_lao'
} else if (userLanguage === 'km') {
lange = 'language_khmer'
} else if (userLanguage === 'fil') {
lange = 'language_filipino'
} else {
lange = 'en'
}
}
// return localStorage.setItem("lang", import.meta.env.VITE_LANG);
// localStorage.setItem('lang', import.meta.env.VITE_LANG)
// return import.meta.env.VITE_LANG
localStorage.setItem('lang', lange)
return lange
}
function facebookLogin() {
FB.login(function(response) {
if (response.authResponse) {
console.log('User logged in');
const accessToken = response.authResponse.accessToken;
console.log(accessToken);
try {
if (typeof window.handleFacebookSignIn === 'function') {
window.handleFacebookSignIn(accessToken);
} else if (window.flutter_inappwebview && typeof window.flutter_inappwebview.callHandler === 'function') {
window.flutter_inappwebview.callHandler('facebookSignIn', accessToken)
.then(function(result) { console.log('FB token sent successfully:', result); })
.catch(function(error) { console.error('Error sending FB token:', error); });
} else {
window.postMessage({ type: 'facebookSignIn', accessToken: accessToken }, '*');
}
} catch (e) {
console.error('Error bridging FB token:', e);
}
// Handle login success
} else {
console.log('User cancelled login or did not fully authorize.');
// Handle login failure
}
});
}
function authGoogleLogin(){
showGoogleSignIn(); // 显示登录按钮
const googleSignInButton = document.querySelector('.g_id_signin');
if (googleSignInButton) {
googleSignInButton.click();
} else {
console.error('Google Sign-In button not found');
}
}
function addGoogleSignInButton() {
const body = document.body;
const container = document.createElement('div');
container.className = 'container';
container.innerHTML = `
<div class="container">
<div id="g_id_onload"
data-client_id="1093149858512-9i0979gp79792imff34fdh704dnjraqm.apps.googleusercontent.com"
data-callback="handleCredentialResponse">
</div>
<div class="g_id_signin" data-type="standard"></div>
</div>
`;
body.appendChild(container);
}
function getBrowserType() {
let userAgent = window.navigator.userAgent;
let inWeChat = userAgent.indexOf('MicroMessenger');
let androidBrowser = userAgent.indexOf('MQQBrowser');
let iosBrowser = userAgent.indexOf('QBWebView');
let netType = userAgent.indexOf('netType');
if (inWeChat > -1) {
// 微信有单独标识先判断微信
return 'weChat'
}
if (netType > -1 && (androidBrowser > -1 || iosBrowser > -1)) {
// QQ中有nettype信息
return 'QQ'
}
if (androidBrowser > -1 || iosBrowser > -1) {
// 最后再判断QQ浏览器
return 'QQBrowser'
}
return '';
}
function initializeGoogleSignIn(){
console.log("数据呀,数据");
}
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
console.log('Name: ' + profile.getName());
console.log('Image URL: ' + profile.getImageUrl());
console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
}
function handleCredentialResponse(response) {
// 解码 JWT token
const base64Url = response.credential.split('.')[1];
const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
const jsonPayload = decodeURIComponent(atob(base64).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
const payload = JSON.parse(jsonPayload);
// 获取用户信息
const email = payload.email;
const idToken = response.credential;
console.log('User Email:', email);
console.log('ID Token:', idToken);
const data = { message: idToken };
const customEvent = new CustomEvent('dataEvent', { detail: data });
document.dispatchEvent(customEvent);
console.log("回调");
try {
if (typeof window.handleGoogleSignIn === 'function') {
window.handleGoogleSignIn(idToken);
} else if (window.flutter_inappwebview && typeof window.flutter_inappwebview.callHandler === 'function') {
window.flutter_inappwebview.callHandler('googleSignIn', idToken)
.then(function(result) {
console.log('Token sent successfully:', result);
})
.catch(function(error) {
console.error('Error sending token:', error);
});
} else {
// 如果两种方式都不可用,尝试使用 postMessage
window.postMessage({
type: 'googleSignIn',
idToken: idToken
}, '*');
}
} catch (error) {
console.error('Error handling credential response:', error);
}
// 这里可以发送 idToken 到你的后端服务器进行验证
// sendToBackend(idToken);
}
// 如果需要发送到后端
function sendToBackend(idToken) {
fetch('YOUR_BACKEND_ENDPOINT', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ idToken: idToken })
})
.then(response => response.json())
.then(data => console.log('Success:', data))
.catch(error => console.error('Error:', error));
}
function setOpenId(openId) {
var storage = window.localStorage;
storage.setItem("openId", openId);
}
function getOpenId() {
return window.localStorage.getItem("openId");
}
function setAdShow(key, value) {
var storage = window.localStorage;
storage.setItem(key, value);
}
function getAdShow(key) {
return window.localStorage.getItem(key);
}
function setToken(token) {
var storage = window.localStorage;
storage.setItem("token", token);
}
function getToken() {
return window.localStorage.getItem("token");
}
function setOverduePopCount(overduePopCount) {
var storage = window.localStorage;
storage.setItem("overduePopCount", storage);
}
function getOverduePopCount(){
return window.localStorage.getItem("overduePopCount");
}
function setTrialPopCount(trialPopCount) {
var storage = window.localStorage;
storage.setItem("trialPopCount", storage);
}
function getTrialPopCount(){
return window.localStorage.getItem("trialPopCount");
}
function setTrialSpStr(trialSpStr) {
var storage = window.localStorage;
storage.setItem("trialSpStr", storage);
}
function getTrialSpStr(){
return window.localStorage.getItem("trialSpStr");
}
function setOverdueSpStr(overdueSpStr) {
var storage = window.localStorage;
storage.setItem("overdueSpStr", storage);
}
function getOverdueSpStr(){
return window.localStorage.getItem("overdueSpStr");
}
function setDataKeyAndValue(key, value) {
var storage = window.localStorage;
storage.setItem(key, value);
}
function getDataWithKey(key){
return window.localStorage.getItem(key);
}
function clearStorage() {
window.localStorage.clear();
}
function setDeviceId(deviceId) {
var storage = window.localStorage;
storage.setItem("deviceId", deviceId);
}
function getDeviceId() {
return window.localStorage.getItem("deviceId");
}
//微信支付
function goWxPay(appId, timeStamp, nonceStr, prepayId, signType, paySign) {
console.log('goWxPay');
window.WeixinJSBridge.invoke('getBrandWCPayRequest', {
"appId": appId, //公众号ID,由商户传入
"timeStamp": "" + timeStamp, //时间戳,自1970年以来的秒数
"nonceStr": nonceStr, //随机串
"package": "prepay_id=" + prepayId,
"signType": signType, //微信签名方式:
"paySign": paySign //微信签名
},
function (res) {
console.log(res);
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示:
// res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
}
});
}
//唤起支付宝支付
function goAliPay(result) {
console.log(result);
const div = document.createElement('div');
div.innerHTML = result;
document.body.appendChild(div);
document.forms['punchout_form'].setAttribute('target', '_self');
document.forms['punchout_form'].target = '_blank';
document.forms['punchout_form'].submit();
div.remove();
}
function go2QQGroup(res) {
console.log(res);
window.location.href = res;
}
function registerGoogleSignInButton() {
console.log("嘻嘻哈哈");
if (!window.flutterWebRenderer) {
console.log("Registering Google Sign-In button...");
// 创建容器div
const container = document.createElement("div");
container.id = "google-signin-container";
container.style.width = "240px";
container.style.height = "50px";
// 注册视图工厂
window.flutterWebPlatform.registerViewFactory(
'google-signin-button',
() => container
);
return container;
}
}
window.addEventListener('load', function (ev) {
// Download main.dart.js
registerGoogleSignInButton();
_flutter.loader.loadEntrypoint({
serviceWorker: {
serviceWorkerVersion: serviceWorkerVersion,
}
}).then(function (engineInitializer) {
return engineInitializer.initializeEngine();
}).then(function (appRunner) {
return appRunner.runApp();
});
setTimeout(() => {
if (window.initGoogleSignIn) {
window.initGoogleSignIn('1093149858512-9i0979gp79792imff34fdh704dnjraqm.apps.googleusercontent.com', "handleGoogleAuth");
}
}, 500);
});
</script>
</body>
</html>