该示例仅用于公司原生项目
vue、react、flutter之后逐步更新
<!--
* @Author: 付光源
* @Date: 2021-11-09 09:43:27
* @LastEditTime: 2021-12-15 10:25:44
* @LastEditors: Please set LastEditors
* @Description: 模版页面
* @FilePath: /gschool/source/html/web_template.html
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Template</title>
<!-- 开发时将此注释打开-删掉layui样式引入 -->
<!-- <include file="Public/_css" /> -->
<!-- 公共基础样式 -->
<link rel="stylesheet" href="/Public/ysdx-new/css/theme.css">
<!-- 图标库 -->
<link rel="stylesheet" href="/Public/ysdx-new/fonts/ant-design-font.css">
<!-- layui样式 -->
<link rel="stylesheet" type="text/css" href="/public/layui/css/layui.css?_={$STATIC_VERSION|default=0}">
<style>
.bg {
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: -1;
width: 100%;
height: auto;
}
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
.logo {
width: 80px;
height: 80px;
object-fit: contain;
}
.top-item {
position: relative;
flex: 1;
padding: 20px;
}
.sized-box {
width: 20px;
height: 20px;
}
/* 两个及以上相同样式抽离 */
.tab-content {
margin: 10px;
}
</style>
</head>
<body>
<div style="padding: 10px 5%; min-width: 1080px; position: relative;">
<!-- 背景 -->
<img class="bg" src="/Public/ysdx-new/images/bg-icon.png" alt="">
<!-- 头部 -->
<div class="c-row" style="margin: 20px 0;">
<img class="logo" src="/Public/ysdx-new/images/logo-icon.png" alt="">
<span class="c-title-3 c-bold c-gold" style="margin-right: auto;">演示党校</span>
<span class="c-title-2 c-white c-pointer" onclick="window.close()">返回</span>
</div>
<!-- 头部end -->
<div class="c-radius c-shadow c-card" style="overflow: hidden;">
<div class="layui-tab layui-tab-brief">
<ul class="layui-tab-title">
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<div class="tab-content">
<div class="c-column">
<div class="c-title">一级标题</div>
<div class="c-title-2">二级标题</div>
<div class="c-title-3">三级标题</div>
<div class="c-title-4">四级标题</div>
<div class="c-title-5">五级标题</div>
<div class="c-title-6">六级标题</div>
<div class="c-title-7">七级标题</div>
<div class="c-title-8">八级标题</div>
<div class="c-title-9">九级标题</div>
<div class="c-title-10">十级标题</div>
<div class="c-info">这是一个描述</div>
<div class="c-info c-bold">这是一个加粗的描述</div>
<div class="c-info c-ellipsis" style="width: 200px;">这是一个带省略的描述长长长长长长长长长长长长长长长</div>
<div class="c-row" style="margin: 10px 0;">
<button class="layui-btn" onclick="popMessage()">消息</button>
<button class="layui-btn" onclick="popDialog()">弹窗</button>
<button class="layui-btn" onclick="jumpIcon()">
<span class="iconfont icon-antdesign"></span>
图标库
</button>
<button class="layui-btn" onclick="jumpDoc()">
开发规范
</button>
<button class="layui-btn" onclick="jumpLayui()">
layui文档
</button>
</div>
<div class="c-row c-around">
<div class="c-card c-shadow">
阴影卡片
</div>
<div class="c-card c-shadow c-pointer">
阴影手势卡片
</div>
<div class="c-card c-shadow c-radius">
阴影圆角卡片
</div>
<div class="c-card c-blue-bg">
蓝色背景黑色字体卡片
</div>
<div class="c-card c-orange-bg c-white">
橘色背景白色字体卡片
</div>
</div>
<div class="c-row c-between" style="margin-top: 10px;">
<div class="c-card c-blue-bg c-white" style="flex:1">
居两侧
</div>
<div class="c-card c-orange-bg c-white" style="flex:1">
居两侧
</div>
</div>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="tab-content">
内容2
</div>
</div>
<div class="layui-tab-item">
<div class="tab-content">
内容3
</div>
</div>
</div>
</div>
</div>
</div>
</body>
<!-- 开发时将此注释打开-删掉layui及jquery引入 -->
<!-- <include file="Public/_js" /> -->
<script src="/Public/Team/static/js/jquery-2.0.3.min.js?_={$STATIC_VERSION|default=0}"></script>
<script src="/public/layui/layui.js?_={$STATIC_VERSION|default=0}"></script>
<!-- promise兼容IE -->
<script src="/Public/ysdx-new/js/bluebird.js"></script>
<!-- moment时间类库 -->
<script src="__PUBLIC__/ysdx-new/js/moment.min.js"></script>
<!-- api库 -->
<script src="/Public/ysdx-new/api/api.js?_={$STATIC_VERSION|default=0}"></script>
<!-- 在线图标库 -->
<script id="online-icon" src="//at.alicdn.com/t/font_2947624_r77r864mtrr.js"></script>
<!-- 工具类库 -->
<script src="__PUBLIC__/ysdx-new/js/messagebox.js?_={$STATIC_VERSION|default=0}"></script>
<script>
/**
* -----------------------------
* 全局变量
* -----------------------------
*/
var type = '栏目一' // 选中菜单
var menuList = [] // 菜单列表
/**
* @description: 页面初始化方法
* @param {*}
* @return {*}
*/
initPage()
function initPage() {
getList()
}
/**
* -----------------------------
* 渲染方法
* -----------------------------
*/
/**
* @description: 初始化栏目一
* @param {*}
* @return {*}
*/
function initTab1() {}
/**
* @description: 初始化栏目二
* @param {*}
* @return {*}
*/
function initTab2() {}
/**
* @description: 初始化栏目三
* @param {*}
* @return {*}
*/
function initTab3() {}
/**
* @description: 渲染tab栏
* @param {*}
* @return {*}
*/
function initTabList() {
layui.use('element', function () {
var element = layui.element;
var titleHtml = ''
var contentHtml = ''
menuList.forEach(function (item) {
titleHtml += '<li class="' + item.titleClass + '" onclick="changeTab(this)">' + item
.label + '</li>'
});
$('.layui-tab-title').html(titleHtml)
});
}
/**
* -----------------------------
* 逻辑方法
* -----------------------------
*/
/**
* @description: tab栏数据处理
* @param {*}
* @return {*}
*/
function formatTabList() {
menuList[0].titleClass = 'layui-this'
menuList.forEach(function (item) {
item.label = item.title
});
initTabList()
}
/**
* -----------------------------
* 事件方法
* -----------------------------
*/
/**
* @description: tab栏切换
* @param {*} evt
* @return {*}
*/
function changeTab(evt) {
type = $(evt).text()
checkTab()
}
/**
* @description: tab栏数据渲染
* @param {*}
* @return {*}
*/
function checkTab() {
switch (type) {
case '栏目一':
initTab1()
break;
case '栏目二':
initTab2()
break;
case '栏目三':
initTab3()
break;
default:
break;
}
}
/**
* @description: 消息提示
* @param {*}
* @return {*}
*/
function popMessage() {
layer.msg('这是消息')
}
/**
* @description: 需要确定的弹窗
* @param {*}
* @return {*}
*/
function popDialog() {
var html = '<div>这是正文</div>'
layer.open({
title: '这是弹窗',
content: html,
area: ['400px', '200px'], // 宽 高
btn: ['确定', '取消'],
success: function (layero, index) {
console.log('加载完成回调')
},
yes: function (index, layero) {
console.log('这是确定')
layer.close(index) // 关闭弹窗
},
btn2: function (index, layero) {
console.log('这是取消')
}
});
}
/**
* @description: 图标库查看
* @param {*}
* @return {*}
*/
function jumpIcon() {
window.open(
'https://at.alicdn.com/t/project/2429575/d51dfce8-1748-4ce8-b073-b4fcb5b904de.html?spm=a313x.7781069.1998910419.36'
)
}
/**
* @description: 前端开发规范查看
* @param {*}
* @return {*}
*/
function jumpDoc() {
window.open('https://www.yuque.com/chanow/web')
}
/**
* @description: layui文档查看
* @param {*}
* @return {*}
*/
function jumpLayui() {
window.open('https://layui.org.cn/doc/modules/element.html')
}
/**
* -----------------------------
* 请求方法
* -----------------------------
*/
/**
* @description: 请求tab栏数据
* @param {*}
* @return {*}
*/
function getList() {
// 接口测试-所有接口写在api.js文件里
getTest().then(function (res) {
console.log(res)
}).catch(function (err) {
console.log(err)
})
// 模拟数据获取
setTimeout(function () {
menuList = [{
id: 1,
title: '栏目一',
},
{
id: 2,
title: '栏目二',
},
{
id: 3,
title: '栏目三',
},
]
formatTabList()
}, 1000);
}
</script>
</html>