2D坐标转换2.5D坐标公式

以下是2D坐标转换为2.5D坐标的JavaScript实现方式:

const angleDeg = 15 // 倾角(以度为单位)
const angleRad = (angleDeg * Math.PI) / 180 // 将角度转换为弧度
const x = parseInt(left * Math.cos(-angleRad) - top * Math.sin(-angleRad))
const y = parseInt(top * Math.cos(-angleRad) + left * Math.sin(-angleRad))

不使用函数式组件改造Ant Design Vue递归子菜单

Vue.js 组件提供了一个 functional 开关,设置为 true 后,就可以让组件变为无状态、无实例的函数化组件。因为只是函数,所以渲染的开销相对来说较小。

在对使用Ant Design Vue项目的左侧菜单国际化改造时,由于翻译函数$t是挂载在Vue实例上的,而子菜单是通过函数化组件(functional template)递归生成,因此需要将子菜单改成非函数化组件实现。

继续阅读不使用函数式组件改造Ant Design Vue递归子菜单

几种常见的前端反调试方法及突破方式

file
:hushed:前年有段时间沉迷于某H5的大逃杀小游戏(闲的),起初也是中规中矩,后来因为存档丢失,遂开启了修改存档的不归路。
最近的版本也更新的新的游戏模式和枪械,原本的小破枪再也不能称霸战局了,想再次修改存档时,发现网页也做了诸多反调试限制,通过一番折腾成功突破,那就以此为例总结下几种前端反调试方法及突破方式。

继续阅读几种常见的前端反调试方法及突破方式

[开个新坑/完善中][Vue3+TS]硅谷甄选运营平台项目学习笔记

简单介绍

想着Vue2在今年年底也要停止维护了,是时候跟进学学Vue3更新下技术栈了。以笔记方式整理一下学习过程中的要点,顺便巩固一下基础知识。

一些我已经看过的内容链接:

余下的笔记内容主要整理自B站视频:尚硅谷Vue项目实战硅谷甄选,vue3项目+TypeScript前端项目一套通关B站大学好:joy:)

继续阅读[开个新坑/完善中][Vue3+TS]硅谷甄选运营平台项目学习笔记

JavaScript学习日志之Base64数据转二进制文件链接

最近项目遇到视频预览需求后端使用Base64返回视频文件的问题(大为震撼),顺手整理下前端如何处理把Base64转为二进制文件链接,提供给Video标签的src属性播放。

继续阅读JavaScript学习日志之Base64数据转二进制文件链接

Vue+Axios+SpringBoot后端同时接收文件和json作为请求参数

场景:现有向视频上传接口同时发送视频文件和json(其中包含视频封面等信息),应该如何定义后端接口,前端又如何进行请求呢?

继续阅读Vue+Axios+SpringBoot后端同时接收文件和json作为请求参数

[Vue]对象修改属性时,视图不刷新的处理方法

毕业设计中期检查顺利结束,可以抽空稍微整理一下最近遇到的一些问题了,就当给自己留一些笔记备份😁,先稍微整理下对象修改属性时,视图不刷新问题的处理方法。

继续阅读[Vue]对象修改属性时,视图不刷新的处理方法

Vue学习篇之KeepAlive缓存和删除缓存

随着昨天最后一门考试结束,大三上学期的寒假也就正式开始了。打算继续完善我的SpringBooot + Vue的FakeShop网上书城项目,边学边做吧。

虽然目前看起来也是有模有样的,但是似乎并不是很符合一些实际的操作习惯,例如:由于商品列表采用瀑布式加载,当你从列表点击进入一个商品详情,再返回到商品列表时,你期望从上一次浏览到的位置开始,而不是整个页面重新加载一次,有什么办法可以直接缓存先前页面的状态呢?你可以尝试使用KeepAlive做到。

继续阅读Vue学习篇之KeepAlive缓存和删除缓存