dever пре 7 година
родитељ
комит
f1810f51ec

+ 13 - 1
config/base.php

@@ -11,6 +11,16 @@ $config['base'] = array
 	'apiConfig' => true,
 	'apiSignature' => 'db',
 
+	'qrcode' => array
+	(
+		# 二维码类型:google、php、jquery 暂时只支持php
+		'type' => 'php',
+		# 是否生成本地文件
+		'local' => false,
+		# 大小
+		'size' => 15,
+	),
+
 	# 站点使用邮箱还是手机作为主账号,如果是手机,请填写手机验证码的配置接口
 	'account' => 'mobile',
 	# 性别转换 passport里1为男、2为女 3为未知,如果前端定义与这个不同,请做好转换
@@ -91,6 +101,8 @@ $config['template'] = array
 		'user/exchange' => 'recharge',
 		# 用户资料更新
 		'user/update' => 'updateprofile',
+		# 修改密码
+		'user/password' => 'password',
 
 		# 用户小队
 		'user/group' => 'team',
@@ -112,7 +124,7 @@ $config['template'] = array
 		'help/list'	=> 'help',
 		'help/view' => 'help-article',
 
-		# 剩余我的消息、更改资料、生成二维码、瀑布流、按钮置灰色
+		# 剩余我的消息(需要接入消息系统)、资料认证、按钮置灰色
 	),
 	
 );

+ 34 - 5
main/assets/mobile/js/config.js

@@ -1,11 +1,26 @@
 //定义一些常用的方法,这是dever框架中自带的常用方法,必须引入jquery
 
+//更新用户信息
+function updateUser(url)
+{
+	var username = $("#username").val();
+	var sex = $("#sex").val();
+	var send = {}
+	send.username = username;
+	send.sex = sex;
+	if (url) {
+		send.avatar = url;
+	}
+	$.get(Dever.Host('task', 'user.set'), send);
+}
+
 //定义瀑布流
 Dever.Page().name = '#page';
+Dever.Page().loading = '.loadding';
 
 //定义默认的alert
 Dever.modal = new Dever.Modal();
-Dever.modal.html = '<section class="notify">身份证号最多18位</section>';
+Dever.modal.html = '<section class="notify" style="display:none;">身份证号最多18位</section>';
 Dever.modal.box = '.notify';
 Dever.modal.content = '.notify';
 Dever.modal.timeout = 2000;
@@ -29,7 +44,11 @@ layer.Show = function(e)
 	var cash_desc = e.attr('layer-cash_desc');
 	self.title.html(title);
 	self.content.find('dt').html(info);
-	if (cash_desc) self.content.find('p').eq(0).html(cash_desc);
+	if (cash_desc) {
+		self.content.find('p').eq(0).html(cash_desc);
+	} else {
+		self.content.find('p').eq(0).html('');
+	}
 	self.content.find('p').eq(1).html(desc);
 	self.box.show();
 	var callback = {};
@@ -51,13 +70,13 @@ certify.Init();
 certify.Show = function(url)
 {
 	var self = this;
-	self.box.show();
+	var msg = $('#certify').attr('msg');
 	var callback = {};
 	callback.yes = function()
 	{
 		location.href = url;
 	}
-	self.Bind(callback);
+	self.Confirm(msg, callback);
 };
 
 
@@ -291,4 +310,14 @@ Dever.Upload().callback =
 
 		return false;
 	}
-};
+
+	,'uploadAvatar' : function(e, url, close)
+	{
+		if (e.find('img').length) {
+			e.find('img').attr('src', url).show();
+		}
+
+		updateUser(url);
+		return false;
+	}
+};

+ 1 - 1
main/assets/mobile/updateprofile.html

@@ -27,7 +27,7 @@
             </section>
             <section class="form-item">
                 <label for="">昵称</label>
-                <span class="input txtr">森屿海巷</span>
+                <input type="text" class="txtr" value="">
             </section>
             <section class="form-item">
                 <label for="">性别</label>

+ 7 - 0
main/src/Data.php

@@ -40,4 +40,11 @@ class Data
 
 		return $url;
 	}
+
+	# 测试二维码
+	public function qrcode()
+	{
+		Dever::import('qrcode');
+		return Dever::qrcode('test');
+	}
 }

+ 7 - 3
main/template/mobile/forget.php

@@ -1,12 +1,16 @@
 <?php
 
+if (!isset($title)) {
+	$title = '找回密码';
+}
+
 $view
 
 ->import('inc/head')
 
-->set('title', '找回密码')
+->set('title', $title)
 ->set('name', 'password')
-->fetch('header span', '找回密码')
+->fetch('header span', $title)
 
 ->fetch('.back@href',    'javascript:history.go(-1)')
 
@@ -16,7 +20,7 @@ $view
 
 ->fetch(array('input@id', 1), 'mcode')
 ->fetch(array('input@name', 1), 'mcode')
