微信小程序开发工具模块化开发(微信小程序 开发工具)
今天给各位分享微信小程序开发工具模块化开发的知识,其中也会对微信小程序 开发工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
微信小程序蓝牙模块开发
//index.js
//获取应用实例
const app = getApp()
const util = require('../../utils/util.js')
const bletool = require('../../utils/bletool.js')
Page({
data: {
// lists: [{ 'order_no': '1111', 'car_no': '321', 'car_type': '尚好捷', 'order_date': '2018-01-02 08:00', 'order_money': '16.00', 'order_time': '4' }],
car_no: '',
order_no: '',
lists: [],
bleList: [], //蓝牙设备数组
serviceId: '',//592B3370-3900-9A71-4535-35D4212D2837
serviceMac: '',//C9:9B:4C:E7:DE:10
service_psd: '',//855525B837253705595800000329
service_uuid: '',
deviceId:'',
characteristics:[] //特征值
},
onLoad: function (options) {
this.initBle();
},
onReady: function () {
// 页面渲染完成
},
onShow: function () {
if (app.globalData.car_no.length0){
this.getDeviceInfo();
}
},
onHide: function () {
// 页面隐藏
},
onUnload: function () {
// 页面关闭
app.globalData.car_no=''
},
//蓝牙相关
//初始化蓝牙
initBle: function () {
var that = this;
wx.onBluetoothAdapterStateChange(function (res) {
console.log('adapterState changed, now is', res)
app.globalData.ble_state = res.available;
if (res.available) {
that.initBle();
} else {
util.showToast('手机蓝牙已关闭');
app.globalData.ble_isonnectting = false;
}
})
//打开蓝牙适配器
wx.openBluetoothAdapter({
success: function (res) {
console.log('打开蓝牙适配器成功');
that.getBluetoothAdapterState();
app.globalData.ble_state = true;
that.onBluetoothDeviceFound();
},
fail: function (res) {
// fail
console.log(res)
util.showToast('请打开手机蓝牙');
},
complete: function (res) {
// complete
}
})
},
onBluetoothDeviceFound:function(){
var that = this;
//监听扫描
wx.onBluetoothDeviceFound(function (res) {
// res电脑模拟器返回的为数组;手机返回的为蓝牙设备对象
console.log('监听搜索新设备:', res);
that.updateBleList([res])
})
},
getBluetoothAdapterState: function () {
var that = this;
wx.getBluetoothAdapterState({
success: function (res) {
var available = res.available;
var discovering = res.discovering;
if (!available) {
util.showToast('蓝牙不可用');
} else {
if (!discovering) {
// that.startBluetoothDevicesDiscovery();
}
}
}
})
},
startBluetoothDevicesDiscovery: function () {
var that = this;
var services = [];
services.push(this.data.serviceId);
wx.showLoading({
title: '设备搜索中'
});
setTimeout(function () {
wx.hideLoading();
if (app.globalData.deviceId.length==0){
util.showModal('设备搜索失败,请重试');
}
}, 10000)
if(bletool.isIOS()){
wx.startBluetoothDevicesDiscovery({
services: services,
allowDuplicatesKey: true,
success: function (res) {
console.log('ios搜索成功');
console.log(res);
},
fail: function (err) {
console.log(err);
}
});
}else{
wx.startBluetoothDevicesDiscovery({
// services: services,
allowDuplicatesKey: true,
success: function (res) {
console.log('Android搜索成功');
console.log(res);
},
fail: function (err) {
console.log(err);
wx.hideLoading();
that.startBluetoothDevicesDiscovery();
// that.getBluetoothAdapterState();
util.showToast('搜索失败');
}
});
}
},
startConnectDevices: function (ltype, array) {
var that = this;
clearTimeout(that.getConnectedTimer);
that.getConnectedTimer = null;
wx.stopBluetoothDevicesDiscovery({
success: function (res) {
// success
}
})
app.globalData.ble_isonnectting = true;
console.log('连接前:'+that.deviceId);
wx.createBLEConnection({
deviceId: that.deviceId,
success: function (res) {
if (res.errCode == 0) {
console.log('连接成功:');
that.getService(that.deviceId);
}
},
fail: function (err) {
console.log('连接失败:', err);
wx.hideLoading();
util.showModal('设备连接失败,请重试');
// if (ltype == 'loop') {
// that.connectDeviceIndex += 1;
// that.loopConnect(array);
// } else {
// that.startBluetoothDevicesDiscovery();
// that.getConnectedBluetoothDevices();
// }
app.globalData.ble_isonnectting = false;
},
complete: function () {
}
});
},
getService: function (deviceId) {
var that = this;
// 监听蓝牙连接
wx.onBLEConnectionStateChange(function (res) {
console.log(res);
app.globalData.ble_isonnectting = res.connected
if (!res.connected) {
util.showToast('连接断开');
}
});
// 获取蓝牙设备service值
wx.getBLEDeviceServices({
deviceId: deviceId,
success: function (res) {
console.log('获取蓝牙设备service值');
console.log(res);
that.getCharacter(deviceId, res.services);
}
})
},
getCharacter: function (deviceId, services) {
var that = this;
services.forEach(function (value, index, array) {
if (value.isPrimary) {
that.setData({
service_uuid: value.uuid,
deviceId: deviceId
})
app.globalData.service_uuid= value.uuid;
app.globalData.deviceId=deviceId;
}
});
//监听通知
wx.onBLECharacteristicValueChange(function (res) {
// callback
console.log('value change', res)
const hex = bletool.buf2char(res.value)
console.log('返回的数据:', hex)
//配对密码
if (hex.indexOf('855800000106') != -1) {
wx.hideLoading();
var charact_write = that.data.characteristics[1]
bletool.writeDataToDevice(that.data.deviceId, that.data.service_uuid, charact_write, that.data.service_psd);
wx.showToast({
title: '设备已连接',
icon: 'success',
duration: 3000
})
setTimeout(function () {
bletool.writeDataToDevice(that.data.deviceId, that.data.service_uuid, charact_write, '235525B837253705590400000273');
}, 2000)
} else if (hex.indexOf('23040000') != -1) {
//启动成功
that.starRenting();
}
})
wx.getBLEDeviceCharacteristics({
deviceId: deviceId,
serviceId: that.getServiceUUID(),
success: function (res) {
wx.getBLEDeviceCharacteristics({
deviceId: deviceId,
serviceId: that.getServiceUUID(),
success: function (res) {
console.log('特征', res)
that.setData({
characteristics:res.characteristics
})
app.globalData.characteristics = res.characteristics;
var charact_read = res.characteristics[0]
},
loopConnect: function (devicesId) {
var that = this;
var listLen = devicesId.length;
if (devicesId[this.connectDeviceIndex]) {
this.deviceId = devicesId[this.connectDeviceIndex];
this.startConnectDevices('loop', devicesId);
} else {
console.log('已配对的设备小程序蓝牙连接失败');
that.startBluetoothDevicesDiscovery();
that.getConnectedBluetoothDevices();
}
},
//更新数据 devices为数组类型
updateBleList: function (devices) {
console.log('设备数据:',devices);
var newData = this.data.bleList
var that = this
var tempDevice = null;
for (var i = 0; i devices.length; i++) {
//ios设备
if (devices[i].devices != null) {
if (devices[i].devices.length 0) {
tempDevice = devices[i].devices[0];
}
else {
continue
}
}
//安卓
else {
tempDevice = devices[i];
}
if (!this.isExist(tempDevice)) {
newData.push(tempDevice)
}
}
console.log('数据:');
console.log(newData)
this.setData({
bleList: newData
})
if (!app.globalData.ble_isonnectting) {
var that = this;
this.data.bleList.forEach(function (value, index, array) {
//找到对应id的设备,ios判断服务id安卓判断mac地址
var deviceId = value['deviceId'];
if(bletool.isIOS()){
let advertisServiceUUID = value['advertisServiceUUIDs'][0];
if (advertisServiceUUID == that.data.serviceId.toUpperCase()){
that.deviceId = deviceId;
console.log(that.deviceId);
that.startConnectDevices();
}
}else{
if (deviceId == that.data.serviceMac) {
that.deviceId = deviceId;
console.log(that.deviceId);
that.startConnectDevices();
}
}
});
}
},
//是否已存在 存在返回true 否则false
isExist: function (device) {
var tempData = this.data.bleList
for (var i = 0; i tempData.length; i++) {
if (tempData[i].deviceId == device.deviceId) {
return true
}
}
return false
},
//服务uuid
getServiceUUID: function () {
return bletool.stringTransition(this.data.service_uuid);
},
getDeviceInfo: function () {
let car_no = app.globalData.car_no;
var that = this;
wx.request({
url: app.globalData.serverURL + '?c=cara=getDeviceInfoopen_id=' + app.globalData.open_id + 'car_no=' + car_no,
method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
header: { 'content-type': 'application/json' }, // 设置请求的 header
success: function (res) {
// success
var data = res.data;
console.log(data);
if (data.result == 1) {
app.globalData.serviceId = data.data.service_id;
app.globalData.serviceMac = data.data.service_mac,
app.globalData.service_psd = '85' + data.data.service_psd + '5800000329';
that.setData({
serviceId: data.data.service_id,
serviceMac: data.data.service_mac,
service_psd: '85' + data.data.service_psd+'5800000329',
})
app.startBluetoothDevicesDiscovery();
// that.onBLECharacteristicValueChange();
} else {
util.showModal(data.msg);
}
},
fail: function () {
},
complete: function () {
// complete
}
});
},
})
麦口科技如何定制开发或快速模板模块化微信小程序?
小程序的定制开发可以选择一些一键生成的小程序。
微尘小程序就是如此的,拖拽就可以生成。
小程序有哪几种模块
小程序开发模块如“门店系统”、“企业展示”、“酒店预订”、“房产中介”、“拼团”等共多达20多种模块的功能介绍。如果自己不会编程,开发小程序还是有些难度的,建议找小程序开发公司来完成。我说说开发小程序步骤:
注册小程序
需要一个营业执照,个体户执照也可以。
如果有公众号,可以直接复用公众号资料,申请小程序。这个方便快捷。
如果没有公众号点着里:微信公众平台.
等待小程序注册审核,一天就可以通过。
完善小程序基本资料,例如logo 名称 行业等。
开发小程序
早期开发小程序比较麻烦,需要上传代码,各种各样的配置,太麻烦了。现在用授权第三方服务商方式,容易很多。第三方小程序服务商:做小程序全面,也同时提供微商城,和微商城数据都是打通的,订单 会员 等通用的,制作价格3000~8000不等,比较划算。
运行小程序
可以把小程序放到附近小程序里面,或是发送小程序码,以及分享小程序给好友和群。小程序只是一种载体,具体怎么运营还需要很多心思的,请看运营秘籍,会启发你很多思路。
微信小程序模块化开发哪家好
小程序开发已经活跃了很长一段时间,然而还是有很多人并不熟知,所以才会让有心人有机可乘。需要记住的是微信小程序没有官方的第三方开发平台!小程序开发行业非常繁杂,很多公司都能做,但选择专业的小程序开发公司,这一点非常重要就要擦亮眼睛来选择了。
选择平台除了合同细节,还一定要了解清楚这家公司的背景口碑,多看看公司开发的成功案例,看做的成功案例与自己心目中的网站效果是否一致。有丰富的开发微信小程序的经验,能根据客户的要求设计出一套别具风格的网站,还可根据用户的体验上做出合理的页面布局调整和功能结构调整,让平台增加在同行业的核心竞争力。
另外建议:购买时不光要产品好、公司好、售后服务也要好。在微信小程序网站在运行中总会有各种各样的问题,如平台的前后台操作、网站运营中出现的系统问题及漏洞等各种问题,开发公司能否及时有效的解决,这些都是我们在购买系统选择服务公司的一个重要考核点。
总之,天上不会掉馅饼,不要总想着占便宜,钻空子。跟一次付款终身免费维护相比,那些后期收一定维护费的小程序开发商能提供更好的产品和服务更有信服力。具体哪家好,需要自己亲自体验。
微信小程序开发工具模块化开发的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于微信小程序 开发工具、微信小程序开发工具模块化开发的信息别忘了在本站进行查找喔。