123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- import 'dart:convert';
- import '../funcs.dart';
- class FilePrefixInfo {
- String name;
- String idCard;
- String mobile;
- int time;
- String area;
- String wifi;
- String userId;
- FilePrefixInfo({
- this.name = "",
- this.idCard = "",
- this.mobile = "",
- this.time = 0,
- this.area = "",
- this.wifi = "",
- this.userId = "",
- });
- ///编码
- String encode() {
- try {
- //内容可能太多了,导致录像时崩溃,所以去掉一些不重要的内容
- Map<String, dynamic> map = {
- "a": name,
- "b": idCard,
- //"c": mobile,
- //"d": time,
- "e": area,
- "f": wifi,
- "g": userId,
- };
- String str = jsonEncode(map);
- //base64里有/,会被认为是文件夹,所以用-替换掉
- str = aesEncrypt(str).replaceAll("/", "-");
- logd("编码文件前缀信息=$str");
- return str;
- } catch (e) {
- loge("编码文件前缀信息异常", error: e);
- }
- return "";
- }
- ///解码
- bool decode(String str) {
- if (str.isEmpty) {
- return false;
- }
- try {
- //base64里有/,会被认为是文件夹,所以用-替换掉
- str = str.replaceAll("-", "/");
- String decode = aesDecrypt(str);
- logd("decode=$decode");
- if (decode.isEmpty) {
- return false;
- }
- Map<String, dynamic> json = jsonDecode(decode);
- //兼容旧的key
- if (json.containsKey("name")) {
- name = json["name"];
- }
- if (json.containsKey("idCard")) {
- idCard = json["idCard"];
- }
- if (json.containsKey("mobile")) {
- mobile = json["mobile"];
- }
- if (json.containsKey("time")) {
- time = json["time"];
- }
- if (json.containsKey("area")) {
- area = json["area"];
- }
- if (json.containsKey("wifi")) {
- wifi = json["wifi"];
- }
- if (json.containsKey("userId")) {
- userId = json["userId"];
- }
- //使用新的key
- if (json.containsKey("a")) {
- name = json["a"];
- }
- if (json.containsKey("b")) {
- idCard = json["b"];
- }
- if (json.containsKey("c")) {
- mobile = json["c"];
- }
- if (json.containsKey("d")) {
- time = json["d"];
- }
- if (json.containsKey("e")) {
- area = json["e"];
- }
- if (json.containsKey("f")) {
- wifi = json["f"];
- }
- if (json.containsKey("g")) {
- userId = json["g"];
- }
- return true;
- } catch (e) {
- loge("解码文件前缀信息异常", error: e);
- }
- return false;
- }
- }
|