PK创意闹新春,我正在参加「春节创意投稿大赛」,详情请看:春节创意投稿大赛

新年将至,做个智能迎春对联小程序给大伙助助兴!提前祝各位掘友们,2022新年快落!新春快落!

一、效果展示

随机春联

指定姓氏

体验地址
微信扫描下面的二维码 or 微信搜索宝藏程序

源码地址
Gitee:微信小程序多个项目_南方者

二、准备工作

掌握语言:微信小程序语言

技术要点:①微信小程序云开发 ②百度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.textVif (!text || text.length > 4) {wx.showToast({title: '姓氏暂不支持超过4个字哦!',icon: 'none'})return;}this.getCoupletByTxt(text + "家") // 智能写对联this.setData({showModal: false})},

3 核心代码

经过前面的逻辑讲解,你可能就知道,核心代码是公共调用的方法。(Bingo~ 你猜对了)
随机春联调用的方法

// 随机春联的调用方法bindGetRandomCouplet() {let that = thisvar 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.textVif (!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) {let that = thisconsole.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 = 'http://api.tianapi.com/duilian/index'
// 百度Token
var BAI_DU_ACCESS_TOKEN = '' // 这里需要自行去申请咯~
// 百度接口api
var BAI_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 } = eventvar data = {}switch (action) {case 'getPoemByTxt': {data.text = textif (text == "")return {message: '缺少参数text'}// 智能写诗(API接口来源,参考百度-语言处理技术-智能创作平台-智能写诗:https://ai.baidu.com/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 = textif (text == "")return {message: '缺少参数text'}// 智能写对联(API接口来源,参考百度-语言处理技术-智能创作平台-智能写对联:https://ai.baidu.com/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接口来源,天行数据:https://www.tianapi.com/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("响应" + body)resolve(body)if (!error && response.statusCode == 200) {try { } catch (e) {reject()}}})})}default: {return {message: 'action错误!'}}}}

(中间有些多余的代码,并不是多余的,只是未整理,并且还在继续开发这个小程序…)

完整代码地址:https://gitee.com/nanfangzhe/wechat_demo

文章小尾巴

文章写作、模板、文章小尾巴可参考:《写作“小心思”》

  感谢你看到最后,最后再说两点~
  ①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。
  ②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~
  我是南方者,一个热爱计算机更热爱祖国的南方人。

  (文章内容仅供学习参考,如有侵权,非常抱歉,请立即联系作者删除。)

【微信小程序】【智能春联】春节 “迎春对联” 微信小程序 丨 2022相关推荐

  1. 巴巴腾小腾智能对话机器人_巴巴腾小腾智能机器人:让家长和宝宝轻松语音

    现代社会中,人们工作越来越忙,在家的时间也越来越短,不知道各位有孩子的小伙伴,有没有发现自己陪伴孩子的时间真的太少.这点其实小编体会并不深啦,因为人家自己就是个宝宝(捂脸)~如果能有个家伙没事陪孩子讲 ...

  2. 借鉴华为HiLink实现微信小程序智能配网功能

    借鉴华为HiLink实现微信小程序智能配网功能 微信小程序介绍 微信公众号智能配网 Smartconfig实现原理 Smartconfig技术的弊端 AP配网技术的出现 微信小程序智能配网 模块端设置 ...

  3. 能跳过节假日的闹钟_苏宁小Biu智能闹钟体验:聪明好看,别具风格的“小物件”...

    在智能音箱领域,各家厂商都有很多代表性的产品,比如说小米小爱音箱.天猫精灵.华为小艺智能音箱.荣耀YOYO智能音箱等等,这些智能音箱产品都有一个共同的特点,它们都是以音箱的形式出现在市面上. 苏宁此前 ...

  4. 如何查看小方侦测云存储_小方智能摄像机和手机怎样连接?

    展开全部 1.在手机上下载米家App.下载安装后保持手机连接wifi,且32313133353236313431303231363533e4b893e5b19e31333366303232wifi信号 ...

  5. 小觅智能荣获2018年度AI赋能行业创新明星

    1月20日,由中国信息产业商会主办,中国信息产业商会人工智能分会.智能卡专业委员会.物联网应用分会.广电协作专业委员会联合承办的中国信息产业创新发展大会在北京万寿宾馆举行.MYNTAI小觅智能凭借其自 ...

  6. 基于微信小程序智能停车场系统(微信小程序毕业设计)

    基于微信小程序智能停车场系统 基于微信小程序智能停车场系统,后台采用ssm框架,java编程语言,mysql数据库制作:本系统主要分为用户和管理员两个角色:用户的主要功能有,注册和登陆系统,查看系统公 ...

  7. 【毕业设计】基于单片机微信小程序智能家居控制系统

    文章目录 一.项目简介 二.项目组成 三.原理图设计 四.源码设计 五.小程序设计 六.成品展示 七.资料获取与联系 项目视频 哔哩哔哩视频链接: 1.项目开题 2.原理图讲解 3.程序讲解 3-1O ...

  8. 微信小程序——智能小秘“遥知之”源码分享(语义理解基于olami)

    微信小程序智能生活小秘书开发详解 >>>>>>>>>>>>>>>>>>>>> ...

  9. 微信小程序:2022虎年新UI春节送祝福微信小程序

    昨天好像也发了一款祝福语的小程序吧,然后今天就看到很多小伙伴上线运营了 这是一款网友用以前小编发过的一款端午送祝福改的一款小程序 里面的背景图包括祝福语都已经修改成与虎年相关的内容了 总体来说找的背景 ...

最新文章

  1. python学习-- for和if结合使用
  2. 聚类dbi指数_人脸聚类常用评价指标
  3. 从技术输出到产业赋能,网易云信走过的四年
  4. Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
  5. 数据集_自动驾驶数据集
  6. 重要的气质-个性决定命运
  7. iOS pickerView(所有类型一网打尽)
  8. oracle迁移性能对比,SQL Server 2015与Oracle性能对比.doc
  9. html5原生自带的日期控件和时间控件
  10. C语言开发《浪漫流星雨》表白程序,去年已经成功了
  11. cfa equity
  12. 苹果画画软件_iPhone自带的软件你真的会用使用吗?
  13. cp 命令覆盖文件夹和文件
  14. 为什么我们创业失败了和选择创业公司的思考
  15. MacOS从清空的废纸篓找回被删除文件的方法
  16. 小说阅读翻页分页实现思路
  17. X11-forwarding
  18. DoEvents的用法
  19. LZY踢石头(优先队列)
  20. vps系统服务器,vps系统和云服务器

热门文章

  1. 解决virtualbox共享文件夹没有访问权限的问题
  2. 《炬丰科技-半导体工艺》湿法清洗过程中硅片表面颗粒的去除
  3. 转:中村彰宪:我眼中的中国游戏开发者
  4. 一个普通大学ACM基地成员一年来的感想
  5. arch_linux 虚拟机安装
  6. 青龙脚本之-腾讯自选股
  7. 洛谷 P1582 倒水
  8. Orchestrator Failover过程源码分析-I
  9. matlab计算结果为inf,matlab里的mean为什么计算结果是inf
  10. 光标跟随(Cursor following)