声明:
- 插件是需要花时间开发的,这里所说的是稳定基础版,仅在wecenter3.1.8上测试,不保证其他版本的wecenter也能适用。
- 本插件适合安装在未经过二次开发的wecenter上使用,如果安装在经过二次开发的wecenter上使用导致与现有的文件冲突,或导致其他损失的,概不负任何责任。
- 由于wecenter插件机制的原因,本插件不能算是完全独立的插件,需要修改部分wecenter文件来达到使用的目的,如果介意,请不要安装使用,如果因自行修改不当而导致其他问题出现,概不负任何责任。
- 该插件不单独提供使用帮助和安装指导。
- 如果选择安装使用,视为已同意以上声明条款。
说明:
        支付宝收款、微信收款都需要企业资质,如果是个人用户,就不用下载了,下载了也用不了。
        官方也有开发打赏功能,不过尚未公布(20160918),或许功能更强大,怕不兼容后期wecenter版本的话,请谨慎安装使用。
 
其他说明:
    提现无法做到自动提现,用户申请后,管理员通过后台可以看到申请情况,然后根据申请填写的支付宝账号,到支付宝打款给申请者,然后回来吧把支付的流水号填写到提现申请页面,完成提现流程。
 
※ 特别说明:
        由于wecenter的插件机制非常不完善,所以不能开发出完全独立的插件。但是已经做到尽量少修改系统原有文件。
        因为涉及到模板修改,为了不影响原有模板,所以所有修改的模板文件都放在了新建的fesiong模板目录。
        所以,需要使用打赏功能,首先需要到后台配置、选择fesiong作为界面模板。
        在后台打赏配置那里,配置好支付宝、微信的收款配置。
        如果你需要整合到现有模板,则需要把/static/css/fesiong/fesiong.css里面的样式复制到你的css中。
        article.tpl.htm、question.tpl.htm均有改动,请自行搜索“赏”字,来找到改动的地方,复制到对应文件。
        导入sahng.sql。如果你的表前缀不是aws_,请先打开sahng.sql替换aws_成你的表前缀。
 
演示地址(部分功能):
http://www.kandaoni.com
 
使用方法:
添加表aws_shang
    CREATE TABLE `aws_shang` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `uid` int(11) DEFAULT '0',
      `order_id` bigint(20) DEFAULT NULL,
      `add_time` int(11) DEFAULT '0',
      `price` int(11) DEFAULT '0',
      `pay_way` tinyint(1) DEFAULT '1',
      `terrace_id` varchar(64) DEFAULT NULL,
      `has_pay` tinyint(1) DEFAULT '0',
      `pay_time` int(11) DEFAULT '0',
      `item_type` tinyint(1) DEFAULT '1',
      `item_id` int(11) DEFAULT '0',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
添加表aws_flow
    CREATE TABLE `aws_flow` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `uid` int(11) DEFAULT '0',
      `price` int(11) DEFAULT '0',
      `add_time` int(11) DEFAULT '0',
      `order_id` bigint(20) DEFAULT NULL,
      `item_id` int(11) DEFAULT '0',
      `item_type` tinyint(1) DEFAULT '1',
      `item_uid` int(11) DEFAULT '0',
      `pay_type` tinyint(1) DEFAULT '1',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;
添加表aws_withdraw
    CREATE TABLE `aws_withdraw` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `type` tinyint(1) DEFAULT '1',
      `uid` int(11) DEFAULT '0',
      `add_time` int(11) DEFAULT '0',
      `price` int(11) DEFAULT '0',
      `status` tinyint(1) DEFAULT '0',
      `pay_time` int(11) DEFAULT '0',
      `pay_account` varchar(64) DEFAULT NULL,
      `pay_name` varchar(64) DEFAULT NULL,
      `order_id` bigint(20) DEFAULT NULL,
      `terrace_id` varchar(64) DEFAULT NULL,
      `info` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
修改aws_users
    ALTER TABLE `aws_users` 
    ADD COLUMN `balance` INT NULL DEFAULT 0 AFTER `recent_topics`;
修改aws_users_attrib
    ALTER TABLE `aws_users_attrib`
    ADD COLUMN `alipay_name`  varchar(255) DEFAULT NULL COMMENT '支付宝提现姓名' AFTER `homepage`;
    ALTER TABLE `aws_users_attrib`
    ADD COLUMN `alipay_account`  varchar(255) DEFAULT NULL COMMENT '支付宝提现账号' AFTER `alipay_name`;
修改aws_question
    ALTER TABLE `aws_question` 
    ADD COLUMN `price` INT NULL DEFAULT 0 AFTER `sort`,
    ADD COLUMN `expity_date` SMALLINT(3) NULL DEFAULT 3 AFTER `price`,
    ADD COLUMN `has_pay` tinyint(1) NULL DEFAULT 0 AFTER `expity_date`,
    ADD COLUMN `pay_time` INT NULL DEFAULT 0 AFTER `has_pay`;
