当前位置:首页 > 政务公开 > 法律法规 > 地方性法规

福建省水土保持条例

2022-07-07 08:53
| | | |

  (2014年5月22日福建省第十二届人民代表大会常务委员会第九次会议通过 根据2022年5月27日福建省第十三届人民代表大会常务委员会第三十三次会议通过的《福建省人民代表大会常务委员会关于修改〈福建省气象条例〉等三项涉及“放管服”改革的地方性法规的决定》修正)

第一章 总 则

  第一条 为了预防和治理水土流失,保护和合理利用水土资源,减轻水、旱、风沙灾害,改善生态环境,建设生态文明,促进经济社会可持续发展,根据《中华人民共和国水土保持法》等法律、法规,结合本省实际,制定本条例。

  第二条 在本省行政区域内开展水土保持工作,以及从事可能造成水土流失的自然资源开发利用、生产建设和其他活动,应当遵守本条例。

  第三条 水土保持工作应当坚持谁开发谁保护、谁造成水土流失谁治理、谁影响水土保持功能谁补偿、谁承包治理谁受益的原则。

  第四条 县级以上地方人民政府应当加强对水土保持工作的统一领导,将水土保持工作纳入本级国民经济和社会发展规划,并作为生态文明建设的内容,纳入生态文明建设考核体系,加强监督和考评,建立由政府主导、有关部门组成的水土保持工作协调机制,协调和督促有关部门做好水土保持工作。

  第五条 县级以上地方人民政府水行政主管部门主管本行政区域内的水土保持工作;县级人民政府根据当地实际情况设立的水土保持工作机构负责本行政区域内的水土保持工作。

  县级以上地方人民政府林业、农业农村、自然资源、交通运输、生态环境等有关部门按照各自职责,做好有关的水土流失预防和治理工作。

  乡(镇)人民政府负责本行政区域内的水土流失防治工作,水土流失重点预防区和重点治理区的乡(镇)人民政府应当明确负责水土保持工作管理机构及人员。

  第六条 各级人民政府及其有关部门应当加强水土保持宣传和教育工作,将水土保持纳入公益性宣传和国民素质教育范围,普及水土保持科学知识,增强公众的水土保持意识。

  每年的12月10日为全省水土保持宣传日。

  第七条 鼓励和支持高等院校、科研单位、社会团体开展水土保持人才培养、科学研究、试验示范、成果推广和技术服务。

  加强水土保持科技对外交流,扩大与台湾地区水土保持科技交流与合作。

第二章 规 划

  第八条 省人民政府水行政主管部门应当每五年组织一次本行政区域水土流失调查,调查结果报国务院水行政主管部门备案后,由省人民政府予以公告。

  第九条 县级以上地方人民政府应当依据水土流失调查结果划定水土流失重点预防区和重点治理区。水土流失潜在危险较大,对防洪安全、水资源安全和生态安全有重大影响的区域应当划定为水土流失重点预防区;生态环境恶化,水旱风沙灾害严重,崩塌、滑坡危险区和泥石流易发区等水土流失严重的区域应当划定为水土流失重点治理区。

  县级以上地方人民政府划定的水土流失重点预防区和重点治理区应当向社会公告,并报上一级人民政府水行政主管部门备案。

  第十条 县级以上地方人民政府水行政主管部门应当会同有关部门,根据生态文明建设总体要求、水土流失调查结果和国土空间规划,在水土流失重点预防区和重点治理区划定的基础上,编制本行政区域水土保持规划,报本级人民政府批准。

  第十一条 跨设区的市行政区域的流域水土保持规划,由省人民政府水行政主管部门会同相关设区的市人民政府编制,报省人民政府批准;跨县(市、区)行政区域的流域水土保持规划,由设区的市人民政府水行政主管部门会同相关县(市、区)人民政府编制,报设区的市人民政府批准。

  第十二条 经批准的水土保持规划,由县级以上地方人民政府水行政主管部门组织实施。

  水土保持规划一经批准,应当严格执行,不得擅自变更。确需变更的,应当按照规划编制程序报原批准机关批准。

  第十三条 有关基础设施建设、矿产资源开发、城镇建设、公共服务设施建设、土地开发整理、旅游开发、水利水电开发、经济开发区建设、地质灾害防治点等方面的规划,在实施过程中可能造成水土流失的,规划的组织编制机关应当在规划中提出水土流失预防和治理的对策和措施,并在规划报请审批前征求本级人民政府水行政主管部门的意见。

