@nocobase/plugin-verification
Version:
User identity verification management, including SMS, TOTP authenticator, with extensibility.
10 lines (9 loc) • 32.6 kB
JavaScript
/**
* This file is part of the NocoBase (R) project.
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
* Authors: NocoBase Team.
*
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
* For more information, please refer to: https://www.nocobase.com/agreement.
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("ahooks"),require("react-i18next"),require("@nocobase/client-v2"),require("react-router-dom"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("@nocobase/utils/client"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-verification/client-v2",["ahooks","react-i18next","@nocobase/client-v2","react-router-dom","react","antd","@ant-design/icons","@nocobase/flow-engine","@nocobase/utils/client","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-verification/client-v2"]=t(require("ahooks"),require("react-i18next"),require("@nocobase/client-v2"),require("react-router-dom"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("@nocobase/utils/client"),require("lodash")):e["@nocobase/plugin-verification/client-v2"]=t(e.ahooks,e["react-i18next"],e["@nocobase/client-v2"],e["react-router-dom"],e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"],e["@nocobase/utils/client"],e.lodash)}(self,function(e,t,n,r,i,o,a,u,c,l){return function(){"use strict";var s,f,p,v={17:function(e,t,n){n.d(t,{n:function(){return f}});var r=n(694),i=n(625),o=n(59),a=n(155),u=n.n(a),c=n(488);function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e,t,n,r,i,o,a){try{var u=e[o](a),c=u.value}catch(e){n(e);return}u.done?t(c):Promise.resolve(c).then(r,i)}function f(e){var t,n=e.value,f=e.onChange,p=e.actionType,v=e.verifier,d=e.phone,b=e.isLogged,y=e.disabled,h=e.placeholder,m=(0,c.Au)().t,g=(0,r.useFlowContext)(),w=o.App.useApp(),S=w.message,O=w.notification,E=function(e){if(Array.isArray(e))return e}(t=(0,a.useState)(0))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i=[],o=!0,a=!1;try{for(r=r.call(e);!(o=(t=r.next()).done)&&(i.push(t.value),2!==i.length);o=!0);}catch(e){a=!0,n=e}finally{try{o||null==r.return||r.return()}finally{if(a)throw n}}return i}}(t)||function(e){if(e){if("string"==typeof e)return l(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return l(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),x=E[0],k=E[1],P=(0,a.useRef)(null);(0,a.useEffect)(function(){x<=0&&P.current&&(clearInterval(P.current),P.current=null)},[x]),(0,a.useEffect)(function(){return function(){P.current&&(clearInterval(P.current),P.current=null)}},[]);var j=(0,i.useMemoizedFn)(function(){var e;return(e=function(){var e,t,r,i,o,a,u,c,l,s;return function(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:c(0)}),u(a,"throw",{value:c(1)}),u(a,"return",{value:c(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function c(u){return function(c){var l=[u,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(y){switch(y.label){case 0:if(x>0)return[2];if(!d)return S.error(m("Please enter a phone number first")),[2];e=b?"create":"publicCreate",y.label=1;case 1:return y.trys.push([1,3,,4]),[4,g.api.resource("smsOTP")[e]({values:{action:p,verifier:v,uuid:d}})];case 2:return i=(null==(r=y.sent())||null==(t=r.data)?void 0:t.data)||{},S.success(m("Operation succeeded")),n&&(null==f||f("")),k(i.expiresAt?Math.max(1,Math.ceil((Date.parse(i.expiresAt)-Date.now())/1e3)):60),P.current=setInterval(function(){k(function(e){return e-1})},1e3),[3,4];case 3:return s=(null==(o=y.sent())||null==(l=o.response)||null==(c=l.data)||null==(u=c.errors)||null==(a=u[0])?void 0:a.message)||(null==o?void 0:o.message),O.error({message:s||m("Verification send failed, please try later or contact to administrator")}),[3,4];case 4:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){s(o,r,i,a,u,"next",e)}function u(e){s(o,r,i,a,u,"throw",e)}a(void 0)})})()});return u().createElement(o.Space.Compact,{style:{width:"100%"}},u().createElement(o.Input,{value:n,onChange:function(e){return null==f?void 0:f(e.target.value)},disabled:y,placeholder:h}),u().createElement(o.Button,{onClick:j,disabled:y||x>0},x>0?m("Retry after {{count}} seconds",{count:x}):m("Send code")))}},373:function(e,t,n){n.d(t,{A:function(){return D},I:function(){return z}});var r=n(485),i=n(624),o=n(488),a={components:{VerificationFormLoader:function(){return n.e("190").then(n.bind(n,653))},AdminSettingsFormLoader:function(){return n.e("81").then(n.bind(n,560))},BindFormLoader:function(){return n.e("934").then(n.bind(n,397))}}},u={components:{AdminSettingsFormLoader:function(){return n.e("973").then(n.bind(n,708))}}},c={components:{AdminSettingsFormLoader:function(){return n.e("548").then(n.bind(n,239))}}},l=n(261),s=n(155),f=n.n(s),p=n(694),v=n(625),d=n(59);function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function y(e,t,n,r,i,o,a){try{var u=e[o](a),c=u.value}catch(e){n(e);return}u.done?t(c):Promise.resolve(c).then(r,i)}function h(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){y(o,r,i,a,u,"next",e)}function u(e){y(o,r,i,a,u,"throw",e)}a(void 0)})}}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,i=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var o=[],a=!0,u=!1;try{for(i=i.call(e);!(a=(n=i.next()).done)&&(o.push(n.value),!t||o.length!==t);a=!0);}catch(e){u=!0,r=e}finally{try{a||null==i.return||i.return()}finally{if(u)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return b(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return b(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:c(0)}),u(a,"throw",{value:c(1)}),u(a,"return",{value:c(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function c(u){return function(c){var l=[u,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}function S(){var e=new Map;return function(t,n){var r=e.get(t);if(r)return r;var i=(0,s.lazy)(n);return e.set(t,i),i}}var O=S();function E(e){var t,n,i=(0,o.Au)().t,a=(0,o.kj)(),u=(0,p.useFlowContext)(),c=(0,r.useApp)().pm.get(D),l=null==c||null==(n=c.verificationManager.getVerification(e.verifier.verificationType))||null==(t=n.components)?void 0:t.BindFormLoader,b=(0,s.useMemo)(function(){return l?O(e.verifier.verificationType,l):null},[l,e.verifier.verificationType]),y=g(d.Form.useForm(),1)[0],S=g((0,s.useState)(!1),2),E=S[0],x=S[1],k=a(e.verifier.title||"")||i("Bind"),P=(0,v.useMemoizedFn)(function(){return h(function(){var t;return w(this,function(n){switch(n.label){case 0:return[4,y.validateFields()];case 1:t=n.sent(),x(!0),n.label=2;case 2:return n.trys.push([2,,4,5]),[4,u.api.resource("verifiers").bind({values:m({verifier:e.verifier.name},t)})];case 3:return n.sent(),e.onSubmitted(),[3,5];case 4:return x(!1),[7];case 5:return[2]}})})()});return b?f().createElement(r.DialogFormLayout,{title:k,onSubmit:P,submitting:E,submitText:i("Bind"),cancelText:i("Cancel")},f().createElement(d.Form,{form:y,layout:"vertical"},f().createElement(s.Suspense,{fallback:f().createElement(d.Spin,null)},f().createElement(b,{verifier:e.verifier.name,actionType:"verifiers:bind",isLogged:!0})))):f().createElement(r.DialogFormLayout,{title:k,onSubmit:function(){return h(function(){return w(this,function(e){return[2,void 0]})})()},submitText:i("Close"),cancelText:i("Cancel")},f().createElement(d.Alert,{type:"warning",showIcon:!0,message:i("This verifier type ({{type}}) is not yet supported in the new client. Please switch to the legacy client to bind it.",{type:e.verifier.verificationType})}))}var x=S();function k(e){var t,n=(0,o.kj)(),i=(0,o.Au)().t,a=(0,p.useFlowContext)(),u=(0,r.useApp)().pm.get(D),c=null==(t=e.availableVerifiers[0])?void 0:t.name,l=g((0,s.useState)(c),2),b=l[0],y=l[1],S=g(d.Form.useForm(),1)[0],O=g((0,s.useState)(!1),2),E=O[0],k=O[1],P=(0,v.useMemoizedFn)(function(){return h(function(){var t;return w(this,function(n){switch(n.label){case 0:if(!b)return[2];return[4,S.validateFields()];case 1:t=n.sent(),k(!0),n.label=2;case 2:return n.trys.push([2,,4,5]),[4,a.api.resource("verifiers").unbind({values:m({verifier:b,unbindVerifier:e.targetVerifier.name},t)})];case 3:return n.sent(),e.onSubmitted(),[3,5];case 4:return k(!1),[7];case 5:return[2]}})})()}),j=e.availableVerifiers.map(function(e){var t,r,i=null==u||null==(r=u.verificationManager.getVerification(e.verificationType))||null==(t=r.components)?void 0:t.VerificationFormLoader;if(!i)return null;var o=x(e.verificationType,i),a=n(e.title||"")||n(e.verificationTypeTitle||e.verificationType);return{key:e.name,label:a,children:f().createElement(s.Suspense,{fallback:f().createElement(d.Spin,null)},f().createElement(o,{verifier:e.name,actionType:"verifiers:unbind",boundInfo:e.boundInfo,isLogged:!0}))}}).filter(Boolean);return f().createElement(r.DialogFormLayout,{title:i("Unbind verifier"),onSubmit:P,submitting:E,submitText:i("Unbind"),cancelText:i("Cancel")},f().createElement(d.Form,{form:S,layout:"vertical"},j.length?f().createElement(d.Tabs,{activeKey:b,onChange:function(e){S.resetFields(),y(e)},destroyInactiveTabPane:!0,items:j}):f().createElement("span",null,i("No verifier available to verify your identity."))))}function P(e){var t,n=(0,o.Au)().t,r=(0,p.useFlowContext)(),i=!!(null==(t=e.verifier.boundInfo)?void 0:t.bound),a=(0,v.useMemoizedFn)(function(){r.viewer.dialog({closable:!0,content:function(){return f().createElement(E,{verifier:e.verifier,onSubmitted:function(){return e.onChanged()}})}})}),u=(0,v.useMemoizedFn)(function(){return h(function(){var t,n,i;return w(this,function(o){switch(o.label){case 0:return[4,r.api.resource("verifiers").listForVerify({scene:"unbind-verifier"})];case 1:return i=(null==(n=o.sent())||null==(t=n.data)?void 0:t.data)||[],r.viewer.dialog({closable:!0,content:function(){return f().createElement(k,{targetVerifier:e.verifier,availableVerifiers:i,onSubmitted:function(){return e.onChanged()}})}}),[2]}})})()});return i?f().createElement("a",{onClick:u},n("Unbind")):f().createElement("a",{onClick:a},n("Bind"))}function j(){var e=(0,o.kj)(),t=(0,o.Au)().t,n=(0,p.useFlowContext)(),r=d.App.useApp().message,i=(0,v.useRequest)(function(){return h(function(){var e,t;return w(this,function(r){switch(r.label){case 0:return[4,n.api.resource("verifiers").listByUser()];case 1:return[2,(null==(t=r.sent())||null==(e=t.data)?void 0:e.data)||[]]}})})()}),a=i.data,u=i.loading,c=i.refresh,l=(0,v.useMemoizedFn)(function(){c(),r.success(t("Operation succeeded"))});return u?f().createElement(d.Spin,null):f().createElement(d.List,{bordered:!0,dataSource:a||[],renderItem:function(n){var r,i;return f().createElement(d.List.Item,{actions:[f().createElement(P,{key:"action",verifier:n,onChanged:l})]},f().createElement(d.List.Item.Meta,{title:f().createElement(f().Fragment,null,e(n.title||"")," ",(null==(r=n.boundInfo)?void 0:r.bound)?f().createElement(d.Tag,{color:"success"},t("Configured")):f().createElement(d.Tag,{color:"warning"},t("Not configured"))),description:e(n.description||"")}),f().createElement("div",null,null==(i=n.boundInfo)?void 0:i.publicInfo))}})}function T(e,t,n,r,i,o,a){try{var u=e[o](a),c=u.value}catch(e){n(e);return}u.done?t(c):Promise.resolve(c).then(r,i)}function _(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e){return(C=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function A(e,t){return(A=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function I(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(I=function(){return!!e})()}var M=[o.CU,"client"],F=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t,r;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return t=n,r=arguments,t=C(t),_(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,I()?Reflect.construct(t,r||[],C(this).constructor):t.apply(this,r)),"section","profile"),_(e,"sort",150),_(e,"label","Verification"),e}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&A(n,e),t=[{key:"getLabelNode",value:function(){return this.context.t("Verification",{ns:M,nsMode:"fallback"})}},{key:"onClick",value:function(){var e;return(e=function(){return function(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:c(0)}),u(a,"throw",{value:c(1)}),u(a,"return",{value:c(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function c(u){return function(c){var l=[u,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){return this.context.viewer.drawer({title:this.context.t("Verification",{ns:M,nsMode:"fallback"}),width:"50%",closable:!0,content:function(){return f().createElement(j,null)}}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){T(o,r,i,a,u,"next",e)}function u(e){T(o,r,i,a,u,"throw",e)}a(void 0)})}).call(this)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(r.UserCenterActionItemModel);_(F,"itemId","verification");var V=n(319);function q(e,t,n,r,i,o,a){try{var u=e[o](a),c=u.value}catch(e){n(e);return}u.done?t(c):Promise.resolve(c).then(r,i)}function L(e,t,n){return(L=$()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&B(i,n.prototype),i}).apply(null,arguments)}function R(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function U(e){return(U=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function B(e,t){return(B=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function N(e){var t="function"==typeof Map?new Map:void 0;return(N=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return L(e,arguments,U(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),B(n,e)})(e)}function $(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return($=function(){return!!e})()}var z=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(){var e,t,n;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");return t=r,n=arguments,t=U(t),R(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,$()?Reflect.construct(t,n||[],U(this).constructor):t.apply(this,n)),"verificationManager",new V.X),R(e,"smsOTPProviderManager",new l.X),e}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&B(r,e),t=[{key:"load",value:function(){var e;return(e=function(){return function(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:c(0)}),u(a,"throw",{value:c(1)}),u(a,"return",{value:c(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function c(u){return function(c){var l=[u,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){return this.app.flowEngine.registerModels({VerificationUserCenterItemModel:F}),this.registerSettingsPages(),this.verificationManager.registerVerificationType(i.Fz,a),this.smsOTPProviderManager.registerProvider(i.ob,u),this.smsOTPProviderManager.registerProvider(i.Zs,c),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){q(o,r,i,a,u,"next",e)}function u(e){q(o,r,i,a,u,"throw",e)}a(void 0)})}).call(this)}},{key:"registerSettingsPages",value:function(){var e=this,t=function(t){return e.app.i18n.t(t,{ns:o.CU})};this.pluginSettingsManager.addMenuItem({key:o.CU,title:t("Verification"),icon:"CheckCircleOutlined",aclSnippet:"pm.verification"}),this.pluginSettingsManager.addPageTabItem({menuKey:o.CU,key:"index",title:t("Verifiers"),icon:"CheckCircleOutlined",aclSnippet:"pm.verification.verifiers",sort:1,componentLoader:function(){return n.e("290").then(n.bind(n,289))}})}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(r.prototype,t),r}(N(r.Plugin)),D=z},488:function(e,t,n){n.d(t,{Au:function(){return a},CU:function(){return o},kj:function(){return u}});var r=n(694),i=n(953),o="verification";function a(){return(0,i.useTranslation)([o,"client"],{nsMode:"fallback"})}function u(){var e=(0,r.useFlowEngine)();return function(t){return e.context.t(t,{ns:[o,"client"],nsMode:"fallback"})}}},261:function(e,t,n){n.d(t,{X:function(){return i}});var r=n(768),i=function(){var e;function t(){var e,n;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");e="providers",n=new r.Registry,e in this?Object.defineProperty(this,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):this[e]=n}return e=[{key:"registerProvider",value:function(e,t){this.providers.register(e,t)}},{key:"getProvider",value:function(e){return this.providers.get(e)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(t.prototype,e),t}()},319:function(e,t,n){n.d(t,{X:function(){return i}});var r=n(768),i=function(){var e;function t(){var e,n;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");e="verifications",n=new r.Registry,e in this?Object.defineProperty(this,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):this[e]=n}return e=[{key:"registerVerificationType",value:function(e,t){this.verifications.register(e,t)}},{key:"getVerification",value:function(e){return this.verifications.get(e)}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(t.prototype,e),t}()},624:function(e,t,n){n.d(t,{Fz:function(){return r},Zs:function(){return o},ob:function(){return i}});var r="sms-otp",i="sms-aliyun",o="sms-tencent"},375:function(e){e.exports=a},485:function(e){e.exports=n},694:function(e){e.exports=u},768:function(e){e.exports=c},625:function(t){t.exports=e},59:function(e){e.exports=o},773:function(e){e.exports=l},155:function(e){e.exports=i},953:function(e){e.exports=t},442:function(e){e.exports=r}},d={};function b(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}};return v[e](n,n.exports,b),n.exports}b.m=v,b.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return b.d(t,{a:t}),t},b.d=function(e,t){for(var n in t)b.o(t,n)&&!b.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},b.f={},b.e=function(e){return Promise.all(Object.keys(b.f).reduce(function(t,n){return b.f[n](e,t),t},[]))},b.u=function(e){return""+e+"."+({190:"596918843af85477",290:"a651bc7c42fc98bc",548:"eb3ed70d62d68d60",81:"b8599d97bf4ca2a8",934:"a3c0fa32883528e4",973:"8a85e3793371482b"})[e]+".js"},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},y={},b.l=function(e,t,n,r){if(y[e])return void y[e].push(t);if(void 0!==n)for(var i,o,a=document.getElementsByTagName("script"),u=0;u<a.length;u++){var c=a[u];if(c.getAttribute("src")==e||c.getAttribute("data-rspack")=="@nocobase/plugin-verification/client-v2:"+n){i=c;break}}i||(o=!0,(i=document.createElement("script")).timeout=120,b.nc&&i.setAttribute("nonce",b.nc),i.setAttribute("data-rspack","@nocobase/plugin-verification/client-v2:"+n),i.src=e),y[e]=[t];var l=function(t,n){i.onerror=i.onload=null,clearTimeout(s);var r=y[e];if(delete y[e],i.parentNode&&i.parentNode.removeChild(i),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=l.bind(null,i.onerror),i.onload=l.bind(null,i.onload),o&&document.head.appendChild(i)},b.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.g.importScripts&&(h=b.g.location+"");var y,h,m=b.g.document;if(!h&&m&&(m.currentScript&&"SCRIPT"===m.currentScript.tagName.toUpperCase()&&(h=m.currentScript.src),!h)){var g=m.getElementsByTagName("script");if(g.length)for(var w=g.length-1;w>-1&&(!h||!/^http(s?):/.test(h));)h=g[w--].src}if(!h)throw Error("Automatic publicPath is not supported in this browser");b.p=h.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s={889:0},b.f.j=function(e,t){var n=b.o(s,e)?s[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=s[e]=[t,r]});t.push(n[2]=r);var i=b.p+b.u(e),o=Error();b.l(i,function(t){if(b.o(s,e)&&(0!==(n=s[e])&&(s[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;o.message="Loading chunk "+e+" failed.\n("+r+": "+i+")",o.name="ChunkLoadError",o.type=r,o.request=i,n[1](o)}},"chunk-"+e,e)}},f=function(e,t){var n,r,i=t[0],o=t[1],a=t[2],u=0;if(i.some(function(e){return 0!==s[e]})){for(n in o)b.o(o,n)&&(b.m[n]=o[n]);a&&a(b)}for(e&&e(t);u<i.length;u++)r=i[u],b.o(s,r)&&s[r]&&s[r][0](),s[r]=0},(p=self.webpackChunk_nocobase_plugin_verification_client_v2=self.webpackChunk_nocobase_plugin_verification_client_v2||[]).forEach(f.bind(null,0)),p.push=f.bind(null,p.push.bind(p));var S={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src){var n=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"");n.indexOf("/static/plugins/@nocobase/plugin-verification/dist/client-v2/")>=0&&(e=n.replace(/\/[^\/]+$/,"/"))}if(!e){var r=window.__webpack_public_path__||"";r&&("/"!==r.charAt(r.length-1)&&(r+="/"),e=r+"static/plugins/@nocobase/plugin-verification/dist/client-v2/")}if(!e){var i=window.__nocobase_modern_client_prefix__||"v",o="/"+(i=String(i).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var a=window.location.pathname||"/",u=a.indexOf(o);e=u>=0?a.slice(0,u+1):"/"}e&&(e=e.replace(RegExp("/"+i+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-verification/dist/client-v2/"}b.p=e}(),!function(){b.r(S),b.d(S,{VerificationManager:function(){return r.X},default:function(){return t.A},SMS_OTP_VERIFICATION_TYPE:function(){return e.Fz},PROVIDER_TYPE_SMS_ALIYUN:function(){return e.ob},useT:function(){return n.kj},VerifierSelect:function(){return v},VerificationCode:function(){return d.n},NAMESPACE:function(){return n.CU},SMSOTPProviderManager:function(){return i.X},PROVIDER_TYPE_SMS_TENCENT:function(){return e.Zs},PluginVerificationClientV2:function(){return t.I},useVerificationTranslation:function(){return n.Au}});var e=b(624),t=b(373),n=b(488),r=b(319),i=b(261),o=b(485),a=b(694),u=b(59),c=b(155),l=b.n(c),s=b(442);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(e,t,n,r,i,o,a){try{var u=e[o](a),c=u.value}catch(e){n(e);return}u.done?t(c):Promise.resolve(c).then(r,i)}function v(e){var t,r=e.scene,i=e.value,v=e.onChange,d=e.multiple,b=e.placeholder,y=e.disabled,h=e.style,m=e.hideHint,g=(0,n.Au)().t,w=(0,n.kj)(),S=(0,a.useFlowContext)(),O=(0,c.useMemo)(function(){return"@nocobase/plugin-verification:verifiers:listByScene:".concat(r)},[r]),E=function(e){if(Array.isArray(e))return e}(t=(0,c.useState)([]))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i=[],o=!0,a=!1;try{for(r=r.call(e);!(o=(t=r.next()).done)&&(i.push(t.value),2!==i.length);o=!0);}catch(e){a=!0,n=e}finally{try{o||null==r.return||r.return()}finally{if(a)throw n}}return i}}(t)||function(e){if(e){if("string"==typeof e)return f(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return f(e,2)}}(t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),x=E[0],k=E[1];return l().createElement(l().Fragment,null,l().createElement(o.RemoteSelect,{request:function(){var e;return(e=function(){var e,t,n;return function(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(a,"next",{value:c(0)}),u(a,"throw",{value:c(1)}),u(a,"return",{value:c(2)}),"function"==typeof Symbol&&u(a,Symbol.iterator,{value:function(){return this}}),a;function c(u){return function(c){var l=[u,c];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&l[0]?r.return:l[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,l[1])).done)return i;switch(r=0,i&&(l=[2&l[0],i.value]),l[0]){case 0:case 1:i=l;break;case 4:return o.label++,{value:l[1],done:!1};case 5:o.label++,r=l[1],l=[0];continue;case 7:l=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===l[0]||2===l[0])){o=0;continue}if(3===l[0]&&(!i||l[1]>i[0]&&l[1]<i[3])){o.label=l[1];break}if(6===l[0]&&o.label<i[1]){o.label=i[1],i=l;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(l);break}i[2]&&o.ops.pop(),o.trys.pop();continue}l=t.call(e,o)}catch(e){l=[6,e],r=0}finally{n=i=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(i){switch(i.label){case 0:return[4,S.api.resource("verifiers").listByScene({scene:r})];case 1:return[2,null!=(e=null==(n=i.sent())||null==(t=n.data)?void 0:t.data)?e:{}]}})},function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){p(o,r,i,a,u,"next",e)}function u(e){p(o,r,i,a,u,"throw",e)}a(void 0)})})()},selectItems:function(e){return(null==e?void 0:e.verifiers)||[]},onLoaded:function(e,t){k(((null==t?void 0:t.availableTypes)||[]).map(function(e){return w(e.title||e.name)}))},cacheKey:O,refreshDeps:[r],mapOptions:function(e){return{label:w(e.title||e.name),value:e.name}},mode:d?"multiple":void 0,value:i,onChange:v,placeholder:b,disabled:y,style:h}),m?null:l().createElement(u.Typography.Text,{type:"secondary"},g("The following types of verifiers are available:")," ",x.join(", "),". ",g("Go to")," ",l().createElement(s.Link,{to:"/admin/settings/verification"},g("create verifiers"))))}var d=b(17)}(),S}()});