ECShop 小程序「weeshop 」- 基于 ECShop 为后台系统开发的非官方微信商城小程序

当前位置: 首页 » 文章 » ECShop 小程序「weeshop 」- 基于 ECShop 为后台系统开发的非官方微信商城小程序

分类: 文章 8,923阅读阅读模式

ECShop 小程序「weeshop 」- 基于 ECShop 为后台系统开发的非官方微信商城小程序

基于 ECShop 3.6+ 版本开发的非官方微信小程序,将之命名为 weeshop 。

该小程序所有接口均来自原生的 ECShop 3.6+ 版本的 appserver 。

已适配 ECShop 4.0+ 版本。

 

项目基本完善,如需商用 weeshop ,请在下方留言。

功能 Function

  •  首页: 轮播图、滚动公告、精品推荐、新品上市、销量排行
  •  分类: 分类目录、商品搜索
  •  我的: 退出登录、用户信息显示、订单统计、列表入口
  •  列表: 商品排序、商品列表
  •  搜索: 商品搜索、热门搜索
  •  商品详情: 商品详情、规格选择、加入购物车、立即购买、评价详情、收藏功能
  •  登录: 用户登录、用户注册、找回密码
  •  购物车: 数量修改、商品删除、检查订单、提交支付、购物车数字
  •  订单中心: 订单列表、详单详情、物流信息、取消订单、订单付款、确认收货、评价订单
  •  收货: 地址列表、地址详情、地址编辑、地址添加、快递选择
  •  余额: 余额支付、余额详情、余额记录、余额提现、余额提现记录
  •  公告: 公告列表、公告详情
  •  收藏: 收藏列表、删除收藏
  •  评价: 评价列表、评价提交
  •  用户信息: 用户信息、等级详情、折扣详情
  •  红包/优惠券: 红包列表、优惠券列表、使用红包、x使用优惠券
  •  积分: 积分记录列表、使用积分
  •  微信: 微信登陆、微信支付
  •  其它功能正在开发中...

 

 

讨论与反馈

如有疑问,或发现使用过程中发现 bug ,请在下方参与讨论,谢谢。

QQ 群讨论:

本群讨论的是 weeshop ,其他的请勿讨论。

Github 开源地址:https://github.com/crlang/weeshop

下载地址:点击下载

 

 

项目已有线上案例,如提示出错,请注意你的 ECShop 的配置是否正确。

 

 

使用疑惑

1、关于 ecshop 版本问题

该小程序所有接口均来自原生的 ECShop 3.6 版本的 appserver 。

如果出现接口错误,请保证配置正确,能正常访问 ecshop.xxx 及能正常访问 api.ecshop.xxx 。「注:ecshop.xxx 为版本 3.6 的 ecshop 商城的地址」

 

2、关于能访问 api.ecshop.xxx 但没有 Hi 问题

检查 api 地址是否为 PHP 5.6 及以上版本

 

并保证appserver中存在 .env 文件,配置如下:

  1. APP_ENV=local
  2. APP_LOCALE=zh-CN
  3. APP_TIMEZONE=PRC
  4. APP_NAME=ECAPI
  5. #显示调试信息
  6. APP_DEBUG=true
  7. #商城url
  8. SHOP_URL=http://xxx.xxx.com#ecshop地址
  9. #分享url
  10. SHARE_URL=http://xxx.xxx.com
  11. HOSTS=http://xxx.xxx.com#ecshop地址
  12. #H5商城
  13. SHOP_H5=http://xxx.xxx.com/h5#H5地址
  14. #注册协议地址
  15. TERMS_URL=http://ecshop.crlang.com/article.php?cat_id=-1
  16. ABOUT_URL=http://ecshop.crlang.com/article.php?cat_id=-2
  17. DB_CONNECTION=shop
  18. DB_TIMEZONE=+08:00
  19. #商城数据库
  20. SHOP_DB_HOST=localhost
  21. SHOP_DB_PORT=3306#数据库端口,默认3306
  22. SHOP_DB_DATABASE=ecshop#数据库名称
  23. SHOP_DB_USERNAME=ecshop#数据库用户账号
  24. SHOP_DB_PASSWORD=password#数据库用户密码
  25. SHOP_DB_PREFIX=ecs_#表前缀
  26. #Token授权加密key
  27. TOKEN_SECRET= d7qe2zds1lt8fij1f0jfsplrr20f5eo3#随机32为数字、字母
  28. TOKEN_ALG=HS256
  29. TOKEN_TTL=43200
  30. TOKEN_REFRESH=false
  31. TOKEN_REFRESH_TTL=1440
  32. TOKEN_VER=1.0.0
  33. #短信验证信息模版
  34. SMS_TEMPLATE=#CODE#,短信验证码有效期30分钟,请尽快进行验证。
  35. #缓存 支持 file memcached redis
  36. CACHE_DRIVER=file
  37. #队列处理
  38. QUEUE_DRIVER=sync
  39. #邮件发送配置
  40. MAIL_DRIVER=smtp
  41. MAIL_HOST=
  42. MAIL_PORT=
  43. MAIL_USERNAME=
  44. MAIL_PASSWORD=
  45. MAIL_FROM_ADDRESS=
  46. MAIL_FROM_NAME=ECMobile

