欢迎您光临本站
李蓝猫头像
李蓝猫

2021-07-11

评论者
微信小程序
14 0

一、近期发现一个作者发布了一个基于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 顶部信息条上的反馈,并根据其指示来进一步手工完善代码;


版权声明:本站所提供的文章、图片等内容均为用户发布或互联网整理而来,仅供学习参考,如有侵犯您的版权,请联系我们客服人员删除。

162

精彩推荐

暂无评论

文明用语