Giter Site home page Giter Site logo

callmez / yii2-wechat Goto Github PK

View Code? Open in Web Editor NEW
387.0 51.0 195.0 778 KB

基于Yii2实现的微信模块, 集成微信模拟器、多公众号管理、扩展开发接口,只需关注功能,微信开发的强劲引擎[停止开发, 仅供学习].

Home Page: http://huajuan.me/yii2-wechat

License: MIT License

PHP 97.32% CSS 1.47% JavaScript 1.22%

yii2-wechat's Introduction

Yii-wechat

该项目仅做学习, 抱歉因为工作原因没有太多时间管理, 已停止开发

感谢选择 Yii-wechat,基于 Yii2 框架基础实现的模块。

Total Downloads

注意

  • 如果是全新使用Yii2Yii2-wechat,你可以使用 Yii2-app-wechat 微信应用模板(可在该模板基础上开发).

  • 如果是已有的Yii2项目扩展Yii2-wechat, 请遵循下面的安装步骤使用.

  • 如果想深度二次开发Yii2-wechat模块, 只需下载代码放到项目的modules目录中, 并把Yii2-wechatcomposer.jsonrequire, require-dev, autoload 三个节点(没有的节点可忽略)的内容合并到您的项目composer.json中, 并在项目目录下执行composer update命令. 该实现需要一定的PHP功底, 并且会放弃后期的版本升级功能.

  • 另本项目仍在开发阶段, 很多功能仍需思考, 建议仅用于Yii2wechat功能学习

环境条件

  • = php5.4

  • = Yii2

特点

  • 多公众号管理
  • 企业号支持?
  • 消息回复
    • 文本回复
    • 图文回复
    • 音乐回复
    • 语音回复
    • 视频回复
    • 图片回复
    • 远程回复
  • 素材管理
  • 自定义菜单
  • 二维码管理
  • 卡券功能
  • 多客服
  • 粉丝
    • 粉丝管理
    • 粉丝分组
    • 粉丝互动
  • 消息
    • 历史记录
    • 普通(微信)群发
  • 支付
    • 微信支付
    • 支付宝
  • 插件
    • 模块扩展平台
    • 基本模块
  • 开发支持
    • 微信模拟器
    • 开发文档
  • 待定功能

想提新功能? 提交issue 安装

安装步骤如下(2种方式):

  1. 通过composer.json文件安装

    • cd 项目目录 && composer require callmez/yii2-wechat

    或者

    • 项目目录下的composer.json
    • 添加"callmez/yii2-wechat": "dev-master"内容,然后执行composer update (模块中使用了angular的bower源,请确定使用composer-asset-plugin 大于 beta4的版本)
    "require": {
        ...
        "callmez/yii2-wechat": "*",
        ...
    }
    

安装完后, 在config/web.php 文件中配置module配置和components配置(...号代表其他设置)

  ...
  'modules' => [
    ...
    'wechat' => [ // 指定微信模块
        'class' => 'callmez\wechat\Module',
        'adminId' => 1 // 填写管理员ID, 该设置的用户将会拥有wechat最高权限, 如多个请填写数组 [1, 2]
    ]
    ...
  ],
  'components' => [
    ...
    'request' => [
          ...
          'parsers' => [ // 因为模块中有使用angular.js  所以该设置是为正常解析angular提交post数据
              ...
              'application/json' => 'yii\web\JsonParser'
          ]
      ],
    ...
  ]
  ...
  1. 最后生成数据库表(请确定数据库连接正常)

执行命令 php yii migrate --migrationPath=@callmez/wechat/migrations 根据提示安装数据库即可

反馈或贡献代码

您可以在这里给我们提出在使用中碰到的问题或Bug。

你也可以发送邮件[email protected]说明您的问题。

交流QQ群: 343188481 (注明企图)

如果你有更好代码实现,请 fork 此项目并发起您的 Pull-Request,我会及时处理。感谢!

yii2-wechat's People

Contributors

aiddroid avatar callmez avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yii2-wechat's Issues

