你的启动页是怎么实现的呢
Closed this issue · 4 comments
启动页Android和iOS两种情况都要处理:
Android
进入.../android/app/src/main文件夹。在res/drawable/launch_background.xml,通过自定义drawable来实现自定义启动界面。
iOS(因为我没mac 所以还没试哈)
进入.../ios/Runner。在Assets.xcassets/LaunchImage.imageset, 拖入图片,并命名为images LaunchImage.png、LaunchImage@2x.png、LaunchImage@3x.png。 如果使用不同的文件名,那还必须更新同一目录中的Contents.json文件。
也可以通过打开Xcode完全自定义storyboard。在Project Navigator中导航到Runner/Runner然后通过打开Assets.xcassets拖入图片,或者通过在LaunchScreen.storyboard中使用Interface Builder进行自定义。
我使用dio实现登录接口,为什么总是提示 账号密码不匹配呢?你能帮我看看吗?
test() async {
try {
Dio dio = new Dio();
dio.options.baseUrl = "http://www.wanandroid.com/";
String name = 'canhuah';
String password = 'a123456';
Response response = await dio
.post("user/login", data: {"username": name, "password": password});
print("data: " + response.data.toString());
} catch (e) {
print("---------" + e.toString());
}
}
I/flutter (20455): data: {data: null, errorCode: -1, errorMsg: 账号密码不匹配!}
主要是请求时的contentType不对
看了下源码Dio的contentType默认是ContentType.JSON
而这里用到的是ContentType.parse("application/x-www-form-urlencoded");
test() async {
print("-----start----");
try {
Dio dio = new Dio();
dio.options.baseUrl = "http://www.wanandroid.com/";
String name = 'canhuah';
String password = 'a123456';
//添加Options 设置Dio的contentType
Options options = new Options();
options.contentType = ContentType.parse("application/x-www-form-urlencoded");
Response response = await dio
.post("user/login", data: {"username": name, "password": password},options: options);
print("data: " + response.data.toString());
} catch (e) {
print("---------" + e.toString());
}
}
@Sky24n
可以了,非常感谢。