更新记录

v1.0.2023.07.02(2023-07-05)

2023-07-02

升级SDK及修复Android13蓝牙扫描问题
 iOS目前的版本2.21.21.20913
安卓目前版本2.21.21.20913

v1.0.2022.08.07(2022-08-08)

2022/08/07 第一次发布


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 适用版本区间:11 - 16

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


插件使用说明:

一、使用简介

uniapp使用机智云SDK完成机智云设备控制。 iOS目前的版本2.21.21.20913
安卓目前版本2.21.21.20913

支持定制,联系QQ:1804945430,微信:18980392735 购买前,请先试用,有问题联系我。

二、调用范例

<template>
    <div>
        <button type="primary" @click="getVersion">获取SDK版本号</button>
        <button type="primary" @click="initSDK">初始化SDK</button>
        <button type="primary" @click="requestSendPhoneSMSCode">发送短信验证码</button>
        <button type="primary" @click="registerUser">注册</button>
        <button type="primary" @click="userLogin">登录</button>
        <button type="primary" @click="userLoginAnonymous">匿名登录</button>
        <button type="primary" @click="loginWithThirdAccount">第三方登录</button>
        <button type="primary" @click="resetPassword">重置密码</button>
        <button type="primary" @click="changeUserPassword">修改密码</button>
        <button type="primary" @click="transAnonymousUser">匿名用户转普通用户</button>
        <button type="primary" @click="changeUserInfo">修改用户</button>
        <button type="primary" @click="configNetwork">配网</button>
        <button type="primary" @click="stopConfigNetwork">中止配网</button>
        <button type="primary" @click="getDeviceList">使用缓存的设备列表刷新UI</button>
        <button type="primary" @click="bindRemoteDevice">绑定远端设备到服务器</button>
        <button type="primary" @click="bindDeviceByQRCode">绑定远端设备到服务器(扫码绑定)</button>
        <button type="primary" @click="getBoundDevices">获取绑定设备列表</button>
        <button type="primary" @click="getBoundBleDevice">获取本地缓存的双通道设备,并且触发双通道设备搜索</button>
        <button type="primary" @click="unbindDevice">把设备从服务器解绑</button>
        <button type="primary" @click="setSubscribe">设备订阅</button>
        <button type="primary" @click="setCustomInfo">设置设备的绑定信息</button>
        <button type="primary" @click="getHardwareInfo">获取设备硬件信息</button>
        <button type="primary" @click="writeCommand">发送控制指令</button>
        <button type="primary" @click="getDeviceStatus">接收设备状态</button>

    </div>
</template>