作者加油!

本人刚学YII2,借鉴作者代码了!
另:坐等正式版,我把微擎换成这货!^_^

怎么会出现依赖找不到的情况

执行 composer update 之后,

  • callmez/yii2-wechat dev-master requires npm-asset/art-template 3.* -> no matching package found.
    这个依赖,是你那边特有的么?

请教一个问题:在mac上composer update的时候,import大量的tag,都好几千个了。请问怎么办?

这是我mac上用户目录下的root composer.json

{
    "require": {
        "codeception/codeception": "2.0.*",
        "codeception/specify": "*",
        "codeception/verify": "*",
        "fxp/composer-asset-plugin": "@beta"
    }
}

这是我项目的composer.json

{
    "name": "yiisoft/yii2-app-advanced",
    "description": "Yii 2 Advanced Project Template",
    "keywords": ["yii2", "framework", "advanced", "project template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "~2.0.6",
        "bower-asset/angular": "~1.3@stable",
        "yiisoft/yii2-bootstrap": "~2.0.0",
        "yiisoft/yii2-swiftmailer": "~2.0.0",
        "kartik-v/yii2-grid": "@dev",
        "qiniu/php-sdk": "7.*",
        "kartik-v/yii2-detail-view": "*",
		"kartik-v/yii2-widgets": "*",
        "kartik-v/yii2-date-range": "*",
        "kartik-v/yii2-mpdf": "*",
        "kartik-v/yii2-checkbox-x": "*",
        "callmez/yii2-wechat": "*"
    },
    "require-dev": {
        "yiisoft/yii2-debug": "~2.0.0",
        "yiisoft/yii2-gii": "~2.0.0",
        "yiisoft/yii2-faker": "~2.0.0",

        "codeception/base": "^2.2.3",
        "codeception/verify": "~0.3.1"
    },
    "config": {
        "process-timeout": 1800,
        "fxp-asset": {
            "installer-paths": {
                "npm-asset-library": "web/assets/vendor",
                "bower-asset-library": "web/assets/vendor"
            }
        }
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    },
    "scripts": {
        "post-install-cmd": "php init --env=Development --overwrite=n"
    }
}

类似这样的每个包它都导入了大量的版本

Importing tag v1.2.0 (1.2.0.0)
Reading bower.json of bower-asset/bootstrap (v4.0.0-alpha.6)
Downloading https://api.github.com/repos/twbs/bootstrap/contents/bower.json?ref=65ffb1c3b6e94440812a2e228cb8e8be512652ec
Downloading https://api.github.com/repos/twbs/bootstrap/commits/65ffb1c3b6e94440812a2e228cb8e8be512652ec
Writing /Users/cenyol/.composer/cache/repo/github.com/twbs/bootstrap/bower-65ffb1c3b6e94440812a2e228cb8e8be512652ec into cache
Importing tag v4.0.0-alpha.6 (4.0.0.0-alpha6)
Reading bower.json of bower-asset/bootstrap (v4.0.0-alpha.5)
Downloading https://api.github.com/repos/twbs/bootstrap/contents/bower.json?ref=b5890e0608ad2262cde4a38e90afa19f1cb5d852
Downloading https://api.github.com/repos/twbs/bootstrap/commits/b5890e0608ad2262cde4a38e90afa19f1cb5d852
Writing /Users/cenyol/.composer/cache/repo/github.com/twbs/bootstrap/bower-b5890e0608ad2262cde4a38e90afa19f1cb5d852 into cache
Importing tag v4.0.0-alpha.5 (4.0.0.0-alpha5)
Reading bower.json of bower-asset/bootstrap (v4.0.0-alpha.4)
Downloading https://api.github.com/repos/twbs/bootstrap/contents/bower.json?ref=295c93846c154fb461f85b30e663102f7e171104
Downloading https://api.github.com/repos/twbs/bootstrap/commits/295c93846c154fb461f85b30e663102f7e171104
Writing /Users/cenyol/.composer/cache/repo/github.com/twbs/bootstrap/bower-295c93846c154fb461f85b30e663102f7e171104 into cache
Importing tag v4.0.0-alpha.4 (4.0.0.0-alpha4)
Reading bower.json of bower-asset/bootstrap (v4.0.0-alpha.3)
Downloading https://api.github.com/repos/twbs/bootstrap/contents/bower.json?ref=c7de6107a86ebe65a6f5d5b88884256e5094ca92
Downloading https://api.github.com/repos/twbs/bootstrap/commits/c7de6107a86ebe65a6f5d5b88884256e5094ca92
Writing /Users/cenyol/.composer/cache/repo/github.com/twbs/bootstrap/bower-c7de6107a86ebe65a6f5d5b88884256e5094ca92 into cache
Importing tag v4.0.0-alpha.3 (4.0.0.0-alpha3)
Reading bower.json of bower-asset/bootstrap (v4.0.0-alpha.2)
Downloading https://api.github.com/repos/twbs/bootstrap/contents/bower.json?ref=48938155eb24b4ccdde09426066869504c6dab3c
Downloading https://api.github.com/repos/twbs/bootstrap/commits/48938155eb24b4ccdde09426066869504c6dab3c
Writing /Users/cenyol/.composer/cache/repo/github.com/twbs/bootstrap/bower-48938155eb24b4ccdde09426066869504c6dab3c into cache
Importing tag v4.0.0-alpha.2 (4.0.0.0-alpha2)
Reading bower.json of bower-asset/bootstrap (v4.0.0-alpha1)
Downloading https://api.github.com/repos/twbs/bootstrap/contents/bower.json?ref=980d8ea2d828fe1796a423f80d84d526b0252a89

