实名认证完成

This commit is contained in:
wkj 2024-05-18 12:53:03 +08:00
parent 6c69828cc5
commit a9364dc050
145 changed files with 780 additions and 338 deletions

View File

@ -1,2 +1,2 @@
declare const checkers: (import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>>)[];
declare const checkers: (import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "parasite", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "address", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "application", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "token", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "user", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "userEntityGrant", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatQrCode", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "mobile", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "wechatPublicTag", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>> | import("oak-domain/lib/types").Checker<import("../oak-app-domain").EntityDict, "message", import("..").RuntimeCxt<import("../oak-app-domain").EntityDict>>)[];
export default checkers;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "address", true, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "address", true, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "address", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "address", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "application", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "application", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "application", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "application", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "application", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "application", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
/// <reference types="wechat-miniprogram" />
import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "application", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "application", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "article", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "article", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "article", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "article", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "article", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "article", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -15,5 +15,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
articleId: string;
currentArticle: string;
setCurrentArticle: (id: string) => void;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -2,5 +2,5 @@ import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "article", false, {
articleMenuId: string;
changeIsEdit: () => void;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -22,5 +22,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
}) => void;
currentArticle: string;
setCurrentArticle: (id: string) => void;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -29,5 +29,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
}) => void;
currentArticle: string;
setCurrentArticle: (id: string) => void;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -4,5 +4,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
show: string;
articleMenuId: string;
articleId: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "user", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "user", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "user", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "user", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../oak-app-domain").EntityDict, keyof import("../../oak-app-domain").EntityDict, false, {
oakId: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -17,5 +17,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
border: boolean;
selectedIconPath: string;
iconPath: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -8,5 +8,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
entityId: string;
type: string;
isService: boolean;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -4,5 +4,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
entity: "application" | "system" | "platform";
entityId: string;
name: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -50,6 +50,22 @@ export default function Basic(props) {
}
}} suffix="毫秒"/>
</Form.Item>
<Form.Item label="实名认证需要上传照片"
//name="needUploadIDCardPhoto"
tooltip="实名认证是否需要上传照片, 默认不需要">
<>
<Switch checkedChildren="是" unCheckedChildren="否" checked={app?.needUploadIDCardPhoto} onChange={(checked) => setValue(`needUploadIDCardPhoto`, checked)}/>
</>
</Form.Item>
<Form.Item label="实名认证需要人工校验"
//name="needManualVerification"
tooltip="实名认证是否需要人工校验, 默认不需要">
<>
<Switch checkedChildren="是" unCheckedChildren="否" checked={app?.needManualVerification} onChange={(checked) => setValue(`needManualVerification`, checked)}/>
</>
</Form.Item>
</Form>
</Col>
</Space>);

View File

