>위챗 애플릿 >미니 프로그램 개발 >이 기사에서 봄 축제를 위한 '지능형 봄 축제 커플릿' 애플릿을 만드는 방법을 살펴보겠습니다!

이 기사에서 봄 축제를 위한 '지능형 봄 축제 커플릿' 애플릿을 만드는 방법을 살펴보겠습니다!

青灯夜游
青灯夜游앞으로
2022-01-17 10:21:193234검색

2022년이 공식적으로 다가왔습니다. 중국 설날이 열흘밖에 남지 않았습니다. 봄 축제에 없어서는 안 될 필수 요소입니다. 다음 기사에서는 봄 축제를 위한 "스마트 봄 축제 커플릿"을 구현하는 방법을 살펴보겠습니다. . 모두에게 도움이 되기를 바랍니다.

이 기사에서 봄 축제를 위한 '지능형 봄 축제 커플릿' 애플릿을 만드는 방법을 살펴보겠습니다!

새해가 다가오고 있습니다. 모두를 응원할 스마트한 춘절 커플앱을 만들어 보세요! 디깅 친구들 모두 2022년 새해 복 많이 받으시길 미리 기원합니다! 새해가 곧 다가옵니다!

1. 효과 표시

임의의 설 명절 커플

이 기사에서 봄 축제를 위한 지능형 봄 축제 커플릿 애플릿을 만드는 방법을 살펴보겠습니다!

성 지정

이 기사에서 봄 축제를 위한 지능형 봄 축제 커플릿 애플릿을 만드는 방법을 살펴보겠습니다!

주소 체험
WeChat에서 아래 QR 코드를 스캔하거나 WeChat 보물 프로그램을 검색하세요.

이 기사에서 봄 축제를 위한 지능형 봄 축제 커플릿 애플릿을 만드는 방법을 살펴보겠습니다!

소스코드 주소

Gitee: https://gitee.com/nanfangzhe/wechat_demo

2. 준비

언어 마스터하기: WeChat 미니 프로그램 언어
기술 포인트WeCha 티 미니 프로그램 클라우드 개발바이두 AI 지능형 창작 플랫폼 - 춘절 지능적 글쓰기

3. 게임 진행 및 규칙

게임 과정 : 随机春联指定姓氏~
클릭하면 원하는 춘절 대련을 얻을 수 있습니다 설명 of terms: ①임의의 봄 축제 대련, 무작위로 한 쌍의 봄 축제 대련을 표시합니다. ②성 지정: 성을 입력하여 커플을 생성합니다.

4. 배포 단계

1️⃣WeChat 애플릿 프로세스 등록 및 클라우드 개발 시작
2️⃣Baidu AI 플랫폼 등록——》콘솔—— 》자연어 처리 애플리케이션 생성——》Baidu 인증 및 승인, 토큰 받기—— 》그런 다음 토큰 가져오기 Smart Spring Festival Couplets API 인터페이스
3️⃣ 수정해야 할 곳: APPID(WeChat 개발자 도구로 열 때 입력한 APPID), Baidu 토큰(커플릿 폴더에 있는 index.js 파일), 클라우드 개발 환경 env( app.js 파일에서)

5. 논리 설명 및 핵심 코드

1 임의의 봄 축제 커플릿에 대한 논리 설명

Baidu에서 제공하는 스마트 봄 축제 커플릿 API 인터페이스는 매개 변수를 전달해야 하기 때문에 다음을 수행할 수 있습니다. 미리 작은 것을 준비하십시오. 데이터 수집은 클릭 시 값을 전달한 다음 필요한 커플릿을 반환할 수 있습니다. 따라서 우리는 봄 축제를 환영하고 새해를 축하하는 데 사용되는 몇 가지 단어와 문구를 수집했습니다.

var RANDOM_TEXT_LIST = ["虎", "虎年", "迎春", "春节", "过年", "年兽", "过春节", "初一", "年初", "红红火火", "红火", "开心", "开开心心", "健康", "健健康康", "长寿", "平安", "平平安安", "家庭", "家庭和睦", "和睦", "子子孙孙", "勤劳", "福气", "福", "致富", "富裕", "富", "合家欢喜", "合家", "欢喜", "喜庆", "喜", "囍", "生意兴隆", "恭喜发财", "大富大贵", "富贵", "富裕", "丰年", "子孙满堂", "心欢喜", "人间喜", "灯火", "灯笼", "烟花", "爆竹"]

이 기사에서 봄 축제를 위한 지능형 봄 축제 커플릿 애플릿을 만드는 방법을 살펴보겠습니다!

2 성을 지정하는 논리에 대한 설명

이는 사용자가 성을 입력해야 한다는 점을 제외하면 임의의 봄 축제 대련과 유사하지만 사용되는 API 인터페이스는 조금 어색하고, 성은 한 글자만 입력해야 하는데 출력 내용이 좀 불합리합니다. 따라서 여기서 해결 방법은 "가족"이라는 단어를 연결하고 추가하는 것입니다. 예를 들어 성을 입력합니다. Liu, 전달된 값은 Liu 가족입니다. 입력은 Zhang 가족입니다...

  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 핵심 코드

앞서 논리적인 설명을 하고 나면 핵심 코드가 공개적으로 호출되는 메소드라는 것을 알 수 있습니다. (빙고~ 짐작하셨죠)

임의의 Spring Couplets가 호출하는 메소드

// 随机春联的调用方法
  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
    })
  },

스마트 Spring Couplets가 호출하는 Public 메소드

  // 智能写对联(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
      })
    })
  },

클라우드가 호출하는 Public 메소드 function

// 注:先看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

【관련 학습 추천: Mini 프로그램 개발 튜토리얼

위 내용은 이 기사에서 봄 축제를 위한 '지능형 봄 축제 커플릿' 애플릿을 만드는 방법을 살펴보겠습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제