feat(staging): added transfer for data from settings app(part 2)
This commit is contained in:
parent
f21678b219
commit
3b2e4992a3
@ -1,13 +1,16 @@
|
|||||||
|
import { BaseSideService } from "@zeppos/zml/base-side"
|
||||||
|
|
||||||
AppSideService(
|
AppSideService(
|
||||||
|
BaseSideService(
|
||||||
{
|
{
|
||||||
onInit(){
|
onInit(){
|
||||||
settings.settingsStorage.addListener('change', async ({ key, newValue, oldValue }) => {
|
|
||||||
console.log(key)
|
},
|
||||||
console.log(newValue)
|
onRequest(req, res){
|
||||||
const totps = settings.settingsStorage.getItem('TOTPs')
|
if(req.method === 'totps'){
|
||||||
const dataBuffer = Buffer.from(totps)
|
res(null, settings.settingsStorage.getItem('TOTPs'))
|
||||||
messaging.peerSocket.send(dataBuffer.buffer)
|
}
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
)
|
36
app.js
36
app.js
@ -1,25 +1,15 @@
|
|||||||
|
import { BaseApp } from "@zeppos/zml/base-app"
|
||||||
import { TOTP } from "./lib/totp-quickjs"
|
import { TOTP } from "./lib/totp-quickjs"
|
||||||
import { LocalStorage } from "@zos/storage"
|
|
||||||
|
|
||||||
const localStorage = new LocalStorage()
|
App(
|
||||||
App({
|
BaseApp(
|
||||||
globalData: {
|
{
|
||||||
TOTPS: localStorage.getItem('TOTPs') || []
|
globalData: {
|
||||||
},
|
TOTPS: []
|
||||||
onCreate(options) {
|
},
|
||||||
// localStorage.setItem('TOTPs', [
|
onCreate() {
|
||||||
// new TOTP('JBSWY3DPEHPK3PXP', 'totp.danhersam.com', 'I1122222222', 6, 30, 0, 'SHA-1'),
|
},
|
||||||
// new TOTP('JBSWY3DPEHPK3PXP', 'totp.danhersam.com', 'I2', 6, 30, 5, 'SHA-1'),
|
onDestroy() {
|
||||||
// new TOTP('JBSWY3DPEHPK3PXP', 'totp.danhersam.com', 'I3', 6, 30, -5, 'SHA-1'),
|
}
|
||||||
// new TOTP('JBSWY3DPEHPK3PXP', 'totp.danhersam.com', 'I4', 6, 30, 0, 'SHA-1'),
|
})
|
||||||
// new TOTP('JBSWY3DPEHPK3PXP', 'totp.danhersam.com', 'I5', 6, 30, 0, 'SHA-1'),
|
)
|
||||||
// new TOTP('JBSWY3DPEHPK3PXP', 'totp.danhersam.com', 'I6', 6, 30, 0, 'SHA-1'),
|
|
||||||
// new TOTP('JBSWY3DPEHPK3PXP', 'totp.danhersam.com', 'I7', 6, 30, 0, 'SHA-1'),
|
|
||||||
// new TOTP('JBSWY3DPEHPK3PXP', 'totp.danhersam.com', 'I8', 6, 30, 0, 'SHA-1')
|
|
||||||
// ])
|
|
||||||
},
|
|
||||||
|
|
||||||
onDestroy(options) {
|
|
||||||
console.log('app on destroy invoke')
|
|
||||||
}
|
|
||||||
})
|
|
6
app.json
6
app.json
@ -18,9 +18,9 @@
|
|||||||
],
|
],
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"apiVersion": {
|
"apiVersion": {
|
||||||
"compatible": "3.5.0",
|
"compatible": "3.0.0",
|
||||||
"target": "3.5.0",
|
"target": "3.0.0",
|
||||||
"minVersion": "3.5"
|
"minVersion": "3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"targets": {
|
"targets": {
|
||||||
|
@ -1,23 +1,47 @@
|
|||||||
import { setStatusBarVisible } from '@zos/ui'
|
|
||||||
import { RenderAddButton } from './render/totpRenderer'
|
import { RenderAddButton } from './render/totpRenderer'
|
||||||
import { initLoop } from './render/index/renderer'
|
import { initLoop } from './render/index/renderer'
|
||||||
|
import { BasePage } from '@zeppos/zml/base-page'
|
||||||
|
import { LocalStorage } from "@zos/storage"
|
||||||
|
|
||||||
|
const localStorage = new LocalStorage()
|
||||||
const app = getApp()
|
const app = getApp()
|
||||||
|
let waitForFetch = true;
|
||||||
|
Page(
|
||||||
|
BasePage({
|
||||||
|
onInit() {
|
||||||
|
this.getTOTPData().then((x) => {
|
||||||
|
console.log(x)
|
||||||
|
localStorage.setItem('TOTPs', x)
|
||||||
|
app._options.globalData.TOTPS = x
|
||||||
|
this.initPage();
|
||||||
|
})
|
||||||
|
.catch((x) => {
|
||||||
|
app._options.globalData.TOTPS = localStorage.getItem('TOTPs')
|
||||||
|
this.initPage()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
build() {
|
||||||
|
let fetch = setInterval(() => {
|
||||||
|
if(waitForFetch)
|
||||||
|
return;
|
||||||
|
|
||||||
Page({
|
clearInterval(fetch);
|
||||||
onInit() {
|
const buffer = app._options.globalData.TOTPS
|
||||||
//If app has no saved TOTPs
|
if (buffer.length < 1){
|
||||||
if (app._options.globalData.TOTPS.length < 1)
|
RenderAddButton('page/tip')
|
||||||
setStatusBarVisible(true)
|
}
|
||||||
else
|
else {
|
||||||
setStatusBarVisible(false)
|
initLoop(buffer)
|
||||||
},
|
}
|
||||||
build() {
|
}, 100);
|
||||||
const buffer = app._options.globalData.TOTPS
|
},
|
||||||
if (buffer.length < 1)
|
initPage() {
|
||||||
RenderAddButton('page/tip')
|
waitForFetch = false;
|
||||||
else{
|
},
|
||||||
initLoop(buffer)
|
getTOTPData() {
|
||||||
|
return this.request({
|
||||||
|
method: 'totps'
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
})
|
)
|
@ -1,6 +1,6 @@
|
|||||||
import { deleteWidget, prop } from "@zos/ui";
|
import { prop } from "@zos/ui";
|
||||||
import { TOTP } from "../../../lib/totp-quickjs";
|
import { TOTP } from "../../../lib/totp-quickjs";
|
||||||
import { RenderAddButton, RenderExpireBar, RenderOTPValue, RenderTOTPContainer } from '../totpRenderer'
|
import { RenderExpireBar, RenderOTPValue, RenderTOTPContainer } from '../totpRenderer'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -12,6 +12,7 @@ const containerRadius = 20 //Corner radius of container
|
|||||||
|
|
||||||
const textColor = 0xa0a0a0 //Color of TOTP description text
|
const textColor = 0xa0a0a0 //Color of TOTP description text
|
||||||
const textSize = 24 //Size of TOTP description text
|
const textSize = 24 //Size of TOTP description text
|
||||||
|
const statusBarPading = 65
|
||||||
|
|
||||||
/** Function for render box container for TOTP values
|
/** Function for render box container for TOTP values
|
||||||
*
|
*
|
||||||
@ -112,4 +113,4 @@ export function RenderAddButton(pagePath) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function getYPos(position) { return position * (buttonHeight + 10) }
|
function getYPos(position) { return position * (buttonHeight + 10) + statusBarPading }
|
49
page/tip.js
49
page/tip.js
@ -2,27 +2,30 @@ import { createWidget, widget, align } from "@zos/ui";
|
|||||||
import { getDeviceInfo } from "@zos/device";
|
import { getDeviceInfo } from "@zos/device";
|
||||||
import { onGesture, GESTURE_LEFT } from '@zos/interaction'
|
import { onGesture, GESTURE_LEFT } from '@zos/interaction'
|
||||||
import { back } from "@zos/router";
|
import { back } from "@zos/router";
|
||||||
Page({
|
import { BasePage } from "@zeppos/zml/base-page";
|
||||||
onInit(){
|
Page(
|
||||||
onGesture({
|
BasePage({
|
||||||
callback(event) {
|
onInit() {
|
||||||
if(event === GESTURE_LEFT){
|
onGesture({
|
||||||
back()
|
callback(event) {
|
||||||
|
if (event === GESTURE_LEFT) {
|
||||||
|
back()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
})
|
},
|
||||||
},
|
build() {
|
||||||
build() {
|
const { width, height } = getDeviceInfo()
|
||||||
const {width, height} = getDeviceInfo()
|
createWidget(widget.TEXT, {
|
||||||
createWidget(widget.TEXT, {
|
x: 0,
|
||||||
x: 0,
|
w: width,
|
||||||
w: width,
|
h: height,
|
||||||
h: height,
|
color: 0xffffff,
|
||||||
color: 0xffffff,
|
text_size: 30,
|
||||||
text_size: 30,
|
align_h: align.CENTER_H,
|
||||||
align_h: align.CENTER_H,
|
align_v: align.CENTER_V,
|
||||||
align_v: align.CENTER_V,
|
text: 'To add TOTP record open\n settings on Zepp app'
|
||||||
text: 'To add TOTP record open\n settings on Zepp app'
|
})
|
||||||
})
|
}
|
||||||
}
|
})
|
||||||
})
|
)
|
Loading…
x
Reference in New Issue
Block a user