tplus-api
Version:
tplus api invoke
1 lines • 7.93 kB
Source Map (JSON)
{"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"]}