HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

uniapp第四个作品分享展示

uniapp

uniapp第四个作品分享展示
仅供学习,如果你喜欢也可以继续留着,
后期可能新增雷达功能,扫描大家分享的电影......
咳咳,下面是下载地址和图片展示
下载地址 https://www.lanzous.com/i2s91za
也可以进群交流 757988036

首页

个人

继续阅读 »

uniapp第四个作品分享展示
仅供学习,如果你喜欢也可以继续留着,
后期可能新增雷达功能,扫描大家分享的电影......
咳咳,下面是下载地址和图片展示
下载地址 https://www.lanzous.com/i2s91za
也可以进群交流 757988036

首页

个人

收起阅读 »

HBuilderX中自动转换px为upx

upx 每日技巧 HBuilderX

uni-app 使用 upx 作为默认尺寸单位, upx 是相对于基准宽度的单位,可以根据屏幕宽度进行自适应。uni-app 规定屏幕基准宽度750upx。
但如果设计稿不是750px,那换算单位可头疼了。
莫急,能让计算机算的,不会让人算。

  1. 在HBuilderX 【设置】【编辑器设置】中进行配置
  2. 启用px转upx后,就可以愉快的在uniapp中使用了。如下图:

关于upx尺寸单位,更多见:upx尺寸单位

当然,在普通web开发中,也是支持px转rem的。

继续阅读 »

uni-app 使用 upx 作为默认尺寸单位, upx 是相对于基准宽度的单位,可以根据屏幕宽度进行自适应。uni-app 规定屏幕基准宽度750upx。
但如果设计稿不是750px,那换算单位可头疼了。
莫急,能让计算机算的,不会让人算。

  1. 在HBuilderX 【设置】【编辑器设置】中进行配置
  2. 启用px转upx后,就可以愉快的在uniapp中使用了。如下图:

关于upx尺寸单位,更多见:upx尺寸单位

当然,在普通web开发中,也是支持px转rem的。

收起阅读 »

MUI框架手机app城市首字母分类跳转实例

mui

简单的MUI框架手机app城市首字母分类跳转实例,含当前定位、最近访问城市、热门城市、全部城市选择等功能。

实例下载:
https://www.sucaihuo.com/templates/3804.html
签个到就够积分下载了

继续阅读 »

简单的MUI框架手机app城市首字母分类跳转实例,含当前定位、最近访问城市、热门城市、全部城市选择等功能。

实例下载:
https://www.sucaihuo.com/templates/3804.html
签个到就够积分下载了

收起阅读 »

uni-app 引入本地iconfont的正确姿势

uniapp

iconfont文件里面包含 iconfont.ttf、iconfont.css, 将 iconfont.ttf文件转位 base64。
推荐转换工具地址:https://www.giftofspeed.com/base64-encoder/

然后打开 iconfont.css文件,修改 @font-face 部分,将转换好的 base64代码粘贴到对应位置,并且设置 代码如下:

@font-face {  
  font-family: "iconfont";  
  src: url(data:font/truetype;charset=utf-8;base64,转换的base64内容) format('truetype');  
}  
.iconfont {  
  display: inline-block;  
}

最后则再项目中App.vue中引入iconfont.css文件

<style>  
@import "./font/iconfont.css";  
</style>

在任意组件中使用方法:

<view class="iconfont icon-XXX"></view>

经测试在H5及小程序中可以正常使用

备注:
iconfont文件是使用的阿里图标库: https://www.iconfont.cn

继续阅读 »

iconfont文件里面包含 iconfont.ttf、iconfont.css, 将 iconfont.ttf文件转位 base64。
推荐转换工具地址:https://www.giftofspeed.com/base64-encoder/

然后打开 iconfont.css文件,修改 @font-face 部分,将转换好的 base64代码粘贴到对应位置,并且设置 代码如下:

@font-face {  
  font-family: "iconfont";  
  src: url(data:font/truetype;charset=utf-8;base64,转换的base64内容) format('truetype');  
}  
.iconfont {  
  display: inline-block;  
}

最后则再项目中App.vue中引入iconfont.css文件

<style>  
@import "./font/iconfont.css";  
</style>

在任意组件中使用方法:

<view class="iconfont icon-XXX"></view>

经测试在H5及小程序中可以正常使用

备注:
iconfont文件是使用的阿里图标库: https://www.iconfont.cn

收起阅读 »

uni-app在H5平台使用video.js,以及播放m3u8格式的视频

video.js
  1. 创建模板文件index.html,在模版内引用video.js
<!DOCTYPE html>  
<html lang="zh-CN">  
    <head>  
        <meta charset="utf-8">  
        <meta http-equiv="X-UA-Compatible" content="IE=edge">  
        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">  
        <title>  
            <%= htmlWebpackPlugin.options.title %>  
        </title>  
        <script>  
            document.addEventListener('DOMContentLoaded', function() {  
                document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px'  
            })  
        </script>  
        <link rel="stylesheet" href="<%= htmlWebpackPlugin.options.baseUrl %>static/index.css" />  
        <link href="https://unpkg.com/video.js/dist/video-js.min.css" rel="stylesheet">  
        <script src="https://unpkg.com/video.js/dist/video.min.js"></script>  
    </head>  
    <body>  
        <noscript>  
            <strong>Please enable JavaScript to continue.</strong>  
        </noscript>  
        <div id="app"></div>  
        <!-- built files will be auto injected -->  
    </body>  
</html>
  1. 在manifest.json内配置index.html路径
  2. 在vue文件内使用video.js初始化播放器
<template>  
    <view class="content">  
        <view class="video-js" ref="video">  

        </view>  
    </view>  
</template>  

<script>  
    export default {  
        onReady() {  
            // #ifdef H5  
            var video = document.createElement('video')  
            video.id = 'video'  
            video.style = 'width: 300px;height: 150px;'  
            video.controls = true  
            var source = document.createElement('source')  
            source.src = 'http://yf.ugc.v.cztv.com/cztv/ugcvod/2018/04/14/A98CD7B26B06D94A5CEA56AA7D723572/h264_800k_mp4.mp4_playlist.m3u8'  
            video.appendChild(source)  
            this.$refs.video.$el.appendChild(video)  
            videojs('video')  
            // #endif  
        },  
        methods: {  

        }  
    }  
</script>  

<style>  

</style>

注意事项

  1. 示例工程见附件
  2. 如果视频源格式为m3u8,m3u8文件可能遇到跨域问题,请自行百度
继续阅读 »
  1. 创建模板文件index.html,在模版内引用video.js
<!DOCTYPE html>  
<html lang="zh-CN">  
    <head>  
        <meta charset="utf-8">  
        <meta http-equiv="X-UA-Compatible" content="IE=edge">  
        <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">  
        <title>  
            <%= htmlWebpackPlugin.options.title %>  
        </title>  
        <script>  
            document.addEventListener('DOMContentLoaded', function() {  
                document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px'  
            })  
        </script>  
        <link rel="stylesheet" href="<%= htmlWebpackPlugin.options.baseUrl %>static/index.css" />  
        <link href="https://unpkg.com/video.js/dist/video-js.min.css" rel="stylesheet">  
        <script src="https://unpkg.com/video.js/dist/video.min.js"></script>  
    </head>  
    <body>  
        <noscript>  
            <strong>Please enable JavaScript to continue.</strong>  
        </noscript>  
        <div id="app"></div>  
        <!-- built files will be auto injected -->  
    </body>  
</html>
  1. 在manifest.json内配置index.html路径
  2. 在vue文件内使用video.js初始化播放器
<template>  
    <view class="content">  
        <view class="video-js" ref="video">  

        </view>  
    </view>  
</template>  