-->fetch(array('input@dever-error', 1), '请填写收集验证码')
+->fetch(array('input@dever-error', 1), '请填写手机验证码')
 
 ->fetch(array('input@id', 2), 'password')
 ->fetch(array('input@name', 2), 'password')

+ 3 - 1
main/template/mobile/help/list.php

@@ -26,7 +26,7 @@ $view
     (
         'a' => array
         (
-            'href' => '<{Dever::url("help/view?id=$v.id", "main")}>',
+            'href' => '<{Dever::url("help/view?id=".$v.id, "main")}>',
             'span' => array
             (
                 'html' => '$v.name',
@@ -35,6 +35,8 @@ $view
     )
 )
 
+->append('.wrapper', '<div id="page" dever-page-link="<{Dever::pageInfo()["link"]}>" dever-page-list=".wrapper"></div>')
+
 ->import('inc/foot')
 
 ->display();

+ 2 - 1
main/template/mobile/reg.php

@@ -9,6 +9,7 @@ $view
 ->fetch('header span', '注册')
 
 ->fetch('.back@href',    'javascript:history.go(-1)')
+->fetch('.back@check',    'passport/login.check')
 
 ->fetch('.txtc a',    '《<{Dever::load("main/config-one#title")}>用户服务协议》')
 
@@ -34,7 +35,7 @@ $view
 ->fetch('.button@type', 'button')
 ->fetch('.button@id', 'reg')
 
-->append('header', '<input type="hidden" name="refer" id="refer" value="<{Dever::input("refer")}>">')
+->append('header', '<input type="hidden" name="refer" id="refer" value="<{Dever::input("refer")}><input type="hidden" name="param" id="param" value="qrcode=<{Dever::input("qrcode")}>">')
 
 ->import('inc/foot')
 

+ 2 - 2
main/template/mobile/user/account.php

@@ -46,7 +46,7 @@ $view
         ),
         '.arrow-r|3' => array
         (
-            'href' => '<{Dever::url("user/code", "main")}>',
+            'href' => '<{Dever::url("user/group_code", "main")}>',
         ),
         '.arrow-r|4' => array
         (
@@ -54,7 +54,7 @@ $view
         ),
         '.arrow-r|5' => array
         (
-            'href' => '<{Dever::url("user/help", "main")}>',
+            'href' => '<{Dever::url("help/list", "main")}>',
         ),
 
         'a|6' => array

+ 3 - 1
main/template/mobile/user/group.php

@@ -35,7 +35,9 @@ $view
     )
 )
 
-->fetch('.loadding@id', '#page')
+->fetch('.loadding@style', 'display:none;')
+
+->append('.wrapper', '<div id="page" dever-page-link="<{Dever::pageInfo()["link"]}>" dever-page-list=".wrapper"></div>')
 
 ->import('inc/foot')
 

+ 6 - 2
main/template/mobile/user/info_certify.php

@@ -8,7 +8,8 @@ $view
 ->set('name', 'certify')
 ->fetch('header span', $title)
 
-->fetch('header .back@href',    '<{Dever::url("user/account", "main")}>')
+//->fetch('header .back@href',    '<{Dever::url("user/account", "main")}>')
+->fetch('.back@href',    'javascript:history.go(-1)')
 
 ->set('info', 'task/user.info')
 
@@ -36,7 +37,7 @@ $view
 ->fetch(array('.uploader', 0), '<style>.layui-upload-file{display:none;}</style><img src="<{Dever::load("task/user.info#card_front")}>" alt="" style="<{Dever::load("task/user.info#card_front") ? "" : "display:none;"}>"><input type="file" class="img-add dever-upload" id="upload_front" dever-upload-value="card_front" dever-upload-callback="uploadCard"><input type="hidden" id="card_front" name="card_front" value="<{Dever::load("task/user.info#card_front")}>" dever-error="请上传身份证正面">')
 
 
-->fetch(array('.uploader', 1), '<style>.layui-upload-file{display:none;}</style><img src="<{Dever::load("task/user.info#card_front")}>" alt="" style="<{Dever::load("task/user.info#card_front") ? "" : "display:none;"}>"><input type="file" class="img-add dever-upload" id="upload_end" dever-upload-value="card_end" dever-upload-callback="uploadCard"><input type="hidden" id="card_end" name="card_end" value="<{Dever::load("task/user.info#card_end")}>" dever-error="请上传身份证背面">')
+->fetch(array('.uploader', 1), '<style>.layui-upload-file{display:none;}</style><img src="<{Dever::load("task/user.info#card_end")}>" alt="" style="<{Dever::load("task/user.info#card_end") ? "" : "display:none;"}>"><input type="file" class="img-add dever-upload" id="upload_end" dever-upload-value="card_end" dever-upload-callback="uploadCard"><input type="hidden" id="card_end" name="card_end" value="<{Dever::load("task/user.info#card_end")}>" dever-error="请上传身份证背面">')
 
 
 ->fetch(array('.button@class', 0), 'button')
