From 03f0e531ad9fa224fedace04207df05328e58b75 Mon Sep 17 00:00:00 2001 From: 7YHong Date: Wed, 9 Feb 2022 00:23:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E5=BA=94=E7=94=A8=EF=BC=9A=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E5=AE=8C=E6=88=90API=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickapp/package.json | 12 +- quickapp/src/app.ux | 69 +++++-- quickapp/src/assets/images/trash.png | Bin 0 -> 1648 bytes quickapp/src/helper/ajax.js | 35 ++-- quickapp/src/helper/apis.js | 75 +++++++ quickapp/src/helper/apis/example.js | 20 -- quickapp/src/helper/apis/index.js | 14 -- quickapp/src/manifest.json | 15 +- quickapp/src/pages/Home/device.ux | 31 --- quickapp/src/pages/component/Device/index.ux | 110 +++++++--- quickapp/src/pages/component/Key/card.ux | 181 +++++++++-------- quickapp/src/pages/component/Key/index.ux | 118 ++++++++--- quickapp/src/pages/component/Message/index.ux | 190 +++++++++--------- .../src/pages/component/Message/msg-card.ux | 58 ++++++ .../src/pages/component/Message/msg-image.ux | 34 ---- .../pages/component/Message/msg-markdown.ux | 44 ---- .../src/pages/component/Message/msg-text.ux | 42 ---- quickapp/src/pages/component/devpage.ux | 163 +++++++++++++++ quickapp/src/pages/component/swipeItem.ux | 108 ++++++++++ quickapp/src/pages/index.ux | 94 +++++---- quickapp/src/pages/swipe/index.ux | 79 ++++++++ 21 files changed, 994 insertions(+), 498 deletions(-) create mode 100644 quickapp/src/assets/images/trash.png create mode 100644 quickapp/src/helper/apis.js delete mode 100644 quickapp/src/helper/apis/example.js delete mode 100644 quickapp/src/helper/apis/index.js delete mode 100644 quickapp/src/pages/Home/device.ux create mode 100644 quickapp/src/pages/component/Message/msg-card.ux delete mode 100644 quickapp/src/pages/component/Message/msg-image.ux delete mode 100644 quickapp/src/pages/component/Message/msg-markdown.ux delete mode 100644 quickapp/src/pages/component/Message/msg-text.ux create mode 100644 quickapp/src/pages/component/devpage.ux create mode 100644 quickapp/src/pages/component/swipeItem.ux create mode 100644 quickapp/src/pages/swipe/index.ux diff --git a/quickapp/package.json b/quickapp/package.json index 254fcbb..8ec57f9 100644 --- a/quickapp/package.json +++ b/quickapp/package.json @@ -12,15 +12,21 @@ "gen": "node ./scripts/gen/index.js", "precommit-msg": "echo '🚧 start pre-commit checks ...' && exit 0", "prettier": "node ./scripts/selfCloseInputTag.js && prettier --write \"src/**/*.{ux,js,json,less,scss,css,pcss,md,vue}\"", - "prettier-watcher": "onchange '**/*.md' \"src/**/**/*.{ux,js,json,less,scss,css,pcss,md,vue}\" -- prettier --write {{changed}}" + "prettier-watcher": "onchange '**/*.md' \"src/**/**/*.{ux,js,json,less,scss,css,pcss,md,vue}\" -- prettier --write {{changed}}", + "fa-build": "node node_modules/webpack/bin/webpack.js --config ./node_modules/fa-toolkit/webpack.config.js", + "fa-watch": "node node_modules/webpack/bin/webpack.js --watch --config ./node_modules/fa-toolkit/webpack.config.js", + "fa-release": "node ./node_modules/cross-env/src/bin/cross-env.js uglifyjs=true sign=release node_modules/webpack/bin/webpack.js --config ./node_modules/fa-toolkit/webpack.config.js" }, "dependencies": { - "apex-ui": "^1.9.2" + "apex-ui": "^1.9.2", + "dayjs": "^1.10.7" }, "devDependencies": { "@babel/runtime": "^7.12.5", "@types/quickapp": "npm:quickapp-interface@^1.0.0", "colors": "^1.4.0", + "cross-env": "^7.0.2", + "fa-toolkit": "file:fa-toolkit-11.6.1-Stable.300.tgz", "husky": "^7.0.1", "less": "^4.1.1", "less-loader": "^10.0.1", @@ -55,4 +61,4 @@ "browserslist": [ "chrome 65" ] -} +} \ No newline at end of file diff --git a/quickapp/src/app.ux b/quickapp/src/app.ux index f489f44..b8930a2 100644 --- a/quickapp/src/app.ux +++ b/quickapp/src/app.ux @@ -1,17 +1,62 @@ diff --git a/quickapp/src/assets/images/trash.png b/quickapp/src/assets/images/trash.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc5d26c26e4ee8afd57fb09e10993caea9027f9 GIT binary patch literal 1648 zcmV-$29NoPP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91CZGcV1ONa40RR91F8}}l0Eyy4DgXcl+DSw~R9Fe^Slw$KMHD}0cJECZ z)3gd!jamvOrW%_Tg4iTb1VKVoM0`+u@I|Dc;2+>0;EPWpzNwEwU&J?G1RrdZXsM8o ztF2-mG^iC(n>IDMxjUz4?(WQ-+1-2ZCL{&Hg?o4Q%=wyge&@{WB5d=bnd2`3!5ILY z0Hi@4W2p)R4TOI&&jPgQUHp1!p_H!!v0P~fW|}_!9w5HeVY(YR0iC>x^UI%fW0G@~ z9ix*cW*~xdQW$`4a8#0z=AP;t%YE*NU=23c4&%iu*Bq_OAnr03PAPhU(`RWvL(-bX zg_Z9uA%7>seDc^VDD@df**G}_wf#>q-=}%rvS(FB>_EHU(KUV8%_+mjOCVfW{+x$j zIynViha;8`w&56x=;HNqbtP29HAh7dIvllhunosb<@byj)6Cc~P~Y=h_Vw;oXvASm z(J7jmU>H@nh(;M>DI*Bkp5xX2Njg;j0N!^L*q>+Oz;kXHv0&t5XT-|s%*gxH;FLl#(ObPvDEMFX0}4dZVJZ;2HM?w zFPt(u%>lq(h&>!@G}akcX&XSU@tH9%%u2Y_U*nDZcbcAf!|F75njAmO^hqs%eFY7v_p_Iy^>T0(&_X|tnaARGf7MvSsl zLbZrN{Z5a?LMlbXDq)O7zJrqHr6}BJF9<6}tf@uBR4QvD1}L&2Y<7+qpX2SNMdcWp ztxBp0{#u`RERQh~g+?d@8k&HBlkq7$p@_8B~bCfl;PKlRTh( z#hJOXD~Y{hNh?gH1ivh}OivMGAyXJJWg9F@_YHcZWlkBI5)q43=$OP<5R6n=iDROV zp)6?@uvKYfHF()XfR06Se|@n4IGC0kxL<@BeET64P? z696^JWG{+py;F(8vARzsO%4z6QOIYjC3yhXLsUzJT%Qx6aRFbx7P`Pji)WGeGkt2!j@nv|B#j*bq}@qBJ+*GUpTkKQ3LY} zE}UEWDIjDI{6ToRKqolJuZfmJ7MmrOfZt3JUiBO_>&Ck^P#_|xy)B`?Q^d|Q&s4_u zHor~Z$0=N5aHMbPLcz9%=2Iu(lPvR`m&338*pFO5J&6PM_+t-3EneYp4@vs2kBKhB zwbn$n2Fup*!pbkajO8%O*>Zhzu P.resolve(callback()).then(() => value), @@ -25,24 +25,21 @@ function fetchPromise(params) { return new Promise((resolve, reject) => { $fetch .fetch({ - url: params.url, - method: params.method, - data: params.data + ...params, + responseType: 'json', }) - .then(response => { - const result = response.data - const content = JSON.parse(result.data) - /* @desc: 可跟具体不同业务接口数据,返回你所需要的部分,使得使用尽可能便捷 */ - content.success ? resolve(content.value) : resolve(content.message) + .then(res => { + // console.log('ajax then', res) + const data = res.data.data + data.code === 0 ? + resolve(data.content) + : reject({ code: data.code, msg: data.error }) }) - .catch((error, code) => { - console.log(`🐛 request fail, code = ${code}`) - reject(error) - }) - .finally(() => { - console.log(`✔️ request @${params.url} has been completed.`) - resolve() + .catch(err => { + console.warn('ajax catch', err.data, err.code); + reject({ msg: err.data, code: err.code }) }) + }) } @@ -66,20 +63,20 @@ function requestHandle(params, timeout = TIMEOUT) { } export default { - post: function(url, params) { + post: function (url, params) { return requestHandle({ method: 'post', url: url, data: params }) }, - get: function(url, params) { + get: function (url, params) { return requestHandle({ method: 'get', url: $utils.queryString(url, params) }) }, - put: function(url, params) { + put: function (url, params) { return requestHandle({ method: 'put', url: url, diff --git a/quickapp/src/helper/apis.js b/quickapp/src/helper/apis.js new file mode 100644 index 0000000..bcfcb35 --- /dev/null +++ b/quickapp/src/helper/apis.js @@ -0,0 +1,75 @@ +import $ajax from './ajax' + +/** + * @desc 在实际开发中,您可以将 baseUrl 替换为您的请求地址前缀; + * + * 已将 $apis 挂载在 global,您可以通过如下方式,进行调用: + * $apis.example.getApi().then().catch().finally() + * + * 备注:如果您不需要发起请求,删除 apis 目录,以及 app.ux 中引用即可; + */ +const baseUrl = 'https://pushdeer.qiyanghong.cn:5443/' + +let token = "" + +function to(promise) { + return promise + .catch(err => { $utils.showToast(err) }); +} + +export default { + setToken(t) { + token = t + }, + login() { + return to($ajax.get(`${baseUrl}login/fake`).then(res => res.token)) + }, + userInfo() { + return to($ajax.post(`${baseUrl}user/info`, { token })) + }, + // device + deviceReg(name, device_id) { + return to($ajax.post(`${baseUrl}device/reg`, { token, is_clip: 1, name, device_id })) + .then(res => res.devices) + }, + deviceList() { + return to($ajax.post(`${baseUrl}device/list`, { token })) + .then(res => res.devices) + }, + deviceRename(id, name) { + return to($ajax.post(`${baseUrl}device/rename`, { token, id, name })) + }, + deviceRemove(id) { + return to($ajax.post(`${baseUrl}device/remove`, { token, id })) + }, + // key + keyGen() { + return to($ajax.post(`${baseUrl}key/gen`, { token })) + .then(res => res.keys) + }, + keyList() { + return to($ajax.post(`${baseUrl}key/list`, { token })) + .then(res => res.keys) + }, + keyRename(id, name) { + return to($ajax.post(`${baseUrl}key/rename`, { token, id, name })) + }, + keyRegen(id) { + return to($ajax.post(`${baseUrl}key/regen`, { token, id })) + }, + keyRemove(id) { + return to($ajax.post(`${baseUrl}key/remove`, { token, id })) + }, + // message + messageList() { + return to($ajax.post(`${baseUrl}message/list`, { token })) + .then(res => res.messages) + // [{"id":3,"uid":"1","text":"\u8fd9\u662f\u4ec0\u4e48\u54401111","desp":"","type":"markdown","created_at":"2021-12-22T12:09:46.000000Z"},{"id":2,"uid":"1","text":"\u8fd9\u662f\u4ec0\u4e48\u5440234","desp":"","type":"markdown","created_at":"2021-12-22T12:08:32.000000Z"}] + }, + messagePush(text, desp, type) { + return to($ajax.post(`${baseUrl}message/push`, { token, text, desp, type })) + }, + messageRemove(id) { + return to($ajax.post(`${baseUrl}message/remove`, { token, id })) + } +} diff --git a/quickapp/src/helper/apis/example.js b/quickapp/src/helper/apis/example.js deleted file mode 100644 index 675db1d..0000000 --- a/quickapp/src/helper/apis/example.js +++ /dev/null @@ -1,20 +0,0 @@ -import $ajax from '../ajax' - -/** - * @desc 在实际开发中,您可以将 baseUrl 替换为您的请求地址前缀; - * - * 已将 $apis 挂载在 global,您可以通过如下方式,进行调用: - * $apis.example.getApi().then().catch().finally() - * - * 备注:如果您不需要发起请求,删除 apis 目录,以及 app.ux 中引用即可; - */ -const baseUrl = 'https://api.exampel.com/' - -export default { - getApi(data) { - return $ajax.get(`${baseUrl}your-project-api`, data) - }, - postOtherApi(data) { - return $ajax.post(`${baseUrl}your-project-api`, data) - } -} diff --git a/quickapp/src/helper/apis/index.js b/quickapp/src/helper/apis/index.js deleted file mode 100644 index 6e99844..0000000 --- a/quickapp/src/helper/apis/index.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * 导出 apis 下目录的所有接口 - */ -const files = require.context('.', true, /\.js/) -const modules = {} - -files.keys().forEach(key => { - if (key === './index.js') { - return - } - modules[key.replace(/(^\.\/|\.js$)/g, '')] = files(key).default -}) - -export default modules diff --git a/quickapp/src/manifest.json b/quickapp/src/manifest.json index 30e0e72..ee0021e 100644 --- a/quickapp/src/manifest.json +++ b/quickapp/src/manifest.json @@ -1,5 +1,5 @@ { - "package": "com.pushdeer.app", + "package": "dev.pushdeer.app", "name": "pushdeer", "versionName": "1.0.0", "versionCode": 1, @@ -17,6 +17,12 @@ }, { "name": "system.fetch" + }, + { + "name": "system.storage" + }, + { + "name": "system.device" } ], "permissions": [ @@ -24,7 +30,6 @@ "origin": "*" } ], - "template/official": "demo-template", "config": { "logLevel": "debug" }, @@ -37,6 +42,12 @@ "pages/Home": { "component": "index", "launchMode": "singleTask" + }, + "pages/component": { + "component": "devpage" + }, + "pages/swipe":{ + "component": "index" } } }, diff --git a/quickapp/src/pages/Home/device.ux b/quickapp/src/pages/Home/device.ux deleted file mode 100644 index f611494..0000000 --- a/quickapp/src/pages/Home/device.ux +++ /dev/null @@ -1,31 +0,0 @@ - - - - - diff --git a/quickapp/src/pages/component/Device/index.ux b/quickapp/src/pages/component/Device/index.ux index 9c733c2..45ded51 100644 --- a/quickapp/src/pages/component/Device/index.ux +++ b/quickapp/src/pages/component/Device/index.ux @@ -1,4 +1,5 @@ + diff --git a/quickapp/src/pages/component/Key/index.ux b/quickapp/src/pages/component/Key/index.ux index 57d9797..d9f04ff 100644 --- a/quickapp/src/pages/component/Key/index.ux +++ b/quickapp/src/pages/component/Key/index.ux @@ -1,4 +1,5 @@ + diff --git a/quickapp/src/pages/swipe/index.ux b/quickapp/src/pages/swipe/index.ux new file mode 100644 index 0000000..d5402c4 --- /dev/null +++ b/quickapp/src/pages/swipe/index.ux @@ -0,0 +1,79 @@ + + + + \ No newline at end of file