package comzhazhapanefoconfig;import comalibabafastjsonJSON;import comalibabafastjsonJSONArray;import comalibabafastjsonJSONObject;import comzhazhapanefoEfoApplication;import comzhazhapanefomodulescon
以上代码是一个Token配置类,主要实现了生成Token、保存Token、加载Token以及根据用户ID移除Token等功能。具体功能如下:
- generateToken(String token, int userId)
该方法用于生成Token,如果传入的token不为空,则先从tokens中删除该token,然后再重新生成一个token,并将其与用户ID存入tokens中。返回生成的token。
- generateToken(int userId)
该方法与上一个方法类似,不同的是没有传入token参数,直接生成一个新的token并将其与用户ID存入tokens中。返回生成的token。
- saveToken()
该方法用于将tokens中的数据保存到文件中(文件路径为ConfigConsts.TOKEN_OF_SETTINGS对应的路径)。
- loadToken()
该方法用于加载之前保存到文件中的tokens数据,返回一个Hashtable<String, Integer>类型的tokens对象。
- removeTokenByValue(int userId)
该方法用于根据用户ID移除tokens中的数据,首先查找tokens中与该用户ID对应的token,然后将该token从tokens中删除,并将删除后的结果保存到文件中。
该代码用到的知识点主要有:
- Hashtable
Hashtable是一个哈希表,它是线程安全的,可以存储键值对,其中键和值都不能为空。在本代码中,tokens就是一个Hashtable<String, Integer>类型的对象,用于存储token和用户ID的键值对。
- JSON
JSON是一种轻量级的数据交换格式,本代码中用到了fastjson库来处理JSON数据。JSON.parseArray()方法用于将JSON格式的字符串解析成JSONArray对象,然后遍历JSONArray对象,将其中的数据读出来并存入tokens中。
- 文件操作
本代码中使用了FileExecutor.saveFile()和FileExecutor.readFile()方法来保存和读取文件。这两个方法都是基于Java的IO流实现的,用于将数据写入文件或从文件中读取数据
原文地址: https://www.cveoy.top/t/topic/cpez 著作权归作者所有。请勿转载和采集!