电子科技大学毕业论文(设计) 基于Flex的BBS的设计与实现
二、 帖子模块实现
在BBS中会员和非会员都能浏览帖子,但是对于非会员就不能发表和回复帖子。
非会员不能发表帖子,效果如图所示:
非会员同样不能回复帖子,效果如图所示:
会员发表帖子的实现,如图所示:
19
电子科技大学毕业论文(设计) 基于Flex的BBS的设计与实现
帖子发表成功后,会显示在主界面,效果如图所示:
会员回复帖子,效果如图所示:
第三节 系统代码实现
本系统代码基本完成,下面主要叙述一下本系统关键部分代码。 一、 本系统主界面FlexBBSWeb.mxml的代码:
xmlns:s=\library://ns.adobe.com/flex/spark\ xmlns:mx=\library://ns.adobe.com/flex/mx\955\ minHeight=\600\*\> 20 电子科技大学毕业论文(设计) 基于Flex的BBS的设计与实现 @namespace s \; @namespace mx \; global{ } font-size:12px; import gxa.flexBBS.userManager.UserVo; import mx.controls.Alert; import mx.managers.PopUpManager; // 定义当前用户信息 [Bindable] public var curUser:UserVo; // // ); // 显示LoginAndRegister界面,并切换到login视图 private function showLogin():void { 使用PopUpManager创建一个模式的弹出LoginAndRegister对话框 var loginAndRegister_win:LoginAndRegister = LoginAndRegister(PopUpManager.createPopUp(this,LoginAndRegister,true) } 设定弹出窗口的位置为舞台的中心 PopUpManager.centerPopUp(loginAndRegister_win); loginAndRegister_win.currentState = \; loginAndRegister_win.welcome_lab = welcome_lab; loginAndRegister_win.mainBBS = this; // ); 显示LoginAndRegister界面,并切换到register视图 private function showRegister():void { var loginAndRegister_win:LoginAndRegister = LoginAndRegister(PopUpManager.createPopUp(this,LoginAndRegister,true) PopUpManager.centerPopUp(loginAndRegister_win); loginAndRegister_win.currentState = \; loginAndRegister_win.welcome_lab = welcome_lab; loginAndRegister_win.mainBBS = this; 21 电子科技大学毕业论文(设计) 基于Flex的BBS的设计与实现 } public function newVote():void { } if(DisplayContentList.curCatalogid != \){ if(curUser != null){ var newVote_win:NewVote = PopUpManager.centerPopUp(newVote_win); newVote_win.catalogID = newVote_win.curUserID = String(curUser.id); newVote_win.catalogName = NewVote(PopUpManager.createPopUp(this,NewVote,true)); DisplayContentList.curCatalogid; DisplayContentList.curCatalogName; }else{ Alert.show(\请登录后发表话题!\,\请登录\); } }else{ Alert.show(\请选择末级栏目发表话题!\,\选择栏目\); } ]]> top=\0\> fontWeight=\bold\19\#55251F\left\fontStyle=\italic%underline\/> horizontalCenter=\0\85%\>
22
电子科技大学毕业论文(设计) 基于Flex的BBS的设计与实现
二、 本系统帖子模块业务逻辑端代码,ContentManager.as
package gxa.flexBBS.contentManager {
public class ContentManager {
import mx.collections.ArrayCollection; import mx.controls.Alert;
import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.remoting.RemoteObject;
//
声明静态的实例用于创建单态的类
private static var contentManager:ContentManager = new private var curContentList:ArrayCollection; private var displayContent:BBSContent; private var curCatalogID:String; private var curpage:int;
private var curContentpage:int;
private var curDisplayContent:DisplayContent; private var curContentID:String;
ContentManager(new Singlton());
//
//
构建一个单态模式的类的构造函数
public function ContentManager(name:Singlton) {
如果传入参数为空则抛出异常
if(name == null) throw new Error(\是单态类\); }
//
构建一个方法得到实例
public static function getInstance():ContentManager { }
return contentManager;
//
创建话题,参数为一个ContentVo的实例
public function createContent(content:ContentVo):void {
var createContentRO:RemoteObject = new
RemoteObject(\);
createContentRO.addEventListener(FaultEvent.FAULT,createContentFa
ult);
23