pp

/************************样式**************************************/
<style type="text/css">
    /*标签是否换行*/
    form label {
        font-size: 12px;
        display: inline;
    }

    /*属性是否必填项,客户端根据model的rule方法而定*/
    form span.required {
        color: red;
    }

    /*校验出错时标签CSS样式*/
    form .error label {
        color: #FFCC33;
    }

    /*校验出错时输入框的CSS样式*/
    form .error input {
        background: #FEE;
        border-color: #C00;
    }

    /*校验出错时错误信息的CSS样式,我们可以设置其display属性让其不换行。*/
    form .errorMessage {
        display: inline;
        color: red;
        font-size: 12px;
    }

    /*校验成功时标签CSS样式*/
    form .success label {
        color: #000000;
    }

    /*校验成功时输入框的CSS样式*/
    form .success input {
        background: #E6EFC2;
        border-color: #C6D880;
    }
</style>
<?php
/************************表单**************************************/
<? $aData = [1 => 'Football', 2 => 'Music', 3 => 'Game', 4 => 'basketball'];
$aSex = [1 => 'man', 2 => 'woman'] ?>

<? $form = $this->beginWidget('CActiveForm',
[
	'enableAjaxValidation' => true,
	'clientOptions' => ['validateOnSubmit' => true],
	'action' => ['user/reg']
])?>
<?php $this->endWidget(); ?>

//表单挂件
<?= $form->label($models, 'test', ['class' => 'yiiLabel','id'=>null]) ?>
<?= $form->error($models, 'test', ['class' => 'yiiError','id'=>null]) ?>

<?= $form->passwordField($models, 'test', ['class' => 'yiiPassword','id'=>null]) ?>
<?= $form->textField($models, 'test', ['class' => 'yiiTextInput','id'=>null]) ?>
<?= $form->textArea($models, 'test', ['class' => 'yiiTextArea','id'=>null]) ?>
<?= $form->fileField($models, 'test', ['class' => 'yiiFileField','id'=>null]) ?>
<?= $form->checkBox($models, 'test', ['class' => 'yiiCheckBox','id'=>null]) ?>
<?= $form->listBox($models, 'test', $aData, ['class' => 'yiiListBox','id'=>null]) ?>
<?= $form->checkBoxList($models, 'test', $aData, ['class' => 'yiiCheckBoxList','id'=>null,'separator'=>' ']) ?>
<?= $form->radioButtonList($models, 'test', $aSex, ['class' => 'yiiRadioButtonList','id'=>null,'separator'=>' ']) ?>
<?= $form->dropDownList($models, 'test', $aData, ['class' => 'yiiDropDownList','id'=>null,'empty'=>'-请选择-']) ?>
/*************************活动记录*************************************/
class User extends CActiveRecord
{
    public $password2;

    public static function model($className = __CLASS__)
    {
        return parent::model($className);
    }

    public function tableName()
    {
        return "{{user}}";
    }

    public function attributeLabels()
    {
        return [
            'username' => '用户名',
            'password' => '密  码',
            'password2' => '确认密码',
            'user_sex' => '性  别',
            'user_qq' => 'qq号码',
            'user_hobby' => '爱  好',
            'user_xueli' => '学  历',
            'user_introduce' => '简  介',
            'user_email' => '邮  箱',
            'user_tel' => '手机号码',
        ];
    }

    public function rules()
    {
        return array(
            array('username', 'required', 'message' => '用户名必填'),
            array('username', 'unique', 'message' => '用户名已经占用'),
            array('password', 'required', 'message' => '密码必填'),
            array('password2', 'compare', 'compareAttribute' => 'password', 'message' => '两次密码必须一致'),
            array('user_email', 'email', 'allowEmpty' => false, 'message' => '邮箱格式不正确'),
            array('user_qq', 'match', 'pattern' => '/^[1-9]\d{4,11}$/', 'message' => 'qq格式不正确'),
            array('user_tel', 'match', 'pattern' => '/^13\d{9}$/', 'message' => '手机号码格式不正确'),
            array('user_xueli', 'in', 'range' => array(2, 3, 4, 5), 'message' => '学历必须选择'),
            array('user_hobby', 'check_hobby'),
            array('user_sex,user_introduce', 'safe'),
        );
    }

    function check_hobby()
    {
        $len = strlen($this->user_hobby);
        if ($len < 3) $this->addError('user_hobby', '爱好必须选择两项或以上');
    }
}

