dever 7 years ago
parent
commit
86f83c0fa4

+ 16 - 0
component/config/component/applet.php

@@ -186,5 +186,21 @@ $config['applet_publish'] = array
 	),
 );
 
+$config['applet_revert'] = array
+(
+	'name' => '小程序版本回退',
+	'method' => 'get',
+	'json' => false,
+	'url' => 'https://api.weixin.qq.com/wxa/revertcoderelease?',
+	'param' => array
+	(
+		'access_token' => 'oauth',
+	),
+	'response' => array
+	(
+		'errmsg' => 'errmsg',
+	),
+);
+
 
 return $config;

+ 2 - 1
component/database/auditing.php

@@ -134,7 +134,8 @@ return array
 			'match' 	=> 'is_numeric',
 			'update'	=> 'select',
 			'option'	=> $status,
-			//'list'		=> true,
+			'list'		=> true,
+			'edit'		=> true,
 		),
 
 		'statusDesc'		=> array

+ 156 - 0
component/database/revert.php

@@ -0,0 +1,156 @@
+<?php
+/**
+ * tester
+ */
+
+$status = array
+(
+	1 => '回退中',
+	2 => '回退成功',
+	3 => '回退失败',
+);
+
+$user = function()
+{
+	$array = array();
+	$info = Dever::load('component/user-state');
+	if($info)
+	{
+		$array += $info;
+	}
+	return $array;
+};
+
+$template = function()
+{
+	$array = array();
+	$info = Dever::load('component/template-state');
+	if($info)
+	{
+		$array += $info;
+	}
+	return $array;
+};
+
+$version = function()
+{
+	$array = array();
+	$info = Dever::load('component/version-state');
+	if($info)
+	{
+		$array += $info;
+	}
+	return $array;
+};
+
+
+return array
+(
+	# 表名
+	'name' => 'revert',
+	# 显示给用户看的名称
+	'lang' => '版本回退历史',
+	'order' => 1,
+	# 数据结构
+	'struct' => array
+	(
+		'id' 		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> 'ID',
+			'default' 	=> '',
+			'desc' 		=> '',
+			'match' 	=> 'is_numeric',
+			'search'	=> 'order',
+			//'list'		=> true,
+		),
+
+		'project_id'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '项目',
+			'default' 	=> '',
+			'desc' 		=> '请输入项目',
+			'match' 	=> 'is_numeric',
+		),
+
+		'version_id'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '版本',
+			'default' 	=> '',
+			'desc' 		=> '版本',
+			'match' 	=> 'is_numeric',
+			//'search'	=> 'order,fulltext',
+			'update'	=> 'checkbox',
+			'option'	=> $version,
+			'list'		=> true,
+		),
+
+		'user_id'		=> array
+		(
+			'type' 		=> 'int-11',
+			'name' 		=> '用户',
+			'default' 	=> '',
+			'desc' 		=> '用户',
+			'match' 	=> 'is_numeric',
+			//'search'	=> 'order,fulltext',
+			'update'	=> 'select',
+			'option'	=> $user,
+			'list'		=> true,
+		),
+
+		'result'		=> array
+		(
+			'type' 		=> 'text-255',
+			'name' 		=> '微信返回信息',
+			'default' 	=> '',
+			'desc' 		=> '微信返回信息',
+			'match' 	=> 'option',
+			'update'	=> 'textarea',
+			'list'		=> true,
+			'modal'		=> '查看详情',
+		),
+
+		'status'		=> array
+		(
+			'type' 		=> 'tinyint-1',
+			'name' 		=> '回退状态',
+			'default' 	=> '1',
+			'desc' 		=> '回退状态',
+			'match' 	=> 'is_numeric',
+			'update'	=> 'select',
+			'option'	=> $status,
+			'list'		=> true,
+		),
+		
+		'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})',
+		),
+	),
+
+	'top' => Dever::config('base')->top,
+
+	'manage' => array
+	(
+		'edit' => false,
+		'delete' => false,
+		'insert' => false,
+	),
+);

+ 2 - 0
component/database/version.php

@@ -155,6 +155,8 @@ return array
 			'oper' => array('提审', '"component/auditing.submit?id={id}"'),
 
 			'oper1' => array('发布', '"component/publish.submit?id={id}"'),
+
+			'oper2' => array('回退', '"component/revert.submit?id={id}"'),
 		),
 	),
 );

+ 2 - 0
component/src/Auditing.php

@@ -23,6 +23,8 @@ class Auditing extends Core
 			$param['user_id'] = $v;
 			$param['project_id'] = $info['project_id'];
 			$param['version_id'] = $info['id'];
+			$param['status'] = 1;
+			$param['statusDesc'] = '审核中';
 			$id = Dever::upinto('component/auditing', array('option_user_id' => $v, 'option_project_id' => $param['project_id'], 'option_version_id' => $param['version_id']), $param);
 			$this->set($v, $id);
 		}

+ 38 - 0
component/src/Revert.php

@@ -0,0 +1,38 @@
+<?php
+/*
+|--------------------------------------------------------------------------
+| tester 体验者设置
+|--------------------------------------------------------------------------
+*/
+namespace Component\Src;
+
+use Dever;
+use Main\Lib\Wechat;
+
+class Revert extends Core
+{
+	public $table = 'revert';
+
+	public function submit()
+	{
+		$id = Dever::input('id');
+		$info = Dever::db('component/version')->one($id);
+		$user = explode(',', $info['user']);
+		foreach ($user as $k => $v) {
+			$param = array();
+			$param['user_id'] = $v;
+			$param['project_id'] = $info['project_id'];
+			$param['version_id'] = $info['id'];
+			$id = Dever::upinto('component/revert', array('option_user_id' => $v, 'option_project_id' => $param['project_id'], 'option_version_id' => $param['version_id']), $param);
+			$this->set($v, $id);
+		}
+		Dever::alert('提交成功,请到版本回退历史中查看回退状态');
+		return;
+	}
+
+	public function handle($oauth, $info, $delete, $user, $wechat)
+	{
+		$oauth['method'] = 'applet_revert';
+		return $oauth;
+	}
+}