目次
🎜3.1 ポップ/トースト コンポーネントの設定パラメータの説明" >🎜3.1 ポップ/トースト コンポーネントの設定パラメータの説明

3.2 ポップ/トースト コンポーネント コード

" >

3.2 ポップ/トースト コンポーネント コード

ホームページ ウェブフロントエンド jsチュートリアル ブログコンテンツ管理システムの詳しい説明

ブログコンテンツ管理システムの詳しい説明

Feb 22, 2018 pm 01:36 PM
コンテンツ マネジメントシステム 詳しい説明

1. コンテンツの更新

  1. データベースが再設計され、ユーザーごとにグループ化された subDocs データベース構造に変更されました

  2. データベースの変更に応じて、すべてのインターフェースが再設計され、インターフェースのスタイルは Get と一致しました。すぐにリッチ

  3. 元のゲストモードを削除し、ログイン登録機能を追加し、ポップアップログインをサポートします。

  4. 最新の公開記事や登録ユーザーを表示するホームページを追加

  5. パスワード変更、ログアウト、ログアウトなどの機能を追加します。

  6. ポップアップ ウィンドウ コンポーネントを最適化します。これはよりスマートで、より多くの構成項目があり、NetEase $.dialog コンポーネントに似ています。また、一連のコードは CSS を変更するだけで、PC 側のポップアップ ウィンドウと WAP 側のトースト機能を同じインターフェイスで実現します。

  7. モバイル適応を追加

  8. 元のコードを最適化し、いくつかのバグを修正します。

さらに更新されたコンテンツについては、プロジェクト CMS-of-Blog_Production および CMS-of-Blog に移動してください。

2. コアコード分析

1. データベース

元のデータベースを再設計し、ユーザーごとにグループ化された subDocs データベース構造に変更します。これにより、ユーザー全体のデータベース構造がより明確になり、操作や読み取りも容易になります。コードは次のとおりです。

コードの先頭で、articleSchema、linkSchema、userSchema の 3 つの新しいスキーマが定義されています。 ArticleSchema と linkSchema は userSchema にネストされ、ユーザーごとにグループ化された subDocs データベース構造を形成します。スキーマはファイル形式で保存されたデータベース モデルのスケルトンであり、データベースを操作する機能はありません。その後、スキーマはモデルとして公開されます。モデルは、スキーマ パブリッシングによって生成されるモデルであり、抽象的なプロパティと動作を持つデータベース操作のペアです。 Modelで作成できるエンティティ 例えば、新規ユーザー登録時にエンティティが作成されます。

データベースが作成されたら、それを読み取って操作する必要があります。登録時に電子メール確認コードを送信するコードを見て、感覚をつかむことができます。

電子メール確認コードの送信リクエストを受信した後、バックグラウンドで tmp ユーザーが初期化されます。 new db.User() を使用すると User のインスタンスが作成され、save() オペレーションを実行するとこのデータがデータベースに書き込まれます。 30 分以内に登録が成功しなかった場合、このデータは電子メール アドレスを照合してから db.User.remove() によって削除されます。より具体的な使用方法については、公式ドキュメントnew db.User()会创建一个User的实例,然后执行save()操作会将这条数据写到数据库里。如果在半小时内没有注册成功,通过匹配邮箱,然后db.User.remove()将这条数据删除。更多具体用法请移步官方文档

2. 后台

将所有请求分为三种:

  • ajax异步请求,统一路径:/web/

  • 公共页面部分,如博客首页、登录、注册等,统一路径:/

  • 与博客用户id相关的博客部分,统一路径:/:id/

这样每个用户都可以拥有自己的博客页面,具体代码如下:

具体的ajax接口代码大家可以看server文件夹下的index.js文件。

3. pop/toast组件

