diff --git a/.eslintrc.js b/.eslintrc.js index d19d6f00..fb678f60 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -39,6 +39,7 @@ module.exports = { '@typescript-eslint/no-empty-interface': 'off', 'prefer-const': 'off', '@typescript-eslint/ban-ts-comment': 'off', - 'prettier/prettier': 'off' + 'prettier/prettier': 'off', + '@typescript-eslint/no-this-alias': 'off' } } \ No newline at end of file diff --git a/examples/miniapp-taro/package-lock.json b/examples/miniapp-taro/package-lock.json index a96dfa98..8a0291bb 100644 --- a/examples/miniapp-taro/package-lock.json +++ b/examples/miniapp-taro/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@authing/miniapp-jsencrypt": "^5.0.0-alpha.26", "@authing/miniapp-sm2encrypt": "^5.0.0-alpha.26", - "@authing/miniapp-taro": "^5.0.6-alpha.2", + "@authing/miniapp-taro": "^5.0.7-alpha.0", "@authing/miniapp-wx": "^5.0.4-alpha.2", "@babel/runtime": "^7.7.7", "@tarojs/components": "3.5.4", @@ -84,9 +84,9 @@ "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" }, "node_modules/@authing/miniapp-taro": { - "version": "5.0.6-alpha.2", - "resolved": "https://registry.npmjs.org/@authing/miniapp-taro/-/miniapp-taro-5.0.6-alpha.2.tgz", - "integrity": "sha512-i9z0zKssfg69S6xAiCcVOIK3kvVJMF+4atlp4fDLDbDF1n0WdTGFwVwuEqYcRZFn3PIQbhkwJ92iFDZBlPnwSQ==" + "version": "5.0.7-alpha.0", + "resolved": "https://registry.npmjs.org/@authing/miniapp-taro/-/miniapp-taro-5.0.7-alpha.0.tgz", + "integrity": "sha512-k8oQZVQ8WzcPcTg5u+9wyHA2FDylLGNsaRG2sgBxa2c3UOYK0SmSS4O7VKyL0D6BvQVk4UYBteUNxzzRQLJDrA==" }, "node_modules/@authing/miniapp-wx": { "version": "5.0.4-alpha.2", @@ -24995,9 +24995,9 @@ } }, "@authing/miniapp-taro": { - "version": "5.0.6-alpha.2", - "resolved": "https://registry.npmjs.org/@authing/miniapp-taro/-/miniapp-taro-5.0.6-alpha.2.tgz", - "integrity": "sha512-i9z0zKssfg69S6xAiCcVOIK3kvVJMF+4atlp4fDLDbDF1n0WdTGFwVwuEqYcRZFn3PIQbhkwJ92iFDZBlPnwSQ==" + "version": "5.0.7-alpha.0", + "resolved": "https://registry.npmjs.org/@authing/miniapp-taro/-/miniapp-taro-5.0.7-alpha.0.tgz", + "integrity": "sha512-k8oQZVQ8WzcPcTg5u+9wyHA2FDylLGNsaRG2sgBxa2c3UOYK0SmSS4O7VKyL0D6BvQVk4UYBteUNxzzRQLJDrA==" }, "@authing/miniapp-wx": { "version": "5.0.4-alpha.2", diff --git a/examples/miniapp-taro/package.json b/examples/miniapp-taro/package.json index f8ab0113..9b9a4c14 100644 --- a/examples/miniapp-taro/package.json +++ b/examples/miniapp-taro/package.json @@ -37,7 +37,7 @@ "dependencies": { "@authing/miniapp-jsencrypt": "^5.0.0-alpha.26", "@authing/miniapp-sm2encrypt": "^5.0.0-alpha.26", - "@authing/miniapp-taro": "^5.0.6-alpha.2", + "@authing/miniapp-taro": "^5.0.7-alpha.0", "@authing/miniapp-wx": "^5.0.4-alpha.2", "@babel/runtime": "^7.7.7", "@tarojs/components": "3.5.4", diff --git a/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-jsencrypt/index.js b/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-jsencrypt/index.js index 923e5265..1d5adc7d 100644 --- a/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-jsencrypt/index.js +++ b/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-jsencrypt/index.js @@ -4,7 +4,7 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; -__DEFINE__(1664187471873, function(require, module, exports) { +__DEFINE__(1664435123982, function(require, module, exports) { var __TEMP__ = require('./jsencrypt');var JSEncrypt = __TEMP__['JSEncrypt']; if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });function encryptFunction (plainText, publicKey) { @@ -17,8 +17,8 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t return encStr.toString() };exports.encryptFunction = encryptFunction -}, function(modId) {var map = {"./jsencrypt":1664187471874}; return __REQUIRE__(map[modId], modId); }) -__DEFINE__(1664187471874, function(require, module, exports) { +}, function(modId) {var map = {"./jsencrypt":1664435123983}; return __REQUIRE__(map[modId], modId); }) +__DEFINE__(1664435123983, function(require, module, exports) { var window = {} ; (function (global, factory) { typeof exports === "object" && typeof module !== "undefined" @@ -5645,7 +5645,7 @@ var window = {} Object.defineProperty(exports, "__esModule", { value: true }) }) }, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); }) -return __REQUIRE__(1664187471873); +return __REQUIRE__(1664435123982); })() //miniprogram-npm-outsideDeps=[] //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-sm2encrypt/index.js b/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-sm2encrypt/index.js index a7b24096..d2487e1b 100644 --- a/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-sm2encrypt/index.js +++ b/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-sm2encrypt/index.js @@ -4,15 +4,15 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; -__DEFINE__(1664187471875, function(require, module, exports) { +__DEFINE__(1664435123984, function(require, module, exports) { var __TEMP__ = require('./sm2');var doEncrypt = __TEMP__['doEncrypt']; if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: true });function encryptFunction (plainText, publicKey) { return doEncrypt(plainText, publicKey) };exports.encryptFunction = encryptFunction -}, function(modId) {var map = {"./sm2":1664187471876}; return __REQUIRE__(map[modId], modId); }) -__DEFINE__(1664187471876, function(require, module, exports) { +}, function(modId) {var map = {"./sm2":1664435123985}; return __REQUIRE__(map[modId], modId); }) +__DEFINE__(1664435123985, function(require, module, exports) { /* eslint-disable no-use-before-define */ var __TEMP__ = require('jsbn');var BigInteger = __TEMP__['BigInteger']; var __TEMP__ = require('./utils');var _ = __REQUIRE_WILDCARD__(__TEMP__); @@ -71,8 +71,8 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t -}, function(modId) { var map = {"./utils":1664187471877,"./sm3":1664187471879}; return __REQUIRE__(map[modId], modId); }) -__DEFINE__(1664187471877, function(require, module, exports) { +}, function(modId) { var map = {"./utils":1664435123986,"./sm3":1664435123988}; return __REQUIRE__(map[modId], modId); }) +__DEFINE__(1664435123986, function(require, module, exports) { /* eslint-disable no-bitwise, no-mixed-operators, no-use-before-define, max-len */ var __TEMP__ = require('jsbn');var BigInteger = __TEMP__['BigInteger'];var SecureRandom = __TEMP__['SecureRandom']; var __TEMP__ = require('./ec');var ECCurveFp = __TEMP__['ECCurveFp']; @@ -268,8 +268,8 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t -}, function(modId) { var map = {"./ec":1664187471878}; return __REQUIRE__(map[modId], modId); }) -__DEFINE__(1664187471878, function(require, module, exports) { +}, function(modId) { var map = {"./ec":1664435123987}; return __REQUIRE__(map[modId], modId); }) +__DEFINE__(1664435123987, function(require, module, exports) { /* eslint-disable no-case-declarations, max-len */ var __TEMP__ = require('jsbn');var BigInteger = __TEMP__['BigInteger']; @@ -604,7 +604,7 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t }, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); }) -__DEFINE__(1664187471879, function(require, module, exports) { +__DEFINE__(1664435123988, function(require, module, exports) { /** * 循环左移 */ @@ -851,7 +851,7 @@ if (!exports.__esModule) Object.defineProperty(exports, "__esModule", { value: t }, function(modId) { var map = {}; return __REQUIRE__(map[modId], modId); }) -return __REQUIRE__(1664187471875); +return __REQUIRE__(1664435123984); })() //miniprogram-npm-outsideDeps=["jsbn"] //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-wx/index.js b/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-wx/index.js index 09cdd7b8..cfd9e15f 100644 --- a/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-wx/index.js +++ b/examples/miniapp-wx/miniapp/miniprogram_npm/@authing/miniapp-wx/index.js @@ -4,10 +4,10 @@ var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexport var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; -__DEFINE__(1664187471880, function(require, module, exports) { -var t={d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.d(e,{e:()=>B});var n={};function o(){}t.r(n),t.d(n,{checkSession:()=>C,chooseImage:()=>P,clearStorage:()=>m,getStorage:()=>w,getUserProfile:()=>O,login:()=>l,removeStorage:()=>b,request:()=>d,scanCode:()=>y,setStorage:()=>v,uploadFile:()=>_}),function(t){!function(t){t.use=function(t,e={}){const n=this._installedPlugins||(this._installedPlugins=[]);if(n.indexOf(t)>-1)return this;const o=[e];return o.unshift(this),"function"==typeof t.install?t.install.apply(t,o):"function"==typeof t&&t.apply(null,o),n.push(t),this}}(t)}(o);const r=o;function s(){return["wx","ali","baidu","qq","tt","jd","ks","qa_webview","qa_ux","Mpx","Taro","uni"].reduce(((t,e)=>(t[`__authing_move_src_mode_${e}__`]=e,t)),{})}function i(t){console.error&&console.error(`[AuthingMove/api-proxy error in "wx"]:\n ${t}`)}function a(){}function u(t,e={},n={}){let o={};return Object.keys(t).forEach((n=>{const r=e.hasOwnProperty(n)?e[n]:n;r&&(o[r]=t[n])})),o=Object.assign({},o,n),o}function c(){return wx}const p=c();function l(t={}){return p.login(t)}const h=c();function d(t={}){return h.request(t)}const f=c();function y(t={}){return f.scanCode(t)}const g=c();function v(t={}){const e=u(t,{},{encrypt:!1});return g.setStorage(e)}function w(t={}){const e=u(t,{},{encrypt:!1});return g.getStorage(e)}function b(t={}){return g.removeStorage(t)}function m(t={}){return g.clearStorage(t)}const x=c();function P(t={}){return x.chooseMedia(t)}const S=c();function _(t={}){return S.uploadFile(t)}const k=c();function O(t={}){return k.getUserProfile(t)}const T=c();function C(t={}){return T.checkSession(t)}const I=s();const j=c();r.use((function(t,e={}){const{custom:o={}}=e,r=function(t){const e=c(),o=Object.create(null);Object.keys(n).forEach((t=>{o[t]=e[t]||n[t]}));const r=Object.create(null);return Object.keys(o).forEach((s=>{"function"==typeof o[s]?r[s]=(...o)=>{let r=t.from;const a=t.to;o.length&&(r=o.pop(),"string"==typeof r&&I[r]||(o.push(r),r=t.from));const u=function(t="",e=""){return`${I[`__authing_move_src_mode_${t}__`]}_${e}`}(r,a);return t.custom[u]&&t.custom[u][s]?t.custom[u][s].apply(this,o):n[s]?n[s].apply(this,o):e[s]?e[s].apply(this,o):void i(`"${s}" method does not exist in the current context`)}:r[s]=o[s]})),r}({from:"wx",to:"wx",custom:o}),u=Object.assign({},r,function(t){const e=s();return Object.keys(t).reduce(((n,o)=>("function"!=typeof t[o]||(n[o]=function(...n){if(function(t){return/^get\w*Manager$/.test(t)||/^create\w*Context$/.test(t)||/^(on|off)/.test(t)||/\w+Sync$/.test(t)}(o))return t[o].apply(t,n);n[0]&&!e[n[0]]||n.unshift({success:a,fail:a});const r=n[0];let s;const i=new Promise(((e,i)=>{const a=r.success,u=r.fail;r.success=function(t){a&&a.call(this,t),e(t)},r.fail=function(t){u&&u.call(this,t),i(t)},s=t[o].apply(j,n)}));return i.__returned=s,i}),n)),{})}(r));Object.keys(u).forEach((e=>{try{if("function"!=typeof u[e])return void(t[e]=u[e]);t[e]=(...n)=>u[e].apply(t,n)}catch(n){i(`Call ${t}.${e} error:`+JSON.stringify(n))}}))}));var L=function(){function t(){}return t.prototype.get=function(t){return r.getStorage({key:t})},t.prototype.set=function(t,e){return r.setStorage({key:t,data:e})},t.prototype.remove=function(t){return r.removeStorage({key:t})},t}();const E=JSON.parse('{"i8":"5.0.6-alpha.2"}');var F=function(){return F=Object.assign||function(t){for(var e,n=1,o=arguments.length;n0&&r[r.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0&&r[r.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]Date.now()?[2,e]:(q("getLoginState","loginState has expired, please login again"),[2,null]);case 2:return n.sent(),[2,null];case 3:return[2]}}))}))},t.prototype.clearLoginState=function(){return M(this,void 0,void 0,(function(){return K(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.storage.remove(U(this.options.appId))];case 1:return t.sent(),[2,!0];case 2:return q("clearLoginState",t.sent()),[2,!1];case 3:return[2]}}))}))},t.prototype.saveLoginState=function(t){return M(this,void 0,void 0,(function(){var e;return K(this,(function(n){switch(n.label){case 0:return e=A(A({},t),{expires_at:1e3*t.expires_in+Date.now()-72e5}),[4,this.storage.set(U(this.options.appId),e)];case 1:return n.sent(),[2,e]}}))}))},t.prototype.getPublicKey=function(t){return M(this,void 0,void 0,(function(){return K(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,D({method:"GET",url:this.options.host+"/api/v3/system"})];case 1:return[2,e.sent()[t].publicKey];case 2:return q("getPublicKey",e.sent()),[2,""];case 3:return[2]}}))}))},t.prototype.resetWxCode=function(){return M(this,void 0,void 0,(function(){var t;return K(this,(function(e){switch(e.label){case 0:return[4,r.login()];case 1:return t=e.sent().code,[4,this.storage.set($(this.options.appId),t)];case 2:return e.sent(),[2,t]}}))}))},t.prototype.getCachedWxLoginCode=function(){return M(this,void 0,void 0,(function(){return K(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.storage.get($(this.options.appId))];case 1:return[2,t.sent().data];case 2:return t.sent(),[2,""];case 3:return[2]}}))}))},t.prototype.loginByCode=function(t){return M(this,void 0,void 0,(function(){var e,n,o,s,i,a,u;return K(this,(function(c){switch(c.label){case 0:return[4,this.getLoginState()];case 1:return(e=c.sent())&&e.expires_at>Date.now()?[2,e]:[4,this.getCachedWxLoginCode()];case 2:if(!(n=c.sent()))return[3,8];c.label=3;case 3:return c.trys.push([3,5,,7]),[4,r.checkSession()];case 4:return c.sent(),[3,7];case 5:return c.sent(),[4,this.resetWxCode()];case 6:return n=c.sent(),[3,7];case 7:return[3,10];case 8:return[4,this.resetWxCode()];case 9:n=c.sent(),c.label=10;case 10:return o=t.extIdpConnidentifier,s=t.connection,i=t.wechatMiniProgramCodePayload,a=t.options,u={connection:s||"wechat_mini_program_code",extIdpConnidentifier:o,wechatMiniProgramCodePayload:A(A({},i),{code:n}),options:a},[4,this.login(u,"code")];case 11:return[2,c.sent()]}}))}))},t.prototype.loginByPassword=function(t){var e,n,o;return M(this,void 0,void 0,(function(){var r,s;return K(this,(function(i){switch(i.label){case 0:return(null===(e=t.options)||void 0===e?void 0:e.passwordEncryptType)&&"none"!==(null===(n=t.options)||void 0===n?void 0:n.passwordEncryptType)?this.encryptFunction?[4,this.getPublicKey(null===(o=t.options)||void 0===o?void 0:o.passwordEncryptType)]:(q("loginByPassword",'encryptFunction is required, if passwordEncryptType is not "none"'),[2,null]):[3,2];case 1:if(!(r=i.sent()))return q("loginByPassword","publicKey is invalid"),[2,null];t.passwordPayload.password=this.encryptFunction(t.passwordPayload.password,r),i.label=2;case 2:return s=A(A({},t),{connection:"PASSWORD"}),[4,this.login(s,"password")];case 3:return[2,i.sent()]}}))}))},t.prototype.loginByPassCode=function(t){return M(this,void 0,void 0,(function(){var e;return K(this,(function(n){switch(n.label){case 0:return t.passCodePayload.phone&&(t.passCodePayload.phoneCountryCode=t.passCodePayload.phoneCountryCode||"+86"),e=A(A({},t),{connection:"PASSCODE"}),[4,this.login(e,"passCode")];case 1:return[2,n.sent()]}}))}))},t.prototype.logout=function(){return M(this,void 0,void 0,(function(){var t,e,n;return K(this,(function(o){switch(o.label){case 0:return[4,this.getLoginState()];case 1:return(t=o.sent())?(e=t.access_token,n=t.expires_at,!e||n{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.d(e,{e:()=>K});var n={};function o(){}t.r(n),t.d(n,{checkSession:()=>T,chooseImage:()=>P,clearStorage:()=>x,getStorage:()=>w,getUserProfile:()=>C,login:()=>l,removeStorage:()=>b,request:()=>d,scanCode:()=>g,setStorage:()=>v,uploadFile:()=>_}),function(t){!function(t){t.use=function(t,e={}){const n=this._installedPlugins||(this._installedPlugins=[]);if(n.indexOf(t)>-1)return this;const o=[e];return o.unshift(this),"function"==typeof t.install?t.install.apply(t,o):"function"==typeof t&&t.apply(null,o),n.push(t),this}}(t)}(o);const r=o;function s(){return["wx","ali","baidu","qq","tt","jd","ks","qa_webview","qa_ux","Mpx","Taro","uni"].reduce(((t,e)=>(t[`__authing_move_src_mode_${e}__`]=e,t)),{})}function i(t){console.error&&console.error(`[AuthingMove/api-proxy error in "wx"]:\n ${t}`)}function a(){}function u(t,e={},n={}){let o={};return Object.keys(t).forEach((n=>{const r=e.hasOwnProperty(n)?e[n]:n;r&&(o[r]=t[n])})),o=Object.assign({},o,n),o}function c(){return wx}const p=c();function l(t={}){return p.login(t)}const h=c();function d(t={}){return h.request(t)}const f=c();function g(t={}){return f.scanCode(t)}const y=c();function v(t={}){const e=u(t,{},{encrypt:!1});return y.setStorage(e)}function w(t={}){const e=u(t,{},{encrypt:!1});return y.getStorage(e)}function b(t={}){return y.removeStorage(t)}function x(t={}){return y.clearStorage(t)}const m=c();function P(t={}){return m.chooseMedia(t)}const S=c();function _(t={}){return S.uploadFile(t)}const k=c();function C(t={}){return k.getUserProfile(t)}const O=c();function T(t={}){return O.checkSession(t)}const I=s();const L=c();r.use((function(t,e={}){const{custom:o={}}=e,r=function(t){const e=c(),o=Object.create(null);Object.keys(n).forEach((t=>{o[t]=e[t]||n[t]}));const r=Object.create(null);return Object.keys(o).forEach((s=>{"function"==typeof o[s]?r[s]=(...o)=>{let r=t.from;const a=t.to;o.length&&(r=o.pop(),"string"==typeof r&&I[r]||(o.push(r),r=t.from));const u=function(t="",e=""){return`${I[`__authing_move_src_mode_${t}__`]}_${e}`}(r,a);return t.custom[u]&&t.custom[u][s]?t.custom[u][s].apply(this,o):n[s]?n[s].apply(this,o):e[s]?e[s].apply(this,o):void i(`"${s}" method does not exist in the current context`)}:r[s]=o[s]})),r}({from:"wx",to:"wx",custom:o}),u=Object.assign({},r,function(t){const e=s();return Object.keys(t).reduce(((n,o)=>("function"!=typeof t[o]||(n[o]=function(...n){if(function(t){return/^get\w*Manager$/.test(t)||/^create\w*Context$/.test(t)||/^(on|off)/.test(t)||/\w+Sync$/.test(t)}(o))return t[o].apply(t,n);n[0]&&!e[n[0]]||n.unshift({success:a,fail:a});const r=n[0];let s;const i=new Promise(((e,i)=>{const a=r.success,u=r.fail;r.success=function(t){a&&a.call(this,t),e(t)},r.fail=function(t){u&&u.call(this,t),i(t)},s=t[o].apply(L,n)}));return i.__returned=s,i}),n)),{})}(r));Object.keys(u).forEach((e=>{try{if("function"!=typeof u[e])return void(t[e]=u[e]);t[e]=(...n)=>u[e].apply(t,n)}catch(n){i(`Call ${t}.${e} error:`+JSON.stringify(n))}}))}));var j=function(){function t(){}return t.prototype.get=function(t){return r.getStorage({key:t})},t.prototype.set=function(t,e){return r.setStorage({key:t,data:e})},t.prototype.remove=function(t){return r.removeStorage({key:t})},t}();const E=JSON.parse('{"i8":"5.0.7-alpha.4"}');var F=function(){return F=Object.assign||function(t){for(var e,n=1,o=arguments.length;n0&&r[r.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0&&r[r.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]Date.now()?[2,e]:($("getLoginState","loginState has expired, please login again"),[2,null]);case 2:return n.sent(),[2,null];case 3:return[2]}}))}))},t.prototype.clearLoginState=function(){return A(this,void 0,void 0,(function(){return M(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.storage.remove(U(this.options.appId))];case 1:return t.sent(),[2,!0];case 2:return $("clearLoginState",t.sent()),[2,!1];case 3:return[2]}}))}))},t.prototype.saveLoginState=function(t){return A(this,void 0,void 0,(function(){var e;return M(this,(function(n){switch(n.label){case 0:return e=q(q({},t),{expires_at:1e3*t.expires_in+Date.now()-72e5}),[4,this.storage.set(U(this.options.appId),e)];case 1:return n.sent(),[2,e]}}))}))},t.prototype.getPublicKey=function(t){return A(this,void 0,void 0,(function(){return M(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,D({method:"GET",url:this.options.host+"/api/v3/system"})];case 1:return[2,e.sent()[t].publicKey];case 2:return $("getPublicKey",e.sent()),[2,""];case 3:return[2]}}))}))},t.prototype.getCachedWxLoginCode=function(){return A(this,void 0,void 0,(function(){return M(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.storage.get(W(this.options.appId))];case 1:return[2,t.sent().data];case 2:return t.sent(),[2,""];case 3:return[2]}}))}))},t.prototype.cacheWxLoginCode=function(t){return A(this,void 0,void 0,(function(){return M(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.storage.set(W(this.options.appId),t)];case 1:return e.sent(),[2,t];case 2:return $("cacheWxLoginCode",e.sent()),[2,""];case 3:return[2]}}))}))},t.prototype.resetWxLoginCode=function(){return A(this,void 0,void 0,(function(){var t,e=this;return M(this,(function(n){switch(n.label){case 0:t=function(){return A(e,void 0,void 0,(function(){var t;return M(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,r.login()];case 1:return t=e.sent(),[4,this.cacheWxLoginCode(t.code)];case 2:return e.sent(),[3,4];case 3:return $("resetWxLoginCode",e.sent()),[3,4];case 4:return[2]}}))}))},n.label=1;case 1:return n.trys.push([1,6,8,10]),[4,r.checkSession()];case 2:return n.sent(),[4,this.getCachedWxLoginCode()];case 3:return n.sent()?[3,5]:[4,t()];case 4:n.sent(),n.label=5;case 5:return[3,10];case 6:return n.sent(),this.storage.remove(W(this.options.appId)),[4,t()];case 7:return n.sent(),[3,10];case 8:return[4,this.getCachedWxLoginCode()];case 9:return[2,n.sent()];case 10:return[2]}}))}))},t.prototype.loginByCode=function(t){return A(this,void 0,void 0,(function(){var e,n,o,r,s,i,a;return M(this,(function(u){switch(u.label){case 0:return[4,this.getLoginState()];case 1:return(e=u.sent())&&e.expires_at>Date.now()?[2,e]:(n=t.extIdpConnidentifier,o=t.connection,r=t.wechatMiniProgramCodePayload,s=t.options,[4,this.resetWxLoginCode()]);case 2:return(i=u.sent())?(a={connection:o||"wechat_mini_program_code",extIdpConnidentifier:n,wechatMiniProgramCodePayload:q(q({},r),{code:i}),options:s},[4,this.login(a,"code")]):($("loginByCode","get wx login code error"),[2,null]);case 3:return[2,u.sent()]}}))}))},t.prototype.loginByPassword=function(t){var e,n,o;return A(this,void 0,void 0,(function(){var r,s;return M(this,(function(i){switch(i.label){case 0:return(null===(e=t.options)||void 0===e?void 0:e.passwordEncryptType)&&"none"!==(null===(n=t.options)||void 0===n?void 0:n.passwordEncryptType)?this.encryptFunction?[4,this.getPublicKey(null===(o=t.options)||void 0===o?void 0:o.passwordEncryptType)]:($("loginByPassword",'encryptFunction is required, if passwordEncryptType is not "none"'),[2,null]):[3,2];case 1:if(!(r=i.sent()))return $("loginByPassword","publicKey is invalid"),[2,null];t.passwordPayload.password=this.encryptFunction(t.passwordPayload.password,r),i.label=2;case 2:return s=q(q({},t),{connection:"PASSWORD"}),[4,this.login(s,"password")];case 3:return[2,i.sent()]}}))}))},t.prototype.loginByPassCode=function(t){return A(this,void 0,void 0,(function(){var e;return M(this,(function(n){switch(n.label){case 0:return t.passCodePayload.phone&&(t.passCodePayload.phoneCountryCode=t.passCodePayload.phoneCountryCode||"+86"),e=q(q({},t),{connection:"PASSCODE"}),[4,this.login(e,"passCode")];case 1:return[2,n.sent()]}}))}))},t.prototype.logout=function(){return A(this,void 0,void 0,(function(){var t,e,n;return M(this,(function(o){switch(o.label){case 0:return[4,this.getLoginState()];case 1:return(t=o.sent())?(e=t.access_token,n=t.expires_at,!e||n{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}},e={};t.d(e,{e:()=>B});var n={};function o(){}t.r(n),t.d(n,{checkSession:()=>C,chooseImage:()=>P,clearStorage:()=>m,getStorage:()=>w,getUserProfile:()=>O,login:()=>l,removeStorage:()=>b,request:()=>d,scanCode:()=>y,setStorage:()=>v,uploadFile:()=>_}),function(t){!function(t){t.use=function(t,e={}){const n=this._installedPlugins||(this._installedPlugins=[]);if(n.indexOf(t)>-1)return this;const o=[e];return o.unshift(this),\"function\"==typeof t.install?t.install.apply(t,o):\"function\"==typeof t&&t.apply(null,o),n.push(t),this}}(t)}(o);const r=o;function s(){return[\"wx\",\"ali\",\"baidu\",\"qq\",\"tt\",\"jd\",\"ks\",\"qa_webview\",\"qa_ux\",\"Mpx\",\"Taro\",\"uni\"].reduce(((t,e)=>(t[`__authing_move_src_mode_${e}__`]=e,t)),{})}function i(t){console.error&&console.error(`[AuthingMove/api-proxy error in \"wx\"]:\\n ${t}`)}function a(){}function u(t,e={},n={}){let o={};return Object.keys(t).forEach((n=>{const r=e.hasOwnProperty(n)?e[n]:n;r&&(o[r]=t[n])})),o=Object.assign({},o,n),o}function c(){return wx}const p=c();function l(t={}){return p.login(t)}const h=c();function d(t={}){return h.request(t)}const f=c();function y(t={}){return f.scanCode(t)}const g=c();function v(t={}){const e=u(t,{},{encrypt:!1});return g.setStorage(e)}function w(t={}){const e=u(t,{},{encrypt:!1});return g.getStorage(e)}function b(t={}){return g.removeStorage(t)}function m(t={}){return g.clearStorage(t)}const x=c();function P(t={}){return x.chooseMedia(t)}const S=c();function _(t={}){return S.uploadFile(t)}const k=c();function O(t={}){return k.getUserProfile(t)}const T=c();function C(t={}){return T.checkSession(t)}const I=s();const j=c();r.use((function(t,e={}){const{custom:o={}}=e,r=function(t){const e=c(),o=Object.create(null);Object.keys(n).forEach((t=>{o[t]=e[t]||n[t]}));const r=Object.create(null);return Object.keys(o).forEach((s=>{\"function\"==typeof o[s]?r[s]=(...o)=>{let r=t.from;const a=t.to;o.length&&(r=o.pop(),\"string\"==typeof r&&I[r]||(o.push(r),r=t.from));const u=function(t=\"\",e=\"\"){return`${I[`__authing_move_src_mode_${t}__`]}_${e}`}(r,a);return t.custom[u]&&t.custom[u][s]?t.custom[u][s].apply(this,o):n[s]?n[s].apply(this,o):e[s]?e[s].apply(this,o):void i(`\"${s}\" method does not exist in the current context`)}:r[s]=o[s]})),r}({from:\"wx\",to:\"wx\",custom:o}),u=Object.assign({},r,function(t){const e=s();return Object.keys(t).reduce(((n,o)=>(\"function\"!=typeof t[o]||(n[o]=function(...n){if(function(t){return/^get\\w*Manager$/.test(t)||/^create\\w*Context$/.test(t)||/^(on|off)/.test(t)||/\\w+Sync$/.test(t)}(o))return t[o].apply(t,n);n[0]&&!e[n[0]]||n.unshift({success:a,fail:a});const r=n[0];let s;const i=new Promise(((e,i)=>{const a=r.success,u=r.fail;r.success=function(t){a&&a.call(this,t),e(t)},r.fail=function(t){u&&u.call(this,t),i(t)},s=t[o].apply(j,n)}));return i.__returned=s,i}),n)),{})}(r));Object.keys(u).forEach((e=>{try{if(\"function\"!=typeof u[e])return void(t[e]=u[e]);t[e]=(...n)=>u[e].apply(t,n)}catch(n){i(`Call ${t}.${e} error:`+JSON.stringify(n))}}))}));var L=function(){function t(){}return t.prototype.get=function(t){return r.getStorage({key:t})},t.prototype.set=function(t,e){return r.setStorage({key:t,data:e})},t.prototype.remove=function(t){return r.removeStorage({key:t})},t}();const E=JSON.parse('{\"i8\":\"5.0.6-alpha.2\"}');var F=function(){return F=Object.assign||function(t){for(var e,n=1,o=arguments.length;n0&&r[r.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0&&r[r.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]Date.now()?[2,e]:(q(\"getLoginState\",\"loginState has expired, please login again\"),[2,null]);case 2:return n.sent(),[2,null];case 3:return[2]}}))}))},t.prototype.clearLoginState=function(){return M(this,void 0,void 0,(function(){return K(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.storage.remove(U(this.options.appId))];case 1:return t.sent(),[2,!0];case 2:return q(\"clearLoginState\",t.sent()),[2,!1];case 3:return[2]}}))}))},t.prototype.saveLoginState=function(t){return M(this,void 0,void 0,(function(){var e;return K(this,(function(n){switch(n.label){case 0:return e=A(A({},t),{expires_at:1e3*t.expires_in+Date.now()-72e5}),[4,this.storage.set(U(this.options.appId),e)];case 1:return n.sent(),[2,e]}}))}))},t.prototype.getPublicKey=function(t){return M(this,void 0,void 0,(function(){return K(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,D({method:\"GET\",url:this.options.host+\"/api/v3/system\"})];case 1:return[2,e.sent()[t].publicKey];case 2:return q(\"getPublicKey\",e.sent()),[2,\"\"];case 3:return[2]}}))}))},t.prototype.resetWxCode=function(){return M(this,void 0,void 0,(function(){var t;return K(this,(function(e){switch(e.label){case 0:return[4,r.login()];case 1:return t=e.sent().code,[4,this.storage.set($(this.options.appId),t)];case 2:return e.sent(),[2,t]}}))}))},t.prototype.getCachedWxLoginCode=function(){return M(this,void 0,void 0,(function(){return K(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.storage.get($(this.options.appId))];case 1:return[2,t.sent().data];case 2:return t.sent(),[2,\"\"];case 3:return[2]}}))}))},t.prototype.loginByCode=function(t){return M(this,void 0,void 0,(function(){var e,n,o,s,i,a,u;return K(this,(function(c){switch(c.label){case 0:return[4,this.getLoginState()];case 1:return(e=c.sent())&&e.expires_at>Date.now()?[2,e]:[4,this.getCachedWxLoginCode()];case 2:if(!(n=c.sent()))return[3,8];c.label=3;case 3:return c.trys.push([3,5,,7]),[4,r.checkSession()];case 4:return c.sent(),[3,7];case 5:return c.sent(),[4,this.resetWxCode()];case 6:return n=c.sent(),[3,7];case 7:return[3,10];case 8:return[4,this.resetWxCode()];case 9:n=c.sent(),c.label=10;case 10:return o=t.extIdpConnidentifier,s=t.connection,i=t.wechatMiniProgramCodePayload,a=t.options,u={connection:s||\"wechat_mini_program_code\",extIdpConnidentifier:o,wechatMiniProgramCodePayload:A(A({},i),{code:n}),options:a},[4,this.login(u,\"code\")];case 11:return[2,c.sent()]}}))}))},t.prototype.loginByPassword=function(t){var e,n,o;return M(this,void 0,void 0,(function(){var r,s;return K(this,(function(i){switch(i.label){case 0:return(null===(e=t.options)||void 0===e?void 0:e.passwordEncryptType)&&\"none\"!==(null===(n=t.options)||void 0===n?void 0:n.passwordEncryptType)?this.encryptFunction?[4,this.getPublicKey(null===(o=t.options)||void 0===o?void 0:o.passwordEncryptType)]:(q(\"loginByPassword\",'encryptFunction is required, if passwordEncryptType is not \"none\"'),[2,null]):[3,2];case 1:if(!(r=i.sent()))return q(\"loginByPassword\",\"publicKey is invalid\"),[2,null];t.passwordPayload.password=this.encryptFunction(t.passwordPayload.password,r),i.label=2;case 2:return s=A(A({},t),{connection:\"PASSWORD\"}),[4,this.login(s,\"password\")];case 3:return[2,i.sent()]}}))}))},t.prototype.loginByPassCode=function(t){return M(this,void 0,void 0,(function(){var e;return K(this,(function(n){switch(n.label){case 0:return t.passCodePayload.phone&&(t.passCodePayload.phoneCountryCode=t.passCodePayload.phoneCountryCode||\"+86\"),e=A(A({},t),{connection:\"PASSCODE\"}),[4,this.login(e,\"passCode\")];case 1:return[2,n.sent()]}}))}))},t.prototype.logout=function(){return M(this,void 0,void 0,(function(){var t,e,n;return K(this,(function(o){switch(o.label){case 0:return[4,this.getLoginState()];case 1:return(t=o.sent())?(e=t.access_token,n=t.expires_at,!e||n{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}},e={};t.d(e,{e:()=>K});var n={};function o(){}t.r(n),t.d(n,{checkSession:()=>T,chooseImage:()=>P,clearStorage:()=>x,getStorage:()=>w,getUserProfile:()=>C,login:()=>l,removeStorage:()=>b,request:()=>d,scanCode:()=>g,setStorage:()=>v,uploadFile:()=>_}),function(t){!function(t){t.use=function(t,e={}){const n=this._installedPlugins||(this._installedPlugins=[]);if(n.indexOf(t)>-1)return this;const o=[e];return o.unshift(this),\"function\"==typeof t.install?t.install.apply(t,o):\"function\"==typeof t&&t.apply(null,o),n.push(t),this}}(t)}(o);const r=o;function s(){return[\"wx\",\"ali\",\"baidu\",\"qq\",\"tt\",\"jd\",\"ks\",\"qa_webview\",\"qa_ux\",\"Mpx\",\"Taro\",\"uni\"].reduce(((t,e)=>(t[`__authing_move_src_mode_${e}__`]=e,t)),{})}function i(t){console.error&&console.error(`[AuthingMove/api-proxy error in \"wx\"]:\\n ${t}`)}function a(){}function u(t,e={},n={}){let o={};return Object.keys(t).forEach((n=>{const r=e.hasOwnProperty(n)?e[n]:n;r&&(o[r]=t[n])})),o=Object.assign({},o,n),o}function c(){return wx}const p=c();function l(t={}){return p.login(t)}const h=c();function d(t={}){return h.request(t)}const f=c();function g(t={}){return f.scanCode(t)}const y=c();function v(t={}){const e=u(t,{},{encrypt:!1});return y.setStorage(e)}function w(t={}){const e=u(t,{},{encrypt:!1});return y.getStorage(e)}function b(t={}){return y.removeStorage(t)}function x(t={}){return y.clearStorage(t)}const m=c();function P(t={}){return m.chooseMedia(t)}const S=c();function _(t={}){return S.uploadFile(t)}const k=c();function C(t={}){return k.getUserProfile(t)}const O=c();function T(t={}){return O.checkSession(t)}const I=s();const L=c();r.use((function(t,e={}){const{custom:o={}}=e,r=function(t){const e=c(),o=Object.create(null);Object.keys(n).forEach((t=>{o[t]=e[t]||n[t]}));const r=Object.create(null);return Object.keys(o).forEach((s=>{\"function\"==typeof o[s]?r[s]=(...o)=>{let r=t.from;const a=t.to;o.length&&(r=o.pop(),\"string\"==typeof r&&I[r]||(o.push(r),r=t.from));const u=function(t=\"\",e=\"\"){return`${I[`__authing_move_src_mode_${t}__`]}_${e}`}(r,a);return t.custom[u]&&t.custom[u][s]?t.custom[u][s].apply(this,o):n[s]?n[s].apply(this,o):e[s]?e[s].apply(this,o):void i(`\"${s}\" method does not exist in the current context`)}:r[s]=o[s]})),r}({from:\"wx\",to:\"wx\",custom:o}),u=Object.assign({},r,function(t){const e=s();return Object.keys(t).reduce(((n,o)=>(\"function\"!=typeof t[o]||(n[o]=function(...n){if(function(t){return/^get\\w*Manager$/.test(t)||/^create\\w*Context$/.test(t)||/^(on|off)/.test(t)||/\\w+Sync$/.test(t)}(o))return t[o].apply(t,n);n[0]&&!e[n[0]]||n.unshift({success:a,fail:a});const r=n[0];let s;const i=new Promise(((e,i)=>{const a=r.success,u=r.fail;r.success=function(t){a&&a.call(this,t),e(t)},r.fail=function(t){u&&u.call(this,t),i(t)},s=t[o].apply(L,n)}));return i.__returned=s,i}),n)),{})}(r));Object.keys(u).forEach((e=>{try{if(\"function\"!=typeof u[e])return void(t[e]=u[e]);t[e]=(...n)=>u[e].apply(t,n)}catch(n){i(`Call ${t}.${e} error:`+JSON.stringify(n))}}))}));var j=function(){function t(){}return t.prototype.get=function(t){return r.getStorage({key:t})},t.prototype.set=function(t,e){return r.setStorage({key:t,data:e})},t.prototype.remove=function(t){return r.removeStorage({key:t})},t}();const E=JSON.parse('{\"i8\":\"5.0.7-alpha.4\"}');var F=function(){return F=Object.assign||function(t){for(var e,n=1,o=arguments.length;n0&&r[r.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]0&&r[r.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]Date.now()?[2,e]:($(\"getLoginState\",\"loginState has expired, please login again\"),[2,null]);case 2:return n.sent(),[2,null];case 3:return[2]}}))}))},t.prototype.clearLoginState=function(){return A(this,void 0,void 0,(function(){return M(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.storage.remove(U(this.options.appId))];case 1:return t.sent(),[2,!0];case 2:return $(\"clearLoginState\",t.sent()),[2,!1];case 3:return[2]}}))}))},t.prototype.saveLoginState=function(t){return A(this,void 0,void 0,(function(){var e;return M(this,(function(n){switch(n.label){case 0:return e=q(q({},t),{expires_at:1e3*t.expires_in+Date.now()-72e5}),[4,this.storage.set(U(this.options.appId),e)];case 1:return n.sent(),[2,e]}}))}))},t.prototype.getPublicKey=function(t){return A(this,void 0,void 0,(function(){return M(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,D({method:\"GET\",url:this.options.host+\"/api/v3/system\"})];case 1:return[2,e.sent()[t].publicKey];case 2:return $(\"getPublicKey\",e.sent()),[2,\"\"];case 3:return[2]}}))}))},t.prototype.getCachedWxLoginCode=function(){return A(this,void 0,void 0,(function(){return M(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.storage.get(W(this.options.appId))];case 1:return[2,t.sent().data];case 2:return t.sent(),[2,\"\"];case 3:return[2]}}))}))},t.prototype.cacheWxLoginCode=function(t){return A(this,void 0,void 0,(function(){return M(this,(function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,this.storage.set(W(this.options.appId),t)];case 1:return e.sent(),[2,t];case 2:return $(\"cacheWxLoginCode\",e.sent()),[2,\"\"];case 3:return[2]}}))}))},t.prototype.resetWxLoginCode=function(){return A(this,void 0,void 0,(function(){var t,e=this;return M(this,(function(n){switch(n.label){case 0:t=function(){return A(e,void 0,void 0,(function(){var t;return M(this,(function(e){switch(e.label){case 0:return e.trys.push([0,3,,4]),[4,r.login()];case 1:return t=e.sent(),[4,this.cacheWxLoginCode(t.code)];case 2:return e.sent(),[3,4];case 3:return $(\"resetWxLoginCode\",e.sent()),[3,4];case 4:return[2]}}))}))},n.label=1;case 1:return n.trys.push([1,6,8,10]),[4,r.checkSession()];case 2:return n.sent(),[4,this.getCachedWxLoginCode()];case 3:return n.sent()?[3,5]:[4,t()];case 4:n.sent(),n.label=5;case 5:return[3,10];case 6:return n.sent(),this.storage.remove(W(this.options.appId)),[4,t()];case 7:return n.sent(),[3,10];case 8:return[4,this.getCachedWxLoginCode()];case 9:return[2,n.sent()];case 10:return[2]}}))}))},t.prototype.loginByCode=function(t){return A(this,void 0,void 0,(function(){var e,n,o,r,s,i,a;return M(this,(function(u){switch(u.label){case 0:return[4,this.getLoginState()];case 1:return(e=u.sent())&&e.expires_at>Date.now()?[2,e]:(n=t.extIdpConnidentifier,o=t.connection,r=t.wechatMiniProgramCodePayload,s=t.options,[4,this.resetWxLoginCode()]);case 2:return(i=u.sent())?(a={connection:o||\"wechat_mini_program_code\",extIdpConnidentifier:n,wechatMiniProgramCodePayload:q(q({},r),{code:i}),options:s},[4,this.login(a,\"code\")]):($(\"loginByCode\",\"get wx login code error\"),[2,null]);case 3:return[2,u.sent()]}}))}))},t.prototype.loginByPassword=function(t){var e,n,o;return A(this,void 0,void 0,(function(){var r,s;return M(this,(function(i){switch(i.label){case 0:return(null===(e=t.options)||void 0===e?void 0:e.passwordEncryptType)&&\"none\"!==(null===(n=t.options)||void 0===n?void 0:n.passwordEncryptType)?this.encryptFunction?[4,this.getPublicKey(null===(o=t.options)||void 0===o?void 0:o.passwordEncryptType)]:($(\"loginByPassword\",'encryptFunction is required, if passwordEncryptType is not \"none\"'),[2,null]):[3,2];case 1:if(!(r=i.sent()))return $(\"loginByPassword\",\"publicKey is invalid\"),[2,null];t.passwordPayload.password=this.encryptFunction(t.passwordPayload.password,r),i.label=2;case 2:return s=q(q({},t),{connection:\"PASSWORD\"}),[4,this.login(s,\"password\")];case 3:return[2,i.sent()]}}))}))},t.prototype.loginByPassCode=function(t){return A(this,void 0,void 0,(function(){var e;return M(this,(function(n){switch(n.label){case 0:return t.passCodePayload.phone&&(t.passCodePayload.phoneCountryCode=t.passCodePayload.phoneCountryCode||\"+86\"),e=q(q({},t),{connection:\"PASSCODE\"}),[4,this.login(e,\"passCode\")];case 1:return[2,n.sent()]}}))}))},t.prototype.logout=function(){return A(this,void 0,void 0,(function(){var t,e,n;return M(this,(function(o){switch(o.label){case 0:return[4,this.getLoginState()];case 1:return(t=o.sent())?(e=t.access_token,n=t.expires_at,!e||nloginByCode + diff --git a/lerna.json b/lerna.json index 23d4ce7a..99e5ea4a 100644 --- a/lerna.json +++ b/lerna.json @@ -4,5 +4,5 @@ "packages/*" ], "useWorkspaces": true, - "version": "5.0.6" + "version": "5.0.7-alpha.4" } diff --git a/package-lock.json b/package-lock.json index 0fdee826..d5fa4892 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6824,7 +6824,7 @@ }, "packages/miniapp": { "name": "@authing/miniapp", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT", "dependencies": { "@authing/authingmove-api-proxy": "^1.0.1-alpha.14", @@ -6836,7 +6836,7 @@ }, "packages/miniapp-jsencrypt": { "name": "@authing/miniapp-jsencrypt", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT" }, "packages/miniapp-platform-taro": { @@ -6862,7 +6862,7 @@ }, "packages/miniapp-sm2encrypt": { "name": "@authing/miniapp-sm2encrypt", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT", "dependencies": { "jsbn": "^1.1.0" @@ -6870,17 +6870,17 @@ }, "packages/miniapp-taro": { "name": "@authing/miniapp-taro", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT" }, "packages/miniapp-uniapp": { "name": "@authing/miniapp-uniapp", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT" }, "packages/miniapp-wx": { "name": "@authing/miniapp-wx", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT" }, "packages/node": { @@ -6891,7 +6891,7 @@ }, "packages/web": { "name": "@authing/web", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT", "dependencies": { "axios": "^0.26.1" @@ -6927,7 +6927,7 @@ }, "packages/weixin-official-account": { "name": "@authing/weixin-official-account", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT" } }, diff --git a/packages/miniapp-jsencrypt/package.json b/packages/miniapp-jsencrypt/package.json index 90d34eaa..b9de4a2d 100644 --- a/packages/miniapp-jsencrypt/package.json +++ b/packages/miniapp-jsencrypt/package.json @@ -1,6 +1,6 @@ { "name": "@authing/miniapp-jsencrypt", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "description": "JavaScript encrypt module for miniapp", "main": "lib/index.js", "module": "lib/index.js", diff --git a/packages/miniapp-sm2encrypt/package-lock.json b/packages/miniapp-sm2encrypt/package-lock.json index 2d5a12dd..98ed17f0 100644 --- a/packages/miniapp-sm2encrypt/package-lock.json +++ b/packages/miniapp-sm2encrypt/package-lock.json @@ -1,12 +1,12 @@ { "name": "@authing/miniapp-sm2encrypt", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@authing/miniapp-sm2encrypt", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT", "dependencies": { "jsbn": "^1.1.0" diff --git a/packages/miniapp-sm2encrypt/package.json b/packages/miniapp-sm2encrypt/package.json index 8bcdeca8..d031c310 100644 --- a/packages/miniapp-sm2encrypt/package.json +++ b/packages/miniapp-sm2encrypt/package.json @@ -1,6 +1,6 @@ { "name": "@authing/miniapp-sm2encrypt", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "description": "JavaScript sm2 encrypt module for miniapp", "main": "lib/index.js", "module": "lib/index.js", diff --git a/packages/miniapp-taro/package.json b/packages/miniapp-taro/package.json index f3e0e515..e5372a48 100644 --- a/packages/miniapp-taro/package.json +++ b/packages/miniapp-taro/package.json @@ -1,6 +1,6 @@ { "name": "@authing/miniapp-taro", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "description": "Authing miniapp JS SDK for Taro", "main": "dist/bundle-taro.js", "types": "dist/typings/src/index.d.ts", diff --git a/packages/miniapp-uniapp/package.json b/packages/miniapp-uniapp/package.json index e0ce0122..4abad7a0 100644 --- a/packages/miniapp-uniapp/package.json +++ b/packages/miniapp-uniapp/package.json @@ -1,6 +1,6 @@ { "name": "@authing/miniapp-uniapp", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "description": "Authing miniapp JS SDK for uniapp", "main": "dist/bundle-uniapp.js", "types": "dist/typings/src/index.d.ts", diff --git a/packages/miniapp-wx/package.json b/packages/miniapp-wx/package.json index 1d045e01..7d67fb8f 100644 --- a/packages/miniapp-wx/package.json +++ b/packages/miniapp-wx/package.json @@ -1,6 +1,6 @@ { "name": "@authing/miniapp-wx", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "description": "Authing miniapp JS SDK for WX", "main": "dist/bundle-wx.js", "types": "dist/typings/src/index.d.ts", diff --git a/packages/miniapp/package-lock.json b/packages/miniapp/package-lock.json index 7d18bf99..cf30af9f 100644 --- a/packages/miniapp/package-lock.json +++ b/packages/miniapp/package-lock.json @@ -1,12 +1,12 @@ { "name": "@authing/miniapp", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@authing/miniapp", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT", "dependencies": { "@authing/authingmove-api-proxy": "^1.0.1-alpha.14", diff --git a/packages/miniapp/package.json b/packages/miniapp/package.json index 9c1a6a4e..2201afa7 100644 --- a/packages/miniapp/package.json +++ b/packages/miniapp/package.json @@ -1,6 +1,6 @@ { "name": "@authing/miniapp", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "description": "Authing miniapp sdk source code", "main": "src/index.ts", "module": "src/index.ts", diff --git a/packages/miniapp/src/Authing.ts b/packages/miniapp/src/Authing.ts index 8904466b..2d9e3856 100644 --- a/packages/miniapp/src/Authing.ts +++ b/packages/miniapp/src/Authing.ts @@ -17,10 +17,11 @@ import { UpdatePasswordOptions, UploadFileResponseData, LoginByCodeOptions, - Maybe + Maybe, + UpdateUserInfo } from './types' -import { error, getLoginStateKey, request, StorageProvider } from './helpers' +import { error, getLoginStateKey, getWxLoginCodeKey, request, StorageProvider } from './helpers' import { AuthingMove } from './AuthingMove' @@ -38,6 +39,8 @@ export class Authing { this.storage = new StorageProvider() this.encryptFunction = options.encryptFunction + + this.resetWxLoginCode() } async getLoginState(): Promise { @@ -102,6 +105,49 @@ export class Authing { } } + private async getCachedWxLoginCode (): Promise { + try { + const res = await this.storage.get(getWxLoginCodeKey(this.options.appId)) + return res.data + } catch (e) { + return '' + } + } + + private async cacheWxLoginCode (code: string): Promise { + try { + await this.storage.set(getWxLoginCodeKey(this.options.appId), code) + return code + } catch (e) { + error('cacheWxLoginCode', e) + return '' + } + } + + private async resetWxLoginCode (): Promise { + const next = async () => { + try { + const wxLoginRes = await AuthingMove.login() + await this.cacheWxLoginCode(wxLoginRes.code) + } catch (e) { + error('resetWxLoginCode', e) + } + } + + try { + await AuthingMove.checkSession() + const code = await this.getCachedWxLoginCode() + if (!code) { + await next() + } + } catch (e) { + this.storage.remove(getWxLoginCodeKey(this.options.appId)) + await next() + } finally { + return await this.getCachedWxLoginCode() + } + } + async loginByCode( data: LoginByCodeOptions ): Promise> { @@ -111,10 +157,15 @@ export class Authing { return loginState } - const { code } = await AuthingMove.login() - const { extIdpConnidentifier, connection, wechatMiniProgramCodePayload, options } = data + const code = await this.resetWxLoginCode() + + if (!code) { + error('loginByCode', 'get wx login code error') + return null + } + const _data: WxCodeLoginOptions = { connection: connection || 'wechat_mini_program_code', extIdpConnidentifier, @@ -128,6 +179,37 @@ export class Authing { return await this.login(_data, 'code') } + // async loginByPhone( + // data: LoginByPhoneOptions + // ): Promise> { + // const loginState = await this.getLoginState() + + // if (loginState && loginState.expires_at > Date.now()) { + // return loginState + // } + + // const { extIdpConnidentifier, connection, wechatMiniProgramPhonePayload, options } = data + + // const code = await this.resetWxLoginCode() + + // if (!code) { + // error('loginByPhone', 'get wx login code error') + // return null + // } + + // const _data: WxPhoneLoginOptions = { + // connection: connection || 'wechat_mini_program_phone', + // extIdpConnidentifier, + // wechatMiniProgramPhonePayload: { + // ...wechatMiniProgramPhonePayload, + // code + // }, + // options + // } + + // return await this.login(_data, 'phone') + // } + async loginByPassword( data: PasswordLoginOptions ): Promise> { @@ -429,7 +511,7 @@ export class Authing { } } - async updateUserInfo(data: UserInfo): Promise> { + async updateUserInfo(data: UpdateUserInfo): Promise> { const loginState = await this.getLoginState() if (!loginState) { diff --git a/packages/miniapp/src/helpers/utils.ts b/packages/miniapp/src/helpers/utils.ts index 548da05e..6e337c30 100644 --- a/packages/miniapp/src/helpers/utils.ts +++ b/packages/miniapp/src/helpers/utils.ts @@ -1,3 +1,7 @@ export function getLoginStateKey(appId: string): string { return ['authing', appId, 'login-state'].join(':') } + +export function getWxLoginCodeKey (appId: string): string { + return ['authing', appId, 'wx-login-code'].join(':') +} diff --git a/packages/miniapp/src/types.ts b/packages/miniapp/src/types.ts index c1ab988d..b2f11fc8 100644 --- a/packages/miniapp/src/types.ts +++ b/packages/miniapp/src/types.ts @@ -167,6 +167,25 @@ export interface PassCodeLoginOptions { } } +export interface UpdateUserInfo { + name?: string + nickname?: string + photo?: string + externalId?: string + birthdate?: string + country?: string + province?: string + city?: string + address?: string + streetAddress?: string + postalCode?: string + gender?: Gender + username?: string + customData?: Record +} + +export type Gender = 'M' | 'F' | 'U' + export interface UserInfo { name?: string nickname?: string @@ -179,7 +198,8 @@ export interface UserInfo { address?: string streetAddress?: string postalCode?: string - gender?: string + gender?: Gender + phone?: string username?: string customData?: any createdAt?: string diff --git a/packages/web/package-lock.json b/packages/web/package-lock.json index f89912ee..891fe7a8 100644 --- a/packages/web/package-lock.json +++ b/packages/web/package-lock.json @@ -1,12 +1,12 @@ { "name": "@authing/web", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@authing/web", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT", "dependencies": { "axios": "^0.26.1" diff --git a/packages/web/package.json b/packages/web/package.json index 8b711598..7244729d 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@authing/web", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "description": "Official SDK of Authing for Browser", "main": "dist/global/index.global.js", "module": "dist/esm/index.esm.js", diff --git a/packages/weixin-official-account/package-lock.json b/packages/weixin-official-account/package-lock.json index fd553f32..8bcd11a7 100644 --- a/packages/weixin-official-account/package-lock.json +++ b/packages/weixin-official-account/package-lock.json @@ -1,12 +1,12 @@ { "name": "@authing/weixin-official-account", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@authing/weixin-official-account", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "license": "MIT" } } diff --git a/packages/weixin-official-account/package.json b/packages/weixin-official-account/package.json index 6619cc67..596586e1 100644 --- a/packages/weixin-official-account/package.json +++ b/packages/weixin-official-account/package.json @@ -1,6 +1,6 @@ { "name": "@authing/weixin-official-account", - "version": "5.0.6", + "version": "5.0.7-alpha.4", "description": "Authing SDK for Weixin official account", "module": "dist/esm/weixin-official-account.min.js", "types": "dist/typings/index.d.ts",