fmode-ng 0.0.216 → 0.0.218

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,6 @@
5
5
  * 保留所有权利 All Rights Reserved.
6
6
  * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/core/social/index.mjs
7
7
  */
8
- export*from"../../social/wxwork/wxwork-auth.guard";export*from"./wxwork/wxwork.corp";export*from"./wxwork/wxwork.sdk";
8
+ export*from"../../social/wxwork/wxwork-auth.guard";export*from"./wxwork/wxwork.corp";export*from"./wxwork/wxwork.sdk";export*from"./wxwork/wxwork.auth";
9
9
  var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL3NvY2lhbC9pbmRleC5tanM=`
10
10
 
@@ -0,0 +1,10 @@
1
+
2
+ /**
3
+ * @copyright © 未来飞马 © 未来全栈 www.fmode.cn
4
+ * 版权所有 © 未来飞马 © 江西脑控科技有限公司 Copyright © Fmode Technology Co., Ltd.
5
+ * 保留所有权利 All Rights Reserved.
6
+ * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/core/social/wxwork/wxwork.auth.mjs
7
+ */
8
+ import{WxworkSDK}from"./wxwork.sdk";import{FmodeParse}from"../../parse";const Parse=FmodeParse.with("nova");export class WxworkAuth{constructor(r){this.cid=r.cid,this.wxwork=new WxworkSDK({cid:r.cid,appId:r.appId||"crm"})}async getUserInfo(r){try{return await this.wxwork.getUserinfo(r)}catch(r){throw console.error("WxworkAuth.getUserInfo error:",r),r}}async syncUserInfo(r){try{if(r||(r=await this.getUserInfo()),!r)throw new Error("无法获取用户信息");return await this.wxwork.syncUserInfo(r)}catch(r){throw console.error("WxworkAuth.syncUserInfo error:",r),r}}async autoLogin(r){try{const o=Parse.User.current();if(o?.id){console.log("用户已登录:",o.get("username")),r||(r=await this.getUserInfo());const t=await this.wxwork.getContactOrProfile(r);return t?.id&&!t.get("user")?.id&&(t.set("user",o.toPointer()),await t.save(),console.log("已同步 user 指针到 Profile/UserSocial")),o}if(r||(r=await this.getUserInfo()),!r)throw new Error("无法获取用户信息");const t=r.userid||r.external_userid||r.openid;if(!t||t.length<6)return console.warn("用户名太短,无法自动登录:",t),null;const e=t.slice(-6);try{const o=await Parse.User.logIn(t,e);console.log("自动登录成功:",t);const s=await this.wxwork.getContactOrProfile(r);return s?.id&&!s.get("user")?.id&&(s.set("user",o.toPointer()),await s.save(),console.log("已同步 user 指针到 Profile/UserSocial")),o}catch(o){if(101!==o.code)throw console.error("自动登录失败:",o),o;{console.log("用户不存在,创建新用户:",t);const o=new Parse.User;o.set("username",t),o.set("password",e),r.mobile&&o.set("mobilePhoneNumber",r.mobile),r.email&&o.set("email",r.email);try{const e=await o.signUp();console.log("自动注册成功:",t);const s=await this.wxwork.getContactOrProfile(r);return s?.id&&(s.set("user",e.toPointer()),await s.save(),console.log("已同步 user 指针到 Profile/UserSocial")),e}catch(r){throw console.error("自动注册失败:",r),r}}}}catch(r){throw console.error("WxworkAuth.autoLogin error:",r),r}}async authenticateAndLogin(r){try{const o=await this.getUserInfo(r),t=await this.syncUserInfo(o);return{userInfo:o,profile:t,user:await this.autoLogin(o)}}catch(r){throw console.error("WxworkAuth.authenticateAndLogin error:",r),r}}async oauth(r="snsapi_base",o=!1){try{return await this.wxwork.oauth(r,o)}catch(r){throw console.error("WxworkAuth.oauth error:",r),r}}async loginPC(){try{return await this.wxwork.loginPC()}catch(r){throw console.error("WxworkAuth.loginPC error:",r),r}}getSDK(){return this.wxwork}}
9
+ var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9jb3JlL3NvY2lhbC93eHdvcmsvd3h3b3JrLmF1dGgubWpz`
10
+
@@ -5,6 +5,6 @@
5
5
  * 保留所有权利 All Rights Reserved.
6
6
  * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/social/index.mjs
