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

怎么做类似清风dj网站东莞网站推广需要多少钱

怎么做类似清风dj网站,东莞网站推广需要多少钱,营销型门户网站建设方案,用htlm做静态网站怎么用1.需求 现在一些数据源 ,需要从三方地址拿到一些数据 比如说电影列表 信息了 影院列表信息了 等一些展示的数据,但是人家这种东西 害需要使用 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: Repository<BusinessStudentEntity>;@InjectEntityModel(BusinessBaseConfigEntity)businessBaseConfigEntity: Repository<BusinessBaseConfigEntity>;@InjectEntityModel(BusinessUserEntity)businessUserEntity: Repository<BusinessUserEntity>;@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.yayakq.cn/news/418066/

相关文章:

  • 黑龙江建设网站打不开广州互联网
  • 宣城做网站公司郑州鹏之信网络科技有限公司
  • 微网站开发工具有哪些鲜花店网站建设的总结
  • 杭州品牌网站设计住房和城乡建设部政务服务平台
  • 网站定位代码北京手机网站开发公司
  • 北京网站快速备案wordpress 4.8.2中文
  • 网站建设视频l网站自助制作
  • 哈尔滨seo网站管理网络优化工程师有前途吗
  • 陇城科技网站建设wordpress生成多个尺寸图片大小
  • 网站模板源码免费下载写软文推广
  • 搭建一个网站的具体步骤网站收录提交接口
  • 网站模板怎么修改中国工厂网下载
  • 企业网站管理规定温州seo排名优化
  • 四川省住房和城乡建设厅考试报名连云港做网站优化
  • 北京网站备案号整站优化昌吉可以吗?
  • 建设公司怎么做网站运营wordpress美化底部
  • 网站建设的实验总结建站之星换模板
  • 南庄九江网站建设wordpress 文章 二维码
  • 网站空间后台登录wordpress新文章数据库
  • 扬州网站制作哪家好单页面推广网站模版
  • 江西省城市建设档案馆网站青岛市建设局网站
  • 天眼查 个人查询网站速度优化工具
  • wordpress怎样建立多站点wordpress缩略图裁剪
  • 积分购买 wordpress学校seo推广培训班
  • 网站建设方案页面设计分析三亚网站建设报价
  • 昆明网站免费制作青岛app软件开发
  • 做商务网站需要什么资料网络运维工程师就业分布
  • 国内外网站开发的现状优化方案电子版
  • 推广型网站如何建站做外贸网站要什么条件
  • 贵阳培训网站建设网站建设与管理学的是什么