新闻移动端练习知识点记录

鸿蒙(新闻阅读类)APP开发——体验流畅的首页信息流 本场景解决方案主要面向于新闻类页面开发人员,指导开发者从零开始构建一个新闻类的首页面。主要包含地址选择、tabs和tabContent切换的动态图标和流畅动效、下拉刷新上拉加载、首页feed流等常见功能的实现及流畅体验。主要介绍了用户操作应用的主要流程,展示了用户进入首页通过页签切换页面内容,上拉加载和下拉刷新页面,从首页地址进入地址选择页更换地址等功能效果。实现应用的主要流程图运行效果图操作流程1. 获取地理位置的权限;2. 点击位置信息,跳转地址页,可修改当前位置信息; 阅读详情

目录

1.部分页面效果

2.环境

3.本项目遇到的知识点

3.1.长度尺寸单位vw

3.2 token鉴权

 3.3.个人中心

  3.4.路由守卫

3.5.axios部分设置 

 3.6.css穿透scoped修改子组件样式

  3.7.video标签使用 

 3.8.父组件中子组件标签上添加点击事件

  3.9.组件递归嵌套 

  3.10.vantUI使用(非按需引入)


1.部分页面效果

登录

首页

 文章详情

视频详情

 

2.环境

win7+vue.js+h5+vantUI

 

3.本项目遇到的知识点

3.1.长度尺寸单位vw

 使用vw实现页面尺寸适配

1vw 相当于1%的屏幕宽度

1vh 相当于1%的屏幕高度

如果用vw就永远只用宽作为标准,那么就可以指定所有的相对尺寸,因为vw有一个固定的参照物(宽度)

元素像素 / 设计稿宽度 * 100 = 以vw 为单位的长度数据

可以利用vscode插件px-to-vw自动转换px为vw,输入像素按alt+z即可转换

 

3.2 token鉴权

token和用户id放入本地存储,发送请求是在请求头传入

                       // 本地储存
                    localStorage.setItem('token',res.data.data.token);
                    localStorage.setItem('userId',res.data.data.user.id);

 

//headers 请求头中带上 ( JWT标准 json web token)
this.$axios({
    url,
    method,
    headers: {
        Authorization: "Bearer " + localStorage.getItem('token')
    }
}).then(res => {
    console.log(res.data);
    
})

  

 3.3.个人中心

 切换class

 通过判断性别来切换不同样式class

<i class="iconfont" :class="user.gender == 0 ? 'iconxingbienv col_pink':'iconxingbienan col_blue'" ></i>
<span :class="{heightlight:!obj.has_follow}" @click="handleFollow">{
  
  {obj.has_follow?'已关注':'关注'}}</span>
.heightlight{
     color:#fff !important;
     background-color: #ffc0cb !important;
}

 

 切换页面

$router.push()把路由添加到最后一位 

@click="$router.push({name:'editInfo'})"

 $router.replace()把路由替换到最后一位

this.$router.replace('/login');

 

  3.4.路由守卫

  路由守卫可以理解为页面跳转之前的拦截手段,可以在拦截时判断验证用户信息

 全局的前置路由守卫

  •  to 目标路由
  •  from 来源路由
  •  next 放行函数 

这里通过前置路由守卫来对页面的跳转进行拦截,当判断需要鉴权的页面没有token时,则跳转到登录页,有token则放行 

// 路由守卫
// 全局前置路由守卫,会在所有路由发生变化之前进行拦截
// 调用 router 的 beforeEach 方法
// router.beforeEach() 拦截所有跳转,跳转之前都会执行一个函数,我们要作为参数传进去
router.beforeEach((to,from,next)=>{
    // //写法一 直接判断 to.name
    // if (to.name == 'personalPage' || to.name == 'editPage') {

    // // 另外一种写法,是将需要校验的路由封装在一个数组中
    // var pageNeedAuth = [
    //   'editPage',
    //   'personalPage'
    // ]
    // // 如果在这个数组中能够找到 to.name 就证明需要校验
    // if(pageNeedAuth.indexOf(to.name) >= 0) {
    // 第三种判断方式, 直接在路由配置时, 添加 meta 数据
    // 就可以在这里进行判断
    if(to.meta.auth){
        const token = localStorage.getItem('token');
        if(token){
          next();
        }else{
          router.push('/login')
        }
    }else{
        next();
    }
});

 

  meta  在routes中自定义数据

  这里在路由中使用meta来设置需要鉴权的页面,辅助路由守卫鉴权

