ホームページ >WeChat アプレット >ミニプログラム開発 >この記事では、春節用の「インテリジェント春節カプレット」アプレットの作成方法を見てみましょう。

この記事では、春節用の「インテリジェント春節カプレット」アプレットの作成方法を見てみましょう。

青灯夜游
青灯夜游転載
2022-01-17 10:21:193197ブラウズ

2022 年が正式に到来しました。中国の旧正月まであと 10 日しかありません。春節の対句は春節に不可欠です。次の記事では、「スマート春節対句」アプレットを実装する方法について説明します。春祭り、皆さんのお役に立てれば幸いです、助かります!

この記事では、春節用の「インテリジェント春節カプレット」アプレットの作成方法を見てみましょう。

新年が近づいています。みんなを元気づけるために、スマートな春節の対句アプレットを作成しましょう。 2022 年の新年が明けましておめでとうございます。もうすぐ新年がやってきます!

##1. エフェクトの表示

##ランダムなスプリングカプレット

この記事では、春節用の「インテリジェント春節カプレット」アプレットの作成方法を見てみましょう。##指定された姓

この記事では、春節用の「インテリジェント春節カプレット」アプレットの作成方法を見てみましょう。体験アドレス

WeChatまたはWeChat検索宝プログラムで下のQRコードをスキャンしてください

この記事では、春節用の「インテリジェント春節カプレット」アプレットの作成方法を見てみましょう。

ソースコードアドレス

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

2. 準備作業

言語をマスターする

:

WeChatミニプログラム言語テクニカルポイント: ①
WeChatミニプログラムクラウド開発Baidu AIインテリジェントな作成プラットフォーム - 春節の対句のインテリジェントな作成3. ゲーム プロセスとルール

ゲーム プロセス

:

ランダムな春節の対句をクリックできます。 を指定して、希望の春節対句を取得します~用語の説明: ①ランダム春節対句、ランダムに春節対句を表示します。 ②姓を指定:姓を入力すると対句が生成されます。
4. 導入手順

1️⃣WeChat アプレットプロセスの登録とクラウド開発の開始

2️⃣Baidu AI プラットフォームの登録——》コンソール——>>自然言語処理アプリケーションの作成—— 》Baidu の認証と認可、トークンを取得します——》 次に、トークンをスマート春節カプレット API インターフェイスに持っていきます

3️⃣変更する必要があるもの: APPID (WeChat 開発者ツールで開くときに入力した APPID)、Baidu トークン (カプレット フォルダー内) Index.js ファイル)、クラウド開発環境環境 (app.js ファイル内)


5. ロジックの説明とコア コード

1 春節のランダム対句のロジック説明

Baidu が提供するスマートな春節対句 API インターフェイスではパラメータを渡す必要があるため、事前に小さなデータ コレクションを準備し、クリックされたときに値を渡し、必要なデータを返すことができます。対句。そこで、春節を迎え新年を祝うために使われる言葉やフレーズを集めました。

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

この記事では、春節用の「インテリジェント春節カプレット」アプレットの作成方法を見てみましょう。

2 姓を指定するロジックの説明

これは、次のロジックと似ています。ランダムな春祭りの対句のみ ただし、ユーザーは姓を入力する必要がありますが、使用する API インターフェースが少しぎこちなく、姓を 1 文字だけ入力した場合、出力内容は少し無理が​​あります。したがって、ここでの解決策は、単語「家」を結合して追加することです。たとえば、姓: Liu を入力すると、渡される値は Liu ファミリーになります。入力が Zhang の場合、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 コア コード

前述の論理的な説明を終えると、コア コードがパブリックに呼び出されるメソッドであることがわかると思います。 (ビンゴ~ ご想像の通り)

ランダムな春祭りの対句によって呼び出されるメソッド

// 随机春联的调用方法
  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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.cnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。