第三章 预 防

  第十四条 地方各级人民政府应当合理开发利用水土资源,加强自然生态系统保护和修复工作,按照水土保持规划,采取封育保护、自然修复等措施,组织单位和个人植树造林,扩大森林覆盖面积,提高森林质量,增加和保护植被;开发和节约农村能源,减少薪炭林的砍伐,预防和减轻水土流失。

  第十五条 禁止在下列区域挖砂、取土、采石、挖土洗砂或者从事其他可能造成水土流失的活动:

  (一)小(1)型以上水库设计蓄水线以上、重要饮用水水源地一重山范围内的山坡地;

  (二)重点流域干流、一级支流两岸外延五百米或者一重山范围内;

  (三)铁路、公路两侧外延五十米范围内十度以上的山坡地。

  第十六条 禁止在二十五度以上陡坡地和饮用水水源一级保护区的山坡地开垦种植农作物,具体范围由县级人民政府划定并公告。

  在二十五度以上陡坡地种植经济林的,应当科学选择树种,合理确定规模,采取水土保持措施,防止造成水土流失。

  第十七条 禁止全坡面开垦、顺坡开垦耕种等不合理的开发生产活动。

  在水土流失重点预防区从事林业生产活动的,提倡实行择伐作业,控制炼山整地;在水土流失重点治理区禁止皆伐和炼山整地。

  第十八条 在侵蚀沟的沟坡和沟岸、河流的两岸以及湖泊和水库周边的适当范围,土地所有权人、使用权人或者有关管理单位,应当根据立地条件营造涵养水源、保持水土的植物保护带。对营造植物保护带的,县级以上地方人民政府应当给予扶持。

  禁止开垦、开发、占用和破坏植物保护带。植物保护带具体范围由县级人民政府水行政主管部门会同有关部门划定,报同级人民政府批准后向社会公告。

  第十九条 在山区、丘陵区、风沙区以及水土保持规划确定的容易发生水土流失的其他区域开办可能造成水土流失的生产建设项目,征占地面积在五公顷以上或者挖填土石方总量在五万立方米以上的,应当编制水土保持方案报告书;征占地面积在五千平方米以上、不满五公顷或者挖填土石方总量在一千立方米以上、不满五万立方米的,应当编制水土保持方案报告表;征占地面积不满五千平方米且挖填土石方总量不满一千立方米的,不再办理水土保持方案审批手续,生产建设单位和个人依法做好水土流失防治工作。

  属于耕地开发和土地整理的,编制水土保持方案报告书、报告表的具体条件由省人民政府水行政主管部门会同自然资源主管部门确定。

  水土保持方案报告书和报告表可以按要求自行编制或者委托有关机构编制,报县级以上地方人民政府水行政主管部门审批。

  第二十条 在水土流失重点预防区和重点治理区的山坡地上从事集中连片的农业开发生产活动,除从事以植树造林为主的林业生产活动外,面积在三十公顷以上的,应当编制水土保持方案报告表;面积大于五公顷、小于三十公顷的,应当填报水土保持登记表。

  前款规定的水土保持方案报告表由县级人民政府水行政主管部门批准,水土保持登记表报县级人民政府水行政主管部门备案。

  第二十一条 依法应当编制水土保持方案报告书、报告表的生产建设项目,其水土保持方案未经批准的,不得开工建设。

  第二十二条 生产建设单位应当按照批准的水土保持方案,在主体工程初步设计和施工图设计中同时开展水土保持设计,审查生产建设项目初步设计和施工图设计应当同时审查水土保持设计。

  依法应当编制水土保持方案的生产建设项目,施工合同应当包含水土保持工程内容。水土保持工程应当与主体工程同时施工、同时验收、同时投入使用;水土保持工程未经验收或者验收不合格的,主体工程不得竣工验收,生产建设项目不得投产使用。

  第二十三条 依法应当编制水土保持方案的生产建设项目,其生产建设活动中产生的砂、石、土、矸石、尾矿、废渣等应当综合利用;不能综合利用的,应当堆放在水土保持方案确定的专门存放地,并采取措施保证不产生新的危害;生产建设单位在报送水土保持方案时,应当提供有关部门对专门存放地选址的意见。

  从事生产建设活动的单位或者个人,应当在水土保持方案确认的地点或者经批准的变更地点进行取土、采石,并采取措施预防和治理水土流失。

  第二十四条 水土保持方案报告书、报告表经批准后,生产建设项目地点、规模、面积、土石方量发生重大变化,或者水土保持方案实施过程中水土保持措施发生重大变更,存在下列情形之一的,生产建设单位应当及时补充、修改水土保持方案,并报原审批机关批准:

  (一)矿山、发电厂(场)、水电、水库、机场、港口、码头等点型生产建设项目,其主体工程位置发生变化的;

  (二)公路、铁路、管道、输电线、防洪堤等线型生产建设项目,其线路位置变化超过百分之三十的;

  (三)生产建设项目总占地面积或者土石方总量变化超过百分之三十的;

  (四)取土、采石地点或者弃渣专门存放位置发生变更超过百分之三十的;

  (五)水土保持防治措施的位置、类型、面积、工程量变更超过百分之三十的;

  (六)法律法规规定的其他情形。

