🎉 able to login & logout

This commit is contained in:
Song
2021-01-17 14:26:33 +08:00
parent 22975603c6
commit b419c0f096
26 changed files with 729 additions and 244 deletions
+34
View File
@@ -0,0 +1,34 @@
<%- include('./partials/header') %>
<div class="normal-container">
<div class="columns is-desktop">
<div class="column">
<article id="article">
<%- include('./partials/page-info') %>
<%-page.converted_content%>
<p class="copyright"><strong>Links: <a href="<%-page.link%>"><%-page.link%></a></strong></p>
<%- config.copyright %>
<%- config.ad %>
</article>
</div>
<div class="column is-one-fifth-fullhd">
<aside class="menu toc">
<p class="menu-label">
Table of Content
</p>
<ul class="menu-list" id="toc">
</ul>
</aside>
</div>
</div>
<%- include('./partials/prev-next') %>
<%- include('./partials/comment') %>
</div>
<script>
(function() {
generateTOC();
})();
</script>
<%- include('./partials/footer') %>
+51 -50
View File
@@ -1,56 +1,57 @@
<%- include('./header') %>
<h2 class="subtitle">配置页面</h2>
<article class="message is-warning">
<div class="message-header">
<p>警告</p>
</div>
<div class="message-body">
提交后将在程序的根目录创建一个 .env 文件,之后程序将自动关闭,请确保你已经使用了诸如 pm2 的进程守护程序来自动重启本程序。提交之后如果想要对配置内容进行修改,则你必须手动删除 .env 文件。
</div>
</article>
<form action="/configure" method="post">
<div class="field">
<label class="label">APP ID</label>
<div class="control">
<input class="input" name="APP_ID" type="text" required placeholder="请输入 APP ID">
</div>
</div>
<%- include('./partials/header') %>
<div class="field">
<label class="label">APP SECRET</label>
<div class="control">
<input class="input" name="APP_SECRET" type="text" required placeholder="请输入 APP SECRET">
</div>
</div>
<div class="normal-container">
<div>
<h2 class="title">配置页面</h2>
<form action="/configure" method="post">
<div class="field">
<label class="label">APP ID</label>
<div class="control">
<input class="input" name="APP_ID" type="text" required placeholder="请输入 APP ID">
</div>
</div>
<div class="field">
<label class="label">OPEN ID</label>
<div class="control">
<input class="input" name="OPEN_ID" type="text" required placeholder="请输入你的 OPEN ID">
</div>
</div>
<div class="field">
<label class="label">APP SECRET</label>
<div class="control">
<input class="input" name="APP_SECRET" type="text" required placeholder="请输入 APP SECRET">
</div>
</div>
<div class="field">
<label class="label">TEMPLATE ID</label>
<div class="control">
<input class="input" name="TEMPLATE_ID" type="text" required placeholder="请输入一个模板通知 ID">
</div>
</div>
<div class="field">
<label class="label">OPEN ID</label>
<div class="control">
<input class="input" name="OPEN_ID" type="text" required placeholder="请输入你的 OPEN ID">
</div>
</div>
<div class="field">
<label class="label">TOKEN</label>
<div class="control">
<input class="input" name="TOKEN" type="text" required placeholder="请输入你的 TOKEN">
</div>
</div>
<div class="field">
<label class="label">TEMPLATE ID</label>
<div class="control">
<input class="input" name="TEMPLATE_ID" type="text" required placeholder="请输入一个模板通知 ID">
</div>
</div>
<div class="field">
<label class="label">TOKEN</label>
<div class="control">
<input class="input" name="TOKEN" type="text" required placeholder="请输入你的 TOKEN">
</div>
</div>
<div class="field is-grouped is-grouped-right">
<div class="control">
<input type="submit" class="button is-link" value="提交">
</div>
<div class="control">
<input type="reset" class="button is-link is-light" value="重置">
</div>
</div>
</form>
<div class="field is-grouped is-grouped-right">
<div class="control">
<input type="submit" class="button is-link" value="提交">
</div>
<div class="control">
<input type="reset" class="button is-link is-light" value="重置">
</div>
</div>
</form>
<%- include('./footer') %>
</div>
<%- include('./partials/footer') %>
-11
View File
@@ -1,11 +0,0 @@
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.0/css/bulma.min.css">
<title>WeChat Message Push Service</title>
</head>
<body style="width: 100%;">
<div style="margin: auto; max-width: 960px">
<h1 class="title" style="margin-top: 16px"><a style="color: black; text-decoration: none">微信消息通知服务</a></h1>
+12
View File
@@ -0,0 +1,12 @@
<%- include('./partials/header') %>
<div class="columns is-desktop">
<div class="column">
<div class="page-card-list">
</div>
</div>
</div>
</div>
<%- include('./partials/footer') %>
+41
View File
@@ -0,0 +1,41 @@
<%- include('./partials/header') %>
<div class="narrow-container">
<div>
<h2 class="title">用户登录</h2>
<% if(message) { %>
<article class="message is-danger">
<div class="message-body">
<%= message %>
</div>
</article>
<% }%>
<form action="/login" method="post">
<div class="field">
<label class="label">用户名</label>
<div class="control">
<input class="input" name="username" type="text" required placeholder="请输入用户名">
</div>
</div>
<div class="field">
<label class="label">密码</label>
<div class="control">
<input class="input" name="password" type="password" required placeholder="请输入你的密码">
</div>
</div>
<div class="field is-grouped is-grouped-right">
<div class="control">
<input type="submit" class="button is-light" value="提交">
</div>
<div class="control">
<input type="reset" class="button is-light" value="重置">
</div>
</div>
</form>
</div>
</div>
<%- include('./partials/footer') %>
+5 -5
View File
@@ -1,10 +1,10 @@
<%- include('./header') %>
<article class="info is-primary">
<%- include('./partials/header') %>
<article class="message is-danger">
<div class="message-header">
<p>注意</p>
<p><%= title %></p>
</div>
<div class="message-body">
<%= message %>
</div>
</article>
<%- include('./footer') %>
<%- include('./partials/footer') %>
+12
View File
@@ -0,0 +1,12 @@
</div>
<footer class="footer" style="background-color: white">
<div class="content has-text-centered" >
<p>
<a href="https://github.com/songquanpeng/message-pusher">消息推送服务</a> 由 <a href="https://github.com/songquanpeng">JustSong</a> 构建,源代码遵循
<a href="http://opensource.org/licenses/mit-license.php">MIT</a> 协议
</p>
</div>
</footer>
</div>
</body>
</html>
+16
View File
@@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>消息推送服务</title>
<meta name="theme-color" content="#ffffff"/>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.1/css/bulma.min.css">
<link rel="stylesheet" href="/public/main.css">
<script src="/public/main.js"></script>
</head>
<body>
<div>
<%- include('./nav') %>
<div class="container">
+50
View File
@@ -0,0 +1,50 @@
<nav class="navbar nav-shadow" role="navigation" aria-label="main navigation">
<div class="container">
<div class="navbar-brand">
<a class="navbar-item is-size-5" href="/" style="font-weight: bold">
消息推送服务
</a>
<a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false"
data-target="mainNavbar">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="mainNavbar" class="navbar-menu">
<div class="navbar-start">
<a class="navbar-item" href="/"> 首页 </a>
<a class="navbar-item" href="/status"> 状态 </a>
<a class="navbar-item" target="_blank" href="https://iamazing.cn/page/message-pusher"> 关于 </a>
</div>
<div class="navbar-end">
<div class="navbar-item">
<div class="buttons">
<% if (isLogged) { %>
<a class="button is-light" href="/logout">退出</a>
<% } else { %>
<a class="button is-light" href="/register">注册</a>
<a class="button is-light" href="/login">登录</a>
<% } %>
</div>
</div>
</div>
</div>
</div>
</nav>
<script>
document.addEventListener('DOMContentLoaded', () => {
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
if ($navbarBurgers.length > 0) {
$navbarBurgers.forEach( el => {
el.addEventListener('click', () => {
const target = el.dataset.target;
const $target = document.getElementById(target);
el.classList.toggle('is-active');
$target.classList.toggle('is-active');
});
});
}
});
</script>
+12
View File
@@ -0,0 +1,12 @@
<h1 class="title is-3 is-4-mobile"><%-page.title%></h1>
<div class="info">
<span class="line">
Tag:
<% page.tag.trim().split(" ").forEach(function (tag) {if (tag !== "") {%>
<a class="tag is-light" href='/tag/<%= tag %>'><%= tag %></a>
<% }}); %>
</span>
<span class="line">Posted on <span class="tag is-light"><%-page.post_time%></span></span>
<span class="line">Edited on <span class="tag is-light"><%-page.edit_time%></span></span>
<span class="line">Views: <span class="tag is-light"><%-page.view%></span></span>
</div>
+34
View File
@@ -0,0 +1,34 @@
<%- include('./partials/header') %>
<div class="narrow-container">
<div>
<h2 class="title">用户注册</h2>
<form action="/register" method="post">
<div class="field">
<label class="label">用户名</label>
<div class="control">
<input class="input" name="username" type="text" required placeholder="请输入用户名">
</div>
</div>
<div class="field">
<label class="label">密码</label>
<div class="control">
<input class="input" name="password" type="password" required placeholder="请输入你的密码">
</div>
</div>
<div class="field is-grouped is-grouped-right">
<div class="control">
<input type="submit" class="button is-light" value="提交">
</div>
<div class="control">
<input type="reset" class="button is-light" value="重置">
</div>
</div>
</form>
</div>
</div>
<%- include('./partials/footer') %>