@minato-bot/plugin-wxjsxy 2.0.5 → 2.4.1

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.
package/dist/index.d.mts CHANGED
@@ -1,17 +1,163 @@
1
- import { Plugin } from "@atri-bot/core";
1
+ import { n as encryptedString, r as setMaxDigits, t as RSAKeyPair } from "./lib-DMqn3JNQ.mjs";
2
+ import * as _$_atri_bot_lib_request0 from "@atri-bot/lib-request";
3
+ import * as _$_atri_bot_core0 from "@atri-bot/core";
4
+ import { ATRI, Argv, Bot, Plugin } from "@atri-bot/core";
5
+ import * as _$node_napcat_ts0 from "node-napcat-ts";
2
6
  import { TextSegment } from "node-napcat-ts";
3
- import * as _$yargs from "yargs";
7
+
4
8
  //#region src/api.d.ts
9
+ declare const casReq: _$_atri_bot_lib_request0.KyInstance;
10
+ declare const dyReq: _$_atri_bot_lib_request0.KyInstance;
5
11
  interface LoginToCasReq {
6
12
  username: string;
7
13
  password: string;
8
14
  }
15
+ type LoginToCasRes = {
16
+ meta: {
17
+ success: false;
18
+ statusCode: 500;
19
+ message: '请求操作失败!';
20
+ };
21
+ data: null;
22
+ } | {
23
+ meta: {
24
+ success: true;
25
+ statusCode: 200;
26
+ message: 'ok';
27
+ };
28
+ data: {
29
+ code: 'PASSERROR';
30
+ data: '10,1';
31
+ };
32
+ } | {
33
+ meta: {
34
+ success: true;
35
+ statusCode: 200;
36
+ message: 'ok';
37
+ };
38
+ data: {
39
+ code: 'NOUSER';
40
+ };
41
+ } | {
42
+ tgt: string;
43
+ ticket: string;
44
+ };
45
+ declare function loginToCas(req: LoginToCasReq): Promise<LoginToCasRes>;
46
+ declare function getCasLoginToken(TGT: string): Promise<[boolean, string]>;
47
+ declare function getDyCookie(CasToken: string): Promise<string | null>;
48
+ type GetDyTokenRes = {
49
+ msg: '操作成功';
50
+ code: 200;
51
+ user: null;
52
+ token: null;
53
+ } | {
54
+ msg: '操作成功';
55
+ code: 200;
56
+ user: {
57
+ name: string;
58
+ orgName: string;
59
+ professionName: string;
60
+ certificateNum: string;
61
+ phone: string;
62
+ className: string;
63
+ };
64
+ token: string;
65
+ };
66
+ declare function getDyToken(cookie: string): Promise<GetDyTokenRes>;
67
+ interface SetDyProcessReq {
68
+ beginTime: string;
69
+ endTime: string;
70
+ leaveSchool: '是' | '否';
71
+ backDormitory: '是' | '否';
72
+ askedType: '事假' | '病假';
73
+ reason: string;
74
+ }
75
+ type SetDyProcessRes = {
76
+ msg: string;
77
+ code: 500;
78
+ } | {
79
+ msg: string;
80
+ code: 200;
81
+ rows: string;
82
+ };
83
+ declare function setDyProcess(token: string, req: SetDyProcessReq): Promise<SetDyProcessRes>;
9
84
  interface getDyProcessReq {
10
85
  pageNo: number;
11
86
  pageSize: number;
12
87
  }
88
+ interface DyProcessItem {
89
+ id: string;
90
+ assignee: null;
91
+ decId: null;
92
+ textValue: null;
93
+ owner: string;
94
+ name: string;
95
+ startTime: string;
96
+ endTime: string;
97
+ deleteReason: null;
98
+ executionId: string;
99
+ instanceId: string;
100
+ taskDefinitionKey: string;
101
+ processDefinitionId: string;
102
+ description: null;
103
+ processStartTime: string;
104
+ processEndTime: string;
105
+ startUserId: string;
106
+ startUserSex: string;
107
+ startUserPhoto: null;
108
+ startUserType: string;
109
+ processName: string;
110
+ formSchema: null;
111
+ customProperties: null;
112
+ deploymentId: string;
113
+ resourceName: string;
114
+ handerUsers: null;
115
+ approvaState: '已通过' | '审核中';
116
+ applyUserName: null;
117
+ applyUserId: null;
118
+ titleContent: null;
119
+ }
120
+ type DyProcessRes = {
121
+ msg: string;
122
+ code: 500;
123
+ } | {
124
+ offset: number;
125
+ limit: number;
126
+ code: 200;
127
+ msg: '操作成功!';
128
+ pageNo: number;
129
+ pageSize: number;
130
+ rows: DyProcessItem[];
131
+ total: number;
132
+ totalPages: number;
133
+ maxId: null;
134
+ map: null;
135
+ first: number;
136
+ };
137
+ declare function getDyProcessList(token: string, data?: getDyProcessReq): Promise<DyProcessRes>;
138
+ type DyProcessDetailRes = {
139
+ msg: string;
140
+ code: 500;
141
+ } | {
142
+ code: 200;
143
+ msg: '操作成功';
144
+ rows: {
145
+ approveState: '已通过' | '审核中';
146
+ hisTasks: [null, {
147
+ processStartTime: string;
148
+ formSchema: {
149
+ formProperties: {
150
+ id: 'begineTime' | 'endTime' | 'leaveSchool' | 'backDormitory' | 'askedType' | 'reason';
151
+ value: string;
152
+ name: string;
153
+ }[];
154
+ };
155
+ }];
156
+ };
157
+ };
158
+ declare function getDyProcessDetail(token: string, instanceId: string): Promise<DyProcessDetailRes>;
13
159
  //#endregion
