如何通过组件方式注册表达式编辑器中函数?


目的:

用户可以注册app制作中的表达式编辑器的函数

方案:

通过组件引入的方式描述需要注册的静态函数(这里讨论的是前端表达式编辑器的注册方式,gox5的表达式编辑器统一走xdoc的描述就可以)

描述规范:

1.组件前端部分的组件目录下 创建fn目录

2.在fn目录创建和组件同名的函数描述问题(注意命名归法和目录规范)

  • 例如geoPositionInfo组件的ui2函数描述文件 应该为geoPositionInfo\UI2\geoPositionInfo\fn\geoPositionInfo.fn.xml
  • 同理 函数的实现文件应该为 geoPositionInfo\UI2\geoPositionInfo\fn\geoPositionInfo.fn.js
  • 例如geoPositionInfo组件的uix函数描述文件 应该为geoPositionInfo\UI2\geoPositionInfo\fn\geoPositionInfo.fn.wx.xml
  • 同理 函数的实现文件应该为 geoPositionInfo\UI2\geoPositionInfo\fn\geoPositionInfo.fn.wx.js

  1. 组件函数注册规范 统一注册在全局变量下,注册格式如下

  2. UIX wx.fns.GeoPositionInfo.api (wx.fns为规定命名空间 GeoPositionInfo为组件命名的大驼峰)

  3. UI2 justep.fns.GeoPositionInfo.api

描述文件示例内容(UIX):

<config>
    <funcs>
        <item nodeType="category" name="" text="地理位置函数" asPath="false">
            <item nodeType="function" name="wx.fns.GeoPositionInfo.test" text="测试函数"
                label="测试函数" resultType="String">
                <item nodeType="param" name="str" label="字符串" text="" dataType="String" />
            </item>
        </item>
    </funcs>
</config>

对应的函数文件示例代码(UIX)

wx.fns = wx.fns || {};
export default wx.fns.GeoPositionInfo = {
    test:function(param){
        return param;
    }
};

描述文件示例内容(UI2)

<config>
    <funcs>
        <item nodeType="category" name="" text="地理位置函数" asPath="false">
            <item nodeType="function" name="justep.fns.GeoPositionInfo.testa" text="测试api"
                label="测试api" resultType="String">
                <item nodeType="param" name="str" label="字符串" text="" dataType="String" />
            </item>
        </item>
    </funcs>
</config>

对应函数文件示例代码(UI2)

justep.fns = justep.fns || {};
justep.fns.GeoPositionInfo = {
    testa:function(param){
        return param;
    }
};

results matching ""

    No results matching ""

    results matching ""

      No results matching ""