ECShop 小程序「weeshop 」- 基于 ECShop 3.6 版本开发的微信小程序

分类 文章 7,495阅读阅读模式

ECShop 小程序「weeshop 」

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

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

 

项目基本完善,如需商用 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官方网站购买授权。

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

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

 

输入密码查看加密内容:

 

 

 

相关文章

给我留言

  • 有人回复时邮件通知我

评论当前有 47 评论[ 访客34, 博主: 13 ]

  1.  25 楼 璋郎  2019年03月18日 @回复

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

  2.  24 楼 无瑕  2019年03月12日 @回复

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

    • 1层 大朗  2019年03月12日 @回复

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

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

  3.  23 楼 xgx  2019年03月06日 @回复

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

  4.  22 楼 路学通  2018年12月05日 @回复

    q群加群问题是什么

  5.  21 楼 xgx  2018年11月20日 @回复

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

  6.  20 楼 llllll  2018年11月03日 @回复

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

  7.  19 楼 shuisen  2018年10月10日 @回复

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

  8.  18 楼 shuisen  2018年10月10日 @回复

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

  9.  17 楼 chenh  2018年09月07日 @回复

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

    • 1层 大朗  2018年09月07日 @回复

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

  10.  16 楼 潘少  2018年09月06日 @回复

    我想商用

    • 1层 大朗  2018年09月07日 @回复

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

  11.  15 楼 chenh  2018年08月23日 @回复

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

  12.  14 楼 倾斜的水瓶座  2018年08月15日 @回复

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

  13.  13 楼 月下听禅  2018年08月06日 @回复

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

  14.  12 楼 小梁  2018年07月12日 @回复

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

    • 1层 大朗  2018年07月12日 @回复

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

  15.  11 楼 李涛  2018年07月03日 @回复

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

    • 1层 X-ECAPI-Authorization 问题  2018年08月16日 @回复

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

  16.  10 楼 李涛  2018年07月01日 @回复

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

    • 1层 大朗  2018年07月01日 @回复

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

      • 2层 李涛  2018年07月01日 @回复

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

  17.  9 楼 李涛  2018年06月30日 @回复

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

    • 1层 大朗  2018年06月30日 @回复

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

  18.  8 楼 李涛  2018年06月30日 @回复

    我想商用,可以不

  19.  7 楼 你好自动登录时500错误  2018年05月12日 @回复

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

  20.  6 楼 你好自动登录时500错误  2018年05月11日 @回复

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

  21.  5 楼 麦盟  2018年05月08日 @回复

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

  22.  4 楼 zjutjsj1004  2018年04月22日 @回复

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

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

  23.  ③ 楼 liquidsky  2018年04月10日 @回复

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

    • 1层 大朗  2018年04月10日 @回复

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

      • 2层 liquidsky  2018年04月10日 @回复

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

        • 3层 大朗  2018年04月10日 @回复

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

  24.  ② 楼 show  2018年04月04日 @回复

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

    • 1层 大朗  2018年04月05日 @回复

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

      • 2层 show  2018年04月06日 @回复

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

      • 2层 show  2018年04月06日 @回复

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

  25.  ① 楼 请问对应额后台管理系统能给我一份吗  2018年03月31日 @回复

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