366 lines
25 KiB
HTML
366 lines
25 KiB
HTML
<!DOCTYPE html>
|
||
<html class="x-admin-sm">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>银河锋锐工作室账户后台系统</title>
|
||
<meta name="renderer" content="webkit">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||
<link rel="stylesheet" href="/css/font.css">
|
||
<link rel="stylesheet" href="/css/xadmin.css">
|
||
<link rel="stylesheet" href="/css/win10ui.css">
|
||
<link rel="stylesheet" href="/css/theme.css">
|
||
<script type="text/javascript" src="/lib/layui/layui.js" charset="utf-8"></script>
|
||
<script type="text/javascript" src="/js/xadmin.js"></script>
|
||
<!--[if lt IE 9]>
|
||
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
|
||
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
|
||
<![endif]-->
|
||
<script>window.breadcrumbs = [{name: "首页", url: ""},{name: "用户", url: ""},{name: "个人主页设置"}];</script>
|
||
<script src="/js/address.bar.js"></script>
|
||
<style>
|
||
.layui-form-label {
|
||
width: 110px !important;
|
||
}
|
||
.layui-input-block {
|
||
margin-left: 140px !important;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="layui-fluid">
|
||
<div class="layui-row layui-col-space15">
|
||
<div class="layui-col-md12">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">个人主页设置</div>
|
||
<div class="layui-card-body ">
|
||
<form action="" id="config">
|
||
<div class="layui-form">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">子域名前缀</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="PersonalPageName" lay-verify="required" placeholder="(仅可使用字母、数字和下划线)"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">副标题</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Subtitle" lay-verify="required" placeholder="(仅可使用字母、数字和下划线)"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">背景链接</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="BackgroundLink" lay-verify="required" placeholder="(仅可使用字母、数字和下划线)"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">分类</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Classification" lay-verify="required" placeholder="XX软件工程师 | XX爱好者 | XX教练"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">GitHub联系方式</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Github" lay-verify="required" placeholder="https://github.com/XXXXXX"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">WeChat联系方式</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="WeChat" lay-verify="required" placeholder="wxid_1234567890"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">QQ联系方式</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="QQ" lay-verify="required" placeholder="30000000"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">自我介绍</label>
|
||
<div class="layui-input-block">
|
||
<textarea name="SelfIntroduction" placeholder="一个略微长的自我介绍,不支持markdown,约200字即可,如:我是XXX,我XXX..." class="layui-textarea"
|
||
style="min-height: 150px;"></textarea>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">项目经验</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="ProjectExperience" lay-verify="required" placeholder="做过多少项目呢...纯数字"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">满意客户</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="SatisfiedCustomers" lay-verify="required" placeholder="有多少满意的客户呢...纯数字"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">获得奖项</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="ReceiveAward" lay-verify="required" placeholder="获得过多少奖项呢...纯数字"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">咖啡杯数</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="CoffeeCups" lay-verify="required" placeholder="受过多少捐赠呢...纯数字"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就图标</label>
|
||
<div class="layui-input-block">
|
||
<span>成就系列图标使用Font Awesome,直接输入fa名称,参考<a href="https://fontawesome.p2hp.com/faicons.html" target="_blank" style="color: #1900ff">Font Awesome The Icons</a>以了解使用</span>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就1图标</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement1Icon" lay-verify="required" placeholder="fa-trophy 奖杯"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就1名称</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement1Name" lay-verify="required" placeholder="最佳开发者奖"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就1时间</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement1Time" lay-verify="required" placeholder="2025年"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就1介绍</label>
|
||
<div class="layui-input-block">
|
||
<textarea name="Achievement1Introduction" placeholder="年度公司最佳开发者,表彰在多个关键项目中的杰出贡献和技术领导力。" class="layui-textarea"
|
||
style="min-height: 150px;"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就2图标</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement2Icon" lay-verify="required" placeholder="fa-award 徽章"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就2名称</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement2Name" lay-verify="required" placeholder="年度风云人物"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就2时间</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement2Time" lay-verify="required" placeholder="2025年"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就2介绍</label>
|
||
<div class="layui-input-block">
|
||
<textarea name="Achievement2Introduction" placeholder="因在产品中引入创新技术解决方案,显著提升了用户体验和系统性能而获奖。" class="layui-textarea"
|
||
style="min-height: 150px;"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就3图标</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement3Icon" lay-verify="required" placeholder="fa-certificate 证书"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就3名称</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement3Name" lay-verify="required" placeholder="认证工程师"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就3时间</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement3Time" lay-verify="required" placeholder="2025年"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就3介绍</label>
|
||
<div class="layui-input-block">
|
||
<textarea name="Achievement3Introduction" placeholder="通过了行业认可的高级前端开发工程师认证,证明了在前端技术领域的专业能力。" class="layui-textarea"
|
||
style="min-height: 150px;"></textarea>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就4图标</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement4Icon" lay-verify="required" placeholder="fa-users 用户组"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就4名称</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement4Name" lay-verify="required" placeholder="开源贡献者"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就4时间</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Achievement4Time" lay-verify="required" placeholder="2025年"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">成就4介绍</label>
|
||
<div class="layui-input-block">
|
||
<textarea name="Achievement4Introduction" placeholder="为多个知名开源项目做出重要贡献,获得社区认可和感谢。" class="layui-textarea"
|
||
style="min-height: 150px;"></textarea>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">标签</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="Tags" lay-verify="required" placeholder="Python,C,C++(英文逗号分隔)"
|
||
autocomplete="off" class="layui-input">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">自定义markdown</label>
|
||
<div class="layui-input-block">
|
||
<textarea name="MarkDown" placeholder="自定义markdown,# 你好" class="layui-textarea"
|
||
style="min-height: 150px; height: 700px"></textarea>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<button type="submit" class="layui-btn">立即提交</button>
|
||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<script>
|
||
var loadIndex = layer.load(2);
|
||
document.getElementById('config').addEventListener('submit', function(event) {
|
||
var loadIndexl = layer.load(2);
|
||
event.preventDefault();
|
||
const formData = new FormData(this);
|
||
fetch('/api/gerp/personal-page/config/', {
|
||
method: 'POST',
|
||
body: formData
|
||
})
|
||
.then(response => {
|
||
layer.close(loadIndexl);
|
||
if (!response.ok) {throw new Error(`HTTP error! status: ${response.status}`)}
|
||
return response.json();
|
||
})
|
||
.then(data => {
|
||
if (data.code === 0) {
|
||
Toast.success('配置变更操作', data.msg, 3000);
|
||
} else if (data.code === 1) {
|
||
Toast.error('配置变更操作', `操作失败,错误:${data.msg}`, 3000);
|
||
console.error('错误详情:', data.msg);
|
||
}
|
||
return data;
|
||
})
|
||
.catch(error => {
|
||
Toast.error('配置变更操作', `请求失败,错误:${error}`, 3000);
|
||
});
|
||
});
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
layui.use(['form', 'laydate'], function () {
|
||
$ = layui.jquery;
|
||
var form = layui.form;
|
||
var layer = layui.layer;
|
||
var laydate = layui.laydate;
|
||
fetch('/api/gerp/personal-page/config/', {
|
||
method: 'GET',
|
||
mode: 'cors',
|
||
credentials: 'include'
|
||
})
|
||
.then(response => {return response.json()})
|
||
.then(data => {
|
||
if (data.code == 1) {Toast.unknown("配置获取操作", data.msg)} else {
|
||
data=data.data;
|
||
$('input[name="PersonalPageName"]').val(data.PersonalPageName);
|
||
$('input[name="Subtitle"]').val(data.Subtitle);
|
||
$('input[name="BackgroundLink"]').val(data.BackgroundLink);
|
||
$('input[name="Classification"]').val(data.Classification);
|
||
$('input[name="Github"]').val(data.Github);
|
||
$('input[name="WeChat"]').val(data.WeChat);
|
||
$('input[name="QQ"]').val(data.QQ);
|
||
$('textarea[name="SelfIntroduction"]').val(data.SelfIntroduction);
|
||
$('input[name="ProjectExperience"]').val(data.ProjectExperience);
|
||
$('input[name="SatisfiedCustomers"]').val(data.SatisfiedCustomers);
|
||
$('input[name="ReceiveAward"]').val(data.ReceiveAward);
|
||
$('input[name="CoffeeCups"]').val(data.CoffeeCups);
|
||
$('input[name="Achievement1Icon"]').val(data.Achievement1Icon);
|
||
$('input[name="Achievement1Name"]').val(data.Achievement1Name);
|
||
$('input[name="Achievement1Time"]').val(data.Achievement1Time);
|
||
$('textarea[name="Achievement1Introduction"]').val(data.Achievement1Introduction);
|
||
$('input[name="Achievement2Icon"]').val(data.Achievement2Icon);
|
||
$('input[name="Achievement2Name"]').val(data.Achievement2Name);
|
||
$('input[name="Achievement2Time"]').val(data.Achievement2Time);
|
||
$('textarea[name="Achievement2Introduction"]').val(data.Achievement2Introduction);
|
||
$('input[name="Achievement3Icon"]').val(data.Achievement3Icon);
|
||
$('input[name="Achievement3Name"]').val(data.Achievement3Name);
|
||
$('input[name="Achievement3Time"]').val(data.Achievement3Time);
|
||
$('textarea[name="Achievement3Introduction"]').val(data.Achievement3Introduction);
|
||
$('input[name="Achievement4Icon"]').val(data.Achievement4Icon);
|
||
$('input[name="Achievement4Name"]').val(data.Achievement4Name);
|
||
$('input[name="Achievement4Time"]').val(data.Achievement4Time);
|
||
$('input[name="Achievement4Introduction"]').val(data.Achievement4Introduction);
|
||
$('input[name="Tags"]').val(data.Tags);
|
||
$('textarea[name="MarkDown"]').val(data.MarkDown);
|
||
form.render();
|
||
}
|
||
})
|
||
.catch(error => {
|
||
console.log('error: ' + error.toString());
|
||
Toast.error('配置获取操作', `获取用户基本信息出错,错误:${error.toString()}`, 3000);
|
||
});
|
||
layer.close(loadIndex);
|
||
});
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |