微信小程序项目移植uniapp

微信小程序目录及文件结构:

app.js :小程序逻辑
app.json :小程序公共配置
app.wxss :小程序公共样式表
js :页面逻辑
wxml : 页面结构
json :页面配置
wxss :页面样式表

uniapp目录及文件结构:

pages.json:配置页面路由、导航条、选项卡等页面类信息,详见。
manifest.json:配置应用名称、appid、logo、版本等打包信息,详见。
App.vue:应用配置,用来配置App全局样式以及监听应用的生命周期。
main.js:Vue初始化入口文件
static目录:存放应用引用静态资源(如图片、视频等)的地方,注意:静态资源只能存放于此
pages目录:业务页面文件存放目录
components目录:组件文件存放目录

截图

微信小程序:

image.png

uniapp:

image.png

移植过程:

1.首先app.js=====》main.js

将app.js公用方法移植到main.js中,注意添加Vue.prototype.xxxx;
例如小程序方法:app.js

  /**
   * 获取商城ID
   */
  getWxappId() {
    return siteinfo.uniacid || 10001;
  },

移植后的uniapp方法:main.js

/**
 * 获取商城ID
 */
Vue.prototype.getWxappId = function() {
    return siteinfo.wxapp_id = 10001;
}

这里将下uniapp没有的方法setData,可以在这里自己添加一个

// 模拟继承微信setData的方法
Vue.prototype.setData = function(obj) {
    let that = this;
    let keys = [];
    let val, data;
    Object.keys(obj).forEach(function(key) {
        keys = key.split('.');
        val = obj[key];
        data = that.$data;
        keys.forEach(function(key2, index) {
            if (index + 1 == keys.length) {
                that.$set(data, key2, val);
            } else {
                if (!data[key2]) {
                    that.$set(data, key2, {});
                }
            }
            data = data[key2];
        })
    });
}

2.wxml 文件=====》.vue文件的<template>标签下
<template>
    <view>
        <!-- 将.wxml 文件下面内容拷贝到这里 -->
    </view>
</template>

修改的东西:搜索 wx: 替换为 v-,搜索 bind 替换为 @,style、class和uniapp一些属性
不同的地方都修改一下,变量itemStyle={{item.style}}在uni里需要这么表示:itemStyle="item.style"

3.wxss 文件里面的内容直接拷贝到vue的<style>下面
4.js兼容大部分小程序函数,自定义函数需要放在methods下面
5.组件引用

<script>中import移植的组件

import search from './search.vue'
import banner from './banner.vue'
import imageSingle from './imageSingle.vue'
import window from './window.vue'
export default {
        components: {
            search,
            banner,
            imageSingle,
            window,
            divvideo,
            divarticle,
        }
}

点赞(0)

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

返回
顶部