小程序内扫一扫
前端代码
<view class="cu-item">
<view class="content" bindtap="saoma">
<view class="cuIcon-scan lg text-blue">
</view>
<text>扫一扫</text>
</view>
</view>
js代码
//获取应用实例
const app = getApp();
const common = require('../../utils/common');
/扫一扫
saoma:function(){
var that = this;
//调用公共方法 -> 扫一扫
common.scan(that.data.admin_type)
},
common.js代码:
扫一扫
function scan(admin_type){
// 允许从相机和相册扫码
wx.scanCode({
success (res) {
// console.log(res)
if (res.result){
let qrUrl = decodeURIComponent(res.result);//获取路径
// console.log(qrUrl)
// 获取路径里面带的值
// console.log(getQueryString(qrUrl, 'id'));
// console.log(getQueryString(qrUrl, 'state'));//跳转类型
//商品进货 出货
if(getQueryString(qrUrl,'state')=='1'){
wx.navigateTo({
url: '/pages/production/Shipment/Shipment?id=' + getQueryString(qrUrl, 'id')
})
}else if(getQueryString(qrUrl,'state')==null){//生产进度
//生产进度 判断身份 跳转生产进度页面
if(admin_type==1 || admin_type==2){
wx.navigateTo({
url: '/pages/speed/speeds?id=' + getQueryString(qrUrl, 'id') + '&&type=' + getQueryString(qrUrl, 'type')+ '&&pici=' + getQueryString(qrUrl, 'pici')+ '&&bianma=' + getQueryString(qrUrl, 'bianma')
})
}else{
wx.navigateTo({
url: '/pages/speed/speed?id=' + getQueryString(qrUrl, 'id') + '&&type=' + getQueryString(qrUrl, 'type')+ '&&pici=' + getQueryString(qrUrl, 'pici')+ '&&bianma=' + getQueryString(qrUrl, 'bianma')
})
}
}
}else{
wx.showToast({
title: '请重新扫描!',
icon: 'none',
duration: 2000
})
return false;
}
},fail:(res)=>{
// wx.showToast({
// title: '失败,请重试!',
// icon: 'none',
// duration: 2000
// })
}
})
}
module.exports = {
scan : scan,
distinguish:distinguish
}
微信内扫码和长按识别
js代码
//获取应用实例
const app = getApp();
const common = require('../../utils/common');
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
// console.log(options)
//获取本地储存的用户信息
var data=wx.getStorageSync('data');
//有无微信识别码 data.data.type自己判断的参数 options.q 扫码过来的域名地址
if(options.q){
// console.log(options)
//调用公共方法 -> 微信识别
common.distinguish(data.data.type,options.q)
}
}
common.js代码:
微信二维码识别进入小程序
function distinguish(admin_type,result){
if (result){
let qrUrl = decodeURIComponent(result);//获取路径
const query = (qrUrl.split('?')[1] || '').trim().replace(/^(\?|#|&)/, '')
if (!query) {
wx.showToast({
title: '错误二维码',
icon: 'none',
duration: 2000
})
return false;
}
// console.log(qrUrl)
// 获取路径里面带的值
// console.log(getQueryString(qrUrl, 'id'));
// console.log(getQueryString(qrUrl, 'state'));//跳转类型
//商品进货 出货
if(getQueryString(qrUrl,'state')=='1'){
wx.redirectTo({
url: '/pages/production/Shipment/Shipment?id=' + getQueryString(qrUrl, 'id')
})
}else if(getQueryString(qrUrl,'state')==null){//生产进度
//生产进度 判断身份 跳转生产进度页面
if(admin_type==1 || admin_type==2){
wx.redirectTo({
url: '/pages/speed/speeds?id=' + getQueryString(qrUrl, 'id') + '&&type=' + getQueryString(qrUrl, 'type')+ '&&pici=' + getQueryString(qrUrl, 'pici')+ '&&bianma=' + getQueryString(qrUrl, 'bianma')
})
}else{
wx.redirectTo({
url: '/pages/speed/speed?id=' + getQueryString(qrUrl, 'id') + '&&type=' + getQueryString(qrUrl, 'type')+ '&&pici=' + getQueryString(qrUrl, 'pici')+ '&&bianma=' + getQueryString(qrUrl, 'bianma')
})
}
}
}else{
wx.showToast({
title: '请重新识别!',
icon: 'none',
duration: 2000
})
return false;
}
}
module.exports = {
scan : scan,
distinguish:distinguish
}