From c20791a4edd20eebaf8a1d516cac9f13991ad982 Mon Sep 17 00:00:00 2001 From: "Xc@centOs" Date: Fri, 8 Jul 2022 14:42:28 +0800 Subject: [PATCH] =?UTF-8?q?tokenlogin=E9=80=82=E9=85=8Dweb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/pages/mobile/me/index.ts | 21 ++++++++++++++++ app/pages/token/login/index.json | 5 ---- app/pages/token/login/index.less | 16 ------------ app/pages/token/login/index.ts | 35 -------------------------- app/pages/token/login/index.tsx | 9 ------- app/pages/token/login/index.wxml | 13 ---------- app/pages/token/me/index.ts | 23 ++++++++++++----- app/pages/token/me/index.tsx | 42 ++++++++++++++++++++++++++++++-- lib/aspects/wechatQrCode.d.ts | 2 +- lib/entities/Token.js | 9 ++++++- lib/entities/User.js | 2 ++ lib/entities/UserEntityGrant.js | 3 ++- package.json | 2 +- src/entities/Token.ts | 15 +++++++++--- src/entities/User.ts | 2 ++ src/entities/UserEntityGrant.ts | 3 ++- 16 files changed, 108 insertions(+), 94 deletions(-) delete mode 100644 app/pages/token/login/index.json delete mode 100644 app/pages/token/login/index.less delete mode 100644 app/pages/token/login/index.ts delete mode 100644 app/pages/token/login/index.tsx delete mode 100644 app/pages/token/login/index.wxml diff --git a/app/pages/mobile/me/index.ts b/app/pages/mobile/me/index.ts index 87f0cd61c..c78e03f15 100644 --- a/app/pages/mobile/me/index.ts +++ b/app/pages/mobile/me/index.ts @@ -9,6 +9,27 @@ export default OakPage({ mobile: 1, userId: 1, }, + filters: [{ + filter: async ({ features }) => { + const tokenId = await features.token.getToken(); + return { + user: { + id: { + $in: { + entity: 'token', + data: { + userId: 1, + }, + filter: { + id: tokenId, + ableState: 'enabled', + } + } + } + }, + }; + }, + }], formData: async ({ data: mobiles }) => ({ mobiles, }), diff --git a/app/pages/token/login/index.json b/app/pages/token/login/index.json deleted file mode 100644 index 188925df5..000000000 --- a/app/pages/token/login/index.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "navigationBarTitleText": "用户登录", - "usingComponents": { - } -} \ No newline at end of file diff --git a/app/pages/token/login/index.less b/app/pages/token/login/index.less deleted file mode 100644 index 06cb2e267..000000000 --- a/app/pages/token/login/index.less +++ /dev/null @@ -1,16 +0,0 @@ -/** index.wxss **/ -@import "../../../config/styles/_base.less"; -@import "../../../config/styles/_mixins.less"; - -page { - height: 100%; -} - -.page-body { - height: 100%; - display: flex; - flex-direction: column; - align-items: stretch; - justify-content: flex-end; - // background-color: slategrey; -} diff --git a/app/pages/token/login/index.ts b/app/pages/token/login/index.ts deleted file mode 100644 index 9d238825f..000000000 --- a/app/pages/token/login/index.ts +++ /dev/null @@ -1,35 +0,0 @@ -export default OakPage({ - path: 'token:login', - entity: 'token', - projection: { - id: 1, - wechatUser: { - id: 1, - }, - userId: 1, - playerId: 1, - }, - isList: true, - formData: async ({ features }) => { - const tokenValue = await features.token.getToken(); - if (tokenValue) { - return { - loggedIn: true, - }; - } - return { - loggedIn: false, - }; - }, - methods: { - async onLoginClicked(options: WechatMiniprogram.Touch) { - const { code } = await wx.login(); - const env = await wx.getSystemInfo(); - await this.features.token.loginWechatMp(); - }, - - onReturnClicked() { - this.navigateBack(); - }, - }, -}); diff --git a/app/pages/token/login/index.tsx b/app/pages/token/login/index.tsx deleted file mode 100644 index a851b66b3..000000000 --- a/app/pages/token/login/index.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import React, { Component } from 'react'; - -export default function render() { - return ( -
- react -
- ); -} diff --git a/app/pages/token/login/index.wxml b/app/pages/token/login/index.wxml deleted file mode 100644 index e5b225c77..000000000 --- a/app/pages/token/login/index.wxml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/pages/token/me/index.ts b/app/pages/token/me/index.ts index 507839ed5..34cf3dbb3 100644 --- a/app/pages/token/me/index.ts +++ b/app/pages/token/me/index.ts @@ -55,9 +55,9 @@ export default OakPage({ }, filters: [{ filter: async ({ features }) => { - const token = await features.token.getToken(); + const tokenId = await features.token.getToken(); return { - id: token, + id: tokenId, }; }, }], @@ -109,13 +109,24 @@ export default OakPage({ refreshing: true, }); try { - await this.features.token.loginWechatMp(); + switch(process.env.OAK_PLATFORM) { + case 'wechatMp': { + await this.features.token.loginWechatMp(); + this.setState({ + refreshing: false, + }); + break; + } + case 'web': { + this.navigateTo({ + url: '/mobile/me' + }); + break; + } + } } catch (err) { console.error(err); } - this.setState({ - refreshing: false, - }); }, goMyMobile() { this.navigateTo({ diff --git a/app/pages/token/me/index.tsx b/app/pages/token/me/index.tsx index b26d4dbe2..ac7a38b07 100644 --- a/app/pages/token/me/index.tsx +++ b/app/pages/token/me/index.tsx @@ -1,13 +1,51 @@ import React, { Component } from 'react'; +import { UserOutlined, RightOutlined } from '@ant-design/icons'; +import { Avatar, Image, Button, List } from 'antd'; export default function render() { - const { avatar } = this.state; + const { avatar, nickname, isLoggedIn, refreshing, mobile, mobileCount } = this.state; + const mobileText = mobileCount > 1 ? `${mobileCount}条手机号` : ( mobile || '未设置'); return (
{ - avatar ? + avatar ? } /> : } size={120} /> } + {nickname || '未设置'} + { + isLoggedIn ? + : + + } +
+
+ + + console.log('aaa')} + /> + + +
); diff --git a/lib/aspects/wechatQrCode.d.ts b/lib/aspects/wechatQrCode.d.ts index 09119f67c..2747a7273 100644 --- a/lib/aspects/wechatQrCode.d.ts +++ b/lib/aspects/wechatQrCode.d.ts @@ -9,7 +9,7 @@ export declare function createWechatQrCode, import("oak-domain/lib/types").InstinctiveAttributes> & { +}, context: Cxt): Promise, import("oak-domain/lib/types").InstinctiveAttributes> & { id: string; } & { applicationId: string; diff --git a/lib/entities/Token.js b/lib/entities/Token.js index 2824bf278..0a3fcd137 100644 --- a/lib/entities/Token.js +++ b/lib/entities/Token.js @@ -12,10 +12,17 @@ const locale = { user: '用户', player: '扮演者', env: '环境', + ableState: '状态', }, action: { enable: '激活', disable: '禁用', - } + }, + v: { + ableState: { + enabled: '使用中', + disabled: '已禁用' + }, + }, }, }; diff --git a/lib/entities/User.js b/lib/entities/User.js index 3fb725119..9b3f373f9 100644 --- a/lib/entities/User.js +++ b/lib/entities/User.js @@ -57,6 +57,8 @@ const locale = { idNumber: '证件号码', ref: '介绍人', files: '相关文件', + userState: '用户状态', + idState: '身份验证状态', }, action: { activate: '激活', diff --git a/lib/entities/UserEntityGrant.js b/lib/entities/UserEntityGrant.js index 7ae9ad436..952b3c04b 100644 --- a/lib/entities/UserEntityGrant.js +++ b/lib/entities/UserEntityGrant.js @@ -38,7 +38,8 @@ const locale = { granter: '授权人', files: '微信码', expired: '是否过期', - expiresAt: '过期时间' + expiresAt: '过期时间', + iState: '状态', }, action: { confirm: '确认' diff --git a/package.json b/package.json index 262bdedda..6c22c32a0 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "prebuild": "ts-node ./scripts/make.ts", "build": "tsc", "get:area": "ts-node ./scripts/getAmapArea.ts", - "clean:dts": "ts-node ./scripts/cleanDtsAndJs" + "clean:dir": "ts-node ./scripts/cleanDtsAndJs" }, "main": "src/index" } diff --git a/src/entities/Token.ts b/src/entities/Token.ts index 27a265e2a..79f13ff98 100644 --- a/src/entities/Token.ts +++ b/src/entities/Token.ts @@ -1,7 +1,7 @@ import { String, Int, Datetime, Image, Boolean } from 'oak-domain/lib/types/DataType'; import { Schema as User } from './User'; import { Schema as Application } from './Application'; -import { AbleAction, makeAbleActionDef } from 'oak-domain/lib/actions/action'; +import { AbleAction, AbleState, makeAbleActionDef } from 'oak-domain/lib/actions/action'; import { EntityShape } from 'oak-domain/lib/types/Entity'; import { LocaleDef } from 'oak-domain/lib/types/Locale'; // https://developers.weixin.qq.com/miniprogram/dev/api/base/system/wx.getSystemInfoSync.html @@ -48,7 +48,9 @@ type Action = AbleAction; const AbleActionDef = makeAbleActionDef('enabled'); -const locale: LocaleDef = { +const locale: LocaleDef = { zh_CN: { attr: { application: '应用', @@ -57,10 +59,17 @@ const locale: LocaleDef = { user: '用户', player: '扮演者', env: '环境', + ableState: '状态', }, action: { enable: '激活', disable: '禁用', - } + }, + v: { + ableState: { + enabled: '使用中', + disabled: '已禁用' + }, + }, }, }; diff --git a/src/entities/User.ts b/src/entities/User.ts index d8b7c7d43..251b8ebe1 100644 --- a/src/entities/User.ts +++ b/src/entities/User.ts @@ -90,6 +90,8 @@ const locale: LocaleDef