基于微信的校园兴趣交流平台的设计与开发_第1页
基于微信的校园兴趣交流平台的设计与开发_第2页
基于微信的校园兴趣交流平台的设计与开发_第3页
基于微信的校园兴趣交流平台的设计与开发_第4页
基于微信的校园兴趣交流平台的设计与开发_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ABSTRACT摘要在二十一世纪手机和网络已经全世界普及,微信的出现渐渐取代了QQ成为主流网络交流工具。通过微信进行发布信息这种快捷新鲜的方式受到广大用户的喜爱,同时可以为用户节省时间。因此,本人特使用微信开发校园兴趣交流平台整个项目的设计和开发在微信Web开发者工具的基础上,也综合运用了Java和MySQL。其中,小程序的界面构成具有简洁和便捷的特点。在开发过程中小程序的静态界面需要运用语言和美术基础。对于动态界面则需要Java编程和数据库相结合运用。校园兴趣交流平台的设计与开发参考了现有的技术,以代码为模板,分析功能的调整和项目的实际需求相结合,讨论了开发校园兴趣交流平台的使用,方便用户可以随时查看交流信息并发布信息。关键词:微信MySqlJAVAAbstractInthe21stcentury,mobilephonesandtheInternethavebeenpopularizedallovertheworld,andtheemergenceofWeChathasgraduallyreplacedQQasthemainstreamnetworkcommunicationtool.Thequickandfreshwayofpublishinginformationthroughwechatislovedbyusers,anditcansavetimeforusersatthesametime.Therefore,Iusewechattodevelopcampusinterestexchangeplatform.Thedesignanddevelopmentofthewholeprojectisbasedonwechatwebdevelopertools,andalsousesJavaandmysql.Amongthem,thecompositionoftheinterfaceofthesmallprogramissimpleandconvenient.Inthedevelopmentprocess,thestaticinterfaceofsmallprogramsneedstouselanguageandartfoundation.Fordynamicinterface,Javaprogramminganddatabaseareneeded.Thedesignanddevelopmentofthecampusinterestexchangeplatformrefertotheexistingtechnology,takethecodeasthetemplate,analyzethefunctionadjustmentandtheactualneedsoftheproject,discusstheuseofthedevelopmentofthecampusinterestexchangeplatform,sothatuserscanviewtheexchangeinformationandreleasetheinformationatanytime.Keywords:WechatMySqlJAVA目录TOC\o"1-3"\h\u81901绪论 图4-1系统功能结构4.2数据库设计原则该数据库的设计使用了E-R图工具,其E-R图方法是一个实体——关系的方法。E-R图是由实体和拥有相同性质的实体之间的关系组成的,其中属性是实体的特征,也是描述实体或关系性质的数据元素,并且实体间的关系大多是与不同实体间的关系的。通过校园兴趣交流平台的功能进行规划分成几个实体信息同时将通过ER图进行说明。管理员的信息实体图,如图4-2所示。图4-2管理员信息实体图用户信息实体E-R图,如图4-3所示。图4-3用户信息实体图首页推荐信息实体E-R图,如图4-4所示。图4-4首页推荐信息实体图公告信息实体E-R图,如图4-5所示。图4-5公告信息实体图发现信息实体E-R图,如图4-6所示。图4-6发现信息实体图评论信息实体E-R图,如图4-7所示。图4-7评论信息实体图4.3数据表在对数据结构和输入输出数据需求进行详细分析的基础上,我们可以确定列表和结构之间存在哪些链接,也可以验证、自定义和细化、查询和浏览什么,以及数据库允许哪些需求用户要遵守的数据和功能。将数据库概念设计中整理的E-R图转换为关系数据库。其数据关系是由数据表组成,但表的结构表现是在表的字段上的。表4.1:qq_message表列名数据类型长度约束idint11NOTNULLuidint11DEFAULTNULLfidint11DEFAULTNULLqidint11DEFAULTNULLtypeint11DEFAULTNULLzanint11DEFAULTNULLnotevarchar500DEFAULTNULLndatevarchar50DEFAULTNULLusernamevarchar50DEFAULTNULLfusernamevarchar50DEFAULTNULLattachvarchar200DEFAULTNULLattachnamevarchar200DEFAULTNULLimgvarchar200DEFAULTNULL表4.2:wct_bill表列名数据类型长度约束idint11NOTNULLgidsvarcha100DEFAULTNULLpricevarchar100DEFAULTNULLuservarchar100DEFAULTNULLuidvarchar100DEFAULTNULLshopvarchar100DEFAULTNULLbillvarchar2000DEFAULTNULLopenidvarchar255DEFAULTNULLndatevarchar255DEFAULTNULLtotalvarchar255DEFAULTNULLwayvarchar50DEFAULTNULLgnamesvarchar500DEFAULTNULLsidvarchar10DEFAULTNULLtelvarchar50DEFAULTNULLaddressvarchar50DEFAULTNULLnotevarchar200DEFAULTNULLstatevarchar10DEFAULTNULLstatecnvarchar50DEFAULTNULLcuidanvarchar255DEFAULTNULLimgvarchar255DEFAULTNULLaidvarchar255DEFAULTNULL表4.3:wct_dingzuo表列名数据类型长度约束idint11NOTNULLopenidvarchar200DEFAULTNULLusernamevarchar200DEFAULTNULLrenshuvarchar20DEFAULTNULLxingmingvarchar200DEFAULTNULLshoujivarchar200DEFAULTNULLshijianvarchar200DEFAULTNULLtodatevarchar200DEFAULTNULLbeizhuvarchar600DEFAULTNULLshopidvarchar200DEFAULTNULLshopnamevarchar200DEFAULTNULLndatevarchar200DEFAULTNULL表4.4:wct_good表列名数据类型长度约束idint11NOTNULLtitlevarcha100DEFAULTNULLpricevarcha10DEFAULTNULLjifenvarcha10DEFAULTNULLnotevarcha500DEFAULTNULLtypevarcha50DEFAULTNULLimgvarcha500DEFAULTNULLcountint11DEFAULTNULLtypeidvarcha10DEFAULTNULLxiaoliangint11DEFAULTNULLownidvarchar10DEFAULTNULLsidvarchar10DEFAULTNULLshopvarchar50DEFAULTNULLmcountvarchar50DEFAULTNULLsaleTypevarchar50DEFAULTNULLsalevarchar20DEFAULTNULLshouyeint10DEFAULTNULLndatevarchar255DEFAULTNULLgnamevarchar100DEFAULTNULLzanint11DEFAULTNULLedatevarchar50DEFAULTNULLcityvarchar50DEFAULTNULL表4.5:wct_gooditem表列名数据类型长度约束idint11NOTNULLnotevarchar1000DEFAULTNULLimgvarchar500DEFAULTNULLgidvarchar10DEFAULTNULL表4.6:wct_notice表列名数据类型长度约束idint11NOTNULLtitlevarcha50DEFAULTNULLnotevarchar500DEFAULTNULLndatevarcha50DEFAULTNULLtypevarchar50DEFAULTNULLimgvarchar200DEFAULTNULL表4.7:wct_posts表列名数据类型长度约束idint11NOTNULLtitlevarchar50DEFAULTNULLnotevarchar500DEFAULTNULLuidvarchar10DEFAULTNULLusernamevarchar200DEFAULTNULLndatevarchar50DEFAULTNULLimgvarchar255DEFAULTNULLtypevarchar255DEFAULTNULLnote2varchar255DEFAULTNULLstatecnvarchar255DEFAULTNULL表4.8:wct_replay表列名数据类型长度约束idint11NOTNULLpidvarchar10DEFAULTNULnotevarchar500DEFAULTNULuidvarchar10DEFAULTNULusernamevarchar200DEFAULTNULndatevarchar50DEFAULTNULtypeint11DEFAULTNULvnamevarchar255DEFAULTNULLwnamevarchar255DEFAULTNULL表4.9:wct_shop表列名数据类型长度约束idint11NOTNULLsnamevarcha100DEFAULTNULLimgvarchar500DEFAULTNULLnotevarcha500DEFAULTNULLaddressvarchar500DEFAULTNULLlongitudevarchar100DEFAULTNULLlatitudevarchar100DEFAULTNULLtelvarchar100DEFAULTNULLownidvarchar10DEFAULTNULLpasswdvarchar50DEFAULTNULL表4.10:wct_user表列名数据类型长度约束idint11NOTNULLusernamevarchar50DEFAULTNULLpasswdvarchar50DEFAULTNULLroletypevarchar50DEFAULTNULLemailvarchar200DEFAULTNULLtelvarchar50DEFAULTNULLqqvarchar20DEFAULTNULLwechatvarchar50DEFAULTNULLsexvarchar20DEFAULTNULLbirthvarchar20DEFAULTNULLimgvarchar200DEFAULTNULLsidvarchar200DEFAULTNULLaddressvarchar200DEFAULTNULLtagsvarchar200DEFAULTNULLfidsvarchar200DEFAULTNULL表4.11:wct_vip表列名数据类型长度约束idint11NOTNULLqqvarchar255DEFAULTNULLsexvarchar255DEFAULTNULLmobilevarchar255DEFAULTNULLopenidvarchar255DEFAULTNULLvnamevarchar255DEFAULTNULLwnamevarchar255DEFAULTNULL表4.12:wct_type表列名数据类型长度约束idint11NOTNULLtitlevarchar500DEFAULTNULLownidvarchar10DEFAULTNULLpidint11DEFAULTNULL5系统实现5.1管理员功能模块管理员在后台管理系统登录界面中输入用户名和密码进行登录,并且用户名和密码的填写必须一致,否则就会登录失败。如图5-1所示;当管理员成功登录就可以进入系统操作界面,然后可以进行首页推荐管理、发现管理、分类管理、评论管理、系统公告、用户管理功能模块的修改维护等操作,如图5-2所示。图5-1管理员登录界面图图5-2管理员操作界面图首页推荐管理,管理员通过填写标题、信息分类图片/视频、内容进行添加首页推荐的信息,同时,管理员能够通过信息列表进行查看所有的首页推荐信息,然后实行修改或者删除已有信息的操作,如图5-3所示。图5-3首页推荐管理界面图发现管理,管理员通过发现列表可以查看所有的发现信息,并且可以对已有的信息进行删除,根据需求管理员可以将发现信息设为首页推荐,如图5-4所示。图5-4发现管理界面图分类管理,管理员能够根据填写的名称进行添加信息的分类,同时根据分类列表查看所有的分类的信息,并且可以进行修改或删除已有的分类,如图5-5所示。图5-5分类管理界面图系统公告,管理员通过公告列表可以获取所有的公告信息,并且可以实行修改或删除已有的公告信息,也可以根据需求进行添加新的公告信息,管理员可以输入标题以及内容进行添加,添加完成并对其进行管理,如图5-6所示。图5-6系统公告界面图评论管理,管理员有权限通过评论列表进行查看所有的评论信息,也可以通过选择某些评论然后查看评论详细,并且进行删除对已有的评论信息,如图5-7所示。图5-7评论管理界面图用户管理,管理员能够在用户列表进行查看所有用户的信息,同时进行修改或删除已有的用户信息,也能够根据需求来添加新的用户信息,通过输入用户名、密码、密码确认、权限、状态实现添加,如图5-8所示。图5-8用户管理界面图5.2用户操作界面用户在微信进入平台,然后需要在登录界面输入用户名和密码进行登录,并且用户名和密码必须填写正确,否则就会登录失败,如图5-9所示;用户如果没有账号需要先行注册再进行登录,用户通过输入用户名、密码、密码重复、电话、地址、QQ、爱好、邮箱、生日、性别,信息输入完成后进行用户注册,如图5-10所示;用户登录成功进入主界面可以进行首页、发现、我的关注、我的模块的相应操作,如图5-11所示。图5-9用户登录界面图图5-10用户注册界面图图5-11用户主界面图这是此模块的部分代码:varuserinfo=null;

functionlogin(uinfo){

varfdata=uinfo||serializeObject($("#loginform"));

if($.trim(fdata.username)==""||$.trim(fdata.passwd)==""){

showLoader("请输入用户名或密码!",true);

return;

}

ajaxCallback("login",fdata,function(data){

if(&&=="fail"){

showLoader("用户名或密码错误",true);

changePage("loginpage");

}else{

if(data.statuscn=="0"){

showLoader("你已被封号!",true);

return;

}

showLoader("登陆成功!",true);

userinfo=data;

if(fdata.remember=="1"){

localStorage["userinfo"]=JSON.stringify(data);

}else{

localStorage["userinfo"]="";

}

toMain();

}

});

}

functionlogout(){

userinfo=null;

toLogin();

}

functiontoRegister(){

changePage("registerpage");

}

functiontoLogin(){

$($(':input','#loginform').get(1)).val("");

changePage("loginpage");

}

functionregister(){

varfdata=serializeObject($("#registerform"));

if($.trim(fdata.username)==""||$.trim(fdata.passwd)==""||$.trim(fdata.tel)==""||$.trim(fdata.address)==""){

showLoader("请填写完整信息!",true);

return;

}

if(fdata.tel.length<11){

showLoader("电话号码格式不对!",true);

return;

}

if(fdata.passwd!=fdata.passwd2){

showLoader("两次密码不一致!",true);

return;

}

if($.trim(fdata.passwd).length<6){

showLoader("密码不能少于6位!",true);

return;

}

ajaxFormUploadFile(function(r){

fdata.img=r;

ajaxCallback("checkUser",fdata,function(d){

if(=="success"){

ajaxCallback("register",fdata,function(r){

if(r){

showLoader("注册成功!",true);

toLogin();

}else{

showLoader("注册失败请稍候再试!",true);

}

});

}else{

showLoader("用户名已存在!",true);

}

});

});

};

functionupdateUserInfo(){

varfdata=serializeObject($("#userform"));

fdata.id=userinfo.id;

ajaxCallback("updateUser",fdata,function(r){

if(=="success"){

showLoader("保存成功!",true);

userinfo.qq=fdata.qq;

userinfo.tel=fdata.tel;

userinfo.wechat=fdata.wechat;

userinfo.email=fdata.email;

userinfo.birth=fdata.birth;

userinfo.sex=fdats.sex;

}else{

showLoader("保存失败,请稍候再试!",true);

}

});

}

functiontoChangePasswd(){

$("#pusername").text("用户名:"+userinfo.username);

changePage("passwdpage");

}

functionchangePasswd(){

varfdata=serializeObject($("#passwdform"));

fdata.id=userinfo.id;

if(fdata.oldpasswd!=userinfo.passwd){

showLoader("原始密码错误!",true);

return;

}

if($.trim(fdata.passwd)==""){

showLoader("密码不能为空!",true);

return;

}

if($.trim(fdata.passwd).length<6){

showLoader("密码不能少于6位!",true);

return;

}

if(fdata.passwd!=fdata.passwd2){

showLoader("两次密码不一致!",true);

return;

}

ajaxCallback("changePasswd",fdata,function(r){

if(=="success"){

showLoader("保存成功!",true);

}else{

showLoader("保存失败,请稍候再试!",true);

}

});

}

functiontoMorePage(){

if(!userinfo){

toLogin();

return;

}

changePage('morepage');

}

functiontoForget(){

changePage('forgetpage');

}

functionresetPasswd(){

varpasswd=$("#fpasswd").val();

varusername=$("#fusername").val();

if(username&&passwd&&passwd.length>6){

ajaxCallback("resetPasswd",{username:username,passwd:passwd},function(data){

if(=="-1"){

showLoader("信息错误!",true);

}else{

toLogin();

}

});

}else{

showLoader("请填写正确的信息!",true);

}

}首页推荐,用户进入主界面通过信息列表可以查看所有的信息,选择信息可以查看信息详细,并且可以查看已有的评论信息,根据需求用户可以对信息进行点赞、加入收藏、在线评论,如图5-12所示;同时,用户可以查看发布作者信息,点击作者可以查看作者详细,根据所需可以对用户进行关注或查看TA的发现,如图5-13所示。图5-12首页推荐信息详细界面图图5-13用户信息界面图这是此功能模块的部分代码:functionaddForm(){

varnote=$("#fnote").val();

vartitle=$("#ftitle").val();

vartype=$("#ftype").val();

ajaxFormUploadFile(function(r){

ajaxCallback("addPosts",{uid:userinfo.id,title:title,note:note,username:userinfo.username,img:r,type:type},function(){

toLuntan();

});

});

}

functionpostDetail(id){

varobj=getPostsById(id);

focuspost=obj;

focusobj=obj;

changePage("postdetail");

$("#vptitle").text("标题:"+obj.title);

$("#vpnote").text("内容:"+obj.note);

$("#vpusername").text("发布者:"+obj.username);

$("#vpdate").text("时间:"+obj.ndate);

$("#pimg").attr("src",fileurl+obj.img);

if(obj.uid==userinfo.id){

$("#mypost").show();

}else{

$("#mypost").hide();

}

listReplay();

}

functionlistReplay(){

ajaxCallback("listReplay",{pid:focuspost.id},function(data){

$("#replays").refreshShowListView(data);

});

}

functionlistReplay2(){

ajaxCallback("listReplay",{pid:focusobj.id},function(data){

$("#replays2").refreshShowListView(data);

});

}

functionaddReplay(){

varnote=$("#rnote").val();

if(_fid){

sendMsg();

}else{

ajaxCallback("addReplay",{pid:focuspost.id,uid:userinfo.id,username:userinfo.username,note:note},function(data){

_fid=null;

listReplay();

$("#rnote").val("");

});

}

}

functionaddReplay2(){

if(!userinfo){

toLogin();

return;

}

varnote=$("#rnote2").val();

if(_fid){

sendMsg();

}else{

ajaxCallback("addReplay",{pid:focusobj.id,uid:userinfo.id,username:userinfo.username,note:note},function(data){

_fid=null;

listReplay2();

$("#rnote2").val("");

});

}

appendToLocal(_plids,focusobj.id);

}

functiongetPostsById(id){

for(vari=0;i<postslist.length;i++){

if(postslist[i].id==id){

returnpostslist[i];

}

}

}发现,用户通过发现列表或输入关键字可以查看所有的发现信息,选择点击可以查看信息详细,根据需求用户可以对信息进行点击、收藏、评论,如图5-14所示;根据需求,用户可以在线发布信息,通过输入标题、地址、分类、图片、说明进行发布,如图5-15所示。图5-14发现列表界面图图5-15发布信息界面图这是此功能模块的部分代码:functiontoFabu(){

if(!userinfo){

toLogin();

return;

}

changePage("fabupage");

$("#rmyImage1").hide();

$("#rmyImage1v").hide();

$("#rmyImage1f").hide();

$("#goodform")[0].reset();

$("#gimg2").attr("src","");

$("#gid").val("");

$("#action").val("add");

ajaxCallback("listType",{pid:1},function(data){

shoplist=data;

$("#fcity").refreshShowSelectMenu(data,"选择分类","id","title");

});

}

functiontoAddTags(){

changePage('addtagpage');

}

functiongetGoodById(id){

for(vari=0;i<goodlist.length;i++){

vargood=goodlist[i];

if(good.id==id){

returngood;

}

}

returnnull;

}

functionsaveTags(){

vartags=$("#tagss").text()+""+$("#taggss").val();

ajaxCallback("updateTags",{id:focusobj.id,tags:tags},function(data){

showTipTimer("操作成功!",function(){

toYouji();

});

});

}

functiontijiaouser(){

varnote=$("#infobeizhu2").val();

varbill={};

bill.uid=userinfo.id;

bill.user=userinfo.username;

bill.shop=focushop.sname;

bill.sid=focushop.id;

bill.gids=focusobj.id;

bill.gnames=focusobj.gname;

bill.total=focusobj.price;

bill.tel=userinfo.tel;

bill.address=userinfo.address;

bill.note=note;

ajaxCallback("saveBill",bill,function(){

showLoader("提交成功!",true);

showTipTimer("提交成功!",function(){

toMyBill();

});

});

}

functiontijiao(){

if(userinfo){

changePage("infopage2");

$("#iscar2").val("1");

}else{

changePage("infopage");

$("#iscar").val("1");

}

}

functionzan(){

varzids=localStorage[_zids];

varzidsarray=zids.split(",");

varflag=false;

for(vari=0;i<zidsarray.length;i++){

if(zidsarray[i]==focusobj.id){

flag=true;

break;

}

}

if(flag){

showLoader("你已经赞过了!",true);

return;

}

ajaxCallback("zan",{id:focusobj.id},function(data){

$("#zan").text();

appendToLocal(_zids,focusobj.id);

});}我的关注,用户通过我的关注界面中的关注列表可以查看我的所有关注,并且可以选择用户进行在线交流,如图5-16所示。图5-16我的关注界面图此功能模块的部分代码:functionsendMsg(){

varobj={};

obj.uid=userinfo.id;

obj.fid=_fid;

obj.note=$("#rnote2").val()||$("#rnote").val()||$("#chatnote").val();

obj.username=userinfo.username;

//obj.fusername=focusobj.username;

obj.type=1;

obj.img=userinfo.img;

ajaxCallback("addMessage",obj,function(data){

showTipTimer("私信发送成功!",function(){

_fid=null;

$("#rnote2").val("");

$("#rnote").val("");

$("#chatnote").val("")

toMyMessage();

});

});

}

functiontoChat(id,type){

if(userinfo.status=="禁言"){

showLoader("你已被禁言",true);

return;

}

_chattype=type;

if(type==1){

ajaxCallback("getUser",{id:id},function(data){

focusobj=data;

changePage("chatpage");

chattimmer=setInterval(function(){

refreshServerChatList();

},1000);

});

}else{

varqz=getObjectById(id,focuslist);

focusobj=qz;

changePage("chatpage");

chattimmer=setInterval(function(){

refreshServerChatList();

},1000);

}

}

functionrefreshChatMSg(){

ajaxCallback("listMyMessage",{uid:userinfo.id,fid:focusobj.id},function(data){

$("#msglist").refreshShowListView(data);

},true);

}

