const { request, buildResultView } = require('../../utils/request'); Page({ data: { length: 16, type: 'mix', plaintext: '', ciphertext: '', result: '', resultCards: [] }, onInput(e) { const key = e.currentTarget.dataset.key; this.setData({ [key]: e.detail.value }); }, async generate() { const result = await request({ url: '/api/console/password/generate', method: 'POST', data: { length: Number(this.data.length) || 16, type: this.data.type || 'mix' } }); const view = buildResultView(result); this.setData({ result: view.text, resultCards: view.cards }); }, async encrypt() { if (!this.data.plaintext) { const view = buildResultView('请输入明文'); this.setData({ result: view.text, resultCards: view.cards }); return; } const result = await request({ url: '/api/console/password/encrypt', method: 'POST', data: { plaintext: this.data.plaintext } }); const view = buildResultView(result); this.setData({ result: view.text, resultCards: view.cards }); }, async decrypt() { if (!this.data.ciphertext) { const view = buildResultView('请输入密文'); this.setData({ result: view.text, resultCards: view.cards }); return; } const result = await request({ url: '/api/console/password/decrypt', method: 'POST', data: { ciphertext: this.data.ciphertext } }); const view = buildResultView(result); this.setData({ result: view.text, resultCards: view.cards }); } });