新增广告支持
广告html还没做
This commit is contained in:
parent
03e5f36795
commit
e65bae23ad
@ -1,10 +1,126 @@
|
|||||||
package com.yutou.tools.ad;
|
package com.yutou.tools.ad;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.yutou.tools.sqlite.ADSQLiteManager;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
|
import java.text.ParsePosition;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("ad/")
|
@RequestMapping("ad/")
|
||||||
public class AdController {
|
public class AdController {
|
||||||
|
|
||||||
|
@RequestMapping("addApp.do")
|
||||||
|
@ResponseBody
|
||||||
|
public String addApp(String packageName, String appName) {
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
ADSQLiteManager manager = ADSQLiteManager.getInstance();
|
||||||
|
json.put("code", 0);
|
||||||
|
json.put("data", manager.addAppData(appName, packageName));
|
||||||
|
return json.toJSONString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("addAppAd.do")
|
||||||
|
@ResponseBody
|
||||||
|
public String addAppAd(String appId, String adSrc, String adAppId, String adAppKey, String adOpenKey, String adInterKey,
|
||||||
|
String adBannerKey, String adVideoKey, String adNativeKey) {
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
ADSQLiteManager manager = ADSQLiteManager.getInstance();
|
||||||
|
json.put("code", 0);
|
||||||
|
json.put("data", manager.addAdData(appId, adSrc, adAppId, adAppKey, adOpenKey, adInterKey, adBannerKey, adVideoKey, adNativeKey));
|
||||||
|
return json.toJSONString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("addAdLog.do")
|
||||||
|
@ResponseBody
|
||||||
|
public String addLog(String appId, String src, String type, String model) {
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
ADSQLiteManager manager = ADSQLiteManager.getInstance();
|
||||||
|
json.put("code", 0);
|
||||||
|
json.put("data", manager.addLog(appId, src, type, model));
|
||||||
|
return json.toJSONString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("getAppAd.do")
|
||||||
|
@ResponseBody
|
||||||
|
public String getAppAd(String appId, String packageName) {
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
if (StringUtils.isEmpty(appId) && StringUtils.isEmpty(packageName)) {
|
||||||
|
json.put("code", -1);
|
||||||
|
json.put("msg", "参数为空");
|
||||||
|
json.put("data", "");
|
||||||
|
return json.toJSONString();
|
||||||
|
}
|
||||||
|
ADSQLiteManager manager = ADSQLiteManager.getInstance();
|
||||||
|
json.put("code", 0);
|
||||||
|
if (StringUtils.isEmpty(appId)) {
|
||||||
|
json.put("data", manager.getAdDataOfPackageName(packageName));
|
||||||
|
} else {
|
||||||
|
json.put("data", manager.getAdData(appId));
|
||||||
|
}
|
||||||
|
return json.toJSONString();
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping("getApp.do")
|
||||||
|
@ResponseBody
|
||||||
|
public String getApp(String appName, String packageName) {
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
json.put("code", 0);
|
||||||
|
ADSQLiteManager manager = ADSQLiteManager.getInstance();
|
||||||
|
if (StringUtils.isEmpty(appName) && StringUtils.isEmpty(packageName)) {
|
||||||
|
json.put("data", manager.getAllApp());
|
||||||
|
return json.toJSONString();
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(appName)) {
|
||||||
|
json.put("data", manager.getAppOfPackageName(packageName));
|
||||||
|
} else {
|
||||||
|
json.put("data", manager.getAppOfAppName(appName));
|
||||||
|
}
|
||||||
|
return json.toJSONString();
|
||||||
|
}
|
||||||
|
@RequestMapping("getAdLog.do")
|
||||||
|
@ResponseBody
|
||||||
|
public String getLog(String appId, String startTime, String endTime) {
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
if (StringUtils.isEmpty(appId)) {
|
||||||
|
json.put("code", -1);
|
||||||
|
json.put("msg", "AppId为空");
|
||||||
|
return json.toJSONString();
|
||||||
|
}
|
||||||
|
String st = null;
|
||||||
|
String et = null;
|
||||||
|
//开始时间为空,则给当日开始时时间
|
||||||
|
if (StringUtils.isEmpty(startTime) || (StringUtils.isEmpty(startTime) && StringUtils.isEmpty(endTime))) {
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
calendar.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
calendar.set(Calendar.MINUTE, 0);
|
||||||
|
calendar.set(Calendar.SECOND, 0);
|
||||||
|
st = calendar.getTimeInMillis() + "";
|
||||||
|
}
|
||||||
|
//结束时间为空则取当前时间
|
||||||
|
if (StringUtils.isEmpty(endTime)) {
|
||||||
|
et = System.currentTimeMillis() + "";
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if (st == null) {
|
||||||
|
st = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).parse(startTime).getTime() + "";
|
||||||
|
}
|
||||||
|
if (et == null) {
|
||||||
|
et = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).parse(endTime).getTime() + "";
|
||||||
|
}
|
||||||
|
ADSQLiteManager manager = ADSQLiteManager.getInstance();
|
||||||
|
json.put("data", manager.getLog(appId, st, et));
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return json.toJSONString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
214
src/main/java/com/yutou/tools/sqlite/ADSQLiteManager.java
Normal file
214
src/main/java/com/yutou/tools/sqlite/ADSQLiteManager.java
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
package com.yutou.tools.sqlite;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class ADSQLiteManager extends SQLiteManager {
|
||||||
|
private static ADSQLiteManager manager;
|
||||||
|
|
||||||
|
public static ADSQLiteManager getInstance() {
|
||||||
|
if (manager == null) {
|
||||||
|
manager = new ADSQLiteManager();
|
||||||
|
}
|
||||||
|
return manager;
|
||||||
|
}
|
||||||
|
|
||||||
|
private ADSQLiteManager() {
|
||||||
|
super();
|
||||||
|
JSONObject json = JSONObject.parseObject("{\"file\":\"ad.db\",\"table\":[{\"name\":\"app\",\"item\":[{\"name\":\"id\",\"type\":\"int\",\"isNull\":false,\"isKey\":true},{\"name\":\"appName\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"packageName\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"appId\",\"type\":\"String\",\"isNull\":false,\"isKey\":false}]},{\"name\":\"app_ad\",\"item\":[{\"name\":\"id\",\"type\":\"int\",\"isNull\":false,\"isKey\":true},{\"name\":\"appId\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"adSrc\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"adAppId\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"adAppKey\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"adOpenKey\",\"type\":\"String\",\"isNull\":true,\"isKey\":false},{\"name\":\"adInterKey\",\"type\":\"String\",\"isNull\":true,\"isKey\":false},{\"name\":\"adBannerKey\",\"type\":\"String\",\"isNull\":true,\"isKey\":false},{\"name\":\"adVideoKey\",\"type\":\"String\",\"isNull\":true,\"isKey\":false},{\"name\":\"adNativeKey\",\"type\":\"String\",\"isNull\":true,\"isKey\":false}]},{\"name\":\"ad_log\",\"item\":[{\"name\":\"id\",\"type\":\"int\",\"isNull\":false,\"isKey\":true},{\"name\":\"appId\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"adSrc\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"adType\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"model\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"subtime\",\"type\":\"String\",\"isNull\":false,\"isKey\":false}]}]}");
|
||||||
|
build(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean addAdData(String appId, String adSrc, String adAppId, String adAppKey, String adOpenKey, String adInterKey,
|
||||||
|
String adBannerKey, String adVideoKey, String adNativeKey) {
|
||||||
|
try {
|
||||||
|
if (getAdData(appId) != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Statement statement = conn.createStatement();
|
||||||
|
String sql = "insert into `app_ad` (`appId`,`adSrc`,`adAppId`,`adAppKey`,`adOpenKey`,`adInterKey`,`adBannerKey`,`adVideoKey`,`adNativeKey`) values " +
|
||||||
|
"('" + appId + "','" + adSrc + "','" + adAppId + "','" + adAppKey + "','" + adOpenKey + "','" + adInterKey + "','" + adBannerKey + "','" + adVideoKey + "','" + adNativeKey + "');";
|
||||||
|
boolean flag = statement.execute(sql);
|
||||||
|
statement.close();
|
||||||
|
return flag;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean addLog(String appId, String src, String type, String model) {
|
||||||
|
try {
|
||||||
|
Statement statement = conn.createStatement();
|
||||||
|
String sql = "insert into `ad_log` (`appId`,`adSrc`,`adType`,`model`,`subtime`) values ('" + appId + "','" + src + "','" + type
|
||||||
|
+ "','" + model + "','" + System.currentTimeMillis() + "'); ";
|
||||||
|
boolean flag = statement.execute(sql);
|
||||||
|
statement.close();
|
||||||
|
return flag;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String addAppData(String appName, String packageName) {
|
||||||
|
try {
|
||||||
|
if (getAppOfPackageName(packageName) != null) {
|
||||||
|
return getAppOfPackageName(packageName).getString("appId");
|
||||||
|
}
|
||||||
|
Statement statement = conn.createStatement();
|
||||||
|
String appId = UUID.randomUUID().toString();
|
||||||
|
String sql = "insert into `app`(`appName`,`packageName`,`appId`) values ('" + appName + "','" + packageName + "','" + appId + "')";
|
||||||
|
statement.execute(sql);
|
||||||
|
statement.close();
|
||||||
|
return appId;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONObject getAdData(String appId) {
|
||||||
|
try {
|
||||||
|
Statement statement = conn.createStatement();
|
||||||
|
String sql = "select * from `app_ad` where `appId`='" + appId + "';";
|
||||||
|
return getData(statement, sql);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONObject getAdDataOfPackageName(String packageName) {
|
||||||
|
|
||||||
|
try {
|
||||||
|
Statement statement = conn.createStatement();
|
||||||
|
String sql = "select * from `app_ad` where `packageName`='" + packageName + "';";
|
||||||
|
return getData(statement, sql);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private JSONObject getData(Statement statement, String sql) throws SQLException {
|
||||||
|
JSONObject json=null;
|
||||||
|
ResultSet set = statement.executeQuery(sql);
|
||||||
|
if (set.next()) {
|
||||||
|
json=new JSONObject();
|
||||||
|
json.put("appId", set.getString("appId"));
|
||||||
|
json.put("adSrc", set.getString("adSrc"));
|
||||||
|
json.put("adAppId", set.getString("adAppId"));
|
||||||
|
json.put("adAppKey", set.getString("adAppKey"));
|
||||||
|
json.put("adOpenKey", set.getString("adOpenKey"));
|
||||||
|
json.put("adInterKey", set.getString("adInterKey"));
|
||||||
|
json.put("adBannerKey", set.getString("adBannerKey"));
|
||||||
|
json.put("adVideoKey", set.getString("adVideoKey"));
|
||||||
|
json.put("adNativeKey", set.getString("adNativeKey"));
|
||||||
|
}
|
||||||
|
set.close();
|
||||||
|
statement.close();
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
public JSONArray getLog(String appId, String startTime, String endTime) {
|
||||||
|
try {
|
||||||
|
JSONArray array = new JSONArray();
|
||||||
|
Statement statement = conn.createStatement();
|
||||||
|
String sql = "select * from `ad_log` where `appId`=`" + appId + "` and `subtime` >=" + startTime + " and `subtime` <=" + endTime + ";";
|
||||||
|
ResultSet set = statement.executeQuery(sql);
|
||||||
|
while (set.next()) {
|
||||||
|
JSONObject item = new JSONObject();
|
||||||
|
item.put("id", set.getInt("id"));
|
||||||
|
item.put("appId", set.getString("appId"));
|
||||||
|
item.put("adSrc", set.getString("adSrc"));
|
||||||
|
item.put("adType", set.getString("adType"));
|
||||||
|
item.put("model", set.getString("model"));
|
||||||
|
item.put("subtime", set.getString("subtime"));
|
||||||
|
array.add(item);
|
||||||
|
}
|
||||||
|
set.close();
|
||||||
|
statement.close();
|
||||||
|
return array;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public JSONObject getAppOfAppName(String appName){
|
||||||
|
try {
|
||||||
|
JSONObject json=new JSONObject();
|
||||||
|
Statement statement=conn.createStatement();
|
||||||
|
String sql="select * from `app` where `appName`='"+appName+"';";
|
||||||
|
json=getApp(statement, sql);
|
||||||
|
statement.close();
|
||||||
|
return json;
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public JSONObject getAppOfPackageName(String packageName){
|
||||||
|
try {
|
||||||
|
JSONObject json=new JSONObject();
|
||||||
|
Statement statement=conn.createStatement();
|
||||||
|
String sql="select * from `app` where `packageName`='"+packageName+"';";
|
||||||
|
json=getApp(statement, sql);
|
||||||
|
statement.close();
|
||||||
|
return json;
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
public JSONArray getAllApp(){
|
||||||
|
try {
|
||||||
|
JSONArray array=new JSONArray();
|
||||||
|
Statement statement=conn.createStatement();
|
||||||
|
String sql="select * from `app` ;";
|
||||||
|
ResultSet set=statement.executeQuery(sql);
|
||||||
|
while (set.next()){
|
||||||
|
JSONObject json=new JSONObject();
|
||||||
|
json.put("id",set.getInt("id"));
|
||||||
|
json.put("appId",set.getString("appId"));
|
||||||
|
json.put("appName",set.getString("appName"));
|
||||||
|
json.put("packageName",set.getString("packageName"));
|
||||||
|
array.add(json);
|
||||||
|
}
|
||||||
|
return array;
|
||||||
|
}catch (Exception e){
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
private JSONObject getApp(Statement statement, String sql) throws SQLException {
|
||||||
|
JSONObject json=null;
|
||||||
|
ResultSet set=statement.executeQuery(sql);
|
||||||
|
if(set.next()){
|
||||||
|
json=new JSONObject();
|
||||||
|
json.put("id",set.getInt("id"));
|
||||||
|
json.put("appId",set.getString("appId"));
|
||||||
|
json.put("appName",set.getString("appName"));
|
||||||
|
json.put("packageName",set.getString("packageName"));
|
||||||
|
}
|
||||||
|
set.close();
|
||||||
|
statement.close();
|
||||||
|
return json;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void close() {
|
||||||
|
try {
|
||||||
|
if (conn != null && !conn.isClosed()) {
|
||||||
|
conn.close();
|
||||||
|
}
|
||||||
|
conn = null;
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -11,17 +11,10 @@ import java.sql.SQLException;
|
|||||||
import java.sql.Statement;
|
import java.sql.Statement;
|
||||||
|
|
||||||
public class SQLiteManager {
|
public class SQLiteManager {
|
||||||
private static SQLiteManager manager;
|
|
||||||
protected Connection conn;
|
protected Connection conn;
|
||||||
private String url = "jdbc:sqlite:";
|
private String url = "jdbc:sqlite:";
|
||||||
private File sql;
|
private File sql;
|
||||||
|
|
||||||
public static SQLiteManager getInstance() {
|
|
||||||
if (manager == null) {
|
|
||||||
manager = new SQLiteManager();
|
|
||||||
}
|
|
||||||
return manager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void startBatch() {
|
public void startBatch() {
|
||||||
try {
|
try {
|
||||||
@ -50,9 +43,14 @@ public class SQLiteManager {
|
|||||||
protected SQLiteManager() {
|
protected SQLiteManager() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
private void createSql(JSONObject json){
|
||||||
private void createSql(JSONObject json) {
|
JSONArray array=json.getJSONArray("table");
|
||||||
JSONObject table = json.getJSONObject("table");
|
for (Object o : array) {
|
||||||
|
createSqlOfTable((JSONObject) o);
|
||||||
|
}
|
||||||
|
ConfigTools.save(ConfigTools.SQLITE, json.getString("file"), json);
|
||||||
|
}
|
||||||
|
private void createSqlOfTable(JSONObject table) {
|
||||||
String tableName = table.getString("name");
|
String tableName = table.getString("name");
|
||||||
try {
|
try {
|
||||||
sql.mkdirs();
|
sql.mkdirs();
|
||||||
@ -90,13 +88,13 @@ public class SQLiteManager {
|
|||||||
}
|
}
|
||||||
sql.append(");");
|
sql.append(");");
|
||||||
statement.execute(sql.toString().replace(",);", ");"));
|
statement.execute(sql.toString().replace(",);", ");"));
|
||||||
ConfigTools.save(ConfigTools.SQLITE,json.getString("file"),json);
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void build(JSONObject json) {
|
protected void build(JSONObject json) {
|
||||||
try {
|
try {
|
||||||
Class.forName("org.sqlite.JDBC");
|
Class.forName("org.sqlite.JDBC");
|
||||||
sql = new File("db" + File.separator + json.getString("file"));
|
sql = new File("db" + File.separator + json.getString("file"));
|
||||||
@ -110,8 +108,24 @@ public class SQLiteManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean setDB(String fileName) {
|
||||||
|
try {
|
||||||
|
Class.forName("org.sqlite.JDBC");
|
||||||
|
sql = new File("db" + File.separator + fileName);
|
||||||
|
if (sql.exists()) {
|
||||||
|
if (conn != null && !conn.isClosed()) {
|
||||||
|
conn.close();
|
||||||
|
}
|
||||||
|
conn = DriverManager.getConnection(url + sql.getAbsolutePath());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
JSONObject json = JSONObject.parseObject("{\"file\":\"ad.db\",\"table\":{\"name\":\"sql\",\"item\":[{\"name\":\"id\",\"type\":\"int\",\"isNull\":false,\"isKey\":true},{\"name\":\"ticket_tmp\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"ticket\",\"type\":\"String\",\"isNull\":false,\"isKey\":false},{\"name\":\"scannIndex\",\"type\":\"int\",\"isNull\":false,\"isKey\":false}]}}");
|
|
||||||
SQLiteManager.getInstance().build(json);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
26
web/html/body/ad/ad.html
Normal file
26
web/html/body/ad/ad.html
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>广告管理</title>
|
||||||
|
<link rel="stylesheet" href="/layui/css/layui.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="layui-layout layui-layout-admin">
|
||||||
|
<div id="header"></div>
|
||||||
|
<div class="layui-body" style="left: 200px;">
|
||||||
|
<div id="side"></div>
|
||||||
|
<table id="playlist" lay-filter="ad_table"></table>
|
||||||
|
<div id="footer"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="/layui/layui.js"></script>
|
||||||
|
<script src="/js/jquery-3.2.1.js"></script>
|
||||||
|
<script>
|
||||||
|
$('#header').load("/html/header.html");
|
||||||
|
$('#footer').load("/html/footer.html");
|
||||||
|
$('#side').load("/html/body/nas/side.html");
|
||||||
|
let table = layui.table;
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user