交接文档禧莱
2021-05-12 17:16:58 149 举报AI智能生成
dd
产品规划
模版推荐
作者其他创作
大纲/内容
九元资源
图片服务器
1、测试环境:http://10.200.107.131:9000/minio/adapter/wx/img/<br>账号/密码:minioadmin/minioadmin123<br>2、生产环境:http://10.200.100.32:9000/minio/adapter/wx/img/<br>账号/密码:minioroot/miniozfy-318-9air.com
禅道地址
http://zd.9air.com/pro/product-browse-20.html
仓库地址
http://10.10.2.204/<br>九元仓库
http://122.152.201.220/users/sign_in<br>李思亮仓库
9air测试官网环境服务器
xshell/xftp密码一致
192.168.34.104<br> xshell/xftp账号密码:<br> root/AQZw123DC^
9air测试公众号环境服务器
xshell/xftp密码一致
192.168.34.105<br> xshell/xftp账号密码:<br> root/Jiuyuan72uzi8
jekins<br>测试环境打包
http://10.200.106.91:8080/jenkins/job/PSS2.0/job/b2c-web/
官网测试环境发包
使用tortoiseGit push到多个仓库
多个仓库的分支名要一样<br>即只能把本地的【master/prod/dev等等分支】push到仓库A/仓库B的【master/prod/dev等等分支】
步骤
在项目所在文件夹右键-tortoiseGit-setting-Git-remote
右侧remote/url填上信息
add new/save 点击后会有三个弹窗<br>前两个选时,最后一个直接关掉/cancel就可以了
使用tortoiseGit pull代码时,可以选择pull哪个仓库的代码
pull
git sync->pull
比如一个项目,我们这边有2人开发,九元那边有2人开发,<br>那么我们可能会在xilai的仓库中与我们这边的人有冲突<br>可能会在九元的仓库中与九元的人有冲突<br><br>那么我们pull代码的时候一定要拉两次 一次禧莱的一次九元的<br>否则等到push的时候才发现不对就很难解决了!!<br>
push 代码时要push all
会员俱乐部小程序(安心飞/周年庆优惠券)
仓库地址
开发分支dev,线上分支dev
http://xilai.my.to:10080/9Air/CRM-CLUB.git
http://jiameng@10.10.2.204/Workspace/9AirApp/CRM-CLUB.git
功能介绍
用户可以在该小程序进行注册、实名认证
购买安心飞【活动好像下线】
领取优惠券
领券的活动页面
CRM-CLUB/pages/Information/index.vue
点击领券后判断用户是否注册、实名认证过,走对应的流程<br>否则跳转优惠券列表页面
领券的活动规则页面<br>
就一张图片<br>CRM-CLUB/pages/Information/rule/rule
领券的优惠券列表页面
CRM-CLUB/pages/Information/discount/discount
领券接口调用后无论成功失败有个倒计时定时器,保存到了缓存中,回到上个页面后定时器依然有效
优惠券列表的接口每个用户第一次请求的是单独的接口【后台从redis中返回数据,减少并发量】<br>然后该用户的接下来优惠券列表接口就请求真正的优惠券列表接口了
CRM-CLUB/Information
注意
所用的图片都需要上传后使用<br>上传:http://10.200.100.32:9000/minio/adapter/wx/img/<br>账号/密码:minioroot/miniozfy-318-9air.com<br><br>使用:background: url("https://assets.9air.com/wx/img/chunjieBanner.png");
发生产接口的版本时,需要把CRM-CLUB/<b>common/http.js</b>中<b>urlStatus</b>的生产域名注释打开
appId:wx1d3ad1e4f55bb13d
官方小程序
仓库地址
master分支:暂无用<br>Branch_v1.0:小程序第一个版本【只有值机功能】<br>pssdev:值机第一个版本确定<br>new_pssdev:目前的开发分支<br>
http://xilai.my.to:10080/9Air/JY0820-WX.git
http://jiameng@10.10.2.204/Workspace/9AirApp/9air-wechat-weapp.git
功能介绍
用户注册认证、购票、订单、自助服务等功能<br>目前上线的只有值机功能<br>
介绍
common<br>里面是全局的一些js方法<br>
http.api.js<br>接口地址和封装的调用方法
http.interceptor.js<br>请求拦截器
该项目的接口体系有很多个,即不同的url前缀有很多
1、引入了config中配置的url前缀<br>2、定义urlText使得不同的key对应不同的url前缀<br>3、接口请求的header头加上environment字段,值为urlText对应的key,则能找到对应的接口前缀
在请求参数中加上showLoadingMinaApp:true字段则可以展示加载中动效
utils.js<br>微信登录、获取openId的方法
components<br>封装的全局组件
config<br>配置文件
login
1、在app.vue的onShow中做了前置处理
2、在需要登录的页面判断不存在手机号和证件号,就跳转到登录页面【/pages/login/login】
3、用户从登录页面返回可以返回到主页<br><br>在login页面的onUnload做了判断,由于ios和Android的效果会不一样,<br>所以Android会再次进入登录页,在onShow()时候再返回的主页<br>
4、认证页面填写用户信息后跳转到微信官方小程序获取权限,在app.vue的onShow中得到code,给后端做验证使用
app.vue
onLaunch()<br>小程序版本变更,提醒用户重启应用
onShow()
1、实名认证跳转到了微信小程序中,且用户同意后微信小程序会返回一个code【后端接口需要用到】,保存该code
2、行程相关判断
3、判断无token、token过期、没有绑定微信、没有绑定手机号、没有证件号就请求接口得到用户的OpenId、绑定的微信、手机号、和证件信息
4、有手机号则拿着用户手机号请求得到交易相关接口的token
pagesUser
order
index<br>订单列表
订单中的航班数据都是在一个字符串中,不同的航班类型字符串的分隔方式也不一样 <br>有一个空格、两个空格、一个换行符
detail<br>订单详情
不同订单类型的订单详情接口不同
report.js<br>列表和详情都有用到的相同的js方法<br>
1、根据数字得到订单类型
2、根据数字得到订单状态
这里面的数据与他们给的接口文档不一样,因为接口文档没有更新<br>我是先复制的接口文档中的数据,然后对比官网和app之后修改了
微信公众号自助服务【已经不使用了】
仓库地址
开发分支和线上分支都是dev<br>原生html项目,修改好后压缩成zip包给侯荣华
http://jiameng@10.10.2.204/PSS1.0/PssWx_WebVue.git
http://xilai.my.to:10080/9Air/PssWx_WebVue.git
微信公众号-值机柜台【已经不使用了】
无仓库地址就是一个静态html页面
微信公众号一期【已经不使用了】
仓库地址
开发分支和线上分支都是dev<br>原生html项目,修改好后压缩成zip包给侯荣华/麒麟
无九元仓库,源代码是侯荣华或者麒麟从服务器复制下来的
http://xilai.my.to:10080/9Air/PSS.git
微信公众号二期
仓库地址
开发分支是dev<br>第一个版本的线上分支是prodOne<br>master分支无用
http://xilai.my.to:10080/9Air/9Air-Public.git
http://jiameng@10.10.2.204/Workspace/9AirApp/9air-public.git
功能介绍
该项目全部来源于app-h5项目,是把app-h5项目复制了一份做成微信公众号的
一个项目<b>多个主页 目前是五个 以后还会更多</b><br><b>【九元航空】</b>公众号的菜单配置中配置了多个页面路径<br>【点击购票】:https://m.9air.com/h5Public/home.html#/<br>【自助服务-航班动态】:https://m.9air.com/h5Public/home.html#/ss/dynamic/flightSearch?selfServiceType=dynamic<br>【自助服务-值机柜台】:https://m.9air.com/h5Public/home.html#/pc/userCenter/airportInfo<br>【自助服务-客票验真】:https://m.9air.com/h5Public/home.html#/ss/ticketChecked/ticketSearch?selfServiceType=ticketChecked<br>【加入会员-账号管理】:https://m.9air.com/h5Public/home.html#/login<br>【加入会员-订单管理】:https://m.9air.com/h5Public/home.html#/pc/orderControl/orderList?orderType=allOrder<br>
config/index.js<br>开发模式代理配置<br>
src/config.js<br>开发/测试/生产环境的请求前缀
src/http/conf/axios.js<br>请求拦截器
emp的每个接口都必须带有sessionKey字段,否则调用失败<br>
根据参数中的headerFileType值来进行不同的处理<br>
上传文件需要加上headerFileType:upload
上传图片需要加上headerFileType:uploadimg
如果需要不同的前缀,则需要在src/config.js中新增前缀,然后在拦截器中对应处理<br>比如invoiceUrl前缀
src/wxconfig/index.js<br>微信相关的配置以及微信支付的代码
注意点
目前与微信的交互只有微信支付,但是支付需要前置步骤
由于支付时需要用户OpenId,所以需要用微信授权得到code,传给后端获取openId<br>用户无感<br><br><b>let firstLink = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${url}&response_type=code&scope=snsapi_base&state=#wechat_redirect`<br></b><b style="font-size: inherit;"><font color="#c41230">window.location.href = firstLink;</font></b><b><br></b>
app-h5项目大部分数据保存在vuex中,而微信是重定向url,所以存在vuex中的东西会丢失,<br>所以<b>一个主页的其下页面需要调用微信支付</b>,需要<b>在该主页就跳转微信的页面获得code</b><br>参考<br>/views/home/index.vue<br>/views/personalCenter/orderControl/orderList.vue<br>
且由于需要在公众号设置安全域名等等操作,所以只有【m.9air.com】该域名下的项目才能被微信跳转成功拿到code和openId<br><ul><li><b><font color="#c41230">即测试环境不能跳转到微信和支付!!</font></b></li></ul>
每个主页的子页面的关闭按钮要回到该主页<br><br>在每个主页中把主页地址存在缓存中,则关闭事件就会取缓存中的路径从而跳转过去<br><b><br> let fristHome={url:'/'}<br> sessionStorage.setItem("first_home",JSON.stringify(fristHome))</b><br>
预览pdf修改了pdfjs-dist的源码<br><br>打包生产包和测试包的项目中一定要用<b><font color="#c41230">native\pdf.js</font></b>覆盖掉<br><b><font color="#c41230">native\node_modules\pdfjs-dist\es5\build\pdf.js</font></b><br>
发布
测试环境<br>前端打包给侯荣华发布
npm run build:test<br>
打包之后压缩成一个zip文件,注意解压后不要多一层目录<br>即zip解压之后直接就是文件,而不是还有一个目录<br><br>
所有的项目无论是前端打包发布或者打包给别人发布,都需要遵循
把zip文件发给侯荣华
生产环境<br>前端打包给侯荣华发布
npm run build:prod<br>
打包之后压缩成一个zip文件,如测试环境发包一样<br>
把zip文件发给侯荣华
上线地址
测试-九元航空阿九帮您<br><br>【点击购票】:https://203.110.166.66:28080/h5Public/home.html#/<br>【自助服务-航班动态】:https://203.110.166.66:28080/h5Public/home.html#/ss/dynamic/flightSearch?selfServiceType=dynamic<br>【自助服务-值机柜台】:https://203.110.166.66:28080/h5Public/home.html#/pc/userCenter/airportInfo<br>【自助服务-客票验真】:https://203.110.166.66:28080/h5Public/home.html#/ss/ticketChecked/ticketSearch?selfServiceType=ticketChecked<br>【加入会员-账号管理】:https://203.110.166.66:28080/h5Public/home.html#/login<br>【加入会员-订单管理】:https://203.110.166.66:28080/h5Public/home.html#/pc/orderControl/orderList?orderType=allOrder<br>
生产-九元航空公众号<br><br>【点击购票】:https://m.9air.com/h5Public/home.html#/<br>【自助服务-航班动态】:https://m.9air.com/h5Public/home.html#/ss/dynamic/flightSearch?selfServiceType=dynamic<br>【自助服务-值机柜台】:https://m.9air.com/h5Public/home.html#/pc/userCenter/airportInfo<br>【自助服务-客票验真】:https://m.9air.com/h5Public/home.html#/ss/ticketChecked/ticketSearch?selfServiceType=ticketChecked<br>【加入会员-账号管理】:https://m.9air.com/h5Public/home.html#/login<br>【加入会员-订单管理】:https://m.9air.com/h5Public/home.html#/pc/orderControl/orderList?orderType=allOrder<br>
且由于需要在公众号设置安全域名等等操作,所以只有【m.9air.com】该域名下的项目才能被微信跳转成功拿到code和openId<br><ul><li><b><font color="#c41230">即测试环境不能跳转到微信和支付!!</font></b></li></ul>
h5短信开电子发票
仓库地址
开发分支dev 线上分支dev
http://xilai.my.to:10080/9Air/crm-join-h5.git
http://jiameng@10.10.2.204/Workspace/CRM/crm-join-h5.git
介绍
该项目下面有两个不同的模块<br>已知道的是h5Invoice模块是电子发票相关<br>用户通过<b>手机短信手机浏览器打开项目</b>,在上面输入开票信息从而完成开发票的操作<br><br>memberShip不知道是什么,不知道是否上线<br>
由于直接给用户发短信,让用户进行操作,所以在<b>短信链接里包含了用户信息,即不用登陆</b>
本地环境启动
登陆后台管理系统(测试环境)<br>http://192.168.42.26:8001/<br>账号/密码:TESTWORK/TEST.WORK? <br>
左侧菜单【发票管理-发票申请】,找一个你知道的<b>测试订单</b>(比如陈俊、你自己、黄广基的...)
勾选订单-申请开票-勾选可开票信息-推送信息-输入你自己的手机号-推送信息
手机收到测试环境的开票短信链接【短链接】,用浏览器打开链接后复制浏览器的链接
【九元航空】尊敬的旅客:开票信息详情!<br>详情请戳https://dwz.cn/JDvvBzsb。【九元航空】
http://weixinazsxcd.9air.com/h5Invoice/<b>?ticketNumber=9021000514315&certificatesNumber=360102199609042042&passengerName=%e6%88%90%e4%ba%ba%e6%b5%8b%e8%af%95</b>#/
本地启动项目后,把?后面的参数复制到本地url的后面即可
http://localhost:8082/h5Invoice/<b>?ticketNumber=9021000514315&certificatesNumber=360102199609042042&passengerName=%E6%88%90%E4%BA%BA%E6%B5%8B%E8%AF%95</b>#/
四个页面
展示可开发票页面【用户第一个看到的页面】<br>crm-join-h5\h5Invoice\src\views\invoice\makeInvoice\index.vue<br>
填写发票信息页面<br>crm-join-h5\h5Invoice\src\views\invoice\issue\index.vue<br>
申请成功页面<br>crm-join-h5\h5Invoice\src\views\invoice\succeed\index.vue<br>
重发邮件页面<br>crm-join-h5\h5Invoice\src\views\invoice\resendMail\index.vue<br>
发布
测试环境<br>前端打包发布
crm-join-h5\h5Invoice\<b>src\utils\Interceptor.js<br>把拦截器中的<br></b>config.url = url.replace(/\/eInvoice\/api\/crm\/api\//g, '<b>https://api.9air.com/test/thirdpart</b>/crm/api/')<br><b>注释放开</b>
打包之后压缩成一个zip文件,注意解压后不要多一层目录<br>即zip解压之后直接就是文件,而不是还有一个目录<br><br>
所有的项目无论是自己打包发布或者打包给别人发布,都需要遵循这个
使用xhsell或者xftp软件连接上测试环境服务器发布<br><br>步骤看不明白可以问我或者问大佬
192.168.34.105 <br>xshell/xftp账号密码: <br>root/Jiuyuan72uzi8
xshell<br><b><font color="#c41230">使用一定要小心,绝对不能进错目录,<br>否则命令不可回滚导致服务器的崩溃会造成极大的损失</font></b>
进入目录<br>cd /wwwroot/h5Invoice<br>
#检查下自己确定没进错目录<br>#进错目录了输入的命令可能会引起服务器的崩溃!!<br>pwd
#拷贝一份出来,万一这个发布失败,用拷贝的这份回滚<br>zip -q -r dist.zip * #把当前目录下的所有文件压缩成dist.zip<br>sz dist.zip #选中一个你本地的文件夹存储就可以了<br>
#删除该目录下的所有文件<br>#该命令很严重,一定要检查确定目录没错!否则用错地方会造成极大的损失!<br><br>rm -fr * <br>
#上传刚刚打包的dist.zip文件<br>rz
#解压缩<br>unzip dist.zip<br>
xftp
备份上次的文件
删除旧文件
在左侧窗口打开自己本地build之后的文件夹<br>选中全部后拖动到右侧
上传代码成功后,前端发包不用重启tomcat,但是万一没生效的话就可以重启再试一下
需要用xhsell连接测试环境服务器
输入命令:<br>/usr/local/apache2/bin/apachectl start
发布成功后,按照【本地启动步骤】1-4即可测试功能是否通过
生产环境<br>前端打包给电子发票后端(李燕兵)发布
crm-join-h5\h5Invoice\<b>src\utils\Interceptor.js<br>把拦截器中的<br></b>config.url = url.replace(/\/eInvoice\/api\/crm\/api\//g, '<b>https://api.9air.com/thirdpart/</b>crm/api/');<br><b>注释放开(生产环境少了一个/test)</b>
打包之后压缩成一个zip文件,如测试环境发包一样<br>
把zip文件发给电子发票后端(李燕兵)
发布成功后无法测试,没有后台管理系统的生产地址和账号
ota追加行李(ota-h5)
仓库地址
开发分支dev 线上分支dev
http://xilai.my.to:10080/9Air/OTA-H5.git
http://jiameng@10.10.2.204/Workspace/9AirApp/OTA-H5.git
介绍
与【h5短信开电子发票】一样,是通过短信连接发给用户,<br>用户用浏览器打开链接<b>登录后选择订单购买行李</b>
OTA-H5\src\utils\Interceptor.js<br>打包时修改了请求前缀
发布
测试环境/生产环境<br>前端打包给侯荣华发布
npm run build<br>
打包之后压缩成一个zip文件,注意解压后不要多一层目录<br>即zip解压之后直接就是文件,而不是还有一个目录<br><br>
所有的项目无论是前端打包发布或者打包给别人发布,都需要遵循这
把zip文件发给侯荣华
上线地址
测试<br>http://203.110.166.66:28080/h5Luggage/index.html#/<br>
生产<br>https://m.9air.com/h5Luggage/index.html#/<br>
app-h5
仓库地址
开发分支是dev 打包分支dev<br><br>master、qa分支暂无用
http://xilai.my.to:10080/9Air/EMP-APP.git
http://jiameng@10.10.2.204/Workspace/9AirApp/9air-app-h5.git
介绍
由Android/ios原生+这个项目组成了一个安装文件包<br>原生是由侯荣华负责,打包成安装包也是由他操作<br>
原生
原生页面与我们负责的页面(简称vue页面)
原生页面【侯荣华负责】
首页、自助服务、自助服务-航班动态、活动专区、个人中心、会员登录
区分是否原生的方式:手机安装测试包,打开你想确定的页面,页面上有vConsole的即为vue页面,否则就是原生页面
我们只负责除了原生页面之外的那些页面,即在手机测试包中页面上有vConsole的
与原生交互
也是由侯荣华负责,由他负责定义交互的方法,<br>我们只负责在需要交互的地方调用即可<b><font color="#c41230">this.$bridge.callHandler</font></b>
<div style="color: rgb(187, 187, 187); background-color: rgb(40, 44, 52); font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div>比如要回到首页,这个首页是原生写的页面,我们无法靠自己跳转,<br>就需要与原生交互告诉原生,需要跳转到首页<br><br> <span style="color: #e06c75;">this</span><span style="color: #abb2bf;">.</span><span style="color: #61afef;">$bridge</span><span style="color: #abb2bf;">.</span><span style="color: #98c379;">callHandler</span><span style="color: #abb2bf;">(</span><span style="color: #e5c07b;">'toMain'</span><span style="color: #abb2bf;">,</span>{</div><div> index <span style="color: #abb2bf;">:</span> <span style="color: #c678dd;">0</span></div><div> }<span style="color: #abb2bf;">,</span>(<span style="color: #d19a66;font-style: italic;">res</span>)<span style="color: #56b6c2;">=></span>{}<span style="color: #abb2bf;">)</span></div></div>
目前我所知道的交互
回到首页/自助服务/活动专区/个人中心
<div style="color: rgb(187, 187, 187); background-color: rgb(40, 44, 52); font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div> <span style="color: #e06c75;">this</span><span style="color: #abb2bf;">.</span><span style="color: #61afef;">$bridge</span><span style="color: #abb2bf;">.</span><span style="color: #98c379;">callHandler</span><span style="color: #abb2bf;">(</span><span style="color: #e5c07b;">'toMain'</span><span style="color: #abb2bf;">,</span>{</div><div> <b> index <span style="color: #abb2bf;">:</span> <span style="color: #c678dd;">0/1/2/3</span></b></div><div> }<span style="color: #abb2bf;">,</span>(<span style="color: #d19a66;font-style: italic;">res</span>)<span style="color: #56b6c2;">=></span>{}<span style="color: #abb2bf;">)</span></div></div>
关闭当前页面
<div style="color: rgb(187, 187, 187); background-color: rgb(40, 44, 52); font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><span style="color: #e06c75;">this</span><span style="color: #abb2bf;">.</span><span style="color: #61afef;">$bridge</span><span style="color: #abb2bf;">.</span><span style="color: #98c379;">callHandler</span><span style="color: #abb2bf;">(</span><span style="color: #e5c07b;">"closeWebview"</span><span style="color: #abb2bf;">,</span> {}<span style="color: #abb2bf;">,</span> <span style="color: #d19a66;font-style: italic;">res</span> <span style="color: #56b6c2;">=></span> {}<span style="color: #abb2bf;">)</span>;</div>
打开一个链接
<div style="background-color: rgb(40, 44, 52); font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div style=""><font color="#bbbbbb"> </font><span style="color: rgb(224, 108, 117);">this</span><span style="color: rgb(171, 178, 191);">.</span><span style="color: rgb(97, 175, 239);">$bridge</span><span style="color: rgb(171, 178, 191);">.</span><span style="color: rgb(152, 195, 121);">callHandler</span><span style="color: rgb(171, 178, 191);">(</span><span style="color: rgb(229, 192, 123);">"openUrl"</span><span style="color: rgb(171, 178, 191);">,</span><font color="#bbbbbb"> {url</font><span style="color: rgb(171, 178, 191);">:</span><font color="#61afef">''</font><font color="#bbbbbb">}</font><span style="color: rgb(171, 178, 191);">,</span><span style="color: rgb(209, 154, 102); font-style: italic;">res</span><font color="#bbbbbb"> </font><span style="color: rgb(86, 182, 194);">=></span><font color="#bbbbbb"> {</font><span style="color: rgb(187, 187, 187); font-size: inherit;">}</span><span style="font-size: inherit; color: rgb(171, 178, 191);">)</span><span style="color: rgb(187, 187, 187); font-size: inherit;">;</span></div></div>
获取sessionKey
<div style="color: rgb(187, 187, 187); background-color: rgb(40, 44, 52); font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre;"><div> <span style="color: #e06c75;">this</span><span style="color: #abb2bf;">.</span><span style="color: #61afef;">$bridge</span><span style="color: #abb2bf;">.</span><span style="color: #98c379;">callHandler</span><span style="color: #abb2bf;">(</span><span style="color: #e5c07b;">"getSessionKey"</span><span style="color: #abb2bf;">,</span> {}<span style="color: #abb2bf;">,</span> <span style="color: #d19a66;font-style: italic;">res</span> <span style="color: #56b6c2;">=></span> {</div><div> <span style="color: #61afef;">store</span><span style="color: #abb2bf;">.</span><span style="color: #98c379;">dispatch</span><span style="color: #abb2bf;">(</span><span style="color: #e5c07b;">"changeSessionkey"</span><span style="color: #abb2bf;">,</span> <span style="color: #61afef;">res</span><span style="color: #abb2bf;">.sessionkey)</span>;</div><div> }<span style="color: #abb2bf;">)</span>;</div></div>
只能在手机app上看到效果,用浏览器打开无效
config/index.js<br>开发模式代理配置<br>
src/config.js<br>开发/测试/生产环境的请求前缀
src/http/conf/axios.js<br>请求拦截器
emp的每个接口都必须带有sessionKey字段,否则调用失败<br>
根据参数中的headerFileType值来进行不同的处理<br>
上传文件需要加上headerFileType:upload
上传图片需要加上headerFileType:uploadimg
如果需要不同的前缀,则需要在src/config.js中新增前缀,然后在拦截器中对应处理<br>比如invoiceUrl前缀
本地启动
修改请求拦截器中的sessionKey
sessionKey是一进入程序就需要调用接口获取<br>在本项目中,这步是由原生完成的,所以每次启动前需要先拿到sessionKey,否则所有接口调用失败<br><br><b><font color="#c41230">一进入程序拿到的sessionKey是无效的,在拿到sessionKey的程序中登录后,该sessionKey才是有效的【绑定了用户】</font></b>
通过ota-h5
<b><font color="#c41230">登录</font></b>ota-h5<br>
通过手机上的测试app
在手机上的app中<b><font color="#c41230">登录</font></b>后,进入任一vue页面(有vConsole)<br>点击打开vConsole
npm run dev:dev
发布
测试环境<br>前端打包给侯荣华发布
npm run build:test<br>
打包之后压缩成一个zip文件,注意解压后不要多一层目录<br>即zip解压之后直接就是文件,而不是还有一个目录<br><br>
所有的项目无论是自己打包发布或者打包给别人发布,都需要遵循这个
把zip文件发给侯荣华
生产环境<br>前端打包给侯荣华发布
npm run build:prod<br>
打包之后压缩成一个zip文件,如测试环境发包一样<br>
把zip文件发给侯荣华
注意点
预览pdf修改了pdfjs-dist的源码<br><br>打包生产包和测试包的项目中一定要用<b><font color="#c41230">native\pdf.js</font></b>覆盖掉<br><b><font color="#c41230">native\node_modules\pdfjs-dist\es5\build\pdf.js</font></b><br>
app调用-emp接口 emp接口内部调用-最底层的接口<br>官网调用-最底层的接口<br>emp接口与最底层的接口<b><font color="#c41230">参数不同响应不同</font></b><br>即<b>app某些结果与官网不一致时</b>,需要emp后端一起配合找出问题,前端没办法参照官网解决问题!!
b2c官网
测试环境地址<br>http://192.168.42.26/zh-CN<br>
仓库地址
开发分支master 线上分支prod【由李思亮自己合并分支,我们只要正确提交到master分支即可】
http://xilai.my.to:10080/9Air/B2CWEB.git
http://122.152.201.220/PSS2.0/B2CWEB.git
介绍
网易云盾验证相关
禅道<br>http://zd.9air.com/pro/story-view-1048.html<br>
b2c\src\pages\tpl\book\booking.vue<br>需要把产品编号和业务id换成实际可使用的(目前是测试的)
该功能对用户无感 <br> 后端根据前端给的token调网易接口才能知道用户的行为是否异常等等
开启loading效果<br>一定要调用关闭方法,否则一直存在
开启:<br>this.$loading({ fullscreen: true })
关闭<br>this.$loading({ fullscreen: true }).close()<br>
机票样式
b2c/src/components/bookTable/bookBody/bookBody.vue
中/英长度不一样
往返的样式比单程/多程多了一些
票数<9会显示 中/英 少量/A few<br>票数<3会显示 中/英 仅剩xx张/Only xx <br>ticket(s) left
发布
测试环境
提交代码到九元仓库的master分支
可能打包失败,需要关注构建是否成功,成功后即可测试
生产环境
提交代码到九元仓库的master分支
李思亮那边发包 他们会负责合并master分支到prod分支
上线地址
测试<br>http://192.168.42.26<br>
生产<br>http://www.9air.com/<br>
注意
官网有中/英语言切换,写样式的时候需兼容英文
开发人员有别人,提交代码时先拉xilai仓库的代码,再拉一次九元仓库的代码<br>每次push都要pushAll(同时push两个仓库)
后台管理系统
上线地址
测试环境地址<br>http://192.168.42.26:8001/<br>账号/密码:TESTWORK/TEST.WORK? <br>
在官网/app/小程序任一渠道下单可以不付款<br><br>订单管理-订单列表-根据订单号查询出订单,点击该订单详情-上方或者右侧的立即支付-现金支付
开发人员有别人,提交代码时先拉xilai仓库的代码,再拉一次九元仓库的代码<br>每次push都要pushAll(同时push两个仓库)
评论
0 条评论
下一页