Shopify-在应用程序中获取商店域名 [英] Shopify - Get shop domain inside a app

查看:21
本文介绍了Shopify-在应用程序中获取商店域名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Shopify应用程序开发的新手,我正在使用Node,Express作为后端,并使用Polaris libaray进行反应。

我的问题是如何获取通过应用程序发起的请求的商店域名。当我搜索时,我只能找到一个在RubyShopifyAPI::Shop.current中使用的,我正在寻找类似的东西在node中使用?

推荐答案

有关示例,请查看https://github.com/BKnights/kotn-shopify-utils 是的,它使用会话。 代码非常独特。我发布它主要是为了在我自己的项目之间共享一种简单的方式,但它对那些项目非常有效。

如果您在可以伸缩服务器的地方使用它,则需要用更分布式的东西替换会话引擎。Cookie会话正常工作。

这需要将应用程序的设置页路由到/Preferences。使用validSession, session,中间件

查看该路由

为了将域名传递给Polaris,我将商店信息放入包含页面上的一个普通JS对象(它是一个dustjs模板):

      <script type="text/javascript">
    var KotN = {
        shop:'{shop}',
        apiKey: '{apiKey}',
        shopOrigin: 'https://{shop}.myshopify.com',
        locale:'{locale}' || (navigator.languages ? (navigator.language || navigator.languages[0]) : (navigator.userLanguage || navigator.browerLanguage))
    };
  </script>

然后北极星组件如下所示:

import * as React from 'react';
import {EmbeddedApp} from '@shopify/polaris/embedded';
import ShopProvider from './stores/ShopProvider';
import  Status from './views/status';


const shop = KotN.shop;
const shopOrigin = KotN.shopOrigin;
const apiKey = KotN.apiKey;

console.log('shop: '+ shop +' and origin: '+ shopOrigin);


export default class MyApp extends React.Component {
  render() {
    return (
      <EmbeddedApp
        apiKey={apiKey}
        shopOrigin={shopOrigin}
        forceRedirect={true}
        debug={true}
      >
        <ShopProvider>
          <Status />
        </ShopProvider>
      </EmbeddedApp>
    );
  }
}

这篇关于Shopify-在应用程序中获取商店域名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