const routes = [
    {path:'/login',component:Login},
    {path:'/register',component:Register},
    {path:'/',component:index},
    {name:'myFollow',path:'/myFollow',component:MyFollow,meta:{auth:true}},
    {name:'personalCenter',path:'/personalCenter',component:PersonalCenter,meta:{auth:true}},
    {name:'editInfo',path:'/editInfo',component:EditInfo,meta:{auth:true}},
    {name:'channel',path:'/channel',component:Channel},
    {name:'search',path:'/search',component:Search},
    {name:'myCollection',path:'/myCollection',component:myCollection},
    {name:'newsDetail',path:'/newsDetail/:id',component:NewsDetail},
    {name:'myPost',path:'/myPost',component:MyPost},
    {name:'funnyComment',path:'/funnyComment/:id',component:FunnyComment}
  ]

 

3.5.axios部分设置 

3.5.1.axios默认基准路径 

提取请求的统一的服务器域名的部分进行抽离设置

在main.js中设置axios.defaults.baseURL

axios.defaults.baseURL = 'http://127.0.0.1:
基于微信小程序的新闻资讯的设计与实现 本文设计并实现了一个基于微信小程序的新闻资讯平台,采用微信小程序前端框架和云开发技术,构建了包含新闻聚合、个性化推荐、用户互动等核心功能模块的系统。通过组件化设计和智能推荐算法,平台实现了新闻内容的精准分发与高效呈现。测试表明系统运行稳定、响应迅速,能够满足用户多样化阅读需求。研究为移动端新闻平台开发提供了新的技术思路和实践案例,未来可进一步拓展AI内容生成和增强现实阅读功能。 阅读详情

相关推荐

Python爬虫入门-fiddler抓取手机新闻评论

之前一直都听过抓包,抓包,但是一直没有在手机上抓过包,这次一试,当做是一次小练习,在网上有挺多Fiddler安装和配置的教程的,我也找了一些,大家可以借鉴: 1、Fiddler|Fiddler安装与配置 2、抓包工具Fidder详解(主要来抓取Android中app的请求) 3、使用Fiddler抓到包后分析 之前在安装配置Fiddler的过程中因为使用某国产手机的原因无法使用代理被狠狠坑

suwenkun1126的博客 4867

Vue搭建移动新闻类页面

目录 前言 一、使用到的API和组件 二、页面描述 1.页面展示 2.安装vant UI 3.引入聚合数据 三、代码片段 3.1 App.vue 3.2 router/index.js 3.3 axiosServer/config.js && index.js 3.4 页面静态数据 3.5 Pages/index.vue 3.6 Pages/toutiao.vue ...

qq_53228343的博客 4029

【鸿蒙OH实战开发】一多开发实例(新闻阅读)

本文以新闻阅读应用作为典型案例详细介绍 “一多” 在实际开发中的应用。新闻阅读应用在大屏幕设备的使用过程中,不仅要保障用户在界面浏览中的正常使用,也要尽可能提升屏幕的交互效率。该实例主要界面包含首页推荐、热门新闻、新闻详情、刷新闻、精选发现等。

2401_88547687的博客 955

响应式极简新闻发布系统源码

简介: 响应式极简新闻发布系统是基于ASP+ACCESS/MSSQL开发的响应式网站系统,可同时兼容PC端及移动端,也可以通过安装插件来关闭手机端。可以在后台安装大量插件与模板,一键安装实现网站的花样功能与扩展。响应式极简新闻发布系统 v5.78 更新日志 将jiathis分享功能替换为百度分享响应式极简新闻发布系统功能 程序支持子目录,支持放到站点的下级,或多级目录中  1、后台服务器信息查看功能能够快速、全面的查看服务器的软硬件状况。  2、站

工具下载 358

HTML+CSS练习案例

这个小案例是我大一刚学前端的html+css的练习小案例,虽然简单,但是对于当时小白的自己,也是给了我很大的成就感的哈哈哈哈,现在记录一下(找了好久才找到的,呜呜呜)提示:以下是本篇文章正文内容,下面案例可供参考这个小案例是大一暑假学习练习的,时间已经很久了,适合小白练习。