3.1 pop/toast组件配置参数说明

  • pop: 弹窗的显示与否, 根据content参数,有内容则为true

  • css: 自定义弹窗的class, 默认为空

  • showClose: 为false则不显示关闭按钮, 默认显示

  • closeFn: 弹窗点击关闭按钮之后的回调

  • title: 弹窗的标题,默认’温馨提示’, 如果不想显示title, 直接传空

  • content(required): 弹窗的内容,支持传html

  • btn1: ‘按钮1文案|按钮1样式class’, 格式化后为btn1Text和btn1Css

  • cb1: 按钮1点击之后的回调,如果cb1没有明确返回true,则默认按钮点击后关闭弹窗

  • btn2: ‘按钮2文案|按钮2样式class’, 格式化后为btn2Text和btn2Css

  • cb2: 按钮2点击之后的回调,如果cb2没有明确返回true,则默认按钮点击后关闭弹窗。按钮参数不传,文案默认’我知道了’,点击关闭弹窗

  • init: 弹窗建立后的初始化函数,可以用来处理复杂交互(注意弹窗一定要是从pop为false变成true才会执行)

  • destroyを参照してください。

    🎜🎜2. Backstage 🎜🎜 は、すべてのリクエストを 3 つのタイプに分類します。 🎜
      🎜🎜ajax 非同期リクエスト、統合パス: /web/🎜🎜🎜🎜ブログのホームページ、ログイン、登録などのパブリック ページ パーツ、統合パス: / 🎜🎜🎜🎜ブログユーザーIDに関連するブログパーツ、統一パス: /:id/🎜🎜
    🎜このようにして、各ユーザーは自分の自分のブログ ページの具体的なコードは次のとおりです。 🎜🎜 特定の Ajax インターフェイス コードについては、サーバー フォルダーにあるindex.js ファイルを参照してください。 🎜🎜
    🎜3. ポップ/トースト コンポーネント🎜
      🎜🎜pop: ポップアップ ウィンドウが表示されるかどうかは、content パラメーターに従って、コンテンツがあれば true になります🎜 🎜🎜🎜css code>: ポップアップ ウィンドウ クラスをカスタマイズします。デフォルトは空です🎜🎜🎜🎜<code>showClose: false の場合、閉じるボタンは表示されません。デフォルトが表示されます🎜🎜🎜🎜closeFn: ウィンドウが閉じるボタンをクリックした後のポップアップ コールバック🎜🎜🎜🎜title: ポップアップのタイトルウィンドウ、デフォルトは「ウォームリマインダー」です。タイトルを表示したくない場合は、空にしてください🎜🎜🎜🎜content(必須): ポップアップウィンドウのコンテンツはサポートされていますHTML を渡します🎜🎜🎜🎜btn1: 'ボタン 1 のコピー|ボタン 1 スタイル クラス'、btn1Text および btn1Css にフォーマットされます🎜🎜🎜🎜cb1: ボタン 1 がクリックされた後のコールバックcb1 が明示的に true を返さない場合、ボタンをクリックした後、デフォルトでポップアップ ウィンドウが閉じます🎜🎜🎜🎜btn2: 'Button 2 copy Button 2 style class'、btn2Text にフォーマットされます。 btn2Css🎜🎜🎜🎜cb2: ボタン 2 がクリックされた後のコールバック cb2 が明示的に true を返さない場合、デフォルトではボタンをクリックした後にポップアップ ウィンドウが閉じます。ボタンのパラメーターは渡されず、コピー テキストはデフォルトで「理解しました」になります。 クリックしてポップアップ ウィンドウを閉じます🎜🎜🎜🎜init: ポップアップ ウィンドウの作成後の初期化関数。 、複雑なインタラクションを処理するために使用できます (ポップアップ ウィンドウは、pop が false から true に変化した場合にのみ実行されることに注意してください)🎜🎜🎜🎜destroy:ポップアップウィンドウが消えます🎜
  • wapGoDialog: モバイル端末でポップアップ ウィンドウを使用するかどうか、デフォルトは false、トーストを使用しますwapGoDialog: 在移动端时,要不要走弹窗,默认false,走toast

3.2 pop/toast组件代码

3.3 pop/toast组件参数格式化代码

为了使用方便,我们在使用的时候进行了简写。为了让组件能识别,需要在vuex的action里对传入的参数格式化。

为了让移动端兼容pop弹窗组件,我们采用mediaQuery对移动端样式进行了更改。增加参数wapGoDialog

3.3 ポップ/トースト コンポーネント パラメータのフォーマット コード

便宜上使用する場合は省略して使用します。コンポーネントを認識するには、受信パラメータを vuex アクションでフォーマットする必要があります。

モバイル端末をポップアップウィンドウコンポーネントに対応させるために、mediaQueryを使用してモバイル端末のスタイルを変更します。パラメータ wapGoDialog を追加して、モバイル端末を使用しているときにポップアップ ウィンドウを使用するかどうかを指定します。デフォルトは false で、トーストを使用します。このようにして、1 セットのコードで PC と WAP に互換性を持たせることができます。

追記ここでは主にバックエンドとデータベースを分析しますが、比較的簡単なソースコードを確認できます。つまり、これはバックエンドとデータベースから始まるフロントエンドの良い例です。機能が豊富でvue.jsを学ぶことができます。

関連する推奨事項:

最も完全な PHP オープンソース コンテンツ管理システム CMS

20 の PHP CMS オープン ソース コンテンツ管理システム
🎜🎜🎜laravel フレームワーク コンテンツ管理システムに基づく🎜🎜🎜

以上がブログコンテンツ管理システムの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Win11での管理者権限の取得について詳しく解説 Win11での管理者権限の取得について詳しく解説 Mar 08, 2024 pm 03:06 PM

Windows オペレーティング システムは世界で最も人気のあるオペレーティング システムの 1 つであり、その新バージョン Win11 が大きな注目を集めています。 Win11 システムでは、管理者権限の取得は重要な操作であり、管理者権限を取得すると、ユーザーはシステム上でより多くの操作や設定を実行できるようになります。この記事では、Win11システムで管理者権限を取得する方法と、権限を効果的に管理する方法を詳しく紹介します。 Win11 システムでは、管理者権限はローカル管理者とドメイン管理者の 2 種類に分かれています。ローカル管理者はローカル コンピュータに対する完全な管理権限を持っています

