xyvcard-wechat-auth 0.0.1 → 0.0.2

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.
Files changed (72) hide show
  1. package/README.md +1 -1
  2. package/dist/api/auth/index.js +159 -1
  3. package/dist/api/auth/types.js +1 -1
  4. package/dist/api/dict/index.js +36 -1
  5. package/dist/api/dict/types.js +1 -1
  6. package/dist/api/dicts.js +53 -1
  7. package/dist/api/files/index.js +135 -1
  8. package/dist/api/files/types.js +1 -1
  9. package/dist/api/index.js +12 -1
  10. package/dist/api/myorgan/index.js +1 -1
  11. package/dist/api/myorgan/types.js +1 -1
  12. package/dist/api/types.d.ts +47 -0
  13. package/dist/api/types.js +9 -1
  14. package/dist/components/common/btn/footer-btn/index.js +34 -1
  15. package/dist/components/common/btn/footer-btn/index.wxml +1 -1
  16. package/dist/components/common/btn/footer-double-btn/index.js +67 -1
  17. package/dist/components/common/btn/footer-double-btn/index.wxml +4 -2
  18. package/dist/components/common/btn/footer-double-btn/index.wxss +1 -0
  19. package/dist/components/common/choose-avatar/index.js +82 -1
  20. package/dist/components/common/choose-avatar/index.wxss +1 -1
  21. package/dist/components/common/none-data/index.js +53 -1
  22. package/dist/components/common/none-data/index.wxml +2 -2
  23. package/dist/components/common/none-data/index.wxss +1 -1
  24. package/dist/components/common/popup/index.js +50 -1
  25. package/dist/components/common/popup/index.wxml +1 -1
  26. package/dist/components/common/popup/index.wxss +1 -1
  27. package/dist/components/common/search/index.d.ts +1 -0
  28. package/dist/components/common/search/index.js +55 -0
  29. package/dist/components/common/search/index.json +4 -0
  30. package/dist/components/common/search/index.wxml +7 -0
  31. package/dist/components/common/search/index.wxss +1 -0
  32. package/dist/components/common/top-navigation/index.d.ts +1 -0
  33. package/dist/components/common/top-navigation/index.js +49 -0
  34. package/dist/components/common/top-navigation/index.json +4 -0
  35. package/dist/components/common/top-navigation/index.wxml +6 -0
  36. package/dist/components/common/top-navigation/index.wxss +1 -0
  37. package/dist/components/jmash-half-login/index.d.ts +1 -0
  38. package/dist/components/jmash-half-login/index.js +105 -0
  39. package/dist/components/jmash-half-login/index.json +8 -0
  40. package/dist/components/jmash-half-login/index.wxml +46 -0
  41. package/dist/components/jmash-half-login/index.wxss +1 -0
  42. package/dist/components/jmash-login/index.d.ts +1 -0
  43. package/dist/components/jmash-login/index.js +99 -0
  44. package/dist/components/jmash-login/index.json +4 -0
  45. package/dist/components/jmash-login/index.wxml +16 -0
  46. package/dist/components/jmash-login/index.wxss +1 -0
  47. package/dist/constant.js +15 -1
  48. package/dist/index.d.ts +10 -2
  49. package/dist/index.js +23 -1
  50. package/dist/styles/{global.scss → index.scss} +11 -1
  51. package/dist/utils/auth.d.ts +3 -2
  52. package/dist/utils/auth.js +199 -1
  53. package/dist/utils/common.d.ts +16 -0
  54. package/dist/utils/common.js +112 -1
  55. package/dist/utils/config.d.ts +3 -1
  56. package/dist/utils/config.js +27 -1
  57. package/dist/utils/db.js +188 -1
  58. package/dist/utils/request.js +86 -1
  59. package/dist/utils/util.d.ts +9 -0
  60. package/dist/utils/util.js +88 -1
  61. package/package.json +4 -3
  62. package/xyvcard-wechat-auth-0.0.1.tgz +0 -0
  63. package/dist/app.d.ts +0 -0
  64. package/dist/app.js +0 -1
  65. package/dist/app.json +0 -24
  66. package/dist/app.wxss +0 -0
  67. package/dist/pages/index/index.d.ts +0 -0
  68. package/dist/pages/index/index.js +0 -1
  69. package/dist/pages/index/index.json +0 -7
  70. package/dist/pages/index/index.wxml +0 -4
  71. package/dist/pages/index/index.wxss +0 -0
  72. package/dist/sitemap.json +0 -7
