您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么擼出春節智能迎春對聯小程序”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么擼出春節智能迎春對聯小程序”吧!
掌握語言:微信小程序語言
技術要點:①微信小程序云開發 ②百度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錯誤!' } } } }
感謝各位的閱讀,以上就是“怎么擼出春節智能迎春對聯小程序”的內容了,經過本文的學習后,相信大家對怎么擼出春節智能迎春對聯小程序這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。