fix: resolve multiple miniprogram bugs and extend admin console

- fix manual bind stuck at BLE scan, redirect to bind-success
- add 15s timeout and stopScan to ble-connect
- add stopScan method to ble.js
- add back-to-home button on bind-success page
- fix field name in subscribe-plans (plan -> plan_type)
- fix history.js to handle created_at field
- fix index.js to handle device name field
- add subscription route alias in request.js
- extend admin cloud function from 1 to 9 actions
- add mock mode to admin-console request.js
- remove unused discover page and legacy record function

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
这个提交包含在:
Guoguo
2026-04-24 23:28:53 +08:00
共同撰写人 Claude Opus 4.6
父节点 52cb1f72dc
当前提交 267c75718b
修改 18 个文件,包含 332 行新增169 行删除
@@ -1,5 +1,6 @@
var ble = require('../../services/ble')
var app = getApp()
var SCAN_TIMEOUT = 15000
Page({
data: {
@@ -19,19 +20,32 @@ Page({
this.startBleConnect()
},
onUnload: function () {
clearTimeout(this._scanTimer)
ble.stopScan()
},
startBleConnect: function () {
var self = this
self.setData({ state: 'scanning', error: '' })
self._scanTimer = setTimeout(function () {
ble.stopScan()
self.setData({ state: 'error', error: '搜索超时,请确认设备已开机并在附近' })
}, SCAN_TIMEOUT)
ble.startScan({
onFound: function (device) {
clearTimeout(self._scanTimer)
self.setData({ state: 'connecting' })
},
onConnected: function (device) {
clearTimeout(self._scanTimer)
self.setData({ state: 'binding' })
self.doBind()
},
onError: function (err) {
clearTimeout(self._scanTimer)
self.setData({ state: 'error', error: err.msg || '连接失败' })
}
})