{"version":3,"sources":["tplus-api/../src/api/LoginApi.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,OAAO,OAAO,QAAQ;WAGd,cAAc,CAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC;;;KAAA;WAuBlC,SAAS,CAAC,WAAW,EAAC,MAAM,EAAC,WAAW,EAAC,MAAM;WA2B/C,oBAAoB,CAAC,IAAI,EAAC,MAAM;WAoChC,YAAY;WAUZ,mBAAmB,CAAC,WAAW,EAAC,MAAM;WASxC,eAAe,CAAC,KAAK,EAAC,MAAM,EAAC,SAAS,EAAC,GAAG,GAAE,OAAO,CAAC,MAAM,CAAC;WAiDzD,SAAS,CAAC,KAAK,KAAA;WAYf,YAAY;WAMZ,aAAa,CAAC,EAAC,UAAiD,EAAC,IAAqC,EAAC;;;KAAA,GAAE,OAAO,CAAC,MAAM,CAAC;WAoBxH,YAAY;WAuBZ,MAAM;CAMpB","file":"LoginApi.d.ts","sourcesContent":["import axios from 'axios';\nimport Auth from '../model/User';\nimport _isEmpty from 'lodash/isEmpty';\nimport _trim from 'lodash/trim';\nimport querystring from 'querystring';\nimport tplusApi from './TplusApi';\nimport UIConfirm from '../components/UIConfirm';\nimport {clientId,clientSecret,cspAS,tplusWebAppApiHost,ciaHost,cspAk,prodProxyHost,proxyServer} from '../const/app';\nimport User from '../model/User';\nimport {env} from 'mutants-microfx';\nconst {constant,platform} = env;\nconst QS = require('qs');\n\nexport default class LoginApi{\n\n  //用户登录验证 获取企业列表信息\n  static async authentication({username,password}){\n    let ajax = axios.create({\n      baseURL: ciaHost\n    });\n\n    const param = {\n      'auth_username': username,\n      'password': password,\n      'needOrgLists': '1',\n      'client_id': clientId,\n      'client_secret': clientSecret,\n    };\n    const response = await ajax.post('/internal_api/client_authentication_with_userInfo', querystring.stringify(param));\n    var result = response.data;\n    var errorInfo = '';\n    if (result.auth_result == 'true') {\n      return result;\n    }else{\n      return undefined;\n    }\n  }\n\n  //用户修改密码操作\n  static async updatePwd(oldPassword:string,newPassword:string){\n    \n    const user = User.restore();\n    const access_token = user.accessToken;\n    const appKey = atob(cspAk);\n    const passwordLevel = 1;\n\n    let ajax = axios.create({\n      baseURL: ciaHost\n    });\n\n    const passwordInfo = JSON.stringify({\n      oldPassword,\n      newPassword,\n      passwordLevel\n    });\n\n    const param = {\n      appKey,\n      access_token,\n      passwordInfo\n    };\n    \n    const response = await ajax.post('/api/v1/user/password', querystring.stringify(param));\n    return response.data;\n  }\n\n  static async authenticationByCode(code:string){\n      let ajax = axios.create({\n          baseURL: ciaHost\n      });\n      let param,response;\n      if(platform === constant.platform.chanjet){\n        param = QS.stringify({\n            client_id: clientId,\n            client_secret:clientSecret,\n            auth_code: code\n        });\n        response = await ajax.post('/internal_api/codeForAccessTokenForClient', param);\n      }else if(platform === constant.platform.yonyou){\n        param = QS.stringify({\n            client_id: clientId,\n            client_secret:clientSecret,\n            // appKey: atob(cspAk),\n            // appSecret: atob(cspAS),\n            code\n        });\n        response = await ajax.post('/special_api/v1/user/getTokenByYonyouCode', param);\n      }\n      const d = response.data;\n      if(d.hasOwnProperty('error') && d.hasOwnProperty('error_description') && !_isEmpty(_trim(d.error_description))){\n          return Promise.reject(d.error_description);\n      }else{\n        if(_isEmpty(_trim(d.user_id)) || _isEmpty(_trim(d.access_token))){\n          return Promise.reject('获取用户信息错误');\n        }else{\n          return Promise.resolve(d);\n        }\n      }\n    \n  }\n\n  //获取云端的服务器地址\n  static async getTargetURL(){\n      var ajax = axios.create({\n        baseURL: tplusWebAppApiHost\n      });\n      const resp = await ajax.post('/serverUrl');\n      return resp.data;\n  }\n  \n\n  //获取云端的服务器地址\n  static async getTargetURLByOrgID(targetOrgID:string){\n    var ajax = axios.create({\n      baseURL: tplusWebAppApiHost\n    });\n    const resp = await ajax.post('/serverUrl',{targetOrgID});\n    return resp.data;\n}\n\n//获取T+的token\nstatic async checkTplusToken(orgId:string,serverUrl:any):Promise<string>{\n  let checkThroughProxy = false;\n  if(serverUrl.indexOf(proxyServer) > -1){\n    checkThroughProxy = true;\n  }\n  const method = 'chanjet.EAP.GZQ.CSP.GetTPlusToken';\n  let auth = Auth.restore();\n  let clientName = window.localStorage.clientName || '';\n  let desc = window.localStorage.desc || ''\n  //供循环调用时使用\n  if(!!clientName) window.localStorage.clientName = clientName;\n  if(!!desc) window.localStorage.desc = desc;\n  const param = {\n      orgId: orgId,\n      cspUserId: auth.userId,\n      cspAppKey: atob(cspAk),\n      cspAppSecret: '',\n      lastLoginedToken: '',\n      clientName,\n      desc,\n      NoLogout:true\n  };\n  \n  let requestObj = {};\n  requestObj = QS.stringify({\n    'Apis': JSON.stringify({\n        'Args': param,\n        'Method': method\n    })\n  });\n  const user = User.restore();\n  var ajax = axios.create({baseURL: serverUrl});\n  let url = 'api/rest';\n  url = url + '?IsFree=1&methodName='+method+'&userId='+user.userId +'&orgId='+orgId;\n  let user_req_id =`${user.userId}x${new Date().getTime().toString(16)}`;\n  url +=  '&user_req_id=' + user_req_id;\n    \n  const resp = await ajax.post(url, requestObj,{headers:{checkThroughProxy,checkOrgId:orgId}})\n        .then(resp=>{\n            return Promise.resolve(resp);\n        }).catch(err => {\n          UIConfirm.show(\"未找到云企业(orgid:90015044950)对应的账套，请重新选择企业登录\",()=>{\n            \n          });\n          return Promise.reject(err);\n        });\n  return resp.data;\n}\n\n  static async changeOrg(orgId){\n    var ajax = axios.create({\n      baseURL: tplusWebAppApiHost\n    });\n    const auth = Auth.restore();\n    const user = User.restore();\n    const resp = await ajax.post('gettplusauthinfo',QS.stringify({orgId,ciaUserId:auth.userId,ciaToken:user.accessToken,targetOrgID:orgId}), { headers: {'Content-Type':'application/x-www-form-urlencoded'}} );\n    return resp.data;\n  }\n\n\n  //获取云端的配置信息\n  static async getApiConfig(){\n    return  axios.get(`${prodProxyHost}?url=https://newretail-static-pro-bj.oss-cn-beijing.aliyuncs.com/fe_gateway/api_config.json`);\n  }\n  \n\n  //获取T+的token\n  static async getTplusToken({clientName = window.localStorage.clientName || '',desc = window.localStorage.desc || ''}):Promise<string>{\n    const method = 'chanjet.EAP.GZQ.CSP.GetTPlusToken';\n    let auth = Auth.restore();\n    //供循环调用时使用\n    if(!!clientName) window.localStorage.clientName = clientName;\n    if(!!desc) window.localStorage.desc = desc;\n    const param = {\n        orgId: auth.orgId,\n        cspUserId: auth.userId,\n        cspAppKey: atob(cspAk),\n        cspAppSecret: '',\n        lastLoginedToken: '',\n        clientName,\n        desc\n    };\n    const resp:string = (await tplusApi(param,method,false,true)) as string;\n    return resp;\n  }\n\n  //获取jsTicket信息\n  static async getSignature(){\n    const user = User.restore();\n    const access_token = user.accessToken;\n    const param = {\n      appKey:atob(cspAk),\n      access_token:access_token\n    };\n    const query = QS.stringify(param);\n    const url = `/api/v1/thirdplatform/getSignature?${query}`;\n    const ajax = axios.create({\n      baseURL: ciaHost\n    });\n    return new Promise((res,rej)=>{\n      ajax.get(url).then(resp=>{\n        const d = resp.data;\n        return res(d);\n      }).catch(err=>{\n        return rej(err);\n      });\n    });\n  }\n\n  //注销T+\n  static async logout(){\n    const method = 'chanjet.Authorization.Logout';\n    const param = {};\n    const resp = await tplusApi(param,method,false,false);\n    return resp;\n  }\n}\n"]}