一文看看如何撸出春节“智能迎春对联”小程序!
2022已经正式来临,距离中国人的农历春节仅剩十几天了,春节必不可少的就是春联了,下面本篇文章看看怎么实现春节“智能迎春对联”小程序,希望对大家有所帮助!
新年将至,做个智能迎春对联小程序给大伙助助兴!提前祝各位掘友们,2022新年快落!新春快落!
一、效果展示
随机春联
指定姓氏
体验地址
微信扫描下面的二维码 or 微信搜索宝藏程序
源码地址
Gitee:https://gitee.com/nanfangzhe/wechat_demo
二、准备工作
掌握语言:微信小程序语言
技术要点:①微信小程序云开发 ②百度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接口来源,参考百度-语言处理技术-智能创作平台-智能写对联:https://ai.baidu.com/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 = '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 } = event var data = {} switch (action) { case 'getPoemByTxt': { data.text = text if (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 = text if (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
【相关学习推荐:小程序开发教程】
以上是一文看看如何撸出春节“智能迎春对联”小程序!的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

随着移动互联网技术和智能手机的普及,微信成为了人们生活中不可或缺的一个应用。而微信小程序则让人们可以在不需要下载安装应用的情况下,直接使用小程序来解决一些简单的需求。本文将介绍如何使用Python来开发微信小程序。一、准备工作在使用Python开发微信小程序之前,需要安装相关的Python库。这里推荐使用wxpy和itchat这两个库。wxpy是一个微信机器

【春节版本活动「鲸汐永歌」】潮汐凝滞,鲸鸣隐没。千里寒冰覆盖永生之海,新生的鲛人女王怀着坚定不移的守护之心,再度启程。【活动时间】一阶段:2月7日维护后-2月16日23:59将开启鲛人行歌、冰海异客、海原营地、海月屋、千汐礼遇等玩法二阶段:2月17日10:00-2月20日23:59开启二阶段玩法【活动玩法】-鲛人行歌-一阶段期间,随着时间推进逐步解锁3个探索故事章节。阴阳师们将随千姬一起在永生之海进行探索,完成剧情、战斗、奇遇等事件推进故事进展并获得奖励。奇遇玩法包括:极光漩流、铁鼠对弈。可前往

实现微信小程序中的卡片翻转特效在微信小程序中,实现卡片翻转特效是一种常见的动画效果,可以提升用户体验和界面交互的吸引力。下面将具体介绍如何在微信小程序中实现卡片翻转的特效,并提供相关代码示例。首先,需要在小程序的页面布局文件中定义两个卡片元素,一个用于显示正面内容,一个用于显示背面内容,具体示例代码如下:<!--index.wxml-->&l

本站10月31日消息,今年5月27日,蚂蚁集团宣布启动“汉字拾光计划”,最近又迎来新进展:支付宝上线“汉字拾光-生僻字”小程序,用于向社会征集生僻字,补充生僻字库,同时提供不同的生僻字输入体验,以帮助完善支付宝内的生僻字输入方法。目前,用户搜索“汉字拾光”、“生僻字”等关键词就可以进入“生僻字”小程序。在小程序里,用户可以提交尚未被系统识别录入的生僻字图片,支付宝工程师在确认后,将会对字库进行补录入。本站注意到,用户还可以在小程序体验最新的拆字输入法,这一输入法针对读音不明确的生僻字设计。用户拆

不得不感叹一下时间过得真的好快,今天就给大家总结一下原神2023年新登场的角色。话不多说,下面直接进入正题。1.瑶瑶上线日期:2023年1月18日瑶瑶是四星草系奶妈,萍姥姥的弟子,香菱小师妹。拥有不俗的奶量,还有一定的脱手挂草能力,因此在绽放队中有一席之地。2.艾尔海森上线日期:2023年1月18日草系单手剑短轴主C。上线之后,强度逐渐被大众认可,零命即是完全体,在须弥版本是绝对的T0主C,在目前也仍然是最具性价比主C之一。3.迪希雅上线日期:2023年03月01日迪希雅是第二位常驻火系五星大剑

uniapp如何实现小程序和H5的快速转换,需要具体代码示例近年来,随着移动互联网的发展和智能手机的普及,小程序和H5成为了不可或缺的应用形式。而uniapp作为一个跨平台的开发框架,可以在一套代码的基础上,快速实现小程序和H5的转换,大大提高了开发效率。本文将介绍uniapp如何实现小程序和H5的快速转换,并给出具体的代码示例。一、uniapp简介unia

实现思路x01服务端的建立首先,在服务端,使用socket进行消息的接受,每接受一个socket的请求,就开启一个新的线程来管理消息的分发与接受,同时,又存在一个handler来管理所有的线程,从而实现对聊天室的各种功能的处理x02客户端的建立客户端的建立就要比服务端简单多了,客户端的作用只是对消息的发送以及接受,以及按照特定的规则去输入特定的字符从而实现不同的功能的使用,因此,在客户端这里,只需要去使用两个线程,一个是专门用于接受消息,一个是专门用于发送消息的至于为什么不用一个呢,那是因为,只

1、打开微信小程序,进入对应的小程序页面。2、在小程序页面中查找会员相关入口,通常会员入口在底部导航栏或个人中心等位置。3、点击会员入口,进入会员申请页面。4、在会员申请页面,填写相关信息,如手机号码、姓名等,完成信息填写后,提交申请。5、小程序方会对会员申请进行审核,审核通过后,用户即可成为微信小程序会员。6、作为会员,用户将享有更多的会员权益,如积分、优惠券、会员专属活动等
