icon i18n
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
@@ -1,129 +1 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
|
||||
<meta name="renderer" content="webkit" />
|
||||
<meta name="force-rendering" content="webkit" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.0, user-scalable=yes" />
|
||||
|
||||
<meta name="keywords" content="flagnote" />
|
||||
<meta name="description" content="flag note" />
|
||||
|
||||
<meta name="theme-color" content="#ed4014" />
|
||||
<meta name="format-detection" content="telephone=no,email=no,adress=no" />
|
||||
|
||||
<meta name="google" content="notranslate">
|
||||
|
||||
<meta http-equiv="Expires" content="0" />
|
||||
<meta http-equiv="Pragma" content="no-cache" />
|
||||
<meta http-equiv="Cache-control" content="no-cache" />
|
||||
<meta http-equiv="Cache" content="no-cache" />
|
||||
|
||||
<link rel="icon" href="/static/favicon.ico" />
|
||||
<title>flagnote.com</title>
|
||||
<style>
|
||||
body {
|
||||
background-color: #dddddd;
|
||||
}
|
||||
</style>
|
||||
<!--
|
||||
<script src="https://www.recaptcha.net/recaptcha/api.js?render=6Le0CJwfAAAAAGk0J6aDngi7Dya-b0qyFRdIf6Wu"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
const CAPTCHA_CLIENT_SECRET = "6Le0CJwfAAAAAGk0J6aDngi7Dya-b0qyFRdIf6Wu";
|
||||
window.onload = () => {
|
||||
document.querySelector('button').addEventListener('click', () => {
|
||||
grecaptcha.execute(CAPTCHA_CLIENT_SECRET, {action: 'homepage'}).then(function (token) {
|
||||
console.log('客户端token:' + token);
|
||||
fetch('/recaptcha/validate?token=' + token, {
|
||||
method: 'GET'
|
||||
}).then(response => {
|
||||
if (response.ok) {
|
||||
response.json().then(message => {
|
||||
console.log('服务端验证');
|
||||
console.log(message);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
</script>
|
||||
-->
|
||||
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
var ua = navigator.userAgent.toLocaleLowerCase();
|
||||
var browserType = "",
|
||||
browserVersion = "";
|
||||
if (ua.match(/msie/) != null || ua.match(/trident/) != null) {
|
||||
browserType = "IE";
|
||||
alert("IE is not supported.");
|
||||
window.location = "/IeIsNotSupported.html";
|
||||
}
|
||||
|
||||
var lang = navigator.language;
|
||||
if (lang) {
|
||||
if (localStorage) {
|
||||
if (!localStorage.getItem("locale")) {
|
||||
localStorage.setItem("locale", lang);
|
||||
}
|
||||
}
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-FPS9PD2DFF"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
gtag("js", new Date());
|
||||
|
||||
gtag("config", "G-FPS9PD2DFF");
|
||||
</script>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.min.js" rel="stylesheet"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue-router@3.5.4/dist/vue-router.min.js" rel="stylesheet"
|
||||
type="text/javascript"></script>
|
||||
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/axios@0.27.2/dist/axios.min.js" rel="stylesheet"
|
||||
type="text/javascript"></script>
|
||||
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/pako@2.1.0/dist/pako.min.js" rel="stylesheet"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/qrcode@1.5.1/build/qrcode.js" rel="stylesheet"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/view-design@4.7.0/dist/iview.min.js" rel="stylesheet"
|
||||
type="text/javascript"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/crypto-js@4.1.1/crypto-js.min.js" rel="stylesheet" type="text/javascript"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/file-saver@2.0.5/dist/FileSaver.min.js" rel="stylesheet" type="text/javascript"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js" rel="stylesheet" type="text/javascript"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue-i18n@8.21.1/dist/vue-i18n.min.js" rel="stylesheet" type="text/javascript"></script>
|
||||
|
||||
<!--
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue-axios@3.5.2/dist/vue-axios.esm.min.js" rel="stylesheet" type="text/javascript"></script>
|
||||
-->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/view-design@4.7.0/dist/styles/iview.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
|
||||
properly without JavaScript enabled. Please enable it to
|
||||
continue.</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<!DOCTYPE html><html><head><meta charset="utf-8"/><meta name="renderer"content="webkit"/><meta name="force-rendering"content="webkit"/><meta http-equiv="X-UA-Compatible"content="IE=edge,chrome=1"/><meta name="viewport"content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.0, user-scalable=yes"/><meta name="keywords"content="flagnote"/><meta name="description"content="flag note"/><meta name="theme-color"content="#ed4014"/><meta name="format-detection"content="telephone=no,email=no,adress=no"/><meta name="google"content="notranslate"><meta http-equiv="Expires"content="0"/><meta http-equiv="Pragma"content="no-cache"/><meta http-equiv="Cache-control"content="no-cache"/><meta http-equiv="Cache"content="no-cache"/><link rel="icon"href="/static/favicon.png"/><title>flagnote.com</title><style>body{background-color:#dddddd}</style><script type="text/javascript">(function(){var ua=navigator.userAgent.toLocaleLowerCase();var browserType="",browserVersion="";if(ua.match(/msie/)!=null||ua.match(/trident/)!=null){browserType="IE";alert("IE is not supported.");window.location="/IeIsNotSupported.html"}})();</script><script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.min.js"rel="stylesheet"type="text/javascript"></script><script src="https://cdn.jsdelivr.net/npm/vue-router@3.5.4/dist/vue-router.min.js"rel="stylesheet"type="text/javascript"></script><script src="https://cdn.jsdelivr.net/npm/axios@0.27.2/dist/axios.min.js"rel="stylesheet"type="text/javascript"></script><script src="https://cdn.jsdelivr.net/npm/view-design@4.7.0/dist/iview.min.js"rel="stylesheet"type="text/javascript"></script><script src="https://cdn.jsdelivr.net/npm/pako@2.1.0/dist/pako.min.js"rel="stylesheet"type="text/javascript"></script><script src="https://cdn.jsdelivr.net/npm/crypto-js@4.1.1/crypto-js.min.js"rel="stylesheet"type="text/javascript"></script><script src="https://cdn.jsdelivr.net/npm/vue-i18n@8.21.1/dist/vue-i18n.min.js"rel="stylesheet"type="text/javascript"></script><script src="https://cdn.jsdelivr.net/npm/file-saver@2.0.5/dist/FileSaver.min.js"rel="stylesheet"type="text/javascript"></script><script src="https://cdn.jsdelivr.net/npm/qrcode@1.5.1/build/qrcode.js"rel="stylesheet"type="text/javascript"></script><script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js"rel="stylesheet"type="text/javascript"></script><link rel="stylesheet"href="https://cdn.jsdelivr.net/npm/view-design@4.7.0/dist/styles/iview.css"><!--Global site tag(gtag.js)-Google Analytics--><script async src="https://www.googletagmanager.com/gtag/js?id=G-FPS9PD2DFF"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date());gtag("config","G-FPS9PD2DFF");</script></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id="app"></div></body></html>
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 867 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 986 B |
BIN
public/static/logo.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
@@ -4,6 +4,7 @@ const en = {
|
||||
},
|
||||
content: {
|
||||
blankTip: "I am Blank.",
|
||||
noteTip: "Start writing something...",
|
||||
},
|
||||
button: {
|
||||
ok: "OK",
|
||||
|
||||
@@ -3,7 +3,8 @@ const zh = {
|
||||
askTodelete: "是否确定要删除?",
|
||||
},
|
||||
content: {
|
||||
blankTip: "I am Blank.",
|
||||
blankTip: "空白的内容。",
|
||||
noteTip: "开始写下一些东西吧。。。"
|
||||
},
|
||||
button: {
|
||||
ok: "好的",
|
||||
|
||||
@@ -5,19 +5,25 @@ Vue.use(VueI18n);
|
||||
import zh from "./config/zh";
|
||||
import en from "./config/en";
|
||||
|
||||
const i18n = new VueI18n({
|
||||
locale: getLocale(),
|
||||
messages: {
|
||||
const messages = {
|
||||
zh,
|
||||
en,
|
||||
},
|
||||
}
|
||||
|
||||
const i18n = new VueI18n({
|
||||
messages: messages,
|
||||
locale: getLocale(),
|
||||
});
|
||||
|
||||
function getLocale(){
|
||||
if(localStorage.getItem("locale")){
|
||||
return localStorage.getItem("locale").substring(0,2);
|
||||
function getLocale() {
|
||||
var lang = navigator.language;
|
||||
if (lang) {
|
||||
lang = lang.substring(0, 2);
|
||||
}
|
||||
|
||||
if (Object.keys(messages).indexOf(lang) >= 0) {
|
||||
return lang;
|
||||
}
|
||||
return "en";
|
||||
}
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
<Affix :offset-top="0">
|
||||
<div style="background: white;width:100%;height:40px;">
|
||||
|
||||
<img style="height:40px;float:left;cursor: pointer;" alt="refresh flagnote" src="/static/favicon.png"
|
||||
<img style="height:40px;float:left;cursor: pointer;" alt="refresh flagnote" src="/static/logo.png"
|
||||
v-on:click="refreshPage()" />
|
||||
|
||||
<div style="float:left;width:auto;">
|
||||
@@ -148,7 +148,7 @@
|
||||
<Form :model="noteForm" :label-width="80">
|
||||
<div id="wrapper" style="border-left: 0px solid #FF3366;">
|
||||
<Input element-id="noteText" type="textarea" :border="false" v-model="noteForm.text" autofocus
|
||||
:autosize="{ minRows: 30, maxRows: 20480 }" placeholder="Write something..." @input="recordText"
|
||||
:autosize="{ minRows: 30, maxRows: 20480 }" :placeholder="$t('content.noteTip')" @input="recordText"
|
||||
@on-keydown="recordEventKdown" />
|
||||
</div>
|
||||
</Form>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="home">
|
||||
<div class="error">
|
||||
error
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
<Affix :offset-top="0">
|
||||
|
||||
<div style="background: white;width:100%;height:40px;">
|
||||
<img style="height:40px;float:left;" src="/static/favicon.png">
|
||||
<img style="height:40px;float:left;" src="/static/logo.png">
|
||||
|
||||
<div style="float:right;width:auto;">
|
||||
<Button-group size="large">
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
:lg="{ span: 18, offset: 3 }" :xl="{ span: 16, offset: 4 }" :xxl="{ span: 16, offset: 4 }">
|
||||
<Affix :offset-top="0">
|
||||
<div style="background: white;width:100%;height:40px;">
|
||||
<img style="height:40px;float:left;cursor: pointer;" alt="refresh flagnote" src="/static/favicon.png"
|
||||
<img style="height:40px;float:left;cursor: pointer;" alt="refresh flagnote" src="/static/logo.png"
|
||||
v-on:click="refreshPage()">
|
||||
<div style="float:left;width:auto;">
|
||||
|
||||
|
||||