IT基地
用户登陆
我要注册
用户名或密码错误
登 陆
注 册
IT基地 > 纸鸳的博客 > 我要发文
微信小程序转支付宝小程序
作者:纸鸳   发布时间:2017-11-03 11:01:20   点击数:1212

(一).近期发现一个作者发布了一个基于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进行调整

3.


 (方法二)

请按照以下姿势操作: 

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 顶部信息条上的反馈,并根据其指示来进一步手工完善代码;


本站部分数据来自软件的自动采集,仅用于学习交流,决不用于商用,如有侵犯您的合法权益,请联系我们删除。
发表技术文档,,记录个人生活,聚集意见领袖,众多IT精英,以我们的技术让开发更便捷。
IT基地版权所有,伪版必究 京ICP备17064610号-1
微信 QQ空间 QQ好友 新浪微博 Facebook Twitter
0.0348s