@@ -46,4 +47,7 @@ $view
 
 ->import('inc/foot')
 
+
+->append('body',    '<script src="'.Dever::assets('lib/layui/layui.js', 'script').'"></script>')
+
 ->display();

+ 3 - 0
main/template/mobile/user/password.php

@@ -0,0 +1,3 @@
+<?php
+$title = '修改密码';
+include(dirname(__FILE__) . DIRECTORY_SEPARATOR . '../forget.php');

+ 7 - 6
main/template/mobile/user/score.php

@@ -1,6 +1,5 @@
 <?php
 $title = '我的账户';
-
 $view
 
 # 公共页面,这种方式不会更改前端代码,还有一种方式可以参考manage组件
@@ -21,15 +20,17 @@ $view
 (
     '.wrapper' => array
     (
-        '.ico-cions' => array
+        '.cions-count' => array
         (
-            'html' => '$v.score',
+            'html' => '<i class="ico-cions"></i><{$v.score}>',
         ),
 
         '.button' => array
         (
             'html' => '<{Dever::load("main/config-one#score_name")}>兑换',
             'href' => '$v.exchange',
+            'msg' => '资料认证通过后才能兑换金币',
+            'id' => 'certify',
         ),
     ), 
 ))
@@ -47,6 +48,7 @@ $view
             'layer-info' => '$v.info',
             'layer-desc' => '$v.desc',
             'layer-cash_desc' => '$v.cash_desc',
+            'style' => 'cursor:pointer;',
             'onclick' => 'layer.Show($(this))',
         ),
         'span|0' => array
@@ -66,13 +68,12 @@ $view
 )
 
 ->fetch('.layer@style', 'display:none;')
-->fetch('.layer img@src', '<{Dever::assets("images/f936ea19.giftbox.png", "images")}>')
 
 # 暂无记录
 ->append('.records', '<{Dever::load("task/score.logs") ? "" : \'<section class="no-result">
-            <img src="<{Dever::assets("images/5dcefa7b.no-records.png", "images")}>" alt="">
+            <img src="'.Dever::assets("5dcefa7b.no-records.png", "images").'" alt="">
             <p>暂无记录</p>
-        </section>\'}>')
+        </section>\'}>') 
 
 ->import('inc/foot')
 

+ 1 - 0
main/template/mobile/user/set.php

@@ -24,6 +24,7 @@ $view
 
 ->fetch(array('input@id', 2), 'code')
 ->fetch(array('input@name', 2), 'code')
+->fetch(array('input@value', 2), '<{Dever::input("qrcode")}>')
 
 ->fetch('.disable@style', 'display:none')
 

+ 11 - 13
main/template/mobile/user/update.php

@@ -10,31 +10,29 @@ $view
 ->fetch('header span', '修改资料')
 ->fetch('header .back@href',    '<{Dever::url("user/account", "main")}>')
 
-->fetch('.txtc@style',    'display:none;')
+->fetch(array('input@id', 0), 'mobile')
+->fetch(array('input@name', 0), 'mobile')
+->fetch(array('input@value', 0), '<{Dever::load("task/user.one#mobile")}>')
+->fetch(array('input@disabled', 0), 'true')
 
 ->fetch(array('input@id', 1), 'username')
 ->fetch(array('input@name', 1), 'username')
 ->fetch(array('input@dever-error', 1), '请填写昵称')
 ->fetch(array('input@value', 1), '<{Dever::load("task/user.one#username")}>')
 
-->fetch(array('input@id', 1), 'sex')
-->fetch(array('input@name', 1), 'sex')
-->fetch(array('input@dever-error', 1), '请选择性别')  
+->fetch(array('input@id', 2), 'sex')
+->fetch(array('input@name', 2), 'sex')
+->fetch(array('input@dever-error', 2), '请选择性别')  
 
-->fetch(array('input@id', 2), 'code')
-->fetch(array('input@name', 2), 'code')
-
-->fetch('.disable@style', 'display:none')
-
-->fetch(array('.button@class', 0), 'button')
-->fetch(array('.button@type', 0), 'button')
-->fetch(array('.button@id', 0), 'set')
+->fetch(array('.avatar-cont', 0), '<style>.layui-upload-file{display:none;}</style><span>头像</span><a class="dever-upload" id="upload_avatar" dever-upload-value="avatar" dever-upload-callback="uploadAvatar"><img class="avatar" src="<{Dever::load("task/user.one#avatar")}>" alt="" style="<{Dever::load("task/user.one#avatar") ? "" : "display:none;"}>"></a><input type="file" ><input type="hidden" id="avatar" name="avatar" value="<{Dever::load("task/user.one#avatar")}>" dever-error="请上传头像">')
 
 ->fetch('.male@sex-val', 0)
 ->fetch('.female@sex-val', 1)
 