第四章 治 理

  第二十五条 县级以上地方人民政府应当根据水土保持规划,组织发展和改革、财政、水利、自然资源、林业、农业农村、海洋渔业、交通运输、住房和城乡建设、生态环境、气象以及其他有关部门和单位,制定年度水土流失治理计划。

  第二十六条 县级以上地方人民政府应当通过财政转移支付、区域协作等方式,建立健全水土保持生态补偿机制,增加投入,并引导社会资金用于水土流失防治。

  第二十七条 地方各级人民政府应当创新水土流失治理体制机制,创建科技示范工程,推广应用先进实用新技术、新模式,采取多种形式筹集资金支持江河源头区、水源保护区、水土流失重点治理区等区域开展水土流失治理工作。

  对单位和个人按照水土保持规划以投资、捐资或者其他方式参与水土流失治理的,地方各级人民政府应当在资金、技术等方面给予支持和引导。

  第二十八条 县级以上地方人民政府应当加强饮用水水源保护区的水土流失综合治理,强化生态环境的保护,严格控制化肥和农药的使用,防止和减少水土流失引起的面源污染。

  第二十九条 开办生产建设项目或者从事其他生产建设活动造成水土流失的,应当进行治理。损坏水土保持设施、地貌植被,降低或者丧失水土保持功能的,应当缴纳水土保持补偿费,专项用于水土流失预防、监测和治理。

  第三十条 县级以上地方人民政府应当加强以小流域、坡耕地、崩岗为重点的水土流失治理工作。

  政府投资水土保持重点治理工程的水土保持设施,经验收合格后,由所在地县级人民政府水行政主管部门建立管理档案,设立标志,并落实管护主体、管护资金和管护责任。

  第三十一条 生产建设活动中废弃的砂、石、土、矸石、尾矿、废渣等存放地,应当按照国家有关技术规范的规定和要求,采取拦挡、坡面防护、防洪排导等措施,防治施工期的水土流失,确保不产生新的危害。生产建设活动结束后,应当及时在存放地的裸露土地上植树种草、恢复植被。

  本条例实施前未采取上述措施且无法落实责任主体的,由当地县级人民政府限期组织治理。

  第三十二条 在容易发生水土流失的区域,采取下列有利于水土保持的措施,县级以上地方人民政府应当制定鼓励政策:

  (一)免耕、等高耕作、轮耕轮作、间作套种、种植绿肥、果园种草、田坎种草、田埂种草等;

  (二)封禁抚育、轮封轮牧、舍饲圈养;

  (三)发展沼气、节柴灶、薪炭林,利用太阳能、风能和水能,以煤、电、气代替薪柴等;

  (四)其他有利于水土保持的措施。

