24日
...
24日
Idea build踩坑
运行 ruoyi-vue=plus
报错
Non-resolvable import POM: The following artifacts could not be resolved: org.dromara:ruoyi-common-bom:pom:5.1.2 (absent)
缓存也清了,JDK版本也都检查了,还是这个错误
解决:点击 rebuild project
就好了...
付费文档破解
参考:https://www.52pojie.cn/thread-1886314-1-1.html
两种类型:
- 密码从后台获取,再验证
- 密码保存在静态页面本地
密码从后台获取,再验证
在
network
中找到验证请求,右键进入source plane
加断点
image-20240324123650136 image-20240324123745640 在
s != i
处判断时,将s
改为i
的值即可
密码保存在静态页面本地
禁用缓存
image-20240324125229389 刷新页面,
ctrl + F
搜索验证码错误在判断处打个断点就能看到密码
转正PPT大纲
- 个人简介
- 试用期工作总结
- 加密安全
- 账号系统
- 支付系统
- 资源寻址
- 个人成长与不足
- 下阶段计划
加密安全
Situation:
- 在SDK服务期与SDK客户端的通信中,存在通信安全问题,需要解决。
Task:
- 实现一个加密通信的组件,支持多种加密方式,同时确保对新加密算法的拓展友好,并且采用每次通信都分配新密钥的方式,抛弃传统固定密钥的方式。
Action:
- Situation: 在SDK服务期与SDK客户端的通信中存在安全问题。
- Task: 实现一个安全的加密通信组件。
- Action:
- 开发加密通信组件,支持多种加密方式,如对称加密、非对称加密等。
- 设计并实现开闭原则,确保对新加密算法的拓展友好,使系统能够轻松地应对未来的安全需求变化。
- 弃用传统固定密钥的方式,采用每次通信都分配新密钥的方式,提高通信安全性。
- 编写文档和示例代码,以便开发人员能够轻松地集成和使用该加密通信组件。
Result:
- 成功实现了一个加密通信组件,解决了SDK服务期与SDK客户端的通信安全问题。该组件支持多种加密方式,并且遵循开闭原则,对新加密算法的拓展友好。通过采用每次通信都分配新密钥的方式,大大提高了通信的安全性。
账号系统
Situation:
- 在游戏开发过程中,需要建立一个安全可靠的账号系统来管理用户信息和登录认证。
Task:
- 开发一个游戏的账号系统,确保通信的安全性,并包括基本的登录、注册、密码修改等功能,以及游客登录和第三方登录的集成。
Action:
- Situation: 在游戏开发过程中,需要一个安全的账号系统。
- Task: 开发游戏账号系统,确保通信安全和用户身份验证。
- Action:
- 设计并开发基于JAVA的加密插件,支持对称加密和非对称加密,并通过SPI机制实现加密算法的可替换性。
- 实现动态密钥系统,保证通信的安全性,采用动态密钥的方式避免传统私钥暴露的安全隐患。
- 开发账号模块,包括基础的登录、注册、重新登录、修改密码、邮箱验证码、图形验证码等功能的实现。
- 集成游客登录和第三方登录功能,支持谷歌、苹果、Facebook和Game Center登录。
- 增加二级登录认证功能,提高账号安全性。
Result:
- 成功开发了游戏账号系统,确保了通信的安全性,并且提供了丰富的登录方式和额外的安全认证功能,提高了用户体验和账号安全性。
支付系统
- 情景(Situation): 我们面临着开发一个全面的支付系统的挑战,该系统需要支持不同平台(如APP STORE、GOOGLE PLAY和PayPal),并且需要处理一次性商品和订阅功能。此外,我们需要一个后台系统,用于有效地管理商品、订单、退款和回调。
- 任务(Task):
- 开发支付系统,确保它能够与APP STORE、GOOGLE PLAY和PayPal进行集成。
- 实现一次性商品和订阅功能,以满足用户的不同需求。
- 创建后台系统,包括商品管理、订单管理、退款管理和回调管理功能。
- 确保系统安全、稳定且易于扩展,以应对未来的增长和变化。
- 行动(Action):
- 与团队合作,分析不同支付平台的API文档,设计合适的集成方案,并开始实施。
- 制定清晰的系统架构,以支持一次性商品和订阅功能,并开始编码和测试。
- 开发后台系统的各个模块,确保其功能完善,并与前端系统无缝集成。
- 实施安全措施,如加密、身份验证等,以保护用户数据和交易安全性。
- 结果(Result):
- 成功开发了一个功能完善的支付系统,能够与APP STORE、GOOGLE PLAY和PayPal顺利集成,并支持一次性商品和订阅功能。
- 后台系统的开发也取得了显著成果,商品管理、订单管理、退款管理和回调管理功能运行良好。
- 系统安全性得到了有效保障,用户的交易数据得到了可靠的保护,系统稳定性和可扩展性得到了提升。
资源寻址
- Situation (情境): 我们面临着开发一个资源寻址系统(游戏热更新系统)的挑战。这个系统需要能够为客户端提供最新的版本信息,并且能够为客户端提供下载 URL。此外,我们还需要在后台建立项目管理、版本管理和资源包管理的功能。
- Task (任务): 我的任务是设计和开发一个全面的资源寻址系统,它将能够满足客户端的需求,并且具有可扩展性和高效性。这将包括:
- 创建一个可靠的版本管理系统,能够追踪和管理不同版本的资源文件。
- 实现一个灵活的项目管理系统,以便轻松地添加、编辑和删除项目信息。
- 设计一个资源包管理系统,允许管理员轻松地管理游戏资源的打包和发布。
- 集成不同的对象存储服务,使文件系统能够挂载各种对象存储服务,并且支持存储的选择和切换。
- 实现CDN管理功能,包括资源文件的CDN预热和刷新,以确保客户端能够快速地获取更新的资源文件。
- Action (行动):
- 开展需求分析,与团队成员和利益相关者沟通,确定系统的功能和性能要求。
- 设计系统架构和数据库模型,确保系统具有良好的扩展性和性能。
- 实施版本管理、项目管理和资源包管理功能,确保系统能够满足用户的需求。
- 集成不同的对象存储服务,编写适配器以支持存储的选择和切换。
- 开发CDN管理功能,与CDN提供商集成,实现资源文件的预热和刷新功能。
- Result (结果):
- 成功开发了一个功能强大的资源寻址系统,能够为客户端提供最新的版本信息,并且能够为客户端提供下载 URL。
- 后台管理系统具有良好的用户体验,管理员可以轻松地管理项目、版本和资源包。
- 文件系统具有灵活的存储选择和切换功能,管理员可以根据需求选择不同的对象存储服务。
- CDN管理功能有效地提高了资源文件的传输效率,客户端能够更快地获取更新的资源文件,提升了用户体验。
通过这些行动,我成功地完成了开发一个复杂的资源寻址系统的任务,为团队和客户提供了有价值的解决方案。
Mock模拟数据
想去掉ruoyi的很多功能,删代码又麻烦,还想保留动态路由
于是,觉得使用Mock对api进行拦截
先安装Mock
pnpm install mockjs
代码
创建 mock\system\menu.mock.js
import Mock from 'mockjs'
Mock.mock(import.meta.env.VITE_APP_BASE_API + '/getRouters', 'get', () => {
return {
"msg": "操作成功",
"code": 200,
"data": [
{
"name": "System",
"path": "/system",
"hidden": false,
"redirect": "noRedirect",
"component": "Layout",
"alwaysShow": true,
"meta": {
"title": "系统管理",
"icon": "system",
"noCache": false,
"link": null
},
"children": [
...
]
}
]
}
})
在 main.js 中导入
单文件导入
// Mock
import './mock/system/menu.mock.js'
批量导入(立即加载)
https://juejin.cn/post/7074066400670646303
import.meta.glob('./**/*.mock.js', { eager: true });
批量导入(懒加载)
const lazyImportModules = import.meta.glob('./**/*.mock.js');
// 调用懒加载的one模块import函数进行导入
const lazyOneModule = await lazyImportModules['./mock/system/menu.mock.js']();
// 调用导入后one模块进行打印
lazyOneModule.default.print('这是menu.mock模块!');
你认为这篇文章怎么样?
- 0
- 0
- 0
- 0
- 0
- 0