feat: 后端全量更新 - 含所有本次需求
- Contract.php: 返回合约账户余额(balance_contract) - My.php: 地址管理增加BTC/ETH - AppContract.php: 一键平仓(closeall) - AppProxy.php: 代理专属注册链接 + 分级权限(L1/L2) - site.php: 手续费减半(0.018→0.009) - agent_permission_setup.sql: 代理权限SQL - crypto_news_crawler.py: 新闻自动采集脚本
This commit is contained in:
Executable
+1
@@ -0,0 +1 @@
|
||||
{"files":["application\\admin\\controller\\example\\Baidumap.php","application\\admin\\controller\\example\\Bootstraptable.php","application\\admin\\controller\\example\\Colorbadge.php","application\\admin\\controller\\example\\Controllerjump.php","application\\admin\\controller\\example\\Customform.php","application\\admin\\controller\\example\\Customsearch.php","application\\admin\\controller\\example\\Cxselect.php","application\\admin\\controller\\example\\Echarts.php","application\\admin\\controller\\example\\Multitable.php","application\\admin\\controller\\example\\Relationmodel.php","application\\admin\\controller\\example\\Tablelink.php","application\\admin\\controller\\example\\Tabletemplate.php","application\\admin\\model\\Area.php","application\\admin\\view\\example\\baidumap\\index.html","application\\admin\\view\\example\\baidumap\\map.html","application\\admin\\view\\example\\bootstraptable\\detail.html","application\\admin\\view\\example\\bootstraptable\\edit.html","application\\admin\\view\\example\\bootstraptable\\index.html","application\\admin\\view\\example\\colorbadge\\index.html","application\\admin\\view\\example\\controllerjump\\index.html","application\\admin\\view\\example\\customform\\index.html","application\\admin\\view\\example\\customsearch\\index.html","application\\admin\\view\\example\\cxselect\\index.html","application\\admin\\view\\example\\echarts\\index.html","application\\admin\\view\\example\\multitable\\index.html","application\\admin\\view\\example\\relationmodel\\index.html","application\\admin\\view\\example\\tablelink\\index.html","application\\admin\\view\\example\\tabletemplate\\index.html","public\\assets\\js\\backend\\example\\baidumap.js","public\\assets\\js\\backend\\example\\bootstraptable.js","public\\assets\\js\\backend\\example\\colorbadge.js","public\\assets\\js\\backend\\example\\controllerjump.js","public\\assets\\js\\backend\\example\\customform.js","public\\assets\\js\\backend\\example\\customsearch.js","public\\assets\\js\\backend\\example\\cxselect.js","public\\assets\\js\\backend\\example\\echarts.js","public\\assets\\js\\backend\\example\\multitable.js","public\\assets\\js\\backend\\example\\relationmodel.js","public\\assets\\js\\backend\\example\\tablelink.js","public\\assets\\js\\backend\\example\\tabletemplate.js","public\\assets\\addons\\example\\css\\common.css","public\\assets\\addons\\example\\img\\plus.png","public\\assets\\addons\\example\\js\\async.js"],"license":"regular","licenseto":"16556","licensekey":"fjlVuE8MOgT5m2yw yqj4tRlaeX30ZYA2j0MFgg==","domains":[],"licensecodes":[],"validations":[],"menus":["example","example\/bootstraptable","example\/bootstraptable\/index","example\/bootstraptable\/detail","example\/bootstraptable\/change","example\/bootstraptable\/del","example\/bootstraptable\/multi","example\/customsearch","example\/customsearch\/index","example\/customsearch\/del","example\/customsearch\/multi","example\/customform","example\/customform\/index","example\/tablelink","example\/tablelink\/index","example\/colorbadge","example\/colorbadge\/index","example\/colorbadge\/del","example\/colorbadge\/multi","example\/controllerjump","example\/controllerjump\/index","example\/controllerjump\/del","example\/controllerjump\/multi","example\/cxselect","example\/cxselect\/index","example\/cxselect\/del","example\/cxselect\/multi","example\/multitable","example\/multitable\/index","example\/multitable\/del","example\/multitable\/multi","example\/relationmodel","example\/relationmodel\/index","example\/relationmodel\/del","example\/relationmodel\/multi","example\/tabletemplate","example\/tabletemplate\/index","example\/tabletemplate\/detail","example\/tabletemplate\/del","example\/tabletemplate\/multi","example\/baidumap","example\/baidumap\/index","example\/baidumap\/map","example\/baidumap\/del","example\/echarts","example\/echarts\/index"]}
|
||||
Executable
+183
@@ -0,0 +1,183 @@
|
||||
<?php
|
||||
|
||||
namespace addons\example;
|
||||
|
||||
use app\common\library\Menu;
|
||||
use think\Addons;
|
||||
|
||||
/**
|
||||
* Example
|
||||
*/
|
||||
class Example extends Addons
|
||||
{
|
||||
|
||||
/**
|
||||
* 插件安装方法
|
||||
* @return bool
|
||||
*/
|
||||
public function install()
|
||||
{
|
||||
$menu = [
|
||||
[
|
||||
'name' => 'example',
|
||||
'title' => '开发示例管理',
|
||||
'icon' => 'fa fa-magic',
|
||||
'sublist' => [
|
||||
[
|
||||
'name' => 'example/bootstraptable',
|
||||
'title' => '表格完整示例',
|
||||
'icon' => 'fa fa-table',
|
||||
'sublist' => [
|
||||
['name' => 'example/bootstraptable/index', 'title' => '查看'],
|
||||
['name' => 'example/bootstraptable/detail', 'title' => '详情'],
|
||||
['name' => 'example/bootstraptable/change', 'title' => '变更'],
|
||||
['name' => 'example/bootstraptable/del', 'title' => '删除'],
|
||||
['name' => 'example/bootstraptable/multi', 'title' => '批量更新'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/customsearch',
|
||||
'title' => '自定义搜索',
|
||||
'icon' => 'fa fa-table',
|
||||
'sublist' => [
|
||||
['name' => 'example/customsearch/index', 'title' => '查看'],
|
||||
['name' => 'example/customsearch/del', 'title' => '删除'],
|
||||
['name' => 'example/customsearch/multi', 'title' => '批量更新'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/customform',
|
||||
'title' => '自定义表单示例',
|
||||
'icon' => 'fa fa-edit',
|
||||
'sublist' => [
|
||||
['name' => 'example/customform/index', 'title' => '查看'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/tablelink',
|
||||
'title' => '表格联动示例',
|
||||
'icon' => 'fa fa-table',
|
||||
'remark' => '点击左侧日志列表,右侧的表格数据会显示指定管理员的日志列表',
|
||||
'sublist' => [
|
||||
['name' => 'example/tablelink/index', 'title' => '查看'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/colorbadge',
|
||||
'title' => '彩色角标',
|
||||
'icon' => 'fa fa-table',
|
||||
'remark' => '左侧彩色的角标会根据当前数据量的大小进行更新',
|
||||
'sublist' => [
|
||||
['name' => 'example/colorbadge/index', 'title' => '查看'],
|
||||
['name' => 'example/colorbadge/del', 'title' => '删除'],
|
||||
['name' => 'example/colorbadge/multi', 'title' => '批量更新'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/controllerjump',
|
||||
'title' => '控制器间跳转',
|
||||
'icon' => 'fa fa-table',
|
||||
'remark' => '点击IP地址可以跳转到新的选项卡中查看指定IP的数据',
|
||||
'sublist' => [
|
||||
['name' => 'example/controllerjump/index', 'title' => '查看'],
|
||||
['name' => 'example/controllerjump/del', 'title' => '删除'],
|
||||
['name' => 'example/controllerjump/multi', 'title' => '批量更新'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/cxselect',
|
||||
'title' => '多级联动',
|
||||
'icon' => 'fa fa-table',
|
||||
'remark' => '基于jquery.cxselect实现的多级联动',
|
||||
'sublist' => [
|
||||
['name' => 'example/cxselect/index', 'title' => '查看'],
|
||||
['name' => 'example/cxselect/del', 'title' => '删除'],
|
||||
['name' => 'example/cxselect/multi', 'title' => '批量更新'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/multitable',
|
||||
'title' => '多表格示例',
|
||||
'icon' => 'fa fa-table',
|
||||
'remark' => '展示在一个页面显示多个Bootstrap-table表格',
|
||||
'sublist' => [
|
||||
['name' => 'example/multitable/index', 'title' => '查看'],
|
||||
['name' => 'example/multitable/del', 'title' => '删除'],
|
||||
['name' => 'example/multitable/multi', 'title' => '批量更新'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/relationmodel',
|
||||
'title' => '关联模型示例',
|
||||
'icon' => 'fa fa-table',
|
||||
'remark' => '列表中的头像、用户名和昵称字段均从关联表中取出',
|
||||
'sublist' => [
|
||||
['name' => 'example/relationmodel/index', 'title' => '查看'],
|
||||
['name' => 'example/relationmodel/del', 'title' => '删除'],
|
||||
['name' => 'example/relationmodel/multi', 'title' => '批量更新'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/tabletemplate',
|
||||
'title' => '表格模板示例',
|
||||
'icon' => 'fa fa-table',
|
||||
'remark' => '',
|
||||
'sublist' => [
|
||||
['name' => 'example/tabletemplate/index', 'title' => '查看'],
|
||||
['name' => 'example/tabletemplate/detail', 'title' => '详情'],
|
||||
['name' => 'example/tabletemplate/del', 'title' => '删除'],
|
||||
['name' => 'example/tabletemplate/multi', 'title' => '批量更新'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/baidumap',
|
||||
'title' => '百度地图示例',
|
||||
'icon' => 'fa fa-map-pin',
|
||||
'sublist' => [
|
||||
['name' => 'example/baidumap/index', 'title' => '查看'],
|
||||
['name' => 'example/baidumap/map', 'title' => '详情'],
|
||||
['name' => 'example/baidumap/del', 'title' => '删除'],
|
||||
]
|
||||
],
|
||||
[
|
||||
'name' => 'example/echarts',
|
||||
'title' => '统计图表示例',
|
||||
'icon' => 'fa fa-bar-chart',
|
||||
'sublist' => [
|
||||
['name' => 'example/echarts/index', 'title' => '查看'],
|
||||
]
|
||||
],
|
||||
]
|
||||
]
|
||||
];
|
||||
Menu::create($menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 插件卸载方法
|
||||
* @return bool
|
||||
*/
|
||||
public function uninstall()
|
||||
{
|
||||
Menu::delete('example');
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 插件启用方法
|
||||
*/
|
||||
public function enable()
|
||||
{
|
||||
Menu::enable('example');
|
||||
}
|
||||
|
||||
/**
|
||||
* 插件禁用方法
|
||||
*/
|
||||
public function disable()
|
||||
{
|
||||
Menu::disable('example');
|
||||
}
|
||||
|
||||
}
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
require.config({
|
||||
paths: {
|
||||
'async': '../addons/example/js/async',
|
||||
'BMap': ['//api.map.baidu.com/api?v=2.0&ak='],
|
||||
},
|
||||
shim: {
|
||||
'BMap': {
|
||||
deps: ['jquery'],
|
||||
exports: 'BMap'
|
||||
}
|
||||
}
|
||||
});
|
||||
Executable
+130
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'name' => 'condition1',
|
||||
'title' => '条件1',
|
||||
'type' => 'radio',
|
||||
'group' => '选项组一',
|
||||
'content' => [
|
||||
'value1' => '值1',
|
||||
'value2' => '值2',
|
||||
],
|
||||
'value' => 'value2',
|
||||
'rule' => 'required',
|
||||
'msg' => '',
|
||||
'tip' => '',
|
||||
'ok' => '',
|
||||
'extend' => '',
|
||||
],
|
||||
[
|
||||
'name' => 'condition2',
|
||||
'title' => '条件2',
|
||||
'type' => 'checkbox',
|
||||
'group' => '选项组一',
|
||||
'visible' => 'condition1=value1',
|
||||
'content' => [
|
||||
'value1' => '值1',
|
||||
'value2' => '值2',
|
||||
'value3' => '值3',
|
||||
],
|
||||
'value' => 'value1,value2',
|
||||
'rule' => 'required',
|
||||
'msg' => '',
|
||||
'tip' => '',
|
||||
'ok' => '',
|
||||
'extend' => '',
|
||||
],
|
||||
[
|
||||
'name' => 'condition3',
|
||||
'title' => '条件3',
|
||||
'type' => 'select',
|
||||
'group' => '选项组一',
|
||||
'visible' => 'condition1=value2',
|
||||
'content' => [
|
||||
'value1' => '值1',
|
||||
'value2' => '值2',
|
||||
],
|
||||
'value' => 'value1',
|
||||
'rule' => 'required',
|
||||
'msg' => '',
|
||||
'tip' => '',
|
||||
'ok' => '',
|
||||
'extend' => '',
|
||||
],
|
||||
[
|
||||
'name' => 'condition4',
|
||||
'title' => '条件4',
|
||||
'type' => 'selects',
|
||||
'group' => '选项组一',
|
||||
'content' => [
|
||||
'value1' => '值1',
|
||||
'value2' => '值2',
|
||||
'value3' => '值3',
|
||||
],
|
||||
'value' => 'value1,value2',
|
||||
'rule' => 'required',
|
||||
'msg' => '',
|
||||
'tip' => '',
|
||||
'ok' => '',
|
||||
'extend' => '',
|
||||
],
|
||||
[
|
||||
'name' => 'title',
|
||||
'title' => '标题',
|
||||
'type' => 'string',
|
||||
'group' => '选项组一',
|
||||
'visible' => 'condition3=value1',
|
||||
'content' => [],
|
||||
'value' => '3x',
|
||||
'rule' => 'required',
|
||||
'msg' => '',
|
||||
'tip' => '',
|
||||
'ok' => '',
|
||||
'extend' => '',
|
||||
],
|
||||
[
|
||||
'name' => 'domain',
|
||||
'title' => '绑定二级域名前缀',
|
||||
'type' => 'string',
|
||||
'group' => '选项组二',
|
||||
'content' => [],
|
||||
'value' => '',
|
||||
'rule' => 'required',
|
||||
'msg' => '',
|
||||
'tip' => '',
|
||||
'ok' => '',
|
||||
'extend' => '',
|
||||
],
|
||||
[
|
||||
'name' => 'rewrite',
|
||||
'title' => '伪静态',
|
||||
'type' => 'array',
|
||||
'group' => '选项组二',
|
||||
'content' => [],
|
||||
'value' => [
|
||||
'index/index' => '/example$',
|
||||
'demo/index' => '/example/d/[:name]',
|
||||
'demo/demo1' => '/example/d1/[:name]',
|
||||
'demo/demo2' => '/example/d2/[:name]',
|
||||
],
|
||||
'rule' => 'required',
|
||||
'msg' => '',
|
||||
'tip' => '',
|
||||
'ok' => '',
|
||||
'extend' => '',
|
||||
],
|
||||
[
|
||||
'name' => '__tips__',
|
||||
'title' => '温馨提示',
|
||||
'type' => 'string',
|
||||
'content' => [
|
||||
],
|
||||
'value' => '这里是提示的文本内容',
|
||||
'rule' => '',
|
||||
'msg' => '',
|
||||
'tip' => '',
|
||||
'ok' => '',
|
||||
'extend' => '',
|
||||
],
|
||||
];
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace addons\example\controller;
|
||||
|
||||
use think\addons\Controller;
|
||||
|
||||
/**
|
||||
* 测试控制器
|
||||
*/
|
||||
class Demo extends Controller
|
||||
{
|
||||
|
||||
protected $layout = 'default';
|
||||
protected $noNeedLogin = ['index', 'demo1'];
|
||||
protected $noNeedRight = ['*'];
|
||||
|
||||
public function index()
|
||||
{
|
||||
return $this->view->fetch();
|
||||
}
|
||||
|
||||
public function demo1()
|
||||
{
|
||||
return $this->view->fetch();
|
||||
}
|
||||
|
||||
public function demo2()
|
||||
{
|
||||
return $this->view->fetch();
|
||||
}
|
||||
|
||||
}
|
||||
Executable
+17
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace addons\example\controller;
|
||||
|
||||
use think\addons\Controller;
|
||||
|
||||
class Index extends Controller
|
||||
{
|
||||
|
||||
protected $layout = 'default';
|
||||
|
||||
public function index()
|
||||
{
|
||||
return $this->view->fetch();
|
||||
}
|
||||
|
||||
}
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
name = example
|
||||
title = 开发示例
|
||||
intro = FastAdmin多个开发示例
|
||||
author = FastAdmin
|
||||
website = https://www.fastadmin.net
|
||||
version = 1.1.1
|
||||
state = 1
|
||||
url = /addons/example
|
||||
license = regular
|
||||
licenseto = 16556
|
||||
Executable
+3795
File diff suppressed because it is too large
Load Diff
Executable
+33
@@ -0,0 +1,33 @@
|
||||
<!-- Page Content -->
|
||||
<div class="container">
|
||||
|
||||
<!-- Page Heading/Breadcrumbs -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">无需登录页面
|
||||
<small>开发者示例</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{:addon_url('example/index/index')}">插件首页</a>
|
||||
</li>
|
||||
<li class="active">无需登录页面</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<p class="well">当前登录页面无需登录即可查看,当前请求的name值为:{$Request.param.name|htmlentities}</p>
|
||||
{if $user}
|
||||
<p class="well text-danger">但是如果你登录后可以浏览到这段隐藏的信息</p>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
|
||||
<hr>
|
||||
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
<!-- Page Content -->
|
||||
<div class="container">
|
||||
|
||||
<!-- Page Heading/Breadcrumbs -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">需登录页面
|
||||
<small>开发者示例</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{:addon_url('example/index/index')}">插件首页</a>
|
||||
</li>
|
||||
<li class="active">需登录页面</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<p class="well">当前登录页面需要登录后才可以查看,你可以退出后再访问此页面,会提醒登录,当前请求的name值为:{$Request.param.name|htmlentities}</p>
|
||||
<p class="well">你好!{$user.nickname|htmlentities},<a href="{:url('index/user/logout')}">注销登录</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
|
||||
<hr>
|
||||
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
Executable
+67
@@ -0,0 +1,67 @@
|
||||
<!-- Page Content -->
|
||||
<div class="container">
|
||||
|
||||
<!-- Page Heading/Breadcrumbs -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">使用模板标签和变量
|
||||
<small>开发者示例</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a href="{:addon_url('example/index/index')}">插件首页</a>
|
||||
</li>
|
||||
<li class="active">使用模板标签和变量</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
|
||||
<!-- Content Row -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<p class="well">当前请求的name值为:{$Request.param.name|htmlentities}</p>
|
||||
{literal}
|
||||
<pre>
|
||||
在插件视图中可以使用所有ThinkPHP5内支持的模板标签和变量,如
|
||||
|
||||
{$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量
|
||||
{$Think.session.user_id} // 输出$_SESSION['user_id']变量
|
||||
{$Think.get.pageNumber} // 输出$_GET['pageNumber']变量
|
||||
{$Think.cookie.name} // 输出$_COOKIE['name']变量
|
||||
|
||||
// 调用Request对象的get方法 传入参数为id
|
||||
{$Request.get.id}
|
||||
// 调用Request对象的param方法 传入参数为name
|
||||
{$Request.param.name}
|
||||
// 调用Request对象的param方法 传入参数为user.nickname
|
||||
{$Request.param.user.nickname}
|
||||
// 调用Request对象的root方法
|
||||
{$Request.root}
|
||||
// 调用Request对象的root方法,并且传入参数true
|
||||
{$Request.root.true}
|
||||
// 调用Request对象的path方法
|
||||
{$Request.path}
|
||||
// 调用Request对象的module方法
|
||||
{$Request.module}
|
||||
// 调用Request对象的controller方法
|
||||
{$Request.controller}
|
||||
// 调用Request对象的action方法
|
||||
{$Request.action}
|
||||
// 调用Request对象的ext方法
|
||||
{$Request.ext}
|
||||
// 调用Request对象的host方法
|
||||
{$Request.host}
|
||||
// 调用Request对象的ip方法
|
||||
{$Request.ip}
|
||||
// 调用Request对象的header方法
|
||||
{$Request.header.accept-encoding}
|
||||
</pre>
|
||||
{/literal}
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
|
||||
<hr>
|
||||
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
Executable
+111
File diff suppressed because one or more lines are too long
Executable
+124
@@ -0,0 +1,124 @@
|
||||
<!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">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<title>开发示例 - {$site.name|htmlentities}</title>
|
||||
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="__CDN__/assets/libs/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="__ADDON__/css/common.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom Fonts -->
|
||||
<link href="__CDN__/assets/libs/font-awesome/css/font-awesome.min.css" rel="stylesheet">
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdn.bootcdn.net/ajax/libs/html5shiv/3.7.0/html5shiv.min.js"></script>
|
||||
<script src="https://cdn.bootcdn.net/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
|
||||
<div class="container">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{:addon_url('example/index/index')}">{$site.name|htmlentities}</a>
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a href="{:addon_url('example/index/index')}">插件首页</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{:addon_url('example/demo/demo1', [':name'=>'s1'])}">无需登录页面</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{:addon_url('example/demo/demo2', [':name'=>'s2'])}">需登录页面</a>
|
||||
</li>
|
||||
{if $user}
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">欢迎你! {$user.nickname|htmlentities}<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a href="{:url('index/user/index')}">会员中心</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{:url('index/user/profile')}">个人资料</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{:url('index/user/logout')}">退出登录</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
{else /}
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">会员中心 <b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a href="{:url('index/user/login')}">登录</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{:url('index/user/register')}">注册</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
{/if}
|
||||
</ul>
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
||||
|
||||
{__CONTENT__}
|
||||
|
||||
<div class="container">
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<p>Copyright © {$site.name|htmlentities} 2022</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="__CDN__/assets/libs/jquery/dist/jquery.min.js"></script>
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="__CDN__/assets/libs/bootstrap/dist/js/bootstrap.min.js"></script>
|
||||
|
||||
<!-- Script to Activate the Carousel -->
|
||||
<script>
|
||||
$('.carousel').carousel({
|
||||
interval: 5000 //changes the speed
|
||||
})
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user