functionsendMsg(path,type){

varajaxurl="addMessage";

if(_chattype==2){

ajaxurl="addQunMessage";

}

varobj={};

obj.uid=userinfo.id;

obj.fid=focusobj.id;

if(_chattype==2){

obj.qid=focusobj.id;

}

obj.note=$("#msgaarea").val();

obj.username=userinfo.username;

obj.fusername=focusobj.username;

obj.type=1;

obj.img=userinfo.img;

if(path){

if(type==2){

obj.type=type;

uploadFileUrl=path;

uplaodImg(function(r){

obj.attach=r;

ajaxCallback(ajaxurl,obj,function(data){

iftobutton=true;

refreshServerChatList();

});

});

}elseif(type==3){

obj.type=type;

uploadFileUrl=path;

uplaodImg(function(r){

obj.attach=r;

obj.attachname=uploadFileUrl.substr(uploadFileUrl.lastIndexOf("/")+1);

ajaxCallback(ajaxurl,obj,function(data){

iftobutton=true;

refreshServerChatList();

});

});

}

}else{

if(checkMgc(obj.note)){

showLoader("消息不合法",true);

return;

}

obj.attach="";

ajaxCallback(ajaxurl,obj,function(data){

iftobutton=true;

refreshServerChatList();

});

}

$("#msgaarea").val("");

functionaddFriend(){

ajaxCallback("addFriend",{uid:userinfo.id,fid:focusobj.id},function(data){

userinfo=data;

toMyFriend();

});

//改为同意的时候后台自动加上

/*ajaxCallback("sendAddMessage",{fid:userinfo.id,tid:focusobj.id,status:"待同意",fuser:userinfo.username,img:userinfo.img},function(data){

showLoader("请求已发送,等待关注验证!",true);

});*/

}

functiontoMyFriend(){

changePage('friendpage');

listMyFriend();

}

functionlistMyFriend(){

ajaxCallback("listMyFriend",{uid:userinfo.id},function(data){

focuslist=data;

$("#myfriendlist").refreshShowListView(data);

});

}

functiondelFriend(){

ajaxCallback("delFriend",{uid:userinfo.id,fid:focusobj.id},function(data){

userinfo=data;

toMyFriend();

});

}

functioncheckIsMyFriend(id){

ajaxCallback("checkIsMyFriend",{uid:userinfo.id,fid:id},function(data){

//cb&&cb();

if(=="1"){

$("#canadd").hide();

$("#candelf").show();

}else{

if(focusobj.id!=userinfo.id){

$("#canadd").show();

$("#candelf").hide();

}else{

$("#canadd").hide();

$("#candelf").hide();

}

}

});

}我的,用户通过我的界面可以查看浏览历史、我的评论、我的关注、我赞过的、我的发布、公告通知、我的收藏、个人信息等信息内容。用户可以对自己的个人信息和登录密码进行修改,如图5-17所示;用户需要输入用户名、原始密码、新密码、密码重复才可以修改密码,如图5-18所示。图5-17我的界面图图5-18修改密码界面图这是此功能模块的部分代码:functionlistYouji(uid,type){

varids="";

$("#showtitle").text("发现");

$("#fabubtn").show();

if(type==1){

ids=localStorage[_hisids];

$("#showtitle").text("浏览历史");

$("#fabubtn").hide();

}elseif(type==2){

ids=localStorage[_plids];

$("#showtitle").text("我的评论");

$("#fabubtn").hide();

}elseif(type==3){

ids=localStorage[_zids];

$("#showtitle").text("我赞过的");

$("#fabubtn").hide();

}elseif(type==5){

$("#showtitle").text("我的发布");

}

uid=uid||"";

ajaxCallback("listGood",{btype:2,uid:uid,ids:ids,gtype:_focustype},function(data){

goodlist=data;

varhtml="";

for(vari=0;i<data.length;i++){

varobj=data[i];

varimg=obj.img;

if(img&&isImg(obj.img)){

img=obj.img;

}elseif(img&&isVideo(obj.img)){

img="video.png";

}

html+='<lionclick="toGood('+obj.id+');">'+

'<imgstyle="height:100px;"src="'+fileurl+img+'">'+

'<h2>'+obj.gname+'</h2>'+

'<p>'+obj.note+'</p>'+

'<pstyle="color:red;">'+obj.type+'</p>'+

'</li>';

}

$("#goods2").html(html).listview("refresh");

});

}6系统测试6.1系统测试目的系统测试可以确保系统能否正常运行和功能模块如何实现的更好以及程序代码是否存在错误。测试程序是开发过程中的一个主要问题。即使系统已经完成,无论多么好,程序测试也会发现没有找到重复错误信息。任何系统需要能够使用测试阶段、测试过程是找出系统实现过程错误,系统用户需求标准找到之间的差距程序和系统用户需求或冲突,根据系统问题提出解决方案,以更好地进行在线检测系统。6.2系统测试分析6.2.1测试策略在系统测试时可以通过以下几个方面进行测试:1、为“校园兴趣交流平台”代码进行单元、集成、和验收测试并查看测试结果;2、在测试的过程中找出不可使用性能和功能,并找出可用的;3、分析、记录的测试要求:文件的日期对系统测试的设计、开发和执行产生不会产生影响。6.2.2测试性能系统测试的性能如下:挑剔性:测试目的是要找出系统的错误,所以在系统测试时我们需要更加严格。(2)复杂性:测试是很复杂的过程。从设计测试事例来看,需要小心谨慎,做好高度熟练的高能工作。(3)不彻底性:已经通过了系统测试,但测试还存在一些不彻底的问题。由于保障不了测试系统后期的运行完整,后期要不断地进行检测和修订。(4)经济性:测试时要遵守经济原则。由于缺乏经验,代码在编写的时候会出现缺陷。在编写代码时,假设出现了不一致。例如,非标准代码在接口和接口之间造成问题,函数不符合客户的要求。因此,产品无法交付。也因此,产品必须在上线前再次测试。经过多次测试、更改、测试和更改,产品可以不断改进。在整个测试过程中,系统根据所要求的文件检测和编写了无数函数来测试使用,以有效地避免缺陷。6.3系统测试结果通过对系统的测试,并有证据表明,测试开发进程是非常富有成效的,并且根据用户的需要,已经实现目标。这个系统功能正常运行,而且通常可以使用。但本系统的其他功能还有待测试,今后会一一进行测试,根据用户的需要,并且已经实现了功能,实现了开展目标,系统运作正常,而且所有功能可以使用。

结论在做毕业设计的过程中,学习并掌握到了很多与专业相关的知识,同时提升了自我学习能力。本题目是基于微信的校园兴趣交流平台,所以在确定题目时就决定要深入了解相关知识,比如微信开发者工具的使用,Java技术以及页面的设计,初步了解页面的美化。经过这次毕业设计,我也基本掌握了开发一个微信小程序的流程,产生了许多问题,在这一进程中,但我设法克服了困难,尝试各种不同方法进行改进,并最后达到了毕业设计的要求,完成了主要的功能模块。经过本次毕业设计,我学到了很多书本上没有的知识。同时在整个项目的设计和开发过程中我对微信开发者工具、Java技术和数据库MYSQL等有了较深刻的认识,从而了解了软件设计的步骤及思路,使软件开发的能力有了很好的提高,同时积累了丰富的经验,为以后工作和学习奠定了坚实的基础。毕业设计就要结束了,大学也要结束了,但是学习永远不会结束。不管将来从事什么工作,都要保持强烈的求知欲和认真的学习态度。在即将到来的工作岗位上,我将踏踏实实,努力学习,认真工作,争取取得更优异的成绩。

参考文献范立峰,乔世全,程文彬PHP程序设计人民邮电大学出版社2009。刘玉佳.微信“小程序”开发的系统实现及前景分析[J].信息通信,2017。武思怡等.微信小程序开发研究[J].无线互联科技,2018。腾讯公司微信公众平台开发者文档[EB/0L](2014—12—22)。孙月玲.微信小程序的设计与开发[J].电子技术与软件工程.2018/10/17(美)KevinMukhar,ChrisZelenak,JamesL.Weaver,JimCrume,JavaEE5开发指南,机械工业出版社,2006。吴挺.基于微信公众平台的可扩展架构研究与实现[D].兰州大学,2016。李宁JavaWeb开发技术大全--PHP+Servlet清华大学出版社,2009。聂哲PHP动态WEB技术实例教程。李绪成,闫海珍javaWeb开发教程—入门与提高篇(PHP+Servlet)清华大学出版社2009。霍尔等著Mysql与PHP核心编程北京清华大学出版社2010JoyceFarrell著Java编程(英文影印版)科学出版社2011郭克华编JavaEE程序设计与应用开发北京清华大学出版社2011埃克尔著,陈昊鹏译.Java编程思想[M].(第4版).北京:机械工业出版社,2007:17-690.RobertW.Sebesta著,刘伟琴等译.Web程序设计[M].(第4版).北京:清华大学出版社,2008:9-450.赵强编著.精通JAVA编程[M].北京:电子工业出版社,2006:34-56.萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2000:10-180.陈刚.Eclipse从入门到精通[M].(第2版).北京:清华大学出版社,2007:17-380. 孙卫琴.精通Struts:基于MVC的JavaWeb设计与开发[M].北京:电子工业出版社,2004:19-421.

致谢基于微信的校园兴趣交流平台的完成,如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。首先要感谢我的指导老师,谢谢您在设计和论文中给我的指导。在您的细心指导下我才能快速的掌握系统的相关功能,在您的大力帮助下我才能将课本上的知识与自己的项目结合,真正的做到学以致用。感谢您经常牺牲自己的休息时间,利用其丰富的教学和项目经验对我进行指导。感谢所有教过我的老师,为我倾注了大量的心血,正是你们的谆谆教诲、严谨教学才使我能顺利的完成学业,再此向你们表示深深的感谢。感谢我的同学们,对我的大力支持及帮助,正是你们不断的帮助、鼓励,给我带来了极大的动力,最终系统可以顺利的运行。我们在交流、谈论的这段时间,将是我未来的财富,我要深深地感谢你们!毕业在即,在今后的工作和生活中,我会铭记师长们的教诲、同学们的帮助,继续不懈努力和追求,来报答所有支持和帮助过我的人!

PowerPoint课件制作实用技巧PowerPoint是微软公司生产的制作幻灯片和简报的软件(以下简称PPT)。在我们许多人看来,它只不过是一个简单地对文字、图形、图片进行演示的软件,教学中的课件制作软件当属Authorware、Flash。Authorware和Flash制作的动画效果的确很好,而且它们的功能也很强大。不过这些软件在制作课件的过程中往往非常耗时,用这些专业软件来制作课件用于平时的教学往往效率很低。PPT就是一个非常简单、实用的制作课件的软件,只要你用好它,同样能做非常棒的课件来。一、掌握基本,知道“插入”。(一)知道从“插入”菜单进入,会给PPT课件添加文字、图片、影片和声音等,也就会做一般的课件了。(二)图片插入与处理1.插入图片具体方法:a)插入剪贴画或文件中的图片;b)添加图片做背景;c)给自选图形做填充。2.处理图片具体方法:我们用PPT制作课件时,经常从网上下载图片来用,而网络中的图片往往含有超链接和网站名称痕迹,我们需要删除其中超链接,并对图片进行裁剪处理。在Powerpoint中,我们一般可以利用“图片”工具栏上的“裁剪”工具进行裁剪处理,但是,这里的工具只能对图片进行矩形裁剪,若想裁剪成圆形、多边形等其他形状,通常方法就无能为力了。其实这个问题在PPT中是可以解决的。我们用给自选图形做填充图片的方法就可以实现我们需要的效果。具体步骤:a)首先利用“绘图”工具栏画一个想要裁剪的图形,如椭圆。b)选中椭圆后单击“绘图”工具栏上“填充颜色”按钮右侧黑三角,从列表菜单中单击“填充效果”命令。c)打开选择“图片”选项卡,单击〔选择图片〕按钮,从“选择图片”对话框中找到合适的图片,单击〔插入〕按钮后返回到“填充效果”对话框最后单击〔确定〕按钮后退出。此图片当作椭圆图形的背景出现,改变了原来的矩形形状,获得了满意的裁剪图片效果。图片在插入PPT之前,我们可以用ACDSEE软件进行加工,如改变大小,裁剪等操作。二、学会下载,查找方法。在制作课件过程中,我们时常需要从网络上下载各种资源用以丰富课件内容,提升课堂效果。但有许多网站的flash动画都不提供下载;还有网站为我们提供了许多视频素材,这些视频素材都是FLV流媒体格式。FLV流媒体格式是一种新的视频格式,全称为FlashVideo。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现也有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。目前各在线视频网站均采用此视频格式。如新浪播客、56、优酷、土豆、酷6等,无一例外。FLV已经成为当前视频文件的主流格式。这些网站一般都不提供下载。我们想要这些素材,怎样办?1.寻找下载方法:a)在百度网站搜索栏中输入下载的内容,搜索下载方法。b)弄清格式,再搜索方法。2.具体方法推荐①flasah动画的下载方法一:IE缓存中寻找在网上看过一个flash后,一般情况下都会保存在IE缓存里。右击桌面上的IE图标,选“属性”命令,单击中间的“设置”按钮,弹出“Internet临时文件和历史记录设置”面板,单击“查看文件”,可以打开临时文件夹,按时间排序,找到刚才打开的flash动画文件。优点:不需要安装其它软件。缺点:操作相对烦琐。方法二:借助Flashsaver等软件下载,这些软件都可以快速、方便的下载你所需要的flash文件。优点:简单、方便、快速。缺点:需要安装使用。②FLV视频的获取方法一:IE缓存中寻找,方法同flasah。方法二:flv视频解析下载/三、学用控件,转化应用1.flash动画的插入方法一:安装flash插件,再插入flash。步骤:a)安装“ppt插flash软件”插件;b)单击“插入”→“flashmovie”→打开要播放的flash文件→确定。方法二:利用控件插入flash动画。步骤:a)插入“ShockwaveFlashObject”控件对象:右击“工具栏”→选“控件工具箱”(或点“视图→工具栏→控件工具箱”);点“其他控件”(控件工具箱中最后一个形似锤子斧头的按钮),拖动滚动条或在英文输入法状态下按键盘上“s”键,快速定位到以s开头的控件,选择“ShockwaveFlashObject”控件。将鼠标移到幻灯片工作区,鼠标指针变成“十”字型,拖动鼠标绘制出一个形似信封的矩形。b)打开控件对象“属性”对话框:右击矩形控件对象,在弹出的快捷菜单中选“属性”命令。c)正确设置控件对象属性:主要是在“Movie”空白文本域中正确输入演示文稿要播放的.swf动画的完整名称。d)将控件对象适当缩放:为了获得比较好的播放效果,拖动控件对象的缩放点使它几乎覆盖整个幻灯片工作区,但要在幻灯片工作区底部保留少许空白区域。这样既可以享受.swf动画大屏幕播放的好处,又能够保证幻灯片能够顺利地切换。e)一般情况下,幻灯片应显示出动画的第一帧图形。如果控件对象仍是空白的,可保存演示文稿,关闭后再打开它,按F5放映幻灯片,应该能够正确播放动画。2.FLV视频的插入FLV视频与FLASH不一样的。全称是flashvideo,所用的播放器也不一样。①利用控件插入PPT的方法也是有区别的。不同点:先要下载pptflv.swf文件,此文件是类似于网页中FLV视频播放器的一个Flash文件(可用百度搜索下载下来后记着要改文件名,保留扩展名);例如改成:pptflv1.swf“Movie”参数值填入方法不一样,参数值示例:pptflv.swf?file=视频.FLV“pptflv.swf”即为步骤一下载下来的Flash文件的完整文件,“视频.FLV”即为需要播放的FLV视频的文件名,大家只要将pptflv.swf换成自己下载后起的文件名,将“视频.FLV”换成自己的FLV视频文件名,则此FLV文件就可以在PowerPoint中播放了。如播放2.flv视频参数填法:示例:pptflv1.swf?file=2.FLV②方法二:将flv转换成swf再插入转换软件:UltraFlashVideoFLVConverter3.2.0软件说明:该软件又叫全格式FLV转换器,支持将几乎所有主流视频格式转换为FLV或者SWF且对用户较为关心的RealMedia(RM/RMVB...)和QuickTime(MOV/QT...)支持良好。三大特色功能:既可输出FLV格式,也可输出SWF格式,甚至同时输出FLV+SWF格式。此软件也支持创建调用播放的网页支持导入所有的主流字幕格式。srt,*.sub,*.idx,*.ssa,*.ass,*.psb,*.smi)有字幕合成功能,你现在无需再使用那些繁琐的专业软件来合成字幕到视频中去,字幕合成与格式转换一气呵成!支持视频分割,右键点击列表中的源文件,选择[编辑视频],自己设置下起点终点即可对视频进行去粗取精处理!③方法三:将flv转换成其他格式视频文件再插入工具:FLV转AVI(FreeFLVtoAVIConverter1.5)作用:一个免费的将FLV转换成AVI的软件,简单好用,自带解码器。四、学做交互,理解运用。1.利用母版进行交互母版≠模版母版和模版可以使课件统一整体风格,展现自己的个性和特点;模版是对同一类课件所做的整体风格统一设置,母版则是对某一部课件内部所做的个性化统一设置。母版设置得好,就可以存为模版,供别人在制作同类题材时使用。修改幻灯片母板的方法和技巧。如果我们希望为每一张幻灯片添加上一项固定的内容,并做超链接,可以通过修改“母板”来实现。a)执行“视图→母板→幻灯片母板”命令,进入“幻灯片母板”编辑状态。b)插入固定内容。例如:将图片插入到幻灯片中,调整好大小、定位到合适的位置上。c)给这张图片插入超链接,就可以进行交互了。d)单击“关闭母板视图”按钮退出“幻灯片母板”编辑状态。以后添加幻灯片时,该幻灯片上自动添加上该图片。如果说一个PPT有它的灵魂的话,那就是PPT的母板,它的作用犹如摩天大厦的根基一般。2.在PPT演示文稿中插入PowerPoint演示文稿对象实现交互具体效果:①导航目录内容展示效果②单击小图片就可看到该图片的放大图自动缩效果《画家乡》一课五个画面交互的具体操作方法:a)单击“插入→对象”,在出现的选择页中选择“MicrosoftPowerPoint演示文稿”,单击确定。此时就会在当前幻灯片中插入一个“PowerPoint演示文稿”的编辑区域。b)在此编辑区域中我们就可以对插入的演示文稿对象进行编辑了,编辑方法与PowerPoint演示文稿的编辑方法一样。c)在插入的演示文稿对象中创建所需的幻灯片。可将图片设置为幻灯片相同大小,退出编辑后,就可发现图片以缩小方式显示了(其实是整个插入的演示文稿对象被缩小显示了)。d)最后,我们只需对剩余的图片进行插入。为了提高效率,可将这个插入的演示文稿对象进行复制,并按照上面的方法对图片进行替换即可。e)完毕后,单击“观看放映”命令进行演示,单击小图片马上会放大,再单击放大的图片马上又返回到了浏览小图片的幻灯片中了。原理:这里的小图片实际上是插入的演示文稿对象,它们的“动作设置”属性中的“单击鼠标”中的“对象动作”被设为了“演示”(这是默认值)。因此我们在演示时,单击小图片,就是等于对插入的演示文稿对象进行“演示观看”。而演示文稿对象在播放时就会自动全屏幕显示。所以我们看到的图片就好像被放大了一样,而我们单击放大图片时,插入的演示文稿对象实际上已被播放完了(因为只有一张),它就会自动退出,所以就回到了主幻灯片中了。3.用触发器控制自定义动画进行交互以前我们在使用PowerPoint制作课件时,常常发现制作人机交互性的课件非常麻烦。其实在PowerPoint2003里,用触发器控制自定义动画可以轻松地制作出交互性很强的课件。触发器功能可以将画面中的任一对象设置为触发器,单击它,该触发器下的所有对象就能根据预先设定的动画效果开始运动,并且设定好的触发器可以多次重复使用。类似于Authorware、Flash等软件中的热对象、按钮、热文字等,单击后会引发一个或者的一系列动作。例1:单击“棱台”后,“小球”开始按一定路径运动。例2:分别单击“变色一”和“变色二”,让“笑脸”颜色。例3:单击下面一段话的关键词,让词语变红色读下面一段话,说说从哪些词语中可以看出侵略者采用了各种野蛮手段掠夺、毁灭圆明园的?他们把园内凡是能拿走的东西,统统掠走,拿不动的,就用大车或牲口搬运。实在运不走的,就任意破坏、毁掉。步骤:a)将原来段落中的重点词消去;(将词语颜色变成和背景色一样)b)将重点词作为单独文本覆盖到原来位置;c)设置重点词自定义动画为“添加效果→强调→更改字体颜色→红色”d)右击重点词自定义动画,选择“效果选项”,选择“计时”,选择“触发器”,选“单击下列对象时启动效果”,再选重点词,按确定。五、学会截取,合理选用。(一)视频的截取加工1.工具:万能转换器(英文名TotalVideoConverter)作用:可以帮助你快速的分割,修整大的AVI、MPEG、ASF或者WMV文件为一个个小的视频文件,内置视频播放器,你可以很方便的按照所选择的播放时间进行切割操作,不需要另外具备高深的技术知识,简单容易使用!2.绘声绘影会声会影是一套操作最简单,功能最强悍的DV、HDV影片剪辑软件。不仅完全符合家庭或个人所需的影片剪辑功能,甚至可以挑战专业级的影片剪辑软件。(二)flash的片段截取有时候,在网络上下载了一个课件,对自己的课堂教学有帮助,但是又不想全部应用这个课件,只想取出其中一部分,应该则么办呢?先用硕思闪客精灵将.swf文件和.exe文件转换成fla文件,再用flash8打开进行编辑,截取自己所需的片段,然后插入到ppt里面为我所用。1.硕思闪客精灵:它是一款用于浏览和解析Flash动画(.swf文件和.exe文件)的工具。最新版本有着强大的功能,可以将swf文件导出成FLA文件。它还能够将flash动画中的图片、矢量图、声音、视频(*.flv)、文字、按钮、影片片段、帧等基本元素完全分解,最重要的是可以对动作的脚本(Actionscript)进行解析,清楚的显示其动作的代码,让对Flash动画的构造一目了然。支持将SWF文件导出成FLA文件,帮助丢失FLA文件的影片作者重新获得FLA文件,从而可以再编辑。完全兼容Flash8文件和动作脚本(ActionScript)2.0。硕思闪客精灵支持将包含组件的SWF文件转换成FLA格式,用户可以在Flash中编辑这些组件。支持解析Flash影片中的视屏(video)文件,并将Flash影片中的视频文件导出为*.flv格式。2.硕思闪客精灵具体使用方法:①解析Flash课件,提取课件素材在Flash课件作品中有大量的图片、声音和视频等资源。由于制作者拥有的资源不同,在制作课件时,很难及时、方便地寻找到适合的素材。如果可以从同类作品中将所需要的资源提取出来为己所用的话,不仅大大节约了搜集素材资源的时间,而且会极大地提高课件利用率。但是,Flash课件发布时一般都进行加密处理,使教师无法用普通的方式导入到Flash中进行编辑。而硕思闪客精灵可以解析出Flash作品中的元件及脚本,并且可以保存成swf格式,这样在创作时就可以直接导入Flash中使用。启动闪客精灵,单击工具上的“快速打开”按钮打开一个Flash动画(可以是swf格式或exe格式),闪客精灵会自动分解当前动画(图2),包括用到的脚本语言(Actions语句),并在资源栏中分类罗列着动画中的各种元件(图片、按钮、影片和声音等);单击某个元件,可以在中间的窗口中预览;勾选需要的元件,然后单击“导出”按钮,就可以把选中的元件分类保存到原文件所在的文件夹中。②反编译Flash课件,获取课件源代码硕思闪客精灵的最大亮点就是能够将Flash动画(swf格式)还原成其源文件(Fla格式),相信这个功能是很多朋友期待已久的。还原的方法十分的简单,只需要打开Flash动画,再单击工具栏上的“导出Fla”按钮,选择保存位置,稍等后就完成了还原工作,此时还会提示“是否愿意用Flash打开它”,单击“Yes”即可启动系统中安装的Flash打开还原后的源文件,此时你就可以随心所欲地对它进行修改啦。3.用flash8进行编辑基本方法:选取需要帧,复制,粘贴到新的flash中,调试修改。上面介绍了关于破解Flash课件的一些方法和手段,有一个特定的使用范围,即为了课堂教学服务,只有资源共享才能提高教学效率,促进教学效果的提高。不能做为商业目的,也不能将别人的课件的署名修改一下,便成为自己的作品,用于参加比赛,这是不道德的行为。在PPT演示中禁用右键快捷菜单和滑鼠滚动一大群与会人员正襟危坐,你豪情满怀地进行着某个新产品的演示或介绍,却不小心由于鼠标左键的误操作导致幻灯片跳到了本不应该出现的位置,或者本应按下鼠标左键切换到下一张,却由于按下了右键而出现一个快捷菜单。不用担心,只要进行小小的设置,就可以将这些烦人的问题统统搞定。从任务窗格中打开“幻灯片切换”,将换片方式小节中的“单击鼠标时”和“每隔”两个复选项全部去除,然后将这个设置应用于所有幻灯片,以后切换到下一张或上一张,只有通过键盘上的方向键才能进行操作。至于另外一个问题,解决的办法也很简单,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论