上传文件至 /

This commit is contained in:
2025-10-17 23:26:43 +08:00
parent 5e459e79ea
commit 38556ae743
5 changed files with 691 additions and 0 deletions

BIN
bbg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

311
inde.php Normal file
View File

@@ -0,0 +1,311 @@
<?php
include_once "./Main/Hv4.Function.php";
$TestSql = 数据库运行("SELECT * FROM `users`;");
if (!$TestSql) {
die("Error:服务器错误");
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FuxBms 业务管理系统</title>
<script src="https://cdn.fss.fuxsto.cn/d/ajax/libs/eruda/eruda.js"></script>
<script>eruda.init();</script>
<script src="https://cdn.fss.fuxsto.cn/d/axios@1.7.9/dist/axios.min.js"></script>
<script src="https://cdn.fss.fuxsto.cn/d/vue@3/dist/vue.global.js"></script>
<script src="https://cdn.fss.fuxsto.cn/d/npm/@varlet/touch-emulator/iife.js"></script>
<script src="https://cdn.fss.fuxsto.cn/d/npm/@varlet/ui/umd/varlet.js"></script>
<style>
body {
transition: background-color .5s, color .5s;
color: var(--color-text);
background-color: var(--color-body);
color-scheme: var(--color-scheme);
}
/* 页面切换时模糊和透明度的效果 */
.fade-blur-enter-active, .fade-blur-leave-active {
transition: opacity .5s ease, filter .5s ease, transform .5s ease;
}
.fade-blur-enter, .fade-blur-leave-to {
position: absolute;/* 保持原来的宽度 */
width: 100%;
opacity: 0;
filter: blur(100px);
transform: translateX(-100%);
}
.fade-blur-enter-to, .fade-blur-leave {
opacity: 1;
filter: blur(0px);
}
@keyframes min {
0% {
transform: translateX(100%);
opacity: 0;
filter: blur(100px);
}
100% {
transform: translateX(0%);
opacity: 1;
filter: blur(0px);
}
}
@keyframes gmin {
0% {
transform: translateX(0%);
opacity: 1;
filter: blur(0px);
}
100% {
transform: translateX(100%);
opacity: 0;
filter: blur(100px);
}
}
.min {
animation: min 0.5s ease;
}
</style>
</head>
<body id="app">
<var-space direction="column" size="large">
<var-loading size="large" type="wave" :description="loading_d" :loading="loading">
<var-sticky :offset-top="8">
<var-app-bar round :title="title">
<template #left>
<var-menu>
<var-button
color="transparent"
text-color="#fff"
round
text
>
<var-icon name="menu" :size="24" />
</var-button>
<template #menu>
<var-cell @click="this.page = 'www'" ripple>主页</var-cell>
<div v-if="UserInfo">
<var-cell @click="this.page = 'home';getinfo()" ripple>用户中心</var-cell>
<var-cell @click="this.page = 'cart';viewcart()" ripple>商品列表</var-cell><var-cell @click="this.page = 'purchases';getpurchases()" ripple>业务管理</var-cell>
</div>
</template>
</var-menu>
</template>
<template #right>
<var-menu>
<var-button
color="transparent"
text-color="#fff"
round
text
>
<var-icon name="palette" :size="24" />
</var-button>
<template #menu>
<var-cell @click="switchToCustomTheme" ripple>默认主题</var-cell>
<var-cell @click="switchToM3LightTheme" ripple>MD3.Light</var-cell>
<var-cell @click="switchToM3DarkTheme" ripple>MD3.Dark</var-cell>
<var-cell @click="switchToM2LightTheme" ripple>MD2.Light</var-cell>
<var-cell @click="switchToM2DarkTheme" ripple>MD2.Dark</var-cell>
</template>
</var-menu>
</template>
</var-app-bar>
</var-sticky>
<br>
<transition name="fade-blur">
<div class="min" v-if="page == 'www'">
<var-card
src="./bbg.png"
description="从V1到V5,新的版本新的起点"
>
<h1 #title>Fuxsto Host<var-badge type="info" value="V5" /></h1>
<h2 #subtitle>业务管理系统</h2>
<template #extra>
<var-button @click="login" type="primary">开始</var-button>
</template>
</var-card>
</div>
<div class="min" v-if="page == 'home'">
<var-space direction="column" size="large">
<var-card
:title="UserInfo.username"
:subtitle="'用户ID: '+UserInfo.id"
:src="userlogo"
layout="row"
>
<template #extra>
<transition name="fade-blur">
<var-button v-if="UserInfo.can_check" text outline @click="checkin" type="primary">签到</var-button>
</transition>
</template>
</var-card>
<var-row :gutter="[10, 10]">
<var-col :span="8">
<var-card
:title='UserInfo.score'
subtitle='积分'/>
</var-col>
<var-col :span="8">
<var-card
:title='UserInfo.balance'
subtitle='余额'/>
</var-col>
<var-col :span="8">
<var-card
:title='UserInfo.status'
subtitle='状态'/>
</var-col>
</var-row>
</var-space>
</div>
<div class="min" v-if="page == 'cart'">
<var-space direction="column" size="large">
<var-select placeholder="请选择分类" v-model="cart_fid">
<var-option v-for="(categories, category1) in cart" :label="category1" />
</var-select>
<var-select class="min" v-if="cart_fid" placeholder="请选择分类" v-model="cart_sid">
<var-option v-for="(item, category2) in cart[cart_fid]" :label="category2" />
</var-select>
<var-space v-if="cart_fid && cart_sid" direction="column" size="large">
<var-card
v-for="item in cart[cart_fid][cart_sid]"
class="min"
:title="item.name"
:subtitle="'🎁库存:'+item.stock">
<div v-html="item.description"></div>
<template #extra>
<var-badge position="left-top" type="info" :value="'限'+item.limit_per_user+'个'"><var-button text outline type="primary">{{ item.price }} {{ item.currency_type }} / {{ item.subscription_period }} 天</var-button></var-badge>
<var-divider vertical></var-divider>
<var-button @click="buygoods(item.product_id)" type="primary">购买</var-button>
</template>
</var-card>
</var-space>
</var-space>
</div>
<div class="min" v-if="page == 'purchases'">
<var-table>
<thead>
<tr>
<th>名称</th>
<th>ID</th>
<th>状态</th>
</tr>
</thead>
<tbody>
<tr>
<td>123</td>
<td>456</td>
<td>789</td>
</tr>
</tbody>
</var-table>
</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</transition>
</var-loading>
</var-space>
</body>
<script src="app.js"></script>
</html>

380
index.html Normal file
View File

@@ -0,0 +1,380 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fuxsto Host V5 - 公益虚拟主机服务</title>
<style>
:root {
--primary: #FF6D41;
--secondary: #FF9F6D;
--surface: linear-gradient(15deg, #FFF8F5 0%, #FFF0EB 100%);
--on-surface: #2D2D2D;
--border: rgba(0,0,0,0.1);
--shadow: 0 12px 40px rgba(0,0,0,0.08);
}
@keyframes float {
0% { transform: translateY(0px); }
50% { transform: translateY(-8px); }
100% { transform: translateY(0px); }
}
body {
font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
margin: 0;
background: #fafafa;
color: #666;
line-height: 1.6;
}
.container {
max-width: 680px;
margin: 0 auto;
padding: 6vh 20px;
}
.card {
background: var(--surface);
border-radius: 32px;
padding: 56px;
box-shadow: var(--shadow);
margin-bottom: 40px;
transition: transform 0.3s ease;
position: relative;
overflow: hidden;
}
.card::before {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, var(--primary) 0%, transparent 70%);
opacity: 0.05;
pointer-events: none;
}
.card:hover {
transform: translateY(-4px);
}
.section-header {
text-align: center;
padding: 48px 0;
position: relative;
}
.badge {
display: inline-flex;
align-items: center;
background: linear-gradient(45deg, var(--primary), var(--secondary));
padding: 14px 32px;
border-radius: 32px;
font-weight: 600;
color: white;
box-shadow: 0 6px 20px rgba(255,109,65,0.2);
animation: float 3s ease-in-out infinite;
}
h1 {
font-size: 40px;
color: var(--on-surface);
margin: 32px 0;
line-height: 1.2;
letter-spacing: -0.03em;
}
.border-left {
border-left: 4px solid var(--primary);
padding: 16px 0 16px 32px;
margin: 48px 0;
position: relative;
}
.border-left::before {
content: "";
position: absolute;
left: -4px;
top: 50%;
width: 8px;
height: 60%;
background: var(--surface);
transform: translateY(-50%);
}
.feature-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin: 40px 0;
}
.feature-item {
text-align: center;
padding: 24px;
background: rgba(255,255,255,0.8);
border-radius: 16px;
backdrop-filter: blur(8px);
}
.feature-icon {
font-size: 32px;
color: var(--primary);
margin-bottom: 16px;
display: inline-block;
transition: transform 0.3s ease;
}
.button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 20px 0px;
background: linear-gradient(45deg, var(--primary), var(--secondary));
color: white;
text-decoration: none;
border-radius: 16px;
font-weight: 700;
transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
width: 100%;
position: relative;
overflow: hidden;
}
.button::after {
content: '';
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: rgba(255,255,255,0.1);
transform: translate(20%, 20%) rotate(45deg);
transition: all 0.5s ease;
}
.button:hover::after {
transform: translate(-20%, -20%) rotate(45deg);
}
.timeline {
position: relative;
padding-left: 32px;
}
.timeline::before {
content: '';
position: absolute;
left: 7px;
top: 8px;
height: calc(100% - 16px);
width: 2px;
background: var(--border);
}
.timeline-item {
position: relative;
padding-left: 32px;
margin-bottom: 32px;
}
.timeline-item::before {
content: '';
position: absolute;
left: 0;
top: 6px;
width: 14px;
height: 14px;
background: var(--primary);
border-radius: 50%;
border: 3px solid white;
box-shadow: 0 0 0 2px var(--primary);
}
.footer {
text-align: center;
color: #888;
padding: 64px 0 32px;
}
@media (max-width: 640px) {
.container {
padding: 4vh 16px;
}
.card {
padding: 32px;
border-radius: 24px;
}
h1 {
font-size: 32px;
}
.feature-grid {
grid-template-columns: 1fr;
}
}
</style>
</head>
<body>
<div class="container">
<!-- Header -->
<div class="section-header">
<div class="badge">
<svg style="margin-right: 12px;" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path>
</svg>
Fly Me To The Moon
</div>
</div>
<!-- Main Card -->
<div class="card">
<h1>
<span style="background: linear-gradient(45deg, var(--primary), var(--secondary)); -webkit-background-clip: text; -webkit-text-fill-color: transparent;">
Fuxsto Host V5
</span>
<div style="font-size: 24px; color: #888; margin-top: 16px;">公益虚拟主机服务</div>
</h1>
<div class="border-left">
<div style="display: flex; align-items: center; gap: 24px; margin-bottom: 24px;">
<div class="feature-icon">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
</svg>
</div>
<div>
<div style="color: #888; font-size: 14px;">持续运行</div>
<div style="font-size: 28px; color: var(--on-surface); font-weight: 700;">1000+ 天</div>
</div>
</div>
<div style="display: flex; align-items: center; gap: 24px;">
<div class="feature-icon">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"></path>
</svg>
</div>
<div>
<div style="color: #888; font-size: 14px;">服务用户</div>
<div style="font-size: 28px; color: var(--primary); font-weight: 700;">1000+</div>
</div>
</div>
</div>
<div class="feature-grid">
<div class="feature-item">
<div class="feature-icon">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path>
<path d="M19 10v2a7 7 0 0 1-14 0v-2"></path>
<line x1="12" y1="19" x2="12" y2="23"></line>
<line x1="8" y1="23" x2="16" y2="23"></line>
</svg>
</div>
<h3 style="margin: 0 0 8px; color: var(--on-surface);">公益性质</h3>
<p style="margin: 0; font-size: 14px;">一切收费都为了免费</p>
</div>
<div class="feature-item">
<div class="feature-icon">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect>
<path d="M7 11V7a5 5 0 0 1 10 0v4"></path>
</svg>
</div>
<h3 style="margin: 0 0 8px; color: var(--on-surface);">企业防护</h3>
<p style="margin: 0; font-size: 14px;">多层安全防护</p>
</div>
<div class="feature-item">
<div class="feature-icon">
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path>
<path d="M13.73 21a2 2 0 0 1-3.46 0"></path>
</svg>
</div>
<h3 style="margin: 0 0 8px; color: var(--on-surface);">技术支持</h3>
<p style="margin: 0; font-size: 14px;">24/7 在线支持</p>
</div>
</div>
<a href="Dashboard" class="button">
<svg style="margin-right: 12px;" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path>
<polyline points="22,6 12,13 2,6"></polyline>
</svg>
立即开始
</a>
</div>
<!-- Version Timeline -->
<div class="card">
<h3 style="margin: 0 0 32px; font-size: 24px; color: var(--on-surface);">
<svg style="margin-right: 12px;" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="10"></circle>
<polyline points="12 6 12 12 16 14"></polyline>
</svg>
版本历程
</h3>
<div class="timeline">
<div class="timeline-item">
<strong style="display: block; color: var(--on-surface);">V5 - 2025</strong>
<p style="margin: 8px 0 0; color: #888;">代号 BMS 全面架构升级数据库性能提升300%</p>
</div>
<div class="timeline-item">
<strong style="display: block; color: var(--on-surface);">V4 - 2024</strong>
<p style="margin: 8px 0 0; color: #888;">代号 CMS 推出全新系统预览版</p>
</div>
<div class="timeline-item">
<strong style="display: block; color: var(--on-surface);">V3 - 2024</strong>
<p style="margin: 8px 0 0; color: #888;">最新正式版! 工单客服已上线!</p>
</div>
<div class="timeline-item">
<strong style="display: block; color: var(--on-surface);">V2 - 2023</strong>
<p style="margin: 8px 0 0; color: #888;">全新的UI! 架构升级! 重构至V3</p>
</div>
<div class="timeline-item">
<strong style="display: block; color: var(--on-surface);">V1 - 2022</strong>
<p style="margin: 8px 0 0; color: #888;">梦开始的地方! 已停止,永远悼念.</p>
</div>
</div>
</div>
<!-- Footer -->
<div class="footer">
<div style="display: flex; justify-content: center; gap: 24px; margin-bottom: 24px;">
<a href="mailto:admin@fuxsto.cn" style="color: #888; text-decoration: none;">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path>
<polyline points="22,6 12,13 2,6"></polyline>
</svg>
</a>
<a href="" style="color: #888; text-decoration: none;">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path>
</svg>
</a>
<a href="" style="color: #888; text-decoration: none;">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path>
</svg>
</a>
</div>
<p style="margin: 0 0 8px; font-size: 14px;">© 2025 Fuxsto Host Service</p>
<p style="margin: 0; font-size: 14px; color: var(--primary);">
<svg style="margin-right: 8px;" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path>
<circle cx="9" cy="7" r="4"></circle>
<path d="M23 21v-2a4 4 0 0 0-3-3.87"></path>
<path d="M16 3.13a4 4 0 0 1 0 7.75"></path>
</svg>
公益服务 · 匠心传承
</p>
</div>
</div>
</body>
</html>

BIN
index.js Normal file

Binary file not shown.