如何在finereport11设计器中的报表中做一个自定义按钮实现收藏/取消收藏功能,点击“收藏”按钮可以将该报表的名称、URL、收藏人、收藏时间等信息存入数据库中,并且提示“收藏成功”,按钮变为“取消收藏”字样,点击“取消收藏”可以将此报表信息从数据库中删除,按钮变为“收藏”字样以下为JS点击事件,点击一次”收藏“按钮后,提示”收藏“失败,”收藏“也没变为“取消收藏,但是数据库插入了两条相同的数据,请问需要怎么写JS可以实现以上收藏/取消收藏的需求// 获取当前报表的名称、路径、URL等信息var reportName = Name; // 获取报表名称var reportURL = window.location.href; // 获取报表URLvar collector = FR.remoteEvaluate("$fine_username"); // 获取当前账号var collectionTime = new Date().toLocaleString(); // 获取当前时间// 判断当前按钮的文本是“收藏”还是“取消收藏”var buttonText = this.getText();if (buttonText === "收藏") { // 执行收藏操作 var sql = "INSERT INTO ods_portal_report_collection (report_name, report_path, report_url, collector, collection_time) VALUES ('" + reportName + "', '" + reportPath + "', '" + reportURL + "', '" + collector + "', '" + collectionTime + "')"; // 执行SQL语句 var result = FR.remoteEvaluate("SQL(\"麦格纳\", \"" + sql + "\", 1, 1)"); if (result === 1) { // 更新按钮文本为“取消收藏” this.setText("取消收藏"); // 提示收藏成功 FR.Msg.toast("收藏成功"); } else { FR.Msg.toast("收藏失败"); }} else { // 执行取消收藏操作 var sql = "DELETE FROM ods_portal_report_collection WHERE report_name = '" + reportName + "' AND collector = '" + collector + "'"; // 执行SQL语句 var result = FR.remoteEvaluate("SQL(\"麦格纳\", \"" + sql + "\", 1, 1)"); if (result === 1) { // 更新按钮文本为“收藏” this.setText("收藏"); // 提示取消收藏成功 FR.Msg.toast("取消收藏成功"); } else { FR.Msg.toast("取消收藏失败"); }}