艺龙微信小程序框架组件实例代码
由于身处于在线旅游行业,对OTA的行业动态都比较关心一些,前阵子研究体验了一下艺龙的微信小程序,虽然有些美中不足,但是小程序的架构组件还是非常好的,所以今天我们就来简单看看艺龙微信小程序框架组件。
首先,我们将艺龙微信小程序的框架组件分为以下四个部分来分析:
1.局部组件
2.独立组件
3.集成组件
4.网络请求
先看三张的动态效果图:
总体而言,其目录结构如下:
[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
框架使用说明
框架对所有微信原生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); } });
[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() 函数用来注册一个页面。接受一个object参数,其指定页面的初始数据、生命周期函数、事件处理函数等,框架对Page做了重写,这样可以方便的使用扩展能力,使用时仅需将原来的业务代码用包装器包装一下即可。
[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);
globalData监听,框架支持全局事件监听机制
[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); } } });
组件使用说明
内置组件
框架重写Page构造方法,内置了一些常用的组件,例如 alert、picker、setLoading,其中 alert 和 setLoading 内部分别封装了原生的 wx.showModal 、wx.showToast,封装使得调用参数结构化,方便业务使用,使用时不用引入页面结构,直接调用即可;picker则需要首先引入到页面中表现层结构,按照配置要求传递配置项。
[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方法,调用打开组件即可(可传递callback用于数据交换处理)。--其实现原理是组件提供的js方法将会打开一个新页面(api.Navigate.go),并通过注册事件的形式交互行为数据
[AppleScript] 纯文本查看 复制代码
//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) { } }
Atas ialah kandungan terperinci 艺龙微信小程序框架组件实例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Program mini WeChat rasmi Xianyu telah dilancarkan secara senyap-senyap Dalam program mini, anda boleh menghantar mesej peribadi untuk berkomunikasi dengan pembeli/penjual, melihat maklumat dan pesanan peribadi, mencari item, dsb. Jika anda ingin tahu apakah program mini Xianyu WeChat. dipanggil, lihat sekarang. Apakah nama applet Xianyu WeChat Jawapan: Xianyu, transaksi terbiar, jualan terpakai, penilaian dan kitar semula. 1. Dalam program mini, anda boleh menghantar mesej terbiar, berkomunikasi dengan pembeli/penjual melalui mesej peribadi, melihat maklumat dan pesanan peribadi, mencari item yang ditentukan, dsb. 2. Pada halaman program mini, terdapat halaman utama, berdekatan, post idle, messages, and mine 5 functions; 3. Jika anda ingin menggunakannya, anda mesti mengaktifkan pembayaran WeChat sebelum anda boleh membelinya;

Applet WeChat melaksanakan fungsi muat naik gambar Dengan perkembangan Internet mudah alih, applet WeChat telah menjadi bahagian yang amat diperlukan dalam kehidupan orang ramai. Program mini WeChat bukan sahaja menyediakan pelbagai senario aplikasi, tetapi juga menyokong fungsi yang ditentukan oleh pembangun, termasuk fungsi muat naik imej. Artikel ini akan memperkenalkan cara untuk melaksanakan fungsi muat naik imej dalam applet WeChat dan memberikan contoh kod khusus. 1. Kerja persediaan Sebelum mula menulis kod, kita perlu memuat turun dan memasang alat pembangun WeChat dan mendaftar sebagai pembangun WeChat. Pada masa yang sama, anda juga perlu memahami WeChat

Untuk melaksanakan kesan menu lungsur dalam Program Mini WeChat, contoh kod khusus diperlukan Dengan populariti Internet mudah alih, Program Mini WeChat telah menjadi bahagian penting dalam pembangunan Internet, dan semakin ramai orang telah mula memberi perhatian kepada dan. gunakan Program Mini WeChat. Pembangunan program mini WeChat adalah lebih mudah dan pantas daripada pembangunan APP tradisional, tetapi ia juga memerlukan penguasaan kemahiran pembangunan tertentu. Dalam pembangunan program mini WeChat, menu lungsur ialah komponen UI biasa, yang mencapai pengalaman pengguna yang lebih baik. Artikel ini akan memperkenalkan secara terperinci cara melaksanakan kesan menu lungsur dalam applet WeChat dan menyediakan praktikal

Melaksanakan kesan penapis gambar dalam program mini WeChat Dengan populariti aplikasi media sosial, orang ramai semakin gemar menggunakan kesan penapis pada foto untuk meningkatkan kesan artistik dan daya tarikan foto. Kesan penapis gambar juga boleh dicapai dalam program mini WeChat, menyediakan pengguna dengan fungsi penyuntingan foto yang lebih menarik dan kreatif. Artikel ini akan memperkenalkan cara melaksanakan kesan penapis imej dalam program mini WeChat dan memberikan contoh kod khusus. Pertama, kita perlu menggunakan komponen kanvas dalam applet WeChat untuk memuatkan dan mengedit imej. Komponen kanvas boleh digunakan pada halaman

Gunakan applet WeChat untuk mencapai kesan penukaran karusel WeChat applet ialah aplikasi ringan dengan ciri pembangunan dan penggunaan yang mudah dan cekap. Dalam program mini WeChat, adalah keperluan biasa untuk mencapai kesan penukaran karusel. Artikel ini akan memperkenalkan cara menggunakan applet WeChat untuk mencapai kesan penukaran karusel dan memberikan contoh kod khusus. Mula-mula, tambahkan komponen karusel pada fail halaman applet WeChat. Contohnya, anda boleh menggunakan teg <swiper> untuk mencapai kesan penukaran karusel. Dalam komponen ini, anda boleh lulus b

Program mini WeChat rasmi Xianyu telah dilancarkan secara senyap-senyap Ia menyediakan pengguna dengan platform yang mudah yang membolehkan anda menerbitkan dan berdagang item terbiar dengan mudah. Dalam program mini, anda boleh berkomunikasi dengan pembeli atau penjual melalui mesej peribadi, melihat maklumat peribadi dan pesanan, dan mencari item yang anda inginkan. Jadi apa sebenarnya yang dipanggil Xianyu dalam program mini WeChat ini akan memperkenalkannya kepada anda secara terperinci Pengguna yang ingin tahu, sila ikuti artikel ini dan teruskan membaca! Apakah nama applet Xianyu WeChat Jawapan: Xianyu, transaksi terbiar, jualan terpakai, penilaian dan kitar semula. 1. Dalam program mini, anda boleh menghantar mesej terbiar, berkomunikasi dengan pembeli/penjual melalui mesej peribadi, melihat maklumat dan pesanan peribadi, mencari item yang ditentukan, dsb. 2. Pada halaman program mini, terdapat halaman utama, berdekatan, post melahu, mesej, dan 5 fungsi;

Bagaimana untuk menggunakan PHP untuk membangunkan fungsi transaksi terpakai applet WeChat? Sebagai platform pembangunan aplikasi mudah alih yang popular, applet WeChat digunakan oleh semakin ramai pembangun. Dalam program mini WeChat, urus niaga terpakai adalah keperluan fungsian biasa. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan fungsi transaksi terpakai applet WeChat dan memberikan contoh kod khusus. 1. Kerja penyediaan Sebelum memulakan pembangunan, anda perlu memastikan bahawa syarat berikut dipenuhi: persekitaran pembangunan applet WeChat telah disediakan, termasuk mendaftarkan AppID applet dan menetapkannya di latar belakang applet.

Untuk melaksanakan kesan putaran imej dalam Program Mini WeChat, contoh kod khusus diperlukan Program Mini WeChat ialah aplikasi ringan yang menyediakan pengguna dengan fungsi yang kaya dan pengalaman pengguna yang baik. Dalam program mini, pembangun boleh menggunakan pelbagai komponen dan API untuk mencapai pelbagai kesan. Antaranya, kesan putaran gambar merupakan kesan animasi biasa yang boleh menambah minat dan kesan visual pada program mini. Untuk mencapai kesan putaran imej dalam program mini WeChat, anda perlu menggunakan API animasi yang disediakan oleh program mini. Berikut ialah contoh kod khusus yang menunjukkan cara untuk
