マイクロチャネルアプレット+ thinkjs + MongoDBの簡単な対話前端と後端

注意:この時間を先生と少し学ぶためにmongodbデータベースを、これは私のクラスメートの助けありがとうございました、ここにそれを再設定して、バックオフィスサービス、エラーの多くを構築するための最初の時間です-

まず、+ MongoDBの使用thinkjsは、バックグラウンドサービスを作成します

1. thinkjsをインストールします。

インストールthinkjsキット

npm install -g think-cli

2.プロジェクトを作成しますthinkjs

thinkjs new demo;
cd demo;
npm install;
npm start;

3.モンゴをサポートするために、モデルのフレームワークをしてみましょう

ではdemo、プロジェクトconfigフォルダextend.jsのファイルを追加するthink-mongoモジュールを

const mongo = require('think-mongo');

module.exports = [
    mongo(think.app)
]

4.接続MongoDBの

インストールthink-mongo

npm install think-mongo

変更configフォルダadapter.jsデータベース内のファイルを

exports.model = {
    type: 'mongo',
    common: {
        logConnect: isDev,
        logger: msg => think.logger.info(msg)
    },
    mongo: {
        host: '127.0.0.1',
        database: 'mytest',  // 自己创建的数据库名字
        port: 27017,
        user: '',
        password: ''
    }
};

5.データベースのMongoDBを作成します。

demo、プロジェクトのルートディレクトリの下に新しいdb用フォルダのデータを格納し、データベースサービスを開きます。

注意:サービスがこのフォルダに開いている、またはバックエンドデータベースを接続することはできませんした後

mkdir db
cd db
mongod --dbpath=./

windowsここのユーザで使用されるようにpowershell端末を使用していないcmdコマンドウィンドウを。

6.ルートを追加します。

変更インデックスコントローラー

controllerフォルダindexデータのうち、フォルダリターンを変更

module.exports = class extends Base {
    indexAction() {
        return this.json({nihao: '\'nihao\''});
    }
};

7.独自のコントローラを追加します。

任意の名前を作成.jsファイルを、その後、コンテンツコントローラのリターンをカスタマイズ

const Base = require('./base.js');

module.exports = class extends Base {
    async indexAction() {
        // 获取从微信小程序传过来的 data 数据
        const data1 = this.post('data');
        // 将获取的数据 data1 添加到 student 表中
        const a = await this.mongo('student').add(data);
        // 从控制台输出 a 的地址
        console.log(a);
        return this.success('success');
    }
    
    async addAction() {
        const test = 'hello, world';
        return this.json({test});
    }
}

8.コントローラにMongoDBを追加します。

controllerフォルダの新しい作成するためにuser.js、コントローラの内容を書き込み、ファイルを、

const Base = require('./base.js');

module.exports = class extends Base {
    async indexAction() {
        // controller 中实例化模型
        const user = await this.mongo('user').find();
        if (think.isEmpty(user)) {
            return this.fail();
        } else {
            return this.success(user);
        }
    }
};

9.モデルファイルを追加します。

こうしたここで読み取りデータ等の各種操作のための各モデル

module.exports = class extends think.Mongo {
    find() {
        return this.model('user').select();
    };
}

第二に、マイクロチャネルの設定アプレット

直接テーマに、ここに入らないお申し込みやマイクロ文字のアプレットを作成します

1.ページの読み込み機能を追加wx.request

作成されたマイクロチャネルアプレットでindex.js、次のコードファイルを追加します

Page({
    onLoad: function() {
        wx.request({
            // 这里的 test 是上面第7步创建的自己的控制器的名字
            url: 'http://127.0.0.1:8360/test/index'
            method: 'POST',
            data: {
                data: 'hello'
            },
            success: function (res) {
                console.log(res.data)
            }
        })
    }
})

第三に、フロントとリア側の相互作用を確認します

デモサービスの電源を入れ

ではdemoプロジェクトディレクトリ

npm start;

2.データベースのMongoDB

demoのディレクトリdb開いているファイルのフォルダデータベースサービス

cd db
mongod --dbpath=./

データベースとコレクションの作成

use database
db.createCollection("collection")

3.小さなマイクロチャネル・プログラムをコンパイル

終了

期待される結果:

アプレットマイクロチャネルデータが付加され、データが正常に戻ってデータベースに遠位端に伝達されるデータベースのデータが登場しました。

マイクロチャネルの受信に成功したアプレット成功メッセージが戻されます。

受信したデータのデモプロジェクトコンソール出力変数のアドレス文字列。

この時点で、我々は〜シンプルなフロントとリア側の相互作用の友人を完了しました

おすすめ

転載: www.cnblogs.com/xpcloud/p/11409072.html