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

QQ登录

只需一步,快速开始

查看: 1843|回复: 2

[分享] 关于NFC的demo,研究了几天,欢迎指正

[复制链接]

18

主题

61

帖子

121

积分

初级会员

Rank: 2

积分
121
QQ
发表于 2017-5-9 08:21:52 | 显示全部楼层 |阅读模式
后台自定义一个action用来进行16进制的转换
@SuppressWarnings("unused")
        public  static JSONObject getCardId(JSONObject params, ActionContext context) throws SQLException, NamingException, java.sql.SQLException, UnsupportedEncodingException  {
                JSONObject ret = new JSONObject();
                String id1 = params.getString("id1");
                String id2 = params.getString("id2");
                String id3 = params.getString("id3");
                String id4 = params.getString("id4");
               
                byte a1= Byte.parseByte(id1);
                byte a2 =Byte.parseByte(id2);
                byte a3=Byte.parseByte(id3);
                byte a4 =Byte.parseByte(id4);
               
                byte[] src = new byte[]{a1,a2,a3,a4};
                //byte[] src = new byte[]{-128,44,1,81};
                //byte[] src =cardId.getBytes();
                StringBuilder stringBuilder = new StringBuilder("");
                if (src == null || src.length <= 0) {
                        return null;
                }
                char[] buffer = new char[2];
                for (int i = 0; i < src.length; i++) {
                        buffer[0] = Character.forDigit((src[i] >>> 4) & 0x0F, 16);
                        buffer[1] = Character.forDigit(src[i] & 0x0F, 16);
                        stringBuilder.append(buffer);
                }
                String cardNo = stringBuilder.toString();
                ret.put("cardNo", cardNo);
                return ret;
        }

        Model.prototype.button1Click = function(event){
           nfc.addTagDiscoveredListener(myNfcListener,success, fail);

        };
       
        function myNfcListener(NfcEvent,intent){
            
              var params ={};
                      justep.Baas.sendRequest({
                        "url" : "/hhxxfs/khxxaction",
                        "action" : "getCardId",
                        "async" : false,
                        "params" : {id1:NfcEvent.tag.id[0],id2:NfcEvent.tag.id[1],
                        id3:NfcEvent.tag.id[2],id4:NfcEvent.tag.id[3]},
                        "success" : function(ret) {
                           alert(ret.cardNo);
                        }
                });
        }

    function success(result){
       alert("lyq"+result);
    }
   
    function fail(result){
       alert("failed"+fail);
    }

这是前台调用的方法

define(function(require){
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");
        require("cordova!com.justep.cordova.plugin.nfc");--别忘了引用这句

18

主题

61

帖子

121

积分

初级会员

Rank: 2

积分
121
QQ
 楼主| 发表于 2017-5-9 08:23:04 | 显示全部楼层
有不妥的地方,欢迎有经验的朋友来指出
回复 支持 反对

使用道具 举报

0

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
QQ
发表于 2017-5-18 19:50:17 | 显示全部楼层
能不能给个例子给我, 你这个后台到底是放哪里的。。 最近为了这个 nfc 搞晕了。。 有资料请发一下我qq邮箱 68161178@qq.com。万分感谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 00:30 , Processed in 0.062898 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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