mirror of
https://gitee.com/apiadmin/ApiAdmin.git
synced 2025-04-06 03:58:00 +08:00
added 初步完成新框架的适配
This commit is contained in:
parent
87b2e02339
commit
bb21eac180
@ -10,3 +10,36 @@
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
// 应用公共文件
|
||||
|
||||
|
||||
/**
|
||||
* CURL post数据
|
||||
* @param $url
|
||||
* @param $data
|
||||
* @param array $urlParam
|
||||
* @param array $header
|
||||
* @return mixed
|
||||
*/
|
||||
function curlPost( $url, $data, $urlParam = [], $header = [] ){
|
||||
$ch = curl_init();
|
||||
if( !empty($urlParam) ){
|
||||
$url = $url.'?'.http_build_query($urlParam);
|
||||
}
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
|
||||
|
||||
if( !empty($header) ){
|
||||
$headerStrArr = [];
|
||||
foreach ($header as $key => $value){
|
||||
$headerStrArr[] = "$key: $value";
|
||||
}
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, $headerStrArr);
|
||||
}
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
$return = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
return $return;
|
||||
}
|
@ -9,5 +9,18 @@ namespace app\index\controller;
|
||||
use think\Controller;
|
||||
|
||||
class Base extends Controller {
|
||||
protected $uid;
|
||||
|
||||
public function _initialize(){
|
||||
//初始化系统
|
||||
$this->uid = session('uid');
|
||||
if( !isset($this->uid) || empty($this->uid) ){
|
||||
$this->redirect('User/index');
|
||||
}
|
||||
|
||||
//控制器初始化
|
||||
if(method_exists($this,'_myInitialize')){
|
||||
$this->_myInitialize();
|
||||
}
|
||||
}
|
||||
}
|
20
application/index/controller/Help.php
Normal file
20
application/index/controller/Help.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* @since 2016-11-07
|
||||
* @author zhaoxiang <zhaoxiang051405@gmail.com>
|
||||
*/
|
||||
|
||||
namespace app\index\controller;
|
||||
|
||||
|
||||
class Help extends Base {
|
||||
public function index(){
|
||||
$this->display();
|
||||
}
|
||||
public function pro1(){
|
||||
$this->display();
|
||||
}
|
||||
public function pro2(){
|
||||
$this->display();
|
||||
}
|
||||
}
|
@ -7,7 +7,16 @@
|
||||
namespace app\index\controller;
|
||||
|
||||
class Index extends Base {
|
||||
public function index() {
|
||||
protected $uid;
|
||||
|
||||
public function index(){
|
||||
// $proList = D('BuyLog')->where(['uid' => $this->uid])->select();
|
||||
$proList = [];
|
||||
$proNum = count($proList);
|
||||
if( $proNum ){
|
||||
$this->assign('proList', $proList);
|
||||
}
|
||||
$this->assign('proNum', $proNum);
|
||||
return $this->fetch();
|
||||
}
|
||||
}
|
||||
|
50
application/index/controller/Product.php
Normal file
50
application/index/controller/Product.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
/**
|
||||
* @since 2016-11-07
|
||||
* @author zhaoxiang <zhaoxiang051405@gmail.com>
|
||||
*/
|
||||
|
||||
namespace app\index\controller;
|
||||
|
||||
|
||||
class Product extends Base {
|
||||
public function index(){
|
||||
$this->assign('pro',config('PROVINCE'));
|
||||
$this->display();
|
||||
}
|
||||
public function buy(){
|
||||
$data = $this->request->post();
|
||||
$data['uid'] = $this->uid;
|
||||
$data['addTime'] = time();
|
||||
if( $data['type'] != 2 ){
|
||||
if( empty($data['email']) ){
|
||||
$this->error('电子邮箱不能为空!', '', true);
|
||||
}else{
|
||||
if( !preg_match('/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?$/i', $data['email']) ){
|
||||
$this->error('手机号码不合法!', '', true);
|
||||
}
|
||||
}
|
||||
if( empty($data['location']) ){
|
||||
$this->error('地区不能为空!', '', true);
|
||||
}
|
||||
if( empty($data['name']) ){
|
||||
$this->error('姓名不能为空!', '', true);
|
||||
}
|
||||
if( empty($data['city']) ){
|
||||
$this->error('所在城市不能为空!', '', true);
|
||||
}
|
||||
}else{
|
||||
$data['status'] = 1;
|
||||
}
|
||||
// $isBuy = D('BuyLog')->where(['uid' => $this->uid, 'proName' => $data['proName'], 'status' => 0])->count();
|
||||
// if( $isBuy ){
|
||||
// $this->error('请勿重复操作!', '', true);
|
||||
// }
|
||||
// $res = D('BuyLog')->add($data);
|
||||
// if( $res === false ){
|
||||
// $this->error('操作失败!', '', true);
|
||||
// }else{
|
||||
// $this->success('信息提交成功!', U('Index/index'), true);
|
||||
// }
|
||||
}
|
||||
}
|
@ -6,10 +6,154 @@
|
||||
*/
|
||||
|
||||
namespace app\index\controller;
|
||||
use \think\Controller;
|
||||
|
||||
class User extends Controller {
|
||||
use extend\StrOrg;
|
||||
|
||||
class User extends Base {
|
||||
public function index(){
|
||||
echo 11111;
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
public function login(){
|
||||
if( $this->request->isPost() ){
|
||||
$user = $this->request->post('user');
|
||||
$pwd = $this->request->post('password');
|
||||
if( empty($user) ){
|
||||
$this->error('手机号不能为空!', '', true);
|
||||
}else{
|
||||
if( !preg_match('/^1(3[0-9]|4[57]|5[0-35-9]|7[01678]|8[0-9])\\d{8}$/', $user) ){
|
||||
$this->error('手机号不合法!', '', true);
|
||||
}
|
||||
}
|
||||
if( empty($pwd) ){
|
||||
$this->error('密码不能为空!', '', true);
|
||||
}
|
||||
$hashArr = $this->getAuthStr();
|
||||
$userData = [
|
||||
'Account' => $user,
|
||||
'Password' => $pwd,
|
||||
'Type' => 3
|
||||
];
|
||||
$userData = json_encode($userData);
|
||||
$res = curlPost(config('API_HOST').config('API_USER_LOGIN'), $userData, $hashArr, ['Content-Type' => 'application/json']);
|
||||
$resArr = json_decode($res , true);
|
||||
if( $resArr['data']['Id'] == 0 ){
|
||||
$this->error($resArr['data']['Message'], '', true);
|
||||
}else{
|
||||
session('uid', $resArr['data']['Id']);
|
||||
session('phone', $user);
|
||||
$this->success('登录成功!', url('Index/index'), true);
|
||||
}
|
||||
}else{
|
||||
$this->error('非法操作','', true);
|
||||
}
|
||||
}
|
||||
|
||||
public function getCode(){
|
||||
if( $this->request->isPost() ){
|
||||
$user = $this->request->post('user');
|
||||
if( empty($user) ){
|
||||
$this->result(['status' => -999], -999);
|
||||
}
|
||||
$hashArr = $this->getAuthStr();
|
||||
$userData = [
|
||||
'Account' => $user
|
||||
];
|
||||
$userData = json_encode($userData);
|
||||
$nextTime = cache('nextTime');$now = time();
|
||||
if( $nextTime <= $now ){
|
||||
$res = curlPost(config('API_HOST').config('API_USER_CODE'), $userData, $hashArr, ['Content-Type' => 'application/json']);
|
||||
$resArr = json_decode($res , true);
|
||||
if( $resArr['status'] != 200 ){
|
||||
$this->error($resArr['message']);
|
||||
}else{
|
||||
$nextTime = $now + 55;
|
||||
cache('nextTime', $nextTime);
|
||||
$this->result(['status' => 200], 200);
|
||||
}
|
||||
}else{
|
||||
$this->error('请勿频繁操作', '', true);
|
||||
}
|
||||
}else{
|
||||
$this->error('非法操作', '', true);
|
||||
}
|
||||
}
|
||||
|
||||
public function register(){
|
||||
if( $this->request->isPost()){
|
||||
$user = $this->request->post('user');
|
||||
$pwd = $this->request->post('password');
|
||||
$code = $this->request->post('code');
|
||||
if( empty($user) ){
|
||||
$this->error('手机号码不能为空!', '', true);
|
||||
}else{
|
||||
if( !preg_match('/^1(3[0-9]|4[57]|5[0-35-9]|7[01678]|8[0-9])\\d{8}$/', $user) ){
|
||||
$this->error('手机号码不合法!', '', true);
|
||||
}
|
||||
}
|
||||
if( empty($pwd) ){
|
||||
$this->error('密码不能为空!', '', true);
|
||||
}
|
||||
if( empty($code) ){
|
||||
$this->error('验证码不能为空!', '', true);
|
||||
}
|
||||
$hashArr = $this->getAuthStr();
|
||||
$userData = [
|
||||
'Account' => $user,
|
||||
'Password' => $pwd,
|
||||
'Code' => $code
|
||||
];
|
||||
$userData = json_encode($userData);
|
||||
$res = curlPost(config('API_HOST').config('API_USER_REGISTER'), $userData, $hashArr, ['Content-Type' => 'application/json']);
|
||||
$resArr = json_decode($res , true);
|
||||
if( $resArr['data']['Id'] == 0 ){
|
||||
$this->error($resArr['data']['Message'], '', true);
|
||||
}else{
|
||||
$this->success('注册成功!', url('User/index'), true);
|
||||
}
|
||||
}else{
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function recover(){
|
||||
if( $this->request->isPost()){
|
||||
$user = $this->request->post('user');
|
||||
$pwd = $this->request->post('password');
|
||||
$rePwd = $this->request->post('rePassword');
|
||||
$code = $this->request->post('code');
|
||||
if( $rePwd != $pwd ){
|
||||
$this->error("两次输入密码不一致");
|
||||
}
|
||||
$hashArr = $this->getAuthStr();
|
||||
$userData = [
|
||||
'Account' => $user,
|
||||
'NewPassword' => $pwd,
|
||||
'Code' => $code
|
||||
];
|
||||
$userData = json_encode($userData);
|
||||
$res = curlPost(config('API_HOST').config('API_USER_CHANGE_PWD'), $userData, $hashArr, ['Content-Type' => 'application/json']);
|
||||
$resArr = json_decode($res , true);
|
||||
if( $resArr['data']['Id'] == 0 ){
|
||||
$this->error($resArr['data']['Message'], '', true);
|
||||
}else{
|
||||
$this->success('密码重置成功!', url('User/index'), true);
|
||||
}
|
||||
}else{
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
|
||||
private function getAuthStr(){
|
||||
$ticket = config('AUTH_TICKET');
|
||||
$nonceStr = StrOrg::randString(12,5,'oOLl01');
|
||||
$now = time();
|
||||
$hashStr = sha1("ticket={$ticket}&noncestr={$nonceStr}×tamp={$now}");
|
||||
$urlParam = [
|
||||
's' => $hashStr,
|
||||
'n' => $nonceStr,
|
||||
't' => $now
|
||||
];
|
||||
return $urlParam;
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
<?php
|
||||
namespace app\index\model;
|
||||
|
||||
use think\Model;
|
||||
|
||||
class User extends Model
|
||||
{
|
||||
|
||||
}
|
0
application/index/model/index.html
Normal file
0
application/index/model/index.html
Normal file
82
application/index/view/help/base.html
Normal file
82
application/index/view/help/base.html
Normal file
@ -0,0 +1,82 @@
|
||||
<!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="">
|
||||
<link rel="icon" href="__INDEX__/img/favicon.ico">
|
||||
|
||||
<title>七维科技-用户中心</title>
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="__INDEX__/lib/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="__INDEX__/css/main.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template -->
|
||||
{block name="myStyle"}
|
||||
<link href="__INDEX__/css/members.css" rel="stylesheet">
|
||||
{/block}
|
||||
<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="__INDEX__/js/ie8-responsive-file-warning.js"></script><![endif]-->
|
||||
<script src="__INDEX__/lib/ie-emulation-modes-warning.js"></script>
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="__INDEX__/lib/html5shiv.js"></script>
|
||||
<script src="__INDEX__/lib/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
<header class="header">
|
||||
<nav class="navbar navbar-fixed-top" role="navigation">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<a class="navbar-brand" href="{:url('Index/index')}"><span class="brand-img"><img src="__INDEX__/img/logo.jpg" alt=""></span><span>七维科技-会员中心</span></a>
|
||||
</div>
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><a href="#">返回七维首页</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-sm-3 col-md-2 sidebar">
|
||||
<div class="menu-group">
|
||||
<h4 class="display-h4">Go!Pano Studio Pro</h4>
|
||||
<ul class="nav nav-sidebar">
|
||||
<li class=""><a href="{:url('Help/index')}">应用介绍</a></li>
|
||||
<li class=""><a href="{:url('Help/pro1')}">使用操作</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="menu-group">
|
||||
<h4 class="display-h4">Go!Pano Studio Pro 3D</h4>
|
||||
<ul class="nav nav-sidebar">
|
||||
<li class=""><a href="{:url('Help/pro2')}">应用介绍</a></li>
|
||||
<li class=""><a href="{:url('Help/pro3')}">使用操作</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
|
||||
{block name="content"}{/block}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="__INDEX__/lib/jquery.min.js"></script>
|
||||
<script src="__INDEX__/lib/bootstrap.min.js"></script>
|
||||
<!-- <script src="__INDEX__/lib/docs.min.js"></script> -->
|
||||
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
|
||||
<script src="__INDEX__/lib/ie10-viewport-bug-workaround.js"></script>
|
||||
<script src="__INDEX__/js/alertMSG.js"></script>
|
||||
<script src="__INDEX__/js/app.js"></script>
|
||||
{block name="myScript"}{/block}
|
||||
</body>
|
||||
</html>
|
||||
|
9
application/index/view/help/index.html
Normal file
9
application/index/view/help/index.html
Normal file
@ -0,0 +1,9 @@
|
||||
{extend name="help/base" /}
|
||||
{block name="content"}
|
||||
<div class="dir">
|
||||
<p class="p-indent">Vr元年,内容缺乏,拍摄全景360°图像可以看做最快速的vr内容。</p>
|
||||
<p class="p-indent">本产品将多目取景器实时采集的图像画面,实时缝合成高质量的全景VR图像,可实时预监,对图像画面进行实时调节,此VR视频可通过网络传输到云,在经云端编解码后,最终通过呈现端展示出来,也可本地录制保存,实时输出。</p>
|
||||
<div align="center"><img src="http://member.7d-vision.com/img/1.jpg" ></div>
|
||||
<p class="p-indent">本软件运行在HP Z840 工作站为基础,加入4*2采集卡,4*1HD-SDI采集卡,i7高性能处理,16G内存,NVidia高性能图形渲染卡</p>
|
||||
</div>
|
||||
{/block}
|
127
application/index/view/help/pro1.html
Normal file
127
application/index/view/help/pro1.html
Normal file
@ -0,0 +1,127 @@
|
||||
{extend name="help/base" /}
|
||||
{block name="content"}
|
||||
<div class="dir">
|
||||
<h4 class="display-h4">引导页</h4>
|
||||
<p class="p-indent">帮助用户进行先前设定。</p>
|
||||
<p class="p-indent">1、设备设定——为了更好的缝合效果,选择设备类型</p>
|
||||
<div align="center"><img src="http://member.7d-vision.com/img/1.1.png" ></div>
|
||||
<p class="p-indent">2、拍录设定</p>
|
||||
<p class="p-indent">设定拍录保存路径——选择拍录操作后文件保存的地址路径</p>
|
||||
<p class="p-indent">录制码率——普通,高端,最佳的码率规格对应不同比特率,比特率是指每秒传送的比特(bit)数。比特率越高,传送数据速度越快,画质越好。</p>
|
||||
<div align="center"><img src="http://member.7d-vision.com/img/1.2.png" ></div>
|
||||
<p class="p-indent">3、更多设置</p>
|
||||
<p class="p-indent">RTMP地址——推流地址设定,RTMP是实时消息传输协议。</p>
|
||||
<p class="p-indent">输出码率设定——每秒传输的兆数越大越清晰。码率即比特率是指每秒传送的比特(bit)数。比特率越高,传送数据速度越快,同时需要的带宽要求也就增大。</p>
|
||||
<p class="p-indent">输出分辨率设定</p>
|
||||
<p class="p-indent">安全距离设定——通过安全距离调整来微调畸变</p>
|
||||
<div align="center"><img src="http://member.7d-vision.com/img/1.3.png" ></div>
|
||||
<h4 class="display-h4">功能使用</h4>
|
||||
<p class="p-indent">1、多模式预监</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.1.1.png"></td>
|
||||
<td><p>平铺模式</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.1.2.png"></td>
|
||||
<td><p>包球/VR模式</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.1.3.png"></td>
|
||||
<td><p>网格模式,单个镜头图像</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="p-indent">2、调节图像</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.1.png"></td>
|
||||
<td><p>调色—实时手动调节,自动复位(包含:滤镜 饱和度 色调 伽玛值 亮度)</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.2.png"></td>
|
||||
<td><p>曝光—实时手动调节,自动复位</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.3.png"></td>
|
||||
<td><p>白平衡—实时手动调节,自动复位</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.4.png"></td>
|
||||
<td><p>安全距离—安全距离及时反映到预览画面,调节安全距离可改善畸变</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.5.png"></td>
|
||||
<td><p>添加logo—显示logo,选择路径,调整logo半径</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="p-indent">3、输出功能</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.1.png"></td>
|
||||
<td>
|
||||
<p>本地录制——全景视频实时录制。</p>
|
||||
<p>录制前,需在引导页或设置页面中对录制参数进行设置。</p>
|
||||
<p>录制中,显示录制状态,时间信息;可同时进行RTMP推流、SDI 输出、拍照。</p>
|
||||
<p style="color: red;"><b>注意:若正在推流,录制码率与推流码率相同。</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.2.png"></td>
|
||||
<td>
|
||||
<p>本地拍照——拍摄全景照片,可在录制、RTMP推流、SDI输出同时进行拍照。</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.3.png"></td>
|
||||
<td>
|
||||
<p>回看—一键打开软件自带播放器,播放器默认播放最近一次操作内容画面。右侧列表可选择之前的操作内容。</p>
|
||||
<p style="color: red;"><b> 注意:回放的前提是必须停止录制</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.4.png"></td>
|
||||
<td>
|
||||
<p>RTMP推流—全景视频实时推流</p>
|
||||
<p>推流前,需在引导页或设置页面中对RTMP参数进行设置。</p>
|
||||
<p>推流中,显示推流信息;可同时进行录制、SDI输出、拍照。</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.5.png"></td>
|
||||
<td>
|
||||
<p>SDI输出—全景视频实时输出</p>
|
||||
<p>输出前,需在引导页或设置页面中对SDI参数进行设置。</p>
|
||||
<p>输出中,显示输出信息;可同时进行录制、RTMP推流、拍照。</p>
|
||||
<p style="color: red;"><b>注意:SDI输出质量和RTMP推流质量一致。</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="p-indent">4、其他</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.4.1.png"></td>
|
||||
<td>
|
||||
<p>操作日志—用户操作记录</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.4.2.png"></td>
|
||||
<td>
|
||||
<p>版本信息—版本号,更新信息,官网帮助</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 class="display-h4">设置</h4>
|
||||
<p class="p-indent">1、设备选择:为了更好的缝合效果,更改引导页设备选择设定</p>
|
||||
<p class="p-indent">2、拍录设置:更改引导页拍录路径码率设定或增加引导页未设定的数据</p>
|
||||
<p class="p-indent">3、RTMP&SDI参数设置:更改引导页推流地址&输出质量设定或增加引导页未设定的</p>
|
||||
</div>
|
||||
{/block}
|
127
application/index/view/help/pro2.html
Normal file
127
application/index/view/help/pro2.html
Normal file
@ -0,0 +1,127 @@
|
||||
{extend name="help/base" /}
|
||||
{block name="myContent">
|
||||
<div class="dir">
|
||||
<h4 class="display-h4">引导页</h4>
|
||||
<p class="p-indent">帮助用户进行先前设定。</p>
|
||||
<p class="p-indent">1、设备设定——为了更好的缝合效果,选择设备类型</p>
|
||||
<div align="center"><img src="http://member.7d-vision.com/img/1.1.png" ></div>
|
||||
<p class="p-indent">2、拍录设定</p>
|
||||
<p class="p-indent">设定拍录保存路径——选择拍录操作后文件保存的地址路径</p>
|
||||
<p class="p-indent">录制码率——普通,高端,最佳的码率规格对应不同比特率,比特率是指每秒传送的比特(bit)数。比特率越高,传送数据速度越快,画质越好。</p>
|
||||
<div align="center"><img src="http://member.7d-vision.com/img/1.2.png" ></div>
|
||||
<p class="p-indent">3、更多设置</p>
|
||||
<p class="p-indent">RTMP地址——推流地址设定,RTMP是实时消息传输协议。</p>
|
||||
<p class="p-indent">输出码率设定——每秒传输的兆数越大越清晰。码率即比特率是指每秒传送的比特(bit)数。比特率越高,传送数据速度越快,同时需要的带宽要求也就增大。</p>
|
||||
<p class="p-indent">输出分辨率设定</p>
|
||||
<p class="p-indent">安全距离设定——通过安全距离调整来微调畸变</p>
|
||||
<div align="center"><img src="http://member.7d-vision.com/img/1.3.png" ></div>
|
||||
<h4 class="display-h4">功能使用</h4>
|
||||
<p class="p-indent">1、多模式预监</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.1.1.png"></td>
|
||||
<td><p>平铺模式</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.1.2.png"></td>
|
||||
<td><p>包球/VR模式</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.1.3.png"></td>
|
||||
<td><p>网格模式,单个镜头图像</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="p-indent">2、调节图像</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.1.png"></td>
|
||||
<td><p>调色—实时手动调节,自动复位(包含:滤镜 饱和度 色调 伽玛值 亮度)</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.2.png"></td>
|
||||
<td><p>曝光—实时手动调节,自动复位</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.3.png"></td>
|
||||
<td><p>白平衡—实时手动调节,自动复位</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.4.png"></td>
|
||||
<td><p>安全距离—安全距离及时反映到预览画面,调节安全距离可改善畸变</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.5.png"></td>
|
||||
<td><p>添加logo—显示logo,选择路径,调整logo半径</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="p-indent">3、输出功能</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.1.png"></td>
|
||||
<td>
|
||||
<p>本地录制——全景视频实时录制。</p>
|
||||
<p>录制前,需在引导页或设置页面中对录制参数进行设置。</p>
|
||||
<p>录制中,显示录制状态,时间信息;可同时进行RTMP推流、SDI 输出、拍照。</p>
|
||||
<p style="color: red;"><b>注意:若正在推流,录制码率与推流码率相同。</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.2.png"></td>
|
||||
<td>
|
||||
<p>本地拍照——拍摄全景照片,可在录制、RTMP推流、SDI输出同时进行拍照。</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.3.png"></td>
|
||||
<td>
|
||||
<p>回看—一键打开软件自带播放器,播放器默认播放最近一次操作内容画面。右侧列表可选择之前的操作内容。</p>
|
||||
<p style="color: red;"><b> 注意:回放的前提是必须停止录制</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.4.png"></td>
|
||||
<td>
|
||||
<p>RTMP推流—全景视频实时推流</p>
|
||||
<p>推流前,需在引导页或设置页面中对RTMP参数进行设置。</p>
|
||||
<p>推流中,显示推流信息;可同时进行录制、SDI输出、拍照。</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.5.png"></td>
|
||||
<td>
|
||||
<p>SDI输出—全景视频实时输出</p>
|
||||
<p>输出前,需在引导页或设置页面中对SDI参数进行设置。</p>
|
||||
<p>输出中,显示输出信息;可同时进行录制、RTMP推流、拍照。</p>
|
||||
<p style="color: red;"><b>注意:SDI输出质量和RTMP推流质量一致。</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="p-indent">4、其他</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.4.1.png"></td>
|
||||
<td>
|
||||
<p>操作日志—用户操作记录</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.4.2.png"></td>
|
||||
<td>
|
||||
<p>版本信息—版本号,更新信息,官网帮助</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 class="display-h4">设置</h4>
|
||||
<p class="p-indent">1、设备选择:为了更好的缝合效果,更改引导页设备选择设定</p>
|
||||
<p class="p-indent">2、拍录设置:更改引导页拍录路径码率设定或增加引导页未设定的数据</p>
|
||||
<p class="p-indent">3、RTMP&SDI参数设置:更改引导页推流地址&输出质量设定或增加引导页未设定的</p>
|
||||
</div>
|
||||
{/block}
|
127
application/index/view/help/pro3.html
Normal file
127
application/index/view/help/pro3.html
Normal file
@ -0,0 +1,127 @@
|
||||
{extend name="help/base" /}
|
||||
{block name="myContent">
|
||||
<div class="dir">
|
||||
<h4 class="display-h4">引导页</h4>
|
||||
<p class="p-indent">帮助用户进行先前设定。</p>
|
||||
<p class="p-indent">1、设备设定——为了更好的缝合效果,选择设备类型</p>
|
||||
<div align="center"><img src="http://member.7d-vision.com/img/1.1.png" ></div>
|
||||
<p class="p-indent">2、拍录设定</p>
|
||||
<p class="p-indent">设定拍录保存路径——选择拍录操作后文件保存的地址路径</p>
|
||||
<p class="p-indent">录制码率——普通,高端,最佳的码率规格对应不同比特率,比特率是指每秒传送的比特(bit)数。比特率越高,传送数据速度越快,画质越好。</p>
|
||||
<div align="center"><img src="http://member.7d-vision.com/img/1.2.png" ></div>
|
||||
<p class="p-indent">3、更多设置</p>
|
||||
<p class="p-indent">RTMP地址——推流地址设定,RTMP是实时消息传输协议。</p>
|
||||
<p class="p-indent">输出码率设定——每秒传输的兆数越大越清晰。码率即比特率是指每秒传送的比特(bit)数。比特率越高,传送数据速度越快,同时需要的带宽要求也就增大。</p>
|
||||
<p class="p-indent">输出分辨率设定</p>
|
||||
<p class="p-indent">安全距离设定——通过安全距离调整来微调畸变</p>
|
||||
<div align="center"><img src="http://member.7d-vision.com/img/1.3.png" ></div>
|
||||
<h4 class="display-h4">功能使用</h4>
|
||||
<p class="p-indent">1、多模式预监</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.1.1.png"></td>
|
||||
<td><p>平铺模式</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.1.2.png"></td>
|
||||
<td><p>包球/VR模式</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.1.3.png"></td>
|
||||
<td><p>网格模式,单个镜头图像</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="p-indent">2、调节图像</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.1.png"></td>
|
||||
<td><p>调色—实时手动调节,自动复位(包含:滤镜 饱和度 色调 伽玛值 亮度)</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.2.png"></td>
|
||||
<td><p>曝光—实时手动调节,自动复位</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.3.png"></td>
|
||||
<td><p>白平衡—实时手动调节,自动复位</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.4.png"></td>
|
||||
<td><p>安全距离—安全距离及时反映到预览画面,调节安全距离可改善畸变</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.2.5.png"></td>
|
||||
<td><p>添加logo—显示logo,选择路径,调整logo半径</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="p-indent">3、输出功能</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.1.png"></td>
|
||||
<td>
|
||||
<p>本地录制——全景视频实时录制。</p>
|
||||
<p>录制前,需在引导页或设置页面中对录制参数进行设置。</p>
|
||||
<p>录制中,显示录制状态,时间信息;可同时进行RTMP推流、SDI 输出、拍照。</p>
|
||||
<p style="color: red;"><b>注意:若正在推流,录制码率与推流码率相同。</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.2.png"></td>
|
||||
<td>
|
||||
<p>本地拍照——拍摄全景照片,可在录制、RTMP推流、SDI输出同时进行拍照。</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.3.png"></td>
|
||||
<td>
|
||||
<p>回看—一键打开软件自带播放器,播放器默认播放最近一次操作内容画面。右侧列表可选择之前的操作内容。</p>
|
||||
<p style="color: red;"><b> 注意:回放的前提是必须停止录制</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.4.png"></td>
|
||||
<td>
|
||||
<p>RTMP推流—全景视频实时推流</p>
|
||||
<p>推流前,需在引导页或设置页面中对RTMP参数进行设置。</p>
|
||||
<p>推流中,显示推流信息;可同时进行录制、SDI输出、拍照。</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.3.5.png"></td>
|
||||
<td>
|
||||
<p>SDI输出—全景视频实时输出</p>
|
||||
<p>输出前,需在引导页或设置页面中对SDI参数进行设置。</p>
|
||||
<p>输出中,显示输出信息;可同时进行录制、RTMP推流、拍照。</p>
|
||||
<p style="color: red;"><b>注意:SDI输出质量和RTMP推流质量一致。</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="p-indent">4、其他</p>
|
||||
<table class="table-hover table-bordered p-indent table">
|
||||
<tbody valign="middle">
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.4.1.png"></td>
|
||||
<td>
|
||||
<p>操作日志—用户操作记录</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="width: 15%"><img width="50px" src="http://member.7d-vision.com/img/2.4.2.png"></td>
|
||||
<td>
|
||||
<p>版本信息—版本号,更新信息,官网帮助</p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h4 class="display-h4">设置</h4>
|
||||
<p class="p-indent">1、设备选择:为了更好的缝合效果,更改引导页设备选择设定</p>
|
||||
<p class="p-indent">2、拍录设置:更改引导页拍录路径码率设定或增加引导页未设定的数据</p>
|
||||
<p class="p-indent">3、RTMP&SDI参数设置:更改引导页推流地址&输出质量设定或增加引导页未设定的</p>
|
||||
</div>
|
||||
{/block}
|
@ -1 +1,82 @@
|
||||
Hello
|
||||
{extend name="public/base" /}
|
||||
{block name="title"}用户中心{/block}
|
||||
{block name="myStyle"}
|
||||
<link href="__INDEX__/css/members.css" rel="stylesheet">
|
||||
{/block}
|
||||
{block name="myContent"}
|
||||
<header class="header">
|
||||
<nav class="navbar navbar-fixed-top" role="navigation">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||
<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="#"><span class="brand-img"><img src="__INDEX__/img/logo.jpg" alt=""></span><span>七维科技-会员中心</span></a>
|
||||
</div>
|
||||
<div id="navbar" class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><a href="http://www.7d-vision.com/">返回七维首页</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-sm-3 col-md-2 sidebar">
|
||||
<ul class="nav nav-sidebar">
|
||||
<!-- <li class="active"><a href="#">所有产品列表</a></li> -->
|
||||
<li class="active"><a href="#">我的产品</a></li>
|
||||
<li class=""><a href="{:url('Help/index')}">使用帮助</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
|
||||
<h3 class="display-h4"><a class="btn btn-danger btn-lg" href="{:url('Product/index')}">去获取Go!Pano系列产品 <i class="icon-angle-right"></i></a></h3>
|
||||
<if condition="$proNum">
|
||||
<div class="table-responsive">
|
||||
<table class="table" style="table-layout:fixed;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>产品名称</th>
|
||||
<th>产品状态</th>
|
||||
<th>产品购买/下载</th>
|
||||
<th>订单时间</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<volist name="proList" id="vo">
|
||||
<tr>
|
||||
<td>{$vo['proName']}</td>
|
||||
<if condition="$vo['status']">
|
||||
<if condition="$vo['type'] eq 1">
|
||||
<td><span>已购买</span></td>
|
||||
<td><a href="#" class="btn btn-sm btn-default">立即下载</a></td>
|
||||
<elseif condition="$vo['type'] eq 2"/>
|
||||
<td><span>已下载</span></td>
|
||||
<td><a href="{:url('Product/index')}" class="btn btn-sm btn-default">购买正式版</a></td>
|
||||
<else />
|
||||
<td colspan="2"><span>已经购买</span></td>
|
||||
</if>
|
||||
<else/>
|
||||
<td colspan="2"><span>等待审核</span></td>
|
||||
</if>
|
||||
<td>{$vo['addTime'] | date='Y-m-d H:i:s',###}</td>
|
||||
</tr>
|
||||
</volist>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<else />
|
||||
<p class="tc p100"><a href="{:url('Product/index')}">~您还没有购买过任何产品~<br>去获取产品</a></p>
|
||||
</if>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="myScript"}
|
||||
|
||||
{/block}
|
321
application/index/view/product/index.html
Normal file
321
application/index/view/product/index.html
Normal file
@ -0,0 +1,321 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="title"}用户中心{/block}
|
||||
{block name="myStyle"}
|
||||
<link href="__INDEX__/css/product.css" rel="stylesheet">
|
||||
{/block}
|
||||
{block name="myContent"}
|
||||
<div id="bg" style="background-image:url(__INDEX__/img/cover/bg6.jpg);"></div>
|
||||
<div id="bg-mask"></div>
|
||||
|
||||
<header class="header">
|
||||
<nav class="navbar" role="navigation">
|
||||
<div class="container-fluid">
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||
<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="#"><img style="width:50px;" src="__INDEX__/img/logo.jpg" alt=""></a>
|
||||
</div>
|
||||
<div id="navbar" class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><a href="http://www.7d-vision.com">返回七维首页</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<div class="container pt50">
|
||||
<ul class="product-list">
|
||||
<li class="product">
|
||||
<h3 class="product-tit">Go!Pano studio(正式版) <a class="btn btn-link J-proDetail" href="###">查看详情</a></h3>
|
||||
<div class="product-desc-pop hide">
|
||||
<h3 class="product-tit">Go!Pano studio(正式版)</h3>
|
||||
<div class="product-img"><img style="width:100%;" src="__INDEX__/img/product/gopano_studio.jpg" alt=""></div>
|
||||
<div class="product-desc">
|
||||
<h4 class="display-h4">出色4k</h4>
|
||||
<p>实时预监画面<br>
|
||||
支持VR头显、电脑显示器画面预览,一键调节曝光、白平衡、色彩饱和度、伽马值,消除误拍风险
|
||||
</p>
|
||||
|
||||
<h4 class="display-h4">多目镜头</h4>
|
||||
<p>画面完美实时缝合</p>
|
||||
|
||||
<p>支持2-10目镜头的全景视频实时缝合<br>
|
||||
内置算法实时还原真实视角</p>
|
||||
|
||||
<h4 class="display-h4">4K输出</h4>
|
||||
<p>强大的4K输出能力</p>
|
||||
|
||||
<p>支持SDI/HDNI信号输出以及本地画面录制</p>
|
||||
|
||||
<h4 class="display-h4">稳定安全的系统</h4>
|
||||
<p>高效拍摄可不间断连续录制12个小时以上</p>
|
||||
|
||||
<h4 class="display-h4">人性化界面</h4>
|
||||
<p>最贴合摄影师习惯<br>
|
||||
操作界面简洁明了、美观舒适、容易上手</p>
|
||||
|
||||
<h4 class="display-h4">一键美化</h4>
|
||||
<p>打造大片既视感<br>
|
||||
系统自带调色功能,输出更完美、细腻的全景影片</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product-ctrl">
|
||||
<a href="#" proName="Go!Pano studio(正式版)" type="1" class="btn btn-danger J-btn-buy">立即购买</a>
|
||||
<!-- <a href="#" class="btn btn-primary J-btn-downloadFreetrial">下载试用版</a> -->
|
||||
</div>
|
||||
</li>
|
||||
<li class="product">
|
||||
<h3 class="product-tit">Go!Pano studio(体验版) <a class="btn btn-link J-proDetail" href="###">查看详情</a></h3>
|
||||
<div class="product-desc-pop hide">
|
||||
<h3 class="product-tit">Go!Pano studio(体验版)</h3>
|
||||
<div class="product-img"><img style="width:100%;" src="__INDEX__/img/product/gopano_studio_freetrial.jpg" alt=""></div>
|
||||
<div class="product-desc">
|
||||
<h4 class="display-h4">出色4k</h4>
|
||||
<p>实时预监画面<br>
|
||||
支持VR头显、电脑显示器画面预览,一键调节曝光、白平衡、色彩饱和度、伽马值,消除误拍风险
|
||||
</p>
|
||||
|
||||
<h4 class="display-h4">多目镜头</h4>
|
||||
<p>画面完美实时缝合</p>
|
||||
|
||||
<p>支持2-10目镜头的全景视频实时缝合<br>
|
||||
内置算法实时还原真实视角</p>
|
||||
|
||||
<h4 class="display-h4">4K输出</h4>
|
||||
<p>强大的4K输出能力</p>
|
||||
|
||||
<p>支持SDI/HDNI信号输出以及本地画面录制</p>
|
||||
|
||||
<h4 class="display-h4">稳定安全的系统</h4>
|
||||
<p>高效拍摄可不间断连续录制12个小时以上</p>
|
||||
|
||||
<h4 class="display-h4">人性化界面</h4>
|
||||
<p>最贴合摄影师习惯<br>
|
||||
操作界面简洁明了、美观舒适、容易上手</p>
|
||||
|
||||
<h4 class="display-h4">一键美化</h4>
|
||||
<p>打造大片既视感<br>
|
||||
系统自带调色功能,输出更完美、细腻的全景影片</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product-ctrl">
|
||||
<!-- <a href="#" class="btn btn-danger J-btn-buy">立即购买</a> -->
|
||||
<a href="#" proName="Go!Pano studio(体验版)" type="2" url="{:url('Product/buy')}" class="btn btn-primary J-btn-downloadFreetrial">下载试用版</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="product">
|
||||
<h3 class="product-tit">Go!Pano studio for Free<a class="btn btn-link J-proDetail" href="###">查看详情</a></h3>
|
||||
<div class="product-desc-pop hide">
|
||||
<h3 class="product-tit">Go!Pano studio for Free</h3>
|
||||
<div class="product-img"><img style="width:100%;" src="__INDEX__/img/product/gopano_studio.jpg" alt=""></div>
|
||||
<div class="product-desc">
|
||||
<h4 class="display-h4">出色4k</h4>
|
||||
<p>实时预监画面<br>
|
||||
支持VR头显、电脑显示器画面预览,一键调节曝光、白平衡、色彩饱和度、伽马值,消除误拍风险
|
||||
</p>
|
||||
|
||||
<h4 class="display-h4">多目镜头</h4>
|
||||
<p>画面完美实时缝合</p>
|
||||
|
||||
<p>支持2-10目镜头的全景视频实时缝合<br>
|
||||
内置算法实时还原真实视角</p>
|
||||
|
||||
<h4 class="display-h4">4K输出</h4>
|
||||
<p>强大的4K输出能力</p>
|
||||
|
||||
<p>支持SDI/HDNI信号输出以及本地画面录制</p>
|
||||
|
||||
<h4 class="display-h4">稳定安全的系统</h4>
|
||||
<p>高效拍摄可不间断连续录制12个小时以上</p>
|
||||
|
||||
<h4 class="display-h4">人性化界面</h4>
|
||||
<p>最贴合摄影师习惯<br>
|
||||
操作界面简洁明了、美观舒适、容易上手</p>
|
||||
|
||||
<h4 class="display-h4">一键美化</h4>
|
||||
<p>打造大片既视感<br>
|
||||
系统自带调色功能,输出更完美、细腻的全景影片</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product-ctrl">
|
||||
<a href="#" class="btn btn-default J-btn-buy disabled">即将开放</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="product">
|
||||
<h3 class="product-tit">Go!Pano Sony-RigⅡ<a class="btn btn-link J-proDetail" href="###">查看详情</a></h3>
|
||||
<div class="product-desc-pop hide">
|
||||
<h3 class="product-tit">Go!Pano Sony-RigⅡ</h3>
|
||||
<div class="product-img"><img style="width:100%;" src="__INDEX__/img/product/sony_rig_2.png" alt=""></div>
|
||||
<div class="product-desc">
|
||||
<p>2代 用最少个数的相机,占用最小的空间组成覆盖360°x 360°的视角度全景图像,适合室外远景(演唱会,赛事)</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product-ctrl">
|
||||
<a href="#" proName="Go!Pano Sony-RigⅡ" type="0" class="btn btn-danger J-btn-buy">立即购买</a>
|
||||
<!-- <a href="#" class="btn btn-link J-btn-downloadFreetrial">下载试用版</a> -->
|
||||
</div>
|
||||
</li>
|
||||
<li class="product">
|
||||
<h3 class="product-tit">Go!Pano Sony-RigⅢ<a class="btn btn-link J-proDetail" href="###">查看详情</a></h3>
|
||||
<div class="product-desc-pop hide">
|
||||
<h3 class="product-tit">Go!Pano Sony-RigⅢ</h3>
|
||||
<div class="product-img"><img style="width:100%;" src="__INDEX__/img/product/sony_rig_3.jpg" alt=""></div>
|
||||
<div class="product-desc">
|
||||
<p>3代 相机组合覆盖360°x300°视角度的全景图像,水平三台相机减少拼接从而保证水平画面足够清晰,顶部一个相机使天空完美无缝,适合室内近景直播。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="product-ctrl">
|
||||
<a href="#" proName="Go!Pano Sony-RigⅢ" type="0" class="btn btn-danger J-btn-buy">立即购买</a>
|
||||
<!-- <a href="#" class="btn btn-link J-btn-downloadFreetrial">下载试用版</a> -->
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div> <!-- /container -->
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="orderModal" tabindex="-1" role="dialog" aria-labelledby="orderModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||
<h4 class="modal-title" id="orderModalLabel">填写完善您的资料</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="form-area form-product" role="form" id="form-product">
|
||||
<input type="hidden" name="proName" value="">
|
||||
<input type="hidden" name="type" value="">
|
||||
<div class="form-group">
|
||||
<label for="J-form-phoneNumber">电子邮箱</label>
|
||||
<div class="por">
|
||||
<input type="email" name="email" class="form-control form-control-phone" id="J-form-phoneNumber" placeholder="请填写联系人电子邮箱" required autofocus>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" id="J-form-usertype">
|
||||
<label for="">用户类型</label>
|
||||
<div class="fix">
|
||||
<div class="fl mr50">
|
||||
<div class="radio">
|
||||
<label>
|
||||
<input type="radio" checked name="usertype" id="J-form-type-personal" value="personal">
|
||||
个人
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fl">
|
||||
<div class="radio">
|
||||
<label>
|
||||
<input type="radio" name="usertype" id="J-form-type-company" value="company">
|
||||
公司
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" id="J-form-name">
|
||||
<label for="">个人名称</label>
|
||||
<div class="por">
|
||||
<input type="text" name="name" class="form-control" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="">您的位置</label>
|
||||
<div class="">
|
||||
<select name="location" id="" class="form-control">
|
||||
<volist name="pro" id="vo">
|
||||
<option value="{$key}">{$vo}</option>
|
||||
</volist>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="J-form-company">现有设备</label>
|
||||
<div class="por">
|
||||
<input type="text" class="form-control form-control-phone" id="J-form-company" placeholder="填写现有设备" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="submit" class="btn btn-primary ajax-post" target-form="form-product" href="{:url('Product/buy')}" >提交</button>
|
||||
<p style="color:#c33;font-weight:bold;">提交后会有工作人员跟您联系</p>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="proDetailModal" tabindex="-1" role="dialog" aria-labelledby="proDetailModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
|
||||
<h4 class="modal-title">商品详情</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<img src="#" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="myScript"}
|
||||
<script src="__INDEX__/lib/happy-validate/happy.js"></script>
|
||||
<script src="__INDEX__/lib/happy-validate/happy.methods.js"></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('#form-signin').isHappy({
|
||||
fields: {
|
||||
'#J-form-phoneNumber': {
|
||||
required: true,
|
||||
message: '请输入格式正确的手机号',
|
||||
test: happy.USPhone
|
||||
},
|
||||
'#J-form-pw': {
|
||||
required: true,
|
||||
message: '请输入密码'
|
||||
}
|
||||
}
|
||||
});
|
||||
$('.J-btn-buy').on('click', function(){
|
||||
$("input[name=proName]").val($(this).attr('proName'));
|
||||
$("input[name=type]").val($(this).attr('type'));
|
||||
$('#orderModal').modal('show');
|
||||
});
|
||||
$('.J-btn-downloadFreetrial').on('click', function(){
|
||||
var proName = $(this).attr('proName');
|
||||
var type = $(this).attr('type');
|
||||
var target = $(this).attr('url');
|
||||
var query = {proName:proName,type:type};
|
||||
$.post(target, query).success(function(data) {
|
||||
return;
|
||||
});
|
||||
alert('btn-download-free');
|
||||
});
|
||||
|
||||
// 选择用户类型
|
||||
$('#J-form-usertype').on('click', 'input:radio',function(e){
|
||||
// e.preventDefault();
|
||||
var $form_anme = $('#J-form-name');
|
||||
var label = $form_anme.find('label');
|
||||
// console.log($(this).val());
|
||||
if ($(this).val() == 'personal') {
|
||||
label.text('个人名称');
|
||||
}else{
|
||||
label.text('公司名称');
|
||||
};
|
||||
})
|
||||
|
||||
$('.J-proDetail').on('click', function(e){
|
||||
e.preventDefault();
|
||||
var $parent = $(this).parents('.product');
|
||||
var $desc = $parent.find('.product-desc-pop').clone().removeClass('hide');
|
||||
$('#proDetailModal').find('.modal-body').html($desc);
|
||||
$('#proDetailModal').modal('show');
|
||||
})
|
||||
});
|
||||
</script>
|
||||
{/block}
|
44
application/index/view/public/base.html
Normal file
44
application/index/view/public/base.html
Normal file
@ -0,0 +1,44 @@
|
||||
<!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="">
|
||||
<link rel="icon" href="__INDEX__/img/favicon.ico">
|
||||
|
||||
<title>七维科技-{block name="title"}{/block}</title>
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="__INDEX__/lib/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="__INDEX__/css/main.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template -->
|
||||
{block name="myStyle"}{/block}
|
||||
<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
|
||||
<!--[if lt IE 9]><script src="__INDEX__/js/ie8-responsive-file-warning.js"></script><![endif]-->
|
||||
<script src="__INDEX__/lib/ie-emulation-modes-warning.js"></script>
|
||||
|
||||
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
|
||||
<!--[if lt IE 9]>
|
||||
<script src="__INDEX__/lib/html5shiv.js"></script>
|
||||
<script src="__INDEX__/lib/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
{block name="myContent"}{/block}
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="__INDEX__/lib/jquery.min.js"></script>
|
||||
<script src="__INDEX__/lib/bootstrap.min.js"></script>
|
||||
<!-- <script src="__INDEX__/lib/docs.min.js"></script> -->
|
||||
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
|
||||
<script src="__INDEX__/lib/ie10-viewport-bug-workaround.js"></script>
|
||||
<script src="__INDEX__/js/alertMSG.js"></script>
|
||||
<script src="__INDEX__/js/app.js"></script>
|
||||
{block name="myScript"}{/block}
|
||||
</body>
|
||||
</html>
|
||||
|
48
application/index/view/user/adminList.html
Normal file
48
application/index/view/user/adminList.html
Normal file
@ -0,0 +1,48 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>七维科技-购买列表</title>
|
||||
<link rel="stylesheet" href="//cdn.bootcss.com/semantic-ui/2.2.4/semantic.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="ui container">
|
||||
<h2> </h2>
|
||||
<table class="ui celled striped red table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>用户编号</th>
|
||||
<th>购买产品</th>
|
||||
<th>用户姓名</th>
|
||||
<th>用户手机号</th>
|
||||
<th>用户所在地</th>
|
||||
<th>企业名称</th>
|
||||
<th>订单时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<volist name="proList" id="vo">
|
||||
<tr>
|
||||
<td>{$vo['uid']}</td>
|
||||
<td>{$vo['proName']}</td>
|
||||
<td>{$vo['name']|default='-'}</td>
|
||||
<td>{$vo['phone']|default='-'}</td>
|
||||
<td>{$vo['city']|default='-'}</td>
|
||||
<td>{$vo['company']|default='-'}</td>
|
||||
<td>{$vo['addTime']}</td>
|
||||
<if condition="$vo['status'] eq 0" >
|
||||
<td><a href="{:url('User/handleOrder', ['code' => 1, '_id' => $vo['_id']])}" class="ui green button">处理订单</a></td>
|
||||
<else />
|
||||
<td><a href="{:url('User/handleOrder', ['code' => 0, '_id' => $vo['_id']])}" class="ui red button">撤销状态</a></td>
|
||||
</if>
|
||||
</tr>
|
||||
</volist>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
53
application/index/view/user/index.html
Normal file
53
application/index/view/user/index.html
Normal file
@ -0,0 +1,53 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="title"}用户中心{/block}
|
||||
{block name="myStyle"}
|
||||
<link href="__INDEX__/css/sign.css" rel="stylesheet">
|
||||
{/block}
|
||||
{block name="myContent"}
|
||||
<div id="bg" style="background-image:url(__INDEX__/img/cover/bg4.jpg);"></div>
|
||||
<div id="bg-mask"></div>
|
||||
|
||||
<div class="container">
|
||||
<a class="btn btn-lg btn-link fw-bold" href="http://www.7d-vision.com">返回七维首页</a>
|
||||
<form class="form-area form-signin" role="form" id="form-signin">
|
||||
<h2 class="form-heading display-h2">7D-VISION ID 登陆</h2>
|
||||
<div class="por">
|
||||
<input type="text" name="user" class="form-control form-control-phone roundCorner-tl roundCorner-tr" id="J-form-phoneNumber" placeholder="手机号" required autofocus>
|
||||
</div>
|
||||
<div class="por">
|
||||
<input type="password" name="password" class="form-control roundCorner-bl roundCorner-br" id="J-form-pw" placeholder="密码" required>
|
||||
</div>
|
||||
<div class="fix">
|
||||
<div class="checkbox fl" style="margin-top:0;">
|
||||
<label><input type="checkbox" value="remember-me"> 记住我</label>
|
||||
</div>
|
||||
<div class="fr">
|
||||
<a href="{:url('User/recover')}">忘记密码?</a>
|
||||
</div>
|
||||
</div>
|
||||
<button class="btn btn-lg btn-danger btn-block ajax-post" target-form="form-signin" href="{:url('User/login')}" type="submit">登录</button>
|
||||
<p class="p10">还不是会员? <a href="{:url('User/register')}">去注册7D-VISION ID</a></p>
|
||||
</form>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="myScript"}
|
||||
<script src="__INDEX__/lib/happy-validate/happy.js"></script>
|
||||
<script src="__INDEX__/lib/happy-validate/happy.methods.js"></script>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('#form-signin').isHappy({
|
||||
fields: {
|
||||
'#J-form-phoneNumber': {
|
||||
required: true,
|
||||
message: '请输入格式正确的手机号',
|
||||
test: happy.USPhone,
|
||||
},
|
||||
'#J-form-pw': {
|
||||
required: true,
|
||||
message: '请输入密码'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/block}
|
93
application/index/view/user/recover.html
Normal file
93
application/index/view/user/recover.html
Normal file
@ -0,0 +1,93 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="title"}用户中心{/block}
|
||||
{block name="myStyle"}
|
||||
<link href="__INDEX__/css/sign.css" rel="stylesheet">
|
||||
{/block}
|
||||
{block name="myContent"}
|
||||
<div id="bg" style="background-image:url(__INDEX__/img/cover/bg9.jpg);"></div>
|
||||
<div id="bg-mask"></div>
|
||||
|
||||
<div class="container">
|
||||
<a class="btn btn-lg btn-link fw-bold" href="http://www.7d-vision.com">返回七维首页</a>
|
||||
<form class="form-area form-recover" role="form" id="form-recover">
|
||||
<h2 class="form-heading display-h2">找回密码</h2>
|
||||
<div class="por">
|
||||
<input type="text" class="form-control roundCorner-bl-no roundCorner-br-no form-control-phone" id="J-form-phoneNumber" name="user" placeholder="手机号" required autofocus>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 pr0 por">
|
||||
<input type="text" class="form-control roundCorner-no border-r-no mb-1 form-control-phoneMsg" name="code" id="J-form-phoneMsg" placeholder="验证码" required>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 pl0 por">
|
||||
<button class="btn btn-lg btn-default btn-block roundCorner-no fl mb-1 btn-getPhoneMsg fs12" id="J-btn-getPhoneMsg" type="button">
|
||||
发送短信验证码
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="por">
|
||||
<input type="password" class="form-control form-control-pw roundCorner-no por" id="J-form-pw" name="password" placeholder="设置密码" required>
|
||||
</div>
|
||||
<div class="por">
|
||||
<input type="password" class="form-control form-control-pwConfirm roundCorner-tl-no roundCorner-tr-no por" name="rePassword" id="J-form-pwconfirm" placeholder="再次输入密码" required>
|
||||
</div>
|
||||
<button class="btn btn-lg btn-primary btn-block ajax-post" target-form="form-recover" href="{:url('User/recover')}" type="submit">重置密码</button>
|
||||
<p class="p10">已是会员? <a href="{:url('User/index')}">去登陆</a></p>
|
||||
<p class="p10">不是会员? <a href="{:url('User/register')}">去注册</a></p>
|
||||
</form>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="myScript"}
|
||||
<script src="__INDEX__/lib/happy-validate/happy.js"></script>
|
||||
<script src="__INDEX__/lib/happy-validate/happy.methods.js"></script>
|
||||
<script src="__INDEX__/js/timeTick.js"></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('#form-register').isHappy({
|
||||
fields: {
|
||||
'#J-form-phoneNumber': {
|
||||
required: true,
|
||||
message: '请输入正确的手机号'
|
||||
},
|
||||
'#J-form-phoneMsg': {
|
||||
required: true,
|
||||
message: '必填'
|
||||
},
|
||||
'#J-form-pw': {
|
||||
required: true,
|
||||
message: '必填'
|
||||
},
|
||||
'#J-form-pwconfirm': {
|
||||
required: true,
|
||||
message: '必填'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 发送验证码
|
||||
var timeTick = new TimeTick({
|
||||
el: '#J-btn-getPhoneMsg',
|
||||
time: 60,
|
||||
onClicked: function(){
|
||||
var phone = $('#J-form-phoneNumber').val();
|
||||
var result ;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "{:url('User/getCode')}",
|
||||
data: "user=" + phone,
|
||||
async: false,
|
||||
success: function(msg){
|
||||
if( msg.status == 200 ){
|
||||
result = true;
|
||||
}else{
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
{/block}
|
100
application/index/view/user/register.html
Normal file
100
application/index/view/user/register.html
Normal file
@ -0,0 +1,100 @@
|
||||
{extend name="public/base" /}
|
||||
{block name="title"}用户中心{/block}
|
||||
{block name="myStyle"}
|
||||
<link href="__INDEX__/css/sign.css" rel="stylesheet">
|
||||
{/block}
|
||||
{block name="myContent"}
|
||||
<div id="bg" style="background-image:url(__INDEX__/img/cover/bg9.jpg);"></div>
|
||||
<div id="bg-mask"></div>
|
||||
|
||||
<div class="container">
|
||||
<a class="btn btn-lg btn-link fw-bold" href="http://www.7d-vision.com">返回七维首页</a>
|
||||
<form class="form-area form-register" role="form" id="form-register">
|
||||
<h2 class="form-heading display-h2">7D-VISION ID 注册</h2>
|
||||
<div class="por">
|
||||
<input type="text" class="form-control roundCorner-bl-no roundCorner-br-no form-control-phone" id="J-form-phoneNumber" name="user" placeholder="手机号" required autofocus>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 pr0 por">
|
||||
<input type="text" class="form-control roundCorner-no border-r-no mb-1 form-control-phoneMsg" name="code" id="J-form-phoneMsg" placeholder="验证码" required>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-6 col-md-6 pl0 por">
|
||||
<button class="btn btn-lg btn-default btn-block roundCorner-no fl mb-1 btn-getPhoneMsg fs12" id="J-btn-getPhoneMsg" type="button">
|
||||
发送短信验证码
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="por">
|
||||
<input type="password" class="form-control form-control-pw roundCorner-no por" id="J-form-pw" name="password" placeholder="设置密码" required>
|
||||
</div>
|
||||
<div class="por">
|
||||
<input type="password" class="form-control form-control-pwConfirm roundCorner-tl-no roundCorner-tr-no por" name="rePassword" id="J-form-pwconfirm" placeholder="再次输入密码" required>
|
||||
</div>
|
||||
<button class="btn btn-lg btn-primary btn-block ajax-post" target-form="form-register" href="{:url('User/register')}" type="submit">注册</button>
|
||||
<p class="p10">已是会员? <a href="{:url('User/index')}">去登陆</a></p>
|
||||
</form>
|
||||
</div>
|
||||
{/block}
|
||||
{block name="myScript"}
|
||||
<script src="__INDEX__/lib/happy-validate/happy.js"></script>
|
||||
<script src="__INDEX__/lib/happy-validate/happy.methods.js"></script>
|
||||
<script src="__INDEX__/js/timeTick.js"></script>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('#form-register').isHappy({
|
||||
fields: {
|
||||
'#J-form-phoneNumber': {
|
||||
required: true,
|
||||
message: '请输入正确的手机号'
|
||||
},
|
||||
'#J-form-phoneMsg': {
|
||||
required: true,
|
||||
message: '必填'
|
||||
},
|
||||
'#J-form-pw': {
|
||||
required: true,
|
||||
message: '必填'
|
||||
},
|
||||
'#J-form-pwconfirm': {
|
||||
required: true,
|
||||
message: '必填'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 发送验证码
|
||||
var timeTick = new TimeTick({
|
||||
el: '#J-btn-getPhoneMsg',
|
||||
time: 60,
|
||||
onClicked: function(){
|
||||
var alertMSG = new AlertMSG();
|
||||
var phone = $('#J-form-phoneNumber').val();
|
||||
var reg = /^1[3458]\d{9}$/;
|
||||
if (!(reg.test(phone))) {
|
||||
alertMSG.showAlert({
|
||||
msg:'<p>手机号不合法</p>'
|
||||
});
|
||||
}else{
|
||||
var result ;
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "{:url('User/getCode')}",
|
||||
data: "user=" + phone,
|
||||
async: false,
|
||||
success: function(msg){
|
||||
if( msg.status == 200 ){
|
||||
result = true;
|
||||
}else{
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
{/block}
|
Loading…
x
Reference in New Issue
Block a user