Microsoft Edge ブラウザーを 360 ナビゲーションで開くように変更する方法 - 360 ナビゲーションで開くように変更する方法 Microsoft Edge ブラウザーを 360 ナビゲーションで開くように変更する方法 - 360 ナビゲーションで開くように変更する方法 Mar 04, 2024 pm 01:50 PM

Microsoft Edge ブラウザーを開くページを 360 ナビゲーションに変更するにはどうすればよいですか? それは実際には非常に簡単なので、ここで Microsoft Edge ブラウザーを開くページを 360 ナビゲーションに変更する方法を共有します。見てください。皆さんのお役に立てれば幸いです。 Microsoft Edgeブラウザを開きます。以下のようなページが表示されます。右上隅にある三点アイコンをクリックします。 「設定」をクリックします。設定ページの左欄にある「起動時」をクリックします。右の列の図に示されている 3 つの点をクリックし ([新しいタブを開く] をクリックしないでください)、[編集] をクリックして URL を「0」(またはその他の意味のない数字) に変更します。次に、「保存」をクリックします。次に「」を選択します。

Oracle SQLの除算演算の詳細説明 Oracle SQLの除算演算の詳細説明 Mar 10, 2024 am 09:51 AM

OracleSQL の除算演算の詳細な説明 OracleSQL では、除算演算は一般的かつ重要な数学演算であり、2 つの数値を除算した結果を計算するために使用されます。除算はデータベース問合せでよく使用されるため、OracleSQL での除算演算とその使用法を理解することは、データベース開発者にとって重要なスキルの 1 つです。この記事では、OracleSQL の除算演算に関する関連知識を詳細に説明し、読者の参考となる具体的なコード例を示します。 1. OracleSQL での除算演算

中国語でCheat Engineを設定するにはどうすればよいですか? Cheat Engine設定中国式方法 中国語でCheat Engineを設定するにはどうすればよいですか? Cheat Engine設定中国式方法 Mar 13, 2024 pm 04:49 PM

CheatEngine は、ゲームのメモリを編集および変更できるゲーム エディタです。しかし、デフォルトの言語は中国語以外なので、多くの友人にとって不便です。今回はCheatEngineで中国語を設定する方法を編集者が詳しく紹介しますので、お役に立てれば幸いです。設定方法 1: 1. ダブルクリックしてソフトウェアを開き、左上隅の「編集」をクリックします。 2. 次に、下のオプションリストで「設定」をクリックします。 3. 開いたウィンドウインターフェイスで、左側の列の「言語」をクリックします

PHPモジュロ演算子の役割と使い方を詳しく解説 PHPモジュロ演算子の役割と使い方を詳しく解説 Mar 19, 2024 pm 04:33 PM

PHP のモジュロ演算子 (%) は、2 つの数値を除算した余りを取得するために使用されます。この記事では、モジュロ演算子の役割と使用法について詳しく説明し、読者の理解を深めるために具体的なコード例を示します。 1. モジュロ演算子の役割 数学では、整数を別の整数で割ると、商と余りが得られます。たとえば、10 を 3 で割ると、商は 3 になり、余りは 1 になります。モジュロ演算子は、この剰余を取得するために使用されます。 2. モジュロ演算子の使用法 PHP では、% 記号を使用してモジュロを表します。

Linuxシステムコールsystem()関数の詳細説明 Linuxシステムコールsystem()関数の詳細説明 Feb 22, 2024 pm 08:21 PM

Linux システム コール system() 関数の詳細説明 システム コールは、Linux オペレーティング システムの非常に重要な部分であり、システム カーネルと対話する方法を提供します。その中でも、system()関数はよく使われるシステムコール関数の一つです。この記事では、system() 関数の使用法を詳しく紹介し、対応するコード例を示します。システム コールの基本概念 システム コールは、ユーザー プログラムがオペレーティング システム カーネルと対話する方法です。ユーザープログラムはシステムコール関数を呼び出してオペレーティングシステムを要求します。

Linuxのcurlコマンドの詳しい説明 Linuxのcurlコマンドの詳しい説明 Feb 21, 2024 pm 10:33 PM

Linuxのcurlコマンドの詳細な説明 要約:curlは、サーバーとのデータ通信に使用される強力なコマンドラインツールです。この記事では、curl コマンドの基本的な使用法を紹介し、読者がコマンドをよりよく理解して適用できるように実際のコード例を示します。 1.カールとは何ですか? curl は、さまざまなネットワーク要求を送受信するために使用されるコマンド ライン ツールです。 HTTP、FTP、TELNETなどの複数のプロトコルをサポートし、ファイルアップロード、ファイルダウンロード、データ送信、プロキシなどの豊富な機能を提供します。

Promise.resolve() について詳しく見る Promise.resolve() について詳しく見る Feb 18, 2024 pm 07:13 PM

Promise.resolve() の詳細な説明には、特定のコード例が必要です。Promise は、非同期操作を処理するための JavaScript のメカニズムです。実際の開発では、順番に実行する必要があるいくつかの非同期タスクを処理する必要があることがよくあり、満たされた Promise オブジェクトを返すために Promise.resolve() メソッドが使用されます。 Promise.resolve() は Promise クラスの静的メソッドであり、

See all articles