Mojo-Weixin

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

2019-04-08 Mojo::Weixin v1.4.4
1)Openwx插件增加post_message_filter参数来过滤上报的消息内容
2)文档细节完善
3)祝自己生日快乐:-)

2018-11-22 Mojo::Weixin v1.4.3
1)修复Mojo::Transaction::success is DEPRECATED的问题
2)Mojolicious最低依赖版本提升至v8.02

2018-10-09 Mojo::Weixin v1.4.2
1)IO::Socket::SSL依赖模块版本最低2.009
2)Mojolicious依赖模块版本最低7.83

2018-06-29 Mojo::Weixin v1.4.1
1)保存的媒体文件权限设置为0644,修复保持文件时,修改权限调用chmod windows跨平台不兼容问题
2)小冰公众号原本的account: xiaoice-ms 已经失效了,现在只能使用名称来找到 
   修复了因此造成的 XiaoiceReplay 插件 以及 /openwx/consult 接口存在的问题
3)修复/openwx/consult接口返回的消息错乱问题
4)Openwx插件跨域支持完善
5)dockfile更新 解决docker镜像无法制作问题
6)更新依赖关系,解决 IO::Socket::SSL 2.009+ required for TLS support 问题

2017-04-17 Mojo::Weixin v1.4.0
1)Dockerfile更新,换用centos基础镜像,体积更小
2)修复Beauty插件的bug
3)下载的文件使用原始文件名称保存
4)插件IRCShell使用sendFile指令增加media_dir参数

2017-02-26 Mojo::Weixin v1.3.9
1)开放HTTP的Agent自定义属性
2)修复重复发消息的BUG,每个消息对象增加一个uid属性,作为消息唯一标识,再多次失败尝试过程中,服务端对相同uid不会重复

