小型マイクロチャネル・プログラムの開発(II)クラウド開発-----

1、の概念

  • クラウド開発マイクロチャネルアプレットは、クラウド機能を提供する新しいアプレットソリューションの発売、クラウドデータベースとクラウドストレージとのテンセントクラウドマイクロ手紙チームの深さの協力でこれらの三つの基本的なスキルをサポートする、クラウド開発として表示され、アプレット開発者が操作して、エネルギーの維持管理にあまりにも多くの投資を必要とせずに、管理するために、サービス側、テンセントクラウドをホストするサーバーの展開と運用をリンクすることができます。

            

2、伝統的なアプレット開発とクラウド開発との違い

  • アプレットの伝統的な開発モード:(低効率と高い操作やメンテナンスコストの開発)
           小さなプログラムの伝統的な開発モデルの場合は、我々は(すなわち、フロントページ)クライアントが必要ですが、フロントページのほとんどは、データベースからのデータを表示するために、我々はまた、サーバーサイド、バックエンドのコードと多くの必要な
    データベースの展開をFBIのプロセスが通信される前と後に、処理を終了し、時間コストが高くなって、アプレットの展開時間が、我々は記録にも対応するドメイン名とサーバー、およびを購入する必要があります(面倒、時間のかかる)、
    展開小さなプログラムの運用・保守のプロセスの成功の後に、そのようなDBの運用・保守、ファイルストレージ、コンテンツ加速度(CDN)、ネットワーク保護、コンテナサービス、負荷分散、およびセキュリティの強化など、多くの問題が発生します。そこが、同社はなかった
    テンセントアリの雲やサービス上のクラウドを使用して、サーバーを購入しますが、運用、保守コストが非常に高いので、まだ、維持する必要があります。

          

  • アプレットのクラウド開発モデル:サーバレス(サービスなし)モード
          小さなクラウド開発モデルのプログラムについては、まだクライアントが必要ですが、小さなプログラムによるクラウドの開発を提供し、クラウド開発機能は、クラウド、クラウドデータベースと三つの基本的なクラウドストレージをサポートする機能を提供し、我々はクライアントに指示することができます
    -側をデータベースの内容の内部コールの雲は、もちろん、また、クラウド関数の内部でいくつかのビジネス・ロジックを処理し、クライアントのクラウド機能によって呼び出され、クラウド関数の内部でクラウドデータベースを呼び出し、そしてときに我々は、クラウドストレージにクライアント上の対応するファイルをアップロードすることができますすることができます
    クラウドは、上記テンセントクラウドの開発に展開されているので、我々は、追加の操作や保守要員を必要としない、運用および保守コストが削減されるため、またはクラウドストレージの写真は、ユーザへの表示にクライアントにダウンロード。また、アプレットのクラウド機能がかかる
    、Node.jsのをクラウドデータベースにMongoDBを使用し、ノードはMongoDBのも非常に便利です呼び出します。

  

    • サポートするために、3つの基本的な機能:
      • クラウドデータベース:JSONデータベースは、(文書データベース)で空き容量2GBのを提供し、データ変更検索操作への追加や削除を実現します。
        • サポートされているデータ型:数値、文字列、オブジェクト、配列、ブール、日付、ヌルとGeoPoint(地点)。
        • どのようにコードを介してデータベースを操作するために:
          • 初期化:
            CONST DB = wx.cloud.database()
          • 環境の切り替え
            CONST TESTDB = wx.cloud.database({
              ENV:' テスト' //環境名
            })
          • 欠失は、単純なデータを変更して再検索
            • WXML
              <表示>を変更して再検索データベースの削除</ビュー>
              <button size="mini" catchtap="onCatchPostHandler">增加</button>
              <button size="mini" catchtap="onCatchDeleteHandler">删除</button>
              <button size="mini" catchtap="onCatchUpdateHandler">修改</button>
              <button size="mini" catchtap="onCatchGetHandler">查找</button>
              View Code
            • JS
              // 数据库的初始化
              const db = wx.cloud.database();
              
              Page({
              
                /**
                 * 页面的初始数据
                 */
                data: {
              
                },
                /**
                 * 数据库的添加
                 */
                onCatchPostHandler() {
                  // 回调函数写法
                  /**
                   * db.collection('user').add({
                    data: {
                      name: 'wxh',
                      age: '18',
                      job: 'IT'
                    },
                    success: (res) => {
                      // 使用了ES6中的箭头函数,目的是为了改变this指向
                      console.log(res)
                    },
                    fail: (error) => {
                      console.log(error)
                    }
                  })
                   */
                  // promise的写法
                  db.collection('user')
                    .add({
                      data: {
                        name: 'jerry',
                        age: '22',
                        job: 'teacher'
                      }
                    })
                    .then((res) => {
                      console.log(res)
                    })
                    .catch((error) => {
                      console.log(error)
                    })
                },
                /**
                 * 数据库的删除
                 */
                onCatchDeleteHandler() {
                  // 删除一条可以通过小程序端进行控制,而删除多条我们需要小程序调用云函数来操作数据库
                  db.collection('user')
                    .doc("b040a67a5df1f6d1029170ef7e785160")
                    .remove()
                    .then((res) => {
                      console.log(res)
                    })
                    .catch((error) => {
                      console.log(error)
                    })
                },
                /**
                 * 数据库的修改
                 */
                onCatchUpdateHandler() {
                  db.collection('user')
                    .doc('b040a67a5df1f6d1029170ef7e785160')
                    .update({
                      data: {
                        age: '19'
                      }
                    })
                    .then((res) => {
                      console.log(res)
                    })
                    .catch((error) => {
                      console.log(error)
                    })
                },
                /**
                 * 数据库的查找
                 */
                onCatchGetHandler() {
                  db.collection('user')
                    .where({
                      name: 'wxh'
                    })
                    .get({})
                    .then((res) => {
                      console.log(res)
                    })
                    .catch((error) => {
                      console.log(error)
                    })
                },
              View Code
            • 注意:如果是在数据库手动加入记录,会出现查不到的情况,这个时候我们需要设置

                                                             

      • 云函数:相当于小程序在服务端的后台代码,可以非常方便的获取到当前登录用户的信息(appid、openid、生成分享图或者调用腾讯云的SDK);
        • 去Node官网(http://nodejs.cn/),安装Node环境(需要nodev8.0及以上版本);
        • 安装成功的标志:windows+r,输入cmd, 打开命令输入  node -v 显示版本号;

                                          

        •  创建云函数

                                          

          • 很有可能提醒是否需要安装wx-server-sdk    ----- >    点击确定
          • 在调用云函数的过程中提示没有安装wx-server-sdk包,这个时候跟
        • 11
      • 云存储:管理、上传、下载以及分享文件等操作;

3、云开发的开通

  • 打开微信开发工具,点击云开发 -----> 开通 -----> 确定

     

  • 会出现一个环境配置,每个小程序账号可免费创建两个环境,建议是一、开发环境;二、生产环境;
    • 注意:开发工具右上角点击 “详情” -----> 本地设置(调试基础库的版本必须在2.2.3以上,才可以支持云开发)
  • 云开发提供了一个可视化的控制台,点击云开发即可出现;

4、遇到的问题

おすすめ

転載: www.cnblogs.com/wxh0929/p/12030677.html