当前位置: 首页 > news >正文

自治区建设厅官方网站湖南做网站的公司有哪些

自治区建设厅官方网站,湖南做网站的公司有哪些,wordpress登不上,旅游商务网站建设1.需求 现在一些数据源 #xff0c;需要从三方地址拿到一些数据 比如说电影列表 信息了 影院列表信息了 等一些展示的数据#xff0c;但是人家这种东西 害需要使用 appkey appserect 这种验签 这种需求 你前端调用接口是直接调用不了的 因为需要用到验签 需要后端接口转接一…1.需求 现在一些数据源 需要从三方地址拿到一些数据 比如说电影列表 信息了 影院列表信息了 等一些展示的数据但是人家这种东西 害需要使用 appkey appserect 这种验签 这种需求 你前端调用接口是直接调用不了的 因为需要用到验签 需要后端接口转接一下 前端再去调用接口 import { Body, Config, Provide } from midwayjs/decorator; import { Inject } from midwayjs/decorator; import { BusinessStudentEntity } from ../entity/student; import { BusinessUserEntity } from ../entity/user; import { BusinessBaseConfigEntity } from ../entity/base/config; import { InjectEntityModel } from midwayjs/typeorm; import { Repository } from typeorm;import { BaseService } from cool-midway/core; import * as request from request; import * as _ from lodash; import * as crypto from crypto; import { Context } from midwayjs/koa;/*** http请求封装*/ Provide() export class BussinessRequestService extends BaseService {Inject()ctx: Context;InjectEntityModel(BusinessStudentEntity)businessStudentEntity: RepositoryBusinessStudentEntity;InjectEntityModel(BusinessBaseConfigEntity)businessBaseConfigEntity: RepositoryBusinessBaseConfigEntity;InjectEntityModel(BusinessUserEntity)businessUserEntity: RepositoryBusinessUserEntity;Config(module.business)coolConfig;/*** post*/async post(url, data {}) {const { userId } this.ctx.clientInfo;//学员信息const studentInfo await this.businessStudentEntity.findOneBy({id: userId,});//对应 导员信息const adminInfo await this.businessBaseConfigEntity.findOneBy({userId: String(studentInfo?.userId),});const requestConfig this.coolConfig.request;let time new Date().getTime();let pararm {};pararm[appId] adminInfo.liangPiaoAppId;pararm[timestamp] time;let sign this.generateSignature(pararm,data,adminInfo.liangPiaoSecret,adminInfo.liangPiaoAppId);return new Promise((resolve, reject) {var option {url:requestConfig.base_url url ?appId${adminInfo.liangPiaoAppId}sign${sign}timestamp${time},method: POST,json: true,timeout: 30000,headers: {content-type: application/json,},body: data,};request(option, function (error, response, body) {if (!error response.statusCode 200) {const { state, data } body;if (state 200) {resolve(data);} else {reject(body);}} else {reject(error); // 返回错误信息}});});}/*** get*/// get(url, params {}) {// const requestConfig this.mangoConfig.request;// params[appId] requestConfig.appKey;// params[timestamp] new Date().getTime();// params[sign] this.generateSignature(// params,// requestConfig.appSecret,// requestConfig.appKey,// params[timestamp]// );// return new Promise((resolve, reject) {// var option {// url: requestConfig.base_url url,// method: GET,// timeout: 30000,// qs: params,// };// request(option, function (error, response, body) {// if (!error response.statusCode 200) {// const { code, data } body;// if (code 1) {// resolve(data);// } else {// reject(body);// }// } else {// reject(error); // 返回错误信息// }// });// });// }//计算签名generateSignature(params, body, secretKey, keys) {const joinedParams this.joinRequestParams(params, body, secretKey, keys);const md5Hash crypto.createHash(md5).update(joinedParams).digest(hex).toUpperCase();return md5Hash;}//计算签名joinRequestParams(params, body, secretKey, keys) {const sb [secretKey]; // 前面加上 secretKeyconst sortedParams Object.keys(params).filter(key key ! sign params[key]) // 过滤掉不需要的键.sort(); // 对键进行排序for (const key of sortedParams) {sb.push(key params[key]);}sb.push(JSON.stringify(body));sb.push(secretKey); // 最后加上 secretKeyreturn sb.join();} }当然一般 这种三方API 都有人家规定的验签规则 让你 写什么样的格式 拼接成什么样的格式 得看实际的需求 我这里主要介绍的是 post 请求的封装 (在jsNode 中书写后端接口)  是需要引入request 插件
http://www.pierceye.com/news/243839/

相关文章:

  • 做团购网站需要什么网站建设与管理好处
  • 厦门seo优泰安网站seo推广
  • 做网站如何盈利建站优化信息推广
  • 大气的网站首页网络推广公司优化客
  • 网站建设要经历哪些步骤电商仓储代发招商合作
  • 网站开发如何搭建框架潍坊网站建设公司
  • 免费网页制作网站建设2015年做啥网站致富
  • 个人网站制作基本步骤江阴网站的建设
  • 英文网站名需要斜体吗宁波seo外包费用
  • 网站设计价格公司门户网站建设
  • wordpress如何修改文章路径哈尔滨个人优化排名
  • 拓者设计吧网站科技基金
  • 有专门下载地图做方案的网站吗家装公司报价
  • 阿里域名注册网站阿里云建站保证销售额
  • 三北防护林体系建设网站培训班学员培训心得
  • 西安百度网站排名优化友情链接代码模板
  • 网站建设怎么做网站济南做网站推广有哪些公司
  • 恩阳建设局网站南阳网站建设赛科
  • 服务器IP做网址打开网站传媒公司宣传
  • 安装Wordpress个人网站医院网站建设公司价格低
  • 万能网页编辑器南通百度seo代理
  • 关于酒店网站建设的摘要手机百度2020
  • 楚雄网站建设rewlkj自己怎么建立个人网站
  • 网站开发工程师工作描述加强门户网站建设与管理办法
  • 电商网站优化方案个人网站设计与制作代码
  • 仙居建设规划局网站asp 茶叶网站模板
  • 福州网页模板建站梦幻西如何建立网站做代练
  • 专业做毕业设计网站设计禹州市城乡建设局网站
  • 魔站网站开发手机商城官网
  • 沧州 网站建设公众号搭建第三方平台