东东东 陈煜东的博客

月份存档: 九月 2012

我的第一次泰山之行

2012 年 9 月 27 日,星期四。眼看中秋十一黄金周就要来了。本来决定是星期五晚上去爬泰山并看日出的,这天中午,临时改成这天晚上去爬山,因为星期四人不是太多,还没到放假时间。于是星期四下午就准备准备前往泰山。

晚上 7 点多,就快出发的时候,发生一系列的事件。宿舍断网了,电灯暗了两次,风突然刮的很大。坐上公交车不久后,天就开始下雨了,天气预报说是多云,并且风也是挺大的。公交车上,泰安的同学打电话来说那边也下雨了。但是这雨并没能阻挡此次前往泰山的旅行。还是前往了火车站取票,到了火车站,雨就开始停下来了。火车站里头的人可真多啊,有点像春节的感觉,路边都坐满了旅客。

晚上 11 点,火车到泰安。一出火车站,就有人凑上来问去哪里了,说了去泰山后,就跟着他前往出租车了。感觉真好,到一个地方还有人来为你带路,咱没有什么特别害怕的,就听他的话,上车了(就像免费的导游似的)。到了出租车,司机就开始讲了上山的注意事项,买香、雨衣、手电筒等东西。到了一个小卖铺就停下来了,把门打开,让我们下来买东西,有那种不买不让你走的架势。于是就买了9支香,共¥30(貌似山顶的贵的很,¥90?还有政策说不让旅客自带长50cm,直径1cm的香?我晚上去的时候给忽略了?)。司机赚了一小把,此时的打的费用为¥10,白天回来打的只要¥8,¥10可能算上停车的时间了,或者晚上的价格更贵些。

到了红门,往前走了一段路,花了¥62买了门票就上去了,路上一片漆黑,什么也看不见,手电筒看到的东西全部忘记了。从入口走了不久后,有一个人单独的跟上来了,一路扯,最后说到了上山要烧香,到泰山奶奶那边去烧香,到了碧霞灵应宫(Google Earth坐标: 36°13’33.88″ N, 117° 6’52.27″ E),众多游客都在此地上自己带的香了,而且此处上香是收费的,还不是太了解此地。上网搜索了一下,没有具体的情况,但是又被告知山上玉皇顶可以上香,于是就直接继续上山了。

不用手电筒,月光还是能照到一些路面的,雨刚下完,云也不是特别多,不过风倒是挺大的。到了中天门,一瓶¥5,表示不能接受,于是说3瓶¥10,居然拿爽快答应了,如果说4瓶不知道能不能答应。

越往上走,风越来越大,温度也变的有点低了,但是在上山的过程中还是比较热的。一路的往上爬,最后到十八盘的时候,将有1600级台阶,腿已经有点累了。在十八盘的最后一个补给站,再往上走就到南天门了,休息了一下,毕竟上面的风很大,而且这里也有很多人在这里休息。时不时有人下来推广日出照相。休息了一下子(Google Earth坐标: 36°15’15.52″北,117° 5’56.74″东),身体热量散失,走了不久,腿就开始抽筋了,不过动了动,恢复了。

4点,到了南天门,进了一家拉面馆里,一进去里面太暖或了,要了一碗拉面¥20,这面没有什么味道,很淡,而且水也不热啊,不过清淡的感觉挺好的,貌似厨师是被迫叫醒来给做拉面的。因为其他人都是吃¥15的方便面。来了一伙人,也点了拉面,不淡定了,表示没味道,香换成方便面。风特别大,门总是被吹开,用灭火器去阻挡也能被吹开,无奈。时不时有人出来推销军大衣,一件¥10,比节假日的¥25便宜多了。等待到5点左右,有人叫我们去看日出的赶紧出发。一出门口,风特别大,在一个温暖的地方呆了一段时间后,再到外面吹那么大的风,直接受不了,带上帽子,勉强能接受,看来怕冷的人的确需要厚衣服,否则真的会受不了呢。出去了一段时间后,能接受外面的大风的温度了。