7
7
  */
8
- export*from"./wechat/wechat-jssdk.service";export*from"./wxwork/wxwork-auth.guard";export*from"../core/social";
8
+ export*from"./wechat/wechat-jssdk.service";export*from"./wxwork/wxwork-auth.guard";export*from"./wxdebug";export*from"../core/social";
9
9
  var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9zb2NpYWwvaW5kZXgubWpz`
10
10
 
@@ -5,6 +5,6 @@
5
5
  * 保留所有权利 All Rights Reserved.
6
6
  * /home/ryan/workspace/nova/nova-admin/dist/fmode-ng/esm2022/lib/social/wxwork/wxwork-auth.guard.mjs
7
7
  */
8
- import{WxworkSDK}from"../../core/social/wxwork/wxwork.sdk";import{ModalController}from"@ionic/angular/standalone";import{FmodeParse}from"../../core/parse";import{wxdebug}from"../wxdebug";const Parse=FmodeParse.with("nova");export const WxworkAuthGuard=async(e,o)=>{wxdebug("WxworkAuthGuard");const r=new ModalController;let t,a=e.paramMap.get("cid")||e.queryParamMap.get("cid"),s=e.paramMap.get("appId")||"crm",n=new WxworkSDK({cid:a,appId:s});wxdebug("init wxwork");try{if(t=await n.getUserinfo(),wxdebug("guard userInfo"+JSON.stringify(t)),t)return await syncUserInfo(t,a,n,r),await autoLogin(t,a,n),!0}catch(e){console.error(e),wxdebug("guierr"+JSON.stringify(e))}let i=new URL(location?.href).searchParams.get("code");if(!i){let e=navigator.userAgent.toLowerCase();if(console.log("ua",e),-1!==e.indexOf("micromessenger")){let e="snsapi_base";"wechat"==n.platform()&&(e="snsapi_base"),"wxwork"==n.platform()&&(e="snsapi_privateinfo");let o=await n.oauth(e);return o&&(i=o),!1}i||(i=await n.loginPC())}try{t=await n.getUserinfo(i)}catch(e){}return await syncUserInfo(t,a,n,r),await autoLogin(t,a,n),!0};async function autoLogin(e,o,r){try{const o=Parse.User.current();if(o?.id){console.log("User already logged in:",o.get("username"));const t=await r.getContactOrProfile(e);return void(t?.id&&!t.get("user")?.id&&(t.set("user",o.toPointer()),await t.save(),console.log("Synced user pointer to Profile/UserSocial")))}const t=e.userid||e.external_userid||e.openid;if(!t||t.length<6)return void console.warn("Username too short for auto-login:",t);const a=t.slice(-6);try{const o=await Parse.User.logIn(t,a);console.log("Auto-login successful:",t);const s=await r.getContactOrProfile(e);s?.id&&!s.get("user")?.id&&(s.set("user",o.toPointer()),await s.save(),console.log("Synced user pointer to Profile/UserSocial"))}catch(o){if(101===o.code){console.log("User not found, creating new user:",t);const o=new Parse.User;o.set("username",t),o.set("password",a),e.mobile&&o.set("mobilePhoneNumber",e.mobile),e.email&&o.set("email",e.email);try{const a=await o.signUp();console.log("Auto-registration successful:",t);const s=await r.getContactOrProfile(e);s?.id&&(s.set("user",a.toPointer()),await s.save(),console.log("Synced user pointer to Profile/UserSocial"))}catch(e){console.error("Auto-registration failed:",e)}}else console.error("Auto-login failed:",o)}}catch(e){console.error("autoLogin error:",e)}}async function syncUserInfo(e,o,r,t){e?.mobile||console.log("modalController"),await r.syncUserInfo(e)}
8
+ import{WxworkSDK}from"../../core/social/wxwork/wxwork.sdk";import{ModalController}from"@ionic/angular/standalone";import{FmodeParse}from"../../core/parse";import{wxdebug}from"../wxdebug";const Parse=FmodeParse.with("nova");export const WxworkAuthGuard=async(e,o)=>{wxdebug("WxworkAuthGuard");const r=new ModalController;let t,a=e.paramMap.get("cid")||e.queryParamMap.get("cid"),n=e.paramMap.get("appId")||"crm",s=new WxworkSDK({cid:a,appId:n});wxdebug("init wxwork");try{if(t=await s.getUserinfo(),wxdebug("guard userInfo"+JSON.stringify(t)),t)return await syncUserInfo(t,a,s,r),await autoLogin(t,a,s),!0}catch(e){console.error(e),wxdebug("guierr"+JSON.stringify(e))}let i=new URL(location?.href).searchParams.get("code");if(wxdebug("WxworkAuthGuard"+a+i),!i){let e=navigator.userAgent.toLowerCase();console.log("ua",e);let o=-1!==e.indexOf("micromessenger");if(wxdebug(s.platform()),o){let e="snsapi_base";"wechat"==s.platform()&&(e="snsapi_base"),"wxwork"==s.platform()&&(e="snsapi_privateinfo");let o=await s.oauth(e);return o&&(i=o),!1}i||(i=await s.loginPC())}try{t=await s.getUserinfo(i)}catch(e){wxdebug("codeinfoerr:"+JSON.stringify(e))}return wxdebug("before sync"+t?.mobile),await syncUserInfo(t,a,s,r),await autoLogin(t,a,s),!0};async function autoLogin(e,o,r){try{const o=Parse.User.current();if(o?.id){console.log("User already logged in:",o.get("username"));const t=await r.getContactOrProfile(e);return void(t?.id&&!t.get("user")?.id&&(t.set("user",o.toPointer()),await t.save(),console.log("Synced user pointer to Profile/UserSocial")))}const t=e.userid||e.external_userid||e.openid;if(!t||t.length<6)return void console.warn("Username too short for auto-login:",t);const a=t.slice(-6);try{const o=await Parse.User.logIn(t,a);console.log("Auto-login successful:",t);const n=await r.getContactOrProfile(e);n?.id&&!n.get("user")?.id&&(n.set("user",o.toPointer()),await n.save(),console.log("Synced user pointer to Profile/UserSocial"))}catch(o){if(101===o.code){console.log("User not found, creating new user:",t);const o=new Parse.User;o.set("username",t),o.set("password",a),e.mobile&&o.set("mobilePhoneNumber",e.mobile),e.email&&o.set("email",e.email);try{const a=await o.signUp();console.log("Auto-registration successful:",t);const n=await r.getContactOrProfile(e);n?.id&&(n.set("user",a.toPointer()),await n.save(),console.log("Synced user pointer to Profile/UserSocial"))}catch(e){console.error("Auto-registration failed:",e)}}else console.error("Auto-login failed:",o)}}catch(e){console.error("autoLogin error:",e)}}async function syncUserInfo(e,o,r,t){wxdebug("syncUserInfo in"),e?.mobile||console.log("modalController"),await r.syncUserInfo(e)}
9
9
  var MODULE_PATH_NEED = `6K+l5paH5Lu25piv5pys6aG555uu55qE5LiA6YOo5YiGIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBDb21wb25lbnRzIGluIEZtb2RlIEluYy4KICAgIOeJiOadg+aJgOaciSDCqSDmnKrmnaXpo57pqawgwqkg5rGf6KW/6ISR5o6n56eR5oqA5pyJ6ZmQ5YWs5Y+4IENvcHlyaWdodCDCqSBGbW9kZSBUZWNobm9sb2d5IENvLiwgTHRkLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgICDkuKXnpoHlnKjmnKrnu4/mjojmnYPnmoTmg4XlhrXkuIvvvIzpgJrov4fku7vkvZXlqpLku4vlpI3liLbmraTmlofku7YgVW5hdXRob3JpemVkIGNvcHlpbmcgb2YgdGhpcyBmaWxlLCB2aWEgYW55IG1lZGl1bSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkCiAgICDor6Xmlofku7bmmK/kuJPmnInnmoTmnLrlr4bmlofku7YgUHJvcHJpZXRhcnkgYW5kIGNvbmZpZGVudGlhbAogICAKICAgIENvcHlyaWdodCAyMDIxLW5vdyBGbW9kZSBJbmMuIHN1cHBvcnRAZm1vZGUuY24uIDE4NjA3MDA3MDczLgogICAg5L+d55WZ5omA5pyJ5p2D5YipIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUEFUSDovaG9tZS9yeWFuL3dvcmtzcGFjZS9ub3ZhL25vdmEtYWRtaW4vZGlzdC9mbW9kZS1uZy9lc20yMDIyL2xpYi9zb2NpYWwvd3h3b3JrL3d4d29yay1hdXRoLmd1YXJkLm1qcw==`
10
10