- 配置省道**
class Config {
static const String appName = 'Shopping app';
static const String apiURL = '192.168.8.101:4000';
static const String loginAPI = '/users/login';
static const String registerAPI = '/users/register';
static const String userProfileAPI = '/users/user-Profile';
}
- 应用程序接口服务. dart**
class APIService {
static var client = http.Client();
static Future<bool> login(LoginRequestModel model) async {
Map<String, String> requestHeaders = {
'Content-Type': 'application/json',
};
var url = Uri.http(Config.apiURL, Config.loginAPI);
var response = await client.post(
url,
headers: requestHeaders,
body: jsonEncode(model.toJson()),
);
if (response.statusCode == 200) {
await SharedService.setLoginDetails(loginResponseJson(response.body));
return true;
} else {
return false;
}
}
static Future<RegisterResponseModel> register(
RegisterRequestModel model) async {
Map<String, String> requestHeaders = {
'Content-Type': 'application/json',
};
var url = Uri.http(Config.apiURL, Config.registerAPI);
var response = await client.post(
url,
headers: requestHeaders,
body: jsonEncode(model.toJson()),
);
return registerResponseJson(response.body);
}
}
- 登录. dart**
FormHelper.submitButton(
'Login',
btnColor: const Color.fromARGB(255, 25, 19, 83),
borderColor: Colors.white,
borderRadius: 10,
() {
print('Login');
if (validateAndSave()) {
setState(() {
isApiCallProcess = true;
});
LoginRequestModel model = LoginRequestModel(
username: username!,
password: password!,
);
APIService.login(model).then(
(response) {
setState(() {
isApiCallProcess = false;
});
if (response) {
Navigator.of(context).pushNamedAndRemoveUntil(
homeRoute, (route) => false);
} else {
FormHelper.showSimpleAlertDialog(
context,
Config.appName,
'Invalid credentials',
'OK',
() {
Navigator.of(context).pop();
},
);
}
},
);
}
},
),
我正在尝试使用NodeJS登录。
但是当我点击登录按钮时,它抛出一个异常,说
- 一月一日**
我的PC IP地址显示为192.168.8.100,当我在cmd中执行netstat -a
时,它显示正在侦听192.168.8.100:139。
我用我的手机作为调试模拟器。
手机IP地址为192.168.8.101
我的代码有什么问题???
1条答案
按热度按时间tkclm6bt1#
很简单,希望你明白。
只需更改
static const String apiURL = '192.168.8.100:4000';
以反映服务于API的PC的IP(可能是端口4000,不应是139,因为端口〈1024是保留的"众所周知的端口")还有一点:你应该总是处理异常,这样你的应用程序就不会崩溃,在这种情况下,如果你的api变得不可访问。