小编Edu*_*oso的帖子

在Ruby中使用HMAC SHA256

我正在尝试应用HMAC-SHA256来生成Rest API的密钥.

我正在做这样的事情:

def generateTransactionHash(stringToHash)
  key = '123'
  data = 'stringToHash'
  digest = OpenSSL::Digest.new('sha256')

  hmac = OpenSSL::HMAC.digest(digest, key, data)
  puts hmac
end
Run Code Online (Sandbox Code Playgroud)

输出总是这样:(如果我把'12345'作为参数或'HUSYED815X',我也会得到相同的结果)

?w/{o???p?T????:??a?h??E|q
Run Code Online (Sandbox Code Playgroud)

由于这个原因,API无法正常工作......有人可以帮助我吗?

ruby ruby-on-rails sha256 hmac

12
推荐指数
2
解决办法
8471
查看次数

React Native FlatList添加新项目时跳转到顶部

我正在尝试向 FlatList 添加无限滚动功能:

<FlatList
   data={pickupsGroups}
   renderItem={({item , index}: {item: PickupGroup, index: number}) => {
                    return <PickingCard group={item} onPress={onPressPickup}/>
   }}
   onRefresh={onRefresh}
   keyExtractor={item => `${item?.title}-${item?.totalSku}`}
   refreshing={refreshing}
   onEndReached={() => {
     setPage(page + 1)
   }}
   onEndReachedThreshold={0.1}
/>
Run Code Online (Sandbox Code Playgroud)

page更改时,我运行 GraphQL 查询:

    const {loading} = useQuery(MY_GROUPS, {
        variables: {limit: 10, page},
        fetchPolicy: "network-only",
        onCompleted: data => {
            setPickupsGroups(pickupsGroups.concat(data.myPickupGroups.pickupGroups))
        }
    })
Run Code Online (Sandbox Code Playgroud)

但每次我向 中添加新项目时pickupGroups,FlatList 都会滚动回顶部

javascript reactjs react-native react-apollo react-native-flatlist

6
推荐指数
1
解决办法
2013
查看次数

赛普拉斯路由功能未检测到网络请求

我正在尝试等待应用程序发出的请求,但赛普拉斯未在其上检测到它 cy.wait

    cy.server();
    cy.getAuthenticatedUrl();
    cy.route('POST', '/showroom/validate').as('uploadShowroom');

    cy.get('[data-testid=Next]').click();

    cy.uploadFile('[id=uploadArea]', 'testfile-valid.xlsx', 'application/vnd.ms-excel');

    cy.wait('@uploadShowroom');

    cy.contains('FILE UPLOAD DONE');
Run Code Online (Sandbox Code Playgroud)

如果我在测试期间检查控制台,则可以看到请求是对服务器的

屏幕截图控制台

我的客户端和服务器都在本地运行,但运行在不同的端口。

错误如下: CypressError: Timed out retrying: cy.wait() timed out waiting 5000ms for the 1st request to the route: 'uploadShowroom'. No request ever occurred.

javascript reactjs e2e-testing cypress

5
推荐指数
1
解决办法
1375
查看次数

使用 Nuxt 拦截 apollo-module 上的网络错误

我正在使用nuxtwithapollo-module并且我需要拦截可能的网络错误(401/403 更具体),以便我可以显示一些错误模式并注销我的用户。在文档中,我看到在里面nuxt.config.js你可以这样做:

  apollo: {
    tokenName: 'Authorization',
    authenticationType: 'Bearer',
    errorHandler(error) { do something }
  }
...
Run Code Online (Sandbox Code Playgroud)

但是在该配置文件中,我无法访问我需要的应用程序功能(例如错误模式或我的路由器)。有什么办法可以存档吗?

apollo vue.js apollo-client nuxt.js vue-apollo

4
推荐指数
1
解决办法
1776
查看次数

在Rails中为所有控制器创建一个全局变量

我有一个对所有控制器通用的基本URL。我想在一个地方将其声明为变量,并在所有控制器中使用它。这将使将来的更新变得快速而简单。那可能吗?我在所有的控制器中都这样声明:

@baseURL = "www.url.com/something/"
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

1
推荐指数
2
解决办法
5882
查看次数

更改 TypeScript 中特定键的值

我需要更改对象的值。在javascript中我会做类似的事情

data = {};

this.data.password = this.password;
Run Code Online (Sandbox Code Playgroud)

我可以做什么来更改或添加新的键/值到该对象?

javascript typescript angular

1
推荐指数
1
解决办法
2万
查看次数