首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular将.js脚本添加到服务

Angular将.js脚本添加到服务
EN

Stack Overflow用户
提问于 2019-10-05 17:01:05
回答 2查看 39关注 0票数 0

我正在尝试创建一个连接到GameSparks的服务,如下所示:

代码语言:javascript
复制
import { Injectable } from '@angular/core';

var gamesparks = new GameSparks();

var gsKey = "XXXXXXXXXX";
var gsSecret = "XXXXXXXXXXXXXXXXXXXX";
var gsCredentials = "";

@Injectable({
  providedIn: 'root'
})
export class GamesparksService {

  isLive = false;

  init() {

    if (this.isLive) {
        gamesparks.initLive({
            key: gsKey,
            secret: gsSecret,
            //credential: gsCredentials,
            onNonce: this.onNonce,
            onInit: this.onInit,
            onMessage: this.onMessage,
            logger: console.log,
        });
    } else {
        gamesparks.initPreview({
            key: gsKey,
            secret: gsSecret,
            //credential: gsCredentials,
            onNonce: this.onNonce,
            onInit: this.onInit,
            onMessage: this.onMessage,
            logger: console.log,
        });
    }

  }

  //Callback function to hmac sha256 a nonce with the secret. It's assumed you will have your own method of securing the secret;
  onNonce(nonce) {
    return CryptoJS.enc.Base64.stringify(CryptoJS.HmacSHA256(nonce, gsSecret));
  }

  //Callback to handle when the SDK is initialised and ready to go
  onInit() {
    console.log("Initialised");
  }

  //Callback to handle async messages from the gamesparks platform
  onMessage(message) {
    console.log("onMessage: " + JSON.stringify(message["scriptData"]));
  }

}

现在,脚本不知道GameSparks()和CryptoJS是什么,我猜它也不能识别GameSparks SDK。

SDK放在这个文件夹中:

代码语言:javascript
复制
./assets/gamesparks/gamesparks.js
./assets/gamesparks/gamesparks-functions.js
./assets/gamesparks/hmac-sha256.js

现在我上面的服务脚本放在这里:

代码语言:javascript
复制
./app/services/gamesparks.service.ts

如何将SDK实现到服务脚本中?

希望提前得到帮助和感谢:-)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-05 18:01:46

最简单的方法是用npm安装它。因此,您必须安装这些包:

代码语言:javascript
复制
npm install crypto-js

遗憾的是,目前还没有适用于gamesspark-sdk的包。在那里,您必须从您的资产源导入它。在您的代码中添加以下行:

代码语言:javascript
复制
import * as gamesparks from './assets/gamesparks/gamesparks.js';
import * as gsf from './assets/gamesparks/gamesparks-functions.js';
import * as cryptojs from 'crypto-js'; //When installed by npm

然后,您可以通过以下方式使用函数:

代码语言:javascript
复制
library.functionName()
票数 1
EN

Stack Overflow用户

发布于 2019-10-05 17:51:52

要在TypeScript中使用JavaScript库,请使用以下语法

代码语言:javascript
复制
import * as yourName from 'pathToLibrary';

然后将其与

代码语言:javascript
复制
yourName.functionInLibrary();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58246828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档