Taolefan é um programa de descontos de contas públicas WeChat baseado em PHP que oferece suporte a contas de assinatura e contas de serviço certificadas ou não certificadas.
Nota: Por motivo de força maior, este projeto parou de ser atualizado. A versão atual pode ser usada normalmente. Se precisar de suporte comercial, ligue para QQ764744445 para consulta.
Você está visualizando o branch da versão 2.X. Se quiser usá-lo com uma conta pública não certificada, mude para o branch 1.X para visualizar. 1.X é desenvolvido em paralelo com 2.X e diferencia apenas entre chamadas autenticadas e não autenticadas para interfaces diferentes.
Este projeto usa Laravel como arquitetura principal de desenvolvimento, a interação de contas públicas é implementada usando EasyWechat e o backend de gerenciamento é desenvolvido baseado em X-admin. Este projeto utiliza o acordo GPLv3, que permite cópia, divulgação, modificação e uso comercial. É proibido liberar e vender códigos modificados e derivados como software comercial de código fechado.
Este projeto usa principalmente interfaces de plataforma como plataformas abertas públicas Taobao Alliance, Taoke e WeChat para desenvolvimento.
1. /config/config.php #Este arquivo de configuração salva informações básicas do site/plataforma, Taobao Alliance e Dataoke APPKEY e outras informações
2. /config/wechat.php #Este arquivo de configuração salva informações relacionadas à plataforma pública WeChat APPKEY
2. .env #Este arquivo de configuração salva informações relacionadas ao banco de dados
1. Transferência de conta oficial (JD/Taobao), o usuário envia a senha Taobao do cliente original ou de outros clientes Taobao para a conta oficial, o link de transferência em segundo plano calcula o valor do desconto, obtém as informações do cupom e as devolve ao usuário.
2. Função de registro, siga para concluir o registro e vincular o WeChat openID (identificação exclusiva do WeChat). Os usuários podem preencher rapidamente as informações da conta de retirada por meio do menu oficial da conta e também podem vincular sua conta Taobao para obter special_id (a identificação exclusiva das operações dos membros do Taobao)
3. Obtenha pedidos e vincule pedidos automaticamente e armazene automaticamente todos os pedidos em dados. Pedidos com ID de operação de membro serão automaticamente vinculados ao openid (plano de backup) , Rastreie pedidos automaticamente com base no status do produto do usuário. Quando diferentes usuários compram o mesmo produto, o pedido automático do produto será suspenso para evitar erros de pedido.
4. Envie manualmente o número do pedido para vincular o pedido
5. Os usuários podem consultar as informações do pedido e sacar dinheiro
6. Painel de gerenciamento de back-end
7. Quando os usuários consultam as informações do pedido, o status do pedido do usuário do mês anterior é atualizado automaticamente, e o status do pedido dos dois meses anteriores é atualizado automaticamente todos os meses, e os pedidos confirmados para recebimento no mês anterior são liquidados.
8. Notificações automáticas de mensagens, como acompanhamento de pedidos, retirada de dinheiro, convite de amigos, etc.
Mais funções ainda estão sendo desenvolvidas gradualmente, e você também pode desenvolver funções relacionadas por conta própria. Sua estrela é a força motriz para meu desenvolvimento contínuo.
Perceber:
*A atualização indica pequenas alterações no banco de dados Antes de atualizar, faça backup dos dados e use o arquivo sql mais recente para reconstruir a estrutura antes de importar os dados para uso.
Usuários que atualizam da versão 1.x para 2.x, certifique-se de atualizar os resultados do banco de dados, revisar o documento novamente e reoperar o conteúdo não processado para evitar exceções. Se você encontrar um bug, registre um problema e. indique cada versão da versão 2.x Após a atualização, execute o seguinte comando no diretório raiz da página da web para limpar o cache e evitar que alguns serviços fiquem inacessíveis devido ao cache.
php artisan cache:clear
php artisan route:cache
2022.5.5 v2.1.12
Corrigido o problema em que o código legado do pedido de atualização mensal causava falha na atualização normal
2022.4.19 v2.1.11
Corrigido o erro em que o valor do pagamento/valor do reembolso pode ser exibido como um número negativo
2022.4.18 v2.1.10
Retorne o resultado da transferência do link na forma de um link para evitar ser detectado pelo WeChat. Corrija o bug de envio automático de duas mensagens após seguir um pedido com sucesso.
2022.4.17 v2.1.9
Corrigidos alguns bugs que não afetavam o uso
O código QR do convite suporta a geração de pôsteres. Depois de criar você mesmo o pôster, reserve a posição do código QR e configure config.php.
*2022.4.14 v2.1.8
Com base na atualização da versão 1.1.8, algumas interfaces avançadas foram chamadas para suportar atividades de descontos para convidar amigos. Você pode definir informações relevantes na configuração e algumas páginas podem ser convertidas em menus para acesso direto. .
Seguimento automático de pedidos, feedback de retirada, etc. são todos substituídos pelo envio de informações de modelo. Observação: reenvie o comando "Criar Menu" após a atualização desta versão. Após a conclusão da recuperação dos dados do banco de dados, execute a seguinte instrução SQL para inicializar. os dados da função de convite (certifique-se de operar)
UPDATE users SET invite_id = NULL WHERE invite_id = ' 0 '
Requisitos ambientais: PHP >= 7.4 (suporta PHP8) | MySQL/MariaDB | Conta pública Redis WeChat: conta de serviço certificada (conta de assinatura, não certificada, use a filial 1.x)
Baixe ou clone o código do projeto para o ambiente necessário
#国外环境
git clone -b master https: //github.com/evendevil66/taolefan.git
#国内环境
git clone -b master https: //gitee.com/cdj8/taolefan.git
Execute o comando Composer no diretório do projeto para instalar pacotes dependentes e carregá-los automaticamente. Se usado no ambiente PHP8, modifique a versão do PHP em compositor.json para a versão correspondente.
composer install
composer dump-auto
Copie o arquivo .env.example para .env
cp .env.example .env
Modifique a configuração do banco de dados e a configuração do Redis em .env e importe taolefan.sql no diretório raiz do projeto para o banco de dados
DB_CONNECTION=mysql #默认使用mysql请勿修改 可支持MariaDB
DB_HOST=127.0.0.1 #数据库连接地址
DB_PORT=3306 #数据库连接端口
DB_DATABASE=taolefan #数据库名
DB_USERNAME=root #数据库用户名
DB_PASSWORD= #数据库密码
REDIS_HOST=127.0.0.1 #Redis连接地址
REDIS_PASSWORD=null #Redis密码 未设置默认为null
REDIS_PORT=6379 #Redis端口
Modifique a configuração /config/wechat.php de acordo com o conteúdo da plataforma pública WeChat
' app_id ' => env ( ' WECHAT_OFFICIAL_ACCOUNT_APPID ' , ' appid ' ),
' secret ' => env ( ' WECHAT_OFFICIAL_ACCOUNT_SECRET ' , ' secret ' ),
' token ' => env ( ' WECHAT_OFFICIAL_ACCOUNT_TOKEN ' , ' token ' ),
' aes_key ' => env ( ' WECHAT_OFFICIAL_ACCOUNT_AES_KEY ' , ' aeskey ' )
Em seguida, conclua as seguintes etapas:
1. Crie aplicativos na plataforma aberta da Taobao Alliance (o tipo de aplicativo pode ser selecionado como site para obter o site oficial do AppKey, inscreva-se você mesmo na página do aplicativo). Consulta de dados e pedido de promoção do cliente Taobao [Promotor]" e "Consulta de informações de material do cliente Taobao [público]" "(Esta interface foi substituída pelo processamento da interface DaTaoke) Permissões de interface, se você precisar de um motivo para se inscrever, basta escrever um pequeno ensaio e ele será aprovado em segundos
2. Registre-se na Taobao Open Platform e autorize a Taobao Alliance a obter o site oficial do Appkey. 3. Se você precisar da função de gerenciamento de domínio privado Taobao (acompanhamento automático), solicite permissões de domínio privado na Taobao Alliance e solicite um código de convite. . Os códigos de convite podem ser aplicados rapidamente por meio da depuração da interface oficial. Ao chamar a interface, certifique-se de que o parâmetro relacionamento_app seja comum e o parâmetro code_type seja 3.
4. Registre-se na JD.com Alliance e solicite APIKey, autorizando-a a ser vinculada ao Taoke.
Modifique a configuração /config/config.php
' name ' => "淘乐饭" , //产品名称 会反应在用户交互等场景
' url ' => "https: //*.*.*", //站点url 如有饭粒网等网站可添加
' apiUrl ' => "https: //*.*.*", //APIurl 调用本程序使用的url
' dtkAppKey ' => "**** " , //大淘客appKey
'dtkAppSecret' => " **** " , //大淘客AppSecret
'aliAppKey' => " **** " , //淘宝联盟AppKey
'aliAppSecret' => " **** " , //淘宝联盟AppSecret
'pubpid' => 'mm_***_***_***', //公用PID 可与运营ID相同
'specialpid' => ' ******',//会员运营ID
'relationId'=>'****', //渠道ID 代理商使用 暂未开发
'inviter_code'=>'******' //会员私域邀请码
'default_rebate_ratio' => 65, //默认返利比例%,
'eleme_url' => " taoke/pages/shopping-guide/index?scene=****** " ,//饿了么小程序路径(后面会有获取方法)
'unionId' => " ****** " , //京东联盟ID
'jdApiKey' => " ****** " , //京东联盟APIKey
'contactType' => 1, //联系客服类型,为0返回微信号,为1返回二维码图片
'contactId' => " ", //客服微信号
' contactMediaId ' => "", //客服微信二维码图片MediaID(获取方式见Readme文档介绍)
'invite'=> 1 , //是否开启邀请 开启填写1 关闭填写0
'invite_ratio'=> 10 , //邀请返利比例%
'invite_rewards'=> 1 , //邀请奖励金额
'template_id'=>'****** ' , //模板消息ID(后面会有获取方法)
' withdraw_template_id'=>'****** ' //提现模板消息ID(后面会有获取方法)
' invite_template_id'=>'****** ' ,//邀请好友模板消息ID
'createPoster'=> 1 , //是否开启生成海报 开启填写1 关闭填写0 如开启生成海报,请将jpg格式海报模板上传到public下并命名为poster.jpg
'posterx'=>' 206 ', //二维码在海报中x位置
'postery'=>' 1057 ', //二维码在海报中y位置
' posterwh'=>' 200 ', //二维码在海报中宽高
--O método de aquisição MediaId usa a ferramenta de depuração da interface da plataforma pública WeChat
首先调用获取access_token接口
然后使用取得的token调用多媒体文件上传接口
将获得的MediaId填写到config文件即可
Depois de configurar o nome de domínio e o certificado SSL, preencha seu nome de domínio/wechat para o URL da plataforma pública
E preste atenção ao definir o nome de domínio comercial e o nome de domínio autorizado nas configurações da função da conta pública do WeChat (não há necessidade de adicionar /wechat).
www.***.com/wechat
Use qualquer conta para enviar "Criar Menu" para a conta oficial para criar um menu personalizado. Se você precisar excluir o menu, modifique a variável $buttons em /app/Http/Controllers/WechatController.php.
访问管理员注册页面创建超级管理员
````shell script
http://你的域名/adminReg
#该页面仅能创建一次超级管理员,如果后续忘记超级管理员账号密码
#删除站点目录下/storage/app/admin.lock文件后即可重新创建
Após fazer login no histórico de gerenciamento, visite o seguinte endereço para obter template_id
http://你的域名/setIndustry
#请确保访问该页面前,公众号已配置完成并已认证
#访问提示设置成功后,前往公众号后台->广告与服务->模板消息,获得创建的模板id,并分别填入config.php中
Se você deseja ativar o miniprograma Ele.me para descontos, vincule o miniprograma Ele.me (APPID: wxece3a9a4c82f58c9)
Através do Taobao Alliance APP-Eat, Drink and Play-Ele.me WeChat Mini Program Exclusive-Share Mini Program, obtenha o caminho exclusivo e configure-o em config.php
Defina o crontab do cronômetro para consultar e armazenar pedidos
crontab -e
* * * * * curl 你的域名/getOrderList
#每分钟查询一次订单信息并存入数据库
10 1 1 , 10 , 19 , 28 * * curl 你的域名/updateOrderAll
#每个月1、10、19、28日1点10分执行对上月及上上月订单的信息修改及结算等(仅联盟结算日期为上月的才会被结算)
Neste ponto, o projeto Taolefan foi implantado e pode ser usado normalmente. Se você seguiu a conta pública antes de implantar o projeto, poderá registrar automaticamente a conta no banco de dados deixando de segui-la e seguindo-a novamente.