团队作业博客(六)flutter springboot 调用商用API

调用的为 文心一言大模型 api

 LuckyCola 获取api

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:convert';

class ChatDialog extends StatefulWidget {
@override
_ChatDialogState createState() => _ChatDialogState();
}

class _ChatDialogState extends State<ChatDialog> {
TextEditingController _textEditingController = TextEditingController();
String _chatHistory = '';

Future<void> sendMessage(String message) async {
String apiUrl = 'https://luckycola.com.cn/ai/openwxyy';

Map<String, String> requestBody = {
'ques': message,
'appKey': '',
'uid': '',
'isLongChat': '1',
};

Map<String, String> headers = {
'Content-Type': 'application/json',
};

var response = await http.post(Uri.parse(apiUrl), headers: headers, body: jsonEncode(requestBody));

if (response.statusCode == 200) {
Map<String, dynamic> responseData = jsonDecode(response.body);
setState(() {
var sb = StringBuffer(_chatHistory);
sb.writeln('我: $message');
sb.writeln('知心姐姐: ${responseData['data']['result']}');
_chatHistory = sb.toString();
});
} else {
setState(() {
var sb = StringBuffer(_chatHistory);
sb.writeln('Error connecting to ChatGPT API');
_chatHistory = sb.toString();
});
}
}

@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text('知心树洞'),
content: Column(
mainAxisSize: MainAxisSize.min,
children: [
Expanded(
child: SingleChildScrollView(
child: Text(_chatHistory),
),
),
TextField(
controller: _textEditingController,
decoration: InputDecoration(hintText: '在这里输入你所发送的信息'),
),
ElevatedButton(
onPressed: () {
String message = _textEditingController.text.trim();
if (message.isNotEmpty) {
sendMessage(message);
_textEditingController.clear();
}
},
child: Text('发送'),
),
],
),
);
}
}
posted @   财神给你送元宝  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2023-04-23 每天打卡一小时 第十四天 编译四部曲
点击右上角即可分享
微信分享提示