当前位置: 首页 > 科技观察

ArkUIJSAI诗词画卷

时间:2023-03-16 12:11:19 科技观察

了解更多开源请访问:开源基础软件社区https://ost.51cto.com诗歌的句子,通过调用AI接口自动生成诗歌,然后将返回的诗歌按照时期切割成数组,并使用Marquee标签滚动诗歌,由于诗歌的长度,如果不是enough,不能滚动,用一个空格填入长度,这样诗句就可以滚动了。效果开发环境开发工具:DevEcoStudio3.0Beta4SDK:HarmonyOSSDKAPIVersion8开发过程通过调用AI接口生成诗歌,通过网络获取数据。所需权限:ohos.permission.INTERNET。之前我们直接在config.json代码方式添加权限。图下可以添加最新的开发工具:新版开发工具的预览器也支持网络请求数据,从上面的效果图可以看出,是预览器下记录的效果。界面比较简单,只需要在关键标签上添加注释即可,HML代码如下:{{$t('strings.titleOne')}}

{{$item}}
{{$t('strings.titleTwo')}}
{{$item}}CSS代码如下:/**最外层容器样式*/.container{display:flex;弹性方向:列;证明内容:居中;对齐项目:居中;左:0px;顶部:0px;宽度:100%;高度:100%;padding:20px;}/**藏诗及全诗排版样??式*/.column{display:flex;弹性方向:列;证明内容:flex-start;对齐项目:flex-start;width:100%;}/**Title*/.title{字体大小:60px;文本对齐:居中;宽度:100%;边距:20px;}/**文本框和按钮布局*/.input-item{width:100%;显示:弹性;弹性方向:行;证明内容:空格之间;对齐项目:拉伸;margin-bottom:10px;}/**文本框宽度为55%*/input:first-child{width:55%;}/**诗歌展示区*/.desc{padding-top:20px;填充底部:20px;弹性方向:列;对齐项目:居中;证明内容:居中;width:100%;}/**Scrolltextbottompadding10px*/marquee{padding-bottom:10px;}JS代码如下:importfetchfrom'@system.fetch';importpromptfrom'@system.prompt';exportdefault{data:{flagOne:false,flagTwo:false,inputOne:'我爱祖国',inputTwo:'沁园春雪',poetryOne:[],poetryTwo:[]},/***获取内容离合文字框*@parame*/textChangeOne(e){//将值赋给变量this.inputOne=e.text;},/***获取输入的数字一首诗文本框的内容*@parame*/textChangeTwo(e){//赋值给变量this.inputTwo=e.text;},/***生成杂音事件*@paramres*/onClickOne(){//去除文本框中的空格和换行符this.inputOne=this.inputOne.replace(/[\s]+/g,"").replace(/\n/g,"").替换(/\r/g,“”);//当文本框为空时,温馨提示并阻止执行if(this.inputOne===""){prompt.showDialog({message:"不能为空,请输入汉字",duration:3000,底部:'80%'})返回;}//封装URLvarurl="https://py.myie9.com/cangtooutest/"+this.inputOne;那个=这个;fetch.fetch({url:url,method:'GET',responseType:'text',success:function(res){console.log('xx'+JSON.stringify(res));//有返回时错误码,温馨提示if(res.code==500){prompt.showToast({message:"请至少输入4个不同的汉字",duration:3000,bottom:'80%'})return;}//提醒生成成功prompt.showToast({message:"成语生成成功",duration:3000,bottom:'80%'})//获取返回数据vardescOne=res.data;//把返回的字符串数据按照周期分成数组vardescOneArray=descOne.split("");console.log('xx'+descOne)//清空存储的诗歌数组that.poetryOne=[]//固定行字符长度为50varrowLen=50;for(varindex=0;index