起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4868|回复: 12

[处理中1] wex5如何封装重构

[复制链接]

2

主题

9

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
发表于 2016-10-13 10:43:21 | 显示全部楼层 |阅读模式
wex5如何像java的重构一样,将写好的方法封装成接口,以方便提供给别人直接调用?

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-10-13 13:40:05 | 显示全部楼层
wex5 是一款前端框架,他提供的都是JS文件,JS文件的话,本身就是可以被被调用的,wex5,吧方法,组件等,都封装成了JS文件,然后使用一个合并文件 come.min.js ,然后页面文件计提调用这个合并文件,你想暴露给别人具体什么功能?
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

2

主题

9

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
 楼主| 发表于 2016-10-13 13:46:38 | 显示全部楼层
闰土 发表于 2016-10-13 13:40
wex5 是一款前端框架,他提供的都是JS文件,JS文件的话,本身就是可以被被调用的,wex5,吧方法,组件等, ...

比如我想写一写蓝牙的功能,如开启蓝牙,扫描附近蓝牙设备,连接,通信等功能,写好之后别人直接就能拿来用很方便,如何做到
回复 支持 反对

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-10-13 14:52:37 | 显示全部楼层
天涯决裂 发表于 2016-10-13 13:46
比如我想写一写蓝牙的功能,如开启蓝牙,扫描附近蓝牙设备,连接,通信等功能,写好之后别人直接就能拿来 ...

这个类似与一个cordova插件,分装好之后暴露一个JS接口让人们调用,就拿平台提供的蓝牙插件举例,

首先手机调用蓝牙的能力,是一个corova插件,该插件的名称为:cordova-plugin-ble-central  位置在 /Native/plugins/cordova-plugin-ble-central
在这个文件中,是有一个接口文件 /Native/plugins/cordova-plugin-ble-central/www/ble.js 他是一个JS文件,

我们在使用,调用这个文件即可,因为在wex5中 使用了 requireJS 模块化JS 所以他的调用方法为:

require("cordova!cordova-plugin-ble-central")

把这个模块引入到我们需要的文件中
使用API window.ble 调用这个功能
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

2

主题

9

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
 楼主| 发表于 2016-10-13 15:14:08 | 显示全部楼层
闰土 发表于 2016-10-13 14:52
这个类似与一个cordova插件,分装好之后暴露一个JS接口让人们调用,就拿平台提供的蓝牙插件举例,

首先手 ...

我现在就用到了该插件的一个判断蓝牙开启状态的方法,window.ble.isEnabled(success,fail),这是一个判断蓝牙是否开启状态的方法,现我的代码如下:
function Test() {
        var result = 0;
        function isEnable() {
                result = 1;
        }
        function notEnable() {
                result = 2;
        }
        window.ble.isEnabled(isEnable, notEnable);
        return result;
}
var test = Test();
alert(test );
为什么执行后最后输出的结果还是0;我已经调用了Test()方法,该方法中如果蓝牙开启就会返回1,未开启则返回2,但现在两者都未执行,result的值还是0,请问问题出在哪里?
回复 支持 反对

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-10-13 15:29:19 | 显示全部楼层
天涯决裂 发表于 2016-10-13 15:14
我现在就用到了该插件的一个判断蓝牙开启状态的方法,window.ble.isEnabled(success,fail),这是一个判断 ...

window.ble.isEnabled(isEnable, notEnable); 这个地方,这么调用可以么? isEnable 这个不是一个方法嘛,还有最好能真机测试一下 ,打个debugger
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-10-13 15:29:20 | 显示全部楼层
天涯决裂 发表于 2016-10-13 15:14
我现在就用到了该插件的一个判断蓝牙开启状态的方法,window.ble.isEnabled(success,fail),这是一个判断 ...

window.ble.isEnabled(isEnable, notEnable); 这个地方,这么调用可以么? isEnable 这个不是一个方法嘛,还有最好能真机测试一下 ,打个debugger
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

2

主题

9

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
 楼主| 发表于 2016-10-13 15:39:48 | 显示全部楼层
闰土 发表于 2016-10-13 15:29
window.ble.isEnabled(isEnable, notEnable); 这个地方,这么调用可以么? isEnable 这个不是一个方法嘛 ...

window.ble.isEnabled(isEnable, notEnable)中isEnable是蓝牙已开启的回调,notEnable是未开启的回调,
现在我写了这样一个方法:
function Test() {
        function isEnable() {
                alert("蓝牙已经开启");
        }
        function notEnable() {
               alert("蓝牙未开启");
        }
        window.ble.isEnabled(isEnable, notEnable);
}
然后我在调用它:
Test();
这里我可以得到"蓝牙已经开启"或"蓝牙未开启"的输出结果,我已经用真机测试了,为什么将alert()改成return就不行了呢,如果不是这样写,那应该怎样写呢?
回复 支持 反对

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-10-13 15:45:52 | 显示全部楼层
天涯决裂 发表于 2016-10-13 15:39
window.ble.isEnabled(isEnable, notEnable)中isEnable是蓝牙已开启的回调,notEnable是未开启的回调,
...

额,刚刚我都没注意,使用return ,当执行到return 就直接退出这个Test()方法了
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

2

主题

9

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
 楼主| 发表于 2016-10-13 15:56:03 | 显示全部楼层
闰土 发表于 2016-10-13 15:45
额,刚刚我都没注意,使用return ,当执行到return 就直接退出这个Test()方法了 ...

如果不能用return,那么问题来了,现在我要打开手机中的蓝牙功能,需要用到window.ble.enable(success,fail)方法,但在打开之前我要先进行判断蓝牙是否已经开启,如果已经开启就不需要再打开了,就需要用到window.ble.isEnabled(success,fail)方法,如果不能用return我如何得到蓝牙是否开启的状态呢,这样我如何判断蓝牙是否开启了呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-6-18 06:04 , Processed in 0.059964 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表