ブログコンテンツ管理システムの詳しい説明
1. コンテンツの更新
データベースが再設計され、ユーザーごとにグループ化された subDocs データベース構造に変更されました
データベースの変更に応じて、すべてのインターフェースが再設計され、インターフェースのスタイルは Get と一致しました。すぐにリッチ
元のゲストモードを削除し、ログイン登録機能を追加し、ポップアップログインをサポートします。
最新の公開記事や登録ユーザーを表示するホームページを追加
パスワード変更、ログアウト、ログアウトなどの機能を追加します。
ポップアップ ウィンドウ コンポーネントを最適化します。これはよりスマートで、より多くの構成項目があり、NetEase $.dialog コンポーネントに似ています。また、一連のコードは CSS を変更するだけで、PC 側のポップアップ ウィンドウと WAP 側のトースト機能を同じインターフェイスで実現します。
モバイル適応を追加
元のコードを最適化し、いくつかのバグを修正します。
さらに更新されたコンテンツについては、プロジェクト 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参数,有内容则为truecss
: 自定义弹窗的class, 默认为空showClose
: 为false则不显示关闭按钮, 默认显示closeFn
: 弹窗点击关闭按钮之后的回调title
: 弹窗的标题,默认’温馨提示’, 如果不想显示title, 直接传空content
(required): 弹窗的内容,支持传htmlbtn1
: ‘按钮1文案|按钮1样式class’, 格式化后为btn1Text和btn1Csscb1
: 按钮1点击之后的回调,如果cb1没有明确返回true,则默认按钮点击后关闭弹窗btn2
: ‘按钮2文案|按钮2样式class’, 格式化后为btn2Text和btn2Csscb2
: 按钮2点击之后的回调,如果cb2没有明确返回true,则默认按钮点击后关闭弹窗。按钮参数不传,文案默认’我知道了’,点击关闭弹窗init
: 弹窗建立后的初始化函数,可以用来处理复杂交互(注意弹窗一定要是从pop为false变成true才会执行)-
🎜🎜2. Backstage 🎜🎜 は、すべてのリクエストを 3 つのタイプに分類します。 🎜destroy
を参照してください。- 🎜🎜ajax 非同期リクエスト、統合パス:
/web/
🎜🎜🎜🎜ブログのホームページ、ログイン、登録などのパブリック ページ パーツ、統合パス:/
🎜🎜🎜🎜ブログユーザーIDに関連するブログパーツ、統一パス:/:id/
🎜🎜🎜3.1 ポップ/トースト コンポーネントの設定パラメータの説明
- 🎜🎜
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.2 ポップ/トースト コンポーネント コード
3.3 ポップ/トースト コンポーネント パラメータのフォーマット コード
便宜上使用する場合は省略して使用します。コンポーネントを認識するには、受信パラメータを vuex アクションでフォーマットする必要があります。モバイル端末をポップアップウィンドウコンポーネントに対応させるために、mediaQueryを使用してモバイル端末のスタイルを変更します。パラメータ wapGoDialog
を追加して、モバイル端末を使用しているときにポップアップ ウィンドウを使用するかどうかを指定します。デフォルトは false で、トーストを使用します。このようにして、1 セットのコードで PC と WAP に互換性を持たせることができます。
追記ここでは主にバックエンドとデータベースを分析しますが、比較的簡単なソースコードを確認できます。つまり、これはバックエンドとデータベースから始まるフロントエンドの良い例です。機能が豊富でvue.jsを学ぶことができます。
最も完全な PHP オープンソース コンテンツ管理システム CMS20 の PHP CMS オープン ソース コンテンツ管理システム以上がブログコンテンツ管理システムの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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

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

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

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

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

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

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