-->append('header', '<input type="hidden" name="refer" id="refer" value="<{Dever::input("refer")}>">')
+->fetch('.arrow-r@href', '<{Dever::url("user/password", "main")}>')
 
 ->import('inc/foot')
 
+->append('body', 	'<script src="'.Dever::assets('lib/layui/layui.js', 'script').'"></script>')
+
 ->display();

+ 1 - 1
task/database/user_group.php

@@ -57,7 +57,7 @@ return array
 			'match' 	=> 'is_string',
 			'update'	=> 'text',
 			'search'	=> 'fulltext',
-			'list'		=> true,
+			//'list'		=> true,
 		),
 
 		'code'		=> array

+ 2 - 1
task/lib/Base.php

@@ -76,7 +76,8 @@ class Base
 		$this->data['user_score'] = Dever::db('task/user_score')->one($where);
 		if (!$this->data['user_score']) {
             $refer = Dever::url();
-            $url = Dever::url('user/set?refer=' . Dever::encode($refer), 'main');
+            $qrcode = Dever::input('qrcode');
+            $url = Dever::url('user/set?refer=' . Dever::encode($refer) . '&qrcode=' . $qrcode, 'main');
             Dever::location($url);
             /*
 			$this->data['user_score'] = array();

+ 9 - 1
task/src/Group.php

@@ -70,11 +70,19 @@ class Group extends Base
         }
 
         # 生成二维码图片
-        $group['url'] = '';
+        $url = Dever::url('reg?qrcode=' . $group['code'], 'main');
+        $group['url'] = Dever::url('task/group.qrcode?url=' . urlencode($url));
 
         return $group;
     }
 
+    public function qrcode()
+    {
+        Dever::import('qrcode');
+        $url = urldecode(Dever::input('url'));
+        return Dever::qrcode($url);
+    }
+
     private function createCode()
     {
         $config = Dever::db('main/config')->one();

+ 1 - 0
task/src/Help.php

@@ -15,6 +15,7 @@ class Help extends Base
     public function all()
     {
         $data = Dever::db('main/help')->getAll();
+
         return $data;
     }
     /**

+ 1 - 3
task/src/Info.php

@@ -167,7 +167,7 @@ class Info extends Base
         # 任务时间
         $data['sdate_str'] = date('Y.m.d', $data['sdate']);
         $data['edate_str'] = date('Y.m.d', $data['edate']);
-
+        $data['report_link'] = Dever::url('task/submit?id=' . $data['id'] . '&nonce=' . Dever::id(), 'main');
         if ($button) {
             $data['button'] = $this->button($data);
         }
@@ -175,8 +175,6 @@ class Info extends Base
         if (isset($data['uid']) && $data['uid'] > 0 && $this->data['uid'] > 0 && $data['uid'] == $this->data['uid']) {
             $data['score'] = $this->score($data);
         }
-
-        $data['report_link'] = Dever::url('task/submit?id=' . $data['id'] . '&nonce=' . Dever::id(), 'main');
     }
 
     /**

+ 5 - 3
task/src/Score.php

@@ -19,9 +19,9 @@ class Score extends Base
         if ($state) {
             $this->data['user_score']['exchange'] = Dever::url("user/exchange", "main");
         } else {
-            $this->data['user_score']['exchange'] = 'javascript:notice.Show("'.Dever::url("user/info_certify", "main").'")';
+            $this->data['user_score']['exchange'] = 'javascript:certify.Show(\''.Dever::url("user/info_certify", "main").'\')';
         }
-        return $this->data['uesr_score'];
+        return $this->data['user_score'];
     }
 
     /**
@@ -164,7 +164,7 @@ class Score extends Base
 
                     $data[$k]['cash_desc'] = '兑现途径:' . $data[$k]['cash_type'];
 
-        		} elseif ($v['type']) <= 5 {
+        		} elseif ($v['type'] <= 5) {
                     $task = Dever::db('task/info')->one($v['task_id']);
                     $data[$k]['score'] = '任务#'.$task['name'].'奖励'.$v['score'].$name;
         			$data[$k]['desc'] = '入账时间:' . $this->date($v['cdate']) . '<br />';
@@ -189,6 +189,8 @@ class Score extends Base
                 }
         	}
         }
+
+        return $data;
     }
 
     private function date($value)

+ 2 - 0
task/src/User.php

@@ -34,6 +34,8 @@ class User extends Base
         if ($group) {
             $user['group_name'] = '小队长';
         }
+
+        $user['mobile'] = Dever::hide($user['mobile']);
         return $user;
     }