第五章 监测和监督

  第三十三条 省人民政府水行政主管部门应当根据我省水土保持的特点和全国水土保持监测网络布局的要求,合理设置水土保持监测站点,对全省水土流失进行动态监测。

  第三十四条 省和设区的市人民政府水行政主管部门应当根据本行政区域内水土保持监测情况,每五年对下列事项进行公告:

  (一)水土流失类型、面积、强度、分布状况和变化趋势;

  (二)水土流失造成的危害;

  (三)水土流失预防和治理情况。

  对重点区域、重大生产建设项目水土流失动态,可以根据实际情况适时发布。

  第三十五条 依法报批水土保持方案报告书的生产建设项目,在项目建设过程中,生产建设单位应当自行或者委托具有水土保持监测能力的机构,对生产建设活动造成的水土流失进行监测,并将监测情况按季度上报水土保持方案审批机关。

  依法报批水土保持方案报告表的生产建设项目,在项目建设过程中,生产建设单位应当自行对生产建设活动造成的水土流失进行监测,并将监测情况每年两次报送当地县级人民政府水行政主管部门。

  第三十六条 从事水土保持监测的机构和人员,应当遵守国家有关技术标准、规范和规程,保证监测质量,对水土保持监测结果的真实性负责。

  具有水土保持监测能力的机构,可以受委托开展水土流失危害事实的勘查与评估鉴定,并对鉴定结论负责。

  第三十七条 县级以上地方人民政府水行政主管部门及其所属的水土保持监督管理机构,应当加强本辖区内的水土保持监督检查工作,加大对重点区域和重点工程的跟踪巡查力度。

  对不再办理水土保持方案审批手续的生产建设项目,应当加强监督、检查和指导,督促落实水土流失防治工作。

  在监督检查中发现单位或者个人有违反水土保持法律法规行为的,应当责令立即停止违法行为。被检查单位或者个人拒不停止违法行为,造成严重水土流失的,报经水行政主管部门批准,可以依法查封、扣押实施违法行为的工具及设备等。

  第三十八条 对生产建设项目水土保持方案实施情况的跟踪检查内容包括:

  (一)水土保持方案报批、后续设计(含初步设计、施工图设计)及其在招投标文件、施工合同中的落实情况;

  (二)水土保持投资资金到位、使用情况和水土保持规费缴纳情况;

  (三)水土保持工作管理制度的建立及落实情况;

  (四)水土流失防治措施实施进度、质量及防治效果;

  (五)水土保持监测、监理工作情况;

  (六)水土保持方案变更手续办理及其实施情况;

  (七)水土保持设施验收工作情况。

  水土保持跟踪检查情况,应当向被检查单位或者个人反馈。

  第三十九条 县级以上地方人民政府水行政主管部门应当建立和完善水土保持违法违规行为举报制度,公布举报电话。任何单位和个人可以向水行政主管部门及其所属的水土保持监督管理机构举报水土保持违法行为,接到举报的水行政主管部门或者其所属的水土保持监督管理机构应当及时调查处理,查处结果应当向社会定期公布。

第六章 法律责任

  第四十条 县级以上地方人民政府水行政主管部门或者其他依照本条例规定行使水土保持相关职责的部门,不依法作出行政许可决定或者办理批准文件的,发现违法行为或者接到对违法行为的举报不予查处的,或者有其他未依照本条例规定履行职责的行为的,对直接负责的主管人员和其他直接责任人员依法给予处分。

  第四十一条 违反本条例第十五条规定,在禁止区域范围从事挖砂、取土、采石、挖土洗砂和其他可能造成水土流失的活动的,由县级以上地方人民政府水行政主管部门责令其停止违法行为,没收违法所得,对个人并处一千元以上一万元以下罚款,对单位并处二万元以上二十万元以下罚款。

  第四十二条 违反本条例有关规定,有下列行为之一的,由县级以上地方人民政府水行政主管部门责令停止违法行为,采取退耕、恢复植被等补救措施;按照开垦或者开发面积,对个人并处每平方米二元以下罚款,对单位并处每平方米十元以下罚款:

  (一)违反本条例第十六条第一款规定,在二十五度以上陡坡地和饮用水水源一级保护区的山坡地开垦种植农作物的;

  (二)违反本条例第十七条第一款规定,进行全坡面开垦、顺坡开垦耕种等不合理开发生产活动的;

  (三)违反本条例第十八条第二款规定,开垦、开发、占用和破坏植物保护带的。

  违反本条例第十七条第二款规定,在水土流失重点治理区从事林业生产活动时进行皆伐和炼山整地的,由县级以上地方人民政府林业主管部门依法处罚。

  第四十三条 违反本条例第十九条第一款规定,开办可能造成水土流失的生产建设项目,未依法编制水土保持方案报告书、报告表的,由县级以上地方人民政府水行政主管部门责令停止违法行为,限期补办手续;逾期不编制水土保持方案报告书、报告表的,处十万元以上五十万元以下罚款;对生产建设单位直接负责的主管人员和其他直接责任人员依法给予处分。

  第四十四条 违反本条例第二十条第一款规定,在水土流失重点预防区和重点治理区的山坡地上从事集中连片的农业开发生产活动时,未按照要求编制水土保持方案报告表或者填报水土保持登记表的,由县级以上地方人民政府水行政主管部门责令停止违法行为,限期补办手续;逾期不补办手续的,处一万元以上十万元以下罚款。

  第四十五条 违反本条例第二十二条规定,生产建设单位未按照批准的水土保持方案,在主体工程初步设计和施工图设计中同时开展水土保持设计的,由县级以上地方人民政府水行政主管部门责令限期改正;逾期未改正的,处五万元以上二十万元以下罚款。

  第四十六条 违反本条例第二十三条第二款规定,从事生产建设活动的单位或者个人未在水土保持方案确定的地点或者经批准的变更地点进行取土、采石,或者未采取措施预防和治理水土流失的,由县级以上地方人民政府水行政主管部门责令停止违法行为,对个人并处一千元以上一万元以下罚款,对单位并处二万元以上二十万元以下罚款。

  第四十七条 违反本条例第三十五条规定,生产建设单位项目建设期间未按照规定开展水土保持监测工作的,由县级以上地方人民政府水行政主管部门责令限期改正,逾期未改正的,处批准水土保持监测费用额度一倍以下罚款;主体工程已完工未按照规定开展水土保持监测工作的,处批准水土保持监测费用额度一倍以上三倍以下罚款。

  第四十八条 违反本条例第三十六条规定,水土保持监测机构、社会组织及其从业人员,从事水土保持监测活动违反国家有关技术标准、规范和规程,提供虚假监测结论的,由所在地县级以上地方人民政府水行政主管部门责令改正,没收违法所得,并处违法所得三倍以下且不超过三万元罚款;没有违法所得的,处一千元以上一万元以下罚款。

  第四十九条 违反本条例规定,造成水土流失危害的,依法承担民事责任;违反治安管理的,由公安机关依法给予治安管理处罚;构成犯罪的,依法追究刑事责任。