/*************************用户登录*************************************/
class LoginForm extends CFormModel
{
    public $username;
    public $password;
    public $rememberMe;
    public $verifyCode;
    private $_identity;
    public function rules()
    {
        return array(
            array('username', 'required','message'=>'用户名必填'),
            array('password', 'required','message'=>'密码必填'),
            array('rememberMe', 'boolean'),
            array('password','authenticate'),
            array('verifyCode','captcha','message'=>'请输入正确的验证码'),
        );
    }
    public function authenticate($attribute,$params)
    {
        if (!$this->hasErrors()) {
            $this->_identity = new UserIdentity($this->username, $this->password);
            if ($this->_identity->authenticate()) {
                $duration = $this->rememberMe ? 3600 * 24 * 30 : 0; // 30 days
                Yii::app()->user->login($this->_identity, $duration);
            } else {
                $this->addError('password', '用户名或密码错误');
            }
        }
    }
    public function attributeLabels()
    {
        return array(
            'username'=>'用户名',
            'password'=>'密  码',
            'verifyCode'=>'验证码',
            'rememberMe'=>'记住登录状态',
        );
    }
//UserIdentity
class UserIdentity extends CUserIdentity
{
    public function authenticate()
    {
        $user_model = User::model()->find('username=:name',array(':name'=>$this->username));
        if($user_model === null){
            $this -> errorCode = self::ERROR_USERNAME_INVALID;
            return false;
        } else if ($user_model->password !== md5($this -> password)){
            $this->errorCode=self::ERROR_PASSWORD_INVALID;
            return false;
        } else {
            $this->errorCode=self::ERROR_NONE;
            return true;
        }
    }
}
//用户显示
if(Yii::app()->user->getIsGuest()){
	
} else { 
	echo Yii::app()->user->name;
}
Yii::app()->user->logout();
$this->redirect('/');
}
//为后台登录管理员设置session名字前缀信息
Yii::app()->setComponents(array(
	'user'=>array(
		'stateKeyPrefix' =>'houtai',
		'loginUrl'=>'./index.php?r=houtai/manager/login',
	)
));

/***************************sesson cookie**************************************/
//设置session,通过session组件来设置
Yii::app()->session['username'] = "zhangsan";
//使用session
Yii::app()->session['username'],"<br />";
//删除一个session
unset(Yii::app()->session['useraddr']);
//删除全部session
Yii::app()->session->clear();  //删除session变量
Yii::app()->session->destroy(); //删除服务器的session信息

//设置cookie
$ck = new CHttpCookie('hobby','篮球,足球');
$ck -> expire = time()+3600;
//把$ck对象放入cookie组件里边
Yii::app()->request->cookies['hobby'] = $ck;
//访问cookie
 Yii::app()->request->cookies['hobby'];
 //删除cookie
unset(Yii::app()->request->cookies['sex']);

/**************************************路径别名****************************/
//设置路径别名
Yii::setPathOfAlias('bootstrap', dirname(__FILE__).'/../extensions/bootstrap');
//取路径别名
Yii::getPathOfAlias('webroot');

/****************************************过滤器*************************/
/*
 * 在当前控制器实现用户访问的控制
 */
function filters() {
	return array(
		'accessControl',
	);
}
    
/*
 * show  add  update  del 等方法在进行访问的时候需要用户登录系统
 * 为具体方法被访问设置条件
 */
function accessRules() {
	return array(
		//用户访问控制扩展
		//add 方法可以被无条件访问(无论登录与否都可以访问)
		array(
			'allow',
			'actions'=>array('add'),
			'users'=>array('*'),
		),
		
		//具体指定"用户"可以删除信息
		//linken zhangsan  lisi 这个三个用户都可以进行删除操作
		array(
			'allow',
			'actions'=>array('del'),
			'users' => array('linken','zhangsan','lisi'),
		),
		
		//匿名用户操作 ?
		//有的控制器是匿名用户可以访问,已经登录系统用户是禁止访问的
		//update  这个方法是匿名用户可以访问
		array(
			'allow',
			'actions'=>array('update'),
			'users'=>array('?'),
		),
		
		//show 必须是登录系统的用户来访问
		array(
			'allow',
			'actions'=>array('show'),
			'users'=>array('@'),
		),
		array(
			'deny',
			'users'=>array('*'),
		),
	);
}
/*************************************分页*****************************/
public function actionShow(){
	$criteria = new CDbCriteria();
	$count=Goods::model()->count($criteria);
	$pages=new CPagination($count);
	$pages->pageSize=10;
	$pages->applyLimit($criteria);
	$models = Goods::model()->findAll($criteria);
	CLinkPager::actions();
	$this->renderPartial('show', [ 'models' => $models, 'pages' => $pages]);
}
//分页挂件
<?php $this->widget('CLinkPager', [ 'pages' => $pages]) ?>
/*************************验证码*************************************/
//校验
array('verifyCode', 'captcha','message'=>'校验码错误,请重新输入'),
//挂件
<? $this -> widget('CCaptcha') ?>
//控制器
public function actions(){
	return[
		'captcha'=>array(
			'class'=>'system.web.widgets.captcha.CCaptchaAction',
			'width'=>75,
			'height'=>30,
			'minLength'=>4,
			'maxLength'=>4,
		)
	];
}
/**************************配置项*******************************/
return array(
	//配置使用的主题
    'theme'=>'bootstrap',
    //配置当前语言
    'language'=>'zh_cn',
)
/****************************YII*******************************/
//使用Yii::app()调用相关属性、方法
echo Yii::app()->defaultController,"<br />";
echo Yii::app()->layout,"<br />";
echo Yii::app()->name,"<br />";
echo Yii::app()->charset,"<br />";
echo Yii::app()->getLayoutPath(),"<br />";
echo Yii::app()->request->getUrl(),"<br />";
echo Yii::app()->request->getHostInfo(),"<br />";
//取当前控制器,控制器方法
控制器:$this -> id ;
方法:$this->action->id ;
//记录时间
Yii::beginProfile('addgoods'); 
Yii::endProfile('addgoods');
<?php
	//设置添加商品成功提示信息
	Yii::app()->user->setFlash('success','添加商品成功');
	//判断是否有提示信息
	if(Yii::app()->user->hasFlash('success')){
		echo Yii::app()->user->getFlash('success');
	}