META.json  view on Meta::CPAN

            "ExtUtils::MakeMaker" : "0"
         }
      },
      "runtime" : {
         "requires" : {
            "Compress::Raw::Zlib" : "0",
            "Digest::MD5" : "0",
            "Digest::SHA" : "0",
            "Encode::Locale" : "0",
            "IO::Compress::Gzip" : "0",
            "IO::Socket::SSL" : "2.009",
            "Mojolicious" : "8.02",
            "Time::HiRes" : "0",
            "Time::Piece" : "0",
            "Time::Seconds" : "0"
         }
      }
   },
   "release_status" : "stable",
   "resources" : {
      "repository" : {

META.yml  view on Meta::CPAN

no_index:
  directory:
    - t
    - inc
requires:
  Compress::Raw::Zlib: '0'
  Digest::MD5: '0'
  Digest::SHA: '0'
  Encode::Locale: '0'
  IO::Compress::Gzip: '0'
  IO::Socket::SSL: '2.009'
  Mojolicious: '8.02'
  Time::HiRes: '0'
  Time::Piece: '0'
  Time::Seconds: '0'
resources:
  repository: git://github.com/sjdy521/Mojo-Weixin.git
version: v1.4.6

Makefile.PL  view on Meta::CPAN

    LICENSE             => "perl",
    PREREQ_PM         => {
        "Compress::Raw::Zlib"   => 0,
        "IO::Compress::Gzip"    => 0,
        "Time::HiRes"           => 0,
        "Time::Piece"           => 0,
        "Time::Seconds"         => 0,
        "Digest::SHA"           => 0,
        "Digest::MD5"           => 0,
        "Encode::Locale"        => 0,
        "IO::Socket::SSL"       => '2.009',
        "Mojolicious"           => '8.02',
    }, # e.g., Module::Name => 1.1
    dist              => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
    clean               => { FILES => 'Mojo-Weixin-* MANIFEST' },
    META_MERGE => {
        'meta-spec' => { version => 2 },
        resources => {     
            repository=>{
                type    => 'git',
                url     => 'git://github.com/sjdy521/Mojo-Weixin.git',

README.md  view on Meta::CPAN

    这种情况下可以尝试按如下方式手动指定国内的镜像站点
    
        $ cpanm --mirror http://mirrors.163.com/cpan/ Mojo::Weixin

3. *安装失败可能有帮助的解决方法*
        
    如果你运气不佳,通过cpanm没有一次性安装成功,这里提供了一些可能有用的信息

    在安装 Mojo::Weixin 的过程中,cpan或者cpanm会帮助我们自动安装很多其他的依赖模块
    
    在众多的依赖模块中,安装经常容易出现问题的主要是 IO::Socket::SSL
    
    IO::Socket::SSL 主要提供了 https 支持,在安装过程中可能会涉及到SSL相关库的编译

    对于 Linux 用户,通常采用的是编译安装的方式,系统缺少编译安装必要的环境,则会导致编译失败
    
    对于 Windows 用户,由于不具备良好的编译安装环境,推荐采用一些已经打包比较全面的Perl运行环境
    
    例如比较流行的 strawberryperl 或者 activeperl 的最新版本都默认包含 Mojo::Weixin 的核心依赖模块

    RedHat/Centos:

        $ yum install -y openssl-devel

cpanfile  view on Meta::CPAN

requires 'Compress::Raw::Zlib';
requires 'IO::Compress::Gzip';
requires 'Time::HiRes';
requires 'Time::Piece';
requires 'Time::Seconds';
requires 'Digest::SHA';
requires 'Digest::MD5';
requires 'Encode::Locale';
requires 'IO::Socket::SSL', '>= 2.009';
requires 'Mojolicious','>= 8.02';
recommends 'Term::ANSIColor';
conflicts 'Mojolicious','< 8.02';

docker-image/Dockerfile  view on Meta::CPAN

    perl \ 
    perl-App-cpanminus \
    perl-Compress-Raw-Zlib \
    perl-Digest-MD5 \
    perl-Digest-SHA \
    perl-Time-Piece \
    perl-Time-HiRes \
    perl-IO-Socket-SSL \
    perl-Encode-Locale && \
    yum clean all
RUN cpanm -vn Test::More IO::Compress::Gzip Time::Seconds Term::ANSIColor IO::Socket::SSL Mojolicious
RUN wget -q https://github.com/sjdy521/Mojo-Weixin/archive/master.zip -OMojo-Weixin.zip \
    && unzip -qo Mojo-Weixin.zip \
    && cd Mojo-Weixin-master \
    && cpanm -v . \
    && cd .. \
    && rm -rf Mojo-Weixin-master Mojo-Weixin.zip
CMD perl -MMojo::Weixin -e 'Mojo::Weixin->new(log_encoding=>"utf8")->load(["ShowMsg","UploadQRcode"])->load("Openwx",data=>{listen=>[{port=>$ENV{MOJO_WEIXIN_PLUGIN_OPENWX_PORT}//3000}],post_api=>$ENV{MOJO_WEIXIN_PLUGIN_OPENWX_POST_API}})->run'

script/check_dependencies.pl  view on Meta::CPAN

my %dependent_modules = (
    'App::cpanminus'            => undef,
    'Compress::Raw::Zlib'       => undef,
    'IO::Compress::Gzip'        => undef,
    'Time::HiRes'               => undef,
    'Time::Piece'               => undef,
    'Time::Seconds'             => undef,
    'Digest::SHA'               => undef,
    'Digest::MD5'               => undef,
    'Encode::Locale'            => undef,
    'IO::Socket::SSL'           => undef,
    'Term::ANSIColor'           => undef,
);
print "Checking dependencies ...\n";
print "--------------------------------\n";
for my $module (keys %dependent_modules){
    eval "require $module";
    $dependent_modules{$module} = $@?0:1;
    printf "%-25s is %s\n", $module,$@?"not ok":"ok";
}
print "--------------------------------\n";



( run in 1.076 second using v1.01-cache-2.11-cpan-fd5d4e115d8 )