到了山上的日观峰(Google Earth坐标: 36°15’22.79″ N, 117° 6’15.39″ E),看见东边已经开始露出一片的白色了,等待了一下,有人说要照相到前面去,于是就顺路一起前去了。不过风很大,人都快被吹倒了。往前走了一段到了观日台(Google Earth坐标:  36°15’22.69″ N, 117° 6’22.10″ E,2009年10月24日图层)。

Google地球泰山观日台的东边眺望在观日台上看日出,视野明亮多了,没有建筑物挡着,看远方就是一条地平线。太阳还没出来,远方的遮挡太阳的山已经出现了金色了,然后太阳渐渐地从一个凹点升了起来。后来太阳越来越亮,而且也越来越大。风很大,日出倒是没怎么拍,眼睛看看就好了,拍照留给专业人士去拍。

看日出的时候,往后一看,一堆人都朝着一个地方看,这让我想到了一群的企鹅从遥远的地方过来,聚集在一起,干一件事,然后离开。现在是一群人从各地过来,聚集在山顶上看日出,看完日出后,有陆陆续续的离开。人和自然都有联系。

看完日出,走了一圈到玉皇顶上个香,祈个福。有个人问:“你们的香是自带的?我不了解情况,山上的贵死了。”其实我也是不了解情况,我是觉得我也被迷惑了。这里上香不用钱,但是有一些拜玉皇大帝的时候可以给一些香油钱,累计¥10送个香包。

7 点下来的时候,南天门的下边往下照了一张图片,感觉还是挺抖的,这要是一不小心,叫踩空了,那还了的?下山小心翼翼的走,台阶太小了,脚踩不好,好几次前脚跟在下面一块上,后脚跟在后面一块上,就快摔倒了,老天保佑,没有事情。十八盘起点不远,就有许多卖雕像的人,这些东西看着没什么意思。路上还有个脚不好用的人在行乞。唉~不知道两根拐杖对他来说容易不容易,倒是那挑山工,感觉真辛苦呢,一天来回没几趟,但是每次挑的量却比较少,看价值也不多,估计一次的钱也不多啊。

这次的泰山没认真看什么,倒是天气不错,很晴朗,就是风有那么一点大。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: 我的第一次泰山之行 – https://www.chenyudong.com/archives/my-first-taishan-trip.html

分类: 生活

hibernate mysql 中文乱码异常

用Hibernate往mysql 5.1数据库中进行查询数据,表的结构使用的是utf-8编码,服务器在Linux上,这个时候往数据库上查询,插入没问题。后来往5.1的数据库导入模型的时候,外键不见了,于是在Windows本地安装了一个mysql 5.5的数据库,导入模型正常。但是进行查询的时候抛出异常说

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?? as ??0_, owner0_.??? as ???0_, owner0_.?? as ??0_, owner0_.???? as ????0_ fro' at line 1

但是上面的Hibernate自动生成的sql语句显示不会乱码,当然,这两者没关系,表示我的这个sql语句是没有问题的。

于是我在Windows的mysql5.1中建立一个同样的数据库,发现也是这样的错误。

尝试尝试是否是编码的问题,我检查数据库都是用UTF-8编码设置的,没发现有什么异常。

最后在hibernate.cfg.xml上的session-factory中添加编码设置,最后的文件配置是这样的。

<session-factory>

    <property name="connection.url">jdbc:mysql://localhost:3306/test</property>
    <property name="connection.username">root</property>
    <property name="connection.password">password</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="connection.useUnicode">true</property>
    <property name="connection.characterEncoding">UTF-8</property>

    <property name="show_sql">true</property>

    <mapping resource="owner.hbm.xml" />

</session-factory>

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: hibernate mysql 中文乱码异常 – https://www.chenyudong.com/archives/hibernate-excute-mysql-chinese-character-garbled-exception.html

分类: JavaEE

Sublime Text 2 介绍

