ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

每日优鲜小程序基础组件介绍

2018-09-29 19:31:31  阅读:277  来源: 互联网

标签:


每日优鲜小程序基础组件介绍

1.基础组件介绍

小程序基础组件基于每日优鲜主商城小程序业务实践演变而来。

基础组件的名称为:mini_app_base_module。

基础组件的项目地址为:https://github.com/sahadev/mini_app_base_module。

2.基础组件的结构与作用

我们理想的项目结构应该是这样的:

也就是说,合理的项目结构应该讲究层的概念,各个层之间是绝对分离的。上下层彼此通过开放接口相互通信,杜绝跨层访问。也就是说不应该使业务组件直接访问RuntimeFrameworkApi层,页面不应该直接访问基础组件层等等。而mini_app_base_module正是处于第三级的基础组件层。

mini_app_base_module基础组件提供的功能有:

baseApplication:为整个应用提供了与运行平台隔离的环境,并做了运行时保护机制,为后期接入第三方SDK提供统一入口。目前的功能有:全局变量管理、setData方法执行校验、页面常用的各种状态方法等。

baseMonitorManager:用于为运行时API提供监控。具体实现需要业务组件提供网络访问实现。

baseNetRequestManager:用于发起网络请求。业务组件的埋点、监控、业务网络访问都需要通过它进行访问。

baseStorageManager:用于管理序列化存储功能,并提供了一键清除序列化值的方法。

baseUtils:提供调试模式管理、日志输出、UUID创建、字符串格式化等基础工具。

performanceUtil:性能调试工具,用于方法执行速度的性能调试。

thirdApi:提供除网络访问外的运行时api。

thirdNetApi:用于访问运行时网络api。

3.基础组件的接入方法

基础组件了解了,该怎么接入它呢?

初次引入

在项目中通过命令git submodule add https://github.com/sahadev/mini_app_base_module.git 进行引入。

引入后,将在项目中产生两个文件:

        .gitmodules
        mini_app_base_module

初次引入的开发者需要将这两个文件/文件夹commit并push。

初始化

在完成引入之后,基础组件的代码并没有存在与项目中,还需要进行初始化操作:git submodule update --init --rebase。小程序开发团队的每位开发者都需要执行一次。

更新与维护

进行以上操作之后,项目中会多出一个文件夹mini_app_base_module以及一个文件.gitmodules。当mini_app_base_module有更新或者有更改时,都需要进入mini_app_base_module文件夹中单独进行fetch、rebase操作或commit push操作。

基础组件接入

如果顺利完成了引入,则开始进行接入操作。基础组件功能的使用视业务而定。但接入BaseApplciation是必须要做的。

1.在业务代码中创建好application.js文件,application.js将作为业务组件的全局管理器,需要在application.js添加如下代码:

// Application 全局管理入口
const {
    MFApp, MFPage, getApplication, registObserver
} = require('./mini_app_base_module/baseApplication');
==================
//视业务情况而定的业务代码
=================
module.exports = {
    MFApp, MFPage, getApplication
}

2.在app.js中引入application:

const { MFApp } = require('./application');

//将App方法调用替换为MFApp

App(param) => MFApp(param);

3.在对应的页面中引入application:

// 示例 pages/mainPages/home/home.js

const { getApplication, MFPage } = require('../../../application');

const app = getApplication();

//将Page方法的调用替换为MFPage

Page(param) => MFPage(param)

===============================================================

在完成以上基本接入之后,后续可视情况而定完善基础组件的其它功能。

每日优鲜主商城小程序经过大量的版本迭代之后,已经到了不得不重构的阶段。该基础组件也正是基础主商城小程序重构的设计思路进行实现的。多个新业务小程序项目已经在此基础之上进行了实践,并且已经实现了大量的可共用的组件,但这些组件还需要与业务代码进行拆分,请大家关注后续进展,也希望大家可以一起参与进来完善壮大这个基础组件。

标签:
来源: https://blog.csdn.net/u011064099/article/details/82901845

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有