php 仿36氪网站源代码,仿36氪(附源代码)

news/2024/5/10 6:41:53/文章来源:https://blog.csdn.net/weixin_31682257/article/details/116282418

前言:

这是我2016年3月开始写的,利用课余时间全心投入的项目,本以为是凭着轻松愉悦的方式来学习的,中途遇到bug解决bug的时候,每天晚上几乎都是写到寝室关灯,还有一次使用Github不当写了五天的代码一夜恢复到解放前,现在每次Commit都会把项目复制一份,项目使用OC写的,主要是想记录下OC项目整个过程,在过渡学习Swift,写的还不完善,不足之处还请见谅,由于时间比较匆忙,这个月还剩下十来天忙着考试,4月份会把后续功能实现,这是第一次把以项目的形式分享到博客。

项目描述(附源代码底部):

开源项目为36氪,一款提供股权类互联网金融平台APP,项目为纯代码,XIB+代码开发,所有的数据都是通过Charles抓包工具获取到的, 图片通过Extractor解压得到(部分图片找不到),视频播放器是通过36氪开源播放器(采用View+MPMoviePlayerViewController)改进的播放器使用的是View + AVPlayer,支持播放mp4、mov等格式,网络和本地视频同时支持,支持Cell中全屏和小屏自动感应旋转屏幕,参考WMPlayer,无需第三方库支持。

效果图:

首页效果

0ccf4ea14e79?from=singlemessage

侧滑效果

0ccf4ea14e79?from=singlemessage

其他模块首页效果

0ccf4ea14e79?from=singlemessage

氪TV首页效果

0ccf4ea14e79?from=singlemessage

新闻内容页效果

0ccf4ea14e79?from=singlemessage

轮播页内容效果

0ccf4ea14e79?from=singlemessage

评论页效果

0ccf4ea14e79?from=singlemessage

搜索页效果

0ccf4ea14e79?from=singlemessage

离线缓存

项目当中用到的缓存方式是JSON数据以文件的形式保存,因为要放到文件当中存储,所以在这里JSON要经过一定的转化,如果不经转化取出来的字典数组是为空的,我的方式是这样的,具体可以参考HttpRequest文件和NewsVC

保存的过程:NSDate->NSString

取出过程 NSString->JSON对象序列化-》(字典数组)NSArray->模型数组(NSSArray)

值得注意点:

数据解析:[{}]格式 使用 字典数组 -> 模型数组 ,{} 字典 转一个模型

AVPlayer:可以通过videoGravity有三种形式设置播放形AVLayerVideoGravityResizeAspect,AVLayerVideoGravityResizeAspectFill,和AVLayerVideoGravityResize。默认的是AVLayerVideoGravityResizeAspect:会出现顶部和底部分别有20大小的间隙,AVLayerVideoGravityResize(项目当中用到的):拉伸,以填补CALayer的界限AVLayerVideoGravityResizeAspectFill:保留长宽比;填补CALayer的界限。

解决网速慢的问题:(用寝室CMCC播放视频的时候会出现视频停止的效果,需要再次点击才可以继续播放,在卡在点的情况),我的解决办法是这样的,通过判断当前时间和播放时间进行比较,如果一致则出现停顿情况,具体可以详见项目

讨论页Cell自适应:我的思路是这样的,首先cell先计算好文本高度,然后将高度的值赋给heightLabel(用于保存每个cell的高度),控制器在从heightLabel取出(这样减少一次在heightForRowAtIndexPath方法在计算一次高度)

新闻内容页:顶部用户简介是一个cell,新闻内容页是一个经过嵌套webView的cell

ESJsonFormat-Xcode在开发中用到这个工具,所以文件命名的时候不规范,还请见谅

希望顺便点一下右上角的⭐️Star ,朋友的鼓励和支持是我继续分享的动力

github地址仿36氪 源文件地址

视频播放器:源文件地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_834147.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML和PHP怎么结合制作网站,html怎么与ps结合

html怎么与ps结合?打开ps软件,选中你要转换成html静态页的图片!比如,打开百度经验页面的保存为一张图片;看清楚是图片是jpg的;用ps打开这张图片,如图;下面就开始操作啦;h…

cmake学习网站

gui界面安装 github cmake入门实战 1。 mkdir build cd build cmake .. #最最基本的是这个解释 -DCMAKE_INSTALL_PREFIXinstall -DBUILD_TESTINGOFF 这两个是对其进行参数的设置 查看可以设置的参数 cmake -LA ,通过上面的将不需要的参数设置为OFF,还…

php+无法打开,php网站无法打开怎么办

php网站无法访问的原因可能是:1、php版本过低,如【require php>5.3.0】,此时更换php到更高版本即可;2、数据库错误,此时需要检验数据库账号和用户名是否正确;3、网页的URL失效,此时重新部署程…

linux下部署网站

查看系统版本 cat /etc/redhat-release我的系统版本CentOS Linux release 7.6.1810 (Core) 安装node yum -y install nodejs安装完成后,验证node是否安装成功 node -v出现版本号代表安装成功,此时版本偏低,可以安装n模块来升级版本 npm …

网站设计流程