14
- //#region src/index.d.ts
160
+ //#region src/plugin.d.ts
15
161
  interface WxjsxyPluginConfig {
16
162
  accounts: Record<string, {
17
163
  username: string;
@@ -22,28 +168,34 @@ interface WxjsxyPluginConfig {
22
168
  offset: number;
23
169
  }>;
24
170
  }
25
- declare const AddAccountCommander: _$yargs.Argv<{
26
- username: string;
171
+ declare const plugin: Plugin<WxjsxyPluginConfig>;
172
+ declare const addAccountCommand: _$_atri_bot_core0.ATRICommand<"message", Argv<{
173
+ username: string | undefined;
27
174
  } & {
28
- password: string;
29
- }>;
30
- declare const startProcessCommander: _$yargs.Argv<{
31
- offset: number;
32
- }>;
33
- declare const getProcessListCommander: _$yargs.Argv<{
175
+ password: string | undefined;
176
+ }>, WxjsxyPluginConfig>;
177
+ declare const deleteAccountCommand: _$_atri_bot_core0.ATRICommand<"message", any, WxjsxyPluginConfig>;
178
+ declare const startProcessCommand: _$_atri_bot_core0.ATRICommand<"message", Argv<{
179
+ offset: number | undefined;
180
+ }>, WxjsxyPluginConfig>;
181
+ declare function getProcessList(req: LoginToCasReq, data: getDyProcessReq): Promise<_$node_napcat_ts0.TextSegment[]>;
182
+ declare const getProcessListCommand: _$_atri_bot_core0.ATRICommand<"message", Argv<{
34
183
  page: number;
35
184
  } & {
36
185
  size: number;
37
- }>;
38
- declare const setCronProcessCommander: _$yargs.Argv<{
39
- cron: string;
186
+ }>, WxjsxyPluginConfig>;
187
+ declare const cronStartProcessCommand: _$_atri_bot_core0.ATRICommand<"message", Argv<{
188
+ cron: string | undefined;
40
189
  } & {
41
- offset: number;
42
- }>;
43
- declare function getDyTokenByCas(req: LoginToCasReq): Promise<string | TextSegment[]>;
44
- declare function startProcess(req: LoginToCasReq, offset?: number): Promise<TextSegment[]>;
45
- declare function getProcessList(req: LoginToCasReq, data: getDyProcessReq): Promise<TextSegment[]>;
190
+ offset: number | undefined;
191
+ }>, WxjsxyPluginConfig>;
192
+ declare const cronStopProcessCommand: _$_atri_bot_core0.ATRICommand<"message", any, WxjsxyPluginConfig>;
193
+ //#endregion
194
+ //#region src/utils.d.ts
46
195
  declare function checkHaveAccount(config: WxjsxyPluginConfig, userId: string): [false, TextSegment[]] | [true, null];
47
- declare const plugin: Plugin<object, WxjsxyPluginConfig>;
196
+ declare function getDyTokenByCas(req: LoginToCasReq): Promise<string | TextSegment[]>;
197
+ declare function startProcess(req: LoginToCasReq, offset: number): Promise<TextSegment[]>;
198
+ declare function syncCrons(config: WxjsxyPluginConfig, bot: Bot, saveConfig: () => Promise<void>, logger: ATRI['logger']): Promise<void>;
199
+ declare function stopAllCrons(): void;
48
200
  //#endregion
49
- export { AddAccountCommander, WxjsxyPluginConfig, checkHaveAccount, getDyTokenByCas, getProcessList, getProcessListCommander, plugin, setCronProcessCommander, startProcess, startProcessCommander };
201
+ export { DyProcessDetailRes, DyProcessItem, DyProcessRes, GetDyTokenRes, LoginToCasReq, LoginToCasRes, RSAKeyPair, SetDyProcessReq, SetDyProcessRes, WxjsxyPluginConfig, addAccountCommand, casReq, checkHaveAccount, cronStartProcessCommand, cronStopProcessCommand, deleteAccountCommand, dyReq, encryptedString, getCasLoginToken, getDyCookie, getDyProcessDetail, getDyProcessList, getDyProcessReq, getDyToken, getDyTokenByCas, getProcessList, getProcessListCommand, loginToCas, plugin, setDyProcess, setMaxDigits, startProcess, startProcessCommand, stopAllCrons, syncCrons };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{Plugin as e}from"@atri-bot/core";import{useCron as t}from"@atri-bot/lib-cron";import n from"dayjs";import{Structs as r}from"node-napcat-ts";import i from"yargs";import a from"node:crypto";import o from"ky";var s=`@minato-bot/plugin-wxjsxy`,c=16,l=c,u=65536,d=u>>>1,f=u*u,p=u-1,m,h,g,_;function v(e){m=e,h=Array(m);for(var t=0;t<h.length;t++)h[t]=0;g=new y,_=new y,_.digits[0]=1}v(20),x(0x38d7ea4c68000);function y(e){typeof e==`boolean`&&e==1?this.digits=null:this.digits=h.slice(0),this.isNeg=!1}function b(e){var t=new y(!0);return t.digits=e.digits.slice(0),t.isNeg=e.isNeg,t}function x(e){var t=new y;t.isNeg=e<0,e=Math.abs(e);for(var n=0;e>0;)t.digits[n++]=e&p,e>>=c;return t}function S(e){for(var t=``,n=e.length-1;n>-1;--n)t+=e.charAt(n);return t}var C=`0123456789abcdefghijklmnopqrstuvwxyz`.split(``);function w(e,t){var n=new y;n.digits[0]=t;for(var r=H(e,n),i=C[r[1].digits[0]];V(r[0],g)==1;)r=H(r[0],n),digit=r[1].digits[0],i+=C[r[1].digits[0]];return(e.isNeg?`-`:``)+S(i)}var T=[`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`a`,`b`,`c`,`d`,`e`,`f`];function E(e){for(var t=15,n=``,r=0;r<4;++r)n+=T[e&t],e>>>=4;return S(n)}function ee(e){var t=``;M(e);for(var n=M(e);n>-1;--n)t+=E(e.digits[n]);return t}function D(e){var t=48,n=t+9,r=97,i=r+25,a=65;return e>=t&&e<=n?e-t:e>=a&&e<=90?10+e-a:e>=r&&e<=i?10+e-r:0}function te(e){for(var t=0,n=Math.min(e.length,4),r=0;r<n;++r)t<<=4,t|=D(e.charCodeAt(r));return t}function O(e){for(var t=new y,n=e.length,r=0;n>0;n-=4,++r)t.digits[r]=te(e.substr(Math.max(n-4,0),Math.min(n,4)));return t}function k(e){for(var t=``,n=M(e);n>-1;--n)t+=ne(e.digits[n]);return t}function ne(e){var t=String.fromCharCode(e&255);return e>>>=8,String.fromCharCode(e&255)+t}function A(e,t){var n;if(e.isNeg!=t.isNeg)t.isNeg=!t.isNeg,n=j(e,t),t.isNeg=!t.isNeg;else{n=new y;for(var r=0,i,a=0;a<e.digits.length;++a)i=e.digits[a]+t.digits[a]+r,n.digits[a]=i&65535,r=Number(i>=u);n.isNeg=e.isNeg}return n}function j(e,t){var n;if(e.isNeg!=t.isNeg)t.isNeg=!t.isNeg,n=A(e,t),t.isNeg=!t.isNeg;else{n=new y;for(var r,i=0,a=0;a<e.digits.length;++a)r=e.digits[a]-t.digits[a]+i,n.digits[a]=r&65535,n.digits[a]<0&&(n.digits[a]+=u),i=0-Number(r<0);if(i==-1){i=0;for(var a=0;a<e.digits.length;++a)r=0-n.digits[a]+i,n.digits[a]=r&65535,n.digits[a]<0&&(n.digits[a]+=u),i=0-Number(r<0);n.isNeg=!e.isNeg}else n.isNeg=e.isNeg}return n}function M(e){for(var t=e.digits.length-1;t>0&&e.digits[t]==0;)--t;return t}function N(e){var t=M(e),n=e.digits[t],r=(t+1)*l,i;for(i=r;i>r-l&&!(n&32768);--i)n<<=1;return i}function P(e,t){for(var n=new y,r,i=M(e),a=M(t),o,s,l=0;l<=a;++l){r=0,s=l;for(var u=0;u<=i;++u,++s)o=n.digits[s]+e.digits[u]*t.digits[l]+r,n.digits[s]=o&p,r=o>>>c;n.digits[l+i+1]=r}return n.isNeg=e.isNeg!=t.isNeg,n}function re(e,t){var n,r,i,a=new y;n=M(e),r=0;for(var o=0;o<=n;++o)i=a.digits[o]+e.digits[o]*t+r,a.digits[o]=i&p,r=i>>>c;return a.digits[1+n]=r,a}function F(e,t,n,r,i){for(var a=Math.min(t+i,e.length),o=t,s=r;o<a;++o,++s)n[s]=e[o]}var ie=[0,32768,49152,57344,61440,63488,64512,65024,65280,65408,65472,65504,65520,65528,65532,65534,65535];function I(e,t){var n=Math.floor(t/l),r=new y;F(e.digits,0,r.digits,n,r.digits.length-n);for(var i=t%l,a=l-i,o=r.digits.length-1,s=o-1;o>0;--o,--s)r.digits[o]=r.digits[o]<<i&p|(r.digits[s]&ie[i])>>>a;return r.digits[0]=r.digits[o]<<i&p,r.isNeg=e.isNeg,r}var ae=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];function L(e,t){var n=Math.floor(t/l),r=new y;F(e.digits,n,r.digits,0,e.digits.length-n);for(var i=t%l,a=l-i,o=0,s=o+1;o<r.digits.length-1;++o,++s)r.digits[o]=r.digits[o]>>>i|(r.digits[s]&ae[i])<<a;return r.digits[r.digits.length-1]>>>=i,r.isNeg=e.isNeg,r}function R(e,t){var n=new y;return F(e.digits,0,n.digits,t,n.digits.length-t),n}function z(e,t){var n=new y;return F(e.digits,t,n.digits,0,n.digits.length-t),n}function B(e,t){var n=new y;return F(e.digits,0,n.digits,0,t),n}function V(e,t){if(e.isNeg!=t.isNeg)return 1-2*Number(e.isNeg);for(var n=e.digits.length-1;n>=0;--n)if(e.digits[n]!=t.digits[n])return e.isNeg?1-2*Number(e.digits[n]>t.digits[n]):1-2*Number(e.digits[n]<t.digits[n]);return 0}function H(e,t){var n=N(e),r=N(t),i=t.isNeg,a,o;if(n<r)return e.isNeg?(a=b(_),a.isNeg=!t.isNeg,e.isNeg=!1,t.isNeg=!1,o=j(t,e),e.isNeg=!0,t.isNeg=i):(a=new y,o=b(e)),[a,o];a=new y,o=e;for(var s=Math.ceil(r/l)-1,c=0;t.digits[s]<d;)t=I(t,1),++c,++r,s=Math.ceil(r/l)-1;o=I(o,c),n+=c;for(var m=Math.ceil(n/l)-1,h=R(t,m-s);V(o,h)!=-1;)++a.digits[m-s],o=j(o,h);for(var g=m;g>s;--g){var v=g>=o.digits.length?0:o.digits[g],x=g-1>=o.digits.length?0:o.digits[g-1],S=g-2>=o.digits.length?0:o.digits[g-2],C=s>=t.digits.length?0:t.digits[s],w=s-1>=t.digits.length?0:t.digits[s-1];v==C?a.digits[g-s-1]=p:a.digits[g-s-1]=Math.floor((v*u+x)/C);for(var T=a.digits[g-s-1]*(C*u+w),E=v*f+(x*u+S);T>E;)--a.digits[g-s-1],T=a.digits[g-s-1]*(C*u|w),E=v*u*u+(x*u+S);h=R(t,g-s-1),o=j(o,re(h,a.digits[g-s-1])),o.isNeg&&(o=A(o,h),--a.digits[g-s-1])}return o=L(o,c),a.isNeg=e.isNeg!=i,e.isNeg&&(a=i?A(a,_):j(a,_),t=L(t,c),o=j(t,o)),o.digits[0]==0&&M(o)==0&&(o.isNeg=!1),[a,o]}function oe(e,t){return H(e,t)[0]}function se(e){this.modulus=b(e),this.k=M(this.modulus)+1;var t=new y;t.digits[2*this.k]=1,this.mu=oe(t,this.modulus),this.bkplus1=new y,this.bkplus1.digits[this.k+1]=1,this.modulo=ce,this.multiplyMod=le,this.powMod=ue}function ce(e){var t=z(P(z(e,this.k-1),this.mu),this.k+1),n=j(B(e,this.k+1),B(P(t,this.modulus),this.k+1));n.isNeg&&(n=A(n,this.bkplus1));for(var r=V(n,this.modulus)>=0;r;)n=j(n,this.modulus),r=V(n,this.modulus)>=0;return n}function le(e,t){var n=P(e,t);return this.modulo(n)}function ue(e,t){var n=new y;n.digits[0]=1;for(var r=e,i=t;i.digits[0]&1&&(n=this.multiplyMod(n,r)),i=L(i,1),!(i.digits[0]==0&&M(i)==0);)r=this.multiplyMod(r,r);return n}var U={};U.NoPadding=`NoPadding`,U.PKCS1Padding=`PKCS1Padding`,U.RawEncoding=`RawEncoding`,U.NumericEncoding=`NumericEncoding`;function de(e,t,n,r){this.e=O(e),this.d=O(t),this.m=O(n),typeof r==`number`?this.chunkSize=r/8:this.chunkSize=2*M(this.m),this.radix=16,this.barrett=new se(this.m)}function fe(e,t,n,r){var i=[],a=t.length,o,s,c,l,u,d,f,p=``,m,h,g;for(l=typeof n==`string`?n==U.NoPadding?1:n==U.PKCS1Padding?2:0:0,u=typeof r==`string`&&r==U.RawEncoding?1:0,l==1?a>e.chunkSize&&(a=e.chunkSize):l==2&&a>e.chunkSize-11&&(a=e.chunkSize-11),o=0,s=l==2?a-1:e.chunkSize-1;o<a;)l?i[s]=t.charCodeAt(o):i[o]=t.charCodeAt(o),o++,s--;for(l==1&&(o=0),s=e.chunkSize-a%e.chunkSize;s>0;){if(l==2){for(d=Math.floor(Math.random()*256);!d;)d=Math.floor(Math.random()*256);i[o]=d}else i[o]=0;o++,s--}for(l==2&&(i[a]=0,i[e.chunkSize-2]=2,i[e.chunkSize-1]=0),f=i.length,o=0;o<f;o+=e.chunkSize){for(m=new y,s=0,c=o;c<o+e.chunkSize;++s)m.digits[s]=i[c++],m.digits[s]+=i[c++]<<8;h=e.barrett.powMod(m,e.e),g=u==1?k(h):e.radix==16?ee(h):w(h,e.radix),p+=g}return p}v(131);const pe=new de(`010001`,``,`00b5eeb166e069920e80bebd1fea4829d3d1f3216f2aabe79b6c47a3c18dcee5fd22c2e7ac519cab59198ece036dcf289ea8201e2a0b9ded307f8fb704136eaeb670286f5ad44e691005ba9ea5af04ada5367cd724b5a26fdb5120cc95b6431604bd219c6b7d83a6f8f24b43918ea988a76f93c333aa5a20991493d4eb1117e7b1`),W=o.create({throwHttpErrors:!1,headers:{"User-Agent":`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36`,Accept:`application/json, text/plain, */*`,"Content-Type":`application/x-www-form-urlencoded`,"sec-ch-ua-platform":`"Windows"`}});async function G(e){let{username:t,password:n}=e;return await W.post(`https://cas.wxjsxy.com.cn/lyuapServer/v1/tickets`,{body:new URLSearchParams({username:t,password:fe(pe,n),service:`https://portal.wxjsxy.com.cn/`,loginType:``,id:``,code:``,otpcode:``})}).json()}async function me(e){let t=await W.post(`https://cas.wxjsxy.com.cn/lyuapServer/v1/tickets/${e}`,{body:new URLSearchParams({service:`https://dy.wxjsxy.com.cn/prdapi/wxjsxyapp/cas/index`,loginToken:`loginToken`})}).text();return[t.startsWith(`ST-`),t]}async function he(e){let t=(await W.get(`https://dy.wxjsxy.com.cn/prdapi/wxjsxyapp/cas/index?ticket=${e}`,{redirect:`manual`})).headers.getSetCookie();return t.length===0?null:t.map(e=>`${e.split(`;`)[0]};`).join(``)}async function ge(e){return await W.get(`https://dy.wxjsxy.com.cn/prdapi/wxjsxyapp/cas/indexData`,{headers:{cookie:e}}).json()}async function _e(e,t){let n={...t,processDefinitionKey:`studentApply`},r=a.createHash(`md5`).update(`myappsecret${JSON.stringify(n)}myappsecret`).digest(`hex`);return await o.post(`https://dy.wxjsxy.com.cn/prdapi/activiti/processInstance/startProcess?user_info_query_json=${encodeURIComponent(JSON.stringify(n))}&sign=${r}`,{json:n,headers:{token:e,mode:`wxa`,sign:r,timestamp:Date.now(),"Content-Type":`application/json`}}).json()}async function ve(e,t={pageNo:1,pageSize:1}){let n=a.createHash(`md5`).update(`myappsecret${JSON.stringify(t)}myappsecret`).digest(`hex`);return await o.post(`https://dy.wxjsxy.com.cn/prdapi/activiti/task/myapply?user_info_query_json=${encodeURIComponent(JSON.stringify(t))}&sign=${n}`,{json:t,headers:{token:e,mode:`wxa`,sign:n,timestamp:Date.now(),"Content-Type":`application/json`}}).json()}async function ye(e,t){let n={instanceId:t},r=a.createHash(`md5`).update(`myappsecret${JSON.stringify(n)}myappsecret`).digest(`hex`);return await o.post(`https://dy.wxjsxy.com.cn/prdapi/activiti/task/done/info/byInstanceId?user_info_query_json=${encodeURIComponent(JSON.stringify(n))}&sign=${r}`,{json:n,headers:{token:e,mode:`wxa`,sign:r,timestamp:Date.now(),"Content-Type":`application/json`}}).json()}const K=i().option(`username`,{alias:`u`,type:`string`,description:`账号`,demandOption:!0}).option(`password`,{alias:`p`,type:`string`,description:`密码`,demandOption:!0}),q=i().option(`offset`,{alias:`o`,type:`number`,description:`请假日期相对于今天的偏移,默认为0即请假当天`,default:0}),J=i().option(`page`,{alias:`p`,type:`number`,description:`页码`,default:1}).option(`size`,{alias:`s`,type:`number`,description:`每页数量`,default:1}),Y=i().option(`cron`,{alias:`c`,type:`string`,description:`cron表达式`,demandOption:!0}).option(`offset`,{alias:`o`,type:`number`,description:`请假日期相对于今天的偏移,默认为0即请假当天`,default:0});async function X(e){let t=await G(e);if(!(`ticket`in t))return[r.text(`请假失败, 登陆账号失败: ${JSON.stringify(t)}`)];let[n,i]=await me(t.tgt);if(!n)return[r.text(`请假失败, 获取CasToken失败: ${i}`)];let a=await he(i);if(!a)return[r.text(`请假失败, 获取DyCookie失败`)];let o=await ge(a);return o.token?o.token:[r.text(`请假失败, 获取DyToken失败: ${JSON.stringify(o)}`)]}async function Z(e,t=0){let i=await X(e);if(Array.isArray(i))return i;let a=await _e(i,{beginTime:n().add(t,`day`).hour(6).minute(30).format(`YYYY-MM-DD HH:mm`),endTime:n().add(t,`day`).hour(20).minute(50).format(`YYYY-MM-DD HH:mm`),leaveSchool:`是`,backDormitory:`是`,askedType:`事假`,reason:`集训`});return a.code===200?[r.text(`请假成功, 返回信息: \n ${JSON.stringify(a)}`)]:[r.text(`请假失败, 提交请假申请失败: ${JSON.stringify(a)}`)]}async function Q(e,t){let n=await X(e);if(Array.isArray(n))return n;let i=await ve(n,t);if(i.code!==200)return[r.text(`获取请假情况失败, 错误信息: ${JSON.stringify(i)}`)];let a=await Promise.all(i.rows.map(e=>ye(n,e.instanceId)));return a.some(e=>e.code!==200)?[r.text(`获取请假详情失败, 错误信息: ${JSON.stringify(a)}`)]:[r.text(`请假情况:
2
- `),r.text(i.rows.map((e,t)=>{let n=[`- 申请时间: ${e.processStartTime}`,` 审核状态: ${e.approvaState}`],r=a[t];return r.code===200?(n.push(` 申请时间: ${r.rows.hisTasks[1].processStartTime}`,...r.rows.hisTasks[1].formSchema.formProperties.map(e=>` ${e.name}: ${e.value}`)),n.join(`
1
+ import{n as e,r as t,t as n}from"./lib-DMqn3JNQ.mjs";import r from"node:crypto";import{useRequest as i}from"@atri-bot/lib-request";import{Plugin as a}from"@atri-bot/core";import{addCronJob as o,getCronJob as s,getCronJobs as c,removeCronJob as l}from"@atri-bot/lib-cron";import{Structs as u}from"node-napcat-ts";import d from"dayjs";t(131);const f=new n(`010001`,``,`00b5eeb166e069920e80bebd1fea4829d3d1f3216f2aabe79b6c47a3c18dcee5fd22c2e7ac519cab59198ece036dcf289ea8201e2a0b9ded307f8fb704136eaeb670286f5ad44e691005ba9ea5af04ada5367cd724b5a26fdb5120cc95b6431604bd219c6b7d83a6f8f24b43918ea988a76f93c333aa5a20991493d4eb1117e7b1`),p=i({throwHttpErrors:!1,headers:{"User-Agent":`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36`,Accept:`application/json, text/plain, */*`,"Content-Type":`application/x-www-form-urlencoded`,"sec-ch-ua-platform":`"Windows"`}}),m=i({headers:{"User-Agent":`Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36`,Accept:`application/json, text/plain, */*`,"sec-ch-ua-platform":`"Windows"`,mode:`wxa`,"Content-Type":`application/json`}});async function h(t){let{username:n,password:r}=t;return await p.post(`https://cas.wxjsxy.com.cn/lyuapServer/v1/tickets`,{body:new URLSearchParams({username:n,password:e(f,r),service:`https://portal.wxjsxy.com.cn/`,loginType:``,id:``,code:``,otpcode:``})}).json()}async function g(e){let t=await p.post(`https://cas.wxjsxy.com.cn/lyuapServer/v1/tickets/${e}`,{body:new URLSearchParams({service:`https://dy.wxjsxy.com.cn/prdapi/wxjsxyapp/cas/index`,loginToken:`loginToken`})}).text();return[t.startsWith(`ST-`),t]}async function _(e){let t=(await p.get(`https://dy.wxjsxy.com.cn/prdapi/wxjsxyapp/cas/index?ticket=${e}`,{redirect:`manual`})).headers.getSetCookie();return t.length===0?null:t.map(e=>`${e.split(`;`)[0]};`).join(``)}async function v(e){return await m.get(`https://dy.wxjsxy.com.cn/prdapi/wxjsxyapp/cas/indexData`,{headers:{cookie:e}}).json()}async function y(e,t){let n={...t,processDefinitionKey:`studentApply`},i=r.createHash(`md5`).update(`myappsecret${JSON.stringify(n)}myappsecret`).digest(`hex`);return await m.post(`https://dy.wxjsxy.com.cn/prdapi/activiti/processInstance/startProcess?user_info_query_json=${encodeURIComponent(JSON.stringify(n))}&sign=${i}`,{json:n,headers:{token:e,sign:i,timestamp:Date.now().toString()}}).json()}async function b(e,t={pageNo:1,pageSize:1}){let n=r.createHash(`md5`).update(`myappsecret${JSON.stringify(t)}myappsecret`).digest(`hex`);return await m.post(`https://dy.wxjsxy.com.cn/prdapi/activiti/task/myapply?user_info_query_json=${encodeURIComponent(JSON.stringify(t))}&sign=${n}`,{json:t,headers:{token:e,sign:n,timestamp:Date.now().toString()}}).json()}async function x(e,t){let n={instanceId:t},i=r.createHash(`md5`).update(`myappsecret${JSON.stringify(n)}myappsecret`).digest(`hex`);return await m.post(`https://dy.wxjsxy.com.cn/prdapi/activiti/task/done/info/byInstanceId?user_info_query_json=${encodeURIComponent(JSON.stringify(n))}&sign=${i}`,{json:n,headers:{token:e,sign:i,timestamp:Date.now().toString()}}).json()}var S=`@minato-bot/plugin-wxjsxy`;function C(e,t){return e.accounts[t]?[!0,null]:[!1,[u.text(`请先添加账号,使用命令:wxjsxy添加账号`)]]}async function w(e){let t=await h(e);if(!(`ticket`in t))return[u.text(`请假失败, 登陆账号失败: ${JSON.stringify(t)}`)];let[n,r]=await g(t.tgt);if(!n)return[u.text(`请假失败, 获取CasToken失败: ${r}`)];let i=await _(r);if(!i)return[u.text(`请假失败, 获取DyCookie失败`)];let a=await v(i);return a.token?a.token:[u.text(`请假失败, 获取DyToken失败: ${JSON.stringify(a)}`)]}async function T(e,t){let n=await w(e);if(Array.isArray(n))return n;let r=await y(n,{beginTime:d().add(t,`day`).hour(6).minute(30).format(`YYYY-MM-DD HH:mm`),endTime:d().add(t,`day`).hour(20).minute(50).format(`YYYY-MM-DD HH:mm`),leaveSchool:`是`,backDormitory:`是`,askedType:`事假`,reason:`集训`});return r.code===200?[u.text(`请假成功, 返回信息: \n ${JSON.stringify(r)}`)]:[u.text(`请假失败, 提交请假申请失败: ${JSON.stringify(r)}`)]}async function E(e,t,n,r){D();for(let[i,a]of Object.entries(e.crons))s(`wxjsxy_cron_${i}`)&&l(`wxjsxy_cron_${i}`),o({name:`wxjsxy_cron_${i}`,cronTime:a.cron,onTick:async()=>{let[o,s]=C(e,i.toString());if(!o){r.WARN(`用户 ${i} 的账号信息有误,无法执行定时请假任务,已自动删除定时任务`),delete e.crons[i],await n();return}let c=await T(e.accounts[i],a.offset);await t.sendMsg({message_type:`private`,user_id:Number.parseFloat(i)},c)}})}function D(){for(let[e,t]of Object.entries(c()))e.startsWith(`wxjsxy_cron_`)&&l(e)}const O=new a(S).setDefaultConfig([{key:`accounts`,val:{},comment:`账号信息, key为用户id, value为账号信息`},{key:`crons`,val:{},comment:`定时任务信息, key为用户id, value为定时任务信息`}]).onInstall(async({config:e,bot:t,saveConfig:n,logger:r})=>{await E(e,t,n,r)}).onUninstall(()=>{D()}),k=O.command(`wxjsxy添加账号`).commander(e=>e().option(`username`,{alias:`u`,type:`string`,description:`账号`}).option(`password`,{alias:`p`,type:`string`,description:`密码`})).callback(async({context:e,options:t,config:n,bot:r,saveConfig:i})=>{if(C(n,e.user_id.toString())[0]){await r.sendMsg(e,[u.text(`账号已存在, 无需重复添加`)]);return}let{username:a,password:o}=t;if(!a){await r.sendMsg(e,[u.text(`请输入账号(学号):`)]);let t=await r.useMessage(e);if(!t)return;a=t.raw_message.trim()}if(!o){await r.sendMsg(e,[u.text(`请输入密码(Wxjsxy@身份证后六位):`)]);let t=await r.useMessage(e);if(!t)return;o=t.raw_message.trim()}let s=await h({username:a,password:o});if(!(`ticket`in s)){await r.sendMsg(e,[u.text(`登录失败, 请检查账号密码是否正确: \n ${JSON.stringify(s)}`)]);return}await r.sendMsg(e,[u.text(`登录成功, 返回信息: \n ${JSON.stringify(s)}`)]),n.accounts[e.user_id.toString()]={username:a,password:o},await i()}),A=O.command(`wxjsxy删除账号`).callback(async({context:e,config:t,bot:n,saveConfig:r})=>{let[i,a]=C(t,e.user_id.toString());if(!i){await n.sendMsg(e,a);return}delete t.accounts[e.user_id.toString()],delete t.crons[e.user_id.toString()],l(`wxjsxy_cron_${e.user_id}`),await r(),await n.sendMsg(e,[u.text(`账号删除成功`)])}),j=O.command(`wxjsxy请假`).commander(e=>e().option(`offset`,{alias:`o`,type:`number`,description:`请假日期相对于今天的偏移, 0表示当天`})).callback(async({context:e,options:t,config:n,bot:r})=>{let[i,a]=C(n,e.user_id.toString());if(!i){await r.sendMsg(e,a);return}let{offset:o}=t;if(o===void 0){await r.sendMsg(e,[u.text(`请输入请假日期相对于今天的偏移, 0表示当天:`)]);let t=await r.useMessage(e);if(!t)return;if(o=Number.parseInt(t.raw_message.trim()),Number.isNaN(o)){await r.sendMsg(e,[u.text(`偏移必须是一个数字`)]);return}}let s=await T(n.accounts[e.user_id.toString()],o);await r.sendMsg(e,s)});async function M(e,t){let n=await w(e);if(Array.isArray(n))return n;let r=await b(n,t);if(r.code!==200)return[u.text(`获取请假情况失败, 错误信息: ${JSON.stringify(r)}`)];let i=await Promise.all(r.rows.map(e=>x(n,e.instanceId)));return i.some(e=>e.code!==200)?[u.text(`获取请假详情失败, 错误信息: ${JSON.stringify(i)}`)]:[u.text(`请假情况:
2
+ `),u.text(r.rows.map((e,t)=>{let n=[`- 申请时间: ${e.processStartTime}`,` 审核状态: ${e.approvaState}`],r=i[t];return r.code===200?(n.push(` 申请时间: ${r.rows.hisTasks[1].processStartTime}`,...r.rows.hisTasks[1].formSchema.formProperties.map(e=>` ${e.name}: ${e.value}`)),n.join(`
3
3
  `)):(n.push(` 获取详情失败: ${JSON.stringify(r)}`),n.join(`
4
- `))}).join(``))]}function $(e,t){return e.accounts[t]?[!0,null]:[!1,[r.text(`请先添加账号,使用命令:wxjsxy添加账号 -u <用户名> -p <密码>`)]]}const be=new e(s).setDefaultConfig({accounts:{},crons:{}}).onInstall(async({event:e,config:n,atri:i,bot:a,saveConfig:o,logger:s})=>{let c=t(i);async function l(){for(let[e,t]of Object.entries(n.crons))c.getCronJob(`wxjsxy_cron_${e}`)&&c.removeCronJob(`wxjsxy_cron_${e}`),c.addCronJob({name:`wxjsxy_cron_${e}`,cronTime:t.cron,onTick:async()=>{let[r,i]=$(n,e.toString());if(!r){s.WARN(`用户 ${e} 的账号信息有误,无法执行定时请假任务,已自动删除定时任务`,n,n.accounts[e],typeof e),delete n.crons[e],await o();return}let c=await Z(n.accounts[e],t.offset);await a.sendMsg({message_type:`private`,user_id:Number.parseFloat(e)},c)}})}await l(),e.regCommandEvent({trigger:`wxjsxy添加账号`,commander:K,callback:async({context:e,options:t})=>{if(n.accounts[e.user_id]){await a.sendMsg(e,[r.text(`账号已存在,无需重复添加`)]);return}let i=await G({username:t.username,password:t.password});if(!(`ticket`in i)){await a.sendMsg(e,[r.text(`登录失败,请检查账号密码是否正确: \n ${JSON.stringify(i)}`)]);return}await a.sendMsg(e,[r.text(`登录成功, 返回信息: \n ${JSON.stringify(i)}`)]),n.accounts[e.user_id]={username:t.username,password:t.password},await o()}}),e.regCommandEvent({trigger:`wxjsxy删除账号`,callback:async({context:e})=>{let[t,i]=$(n,e.user_id.toString());if(!t){await a.sendMsg(e,i);return}delete n.accounts[e.user_id],delete n.crons[e.user_id],c.removeCronJob(`wxjsxy_cron_${e.user_id}`),await o(),await a.sendMsg(e,[r.text(`账号删除成功`)])}}),e.regCommandEvent({trigger:`wxjsxy请假`,commander:q,callback:async({context:e,options:t})=>{let[r,i]=$(n,e.user_id.toString());if(!r){await a.sendMsg(e,i);return}let o=await Z(n.accounts[e.user_id],t.offset);await a.sendMsg(e,o)}}),e.regCommandEvent({trigger:`wxjsxy请假情况`,commander:J,callback:async({context:e,options:t})=>{let[r,i]=$(n,e.user_id.toString());if(!r){await a.sendMsg(e,i);return}let o=await Q(n.accounts[e.user_id],{pageNo:t.page,pageSize:t.size});await a.sendMsg(e,o)}}),e.regCommandEvent({trigger:`wxjsxy定时请假`,commander:Y,callback:async({context:e,options:t})=>{let[i,s]=$(n,e.user_id.toString());if(!i){await a.sendMsg(e,s);return}if(n.crons[e.user_id]){await a.sendMsg(e,[r.text(`已存在定时请假任务`)]);return}if(t.cron.split(` `).length!==6){await a.sendMsg(e,[r.text(`cron表达式格式错误,请提供6段表达式, 示例: 0 30 6 * * * 表示每天6点30分`)]);return}if(!await a.isFriend({user_id:e.user_id})){await a.sendMsg(e,[r.text(`请先添加好友,才能设置定时请假哦`)]);return}n.crons[e.user_id]={cron:t.cron,offset:t.offset},await o(),await l(),await a.sendMsg(e,[r.text(`定时请假设置成功`)])}}),e.regCommandEvent({trigger:`wxjsxy取消定时请假`,callback:async({context:e})=>{let[t,i]=$(n,e.user_id.toString());if(!t){await a.sendMsg(e,i);return}if(!n.crons[e.user_id]){await a.sendMsg(e,[r.text(`没有定时请假任务可供取消`)]);return}delete n.crons[e.user_id],await o(),await l(),await a.sendMsg(e,[r.text(`定时请假取消成功`)])}})}).onUninstall(({atri:e})=>{let n=t(e),r=Object.entries(n.getCronJobs());for(let[e,t]of r)e.startsWith(`wxjsxy_cron_`)&&n.removeCronJob(e)});export{K as AddAccountCommander,$ as checkHaveAccount,X as getDyTokenByCas,Q as getProcessList,J as getProcessListCommander,be as plugin,Y as setCronProcessCommander,Z as startProcess,q as startProcessCommander};
4
+ `))}).join(``))]}const N=O.command(`wxjsxy请假情况`).commander(e=>e().option(`page`,{alias:`p`,type:`number`,description:`页码`,default:1}).option(`size`,{alias:`s`,type:`number`,description:`每页数量`,default:1})).callback(async({context:e,options:t,config:n,bot:r})=>{let[i,a]=C(n,e.user_id.toString());if(!i){await r.sendMsg(e,a);return}let o=await M(n.accounts[e.user_id.toString()],{pageNo:t.page,pageSize:t.size});await r.sendMsg(e,o)}),P=O.command(`wxjsxy定时请假`).commander(e=>e().option(`cron`,{alias:`c`,type:`string`,description:`cron表达式`}).option(`offset`,{alias:`o`,type:`number`,description:`请假日期相对于今天的偏移, 0表示当天`})).callback(async({context:e,options:t,config:n,bot:r,saveConfig:i,logger:a})=>{let[o,s]=C(n,e.user_id.toString());if(!o){await r.sendMsg(e,s);return}if(n.crons[e.user_id.toString()]){await r.sendMsg(e,[u.text(`已存在定时请假任务`)]);return}let{cron:c,offset:l}=t;if(!c){await r.sendMsg(e,[u.text(`请输入cron表达式:`),u.text(`cron表达式格式必须为6段, 示例: 0 30 6 * * * 表示每天6点30分`)]);let t=await r.useMessage(e);if(!t)return;c=t.raw_message.trim()}if(c.split(` `).length!==6){await r.sendMsg(e,[u.text(`cron表达式格式错误, 请提供6段表达式.`)]);return}if(l===void 0){await r.sendMsg(e,[u.text(`请输入请假日期相对于今天的偏移, 0表示当天:`)]);let t=await r.useMessage(e);if(!t)return;if(l=Number.parseInt(t.raw_message.trim()),Number.isNaN(l)){await r.sendMsg(e,[u.text(`偏移必须是一个数字`)]);return}}if(!await r.isFriend({user_id:e.user_id})){await r.sendMsg(e,[u.text(`请先添加好友, 才能设置定时请假哦`)]);return}n.crons[e.user_id.toString()]={cron:c,offset:l},await i(),await E(n,r,i,a),await r.sendMsg(e,[u.text(`定时请假设置成功`)])}),F=O.command(`wxjsxy取消定时请假`).callback(async({context:e,config:t,bot:n,saveConfig:r,logger:i})=>{let[a,o]=C(t,e.user_id.toString());if(!a){await n.sendMsg(e,o);return}if(!t.crons[e.user_id.toString()]){await n.sendMsg(e,[u.text(`没有定时请假任务可供取消`)]);return}delete t.crons[e.user_id.toString()],await r(),await E(t,n,r,i),await n.sendMsg(e,[u.text(`定时请假取消成功`)])});export{n as RSAKeyPair,k as addAccountCommand,p as casReq,C as checkHaveAccount,P as cronStartProcessCommand,F as cronStopProcessCommand,A as deleteAccountCommand,m as dyReq,e as encryptedString,g as getCasLoginToken,_ as getDyCookie,x as getDyProcessDetail,b as getDyProcessList,v as getDyToken,w as getDyTokenByCas,M as getProcessList,N as getProcessListCommand,h as loginToCas,O as plugin,y as setDyProcess,t as setMaxDigits,T as startProcess,j as startProcessCommand,D as stopAllCrons,E as syncCrons};
@@ -0,0 +1 @@
1
+ var e=16,t=e,n=65536,r=n>>>1,i=n*n,a=n-1,o,s,c,l;function u(e){o=e,s=Array(o);for(var t=0;t<s.length;t++)s[t]=0;c=new d,l=new d,l.digits[0]=1}u(20),p(0x38d7ea4c68000);function d(e){typeof e==`boolean`&&e==1?this.digits=null:this.digits=s.slice(0),this.isNeg=!1}function f(e){var t=new d(!0);return t.digits=e.digits.slice(0),t.isNeg=e.isNeg,t}function p(t){var n=new d;n.isNeg=t<0,t=Math.abs(t);for(var r=0;t>0;)n.digits[r++]=t&a,t>>=e;return n}function m(e){for(var t=``,n=e.length-1;n>-1;--n)t+=e.charAt(n);return t}var h=`0123456789abcdefghijklmnopqrstuvwxyz`.split(``);function g(e,t){var n=new d;n.digits[0]=t;for(var r=B(e,n),i=h[r[1].digits[0]];z(r[0],c)==1;)r=B(r[0],n),digit=r[1].digits[0],i+=h[r[1].digits[0]];return(e.isNeg?`-`:``)+m(i)}var _=[`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`a`,`b`,`c`,`d`,`e`,`f`];function v(e){for(var t=15,n=``,r=0;r<4;++r)n+=_[e&t],e>>>=4;return m(n)}function y(e){var t=``;D(e);for(var n=D(e);n>-1;--n)t+=v(e.digits[n]);return t}function b(e){var t=48,n=t+9,r=97,i=r+25,a=65;return e>=t&&e<=n?e-t:e>=a&&e<=90?10+e-a:e>=r&&e<=i?10+e-r:0}function x(e){for(var t=0,n=Math.min(e.length,4),r=0;r<n;++r)t<<=4,t|=b(e.charCodeAt(r));return t}function S(e){for(var t=new d,n=e.length,r=0;n>0;n-=4,++r)t.digits[r]=x(e.substr(Math.max(n-4,0),Math.min(n,4)));return t}function C(e){for(var t=``,n=D(e);n>-1;--n)t+=w(e.digits[n]);return t}function w(e){var t=String.fromCharCode(e&255);return e>>>=8,String.fromCharCode(e&255)+t}function T(e,t){var r;if(e.isNeg!=t.isNeg)t.isNeg=!t.isNeg,r=E(e,t),t.isNeg=!t.isNeg;else{r=new d;for(var i=0,a,o=0;o<e.digits.length;++o)a=e.digits[o]+t.digits[o]+i,r.digits[o]=a&65535,i=Number(a>=n);r.isNeg=e.isNeg}return r}function E(e,t){var r;if(e.isNeg!=t.isNeg)t.isNeg=!t.isNeg,r=T(e,t),t.isNeg=!t.isNeg;else{r=new d;for(var i,a=0,o=0;o<e.digits.length;++o)i=e.digits[o]-t.digits[o]+a,r.digits[o]=i&65535,r.digits[o]<0&&(r.digits[o]+=n),a=0-Number(i<0);if(a==-1){a=0;for(var o=0;o<e.digits.length;++o)i=0-r.digits[o]+a,r.digits[o]=i&65535,r.digits[o]<0&&(r.digits[o]+=n),a=0-Number(i<0);r.isNeg=!e.isNeg}else r.isNeg=e.isNeg}return r}function D(e){for(var t=e.digits.length-1;t>0&&e.digits[t]==0;)--t;return t}function O(e){var n=D(e),r=e.digits[n],i=(n+1)*t,a;for(a=i;a>i-t&&!(r&32768);--a)r<<=1;return a}function k(t,n){for(var r=new d,i,o=D(t),s=D(n),c,l,u=0;u<=s;++u){i=0,l=u;for(var f=0;f<=o;++f,++l)c=r.digits[l]+t.digits[f]*n.digits[u]+i,r.digits[l]=c&a,i=c>>>e;r.digits[u+o+1]=i}return r.isNeg=t.isNeg!=n.isNeg,r}function A(t,n){var r,i,o,s=new d;r=D(t),i=0;for(var c=0;c<=r;++c)o=s.digits[c]+t.digits[c]*n+i,s.digits[c]=o&a,i=o>>>e;return s.digits[1+r]=i,s}function j(e,t,n,r,i){for(var a=Math.min(t+i,e.length),o=t,s=r;o<a;++o,++s)n[s]=e[o]}var M=[0,32768,49152,57344,61440,63488,64512,65024,65280,65408,65472,65504,65520,65528,65532,65534,65535];function N(e,n){var r=Math.floor(n/t),i=new d;j(e.digits,0,i.digits,r,i.digits.length-r);for(var o=n%t,s=t-o,c=i.digits.length-1,l=c-1;c>0;--c,--l)i.digits[c]=i.digits[c]<<o&a|(i.digits[l]&M[o])>>>s;return i.digits[0]=i.digits[c]<<o&a,i.isNeg=e.isNeg,i}var P=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];function F(e,n){var r=Math.floor(n/t),i=new d;j(e.digits,r,i.digits,0,e.digits.length-r);for(var a=n%t,o=t-a,s=0,c=s+1;s<i.digits.length-1;++s,++c)i.digits[s]=i.digits[s]>>>a|(i.digits[c]&P[a])<<o;return i.digits[i.digits.length-1]>>>=a,i.isNeg=e.isNeg,i}function I(e,t){var n=new d;return j(e.digits,0,n.digits,t,n.digits.length-t),n}function L(e,t){var n=new d;return j(e.digits,t,n.digits,0,n.digits.length-t),n}function R(e,t){var n=new d;return j(e.digits,0,n.digits,0,t),n}function z(e,t){if(e.isNeg!=t.isNeg)return 1-2*Number(e.isNeg);for(var n=e.digits.length-1;n>=0;--n)if(e.digits[n]!=t.digits[n])return e.isNeg?1-2*Number(e.digits[n]>t.digits[n]):1-2*Number(e.digits[n]<t.digits[n]);return 0}function B(e,o){var s=O(e),c=O(o),u=o.isNeg,p,m;if(s<c)return e.isNeg?(p=f(l),p.isNeg=!o.isNeg,e.isNeg=!1,o.isNeg=!1,m=E(o,e),e.isNeg=!0,o.isNeg=u):(p=new d,m=f(e)),[p,m];p=new d,m=e;for(var h=Math.ceil(c/t)-1,g=0;o.digits[h]<r;)o=N(o,1),++g,++c,h=Math.ceil(c/t)-1;m=N(m,g),s+=g;for(var _=Math.ceil(s/t)-1,v=I(o,_-h);z(m,v)!=-1;)++p.digits[_-h],m=E(m,v);for(var y=_;y>h;--y){var b=y>=m.digits.length?0:m.digits[y],x=y-1>=m.digits.length?0:m.digits[y-1],S=y-2>=m.digits.length?0:m.digits[y-2],C=h>=o.digits.length?0:o.digits[h],w=h-1>=o.digits.length?0:o.digits[h-1];b==C?p.digits[y-h-1]=a:p.digits[y-h-1]=Math.floor((b*n+x)/C);for(var k=p.digits[y-h-1]*(C*n+w),j=b*i+(x*n+S);k>j;)--p.digits[y-h-1],k=p.digits[y-h-1]*(C*n|w),j=b*n*n+(x*n+S);v=I(o,y-h-1),m=E(m,A(v,p.digits[y-h-1])),m.isNeg&&(m=T(m,v),--p.digits[y-h-1])}return m=F(m,g),p.isNeg=e.isNeg!=u,e.isNeg&&(p=u?T(p,l):E(p,l),o=F(o,g),m=E(o,m)),m.digits[0]==0&&D(m)==0&&(m.isNeg=!1),[p,m]}function V(e,t){return B(e,t)[0]}function H(e){this.modulus=f(e),this.k=D(this.modulus)+1;var t=new d;t.digits[2*this.k]=1,this.mu=V(t,this.modulus),this.bkplus1=new d,this.bkplus1.digits[this.k+1]=1,this.modulo=U,this.multiplyMod=W,this.powMod=G}function U(e){var t=L(k(L(e,this.k-1),this.mu),this.k+1),n=E(R(e,this.k+1),R(k(t,this.modulus),this.k+1));n.isNeg&&(n=T(n,this.bkplus1));for(var r=z(n,this.modulus)>=0;r;)n=E(n,this.modulus),r=z(n,this.modulus)>=0;return n}function W(e,t){var n=k(e,t);return this.modulo(n)}function G(e,t){var n=new d;n.digits[0]=1;for(var r=e,i=t;i.digits[0]&1&&(n=this.multiplyMod(n,r)),i=F(i,1),!(i.digits[0]==0&&D(i)==0);)r=this.multiplyMod(r,r);return n}var K={};K.NoPadding=`NoPadding`,K.PKCS1Padding=`PKCS1Padding`,K.RawEncoding=`RawEncoding`,K.NumericEncoding=`NumericEncoding`;function q(e,t,n,r){this.e=S(e),this.d=S(t),this.m=S(n),typeof r==`number`?this.chunkSize=r/8:this.chunkSize=2*D(this.m),this.radix=16,this.barrett=new H(this.m)}function J(e,t,n,r){var i=[],a=t.length,o,s,c,l,u,f,p,m=``,h,_,v;for(l=typeof n==`string`?n==K.NoPadding?1:n==K.PKCS1Padding?2:0:0,u=typeof r==`string`&&r==K.RawEncoding?1:0,l==1?a>e.chunkSize&&(a=e.chunkSize):l==2&&a>e.chunkSize-11&&(a=e.chunkSize-11),o=0,s=l==2?a-1:e.chunkSize-1;o<a;)l?i[s]=t.charCodeAt(o):i[o]=t.charCodeAt(o),o++,s--;for(l==1&&(o=0),s=e.chunkSize-a%e.chunkSize;s>0;){if(l==2){for(f=Math.floor(Math.random()*256);!f;)f=Math.floor(Math.random()*256);i[o]=f}else i[o]=0;o++,s--}for(l==2&&(i[a]=0,i[e.chunkSize-2]=2,i[e.chunkSize-1]=0),p=i.length,o=0;o<p;o+=e.chunkSize){for(h=new d,s=0,c=o;c<o+e.chunkSize;++s)h.digits[s]=i[c++],h.digits[s]+=i[c++]<<8;_=e.barrett.powMod(h,e.e),v=u==1?C(_):e.radix==16?y(_):g(_,e.radix),m+=v}return m}export{J as n,u as r,q as t};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@minato-bot/plugin-wxjsxy",
3
3
  "type": "module",
4
- "version": "2.0.5",
4
+ "version": "2.4.1",
5
5
  "description": "wxjsxy for atri framework",
6
6
  "author": "huan_kong",
7
7
  "license": "MIT",
@@ -16,14 +16,10 @@
16
16
  "typecheck": "tsc --noEmit -p tsconfig.json --composite false"
17
17
  },
18
18
  "dependencies": {
19
- "@atri-bot/core": "^2.2.7",
20
- "@atri-bot/lib-cron": "^2.1.3",
19
+ "@atri-bot/core": "^2.4.9",
20
+ "@atri-bot/lib-cron": "^2.3.0",
21
+ "@atri-bot/lib-request": "^2.3.1",
21
22
  "dayjs": "^1.11.20",
22
- "ky": "^1.14.3",
23
- "node-napcat-ts": "^0.4.24",
24
- "yargs": "^18.0.0"
25
- },
26
- "devDependencies": {
27
- "@types/yargs": "^17.0.35"
23
+ "node-napcat-ts": "^0.4.24"
28
24
  }
29
25
  }