在谷歌上搜到您也遇到过这个问题:fxpio/composer-asset-plugin#69
请问该怎么处理呢

有关配置问题

根据说明:
'request' => [
...
'request' => [
...
'parsers' => [ // 因为模块中有使用angular.js 所以该设置是为正常解析angular提交post数据
...
'application/json' => 'yii\web\JsonParser'
]
],
...
]


是否应该是:
'components' => [
...
...
'request' => [
...
'parsers' => [ // 因为模块中有使用angular.js 所以该设置是为正常解析angular提交post数据
...
'application/json' => 'yii\web\JsonParser'
]
],
...
]

我可以接手维护吗?

目前一个朋友貌似需要这个功能,但是确实太不完善了,我想接收维护项目,正好过两天我也开始有空了

exception

Setting unknown property: callmez\wechat\Module::adminId

Integrity constraint violation – yii\db\IntegrityException

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'access_token' cannot be null
The SQL being executed was: INSERT INTO wechat (name, description, created_at, updated_at, access_token) VALUES ('test', 'test', 1465804363, 1465804363, NULL)

access_token要在哪设置的???

请问这个module如何启动,或者说是入口

刚研究yii2,之前没用过这个框架,用的是前后台分开的高级模板Advanced Application Template,
在backend/modules下把您的代码clone了,然后在根目录的composer.json(backend父目录)里加入了"autoload": {
"psr-4": {"callmez\wechat": "backend/modules/wechat"}
},
然后composer update
在后台backend的config/main.php的modules加入了'wechat' => [
'class' => 'callmez\wechat\Module',
]
最后生成数据库表,创建成功。
一切都很顺利,访问index.php?r=wechat出现404,在Module.php下,我尝试输出打印,
public function init()
{
echo '1111';
}
是正常的输出,应该说模块是加载成功的或者说是配置成功的,
不懂在哪去找入口或者demo,能看到你那个内置模拟器界面也可以,主要想看看怎么调用的。
tks!

配置数据库不正确

1、输入php yii migrate --migrationPath=@callmez/wechat/migrations,显示找不到yii文件?
2、用第一种安装方法,会生成一个vendor的文件夹,这个文件夹就是整个工程的文件夹么?之前的yii2-wechat-master文件夹是不是没用了?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.