system-clients 3.2.2 → 3.2.3-aodeToV4

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 (60) hide show
  1. package/.gradle/7.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  2. package/.gradle/7.1/executionHistory/executionHistory.bin +0 -0
  3. package/.gradle/7.1/executionHistory/executionHistory.lock +0 -0
  4. package/.gradle/7.1/fileChanges/last-build.bin +0 -0
  5. package/.gradle/7.1/fileHashes/fileHashes.bin +0 -0
  6. package/.gradle/7.1/fileHashes/fileHashes.lock +0 -0
  7. package/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  8. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  9. package/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  10. package/.gradle/checksums/checksums.lock +0 -0
  11. package/build/webpack.base.conf.js +4 -1
  12. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  13. package/gradle/wrapper/gradle-wrapper.properties +5 -0
  14. package/gradlew +185 -0
  15. package/gradlew.bat +89 -0
  16. package/package.json +102 -102
  17. package/src/App.vue +1 -1
  18. package/src/components/Main.vue +515 -621
  19. package/src/components/equipment/EquipmentManage.vue +3 -3
  20. package/src/components/equipment/PcAdd.vue +1 -1
  21. package/src/components/equipment/PcList.vue +4 -3
  22. package/src/components/equipment/PhoneAdd.vue +1 -1
  23. package/src/components/equipment/PhoneList.vue +2 -2
  24. package/src/components/equipment/PosAdd.vue +24 -5
  25. package/src/components/equipment/PosList.vue +15 -15
  26. package/src/components/equipment/PosManage.vue +3 -2
  27. package/src/components/materialManage/materialList.vue +1 -1
  28. package/src/components/parammanage/ParamPage.vue +6 -6
  29. package/src/components/parammanage/ParamPages.vue +5 -5
  30. package/src/components/parammanage/SinglePage.vue +3 -3
  31. package/src/components/parammanage/SinglePages.vue +3 -3
  32. package/src/components/server/AddChangeMsg.vue +1 -1
  33. package/src/components/server/ChangeDeclare.vue +1 -1
  34. package/src/components/server/Login.vue +630 -528
  35. package/src/components/server/ModifyPw.vue +11 -5
  36. package/src/components/server/NewResSelectGroup.vue +211 -0
  37. package/src/components/server/ResSelect.vue +3 -0
  38. package/src/components/server/ResSelectGroup.vue +23 -6
  39. package/src/components/server/RightTree.vue +86 -6
  40. package/src/components/server/RoleSelector.vue +4 -3
  41. package/src/components/server/TestResSelectGroup.vue +2 -2
  42. package/src/plugins/EncryptUtil.js +53 -0
  43. package/src/plugins/GetLoginInfoService.js +499 -515
  44. package/src/plugins/HeatGetLoginInfoService.js +491 -0
  45. package/src/plugins/validation.js +1 -1
  46. package/src/project/State.js +1 -1
  47. package/src/stores/AppData.js +1 -1
  48. package/src/stores/HeatAppData.js +38 -0
  49. package/src/styles/less/aofeng/themeOne/systemStyle.less +6 -6
  50. package/src/styles/less/aofeng/themeOne.less +4 -1
  51. package/src/styles/less/fonts-list.less +4 -4
  52. package/src/styles/less/stand.less +1 -1
  53. package/src/system.js +9 -0
  54. package/static/aodelogo.png +0 -0
  55. package/static/aodenewlogo.png +0 -0
  56. package/static/ewmlogo.png +0 -0
  57. package/.gradle/buildOutputCleanup/cache.properties.lock +0 -1
  58. package/static/logo.png +0 -0
  59. /package/.gradle/{5.2.1 → 7.1/dependencies-accessors}/gc.properties +0 -0
  60. /package/.gradle/{buildOutputCleanup/built.bin → 7.1/gc.properties} +0 -0
@@ -61,13 +61,19 @@
61
61
  // let res = yield self.$post('rs/db/modifypassword', {data: self.deliver})
62
62
  // let res = yield self.$resetpost('/rs/db/modifypwd', {data: self.deliver})
63
63
  // Util.f.password = self.deliver.newpassword
64
- let res = yield self.$resetpost('/rs/user/modifypwd', {data: self.deliver })
64
+ let res = yield self.$resetpost('/rs/user/modifypwd', {data: self.deliver }, { resolveMsg: null, rejectMsg: '请求错误,修改密码失败!' })
65
65
  self.$login.f.password = self.deliver.newpassword
