npm run dev:mp-weixinphp
npm run dev:h5前端
h5端看似一點問題沒有,接口訪問很是順利,看看微信小程序端,頁面上怎麼一堆null。打開network一看,字段明明返回的是null,爲啥會變成null字符串被渲染出來。vue
解決方案以下: node
當你不理解防抖是啥的時候,點擊你的'掘金'頭像->'寫文章'->開始編寫你的blog,你會發現有自動保存的效果,打開network仔細觀察,你會發如今你編寫blog過程當中2-3秒沒有輸入文字,就會發一個updateDraft請求去保存你的blog到草稿箱內~~~是否是瞬間感受懂了些什麼react
樓下代碼get的是一位某東的高級前端小姐姐的blog,淺析一波web
具體的能夠移步大佬的插件地址:user-gold-cdn.xitu.io/2019/8/8/16…vuex
這樣就能夠和vue同樣優雅地操做router了,頁面級路由獨享守衛(beforeEnter)、全局路由守衛(beforeEach、afterEach)、基本的push、replace等。npm
vuex持久化:vuex-persistedstate 加 mp-storage(支持uni多端的Storage墊片),在開發環境還能夠打印vuex log,vuex能夠走localStorage,sessionStorage,cookie等。小程序
我在項目中選擇是:localStorage。後端
這時候咱們會想,若是我只想持久化store裏的部分key,另外一部分的key不作持久化。
下面就是個人解決方案。
走JWT校驗便可。token本地緩存便可。
(直接走微信SDK就好了,重定向換code拿openId便可。瞬移連接:mp.weixin.qq.com/wiki?t=reso…)
uni.login拿code。首次登陸code+mobile+icode丟給後端,後端把openId入庫。再次登陸時,code丟給後端,後端經過當前用戶的openId和表裏的openId比對,若相同便可免登,反之難免登,繼續走常規登陸流程。
Tips:支付難點在後端。前端就默默地吃着瓜便可
// 示例代碼(基本的form表單提交)
const div = document.createElement("div");
div.innerHTML = res;
document.body.appendChild(div);
document.forms[0].submit();
uni.requestPayment() 各類微信支付字段驗籤便可(如nonceStr、paySign等)。
走微信SDK,各類微信支付字段驗籤便可(如nonceStr、paySign等)瞬移連接:pay.weixin.qq.com/wiki/doc/ap…)
props傳參(格式校驗、值validate等),slot插槽(使用最頻繁的是做用域插槽)。項目中自定義組件有:支付鍵盤組件、filter篩選組件(帶吸附置頂)等。
封裝這些組件,咱們有沒有想過,咱們如今封裝的組件知足的需求範圍僅僅只是該項目,如何能像antd、element同樣能知足百分之90甚至更多的業務需求呢。這時候能夠移步某阿里大佬的blog: juejin.im/post/5d3721…
舉例: 首次進入小程序、按鈕手動觸發getUserInfo的時候,會彈出微信受權。若是你點「取消」後會拒絕受權,(Tips:在不手動刪除小程序的狀況下,用戶拒絕受權以後,再次調用getUserInfo等權限api將不會彈受權框,直接走getUserInfo的fail回調了),這樣的交互很是的不友好。
解決方案: getSetting去獲取用戶受權狀況,若用戶受權關閉,showModal引導用戶去手動開啓微信受權。若是用戶點擊modal的「肯定」,直接去調取openSetting(打開設置界面,引導用戶開啓受權)。若是用戶點擊modal的「取消」,下次進入小程序仍是會走getSetting的showModal提示用戶去手動開啓受權。
h5端: vconsole插件能讓你真機模擬是查看log日誌,方便及時找到問題,並解決。
小程序端: 各大廠子的真機調試都已經十分完善。微信小程序近期還更新了自動化測試(node版本),方便測試。
h5發佈:仍舊走jenkins發佈,和常規的vue、react的web端項目同樣。
小程序發佈: 自檢 => 審覈 => 發版 (中間可能要經歷NNN次。。。審覈未經過,心態要穩住哈)