
後台的(de)前端:
使用(yòng)了(le) iview
cd 到(dào)文(wén)件(jiàn)夾下(xià)面,然後 npγ≠←±m install ,npm run serve.
---------
--------
ngix跨域:
add_header Access-Control≠δ-Allow-Origin '*'™₽☆;
add_header Access-Control-Allow-M&♥≠₽ethods 'POST,PUT,GET,D≤≈ ELETE';
add_header Access-Control-Allow-H≠¥eaders 'version, acces™δ≈s-token, user-token, Accept,$Ω±$ apiAuth, User-Agent♣☆, Keep-Alive, Origin, No-Cacπ∏he, X-Requested-With, If-Modified-Sincε& ®e, Pragma, Last-Modified, Cache-Contro'♥l, Expires, Content-Type, X-E4M-♠ With';
if ($request_method = ₽9;OPTIONS') {
return 204;
}
--------------------±--------------
後台前端地(dì)址修改:setting.js中
const Url = 'http://qi.域名.com/ad✘≥≥↑minapi'
數(shù)據字典:
https://doc.crmeb.com/web/single/crmeb∑☆≈_v4/1130
前端教程:https://ke.qq.com/course/4125326♣δ®δ?tuin=5e252c1
v4代碼及教程:https://gitee.c₹$om/ZhongBangKeJi/CRMEB#https://gite↓♥e.com/link?target=http≈☆↔s%3A%2F%2Fke.qq.com%σγ↑2Fcourse%2F4125326%3Ftuin≈Ω¥%3D5e252c1
視(shì)頻(pín)教程:
https://www.bilibili.com™∞/video/av713792287/?p=2&am£↓λ≈p;spm_id_from=pageDriver↑☆×φ
-------------------------------------♦σ
接口開(kāi)發:
在/daosheng.域名.com/app/api/route/ 中查找(§&開(kāi)源版),對(duì)應的(de)路(lù)徑和(hé)控制(♠πzhì)器(qì)
在//sjyh.域名.com/route/api.php 中§∑₽δ查找(開(kāi)源版),對(duì)應的(de)路(lù)徑和(hé)控制(•™zhì)器(qì)
如(rú):
Route::get('site_con←♦fig', 'v1.PublicControlleφ≤↓λr/getSiteConfig')->n×₹§♥ame('getSiteConfig');/α±φ/獲取網站(zhàn)配置
http://daosheng.域名.com/api/site_config ←"對(duì)應的(de)控制(zhì)器(qì)是(shì)Ω←✘Ω app/api/controller/v1/PublicC↑φ∞ontroller.php 中的(de)₹© getSiteConfig方法。
舉例:
在 /daosheng.域名.com/app/api/route/V1$®<.PHP中,
Route::get('jifenzhuanzhang', &↔₽✔ε#39;v1.LiangControlle¥₹r/jifenzhuanzhang')->name§↔('jifenzhuanzhan≈'δg');//積分(fēn)轉賬(注意增加到(≥£$dào)middleware(\app\api\mi™ ↓ddleware\AuthTokenMiddlew≠©✔✘are)是(shì)需要(yào)驗證token↓→∞的(de),
然後在/app/api/controller/≥¶♠v1/下(xià)面創建文(wén)件(jiàn) LiangCΩ©&>ontroller.php,創建方法
訪問(wèn)路(lù)徑:
https://daosheng.域名.com/api/jif$©enzhuanzhang?ziji=2&jine=3♣>0&duifang=13546303520
https://qi.域名.com/apiγ"λ/jifenzhuanzhang?ziji=2"↓× &jine=30&duifang=135463035★σ20
---------------------------¶£∑-------------------------------------π$------
--------------------------------------©₽∏-------------------------------≥✔±
成功後執行(xíng)的(de)方法:/qi.域名.com/app/lisπ•<£tener/order/Pay.php
在訂單表中增加字段,方便查找 :
/daosheng.域名.com/app/services/o≈rder/StoreOrderCreateServices.php
-*-*-*-*-*-*-*-*-*-*-*-π↔*-*-*-*-*-*-*-*-*-*-*-ε≤≠*-*-*-*-*-*-*-*-*-*-*-*-
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*∞>→¶-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*♠β≠
支付後執行(xíng)操作(zuò):
/qi.域名.com/app/listener/ord≥☆er/Pay.php 監聽(tīng)到(dào)支 ♦付後執行(xíng)的(de)動作(zuò)。
-----------------
打印會(huì)員(yuán)信息:
import {
getUserInfo
} from '@/api/user.js';
getUserInfo().then(res => {})
{"uid":23,"r®☆↑¥eal_name":""$π≥,"birthday":0,"∏★∞;card_id":"&qu•×≠∏ot;,"mark":"",&qu£>≠ot;partner_id":0,"group_id&qu$→★ot;:0,"nickname":"龍光(¥→guāng)科(kē)技(jì)","avatar&Ωδ♦εquot;:"https://sjyhεα.域名.com/uploads/system/723adbdd4e49a≥Ω¶0f9394dfc700ab5dba3.png&q¥₩πΩuot;,"phone":"138∏✔₹34146602","•↑→™add_time":165089374β±7,"last_time":1650903308,&÷α£quot;now_money":"0.00&qu↔ '÷ot;,"brokerage_price"£♠;:"0.00","inte∞δ•gral":30,"exp&q←β ♠uot;:"500.00"↔¶;,"sign_num":1γ×,"status":1,"le↕±®♣vel":1,"agent_level":0λ☆∞,"spread_open":1,"spr↕™ αead_uid":0,"spread_t•∞∞ime":0,"spread_lottery"§π∞←;:1,"user_type":" ₹₽☆;routine","is_prom ®↓oter":1,"pay_c☆©↕ount":0,"spre™×♠ad_count":0,"addreβ∏∑s":"","adminid&quo<α$t;:false,"login_type&quλ✔ot;:"","record_pho±★ne":"",&qu"∏✔ot;is_money_level":1,→÷¶π"is_ever_level":0,"o©↓§×verdue_time":1654138555,&Ω&±∑quot;uniqid":""€π™§;,"bar_code":&<♣ quot;515797384","r✘φand_code":0,"sex":0,≤✔"provincials":"",↑$←"province":0,"cit £∑y":0,"area":0,"st♣∞δ∞reet":0,"jiaoyibi&qu≠ •ot;:0,"zongjifen":0,"×★ ε;yanglaobi":0,"total_≥'γ☆integral":0,"svip_open&q$α≈uot;:true,"is_open_memberππ↓":true,"agent_lev¥÷el_name":"","is_δcomplete":0,"↕®β;couponCount":0,&q£Ωφuot;like":0,"orderSt≈¶★ atusNum":{"order_count":Ω&§"0","sum_price":&qu£§₽ot;0","unpaiλ♣×d_count":"0"♠♠↓&,"unshipped_count":≤©¶"0","received_couπ✘•nt":"0","Ω↕;evaluated_count":"♦σσ€;0","unwritoff_count":&q"Ωuot;0","complete_coun₩™'∞t":"0",&q ÷uot;refunding_count":"0&quo☆♦t;,"refunded_count&qu'€≥ot;:"0","refund_count&qu∑®ot;:"0","yue_pay_sta<♣®φtus":1,"pay_weixin_open÷ ":1,"ali_pay_status&q∑•γ€uot;:true},"notice":0,"r♥₩echarge":0,"orderStatusSumσ♦":0,"extractTotalPr↑ice":0,"extractPrice"γ&;:"0.00","statu"¶>∏;:2,"spread_statu∞♠∑s":true,"broken_commission&₽∏☆✘quot;:0,"commissionCount&q&♠uot;:"0.00","vip☆Ω ♥":true,"vip_id":3±✔≤,"vip_icon":"∑♣☆;/uploads/system/fbaγΩγ₽cd351e606f494431a9c777ce7522 ™c.png","vip_name"₩£>∞;:"VIP",&quo₽'β$t;yesterDay":0,"recharge_s÷☆™witch":1,"b≤ roken_day":0,"balance_func_&✘★status":1,"invioce_ •func":true,"spe→'₹βcial_invoice":truφ♥e,"collectCount"§✔ α;:0,"pay_vip_status":true,₹σ"member_style": β♠1,"vip_status":3,"s₹≠ervice_num":0,&quo♣→t;is_agent_level":f>↕ε alse,"visit_num":4,"' ';user_extract_bank_status"γσ >;:0,"user_extract_wec₹✘✘÷hat_status":1,"user_extract_↓×alipay_status":0}
------------
注冊 增加 字段:
/qi.域名.com/app/controller/api/v1/Logi'☆nController.php
/qi.域名.com/app/service'✘s/user/LoginServices.php
----------------------
分(fēn)銷海(hǎi)報(bào)修改:
前台:/pages/users/user_s×±pread_code/index.vue∑© 143行(xíng) onread中
this.val = `${HTTP_REQU€★EST_URL}/pages/login/index/?spr↑∑$©ead=${this.uid}`
--------------------
前台獲取配置的(de)網址
import {
TOKENNAME,
HTTP_REQUEST_URL
} from '@/config/app.js'; ♥×§
this.val = `${HTTP_REQUEST_δ¥÷↕URL}/pages/login/index/?spread=$¶∏§{this.uid}`
------------------------
關于h5 打包成h5後,直接覆蓋上(shàng)傳到(dào)∑ public目錄下(xià)。
*-------------
微(wēi)信公衆号 取消自(zì)動授權
app.vue 中 去(qù)掉 import Auth from ∏♠≠&9;@/libs/wechat.js';
*************************--
打印信息到(dào) 文(wén)件(jiàn)中
引入:use think\facade\Db<; use think\facade\Log;
Log::error('****************- €'.json_encode($orderInfo));
----------------------------
打印個(gè)人(rén)信息:
{
"uid": 2,
"real_name": "二級",
"birthday"∏•≈®: 0,
"card_id": "&quσ≠ot;,
"mark": "♥↔₹;",
"partner_id": 0×✔,
"group_id": 0,
"nickname": "138****660€✘≠£2",
"avatar": "http:\/\/pume→★↓iren.域名.com\/uploads\/system£λ\/723adbdd4e49a0f9394d§ ₹fc700ab5dba3.png",
"phone": &¥∑₹quot;13834146602",
"add_time"•γ∏: 1699927785,
"last_time": 1699955'"ε★943,
"now_money": "≈€ ;999999.00",
"brokerage_price": &quo"✔βt;0.00",
"integral": 999999,
"exp": "0≠≥ π.00",
"sign_num": 0,
"status": 1,
"level": 0,★φσΩ
"agent_level&qu≤₹ot;: 0,
"spread_open": 1,
"spread_uid": 1€<<,
"spread_time": 169995518♣↑9,
"spread_lottery": 1,
"work_uid": 0,
"work_userid&qu∞Ωot;: null,
"user_type": &quo✘×t;h5",
"is_promoter": 1,
"pay_count": 0,
"spread_count": 0,
"addres": "",
"adminid": 0,
"login_type&quo€∑εt;: "",
"login_city": "≤•山(shān)西(xī)省太原市(shì)",
"record_phone": "&quo∑÷t;,
"is_money_levelλ¥β≈": 0,
"is_ever_level": 0←₩&∑,
"overdue_time": 0,
"uniqid": "",
"bar_code": "559960844&♠®$quot;,
"rand_code"§<↕₩: 0,
"sex": 0,
"provincials": &≈₩≤αquot;",
"province": 0,
"city": 0,
"area": 0,
"street": 0,
"is_del": 0,
"delete_time"≤∏☆: null,
"extend_info": [],
"level_status": 1,
"level_extend_info&q ¶βuot;: [],
"is_first_order": -1,
"is_newcomer": -1÷♣&
}
{"uid":2,"re<"al_name":"www&>÷quot;,"birthday∞ α":0,"card_÷∞®id":"",&→☆αquot;mark":"","↔✔&partner_id":0,&q<δuot;group_id":0,"nickname&quε±ot;:"138****6602",&β₽εquot;avatar":"http:•↑\/\/pumeiren.域名.com\/uploads\/system\/7←™23adbdd4e49a0f9394dfc700ab5dba3.png&qu£πot;,"phone":"≠₹ β13834146602","add_ti<£me":1699927785,"last_time&qλ≤uot;:1699955943,"now♥>_money":"999749.0φ¶↔≤0","brokerage↑✘_price":"0.00↔♣","integral":9"99999,"exp":"0.00&qu•γot;,"sign_num&quλφ↔ot;:0,"status":1,&qu♦♠ot;level":0,"agent_level""∑↑π;:1,"spread_open":1,"s¥★pread_uid":1,"spread_time&quo•βt;:1699955189,"spread_lotteryπ¶♦'":1,"work_uid":0,&q ∑uot;work_userid":γnull,"user_type"™♠★:"h5","i★☆γ≠s_promoter":1,&quo×t;pay_count":1,&qu☆↓>ot;spread_count"¥€★ ;:0,"addres":""≠÷∑≤;,"adminid":↑ε< 0,"login_type":"","☆✘"login_city":"✔≥λ;山(shān)西(xī)省太原市(shì)","rec≈¶↑ord_phone":"13834146602φλ","is_money_level">±★±;:0,"is_ever_level"♣";:0,"overdue_time"≈¶₹&:0,"uniqid":©♥☆σ"","b♣φ©♥ar_code":"5599608±×π♦44","rand_code&quo✔®t;:0,"sex":0× ∞,"provincials":""♥±;,"province":0¶≤,"city":0,"area&quoΩΩt;:0,"street":0,"is_¥≠'€del":0,"delete_time'→♥&":null,"extend_info&§§&φquot;:[],"level_status"↕ ;:1,"level_extend_info&quo₩✘Ω t;:[],"is_first_order& ♠§↓quot;:-1,"is_newcome↑'§r":-1}
----------------------------
後台增加配置 字段
/daosheng.域名.com/app/se♣☆rvices/system/config/SystemCo&≤✔∏nfigServices.php
-----------------
獲得(de)傭金(jīn):默認是(shì) 必須點擊 收貨δ≠↔×才能(néng),傭金(jīn)到(dào)賬
修改:在 pages/order_pay_status/in✘γ'₹dex.vue中
getOrderPayInfo: 方法中
if(res.data.product_type==1){ thε÷∑is.zidongshouhuo(); } 如(<÷<≠rú)果是(shì) 卡密網盤自(zì)動發貨 自(zì φ✔↓)動收貨,完成訂單。
/*
自(zì)動收貨
*/
zidongshouhuo(){
let that=this;
console.log('--------自(z¥♠δì)動收貨'+that.orderId);
orderTake(that.orderId).then(res =>₩©₩; {
return that.$util.Tipδ♣s({
title: '操作(zuò)成功',
icon: 'success'
});
}).catch(err => {
return that.$util.Ti✔<'ps({
title: err
});
})
},
------------------------ε -----------
贈送餘額 :
eb_store_product 中增加字♠&段 give_money
eb_store_order 中增加字段 gain_money
/daosheng.域名.com/app/services/ord≥Ω&±er/StoreOrderCreateServices.php 中
增加:
$cartInfoGainmoney = isset($cart[↓←'productInfo']['give_₽§money']) ? bcmul((string≥☆γ¥)$cart['cart_num'], (s↔♥ tring)$cart['productI♥×nfo']['give_mon∞←ey'], 0) : 0;
$gainMoney = bcadd((string)$ga₹≥§inMoney, (string)$cart←§÷InfoGainmoney, 0);
Log::error('\n'.$gainMoney∑>ε.'\n');
$orderInfo = [中 增加字段: &ε#39;gain_money'=>$gainMoney, ₩♣此時(shí) 提交訂單 數(shù)據庫 eb_store_o β&rder中gain_money 可(kě)以獲得(de) 值。
下(xià)一(yī)步:
在 /app/listener/order/Pay.php中獲取 g ¶₩←ain_money ,然後增加
後端:
前台:\src\pages\product\≤₽∞productAdd\index.vue
後台:/daosheng.域名.com/app/contr¶₩ £oller/admin/v1/product/StγβoreProduct.php save增加•≠字段
------------------
computed: {
...mapGetters(['isLogin♠'39;, 'uid', 'viewCol§₹±♠or']),
},
this.uid即可(kě)獲得(de) 用(yò✔φng)戶id。
-