weixin_53519274的博客 1203

【鸿蒙OH实战开发】新闻阅读类APP开发——体验流畅的首页信息流

本场景解决方案主要面向于新闻类页面开发人员,指导开发者从零开始构建一个新闻类的首页面。主要包含地址选择、tabs和tabContent切换的动态图标和流畅动效、下拉刷新上拉加载、首页feed流等常见功能的实现及流畅体验。主要介绍了用户操作应用的主要流程,展示了用户进入首页通过页签切换页面内容,上拉加载和下拉刷新页面,从首页地址进入地址选择页更换地址等功能效果。实现应用的主要流程图运行效果图操作流程1. 获取地理位置的权限;2. 点击位置信息,跳转地址页,可修改当前位置信息;

2401_88547687的博客 700

记账APP、家庭记账、分享下自己以前做的记账APP

这个项目是之前在学校做的课设 整个项目很多借鉴大佬的,附上他的博客吧:https://blog.csdn.net/adminpd/article/details/78942212 我只是参考了他的移动端,后台开发也没时间捣鼓,因为那会大四在实习,Android的学习时间也不长,非常感谢这位大佬的源码分享,学习了不少东西。 先看看效果图吧: 来个动图吧: 项目设计模式...

Lemon_wzq的博客 6268

从零搭建高校新闻网站:需求分析和技术选型实战指南

在软件开发中,需求分析与技术选型往往决定了项目的最终成败。从用户角色梳理到业务主流程推导,再到功能清单与非功能性需求的确认,需求分析的本质是将模糊想法转化为可落地的技术方案。而技术选型则需要遵循团队能力、项目生命周期、运维成本和业务约束,在稳定与创新之间找到平衡点。以高校新闻网站为例,这类内容管理系统兼具内容发布、栏目管理、权限控制与移动端访问等典型特征,非常适合验证一套通用的Web项目落地方法论。通过前后端分离、服务端渲染、Spring Boot与Vue的组合、MySQL与Redis的合理运用,不仅能够高

weixin_33226548的博客 125

快马平台+Playwright:AI驱动动态新闻抓取实战指南

动态网页数据抓取是爬虫领域的常见挑战,其核心在于处理JavaScript异步加载内容。传统方案如Requests+BeautifulSoup难以应对,而Selenium等工具又存在效率与维护成本问题。Playwright作为现代浏览器自动化框架,以其多浏览器支持、智能等待和高效API脱颖而出,为动态内容抓取提供了稳定可靠的技术基础。结合快马平台的AI驱动能力,用户可通过自然语言描述或可视化操作快速生成Playwright脚本,大幅降低开发门槛。这种组合不仅提升了开发效率,更在舆情监控、新闻聚合等场景中实现了

congji3817的博客 438

校园新闻发布系统详细设计与具体代码实现

校园新闻发布系统详细设计与具体代码实现 1. 背景介绍 1.1 校园新闻系统的重要性 在当今信息化时代,校园新闻系统作为学校与师生沟通的重要桥梁,承担着及时传递校园动态、促进校园文化建设的重要职责。一个高效、实用的校园新闻发布系

AI天才研究院 808

Python爬虫实战:移动端逆向工具Fiddler经典案例

此外,在使用 Fiddler 进行抓包时,需要严格遵守相关法律法规和网站的使用条款,确保数据采集的合法性和合规性,避免侵犯他人的权益和违反法律规定。这些案例涵盖了新闻、电商、社交、视频、音乐、地图、外卖、旅游、金融、教育等多个领域的移动端 APP,展示了 Fiddler 在处理不同类型移动端网络请求时的强大功能。借助 Fiddler,开发者可以直观地查看请求和响应的详细信息,包括请求头、请求体、响应状态码、响应头以及响应体等,从而深入了解网络应用程序的工作机制,高效解决开发和调试过程中遇到的问题。

ylfhpy的博客 351

基于资源预测的Agent弹性伸缩:在成本与响应延迟间寻找最佳平衡点

手动伸缩:完全由运维人员人工调整副本数或服务器数量,效率极低,现在基本只用于极小规模的业务。反应式伸缩:基于当前实时监控指标触发伸缩规则,比如CPU利用率超过70%就加2个副本,是目前应用最广泛的方案,典型代表是K8s HPA、KEDA。预测式伸缩:基于历史时序数据预测未来的负载,提前进行伸缩,解决反应式伸缩的滞后性问题,典型代表是AWS Predictive Scaling、阿里云预测式HPA。智能Agent伸缩。