<script>  
    export default {  
        onReady() {  
            // #ifdef H5  
            var video = document.createElement('video')  
            video.id = 'video'  
            video.style = 'width: 300px;height: 150px;'  
            video.controls = true  
            var source = document.createElement('source')  
            source.src = 'http://yf.ugc.v.cztv.com/cztv/ugcvod/2018/04/14/A98CD7B26B06D94A5CEA56AA7D723572/h264_800k_mp4.mp4_playlist.m3u8'  
            video.appendChild(source)  
            this.$refs.video.$el.appendChild(video)  
            videojs('video')  
            // #endif  
        },  
        methods: {  

        }  
    }  
</script>  

<style>  

</style>

注意事项

  1. 示例工程见附件
  2. 如果视频源格式为m3u8,m3u8文件可能遇到跨域问题,请自行百度
收起阅读 »

uni-app 中的条件编译

条件编译 uniapp

uni-app 将已经将可以跨平台兼容处理的组件及 API 等进行了封装,但是部分平台的特性无法跨平台。
由此,uni-app 提供了条件编译的方案,来处理不同平台的特定或差异。

语法

  • ifdef:if defined 正向条件,也就是说在 XX 平台下生效。

  • ifndef:if not defined 反向条件,在 XX 平台不生效。即除了 XX 平台,其它平台都生效。

  • endif:条件结束

  • %PLATFORM%:平台名称

%PLATFORM% 可取值

  • APP-PLUS
  • APP-PLUS-NVUE
  • H5
  • MP-WEIXIN
  • MP-ALIPAY
  • MP-BAIDU
  • MP

示例

以下这段代码,只会在 5+App 环境下生效/存在。

// #ifdef APP-PLUS  
const uuid = plus.device.uuid;  
// #endif

除了支持单个平台的条件编译外,还支持使用 || 来满足多平台条件编译。

这个组件会在微信小程序及百度小程序环境下生效:

<!-- #ifdef MP-WEIXIN || MP-BAIDU -->  
<button @getuserinfo="getUserInfo">获取用户信息</button>  
<!-- #endif -->

不同文件或语言中,注释的方式有所不同。在实际使用中一定要注意,不要随意复制导致语法错误。

组件

组件的注释,就是 HTML 标签的注释语法。

<!-- #ifdef MP-WEIXIN -->  
<ad unit-id="123456789"></ad>  
<!-- #endif -->

CSS

在 CSS 中使用条件编译,往往是因为某些平台的内置组件的样式,会影响到一血界面的渲染。

/* #ifdef MP-ALIPAY*/  
input {  
    padding: 0;  
}  
/* #endif */

还有一种场景就是不同平台下,页面的样式的确会有设计上的差异。
这种情况,可以使用 CSS 的条件编译来处理,也可以配合组件的条件编译来处理。

.app-text {  
    color: #007AFF;  
}  
.weixin-text {  
    color: #FF3333;  
}
<!-- #ifdef APP-PLUS -->  
<text class="app-text">text</text>  
<!-- #endif -->  
<!-- #ifdef MP-WEIXIN -->  
<text class="weixin-text">text</text>  
<!-- #endif -->

这样的话,在 5+App 上这个文字的颜色是蓝色,在微信小程序上就是红色。

这个方案还可以进一步调整,就是在计算属性中使用条件编译,动态绑定组件的 class。

JavaScript

平台特有的 API 或功能,需要使用条件编译来处理。

// #ifdef APP-PLUS  
plus.speech.startRecognize(options, function (result) {  
    console.log('语音识别成功');  
}, function (error) {  
    console.log('语音识别失败');  
});  
// #endif

pages.json

除了在页面内容的代码中支持条件编译外,uni-app 还支持在 pages.json 中通过条件编译来组织多平台的页面。
这样做可以大幅减少生成的代码体积,尤其是在小程序平台。

当然,普通的 json 文件中是不支持注释的。pages.json 中条件编译的校验以及代码提示等,是由 HBuilderX 来支持完成的。