Sublime Text是一个编辑器,神器级的,用官方的话来说就是a sophisticated text editor for code, markup and prose.。该软件跨平台,32bit、64bit都有,不过需要收$59,咱没钱啊。不过记住了,咱们在中国。

下载地址:http://www.sublimetext.com/2

Ubuntu12.04 安装Sublime

一下方法不适用于2.0.2版本

1.我使用的64bit的。将该文件sublime_text.exe复制一份为sublime_text - 副本.exe。用sublime_text - 副本.exe打开编辑sublime_text.exe

2.搜索3342,可能搜索到多个,但是前后文字是4333 3342 3032。将3342改成3242

将3342改成3242

将3342改成3242

3.打开sublime_text.exe,在Help | Enter License输入以下内容

—–BEGIN LICENSE—–
hiwanz
Unlimited User License
EA7E-26838
5B320641E6E11F5C6E16553C438A6839
72BA70FE439203367920D70E7DEB0E92
436D756177BBE49EFC9FBBB3420DB9D3
6AA8307E845B6AB8AF99D81734EEA961
02402C853F1FFF9854D94799D1317F37
1DAB52730F6CADDE701BF3BE03C34EF2
85E053D2B5E16502F4B009DE413591DE
0840D6E2CBF0A3049E2FAD940A53FF67
—–END LICENSE—–

这样就成功了。

字体太小,我需要变大些。只支持UTF-8,这点可以接受。不支持Windows默认GB2312。

使用快捷键

文件跳转 Ctrl + ` 打开控制台 Ctrl + g 跳转行数。毕竟上下滚动太麻烦了。 Ctrl + r 函数声明跳转 Ctrl + p 打开命令窗口,其实上面的都是通过这个窗口进行的,只是帮忙加了默认值。这个窗口可以搜索项目的文件名。

对布局进行操作 Alt + Shift + 1 ~ 5 切换编辑器中不同的布局,可以是两栏,三栏 Ctrl + Shift + 1 ~ 4 将当前的tab标签页移动到其他的面板布局中 Ctrl + 1 ~ 4 将光标的焦点在不同的面板布局中切换

对代码进行操作 Ctrl + Shift + 上下箭头 将光标的所在行向上/下移动 Ctrl + Shift + k 删除当前行 Ctrl + Shift + d 复制当前行到下一行 Alt + F3 批量选中相同的词、变量

安装插件Package Control

Sublime Text是一个支持插件扩展的编辑器的。

HTTP代理配置提示:如果你所在的网络是内网,需要配置HTTP代理的话,那么需要先设置一些东西。打开Preference -> Setting Default,打开了一个json的配置文件,添加一行"http_proxy": "http://your.proxy.com:8080"一定要注意上一行的添加,结尾,否则就会出现json解析不对。

第一步:打开控制台Console (快捷键Ctrl + `(ESC和Tab中间的那个键))。

第二步:在控制台中输入以下命令

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'

第三步:回车,等待下载安装完成。

第四步:安装好后,打开Preferences → Package Control,(或者快捷方式Ctrl + Shift + P),然后输入IP,选择Package Control:Install Package进入新选项。

第四步:输入需要安装的插件,选中,等待下载安装,然后就行了。

相关文章:http://www.cnblogs.com/leecanz/archive/2012/03/04/2379446.html

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: Sublime Text 2 介绍 – https://www.chenyudong.com/archives/sublime-text-2-introduction.html

分类: 软件

Exception一定要被处理,不只是catch

写了个小程序,用多线程去抓取一堆文件,编号是连续的,于是我开了100个线程去抓取,运行的时候,报异常了,貌似是栈溢出了。

后来改成20,再去抓取,这次就行了看见一个个那边下载,但是有时候能看见一些异常,这个异常是IO异常,具体不知道原因,因为下载许多个文件才出现一次。

反思