<script>
    // 获取 module 
    var GizWifiSDKModule = uni.requireNativePlugin("XM-GizWifiSDKModule")
    const modal = uni.requireNativePlugin('modal');
    export default {
        data() {

        },
        onLoad() {

        },
        methods: {
            getVersion() {
                var ret = GizWifiSDKModule.getVersion();
                console.log(ret)
                modal.toast({
                    message: ret,
                    duration: 1.5
                });
            },
            initSDK() {
                GizWifiSDKModule.initSDK({
                    appInfo: {
                        appId: '',
                        appSecret: ''
                    },
                    // 设置要过滤的设备 productKey 列表。不过滤则直接传 null
                    productInfo: [{
                        productKey: '',
                        productSecret: '',
                        usingAdapter: 'GizAdapterWifiBle'
                    }],
                    //填写固件服务器参数,不传为null
                    cloudServiceInfo: {
                        openAPIInfo: 'api.gizwits.com',
                        siteInfo: 'site.gizwits.com'
                    }
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            requestSendPhoneSMSCode() {
                GizWifiSDKModule.requestSendPhoneSMSCode({
                    appSecret: '',
                    phone: ''
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            registerUser() {
                GizWifiSDKModule.registerUser({
                    username: '', //电话号码或者邮箱
                    password: '', //密码
                    code: '', //手机验证码,邮箱不需要填写,传入null
                    accountType: 0 //普通账号0,手机账号1,邮箱账号2,其他账号3
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            userLogin() {
                GizWifiSDKModule.userLogin({
                    username: '', //电话号码或者邮箱
                    password: '' //密码
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            loginWithThirdAccount() {
                GizWifiSDKModule.loginWithThirdAccount({
                    thirdAccountType: 0, //类型,0百度,1新浪,2QQ,3微信,4Facebook,5Twitter
                    uid: '',
                    token: '',
                    tokenSecret: ''
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            resetPassword() {
                GizWifiSDKModule.resetPassword({
                    username: '', //电话号码或者邮箱
                    code: '', //手机账号需要提前请求验证码
                    newPassword: '',
                    accountType: 0 //普通账号0,手机账号1,邮箱账号2,其他账号3
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            changeUserPassword() {
                GizWifiSDKModule.changeUserPassword({
                    token: '', //登录token
                    oldPassword: '', //旧密码
                    newPassword: '' //新密码
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            userLoginAnonymous() {
                GizWifiSDKModule.userLoginAnonymous((ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            transAnonymousUser() {
                GizWifiSDKModule.transAnonymousUser({
                    token: '', //登录token
                    username: '',
                    password: '', //密码
                    code: '', //手机账号需要,邮件需要在邮箱中确认
                    accountType: 0 //普通账号0,手机账号1,邮箱账号2,其他账号3
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            changeUserInfo() {
                GizWifiSDKModule.changeUserInfo({
                    token: '', //登录token
                    username: '', //修改用户手机号或者邮箱号码,不修改请传null
                    code: '', //手机账号需要,邮件需要在邮箱中确认
                    accountType: 0, //普通账号0,手机账号1,邮箱账号2,其他账号3
                    userInfo: { //userInfo需要修改的用户信息,只修改手机号或者邮箱号请传入null,只传入需要修改的值,不需要修改的字段请传null或不传
                        address: null, //String
                        birthday: null, //String
                        lang: null, //String
                        name: null, //String
                        remark: null, //String
                        userGender: null, //String,GizUserGenderMale、GizUserGenderFemale、GizUserGenderUnknown
                    }
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            configNetwork() {
                GizWifiSDKModule.configNetwork({
                    ssid: 'dfdfdsdf', //ssid
                    password: '', //password,无密码请传入null
                    mode: 0, //0GizWifiSoftAP,1GizWifiAirLink,2GizWifiAirLinkMulti,3GizWifiBleLink,4GizWifiBleLinkMulti,5GizWifiNFCLink
                    timeout: 30, //超时时间需要大于20秒
                    types: [0], //数组,不需要可传null
                    softAPSSIDPrefix: 'Robat-', //SoftAPMode 模式下 SoftAP 的 SSID 前缀或全名。默认前缀为:XPG-GAgent-,SDK 以此判断手机当前是否连上了设备的 SoftAP 热点。AirLink 配置时该参数无意义,传 null 即可
                    bind: true //配网时自动绑定,true 为自动绑定,false 为不绑定。请注意,自动绑定要求先用户登录
                    // /** 庆科3162模组 */
                    // GizGAgentMXCHIP = 0,
                    // /** 汉枫模组 */
                    // GizGAgentHF = 1,
                    // /** 瑞昱模组 */
                    // GizGAgentRTK = 2,
                    // /** 联盛德模组 */
                    // GizGAgentWM = 3,
                    // /** 乐鑫模组 */
                    // GizGAgentESP = 4,
                    // /** 高通模组 */
                    // GizGAgentQCA = 5,
                    // /** TI 模组 */
                    // GizGAgentTI = 6,
                    // /** 宇音天下模组 */
                    // GizGAgentFSK = 7,
                    // /** 庆科V3 */
                    // GizGAgentMXCHIP3 = 8,
                    // /** 古北模组 */
                    // GizGAgentBL = 9,
                    // /** AtmelEE */
                    // GizGAgentAtmelEE = 10,
                    // /** 其他 */
                    // GizGAgentOther = 11,
                    // /** 芯海模组 */
                    // GizGAgentFlyLink = 12,
                    // /** 亚马逊模组 */
                    // GizGAgentMxchipAWS = 13,
                    // /** 汉枫v8模组 */
                    // GizGAgentHFV8 = 14,
                    // /** 乐鑫模组广播模式 */
                    // GizGAgentESPBroadcast = 15,
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });
            },
            stopConfigNetwork() {
                GizWifiSDKModule.stopConfigNetwork();
            },
            getDeviceList() {
                var ret = GizWifiSDKModule.getDeviceList();
                console.log(ret)
                modal.toast({
                    message: ret,
                    duration: 1.5
                });
            },
            bindRemoteDevice() {
                GizWifiSDKModule.bindRemoteDevice({
                    uid: '',
                    token: '',
                    mac: '',
                    productKey: '',
                    productSecret: '',
                    beOwner: false,
                    /**
                     *  uid 用户登录或注册时得到的 uid
                        token 用户登录或注册时得到的 token
                        mac 待绑定设备的 mac
                        productKey 待绑定设备的 productKey
                        productSecret 待绑定设备的 productSecret
                        beOwner 是否以 owner 身份绑定设备。此参数只对首次绑定的用户有效
                     */
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });

            },
            bindDeviceByQRCode() {
                GizWifiSDKModule.bindDeviceByQRCode({
                    uid: '',
                    token: '',
                    QRContent: '',
                    beOwner: false
                    /**
                     *  uid 用户登录或注册时得到的 uid
                        token 用户登录或注册时得到的 token
                        QRContent 二维码内容。二维码需联系机智云 FAE 提供
                        beOwner 是否以 owner 身份绑定设备。此参数只对首次绑定的用户有效
                     */
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });

            },
            getBoundDevices() {
                GizWifiSDKModule.getBoundDevices({
                    uid: '',
                    token: ''
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });

            },
            getBoundBleDevice() {
                GizWifiSDKModule.getBoundBleDevice((ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });

            },
            unbindDevice() {
                GizWifiSDKModule.unbindDevice({
                    uid: '',
                    token: '',
                    did: ''
                    /**
                     *  uid 用户登录或注册时得到的 uid
                        token 用户登录或注册时得到的 token
                        did 待解绑设备的 did
                     */
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });

            },
            setSubscribe() {
                GizWifiSDKModule.setSubscribe({
                    mac: '',
                    subscribed: true,//订阅为true,取消订阅为false
                    autoGetDeviceStatus: false//订阅为true,取消订阅为false
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });

            },
            getHardwareInfo() {
                GizWifiSDKModule.getHardwareInfo({
                    mac: ''
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });

            },
            writeCommand() {
                GizWifiSDKModule.writeCommand({
                    mac: '',
                    sn: 0,
                    command: {}//控制命令json
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });

            },
            getDeviceStatus() {
                GizWifiSDKModule.getDeviceStatus({
                    mac: ''
                }, (ret) => {
                    console.log(ret)
                    modal.toast({
                        message: ret,
                        duration: 1.5
                    });
                });

            }
        }
    }
</script>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的机智云SDK可能会采集数据,详情可参考 Android:http://docs.gizwits.com/zh-cn/AppDev/AndroidSDKA2.html iOS:http://docs.gizwits.com/zh-cn/AppDev/iOSSDKA2.html

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问