一、近期发现一个作者发布了一个基于Node.js编写的一个安装包(用于微信小程序转支付宝小程序,其中包含包含了大部分的转换说明,但是存在一些问题)
二、安装以及使用方法:
1.安装node.j环境
2.安装包:npm i wx2ali -g (推荐是用淘宝镜像cnpm)
3.wx2ali --path path(文件路径)
例如(wx2ali --path E:\WWW\律师名片简版二)
4.完成转换
三、转换的内容
==============================
*以utf-8编码编写 有新的匹配规则可以告诉我 我来进行添加
*注意:以DIR,JSmethod,JS,AXML为开始,以end结尾,#为注释。如果不会请按模版修改
==============================
-----------------
转换文件的目录 ***记得需要进行修改***
-----------------
DIR
Z:\Program\workspaces\wx\LogisticsCabinetwc\trunk\LogisticsCabinetwc
end
-----------------
js函数名的替换
-----------------
JSmethod
request--->httpRequest
login--->getAuthCode
showModal--->confirm
getUserInfo--->getAuthUserInfo
requestPayment--->tradePay
saveImageToPhotosAlbum--->saveImage
setNavigationBarTitle--->setNavigationBar #导航栏标题
setNavigationBarColor--->setNavigationBar #导航栏颜色
getClipboardData--->getClipboard #粘贴板
setClipboardData--->setClipboard #粘贴板
canvasToTempFilePath--->toTempFilePath #1.1.3 当前画布的内容导出生成图片
scanCode--->scan
closeBLEConnection--->disconnectBLEDevice
end
-----------------
js中的函数参数的替换
-----------------
JS
getStorageSync\(\s*(\S+)\s*\)--->getStorageSync({key:$1})
setStorageSync\(\s*(\S+)\s*\,\s*(\S+)\s*\)--->setStorageSync({key:$1,data:$2})
removeStorageSync\(\s*(\S+)\s*\)--->removeStorageSync({key:$1})
vibrateLong\(\s*?\{[\w\W]*?\}\s*?\)--->vibrate()
vibrateShort\(\s*?\{[\w\W]*?\}\s*?\)--->vibrate()
(\S+)\s*:\s*function--->$1 #es6的对象方法样式
end
-----------------
axml中的内容替换
-----------------
AXML
(^||\s+)wx:--->$1a:
(^||\s+)bindtap(\W+)--->$1onTap$2
(^||\s+)bindlongTap(\W+)--->$1onLongTap$2
(^||\s+)bindinput(\W+)--->$1onInput$2
(^||\s+)bindchange(\W+)--->$1onChange$2
(^||\s+)bindinput(\W+)--->$1onInput$2
(^||\s+)bindfocus(\W+)--->$1onFocus$2
(^||\s+)bindblur(\W+)--->$1onBlur$2
(^||\s+)bindconfirm(\W+)--->$1onConfirm$2
(^||\s+)bindsubmit(\W+)--->$1onSubmit$2
(^||\s+)bindreset(\W+)--->$1onReset$2
(^||\s+)bindtouchstart(\W+)--->$1onTouchStart$2
(^||\s+)bindtouchmove(\W+)--->$1onTouchMove$2
(^||\s+)bindtouchend(\W+)--->$1onTouchEnd$2
(^||\s+)bindtouchcancel(\W+)--->$1onTouchCancel$2
(^||\s+)bindlongtap(\W+)--->$1onLongTap$2
(^||\s+)bindmarkertap(\W+)--->$1onMarkerTap$2
(^||\s+)bindcallouttap(\W+)--->$1onCalloutTap$2
(^||\s+)bindcontroltap(\W+)--->$1onControlTap$2
(^||\s+)bindregionchange(\W+)--->$1onRegionChange$2
(^||\s+)canvas-id(\W+)--->$1id$2
(^||\s+)bind(\w+)(\W+)--->$1on$2$3
end
-----------------
json中的内容替换
-----------------
JSON
(^||\s+\W)navigationBarTextStyle(\W)--->$1titleBarColor$2
(^||\s+\W)navigationBarTitleText(\W)--->$1defaultTitle$2
(^||\s+\W)enablePullDownRefresh(\W)--->$1pullRefresh$2
(^||\s+\W)disableScroll(\W)--->$1allowsBounceVertical$2
(^||\s+\W)color(\W)--->$1textColor$2
(^||\s+\W)list(\W)--->$1items$2
(^||\s+\W)text(\W)--->$1name$2
(^||\s+\W)iconPath(\W)--->$1icon$2
(^||\s+\W)iconPath(\W)--->$1icon$2
(^||\s+\W)selectedIconPath(\W)--->$1activeIcon$2
end
-----------------
js中的api参数对象的的属性名称替换
-----------------
JS_API_PROP_REPLACE
PRO: #api名称
showToast #showToast中的title
KEYS: #替换的属性名对
title--->content
icon--->type
#==========================================
PRO:
showLoading #显示加载框
KEYS:
title--->content
#==========================================
PRO:
confirm #显示提示框
KEYS:
confirmText--->confirmButtonText
cancelText--->cancelButtonText
#==========================================
PRO:
showActionSheet
KEYS:
itemList--->items
#==========================================
PRO:
setTextAlign
KEYS:
align--->textAlign
#==========================================
PRO:
previewImage
KEYS:
current--->current=string->number
#==========================================
PRO:
getLocation #获取位置
KEYS:
type--->type=string->number
#==========================================
PRO:
saveImage
KEYS:
filePath--->url
#==========================================
PRO:
httpRequest
KEYS:
header--->headers
#==========================================
PRO:
uploadFile
KEYS:
name--->fileName
#==========================================
PRO:
connectSocket
KEYS:
header--->headers
#==========================================
PRO:
setClipboard
KEYS:
data--->text
#==========================================
PRO:
makePhoneCall
KEYS:
phoneNumber--->number
end
OVER
四、存在的问题
1.样式会有一些错乱,需进行进一步调整
2.一些logs的加载方法会有问题需对照API进行调整
方法二
请按照以下姿势操作:
1.前往 https://code.visualstudio.com/download 下载 VS code(注意 VS code != 宇宙第一大 IDE visual studio,不要弄错);
2.启动 VS code 并选择『扩展』,搜索 “小程序助手”并安装;
3.重启 VS code ,然后打开已有小程序项目源码。选中 app.json 并单击右键,从弹出的菜单中选择『转换小程序』。针对一般小程序,这个转换过程约 1-3s;
4.转换完成后,检查 VS code 顶部信息条上的反馈,并根据其指示来进一步手工完善代码;
版权声明:本站所提供的文章、图片等内容均为用户发布或互联网整理而来,仅供学习参考,如有侵犯您的版权,请联系我们客服人员删除。