直接在catch中写e.printStackTrace()太糟糕了。除非是简单的一个小调试,测试代码是否能工作。如果真的在正式场合,或者该该异常后面的代码执行会对你的需求产生影响,就需要将其处理了,并且写入到文件中。这样以后才能检查到哪里出了问题。

这样多线程下载文件,不知道哪个没有下载下来,所以以后在处理异常的时候,应该把该异常处理的那个文件编号保存到文件里,这样在下载后就能查看哪个文件没下载完了。

把代码贴出来,这个是我用多线程下载连续文件的方法,并把它分成了好几个部分,每个部分下载自己的那部分,不会妨碍到其他的线程。

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import javax.imageio.ImageIO;

public class SaveFile {
    private int intervalLength = 1000;//每个线程处理的区间长度

    private long finalId = 152000;//最后一个文件的id

    private static ExecutorService pool = Executors.newFixedThreadPool(20);

    private Integer lock=0;//区间的索引值,锁,用于多线程之前的赋值

    /**
     * 下载第i个
     * 
     * @param i
     */
    public void download(long i) {
        //TODO 写自己的下载代码吧
    }

    public void start() {
        System.out.println("has segment:"+finalId/intervalLength);

        for (lock = 0; lock &lt;= finalId/intervalLength; lock++) {

            synchronized (lock) {
                //把当前的区间赋值给临时变量,如果直接用lock,
                //那么多线程里的数值就变成了最后一个了,速度太快了。
                final long a = lock;
                pool.execute(new Runnable() {
                    @Override
                    public void run() {
                        for (long i = a*intervalLength; i &lt; (a+1)*intervalLength; i++) { 

                            download(i);
                        }
                    }
                });
            }

        }
    }

    public static void close(){
        pool.shutdown();
    }

    public static void main(String[] args) {
        SaveFile s=new SaveFile();
        s.start();
        SaveFile.close();
    }
}

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: Exception一定要被处理,不只是catch – https://www.chenyudong.com/archives/exception-must-be-resolved.html

分类: Java

利用uTorrent在ipv6下传文件

学校的ipv4网络不给力,传个文件才200KB/s,远没能达到局域网的那速度10MB/s。一般传文件都用QQ直传,但是学校的网络拓扑分布使得有的地方的直传比较慢。最后想ipv4的速度不行,那就用ipv6吧。

许多人的电脑有安装uTorrent,这个软件很小巧,不到1MB。下载个ipv6的资源也很方便,利用它来做为传输的工具吧。下载uTorrent v1.8.5

情景:A有文件要发送,B要接受文件。

法一:利用tracker传文件

A要做的事情是发布一个种子。创建种子的教程如下,有附图:

  1. 工具栏中的 文件 - 新建uTorrent种子
  2. 选择文件或者文件夹
  3. 填写trackers,例如我的是这样的
    http://[2001:da8:7001:30:428:7651:e110:c06d]:21000/announce
    请填写自己的ip6地址和uTorrent端口。格式http://[ipv6]:port/announce
  4. 勾选私有种子,文件顺序随便,根据情况勾选开始做种(下方有说明)。
  5. 创建并另存为 种子。
  6. 将种子做种。
  7. 然后将种子用QQ传给B。

注:为什么没勾选开始做种呢?

因为有些版本在创建好后,会显示下载中,但是就是不能完成下载。这样的种子是没办法上传资源的。

如果你的版本uTorrent出现这样的情况,那么把种子从下载列表中删除,重新将种子添加到下载列表中,在保存下载目录的时候选择原先文件所在的目录,跳过下载,这样检查种子完整性后就能做种了。

如图

uTorrent制作私有种子教程

B所要做的事情是,将种子添加到下载列表下载。

分析:此方法B方便,A操作比法二多一步。但是此方法如果A换了ip和端口,那么该种子就无效了。

法二:利用peer传文件

A的做法和法一类是。只是不用填写trackers。此处留空白,其他的一样。

B的做法是。将种子添加到下载列表后,选中种子,在peers中右键点击add peer...,添加A的ip地址和uTorrent的端口。

如图

