怎么撸出春节智能迎春对联小程序(迎春的对联怎么贴)
准备工作
掌握语言:微信小程序语言
技术要点:①微信小程序云开发 ②百度AI智能创作平台-智能写春联
游戏流程与规则
游戏流程:可以通过点击随机春联和指定姓氏来获取所想要的春联~
名词解释:①随机春联,随机显示一对春联。 ②指定姓氏:输入你的姓氏,生成对联。
部署步骤
1️⃣注册微信小程序流程,开启云开发
2️⃣注册百度AI平台——》控制台——》创建自然语言处理的应用——》百度认证授权,拿到token——》再拿token去智能春联API接口
3️⃣需要修改的地方:APPID(用微信开发者工具打开时输入的APPID)、百度token(在couplet文件夹里的index.js文件)、云开发环境env(在app.js文件)
逻辑讲解与核心代码
1 随机春联的逻辑讲解
由于百度提供的智能春联API接口是需要传参的,所以我们可以提前预备一个小型数据集合,通过点击的时候能进行传值,然后返回需要的对联。因此,是收集了部分迎春过年的字词、词语。
varRANDOM_TEXT_LIST=["虎","虎年","迎春","春节","过年","年兽","过春节","初一","年初","红红火火","红火","开心","开开心心","健康","健健康康","长寿","平安","平平安安","家庭","家庭和睦","和睦","子子孙孙","勤劳","福气","福","致富","富裕","富","合家欢喜","合家","欢喜","喜庆","喜","囍","生意兴隆","恭喜发财","大富大贵","富贵","富裕","丰年","子孙满堂","心欢喜","人间喜","灯火","灯笼","烟花","爆竹"]
2 指定姓氏的逻辑讲解
这个和随机春联是类似的逻辑,只不过需要用户输入姓氏,但是用到的api接口有点拉胯,输入单单一个姓的字,输出的内容是有点不合理。所以在这处理办法是拼接加一个“家”字进去,比如输入姓氏:柳,传值的就是柳家;输入的是张,就是张家...
ok:function(){
vartext=this.data.textV
if(!text||text.length>
4){
wx.showToast({
title:'姓氏暂不支持超过4个字哦!',
icon:'none'
}
)
return;
}
this.getCoupletByTxt(text+"家")//智能写对联
this.setData({
showModal:false
}
)
}
,3 核心代码
经过前面的逻辑讲解,你可能就知道,核心代码是公共调用的方法。(Bingo~ 你猜对了)
随机春联调用的方法
//随机春联的调用方法
bindGetRandomCouplet(){
letthat=this
varnum=parseInt(Math.random()*(MAX_NUM-MIN_NUM+1)+MIN_NUM,10);
//生成[n,m]的随机整数
that.getCoupletByTxt(RANDOM_TEXT_LIST[num])//智能写对联
}
,指定姓氏调用的方法
//随机春联的调用方法
ok:function(){
vartext=this.data.textV
if(!text||text.length>
4){
wx.showToast({
title:'姓氏暂不支持超过4个字哦!',
icon:'none'
}
)
return;
}
this.getCoupletByTxt(text+"家")//智能写对联
this.setData({
showModal:false
}
)
}
,调用智能春联的公共方法
//智能写对联(API接口来源,参考百度-语言处理技术-智能创作平台-智能写对联:https://ai.baidu.com/ai-doc/NLP/Ok53wb6dh)
getCoupletByTxt(text){
letthat=this
console.log(text)//字符串(限5字符数以内)即作诗的主题
if(!text||text.length>
5){
wx.showToast({
title:'主题限制5个字以内哦!',
icon:'none'
}
)
return;
}
wx.cloud.callFunction({
name:'couplet',
data:{
action:'getCoupletByTxt',
text
}
}
).then(res=>
{
console.log(res)
if(res.result.error_code){
if("17".indexOf(res.result.error_code)!=-1){
wx.showToast({
title:'调用次数用完啦,点击右下角小电话,联系开发者充次钱充次数啦!',
icon:'none',
duration:3000,
}
)
}
else{
wx.showToast({
title:'当前对联不太行,请重试!',
icon:'none'
}
)
}
return;
}
that.setData({
couplets:res.result.couplets
}
)
}
)
}
,云函数调用的公共方法
//注:先看readme.md文件
//对联生成请求
constcloud=require('wx-server-sdk')
varrp=require('request-promise')
cloud.init({
env:cloud.DYNAMIC_CURRENT_ENV
}
)
constDB=cloud.database()
//天行数据的KEY
varTIAN_XING_KEY=''
//天行数据的接口API
varTIAN_XING_API='http://api.tianapi.com/duilian/index'
//百度Token
varBAI_DU_ACCESS_TOKEN=''//这里需要自行去申请咯~
//百度接口api
varBAI_DU_API=[
"https://aip.baidubce.com/rpc/2.0/creation/v1/poem",//智能写诗
"https://aip.baidubce.com/rpc/2.0/creation/v1/couplets"//智能写对联
]
//云函数入口函数
exports.main=async(event,context)=>
{
var{
action,text}
=event
vardata={
}
switch(action){
case'getPoemByTxt':{
data.text=text
if(text=="")
return{
message:'缺少参数text'
}
//智能写诗(API接口来源,参考百度-语言处理技术-智能创作平台-智能写诗:https://ai.baidu.com/ai-doc/NLP/ak53wc3o3)
returnnewPromise((resolve,reject)=>
{
try{
rp({
method:'POST',
headers:{
"content-type":"application/json",
}
,
body:JSON.stringify(data),
url:BAI_DU_API[0]+'?access_token='+BAI_DU_ACCESS_TOKEN,//text必要参数,写诗的主题内容
}
,function(error,response,body){
if(error){
returnreject(error);
}
returnresolve(JSON.parse(body));
}
)
}
catch(e){
returnreject(e)
}
}
);
}
case'getCoupletByTxt':{
data.text=text
if(text=="")
return{
message:'缺少参数text'
}
//智能写对联(API接口来源,参考百度-语言处理技术-智能创作平台-智能写对联:https://ai.baidu.com/ai-doc/NLP/Ok53wb6dh)
returnnewPromise((resolve,reject)=>
{
try{
rp({
method:'POST',
headers:{
"content-type":"application/json",
}
,
body:JSON.stringify(data),
url:BAI_DU_API[1]+'?access_token='+BAI_DU_ACCESS_TOKEN,//text必要参数,对联的主题内容
}
,function(error,response,body){
if(error){
returnreject(error);
}
returnresolve(JSON.parse(body));
}
)
}
catch(e){
returnreject(e)
}
}
);
}
case'getRandomCouplet':{
//随机一对对联(无横批)(API接口来源,天行数据:https://www.tianapi.com/console/)
returnnewPromise((resolve,reject)=>
{
rp({
url:TIAN_XING_API+'?key='+TIAN_XING_KEY,
method:"POST",
json:true,
}
,function(error,response,body){
console.log("响应"+body)
resolve(body)
if(!error&
&
response.statusCode==200){
try{
}
catch(e){
reject()
}
}
}
)
}
)
}
default:{
return{
message:'action错误!'
}
}
}
}
感谢各位的阅读,以上就是“怎么撸出春节智能迎春对联小程序”的内容了,经过本文的学习后,相信大家对怎么撸出春节智能迎春对联小程序这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎么撸出春节智能迎春对联小程序(迎春的对联怎么贴)
本文地址: https://pptw.com/jishu/723.html
