声明:
- 插件是需要花时间开发的,这里所说的是稳定基础版,仅在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
阅读全文
收起全文