给没有tracker的种子添加A的peer的ip地址和端口

分析:此方法,A操作比法一少了一步,但是B需要一些工作量。但是此方法在A更换ip后可以继续使用,只要B更换ip和端口,灵活。

法三:uTorrent快速发布种子

在高版本的uTorrent的左下角有个Drop files to send,快速发布种子,然后到C:\Users\ddd(username)\AppData\Roaming\uTorrent寻找种子发给对方。

此方法发布的种子为公开的,不推荐。需要ipv4网络的支持,而且可能会走ipv4的流量,但是确实可以传文件。

如果只有ipv6怎么办,那么可以使用Gmail把种子发给对方。Google支持ipv6。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: 利用uTorrent在ipv6下传文件 – https://www.chenyudong.com/archives/transfer-files-via-utorrent-in-ipv6.html

分类: 网络

Windows 7 64bit 交通银行使用IE8无法输入密码

我使用的是Windows 7 64bit 的系统,在使用交通银行的网银时,还是比较方便的。在付款的时候,直接使用网页空间输入,不用安装一些插件,在Google Chrome里面也可以使用网银付款,方便极了,而且付款流程简单,不繁琐。

但是要进入网银的后台查看的话,就得用IE浏览器了,需要安装插件。我使用32bit模式的IE8,在安装完插件后,显示的状态是和可以输入密码的样子相同的,但是就是不能输入密码。使用64bit的IE8,根本不能安装插件。如图显示

交通银行网银登录页面下,64bit下的IE8无法输入密码,但插件显示可以输入密码。

交通银行也说

目前我行网银仅支持Windows Vista或Windows 7等的32位操作系统,64位的Windows操作系统暂不支持。

解决办法

我的解决办法是,进入文件夹C:\Program Files (x86)\Internet Explorer\,找到文件iexplore.exe,右键菜单选择以管理员身份运行。这样就可以在32bit模式的IE8中运行交通银行的网银了。

当然了,也可以像交通银行官方说的,使用32bit的Windows系统。

赶紧进入https://pbank.95559.com.cn/personbank/logon.jsp看看能不能输入密码吧。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: Windows 7 64bit 交通银行使用IE8无法输入密码 – https://www.chenyudong.com/archives/windows-7-64bit-enable-online-bank-of-bcm.html

分类: 网络

CentOS yum安装sun Java jre jdk和openjdk

在Linux下的tty终端下,安装sun jre,但是去Oracle安装,下载居然还要登录,使用cookie,没办法。直接到http://www.java.com/下载了。

说明:如果使用yum install 安装软件,具体的软件名称不知道,tab又不管用,可以使用yum list j* 来查看相关的软件名称

安装sun JDK

进入http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html,寻找最新的JDK地址,在以下代码中url替换最新的jdk地址。

没办法直接通过wget下载,需要cookie。(感谢网友评论留下的方法。)

wget --no-check-certificate --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com" "http://download.oracle.com/otn-pub/java/jdk/7u15-b03/jdk-7u15-linux-x64.rpm"

改名后,使用一下代码安装

yum install jdk-7u15-linux-x64.rpm

安装sun jre

到http://java.com/zh_CN/download/manual.jsp找到自己的版本下载,我的是下载Linux x64 RPM,地址http://javadl.sun.com/webapps/download/AutoDL?BundleId=67387

下载jre,并重命名

wget -O jre-7u6-linux-x64.rpm http://javadl.sun.com/webapps/download/AutoDL?BundleId=67387

安装

yum install jre-7u6-linux-x64.rpm

安装成功

[root@317304 ddd]# java -version
java version "1.7.0_06"
Java(TM) SE Runtime Environment (build 1.7.0_06-b24)
Java HotSpot(TM) 64-Bit Server VM (build 23.2-b09, mixed mode)

安装openjdk

yum install java-1.7.0-openjdk

参考:http://openjdk.java.net/install/

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: CentOS yum安装sun Java jre jdk和openjdk – https://www.chenyudong.com/archives/centos-yum-install-sun-java-jre.html