第七章 附 则

  第五十条 本条例自2014年7月1日起施行,1995年1月13日福建省第八届人民代表大会常务委员会第十四次会议通过,1997年10月25日经福建省第八届人民代表大会常务委员会第三十五次会议修订的《福建省实施〈中华人民共和国水土保持法〉办法》同时废止。

附件:

政府文件全真版:

温馨提示: 请使用OFD阅读软件浏览源文件,如未安装点击下载

来源:福建日报

扫码关注中国福建微信

扫码关注中国福建微信

扫一扫在手机上查看当前页面

”进行咨询,后续会有业务部门人员进行回复哦。"; //模拟sessionid var rondom = ""; //默认300秒超时 var outTime = 300; //定时器计数 var count = 140; //用户无响应时间定时器 用于超期退出 var ref; //热点问题显示个数 var rows = 18; var status = 200; var siteUrl = ""; var index = -1; var size = ""; var rec; var voiceRefMap = new Map(); var secs = 20; //倒计时 var param; var num = 0; var switch2Text = false; var timeliness = 0;//响应及时性 var accuracy = 0;//答案准确性 var experience = 0;//互动体验性 var knowledgeNum = 0;//业务知识量 var suggest = "";//意见 var userLastInput = ""; var isRstSearch = false; var evaluateShow = true;//是否显示评价 // var listener = new window.keypress.Listener(); var queTemplate = Handlebars.compile($("#que_template").html()); var li = 0 var keyStatus = 0 //点击按键状态 1代表上键 2代表下键 var userOldInput = ""; //语音 $('#start_record').on('click', function () { startRec(); ifs="0"; $("#answerList").html(" ") if(window.bf && window.bf._voice) { if(window.bf._voice.closeState == 0) { window.bf._voice.closeState = 1; window.bf.getState('voiceClose', 1) } } }) //语音 $('#stop_record').on('click', function () { ifs=""; uploadRec(); $(".h-start1").hide() if(window.bf && window.bf._voice) { if(window.bf._voice.closeState == 1) { window.bf._voice.closeState = 0; window.bf.getState('voiceClose', 0) } } }) function onmouseover_(obj, e) { if (e == 1) { $(obj).css('color', 'blue'); $(obj.childNodes[0]).attr('src', 'img/ishelp1.png'); } else { $(obj).css('color', 'black'); $(obj.childNodes[0]).attr('src', 'img/ishelp3.png'); } } function onmouseout_(obj, e) { if (e == 1) { $(obj).css('color', '#999'); $(obj.childNodes[0]).attr('src', 'img/ishelp.png'); } else { $(obj).css('color', '#999'); $(obj.childNodes[0]).attr('src', 'img/ishelp2.png'); } } function timecount() { $('#lisening').html("(点击结束 " + secs + " 秒)"); secs = secs - 1; if (secs < 0) { uploadRec(); clearTimeout(param); } param = setTimeout(function () { timecount(); }, 1000); } var btnStartRecording = document.getElementById('start_record'); var btnStopRecording = document.getElementById('stop_record'); var isEdge = navigator.userAgent.indexOf('Edge') !== -1 && (!!navigator.msSaveOrOpenBlob || !!navigator.msSaveBlob); var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); var recorder; // globally accessible var microphone; // 语音调用的方法 function startRec() { $("#voice-label").html("(录音功能正在准备中)") // initVoice(); $("audio").each(function (index, item) { $(this)[0].pause(); }); $('.yy_btn_close').each(function (index, item) { $(this).removeClass().addClass("yy_btn"); }); clearTimeout(param); secs = 20; timecount(); if (!microphone) { captureMicrophone(function (mic) { //捕获传声器captureMicrophone microphone = mic; click(btnStartRecording); }); return; } var options = { type: 'audio', numberOfAudioChannels: 1, checkForInactiveTracks: false, bufferSize: 4096, recorderType: StereoAudioRecorder }; if (recorder) { recorder.destroy(); recorder = null; } $('.h-start2').hide(); $('.h-close').show(); $("#voice-label").text("(点击开始说话)"); recorder = RecordRTC(microphone, options); recorder.startRecording(); }; //停止录音的回调 function stopRecordingCallback() { if (!switch2Text) { var internalRecorder = recorder.getInternalRecorder(); var leftchannel = internalRecorder.leftchannel; var rightchannel = internalRecorder.rightchannel; // ------------------------------------------------------------ mergeLeftRightBuffers({ desiredSampRate: 8000, sampleRate: internalRecorder.sampleRate, numberOfAudioChannels: internalRecorder.numberOfAudioChannels, internalInterleavedLength: internalRecorder.recordingLength, leftBuffers: leftchannel, rightBuffers: internalRecorder.numberOfAudioChannels === 1 ? [] : rightchannel }, function (buffer, view) { var wavBlob = new Blob([buffer], { type: 'audio/wav' }); var blob = changeFormat(buffer); clearTimeout(param); var form = new FormData(); var filleName = rondomNum(true, 32, 32); form.append("siteId", siteId); form.append("random", rondom); form.append("upfile", blob, filleName + ".mp3"); //和普通form表单并无二致,后端接收到upfile参数的文件,文件名为recorder.mp3 var audio = document.createElement("audio"); audio.id = filleName + "_"; audio.style.cssFloat = "right"; audio.style.height = "32px"; audio.controls = true; audio.style.display = "none"; audio.src=/zwgk/flfg/dfxfg/202207/URL.createObjectURL(wavBlob); $("#answerList").append(audio); var values = {value: filleName, isvoice: true}; appendHtml(queTemplate(values), 3); // audio.play(); isVoiceAsk = true; $.ajax({ type: 'POST', url: "/isr/public/talk/uploadMp3?siteId=2c9bc5436f844983016f84499f1b00ac", data: form, cache: false, processData: false, contentType: false, success: function (ret) { //console.log("resresres",ret); //console.log(importVoice,"2202"); var json = $.parseJSON(ret); $("#" + json.id).val(json.result); if (json.qastatus == 1) { qaResult(json.result); } } }); count = outTime; }); } else { switch2Text = false; } // if (isSafari) { // click(btnReleaseMicrophone); // } } function uploadRec() { $('.h-start2').show(); $('.h-close').hide(); recorder.stopRecording(stopRecordingCallback); }; function isSolve(e) { var status = e; $.ajax({ headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, type: "POST", url: isSolveSessionUrl, async: true, data: "{\"status\":\"" + status + "\",\"rondom\":\"" + rondom + "\"}", success: function (result) { }, }) } function captureMicrophone(callback) { // btnReleaseMicrophone.disabled = false; if (microphone) { callback(microphone); return; } if (typeof navigator.mediaDevices === 'undefined' || !navigator.mediaDevices.getUserMedia) { $('.h-start2').show(); $('.h-close').hide(); var sys = isAndroidOrIOSOrPc(); if (sys == "pc") { alert("该浏览器不支持语音录入,
请使用谷歌、火狐等主流浏览器。", {area: ['320px', '80px']}); } else if (sys == "ios") { alert("该浏览器不支持语音录入,
请将您的IOS操作系统升级最新版本,并使用safari浏览器打开使用。", {area: ['320px', '80px']}); } else if (sys == "android") { alert("该浏览器不支持语音录入,
请使用系统自带浏览器打开使用。", {area: ['320px', '80px']}); } else { alert("您当前的操作系统不支持语音录入。", {area: ['300px', '50px']}); } } navigator.mediaDevices.getUserMedia( { audio: isEdge ? true : {echoCancellation: false} } ).then(function (mic) { callback(mic); }).catch(function (error) { alert("该浏览器不支持语音录入。
或您拒绝了语音授权", {area: ['300px', '60px']}); $("#voice-label").html("(点击开始说话)"); $('.h-start2').show(); $('.h-close').hide(); }) } /** * randomWord 产生任意长度随机字母数字组合 * randomFlag-是否任意长度 min-任意长度最小位[固定位数] max-任意长度最大位 * @param randomFlag * @param min * @param max * @returns {string} */ function rondomNum(randomFlag, min, max) { var str = "", range = min, arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'U', 'V', 'W', 'X', 'Y', 'Z']; // 随机产生 if (randomFlag) { range = Math.round(Math.random() * (max - min)) + min; } for (var i = 0; i < range; i++) { pos = Math.round(Math.random() * (arr.length - 1)); str += arr[pos]; } return str; } function qaResult(keyWord) { $("#completionQues").html(""); $("#tc_Big_box").hide(); $("#keyLength").html(50); var url = answerUrl; if (isRstSearch) { url = rstAnswerUrl; } $.ajax({ headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, //请求方式 type: "POST", //请求地址 url: url, dataType: "json", //数据,json字符串 data: "{\"question\":\"" + keyWord + "\",\"siteId\":\"" + siteId + "\",\"rondom\":\"" + rondom + "\"}", //请求成功 success: function (data) { // console.log(data); if (!data.error) { if (data.msg) { appendHtml(data.msg, 1); return; } recordId = data.recordId; var isVoice = data.isVoice; //匹配答案 var match = data.result.matchQuestions; //相似问题 var like = data.result.likeQuestions; var fill = data.result.fillQuestions; //敏感词 var filter = data.result.filterList; var ischat = data.result.ischat; var rstdata = data.result.rstdata; parseData(match, like, filter, ischat, keyWord, rstdata, isVoice); } }, //请求失败,包含具体的错误信息 error: function (e) { if (e.responseText.indexOf('script') > 0) { var msg = e.responseText.substring(e.responseText.indexOf('\'') + 1, e.responseText.lastIndexOf('\'')); appendHtml(msg, 1) } } }); $("#keyWord").val(""); } /** * 后端返回值解析 * @param match * @param like * @param filter */ function parseData(match, like, filter, ischat, textValue, rstdata, isVoice) { voiceBtnId = genUuid(); isRstData = false; $("#tc_Big_box").hide(); if (rstdata && rstdata.list.length > 0) { var values = { robotName: robotName, img: robotImage, rstdata: rstdata, unknow: unknow, index: ++num, isWebSearch: isRstSearch, voiceBtnId: voiceBtnId }; appendHtml(rstTemplate(values), 8); var smartAnswer = rstDataAddIndex(rstdata.list); smartList = getSmartList(smartAnswer); isRstData = true; isRstSearch = false; playVoiceAsk(); return; } //敏感词 if (filter && filter.length > 0) { var words = ""; jQuery.each(filter, function (i, item) { var obj = JSON.parse(item); words += obj.word + ","; }); if (words.length > 0) words = words.substring(0, words.length - 1); var values = { robotName: robotName, isVoice: isVoice, img: robotImage, value: words, index: ++num, isSen: true, voiceBtnId: voiceBtnId }; appendHtml(othTemplate(values), 8); playVoiceAsk(); return; } //智能问答 if (match) { if (match.length > 0 && ischat == 1) { var values = { question: match[0].question, robotName: robotName, img: robotImage, answer: match[0].answer, answerId: match[0].answerId, uuid: match[0].uuid, index: ++num, voiceTime: match[0].voiceTime, isVoice: isVoice, isTime: match[0].voiceTime === "undefined" || match[0].voiceTime === "" ? false : true, iswenda: true, like: like, voiceBtnId: voiceBtnId }; appendHtml(ansTemplate(values), 8); //寒暄 } else if (match.length > 0 && ischat == 0) { var values = { robotName: robotName, img: robotImage, answer: match[0].answer, answerId: match[0].answerId, uuid: match[0].uuid, isVoice: isVoice, index: ++num, voiceTime: match[0].voiceTime, isTime: match[0].voiceTime === "undefined" || match[0].voiceTime === "" ? false : true, iswenda: false, voiceBtnId: voiceBtnId }; appendHtml(ansTemplate(values), 8); } else if (match.length == 0 && like.length > 0) { if (textValue != null) { if (textValue == like[0].question.replace(/\n/g, "")) { // console.log("匹配第一条:" + like[0].question.replace(/\n/g, "")); var values = { robotName: robotName, img: robotImage, answer: like[0].answer, uuid: like[0].uuid, index: ++num, isVoice: isVoice, iswenda: true, voiceBtnId: voiceBtnId, }; appendHtml(ansTemplate(values), 8); playVoiceAsk(); return; } } var values = { robotName: robotName, img: robotImage, like: like, keyWord: textValue, isVoice: isVoice, index: ++num, voiceBtnId: voiceBtnId, webSearch: webSearchOn }; var smartAnswer = likeDataAddIndex(like); smartList = getSmartList(smartAnswer); appendHtml(simTemplate(values), 8); } else if (match.length == 0 && like.length == 0) { var values = { robotName: robotName, isVoice: isVoice, isUnknow: true, unknow: unknow, index: ++num, img: robotImage, voiceBtnId: voiceBtnId }; appendHtml(othTemplate(values), 8); } } else { var values = { robotName: robotName, isVoice: isVoice, isUnknow: true, index: ++num, unknow: "真的非常抱歉,从网站也未能检索到您需要的信息,您可以前往福建省12345平台进行咨询。", img: robotImage, voiceBtnId: voiceBtnId }; appendHtml(othTemplate(values), 8); } playVoiceAsk(); } /** * * @param html 追加的html * @param type 类型 1:欢迎及警告 3:用户 8:完全匹配及寒暄库 * @param isvoice 是否语音 */ function appendHtml(value, type) { var commonHtml = ""; if (type == 1) { var values = {robotName: robotName, isSys: true, value: value, img: robotImage}; commonHtml = othTemplate(values); } else if (type == 8) { commonHtml = value; } else if (type == 3) { commonHtml = value; } else { commonHtml = value; } $("#answerList").html(" ") $("#answerList").append(commonHtml); var div = document.getElementById('answerList'); div.scrollTop = div.scrollHeight; } $(window).keydown(function (e) { if (e.keyCode == 38) { index = (index-- < 0 ? size - 1 : index); $(".completionQues").find("li").each(function (_index, item) { if (index == _index) { $(this).addClass("li_hover"); } else { $(this).removeClass("li_hover"); } }) } else if (e.keyCode == 40) { index = (index++ > size - 1 ? 0 : index); $(".completionQues").find("li").each(function (_index, item) { if (index == _index) { $(this).addClass("li_hover"); } else { $(this).removeClass("li_hover"); } }) } else if (e.keyCode == 13) { return; } }) function play(id, ele) { $("audio").each(function (index, item) { $(this)[0].pause(); }); var audio = document.getElementById(id); console.log(audio,"0202");//测试 audio.loop = false; audio.addEventListener('ended', function () { $(ele).find("span").eq(0).removeClass().addClass("yy_btn"); }, false); audio.load(); var _class = $(ele).find("span").eq(0).attr("class"); if (_class == "yy_btn") { $(".yy_btn_close").each(function (index, item) { $(this).removeClass().addClass("yy_btn"); }) $(ele).find("span").eq(0).removeClass().addClass("yy_btn_close"); audio.play(); } else if (_class == "yy_btn_close") { $(ele).find("span").eq(0).removeClass().addClass("yy_btn"); audio.pause(); } } function isAndroidOrIOSOrPc() { var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //Android终端 var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); // ios终端 if (IsPC()) { return "pc"; } else if (isAndroid) { return "android"; } else if (isIOS) { return "ios"; } else { return "other"; } } function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod", "MicroMessenger"]; var flag = true; for (var v = 0; v < Agents.length; v++) { if (userAgentInfo.indexOf(Agents[v]) > 0) { flag = false; break; } } return flag; } $("#yuyin").click(function(){ $(".h-start1").show(); }) $("#jianpan").click(function(){ if(ifs){uploadRec()} $(".h-start1").hide() })