rabin 7 years ago
parent
commit
7f28f9af09

+ 1 - 0
comment/database/review.php

@@ -124,6 +124,7 @@ return array
 	'manage' => array
 	(
 		'insert' => false,
+		'edit' => false,
 	),
 
 	# request 请求接口定义

+ 2 - 0
comment/database/share.php

@@ -133,6 +133,8 @@ return array
 	'manage' => array
 	(
 		'insert' => false,
+		'edit' => false,
+		'delete' => false,
 	),
 
 	# request 请求接口定义

+ 3 - 1
comment/database/share_reflux.php

@@ -93,7 +93,7 @@ return array
 			'default' 	=> '',
 			'desc' 		=> '分享者',
 			'match' 	=> 'option',
-			'list'		=> '{uid} > 0 ? Dever::load("passport/user-one#name", {uid}) : "匿名用户"',
+			'list'		=> '{source_uid} > 0 ? Dever::load("passport/user-one#name", {source_uid}) : "匿名用户"',
 		),
 		
 		'share_id' 		=> array
@@ -129,6 +129,8 @@ return array
 	'manage' => array
 	(
 		'insert' => false,
+		'edit' => false,
+		'delete' => false,
 	),
 
 	# request 请求接口定义

+ 2 - 0
comment/database/vote.php

@@ -108,5 +108,7 @@ return array
 	'manage' => array
 	(
 		'insert' => false,
+		'edit' => false,
+		'delete' => false,
 	),
 );

+ 97 - 0
comment/database/watch.php

@@ -0,0 +1,97 @@
+<?php
+
+$info = function()
+{
+	$array = array();
+	$info = Dever::load('set/info-state');
+	if($info)
+	{
+		$array += $info;
+	}
+	return $array;
+};
+
+return array
+(
+	# 表名
+	'name' => 'watch',
+	# 显示给用户看的名称
+	'lang' => '用户听课管理',
+	'order' => 40,
+	# 数据结构
+	'struct' => array
+	(
+	
+		'id' 		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> 'ID',
+			'default' 	=> '',
+			'desc' 		=> '',
+			'match' 	=> 'is_numeric',
+			//'search'	=> 'order',
+			//'list'		=> true,
+		),
+
+		'uid' 		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '用户',
+			'default' 	=> '',
+			'desc' 		=> '用户ID',
+			'match' 	=> 'is_numeric',
+			'search'	=> 'order',
+			'list'		=> '{uid} > 0 ? Dever::load("passport/user-one#name", {uid}) : "匿名用户"',
+		),
+
+		'info_id'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '所属小程序',
+			'default' 	=> '1',
+			'desc' 		=> '请选择所属小程序',
+			'match' 	=> 'is_numeric',
+			'update'	=> 'select',
+			'option'	=> $info,
+			'search'	=> 'select',
+			'list'		=> '{info_id} > 0 ? Dever::load("set/info-one#name", {info_id}) : "未知"',
+		),
+		
+		'course_id' 		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '课程标题',
+			'default' 	=> '',
+			'desc' 		=> '课程标题',
+			'match' 	=> 'option',
+			'list'		=> 'Dever::load("content/course-one#name", {course_id})',
+		),
+
+		'state'		=> array
+		(
+			'type' 		=> 'tinyint-1',
+			'name' 		=> '状态',
+			'default' 	=> '1',
+			'desc' 		=> '请选择状态',
+			'match' 	=> 'is_numeric',
+		),
+		
+		'cdate'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '听课时间',
+			'match' 	=> array('is_numeric', time()),
+			'desc' 		=> '',
+			# 只有insert时才生效
+			'insert'	=> true,
+			'list'		=> 'date("Y-m-d H:i:s", {cdate})',
+		),
+	),
+	
+	'manage' => array
+	(
+		'insert' => false,
+		'edit' => false,
+		'delete' => false,
+	),
+);

+ 28 - 20
comment/src/Review.php

@@ -12,7 +12,7 @@ class Review extends Base
      *
      * @return mixed
      */
