Taolefan es un programa de reembolso de cuentas públicas de WeChat basado en PHP que admite cuentas de suscripción y cuentas de servicio certificadas o no certificadas.
Nota: Debido a fuerza mayor, este proyecto dejó de actualizarse. La versión actual se puede utilizar normalmente. Si necesita soporte comercial, llame al QQ764744445 para realizar una consulta.
Actualmente está viendo la rama de la versión 2.X. Si desea utilizarla con una cuenta pública no certificada, cambie a la rama 1.X para verla. 1.X se desarrolla en paralelo con 2.X y solo diferencia entre llamadas autenticadas y no autenticadas a diferentes interfaces.
Este proyecto utiliza Laravel como arquitectura principal para el desarrollo, la interacción de cuentas públicas se implementa usando EasyWechat y el backend de administración se desarrolla en base a X-admin. Este proyecto utiliza el acuerdo GPLv3, que permite la copia, difusión, modificación y uso comercial. Está prohibido publicar y vender códigos modificados y derivados como software comercial de código cerrado.
Este proyecto utiliza principalmente interfaces de plataformas como Taobao Alliance, Taoke y plataformas públicas abiertas WeChat para el desarrollo.
1. /config/config.php #Este archivo de configuración guarda información básica del sitio/plataforma, Taobao Alliance y Dataoke APPKEY y otra información
2. /config/wechat.php #Este archivo de configuración guarda información relacionada con la plataforma pública WeChat APPKEY
2. .env #Este archivo de configuración guarda información relacionada con la base de datos
1. Transferencia de cuenta oficial (JD/Taobao), el usuario envía la contraseña de Taobao del cliente original u otros clientes de Taobao a la cuenta oficial, el enlace de transferencia en segundo plano calcula el monto del reembolso, obtiene la información del cupón y se la devuelve al usuario.
2. Función de registro, siga para completar el registro y vincular WeChat openID (identificación única de WeChat). Los usuarios pueden completar rápidamente la información de la cuenta de retiro a través del menú de la cuenta oficial y también pueden vincular su cuenta de Taobao para obtener special_id (la identificación única de las operaciones de los miembros de Taobao).
3. Obtenga pedidos automáticamente y vincule pedidos, y almacene automáticamente todos los pedidos en datos. Los pedidos con identificación de operación de miembro se vincularán automáticamente a openid (plan de respaldo) , Realice un seguimiento automático de los pedidos según el estado del producto del usuario. Cuando diferentes usuarios compren el mismo producto, el pedido automático del producto se suspenderá para evitar errores en el pedido.
4. Envíe manualmente el número de pedido para vincular el pedido.
5. Los usuarios pueden consultar la información de su pedido y retirar efectivo.
6. Panel de gestión de backend
7. Cuando los usuarios consultan la información del pedido, el estado del pedido del usuario del mes pasado se actualiza automáticamente, el estado del pedido de los dos meses anteriores se actualiza automáticamente cada mes y se liquidan los pedidos confirmados para su recepción en el mes anterior.
8. Notificaciones automáticas de mensajes como seguir pedidos, retirar efectivo, invitar amigos, etc.
Todavía se están desarrollando gradualmente más funciones y usted mismo también puede desarrollar funciones relacionadas. Your Star es la fuerza impulsora de mi desarrollo continuo.
Aviso:
*La actualización indica ligeros cambios en la base de datos Antes de actualizar, haga una copia de seguridad de los datos y utilice el archivo SQL más reciente para reconstruir la estructura antes de importar los datos para su uso.
Los usuarios que actualicen de la versión 1.xa 2.x, asegúrese de actualizar los resultados de la base de datos, revise el documento nuevamente y vuelva a operar el contenido no procesado para evitar excepciones. Si encuentra un error, presente un problema y. indique cada versión de la versión 2.x. Después de la actualización, ejecute el siguiente comando en el directorio raíz de la página web para borrar el caché y evitar que algunos servicios queden inaccesibles debido al caché.
php artisan cache:clear
php artisan route:cache
2022.5.5 v2.1.12
Se solucionó el problema por el cual el código heredado del pedido de actualización mensual causaba que fallara la actualización normal.
2022.4.19 v2.1.11
Se corrigió el error por el cual el monto del pago/cantidad del reembolso podía mostrarse como un número negativo
2022.4.18 v2.1.10
Devuelve el resultado de la transferencia del enlace en forma de enlace para evitar que WeChat lo detecte. Corrige el error de enviar automáticamente dos mensajes después de seguir con éxito un pedido.
2022.4.17 v2.1.9
Se corrigieron algunos errores que no afectaban el uso.
El código QR de invitación admite la generación de carteles. Después de diseñar el cartel usted mismo, reserve la posición del código QR y configure config.php.
*2022.4.14 v2.1.8
Según la actualización de la versión 1.1.8, se han llamado algunas interfaces avanzadas para admitir actividades de reembolso por invitar a amigos. Puede configurar información relevante en la configuración y algunas páginas se pueden convertir en menús para obtener acceso directo a través de autorización web. .
El seguimiento automático de pedidos, los comentarios de retiro, etc. se reemplazan por el envío de información de la plantilla. Nota: vuelva a enviar el comando "Crear menú" después de actualizar esta versión. Una vez completada la recuperación de los datos de la base de datos, ejecute la siguiente instrucción SQL para inicializar. los datos de la función de invitación (asegúrese de operar)
UPDATE users SET invite_id = NULL WHERE invite_id = ' 0 '
Requisitos ambientales: PHP >= 7.4 (compatible con PHP8) | Cuenta pública de Redis WeChat: cuenta de servicio certificada (cuenta de suscripción, no certificada, utilice la rama 1.x)
Descargue o clone el código del proyecto en el entorno requerido
#国外环境
git clone -b master https: //github.com/evendevil66/taolefan.git
#国内环境
git clone -b master https: //gitee.com/cdj8/taolefan.git
Ejecute el comando Composer en el directorio del proyecto para instalar los paquetes dependientes y cargarlos automáticamente. Si se usa en el entorno PHP8, modifique la versión de PHP en compositor.json a la versión correspondiente.
composer install
composer dump-auto
Copie el archivo .env.example a .env
cp .env.example .env
Modifique la configuración de la base de datos y la configuración de Redis en .env e importe taolefan.sql en el directorio raíz del proyecto a la base de datos.
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 la configuración de /config/wechat.php según el contenido de la 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 ' )
A continuación, complete los siguientes pasos:
1. Cree aplicaciones en la plataforma abierta de Taobao Alliance (el tipo de aplicación se puede seleccionar como sitio web para obtener el sitio web oficial de AppKey, presente la solicitud usted mismo en la página de la aplicación). Consulta de datos y pedidos de promoción del cliente [promotor] de Taobao" y "Consulta de información material [pública] del cliente de Taobao" "(Esta interfaz ha sido reemplazada por el procesamiento de la interfaz DaTaoke) Permisos de interfaz, si necesita un motivo para postularse, simplemente escriba un ensayo breve y será aprobado en segundos.
2. Regístrese en Taobao Open Platform y autorice a Taobao Alliance a obtener el sitio web oficial de Appkey. 3. Si necesita la función de administración de dominio privado de Taobao (seguimiento automático), solicite permisos de dominio privado en Taobao Alliance y solicite un código de invitación. . Los códigos de invitación se pueden aplicar rápidamente mediante la depuración de la interfaz oficial. Al llamar a la interfaz, asegúrese de que el parámetro parent_app sea común y el parámetro code_type sea 3.
4. Regístrese en JD.com Alliance, solicite APIKey y autorícela a vincularse a Taoke.
Modificar la configuración de /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 ', //二维码在海报中宽高
--El método de adquisición de MediaId utiliza la herramienta de depuración de la interfaz de la plataforma pública WeChat
首先调用获取access_token接口
然后使用取得的token调用多媒体文件上传接口
将获得的MediaId填写到config文件即可
Después de configurar el nombre de dominio y el certificado SSL, complete su nombre de dominio/wechat para la URL de la plataforma pública
Y preste atención a configurar el nombre de dominio comercial y el nombre de dominio autorizado en la configuración de la función de la cuenta pública de WeChat (no es necesario agregar /wechat).
www.***.com/wechat
Utilice cualquier cuenta para enviar "Crear menú" a la cuenta oficial para crear un menú personalizado. Si necesita eliminar el menú, modifique la variable $buttons en /app/Http/Controllers/WechatController.php.
访问管理员注册页面创建超级管理员
````shell script
http://你的域名/adminReg
#该页面仅能创建一次超级管理员,如果后续忘记超级管理员账号密码
#删除站点目录下/storage/app/admin.lock文件后即可重新创建
Después de iniciar sesión en el fondo de administración, visite la siguiente dirección para obtener template_id
http://你的域名/setIndustry
#请确保访问该页面前,公众号已配置完成并已认证
#访问提示设置成功后,前往公众号后台->广告与服务->模板消息,获得创建的模板id,并分别填入config.php中
Si desea activar el mini programa Ele.me para reembolsos, vincule el mini programa Ele.me (APPID: wxece3a9a4c82f58c9)
A través de la aplicación Taobao Alliance-Eat, Drink and Play-Ele.me WeChat Mini Program Exclusive-Share Mini Program, obtenga la ruta exclusiva y configúrela en config.php
Configure el crontab del temporizador para consultar y almacenar pedidos
crontab -e
* * * * * curl 你的域名/getOrderList
#每分钟查询一次订单信息并存入数据库
10 1 1 , 10 , 19 , 28 * * curl 你的域名/updateOrderAll
#每个月1、10、19、28日1点10分执行对上月及上上月订单的信息修改及结算等(仅联盟结算日期为上月的才会被结算)
En este punto, el proyecto Taolefan se ha implementado y se puede utilizar normalmente. Si siguió la cuenta pública antes de implementar el proyecto, puede registrar automáticamente la cuenta en la base de datos si deja de seguirla y la sigue nuevamente.