@@ -0,0 +1 @@
1
+ .index_bj{width:100%}.login_container{position:relative;margin-top:-35%;display:flex;flex-direction:column;align-items:center}.login_logo{width:250px}.login_box{border-top-left-radius:20px;border-top-right-radius:20px;background-color:#fff;padding:13% 3% 4%;margin-top:40px;display:flex;flex-direction:column;align-items:center}.login_box .login_btn{background-color:#2563eb;color:#fff;padding:16px 0;width:100%;font-size:14px}.login_box .protocol_agree{color:#999;font-size:14px;margin-top:20px}.login_box .protocol_agree text{color:#2563eb}.login_box .tips_box{color:#2563eb;font-size:12px;margin-top:40%}
package/dist/constant.js CHANGED
@@ -1 +1,15 @@
1
- "use strict";const e=class e{};e.MODULE_RBAC="rbac",e.ENUM_GENDER="jmash.protobuf.Gender";let o=e;module.exports=o,"object"==typeof exports&&"undefined"!=typeof module&&Object.keys(module.exports).forEach(function(e){exports[e]=module.exports[e]});
1
+ var __getOwnPropNames = Object.getOwnPropertyNames;
2
+ var __commonJS = (cb, mod) => function __require() {
3
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
4
+ };
5
+ var require_constant = __commonJS({
6
+ "constant.js"(exports, module) {
7
+ const _Constant = class _Constant {
8
+ };
9
+ _Constant.MODULE_RBAC = "rbac";
10
+ _Constant.ENUM_GENDER = "jmash.protobuf.Gender";
11
+ let Constant = _Constant;
12
+ module.exports = Constant;
13
+ }
14
+ });
15
+ export default require_constant();
package/dist/index.d.ts CHANGED
@@ -1,6 +1,14 @@
1
+ export { clearEmpty, request, sendRequest } from "./utils/request";
2
+ export { config } from "./utils/config";
1
3
  export { auth } from "./utils/auth";
2
4
  export { db } from "./utils/db";
3
- export { dictApi } from "./api/dict/index";
4
- export { fileApi } from "./api/files/index";
5
+ export type { BaseConfig } from "./utils/config";
6
+ export type { RequestData, ResponseData, RequestHeader } from "./api/types";
5
7
  export { Dict } from "./api/index";
6
8
  export { EntryDict, EnumDict } from "./api/dicts";
9
+ export { authApi } from "./api/auth/index";
10
+ export type { LoginReq, LoginRes, PhoneNumberReq, RefreshTokenReq, TokenRes, RolesPerms, UserInfo, UpdateUserReq, UserInfoReq } from "./api/auth/types";
11
+ export { dictApi } from "./api/dict/index";
12
+ export type { Entry, DictEntryModel, DictEntryReq } from "./api/dict/types";
13
+ export { fileApi } from "./api/files/index";
14
+ export type { FileInfo, FileBase64Req, FileDownInfo, FileWebReq } from "./api/files/types";
package/dist/index.js CHANGED
@@ -1 +1,23 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./utils/auth.js"),t=require("./utils/db.js"),i=require("./api/dict/index.js"),r=require("./api/files/index.js"),s=require("./api/index.js"),o=require("./api/dicts.js");exports.auth=e.auth,exports.db=t.db,exports.dictApi=i.dictApi,exports.fileApi=r.fileApi,exports.Dict=s.Dict,exports.EntryDict=o.EntryDict,exports.EnumDict=o.EnumDict,"object"==typeof exports&&"undefined"!=typeof module&&Object.keys(module.exports).forEach(function(e){exports[e]=module.exports[e]});
1
+ import { clearEmpty, request, sendRequest } from "./utils/request.js";
2
+ import { config } from "./utils/config.js";
3
+ import { auth } from "./utils/auth.js";
4
+ import { db } from "./utils/db.js";
5
+ import { Dict } from "./api/index.js";
6
+ import { EntryDict, EnumDict } from "./api/dicts.js";
7
+ import { authApi } from "./api/auth/index.js";
8
+ import { dictApi } from "./api/dict/index.js";
9
+ import { fileApi } from "./api/files/index.js";
10
+ export {
11
+ Dict,
12
+ EntryDict,
13
+ EnumDict,
14
+ auth,
15
+ authApi,
16
+ clearEmpty,
17
+ config,
18
+ db,
19
+ dictApi,
20
+ fileApi,
21
+ request,
22
+ sendRequest
23
+ };
@@ -10,6 +10,7 @@ $white-color: #fff;
10
10
  $red-color: #EF4444;
11
11
  $green-color: #16A34A;
12
12
  $blue-color: #2563EB;
13
+ $black-color: #000;
13
14
  // 字体颜色
14
15
  $font-color: #333;
15
16
  $font-color-grey: #666;
@@ -19,4 +20,13 @@ $width: 100%;
19
20
  // 层级
20
21
  $z-index: 99999;
21
22
  // 下拉线颜色
22
- $border-line: #EBEBEB;
23
+ $border-line: #EBEBEB;
24
+ // 背景色
25
+ $background-color: #f6f6f6;
26
+ // 白色背景
27
+ $background-white-color: #fff;
28
+ // 灰色字体
29
+ $grey-color: #999;
30
+ $grey-dark-color: #666;
31
+ // 字体大小
32
+ $font-mini-size: 12px;
@@ -1,10 +1,11 @@
1
1
  import { LoginRes, RolesPerms, UserInfo } from "../api/auth/types";
2
2
  declare class Auth {
3
+ /** 登录检查 */
4
+ loginOnlyAC(): Promise<boolean>;
3
5
  /** 登录检查并跳转登录 */
4
- loginAC(backurl: string, tabbar: boolean): void;
6
+ loginAC(backurl: string, tabbar: boolean, loginurl?: string): Promise<boolean>;
5
7
  /** 检查登录是否有效? */
6
8
  checkLogin(): boolean;
7
- _checkLogin(): Promise<unknown>;
8
9
  hasUser(): Promise<boolean>;
9
10
  checkRole(role: string): boolean;
10
11
  /** 静默登录 */
@@ -1 +1,199 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./config.js"),t=require("./db.js"),o=require("../api/auth/index.js");const n=new class r{loginAC(e,t){this.checkLogin()||this.silentLogin().then(t=>{if(!t.status){let t="/pages/login/index?";t+="true",t+="&backurl="+e,wx.navigateTo({url:t})}})}checkLogin(){return!(!t.db.getToken()||t.db.isTokenExpire())}_checkLogin(){return new Promise(e=>{const o=t.db.getToken(),n=t.db.isTokenExpire();e(!(!o||n))})}hasUser(){return e=this,t=null,o=function*(){return(yield n.checkLogin())?Promise.resolve(!0):n.silentLogin().then(e=>!!e.status).catch(e=>!1)},new Promise((n,r)=>{var s=e=>{try{a(o.next(e))}catch(t){r(t)}},i=e=>{try{a(o.throw(e))}catch(t){r(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,i);a((o=o.apply(e,t)).next())});var e,t,o}checkRole(e){const o=t.db.getRoleCodes();return o.length>0&&-1!==o.indexOf(e)}silentLogin(){return new Promise((n,r)=>{try{wx.login({success:s=>{s.code&&o.authApi.miniappLogin({loginCode:s.code,appId:e.config.appId,componentAppid:e.config.componentAppid}).then(e=>{200===e.code&&!0===e.data.status?(t.db.loginStorage(e.data),this.getUserInfo(!1),this.getRolePerm(!1).then(()=>{n(e.data)})):200===e.code?n(e.data):r(e.message)})},fail:e=>{r(e.errMsg)}})}catch(s){}})}phoneCodeLogin(n,r=""){return new Promise((s,i)=>{wx.login({success:a=>{a.code&&o.authApi.miniappPhoneNumber({phoneCode:n,loginCode:a.code,appId:e.config.appId,nickName:r,componentAppid:e.config.componentAppid}).then(e=>{200===e.code&&!0===e.data.status?(t.db.loginStorage(e.data),this.getRolePerm().then(()=>{s(e.data)})):i(e.message)})},fail:e=>{i(e.errMsg)}})})}getRolePerm(e=!0){return new Promise((n,r)=>{let s={roleCodes:t.db.getRoleCodes(),permCodes:t.db.getPermCodes()};e&&(Object.keys(s.roleCodes).length>0||Object.keys(s.permCodes).length>0)?n(s):o.authApi.userRolesPerms().then(e=>{t.db.rolesPermsStorage(e.data),n(e.data)}).catch(()=>{r("获取角色权限错误!")})})}getUserInfo(e=!0){return new Promise((n,r)=>{let s=t.db.getUserInfo();e&&Object.keys(s).length>0?n(s):o.authApi.userInfo().then(e=>{t.db.userInfoStorage(e.data),n(e.data)}).catch(()=>{r("获取角色权限错误!")})})}refreshToken(){return new Promise((n,r)=>{o.authApi.refreshToken({tenant:e.config.tenant,refreshToken:t.db.getRefreshToken(),clientId:e.config.appId}).then(e=>{t.db.tokenStorage(e.data),n(!0)}).catch(e=>{r(e)})})}loginOut(){t.db.clearStorage()}};exports.auth=n,"object"==typeof exports&&"undefined"!=typeof module&&Object.keys(module.exports).forEach(function(e){exports[e]=module.exports[e]});
1
+ import { config } from "./config.js";
2
+ import { db } from "./db.js";
3
+ import { authApi } from "../api/auth/index.js";
4
+ class Auth {
5
+ /** 登录检查 */
6
+ loginOnlyAC() {
7
+ return new Promise((resolve, reject) => {
8
+ if (this.checkLogin()) {
9
+ resolve(true);
10
+ return;
11
+ }
12
+ this.silentLogin().then((res) => {
13
+ if (res.status) {
14
+ resolve(true);
15
+ } else {
16
+ reject(false);
17
+ }
18
+ });
19
+ });
20
+ }
21
+ /** 登录检查并跳转登录 */
22
+ loginAC(backurl, tabbar, loginurl = "/pages/auth/login/index") {
23
+ return new Promise((resolve, reject) => {
24
+ if (this.checkLogin()) {
25
+ resolve(true);
26
+ return;
27
+ }
28
+ this.silentLogin().then((res) => {
29
+ if (res.status) {
30
+ resolve(true);
31
+ } else {
32
+ reject(false);
33
+ let toUrl = loginurl + "?tabbar=" + (tabbar ? "true" : "false");
34
+ toUrl += "&backurl=" + backurl;
35
+ wx.navigateTo({
36
+ url: toUrl
37
+ });
38
+ }
39
+ });
40
+ });
41
+ }
42
+ /** 检查登录是否有效? */
43
+ checkLogin() {
44
+ if (db.getToken() && !db.isTokenExpire()) {
45
+ return true;
46
+ }
47
+ return false;
48
+ }
49
+ // 判断是否存在有效用户.
50
+ async hasUser() {
51
+ const isLoggedIn = auth.checkLogin();
52
+ if (!isLoggedIn) {
53
+ return auth.silentLogin().then((res) => {
54
+ console.log("静默登录--------", res);
55
+ if (!res.status) {
56
+ return false;
57
+ }
58
+ return true;
59
+ }).catch((err) => {
60
+ console.error("Silent login failed:", err);
61
+ return false;
62
+ });
63
+ } else {
64
+ return Promise.resolve(true);
65
+ }
66
+ }
67
+ // 检查角色
68
+ checkRole(role) {
69
+ const roleCodes = db.getRoleCodes();
70
+ return roleCodes.length > 0 && roleCodes.indexOf(role) !== -1;
71
+ }
72
+ /** 静默登录 */
73
+ silentLogin() {
74
+ return new Promise((resolve, reject) => {
75
+ try {
76
+ wx.login({
77
+ success: (res) => {
78
+ if (res.code) {
79
+ authApi.miniappLogin({
80
+ loginCode: res.code,
81
+ appId: config.appId,
82
+ componentAppid: config.componentAppid
83
+ }).then((response) => {
84
+ if (response.code === 200 && response.data.status === true) {
85
+ db.loginStorage(response.data);
86
+ console.log("login success");
87
+ this.getUserInfo(false);
88
+ this.getRolePerm(false).then(() => {
89
+ resolve(response.data);
90
+ });
91
+ } else if (response.code === 200) {
92
+ resolve(response.data);
93
+ } else {
94
+ reject(response.message);
95
+ }
96
+ });
97
+ }
98
+ },
99
+ fail: (fail) => {
100
+ console.log("登录失败2", fail.errMsg);
101
+ reject(fail.errMsg);
102
+ }
103
+ });
104
+ } catch (error) {
105
+ console.log("silentLogin静默登录抛出异常");
106
+ }
107
+ });
108
+ }
109
+ // 手机号code 注册登录
110
+ phoneCodeLogin(phoneCode, nickName = "") {
111
+ return new Promise((resolve, reject) => {
112
+ wx.login({
113
+ success: (res) => {
114
+ if (res.code) {
115
+ authApi.miniappPhoneNumber({
116
+ phoneCode,
117
+ loginCode: res.code,
118
+ appId: config.appId,
119
+ nickName,
120
+ componentAppid: config.componentAppid
121
+ }).then(
122
+ (resp) => {
123
+ console.log("phoneCodeLogin-res", resp);
124
+ if (resp.code === 200 && resp.data.status === true) {
125
+ db.loginStorage(resp.data);
126
+ console.log("login success");
127
+ this.getRolePerm().then(() => {
128
+ resolve(resp.data);
129
+ });
130
+ } else {
131
+ reject(resp.message);
132
+ }
133
+ }
134
+ );
135
+ }
136
+ },
137
+ fail: (fail) => {
138
+ console.log("登录失败3", fail.errMsg);
139
+ reject(fail.errMsg);
140
+ }
141
+ });
142
+ });
143
+ }
144
+ // 获取角色
145
+ getRolePerm(cache = true) {
146
+ return new Promise((resolve, reject) => {
147
+ let rolesPerms = { roleCodes: db.getRoleCodes(), permCodes: db.getPermCodes() };
148
+ if (cache && (Object.keys(rolesPerms.roleCodes).length > 0 || Object.keys(rolesPerms.permCodes).length > 0)) {
149
+ resolve(rolesPerms);
150
+ return;
151
+ }
152
+ authApi.userRolesPerms().then((response) => {
153
+ db.rolesPermsStorage(response.data);
154
+ resolve(response.data);
155
+ }).catch(() => {
156
+ reject("获取角色权限错误!");
157
+ });
158
+ });
159
+ }
160
+ // 获取用户信息
161
+ getUserInfo(cache = true) {
162
+ return new Promise((resolve, reject) => {
163
+ let userInfo = db.getUserInfo();
164
+ if (cache && Object.keys(userInfo).length > 0) {
165
+ resolve(userInfo);
166
+ return;
167
+ }
168
+ authApi.userInfo().then((resp) => {
169
+ db.userInfoStorage(resp.data);
170
+ resolve(resp.data);
171
+ }).catch(() => {
172
+ reject("获取角色权限错误!");
173
+ });
174
+ });
175
+ }
176
+ // 刷新Token.
177
+ refreshToken() {
178
+ return new Promise((resolve, reject) => {
179
+ authApi.refreshToken({
180
+ tenant: config.tenant,
181
+ refreshToken: db.getRefreshToken(),
182
+ clientId: config.appId
183
+ }).then((response) => {
184
+ db.tokenStorage(response.data);
185
+ resolve(true);
186
+ }).catch((error) => {
187
+ reject(error);
188
+ });
189
+ });
190
+ }
191
+ // 登出
192
+ loginOut() {
193
+ db.clearStorage();
194
+ }
195
+ }
196
+ const auth = new Auth();
197
+ export {
198
+ auth
199
+ };
@@ -24,3 +24,19 @@ export declare function kbToMb(kb: number, decimalPlaces?: number): number;
24
24
  * @returns 返回 ISO 格式字符串 (如 "2023-01-01T00:00:00.000Z")
25
25
  */
26
26
  export declare function convertToISOString(dateString: string): string;
27
+ export declare const getHeight: () => {
28
+ navigationPaddingHeight: number;
29
+ topHeight: number;
30
+ bottomHeight: number;
31
+ MenuButtonRight: number;
32
+ MenuButtonLeft: number;
33
+ MenuButtonTop: number;
34
+ MenuButtonBottom: number;
35
+ MenuButtonWidth: number;
36
+ MenuButtonHeight: number;
37
+ MenuButtonBounding: number;
38
+ screenWidth: number;
39
+ screenHeight: number;
40
+ computeHeightFn: (height: number, stackingHeight: number) => number;
41
+ addition: (height: number, addHeight: number) => number;
42
+ };
@@ -1 +1,112 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.convertToISOString=function(e){return new Date(e).toISOString()},exports.formatDateTime=(e,t)=>{var o=new Date(e);if(isNaN(o.getTime()))return"";var r=o.getFullYear(),n=("0"+(o.getMonth()+1)).slice(-2),i=("0"+o.getDate()).slice(-2),s=("0"+o.getHours()).slice(-2),u=("0"+o.getMinutes()).slice(-2),a=("0"+o.getSeconds()).slice(-2);return"YYYY-MM-DD HH:mm:ss"===t?r+"-"+n+"-"+i+" "+s+":"+u+":"+a:"YYYY-MM-DD HH:mm"===t?r+"-"+n+"-"+i+" "+s+":"+u:"YYYY-MM-DD"===t?r+"-"+n+"-"+i:""},exports.kbToMb=function(e,t=2){return parseFloat((e/1024/1024).toFixed(t))},exports.validateRequired=function(e,t){return!(!e||""==e.trim())||(wx.showToast({title:t,icon:"none",duration:2e3}),!1)},exports.validateRules=function(e,t,o){return!(e&&!o.test(e))||(wx.showToast({title:t,icon:"none",duration:2e3}),!1)},"object"==typeof exports&&"undefined"!=typeof module&&Object.keys(module.exports).forEach(function(e){exports[e]=module.exports[e]});
1
+ function validateRules(value, message, rules) {
2
+ if (value && !rules.test(value)) {
3
+ wx.showToast({
4
+ title: message,
5
+ icon: "none",
6
+ duration: 2e3
7
+ });
8
+ return false;
9
+ }
10
+ return true;
11
+ }
12
+ function validateRequired(value, message) {
13
+ console.log(value, message);
14
+ if (!value || value.trim() == "") {
15
+ wx.showToast({
16
+ title: message,
17
+ icon: "none",
18
+ duration: 2e3
19
+ });
20
+ return false;
21
+ }
22
+ return true;
23
+ }
24
+ const formatDateTime = (dateTimeString, format) => {
25
+ var date = new Date(dateTimeString);
26
+ if (isNaN(date.getTime())) {
27
+ return "";
28
+ }
29
+ var year = date.getFullYear();
30
+ var month = ("0" + (date.getMonth() + 1)).slice(-2);
31
+ var day = ("0" + date.getDate()).slice(-2);
32
+ var hours = ("0" + date.getHours()).slice(-2);
33
+ var minutes = ("0" + date.getMinutes()).slice(-2);
34
+ var seconds = ("0" + date.getSeconds()).slice(-2);
35
+ if (format === "YYYY-MM-DD HH:mm:ss") {
36
+ return year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
37
+ }
38
+ if (format === "YYYY-MM-DD HH:mm") {
39
+ return year + "-" + month + "-" + day + " " + hours + ":" + minutes;
40
+ }
41
+ if (format === "YYYY-MM-DD") {
42
+ return year + "-" + month + "-" + day;
43
+ }
44
+ return "";
45
+ };
46
+ function kbToMb(kb, decimalPlaces = 2) {
47
+ return parseFloat((kb / 1024 / 1024).toFixed(decimalPlaces));
48
+ }
49
+ function convertToISOString(dateString) {
50
+ const date = new Date(dateString);
51
+ return date.toISOString();
52
+ }
53
+ const getHeight = () => {
54
+ let navigationPaddingHeight = 0;
55
+ let topHeight = 0;
56
+ let bottomHeight = 0;
57
+ let MenuButtonRight = 0;
58
+ let MenuButtonLeft = 0;
59
+ let MenuButtonTop = 0;
60
+ let MenuButtonBottom = 0;
61
+ let MenuButtonWidth = 0;
62
+ let MenuButtonHeight = 0;
63
+ let MenuButtonBounding = 0;
64
+ let screenWidth = 0;
65
+ let screenHeight = 0;
66
+ try {
67
+ MenuButtonHeight = wx.getMenuButtonBoundingClientRect().height ? wx.getMenuButtonBoundingClientRect().height : 0;
68
+ navigationPaddingHeight = wx.getWindowInfo().statusBarHeight + 7 ? wx.getWindowInfo().statusBarHeight + 7 : 0;
69
+ topHeight = MenuButtonHeight + navigationPaddingHeight;
70
+ bottomHeight = wx.getWindowInfo().screenHeight - wx.getWindowInfo().safeArea.bottom ? wx.getWindowInfo().screenHeight - wx.getWindowInfo().safeArea.bottom : 0;
71
+ MenuButtonRight = wx.getMenuButtonBoundingClientRect().right;
72
+ MenuButtonLeft = wx.getMenuButtonBoundingClientRect().left;
73
+ MenuButtonTop = wx.getMenuButtonBoundingClientRect().top;
74
+ MenuButtonBottom = wx.getMenuButtonBoundingClientRect().bottom;
75
+ MenuButtonWidth = wx.getMenuButtonBoundingClientRect().width;
76
+ MenuButtonBounding = wx.getWindowInfo().statusBarHeight;
77
+ screenWidth = wx.getWindowInfo().screenWidth;
78
+ screenHeight = wx.getWindowInfo().screenHeight;
79
+ } catch (error) {
80
+ console.log("getHeight", error);
81
+ }
82
+ function computeHeightFn(height, stackingHeight) {
83
+ return height !== 0 ? height : height + stackingHeight;
84
+ }
85
+ function addition(height, addHeight) {
86
+ return height + addHeight;
87
+ }
88
+ return {
89
+ navigationPaddingHeight,
90
+ topHeight,
91
+ bottomHeight,
92
+ MenuButtonRight,
93
+ MenuButtonLeft,
94
+ MenuButtonTop,
95
+ MenuButtonBottom,
96
+ MenuButtonWidth,
97
+ MenuButtonHeight,
98
+ MenuButtonBounding,
99
+ screenWidth,
100
+ screenHeight,
101
+ computeHeightFn,
102
+ addition
103
+ };
104
+ };
105
+ export {
106
+ convertToISOString,
107
+ formatDateTime,
108
+ getHeight,
109
+ kbToMb,
110
+ validateRequired,
111
+ validateRules
112
+ };
@@ -1,4 +1,5 @@
1
1
  interface BaseConfig {
2
+ name: string;
2
3
  baseUrl: string;
3
4
  resourceUrl: string;
4
5
  appId: string;
@@ -7,4 +8,5 @@ interface BaseConfig {
7
8
  siteId: string;
8
9
  }
9
10
  declare const config: BaseConfig;
10
- export { config };
11
+ export { config, BaseConfig };
12
+ export declare const initconfig: (appConfig: BaseConfig) => void;
@@ -1 +1,27 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="https://",o="gh.sooyie.cn",t={baseUrl:e+o,resourceUrl:e+o+"/v1/file/path/wxapp",appId:wx.getAccountInfoSync().miniProgram.appId,tenant:"xyvcard",componentAppid:"wxe1b784ea80c01f40",siteId:"552416fb-5dc8-46b8-8a35-bc26b1a09be1"};exports.config=t,"object"==typeof exports&&"undefined"!=typeof module&&Object.keys(module.exports).forEach(function(e){exports[e]=module.exports[e]});
1
+ const https = "https://";
2
+ const host = "gh.sooyie.cn";
3
+ const agentUrl = "/v1/file/path/wxapp";
4
+ const config = {
5
+ name: "Jmash框架",
6
+ baseUrl: https + host,
7
+ // 接口域名
8
+ resourceUrl: https + host + agentUrl,
9
+ // 资源域名
10
+ // 测试版本
11
+ appId: wx.getAccountInfoSync().miniProgram.appId,
12
+ // 小程序appid 查看详情里面id wxf201f46341e0adf6
13
+ tenant: "xyvcard",
14
+ // 登录租户
15
+ componentAppid: "wxe1b784ea80c01f40",
16
+ // 测试版·微信第三方平台,ext.json extAppid
17
+ // componentAppid: "wx8a77494240acd868", // 正式版·微信第三方平台,ext.json extAppid
18
+ siteId: "552416fb-5dc8-46b8-8a35-bc26b1a09be1"
19
+ // 站点id
20
+ };
21
+ const initconfig = (appConfig) => {
22
+ Object.assign(config, appConfig);
23
+ };
24
+ export {
25
+ config,
26
+ initconfig
27
+ };
package/dist/utils/db.js CHANGED
@@ -1 +1,188 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./config.js");const t=new class r{getTenant(){return e.config.tenant}getUserTenant(){return this.getUserInfo().storage}getOrganTenant(){return this.getDefaultOrgan().tenant}getToken(){return wx.getStorageSync("token")}getRefreshToken(){return wx.getStorageSync("refreshToken")}getRoleCodes(){return wx.getStorageSync("roleCodes")}getPermCodes(){return wx.getStorageSync("permCodes")}getUserInfo(){return wx.getStorageSync("userInfo")}getBearerToken(){return wx.getStorageSync("token")?"Bearer "+wx.getStorageSync("token"):""}isTokenExpire(){if(wx.getStorageSync("token")){const e=wx.getStorageSync("expireTime");return e&&(new Date).getTime()>e}return!1}loginStorage(e){e.token&&this.tokenStorage(e.token),wx.setStorageSync("mobilePhone",e.message)}tokenStorage(e){if(wx.setStorageSync("token",e.accessToken),wx.setStorageSync("expiresIn",e.expiresIn),wx.setStorageSync("refreshToken",e.refreshToken),e.expiresIn){const t=(new Date).getTime()+1e3*e.expiresIn-6e4;wx.setStorageSync("expireTime",t)}}rolesPermsStorage(e){wx.setStorageSync("roleCodes",e.roleCodes),wx.setStorageSync("permCodes",e.permCodes)}userInfoStorage(e){wx.setStorageSync("userInfo",e)}clearStorage(){wx.clearStorage()}setSearchStorage(e){const t=wx.getStorageSync("historical")?wx.getStorageSync("historical"):JSON.stringify([]);let r=JSON.parse(t);r.push(e),wx.setStorageSync("historical",JSON.stringify(r))}setSearchStorageAll(e){wx.setStorageSync("historical",JSON.stringify(e))}getSearchStorage(){return wx.getStorageSync("historical")?JSON.parse(wx.getStorageSync("historical")):[]}clearSearchStorage(){wx.setStorageSync("historical",JSON.stringify([]))}setDefaultOrgan(e){wx.setStorageSync("defaultOrgan",e)}getDefaultOrgan(){return wx.getStorageSync("defaultOrgan")||{}}clearDefaultOrgan(){wx.setStorageSync("defaultOrgan",{})}clearDefaultCmsinfo(){wx.setStorageSync("defaultCms",{})}getNetworkStatus(){return!!wx.getStorageSync("netWork")&&wx.getStorageSync("netWork")}setNetWorkStatus(e){wx.setStorageSync("netWork",e)}clearNetWorkStatus(){wx.setStorageSync("netWork","")}getDespTopStatus(){return!!wx.getStorageSync("desktop")&&wx.getStorageSync("desktop")}setDespTopStatus(e){wx.setStorageSync("desktop",e)}getBeforeExchangeStatus(){return wx.getStorageSync("exchange")}setBeforeExchangeStatus(e){wx.setStorageSync("exchange",e)}clearBeforeExchangeStatus(){wx.setStorageSync("exchange",!1)}getAddrNotesStorage(){return wx.getStorageSync("notes")}setAddrNotesStorage(e){wx.setStorageSync("notes",e)}clearAddrNotesStorage(){wx.setStorageSync("notes","")}};exports.db=t,"object"==typeof exports&&"undefined"!=typeof module&&Object.keys(module.exports).forEach(function(e){exports[e]=module.exports[e]});
1
+ import { config } from "./config.js";
2
+ class LocalStorage {
3
+ getTenant() {
4
+ return config.tenant;
5
+ }
6
+ // 用户租户
7
+ getUserTenant() {
8
+ return this.getUserInfo().storage;
9
+ }
10
+ // 组织租户
11
+ getOrganTenant() {
12
+ return this.getDefaultOrgan().tenant;
13
+ }
14
+ getToken() {
15
+ return wx.getStorageSync("token");
16
+ }
17
+ getRefreshToken() {
18
+ return wx.getStorageSync("refreshToken");
19
+ }
20
+ getRoleCodes() {
21
+ return wx.getStorageSync("roleCodes");
22
+ }
23
+ getPermCodes() {
24
+ return wx.getStorageSync("permCodes");
25
+ }
26
+ getUserInfo() {
27
+ return wx.getStorageSync("userInfo");
28
+ }
29
+ // 获取Bearer 格式请求Token
30
+ getBearerToken() {
31
+ return wx.getStorageSync("token") ? "Bearer " + wx.getStorageSync("token") : "";
32
+ }
33
+ // Token 是否过期
34
+ isTokenExpire() {
35
+ if (wx.getStorageSync("token")) {
36
+ const expireTime = wx.getStorageSync("expireTime");
37
+ return expireTime && (/* @__PURE__ */ new Date()).getTime() > expireTime;
38
+ }
39
+ return false;
40
+ }
41
+ // 登录存储Token等信息
42
+ loginStorage(loginResp) {
43
+ if (loginResp.token) {
44
+ this.tokenStorage(loginResp.token);
45
+ }
46
+ wx.setStorageSync("mobilePhone", loginResp.message);
47
+ }
48
+ // Token存储
49
+ tokenStorage(tokenRes) {
50
+ wx.setStorageSync("token", tokenRes.accessToken);
51
+ wx.setStorageSync("expiresIn", tokenRes.expiresIn);
52
+ wx.setStorageSync("refreshToken", tokenRes.refreshToken);
53
+ if (tokenRes.expiresIn) {
54
+ const expireTime = (/* @__PURE__ */ new Date()).getTime() + tokenRes.expiresIn * 1e3 - 60 * 1e3;
55
+ wx.setStorageSync("expireTime", expireTime);
56
+ }
57
+ }
58
+ // 角色权限存储
59
+ rolesPermsStorage(rolesPerms) {
60
+ wx.setStorageSync("roleCodes", rolesPerms.roleCodes);
61
+ wx.setStorageSync("permCodes", rolesPerms.permCodes);
62
+ }
63
+ // 用户存储
64
+ userInfoStorage(userInfo) {
65
+ wx.setStorageSync("userInfo", userInfo);
66
+ }
67
+ // 清理本地缓存
68
+ clearStorage() {
69
+ wx.clearStorage();
70
+ }
71
+ // 单个存储搜索页面历史记录
72
+ setSearchStorage(info) {
73
+ const data = wx.getStorageSync("historical") ? wx.getStorageSync("historical") : JSON.stringify([]);
74
+ let beforeArr = JSON.parse(data);
75
+ beforeArr.push(info);
76
+ wx.setStorageSync("historical", JSON.stringify(beforeArr));
77
+ }
78
+ // 整体替换本地搜索历史记录缓存
79
+ setSearchStorageAll(infoArr) {
80
+ wx.setStorageSync("historical", JSON.stringify(infoArr));
81
+ }
82
+ // 获取搜索页面历史记录
83
+ getSearchStorage() {
84
+ if (!wx.getStorageSync("historical")) return [];
85
+ return JSON.parse(wx.getStorageSync("historical"));
86
+ }
87
+ // 清除搜索的历史记录
88
+ clearSearchStorage() {
89
+ wx.setStorageSync("historical", JSON.stringify([]));
90
+ }
91
+ // 默认组织信息存储
92
+ setDefaultOrgan(organ) {
93
+ wx.setStorageSync("defaultOrgan", organ);
94
+ }
95
+ // 获取默认组织信息
96
+ getDefaultOrgan() {
97
+ return wx.getStorageSync("defaultOrgan") || {};
98
+ }
99
+ // 清除默认组织信息
100
+ clearDefaultOrgan() {
101
+ wx.setStorageSync("defaultOrgan", {});
102
+ }
103
+ // 设置企业 微网站 默认信息
104
+ // setDefaultCmsinfo(cmsInfo: CmsSiteOrganModel) {
105
+ // wx.setStorageSync("defaultCms", cmsInfo)
106
+ // }
107
+ // 获取企业/微网站/站点默认信息
108
+ // getDefaultCmsinfo(): CmsSiteStorageModel {
109
+ // // TODO// 微网站默认id
110
+ // // const siteId = wx.getStorageSync("defaultCms")?.minisiteList[0]?.siteId ? wx.getStorageSync("defaultCms")?.minisiteList[0]?.siteId : "";
111
+ // // // 微网站默认网站
112
+ // // const domainCode = wx.getStorageSync("defaultCms")?.minisiteList[0]?.domainCode ? wx.getStorageSync("defaultCms")?.minisiteList[0]?.domainCode : "";
113
+ // // // 企业官网、微网站信息
114
+ // // const defaultCms = wx.getStorageSync("defaultCms") || {};
115
+ // // return {
116
+ // // siteId,
117
+ // // domainCode,
118
+ // // defaultCms
119
+ // // }
120
+ // const storageData = wx.getStorageSync("defaultCms") || {};
121
+ // // 安全解构 minisiteList(设置默认空数组防止报错)
122
+ // const { minisiteList = [] } = storageData;
123
+ // const { siteId = "", domainCode = "" } = minisiteList[0] || {};
124
+ // return {
125
+ // // 微网站默认id
126
+ // siteId,
127
+ // // 微网站默认网站
128
+ // domainCode,
129
+ // defaultCms: storageData
130
+ // };
131
+ // }
132
+ // 清空企业/微网站/站点默认信息
133
+ clearDefaultCmsinfo() {
134
+ wx.setStorageSync("defaultCms", {});
135
+ }
136
+ // 切换组织的时候清空当前组织下保存的所有信息
137
+ // clearOrganAllStorage() {
138
+ // // 清空默认组织信息
139
+ // this.clearDefaultOrgan()
140
+ // // 清空企业/微网站/站点默认信息
141
+ // this.clearDefaultCmsinfo()
142
+ // // 清空组织管理员权限信息
143
+ // organdb.clearOrganRolesPerms()
144
+ // }
145
+ // 获取当前的网络状态
146
+ getNetworkStatus() {
147
+ return wx.getStorageSync("netWork") ? wx.getStorageSync("netWork") : false;
148
+ }
149
+ // 设置网路状态
150
+ setNetWorkStatus(status) {
151
+ wx.setStorageSync("netWork", status);
152
+ }
153
+ // 清除网路状态
154
+ clearNetWorkStatus() {
155
+ wx.setStorageSync("netWork", "");
156
+ }
157
+ // 悬浮层提示状态
158
+ getDespTopStatus() {
159
+ return wx.getStorageSync("desktop") ? wx.getStorageSync("desktop") : false;
160
+ }
161
+ setDespTopStatus(status) {
162
+ wx.setStorageSync("desktop", status);
163
+ }
164
+ // 预览页交换名片悬浮层未操作前的状态
165
+ getBeforeExchangeStatus() {
166
+ return wx.getStorageSync("exchange");
167
+ }
168
+ setBeforeExchangeStatus(status) {
169
+ wx.setStorageSync("exchange", status);
170
+ }
171
+ clearBeforeExchangeStatus() {
172
+ wx.setStorageSync("exchange", false);
173
+ }
174
+ // 分享地址备注本地缓存
175
+ getAddrNotesStorage() {
176
+ return wx.getStorageSync("notes");
177
+ }
178
+ setAddrNotesStorage(notes) {
179
+ wx.setStorageSync("notes", notes);
180
+ }
181
+ clearAddrNotesStorage() {
182
+ wx.setStorageSync("notes", "");
183
+ }
184
+ }
185
+ const db = new LocalStorage();
186
+ export {
187
+ db
188
+ };