SuperAGI2025 135

PaddleOCR SVTRv2中文识别模型训练全流程:从数据准备到推理部署

本文详细介绍了基于PaddleOCR的SVTRv2中文识别模型从数据准备、模型训练到推理部署的全流程实战。SVTRv2凭借其单视觉Transformer架构和分层混合机制,在中文文字识别任务上实现了高精度与效率的平衡。文章重点解析了数据工程、训练调优技巧及部署优化方案,帮助开发者构建定制化的OCR解决方案。

weixin_29194817的博客 287

机械革命重装Win11详细教程

通过以上步骤,你可以在机械革命电脑上成功重装Windows 11。虽然整个过程可能看起来有些复杂,但只要你按照步骤逐一进行,就能够顺利完成安装并享受到全新的操作系统带来的便利和性能提升。希望本文能够帮助到你,如果你有任何问题或疑问,请随时联系我们的技术支持团队。

mmoo_python的博客 3136

GoldenDB 兼容模式冲突场景解析:MySQL 连接模式 vs Oracle 语法兼容

GoldenDB 兼容模式冲突场景解析:MySQL 连接模式 vs Oracle 语法兼容

weixin_45207751的博客 2258

已过tiktok校招客户端,面经分享

面试的话, 一天面完3面, 效率很高, 三天之后就发了offer 字节邮件里面也说了不能泄露面试题, 那我就把我秋招参与美团,字节,腾讯,阿里面试被问到的全部问题总结着写出来了, 这其实是我每一轮面试完之后我都会总结哪里答对了, 哪里没有答对, 总结了一大堆问题出来. 答案未必正确, 我只是给自己写了个简单的一句话概括, 可能不够完善, 建议看官自行回答一下这些问题 二本非科班, 暑假在字节实习过, 不过不是tiktok部门, 因此秋招就没啥时间准备面试了, 只投了几个大厂, 顺便也在字节跨部门转正,

a1472750149的博客 1308

LTspice元器件库导入与路径管理:符号、模型、子电路全解析

在电子电路仿真中,元器件库通常由符号、模型和子电路三层构成:符号定义引脚外观,模型描述电气行为,子电路封装多端子网络。理解三者职责边界,是解决 LTspice 元器件库导入报错的关键。许多导入失败并非软件问题,而是文件类型错配、路径引用不清或引脚顺序不一致。掌握 `.include` 指令、用户库搜索路径和自制符号绑定模型,可以提升第三方模型复用效率,降低跨项目迁移成本。该思路适用于运放、MOS 管、二极管等器件建模,尤其在 UA741 等经典运放导入场景中,需要先核对 `.subckt` 引脚顺序,再选择

weixin_29182481的博客 181

5分钟搞定Google Custom Search API申请:从注册到获取CX Key全流程

本文详细介绍了如何快速申请和配置Google Custom Search API,从Google Cloud项目创建、启用计费、获取API Key,到在Programmable Search Engine控制台创建自定义搜索引擎并获取关键的CX Key,提供了全流程实战指南。文章还包含安全配置建议、API调用测试方法及前端与后端的集成代码示例,帮助开发者高效实现网站或应用的智能搜索功能。

weixin_29227585的博客 1676

2024美团秋招硬件开发笔试真题及答案解析

在 Linux 内核的网络设备驱动中,数据链路层的功能通常由网络协议栈的低层(如以太网驱动)实现,而不是作为网络设备驱动的一个独立层次。在 FreeRTOS 中,任务通知(Task Notifications)是一种轻量级的事件传递机制,用于在任务之间或任务与中断之间传递信号。小美正在开发一个简单的密码生成器,其中一个功能是将输入的字符串中的所有字母按字母顺序循环前移一位(即 'a' 变为 'z','B' 变为 'A',以此类推)。它包含了网络设备的各种参数和方法,用于管理网络设备的初始化、配置和操作。

XU157303764的博客 1678

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 【复习】javascript es6之前的继承(组合继承)
下一篇: 【复习】javascript 函数
谭CV
博客等级 码龄9年 73粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值