精华内容
下载资源
问答
  • ECJia到家(H5微商城)是一个开源的O2O移动电商系统。 ECJia到家H5微商城提供源码下载,购买授权可享商业运营,配合强大的原生APP(需另购),可为企业快速搭建稳定、安全的移动电商平台。 优美、流畅、极致便捷的...
  • ECJia到家(H5微商城)

    2017-02-24 16:49:24
    ECJia到家(H5微商城) 免费开源的O2O移动电商系统 ECJia到家H5微商城提供源码下载,购买授权可享商业运营, 配合强大的原生APP(需另购),可为企业快速搭建稳定、安全的移动电商平台。 优美、流畅、极致便捷的...
  • ECJia到家(H5微商城)是一个开源的O2O移动电商系统。 ECJia到家H5微商城提供源码下载,购买授权可享商业运营,配合强大的原生APP(需另购),可为企业快速搭建稳定、安全的移动
  • ECJia到家(H5微商城)是一个开源的O2O移动电商系统。 ECJia到家H5微商城提供源码下载,购买授权可享商业运营,配合强大的原生APP(需另购),可为企业快速搭建稳定、安全的移动
  • ECJia到家(H5微商城)是一个免费开源的O2O移动电商系统。 ECJia到家H5微商城提供源码下载,购买授权可享商业运营,配合强大的原生APP(需另购),可为企业快速搭建稳定、安全的移动电商平台。 优美、流畅、极致...
  • ECJIA到家商城

    2018-06-09 22:09:57
    一个非常不错的O2O商城;手机版功能强大;大家可以下载试一下.
  • ECJIA到家短信插件开发

    千次阅读 2017-08-25 18:16:46
    只要是商城系统就必不可免的会用到短信,今天就教大家如何开发ECJIA到家系统的短信插件,短信接口使用的是短信宝短信平台的短信接口,小伙伴一定会问为什么使用短信宝作为案例呢?原因很简单,因为短信宝的平台

    ECJia移动商城系统(EC+)是一款基于移动互联网的商城应用服务产品,重新定义了移动商城系统操作方式及用户体验 ,让用户轻松将商城开到移动设备中,拥有执行效率高、上手轻松、管理便捷等一系列优点。

    只要是商城系统就必不可免的会用到短信,今天就教大家如何开发ECJIA到家系统的短信插件,短信接口使用的是短信宝短信平台的短信接口,小伙伴一定会问为什么使用短信宝作为案例呢?原因很简单,因为短信宝的平台极其稳定,而且短信发送速度相当快捷,验证码和订单通知在3~5秒就能收到,用户体验非常好,所以我们公司一直和短信宝保持着合作关系,小伙伴们也可以去短信宝的官网(http://www.smsbao.com)注册一个账号,还有免费的短信条数送呢。

    接下来我就说一下开发步骤:第一步我们要清楚目录格式,插件是放在content/plugins目录下,我们首先在plugins文件夹下面建立一个文件夹,名字叫sms_smsbao,在sms_smsbao文件夹下面创建下列文件,languages文件夹、config.php文件、sms_smsbao.class.php文件、sms_smsbao.php文件、SMSbao.php文件。languages文件夹下面需要创建zh_CN文件夹,在zh_CN文件夹下面创建plugin.lang.php文件。文件创建完成之后可以正式开发了。

    第二步:打开config.php文件,我们在这个文件中配置短信参数:

    <?php
    
    
    return array(
        'sms_code'      => 'sms_smsbao',
    
        'check_balance' => true,
    
        'forms' => array(
           array('name' => 'app_key',           'type' => 'text',       'value' => ''),
           array('name' => 'app_secret',        'type' => 'text',       'value' => ''),
            array('name' => 'app_sign',        'type' => 'text',       'value' => '')
        ),
    );

    第三步:打开sms_smsbao.class.php文件,这个文件是加载短信宝短信插件的配置信息的。

    <?php
    
    defined('IN_ECJIA') or exit('No permission resources.');
    
    use Ecjia\App\Sms\SmsAbstract;
    
    class sms_smsbao extends SmsAbstract
    {
    
        public function setConfig(array $config)
        {
            parent::setConfig($config);
    
            $this->setAgentConfig();
    
            $this->agent = royalcms('sms')->driver('smsbao');
        }
    
        public function setAgentConfig()
        {
            RC_Config::set('sms::sms.agents.smsbao.credentials', [
                'appKey' => $this->config['app_key'],
                'appSecret' => $this->config['app_secret'],
                'appsign' => $this->config['app_sign']
            ]);
        }
    
    
        /**
         * 获取插件代号
         *  
         * @see \Ecjia\System\Plugin\PluginInterface::getCode()
         */
        public function getCode()
        {
            return $this->loadConfig('sms_code');
        }
    
        /** 
         * 加载配置文件
         * 
         * @see \Ecjia\System\Plugin\PluginInterface::loadConfig()
         */
        public function loadConfig($key = null, $default = null)
        {        
            return $this->loadPluginData(RC_Plugin::plugin_dir_path(__FILE__) . 'config.php', $key, $default);
        }
    
        /** 
         * 加载语言包
         * 
         * @see \Ecjia\System\Plugin\PluginInterface::loadLanguage()
         */
        public function loadLanguage($key = null, $default = null)
        {
            $locale = RC_Config::get('system.locale');
            return $this->loadPluginData(RC_Plugin::plugin_dir_path(__FILE__) . '/languages/'.$locale.'/plugin.lang.php', $key, $default);
        }
    
    }
    
    // end

    第四步:打开sms_smsbao.php文件,这个文件是作为安装卸载及使用插件的文件。

    <?php
    
    /*
    Plugin Name: 短信宝短信
    Plugin URI: http://www.smsbao.com
    Description: 使用短信宝短信渠道,发送验证码短信、订单通知等。
    Author: ECJIA TEAM
    Version: 1.0.0
    Author URI: http://www.ecjia.com/
    Plugin App: sms
    */
    defined('IN_ECJIA') or exit('No permission resources.');
    class plugin_sms_smsbao {
    
        public static function install() {
            $config = include(RC_Plugin::plugin_dir_path(__FILE__) . 'config.php');
            $param = array('file' => __FILE__, 'config' => $config);
            return RC_Api::api('sms', 'plugin_install', $param);
        }
    
    
        public static function uninstall() {
            $config = include(RC_Plugin::plugin_dir_path(__FILE__) . 'config.php');
            $param = array('file' => __FILE__, 'config' => $config);
            return RC_Api::api('sms', 'plugin_uninstall', $param);
        }
    
        public static function royalcms_sms_agent_filter($factories) {
            require_once RC_Plugin::plugin_dir_path(__FILE__) . 'SMSbao.php';
    
            $factories['smsbao'] = 'SMSbao';
            return $factories;
        }
    
    }
    
    Ecjia_PluginManager::extend('sms_smsbao', function() {
        require_once RC_Plugin::plugin_dir_path(__FILE__) . 'sms_smsbao.class.php';
        return new sms_smsbao();
    });
    
    RC_Plugin::register_activation_hook(__FILE__, array('plugin_sms_smsbao', 'install'));
    RC_Plugin::register_deactivation_hook(__FILE__, array('plugin_sms_smsbao', 'uninstall'));
    RC_Hook::add_filter('royalcms_sms_agent_filter', array( 'plugin_sms_smsbao', 'royalcms_sms_agent_filter' ));
    
    // end
    

    第五步:打开SMSbao.php文件,这个文件是短信发送的接口文件。

    <?php
    
    use Royalcms\Component\Support\Arr;
    use Royalcms\Component\Sms\Sms;
    use Royalcms\Component\Sms\Contracts\SmsAgent;
    
    class SMSbao extends Sms implements SmsAgent
    {
    
        const HOST      = 'http://api.smsbao.com/sms?';
    
    
        private $appKey;
        private $appSecret;
        private $appSign;
    
        private $statusStr = array(
            "0" => "短信发送成功",
            "-1" => "参数不全",
            "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
            "30" => "密码错误",
            "40" => "账号不存在",
            "41" => "余额不足",
            "42" => "帐户已过期",
            "43" => "IP地址限制",
            "50" => "内容含有敏感词"
        );
    
        public function __construct($config)
        {
            $this->config = $config;
            $this->transformConfig();
        }
    
        public function transformConfig()
        {
            $credentials = Arr::pull($this->config, 'credentials');
            $this->appKey = Arr::pull($credentials, 'appKey');
            $this->appSecret = Arr::pull($credentials, 'appSecret');
            $this->appSign = Arr::pull($credentials, 'appsign');
        }
    
        protected function authParams()
        {
            return [
                'u'   => $this->appKey,
                'p'  => $this->appSecret,
                'k' =>  $this->appSign
            ];
        }
    
        /**
         * 发送信息
         * 
         * @see \Royalcms\Component\Sms\Contracts\SmsAgent::send()
         */
        public function send($mobile)
        {
            $url = self::HOST.'u='.$this->appKey.'&p='.md5($this->appSecret).'&m='.$mobile.'&c=【'.$this->appSign.'】'.$this->content;
           $ret = file_get_contents($url);
           return $ret;
    
        }
    
        /**
         * 查询账户余额
         */
        public function balance()
        {
            $url = 'http://api.smsbao.com/query?u='.$this->appKey.'&p='.md5($this->appSecret);
    
    
            $ret = file_get_contents($url);
           $rest = explode(",",$ret);
            $res['data']['num'] = $rest['1'];
            return $res;
    
    
    
        }
    
        /**
         * @param $url
         * @param array $body
         * @return array $result
         * @return int $result[].code 返回0则成功,返回其它则错误
         * @return string $result[].msg 返回消息
         * @return string $result[].raw 接口返回的原生信息
         * @return array $result[].data 数据信息
         */
        public function httpRequest($url, array $body)
        {
            $data = [
                'body' => $body
            ];
    
            $response = $this->sendWithRetry($url, $data);
    
            $result = $this->transformerResponse($response);
    
            return $result;
        }
    
        /**
         * 转换返回的信息处理
         * @param array $response
         * @return array $result
         * @return int $result[].code 返回0则成功,返回其它则错误
         * @return string $result[].msg 返回消息
         * @return string $result[].raw 接口返回的原生信息
         * @return array $result[].data 数据信息
         */
        public function transformerResponse($response)
        {
            $body = $response['body'];
            $result_arr = RC_Xml::to_array($body);
    
            $data = array();
    
            if (isset($result_arr['smsid'])) {
                $data['smsid'] = $result_arr['smsid'][0];
                $data['msgid'] = $result_arr['smsid'][0];
            }
    
            if (isset($result_arr['num'])) {
                $data['num']   = $result_arr['num'][0];
            }
    
            $result = [
                'raw' => $body,
                'data' => $data,
                'code' => $result_arr['code'][0],
                'description' => $result_arr['msg'][0],
            ];
    
            if ($result['code'] != '2') {
                return new ecjia_error('ihuyi_error_'.$result['code'], $result['description'], $result);
            }
    
            return $result;
        }
    
    }

    第六步:找到项目/wendor/royalcms/sms/config/sms.php,在agents中添加

      'smsbao' => [
                'credentials' => [
                    'appKey' => env('SMSBAO_APPKEY'),
                    'appSecret' => env('SMSBAO_APPSECRET'),
                    'appsign' => env('SMSBAO_APPSIGN')
                ],
                'executableFile' => 'SMSbao',
            ],

    第七步:在项目/vendor/royalcms/sms/Royalcms/Component/Sms/Agents下新建一个文件,取名为SMSbao.php。

    <?php
    
    namespace Royalcms\Component\Sms\Agents;
    
    use Royalcms\Component\Support\Arr;
    use Royalcms\Component\Sms\Sms;
    use Royalcms\Component\Sms\Contracts\SmsAgent;
    
    class SMSbao extends Sms implements SmsAgent
    {
    
        const HOST      = 'http://api.smsbao.com/sms?';
    
    
        private $appKey;
        private $appSecret;
        private $appSign;
    
        private $statusStr = array(
            "0" => "短信发送成功",
            "-1" => "参数不全",
            "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
            "30" => "密码错误",
            "40" => "账号不存在",
            "41" => "余额不足",
            "42" => "帐户已过期",
            "43" => "IP地址限制",
            "50" => "内容含有敏感词"
        );
    
        public function __construct($config)
        {
            $this->config = $config;
            $this->transformConfig();
        }
    
        public function transformConfig()
        {
            $credentials = Arr::pull($this->config, 'credentials');
            $this->appKey = Arr::pull($credentials, 'appKey');
            $this->appSecret = Arr::pull($credentials, 'appSecret');
        }
    
        protected function authParams()
        {
            return [
                'u'   => $this->appKey,
                'p'  => $this->appSecret,
                'k' =>  $this->appSign
            ];
        }
    
        /**
         * 发送信息
         * 
         * @see \Royalcms\Component\Sms\Contracts\SmsAgent::send()
         */
        public function send($mobile)
        {
            $url = self::HOST;
            $requestParams = array(
                'content' => $this->content,
                'mobile' => $mobile,
            );
    
            $requestParams = array_merge($this->authParams(), $requestParams);
    
            return $this->httpRequest($url, $requestParams);
        }
    
        /**
         * 查询账户余额
         */
        public function balance()
        {
            $url = 'http://api.smsbao.com/query?u='.$this->appKey.'&p='.md5($this->appSecret);
    
    
            $ret = file_get_contents($url);
            $retArr = split("\n", $ret);
            $balanceArr = split(",", $retArr[1]);
            $rest = $retArr[0] == 0 ? $balanceArr[1] : $ret;
            return $rest;
    
    
    
        }
    
        /**
         * @param $url
         * @param array $body
         * @return array $result
         * @return int $result[].code 返回0则成功,返回其它则错误
         * @return string $result[].msg 返回消息
         * @return string $result[].raw 接口返回的原生信息
         * @return array $result[].data 数据信息
         */
        public function httpRequest($url, array $body)
        {
            $data = [
                'body' => $body
            ];
    
            $response = $this->sendWithRetry($url, $data);
    
            $result = $this->transformerResponse($response);
    
            return $result;
        }
    
        /**
         * 转换返回的信息处理
         * @param array $response
         * @return array $result
         * @return int $result[].code 返回0则成功,返回其它则错误
         * @return string $result[].msg 返回消息
         * @return string $result[].raw 接口返回的原生信息
         * @return array $result[].data 数据信息
         */
        public function transformerResponse($response)
        {
            $body = $response['body'];
            $result_arr = RC_Xml::to_array($body);
    
            $data = array();
    
            if (isset($result_arr['smsid'])) {
                $data['smsid'] = $result_arr['smsid'][0];
                $data['msgid'] = $result_arr['smsid'][0];
            }
    
            if (isset($result_arr['num'])) {
                $data['num']   = $result_arr['num'][0];
            }
    
            $result = [
                'raw' => $body,
                'data' => $data,
                'code' => $result_arr['code'][0],
                'description' => $result_arr['msg'][0],
            ];
    
            if ($result['code'] != '2') {
                return new ecjia_error('ihuyi_error_'.$result['code'], $result['description'], $result);
            }
    
            return $result;
        }
    
    }

    好了,短信宝接口替换全部完成。。如果看了文章不清楚的话,在短信宝官网中也提供了插件下载地址:http://www.smsbao.com/plugin/158.html 小伙伴们可以对着短信宝短信插件,来看我这篇文章,这样会更直观一些。

    展开全文
  • ECJia 到家 v1.5.1 发布了,更新如下: 1.新增掌柜用户昵称的显示和修改功能 店长随时随地进入用户中心,根据自己的心情起一个响亮的名字,为店铺增添营销效果。 2.新增配送员昵称的显示和修改功能 想要脱颖而出的...

    ECJia 到家 v1.5.1 发布了,更新如下:

    1.新增掌柜用户昵称的显示和修改功能

    店长随时随地进入用户中心,根据自己的心情起一个响亮的名字,为店铺增添营销效果。

    2.新增配送员昵称的显示和修改功能

    想要脱颖而出的不仅是店长,配送员也需要一个亮瞎你24k钛金狗眼的名字,配送员中心可显示其名,并修改。

    3.新增无需物流配送插件

    到店取货,无需物流,物流配送与无需物流两种模式轻松切换。

    4.新增商家发货配送员抢单功能

    商家发货,配送员抢单、接单,轻松配送。

    更新日志:

    1. 【新增】掌柜的用户昵称的显示和修改功能;
    2. 【新增】配送员的用户昵称的显示和修改功能
    3. 【新增】用户更新手机号、邮箱验证码验证接口
    4. 【新增】相册批量删除接口
    5. 【新增】无需物流配送插件
    6. 【新增】商家发货配送员抢单功能
    7. 【新增】配送员通知未读数量提示
    8. 【优化】商品添加编辑验证分类
    9. 【优化】编辑收货地址功能,收货地址框可手动输入
    10. 【优化】平台后台广告列表只有图片类型才能预览
    11. 【修复】浏览器的shortcut icon调用图标使用方形的wap_logo
    12. 【修复】在掌柜中,更换商品主图时,平台后台、商家后台商品编辑缩略图不显示的问题
    13. 【修复】商家平台发货时,订单状态显示不完整的问题
    14. 【修复】结算页面运费不显示问题
    15. 【修复】商品相册排序无法保存问题
    16. 【修复】商家分类新权限判断问题
    17. 【修复】客户下单通知两次问题
    18. 【修复】掌柜,商品促销价格显示为0错误问题
    19. 【修复】订单列表、交易列表、红包列表无法下拉问题
    20. 【修复】添加收货地址,提示该收货地址超出店铺配送范围内问题

    下载地址

    下载地址:https://ecjia.com/download.html

    Git OSChina: http://git.oschina.net/ecjia/ecjia-daojia

    GitHub: https://github.com/ecjia/ecjia-daojia

    EC+(ecjia)到家是一款可开展O2O业务的移动电商系统。它包含:移动端APP,采用原生模式开发,覆盖使用iOS 及Android系统的移 动终端;后台系统,针对平台日常运营维护的平台后台,针对入驻店铺管理的商家后台,独立并行;移动端H5,能够灵活部署于微信及其他APP、网页等。

    文章转载自 开源中国社区[https://www.oschina.net]

    展开全文
  • ECJia到家 开发语言:PHP 数据库:MySQL 开发框架:ecjia 模板引擎:聪明 GitHub: : 官方网站 官方网站: : 专题介绍: : 帮助文档: : 演示网站: : ECJia到家官方交流QQ群: 372623746 简介 EC +(ecjia)...
  • EC+(ecjia到家是一款可开展O2O业务的移动电商系统。它包含:移动端APP,采用原生模式开发,覆盖使用iOS 及Android系统的移 动终端;后台系统,针对平台日常运营维护的平台后台,针对入驻店铺管理的商家后台,独立...

    简介:

    EC+(ecjia)到家是一款可开展O2O业务的移动电商系统。它包含:移动端APP,采用原生模式开发,覆盖使用iOS 及Android系统的移 动终端;后台系统,针对平台日常运营维护的平台后台,针对入驻店铺管理的商家后台,独立并行;移动端H5,能够灵活部署于微信及其他APP、网页等。


    网盘下载地址:

    http://kekewl.cc/DYcce6RFfn80


    图片:


    展开全文
  • ecjia-daojia2017221.zip

    2019-10-20 15:53:26
    ECJia到家是一款主打新零售模式的电商系统,包含多种终端产品服务,为打造完善的电商生态体系
  • ECJia到家是一款开源的O2O电商系统。在我们使用的时候,会经常遇到官方新版本升级,这时,我们又想保持当前站点的稳定运行,又想升级到新版本体验功能。我们就需要再搭建一个升级测试站点,这时我们就遇到了“如何让...
        

    一、问题起源

    ECJia到家是一款开源的O2O电商系统。在我们使用的时候,会经常遇到官方新版本升级,这时,我们又想保持当前站点的稳定运行,又想升级到新版本体验功能。我们就需要再搭建一个升级测试站点,这时我们就遇到了“如何让这两个站可以共用数据和附件资源”。

    二、修改内容

    第一步:修改.env文件,使用两个网站的数据库配置信息相同;

    第二步:共用两个网站的附件访问地址

    • 以第一个网站为主,首先获取第一个网站的附件目录访问地址,如:

      http://www.xx.com/content/uploads
    • 配置第二个网站的配置文件/content/configs/site.php

    • 添加配置项:

      'custom_upload_url' => 'http://www.xx.com/content/uploads',

    第三步:共用两个网站的附件上传目录

    • 网站上传目录在服务器的绝对路径,如

      /www/www.xx.com/content/uploads/
    • 配置第二个网站的配置文件/content/configs/site.php

    • 添加配置项:

      'custom_upload_path' => '/www/www.xx.com/content/uploads/',

    第四步:搞定

    三、相关链接

    官方下载:https://ecjia.com/download.html

    Git OSChina: http://git.oschina.net/ecjia/...

    GitHub: https://github.com/ecjia/ecji...

    PC演示:https://cityo2o.ecjia.com/

    H5演示:https://cityo2o.ecjia.com/sit...

    展开全文
  • 开语言:菲律宾比索
  • 大商创APP是一款支持自营+商家入驻的B2B2C多商户移动商城系统,基于原生模式开发,操作流畅、界面美观、功能强大,覆盖iPhone、Android、iPad等 移动设备上搭建一个APP商城应用
  • 2017年电商系统列表

    2017-11-30 09:20:00
    公司 备注 EC+互联网:https://ecjia.com/ EC+到家:https://daojia.ecjia.com/mode_tongcheng.html 演示:https://cityo2o.ecjia....
  • 正则表达式提取器提取数组数据 对EC到家:https://demodaojia.ecjia.com/进行访问,获取首页商品分类,分析过程如下: 测试计划->线程组 线程组->HTTP请求(获取productCategory) 获取productCategory->后置处理器->...
  • ECJia到家是上海商创网络科技有限公司研发的针对O2O业务的移动电商系统,可广泛部署于微信、浏览器及其他应用上。采用的LBS定位通过手机的GPS,获取移动终端用户的位置信息为你精准的推荐附近商家的位置信息;平台...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
热门标签
关键字:

ECJia到家