66
66
  if (res.data) {
67
- self.deliver.password = ''
68
- self.deliver.newpassword = ''
69
- self.deliver.affirmpassword = ''
70
- self.show = false
67
+ console.log("修改密码返回:" , res.data)
68
+ if (res.data===true || res.data==='true') {
69
+ self.deliver.password = ''
70
+ self.deliver.newpassword = ''
71
+ self.deliver.affirmpassword = ''
72
+ self.show = false
73
+ self.$showAlert("修改密码成功", 'success', 2000)
74
+ } else {
75
+ self.$showAlert("修改密码失败,原因:" + res.data.msg, 'warning', 2000)
76
+ }
71
77
  }
72
78
  }
73
79
  export default {
@@ -0,0 +1,211 @@
1
+ <template>
2
+ <div :class="style" v-show="companyshow">
3
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
4
+ <right-tree @re-res="getorg"
5
+ :mustselect="mustselect"
6
+ :initresid='initres.org'></right-tree>
7
+ </div>
8
+ <div :class="style" v-show="departmentshow">
9
+ <label class="font_normal_body">部&emsp;&emsp;门</label>
10
+ <res-select restype='department' v-ref:department
11
+ @res-select="getdep"
12
+ :parentresid="depresid"
13
+ :specialquery="specialquery"
14
+ :initresid='initres.dep'
15
+ :mustselect="mustselect"
16
+ :is-mul="mul">
17
+ </res-select>
18
+ </div>
19
+ <div :class="style" v-show="operatorshow && (!cascade)">
20
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
21
+ <res-select restype='user'
22
+ @res-select="getuser"
23
+ :parentresid="depresid"
24
+ :initresid='initres.user'
25
+ :mustselect="mustselect"
26
+ :is-mul="mul">
27
+ </res-select>
28
+ </div>
29
+ <div :class="style" v-show="operatorshow && cascade">
30
+ <label class="font_normal_body">人&emsp;&emsp;员</label>
31
+ <res-select restype='user'
32
+ @res-select="getuser"
33
+ :parentresid="userresid"
34
+ :initresid='initres.user'
35
+ :mustselect="mustselect"
36
+ :is-mul="mul">
37
+ </res-select>
38
+ </div>
39
+ <div :class="style " v-if="sliceareashow" >
40
+ <label class="font_normal_body">片&emsp;&emsp;区</label>
41
+ <v-select :value.sync="slice_area" v-model="slice_area" @change='getarea'
42
+ :options='sliceArea' placeholder='片区/管理站' filer-key="name"
43
+ close-on-select v-ref:slice>
44
+ </v-select>
45
+ </div>
46
+ </template>
47
+ <script>
48
+ import plugin from '../../plugins/GetLoginInfoService'
49
+ import { HttpResetClass } from 'vue-client'
50
+ export default {
51
+ title: '资源选择测试',
52
+ props: {
53
+ style: {
54
+ type: String,
55
+ default: 'col-sm-2 form-group'
56
+ },
57
+ mul: {
58
+ type: Boolean,
59
+ default: true
60
+ },
61
+ //是否只查询营业厅
62
+ specialquery: {
63
+ type: Boolean,
64
+ default: false
65
+ },
66
+ //初始值
67
+ initres: {
68
+ type: Object,
69
+ default: null,
70
+ },
71
+ showComponent:{
72
+ default:['company','department','operator','slicearea']
73
+ },
74
+ //人员是否和部门关联
75
+ cascade: {
76
+ type: Boolean,
77
+ default: true
78
+ },
79
+ selectin: {
80
+ type: Boolean,
81
+ default: true
82
+ }
83
+ },
84
+ data () {
85
+ return {
86
+ orgresid:[this.$login.f.orgid],
87
+ depresid:[],
88
+ userresid:[],
89
+ operatorsid: [],
90
+ sliceArea: [],
91
+ slice_area:[],
92
+ companyshow:false,
93
+ departmentshow:false,
94
+ operatorshow:false,
95
+ sliceareashow:false,
96
+ mustselect:false,
97
+ obj:{
98
+ orgnames:[],
99
+ depnames:[],
100
+ operatornames:[]
101
+ }
102
+ }
103
+ },
104
+ ready () {
105
+ if(this.$login.r.includes('部门默认选中')&& this.selectin){
106
+ this.initres.dep = [this.$login.f.depids]
107
+ }
108
+ if(this.$login.r.includes('人员默认选中')&& this.selectin){
109
+ this.initres.user = [this.$login.f.id]
110
+ if(this.$login.r.includes('人员强制选中')){
111
+ this.mustselect = true
112
+ }
113
+ }
114
+ this.initComponent();
115
+ this.initAreas(this.$login.f.orgid)
116
+ },
117
+ methods:{
118
+ initComponent(){
119
+ let self=this;
120
+ this.showComponent.find((item)=>{
121
+ switch(item){
122
+ case 'company': self.companyshow=true; break;
123
+ case 'department': self.departmentshow=true; break;
124
+ case 'operator': self.operatorshow=true; break;
125
+ case 'slicearea': self.sliceareashow=true; break;
126
+ }
127
+ })
128
+ },
129
+ // 初始化片区
130
+ async initAreas (val) {
131
+ if (val) {
132
+ let http = new HttpResetClass()
133
+ let getAllArea = await http.load('POST', '/rs/search', {
134
+ source: 'this.getParentByType($organization$).getAllChildrens().where(row.getType() == $zone$)',
135
+ userid: this.$login.f.id
136
+ }, {resolveMsg: null, rejectMsg: '获取片区出错!!!'})
137
+ let arr = getAllArea.data.filter((res) => {
138
+ if(Array.isArray(val)){
139
+ for (let i = 0; i <val.length ; i++) {
140
+ if(res.parentid == val[i]){
141
+ return true
142
+ }
143
+ }
144
+ }
145
+ return res.parentid == val
146
+ })
147
+ this.sliceArea = []
148
+ this.slice_area = []
149
+ arr.forEach((res) => {
150
+ this.sliceArea.push({label: res.name, value: {name: res.name, code:res.number}})
151
+ })
152
+ }
153
+ },
154
+ returnOrg(ids){
155
+ let limit = this.$login.r.includes('数据授权限定')
156
+
157
+ let condition;
158
+ if(this.depresid.length > 0)
159
+ condition = plugin.convertToIn(this.depresid);
160
+ else
161
+ condition = this.$login.f.orgid;
162
+ if(this.userresid.length > 0){
163
+ condition += plugin.convertToIn(this.userresid);
164
+ } else {
165
+ if (limit) {
166
+ let depids = []
167
+ for (let row of this.$refs.department.resoptions) {
168
+ depids.push(row.value)
169
+ }
170
+ let depid = depids.length ? plugin.convertToIn(depids) : `('')`
171
+ condition += depid;
172
+ }
173
+ }
174
+ if(ids && ids.length > 0){
175
+ condition += plugin.convertToIn(ids);
176
+ }
177
+ if(this.slice_area.length>0){
178
+ condition += "'" + this.slice_area[0].name+"'"
179
+ }
180
+ this.$dispatch('re-res',condition,this.obj)
181
+ },
182
+ getorg (obj) {
183
+ this.depresid=obj.resids
184
+ this.obj.orgnames = obj.res
185
+ this.initAreas(obj.resids)
186
+ this.returnOrg();
187
+ },
188
+ getdep(obj,val) {
189
+ this.obj.depnames = val
190
+ this.userresid=obj
191
+ this.returnOrg();
192
+ },
193
+ getuser(obj,val) {
194
+ this.obj.operatornames = val
195
+ this.operatorsid = obj
196
+ this.returnOrg(obj);
197
+ },
198
+ getarea(val) {
199
+ this.slice_area=val
200
+ if(this.operatorsid){
201
+ this.returnOrg(this.operatorsid);
202
+ }else{
203
+ this.returnOrg();
204
+ }
205
+ }
206
+ },
207
+ watch: {
208
+
209
+ }
210
+ }
211
+ </script>
@@ -70,6 +70,9 @@
70
70
  //找到跟节点
71
71
  ergodicList (val,parentname) {
72
72
  if(val.children.length > 0 ){
73
+ if (val.name !== '组织机构' && parentname !== '资源管理'){
74
+ this.resoptions.push({label: parentname === '组织机构' ? val.name : val.name+' - '+parentname, value: val.id})
75
+ }
73
76
  parentname=parentname+val.name
74
77
  this.treetoList(val,parentname)
75
78
  }else {
@@ -1,10 +1,10 @@
1
1
  <template>
2
- <div :class="style">
2
+ <div :class="style" v-show="companyshow">
3
3
  <label class="font_normal_body">公&emsp;&emsp;司</label>
4
4
  <right-tree @re-res="getorg"
5
5
  :initresid='initres.org'></right-tree>
6
6
  </div>
7
- <div :class="style">
7
+ <div :class="style" v-show="departmentshow">
8
8
  <label class="font_normal_body">部&emsp;&emsp;门</label>
9
9
  <res-select restype='department'
10
10
  @res-select="getdep"
@@ -13,7 +13,7 @@
13
13
  :is-mul="mul">
14
14
  </res-select>
15
15
  </div>
16
- <div :class="style">
16
+ <div :class="style" v-show="operatorshow">
17
17
  <label class="font_normal_body">人&emsp;&emsp;员</label>
18
18
  <res-select restype='user'
19
19
  @res-select="getuser"
@@ -22,7 +22,7 @@
22
22
  :is-mul="mul">
23
23
  </res-select>
24
24
  </div>
25
- <div :class="style " >
25
+ <div :class="style " v-show="sliceareashow" >
26
26
  <label class="font_normal_body">片&emsp;&emsp;区</label>
27
27
  <v-select :value.sync="slice_area" v-model="slice_area" @change='getarea'
28
28
  :options='sliceArea' placeholder='片区/管理站' filer-key="name"
@@ -49,6 +49,9 @@
49
49
  type: Object,
50
50
  default: null,
51
51
  },
52
+ showComponent:{
53
+ default:['company','department','operator','slicearea']
54
+ }
52
55
  },
53
56
  data () {
54
57
  return {
@@ -57,7 +60,10 @@
57
60
  userresid:[],
58
61
  sliceArea: [],
59
62
  slice_area:[],
60
-
63
+ companyshow:false,
64
+ departmentshow:false,
65
+ operatorshow:false,
66
+ sliceareashow:false,
61
67
  obj:{
62
68
  orgnames:[],
63
69
  depnames:[],
@@ -67,10 +73,21 @@
67
73
  },
68
74
  ready () {
69
75
  console.log('开始获取组织结构。。。')
76
+ this.initComponent();
70
77
  this.initAreas(this.$login.f.orgid)
71
78
  },
72
79
  methods:{
73
-
80
+ initComponent(){
81
+ let self=this;
82
+ this.showComponent.find((item)=>{
83
+ switch(item){
84
+ case 'company': self.companyshow=true; break;
85
+ case 'department': self.departmentshow=true; break;
86
+ case 'operator': self.operatorshow=true; break;
87
+ case 'slicearea': self.sliceareashow=true; break;
88
+ }
89
+ })
90
+ },
74
91
  // 初始化片区
75
92
  async initAreas (val) {
76
93
  if (val) {
@@ -31,39 +31,80 @@
31
31
  close-on-select></v-select>
32
32
  </template>
33
33
  <script>
34
+ import Vue from 'vue';
34
35
  import co from 'co'
35
36
  import { PagedList, HttpResetClass } from 'vue-client'
36
37
  import * as ldapHelper from '../../util/LdapHelper'
37
-
38
38
  let saveGen = function * (self) {
39
39
  //获取分公司树
40
40
  let data = {
41
41
  source: self.source,
42
42
  userid: self.userid
43
43
  }
44
+ // if(self.$treeorg==null || (self.$treeorg!=null&&self.$treeorg.length==0)){
44
45
  let http = new HttpResetClass()
45
46
  let ret = yield http.load('POST', `${self.Url}/rs/search`, data, {resolveMsg: null, rejectMsg: null})
46
47
  // 去掉前面的两层节点
47
48
  ret.data[0].children[0].children.forEach((item) => {
48
49
  self.model.push(item)
49
50
  })
51
+ Vue.$treeorg = Vue.prototype.$treeorg = self.model;
52
+ // }
53
+ //if(self.$treeorg!=null){
54
+ // self.model = self.$treeorg;
55
+ //}
50
56
  // 给资源添加父关系
51
57
  ldapHelper.procParent(self.model)
52
58
  // 树转列
53
59
  if (self.islist) {
54
60
  self.treetoList(self.model)
55
61
  }
62
+ if(self.initresid.length>0){
63
+ if(self.initresid[0] == ''){
64
+ self.initresid[0] = self.$login.f.orgid;
65
+ }
66
+ }else{
67
+ self.initresid = [];
68
+ self.initresid[0] = self.$login.f.orgid;
69
+ }
56
70
  if(self.initresid&&self.initresid.length>0){
71
+ self.isselect = false;
57
72
  self.initTreetoList(self.model)
73
+ self.initregion(self.childrenOptions)
58
74
  self.childrenOptions.forEach((item) => {
75
+ if(item.id == null && item.value !=null ){
76
+ item = item.value
77
+ }
59
78
  if(item.id==self.initresid[0]){
60
- self.model=[]
61
- self.model.push(item)
62
- self.selectclick(item)
79
+ //默认加载如果已选中的和传入参数相等会取消选择,这种操作不应该被允许
80
+ if(self.orgids==item.id){
81
+ self.initdataone(item);
82
+ return;
83
+ }
84
+ self.selectclick(item);
85
+ self.isselect = true;
86
+ return;
63
87
  }
64
88
  })
89
+ //如果没有找到公司,说明是选择的是大区
90
+ if(!self.isselect){
91
+ self.childrenregionOption.forEach((item) => {
92
+ if(item.id == null && item.value !=null ){
93
+ item = item.value;
94
+ }
95
+ if(item.id==self.initresid[0]){
96
+ //默认加载如果已选中的和传入参数相等会取消选择,这种操作不应该被允许
97
+ if(self.orgids==item.id){
98
+ self.initdataone(item);
99
+ return;
100
+ }
101
+ self.selectclick(item);
102
+ return;
103
+ }
104
+ })
105
+ }
65
106
  }
66
- self.selectRes()
107
+ //self.selectRes()
67
108
  }
68
109
  export default {
69
110
  title: '资源树',
@@ -108,7 +149,9 @@
108
149
  model: [
109
150
 
110
151
  ],
111
- childrenOptions: []
152
+ childrenOptions: [],
153
+ childrenregionOption:[],
154
+ isselect: false
112
155
  }
113
156
  },
114
157
  methods: {
@@ -134,6 +177,23 @@
134
177
  this.childrenOptions.push(val)
135
178
  }
136
179
  },
180
+ initregion(val){
181
+ if(val ==null ) return;
182
+ val.forEach((item)=>{
183
+ if(item.name != null){
184
+ if(item.name.includes("公司")){
185
+ return;
186
+ }else{
187
+ this.initregion(item.children)
188
+ this.childrenregionOption.push({label:"",value:item})
189
+ //return item;
190
+ }
191
+ }else{
192
+ return;
193
+ }
194
+ })
195
+
196
+ },
137
197
  async buluer (val) {
138
198
  this.strsign=val
139
199
  await new Promise(resolve => {
@@ -176,6 +236,26 @@
176
236
  this.$emit('re-res', newobj)
177
237
  }
178
238
  },
239
+ initdataone(row){
240
+ //点中点击
241
+ this.orgnames=row.name
242
+ this.orgids=row.id
243
+ this.orgobj=row
244
+ let objs=[]
245
+ let objids=[]
246
+ let objnames=[]
247
+ this.addResChild(row,objs)
248
+ objs.forEach((item) => {
249
+ objids.push(item.id)
250
+ objnames.push(item.name)
251
+ })
252
+ let newobj={
253
+ "res": objnames,
254
+ "resids": objids,
255
+ "orgobj": objs,
256
+ }
257
+ this.$emit('re-res', newobj)
258
+ },
179
259
  addResChild(val,objs){
180
260
  objs.push(val)
181
261
  if(val.children && val.children.length>0){
@@ -55,6 +55,7 @@
55
55
  .then(res => {
56
56
  console.log('res-->' + JSON.stringify(res))
57
57
  this.allUsers = res.data
58
+ this.filterUser([this.$login.f.orgid])
58
59
  })
59
60
  },
60
61
  methods: {
@@ -65,9 +66,9 @@
65
66
  this.$dispatch('re-res',obj)
66
67
  },
67
68
  filterUser(resids) {
68
- // 处理第一次进入页面值异常问题
69
+ // 处理第一次进入页面值异常问题
69
70
  if(resids.length > 0 && typeof resids[0] == "object"){
70
- resids = resids[0]
71
+ resids = resids[0]
71
72
  }
72
73
  this.users = []
73
74
  this.allUsers.forEach(user => {
@@ -86,4 +87,4 @@
86
87
 
87
88
  <style scoped>
88
89
 
89
- </style>
90
+ </style>
@@ -42,7 +42,7 @@
42
42
 
43
43
  <export-excel :data="$parent.$parent.getCondition"
44
44
  :field="$parent.$parent.getfield"
45
- sqlurl="rs/logic/exportfile" sql-name="chargeQuery" template-name='收费查询导出'
45
+ sqlurl="api/af-revenue/logic/exportfile" sql-name="chargeQuery" template-name='收费查询导出'
46
46
  :choose-col="true"></export-excel>
47
47
 
48
48
  <print-data :model="$parent.model" :field="$parent.$parent.getfield"
@@ -342,7 +342,7 @@
342
342
  gasproperties:[],
343
343
  showinfo: false,
344
344
  data: {},
345
- model: new PagedList('rs/sql/chargeQuery', 20, {}, {
345
+ model: new PagedList('api/af-system/sql/chargeQuery', 20, {}, {
346
346
  f_pregas: 0,
347
347
  f_preamount: 0,
348
348
  f_delaypay: 0,
@@ -0,0 +1,53 @@
1
+ import AesEncryptJS from "crypto-js"
2
+ import RsaEncryptJS from 'jsencrypt'
3
+
4
+ export default {
5
+ /**
6
+ * AES加密
7
+ * @param word
8
+ * @returns {*}
9
+ */
10
+ AESEncrypt(word, encryKey){
11
+ var key = AesEncryptJS.enc.Utf8.parse(encryKey);
12
+ var srcs = AesEncryptJS.enc.Utf8.parse(word);
13
+ var encrypted = AesEncryptJS.AES.encrypt(srcs, key, {mode:AesEncryptJS.mode.ECB,padding: AesEncryptJS.pad.Pkcs7});
14
+ return encrypted.toString();
15
+ },
16
+ /**
17
+ * AES解密
18
+ * @param word
19
+ * @returns {*}
20
+ */
21
+ AESDecrypt(word, encryKey){
22
+ var key = AesEncryptJS.enc.Utf8.parse(encryKey);
23
+ var decrypt = AesEncryptJS.AES.decrypt(word, key, {mode:AesEncryptJS.mode.ECB,padding: AesEncryptJS.pad.Pkcs7});
24
+ var ret = AesEncryptJS.enc.Utf8.stringify(decrypt).toString();
25
+ try{
26
+ return JSON.parse(ret) ;
27
+ }catch (e){
28
+ return ret
29
+ }
30
+ },
31
+ /**
32
+ * RSA加密
33
+ * @param word
34
+ * @returns {*}
35
+ */
36
+ RSAEncrypt(word){
37
+ let encrypt = new RsaEncryptJS();
38
+ encrypt.setPublicKey('MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB');
39
+ let resdata = encrypt.encrypt(word);
40
+ return resdata.toString();
41
+ },
42
+ /**
43
+ * RSA解密
44
+ * @param word
45
+ * @returns {*}
46
+ */
47
+ RSADecrypt(word){
48
+ let encrypt = new RsaEncryptJS();
49
+ encrypt.setPrivateKey('MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKo++i9J9dzAFtbxwowKDCo2mxi7MXxE8A8VvssaydWjjgmEz/HHMPLOhi1182a1si4pWL0/MizKnquD7T2Bu4jpQbAFnkNYEMEyq/kw904Xl0JCQHYFuvnI99RE8Q3KlTP6kEUGDjV34EL6vBGJcQvArLtj1xoP8y0nIfJ2Pw5TAgMBAAECgYAGGB8IllMwxceLhjf6n1l0IWRH7FuHIUieoZ6k0p6rASHSgWiYNRMxfecbtX8zDAoG0QAWNi7rn40ygpR5gS1fWDAKhmnhKgQIT6wW0VmD4hraaeyP78iy8BLhlvblri2nCPIhDH5+l96v7D47ZZi3ZSOzcj89s1eS/k7/N4peEQJBAPEtGGJY+lBoCxQMhGyzuzDmgcS1Un1ZE2pt+XNCVl2b+T8fxWJH3tRRR8wOY5uvtPiK1HM/IjT0T5qwQeH8Yk0CQQC0tcv3d/bDb7bOe9QzUFDQkUSpTdPWAgMX2OVPxjdq3Sls9oA5+fGNYEy0OgyqTjde0b4iRzlD1O0OhLqPSUMfAkEAh5FIvqezdRU2/PsYSR4yoAdCdLdT+h/jGRVefhqQ/6eYUJJkWp15tTFHQX3pIe9/s6IeT/XyHYAjaxmevxAmlQJBAKSdhvQjf9KAjZKDEsa7vyJ/coCXuQUWSCMNHbcR5aGfXgE4e45UtUoIE1eKGcd6AM6LWhx3rR6xdFDpb9je8BkCQB0SpevGfOQkMk5i8xkEt9eeYP0fi8nv6eOUcK96EXbzs4jV2SAoQJ9oJegPtPROHbhIvVUmNQTbuP10Yjg59+8=');
50
+ let resdata = encrypt.decrypt(word);
51
+ return JSON.parse(resdata.toString()) ;
52
+ },
53
+ }