3、关于 H5 访问显示 网络错误

查看你的 ecshop目录下的 h5/config/config.app.js 是否存在该文件,没有则创建一个,配置修改如下

  1. var GLOBAL_CONFIG = {
  2.     'API_HOST': 'http://api.xxx.xxx',// ecshop 的 api 地址
  3.     'APP_NAME': 'Demo',
  4.     'APP_DESC': 'This is a demo',
  5.     'APP_KEYWORDS': 'Demo, Shop',
  6.     'DEBUG': true,
  7.     'ENCRYPTED':false,
  8.      //如果公众号没有配置,将for_weixin置为false,才能在微信中使用
  9.     'FOR_WEIXIN':true
  10. };

 

4、关于访问能得到 Hi 前提下,但无法获取内容,或是内容提示 500 错误。

那么问这个问题一般都是 nginx 服务器的了。

 

4.1、尝试访问 api.ecshop.xxx/v2/ecapi.config.get ,是否提示 404?如果是:

访问情况参考下方 图1、图2 。

不正常的显示如下图1:

正常的显示如下图2:

 

Nginx 解决办法

在 api.ecshop.xxx.conf 的 nginx  配置中添加如下内容,即可

  1. location / {
  2.   if (!-d $request_filename){
  3.     set $rule_0 1$rule_0;
  4.   }
  5.   if ($rule_0 = "1"){
  6.     rewrite ^/(.*)/$ /$1 permanent;
  7.   }
  8.   if (!-d $request_filename){
  9.     set $rule_1 1$rule_1;
  10.   }
  11.   if (!-f $request_filename){
  12.     set $rule_1 2$rule_1;
  13.   }
  14.   if ($rule_1 = "21"){
  15.     rewrite ^/ /index.php last;
  16.   }
  17. }

重启 nginx 即可。

 

Apache 解决办法

在 api 域名的 appserver 的文件入口文件 public 中新建一个文件 .htaccess 文件

注意:文件没有名字,只有后缀名

在 .htaccess 文件中添加如下内容,即可

  1. <IfModule mod_rewrite.c>
  2.     <IfModule mod_negotiation.c>
  3.         Options -MultiViews
  4.     </IfModule>
  5.     RewriteEngine On
  6.     # 如果不是文件夹,则重定向尾随斜杠
  7.     RewriteCond %{REQUEST_FILENAME} !-d
  8.     RewriteRule ^(.*)/$ /$1 [L,R=301]
  9.     # 处理前控制器
  10.     RewriteCond %{REQUEST_FILENAME} !-d
  11.     RewriteCond %{REQUEST_FILENAME} !-f
  12.     RewriteRule ^ index.php [L]
  13. </IfModule>

 

 

4.2、获取内容时返回 405 状态码,提示跨域:No 'Access-Control-Allow-Origin' header

如访问 h5 ,控制台输出如图提示

解决参考 4.1

 

4.3 关于访问 api.ecshop.xxx.com/v2/ecapi.product.list 能正常提示,提示如上图2

请注意 ecshop 和 api 的协议是否一致,不允许出现一个为 https 另一个为 http

如下错误示范:

  1. 商城:https://ecshop.xxx.com
  2. api 地址:http://api.ecshop.xxx.com

正确示范:

  1. 商城:https://ecshop.xxx.com
  2. api 地址:https://api.ecshop.xxx.com

 

4.4 关于配置正确,访问 H5 提示网络错误,api 请求出现 blocked:mix-content

解决参考4.3

 

5、关于小程序登录失败,提示未授权

由于微信更新后,授权机制更改了,原有的授权登录与新的略有不同,修改为新的授权方式即可,新版本已经更新为新的授权方式。

 

6、提示未开启小程序

请在商城后台开启小程序,如下图

 

7、关于提示 "不在以下 request 合法域名列表中,请参考…"

如下图:

请参考这篇文章:微信小程序提示 https://xxx.com 不在以下 request 合法域名列表中,请参考…

 

x、关于提示:“您尚未获取旗舰版商业授权!”

请前往ecshop官方网站购买授权。

如果个人开发测试,可参考下方操作,暂时的去授权验证。

隐藏密码请加群,查看群公告获取。

 

输入密码查看加密内容:

 

 

 

相关文章

评论一下

相关评论 当前评论 49 条 [ 游客 36 | 博主 13 ]

  1. 无瑕 [] @回复
    27 楼 1 个月前

    朗哥,收藏位置我发现路由调转了 ecapi.product.like和ecapi.product.unlike位置对调就好了,希望您可以看看,验证我是否出错了

    0
    0
  2. 26 楼 1 个月前

    商用您的小程序

    0
    0
  3. 璋郎 [] @回复
    25 楼 2 个月前

    大朗,我商用了你的小程序了

    0
    0
  4. 无瑕 [] @回复
    24 楼 3 个月前

    大朗您好,如果我准备商用是不是就直接拿到ECSHOP授权就行了

    0
    0
    • 大朗 [] @回复
      1 层 3 个月前

      @无瑕 是的;商用的时候,记得来这里备注一下你商用了这个小程序,也算是给小程序做宣传效果。

      ps:weeshop 小程序已经开源,不存在版权问题

      0
      0
  5. xgx [] @回复
    23 楼 3 个月前

    小程序产品搜索页面出现乱码

    0
    0
  6. 22 楼 6 个月前

    q群加群问题是什么

    0
    0
  7. xgx [] @回复
    21 楼 6 个月前

    为什么小程序商品详情介绍的图片src会多一层完成域名

    0
    0
  8. llllll [] @回复
    20 楼 7 个月前

    您好,我想商用,并且我已经购买了ecshop,并且获得授权

    0
    0
  9. shuisen [] @回复
    19 楼 8 个月前

    而且appserver/public里面很干净,也没生成v2文件夹,导致weeshop微信开发工具提示找不到文件

    0
    0
  10. shuisen [] @回复
    18 楼 8 个月前

    请问博主,ecshop的小程序应用配置与您的截图并不一直,除了App_id和App_Secret外还多了个cert,请问这个cert的值要哪里获得?

    0
    0
  11. chenh [] @回复
    17 楼 9 个月前

    大朗您好,如果准备商用想问下需要怎么授权

    0
    0
    • 大朗 [] @回复
      1 层 9 个月前

      @chenh 如果商用,涉及到金钱交易的都是商用,要获得官方的授权,需要去这里http://www.ecshop.com/empower购买商用授权。

      0
      0
  12. 潘少 [] @回复
    16 楼 9 个月前

    我想商用

    0
    0
    • 大朗 [] @回复
      1 层 9 个月前

      @潘少 如果商用,涉及到金钱交易的都是商用,要获得官方的授权,需要去这里http://www.ecshop.com/empower购买商用授权。

      0
      0
  13. chenh [] @回复
    15 楼 9 个月前

    大朗你好,现在用户使用微信授权会能够成功,并会把openid返回到小程序的storage中,但是如果用户直接使用ecshop系统账号登陆却没有openid,导致无法支付,请请教下您有没有好的实现方法?

    0
    0
  14. 倾斜的水瓶座 [] @回复
    14 楼 9 个月前

    你给的QQ群的群号,查找的时候,提示不存在呀!!

    0
    0
  15. 13 楼 10 个月前

    群主,你给的这个qq群的群号添加的时候提示不存在啊.

    0
    0
  16. 小梁 [] @回复
    12 楼 11 个月前

    想测试,加群要答案,没答案

    0
    0
    • 大朗 [] @回复
      1 层 11 个月前

      @小梁 加群答案这么简单都不知道?不就是weeshop吗?

      0
      0
  17. 李涛 [] @回复
    11 楼 11 个月前

    大朗你好,用户微信登录成功之后首页商品列表获取不到数据,默认未登陆状态是有商品数据的,首页商品列表接口相同 【ecapi.home.product.list】, 默认未登录不传递 header里面的 【X-ECAPI-Authorization】参数,数据获取正常,用户登录之后传递了 【X-ECAPI-Authorization】参数,商品数据获取失败。。。

    0
    0
    • X-ECAPI-Authorization 问题 [] @回复
      1 层 9 个月前

      @李涛 劳烦请问X-ECAPI-Authorization 这个问题你解决了么?我在点击购物车的时候 提示token无效 你是否也是这个问题?

      0
      0
  18. 李涛 [] @回复
    10 楼 11 个月前

    小程序微信支付 现在使用的是 v2 版本吗 , 我填写了后台支付配置中的三个参数 APP_ID APP_Secret MCH_ID MCH_Key,没有用到 cert ,小程序发起支付调试结果为 【签名错误】,,怎么解决呢亲

    0
    0
    • 大朗 [] @回复
      1 层 11 个月前

      @李涛 除了在小程序支付里面填写,还需要和旁边的小程序登录配置中的appid和appSecret保持一致,同时appid及appsecret的主体是企业,保持与mchid的商户为一个主体。

      0
      0
      • 李涛 [] @回复
        2 层 11 个月前

        @大朗 谢谢 我重置了一下 支付密钥 ,然后测试成功了

        0
        0
  19. 李涛 [] @回复
    9 楼 11 个月前

    本地调试 打开小程序 首页显示 [商城后台配置未开启小程序功能],,,这个在哪里可以配置呢

    0
    0
    • 大朗 [] @回复
      1 层 11 个月前

      @李涛 需要你去商城后台,小程序设置那里,开启小程序

      0
      0
  20. 李涛 [] @回复
    8 楼 11 个月前

    我想商用,可以不

    0
    0
  21. 你好自动登录时500错误 [] @回复
    7 楼 1 年前

    经确认自动登录的时候 保存的表是members,但是数据库中并没有这个表,请排查谢谢

    0
    0
    • 大朗 [] @回复
      1 层 1 年前

      @你好自动登录时500错误 自动登录是可以的,你确保你的ecshop是3.6版本,官方版本,不是小京东、大商创,也不是2.73版本。

      0
      0
  22. 你好自动登录时500错误 [] @回复
    6 楼 1 年前

    你好自动登录时500错误,可否加个联系方式

    0
    0
  23. 麦盟 [] @回复
    5 楼 1 年前

    我按照教程本地搭建的 ecshop.com 指向wwwroot/ecshop api.ecshop.com 指向wwwroot/appserver/public ecshop.com 跟api.ecshop.com 均能正常访问
    小程序前端调试的时候就提示数据加载出错

    0
    0
  24. zjutjsj1004 [] @回复
    4 楼 1 年前

    esshop3.6已经安装成功,并且可以进入后台:http://127.0.0.1:8080/ecshop/admin/index.php

    那么我对应的shopUrl应该配置多少?
    感觉按照你readme中说的,我应该配置:127.0.0.1:8080 但是都无法得到,希望可以指导,谢谢

    0
    0
    • zjutjsj1004 [] @回复
      1 层 1 年前

      @zjutjsj1004 esshop3.6已经安装成功,并且可以访问:http://127.0.0.1:8080/ecshop/
      感觉按照你readme中说的,http://api.127.0.0.1:8080/ecshop/ 无法返回:Hi

      0
      0
    • 大朗 [] @回复
      1 层 1 年前

      @zjutjsj1004 你的对象 shopUrl 应为 127.0.0.1:8080/ecshop

      0
      0
  25. liquidsky [] @回复
    ③ 楼 1 年前

    微信登陆和支付还没有实现吗?

    0
    0
    • 大朗 [] @回复
      1 层 1 年前

      @liquidsky 支持微信登录,默认通过微信登录,新用户会自动注册用户;支持微信支付,但是后端 ecshop 需要调整 php 代码,否则支付失败。

      0
      0
      • liquidsky [] @回复
        2 层 1 年前

        @大朗 要先ecshop授权吗?然后还要改一下ecshop的代码?

        0
        0
        • 大朗 [] @回复
          3 层 1 年前

          @liquidsky 如果获得授权,则不需要改ecshop代码,直接可用微信支付。如果是免费使用ecshop则需要修改ecshop的appserver的php代码。

          0
          0
  26. show [] @回复
    ② 楼 1 年前

    商品分类页面还没有实现官方的样式啊

    0
    0
    • 大朗 [] @回复
      1 层 1 年前

      @show 实现与官方一样的样式,只需要更改一下 HTML 结构以及一点样式,这些可以二次开发者根据情况修改。后面我看看,有空改成官方的样式,比较符合大众。

      0
      0
      • show [] @回复
        2 层 1 年前

        @大朗 嗯嗯 好的 我已经改成官方样式了 我看看能不能fork一下

        0
        0
      • show [] @回复
        2 层 1 年前

        @大朗 已经在github上提交了pullRequest,有空看下哦

        0
        0
  27. 请问对应额后台管理系统能给我一份吗 [] @回复
    ① 楼 1 年前

    谢谢~~~~~~~~~~~

    0
    0