Yilong WeChat アプレット フレームワーク コンポーネントのサンプル コード
私はオンライン旅行業界に所属しているため、OTA の業界動向についてより懸念しています。少し前に eLong の WeChat ミニ プログラムを調査および体験しましたが、いくつかの欠陥はありますが、ミニ プログラムの アーキテクチャ コンポーネントはまだ残っています。とても良かったので、今日は eLong WeChat ミニ プログラムフレームワークのコンポーネントを簡単に見てみましょう。
まず、Yilong WeChat アプレットのフレームワーク コンポーネントを次の 4 つの部分に分割して分析します。
1. 部分的なコンポーネント
3. 統合されたコンポーネント
4. ネットワーク リクエストの動的効果を見てみましょう。 3 つの写真 写真:
一般に、その
ディレクトリ構造
は次のとおりです: [AppleScript] プレーン テキスト ビューのコピー コード
├── README.MD ├── app.js ├── app.json ├── app.wxss ├── components ├── image ├── pages ├── service └── utils ├── api.js ├── cookie.js ├── data-center.js ├── overwrite.js ├── page-events.js ├── path.js ├── promise.js └── service.js
- フレームワークは、すべての WeChat ネイティブ API をラップします。簡単な制御と拡張機能。
- [AppleScript] プレーンテキストビュー コードをコピー
//index.js var api = require("./utils/api.js")(); api.login({ success: function(res) { console.log(res); } });
[AppleScript] プレーンテキストビュー コードをコピー
//index.js var api = require("./utils/api.js")(); api.login({ success: function(res) { console.log(res); } });
- バックエンド
- インターフェース
の場合、フレームワークはサービス層の入力管理を提供し、インターフェースは Promise を返します。オブジェクト。
[AppleScript] プレーンテキストでコピーコードを表示
//demo.js var Service = require("../utils/service.js"); module.exports = { GetTime: Service({ url: 'https://xxx.xxx.xxx/api/getserverdate/', params: [], //参数列表 method: 'GET', noLoading: true, mockData: function() { //模拟数据 return new Date(); }, dataTransform: function(data) { //适配处理 return data; } }) };
[AppleScript] プレーンテキストでコピーコードを表示
//index.js var service = require('service/demo'); //框架约定,所有的后端接口,要注册到对应的service文件中 var serverDate = service.GetTime( /*service可配置参数列表,这里传入相对应的参数*/ ).then(function(date) { that.setData({ serverDate: date }); });
- アプレットは、既存のバックグラウンドとの互換性を維持したい場合は、Cookie メカニズムをサポートしていません。 Cookie 処理の終了 (変更なし)、フレームワークによってシミュレートされた Cookie メカニズムを使用できます。
- [AppleScript] プレーンテキストビュー コードをコピー
//index.js var COOKIE = require('./cookie.js'); var expire = new Date().getTime() + res.expire * 1000; COOKIE.set(key, value, expire);
[AppleScript] プレーンテキストビュー コードをコピー
//service.js //... headers["Cookie"] = Cookie.getAll(); //用户cookie将随http请求发送至服务器 //...
- Page()
- Function
はページの登録に使用されます。ページの初期データを指定するオブジェクトパラメータ、ライフサイクル関数、イベント処理関数などを受け取ります。フレームワークは、拡張機能を便利に使用できるようにページを書き換えています。オリジナルのみ ビジネスコードをラッパーでラップするだけです。
[AppleScript] コピー コードをプレーン テキストで表示
//微信小程序原生页面注册形式 Page({ data: {}, onLoad: function() {} }); //框架重写注册形式 var dirname = 'pages/index', overwrite = require('../../utils/overwrite.js'); (function(require, Page) { //重写require、Page Page({ data: {}, onLoad: function() {} }); })(overwrite.require(require, dirname), overwrite.Page);
- グローバルデータ監視、フレームワークはグローバル イベント リスニング メカニズムをサポートしています
- [AppleScript] コピー コードをプレーン テキストで表示
//index.js var dirname = 'pages/index', overwrite = require('../../utils/overwrite.js'); (function(require, Page) { //获取应用实例 var app = getApp(); var service = require('service/demo'); Page({ data: { indate: '', indateText: '' }, onLoad: function() { this.listenerGlobalData('indate', function(indate) { this.data.indate = indate this.data.indateText = new Date(indate).format('MM-dd') }.bind(this)); } }) })(overwrite.require(require, dirname), overwrite.Page);
- イベント メカニズム、ジャンプページ間でデータを渡すことができます。フレームワークはページ間のデータ転送をサポートし、ジャンプ インターフェイスによって返されるイベント オブジェクトを通じてカスタム イベントを監視することもできます。
- [AppleScript] プレーンテキストビューのコピーコード
//index页面 var event = api.Navigate.go({ url: '../list/index', params: { name: 'billy' } }); event.on("listok", function(params) { console.log(params); });
[AppleScript] プレーンテキストビューのコピーコード
//http页面 Page({ onLoad: function(data) { if (data.name === 'billy') { this.fireEvent("listok", 'hello ' + data.name); } } });
コンポーネントの使い方
- 組み込みコンポーネント
- フレームワーク書き換えページ
、構築済み-in 一部の一般的に使用されるコンポーネント (alert、picker、setLoading など) は、ネイティブの wx.showModal と wx.showToast をそれぞれカプセル化します。カプセル化により、呼び出しパラメーターが構造化され、ビジネスでの使用に便利になります。使用時にページ構造を導入するだけで、直接呼び出すことができます。最初にピッカーをページのプレゼンテーション層構造に導入する必要があり、構成項目は構成要件に従って提供されます。 [AppleScript] プレーンテキストビューのコピーコード
//setLoading this.setLoading(true);//ture/false //picker 引入表现层结构 <!--index.wxml--> <view class="container"> <view class="userinfo"> <text class="userinfo-nickname">{{current}}</text> </view> <include src="../../components/base.wxml" /> </view> //picker 使用 overwrite.picker({ content: "选择排序", init: this.data.sortIndex, data: this.data.sortList, bindtap: function(id, index) { if (that.data.sort != id) { that.setData({ sortIndex: index, current: this.data.sortList[index].text }); } }, bindcancel: function() { console.log('cancel') } }); //alert overwrite.alert({ content: '弹框对话框,参数配置详见文档说明', cancelText: '取消', bindconfirm: function() { console.log('确定'); }, bindcancel: function() { console.log('取消'); } });
- 独立したページコンポーネント
- 独立したページコンポーネントは、実際には完全なページユニット(js、wxml、wxssで構成される)であり、使用するのは非常に簡単です。関連する js メソッドを導入すると、open コンポーネントを呼び出すだけです (データ交換処理のためにコールバックを渡すことができます)。 --実装原理は、コンポーネントによって提供される js メソッドが新しいページ (api.Navigate.go) を開き、登録されたイベントを通じて対話することです
Data[AppleScript] Plain text view copy code
//index.js var dirname = 'pages/externalComponent', overwrite = require('../../utils/overwrite.js'); require('../../utils/dateFormat.js'); (function(require, Page) { //获取应用实例 var app = getApp(); var CalendarPlugin = require('components/calendar/index'); Page({ data: { date: { indate: new Date().format('yyyy-MM-dd'), outdate: new Date(+new Date + 3600000 * 24).format('yyyy-MM-dd') } }, openCalendar: function() { var that = this; CalendarPlugin({ begin: that.data.date.indate, end: that.data.date.outdate }, function(res) { that.data.date.indate = res.start.format('yyyy-MM-dd'); that.data.date.outdate = res.end.format('yyyy-MM-dd'); that.setData({ date: that.data.date }) }) }, onLoad: function(data) { } }) })(overwrite.require(require, dirname), overwrite.Page);
- ページレベルのコンポーネント
框架重写Page构造器,支持构建页面时配置一个或多个页面级组件,所谓页面级组件就是该组件的注册形式和页面一致(支持data数据,onLoad、onReady、onShow生命周期事件,fireEvent、showLoading等页面级方法),其实现原理是将组件的所有成员方法和成员属性和依附页面进行合并,并解决了重名冲突,使用者不用关系处理细节,只管像注册一个页面一样注册组件。--需要注意的是页面级别组件不可再次使用Page构造方法。
1、引入组件表现层结构
[AppleScript] 纯文本查看 复制代码
<!--index.wxml--> <view class="container"> <view class="userinfo"> <!--当前页面数据--> </view> <!--引入组件页面结构--> <include src="../../components/base.wxml" /> </view>
2、引入组件样式表
[AppleScript] 纯文本查看 复制代码
/**引入组件样式表**/ @import "filter/index.wxss"; page { background: #f4f4f4; }
3、注册页面时注入组件
[AppleScript] 纯文本查看 复制代码
/** * 集成组件dome */ var dirname = 'pages/internalComponent', overwrite = require('../../utils/overwrite.js'); (function(require, Page) { /*引入组件js*/ var filter = require('./filter/index'); Page({ /** * 默认数据 * @type {Object} */ data: {...}, onLoad: function(options) {}, }, [{//注入组件 component: filter, instanceName: 'typeFilter', props: { style: { top: '44px' } }, events: { onChange: 'filterChangedCallBack', onOpen: 'filterOpenedCallBack', onClose: 'filterClosedCallBack' } }, { component: filter, instanceName: 'categoryFilter', props: { style: { top: '44px' } }, events: { onChange: 'filterChangedCallBack', onOpen: 'filterOpenedCallBack', onClose: 'filterClosedCallBack' } }]) })(overwrite.require(require, dirname), overwrite.Page)页面级组件由*.js、*.wxml、*.wxss组成,分别由注册页面引入,其中js部分不可再次使用Page构造 [AppleScript] 纯文本查看 复制代码 ├── index.js ├── index.wxml └── index.wxss[AppleScript] 纯文本查看 复制代码 //页面级组件js声明 /** * 筛选器 */ var dirname = 'pages/internalComponent/filter', api = require('../../../utils/api.js')(dirname) var bgAnimation = api.createAnimation({ duration: 200 }), contentAnimation = api.createAnimation({ duration: 200 }); module.exports = { data: { items: [], selectedId: '', bgAnimation: {}, contentAnimation: {}, isOpen: false }, /** * 监听组件加载 * @param {Object} props */ onLoad: function(props) { this.setData({ style: props.style }) }, /** * 初始化 * @param {Array} items * @param {String | Number} selectedIndex */ init: function(items, selectedIndex) {}, /** * 选中 * @param {Object} e */ select: function(e) { } }
以上がYilong WeChat アプレット フレームワーク コンポーネントのサンプル コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









Xianyu の公式 WeChat ミニ プログラムが静かに開始されました。ミニ プログラムでは、プライベート メッセージを投稿して購入者/販売者とコミュニケーションしたり、個人情報や注文を表示したり、商品を検索したりすることができます。プログラム、見てみましょう。 Xianyu WeChat アプレットの名前は何ですか? 回答: Xianyu、アイドル取引、中古品販売、評価、リサイクル。 1. ミニ プログラムでは、アイドル メッセージの投稿、プライベート メッセージを介した購入者/販売者とのコミュニケーション、個人情報と注文の表示、指定された商品の検索などができます。 2. ミニ プログラム ページには、ホームページ、近くに、アイドル投稿、メッセージ投稿、私の投稿 5つの機能; 3. 使用したい場合は、購入する前に WeChat 支払いを有効にする必要があります。

WeChat アプレットが画像アップロード機能を実装 モバイル インターネットの発展に伴い、WeChat アプレットは人々の生活に欠かせないものになりました。 WeChat ミニ プログラムは、豊富なアプリケーション シナリオを提供するだけでなく、画像アップロード機能などの開発者定義の機能もサポートします。この記事では、WeChat アプレットに画像アップロード機能を実装する方法と具体的なコード例を紹介します。 1. 準備作業 コードを書き始める前に、WeChat 開発者ツールをダウンロードしてインストールし、WeChat 開発者として登録する必要があります。同時に、WeChat についても理解する必要があります。

WeChat ミニ プログラムでドロップダウン メニュー効果を実装するには、特定のコード サンプルが必要です。モバイル インターネットの普及に伴い、WeChat ミニ プログラムはインターネット開発の重要な部分となり、ますます多くの人が注目し始めています。 WeChat ミニ プログラムを使用します。 WeChat ミニ プログラムの開発は、従来の APP 開発よりも簡単かつ迅速ですが、特定の開発スキルを習得する必要もあります。 WeChat ミニ プログラムの開発では、ドロップダウン メニューが一般的な UI コンポーネントであり、より良いユーザー エクスペリエンスを実現します。この記事では、WeChat アプレットにドロップダウン メニュー効果を実装し、実用的な機能を提供する方法を詳しく紹介します。

WeChat ミニ プログラムでの画像フィルター効果の実装 ソーシャル メディア アプリケーションの人気に伴い、人々は写真にフィルター効果を適用して、写真の芸術的効果や魅力を高めることがますます好まれています。画像フィルター効果は WeChat ミニ プログラムにも実装でき、より興味深く創造的な写真編集機能をユーザーに提供します。この記事では、WeChat ミニ プログラムに画像フィルター効果を実装する方法を紹介し、具体的なコード例を示します。まず、WeChat アプレットのキャンバス コンポーネントを使用して画像を読み込み、編集する必要があります。 Canvasコンポーネントはページ上で使用できます

WeChat アプレットを使用してカルーセル スイッチング効果を実現する WeChat アプレットは、シンプルで効率的な開発と使用特性を備えた軽量のアプリケーションです。 WeChat ミニ プログラムでは、カルーセル スイッチング効果を実現することが一般的な要件です。この記事では、WeChat アプレットを使用してカルーセル切り替え効果を実現する方法と、具体的なコード例を紹介します。まず、カルーセル コンポーネントを WeChat アプレットのページ ファイルに追加します。たとえば、<swiper> タグを使用すると、カルーセルの切り替え効果を実現できます。このコンポーネントでは、 b を渡すことができます。

WeChat ミニ プログラムで画像回転効果を実装するには、特定のコード サンプルが必要です。WeChat ミニ プログラムは、ユーザーに豊富な機能と優れたユーザー エクスペリエンスを提供する軽量のアプリケーションです。ミニ プログラムでは、開発者はさまざまなコンポーネントと API を使用して、さまざまな効果を実現できます。その中で、画像回転効果は、ミニプログラムに興味と視覚効果を加えることができる一般的なアニメーション効果です。 WeChat ミニ プログラムで画像の回転効果を実現するには、ミニ プログラムが提供するアニメーション API を使用する必要があります。以下は、その方法を示す具体的なコード例です。

Xianyu の公式 WeChat ミニ プログラムが静かに開始され、アイドルアイテムを簡単に公開および交換できる便利なプラットフォームをユーザーに提供します。ミニ プログラムでは、プライベート メッセージを介して購入者または販売者とコミュニケーションしたり、個人情報や注文を表示したり、欲しい商品を検索したりできます。では、WeChat ミニ プログラムでは Xianyu とはいったい何と呼ばれているのでしょうか? このチュートリアル ガイドで詳しくご紹介しますので、知りたいユーザーは、この記事に従って読み続けてください。 Xianyu WeChat アプレットの名前は何ですか? 回答: Xianyu、アイドル取引、中古品販売、評価、リサイクル。 1. ミニ プログラムでは、アイドル メッセージの投稿、プライベート メッセージを介した購入者/販売者とのコミュニケーション、個人情報と注文の表示、指定された商品の検索などができます。 2. ミニ プログラム ページには、ホームページ、近くに、アイドル投稿、メッセージ投稿、マイ投稿の5つの機能、3.

WeChat ミニ プログラムにスライディング削除機能を実装するには、特定のコード サンプルが必要です。WeChat ミニ プログラムの人気に伴い、開発者は開発プロセス中にいくつかの一般的な機能を実装する際に問題に遭遇することがよくあります。中でも、スライド削除機能は、よく使われる一般的な機能要件です。この記事では、WeChat アプレットにスライディング削除機能を実装する方法と具体的なコード例を詳しく紹介します。 1. 要件分析 WeChat ミニ プログラムでは、スライド削除機能の実装には次の点が含まれます。 リスト表示: スライドして削除できるリストを表示するには、各リスト項目に次の要素が含まれている必要があります。