{  
    "globalStyle": {  
        "navigationBarBackgroundColor": "#FF3333"  
    },  
    "pages": [{  
            "path": "pages/index/index"  
        }  
        // #ifdef APP-PLUS  
        , {  
            "path": "pages/speech/speech"  
        }  
        // #endif  
    ]  
}

在 pages.json 中使用条件编译,需要注意以下几个点:

  • 如果页面是 pages 的最终一项,那么分隔符逗号需要在花括号前。上面例子,就是这种场景。
  • globalStyle 的条件编译,推荐使用平台节点来处理。
{  
    "globalStyle": {  
        "navigationBarBackgroundColor": "#FF3333",  
        "mp-weixin": {  
            "backgroundColor": "#FFFFFF"  
        },  
        "mp-alipay": {  
            "titleBarColor": "#FFFFFF"  
        }  
    },  
    "pages": [{  
            "path": "pages/index/index"  
        }  
    ]  
}

平台节点下面的配置,建议参考特定平台的配置说明,直接使用平台的特有属性。

static

为了进一步减少应用的包体积,用于存放静态资源的 static 目录同样支持了条件编译。

支持的目录名

  • app-plus
  • h5
  • mp-weixin
  • mp-alipay
  • mp-baidu

具体的使用,可以参考下 hello-uniapp 中在 static/app-plus 下存放 location@3x.png。
hello-uniapp 中这样处理,解决了两个问题:

  • iOS 平台地图的覆盖物,使用高清图时,文件名称需要以 @2x/@3x 结尾。
  • 支付宝小程序,项目中不能出现 @ 等特殊符号命名的文件。

结束

uni-app 中的条件编译,就分享到这里。大家在使用的过程中,如果有问题或者更好的想法,欢迎在下方进行讨论。

继续阅读 »

uni-app 将已经将可以跨平台兼容处理的组件及 API 等进行了封装,但是部分平台的特性无法跨平台。
由此,uni-app 提供了条件编译的方案,来处理不同平台的特定或差异。

语法

  • ifdef:if defined 正向条件,也就是说在 XX 平台下生效。

  • ifndef:if not defined 反向条件,在 XX 平台不生效。即除了 XX 平台,其它平台都生效。

  • endif:条件结束

  • %PLATFORM%:平台名称

%PLATFORM% 可取值

  • APP-PLUS
  • APP-PLUS-NVUE
  • H5
  • MP-WEIXIN
  • MP-ALIPAY
  • MP-BAIDU
  • MP

示例

以下这段代码,只会在 5+App 环境下生效/存在。

// #ifdef APP-PLUS  
const uuid = plus.device.uuid;  
// #endif

除了支持单个平台的条件编译外,还支持使用 || 来满足多平台条件编译。

这个组件会在微信小程序及百度小程序环境下生效:

<!-- #ifdef MP-WEIXIN || MP-BAIDU -->  
<button @getuserinfo="getUserInfo">获取用户信息</button>  
<!-- #endif -->

不同文件或语言中,注释的方式有所不同。在实际使用中一定要注意,不要随意复制导致语法错误。

组件

组件的注释,就是 HTML 标签的注释语法。

<!-- #ifdef MP-WEIXIN -->  
<ad unit-id="123456789"></ad>  
<!-- #endif -->

CSS

在 CSS 中使用条件编译,往往是因为某些平台的内置组件的样式,会影响到一血界面的渲染。

/* #ifdef MP-ALIPAY*/  
input {  
    padding: 0;  
}  
/* #endif */

还有一种场景就是不同平台下,页面的样式的确会有设计上的差异。
这种情况,可以使用 CSS 的条件编译来处理,也可以配合组件的条件编译来处理。

.app-text {  
    color: #007AFF;  
}  
.weixin-text {  
    color: #FF3333;  
}
<!-- #ifdef APP-PLUS -->  
<text class="app-text">text</text>  
<!-- #endif -->  
<!-- #ifdef MP-WEIXIN -->  
<text class="weixin-text">text</text>  
<!-- #endif -->

这样的话,在 5+App 上这个文字的颜色是蓝色,在微信小程序上就是红色。

这个方案还可以进一步调整,就是在计算属性中使用条件编译,动态绑定组件的 class。

JavaScript

平台特有的 API 或功能,需要使用条件编译来处理。

// #ifdef APP-PLUS  
plus.speech.startRecognize(options, function (result) {  
    console.log('语音识别成功');  
}, function (error) {  
    console.log('语音识别失败');  
});  
// #endif

pages.json

除了在页面内容的代码中支持条件编译外,uni-app 还支持在 pages.json 中通过条件编译来组织多平台的页面。
这样做可以大幅减少生成的代码体积,尤其是在小程序平台。

当然,普通的 json 文件中是不支持注释的。pages.json 中条件编译的校验以及代码提示等,是由 HBuilderX 来支持完成的。

{  
    "globalStyle": {  
        "navigationBarBackgroundColor": "#FF3333"  
    },  
    "pages": [{  
            "path": "pages/index/index"  
        }  
        // #ifdef APP-PLUS  
        , {  
            "path": "pages/speech/speech"  
        }  
        // #endif  
    ]  
}

在 pages.json 中使用条件编译,需要注意以下几个点:

  • 如果页面是 pages 的最终一项,那么分隔符逗号需要在花括号前。上面例子,就是这种场景。
  • globalStyle 的条件编译,推荐使用平台节点来处理。
{  
    "globalStyle": {  
        "navigationBarBackgroundColor": "#FF3333",  
        "mp-weixin": {  
            "backgroundColor": "#FFFFFF"  
        },  
        "mp-alipay": {  
            "titleBarColor": "#FFFFFF"  
        }  
    },  
    "pages": [{  
            "path": "pages/index/index"  
        }  
    ]  
}

平台节点下面的配置,建议参考特定平台的配置说明,直接使用平台的特有属性。

static

为了进一步减少应用的包体积,用于存放静态资源的 static 目录同样支持了条件编译。

支持的目录名

  • app-plus
  • h5
  • mp-weixin
  • mp-alipay
  • mp-baidu

具体的使用,可以参考下 hello-uniapp 中在 static/app-plus 下存放 location@3x.png。
hello-uniapp 中这样处理,解决了两个问题:

  • iOS 平台地图的覆盖物,使用高清图时,文件名称需要以 @2x/@3x 结尾。
  • 支付宝小程序,项目中不能出现 @ 等特殊符号命名的文件。

结束

uni-app 中的条件编译,就分享到这里。大家在使用的过程中,如果有问题或者更好的想法,欢迎在下方进行讨论。

收起阅读 »

【素与简科技】微信小程序入口大全汇总

微信小程序

1,手机桌面(暂只支持Android)
2,微信搜索
3,线下扫码
4,微信菜单“发现”——“小程序”
5,小程序识别码
6,好友分享小程序
7,公众号关联推送
8,附近的小程序
9,小程序列表(历史记录)
10,公众号菜单直达
11,聊天窗口
12,群资料页-群小程序
13,微信支付入口
14,微信支付结果页
15,公众号底部菜单
16,小程序跳转
17,通过APP打开小程序
18,公众号详情页
19,卡券页面
20,朋友圈
21,通讯录
22,微信群的分享
23,通过图片打开链接小程序
24,通过文字链接打开小程序
25,小程序与新媒体
26,小程序与广告推广
27,关键词搜索
28,“搜一搜”里面
29,小程序置顶
30,星标小程序
31,门店小程序跳转服务小程序
32,小程序与立减金
33,聊天小程序
34,公众号广告
35,LBS推广
36,qq浏览器
37,朋友圈广告
38,微信搜索出现小程序入口
39,第三方应用小程序
40,腾讯系pc入口

继续阅读 »

1,手机桌面(暂只支持Android)
2,微信搜索
3,线下扫码
4,微信菜单“发现”——“小程序”
5,小程序识别码
6,好友分享小程序
7,公众号关联推送
8,附近的小程序
9,小程序列表(历史记录)
10,公众号菜单直达
11,聊天窗口
12,群资料页-群小程序
13,微信支付入口
14,微信支付结果页
15,公众号底部菜单
16,小程序跳转
17,通过APP打开小程序
18,公众号详情页
19,卡券页面
20,朋友圈
21,通讯录
22,微信群的分享
23,通过图片打开链接小程序
24,通过文字链接打开小程序
25,小程序与新媒体
26,小程序与广告推广
27,关键词搜索
28,“搜一搜”里面
29,小程序置顶
30,星标小程序
31,门店小程序跳转服务小程序
32,小程序与立减金
33,聊天小程序
34,公众号广告
35,LBS推广
36,qq浏览器
37,朋友圈广告
38,微信搜索出现小程序入口
39,第三方应用小程序
40,腾讯系pc入口

收起阅读 »

在nvue中使用sass less

nvue sass

烦啊,为了能在nvue中使用sass,我将hx安装包研究了个透,怎么做都不行,尽管找到了nvue的webpack,添加了sassloader一样不行。
后来没想到这么简单............

----右键项目根目录
----打开命令行
----npm init -y (初始化项目)
----npm install sass-loader -D (安装sass)

这样nvue中style标签就可以lang=scss啦
虽然还是不能嵌套书写,但是能继承已经很好了,配合上uni.scss(nvue需要手动@import),最大程度的可以跟vue文件公用样式

less stylus 应该无差异

继续阅读 »

烦啊,为了能在nvue中使用sass,我将hx安装包研究了个透,怎么做都不行,尽管找到了nvue的webpack,添加了sassloader一样不行。
后来没想到这么简单............

----右键项目根目录
----打开命令行
----npm init -y (初始化项目)
----npm install sass-loader -D (安装sass)

这样nvue中style标签就可以lang=scss啦
虽然还是不能嵌套书写,但是能继承已经很好了,配合上uni.scss(nvue需要手动@import),最大程度的可以跟vue文件公用样式

less stylus 应该无差异

收起阅读 »

Android 离线录音崩溃

录音时报这个错误,
No implementation found for void io.dcloud.feature.audio.mp3.SimpleLame.init(int, int, int, int, int)
把下面的文件添加上就好了

录音时报这个错误,
No implementation found for void io.dcloud.feature.audio.mp3.SimpleLame.init(int, int, int, int, int)
把下面的文件添加上就好了

小程序/uniapp支持的css选择器一览

DCloud css 选择器 小程序 uniapp

本次测试主要参考文档为

w3school CSS 选择器参考手册
(主要是安卓/ios/微信小程序的css选择器兼容)

入坑uniapp/小程序过程中看到dcloud/微信对支持的css选择器的描述只有六个,
分别是.class , #id , element , element,element , :before , :after
但是看到dcloud给uniapp写的花里胡哨的uni的ui库,
还有各种花里胡哨的小程序,
并且uniapp还表明支持之前各种无dom的ui库,
所以我觉得事情并没有这么简单,
趁着元旦放假,抽出一下午时间,
本单身肥宅猿测试了下w3c提供的选择器,
也当是踩一回uni/小程序的坑吧

具体支持情况见下表(Y表示支持,N表示不支持)

图挂了请前往segmentfault查看

(问答社区的makedown语法支持比较少,请前往segmentfault查看表格)
点我前往查看

写在后面

至于其他厂商的小程序
我也没有踩坑经验
但是可参考微信小程序的兼容
毕竟是微信把小程序推起来之后
其他厂商才开始出小程序
(最开始的时候支付宝小程序抄微信小程序源码事件还有人记得不)

> (好像不弄套自己家的小程序出来,自己就不是大厂了似得)
> 求求你别更新了,我学不过来了.jpg
> 手动狗头.jpg

继续阅读 »

本次测试主要参考文档为

w3school CSS 选择器参考手册
(主要是安卓/ios/微信小程序的css选择器兼容)

入坑uniapp/小程序过程中看到dcloud/微信对支持的css选择器的描述只有六个,
分别是.class , #id , element , element,element , :before , :after
但是看到dcloud给uniapp写的花里胡哨的uni的ui库,
还有各种花里胡哨的小程序,
并且uniapp还表明支持之前各种无dom的ui库,
所以我觉得事情并没有这么简单,
趁着元旦放假,抽出一下午时间,
本单身肥宅猿测试了下w3c提供的选择器,
也当是踩一回uni/小程序的坑吧

具体支持情况见下表(Y表示支持,N表示不支持)

图挂了请前往segmentfault查看

(问答社区的makedown语法支持比较少,请前往segmentfault查看表格)
点我前往查看

写在后面

至于其他厂商的小程序
我也没有踩坑经验
但是可参考微信小程序的兼容
毕竟是微信把小程序推起来之后
其他厂商才开始出小程序
(最开始的时候支付宝小程序抄微信小程序源码事件还有人记得不)

> (好像不弄套自己家的小程序出来,自己就不是大厂了似得)
> 求求你别更新了,我学不过来了.jpg
> 手动狗头.jpg

收起阅读 »

uni-app 打包 H5 单页面应用 渠道参数的传递和获取 如: index.html?channelid=icefrog

业务前景:
采用uni-app开发的项目 发型打包生成 H5-手机版 单页面应用 打包出来的总入口页面是index.html

业务需求:
在外界直接打开index.html 总入口页面时需要传递参数及获取参数 用于区分渠道来源或分享标记

相关尝试:
this.$route.query this.$route.params 等操作无效 获取不到首页面的参数

解决方案:
在App.vue 应用生命周期的 onLaunch()中采用JS直接提取链接参数 然后针对参数进行拆分
如:https://www.xxx.com/h5/index.html?sceneid=h5&wxcode=xxx&puid=fff

onLaunch(){

let tmpUrlSearch = window.location.search;// 得到:?sceneid=h5&wxcode=xxx&puid=fff
let tmpParas=GetRequestParameters(tmpUrlSearch);
let tmpSceneID = tmpParas["sceneid"];//提取参数
};

网上抄的一段儿方法:
export const GetRequestParameters=(locationsearch) =>{

let url = locationsearch;  
let theRequest = new Object();  
if (url.indexOf("?") != -1) {  
    let str = url.substr(1);  
    let strs = str.split("&");  
    for (let i = 0; i < strs.length; i++) {  
        theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);  
    }  
}  
return theRequest;  

}

继续阅读 »

业务前景:
采用uni-app开发的项目 发型打包生成 H5-手机版 单页面应用 打包出来的总入口页面是index.html

业务需求:
在外界直接打开index.html 总入口页面时需要传递参数及获取参数 用于区分渠道来源或分享标记

相关尝试:
this.$route.query this.$route.params 等操作无效 获取不到首页面的参数

解决方案:
在App.vue 应用生命周期的 onLaunch()中采用JS直接提取链接参数 然后针对参数进行拆分
如:https://www.xxx.com/h5/index.html?sceneid=h5&wxcode=xxx&puid=fff

onLaunch(){

let tmpUrlSearch = window.location.search;// 得到:?sceneid=h5&wxcode=xxx&puid=fff
let tmpParas=GetRequestParameters(tmpUrlSearch);
let tmpSceneID = tmpParas["sceneid"];//提取参数
};

网上抄的一段儿方法:
export const GetRequestParameters=(locationsearch) =>{

let url = locationsearch;  
let theRequest = new Object();  
if (url.indexOf("?") != -1) {  
    let str = url.substr(1);  
    let strs = str.split("&");  
    for (let i = 0; i < strs.length; i++) {  
        theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);  
    }  
}  
return theRequest;  

}

收起阅读 »

力谱云为您制作专业的社区团购APP平台

5+App开发

力谱云为您制作专业的社区团购APP平台

想要制作好一款社区团购App平台,看似简单、门槛低,实际上APP制作需要很强的系统软件支持和运营体系,目前,力谱云平台所打造的一站式社区团购解决方案中,包含商城端、社区团长管理端、企业平台管理端以及配送端等,全程贯穿从商品交易到订单配送、提货、售后等各个商业场景。

商城端:购物商城、众多促销工具、拼团拉新、分销推广、自提/配送、会员中心、在线客服,支持小程序+App+微商城平台开发,致力于让企业更好的利用微信进行拉新,用App做好后续用户运营工作。

社区团长管理App:社区订单处理、佣金查看、佣金提现、销售报表、社区会员查看。

PC端/移动端管理平台:社区团长管理、商品管理、订单管理、促销管理、佣金审批、会员管理。

配送端App:配送员接单、配送员定位、路线导航、配送报表、配送员提现。

通过力谱云平台,即可以节约传统开发市场至少90%的App开发成本,快速上线一款高性价比的社区拼团App,以及所有系列运营辅助产品。并且,从研发到运营后期,力谱云全程技术覆盖。在营销环节,力谱云拥有拼团、小红书信息流、多级分销、限时抢购、满减优惠、代金券、预付卡等数十种丰富营销工具可供平台运营者,根据营销方针进行调用,更能极大刺激销售业绩的增长。目前,不少传统生鲜企业、连锁便利店企业等,都通过力谱云平台的一站式移动电商解决方案,快速上线了如小菜场、优鲜同城、超人便利等,与社区团购行业同类型的优质竞品商城平台。

有人说社区团购是新零售的新破局、是人场货的模式重构、是草根团队逆袭互联巨头的另一座丰碑。但无可否认的是,消费升级的趋势依旧在持续,只要市场潜力依旧,社交+新物种模式的革新,都将无法停下前进的脚步。

继续阅读 »

力谱云为您制作专业的社区团购APP平台

想要制作好一款社区团购App平台,看似简单、门槛低,实际上APP制作需要很强的系统软件支持和运营体系,目前,力谱云平台所打造的一站式社区团购解决方案中,包含商城端、社区团长管理端、企业平台管理端以及配送端等,全程贯穿从商品交易到订单配送、提货、售后等各个商业场景。

商城端:购物商城、众多促销工具、拼团拉新、分销推广、自提/配送、会员中心、在线客服,支持小程序+App+微商城平台开发,致力于让企业更好的利用微信进行拉新,用App做好后续用户运营工作。

社区团长管理App:社区订单处理、佣金查看、佣金提现、销售报表、社区会员查看。

PC端/移动端管理平台:社区团长管理、商品管理、订单管理、促销管理、佣金审批、会员管理。

配送端App:配送员接单、配送员定位、路线导航、配送报表、配送员提现。

通过力谱云平台,即可以节约传统开发市场至少90%的App开发成本,快速上线一款高性价比的社区拼团App,以及所有系列运营辅助产品。并且,从研发到运营后期,力谱云全程技术覆盖。在营销环节,力谱云拥有拼团、小红书信息流、多级分销、限时抢购、满减优惠、代金券、预付卡等数十种丰富营销工具可供平台运营者,根据营销方针进行调用,更能极大刺激销售业绩的增长。目前,不少传统生鲜企业、连锁便利店企业等,都通过力谱云平台的一站式移动电商解决方案,快速上线了如小菜场、优鲜同城、超人便利等,与社区团购行业同类型的优质竞品商城平台。

有人说社区团购是新零售的新破局、是人场货的模式重构、是草根团队逆袭互联巨头的另一座丰碑。但无可否认的是,消费升级的趋势依旧在持续,只要市场潜力依旧,社交+新物种模式的革新,都将无法停下前进的脚步。

收起阅读 »