先把登陆方面的放上来供大家参考,本人用Ext也不是很久,希望大家多多指点,代码写得不够精简,呵。
以下是Ext代码

Ext.onReady(function()
{
Ext.BLANK_IMAGE_URL='../Libs/Js/resources/images/default/s.gif';

setTimeout(function()
{
Ext.get('loading').remove();

Ext.get('loading-mask').fadeOut(
{remove:true});
}, 250);
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget='side';


var lfm = new Ext.FormPanel(
{
labelAlign:'left',
labelWidth:80,
frame:true,
buttonAlign:'left',
title: '润际科技CRM管理系统',
bodyStyle:'padding:5px;',
width:400,

items: [
{
layout:'form',
border:false,
labelSeparator:':',

items:[
{
xtype:'textfield',
fieldLabel:'帐号',
name: 'username',
allowBlank:false,
anchor:'70%'
}]

},
{
layout:'form',
border:false,
labelSeparator:':',

items:[
{
xtype:'textfield',
fieldLabel:'密码',
name: 'password',
inputType:'password',
anchor:'70%',
allowBlank:false
}]

},
{
layout:'column',
border:false,

items:[
{
layout:'form',
columnWidth:.8,
border:false,
labelSeparator:':',

items:[
{
xtype:'textfield',
fieldLabel:'验证码',
name: 'code',
anchor:'88%',
allowBlank:false,
maxLength:4
}]

},
{
layout:'form',
columnWidth:.2,
border:false,

items:[
{
xtype:'panel',
hideLabel:true,
name: 'codepanel',
html:'<img src="?action=code" />'
}]
}]
}],

buttons: [
{
text:'登陆',
name:'submit',
style:'margin-left:42px;',

handler: function()
{

if(lfm.form.isValid())
{

lfm.form.doAction('submit',
{
url:'?action=login',
params:'',
method:'post',
waitTitle:'提示信息',
waitMsg:'登陆系统中
',

success:function(form,action)
{

if(action.result.data=='登陆成功')
{
window.location='?action=main';

}else
{
Ext.Msg.alert('提示信息',action.result.data);
}
},

failure:function()
{
Ext.Msg.alert('提示信息','操作失败,请联系系统管理员!');
}
});
}
}
}]
});

lfm.render('inner');
});
以下是Fleaphp的Controller代码
<?php
/////////////////////////////////////////////////////////////////////////////
// 这个文件是 RangeCrm 项目的一部分
//
// Copyright (c) 2007 - 2008 www.erange.com.cn
//
// 要查看完整的版权信息和许可信息,请查看源代码中附带的 COPYRIGHT 文件,
// 或者访问 http://www.erange.com.cn/ 获得详细信息。
/////////////////////////////////////////////////////////////////////////////

FLEA::loadClass('Controller_Default');

/**
* 用户资料控制类
*
* @package AUsers
* @author 苏广贤 susam119@21cn.com
* @version 0.1
*/
class Controller_AUsers extends Controller_Default {
/**
* 数据对象
*
* @var Table_AUsers
*/
var $_tbAUsers;
/**
* 操作对象
*
* @var Model_AUsers
*/
var $_mlAUsers;
/**
* 数据对象
*
* @var Table_AProfile
*/
var $_tbAProfile;
/**
* 构造函数
*
*/
function __construct(){
$this->_tbAUsers=&FLEA::getSingleton('Table_AUsers');
$this->_mlAUsers=&FLEA::getSingleton('Model_AUsers');
$this->_tbAProfile=&FLEA::getSingleton('Table_AProfile');
}
/**
* 载入列表界面
*
*/
function actionIndex(){
$rows=$this->pager($this->_tbAUsers,20,null,'users_id desc');
$smarty=$this->_getView();
$smarty->assign('js',APP_JS);
$smarty->assign('users',$rows);
$smarty->display('admin/users.tpl');
}
}
?>
以下是Fleaphp的Model代码
<?php
/////////////////////////////////////////////////////////////////////////////
// 这个文件是 RangeCrm 项目的一部分
//
// Copyright (c) 2007 - 2008 www.erange.com.cn
//
// 要查看完整的版权信息和许可信息,请查看源代码中附带的 COPYRIGHT 文件,
// 或者访问 http://www.erange.com.cn/ 获得详细信息。
/////////////////////////////////////////////////////////////////////////////

FLEA::loadClass('Controller_Default');

/**
* 用户资料操作类
*
* @package AUsers
* @author 苏广贤 susam119@21cn.com
* @version 0.1
*/
class Model_AUsers extends Controller_Default {
/**
* 数据对象
*
* @var Table_AUsers
*/
var $_tbAUsers;
/**
* 构造函数
*
*/
function __construct(){
$this->_tbAUsers=&FLEA::getSingleton('Table_AUsers');
}
/**
* 登陆函数
*
*/
function login(){
$rules=$this->_tbAUsers->meta;
$rules['USERNAME']['notEmpty']=true;
$rules['PASSWORD']['notEmpty']=true;
$verifier=&new FLEA_Helper_Verifier();
$result=$verifier->checkAll($_POST,$rules);
FLEA::loadClass('FLEA_Helper_ImgCode');
$imgcode=&new FLEA_Helper_ImgCode();
if(!$imgcode->check($_POST['code'])){
echo '{success:true,data:"验证码不正确"}';
exit();
}
$user=$this->_tbAUsers->findByUsername($_POST['username']);
if (!$user){
echo '{success:true,data:"用户名错误"}';
exit();
}
$pwd=$this->_tbAUsers->checkPassword($_POST['password'],$user[$this->_tbAUsers->passwordField]);
if (!$pwd){
echo '{success:true,data:"密码错误"}';
exit();
}
$roles=$this->_tbAUsers->fetchRoles($user);
$rbac=&FLEA::getSingleton('FLEA_Com_RBAC');
$sessionUsers=array(
$user[$this->_tbAUsers->primaryKey],
$user[$this->_tbAUsers->usernameField]
);
$rbac->setUser($sessionUsers,$roles);
echo '{success:true,data:"登陆成功"}';
}
}
?>
以下是Fleaphp的Table代码
<?php
/////////////////////////////////////////////////////////////////////////////
// 这个文件是 RangeCrm 项目的一部分
//
// Copyright (c) 2007 - 2008 www.erange.com.cn
//
// 要查看完整的版权信息和许可信息,请查看源代码中附带的 COPYRIGHT 文件,
// 或者访问 http://www.erange.com.cn/ 获得详细信息。
/////////////////////////////////////////////////////////////////////////////

FLEA::loadClass('FLEA_Com_RBAC_UsersManager');

/**
* 用户资料数据类
*
* @package AUsers
* @author 苏广贤 susam119@21cn.com
* @version 0.1
*/
class Table_AUsers extends FLEA_Com_RBAC_UsersManager {
/**
* 数据表名
*
* @var users
*/
var $tableName='users';
/**
* 数据表主键
*
* @var users_id
*/
var $primaryKey='users_id';
/**
* 多对多关联
*
* @var array
*/
var $manyToMany=array(
'tableClass' => 'Table_ARoles',
'joinTable' => 'users_roles',
'foreignKey' => 'users_id',
'assocforeignKey' => 'roles_id',
'mappingName' => 'roles'
);
/**
* 一对一关联
*
* @var array
*/
var $hasOne=array(
'tableClass' => 'Table_AProfile',
'foreignKey' => 'users_id',
'mappingName' => 'profile'
);
}
?>
posted on 2007-12-15 22:27
阿门119 阅读(2916)
评论(2) 编辑 收藏 引用 网摘 所属分类:
Ext 、
FlEAPHP