涉及到修改原有系统文件的地方
1、    /app/article/main.php
    73行:
        //start 如果需要得到该文章被打赏了多少,则在这里查询
        $article_info['price'] = $this->model('shang')->get_article_shang($article_info['id']);
        //end
2、 /app/question/ajax.php
    1015行
        //当设置为最佳回复的时候,则悬赏金额归最佳回复作者所有。
        if(!$question_info['has_pay']){
            $this->model('shang')->set_ok_question_shang($this->user_id, $question_info['price'], $answer_info['answer_id']);
            $this->model('shang')->set_question_has_pay($question_info['question_id']);
        }
        //end
    1003行
        //调整问题的提问者也有权限设置最佳答案
        if ($question_info['published_uid'] != $this->user_id AND ! $this->user_info['permission']['is_moderator'] AND ! $this->user_info['permission']['is_administortar'])
        {
            H::ajax_json_output(AWS_APP::RSM(null, - 1, AWS_APP::lang()->_t('你没有权限进行此操作')));
        }
        //end
3、 /app/question/main.php
    269行
                //start 如果需要得到该回复被打赏了多少,则在这里查询,会影响性能
                $answer['price'] = $this->model('shang')->get_answer_shang($answer['answer_id']);
                //end
    135行
        //如果已经领取悬赏,则查找领取的人;
        if($question_info['has_pay'] == shang_class::HAS_PAY){
            $order_users = $this->model('shang')->get_shang_users_by_question_id($question_info['question_id']);
            TPL::assign('order_users', $order_users);
        }
        //end
4、 /app/m/main.php
    112行
            //添加打赏css样式
            './css/fesiong/fesiong.css',
    1146行
        //start 如果需要得到该文章被打赏了多少,则在这里查询
        $article_info['price'] = $this->model('shang')->get_article_shang($article_info['id']);
        //end
    336行
        //如果已经领取悬赏,则查找领取的人;
        if($question_info['has_pay'] == shang_class::HAS_PAY){
            $order_users = $this->model('shang')->get_shang_users_by_question_id($question_info['question_id']);
            TPL::assign('order_users', $order_users);
        }
        //end
    442行
            //start 如果需要得到该回复被打赏了多少,则在这里查询,会影响性能
            $answer['price'] = $this->model('shang')->get_answer_shang($answer['answer_id']);
            //end
5、 /models/crond.php
    151行
        //自动完成悬赏的计划任务
        $this->model('shang')->auto_question_shang();
6、 /app/explore/main.php
    157行
        //获得最新打赏记录
        TPL::assign('flow', $this->model('shang')->get_last_shang_list(5));
        //end
 
文件目录:
├── app
│   ├── admin
│   │   └── shang.php
│   ├── article
│   │   └── main.php
│   ├── m
│   │   ├── main.php
│   │   └── shang.php
│   ├── payment
│   │   ├── ajax.php
│   │   ├── callback.php
│   │   ├── main.php
│   │   └── notify.php
│   ├── question
│   │   ├── ajax.php
│   │   └── main.php
│   └── shang
│       ├── ajax.php
│       └── main.php
├── models
│   ├── crond.php
│   ├── payment
│   │   ├── WxPay.Api.php
│   │   ├── WxPay.Config.php
│   │   ├── WxPay.Data.php
│   │   ├── WxPay.Exception.php
│   │   ├── WxPay.JsApiPay.php
│   │   ├── WxPay.NativePay.php
│   │   ├── WxPay.Notify.php
│   │   ├── alipay.php
│   │   ├── aliwap.php
│   │   ├── apiclient_cert.pem
│   │   └── apiclient_key.pem
│   └── shang.php
├── static
│   ├── common
│   │   ├── recommend.png
│   │   ├── wx-help.png
│   │   └── wxpay.png
│   ├── css
│   │   └── fesiong
│   │       ├── fesiong-black.css
│   │       └── fesiong.css
│   └── js
│       └── app
│           └── shang.js
├── system
│   └── config
│       └── admin_menu.extension.php
└── views
    └── fesiong
        ├── admin
        │   └── shang
        │       ├── config.tpl.htm
        │       ├── info.tpl.htm
        │       ├── list.tpl.htm
        │       ├── withdraw_apply.tpl.htm
        │       └── withdraw_list.tpl.htm
        ├── article
        │   └── index.tpl.htm
        ├── block
        │   └── sidebar_menu.tpl.htm
        ├── m
        │   ├── article.tpl.htm
        │   ├── question.tpl.htm
        │   └── shang
        │       ├── index.tpl.htm
        │       ├── payment.tpl.htm
        │       ├── receive.tpl.htm
        │       ├── send.tpl.htm
        │       ├── shang.tpl.htm
        │       ├── withdraw.tpl.htm
        │       └── withdraw_list.tpl.htm
        ├── payment
        │   └── shang.tpl.htm
        ├── question
        │   └── index.tpl.htm
        └── shang
            ├── index.tpl.htm
            ├── receive.tpl.htm
            ├── send.tpl.htm
            ├── withdraw.tpl.htm
            └── withdraw_list.tpl.htm
 
 
                                                                
                                     阅读全文
                                
                                
                                     收起全文