博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分享业余时间开发的一个影视采集及管理系统
阅读量:5080 次
发布时间:2019-06-12

本文共 2290 字,大约阅读时间需要 7 分钟。

极大的可能会在最近离职加入一家极具挑战的公司,时间和精力都会有一个比较大的调整。做这个系统也是出于娱乐的目的,但目的绝对是单纯的。

因为最初规划的时间关系,一切从简从快,主要功能特性如下:

1,前端页面开发直接就bootstrap 3.0 。后台管理页面也用到了基于bootstrap的一套UI框架。(基本上都是Copy的)

2,数据抓取用的是HtmlAgiltyPack组件。

3,IOC方面尝试了一下Castle。结合 CommonServiceLocator 开源组件。

4,数据存储可以在MongoDb和SqlServer中进行简单的切换(AppSettings.config的StoreProvider配置节)。SqlServer的数据提供用到了EntityFramework的Code First。MongoDb的C#驱动为官方驱动包,自己简单的封装了一个Helper。

5,日志记录用到了Log4Net。

6,评论系统直接就嵌入了多说,感觉还不错。就是找了半天,似乎没有发现远程获取数据接口。

7,其它的没什么可说的。

 

本来是打算在月底之前搞定,现在看来是搞不定了。只有在真正做的过程中才发现需要解决的东西太多。好吧,也从侧面反映出自己的水平还是相当菜。大概总结了一下,需要完善的地方有以下几点(主要是后台管理):

1,用户权限控制(超级管理员和普通管理员)。

2,数据采集管理(类似增量采集,定时采集,采集配置等)。

3,后台管理页面导航菜单的控制(主要是判断左侧菜单项的active,面包屑导航生成等)。

4,影视的图片信息都直接调用的Http图片,未做本地存储(下载图片容易,恐怕需要单独的图片服务器)。

5,采集提供程序用到了多线程,可我基本不懂多线程。偶尔似乎会出问题的样子...

6,站点配置管理。这个就是一个页面,序列化与反序列化的问题。但就是没有实现 。

7,站点统计相当不完善。比如日志记录、访问者统计等。

 

希望以后还能找到时间和精力继续搞定这个东东...

 

没事截了几张图,贴上来看一看。

项目结构示意:

 

首页(采集了三类:电影,动漫,电视剧。出于测试目的,仅采集了50条):

 

这是详细页:

 

这个是详细页的评论框。字幕信息请求的是射手网的接口:

 

这是后台管理页面:

 

登录:

 

锁定:

 

影视管理列表页面:

 

影视管理详细信息编辑页面:

 

这是管理员管理页面(仅超级管理员可见,但目前没有做这个控制):

 

管理员详细信息页面(可锁定管理员):

 

还简单的做了一个访问者统计(统计这一块缺的东西相当多):

 

仅供新手学习。项目托管地址为:

 

补充:

项目的数据存储是可以在mongodb和Sqlserver中进行切换的。其中,mongodb的数据库连接字符串为:

<!--Mongodb-->

<add name="MoviMongoConnection" connectionString="mongodb://kangming:yqhkangming@127.0.0.1:27627/movi" />

我在开发的时候,配置了mongodb的权限,加了用户名和密码。出于安全性方面的考虑,将默认端口27017修改成了27627。这些配置因个人需求而异。另外,简单写了一个启动mongodb数据库的脚本,位置为 Movi.RazorWeb/App_Data 下的 mongodb_data.txt。当然,也可以直接添加为windows服务随系统启动。脚本内容为:

start bin/mongod.exe --dbpath .\db --logpath .\log\log.log --auth --port 27627start bin/mongo.exe --port 27627 -u admin -p admin --authenticationDatabase movi

将上述脚本存储为bat格式,每次需要运行mongodb数据库的时候,点击即可。(当然,你得配置mongodb数据库匹配上述脚本内容)。关于mongodb配置方面的更多信息,可以参考 源代码项目 Movi.MongoRepository 下的 db.txt 文档。

 

对于EntityFramework,code first 的开发方式,除了配置正确的数据库连接字符串(这个没什么可说的),另外需要根据实际情况,结合 nuget 执行数据库初始或变更命令。经常用到的命令就下面三个:

Enable-Migrations
*      启动迁移功能,会在项目根目录下生成 Migrations 文件夹
Add-Migration -StartupProjectName  *     在指定的项目中增加一个迁移点,此命令后会要求输入一个 Name 参数,此参数的值为迁移点名称 *     假设输入的迁移点名称为 init 则会生成一个类似如下的文件 201202290718442_init.cs,其包含两个方法 Up() 和 Down(),分别用于此迁移点的升级和降级
Update-Database -StartupProjectName (将指定的项目的数据库结构升级到最新) 上述命令的执行方式为: 打开程序包管理器控制台,将默认项目选择为:Movi.EFRepository。另外,请将 Movi.EFRepository 设置为启动项目。 如遇错误,请自行上网查找资料解决。

转载于:https://www.cnblogs.com/mcmurphy/p/3726128.html

你可能感兴趣的文章
[ZJOI2007]棋盘制作 【最大同色矩形】
查看>>
IOS-图片操作集合
查看>>
模板统计LA 4670 Dominating Patterns
查看>>
团队项目开发客户端——登录子系统的设计
查看>>
IO—》Properties类&序列化流与反序列化流
查看>>
session如何保存在专门的StateServer服务器中
查看>>
react展示数据
查看>>
测试计划
查看>>
选择器
查看>>
Mysql与Oracle 的对比
查看>>
jquery实现限制textarea输入字数
查看>>
thinkphp5 csv格式导入导出(多数据处理)
查看>>
PHP上传RAR压缩包并解压目录
查看>>
Codeforces 719B Anatoly and Cockroaches
查看>>
jenkins常用插件汇总
查看>>
c# 泛型+反射
查看>>
第九章 前后查找
查看>>
Python学习资料
查看>>
jQuery 自定义函数
查看>>
jquery datagrid 后台获取datatable处理成正确的json字符串
查看>>