版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】怎么撸出春节智能迎春对联小程序
这篇文章主要讲解了“怎么撸出春节智能迎春对联小程序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着在下的思路慢慢深入,一起来研究和学习“怎么撸出春节智能迎春对联小程序”吧!准备工作掌握语言:微信小程序语言技术要点:①微信小程序云开发②百度AI智能创作平台-智能写春联游戏流程与规则游戏流程:可以通过点击随机春联和指定姓氏来获取所想要的春联~名词解释:①随机春联,随机显示一对春联。②指定姓氏:输入你的姓氏,生成对联。部署步骤1️⃣注册微信小程序流程,开启云开发2️⃣注册百度AI平台——》控制台——》创建自然语言处理的应用——》百度认证授权,拿到token——》再拿token去智能春联API接口3️⃣需要修改的地方:APPID(用微信开发者工具打开时输入的APPID)、百度token(在couplet文件夹里的index.js文件)、云开发环境env(在app.js文件)逻辑讲解与核心代码1随机春联的逻辑讲解由于百度提供的智能春联API接口是需要传参的,所以我们可以提前预备一个小型数据集合,通过点击的时候能进行传值,然后返回需要的对联。因此,是收集了部分迎春过年的字词、词语。var
RANDOM_TEXT_LIST
=
["虎",
"虎年",
"迎春",
"春节",
"过年",
"年兽",
"过春节",
"初一",
"年初",
"红红火火",
"红火",
"开心",
"开开心心",
"健康",
"健健康康",
"长寿",
"平安",
"平平安安",
"家庭",
"家庭和睦",
"和睦",
"子子孙孙",
"勤劳",
"福气",
"福",
"致富",
"富裕",
"富",
"合家欢喜",
"合家",
"欢喜",
"喜庆",
"喜",
"囍",
"生意兴隆",
"恭喜发财",
"大富大贵",
"富贵",
"富裕",
"丰年",
"子孙满堂",
"心欢喜",
"人间喜",
"灯火",
"灯笼",
"烟花",
"爆竹"]2指定姓氏的逻辑讲解这个和随机春联是类似的逻辑,只不过需要用户输入姓氏,但是用到的api接口有点拉胯,输入单单一个姓的字,输出的内容是有点不合理。所以在这处理办法是拼接加一个“家”字进去,比如输入姓氏:柳,传值的就是柳家;输入的是张,就是张家...
ok:
function
()
{
var
text
=
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()
{
let
that
=
this
var
num
=
parseInt(Math.random()
*
(MAX_NUM
-
MIN_NUM
+
1)
+
MIN_NUM,
10);
//
生成[n,m]的随机整数
that.getCoupletByTxt(RANDOM_TEXT_LIST[num])
//
智能写对联
},指定姓氏调用的方法//
随机春联的调用方法
ok:
function
()
{
var
text
=
this.data.textV
if
(!text
||
text.length
>
4)
{
wx.showToast({
title:
'姓氏暂不支持超过4个字哦!',
icon:
'none'
})
return;
}
this.getCoupletByTxt(text
+
"家")
//
智能写对联
this.setData({
showModal:
false
})
},调用智能春联的公共方法
//
智能写对联(API接口来源,参考百度-语言处理技术-智能创作平台-智能写对联:/ai-doc/NLP/Ok53wb6dh)
getCoupletByTxt(text)
{
let
that
=
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文件
//
对联生成请求
const
cloud
=
require('wx-server-sdk')
var
rp
=
require('request-promise')
cloud.init({
env:
cloud.DYNAMIC_CURRENT_ENV
})
const
DB
=
cloud.database()
//
天行数据的KEY
var
TIAN_XING_KEY
=
''
//
天行数据的接口API
var
TIAN_XING_API
=
'/duilian/index'
//
百度Token
var
BAI_DU_ACCESS_TOKEN
=
''
//
这里需要自行去申请咯~
//
百度接口api
var
BAI_DU_API
=
[
"/rpc/2.0/creation/v1/poem",
//
智能写诗
"/rpc/2.0/creation/v1/couplets"
//
智能写对联
]
//
云函数入口函数
exports.main
=
async
(event,
context)
=>
{
var
{
action,
text
}
=
event
var
data
=
{}
switch
(action)
{
case
'getPoemByTxt':
{
data.text
=
text
if
(text
==
"")
return
{
message:
'缺少参数text'
}
//
智能写诗(API接口来源,参考百度-语言处理技术-智能创作平台-智能写诗:/ai-doc/NLP/ak53wc3o3)
return
new
Promise((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)
{
return
reject(error);
}
return
resolve(JSON.parse(body));
})
}
catch
(e)
{
return
reject(e)
}
});
}
case
'getCoupletByTxt':
{
data.text
=
text
if
(text
==
"")
return
{
message:
'缺少参数text'
}
//
智能写对联(API接口来源,参考百度-语言处理技术-智能创作平台-智能写对联:/ai-doc/NLP/Ok53wb6dh)
return
new
Promise((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)
{
return
reject(error);
}
return
resolve(JSON.parse(body));
})
}
catch
(e)
{
return
reject(e)
}
});
}
case
'getRandomCouplet':
{
//
随机一对对联(无横批)(API接口来源,天行数据:/console/)
return
new
Promise((resolve,
reject)
=>
{
rp({
url:
TIAN_XING_API
+
'?key='
+
TIAN_XING_KEY,
method:
"POST",
json:
true,
},
function
(error,
response,
body)
{
console.log("响
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阿托品在手术麻醉中的临床应用
- 审查劳动合同意义
- 2024年事业单位招聘考试江苏省连云港市职业能力倾向测验题库含答案解析
- 2023年化妆品店的年终总结报告
- 2023年化工生产半年总结报告
- 商用POS加密机相关行业投资方案范本
- 【语文】《说“木叶”》课件 2023-2024学年统编版高中语文必修下册
- 园区经济从单一功能到多元融合
- 固体矿产计算机辅助自动评价系统项目可行性研究报告及运营方案|瑞克咨询|2024年编|
- 高纯铅项目可行性研究报告及运营方案|瑞克咨询|2024年编|
- 基于旅客排队行为的铁路车站售票窗口仿真
- 建筑劳务派遣服务投标方案(技术方案)
- 《盈亏平衡分析》课件
- 英雄烈士保护法PPT
- 生物信息学题库
- 古树保护性施工方案
- (1.3)-2.2真理与价值马克思主义基本原理
- 抢工措施方案新611
- 特气系统使用注意事项
- 阀门井阀门更换施工方案
- 电气安装工程综合单价查询表
评论
0/150
提交评论