分类: Java

最土团购增加消费返积分功能

开源的最土团购虽然在数据库中有积分的这个字段,但是只能是固定的一个数值。比如买个团购,固定100积分。

现在需要根据用户消费验证后,才能增加积分。具体的新增积分公式为新增积分 = 网站的价格 × 积分系数

我们先改能看得见外观的html代码。

/include/template/manage_team_edit.html中的虚拟购买

<label>虚拟购买</label>
<input id="team-create-pre_number" class="number" type="text" name="pre_number" value="${moneyit($team['pre_number'])}" datatype="number" size="10" />

后面添加

<label>返积分系数</label>
<input id="team-create-rate" class="number" type="text" name="rate" value="${moneyit($team['rate'])}" datatype="double" size="10" />

注意datatype="double",这样在js能自动先检查。先看看效果图

在修改了凡积分系数的输入框后的页面显示效果,红色为新增加的"返积分系数"

在下方的返利文字变成积分,并让输入框增加disabled,禁止人工手动修改。修改效果如下

禁止编辑具体积分,具体积分通过积分系数计算,所以禁止输入框输入。

在数据库中的team表添加字段rate double(3,2) 格式0.00,然后在/manage/team/edit.phpif ( is_post() )中的

$insert = array(
    'title', 'market_price', 'team_price', 'end_time',
    'begin_time', 'expire_time', 'min_number', 'max_number',
    'summary', 'notice', 'per_number','permin_number','allowrefund', 'product','image', 'image1', 'image2', 'flv', 'now_number',
    'detail', 'userreview', 'card', 'systemreview',
    'conduser', 'buyonce', 'bonus', 'sort_order',
    'delivery', 'mobile', 'address', 'fare',
    'express', 'credit', 'farefree', 'pre_number',
    'user_id', 'city_id', 'group_id','sub_id', 'partner_id',
    'team_type', 'sort_order', 'farefree', 'state',
    'condbuy','express_relate','city_ids'
);

最后添加一个'rate',结果如下

$insert = array(
    'title', 'market_price', 'team_price', 'end_time',
    'begin_time', 'expire_time', 'min_number', 'max_number',
    'summary', 'notice', 'per_number','permin_number','allowrefund', 'product','image', 'image1', 'image2', 'flv', 'now_number',
    'detail', 'userreview', 'card', 'systemreview',
    'conduser', 'buyonce', 'bonus', 'sort_order',
    'delivery', 'mobile', 'address', 'fare',
    'express', 'credit', 'farefree', 'pre_number',
    'user_id', 'city_id', 'group_id','sub_id', 'partner_id',
    'team_type', 'sort_order', 'farefree', 'state',
    'condbuy','express_relate','city_ids','rate'
);

在下面一行添加$team['credit'] = $team['rate']*$team['team_price'];。这样/manage/team/edit.php修改完毕。

我们要的是在商家验证用户消费后才给增加积分,而不是在购买了产品后就增加积分。 在/include/class/ZFlow.class.php中的 static public function CreateFromCoupon($coupon)方法添加

ZCredit::Create($coupon['credit'], $coupon['user_id'], 'xiaofei', 0);

这样商家验证消费后就给用户增加了积分

/include/class/ZCredit.class.php文件的末尾增加

else if('xiaofei' == $action){
    return '消费返积分';
}

如图

为消费返积分添加描述

在ZCredit.class.php中添加代码,为消费返积分添加描述。

这样在商家验证消费后,在积分记录中就会显示”消费返积分”了。

声明:未经允许禁止转载 东东东 陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自东东东 陈煜东的博客

本文链接地址: 最土团购增加消费返积分功能 – https://www.chenyudong.com/archives/zuitu-add-consumer-return-credits-function.html

分类: 网站建设

Copyright © 2017 东东东 陈煜东的博客 粤ICP备13059639号-1

SITEMAP回到顶部 ↑