feat: 添加demo

This commit is contained in:
范鹏 2024-12-04 16:54:52 +08:00
parent d2c5d427f4
commit b4c98090aa
24 changed files with 105 additions and 81 deletions

View File

@ -22,7 +22,7 @@ const plugin = requirePlugin('starCloud')
* @param {String} params.env 环境
* @param {Boolean} params.isReportLog 是否上报日志
*/
plugin.initStarCloud(params)
plugin.init(params)
// 注册,后续所有方法调用返回值均为code, data, message
// code对应报错码有三部分组合构成锁端报错码+星云服务端报错码+自定义报错码

View File

@ -1,13 +1,94 @@
const plugin = requirePlugin('starCloud')
const { init, Result, searchDevice, bindDevice, register, openDoor, deleteLock, stopSearchDevice, selectLock } = requirePlugin('starCloud')
Page({
onLoad() {
console.log(plugin.Result.Fail.code)
console.log(new plugin.Result(0,{},'111'))
// plugin.initStarCloud({
// clientId: 'clientId',
// clientSecret: 'clientSecret',
// env: 'env',
// isReportLog: true
// })
data: {
list: [],
accountInfo: {},
lock: null
},
async onLoad () {
init({
clientId: 'wWdVGYOHGD2Xj3TIl8v7DfeIgnnCZ6K8',
clientSecret: '8TmY144P9uf0A1FDykeebEwzCJh3o0qh',
env: 'XHJ',
isReportLog: true
})
const result = await register()
if(result.code === Result.Success.code) {
this.setData({
accountInfo: result.data
})
}
},
searchDevice() {
searchDevice(this.searchDeviceCallback)
},
searchDeviceCallback(result) {
if(result.code === Result.Success.code) {
this.setData({
list: result.data.list
})
}
},
bindDevice(e) {
const { device } = e.currentTarget.dataset
wx.showModal({
title: '提示',
content: `确定绑定${device.name}吗?`,
success: async (res) => {
if (res.confirm) {
const result = await bindDevice({
accountInfo: this.data.accountInfo,
name: device.name,
})
if(result.code === Result.Success.code) {
stopSearchDevice()
this.setData({
lock: result.data.lock
})
wx.showToast({
title: '绑定成功',
icon: 'none',
})
}
}
}
})
},
async openDoor () {
await selectLock({
accountInfo: this.data.accountInfo,
lockId: this.data.lock.lockId
})
const result = await openDoor({
accountInfo: this.data.accountInfo,
disconnect: true,
type: 'open'
})
console.log('开门结果',result)
if (result.code === Result.Success.code) {
wx.showToast({
title: '开门成功',
icon: 'none',
})
}
},
async deleteLock () {
await selectLock({
accountInfo: this.data.accountInfo,
lockId: this.data.lock.lockId
})
const result = await deleteLock({
accountInfo: this.data.accountInfo,
})
console.log('删除结果',result)
if (result.code === Result.Success.code) {
this.setData({
lock: null
})
wx.showToast({
title: '删除成功',
icon: 'none',
})
}
}
})

View File

@ -1 +1,8 @@
<view></view>
<view>
<button bind:tap="searchDevice">搜索设备</button>
<view wx:for="{{list}}" wx:for-item="device" class="device" bind:tap="bindDevice" data-device="{{device}}">
{{device.name}}
</view>
<button wx:if="{{lock}}" bind:tap="openDoor">开门</button>
<button wx:if="{{lock}}" bind:tap="deleteLock">删除设备</button>
</view>

View File

@ -1,12 +1,5 @@
/* pages/index/index.wxss */
#nav {
text-align: center;
background: #eeeeee;
margin: 1em;
padding: 1em;
border-radius: 5px;
.device {
padding: 32rpx;
margin: 32rpx;
border: #2c405a 1px solid;
}
#add {
margin: 1em;
}

View File