@ -4,5 +4,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
entity: "system" | "platform";
name: string;
entityId: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "domain", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "domain", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "domain", true, {
systemId: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "domain", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "domain", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -12,5 +12,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
entityId: string;
tag1: string;
tag2: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -4,5 +4,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
entity: keyof EntityDict;
entityId: string;
autoUpload: boolean;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,4 @@
/// <reference types="react" />
import { EntityDict } from '../../../oak-app-domain';
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/types/Entity';
import { ReactComponentProps } from 'oak-frontend-base/lib/types/Page';
@ -12,19 +13,19 @@ declare const _default: <ED2 extends EntityDict & BaseEntityDict, T2 extends key
type?: ButtonProps['type'] | AmButtonProps['type'];
executeText?: string | undefined;
buttonProps?: (ButtonProps & {
color?: "primary" | "success" | "warning" | "default" | "danger" | undefined;
color?: "success" | "default" | "warning" | "primary" | "danger" | undefined;
fill?: "none" | "solid" | "outline" | undefined;
size?: "small" | "large" | "middle" | "mini" | undefined;
size?: "small" | "middle" | "large" | "mini" | undefined;
block?: boolean | undefined;
loading?: boolean | "auto" | undefined;
loadingText?: string | undefined;
loadingIcon?: import("react").ReactNode;
disabled?: boolean | undefined;
onClick?: ((event: import("react").MouseEvent<HTMLButtonElement, MouseEvent>) => unknown) | undefined;
type?: "reset" | "submit" | "button" | undefined;
type?: "button" | "reset" | "submit" | undefined;
shape?: "default" | "rounded" | "rectangular" | undefined;
children?: import("react").ReactNode;
} & Pick<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement>, "id" | "onMouseUp" | "onMouseDown" | "onTouchStart" | "onTouchEnd"> & {
} & Pick<import("react").ClassAttributes<HTMLButtonElement> & import("react").ButtonHTMLAttributes<HTMLButtonElement>, "id" | "onMouseDown" | "onMouseUp" | "onTouchStart" | "onTouchEnd"> & {
className?: string | undefined;
style?: (import("react").CSSProperties & Partial<Record<"--text-color" | "--background-color" | "--border-radius" | "--border-width" | "--border-style" | "--border-color", string>>) | undefined;
tabIndex?: number | undefined;

View File

@ -1,4 +1,6 @@
<!-- index.wxml -->
<l-button size="long" disabled="{{oakExecuting}}" loading="{{oakExecuting}}" bind:lintap="onSubmit">
<l-button size="long"
disabled="{{(oakExecuting || state === 'uploading' || (oakExecutable !== true && state === 'uploaded')) && !failureIds }}"
loading="{{oakExecuting}}" bind:lintap="onSubmit">
{{ executeText || t('common::submit')}}
</l-button>

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, boolean, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, boolean, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "message", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "message", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "message", true, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "message", true, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "message", true, {
onClose: (() => void) | undefined;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -2,5 +2,5 @@ import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "messageTypeSmsTemplate", true, {
systemId: string;
origin: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,5 +1,5 @@
import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, keyof EntityDict, false, {
systemId: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,5 +1,5 @@
import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "messageTypeTemplate", true, {
applicationId: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -3,5 +3,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
onlyPassword: boolean;
eventLoggedIn: string;
callback: (() => void) | undefined;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "mobile", true, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "mobile", true, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,5 @@
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "mobile", true, {
onFinish: (() => void) | undefined;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
bindNum: number;
}>) => React.ReactElement;
export default _default;

View File

@ -18,13 +18,14 @@ export default OakComponent({
},
},
],
formData: ({ data: mobiles, features }) => {
formData: ({ data: mobiles, props, features }) => {
const token = features.token.getToken();
const tokenMobileId = token.entity === 'mobile' && token.entityId;
return {
tokenMobileId,
mobiles,
allowRemove: mobiles.length > 1,
allowBind: mobiles.length <= props.bindNum - 1,
};
},
data: {
@ -33,7 +34,8 @@ export default OakComponent({
deleteIdx: undefined,
},
properties: {
onFinish: undefined
onFinish: undefined,
bindNum: 10,
},
methods: {
async onRefreshMobile(e) {
@ -55,7 +57,7 @@ export default OakComponent({
}
}
else {
// await this.features.token.getWechatMpUserPhoneNumber(code);
await this.features.token.getWechatMpUserPhoneNumber(code);
if (onFinish) {
onFinish();
}

View File

@ -1,6 +1,7 @@
{
"navigationBarTitleText": "绑定手机号",
"usingComponents": {
"l-loading": "@oak-frontend-base/miniprogram_npm/lin-ui/loading/index",
"l-button": "@oak-frontend-base/miniprogram_npm/lin-ui/button/index",
"l-card": "@oak-frontend-base/miniprogram_npm/lin-ui/card/index",
"l-list": "@oak-frontend-base/miniprogram_npm/lin-ui/list/index",

View File

@ -30,4 +30,12 @@
margin-top: 20rpx;
padding: 0 20rpx;
}
.loading {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}

View File

@ -1,32 +1,50 @@
<!-- index.wxml -->
<view class="page-body">
<block wx:if="{{mobiles && mobiles.length > 0}}">
<view class="container">
<view class="list" wx:for="{{mobiles}}">
<l-list icon="mobile" title="{{item.mobile}}" is-link="{{false}}" >
<view slot="right-section">
<view wx:if="{{allowRemove}}" bind:tap="onRemoveModalOpen" data-id="{{item.id}}">
<l-icon name="delete" size="24" />
<block wx:if="{{ oakLoading }}">
<view class="loading">
<l-loading show="{{true}}" type="circle"></l-loading>
</view>
</block>
<block wx:else>
<block wx:if="{{mobiles && mobiles.length > 0}}">
<view class="container">
<view class="list" wx:for="{{mobiles}}">
<l-list icon="mobile" title="{{item.mobile}}" is-link="{{false}}">
<view slot="right-section">
<view wx:if="{{allowRemove}}" bind:tap="onRemoveModalOpen"
data-id="{{item.id}}">
<l-icon name="delete" size="24" />
</view>
</view>
</l-list>
</view>
</view>
</l-list>
</view>
</view>
</block>
<block wx:else>
<view class="container container2">
<l-card type="primary" plaintext="{{true}}">
<view class="card">
您尚未授权手机号
</block>
<block wx:else>
<view class="container container2">
<l-card type="primary" plaintext="{{true}}">
<view class="card">
您尚未授权手机号
</view>
</l-card>
</view>
</l-card>
</view>
</block>
</block>
<block wx:if="{{ allowBind }}">
<l-button type="default" block size="long" loading="{{ refreshing }}"
open-type="getPhoneNumber"
bindgetphonenumber="onRefreshMobile">
授权手机号
</l-button>
</block>
</block>
<l-button type="default" block size="long" loading="{{ refreshing }}" open-type="getPhoneNumber" bindgetphonenumber="onRefreshMobile">
授权手机号
</l-button>
</view>
<l-dialog show="{{confirmDeleteModalVisible}}" type="confirm" title="提示" content="确认删除吗?删除后无法用此号码登录" bind:linconfirm="onRemoveConfirm" bind:lincancel="onRemoveModalClose" />

View File

@ -3,5 +3,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
size: string | number;
iconColor: string;
iconName: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, false, {
showLogout: boolean;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "article", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "article", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "article", true, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "article", true, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
/// <reference types="wechat-miniprogram" />
import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "article", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "article", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "parasite", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "parasite", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
/// <reference types="wechat-miniprogram" />
import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, keyof EntityDict, false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, keyof EntityDict, false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -2,5 +2,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
entity: string;
entityId: string;
nameLabel: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,5 +1,5 @@
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "area", true, {
depth: number;
onAreaSelected: (id: string) => void;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "platform", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "platform", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "platform", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "platform", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "system", true, {
platformId: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "platform", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "platform", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -3,5 +3,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
onSelect: (id: string) => void;
isEntity: boolean;
name: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -3,5 +3,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
isEntity: boolean;
entityDisplay: (data: any) => any[];
entityProjection: any;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, keyof import("../../../oak-app-domain").EntityDict, false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -9,5 +9,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
sessionId: string;
dialog: boolean;
onItemClick: ((sessionId: string) => {}) | null | undefined;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -2,5 +2,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
sessionId: string;
entity: string;
entityId: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "sessionMessage", false, {
isEntity: boolean;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -8,5 +8,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
entityId: string;
entityDisplay: (data: EntityDict['session']['Schema'][] | RowWithActions<EntityDict, 'session'>[]) => any[];
entityProjection: any;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -5,5 +5,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
customUpload: (file: UploadFile) => void;
send: () => void;
setText: (text: string) => void;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../../oak-app-domain").EntityDict, "subscription", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../../oak-app-domain").EntityDict, "subscription", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "subscription", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "subscription", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -2,5 +2,5 @@ import { EntityDict } from '../../../oak-app-domain/EntityDict';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "subscription", false, {
entityId: string;
entity: keyof EntityDict;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "subway", true, {}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "subway", true, {}>) => React.ReactElement;
export default _default;

View File

@ -3,5 +3,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
onCancel: (() => void) | undefined;
onConfirm: ((stationIds: string[]) => void) | undefined;
selectIds: string[] | undefined;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -3,5 +3,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
openStation: boolean;
onClose: () => void;
subwayId: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -2,5 +2,5 @@ import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "subway", false, {
openSubway: boolean;
onClose: () => void;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "application", true, {
systemId: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "system", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "system", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "system", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "system", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "system", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "system", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "token", true, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "token", true, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -5,5 +5,6 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
entityId: string;
entity: string;
autoUpload: boolean;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
disabled: boolean;
}>) => React.ReactElement;
export default _default;

View File

@ -27,16 +27,20 @@ export default OakComponent({
let file2Url;
const { idCardType } = this.props;
if (idCardType === 'ID-Card') {
file1 = rows?.find((ele) => !ele.$$deleteAt$$ && ele.tag1 === idCardType && ele.tag2 === 'file1');
file1 = rows?.find((ele) => !ele.$$deleteAt$$ &&
ele.tag1 === idCardType &&
ele.tag2 === 'file1');
file1Url = features.extraFile.getUrl(file1);
file2 = rows?.find((ele) => !ele.$$deleteAt$$ && ele.tag1 === idCardType && ele.tag2 === 'file2');
file2 = rows?.find((ele) => !ele.$$deleteAt$$ &&
ele.tag1 === idCardType &&
ele.tag2 === 'file2');
file2Url = features.extraFile.getUrl(file2);
}
return {
file1,
file2,
file1Url,
file2Url
file2Url,
};
},
data: {},
@ -45,7 +49,8 @@ export default OakComponent({
idCardType: '',
entityId: '',
entity: 'user',
autoUpload: false
autoUpload: false,
disabled: false,
},
methods: {
async onPickMp(e) {
@ -87,7 +92,7 @@ export default OakComponent({
}
},
async pushExtraFile(options, tag2) {
const { entity, entityId, autoUpload = false, origin = 'qiniu', idCardType } = this.props;
const { entity, entityId, autoUpload = false, origin = 'qiniu', idCardType, } = this.props;
const { name, extra1, fileType, size } = options;
const extension = name.substring(name.lastIndexOf('.') + 1);
const filename = name.substring(0, name.lastIndexOf('.'));
@ -108,7 +113,7 @@ export default OakComponent({
entityId,
entity,
sort: 1000,
uploadState: 'uploading'
uploadState: 'uploading',
};
const _file = this.state[tag2]; //取出file1、file2
// 如果autoUpload

View File

@ -1,5 +1,8 @@
import { EntityDict } from '../../../oak-app-domain';
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "user", false, {
origin: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
autoUpload: boolean;
onFinish: (() => void) | undefined;
needUploadPhotos: boolean;
}>) => React.ReactElement;
export default _default;

View File

@ -1,32 +1,40 @@
import { isIdCardNumber, isHkCardNumber, isTwCardNumber, isAmCardNumber, isPassportNumber, } from 'oak-domain/lib/utils/validator';
export default OakComponent({
entity: 'user',
// projection: {
// id: 1,
// name: 1,
// idCardType: 1,
// idNumber: 1,
// idState: 1,
// extraFile$entity: {
// $entity: 'extraFile',
// data: {
// id: 1,
// tag1: 1,
// origin: 1,
// bucket: 1,
// objectId: 1,
// filename: 1,
// extra1: 1,
// extension: 1,
// type: 1,
// entity: 1,
// entityId: 1,
// },
// filter: {
// tag1: 'IDCard',
// },
// },
// },
actions: ['verify'],
projection: {
id: 1,
name: 1,
idCardType: 1,
idNumber: 1,
idState: 1,
extraFile$entity: {
$entity: 'extraFile',
data: {
id: 1,
tag1: 1,
tag2: 1,
origin: 1,
bucket: 1,
objectId: 1,
filename: 1,
extra1: 1,
extension: 1,
type: 1,
entity: 1,
entityId: 1,
fileType: 1,
sort: 1,
isBridge: 1,
uploadState: 1,
},
filter: {
tag1: {
$in: ['ID-Card', 'passport', 'Mainland-passport'],
},
},
},
},
isList: false,
formData({ data: row, features }) {
let file1;
@ -40,6 +48,7 @@ export default OakComponent({
ele.tag1 === idCardType &&
ele.tag2 === 'file2');
}
// 'unverified' | 'verified' | 'verifying';
return {
name: row?.name,
idNumber: row?.idNumber,
@ -47,6 +56,7 @@ export default OakComponent({
idState: row?.idState,
file1,
file2,
showBtn: row?.['#oakLegalActions']?.includes('verify'),
};
},
data: {
@ -64,9 +74,18 @@ export default OakComponent({
label: '港澳台通行证',
},
],
beforeCommitMp() {
return this.beforeCommit();
},
afterCommitMp(id) {
return this.afterCommit(id);
},
},
properties: {
origin: 'qiniu',
autoUpload: false,
onFinish: undefined,
needUploadPhotos: false, //是否上传照片
},
methods: {
setNameMp(e) {
@ -87,42 +106,43 @@ export default OakComponent({
idNumber: value,
});
},
async onConfirm() {
beforeCommit() {
const { name, idCardType, idNumber, idState } = this.state;
const { needUploadPhotos } = this.props;
if (!name) {
this.setMessage({
type: 'warning',
content: '请输入姓名',
});
return;
return false;
}
if (!idCardType) {
this.setMessage({
type: 'warning',
content: '请输入证件类型',
});
return;
return false;
}
if (!idNumber) {
this.setMessage({
type: 'warning',
content: '请输入证件号码',
});
return;
return false;
}
if (idCardType === 'ID-Card' && !isIdCardNumber(idNumber)) {
this.setMessage({
type: 'warning',
content: '身份证号输入不合法',
});
return;
return false;
}
if (idCardType === 'passport' && !isPassportNumber(idNumber)) {
this.setMessage({
type: 'warning',
content: '护照输入不合法',
});
return;
return false;
}
if (idCardType === 'Mainland-passport' &&
!(isHkCardNumber(idNumber) ||
@ -132,26 +152,44 @@ export default OakComponent({
type: 'warning',
content: '港澳台通行证输入不合法',
});
return;
return false;
}
if (idCardType === 'ID-Card') {
// TODO 护照跟港澳台通行还未实现 by wkj
if (idCardType === 'ID-Card' && needUploadPhotos) {
const { file1, file2 } = this.state;
if (!file1) {
this.setMessage({
type: 'warning',
content: '请上传身份证人像面',
});
return;
return false;
}
else if (!file2) {
this.setMessage({
type: 'warning',
content: '请上传身份证国徽面',
});
return;
return false;
}
}
// this.execute();
return true;
},
afterCommit() {
const { onFinish } = this.props;
if (onFinish) {
onFinish();
}
else if (process.env.OAK_PLATFORM === 'wechatMp') {
this.triggerEvent('finish', {});
}
},
async onConfirm() {
const result = this.beforeCommit();
// action: 'verify' as 'verify' | 'accept',
if (result) {
await this.execute('verify');
this.afterCommit();
}
},
},
});

View File

@ -4,6 +4,7 @@
"l-input": "@oak-frontend-base/miniprogram_npm/lin-ui/input/index",
"l-picker": "@oak-frontend-base/miniprogram_npm/lin-ui/picker/index",
"l-button": "@oak-frontend-base/miniprogram_npm/lin-ui/button/index",
"idCard": "./idCard/index"
"idCard": "./idCard/index",
"extraFile-commit": "../../extraFile/commit/index"
}
}

View File

@ -19,4 +19,35 @@
.inner {
background-color: #fff;
padding: 20rpx 0rpx;
}
.loading {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.verify {
flex: 1;
display: flex;
flex-direction: column;
.info {
background-color: #fff;
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
border-radius: 8rpx;
color: #000;
font-size: 36rpx;
font-weight: 600;
margin: 32rpx 32rpx;
padding: 32rpx;
}
}

View File

@ -1,18 +1,63 @@
<view class="page-body">
<view class="container">
<view class="inner">
<l-input required value="{{ name }}" label="{{ t('user:attr.name') }}" placeholder="{{ t('please input name') }}" bind:lininput="setNameMp" />
<l-picker required label="{{ t('user:attr.idCardType') }}" placeholder="{{ t('please choose idCardType') }}" range="{{ idCardTypeArr }}" rangeKey="label" value="{{idCardType}}" bind:linchange="setIdCardTypeMp" />
<l-input required value="{{ idNumber }}" disabled="{{!idCardType}}" type="idcard" label="{{ t('user:attr.idNumber') }}" placeholder="{{ t('please input idNumber') }}" bind:lininput="setIdNumberMp" />
<block wx:if="{{oakId && idCardType}}">
<idCard entity="user" entityId="{{oakId}}" origin="{{origin}}" idCardType="{{idCardType}}" oakPath="{{ oakFullpath + '.extraFile$entity' }}" />
</block>
<!-- <block wx:if="{{ oakLoading }}">
<view class="loading">
<l-loading show="{{true}}" type="circle"></l-loading>
</view>
</block> -->
<block wx:if="{{ idState === 'verified' }}">
<view class="verify">
<view class="info">
实名已认证
</view>
</view>
</view>
<l-button type="default" block size="long" bind:lintap="onConfirm">
提交认证
</l-button>
</block>
<block wx:elif="{{ idState === 'verifying' }}">
<view class="verify">
<view class="info">
实名认证中
</view>
</view>
</block>
<block wx:else>
<view class="container">
<view class="inner">
<l-input required value="{{ name }}" label="{{ t('user:attr.name') }}" disabled="{{ idState !== 'unverified' }}"
placeholder="{{ t('please input name') }}" bind:lininput="setNameMp" />
<l-picker required label="{{ t('user:attr.idCardType') }}"
placeholder="{{ t('please choose idCardType') }}" range="{{ idCardTypeArr }}" disabled="{{ idState !== 'unverified' }}"
rangeKey="label" value="{{idCardType}}" bind:linchange="setIdCardTypeMp" />
<l-input required value="{{ idNumber }}" disabled="{{!idCardType || idState !== 'unverified'}}" type="idcard"
label="{{ t('user:attr.idNumber') }}"
placeholder="{{ t('please input idNumber') }}" bind:lininput="setIdNumberMp" />
<block wx:if="{{oakId && idCardType && needUploadPhotos}}">
<idCard disabled="{{ idState !== 'unverified' }}" entity="user" entityId="{{oakId}}" origin="{{origin}}"
idCardType="{{idCardType}}"
oakPath="{{ oakFullpath + '.extraFile$entity' }}" />
</block>
</view>
</view>
<block wx:if="{{ showBtn }}">
<block wx:if="{{ autoUpload || !needUploadPhotos }}">
<l-button type="default" block size="long" bind:lintap="onConfirm">
提交认证
</l-button>
</block>
<block wx:else>
<extraFile-commit executeText="提交认证" type="default" block size="long"
oakPath="{{oakFullpath}}"
afterCommit="{{afterCommitMp}}" beforeCommit="{{beforeCommitMp}}">
</extraFile-commit>
</block>
</block>
</block>
</view>

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "user", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "user", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -3,5 +3,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
onlyPassword: boolean;
disabled: string;
redirectUri: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../../oak-app-domain").EntityDict, "user", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../../oak-app-domain").EntityDict, "user", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "user", true, {
event: string;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,4 +1,4 @@
/// <reference types="wechat-miniprogram" />
import { EntityDict } from "../../../../oak-app-domain";
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "user", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<EntityDict, "user", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -16,5 +16,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
hideInfo: boolean;
hideTip: boolean;
afterClaim: ((ueg: EntityDict['userEntityGrant']['OpSchema']) => void) | undefined;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -10,5 +10,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
onPickRows: (ids: string[]) => void;
pickedRowIds: string[] | undefined;
pickedRelationIds: string[] | undefined;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -3,5 +3,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
entityId: string;
relationEntity: string;
relationEntityFilter: {};
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,3 @@
/// <reference types="wechat-miniprogram" />
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "userEntityGrant", false, WechatMiniprogram.Component.DataOption>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
declare const _default: (props: import("oak-frontend-base").ReactComponentProps<import("../../../oak-app-domain").EntityDict, "userEntityGrant", false, WechatMiniprogram.Component.DataOption>) => React.ReactElement;
export default _default;

View File

@ -13,5 +13,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
multiple: boolean;
rule: "single" | "all" | "free";
ruleOnRow: "single" | "all" | "free";
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -9,5 +9,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
allowUpdateName: boolean;
allowUpdateNickname: boolean;
isNew: boolean;
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -3,5 +3,5 @@ declare const _default: (props: import("oak-frontend-base").ReactComponentProps<
entity: keyof EntityDict;
entityId: string;
relations: import("../../../../../oak-app-domain/Relation/Schema").OpSchema[];
}>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
}>) => React.ReactElement;
export default _default;

View File

@ -1,3 +1,4 @@
/// <reference types="react" />
import { WebComponentProps } from 'oak-frontend-base';
import { EntityDict } from '../../../oak-app-domain';
import { QrCodeType } from '../../../types/Config';

View File

@ -1,3 +1,4 @@
/// <reference types="react" />
import { WebComponentProps } from 'oak-frontend-base';
import { EntityDict } from '../../../oak-app-domain';
import { QrCodeType } from '../../../types/Config';

Some files were not shown because too many files have changed in this diff Show More