-    public function list_api()
+    public function rlist()
     {
         $this->check_user();
         $source_table = Dever::input('type');
@@ -35,37 +35,45 @@ class Review extends Base
      *
      * @return mixed
      */
-    public function submit_api()
+    public function submit()
     {
         $this->check_user();
         $source_table = Dever::input('type');
         $source_id = Dever::input('id');
         $content = Dever::input('content');
+        if (!$content) {
+            Dever::alert('请输入内容');
+        }
         //后续添加内容过滤
         //$ip = Dever::ip();
         $uid = Dever::input('uid');
 
-        $data = Dever::load('comment/review-one', array('option_info_id' => $this->data['info']['id'], 'option_source_table' => $source_table, 'option_source_id' => $source_id, 'option_uid' => $uid, 'option_content' => $content));
+        $user = Dever::load('passport/user-one', $uid);
+        if ($user && $user['pic']) {
+            $data = Dever::load('comment/review-one', array('option_info_id' => $this->data['info']['id'], 'option_source_table' => $source_table, 'option_source_id' => $source_id, 'option_uid' => $uid, 'option_content' => $content));
 
-        if ($data) {
-            $id = $data['id'];
-            $update['set_cdate'] = time();
-            $update['where_id'] = $id;
-            Dever::load('comment/review-update', $update);
-        } else {
-            $insert['add_source_table'] = $source_table;
-            $insert['add_source_id'] = $source_id;
-            //$insert['add_ip'] = $ip;
-            $insert['content'] = $content;
-            $insert['add_uid'] = $uid;
-            $insert['add_info_id'] = $this->data['info']['id'];
+            if ($data) {
+                $id = $data['id'];
+                $update['set_cdate'] = time();
+                $update['where_id'] = $id;
+                Dever::load('comment/review-update', $update);
+            } else {
+                $insert['add_source_table'] = $source_table;
+                $insert['add_source_id'] = $source_id;
+                //$insert['add_ip'] = $ip;
+                $insert['add_content'] = $content;
+                $insert['add_uid'] = $uid;
+                $insert['add_info_id'] = $this->data['info']['id'];
 
-            $id = Dever::load('comment/review-insert', $insert);
+                $id = Dever::load('comment/review-insert', $insert);
 
-            # 增加原表数据 以后要添加crontab来定时矫正数据
-            $table = $this->type($source_table);
-            Dever::db('content/' . $table)->addReview($source_id);
+                # 增加原表数据 以后要添加crontab来定时矫正数据
+                $table = $this->type($source_table);
+                Dever::db('content/' . $table)->addReview($source_id);
+            }
+            return $id;
         }
-        return $id;
+
+        Dever::alert('请授权');
     }
 }

+ 23 - 12
comment/src/Share.php

@@ -12,7 +12,7 @@ class Share extends Base
      *
      * @return mixed
      */
-    public function submit_api()
+    public function submit()
     {
         $this->check_user();
         $source_table = Dever::input('type');
@@ -20,17 +20,28 @@ class Share extends Base
         $uid = Dever::input('uid');
         $content = Dever::input('content');
 
-        $insert['add_source_table'] = $source_table;
-        $insert['add_source_id'] = $source_id;
-        $insert['add_uid'] = $uid;
-        $insert['add_info_id'] = $this->data['info']['id'];
-        $insert['add_key'] = $this->session($uid);
-        $insert['add_content'] = $content;
+        $key = $this->session($uid . '_' . $source_table . '_' . $source_id);
+        $info = Dever::load('comment/share-one', array('option_source_table' => $source_table, 'option_source_id' => $source_id, 'option_uid' => $uid, 'option_key' => $key));
 
-        $id = Dever::load('comment/share-insert', $insert);
+        if (!$info) {
+            $insert['add_source_table'] = $source_table;
+            $insert['add_source_id'] = $source_id;
+            $insert['add_uid'] = $uid;
+            $insert['add_info_id'] = $this->data['info']['id'];
+            $insert['add_key'] = $key;
+            $insert['add_content'] = $content;
+
+            $id = Dever::load('comment/share-insert', $insert);
+        } else {
+            $id = $info['id'];
+            $update['set_cdate'] = time();
+            $update['where_id'] = $id;
+            Dever::load('comment/share-update', $update);
+        }
+        
 
         $result['share_uid'] = $uid;
-        $result['share_key'] = $insert['add_key'];
+        $result['share_key'] = $key;
         $result['share_id'] = $id;
 
         return $result;
@@ -41,11 +52,11 @@ class Share extends Base
      *
      * @return mixed
      */
-    public function reflux_api()
+    public function reflux()
     {
         $this->check_user();
         $source_uid = Dever::input('share_uid');
-        $key = Dever::input('key');
+        $key = Dever::input('share_key');
         $id = Dever::input('share_id');
         $uid = Dever::input('uid');
 
@@ -57,7 +68,7 @@ class Share extends Base
             $insert['add_source_uid'] = $source_uid;
             $insert['add_uid'] = $uid;
             $insert['add_info_id'] = $this->data['info']['id'];
-            if ($source_uid != $uid && $this->check_session($source_uid)) {
+            if ($source_uid != $uid && $this->check_session($source_uid . '_' . $info['source_table'] . '_' . $info['source_id'], $key)) {
                 Dever::load('comment/share_reflux-insert', $insert);
             }
         }

+ 1 - 1
comment/src/Vote.php

@@ -12,7 +12,7 @@ class Vote extends Base
      *
      * @return mixed
      */
-    public function submit_api()
+    public function submit()
     {
         $this->check_user();
         $source_table = Dever::input('type');

+ 43 - 0
comment/src/Watch.php

@@ -0,0 +1,43 @@
+<?php
+
+namespace Comment\Src;
+
+use Dever;
+use Content\Lib\Base;
+
+class Watch extends Base
+{
+    /**
+     * 观看课程
+     *
+     * @return mixed
+     */
+    public function submit()
+    {
+        $this->check_user();
+        $course_id = Dever::input('id');
+        $uid = Dever::input('uid');
+        $user = Dever::load('passport/user-one', $uid);
+        if ($user && $user['pic']) {
+            $data = Dever::load('comment/watch-one', array('option_info_id' => $this->data['info']['id'], 'option_course_id' => $course_id,'option_uid' => $uid));
+
+            if ($data) {
+                $id = $data['id'];
+                $update['set_cdate'] = time();
+                $update['where_id'] = $id;
+                Dever::load('comment/watch-update', $update);
+            } else {
+                $insert['add_course_id'] = $course_id;
+                $insert['add_uid'] = $uid;
+                $insert['add_info_id'] = $this->data['info']['id'];
+
+                $id = Dever::load('comment/watch-insert', $insert);
+
+                # 增加原表数据 以后要添加crontab来定时矫正数据
+                Dever::db('content/course')->addWatch($course_id);
+            }
+        }
+        
+        return 1;
+    }
+}

+ 2 - 2
content/lib/Base.php

@@ -73,7 +73,7 @@ class Base
             $data['pic'] = explode(',', $data['pic']);
         }
         if (isset($data['video']) && $data['video']) {
-            $data['video'] = Dever::load('content/v1/video.html', $data['video']);
+            $data['video'] = Dever::load('content/v1/video.mp4', $data['video']);
         }
 
         if (isset($data['sdate']) && $data['sdate']) {
@@ -102,7 +102,7 @@ class Base
 
         $state = $this->check_session($uid, $session);
         if (!$state) {
-            Dever::alert('请重新登录');
+            //Dever::alert('请重新登录');
         }
 
         return $state;

+ 1 - 1
content/v1/Review.php

@@ -46,7 +46,7 @@ class Review
      */
     public function list_api()
     {
-        return Dever::load('comment/review.list');
+        return Dever::load('comment/review.rlist');
     }
 
     /**

+ 3 - 0
content/v1/Video.php

@@ -23,6 +23,9 @@ class Video
             $link = 'https://v.qq.com/x/page/j0515xuxz37.html';
         }
         $temp = explode('/page/', $link);
+        if (!isset($temp[1])) {
+            return $link;
+        }
         $temp = explode('.html', $temp[1]);
         $key = $temp[0];
         //$key = str_replace(array('https://v.qq.com/x/page/', '.html'), '', $link);

+ 12 - 3
passport/src/Login.php

@@ -12,7 +12,7 @@ class Login extends Base
      *
      * @return mixed
      */
-    public function bind_api()
+    public function bind()
     {
         $appid = $this->data['info']['appid'];
         $secret = $this->data['info']['secret'];
@@ -28,7 +28,14 @@ class Login extends Base
         if (strstr($data, 'errcode')) {
             Dever::alert('绑定失败');
         }
+
         $data = json_decode($data);
+
+        //$data = array();
+        //$data['openid'] = 1;
+        //$data['unionid'] = 1;
+        //$data['session_key'] = 1;
+
         $user = $this->create($data);
 
         return $user;
@@ -39,7 +46,7 @@ class Login extends Base
      *
      * @return mixed
      */
-    public function update_api()
+    public function update()
     {
         $this->check_user();
         $uid = Dever::input('uid');
@@ -99,13 +106,15 @@ class Login extends Base
             $wechat['add_info_id'] = $this->data['info']['id'];
             Dever::load('passport/wechat-insert', $wechat);
         } else {
+            $uid = $info['uid'];
             $wechat['set_session_key'] = $data['session_key'];
+            $wechat['where_id'] = $info['id'];
             Dever::load('passport/wechat-update', $wechat);
         }
 
         $result['uid'] = $uid;
         $result['session'] = $this->session($uid);
 
-        return $uid;
+        return $result;
     }
 }