fix:更新已知bug,优化代码
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>SwiftAdmin 官方演示站</title>
|
||||
@@ -45,7 +45,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md6">
|
||||
<img src="/static/images/hero-img.png" width="90%" height="500" alt="">
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>控制台 | 用户中心</title>
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
</ul>
|
||||
|
||||
<div class="layui-nav layui-hide-xs fr" id="login">
|
||||
<notempty name="$user.id"> <li class="layui-nav-item"><a class="" href="/user/index" >会员中心</a></li> <else/>
|
||||
<li class="layui-nav-item"><a href="javascript:;" lay-open data-title="用户注册" data-area="490px" data-url="/user/register" >注册</a></li>
|
||||
<li class="layui-nav-item"><a href="javascript:;" lay-open data-title="用户登录" data-area="450px,420px" data-url="/user/login" >登录</a></li>
|
||||
<notempty name="$user.id"> <li class="layui-nav-item"><a class="" href="/index/user/index" >会员中心</a></li> <else/>
|
||||
<li class="layui-nav-item"><a href="javascript:;" lay-open data-title="用户注册" data-area="490px" data-url="/index/user/register" >注册</a></li>
|
||||
<li class="layui-nav-item"><a href="javascript:;" lay-open data-title="用户登录" data-area="450px,420px" data-url="/index/user/login" >登录</a></li>
|
||||
</notempty>
|
||||
</div>
|
||||
</div>
|
||||
315
app/index/view/user/center.html
Normal file
315
app/index/view/user/center.html
Normal file
@@ -0,0 +1,315 @@
|
||||
<layout name="layout:layout"/>
|
||||
<style>
|
||||
#content .layui-table td, #content .layui-table th {
|
||||
padding: 8px 10px;
|
||||
}
|
||||
</style>
|
||||
<!-- 内容主体区域 -->
|
||||
<div id="content">
|
||||
<div class="layui-row layui-col-space20">
|
||||
<div class="layui-col-md9">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body swift-index vip-head-box" >
|
||||
<div class="user-face-box">
|
||||
<div class="img"><img src="{$user.avatar}" alt="{$user.nickname}" ></div>
|
||||
</div>
|
||||
<div class="user-vip-info">
|
||||
<div class="vip-type-time">
|
||||
<div class="vip-tips">
|
||||
<if check_user_third('qq',$user['id']) >
|
||||
<a lay-ajax class="bind-third" data-url="{:url('/third/unbind',['type'=> 'qq'])}" title="点击解绑"
|
||||
><i class="layui-icon layui-icon-login-qq"></i></a>
|
||||
<else/>
|
||||
<a href="{:url('/third/bind?type=qq&ref=/index/user/index')}" title="点击绑定"target="_top"
|
||||
><i class="layui-icon layui-icon-login-qq"></i></a>
|
||||
</if>
|
||||
|
||||
<if check_user_third('weixin',$user['id']) >
|
||||
<a lay-ajax class="bind-third" data-url="{:url('/third/unbind?type=weixin')}" title="点击解绑"
|
||||
><i class="layui-icon layui-icon-login-wechat"></i></a>
|
||||
<else/>
|
||||
<a href="{:url('/third/bind')}?type=weixin&ref=/index/user/index" title="点击绑定"
|
||||
target="_top"
|
||||
><i class="layui-icon layui-icon-login-wechat"></i></a>
|
||||
</if>
|
||||
|
||||
<if check_user_third('weibo',$user['id']) >
|
||||
<a lay-ajax class="bind-third" data-url="{:url('/third/unbind?type=weibo')}" title="点击解绑">
|
||||
<i class="layui-icon layui-icon-login-weibo"></i></a>
|
||||
<else/>
|
||||
<a href="{:url('/third/bind')}?type=wiebo&ref=/index/user/index" title="点击绑定"
|
||||
target="_top"
|
||||
><i class="layui-icon layui-icon-login-weibo"></i></a>
|
||||
</if>
|
||||
</div>
|
||||
|
||||
<div class="vip-name">
|
||||
<span>{$user.nickname} <i class="layui-icon fa-edit" lay-open data-title="修改昵称" data-url="#nickname" data-area="398px,230px"></i></span>
|
||||
<span>UID: {$user.id|supplement_id}</span>
|
||||
<span><a>已加入第 {$user.create_time|distance_day} 天</a></span>
|
||||
</div>
|
||||
<div class="vip-time-row">
|
||||
<salibs:usergroup id="vo">
|
||||
<div class="vip-item <if ($vo['id'] == $user['group_id']) >vip-active</if>">
|
||||
<span class="vip-item-type">{$vo.alias}</span>
|
||||
<span class="vip-item-name">{$vo.title}</span>
|
||||
</div>
|
||||
</salibs:usergroup>
|
||||
</div>
|
||||
<div class="vip-coupon-row">
|
||||
<div class="vip-coupon-item"><p><em>{$user.score}</em>我的积分</p></div>
|
||||
<div class="vip-coupon-item"><p><em style="color: red">¥{$user.money|default='0.0'}</em>我的余额</p></div>
|
||||
<div class="vip-coupon-item"><p><em>{$invite_count|default='0'}</em>邀请人数</p></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="profile" class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<h2>个人信息</h2>
|
||||
<div class="clear">
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">手机</div>
|
||||
<div class="contract-detail">+86 {$user.mobile|default='未绑定'}
|
||||
<i class="layui-icon fa-edit" title="编辑" lay-open data-title="修改手机"
|
||||
data-url="/index/user/mobile" data-area="500px,300px"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">微信号</div>
|
||||
<div class="contract-detail">{$user.wechat|default='Tony'}</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">办公室邮箱</div>
|
||||
<div class="contract-detail">{$user.email|default='member@domain.com'}
|
||||
<i class="layui-icon fa-edit" title="编辑" lay-open data-title="修改邮箱"
|
||||
data-url="/index/user/email" data-area="500px,300px"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">登录IP</div>
|
||||
<div class="contract-detail">{$user.login_ip}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="clear">
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">登陆次数</div>
|
||||
<div class="contract-detail">{$user.login_count}</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">用户组</div>
|
||||
<div class="contract-detail">{$user.group.title}</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">加入时间</div>
|
||||
<div class="contract-detail">{$user.create_time}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">所在住址</div>
|
||||
<div class="contract-detail">{$user.address}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">登录日志</div>
|
||||
<div class="layui-card-body">
|
||||
<table class="layui-table" lay-skin="nob">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>登录时间</th>
|
||||
<th>登录IP</th>
|
||||
<th> 状态</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<php> $_user_log = \app\common\model\system\UserLog::where('login_id',$user['id'])->limit(8)->order('id desc')->select();</php>
|
||||
<volist name="$_user_log" id="vo">
|
||||
<tr>
|
||||
<td>{$vo.create_time}</td>
|
||||
<td>{$vo.login_ip}</td>
|
||||
<td><span <eq name="$vo['status']" value="0">style="color:red;"</eq> >{$vo.error}</span></td>
|
||||
</tr>
|
||||
</volist>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md6">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">快捷方式</div>
|
||||
<div class="layui-card-body layui-row layui-col-space10" style="max-height: 146px;overflow: auto">
|
||||
<div class="layui-col-md4">
|
||||
<div class="speed-entry-item" data-url="/index/user/profile">
|
||||
<i class="layui-icon fa-user"></i> 我的主页
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md4">
|
||||
<div class="speed-entry-item" data-url="/index/user/message">
|
||||
<i class="layui-icon fa-comment"></i> 站内消息
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md4">
|
||||
<div class="speed-entry-item" data-url="/index/user/security">
|
||||
<i class="layui-icon fa-get-pocket"></i> 安全中心
|
||||
</div>
|
||||
</div>
|
||||
{:get_plugin_menu_entry('tabs')}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">应用插件</div>
|
||||
<div class="layui-card-body">
|
||||
<div id="pluginApp" class="layui-carousel">
|
||||
<div id="appPluginList" carousel-item>
|
||||
<div><img src="/static/images/plugin-banner.png"></div>
|
||||
<div><img src="/static/images/plugin-redis.png"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">🏷️ 新闻公告</div>
|
||||
<ul id="newsList" class="news-list">
|
||||
{$newsHtml|raw}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">APP KEY</div>
|
||||
<div id="appkey" class="layui-card-body">
|
||||
<notempty name="user.app_id">
|
||||
<div class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">app_id:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{$user.app_id}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">app_secret:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{$user.app_secret}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" class="layui-btn layui-btn-normal" lay-ajax=""
|
||||
data-url="/index/user/appid" data-reload="self">更换APPKEY
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<else/>
|
||||
<div class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">还没有生成appKey,请点击按钮生成!</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" class="layui-btn layui-btn-normal" lay-ajax=""
|
||||
data-url="/index/user/appid" data-reload="self">生成APPKEY
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</notempty>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header" style="color: red">活跃用户 (TOP)</div>
|
||||
<div class="layui-card-body" id="cardInfoList">
|
||||
<ul class="cardInfoUsers">
|
||||
<volist name="userList" id="vo">
|
||||
<li>
|
||||
<a title="{$vo.nickname}" href="#" target="_blank">
|
||||
<img class="media-object" src="{$vo.avatar}"></a>
|
||||
<a class="truncate" href="{$vo.url}" target="_blank">{$vo.nickname}</a>
|
||||
</li>
|
||||
</volist>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- // 修改用户昵称 -->
|
||||
<script type="text/html" id="nickname">
|
||||
<div class="layui-fluid layui-bg-white">
|
||||
<form class="layui-form layui-form-fixed" action="/index/user/profile">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{:__('用户昵称')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="nickname" autocomplete="off" placeholder="{:__('请输入昵称')}" type="text"
|
||||
class="layui-input" lay-verify="required"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-footer layui-form-item layui-center">
|
||||
<button class="layui-btn layui-btn-primary" type="button" sa-event="closeDialog">{:__('取消')}</button>
|
||||
<button class="layui-btn layui-btn-normal" lay-filter="submitPage" data-reload="parent" lay-submit>
|
||||
{:__('提交')}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
layui.use(['jquery', 'upload','carousel'], function () {
|
||||
var $ = layui.jquery;
|
||||
var upload = layui.upload;
|
||||
var carousel = layui.carousel;
|
||||
|
||||
// API请求热门插件
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: 'https://api.swiftadmin.net/plugin/recommend',
|
||||
data: {type: 'hot'},
|
||||
dataType: 'json',
|
||||
success: function (res) {
|
||||
if (res.code === 200) {
|
||||
$('#appPluginList').html(res.data);
|
||||
}
|
||||
carousel.render({
|
||||
elem: '#pluginApp'
|
||||
,height: '120px'
|
||||
,interval: 3000
|
||||
,anim: 'fade'
|
||||
});
|
||||
},
|
||||
error: function () {}
|
||||
})
|
||||
|
||||
$('.speed-entry-item').click(function (e) {
|
||||
let url = $(this).data('url');
|
||||
if (typeof url == 'undefined') {
|
||||
layer.msg('功能开发中...');
|
||||
return false;
|
||||
}
|
||||
|
||||
let m = parent.layui.$('.layui-nav-tree li [lay-href="' + url + '"]');
|
||||
parent.layui.$(m).parents('.layui-nav-item').addClass('layui-nav-itemed');
|
||||
parent.layui.$(m).trigger('click');
|
||||
})
|
||||
})
|
||||
</script>
|
||||
185
app/index/view/user/certification.html
Normal file
185
app/index/view/user/certification.html
Normal file
@@ -0,0 +1,185 @@
|
||||
<layout name="layout:layout"/>
|
||||
<!-- 内容主体区域 -->
|
||||
<style>
|
||||
.alert-warn {
|
||||
background: #fff3eb;
|
||||
border: 1px solid #ffdac2;
|
||||
border-radius: 2px;
|
||||
color: #ff6600;
|
||||
font-size: 12px;
|
||||
padding: 10px 30px;
|
||||
}
|
||||
|
||||
.choose-box {
|
||||
overflow: hidden;
|
||||
padding: 25px;
|
||||
}
|
||||
|
||||
.choose-box #tip {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.choose-item {
|
||||
cursor: pointer;
|
||||
border: 1px solid #e1e4e6;
|
||||
border-radius: 3px;
|
||||
margin-right: 20px;
|
||||
padding: 28px 28px 28px 50px;
|
||||
}
|
||||
|
||||
.choose-item:hover {
|
||||
border-color: #1890ff;
|
||||
}
|
||||
|
||||
.choose-item:hover i {
|
||||
color: #1890ff;
|
||||
}
|
||||
|
||||
.svg {
|
||||
margin-top: 23px;
|
||||
}
|
||||
|
||||
.fa-wechat, .fa-mobile-phone {
|
||||
font-size: 4em;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
margin-top: 10px;
|
||||
font-size: 18px;
|
||||
clear: both;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.captcha img {
|
||||
border: 1px solid #d9d9d9;
|
||||
background-color: #fff;
|
||||
border-radius: 3px;
|
||||
width: 116px;
|
||||
}
|
||||
|
||||
#proves {
|
||||
padding: 65px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#proves .auHead, #proves .auIntro {
|
||||
margin: 0px 10px;
|
||||
}
|
||||
|
||||
#proves h2 {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
#proves .text-muted {
|
||||
color: #a0a2a3;
|
||||
}
|
||||
|
||||
#proves p {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="content">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header "><h5>实名认证</h5></div>
|
||||
<div class="layui-card-body ">
|
||||
|
||||
<div class="alert-warn">
|
||||
<span>
|
||||
<i class="layui-icon fa-info-circle"></i>
|
||||
根据《中华人民共和国网络安全法》等网络安全相关法律法规规定,及按网监,公安等有关监管单位要求,互联网计算资源用户须完成用户实名认证才能使用。
|
||||
请您认真填写相关实名认证信息,完成实名认证申请。
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<empty name="prove">
|
||||
<div class="choose-box layui-row layui-col-space10">
|
||||
<div id="tip">请您从以下认证方式中选择一种:</div>
|
||||
|
||||
<div class="layui-col-md4 choose-item " lay-open data-title="实名认证" data-url="#author" data-area="520px,390px">
|
||||
<div class="layui-col-md2">
|
||||
<div class="svg"><i class="layui-icon fa-mobile-phone"></i></div>
|
||||
</div>
|
||||
<div class="layui-col-md10">
|
||||
<span class="subtitle">手机号码 验证实名</span>
|
||||
<span class="intro">注:手机号码必须与实名认证人信息一致</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md4 choose-item" onclick="layui.layer.msg('暂未支持','info')">
|
||||
<div class="layui-col-md2">
|
||||
<div class="svg"><i class="layui-icon fa-wechat"></i></div>
|
||||
</div>
|
||||
<div class="layui-col-md10">
|
||||
<span class="subtitle">微信人脸 识别认证</span>
|
||||
<span class="intro">注:请使用本人微信进行人脸识别认证</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<else/>
|
||||
|
||||
<div id="proves">
|
||||
<div class="auHead fl"><svg t="1667563336182" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2727" width="200" height="200"><path d="M0 0h1024v1024H0z" fill="#FFFFFF" p-id="2728"></path><path d="M151.272727 197.818182m93.090909 0l538.507637 0q93.090909 0 93.090909 93.090909l0 428.520727q0 93.090909-93.090909 93.090909l-538.507637 0q-93.090909 0-93.090909-93.090909l0-428.520727q0-93.090909 93.090909-93.090909Z" fill="#23C588" p-id="2729"></path><path d="M366.545455 458.624a52.363636 52.363636 0 1 0-52.363637-52.363636 52.421818 52.421818 0 0 0 52.363637 52.363636m0 46.545455a98.909091 98.909091 0 1 1 98.90909-98.909091 98.909091 98.909091 0 0 1-98.90909 98.909091z" fill="#FFFFFF" p-id="2730"></path><path d="M360.727273 551.714909a69.899636 69.899636 0 0 0-69.818182 69.818182v46.545454h151.272727v-46.545454a69.899636 69.899636 0 0 0-69.818182-69.818182h-11.636363m0-46.545454h11.636363a116.363636 116.363636 0 0 1 116.363637 116.363636v46.545454a46.545455 46.545455 0 0 1-46.545455 46.545455H290.909091a46.545455 46.545455 0 0 1-46.545455-46.545455v-46.545454a116.363636 116.363636 0 0 1 116.363637-116.363636z" fill="#FFFFFF" p-id="2731"></path><path d="M758.027636 430.743273h-186.181818a23.272727 23.272727 0 0 1-23.272727-23.272728 23.272727 23.272727 0 0 1 23.272727-23.272727h186.181818a23.272727 23.272727 0 0 1 23.272728 23.272727 23.272727 23.272727 0 0 1-23.272728 23.272728z" fill="#FFFFFF" p-id="2732"></path><path d="M758.027636 535.470545h-186.181818a23.272727 23.272727 0 0 1-23.272727-23.272727 23.272727 23.272727 0 0 1 23.272727-23.272727h186.181818a23.272727 23.272727 0 0 1 23.272728 23.272727 23.272727 23.272727 0 0 1-23.272728 23.272727z" fill="#FFFFFF" p-id="2733"></path><path d="M758.027636 640.197818h-186.181818a23.272727 23.272727 0 0 1-23.272727-23.272727 23.272727 23.272727 0 0 1 23.272727-23.272727h186.181818a23.272727 23.272727 0 0 1 23.272728 23.272727 23.272727 23.272727 0 0 1-23.272728 23.272727z" fill="#FFFFFF" p-id="2734"></path></svg> </div>
|
||||
<div class="auIntro fl">
|
||||
<h2>恭喜您已通过实名认证</h2>
|
||||
<p><span class="text-muted">认证途径:</span>身份证实名</p>
|
||||
<p><span class="text-muted">真实姓名:</span>{:hide_str($user['name'],0,1)}</p>
|
||||
<p><span class="text-muted">认证时间:</span>{$user.prove_time}</p>
|
||||
<p><span class="text-muted">证件号码:</span>{:hide_str($user['idcard'],3,8)}</p>
|
||||
<p>
|
||||
<span class="text-muted">如果您的认证信息发生变更,可</span>
|
||||
<a id="edit-verify">联系管理员修改认证资料 ></a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</empty>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- // 实名认证 -->
|
||||
<script type="text/html" id="author">
|
||||
<div class="layui-fluid layui-bg-white">
|
||||
<form class="layui-form layui-form-fixed" action="/index/user/certification">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{:__('手机号')}</label>
|
||||
<div class="layui-input-inline" style="width: 320px">
|
||||
<input name="mobile" placeholder="{:__('请输入手机号')}" type="text" autocomplete="on"
|
||||
class="layui-input" lay-verify="required|phone"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{:__('真实姓名')}</label>
|
||||
<div class="layui-input-inline" style="width: 320px">
|
||||
<input name="name" placeholder="{:__('请输入真实姓名')}" type="text" autocomplete="on" class="layui-input" lay-verify="required"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{:__('身份证号码')}</label>
|
||||
<div class="layui-input-inline" style="width: 320px">
|
||||
<input name="idCard" placeholder="{:__('请输入身份证号码')}" type="text" autocomplete="on" class="layui-input" lay-verify="required|identity"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{:__('验证码')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="captcha" placeholder="{:__('请输入验证码')}" type="text" autocomplete="on" class="layui-input" lay-verify="required" maxlength="10"/>
|
||||
</div>
|
||||
<div class="captcha"><a href="javascript:;"><img src="{:captcha_src()}" height="31" id="captchaImg" alt="{:__('验证码')}"/></a></div>
|
||||
</div>
|
||||
<div class="layui-footer layui-form-item layui-center">
|
||||
<button class="layui-btn layui-btn-primary" type="button" sa-event="closeDialog">{:__('取消')}</button>
|
||||
<button class="layui-btn layui-btn-normal" data-reload="true" lay-filter="submitPage" lay-submit>{:__('提交')}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
layui.use(['table', 'jquery'], function () {
|
||||
let $ = layui.jquery, captchaUrl = '{:captcha_src()}';
|
||||
$(document).on('click', '#captchaImg', function () {
|
||||
$(this).attr('src', captchaUrl + '?rand=' + Math.random())
|
||||
})
|
||||
})
|
||||
</script>
|
||||
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>修改密码</title>
|
||||
@@ -8,7 +8,7 @@
|
||||
<body>
|
||||
|
||||
<div class="layui-card-body">
|
||||
<form action="/user/changePwd" class="layui-form layui-form-fixed">
|
||||
<form action="/index/user/changePwd" class="layui-form layui-form-fixed">
|
||||
<input type="text" name="nickname" value="{$user.nickname}" hidden="">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">原密码</label>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<!-- 内容主体区域 -->
|
||||
<div id="content">
|
||||
<div class="layui-fluid ">
|
||||
<form class="layui-form layui-form-fixed" action="/user/email">
|
||||
<form class="layui-form layui-form-fixed" action="/index/user/email">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{:__('邮箱地址')}</label>
|
||||
@@ -17,7 +17,7 @@
|
||||
<input name="captcha" placeholder="{:__('请输入验证码')}" type="text" class="layui-input"
|
||||
autocomplete="off" lay-verify="required" maxlength="10"/>
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal" type="button" lay-ajax data-url="/user/email"
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-ajax data-url="/index/user/email"
|
||||
data-object="email:email,event:event">{:__('获取')}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>SwiftAdmin 用户登录</title>
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
</style>
|
||||
<div class="layui-fluid">
|
||||
<form class="layui-form layui-form-fixed" action="/user/forgot" method="post" >
|
||||
<form class="layui-form layui-form-fixed" action="/index/user/forgot" method="post" >
|
||||
<input type="hidden" name="__token__" value="{:token()}"/>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="red">*</span> {:__('手机/邮箱')}</label>
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
<li class="layui-nav-item layui-hide layui-show-md-inline-block">
|
||||
<a href="javascript:;"><img src="{$user.avatar}" alt="{$user.nickname}" class="layui-nav-img">{$user.nickname}</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a lay-open lay-title="修改密码" lay-url="/user/changepwd" lay-area="470px,330px" href="javascript:;">修改密码</a>
|
||||
<dd><a lay-open lay-title="修改密码" lay-url="/index/user/changepwd" lay-area="470px,330px" href="javascript:;">修改密码</a>
|
||||
</dd>
|
||||
<dd><a href="/user/logout" >退出</a></dd>
|
||||
<dd><a href="/index/user/logout" >退出</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>控制台 | 用户中心</title>
|
||||
@@ -9,9 +9,9 @@
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
<div class="layui-header">
|
||||
<div class="layui-logo layui-side-body layui-hide-xs layui-bg-black">
|
||||
<!-- // 可以增加LOGO-->
|
||||
<!--// 可以增加LOGO-->
|
||||
<img src="/static/system/images/logo.png" style="margin-bottom: 8px;margin-right: 10px" alt="logo" width="22" height="22" >
|
||||
<span class="logo-text">用户中心</span>
|
||||
<span class="logo-text">会员中心</span>
|
||||
</div>
|
||||
<ul class="layui-nav layui-layout-left">
|
||||
<li id="shrink" class="layui-nav-item layui-show-xs-inline-block" >
|
||||
@@ -26,26 +26,26 @@
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="layui-nav-item" >
|
||||
<li class="layui-nav-item">
|
||||
<a href="javascript:;" id="notice">
|
||||
<i class="layui-icon fa-bell-o"></i>
|
||||
<span class="layui-badge-dot"></span>
|
||||
<div id="unread" data-count="{$unread|default='0'}"></div>
|
||||
<empty name="$unread">
|
||||
<i class="layui-icon fa-bell-o"></i>
|
||||
<else/>
|
||||
<i class="layui-icon fa-bell"></i>
|
||||
<span class="layui-badge-dot"></span>
|
||||
</empty>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="layui-nav-item layui-hide layui-show-md-inline-block">
|
||||
<a href="javascript:;"><img src="{$user.avatar}" alt="{$user.nickname}" class="layui-nav-img">{$user.nickname}</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a lay-open data-title="修改密码" data-url="/user/changepwd" data-area="470px,330px" href="javascript:;">修改密码</a>
|
||||
<dd><a lay-open data-title="修改密码" data-url="/index/user/changepwd" data-area="470px,330px" href="javascript:;">修改密码</a>
|
||||
</dd>
|
||||
<dd><a href="/user/logout">退出</a></dd>
|
||||
<dd><a href="/index/user/logout">退出</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
|
||||
<a href="javascript:;">
|
||||
<i id="skin" class="layui-icon fa-moon-o"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="layui-side layui-side-body layui-bg-black">
|
||||
@@ -57,12 +57,12 @@
|
||||
|
||||
<div class="layui-body">
|
||||
<!-- 内容主体区域 -->
|
||||
<iframe id="iframe" src="/user/profile" frameborder="0" class="layui-layer-load" onload="this.className='';" ></iframe>
|
||||
<iframe id="iframe" src="/index/user/center" frameborder="0" class="layui-layer-load" onload="this.className='';" ></iframe>
|
||||
</div>
|
||||
<include file="user:footer"/>
|
||||
</div>
|
||||
|
||||
<script !src="">
|
||||
<script>
|
||||
|
||||
layui.use(['jquery','upload'],function(){
|
||||
let $ = layui.jquery;
|
||||
@@ -88,14 +88,14 @@
|
||||
// 上传头像
|
||||
upload.render({
|
||||
elem: '.layui-user-avatar'
|
||||
,url: '/user/avatars'
|
||||
,url: '/index/user/avatars'
|
||||
,method: 'post'
|
||||
,accept: 'file'
|
||||
,before: function(res) {
|
||||
layer.msg('上传中');
|
||||
},done: function(res, index, upload) {
|
||||
// 上传成功
|
||||
if (res.code == 200) {
|
||||
if (res.code === 200) {
|
||||
layer.msg(res.msg);
|
||||
$('#imgHead img').attr('src',res.url);
|
||||
} else {
|
||||
@@ -138,27 +138,7 @@
|
||||
$('#skin').removeClass('fa-moon-o').addClass('fa-sun-o');
|
||||
}
|
||||
|
||||
// 切换皮肤
|
||||
$('#skin').on('click',function () {
|
||||
let value = $(this).hasClass('fa-moon-o');
|
||||
console.log(value)
|
||||
if (value) {
|
||||
$(this).removeClass('fa-moon-o').addClass('fa-sun-o');
|
||||
$('.layui-side-body').removeClass('layui-bg-black').addClass('layui-bg-white');
|
||||
layui.data('skin',{
|
||||
key: 'theme',
|
||||
value: 'layui-bg-white'
|
||||
});
|
||||
} else {
|
||||
$(this).removeClass('fa-sun-o').addClass('fa-moon-o');
|
||||
$('.layui-side-body').removeClass('layui-bg-white').addClass('layui-bg-black');
|
||||
layui.data('skin',{
|
||||
key: 'theme',
|
||||
value: 'layui-bg-black'
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
bellMessage($('#unread').data('count'));
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>SwiftAdmin 用户登录</title>
|
||||
@@ -27,7 +27,7 @@
|
||||
<a href="{:url('/third/login',['type'=>'weibo'])}&ref={$referer}" class="sina" target="_top"></a>
|
||||
</span>
|
||||
</div>
|
||||
<form class="layui-form" action="/user/login" method="post" style="height: auto">
|
||||
<form class="layui-form" action="/index/user/login" method="post" style="height: auto">
|
||||
<input type="hidden" name="__token__" value="{:token()}"/>
|
||||
<div class="layui-form-item">
|
||||
<div class="item">
|
||||
@@ -49,7 +49,7 @@
|
||||
<div class="fl">
|
||||
<input type="checkbox" name="remember" lay-skin="primary" title="{:__('记住密码')}" checked>
|
||||
</div>
|
||||
<a lay-open data-title="找回密码" data-area="510px,360px" data-object="top" data-url="/user/forgot" class="forget-link fr" style="margin-top: 7px;">{:__('忘记密码?')}</a>
|
||||
<a lay-open data-title="找回密码" data-area="510px,360px" data-object="top" data-url="/index/user/forgot" class="forget-link fr" style="margin-top: 7px;">{:__('忘记密码?')}</a>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
|
||||
35
app/index/view/user/login_log.html
Normal file
35
app/index/view/user/login_log.html
Normal file
@@ -0,0 +1,35 @@
|
||||
<layout name="layout:layout" />
|
||||
<!-- 内容主体区域 -->
|
||||
<div id="content">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">登录日志</div>
|
||||
<!-- // 创建数据实例 -->
|
||||
<div class="layui-card-body">
|
||||
<table id="lay-tableList" lay-filter="lay-tableList"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use(['table'], function () {
|
||||
|
||||
var table = layui.table;
|
||||
/*
|
||||
* 初始化表格
|
||||
*/
|
||||
var isTable = table.render({
|
||||
elem: "#lay-tableList"
|
||||
, url: "{:url('/user/login_log')}"
|
||||
, page: true
|
||||
, limit: 20
|
||||
, cols: [[
|
||||
{field: 'nickname', align: 'left',title: '{:__("登录帐号")}'},
|
||||
{field: 'login_ip', align: 'center', title: '{:__("登录IP")}'},
|
||||
{field: 'login_os', align: 'center', title: '{:__("操作系统")}'},
|
||||
{field: 'login_browser', align: 'center', title: '{:__("登录代理")}'},
|
||||
{field: 'error', align: 'center', title: '{:__("登录状态")}'},
|
||||
{field: 'create_time', align: 'center', title: '{:__("登录时间")}'},
|
||||
]]
|
||||
})
|
||||
})
|
||||
</script>
|
||||
88
app/index/view/user/message.html
Normal file
88
app/index/view/user/message.html
Normal file
@@ -0,0 +1,88 @@
|
||||
<layout name="layout:layout" />
|
||||
<!-- 内容主体区域 -->
|
||||
<style>
|
||||
.layui-table-text-red {
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
<div id="content">
|
||||
<div class="layui-row" >
|
||||
<div id="cardInfo" class="layui-card"> <i class="layui-icon fa-bullhorn"></i> 短消息是本站系统给您发送的提醒消息,请务必阅读。如因自身未阅读导致出现的相关问题后果自负!</div>
|
||||
<div class="layui-card" style="padding-top: 10px">
|
||||
<!-- // 默认操作按钮 -->
|
||||
<div class="layui-card-header layadmin-card-header-auto ">
|
||||
<div class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm layui-btn-post" data-status="all" >{:__('全部消息')}</button>
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm layui-btn-post" data-status="1">{:__('已读消息')}</button>
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm layui-btn-post" data-status="0">{:__('未读消息')}</button>
|
||||
<button class="layui-btn layui-btn-danger layui-btn-sm" lay-batch data-table="lay-tableList" data-url="/index/user/dermessage?type=del" >{:__('删除消息')}</button>
|
||||
<button class="layui-btn layui-btn-checked layui-btn-sm" lay-batch data-table="lay-tableList" data-url="/index/user/dermessage?type=read" >{:__('标记已读')}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- // 创建数据实例 -->
|
||||
<table id="lay-tableList" lay-filter="lay-tableList"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use(['table','jquery'], function () {
|
||||
|
||||
let $ = layui.jquery;
|
||||
let table = layui.table;
|
||||
|
||||
/*
|
||||
* 初始化表格
|
||||
*/
|
||||
let isTable = table.render({
|
||||
elem: "#lay-tableList"
|
||||
, url: "{:url('/user/message')}"
|
||||
, page: true
|
||||
, limit: 20
|
||||
, cols: [[
|
||||
{type: 'checkbox', width: 45},
|
||||
{
|
||||
field: 'title', align: 'left', templet: function (e) {
|
||||
let title = '<a class="layui-table-text';
|
||||
if (e.status === 0) {
|
||||
title += ' layui-table-text-red';
|
||||
}
|
||||
title += '" lay-open data-title="查看消息" data-url="/index/user/viewmessage?id=' + e.id + '" data-area="600px, 390px" >';
|
||||
if (e.status === 0) {
|
||||
title += '<i class="layui-icon fa-envelope"></i> ';
|
||||
} else {
|
||||
title += '<i class="layui-icon fa-envelope-o"></i> ';
|
||||
}
|
||||
title += e.title;
|
||||
title += '</a>';
|
||||
return title;
|
||||
}, title: '{:__("消息标题")}'
|
||||
},
|
||||
{field: 'send_ip', align: 'center',width: 220, title: '{:__("来源IP")}'},
|
||||
{field: 'type', align: 'center', width: 130, title: '{:__("消息类型")}'},
|
||||
{field: 'create_time', align: 'center', width: 200, title: '{:__("创建时间")}'},
|
||||
]]
|
||||
})
|
||||
|
||||
$('.layui-btn-post').click(function () {
|
||||
let status = $(this).data('status');
|
||||
$('.layui-btn-post').removeClass('layui-btn-normal').addClass('layui-btn-primary');
|
||||
$(this).addClass('layui-btn-normal').removeClass('layui-btn-primary');
|
||||
|
||||
isTable.reload({
|
||||
where: {status: status},
|
||||
page: {curr: 1}
|
||||
});
|
||||
});
|
||||
|
||||
$('body').on('click','.layui-table-text-red',function () {
|
||||
$(this).removeClass('layui-table-text-red');
|
||||
});
|
||||
|
||||
})
|
||||
</script>
|
||||
@@ -2,7 +2,7 @@
|
||||
<!-- 内容主体区域 -->
|
||||
<div id="content">
|
||||
<div class="layui-fluid">
|
||||
<form class="layui-form layui-form-fixed" action="/user/mobile">
|
||||
<form class="layui-form layui-form-fixed" action="/index/user/mobile">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{:__('手机号')}</label>
|
||||
<div class="layui-input-inline" style="width: 265px">
|
||||
@@ -16,7 +16,7 @@
|
||||
<input name="captcha" placeholder="{:__('请输入验证码')}" type="text" class="layui-input"
|
||||
autocomplete="off" lay-verify="required" maxlength="10"/>
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-normal" type="button" lay-ajax data-url="/user/mobile"
|
||||
<button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-ajax data-url="/index/user/mobile"
|
||||
data-object="mobile:mobile,event:event">{:__('获取')}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>消息管理 | {$site_name}</title>
|
||||
|
||||
@@ -1,246 +1,158 @@
|
||||
<layout name="layout:layout"/>
|
||||
<!-- 内容主体区域 -->
|
||||
<style>
|
||||
|
||||
.red {
|
||||
color: red;
|
||||
}
|
||||
.mt30 {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.layui-form {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1024px) {
|
||||
|
||||
.layui-input-inline {
|
||||
min-width: 260px!important;
|
||||
}
|
||||
|
||||
.address {
|
||||
min-width: 639px!important;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="content">
|
||||
<div class="layui-row layui-col-space20">
|
||||
|
||||
<div class="layui-col-md9">
|
||||
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body goindex">
|
||||
<div class="layui-col-md8">
|
||||
<div class="tips"> Hi,{$user.nickname} <span class="regular"> 下午好,今天是你加入的第 {$user.create_time|distance_day} 天~</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md4">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="profile" class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<h2>个人信息</h2>
|
||||
|
||||
<div class="clear">
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">手机</div>
|
||||
<div class="contract-detail">+86 {$user.mobile}
|
||||
<i class="layui-icon fa-edit" title="编辑" lay-open data-title="修改手机"
|
||||
data-url="/user/mobile" data-area="500px,300px"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">微信号</div>
|
||||
<div class="contract-detail">{$user.wechat|default='--'}</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">办公室邮箱</div>
|
||||
<div class="contract-detail">{$user.email}
|
||||
<i class="layui-icon fa-edit" title="编辑" lay-open data-title="修改邮箱"
|
||||
data-url="/user/email" data-area="500px,300px"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">登录IP</div>
|
||||
<div class="contract-detail">{$user.login_ip}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="clear">
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">登陆次数</div>
|
||||
<div class="contract-detail">{$user.login_count}</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">用户组</div>
|
||||
<div class="contract-detail">{$user.group.title}</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">积分</div>
|
||||
<div class="contract-detail">{$user.score}</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">加入时间</div>
|
||||
<div class="contract-detail">{$user.create_time}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="contract-title">所在住址</div>
|
||||
<div class="contract-detail">{$user.address}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">我的帖子</div>
|
||||
<div class="layui-card-body">
|
||||
<table class="layui-table" lay-skin="nob">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>标题</th>
|
||||
<th>回答数</th>
|
||||
<th>发表时间</th>
|
||||
<th>访问量</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row">
|
||||
|
||||
<div id="cardInfo" class="layui-card">
|
||||
<span>温馨提示:</span>
|
||||
<span>1、请务必牢记您所填写的信息</span>
|
||||
<span>2、姓名、电话号码、公司名称、微信号等敏感信息,请谨慎填写</span>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
|
||||
<div id="account" class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div id="imgHead" class="layui-user-avatar">
|
||||
<img src="{$user.avatar}" alt="{$user.nickname}" class="avatar">
|
||||
</div>
|
||||
<div class="nickname">
|
||||
{$user.nickname}
|
||||
<span class="edits">
|
||||
<i class="layui-icon fa-edit" lay-open data-title="修改昵称" data-url="#nickname" data-area="398px,230px"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="intro">{$user.heart}</div>
|
||||
|
||||
<div id="thrid" class="layui-input-inline">
|
||||
|
||||
<if check_user_third(
|
||||
'qq',$user['id']) >
|
||||
<a lay-ajax data-url="{:url('/third/unbind',['type'=> 'qq'])}" title="点击解绑" type="button"
|
||||
class="layui-btn layui-btn-sm"><i
|
||||
class="layui-icon layui-icon-login-qq"></i></a>
|
||||
<else/>
|
||||
<a href="{:url('/third/bind?type=qq&ref=/user/index')}" title="点击绑定" type="button" target="_top"
|
||||
class="layui-btn layui-btn-sm layui-bind-third"><i
|
||||
class="layui-icon layui-icon-login-qq"></i></a>
|
||||
</if>
|
||||
|
||||
<if check_user_third(
|
||||
'weixin',$user['id']) >
|
||||
<a lay-ajax data-url="{:url('/third/unbind?type=weixin')}" title="点击解绑" type="button"
|
||||
class="layui-btn layui-btn-sm"><i
|
||||
class="layui-icon layui-icon-login-wechat"></i></a>
|
||||
<else/>
|
||||
<a href="{:url('/third/bind')}?type=weixin&ref=/user/index" title="点击绑定" type="button"
|
||||
target="_top"
|
||||
class="layui-btn layui-btn-sm layui-bind-third"><i
|
||||
class="layui-icon layui-icon-login-wechat"></i></a>
|
||||
</if>
|
||||
|
||||
<if check_user_third(
|
||||
'weibo',$user['id']) >
|
||||
<a lay-ajax data-url="{:url('/third/unbind?type=weibo')}" title="点击解绑" type="button"
|
||||
class="layui-btn layui-btn-sm"><i
|
||||
class="layui-icon layui-icon-login-weibo"></i></a>
|
||||
<else/>
|
||||
<a href="{:url('/third/bind')}?type=wiebo&ref=/user/index" title="点击绑定" type="button"
|
||||
target="_top"
|
||||
class="layui-btn layui-btn-sm layui-bind-third"><i
|
||||
class="layui-icon layui-icon-login-weibo"></i></a>
|
||||
</if>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">APP KEY</div>
|
||||
<div id="appkey" class="layui-card-body">
|
||||
<notempty name="user.app_id">
|
||||
<div class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">app_id:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{$user.app_id}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">app_secret:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{$user.app_secret}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" class="layui-btn layui-btn-normal" lay-ajax=""
|
||||
data-url="/user/appid" data-reload="self">更换APPKEY
|
||||
</button>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">我的资料</div>
|
||||
<div class="layui-card-body" >
|
||||
<form action="/index/user/center" class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label mt30"><span class="red">*</span> 用户头像</label>
|
||||
<div id="imgHead" class="layui-user-avatar">
|
||||
<img src="{$user.avatar}" alt="{$user.nickname}" class="avatar">
|
||||
</div>
|
||||
<else/>
|
||||
<div class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">还没有生成appKey,请点击按钮生成!</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<button type="submit" class="layui-btn layui-btn-normal" lay-ajax=""
|
||||
data-url="/user/appid" data-reload="self">生成APPKEY
|
||||
</button>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="red">*</span> 用户昵称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="nickname" placeholder="用户昵称" class="layui-input" value="{$user.nickname}">
|
||||
</div>
|
||||
</notempty>
|
||||
</div>
|
||||
</div>
|
||||
<label class="layui-form-label"><span class="red">*</span> 真实姓名</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="name" placeholder="真实姓名" class="layui-input" value="{$user.name}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="red">*</span> 性别</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="gender" type="radio" value="1" title="男" <eq name="$user['gender']" value="1">checked</eq>>
|
||||
<input name="gender" type="radio" value="0" title="女" <eq name="$user['gender']" value="0">checked</eq>>
|
||||
</div>
|
||||
<label class="layui-form-label"><span class="red">*</span> 身份证号码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="idcard" placeholder="请输入身份证号" class="layui-input" value="{$user.idcard}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="red">*</span> 手机号码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input layui-disabled" disabled value="{$user.mobile|default='未绑定'}">
|
||||
</div>
|
||||
<label class="layui-form-label"><span class="red">*</span> 邮箱地址</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input layui-disabled" disabled value="{$user.email|default='member@domain.com'}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户心情</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="heart" placeholder="请输入用户心情" class="layui-input" value="{$user.heart}">
|
||||
</div>
|
||||
<label class="layui-form-label"><span class="red">*</span> 邮政编码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="zipcode" placeholder="请输入邮政编码" class="layui-input" value="{$user.zipcode}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="red">*</span> 家庭住址</label>
|
||||
<div class="layui-input-inline address">
|
||||
<input name="address" placeholder="请输入家庭住址" class="layui-input" value="{$user.address}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" style="margin-top: 22px;text-align: center">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-inline">
|
||||
<button type="submit" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="submit">立即提交</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- // 修改用户昵称 -->
|
||||
<script type="text/html" id="nickname">
|
||||
<div class="layui-fluid layui-bg-white">
|
||||
<form class="layui-form layui-form-fixed" action="/user/profile">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{:__('用户昵称')}</label>
|
||||
<div class="layui-input-inline">
|
||||
<input name="nickname" autocomplete="off" placeholder="{:__('请输入昵称')}" type="text"
|
||||
class="layui-input" lay-verify="required"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-footer layui-form-item layui-center">
|
||||
<button class="layui-btn layui-btn-primary" type="button" sa-event="closeDialog">{:__('取消')}</button>
|
||||
<button class="layui-btn layui-btn-normal" lay-filter="submitPage" data-reload="parent" lay-submit>
|
||||
{:__('提交')}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
layui.use(['jquery', 'upload'], function () {
|
||||
layui.use(['jquery', 'upload','form'], function () {
|
||||
var $ = layui.jquery;
|
||||
var upload = layui.upload;
|
||||
var form = layui.form;
|
||||
|
||||
// 上传头像
|
||||
upload.render({
|
||||
elem: '.layui-user-avatar'
|
||||
, url: '/user/avatar?action=avatar' // 默认的上传地址
|
||||
, url: '/index/user/avatar?action=avatar' // 默认的上传地址
|
||||
, method: 'post'
|
||||
, accept: 'image'
|
||||
, before: function (res) {
|
||||
layer.msg('上传中');
|
||||
}, done: function (res, index, upload) {
|
||||
// 上传成功
|
||||
if (res.code === 200) {
|
||||
$('.avatar').attr('src', res.url + '?' + parseInt(100 * Math.random()));
|
||||
return layer.msg(res.msg);
|
||||
}
|
||||
|
||||
layer.msg(res.msg, 'error');
|
||||
}
|
||||
})
|
||||
|
||||
//监听提交
|
||||
form.on('submit(submit)', function(data){
|
||||
$.ajax({
|
||||
url: $(this).attr('action'),
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
timeout: 6000,
|
||||
data: data.field,
|
||||
success: function(res){
|
||||
if (res.code === 200) {
|
||||
top.layer.msg(res.msg);
|
||||
}
|
||||
else {
|
||||
top.layer.msg(res.msg,'error');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
})
|
||||
</script>
|
||||
@@ -2,7 +2,7 @@
|
||||
<!-- 内容主体区域 -->
|
||||
<div id="content">
|
||||
<div class="layui-fluid">
|
||||
<form class="layui-form layui-form-fixed" action="/user/protection">
|
||||
<form class="layui-form layui-form-fixed" action="/index/user/protection">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{:__('密保问题')}</label>
|
||||
<div class="layui-input-inline" style="width: 260px">
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
}
|
||||
</style>
|
||||
<div id="register" class="layui-fluid">
|
||||
<form class="layui-form layui-form-fixed" action="/user/register" method="post">
|
||||
<form class="layui-form layui-form-fixed" action="/index/user/register" method="post">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="red">*</span> 用户帐号</label>
|
||||
|
||||
@@ -1,4 +1,35 @@
|
||||
<layout name="layout:layout"/>
|
||||
<style>
|
||||
|
||||
.u-box {
|
||||
margin-left: 35px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
.setting-intro {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.u-box {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 440px) {
|
||||
.u-box {
|
||||
width: 190px;
|
||||
}
|
||||
|
||||
#user-detail .layui-progress {
|
||||
width: 110px;
|
||||
}
|
||||
|
||||
.text-stress {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<div id="content">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header"><h5>安全设置</h5></div>
|
||||
@@ -7,8 +38,8 @@
|
||||
<div class="layui-user-avatar fl" >
|
||||
<img src="{$user.avatar}" alt="" width="80">
|
||||
</div>
|
||||
<div class="fl" style="margin-left: 35px">
|
||||
<div class="u-info"><span class="label">会员ID:</span>{$user.id}</div>
|
||||
<div class="u-box fl">
|
||||
<div class="u-info"><span class="label">会员UID:</span>{$user.id|supplement_id}</div>
|
||||
<div class="u-info"><span class="label">注册日期:</span>{$user.create_time}</div>
|
||||
<div class="u-info">
|
||||
<span class="label">安全级别:</span>
|
||||
@@ -29,7 +60,7 @@
|
||||
<span class="setting-intro">安全性高的密码可以使账户更安全;互联网账号存在被盗风险,建议您定期更换密码</span>
|
||||
</div>
|
||||
<div class="setting-operate fr">
|
||||
<a lay-open="" data-title="修改密码" data-url="/user/changepwd" data-area="470px,330px" href="javascript:;">修改</a>
|
||||
<a lay-open="" data-title="修改密码" data-url="/index/user/changepwd" data-area="470px,330px" href="javascript:;">修改</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -53,7 +84,7 @@
|
||||
</div>
|
||||
|
||||
<div class="setting-operate fr">
|
||||
<a lay-open data-title="修改手机" data-url="/user/mobile" data-area="500px,300px">修改</a>
|
||||
<a lay-open data-title="修改手机" data-url="/index/user/mobile" data-area="500px,300px">修改</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -77,7 +108,7 @@
|
||||
</div>
|
||||
|
||||
<div class="setting-operate fr">
|
||||
<a lay-open data-title="修改邮箱" data-url="/user/email" data-area="500px,300px">修改</a>
|
||||
<a lay-open data-title="修改邮箱" data-url="/index/user/email" data-area="500px,300px">修改</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -95,7 +126,7 @@
|
||||
</div>
|
||||
|
||||
<div class="setting-operate fr">
|
||||
<a lay-open data-title="设置密保" data-url="/user/protection" data-area="500px,300px">设置</a>
|
||||
<a lay-open data-title="设置密保" data-url="/index/user/protection" data-area="500px,300px">设置</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,15 +1,23 @@
|
||||
<!--// 初始化菜单-->
|
||||
<ul class="layui-nav layui-nav-tree" lay-filter="master">
|
||||
<li class="layui-nav-item layui-this">
|
||||
<a lay-href="/user/profile">控制台</a>
|
||||
</li>
|
||||
<!--// 前台菜单-->
|
||||
{:get_plugin_menu()}
|
||||
|
||||
<li class="layui-nav-item">
|
||||
<a class="#" href="javascript:;">账号设置</a>
|
||||
<a class="#" href="javascript:;">Dashboard</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a lay-href="/user/security">安全设置</a></dd>
|
||||
<dd class="layui-this"><a lay-href="/index/user/center">控制台</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!--// 插件菜单开始-->
|
||||
{:get_plugin_menu_entry()}
|
||||
<!--// 插件菜单结束-->
|
||||
<li class="layui-nav-item">
|
||||
<a class="#" href="javascript:;">我的账户</a>
|
||||
<dl class="layui-nav-child">
|
||||
<dd><a lay-href="/index/user/profile">我的资料</a></dd>
|
||||
<dd><a lay-href="/index/user/message">站内消息</a></dd>
|
||||
<dd><a lay-href="/index/user/login_log">登录日志</a></dd>
|
||||
<dd><a lay-href="/index/user/certification">实名认证</a></dd>
|
||||
<dd><a lay-href="/index/user/security">安全中心</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
58
app/index/view/user/viewMessage.html
Normal file
58
app/index/view/user/viewMessage.html
Normal file
@@ -0,0 +1,58 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>查看消息</title>
|
||||
<include file="public:header"/>
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
|
||||
h1 {
|
||||
font-family: "helvetica neue", PingFangSC-Light, arial, "hiragino sans gb", "microsoft yahei ui", "microsoft yahei", simsun, sans-serif;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.layui-card-header {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.layui-text {
|
||||
padding: 10px!important;
|
||||
text-indent: 2em;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.layui-text p {
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
</style>
|
||||
<div class="layui-fluid">
|
||||
<div id="unread" data-count="{$unread|default='0'}"></div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
<h1>{$info.title}</h1>
|
||||
<p style="color: #3464ff">{$info.nickname|default='系统'} 于 {$info.create_time}</p>
|
||||
</div>
|
||||
<div class="layui-card-body layui-text">
|
||||
{$info.content|raw}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
layui.use('jquery', function () {
|
||||
let $ = layui.jquery;
|
||||
let unread = $('#unread').data('count');
|
||||
if (!unread) {
|
||||
top.layui.$('#notice').find('.layui-badge-dot').hide();
|
||||
top.layui.$('#notice').find('.fa-bell').removeClass('fa-bell').addClass('fa-bell-o');
|
||||
}
|
||||
|
||||
// 更新消息数量
|
||||
bellMessage(unread);
|
||||
|
||||
})
|
||||
</script>
|
||||
</html>
|
||||
Reference in New Issue
Block a user