更新记录
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 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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>