我正在开发一个单独的应用程序,并将对其进行必要的修改以供多家公司使用。 我想确保在每次启动时,应用程序都会检查该公司的许可证是否有效。如果处于活动状态,则会启动主屏幕,否则将切换到另一个信息页面或停止工作。因此,我的想法是能够远程禁用该应用程序。
这是我为此任务创建的json文件(license.json):
{
"company": [
{
"id": 1,"name": "Company 1","license": "active"
},{
"id": 2,"name": "Company 2","license": "expired"
}
]
}
我已经将json文件上传到了远程服务器,我不得不问:
- 如何读取和过滤远程json文件以查看该公司的许可证是否有效?
- 如何确保如果许可证已过期,我的应用程序会关闭还是打开信息页面?
这是我编写的代码(如果有用的话),但是我不确定自己走的路是否正确。
import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
class Company {
Company(String id,String name,String license);
static Company fromJsonmap(Map<String,dynamic> json){
String id = json['id'];
String name = json['name'];
String license = json['license'];
Company s = new Company(id,name,license);
return s;
}
static List<Company> fromJsonArray(String jsonString){
Map<String,dynamic> decodedMap = jsonDecode(jsonString);
List<dynamic> dynamicList = decodedMap['company'];
List<Company> company= new List<Company>();
dynamicList.forEach((f){
Company s = Company.fromJsonmap(f);
company.add(s);
});
return company;
}
}
Future<Company> fetchPost() async {
final response =
await http.get('https://remote-path/license.json');
if (response.statusCode == 200) {
// If the call to the server was successful,parse the JSON.
return Company.fromJsonmap(json.decode(response.body));
} else {
// If that call was not successful,throw an error.
throw Exception('Failed to load post');
}
}