1.客户提出需求与确定网站建设:◆ 客户提出网站建设基本要求◆ 双方就网站建设内容进行协商,修改、补充,以达成共识◆ 双方确定建设方案具体细节及价格2.签订协议、支付定金、提供材料◆双方签订《网站建设协议》◆…

IIS8.5为网站添加SSL证书

1、获取域名的ssl证书和密码,后缀为.pfx 2、打开IIS管理器,导入证书 3、打开指定的网站,绑定域名 4、勾选“需要服务器名称指示”,不然多个域名多个证书时会出错。

至少一个其他网站在使用同一https绑定(不同站点使用不同的SSL证书)

关键是勾选“需要服务器名称指示”。 不然会提示“至少一个其他网站在使用同一https绑定”导致证书绑定失败。

网站备案负责人_ICP备案、域名备案、网站备案的区别

在网络信息快速更新传播的当下信息传播环境,企业都需要准备一个网站来进行信息传播,而在这之前,首先要进行ICP备案才行。什么是ICP备案呢?为了更好地营造一个安全健康的网络环境,每一个网站上线前都要走备案流程。企业…

如何在sourceforge开源项目网站下载开源项目

项目需要在WINCE下MFC的SQLITE数据库,首先必须下载SQLITE FOR WINCE 的项目,具体操作步骤是: 1.PC 上安装CVS客户端 2.启动CVS客户端,选择“Admin”菜单,选择“Login”子菜单,配置服务器设置:…

jenkins-使用身份验证令牌验证,通过url请求触发jenkins构建,不用打开jenkins网站

第一种方式:项目的身份验证令牌验证:(只能触发当前项目) 1、在qqq项目中配置 Build Triggers-Trigger builds remotely (e.g., from scripts) 2、调用方法: 无参数:http://10.10.20.10:8082/job/qqq/buil…

网站注册登录模块

需求: 利用MVC模式实现网站注册登录模块 - (1)实现一个注册页面,可以将用户使用表单提交的注册信息保存到MySql数据库中,用户可以上传头像 - (2)实现一个登陆页面,当用户输入用户名和密码之后.去之前保存数据库里看看是否有该用户信息,如果有,就提示登陆成功,显示用…

网站发展历程九大阶段,及知识体系梳理

网站发展历程用思维导图学习java真的是一个不错的方式!今天,我们用导图的方式来梳理一下一个网站从0到1流量逐渐增加的过程中会涉及到的技术与知识体系。讲讲一个网站在用户量越来越多,并发越来越高的情况下,它的架构是如何演变的…

程序员 6 个接私活的网站,你有技术就有钱!

2020年最新的常问企业面试题大全以及答案作者 | 发哥来源 | GitHubDaily本篇文章会向大家推荐国内外几个接外包比较靠谱的平台,主旨是贵精不贵多。因此,像「猪xx」这种会让程序员自贬身价,扰乱市场规则的网站,便不会出现在下方推荐…

实现网站二维码扫描登录

在尝试使用网页版微信时,发现微信的登录方式比较酷。区别与常用的用户名和密码的登录方式,网页微信登录只需要轻轻一扫,即可方便的实现登录功能。 下面尝试根据个人的理解对其可能的架构猜测一番。总体来看,扫描二维码实现网站的登…

太全了!学Java项目,上这个网站就够了

你有多久没好好学习一个开源项目了?你是否经常为找不到好的开源项目而烦恼?你是否为不知道怎么入手去看一个开源项目?你是否想看别人的项目学习笔记?你是否想跟着别人的项目搭建过程一步一步跟着做项目?今天给大家介绍…

tp5更改在标签栏显示的网站图标

随便选择一张你喜欢的图片,然后命名改为favicon.ico。将其替换原来tp5框架public下的favicon.ico。然后在网页html文件head标签内加上 上图href表示favicon.ico的路径。更改后如下图:

洛克王国服务器维护中,帮助中心-洛克王国-Roco Kingdom-官方网站-腾讯儿童-点亮魔法,放飞童年...

社区加载很慢或停止不动1、网络波动造成加载终止,请尝试重新登录(按F5刷新页面)。2、网络连接方式过慢导致,更换更快的互联网连接方式。3、网络高峰期造成的网络拥堵现象,请稍候再尝试登录。4、运行了其他网络程序,如:…

为什么WordPress是构建您的业务或创业网站的最佳平台

许多企业和创业公司不知道WordPress有多棒,或者为什么他们应该使用它,所以在本文中,我将告诉您为什么您应该为您的企业或创业网站使用WordPress。除了WordPress是免费的,WordPres真棒。它很容易使用,超强大&#xff0c…

WordPress Gutenberg编辑器官方信息网站已更新为交互式前端演示

Gutenberg官方信息网站已经更新,其特色是可以在前端操作的交互式演示。它基于Frontenberg,一个由Automattic的VIP牛仔Tom Nowell创建的网站。它在前端加载了一个带有Gutenberg的WordPress实例,因此访问者无需登录或创建测试站点来尝试它。 Gu…

内容和商品如何在一个网站內有效共存

本文的原始文章来自未经整理的WordPress,这里对内容进行了部分修改和升级。 这几天对原文经过进一步思考,考虑到国外那些使用WordPress建站的成功案例,认为内容和商品(数字化商品和实物商品)是小微企业和内容创作者从事…