仿花田:相亲网站意中人已在GitHub上开源stoneniqiu

1.MVC我先说模型,共有20几张表,支持数据迁移。BaseInfos(基本资料),DetailInfos(详细资料),LoveViews(恋爱观)应该是做到一张User表中的,脑抽的我把他们分成了三张表,因为他们是分别存储的。下载之后,改成你自己的数据库,运行就能创建新表了。

3.视图:主要是基于Bootstrap2,Jquery1.7.2.,form.js注册的日期控件和Topic的编辑器用的是KendoUi,小伙伴们可以去换成Ckeditor,而Bootstrap用的地方主要是在

Layout的导航,后台导航,举报、私信、图片上传的模态对话框,在主页面使用它的栅格比较少,因为老是和导航对不齐,就放弃了。或许是我用的不对。Jquery用来交互,获取数据。form.js用的比较多,很多地方是form提交,没有用MVC自带的Create。原因就是不好看,而且不好控制,ie下面会走样。

二、前端特别说明

这里特别要说明的就是一些函数和窗口的触发

1.图片上传和举报框。

在用户主页的视图和PersonalInfo视图中会有这两个相似的html代码,是用来触发图片上传框的。

举报也同样的做法:但举报需要提供更多的信息,所以加了很多data属性。用脚本触发对话框

我想大家也明白了,就是这样的一回事,脚本没有压缩,大家可以去看。其他像喜欢,私信,都是一个道理,定义好一个样式,主要是样式名称,在layout里面写脚本,这样就很方便了。

2.form提交:

用form.js,能很好的控制整个提交过程,BeginForm,隐藏的form,图片上传的form。

编辑基本资料:

$('#Form1').submit(function(){$(this).ajaxSubmit(options);returnfalse;});varoptions={dataType:'json',success:processJson,};functionprocessJson(data){//还是返回json的好,再去更新。$(".infowrap").show();//......$("#sProfession").html(data.Profession);$("#sPosition").html(data.Position);$("#sSchool").html(data.School);$("#sState").html(data.State);}

二、后台逻辑

其实这个部分是最没有含金量的,只要大家清楚业务流程了,逻辑再怎么也能写出来。我也没有用AOP来记录日志或者处理异常,用IOC/DI来解耦。这也是我的弱点。所以我就简单说明下。

1.符合基本条件的用户:因为是相亲交友,所以要筛选用户。在BaseController中有个GetBaseUsers

///

///获取基本的异性集合不可以允许未审核图片的人进来!/////////protectedIEnumerableGetBaseUsers(intid){varlz=LoveDb.One((Usern)=>n.UserId==id);vardislikelist=GetDislikeList();//过滤的名单。过掉我不喜欢的人。//还要过掉不喜欢我的人?if(lz!=null){//选出所有异性中图片审核过的,资料审核过的人,且资料开放,没有被禁止的人returnLoveDb.UserAll().Where(n=>n.Sex!=lz.Sex&&n.IsVerified&&n.IsVerifiedImg&&n.IsOpen&&n.Enable==1&&!dislikelist.Contains(n.UserId)).ToList();}returnnull;}2.推荐的用户:推荐,动态,搜索的基本用户都是来自这里。你可以稍微改下代码让他可以选择同性。而推荐和动态的用户还需要满足一个用户的基本择偶要求。就是比如我择偶的要求是

158以上,江苏,22岁以上。那出现在这两个页面的用户就必须满足这三个条件是硬性指标,但学历,薪水是可以不匹配的。所以在推荐页面是这样的:

publicActionResultRecommendPage(){varid=CheckValid();if(id==-1||Session["uid"]==null){returnRedirectToAction("Logon","User");//不知道有没有效果}varrequire=LoveDb.One((Requirementr)=>r.UserId==id);varbaseusers=GetBaseUsers(id).Where(n=>PartMathUser(require,LoveDb.GetUninUser(n.UserId)));//找出所有正规的异性符合需求的。ViewBag.Sex=GetMyself().User.Sex=="man""她":"他";varuserlist=baseusers.Select(baseuser=>GetRecommendUser(baseuser.UserId)).ToList();returnPartialView(userlist.OrderByDescending(n=>n.Rate.TotalRate));}partMathUser就是一个专门用来比对的函数。原理就是捞出来一个一个比对,三个条件全部对了就是true。搜索也是一个道理,前台把条件传过来,后台来处理。我想这个地方应该是很有优化的空间。

3.推荐度和热度

计算推荐度,就是看两者资料的匹配度,而热度大家可以去看模型就知道了,就是统计数据再综合排名。换成百分率。

///

///用户热度,相互符合度,生活观契合度//////本人///比较者///publicRecommendRateGetRecommendRate(intselfid,intotherid){varusersum=LoveDb.UserAll().Count;//得到两个人的需求表来计算相互符合度varmyre=LoveDb.One((Requirementr)=>r.UserId==selfid);varyoure=LoveDb.One((Requirementr)=>r.UserId==otherid);varyourUnin=LoveDb.GetUninUser(otherid);varme=GetMyself();varrr=newRecommendRate{//用户热度排名UserHotRateUserHotRate=(double)(usersum-LoveDb.UserHotAllDes().FindIndex(n=>n.UserId==otherid))/usersum,ForMeRate=TomeRate(yourUnin,myre),ForOtherRate=TomeRate(me,youre),LoveViwRate=GetLoveViewRate(yourUnin,me)};rr.TotalRate=(rr.UserHotRate+rr.LoveViwRate+rr.ForMeRate+rr.ForOtherRate)/4;returnrr;}其他就没啥好说的,各种returnjson,returnpartview()我想这个是容易看明白的。

三、数据层

1.LoveDb仓库,像单例模式,获取实例,用反射封装了Add,Delete,One,All等常用方法。

namespaceFindlover.Migrations{usingSystem.Data.Entity;usingSystem.Data.Entity.Migrations;internalsealedclassConfiguration:DbMigrationsConfigurationwhereTContext:DbContext{publicConfiguration(){AutomaticMigrationsEnabled=true;AutomaticMigrationDataLossAllowed=true;}protectedoverridevoidSeed(TContextcontext){}}}再就是Lambda,linq。到处都是,没有写一句sql语句。这个没什么说的。

四、问题和扩展

大大小小的问题还是蛮多的,兼容性的,脚本的,逻辑的,性能的,结构的。这些都还要慢慢的改。所以有问题不要惊奇,是很正常的。像上传和文本编辑应该换uploadfy和ckeditor控件。这个版本还么有加入分页,或者换成流行的滚动加载。增加一些好玩的功能,这些就要看你们的了,尽情的去折腾吧。小丘比特谢谢你!

祝你幸福~

五、说下开源

CodePlex和gitHub合作了,CodePlex可以用git上传,而git也变成了这个windows风格:方便大方好用。

在github的工程名称叫FindLover(说DreamLover更合适些吧),因为FindLover是先取的,名字想了很久才叫意中人。

总结下:现在MVC5已经出来了,我还在看MVC4,EntityFrameWork6也来了,还有VS2013,.NetFrameWork4.5。Bootstrap也到3了。Html5动画研究的还不咋地,还有各种前端的,后端的框架,目不暇接,人艰不拆啊。

新的技术提供了一些更好的方式,但是你更需要的是一个方向,一个ideal,几个一条路上的小伙伴。

(下载后可能又的问题。

1.缺少引用:请在package1中找缺少的引用。建议安装Nuget,会自动给你还原。

我晚上再补上创建表的SQL命令。数据库我不传了。

4.缺少引用的dll中,只有Nlog,kendo.MVC,Web.Provider是有用的,其他的缺少的dll可以移除。是因为之前做过其他的测试留下的。

THE END
1.国内相亲App哪个好2024年最受欢迎的几款相亲平台推荐在当今快节奏的生活中,越来越多的人选择通过相亲App来寻找合适的伴侣。尤其是在大城市,因工作繁忙,许多人没有足够的时间和精力去参加传统的相亲活动或者社交聚会,因此,线上相亲成为了一个方便且高效的方式。然而,面对市面上五花八门的相亲App,如何选择一个既安全又靠谱的相亲平台,成了许多人关心的问题。本文将为大http://m.jmtdtea.com/xyzx/29419.html
2.相亲交友软件排行榜前十名偏玩手游盒子分享十大相亲交友软件排行榜前十名手机应用,编辑为您推荐手机相亲交友软件排行榜第一名到前5名到前十名的应用。找相亲交友软件有哪些、相亲交友软件哪个好用,上偏玩手游盒子https://m.pianwan.com/s/zj-2811369
3.全国婚恋平台排行榜前十位是谁全国婚恋平台排行榜前十位在这个信息爆炸的时代,寻找伴侣早已不再仅仅依靠传统的相亲和朋友介绍。我们越来越依赖互联网,依赖婚恋平台来帮助我们找到那个“对的人”。而随着婚恋平台的激烈竞争,你有没有好奇过:全国婚恋平台排行榜前十位是谁? 有时候我们会想,婚恋网站就像是一座座现代的“红娘”,在看似虚拟的世界里,牵起了我们与未来的爱人的http://www.wedating.cn/hunl/47522.html
4.相亲第一次约会聊天,女生彻底爱上了我,以后长期恩爱!技巧公开!相亲第一次约会聊天,女生彻底爱上了我,以后长期被我驾驭!技巧公开!上网相亲找对象攻略,相亲后如何约女生出来?相亲后如何和女孩子交往?今天统统教给你!https://xiangqin.nangesz.com/
5.这才叫积极脱单:为自己搭建相亲网站,一人分饰三十角莫非是网站出了 Bug ? 还是说这是一个陷阱? 嗯,好吧,既然不能修改,总会有些有趣的地方吧,毕竟相亲网站,应该会有优质的小哥哥吧,点击搜索,反应还挺快。 出现了好几页注册会员的信息,图片配上了一个简介。 Hah,可以看看都是些什么样的人在玩这个网站。 https://36kr.com/p/854554955357060
6.相亲网站专为年轻男女设计的相亲交友网站相亲网站是专为谈婚论嫁的男男女女提供服*的平台。相亲网站的建立方便了未婚人士谈情说爱。使得大量的适龄的青年甚至大龄人士足不出户就可以向自己喜欢的人生发出爱情邀请,借助相亲网站平台谈情说爱直至谈婚论嫁。https://www.mgqr.com/zhuti/10152.htm
7.相亲网站可靠吗比较靠谱的相亲网站有哪些接亲网相信不少人被家人介绍相亲的吧,毕竟这个年代真的有太多人宅在家里,自己没有什么认识异性的渠道,只能怎么通过相亲来找到配偶。其实大家都知道,相亲都是为了寻找配偶,生育繁衍后代。应该有不少人都抵触相亲的,毕竟大家都觉得挺丢人的,但是的确挺多人通过相亲找到自己的另一半。以下是小编整理的关于相亲网站,大家一起来和https://www.jieqinwang.com/baike/25786.html
8.相亲网站上的骗局有哪些相亲网站的套路摄影相亲网站上的骗局有哪些 有朋友问我,在相亲网上面征婚相亲可靠吗,我真实经历告诉他不靠谱。我曾经在百合网上面被骗过,我真实的经历告诉大家,在相亲网上征婚、相亲不靠谱。当然上面也确实有真正来找对象的。但是,骗子的数量远多于真实找对象的,而且到相亲网上的大部分都是大龄剩男来找女的,而女的多半都是有其他目的https://www.taofang114.com/post/32954.html
9.同城交友相亲征婚婚恋艾情缘同城交友网:正规免费婚恋网站。管理严格、重视婚恋安全。找对象,上同城交友网,真实、安全、成功率高!同城婚恋交友网站有哪些?哪个好?征婚、交友、相亲、找对象上什么网站比较好?同城交友网,同城约会,征婚交友网站,做正规、专业、靠谱的婚恋相亲交友网站!http://jubaobao.com/
10.广西桂林市灌阳县人民政府门户网站www.guanyang.gov.cn二、相亲 野猪殿一带的相亲,男去女方叫看亲,女去男方叫看家。 经媒人来回游说,两方撮合,男女双方都有意愿后,在媒人的牵引下,男方择日去女方家看亲。男方看亲有两重含义。一是男方亲自去考察女方。看女方长相、人品及行为能力。二是男方去女方与女方的父母及叔伯兄弟见见面,换言之,就是去女方接受其家人、亲戚http://www.guanyang.gov.cn/xwzx/xzkx/202208/t20220805_2348239.html
11.diskgenius接触“只读“失败奇葩的相亲网站 记得有个老师曾经在课堂上对某相亲网站感激涕零,因为他就是通过那个网站认识他现在太太的,而他太太在人大博士毕业后,为了他不远千里来到南方这个陌生的城市嫁给了他……所以我也想试试这个神奇的网站。 简单快捷,方便迅速,你可以浏览你喜欢的种种男生,而你自己也被各种浏览。当然你也可以直接输入你想https://blog.csdn.net/weixin_39635459/article/details/110657558
12.婚恋百科[官]京城邂逅高端婚恋网站征婚交友相亲找对象中国权威婚介官方婚恋交友网站-京城邂逅(400-818-7778),国家级婚姻顾问团队专为北京地区高端单身白领征婚找对象。服务名媛淑女、资产千万富豪、高学历高收入的单身精英阶层。为您寻到生命旅途上的伴侣,让您在期待过后拥有一个幸福婚姻。http://www.21xiehou.com/index.php/Index/Baike/index.html
13.微相亲—同城交友约会征婚相亲婚恋网系统平台微相亲网站是专为谈婚论嫁的男男女女搭建的社交平台。相亲网站的建立方便了未婚人士谈情说爱。使得大量的适龄的青年甚至大龄人士足不出户就可以向自己喜欢的人生发出爱情邀请,借助相亲网站平台谈情说爱直至谈婚论嫁。 微相亲致力打造能快速变现 的专业婚恋相亲平台 ,助力资源整合与共享 ,增加变现渠道协助快速转型 !https://www.weixiangqin.com/
14.相亲网站相亲平台哪家好?一次偶然的机会,知道了楚天之恋这个相亲网站,感觉还不错,专门为湖北人打造的相亲平台,也期待着能在这里遇到同样来自湖北的你。对于爱情,我认为,爱情不会因为理智而变得淡漠,也不会因为雄心壮志而丧失殆尽。它是第二生命;它渗入灵魂,温暖着每一条血管,跳动在每一次脉搏之中。 http://www.chutianlove.com/kw/
15.福州厦门泉州征婚相亲交友福建交友中心福建交友中心(福建交友网)是福建地区大型免费征婚交友相亲平台,为福州、厦门、泉州、漳州、龙岩、三明、莆田、宁德、南平等地区的未婚、离异、丧偶等单身人士提供免费征婚交友相亲服务,会员实名认证,真实靠谱,福州、厦门、泉州、漳州、龙岩、三明、莆田、宁德、南平等找恋人、找情侣、找对象、找老公、找老婆、找老伴就来https://www.fj987.com/
16.相亲网站一年挣十几亿,钱都从何而来,老梁揭秘“三托四骗”真相相亲网站一年挣十几亿,钱都从何而来,老梁揭秘“三托四骗”真相 2019-03-30 武警和特种兵如果发生格斗,武警根本没有出手的机会 2019-03-30 吴京那么多年半温不火,为什么却不改变戏路,听老梁是怎么说他 2019-03-30 小猪,张艺兴已经不是从前的小绵羊啦,最后逃跑姿势太搞笑 2019-03-30 小沈龙给渣男https://m.56.com/c/v126511976.shtml
17.东莞婚介网东莞真实婚介所同城白领相亲征婚交友网站东莞心连心婚介所白领征婚网站婚姻介绍服务公司单身情缘网,东莞相亲网东莞婚恋网东莞找男朋友找女朋友交朋友找结婚对象网络红娘爱情恋爱情感顾问东莞市婚介中心相亲活动.https://www.dglove.com/search/search.php?sort=102