微商城_微商城源码 - CSDN
精华内容
参与话题
  • 基于vue, react, node.js, go开发的微商城(含微信小程序)
  • 微商城系统v2.0

    2020-07-14 23:30:40
    快捷微商城系统在满足原有购物网站基础功能(包括:商品,多属性,多规格,供应商,报表统计,支付,积分,活动营销等)基础上,更注重微信平台:包括整合微信公众号,微信营销分享,微活动等,以及小半径电子商务...
  • 微商城的魅力

    2017-08-18 10:37:55
    微商城的魅力 微商城存在的必要性 1、在移动互联网发展迅速的情况下,一些零售企业依然采用最传统的销售方式,但与此同时,移动智能的普及性,给传统电商造成猛烈冲击,也给移动电商带来了突破性改变,改变了人们...

    微商城的魅力

    微商城存在的必要性

    1、在移动互联网发展迅速的情况下,一些零售企业依然采用最传统的销售方式,但与此同时,移动智能的普及性,给传统电商造成猛烈冲击,也给移动电商带来了突破性改变,改变了人们的消费方式、消费习惯。而这种改变更为深刻,不可逆转。不仅年轻人,越来越多的中老年人也开始热衷于网购。走进百货商场,面对眼花缭乱的店铺商品,你可能不知如何选择或许有些莫名的太习惯,感觉不如上网搜寻那样方便。

    2、微商城改变了传统企业销售方式,切实的为零售企业、个人提供了最独特且最有效的销售方式。微商城不仅颠覆了传统电商的销售模式,更为传统零售企业开辟了新的道路。无论企业或个人是做什么的,只要是卖产品的都可以通过微商城源码系统建立属于自己的微商城,开启移动电商新时代。

    微商城的发展趋势与优势

    1、从现实情况来说,随着智能手机的发展每日渐增,作为国内社交APP第一的微信,潜在的市场慢慢被众人所知。就目前微信8亿用户来说,就是一片新大陆,如何在这片大陆上获得更多利益,是那些独特思维的“寻宝家”们所在想的。想开辟新的销售方式,就需要一个创造新渠道的平台。网购的普及性导致现在即便不是企业也只可以开店,拿某宝来说,2013年店铺数量就达900万家,由于平台卖家数量多竞争力大,导致活跃的只有300万家,其中个人商家占比80%;相比微商城,借助移动互联网的发展趋势,前景无限好,同时就目前微信商城并无太多人所知,潜在的大陆等待开辟。

    2、微商城的独特运营平台给买家提供了一个不仅可以看还可以玩的购物环境;消费者只需关注商家公众号,即可得到最新上架产品以及最新商家活动资讯,并且参考商家发起的促销抽奖活动。同时可以将活动分享给好友一起参与;对于商家,不但吸引了新的潜在客户,还提升了品牌的知名度,起到的双赢的作用。

    如果说微商城仅仅是手机上的购物网站听上去也许通俗易懂,但其实并没有那么普通。比如湖南云盟开发的微商城系统,就是通过微信公众平台,打造一个具有品牌推广、商品展示、销售和营销功能的手机微商城网站,为一直在找寻新的销售渠道的传统零售企业提供最有效的解决方案。

     

    展开全文
  • 微商城

    千次阅读 2013-12-24 15:59:15
    微商城 微信商城 微信公众...微商城是基于手机端的电子商务平台,更多指的是基于微信公众平台搭建的网络销售平台。   商城首页及产品分类   产品详细图文介绍   会员注册   确认产品,收货地址与订单

    微商城 微信商城 微信公众平台 电子商务 微信商城系统
    作者:方倍工作室 
    地址:http://www.cnblogs.com/txw1958/p/weixin73-microshop.html

     

    微商城是基于手机端的电子商务平台,更多指的是基于微信公众平台搭建的网络销售平台。

     

    商城首页及产品分类

     

    产品详细图文介绍

     

    会员注册

     

    确认产品,收货地址与订单

     

    确认金额与支付

     

    支付宝登录

     

    支付宝手机支付

     

    订单状态更新与查询

     

     

     

     

    ============================================

    方倍工作室微信公众平台账号关注方法:
    1. 微信通讯录-添加朋友-查找公众号-搜索“方倍工作室”
    2. 微信通讯录-添加朋友-搜号码-输入“pondbaystudio”
    3. 使用微信扫描下面的二维码

    展开全文
  • 微商城系统源码

    2020-07-30 23:31:51
    在满足原有购物网站基础功能(包括:商品,多属性,多规格,供应商,报表统计,支付,积分,活动营销等)基础上,更注重微信平台:包括整合微信公众号,微信营销分享,活动等,以及小半径电子商务(同城电子商务)...
  • 微商城代码

    热门讨论 2020-07-27 23:32:59
    微商城源代码!微信二次开发可以使用的微商城,独立系统!php+mysql
  • 微商城开发

    千次阅读 2018-03-23 12:29:57
    小诺我开发这个微商城的过程中遇到了各种问题,话说就我自己开发,反正各种不懂,既然不懂就要去查呀,慢慢的查的多了,用的多了,原理也慢慢懂了(刚开始我打算先弄懂原理的,可是发现看不懂。。。咳咳咳,所以就先...

    小诺我开发这个微商城的过程中遇到了各种问题,话说就我自己开发,反正各种不懂,既然不懂就要去查呀,慢慢的查的多了,用的多了,原理也慢慢懂了(刚开始我打算先弄懂原理的,可是发现看不懂。。。咳咳咳,所以就先用了,然后不懂得再查)

    1.ListView中item中添加ImageView实现商品数量的增加与减少。开发的过程中遇到需要增加商品的数量,于是就在item布局中添加增加与减少两个图标,刚开始的时候,发现点击没效果,只是对单个的item有点击事件,然而点击加减的时候,根本没反应的说。

    后来才发现需要在布局中设置android:descendantFocusability="blocksDescendants"
    在ImageView中设置android:focusable="false"
    然后又用到了ViewHolder来提升listview的性能,下边是list_item.xml的代码
    参考实现ListView中点击ImageView的点击的博客

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:descendantFocusability="blocksDescendants" >
    
        <ImageView
            android:id="@+id/imageView"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:src="@drawable/fruit" />
    
        <LinearLayout
            android:id="@+id/buy_number"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/imageView"
            android:orientation="vertical" >
    
            <TextView
                android:id="@+id/titleTextView"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Title_info"
                android:textSize="12dp" />
    
            <LinearLayout
                android:id="@+id/buy_number_image"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="right|bottom"
                android:orientation="horizontal" >
    
                <TextView
                    android:id="@+id/descTextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingRight="150dp"
                    android:text="Description"
                    android:textSize="12dp" />
    
                <ImageView
                    android:id="@+id/imageView_delete"
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:focusable="false"
                    android:src="@drawable/delete" />
    
                <TextView
                    android:id="@+id/list_buy_number"
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:text="0"
                    android:textSize="15sp" />
    
                <ImageView
                    android:id="@+id/imageView_add"
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:focusable="false"
                    android:src="@drawable/add" />
            </LinearLayout>
        </LinearLayout>
    
    </RelativeLayout>

    ViewHolder实现优化,提升性能

    public final class ViewHolder {
                TextView titleTextView;
                TextView descTextView;
                ImageView imageView_delete;
                TextView list_buy_number;
                ImageView imageView_add;
            }
    
            public class MyAdapter extends BaseAdapter {
    
                private LayoutInflater mInflater;
    
                public MyAdapter(Context context) {
    
                    this.mInflater = LayoutInflater.from(context);
                }
    
                @Override
                public int getCount() {
                    return mListItem.size();
                }
    
                @Override
                public Object getItem(int position) {
                    return mListItem.get(position);
                }
    
                @Override
                public long getItemId(int position) {
                    return 0;
                }           
                @SuppressLint("InflateParams") @Override
                public View getView(int position, View convertView, ViewGroup parent) {
                    // TODO Auto-generated method stub
                    Map<String, Object> item = new HashMap<String, Object>();
                    item = mListItem.get(position);//获得所有数据
                    ViewHolder holder = null;
                    if (convertView == null) {
                        holder = new ViewHolder();
                        convertView = mInflater.inflate(R.layout.list_item, null);
                        holder.titleTextView = (TextView) convertView
                                .findViewById(R.id.titleTextView);
    
                        holder.descTextView = (TextView) convertView
                                .findViewById(R.id.descTextView);
    
                        holder.imageView_delete = (ImageView) convertView
                                .findViewById(R.id.imageView_delete);
                        holder.list_buy_number = (TextView) convertView
                                .findViewById(R.id.list_buy_number);
                        holder.imageView_add = (ImageView) convertView
                                .findViewById(R.id.imageView_add);
                        convertView.setTag(holder);
                    } else {
                        holder = (ViewHolder) convertView.getTag();
                    }
                    holder.titleTextView.setText(item.get("titleTextView").toString());
                    holder.descTextView.setText(item.get("descTextView").toString());
    
                    //点击添加和减少商品的图标
    
                    holder.imageView_delete.setOnClickListener(new View.OnClickListener() {
    
                        @Override
                        public void onClick(View v) {
                            // TODO Auto-generated method stub
                            Toast.makeText(getActivity(), "delete user", Toast.LENGTH_SHORT).show();
                        }
    
                    });
                    holder.imageView_add.setOnClickListener(new View.OnClickListener() {
    
                        @Override
                        public void onClick(View v) {
                            // TODO Auto-generated method stub
                            Toast.makeText(getActivity(), "add user", Toast.LENGTH_SHORT).show();
                        }
    
                    });
                    return convertView;         
                }
        }
            }

    2.下边是tapTwo.java实现代码,添加解析JSON数据的功能,从网页获取JSON数据进行解析,以前只是看过解析如何实现的,但是发现实现的时候出现了不少的问题,JSON解析有很多种方式,我选择了比较简单的方式。具体用法,可以自己多查资料,我参考的是郭霖大神的第一行代码上边的实现方式,下面将我的具体实现代码列出来,给大家提供思路。(解析JSON数据的时候,可以自己定义好一个JSON数据,然后试试能不能解析到,然后再从服务器获取数据进行测试)

    我的测试做的比较成功,但是在添加到自己的项目中的时候出现了很多问题,数据的获取和适配器的链接,调了半天的bug,最后在公司老大的指导下,(竟然没有实例化,我哭会。。。)
    JSON数据的处理过程中,需要开辟线程从网络获取数据,然后处理数据的时候,需要用到Handler进行处理信息(例如:线程中不能实现UI。。。具体细节,大家多动手,多查查资料。)

    private void parseJSONWithJSONObject(String jsonData) {
            try {
                //String jsonData="[{'id':'5','version':'5.5','name':'Angry Birds'},{'id':'6','version':'7.0','name':'Angry Dog'}]";
                //String jsonData="http://www.xxxjqt.cn/amallphone/index.php/Home/Mobile/";
                JSONArray jsonArray = new JSONArray(jsonData);
                Map<String, Object> map ;
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jsonObject = jsonArray.getJSONObject(i);
                     map = new HashMap<String, Object>();
                    /*String id = jsonObject.getString("id");
                    String name = jsonObject.getString("name");
                    String version = jsonObject.getString("version");*/
    
                    String id = jsonObject.getString("gid");
                    String name = jsonObject.getString("price");
                    String version = jsonObject.getString("original_price");
                    map.put("titleTextView", id);
                    map.put("descTextView", name);
    
                    mListItem.add(map);
                    Log.d("MainActivity", "id is " + id);
                    Log.d("MainActivity", "name is " + name);
                    Log.d("MainActivity", "version is " + version);
                }
                Toast.makeText(getActivity(), mListItem.size(), Toast.LENGTH_SHORT).show();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    private void sendRequestWithHttpClient() {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        HttpClient httpClient = new DefaultHttpClient();
    
                        HttpGet httpGet = new HttpGet(
                                "http://www.xxxjqt.cn/amallphone/index.php/Home/Mobile/");
                        HttpResponse httpResponse = httpClient.execute(httpGet);
                        if (httpResponse.getStatusLine().getStatusCode() == 200) {
                            HttpEntity entity = httpResponse.getEntity();
                            String response = EntityUtils.toString(entity, "utf-8");
                            //parseJSONWithJSONObject(response);                        
                            Message message = new Message();
                            message.what = 1;
                            message.obj = response.toString();
                            handler.sendMessage(message);
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }).start();
        }

    线程很重要,这个必须要会

    private Handler handler = new Handler() {
    
    
            public void handleMessage(Message msg) {
                switch (msg.what) {
                case 1:
                    String response = (String) msg.obj;
                    parseJSONWithJSONObject(response);
                    //Toast.makeText(getActivity(), response, Toast.LENGTH_SHORT).show();
                    MyAdapter adapter = new MyAdapter(getActivity());
    
                    mListView.setAdapter(adapter);
                    mListView_1.setAdapter(adapter);
                    // 设置进入选购中心显示的商品界面,修复进入界面是加载全部的信息问题
                    mListView.setVisibility(View.INVISIBLE);
                    mListView_1.setVisibility(View.INVISIBLE);
                    // getActivity使用在适配器中适用于Fragment中
                    ArrayAdapter<String> typeAdapter = new ArrayAdapter<String>
                    (getActivity(), android.R.layout.simple_list_item_1, data);
                    lv_type.setAdapter(typeAdapter);
                    // 分类适配器类别添加点击事件
                    lv_type.setOnItemClickListener(new OnItemClickListener() {
    
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view,
                                int position, long id) {
                            // 对点击位置进行判断,添加事件
                            if (data[position].equals("热卖专区")) {
                                mListView.setVisibility(View.VISIBLE);
                                mListView_1.setVisibility(View.GONE);
                            }
                            if (data[position].equals("进口精品")) {
                                mListView.setVisibility(View.GONE);
                                mListView_1.setVisibility(View.VISIBLE);
                            }
                            if (data[position].equals("国产优选")) {
                                mListView.setVisibility(View.GONE);
                                mListView_1.setVisibility(View.GONE);
                            }
                            if (data[position].equals("森林干果")) {
                                mListView.setVisibility(View.VISIBLE);
                                mListView_1.setVisibility(View.GONE);
                            }
                            if (data[position].equals("礼盒整箱")) {
                                mListView.setVisibility(View.GONE);
                                mListView_1.setVisibility(View.GONE);
                            }
                            if (data[position].equals("新鲜果汁")) {
                                mListView.setVisibility(View.VISIBLE);
                                mListView_1.setVisibility(View.GONE);
                            }
    
    
                        }
                    });
                    break;
                }
            }
        };

    实现数量变更事件的触发,然后这里的数据是获取到JSON数据,然后显示,大概界面就是这样,布局的时候做的不好,大概就是这个样子显示的,符合现在大多数微商城的商品选购界面。

    实现添加商品触发事件

    展开全文
  • 基于ASP.NET 4.0开发的开源微商城系统,我们的目标是构建一个核心完善而又轻量级的微商城平台
  • IdeaCMS ASP微商城系统功能相当丰富了,是ASP建站环境下部署手机端商城一套挺不错的系统,功能包括了分销、优惠券、快递管理、积分商城、文章系统等重要模块。另外还有会员中心、购物流程图、分销方式设置、后台管理...
  • 微商城prestashop源代码

    2020-07-14 23:30:27
    微商城prestashop_1.7.1.1.源代码
  • PHP商城源码 支持分销系统 支持多用户店铺 支持会员系统 支持微信支付 支持支付宝支付 支持微信公众号对接 支持小程序迁移 可二次开发
  • JAVA微商城前后台源码

    2020-07-29 14:20:07
    JAVA微商城平台系统源码 带数据库 数据库及微信配置说明 运行环境: JAVA 源码详细: JAVA微商城平台系统源码带数据库 源码描述: 一、源码介绍 1、JAVA微商城 为项目源码,数据库及微信配置说明在源码文件中 2、...
  • 微信小程序-康爱多微商城:学习界面设计.zip,小程序模板代码,可以直接从源码里粘贴复制过来,虽然这样做不利于自己独立编写代码。
  • PHP微商城源码

    2020-07-30 23:31:58
    PHP商城源码 支持分销系统 支持多用户店铺 支持会员系统 支持微信支付 支持支付宝支付 支持微信公众号对接 支持小程序迁移 可二次开发
  • 微商城网页代码,微商城HTML5代码,微商城可用代码,微商城可用网页代码!
  • 微信微商城解决方案

    千次阅读 2014-04-20 19:20:05
    蓝叶微信微商城基于微信平台,让微信5亿用户更了解企业品牌,减少宣传成本, 提高品牌知名度,打造更具影响力的品牌形象。 建立企业与消费者、客户的一对 一互动和沟通,将消费者直接接入企业CRM系统,提供更好的...
    微信微商城基于微信平台,让微信7亿用户更了解企业品牌,减少宣传成本,
     提高品牌知名度,打造更具影响力的品牌形象。 建立企业与消费者、客户的一对 一互动和沟通,将消费者直接接入企业CRM系统,提供更好的促销、推广、宣传、售后等服务,打造微媒、微站、微商于一体的电商移动解决方案。

    一、微信微商城流程
    微信微商城流程

    二、解决方案
    1、微商城
    无需开发APP,也无需重新建站,更不用装修商城店面,蓝叶公司为您定制个性化功能、使用HTML5新技术进行无限拓展,帮助您打造最便捷、易推广的微信内置APP。通过会员管理系统与微信内置APP,企业可以快速搭建一个移动互联网的电子商务平台。

     

    \
    微信微商城示例

    2、微信公众号推广
    1) 网络推广
    我们通过微客平台推广,微博红人投放,新闻媒体推广,论坛推广,QQ空间推广,QQ群推广,邮件推广,SNS推广推荐等一系列网络营销推广方法,为您的微信公众帐号,带来大量粉丝。

    2) 线下推广
    将微信公众帐号二维码置于营业场所海报、水牌、桌贴、DM单,甚至户外广告牌、公交地铁等载体上。以新奇有趣的方式促使消费者打开微信扫描二维码,快速领取商家的会员卡,建立用户与企业直接联系通道。
    A、公司现有会员精准营销转化
    B、公司名片、邮箱、官网、官微、旗舰店等各营销渠道添加二维码
    C、公司员工微信好友推荐
    D、线下商铺、商品标签、包装等放置二维码
    E、开展关注有奖活等拉粉,如“关注公众账号开通微手机会员卡”

    \

    线下微信二维码推广

    3) 微信平台推广
    A、微信小号带大号。通过小号主动关注、LBS查看附近的人,摇一摇等推广大号
    B、微信导航网站、微信大号交叉推广、微信关联账号推广
    C、通过微信营销软件,可批量导入手机号码或QQ号等,软件自动判断其中已开通微信的用户并主动关注并发送推荐信息;也可搜索自定义范围内的微信附近的人,主动关注并发送推荐信息

    4、简化关注流程,在微信推送信息或网页中添加“一键关注”点击即可关注成功,无需其它操作

    3、售前客服
    1) pc端多人工客服
    当 有客户在微信上咨询您的产品或服务时,我们让您的客服人员,在电脑上,直接与客户对话,就像您的旺旺一样好用,它能实时消息弹出,聊天记录查询,未应答消 息列表等等常用功能,更重要的是它能与pc网站客服结合,如果你网站人工客服不在线,你的在线客服还能变成智慧小机器人,自动应答客户问题,365天24小时精准移动销售!

    \

    用户界面演示(如果需要看后台,请与我联系)

    2) LBS位置服务
    A、用户可发送当前位置,进行周边商家的查询功能;
    B、为不同商家分店,提供不同的优惠券、会员卡服务

    4、商城运营
    1) 微商城运营
    A、首次关注时推送图文信息
    B、交互式菜单
    我们利用交互式菜单模式让您的信息、相关产品及提供的服务等以菜单模式等形式展现,系统通过人机混合引导,可自动切换到微信客服人工坐席,由人工对用户需求进行判断,选择用户所需菜单项服务进行回复。
    C、关键词应答(关键字无上限)

    2) 互动营销
    A、互动游戏管理
    B、互动调查管理
    C、活动管理(刮刮卡,大转盘,促销活动等等)

    \

    微信互动营销演示


    3) 微信会员卡
    会员卡实行手机号码认证,无需持卡,体现人性化服务。
    A、会员卡发卡管理
    B、会员卡信息编辑
    C、会员卡特权编辑
    D、会员卡积分管理
    E、会员卡统计管理

    \

    微信会员卡


    4) 优惠券管理
    优惠券是目前较为流行的促销方式,但是由于目前优惠券发放渠道过多,并且个别渠道带有较为繁琐的获取及使用方式,导致用户使用体验降低。而通过微信发放优惠券,用户获取优及使用惠券更加方便,且优惠券是由企业自行发布可信度更高,且更易对优惠券进行识别和管理。
    A、优惠券模板管理
    B、优惠券发放功能
    C、优惠券订制功能
    D、优惠券使用统计

    5、会员管理
    我们通过在微信内植入会员管理功能,帮助企业建立新一代的移动会员管理系统。清晰记录企业用户的消费行为并进行数据分析;还可根据用户特征进行精细分类,从而实现各种模式的精准营销。

    会员可在微信会员账号上实现 储值、消费、查询余额、积分、账单,以及时时通过微信下发消费信息等功能。

    如:消费赠券返券、储值消费奖励、新用户到店礼、会员关怀等。增强企业与用户之间的黏性,促进用户再次进店消费,提高营运收入。

    1) 微CRM
    A、用户咨询关键词统计
    B、用户分类统计
    C、用户增长数据
    D、咨询统计数据
    E、会员管理

    2) CRM对接
    可与企业原有CRM系统打通,实现轻会员与重会员并举,实体卡与虚拟卡的无缝对接,数据安全互通。
    A、可与企业原有CRM/ERP系统打通
    B、实体卡与虚拟卡的无缝对接

    6、订单管理
    支持与现有商城系统进行对接。

    \

     

    在线支付演示


    7、微支付
    支持在线支付功能,若无需在线支付,则只记录订单信息与流程

    \     \

    微支付演示

    8、物流查询

    当用户完成订单流程后,系统会自动发给用户一个地址,用户只要输入快递名称+运单号,可以快速查询快递的详细动态,收件从此不用愁。例如:天天快递130004442691

    \

    微信物流查询


    9、售后客服
    建议/投诉/售后等,内嵌售后服务表单。

    三、核心优势
    1、从微信公众账号的建立到营销、推广、互动、售后,我们提供全方位的解决方案
    2、自主研发团队,为企业提供灵活的微信公众平台定制开发
    3、提供微信公众平台与企业后台CRM、ERP的功能对接,让企业与消费者的距离更近
    展开全文
  • PHP微商城开源代码实例

    千次阅读 2019-03-27 20:38:37
    本文实例为大家分享了PHP微商城的具体代码,供大家参考,具体内容如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
  • 微商城支付功能(一)

    千次阅读 2018-04-03 10:59:16
    微商城支付真TM坑,规则太多了、配置太繁琐了对于我这种刚接手开发微支付,真的一脸懵逼哦走过太多浑水了自己只有不停的去找度娘,借鉴了很多前辈 所以自己也整理了一篇给刚接手微支付的程序猿。但是换一种想法规则...
  • CMS微商城源码

    2019-06-16 16:27:05
    2019独角兽企业重金招聘Python工程师标准>>> ...
  • PHP微商城开源代码

    千次阅读 2019-03-26 17:25:40
    <?php require '../conn/conn2.php'; require '../conn/function.php'; $D_domain = splitx($_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"], "/weixin", 0)...$sql = "Select * from SL_config";...$result = mysql...
1 2 3 4 5 ... 20
收藏数 9,924
精华内容 3,969
关键字:

微商城