?>

【SCI复现】含可再生能源与储能的区域微电网最优运行:应对不确定性的解鲁棒性与非预见性研究(Matlab代码实现)内容概要:本文围绕含可再生能源与储能的区域微电网最优运行展开研究,重点探讨应对不确定性的解鲁棒性与非预见性策略,通过Matlab代码实现SCI论文复现。研究涵盖多阶段鲁棒调度模型、机会约束规划、需求响应机制及储能系统优化配置,结合风电、光伏等可再生能源出力的不确定性建模,提出兼顾系统经济性与鲁棒性的优化运行方案。文中详细展示了模型构建、算法设计(如C&CG算法、大M法)及仿真验证全过程,适用于微电网能量管理、电力系统优化调度等领域的科研与工程实践。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及从事微电网、能源管理相关工作的工程技术人员。; 使用场景及目标:①复现SCI级微电网鲁棒优化研究成果,掌握应对风光负荷不确定性的建模与求解方法;②深入理解两阶段鲁棒优化、分布鲁棒优化、机会约束规划等先进优化方法在能源系统中的实际应用;③为撰写高水平学术论文或开展相关课题研究提供代码参考和技术支持。; 阅读建议:建议读者结合文档提供的Matlab代码逐模块学习,重点关注不确定性建模、鲁棒优化模型构建与求解流程,并尝试在不同场景下调试与扩展代码,以深化对微电网优化运行机制的理解。
个人防护装备实例分割数据集 一、基础信息 数据集名称:个人防护装备实例分割数据集 图片数量: 训练集:4,524张图片 分类类别: - Gloves(手套):工作人员佩戴的手部防护装备。 - Helmet(安全帽):头部防护装备。 - No-Gloves(未戴手套):未佩戴手部防护的状态。 - No-Helmet(未戴安全帽):未佩戴头部防护的状态。 - No-Shoes(未穿安全鞋):未佩戴足部防护的状态。 - No-Vest(未穿安全背心):未佩戴身体防护的状态。 - Shoes(安全鞋):足部防护装备。 - Vest(安全背心):身体防护装备。 标注格式:YOLO格式,包含实例分割的多边形坐标和类别标签,适用于实例分割任务。 数据格式:来源于实际场景图像,适用于计算机视觉模型训练。 二、适用场景 工作场所安全监控系统开发:数据集支持实例分割任务,帮助构建能够自动识别工作人员个人防护装备穿戴状态的AI模型,提升工作环境安全性。 建筑与工业安全检查:集成至监控系统,实时检测PPE穿戴情况,预防安全事故,确保合规性。 学术研究与创新:支持计算机视觉在职业安全领域的应用研究,促进AI与安全工程的结合。 培训与教育:可用于安全培训课程,演示PPE识别技术,增强员工安全意识。 三、数据集优势 精准标注与多样性:每个实例均用多边形精确标注,确保分割边界准确;覆盖多种PPE物品及未穿戴状态,增加模型鲁棒性。 场景丰富:数据来源于多样环境,提升模型在不同场景下的泛化能力。 任务适配性强:标注兼容主流深度学习框架(如YOLO),可直接用于实例分割模型开发,支持目标检测和分割任务。 实用价值高:专注于工作场所安全,为自动化的PPE检测提供可靠数据支撑,有助于减少工伤事故。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值