@ -1 +0,0 @@
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./common/vendor.js");Math;const n={onLaunch:function(){console.log("App Launch")},onShow:function(){console.log("App Show")},onHide:function(){console.log("App Hide")}};function e(){const e=o.createSSRApp(n),t=o.createPinia();return e.use(t),{app:e}}e().app.mount("#app"),exports.createApp=e;

View File

@ -1 +0,0 @@
page::after{position:fixed;content:'';left:-1000px;top:-1000px;-webkit-animation:shadow-preload .1s;-webkit-animation-delay:3s;animation:shadow-preload .1s;animation-delay:3s}@-webkit-keyframes shadow-preload{0%{background-image:url(https://cdn1.dcloud.net.cn/img/shadow-grey.png)}100%{background-image:url(https://cdn1.dcloud.net.cn/img/shadow-grey.png)}}@keyframes shadow-preload{0%{background-image:url(https://cdn1.dcloud.net.cn/img/shadow-grey.png)}100%{background-image:url(https://cdn1.dcloud.net.cn/img/shadow-grey.png)}}page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}

View File

@ -1 +0,0 @@
"use strict";exports._imports_0="/static/logo.png";

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./common/vendor.js"),t=require("./starCloud/starCloud.js"),r=require("./starCloud/basic.js"),s=e.createPinia();function a(){return t.useStarCloudStore(s)}module.exports={Result:r.Result,initStarCloud(e){a().initStarCloud(e)},async register(){const e=a();return await e.register()},logout:async e=>a().logout(e),async selectLock(e){const t=a();return await t.selectLock(e)},async openDoor(e){const t=a();return await t.openDoor(e)},async getOfflinePassword(e){const t=a();return await t.getOfflinePassword(e)},async customPassword(e){const t=a();return await t.customPassword(e)},async searchDevice(e){const t=a();return await t.searchDevice(e)},async stopSearchDevice(){const e=a();return await e.stopSearchDevice()},async bindDevice(e){const t=a();return await t.bindDevice(e)},async removeBadLock(e){const t=a();return await t.removeBadLock(e)},async deleteLock(e){const t=a();return await t.deleteLock(e)},async updateAdminPassword(e){const t=a();return await t.updateAdminPassword(e)},async syncOpenDoorRecord(e){const t=a();return await t.syncAllOpenRecord(e)},async getServerTime(){const e=a();return await e.getServerTimestamp()}},exports.getStarCloudStore=a;

View File

@ -1,2 +0,0 @@
require('../../app.js');
"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),o={data:()=>({title:"Hello"}),onLoad(){},methods:{}};const r=e._export_sfc(o,[["render",function(o,r,s,n,c,a){return{a:t._imports_0,b:e.t(c.title)}}]]);wx.createPage(r);

View File

@ -1,4 +0,0 @@
{
"navigationBarTitleText": "uni-app",
"usingComponents": {}
}

View File

@ -1 +0,0 @@
<view class="content"><image class="logo" src="{{a}}"></image><view class="text-area"><text class="title">{{b}}</text></view></view>

View File

@ -1,2 +0,0 @@
@import "../../app.wxss";
.content{display:flex;flex-direction:column;align-items:center;justify-content:center}.logo{height:200rpx;width:200rpx;margin-top:200rpx;margin-left:auto;margin-right:auto;margin-bottom:50rpx}.text-area{display:flex;justify-content:center}.title{font-size:36rpx;color:#8f8f94}

View File

@ -1,3 +0,0 @@
{
"main": "index.js"
}

View File

@ -1 +0,0 @@
"use strict";const e=require("./request.js");exports.addCustomPasswordRequest=function(t){return e.request({url:"/v1/keyboardPwd/add",method:"POST",data:t})},exports.bindLockRequest=function(t){return e.request({url:"/v1/lock/initialize",method:"POST",data:t})},exports.changeAdminKeyboardPwdRequest=function(t){return e.request({url:"/v1/lock/changeAdminKeyboardPwd",method:"POST",data:t})},exports.deleteLockRequest=function(t){return e.request({url:"/v1/lock/delete",method:"POST",data:t})},exports.deletePasswordRequest=function(t){return e.request({url:"/v1/keyboardPwd/delete",method:"POST",data:t})},exports.getLastRecordTimeRequest=function(t){return e.request({url:"/v1/lockRecord/getLastRecordTime",method:"POST",data:t})},exports.getLockDetailRequest=function(t){return e.request({url:"/v1/lock/detail",method:"POST",data:t})},exports.getLockNetTokenRequest=function(t){return e.request({url:"/v1/lock/getLockNetToken",method:"POST",data:t})},exports.getOfflinePasswordRequest=function(t){return e.request({url:"/v1/keyboardPwd/get",method:"POST",data:t})},exports.getServerDatetimeRequest=function(t){return e.request({url:"/v1/lock/queryDate",method:"POST",data:t})},exports.getStarCloudToken=function(t){return e.request({url:"/oauth2/token",method:"POST",data:t})},exports.getUserNoListRequest=function(t){return e.request({url:"/v1/key/getUserNoList",method:"POST",data:t})},exports.removeBadLockRequest=function(t){return e.request({url:"/v1/lock/removeBadLock",method:"POST",data:t})},exports.starCloudCreateUser=function(t){return e.request({url:"/createUser",method:"POST",data:t})},exports.updateElectricQuantityRequest=function(t){return e.request({url:"/v1/lock/updateElectricQuantity",method:"POST",data:t})},exports.updateLockUserNoRequest=function(t){return e.request({url:"/v1/key/updateLockUserNo",method:"POST",data:t})},exports.updatePasswordRequest=function(t){return e.request({url:"/v1/keyboardPwd/update",method:"POST",data:t})},exports.uploadRecordRequest=function(t){return e.request({url:"/v1/lockRecord/upload",method:"POST",data:t})};

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
"use strict";exports.buildNumber=1,exports.configs={DEV:{name:"DEV",baseUrl:"https://dev.cloud.star-lock.cn/sdk"},PRE:{name:"PRE",baseUrl:"https://pre.cloud.star-lock.cn/sdk"},PRE_SKY:{name:"PRE_SKY",baseUrl:"https://pre.cloud.star-lock.cn/sdk"},XHJ:{name:"XHJ",baseUrl:"https://cloud.xhjcn.ltd/sdk"},SKY:{name:"SKY",baseUrl:"https://cloud.skychip.top/sdk"}},exports.version="1.0.0";

View File

@ -1 +0,0 @@
"use strict";const t=require("../common/vendor.js");exports.arrayToTimestamp=function(t){return(t[0]<<24|t[1]<<16|t[2]<<8|t[3])>>>0},exports.convertWeekdaysToNumber=function(t){let e="00000000";for(const r of t){const t=r%7;e=e.substring(0,t)+"1"+e.substring(t+1)}return e=e.split("").reverse().join(""),parseInt(e,2)},exports.createPackageEnd=function(e,r){let n=new Uint8Array(e.length+r.length);n.set(e),n.set(r,e.length);const o=t.crc.crc16kermit(n);let s=new Uint8Array(n.length+2);return s.set(n),s.set([o/256,o%256],n.length),s},exports.md5Encrypt=function(e,r,n){const o=e.length+4+16,s=new Uint8Array(o);for(let t=0;t<e.length;t++)s[t]=e.charCodeAt(t);s.set(r,e.length),s.set(n,e.length+4);const c=t.md5Exports.md5(s);return new Uint8Array(c.match(/.{1,2}/g).map((t=>parseInt(t,16))))},exports.timestampToArray=function(t){const e=new Uint8Array(4);return e[0]=(4278190080&t)>>24,e[1]=(16711680&t)>>16,e[2]=(65280&t)>>8,e[3]=255&t,e},exports.uint8ArrayToString=function(t){let e="";for(let r=0;r<t.length;r++)0!==t[r]&&(e+=String.fromCharCode(t[r]));return e};

View File

@ -1 +0,0 @@
"use strict";const r=require("../common/vendor.js"),e=require("./starCloud.js"),t=r.wx$1.getRealtimeLogManager?r.wx$1.getRealtimeLogManager():null,o={debug(){if(!t)return;e.useStarCloudStore().isReportLog&&t.debug.apply(t,arguments)},info(){if(!t)return;e.useStarCloudStore().isReportLog&&t.info.apply(t,arguments)},warn(){if(!t)return;e.useStarCloudStore().isReportLog&&t.warn.apply(t,arguments)},error(){if(!t)return;e.useStarCloudStore().isReportLog&&t.error.apply(t,arguments)},setFilterMsg(r){if(!t||!t.setFilterMsg)return;if("string"!=typeof r)return;e.useStarCloudStore().isReportLog&&t.setFilterMsg(r)},addFilterMsg(r){if(!t||!t.addFilterMsg)return;if("string"!=typeof r)return;e.useStarCloudStore().isReportLog&&t.addFilterMsg(r)}};exports.log=o;

View File

@ -1 +0,0 @@
"use strict";const e=require("../common/vendor.js"),o=require("./storage.js"),t=require("./starCloud.js"),s=require("./basic.js"),a=r=>{const l=t.useStarCloudStore();let n;return new Promise((async t=>{const u=l.getConfig(),d=(null==r?void 0:r.token)?r.token:o.getStorage("starCloudToken"),i=r.baseUrl?r.baseUrl+r.url:u.baseUrl+r.url,c={...{version:u.version+"+"+u.buildNumber},...r.header},m=r.method||"POST",g={...r.data,accessToken:d,clientId:l.clientId},v=(new Date).getTime();n=setTimeout((()=>{t(new s.Result(s.Result.Fail.code,{},"网络访问失败,请检查网络是否正常"))}),3200),e.index.request({url:i,method:m,header:c,data:g,timeout:3e3,async success(e){const{statusCode:u,data:d}=e;if(n&&clearTimeout(n),200===u){const e=d.errcode,n=d.errmsg;if(10003===e){o.removeStorage("starCloudToken"),o.removeStorage("starCloudUser");const{code:e}=await l.login({username:l.starCloudAccountInfo.username,password:l.starCloudAccountInfo.password,uid:l.starCloudAccountInfo.uid});e===s.Result.Success.code&&t(await a(r))}else t({code:e,data:d.data,message:n})}else t(new s.Result(s.Result.Fail.code,{},"网络访问失败,请检查网络是否正常"))},async fail(e){console.log("网络访问失败",e),n&&clearTimeout(n),t(new s.Result(s.Result.Fail.code,{},"网络访问失败,请检查网络是否正常"))},async complete(e){var o,t,s;console.log(i.substring(u.baseUrl.length+1),{env:u.name,url:i.substring(u.baseUrl.length+1),req:(null==r?void 0:r.data)||{},code:null==(o=null==e?void 0:e.data)?void 0:o.errcode,res:null==(t=null==e?void 0:e.data)?void 0:t.data,token:(null==c?void 0:c.authorization)||"",message:null==(s=null==e?void 0:e.data)?void 0:s.errmsg,duration:(new Date).getTime()-v})}})}))};exports.request=a;

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
"use strict";const e=require("../common/vendor.js"),r=require("./starCloud.js");function t(){return`${r.useStarCloudStore().envVersion}:`}exports.getStorage=function(r){return e.index.getStorageSync(t()+r)},exports.removeStorage=function(r){return e.index.removeStorageSync(t()+r)},exports.setStorage=function(r,n){return e.index.setStorageSync(t()+r,n)};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -18,7 +18,7 @@ module.exports = {
* @param {String} params.env 环境
* @param {Boolean} params.isReportLog 是否上报日志
*/
initStarCloud(params) {
init(params) {
const starCloud = getStarCloudStore()
starCloud.initStarCloud(params)
},