• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序 原生代码 转wepy 字符串处理

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

import glob
import os

cwd = os.getcwd()
sep = os.sep
target = cwd + sep + \'pages\' + sep + \'*\' + sep + \'*\'
filelist = glob.glob(target)
pageNameSet = set([i.split(\'\\\')[1] for i in glob.glob(\'./pages/*/*\')])
pageStrDicList = {}
for i in pageNameSet:
pageStrDicList[i] = {\'wxml\': \'\', \'wxss\': \'\', \'json\': \'\', \'js\': \'\'}

\'\'\'
Page页面字符串结构
<style lang="less">.wxss全部复制写入</style>
<template>.wxml全部复制写入</template>
<script>
import wepy from \'wepy\'
.js Page({之前部分全部复制写入
export default class Index extends wepy.page {
config = {
.json全部复制写入
}
data = {.js data:的对象}
methods = { .js Page({ })中除去data:{}外的全部 }
}
</script>


\'\'\'

for i in filelist:
for pageName in pageNameSet:
try:
if pageName in i:
if i.endswith(\'wxml\'):
with open(i, \'r\', encoding=\'utf-8\') as fr:
pageStrDicList[pageName][\'wxml\'] = fr.read()
elif i.endswith(\'wxss\'):
with open(i, \'r\', encoding=\'utf-8\') as fr:
pageStrDicList[pageName][\'wxss\'] = fr.read()
elif i.endswith(\'json\'):
with open(i, \'r\', encoding=\'utf-8\') as fr:
pageStrDicList[pageName][\'json\'] = fr.read()
elif i.endswith(\'js\'):
with open(i, \'r\', encoding=\'utf-8\') as fr:
pageStrDicList[pageName][\'js\'] = fr.read()
break
except Exception as e:
print(i)
print(e)

for pageName in pageStrDicList:
try:
r = cwd + sep + \'res\' + sep + pageName + \'.wpy\'
i = pageStrDicList[pageName]
s = \'<style lang="less">\n\' + i[\'wxss\'] + \'</style>\n\'
s += \'<template>\n\' + i[\'wxml\'] + \'</template>\n\'
s += \'\'\'
<script>
import wepy from \'wepy\'
\'\'\'
l = i[\'js\'].split(\'Page({\')
s += l[0]
s += \'\'\'
export default class Index extends wepy.page {
config =
\'\'\'
s += i[\'json\']
s += \'\n\'
if \'data:\' in l[1]:
# js代码必须被微信ide格式化,这样保证data:存在且第一个满足要求
index_0 = l[1].index(\'data:\')

index_1 = l[1][index_0:].index(\' },\')
s += \'\ndata = \' + l[1][index_0:][5:index_1] + \'}\n\'

s += \'\nmethods = {\'
s += l[1][index_0 + 5 + (index_1 - 5) + len(\' },\'):].replace(\': function\', \'\').rstrip(\' \').rstrip(
\'\n\').rstrip(\'})\')
s += \'}\n}\'
else:
s += \'\nmethods = {\'
s += l[1][len(\'Page({\') + 1:].replace(\': function\', \'\').rstrip(\' \').rstrip(
\'\n\').rstrip(\'})\')
s += \'}\n}\'
with open(r, \'w\', encoding=\'utf-8\') as fw:
fw.write(s)
except Exception as e:
print(e)
print(pageName)




 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
小程序wx:forDonotsetsamekey\&quot;NaN\&quot;inwx:key.发布时间:2022-07-18
下一篇:
当微信小程序遇到AR(一)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap