当前位置:网站首页>Wedding studio portal applet based on wechat applet
Wedding studio portal applet based on wechat applet
2022-06-28 05:13:00 【Classmate CC】
Business background
Wedding studio applet provides a platform to connect users and studios , It is equivalent to the studio's official website on wechat . It can help studios show their shooting strength , Record visitor data , Promotional offers . High frequency of use , Easy to spread , It is the right-hand assistant of the studio in wechat marketing . It adopts the small program cloud development solution provided by Tencent , No servers and domain names . The sample page is used by the studio to show excellent photographic samples for users to enjoy and attract customers . The cover page is a set of different packages launched by the studio according to the market demand , Users can reserve the set according to their own preferences . The personal center can view the shooting plan reserved by the user , You can also get the contact information of the studio .
functional requirement

Database design

Technical research
At present, the small procedures are more and more strict , need Content published to users , picture , Video, etc. for security compliance verification , Make sure there is no indecent content .
To this end, we have developed a verification method for images and textUGC Public mode encapsulation
const cloudHelper = require('../helper/cloud_helper.js');
const pageHelper = require('../helper/page_helper.js');
const setting = require('../setting/setting.js');
/** * Picture type verification * @param {*} fileName * @param {*} type */
function imgTypeCheck(path, type = ['jpg', 'jpeg', 'png','JPG','JPEG','PNG']) {
let fmt = path.split(".")[(path.split(".")).length - 1];
if (type.indexOf(fmt) > -1)
return true;
else
return false;
}
/** * Picture size check * @param {*} size * @param {*} maxSize */
function imgSizeCheck(size, maxSize) {
return size < maxSize;
}
async function imgCheckCloud(path, opt) {
/* let result = await cloudHelper.callCloudSumbit('check/img', params, opt).then(res => { return true; }).catch(err => { return false; }); */
let result = await wx.cloud.callFunction({
name: 'cloud',
data: {
route: 'check/img',
token : '',
params:{
img: wx.cloud.CDN( {
type: 'filePath',
filePath: path,
})
}
},
success: function (res) {
console.log(res)
console.log('succ')
return true;
},
fail: function (res) {
console.log(res)
return false;
},
complete: function (res) {
}
});
return result;
}
/** * Image verification * @param {*} imgData */
async function imgCheck(imgData) {
let result = await wx.serviceMarket.invokeService({
service: 'wxee446d7507c68b11',
api: 'imgSecCheck',
data: {
"Action": "ImageModeration",
"Scenes": ["PORN", "POLITICS", "TERRORISM"],
"ImageUrl": new wx.serviceMarket.CDN({
type: 'filePath',
filePath: imgData,
}),
"ImageBase64": '',
"Config": "",
"Extra": ""
},
}).then(res => {
if (res && res.data && res.data.Response &&
res.data.Response.PornResult && res.data.Response.PornResult.Suggestion === 'PASS' &&
res.data.Response.PoliticsResult && res.data.Response.PoliticsResult.Suggestion === 'PASS' &&
res.data.Response.TerrorismResult && res.data.Response.TerrorismResult.Suggestion === 'PASS')
return true;
else
return false;
}).catch(err => {
console.log(err);
return false;
});
return result;
}
module.exports = {
imgCheck,
imgCheckCloud,
imgTypeCheck,
imgSizeCheck
}
Front end interface design




Back end interface design

Git Code :
Git Code
边栏推荐
- Carboxylic acid study: lumiprobe sulfoacyanine 7 dicarboxylic acid
- Hundreds of lines of code to implement a script interpreter
- What is the difference between AC and DC?
- Dart learning - functions, classes
- Binary sort tree: BST
- Keil C51的Data Overlaying机制导致的函数重入问题
- Biovendor sRAGE protein solution
- 2022 high altitude installation, maintenance and removal examination questions and answers
- RxSwift --(1)创建一个项目
- [leetcode] 12. Integer to Roman numeral
猜你喜欢

Have you finished the examination of level II cost engineer? There are also qualification regulations!

Redis 的 最新windows 版本 5.0.14

2022新版nft源码中国元宇宙数字藏品艺术品交易平台源码

quartus 复制IP核

Extjs library management system source code intelligent library management system source code

Learn Taiji Maker - mqtt Chapter 2 (IV) esp8266 reserved message application

Feign implements path escape through custom annotations

mysql导出数据库字典成excel文件

2022年低压电工考题及答案
![[JVM series] JVM tuning](/img/e1/086f76ec6c9b56d97430b1e073f5a6.png)
[JVM series] JVM tuning
随机推荐
Have you finished the examination of level II cost engineer? There are also qualification regulations!
Differences between pragma and ifndef
Standard particle swarm optimization C language program
SlicePlane的Heading角度与Math.atan2(y,x)的对应转换关系
When excel copies the contents of a row, the columns are separated by the tab "\t"
Unity out ref params
Severe tire damage: the first rock band in the world to broadcast live on the Internet
Learning Tai Chi Maker - mqtt Chapter II (VI) mqtt wills
汇编常用指令
cgo+gSoap+onvif学习总结:8、arm平台交叉编译运行及常见问题总结
Lumiprobe cell imaging analysis: PKH26 cell membrane labeling kit
!‘ Cat 'is not an internal or external command, nor is it a runnable program or batch file.
学习太极创客 — MQTT 第二章(四)ESP8266 保留消息应用
BioVendor sRAGE蛋白解决方案
如何从零设计一款牛逼的高并发架构(建议收藏)
QCOM LCD调试
信息学奥赛一本通 1360:奇怪的电梯(lift)
Store inventory management system source code
Amino dye research: lumiprobe fam amine, 6-isomer
Interview: what are the similarities and differences between abstract classes and interfaces?